{{tag>module stub}} ====== Agenda module ====== Dependencies: [[en:dev:modules:core]], [[en:dev:modules:notifications]] ==== Description ==== Provides a calendar for making appointments, handles waitlists and (therapy) rooms. * more than one calendar per client (CalDAV?) * Multiple waiting lists (per client) * Multiple "slots" per calendar, with different links to waiting lists * appointment types (blood sampling, screening, normal appointment, etc. - freely creatable and editable) The Agenda must be aware of: * client's opening hours (visually marked automatically). Maybe some days have no opening hours (Sa, Su, some week days), optionally don't show the whole day on the calendar then. * client's holidays and training days: days where the client is absent should be marked/blocked automatically (CAVE: supply doctors could be present when main doc is absent: practice is still open!) * public holidays - These should be automatically imported and updatable. * holydays of other doctors in the neighborhood? So it must be possible to e.g. add 2 patients at the same time into the appointment calendar - but they must have different waiting lists. The granularity of the appointment calendar should be user defined (per calendar) - but this only shows the *starting* of the appointments. The duration of the visits must be defined either *globally* (per client), per appointment type (which can be defaulted in the waiting list) An calendar appointment should have the following (visible) fields: * patient's name * DOB * Start of appointment * estimated duration * appointment type * arrival time (is he too late?) * urgency (normal*, urgent, emergency) * Cause of visit * multiple waitlists per client, e.g. one for each therapy room * multiple calendars per client ==== User stories ==== * A patient calls per telephone, wants appointment, authentication per telephone, gets appointment for day after tomorrow 09:00, blood sample taken. That day, after arrival + identification per eCard, MedUX searches today's calendar for the patient, and if found, he is copied from calendar into waitlist, and marked with the appointment flag. If not found, waitlist entry is created, but not marked with the appointment flag. * There must be an alert if "Hans Mayer" is on the calendar at 9:00, and "Hans Mayer" is identified by eCard at the same time, to indicate patient identity mistaking. I don't know how to do this exactly. When identifying patients per eCard, at least that could be shown on the waitlist - if there is a patient on the waitlist without a proper eCard symbol, there must be something wrong (or he forgot his eCard at least) - But for private practices without eCard identification this is no option. Considerations: overlapping data structures of waiting list + calendar. Should they be merged? This would solve the problem of having "Hans Mayer" (tel) on the calendar, and putting "Hans Meyer" onto the waiting list at arrival -> alert! ==== Links ==== * [[en:dev:modules:agenda:draft|Draft]] * [[en:dev:modules:agenda:spec|Specification]] * [[please-include-here-the-link-to-the-API|API]]