2nd DSTU Draft For Comment

This page is part of the FHIR Specification (v0.4.0: DSTU 2 Draft). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions . Page versions: R5 R4B R4 R3 R2

4.13 Resource Medication - Content

This resource maintained by the Pharmacy Work Group

Primarily used for identification and definition of Medication, but also covers ingredients and packaging.

4.13.1 Scope and Usage

Representing Medication in the majority of healthcare settings is a matter of identifying an item from a list and then conveying a reference for the item selected either into a patient related resource or to other applications. Additional information about the medication is frequently provided for human verification but a full representation of the details of composition and efficacy of the medicine is conveyed by referring to drug dictionaries by means of the codes they define. There are some occasions where it is necessary to identify slightly more detail, such as when dispensing a package containing a particular medicine requires identification both of the medicine and the package at once. There are also some occasions (e.g. custom formulations) where the composition of a medicine must be represented. In these cases the ingredients of the medicine have to be specified together with the amount contained, though the medication resource does not provide full details.

The medication resource allows for medications to be characterised as either a product or a package; this classification is important because it affects the interpretation of a prescribed amount. For instance, is the prescribed amount 20 tablets, or 20 packages of 50 tablets each? However the kind element is not required because not all contexts of use are involved with prescription (medication statements, for instance). Typically, however, profiles describing the use of the medication resource in a prescribing environment will make the kind element required.

Depending on whether the medication is a product or a package, further details about the composition can be provided. A product has a form (tablet, suspension, etc.) and a list of ingredients with quantities. The ingredients may be other medications or substances. A package has a container (vacuum packed box, jar, etc.) and a list of the products or other packages that are in the package.

This resource is referenced by CarePlan, Group, MedicationAdministration, MedicationDispense, MedicationPrescription, MedicationStatement and Supply

4.13.2 Resource Content

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. Medication DomainResourceDefinition of a Medication
... name Σ0..1stringCommon / Commercial name
... code Σ0..1CodeableConceptCodes that identify this medication
MedicationFormalRepresentation (Example)
... isBrand Σ0..1booleanTrue if a brand
... manufacturer Σ0..1OrganizationManufacturer of the item
... kind Σ0..1codeproduct | package
MedicationKind (Required)
... product 0..1ElementAdministrable medication details
.... form 0..1CodeableConceptpowder | tablets | carton +
MedicationForm (Example)
.... ingredient 0..*ElementActive or inactive ingredient
..... item 1..1Substance | MedicationThe product contained
..... amount 0..1RatioHow much ingredient in product
.... batch 0..*Element
..... lotNumber 0..1string
..... expirationDate 0..1dateTime
... package 0..1ElementDetails about packaged medications
.... container 0..1CodeableConceptE.g. box, vial, blister-pack
MedicationContainer (Example)
.... content 0..*ElementWhat is in the package?
..... item 1..1MedicationA product in the package
..... amount 0..1QuantityHow many are in the package?

UML Diagram

