Closed Healthedata1 closed 6 years ago
New Operation to differentiates from runtime fetch:
$prefetch
See https://docs.google.com/document/d/1P8yLaXp9aE1rxM8-ey9-7x-VCwwdmGmOASx9vuq1Ius/edit?usp=sharing for PreFetch output content and guidance.
for hold and book: POST Appt
implement
From above
We talked about using Schedule and I am unclear how that would work with the existing FHIR Subscription resource.
Here is what I propose:
Option 1
Example:
The app creates a Subscription on the EHR's FHIR server for the given EventDefinition
POST <fhir base url>/Subscription
{
"resourceType": "Subscription",
"extension": {[
"url": "[argo-scheduling-url]subscription-topic",
"valueString": {trigger notification when free slots change}
]
}
"channel": {
"type": "rest-hook",
"endpoint": "[prefetch endpoint]",
"payload": "application/fhir+json"
}
}
EHR notifies app of change
PUT <app notification endpoint>/free-slot-change/Slot
{
"resourceType": "Slot",
"id": "example",
"text": {
"status": "generated",
"div": "<div xmlns=\"http://www.w3.org/1999/xhtml\">\n\t\t\t25 Dec 2013 9:15am - 9:30am: <b>Busy</b> Physiotherapy\n\t\t</div>"
},
"serviceCategory": {
"coding": [
{
"code": "17",
"display": "General Practice"
}
]
},
"serviceType": [
{
"coding": [
{
"code": "57",
"display": "Immunization"
}
]
}
],
"specialty": [
{
"coding": [
{
"code": "408480009",
"display": "Clinical immunology"
}
]
}
],
"appointmentType": {
"coding": [
{
"system": "http://hl7.org/fhir/v2/0276",
"code": "WALKIN",
"display": "A previously unscheduled walk-in visit"
}
]
},
"schedule": {
"reference": "Schedule/example"
},
"status": "busy",
"start": "2013-12-25T09:15:00Z",
"end": "2013-12-25T09:30:00Z",
"comment": "Assessments should be performed before requesting appointments in this slot."
}
Option 2:
Will trigger on Slots but send the Schedule ( referenced in the triggering Slot.schedule) in the notification payload.
applied to IG
"Smart Polling"
example: e.g., provider x gets 6 new appointments get booked - EHR sends 6 notifications
Questions:
Long pull on the Feed Handler by many clients possible without burdening server.