1 of 10

Workflow

2 of 10

28.06.2023

3 of 10

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

4 of 10

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]

5 of 10

Implementation Variant 1

Medication Order Placer

Medication Order Filler

Prescription FHIR Server

Dispense FHIR Server

Task FHIR Server

6 of 10

Implementation Variant 2

Medication Order Placer

Medication Order Filler

Prescription + Task FHIR Server

Dispense FHIR Server

7 of 10

Implementation Variant 3

Medication Order Placer

Medication Order Filler

Prescription and Dispense and Task FHIR Server

8 of 10

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

9 of 10

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“

10 of 10

MedicationDispense1

Time

Variant 2b: Dispense of an OTC (with task request)

In case if there is no MedicationRequest or plan, no task is created