Difference between revisions of "Appointment Management"
From Hiasobi - FHIR
Brett Esler (Talk | contribs) (→Appointments Requiring Action) |
Brett Esler (Talk | contribs) (→Appointments Requiring Action) |
||
Line 60: | Line 60: | ||
* Bundle.entry will contain [http://hl7.org/fhir/appointment.html Appointment] and included (actor) [http://hl7.org/fhir/appointment.html Practitioner], [http://hl7.org/fhir/patient.html Patient] and [http://hl7.org/fhir/location.html Location] resources | * Bundle.entry will contain [http://hl7.org/fhir/appointment.html Appointment] and included (actor) [http://hl7.org/fhir/appointment.html Practitioner], [http://hl7.org/fhir/patient.html Patient] and [http://hl7.org/fhir/location.html Location] resources | ||
* Example response in xml + json format: | * Example response in xml + json format: | ||
− | [[example-appointment-request]] | + | [[example-appointment-request-xml]] |
* Appointment indicating a request structured like: | * Appointment indicating a request structured like: |
Revision as of 01:20, 15 October 2017
Contents
Information
See: Core FHIR Resources Appointment, Schedule, Slot
Todo: Oridashi Profiles for Appointment, Schedule and Slot
Available Slots
- Schedules (Appointment Book) can be retrieved from FHIR interface (FHIR Schedule)
- Each FHIR Schedule is for a provider (FHIR Practitioner); there may be multiple sessions per day
- A FHIR extension defines the nominal slot period length for each Schedule
- Free/Busy slots are available (FHIR Slot)
- Configurable look ahead period (default 6 weeks)
- Polling to detect schedule changes
For appointment book practice adapter calls Oridashi-Hiasobi FHIR API search request:
GET [base]/Schedule?date=<date>&actor=<practitioner id>&_include=Schedule:actor
Oridashi-Hiasobi FHIR API search response:
- Return a FHIR Bundle
- Bundle.entry will contain Schedule and included (actor) Practitioner and Location resources
- Example response in xml + json format:
For free/busy slots practice adapter calls Oridashi-Hiasobi FHIR API search request:
GET [base]/Slot?schedule=<schedule.id>
Oridashi-Hiasobi FHIR API search response:
- Responses (Schedule, Slot + referred to Practitioner, Location) are combined into a FHIR Bundle and submitted to cloud endpoint
- Example submission in xml + json format:
Cloud endpoint FHIR API transaction submission; body is FHIR Bundle assembled as above
POST [base]
- Cloud system can update schedules, slots
Appointments Requiring Action
- Practice components search for requested/cancelled appointments from a cloud endpoint
- Search by:
- Appointment.status=pending - are requests that are not confirmed yet (indicates a request)
- Appointement.location.identifier - identifies the practice associated with the appointment request
Cloud endpoint FHIR API search request:
GET [base]/Appointment?status=pending&location.identifier=<siteid>&_include=Appointment:actor
Cloud endpoint FHIR API search response:
- Return a FHIR Bundle
- Bundle.entry will contain Appointment and included (actor) Practitioner, Patient and Location resources
- Example response in xml + json format:
example-appointment-request-xml
- Appointment indicating a request structured like:
Appointment status=pending - indicates appointment needs attention description - optional comment text (will be shown in the PMS) start - expected visit start date/time end - expected visit end date/time slot - optional reference to a free/busy Slot resource comment - optional comment text (will be shown in the PMS) participant [0] - participant practitioner type=PPRF|http://hl7.org/fhir/v3/ParticipationType - coded participation (primary performer is the attending clinician) actor is Practitioner - reference to Practitioner (FHIR internal identifier) required=required - coded indicates this participation in the appointment is needed status=needs-action - coded indicates the participation is not confirmed participant [1] type = null actor is Patient - reference to Patient (FHIR internal identifier) required=required - coded indicates this participation in the appointment is needed status=accepted - coded indicates the patient intends to attend participant [2] type = null actor is Location - reference to Location (FHIR internal identifier) required=required- coded indicates this participation in the appointment is needed status=needs-action - coded indicates the participation is not confirmed
Appointment Accept/Reject
- Appointment requests retrieved from the cloud are processed
- Appointments are attempted to be made in the PMS
- Result will be accepted or declined appointment allocation
- Practice adapter will create/update appointments
FHIR add/update appointment using Oridashi-Hiasobi interface
PUT [base]/Appointment/<id>
- Patient matching can occur based on Name, Date of Birth, Gender (or other identifying information)
- Provider matching can occur based on Name, Provider Number (or other identifying information)
- Submitted appointment will be as per appointment request obtained from cloud endpoint
FHIR add/update response (accept)
Appointment status=booked - indicates appointment has been made in PMS start - scheduled visit start date/time end - scheduled visit end date/time slot - optional reference to a free/busy Slot resource comment - optional comment text (will be shown in the PMS) participant [0] - participant practitioner type=PPRF|http://hl7.org/fhir/v3/ParticipationType - coded participation (primary performer is the attending clinician) actor is Practitioner - reference to Practitioner (FHIR internal identifier) required=required - coded indicates this participation in the appointment is needed status=accepted - coded indicates the practitioner intends to attend participant [1] type = null actor is Patient - reference to Patient (FHIR internal identifier) required=required - coded indicates this participation in the appointment is needed status=accepted - coded indicates the patient intends to attend participant [2] type = null actor is Location - reference to Location (FHIR internal identifier) required=required- coded indicates this participation in the appointment is needed status=accepted - coded indicates the location is confirmed
FHIR add/update response (decline)
Appointment status=pending - indicates appointment is not confirmed start - scheduled visit start date/time end - scheduled visit end date/time slot - optional reference to a free/busy Slot resource comment - optional comment text (will be shown in the PMS) participant [0] - participant practitioner type=PPRF|http://hl7.org/fhir/v3/ParticipationType - coded participation (primary performer is the attending clinician) actor is Practitioner - reference to Practitioner (FHIR internal identifier) required=required - coded indicates this participation in the appointment is needed status=declined - coded indicates the practitioner system has declined to accept participant [1] type = null actor is Patient - reference to Patient (FHIR internal identifier) required=required - coded indicates this participation in the appointment is needed status=needs-action - coded indicates the patient needs to handle this declined request participant [2] type = null actor is Location - reference to Location (FHIR internal identifier) required=required- coded indicates this participation in the appointment is needed status=declined - coded indicates the location system has declined to accept
- The practice adapter forwards to the cloud endpoint these responses from the Oridashi-Hiasobi interface