Personal Health Systems (PHS) are mobile solutions tailored to monitoring patients affected by chronic non communicable diseases. In general, a patient affected by a chronic disease can generate large amounts of events: for example, in Type 1 Diabetic patients generate several glucose events per day, ranging from at least 6 events per day (under normal monitoring) to 288 per day when wearing a continuous glucose monitor (CGM) that samples the blood every 5 minutes for several days. Just by itself, without considering other physiological parameters, it would be impossible for medical doctors to individually and accurately follow every patient, highlighting the need of simple approaches towards querying physiological time series. Achieving this with current technology is not an easy task, as on one hand it cannot be expected that medical doctors have the technical knowledge to query databases and on the other hand these time series include thousands of events, which requires to re-think the way data is indexed. Anyhow, handling data streams efficiently is not enough. Domain experts' knowledge must be explicitly included into PHSs in a way that it can be easily readed and modified by medical staffs. Logic programming represents the perfect programming paradygm to accomplish this task. In this work, an Event Calculus-based reasoning framework to standardize and express domain-knowledge in the form of monitoring rules is suggested, and applied to three different use cases. However, if online monitoring has to be achieved, the reasoning performance must improve dramatically. For this reason, three promising mechanisms to index the Event Calculus Knowledge Base are proposed. All of them are based on different types of tree indexing structures: k-d trees, interval trees and red-black trees. The paper then compares and analyzes the performance of the three indexing techniques, by computing the time needed to check different type of rules (and eventually generating alerts), when the number of recorded events (e.g. values of physiological parameters) increases. The results show that customized jREC performs much better when the event average inter-arrival time is little compared to the checked rule time-window. Instead, where the events are more sparse, the use of k-d trees with standard EC is advisable. Finally, the Multi-Agent paradigm helps to wrap the various components of the system: the reasoning engines represent the agent minds, and the sensors are its body. The said agents have been developed in MAGPIE, a mobile event based Java agent platform.