Medication (DomainResource)The common/commercial name of the medication absent information such as strength, form, etc. E.g. Acetaminophen, Tylenol 3, etc. The fully coordinated name is communicated as the display of Medication.codename : string 0..1A code (or set of codes) that identify this medication. Usage note: This could be a standard drug code such as a drug regulator code, RxNorm code, SNOMED CT code, etc. It could also be a local formulary code, optionally with translations to the standard drug codescode : CodeableConcept 0..1 « (A code that defines the type of a medicationMedicationFormalRepresentation) »Set to true if the item is attributable to a specific manufacturer (even if we don't know who that is)isBrand : boolean 0..1Describes the details of the manufacturermanufacturer : Reference(Organization) 0..1Medications are either a single administrable product or a package that contains one or more productskind : code 0..1 « Whether the medication is a product or a packageMedicationKind »ProductDescribes the form of the item. Powder; tables; cartonform : CodeableConcept 0..1 « (The form of a medicationMedicationForm) »IngredientThe actual ingredient - either a substance (simple ingredient) or another medicationitem : Reference(Substance|Medication) 1..1Specifies how many (or how much) of the items there are in this Medication. E.g. 250 mg per tabletamount : Ratio 0..1BatchThe assigned lot number of a batch of the specified productlotNumber : string 0..1When this specific batch of product will expireexpirationDate : dateTime 0..1PackageThe kind of container that this package comes ascontainer : CodeableConcept 0..1 « (Kind of container a medication package is packaged inMedicationContainer) »ContentIdentifies one of the items in the packageitem : Reference(Medication) 1..1The amount of the product that is in the packageamount : Quantity 0..1Identifies a particular constituent of interest in the productingredient0..*Information about a group of medication produced or packaged from one production runbatch0..*Information that only applies to products (not packages)product0..1A set of components that go to make up the described itemcontent0..*Information that only applies to packages (not products)package0..1

XML Template

<Medication xmlns="http://hl7.org/fhir"> doco
 <!-- from Resource: id, meta, implicitRules, and language -->
 <!-- from DomainResource: text, contained, extension, and modifierExtension -->
 <name value="[string]"/><!-- 0..1 Common / Commercial name -->
 <code><!-- 0..1 CodeableConcept Codes that identify this medication --></code>
 <isBrand value="[boolean]"/><!-- 0..1 True if a brand -->
 <manufacturer><!-- 0..1 Reference(Organization) Manufacturer of the item --></manufacturer>
 <kind value="[code]"/><!-- 0..1 product | package -->
 <product>  <!-- 0..1 Administrable medication details -->
  <form><!-- 0..1 CodeableConcept powder | tablets | carton + --></form>
  <ingredient>  <!-- 0..* Active or inactive ingredient -->
   <item><!-- 1..1 Reference(Substance|Medication) The product contained --></item>
   <amount><!-- 0..1 Ratio How much ingredient in product --></amount>
  </ingredient>
  <batch>  <!-- 0..* -->
   <lotNumber value="[string]"/><!-- 0..1  -->
   <expirationDate value="[dateTime]"/><!-- 0..1  -->
  </batch>
 </product>
 <package>  <!-- 0..1 Details about packaged medications -->
  <container><!-- 0..1 CodeableConcept E.g. box, vial, blister-pack --></container>
  <content>  <!-- 0..* What is  in the package? -->
   <item><!-- 1..1 Reference(Medication) A product in the package --></item>
   <amount><!-- 0..1 Quantity How many are in the package? --></amount>
  </content>
 </package>
</Medication>

JSON Template

{doco
  "resourceType" : "Medication",
  // from Resource: id, meta, implicitRules, and language
  // from DomainResource: text, contained, extension, and modifierExtension
  "name" : "<string>", // Common / Commercial name
  "code" : { CodeableConcept }, // Codes that identify this medication
  "isBrand" : <boolean>, // True if a brand
  "manufacturer" : { Reference(Organization) }, // Manufacturer of the item
  "kind" : "<code>", // product | package
  "product" : { // Administrable medication details
    "form" : { CodeableConcept }, // powder | tablets | carton +
    "ingredient" : [{ // Active or inactive ingredient
      "item" : { Reference(Substance|Medication) }, // R! The product contained
      "amount" : { Ratio } // How much ingredient in product
    }],
    "batch" : [{ // 
      "lotNumber" : "<string>", // 
      "expirationDate" : "<dateTime>" // 
    }]
  },
  "package" : { // Details about packaged medications
    "container" : { CodeableConcept }, // E.g. box, vial, blister-pack
    "content" : [{ // What is  in the package?
      "item" : { Reference(Medication) }, // R! A product in the package
      "amount" : { Quantity } // How many are in the package?
    }]
  }
}

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. Medication DomainResourceDefinition of a Medication
... name Σ0..1stringCommon / Commercial name
... code Σ0..1CodeableConceptCodes that identify this medication
MedicationFormalRepresentation (Example)
... isBrand Σ0..1booleanTrue if a brand
... manufacturer Σ0..1OrganizationManufacturer of the item
... kind Σ0..1codeproduct | package
MedicationKind (Required)
... product 0..1ElementAdministrable medication details
.... form 0..1CodeableConceptpowder | tablets | carton +
MedicationForm (Example)
.... ingredient 0..*ElementActive or inactive ingredient
..... item 1..1Substance | MedicationThe product contained
..... amount 0..1RatioHow much ingredient in product
.... batch 0..*Element
..... lotNumber 0..1string
..... expirationDate 0..1dateTime
... package 0..1ElementDetails about packaged medications
.... container 0..1CodeableConceptE.g. box, vial, blister-pack
MedicationContainer (Example)
.... content 0..*ElementWhat is in the package?
..... item 1..1MedicationA product in the package
..... amount 0..1QuantityHow many are in the package?

UML Diagram

Medication (DomainResource)The common/commercial name of the medication absent information such as strength, form, etc. E.g. Acetaminophen, Tylenol 3, etc. The fully coordinated name is communicated as the display of Medication.codename : string 0..1A code (or set of codes) that identify this medication. Usage note: This could be a standard drug code such as a drug regulator code, RxNorm code, SNOMED CT code, etc. It could also be a local formulary code, optionally with translations to the standard drug codescode : CodeableConcept 0..1 « (A code that defines the type of a medicationMedicationFormalRepresentation) »Set to true if the item is attributable to a specific manufacturer (even if we don't know who that is)isBrand : boolean 0..1Describes the details of the manufacturermanufacturer : Reference(Organization) 0..1Medications are either a single administrable product or a package that contains one or more productskind : code 0..1 « Whether the medication is a product or a packageMedicationKind »ProductDescribes the form of the item. Powder; tables; cartonform : CodeableConcept 0..1 « (The form of a medicationMedicationForm) »IngredientThe actual ingredient - either a substance (simple ingredient) or another medicationitem : Reference(Substance|Medication) 1..1Specifies how many (or how much) of the items there are in this Medication. E.g. 250 mg per tabletamount : Ratio 0..1BatchThe assigned lot number of a batch of the specified productlotNumber : string 0..1When this specific batch of product will expireexpirationDate : dateTime 0..1PackageThe kind of container that this package comes ascontainer : CodeableConcept 0..1 « (Kind of container a medication package is packaged inMedicationContainer) »ContentIdentifies one of the items in the packageitem : Reference(Medication) 1..1The amount of the product that is in the packageamount : Quantity 0..1Identifies a particular constituent of interest in the productingredient0..*Information about a group of medication produced or packaged from one production runbatch0..*Information that only applies to products (not packages)product0..1A set of components that go to make up the described itemcontent0..*Information that only applies to packages (not products)package0..1

XML Template

<Medication xmlns="http://hl7.org/fhir"> doco
 <!-- from Resource: id, meta, implicitRules, and language -->
 <!-- from DomainResource: text, contained, extension, and modifierExtension -->
 <name value="[string]"/><!-- 0..1 Common / Commercial name -->
 <code><!-- 0..1 CodeableConcept Codes that identify this medication --></code>
 <isBrand value="[boolean]"/><!-- 0..1 True if a brand -->
 <manufacturer><!-- 0..1 Reference(Organization) Manufacturer of the item --></manufacturer>
 <kind value="[code]"/><!-- 0..1 product | package -->
 <product>  <!-- 0..1 Administrable medication details -->
  <form><!-- 0..1 CodeableConcept powder | tablets | carton + --></form>
  <ingredient>  <!-- 0..* Active or inactive ingredient -->
   <item><!-- 1..1 Reference(Substance|Medication) The product contained --></item>
   <amount><!-- 0..1 Ratio How much ingredient in product --></amount>
  </ingredient>
  <batch>  <!-- 0..* -->
   <lotNumber value="[string]"/><!-- 0..1  -->
   <expirationDate value="[dateTime]"/><!-- 0..1  -->
  </batch>
 </product>
 <package>  <!-- 0..1 Details about packaged medications -->
  <container><!-- 0..1 CodeableConcept E.g. box, vial, blister-pack --></container>
  <content>  <!-- 0..* What is  in the package? -->
   <item><!-- 1..1 Reference(Medication) A product in the package --></item>
   <amount><!-- 0..1 Quantity How many are in the package? --></amount>
  </content>
 </package>
</Medication>

JSON Template

{doco
  "resourceType" : "Medication",
  // from Resource: id, meta, implicitRules, and language
  // from DomainResource: text, contained, extension, and modifierExtension
  "name" : "<string>", // Common / Commercial name
  "code" : { CodeableConcept }, // Codes that identify this medication
  "isBrand" : <boolean>, // True if a brand
  "manufacturer" : { Reference(Organization) }, // Manufacturer of the item
  "kind" : "<code>", // product | package
  "product" : { // Administrable medication details
    "form" : { CodeableConcept }, // powder | tablets | carton +
    "ingredient" : [{ // Active or inactive ingredient
      "item" : { Reference(Substance|Medication) }, // R! The product contained
      "amount" : { Ratio } // How much ingredient in product
    }],
    "batch" : [{ // 
      "lotNumber" : "<string>", // 
      "expirationDate" : "<dateTime>" // 
    }]
  },
  "package" : { // Details about packaged medications
    "container" : { CodeableConcept }, // E.g. box, vial, blister-pack
    "content" : [{ // What is  in the package?
      "item" : { Reference(Medication) }, // R! A product in the package
      "amount" : { Quantity } // How many are in the package?
    }]
  }
}

 

Alternate definitions: Schema/Schematron, Resource Profile (XML, JSON), Questionnaire

4.13.2.1 Terminology Bindings

PathDefinitionTypeReference
Medication.code A code that defines the type of a medicationExamplehttp://hl7.org/fhir/vs/medication-codes
Medication.kind Whether the medication is a product or a packageFixedhttp://hl7.org/fhir/medication-kind
Medication.product.form The form of a medicationExamplehttp://hl7.org/fhir/vs/medication-form-codes
Medication.package.container Kind of container a medication package is packaged inExamplehttp://hl7.org/fhir/vs/medication-package-form-codes

4.13.3 Search Parameters

Search parameters for this resource. The common parameters also apply. See Searching for more information about searching in REST, messaging, and services.

NameTypeDescriptionPaths
codetokenCodes that identify this medicationMedication.code
containertokenE.g. box, vial, blister-packMedication.package.container
contentreferenceA product in the packageMedication.package.content.item
(Medication)
formtokenpowder | tablets | carton +Medication.product.form
ingredientreferenceThe product containedMedication.product.ingredient.item
(Medication, Substance)
manufacturerreferenceManufacturer of the itemMedication.manufacturer
(Organization)
namestringCommon / Commercial nameMedication.name