Difference between revisions of "Appointment Management"
From Hiasobi - FHIR
Brett Esler (Talk | contribs) (→Available Slots) |
Brett Esler (Talk | contribs) (→Appointments Requiring Action) |
||
(11 intermediate revisions by the same user not shown) | |||
Line 22: | Line 22: | ||
* 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/schedule.html Schedule] and included (actor) [http://hl7.org/fhir/appointment.html Practitioner] and [http://hl7.org/fhir/location.html Location] resources | * 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 | ||
− | * | + | * Example response in xml + json format: |
+ | [[schedule-xml]] [[schedule-json]] | ||
For free/busy slots practice adapter calls Oridashi-Hiasobi FHIR API [http://hl7.org/fhir/http.html#search search] request: | For free/busy slots practice adapter calls Oridashi-Hiasobi FHIR API [http://hl7.org/fhir/http.html#search search] request: | ||
Line 31: | Line 32: | ||
* 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/slot.html Slot] entries | * Bundle.entry will contain [http://hl7.org/fhir/slot.html Slot] entries | ||
+ | * Example response in xml + json format: | ||
+ | [[slot-xml]] [[slot-json]] | ||
+ | * Responses (Schedule, Slot + referred to Practitioner, Location) are combined into a FHIR Bundle and submitted to cloud endpoint | ||
+ | * Example submission in xml + json format: | ||
+ | [[submit-xml]] [[submit-json]] | ||
− | + | Cloud endpoint FHIR API transaction submission; body is FHIR Bundle assembled as above | |
− | + | ||
− | Cloud endpoint FHIR API | + | |
POST [base] | POST [base] | ||
Line 55: | Line 59: | ||
* 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 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-appointment-request-xml]] [[example-appointment-request-json]] | ||
+ | |||
* Appointment indicating a request structured like: | * Appointment indicating a request structured like: | ||
Appointment | Appointment | ||
status=pending - indicates appointment needs attention | status=pending - indicates appointment needs attention | ||
+ | description - optional comment text (will be shown in the PMS) | ||
start - expected visit start date/time | start - expected visit start date/time | ||
end - expected visit end date/time | end - expected visit end date/time | ||
Line 81: | Line 89: | ||
== Appointment Accept/Reject == | == Appointment Accept/Reject == | ||
* Appointment requests retrieved from the cloud are processed | * Appointment requests retrieved from the cloud are processed | ||
− | * Appointments are attempted to be made in the PMS | + | ** Patient matching can occur based on Name, Date of Birth, Gender (or other identifying information) |
− | * Result will be accepted or declined appointment allocation | + | ** 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 | |
+ | |||
+ | * Practice adapter will create/update appointments on matching | ||
+ | ** Appointments are attempted to be made in the PMS | ||
+ | ** Result will be accepted or declined appointment allocation | ||
FHIR add/update appointment using Oridashi-Hiasobi interface | FHIR add/update appointment using Oridashi-Hiasobi interface | ||
PUT [base]/Appointment/<id> | PUT [base]/Appointment/<id> | ||
− | |||
− | |||
− | |||
− | |||
FHIR add/update response (accept) | FHIR add/update response (accept) |
Latest revision as of 11:56, 18 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 example-appointment-request-json
- 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
- 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
- Practice adapter will create/update appointments on matching
- Appointments are attempted to be made in the PMS
- Result will be accepted or declined appointment allocation
FHIR add/update appointment using Oridashi-Hiasobi interface
PUT [base]/Appointment/<id>
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