SIL HIE Implementation Guide
0.1.0 - sil-hie-active

SIL HIE Implementation Guide, published by Kathurima Kimathi. This guide is not an authorized publication; it is the continuous build for version 0.1.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/savannahghi/hie-fhir-ig-profile/ and changes regularly. See the Directory of published versions

Resource Profile: HIE Medication

Official URL: https://nshr.dha.go.ke/fhir/StructureDefinition/medication Version: 0.1.0
Active as of 2026-10-20 Computable Name: HIEMedication

R4B Medication profiled for HIE directories, e-prescribing, and dispensing. Focus on stable identifiers, clinical code, status, form, ingredients with strength, manufacturer, and batch.

Usages:

You can also check for usages in the FHIR IG Statistics

Formal Views of Profile Content

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

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Medication 0..* Medication Definition of a Medication
Medication.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
Medication.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
Medication.identifier This element is included in summaries. 0..* Identifier Business identifier for this medication
Medication.identifier.use This element is a modifier element. This element is included in summaries. 1..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required)
Medication.identifier.type This element is included in summaries. C 1..1 HIECodeableConcept Description of identifier
Binding: Identifier Type Codes (extensible)
Constraints: cc-text-or-code
Medication.identifier.system This element is included in summaries. 1..1 uri The namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
Medication.identifier.value This element must be supported. This element is included in summaries. 1..1 string The value that is unique
Example General: 123456
Medication.identifier.assigner This element must be supported. This element is included in summaries. 0..1 HIEReference(HIE Organization) Organization that issued id (may be just text)
Medication.code This element must be supported. This element is included in summaries. C 1..1 HIECodeableConcept Codes that identify this medication
Binding: SNOMEDCTMedicationCodes (example): A coded concept that defines the type of a medication.
Constraints: cc-text-or-code
Medication.status This element is a modifier element. This element must be supported. This element is included in summaries. 1..1 code active | inactive | entered-in-error
Binding: Medication Status Codes (required): A coded concept defining if the medication is in active use.
Medication.manufacturer This element is included in summaries. 0..1 HIEReference(HIE Organization) Manufacturer of the item
Medication.form This element must be supported. C 1..1 HIECodeableConcept powder | tablets | capsule +
Binding: SNOMEDCTFormCodes (example): A coded concept defining the form of a medication.
Constraints: cc-text-or-code
Medication.ingredient This element must be supported. 0..* BackboneElement Active or inactive ingredient
Medication.ingredient.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Medication.ingredient.Slices for item[x] This element must be supported. 1..1 The actual ingredient or content
Slice: Unordered, Closed by type:$this
Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Medication.ingredient.Slices for item[x].itemCodeableConcept CodeableConcept
Medication.ingredient.Slices for item[x].itemReference Reference(Substance | Medication)
Medication.ingredient.Slices for item[x].item[x]:itemCodeableConcept C 0..1 HIECodeableConcept The actual ingredient or content
Constraints: cc-text-or-code
Medication.ingredient.Slices for item[x].item[x]:itemReference 0..1 HIEReference(Substance) The actual ingredient or content
Medication.ingredient.isActive This element must be supported. 1..1 boolean Active ingredient indicator
Medication.ingredient.strength This element must be supported. 1..1 Ratio Quantity of ingredient present

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Medication.identifier.​use Base required IdentifierUse 📦4.3.0 FHIR Std.
Medication.identifier.​type Base extensible IdentifierType 📦4.3.0 FHIR Std.
Medication.code Base example SNOMED CT Medication Codes 📍4.3.0 FHIR Std.
Medication.status Base required Medication Status Codes 📍4.3.0 FHIR Std.
Medication.form Base example SNOMED CT Form Codes 📍4.3.0 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
cc-text-or-code warning Medication.identifier.type, Medication.code, Medication.form, Medication.ingredient.item[x]:itemCodeableConcept Text is optional, coding is required coding.exists()
dom-2 error Medication If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Medication If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where(((id.exists() and ('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url)))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(uri) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error Medication If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error Medication If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Medication A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

This structure is derived from Medication

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Medication 0..* Medication Definition of a Medication
Medication.identifier
Medication.identifier.use 1..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required)
Medication.identifier.type 1..1 HIECodeableConcept Description of identifier
Binding: Identifier Type Codes (extensible)
Medication.identifier.system 1..1 uri The namespace for the identifier value
Medication.identifier.value This element must be supported. 1..1 string The value that is unique
Medication.identifier.assigner This element must be supported. 0..1 HIEReference(HIE Organization) Organization that issued id (may be just text)
Medication.code This element must be supported. 1..1 HIECodeableConcept Codes that identify this medication
Medication.status This element must be supported. 1..1 code active | inactive | entered-in-error
Medication.form This element must be supported. 1..1 HIECodeableConcept powder | tablets | capsule +
Medication.ingredient This element must be supported. 0..* BackboneElement Active or inactive ingredient
Medication.ingredient.Slices for item[x] This element must be supported. 1..1 CodeableConcept, Reference(Substance | Medication) The actual ingredient or content
Slice: Unordered, Open by type:$this
Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Medication.ingredient.Slices for item[x].item[x]:itemCodeableConcept 0..1 HIECodeableConcept The actual ingredient or content
Medication.ingredient.Slices for item[x].item[x]:itemReference 0..1 HIEReference(Substance) The actual ingredient or content
Medication.ingredient.isActive This element must be supported. 1..1 boolean Active ingredient indicator
Medication.ingredient.strength This element must be supported. 1..1 Ratio Quantity of ingredient present

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
Medication.identifier.​use Base required IdentifierUse 📦4.3.0 FHIR Std.
Medication.identifier.​type Base extensible IdentifierType 📦4.3.0 FHIR Std.
NameFlagsCard.TypeDescription & Constraints    Filter: doco
Medication 0..* Medication Definition of a Medication
Medication.id This element is included in summaries. 0..1 id Logical id of this artifact
Medication.meta This element is included in summaries. 0..1 Meta Metadata about the resource
Medication.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
Medication.language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): IETF language tag
Additional BindingsPurpose
AllLanguages Max Binding
Medication.text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
Medication.contained 0..* Resource Contained, inline Resources
Constraints: dom-r4b
Medication.extension 0..* Extension Additional content defined by implementations
Medication.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
Medication.identifier This element is included in summaries. 0..* Identifier Business identifier for this medication
Medication.identifier.id 0..1 id Unique id for inter-element referencing
Medication.identifier.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Medication.identifier.use This element is a modifier element. This element is included in summaries. 1..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required)
Medication.identifier.type This element is included in summaries. C 1..1 HIECodeableConcept Description of identifier
Binding: Identifier Type Codes (extensible)
Constraints: cc-text-or-code
Medication.identifier.system This element is included in summaries. 1..1 uri The namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
Medication.identifier.value This element must be supported. This element is included in summaries. 1..1 string The value that is unique
Example General: 123456
Medication.identifier.period This element is included in summaries. 0..1 Period Time period when id is/was valid for use
Medication.identifier.assigner This element must be supported. This element is included in summaries. 0..1 HIEReference(HIE Organization) Organization that issued id (may be just text)
Medication.code This element must be supported. This element is included in summaries. C 1..1 HIECodeableConcept Codes that identify this medication
Binding: SNOMEDCTMedicationCodes (example): A coded concept that defines the type of a medication.
Constraints: cc-text-or-code
Medication.status This element is a modifier element. This element must be supported. This element is included in summaries. 1..1 code active | inactive | entered-in-error
Binding: Medication Status Codes (required): A coded concept defining if the medication is in active use.
Medication.manufacturer This element is included in summaries. 0..1 HIEReference(HIE Organization) Manufacturer of the item
Medication.form This element must be supported. C 1..1 HIECodeableConcept powder | tablets | capsule +
Binding: SNOMEDCTFormCodes (example): A coded concept defining the form of a medication.
Constraints: cc-text-or-code
Medication.amount This element is included in summaries. 0..1 Ratio Amount of drug in package
Medication.ingredient This element must be supported. 0..* BackboneElement Active or inactive ingredient
Medication.ingredient.id 0..1 string Unique id for inter-element referencing
Medication.ingredient.extension 0..* Extension Additional content defined by implementations
Medication.ingredient.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Medication.ingredient.Slices for item[x] This element must be supported. 1..1 The actual ingredient or content
Slice: Unordered, Closed by type:$this
Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Medication.ingredient.Slices for item[x].itemCodeableConcept CodeableConcept
Medication.ingredient.Slices for item[x].itemReference Reference(Substance | Medication)
Medication.ingredient.Slices for item[x].item[x]:itemCodeableConcept C 0..1 HIECodeableConcept The actual ingredient or content
Constraints: cc-text-or-code
Medication.ingredient.Slices for item[x].item[x]:itemReference 0..1 HIEReference(Substance) The actual ingredient or content
Medication.ingredient.isActive This element must be supported. 1..1 boolean Active ingredient indicator
Medication.ingredient.strength This element must be supported. 1..1 Ratio Quantity of ingredient present
Medication.batch 0..1 BackboneElement Details about packaged medications
Medication.batch.id 0..1 string Unique id for inter-element referencing
Medication.batch.extension 0..* Extension Additional content defined by implementations
Medication.batch.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Medication.batch.lotNumber 0..1 string Identifier assigned to batch
Medication.batch.expirationDate 0..1 dateTime When batch will expire

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Medication.language Base preferred Common Languages 📍4.3.0 FHIR Std.
Medication.identifier.​use Base required IdentifierUse 📦4.3.0 FHIR Std.
Medication.identifier.​type Base extensible IdentifierType 📦4.3.0 FHIR Std.
Medication.code Base example SNOMED CT Medication Codes 📍4.3.0 FHIR Std.
Medication.status Base required Medication Status Codes 📍4.3.0 FHIR Std.
Medication.form Base example SNOMED CT Form Codes 📍4.3.0 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
cc-text-or-code warning Medication.identifier.type, Medication.code, Medication.form, Medication.ingredient.item[x]:itemCodeableConcept Text is optional, coding is required coding.exists()
dom-2 error Medication If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Medication If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where(((id.exists() and ('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url)))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(uri) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error Medication If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error Medication If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Medication A resource should have narrative for robust management text.`div`.exists()
dom-r4b warning Medication.contained Containing new R4B resources within R4 resources may cause interoperability issues if instances are shared with R4 systems ($this is Citation or $this is Evidence or $this is EvidenceReport or $this is EvidenceVariable or $this is MedicinalProductDefinition or $this is PackagedProductDefinition or $this is AdministrableProductDefinition or $this is Ingredient or $this is ClinicalUseDefinition or $this is RegulatedAuthorization or $this is SubstanceDefinition or $this is SubscriptionStatus or $this is SubscriptionTopic) implies (%resource is Citation or %resource is Evidence or %resource is EvidenceReport or %resource is EvidenceVariable or %resource is MedicinalProductDefinition or %resource is PackagedProductDefinition or %resource is AdministrableProductDefinition or %resource is Ingredient or %resource is ClinicalUseDefinition or %resource is RegulatedAuthorization or %resource is SubstanceDefinition or %resource is SubscriptionStatus or %resource is SubscriptionTopic)
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

This structure is derived from Medication

Summary

Mandatory: 3 elements(6 nested mandatory elements)
Must-Support: 9 elements

Structures

This structure refers to these other structures:

Slices

This structure defines the following Slices:

  • The element 1 is sliced based on the value of Medication.ingredient.item[x]

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Medication 0..* Medication Definition of a Medication
Medication.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
Medication.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
Medication.identifier This element is included in summaries. 0..* Identifier Business identifier for this medication
Medication.identifier.use This element is a modifier element. This element is included in summaries. 1..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required)
Medication.identifier.type This element is included in summaries. C 1..1 HIECodeableConcept Description of identifier
Binding: Identifier Type Codes (extensible)
Constraints: cc-text-or-code
Medication.identifier.system This element is included in summaries. 1..1 uri The namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
Medication.identifier.value This element must be supported. This element is included in summaries. 1..1 string The value that is unique
Example General: 123456
Medication.identifier.assigner This element must be supported. This element is included in summaries. 0..1 HIEReference(HIE Organization) Organization that issued id (may be just text)
Medication.code This element must be supported. This element is included in summaries. C 1..1 HIECodeableConcept Codes that identify this medication
Binding: SNOMEDCTMedicationCodes (example): A coded concept that defines the type of a medication.
Constraints: cc-text-or-code
Medication.status This element is a modifier element. This element must be supported. This element is included in summaries. 1..1 code active | inactive | entered-in-error
Binding: Medication Status Codes (required): A coded concept defining if the medication is in active use.
Medication.manufacturer This element is included in summaries. 0..1 HIEReference(HIE Organization) Manufacturer of the item
Medication.form This element must be supported. C 1..1 HIECodeableConcept powder | tablets | capsule +
Binding: SNOMEDCTFormCodes (example): A coded concept defining the form of a medication.
Constraints: cc-text-or-code
Medication.ingredient This element must be supported. 0..* BackboneElement Active or inactive ingredient
Medication.ingredient.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Medication.ingredient.Slices for item[x] This element must be supported. 1..1 The actual ingredient or content
Slice: Unordered, Closed by type:$this
Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Medication.ingredient.Slices for item[x].itemCodeableConcept CodeableConcept
Medication.ingredient.Slices for item[x].itemReference Reference(Substance | Medication)
Medication.ingredient.Slices for item[x].item[x]:itemCodeableConcept C 0..1 HIECodeableConcept The actual ingredient or content
Constraints: cc-text-or-code
Medication.ingredient.Slices for item[x].item[x]:itemReference 0..1 HIEReference(Substance) The actual ingredient or content
Medication.ingredient.isActive This element must be supported. 1..1 boolean Active ingredient indicator
Medication.ingredient.strength This element must be supported. 1..1 Ratio Quantity of ingredient present

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Medication.identifier.​use Base required IdentifierUse 📦4.3.0 FHIR Std.
Medication.identifier.​type Base extensible IdentifierType 📦4.3.0 FHIR Std.
Medication.code Base example SNOMED CT Medication Codes 📍4.3.0 FHIR Std.
Medication.status Base required Medication Status Codes 📍4.3.0 FHIR Std.
Medication.form Base example SNOMED CT Form Codes 📍4.3.0 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
cc-text-or-code warning Medication.identifier.type, Medication.code, Medication.form, Medication.ingredient.item[x]:itemCodeableConcept Text is optional, coding is required coding.exists()
dom-2 error Medication If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Medication If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where(((id.exists() and ('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url)))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(uri) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error Medication If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error Medication If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Medication A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

Differential View

This structure is derived from Medication

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Medication 0..* Medication Definition of a Medication
Medication.identifier
Medication.identifier.use 1..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required)
Medication.identifier.type 1..1 HIECodeableConcept Description of identifier
Binding: Identifier Type Codes (extensible)
Medication.identifier.system 1..1 uri The namespace for the identifier value
Medication.identifier.value This element must be supported. 1..1 string The value that is unique
Medication.identifier.assigner This element must be supported. 0..1 HIEReference(HIE Organization) Organization that issued id (may be just text)
Medication.code This element must be supported. 1..1 HIECodeableConcept Codes that identify this medication
Medication.status This element must be supported. 1..1 code active | inactive | entered-in-error
Medication.manufacturer 0..1 HIEReference(HIE Organization) Manufacturer of the item
Medication.form This element must be supported. 1..1 HIECodeableConcept powder | tablets | capsule +
Medication.ingredient This element must be supported. 0..* BackboneElement Active or inactive ingredient
Medication.ingredient.Slices for item[x] This element must be supported. 1..1 CodeableConcept, Reference(Substance | Medication) The actual ingredient or content
Slice: Unordered, Open by type:$this
Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Medication.ingredient.Slices for item[x].item[x]:itemCodeableConcept 0..1 HIECodeableConcept The actual ingredient or content
Medication.ingredient.Slices for item[x].item[x]:itemReference 0..1 HIEReference(Substance) The actual ingredient or content
Medication.ingredient.isActive This element must be supported. 1..1 boolean Active ingredient indicator
Medication.ingredient.strength This element must be supported. 1..1 Ratio Quantity of ingredient present

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
Medication.identifier.​use Base required IdentifierUse 📦4.3.0 FHIR Std.
Medication.identifier.​type Base extensible IdentifierType 📦4.3.0 FHIR Std.

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Medication 0..* Medication Definition of a Medication
Medication.id This element is included in summaries. 0..1 id Logical id of this artifact
Medication.meta This element is included in summaries. 0..1 Meta Metadata about the resource
Medication.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
Medication.language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): IETF language tag
Additional BindingsPurpose
AllLanguages Max Binding
Medication.text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
Medication.contained 0..* Resource Contained, inline Resources
Constraints: dom-r4b
Medication.extension 0..* Extension Additional content defined by implementations
Medication.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
Medication.identifier This element is included in summaries. 0..* Identifier Business identifier for this medication
Medication.identifier.id 0..1 id Unique id for inter-element referencing
Medication.identifier.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Medication.identifier.use This element is a modifier element. This element is included in summaries. 1..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required)
Medication.identifier.type This element is included in summaries. C 1..1 HIECodeableConcept Description of identifier
Binding: Identifier Type Codes (extensible)
Constraints: cc-text-or-code
Medication.identifier.system This element is included in summaries. 1..1 uri The namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
Medication.identifier.value This element must be supported. This element is included in summaries. 1..1 string The value that is unique
Example General: 123456
Medication.identifier.period This element is included in summaries. 0..1 Period Time period when id is/was valid for use
Medication.identifier.assigner This element must be supported. This element is included in summaries. 0..1 HIEReference(HIE Organization) Organization that issued id (may be just text)
Medication.code This element must be supported. This element is included in summaries. C 1..1 HIECodeableConcept Codes that identify this medication
Binding: SNOMEDCTMedicationCodes (example): A coded concept that defines the type of a medication.
Constraints: cc-text-or-code
Medication.status This element is a modifier element. This element must be supported. This element is included in summaries. 1..1 code active | inactive | entered-in-error
Binding: Medication Status Codes (required): A coded concept defining if the medication is in active use.
Medication.manufacturer This element is included in summaries. 0..1 HIEReference(HIE Organization) Manufacturer of the item
Medication.form This element must be supported. C 1..1 HIECodeableConcept powder | tablets | capsule +
Binding: SNOMEDCTFormCodes (example): A coded concept defining the form of a medication.
Constraints: cc-text-or-code
Medication.amount This element is included in summaries. 0..1 Ratio Amount of drug in package
Medication.ingredient This element must be supported. 0..* BackboneElement Active or inactive ingredient
Medication.ingredient.id 0..1 string Unique id for inter-element referencing
Medication.ingredient.extension 0..* Extension Additional content defined by implementations
Medication.ingredient.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Medication.ingredient.Slices for item[x] This element must be supported. 1..1 The actual ingredient or content
Slice: Unordered, Closed by type:$this
Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
Medication.ingredient.Slices for item[x].itemCodeableConcept CodeableConcept
Medication.ingredient.Slices for item[x].itemReference Reference(Substance | Medication)
Medication.ingredient.Slices for item[x].item[x]:itemCodeableConcept C 0..1 HIECodeableConcept The actual ingredient or content
Constraints: cc-text-or-code
Medication.ingredient.Slices for item[x].item[x]:itemReference 0..1 HIEReference(Substance) The actual ingredient or content
Medication.ingredient.isActive This element must be supported. 1..1 boolean Active ingredient indicator
Medication.ingredient.strength This element must be supported. 1..1 Ratio Quantity of ingredient present
Medication.batch 0..1 BackboneElement Details about packaged medications
Medication.batch.id 0..1 string Unique id for inter-element referencing
Medication.batch.extension 0..* Extension Additional content defined by implementations
Medication.batch.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Medication.batch.lotNumber 0..1 string Identifier assigned to batch
Medication.batch.expirationDate 0..1 dateTime When batch will expire

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Medication.language Base preferred Common Languages 📍4.3.0 FHIR Std.
Medication.identifier.​use Base required IdentifierUse 📦4.3.0 FHIR Std.
Medication.identifier.​type Base extensible IdentifierType 📦4.3.0 FHIR Std.
Medication.code Base example SNOMED CT Medication Codes 📍4.3.0 FHIR Std.
Medication.status Base required Medication Status Codes 📍4.3.0 FHIR Std.
Medication.form Base example SNOMED CT Form Codes 📍4.3.0 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
cc-text-or-code warning Medication.identifier.type, Medication.code, Medication.form, Medication.ingredient.item[x]:itemCodeableConcept Text is optional, coding is required coding.exists()
dom-2 error Medication If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Medication If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where(((id.exists() and ('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url)))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(uri) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error Medication If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error Medication If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Medication A resource should have narrative for robust management text.`div`.exists()
dom-r4b warning Medication.contained Containing new R4B resources within R4 resources may cause interoperability issues if instances are shared with R4 systems ($this is Citation or $this is Evidence or $this is EvidenceReport or $this is EvidenceVariable or $this is MedicinalProductDefinition or $this is PackagedProductDefinition or $this is AdministrableProductDefinition or $this is Ingredient or $this is ClinicalUseDefinition or $this is RegulatedAuthorization or $this is SubstanceDefinition or $this is SubscriptionStatus or $this is SubscriptionTopic) implies (%resource is Citation or %resource is Evidence or %resource is EvidenceReport or %resource is EvidenceVariable or %resource is MedicinalProductDefinition or %resource is PackagedProductDefinition or %resource is AdministrableProductDefinition or %resource is Ingredient or %resource is ClinicalUseDefinition or %resource is RegulatedAuthorization or %resource is SubstanceDefinition or %resource is SubscriptionStatus or %resource is SubscriptionTopic)
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

This structure is derived from Medication

Summary

Mandatory: 3 elements(6 nested mandatory elements)
Must-Support: 9 elements

Structures

This structure refers to these other structures:

Slices

This structure defines the following Slices:

  • The element 1 is sliced based on the value of Medication.ingredient.item[x]

 

Other representations of profile: CSV, Excel, Schematron