Difference between revisions of "Appointment Management"
From Hiasobi - FHIR
Brett Esler (Talk | contribs) (→Appointment Accept/Reject) |
Brett Esler (Talk | contribs) |
||
Line 11: | Line 11: | ||
* A FHIR extension defines the nominal slot period length for each Schedule | * A FHIR extension defines the nominal slot period length for each Schedule | ||
* Free/Busy slots are available (FHIR Slot) | * 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 [http://hl7.org/fhir/http.html#search search] request: | ||
+ | |||
+ | GET [base]/Schedule?date=<date>&actor=<practitioner id>&_include=Schedule:actor | ||
+ | |||
+ | Oridashi-Hiasobi FHIR API search response: | ||
+ | |||
+ | * Return a FHIR [http://hl7.org/fhir/bundle.html Bundle] | ||
+ | * Bundle.entry will contain [http://hl7.org/fhir/schedule.html Schedule] and included (actor) [http://hl7.org/fhir/appointment.html Practitioner] and [http://hl7.org/fhir/location.html Location] resources | ||
+ | * Appointment indicating a request structured like: | ||
+ | |||
+ | For free/busy slots practice adapter calls Oridashi-Hiasobi FHIR API [http://hl7.org/fhir/http.html#search search] request: | ||
+ | |||
+ | GET [base]/Slot?schedule=<schedule.id> | ||
+ | |||
+ | Oridashi-Hiasobi FHIR API search response: | ||
+ | * Return a FHIR [http://hl7.org/fhir/bundle.html Bundle] | ||
+ | * Bundle.entry will contain [http://hl7.org/fhir/slot.html Slot] entries | ||
+ | |||
==Appointments Requiring Action== | ==Appointments Requiring Action== | ||
Line 18: | Line 39: | ||
** Appointement.location.identifier - identifies the practice associated with the appointment request | ** Appointement.location.identifier - identifies the practice associated with the appointment request | ||
− | FHIR API [http://hl7.org/fhir/http.html#search search] request: | + | Cloud endpoint FHIR API [http://hl7.org/fhir/http.html#search search] request: |
GET [base]/Appointment?status=pending&location.identifier=<siteid>&_include=Appointment:actor | GET [base]/Appointment?status=pending&location.identifier=<siteid>&_include=Appointment:actor | ||
− | FHIR API search response: | + | Cloud endpoint FHIR API search response: |
* Return a FHIR [http://hl7.org/fhir/bundle.html Bundle] | * Return a FHIR [http://hl7.org/fhir/bundle.html Bundle] | ||
− | * Bundle.entry will contain [http://hl7.org/fhir/appointment.html Appointment] and | + | * 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 |
* Appointment indicating a request structured like: | * Appointment indicating a request structured like: | ||
Revision as of 17:07, 13 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
- Appointment indicating a request structured like:
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:
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
- Appointment indicating a request structured like:
Appointment status=pending - indicates appointment needs attention 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