Difference between revisions of "Appointment Management"
From Hiasobi - FHIR
(→Appointment Accept/Reject) |
Brett Esler (Talk | contribs) (→Appointments Requiring Action) |
||
(35 intermediate revisions by the same user not shown) | |||
Line 2: | Line 2: | ||
== Information == | == Information == | ||
− | See: [http://hl7.org/fhir/ | + | See: Core FHIR Resources [http://hl7.org/fhir/STU3/appointment.html Appointment], [http://hl7.org/fhir/STU3/schedule.html Schedule], [http://hl7.org/fhir/STU3/schedule.html Slot] |
+ | Todo: Oridashi Profiles for Appointment, Schedule and Slot | ||
== Available Slots == | == 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 [http://hl7.org/fhir/http.html#search search] request: | |
− | Schedule | + | 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== | ||
+ | * 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 [http://hl7.org/fhir/http.html#search search] request: | ||
+ | |||
+ | GET [base]/Appointment?status=pending&location.identifier=<siteid>&_include=Appointment:actor | ||
+ | |||
+ | Cloud endpoint FHIR API search response: | ||
+ | |||
+ | * 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 | ||
+ | * Example response in xml + json format: | ||
+ | [[example-appointment-request-xml]] [[example-appointment-request-json]] | ||
+ | |||
+ | * Appointment indicating a request structured like: | ||
+ | |||
Appointment | Appointment | ||
− | status = | + | status=pending - indicates appointment needs attention |
− | start | + | description - optional comment text (will be shown in the PMS) |
− | end | + | start - expected visit start date/time |
− | slot - optional reference | + | end - expected visit end date/time |
− | participant [0] | + | slot - optional reference to a free/busy Slot resource |
− | type = PPRF | + | comment - optional comment text (will be shown in the PMS) |
− | actor is Practitioner | + | participant [0] - participant practitioner |
− | required = required | + | type=PPRF|http://hl7.org/fhir/v3/ParticipationType - coded participation (primary performer is the attending clinician) |
− | status = needs-action | + | 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] | participant [1] | ||
type = null | type = null | ||
− | actor is Patient | + | actor is Patient - reference to Patient (FHIR internal identifier) |
− | required = required | + | required=required - coded indicates this participation in the appointment is needed |
− | status = accepted | + | status=accepted - coded indicates the patient intends to attend |
participant [2] | participant [2] | ||
type = null | type = null | ||
− | actor is | + | 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 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> | 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 | 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