Difference between revisions of "Appointment Management"
From Hiasobi - FHIR
Brett Esler (Talk | contribs) (→Appointments Requiring Action) |
Brett Esler (Talk | contribs) (→Appointments Requiring Action) |
||
(18 intermediate revisions by the same user not shown) | |||
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 | ||
+ | * 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: | ||
+ | |||
+ | 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 | ||
+ | * 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 | ||
+ | |||
+ | POST [base] | ||
+ | |||
+ | * Cloud system can update schedules, slots | ||
==Appointments Requiring Action== | ==Appointments Requiring Action== | ||
Line 18: | Line 51: | ||
** 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] 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 |
− | * Appointment indicating | + | * Example response in xml + json format: |
+ | [[example-appointment-request-xml]] [[example-appointment-request-json]] | ||
+ | |||
+ | * 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 52: | Line 89: | ||
== Appointment Accept/Reject == | == Appointment Accept/Reject == | ||
* Appointment requests retrieved from the cloud are processed | * 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 | + | * 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 | ||
Line 62: | Line 101: | ||
PUT [base]/Appointment/<id> | PUT [base]/Appointment/<id> | ||
− | + | FHIR add/update response (accept) | |
− | + | ||
− | + | ||
− | + | ||
− | FHIR add/update response ( | + | |
Appointment | Appointment | ||
Line 73: | Line 108: | ||
end - scheduled visit end date/time | end - scheduled visit end date/time | ||
slot - optional reference to a free/busy Slot resource | slot - optional reference to a free/busy Slot resource | ||
+ | comment - optional comment text (will be shown in the PMS) | ||
participant [0] - participant practitioner | participant [0] - participant practitioner | ||
type=PPRF|http://hl7.org/fhir/v3/ParticipationType - coded participation (primary performer is the attending clinician) | type=PPRF|http://hl7.org/fhir/v3/ParticipationType - coded participation (primary performer is the attending clinician) | ||
Line 88: | Line 124: | ||
required=required- coded indicates this participation in the appointment is needed | required=required- coded indicates this participation in the appointment is needed | ||
status=accepted - coded indicates the location is confirmed | 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 |
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