F
US-Core CI Build

D.4.1 StructureDefinition: DAF-core-medication

When referring to medications, The MedicationStatement and MedicationOrder resources can either use a code or refer to a Medication resource. This profile sets minimum expectations for the Medication resource to record search and fetch medications associated with a patient. It identifies which core elements, extensions, vocabularies and value sets SHALL be present in the resource when using this profile.

Example Usage Scenarios:

Queries on Medication resource are expected to be within the context of a MedicationStatement, MedicationOrder resource query. The following are example usage scenarios for the DAF-Medication profile:

  • Query for Medications with a particular code
Mandatory Data Elements and Terminology

The following data-elements are mandatory (i.e data MUST be present). These are presented below in a simple human-readable explanation. Profile specific guidance and an example are provided as well. The Formal Profile Definition below provides the formal summary, definitions, and terminology requirements.

Each Medication must have:

  1. A medication code

Profile specific implementation guidance:

  • none
Example: Medication Example: example

D.4.1.1 Formal Views of Profile Content

The official URL for this profile is:

http://hl7.org/fhir/us/core/StructureDefinition/daf-core-medication

This profile builds on Medication.

This profile was published on Mon Aug 01 00:00:00 UTC 2016 as a draft by Health Level Seven International (FHIR-Infrastructure).

Description of Profiles, Differentials, Snapshots, and how the XML and JSON presentations work.

This structure is derived from Medication

Complete Summary of the Mandatory Requirements

  1. Either:
NameFlagsCard.TypeDescription & Constraintsdoco
.. Medication I0..*Definition of a Medication
... id 0..1idLogical id of this artifact
... meta 0..1MetaMetadata about the resource
... implicitRules ?!0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: Common Languages (extensible)
... text I0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional Content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... code S1..1CodeableConceptCodes that identify this medication
Binding: Medication Clinical Drug (RxNorm) (extensible)
... isBrand 0..1booleanTrue if a brand
... manufacturer 0..1Reference(Organization)Manufacturer of the item
... product I0..1BackboneElementAdministrable medication details
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
.... form 0..1CodeableConceptpowder | tablets | capsule +
Binding: SNOMED CT Form Codes (example)
.... ingredient I0..*BackboneElementActive or inactive ingredient
..... id 0..1stringxml:id (or equivalent in JSON)
..... extension 0..*ExtensionAdditional Content defined by implementations
..... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
..... item[x] 1..1CodeableConcept, Reference(Substance), Reference(Medication)The product contained
..... amount 0..1RatioQuantity of ingredient present
.... batch I0..*BackboneElementIdentifies a single production run
..... id 0..1stringxml:id (or equivalent in JSON)
..... extension 0..*ExtensionAdditional Content defined by implementations
..... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
..... lotNumber 0..1stringIdentifier assigned to batch
..... expirationDate 0..1dateTimeWhen batch will expire
... package I0..1BackboneElementDetails about packaged medications
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
.... container 0..1CodeableConceptE.g. box, vial, blister-pack
Binding: SNOMED CT Form Codes (example)
.... content I0..*BackboneElementWhat is in the package
..... id 0..1stringxml:id (or equivalent in JSON)
..... extension 0..*ExtensionAdditional Content defined by implementations
..... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
..... item[x] 1..1CodeableConcept, Reference(Medication)The item in the package
..... amount 0..1SimpleQuantityQuantity present in the package

doco Documentation for this format

yet to be done: Xml template

yet to be done: Json template

This structure is derived from Medication

Summary

Mandatory: 1 element
Must-Support: 1 element

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Medication I0..*Definition of a Medication
... id 0..1idLogical id of this artifact
... meta 0..1MetaMetadata about the resource
... implicitRules ?!0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: Common Languages (extensible)
... text I0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional Content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... code S1..1CodeableConceptCodes that identify this medication
Binding: Medication Clinical Drug (RxNorm) (extensible)
... isBrand 0..1booleanTrue if a brand
... manufacturer 0..1Reference(Organization)Manufacturer of the item
... product I0..1BackboneElementAdministrable medication details
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
.... form 0..1CodeableConceptpowder | tablets | capsule +
Binding: SNOMED CT Form Codes (example)
.... ingredient I0..*BackboneElementActive or inactive ingredient
..... id 0..1stringxml:id (or equivalent in JSON)
..... extension 0..*ExtensionAdditional Content defined by implementations
..... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
..... item[x] 1..1CodeableConcept, Reference(Substance), Reference(Medication)The product contained
..... amount 0..1RatioQuantity of ingredient present
.... batch I0..*BackboneElementIdentifies a single production run
..... id 0..1stringxml:id (or equivalent in JSON)
..... extension 0..*ExtensionAdditional Content defined by implementations
..... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
..... lotNumber 0..1stringIdentifier assigned to batch
..... expirationDate 0..1dateTimeWhen batch will expire
... package I0..1BackboneElementDetails about packaged medications
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
.... container 0..1CodeableConceptE.g. box, vial, blister-pack
Binding: SNOMED CT Form Codes (example)
.... content I0..*BackboneElementWhat is in the package
..... id 0..1stringxml:id (or equivalent in JSON)
..... extension 0..*ExtensionAdditional Content defined by implementations
..... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
..... item[x] 1..1CodeableConcept, Reference(Medication)The item in the package
..... amount 0..1SimpleQuantityQuantity present in the package

doco Documentation for this format

XML Template

yet to be done: Xml template

JSON Template

yet to be done: Json template

Downloads: StructureDefinition: (XML, JSON), Schema: XML Schematron

 

D.4.1.2 Terminology Bindings

Terminology Bindings

PathNameConformanceValueSet
Medication.languageCommon LanguagesextensibleCommon Languages
Medication.codeMedication Clinical Drug (RxNorm)extensibleMedication Clinical Drug (RxNorm)
Medication.product.formSNOMED CT Form CodesexampleSNOMED CT Form Codes
Medication.package.containerSNOMED CT Form CodesexampleSNOMED CT Form Codes

D.4.1.3 Constraints

Constraints

IdPathDetailsRequirements
dom-2MedicationIf the resource is contained in another resource, it SHALL NOT contain nested Resources
XPath: not(parent::f:contained and f:contained)
dom-1MedicationIf the resource is contained in another resource, it SHALL NOT contain any narrative
XPath: not(parent::f:contained and f:text)
dom-4MedicationIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
XPath: not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))
dom-3MedicationIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource
XPath: not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))
ele-1Medication.productAll FHIR elements must have a @value or children
XPath: @value|f:*|h:div
ele-1Medication.product.ingredientAll FHIR elements must have a @value or children
XPath: @value|f:*|h:div
ele-1Medication.product.batchAll FHIR elements must have a @value or children
XPath: @value|f:*|h:div
ele-1Medication.packageAll FHIR elements must have a @value or children
XPath: @value|f:*|h:div
ele-1Medication.package.contentAll FHIR elements must have a @value or children
XPath: @value|f:*|h:div
.