Workflow
28.06.2023
Technical Actors / Transactions
Medication Order Placer
Medication Order Filler
-> PlaceMedicationOrder
[PHARM-aaa]
PHARM-ccc
„PlaceMedicationDispense“
Content: FHIR MedicationRequest
Content: FHIR MedicationDispense
PHARM-bbb
„QueryMedicationOrder“
Predefined queries:
GetMedicationRequestById
GetMedicationRequestsReadyToBeFilled
:
Content: FHIR Medication�Request(s) found
-> UpdateMedicationOrder
[PHARM-aaa]
PHARM-aaa
„CancelMedicationDispense“
Order
Receiver
Order
Responder
Dispense
Receiver
Dispense
Responder
-> PlaceTask
[PHARM-aaa]
-> UpdateTask
[PHARM-aaa]
Workflow broker
-> UpdateTask
[PHARM-aaa]
Variant: „clients maintain tasks“
Content: FHIR Task
Content: FHIR Task
-> QueryTask
[PHARM-aaa]
-> QueryTask
[PHARM-aaa]
Content: FHIR Task
Technical Actors / Transactions
Medication Order Placer
Medication Order Filler
-> PlaceMedicationOrder
[PHARM-aaa]
PHARM-ccc
„PlaceMedicationDispense“
Content: FHIR MedicationRequest
Content: FHIR MedicationDispense
PHARM-bbb
„QueryMedicationOrder“
Predefined queries:
GetMedicationRequestById
GetMedicationRequestsReadyToBeFilled
:
Content: FHIR Medication�Request(s) found
-> UpdateMedicationOrder
[PHARM-aaa]
PHARM-aaa
„CancelMedicationDispense“
Order
Receiver
Order
Responder
Dispense
Receiver
Dispense
Responder
-> PlaceTask
[PHARM-aaa]
-> UpdateTask
[PHARM-aaa]
Workflow broker
-> UpdateTask
[PHARM-aaa]
Content: FHIR Task
Variant: „repositories maintain tasks“
Content: FHIR Task
-> QueryTask
[PHARM-aaa]
-> QueryTask
[PHARM-aaa]
Implementation Variant 1
Medication Order Placer
Medication Order Filler
Prescription FHIR Server
Dispense FHIR Server
Task FHIR Server
Implementation Variant 2
Medication Order Placer
Medication Order Filler
Prescription + Task FHIR Server
Dispense FHIR Server
Implementation Variant 3
Medication Order Placer
Medication Order Filler
Prescription and Dispense and Task FHIR Server
MedicationRequest
MedicationDispenser
Time
MedicationDispenser
Partial dispense 1
Partial dispense 2
Query Req+Dis:�1 Req�0 Dis
Query Req+Dis:�1 Req�1 Dis
Variant 1: Parital dispense (without Task resource)
Needs to query MedicationRequests + MedicationDispensese to „determine“ the status of the MedicationRequest
MedicationRequest
MedicationDispense1
Time
MedicationDispense2
Dispense it!
„Active“
Variant 2a: Parital dispense (with Task resource)
Task resource carries business status of the MedicationRequest
(compareable to the XDW option in the current CMPD profile set)
Dispense it!
„Claim“
Dispense it!
„Partially dis“
Output1 -> Dis1
Dispense it!
„Claim“
Output1 -> Dis1
Dispense it!
„Completed“
Output1 -> Dis1
Output2 -> Dis2
-> PlaceTask
[PHARM-aaa]
-> UpdateTask
[PHARM-aaa]
-> UpdateTask
[PHARM-aaa]
-> UpdateTask
[PHARM-aaa]
-> UpdateTask
[PHARM-aaa]
-> PlaceMedicationOrder
[PHARM-aaa]
PHARM-ccc
„PlaceMedicationDispense“
PHARM-ccc
„PlaceMedicationDispense“
MedicationDispense1
Time
Variant 2b: Dispense of an OTC (with task request)
In case if there is no MedicationRequest or plan, no task is created