How to model a cohesive medication order including several drugs

Finally, our modeling efforts at our company Cistec in Switzerland are taking root in the application, and I am happy, that soon we can take the first medication orders in our EHR on top of openEHR. Along the requirements analysis and specification, I came along one important issue, that we were able to discuss with Heather Leslie on March 6, 2024.

Due to the importance of this requirement, I decided to include a breaking change compared to the archetype INSTRUCTION.medication_order.v3 in the international CKM. This resulted in a change request by Heather Leslie - thank you Heather - on April 03, 2024, which is still pending. And the breaking change is rather simple, namely increasing the cardinality (or occurences) of the slot “Medication details” in the archetype INSTRUCTION.medication_order.v3 from 0…1 to 0…*.

Ths inclusion of this breaking change is based on the following scenario:

Due to persistent nausea and vomiting, the resident decides to update the medication order for “Diclofenac” - a NSAID - from oral to intravenous use. This results, in a medication order with 1 Ampoule of Diclofenac 75mg (in 3mL), a carrier solution (100 mL NaCl - sodium chloride) and a buffer (Sodium bicarbonate 8.4% in 10mL) sharing the same therapeutic directions.

Instead of creating three different instances based on the archetype INSTRUCTION.medication_order.v3, I decided to update the cardinality of the slot “Medication details”, such that I can instantiate one medication order with these three drugs/items sharing the same therapeutic direction and thus the clinical instructions.

As the change request is still pending, I wanted to ask in the community how you actually resolve the previous scenario in openEHR?

The original design did understand this requirement but the decision (based on feedback from EPMA provides like DIPS and Better, amongst others) was that there should be a single ‘top-level’ Medication cluster to represent the combined product ‘in the bag’

So I would have done

 Medication Order: 
        Name:  "Diclofenac  infusion"
     Medication cluster:
           Name:"Diclofenac + Saline + Bicarb"
           Form:  "Infusion"
          Category: "Ad-hoc mixture"
         Amount: 113mls
                Medication cluster:
                         Name:"Diclofenac 75mg in 3ml"
                         Form:  "Infusion"
                        Category: "Active ingredient"
                        Amount: 3 ml
                  Medication cluster:
                         Name:"Sodium bicarbonate 8.4% in 10mL"
                         Form:  "Infusion"
                        Category: "Excipient"
                        Amount: 10 ml
                Medication cluster:
                         Name:"Normal saline"
                         Form:  "Infusion"
                        Category: "Excipient"
                        Amount: 100 ml
1 Like

Yesterday, during the requirements’ analysis for the medication administration I came across a solution, which is actually quite neat and also applies for a medication order. The solution stems from the medication administration applied in Better Meds.

The archetype CLUSTER.medication.v2 (Medication details) includes an attribute called “Constituent” as a CLUSTER slot and occurrences set to 0…* by default. The solution consists of setting a CLUSTER.medication.v1 as wrapper and list all ingredients/medications separately in this cluster in the attribute “Constituent”, also using the same CLUSTER.medication.v2. This results, that I can revert the breaking change, which is unnecessary.

Using a picture, this would look as follows (don’t mind the eradicated attributes in the picture, they just show, which have been constraint to 0…0)