Stream: Medication
Topic: Compound Medications
Brendan Keeler (Feb 15 2022 at 16:01):
Hi there,
NCPDP is a standard for medication dispenses we pull from outpatient pharmacies. We want to encode this data back into FHIR format properly. We’ve done so for “normal” medications already.
Compound medications are trickier. We see something like this:
Brendan Keeler (Feb 15 2022 at 16:07):
Brendan Keeler (Feb 15 2022 at 16:08):
In order to represent the compounded medication, we must use the FHIR Medication resource as a contained resource. Here’s an example compounded Medication:
Brendan Keeler (Feb 15 2022 at 16:08):
{
"resourceType": "Medication",
"id": "med0319",
"text": {
"status": "generated",
"div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p><b>Generated Narrative with Details</b></p><p><b>id</b>: med0319</p><p><b>form</b>: Ointment <span>(Details : {SNOMED CT code '385101003' = 'Ointment', given as 'Ointment'})</span></p><blockquote><p><b>ingredient</b></p><p><b>item</b>: Salicyclic Acid (substance) <span>(Details : {SNOMED CT code '387253001' = 'Salicylic acid', given as 'Salicyclic Acid (substance)'})</span></p><p><b>strength</b>: 5 g<span> (Details: UCUM code g = 'g')</span>/100 g<span> (Details: UCUM code g = 'g')</span></p></blockquote><blockquote><p><b>ingredient</b></p><p><b>item</b>: Hydrocortisone (substance) <span>(Details : {SNOMED CT code '396458002' = 'Hydrocortisone', given as 'Hydrocortisone (substance)'})</span></p><p><b>strength</b>: 1 g<span> (Details: UCUM code g = 'g')</span>/100 g<span> (Details: UCUM code g = 'g')</span></p></blockquote><blockquote><p><b>ingredient</b></p><p><b>item</b>: White Petrolatum (substance) <span>(Details : {SNOMED CT code '126066007' = 'White petroleum', given as 'White Petrolatum (substance)'})</span></p><p><b>strength</b>: 94 g<span> (Details: UCUM code g = 'g')</span>/100 g<span> (Details: UCUM code g = 'g')</span></p></blockquote></div>"
},
"form": {
"coding": [
{
"system": "http://snomed.info/sct",
"code": "385101003",
"display": "Ointment"
}
],
"text": "Ointment"
},
"ingredient": [
{
"itemCodeableConcept": {
"coding": [
{
"system": "http://snomed.info/sct",
"code": "387253001",
"display": "Salicyclic Acid (substance)"
}
]
},
"strength": {
"numerator": {
"value": 5,
"system": "http://unitsofmeasure.org",
"code": "g"
},
"denominator": {
"value": 100,
"system": "http://unitsofmeasure.org",
"code": "g"
}
}
},
{
"itemCodeableConcept": {
"coding": [
{
"system": "http://snomed.info/sct",
"code": "396458002",
"display": "Hydrocortisone (substance)"
}
]
},
"strength": {
"numerator": {
"value": 1,
"system": "http://unitsofmeasure.org",
"code": "g"
},
"denominator": {
"value": 100,
"system": "http://unitsofmeasure.org",
"code": "g"
}
}
},
{
"itemCodeableConcept": {
"coding": [
{
"system": "http://snomed.info/sct",
"code": "126066007",
"display": "White Petrolatum (substance)"
}
]
},
"strength": {
"numerator": {
"value": 94,
"system": "http://unitsofmeasure.org",
"code": "g"
},
"denominator": {
"value": 100,
"system": "http://unitsofmeasure.org",
"code": "g"
}
}
}
]
}
Brendan Keeler (Feb 15 2022 at 16:09):
It’s not clear how we map the quantity into the Medication. For instance, this:
Brendan Keeler (Feb 15 2022 at 16:09):
<CompoundIngredientsLotNotUsed>
<CompoundIngredient>
<CompoundIngredientItemDescription>PLO flowable Pluronic Lecithin Organogel</CompoundIngredientItemDescription>
<ItemNumber>
<Code>00395013501</Code>
<Qualifier>ND</Qualifier>
</ItemNumber>
</CompoundIngredient>
<Quantity>
<Value>82.9</Value>
<CodeListQualifier>87</CodeListQualifier>
<QuantityUnitOfMeasure>
<Code>C48155</Code>
</QuantityUnitOfMeasure>
</Quantity>
</CompoundIngredientsLotNotUsed>
Brendan Keeler (Feb 15 2022 at 16:10):
Seems to say that 82.9 grams (C48155 stands for grams) of PLO flowable Pluronic Lecithin Organogel were used, but that feels like an amount and not a strength.
Jean Duteau (Feb 15 2022 at 22:35):
Here are my comments:
0) The HL7 Pharmacy WG has been recently discussing how to represent mixtures like this so you might want to bring your examples to our next WG call (Mondays at 4pm eastern) where you can get more advice from members who don't regularly track Zulip, including a bunch of NCPDP members who also attend the HL7 meeting.
1) If I read your NCPDP example correctly, it is indicating that there is 5g Baclofen Powder, 0.075g Capcaicin Topical Lotion, 10g Ketoprofen Powder, 2g Tetracaine Topical Cream, and 82.9g PLO flowable Pluronic Lecithin Organogel to make up 100g of the overall product. Is that right?
2) Assuming so, all of those can be expressed as ratios - 5g / 100g, 0.075g / 100g, etc. Alternatively, the R5 version of the Medication does have the ability to just represent those as Quantities, so you can backport that into your resource via an extension, if you don't want to represent it as a ratio.
Brendan Keeler (Feb 15 2022 at 23:23):
Thanks @Jean Duteau ! Sounds like an extension might be the easiest path
Scott Robertson (Feb 18 2022 at 19:46):
To clarify the NCPDP SCRIPT example: the ingredient quantity is the amount of the ingredient contained in the finished product/quantity. Jean's interpretation is correct. There is an optional strength term for the ingredient which is used when the ingredient description/identifier does not imply a strength.
Rather than an extension, the strength could be populated as 5 mg / 1 (no UOM in the denominator) in R4.
Brendan Keeler (Feb 19 2022 at 15:10):
Oh that's an interesting solution
Last updated: Apr 12 2022 at 19:14 UTC