Medication Composition using ingredients
To represent the composition of a medication, especially for mixed solutions, within a Medication resource in FHIR R4,
the Medication.ingredient component can be used. This allows for a clear and standardized definition of the individual
ingredients and their respective proportions in the overall solution.
Structure
Ingredient
The Medication.ingredient component is used to define the individual ingredients of the mixture. Each ingredient is
described by the following elements:
| Element | Type | Description |
|---|---|---|
| itemReference | Reference(Medication) | References the Medication resource of the respective ingredient. This can be, for example, a Virtual Medical Product (VMP). |
| strength | Ratio | Specifies the concentration of the ingredient in the overall solution. |
| strength.numerator | Quantity | Example: 0.25ml |
| strength.denominator | Quantity | Always based on 1, e.g. 1ml |
Total volume
And we use Medication.totalVolume which will represent the total amount of all ingredients in the Medication.
Contained resources
To reduce the complexity of references and increase data consistency, we use Contained Resources for the Medication and Substance resources. This means that the Medication and Substance resources are not stored as separate resources, but are embedded directly within the MedicationRequest resource.
This has the following advantages:
- Simpler data structure: All relevant information is contained in a single resource (the
MedicationRequestresource). - Increased data consistency: It ensures that the
MedicationandSubstanceresources are always synchronized with theMedicationRequestresource. - Reduced complexity: The need to manage and reference separate resources is eliminated.
To use Contained Resources, the Medication and Substance resources are stored in the contained array of the MedicationRequest resource. The references in the MedicationRequest resource (e.g., medicationReference, itemReference) then point to the corresponding resources in the contained array.
Example
{
"resourceType": "MedicationRequest",
"id": "medicationrequest-example",
"status": "active",
"intent": "order",
"medicationReference": {
"reference": "#medication-example"
},
"subject": {
"reference": "Patient/example"
},
"contained": [
{
"resourceType": "Medication",
"id": "medication-example",
"code": {
"coding": [
{
"system": "http://example.org/fhir/CodeSystem/medication-codes",
"code": "example-medication",
"display": "Example Medication"
}
],
"text": "Example Medication"
}
}
]
}
In this example, the Medication resource with the ID medication-example is contained in the contained array of the MedicationRequest resource. The medicationReference points to this resource by prefixing the ID with a # (#medication-example).
Examples
Norepinephrine and Water
The example shows a solution of 5ml Norephinephrine mixed with 15ml water.
{
"resourceType": "Medication",
"id": "medication-norepinephrine-solution",
"totalVolume": {
"value": 20,
"unit": "ml",
"system": "http://unitsofmeasure.org",
"code": "mL"
},
"ingredient": [
{
"itemReference": {
"reference": "Medication/norepinephrine-vmp"
},
"strength": {
"numerator": {
"value": 0.25,
"unit": "ml"
},
"denominator": {
"value": 1,
"unit": "ml"
}
}
},
{
"itemReference": {
"reference": "Medication/water-vmp"
},
"strength": {
"numerator": {
"value": 0.75,
"unit": "ml"
},
"denominator": {
"value": 1,
"unit": "ml"
}
}
}
]
}
Piperacillin + Tazobactam and NaCl
This example shows a solution of 2g/0,25g Piperacillin + Tazobactam mixed with 100ml NaCL
Medication Wrapper for the combined solution of Piperacillin + Tazobactam and NaCl
{
"resourceType": "Medication",
"id": "piperacillin-tazobactam-solution",
"totalVolume": {
"value": 100,
"unit": "ml",
"system": "http://unitsofmeasure.org",
"code": "mL"
},
"ingredient": [
{
"itemReference": {
"reference": "#piperacillin-tazobactam-vmp"
},
"strength": {
"numerator": {
"value": 0.01,
"unit": "vial"
},
"denominator": {
"value": 1,
"unit": "ml"
}
},
"isActive": true
},
{
"itemReference": {
"reference": "#sodium-chloride-09"
},
"strength": {
"numerator": {
"value": 1,
"unit": "ml"
},
"denominator": {
"value": 1,
"unit": "ml"
}
},
"isActive": false
}
]
}
Referenced Medication for Piperacillin + Tazobactam VMP
{
"resourceType": "Medication",
"id": "piperacillin-tazobactam-vmp",
"code": {
"coding": [
{
"system": "http://example.org/fhir/CodeSystem/vidal-vmp",
"code": "VMP-56789",
"display": "PIPERACILLIN (natrium) 2 g + TAZOBACTAM (natrium) 250 mg Pulver zur Herstellung einer Injektionslösung"
}
],
"text": "PIPERACILLIN (natrium) 2 g + TAZOBACTAM (natrium) 250 mg Pulver zur Herstellung einer Injektionslösung"
},
"form": {
"coding": [
{
"system": "http://snomed.info/sct",
"code": "421677003",
"display": "Powder for solution for injection"
}
],
"text": "Powder for solution for injection"
},
"ingredient": [
{
"itemReference": {
"reference": "#piperacillin"
},
"strength": {
"numerator": {
"value": 2,
"unit": "g"
},
"denominator": {
"value": 1,
"unit": "vial"
}
},
},
{
"itemReference": {
"reference": "#tazobactam"
},
"strength": {
"numerator": {
"value": 0.25,
"unit": "g"
},
"denominator": {
"value": 1,
"unit": "vial"
}
},
}
]
}
Referenced Medication for Natriumchlorid
{
"resourceType": "Medication",
"id": "sodium-chloride-09",
"code": {
"coding": [
{
"system": "http://www.whocc.no/atc",
"code": "B05XA03",
"display": "Sodium chloride"
}
],
"text": "NaCl 0,9%"
},
"form": {
"coding": [
{
"system": "http://snomed.info/sct",
"code": "385219002",
"display": "Solution for injection"
}
],
"text": "Solution for injection"
},
"ingredient": [
{
"itemReference": {
"reference": "#sodium-chloride"
},
"strength": {
"numerator": {
"value": 0.9,
"unit": "g"
},
"denominator": {
"value": 100,
"unit": "ml"
}
}
}
]
}
Referenced Substance for Piperacillin
{
"resourceType": "Substance",
"id": "piperacillin",
"code": {
"coding": [
{
"system": "http://www.nlm.nih.gov/research/umls/rxnorm",
"code": "8414",
"display": "Piperacillin"
}
],
"text": "Piperacillin"
},
}
Referenced Substance for Tazobactam
{
"resourceType": "Substance",
"id": "tazobactam",
"code": {
"coding": [
{
"system": "http://www.nlm.nih.gov/research/umls/rxnorm",
"code": "23479",
"display": "Tazobactam"
}
],
"text": "Tazobactam"
},
}
Referenced Substance for Natriumchlorid
{
"resourceType": "Substance",
"id": "sodium-chloride",
"code": {
"coding": [
{
"system": "http://www.nlm.nih.gov/research/umls/rxnorm",
"code": "3168",
"display": "Sodium Chloride"
}
],
"text": "Sodium Chloride"
}
}
If you want to know how much substance a patient was given, you take the nominator of the ingredient from the top-level Medication, multiply with the amount given to the patient and the nominator in the substance you want to know.
Let's assume you prepare 100ml solution, like stated above. And you administer 20ml to the patient. Then this is your formula:
In this example:
- 0.01 vials/ml is the strength of the ingredient in the top-level Medication
- 2 g/vial is the active amount of Piperacillin in the Substance
- 20 ml is the administered dose (part of the DosageInstruction)
Explanation
Medication.extension.total-volume: Stores the total amount of the compisition after mixing. This is important for traceability and calculation purposes.Medication.code: Describes the mixed solution as a whole. Thecodeshould contain a unique value from a suitable code system to describe the type of solution.Medication.ingredient: Defines the individual ingredients of the mixture.itemReference: Refers to theMedicationresource that represents the respective ingredient. This allows for the reuse of medication information and the linking to detailed descriptions of the ingredients.strength: Specifies the concentration of the ingredient in the overall solution. Thenumeratorindicates the amount of the ingredient, while thedenominatorrepresents the total amount of the solution.
Advantages
- Standardization: Uses the standard FHIR component
Medication.ingredient, which improves interoperability and ensures compliance with FHIR standards. - Simplicity: Clear and simple structure that is easy to understand and implement.
- Flexibility: Enables the definition of complex medication compositions with precise details of the individual ingredients and their concentrations.