Kenya-ePrescription-IG
0.1.0 - ci-build

Kenya-ePrescription-IG - Local Development build (v0.1.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

Resource Profile: Medication - ePrescription

Official URL: http://example.org/StructureDefinition/kenya-eprescription-medication Version: 0.1.0
Draft as of 2025-12-09 Computable Name: KenyaEPrescriptionMedication

Medication constraints for ePrescription workflow.

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: Filtersdoco
.. Medication 0..* Medication Definition of a Medication
... meta SΣ 1..1 Meta Metadata about the resource
.... profile SΣ 1..* canonical(StructureDefinition) Profiles this resource claims to conform to.
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... status ?!SΣ 1..1 code active | inactive | entered-in-error
Binding: Medication Status Codes (required): A coded concept defining if the medication is in active use.

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Medication.code Base example SNOMED CT Medication Codes 📍4.0.1 FHIR Std.
Medication.status Base required Medication status codes 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
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 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(canonical) = '#').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: Filtersdoco
.. Medication 0..* Medication Definition of a Medication
... meta S 1..1 Meta Metadata about the resource
.... profile S 1..* canonical(StructureDefinition) Profiles this resource claims to conform to.
... code S 1..1 CodeableConcept Codes that identify this medication
... status S 1..1 code active | inactive | entered-in-error

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Medication 0..* Medication Definition of a Medication
... id Σ 0..1 id Logical id of this artifact
... meta SΣ 1..1 Meta Metadata about the resource
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... versionId Σ 0..1 id Version specific identifier
.... lastUpdated Σ 0..1 instant When the resource version last changed
.... source Σ 0..1 uri Identifies where the resource comes from
.... profile SΣ 1..* canonical(StructureDefinition) Profiles this resource claims to conform to.
.... security Σ 0..* Coding Security Labels applied to this resource
Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.
.... tag Σ 0..* Coding Tags applied to this resource
Binding: CommonTags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones".
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... 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
... contained 0..* Resource Contained, inline Resources
... extension 0..* Extension Additional content defined by implementations
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier Σ 0..* Identifier Business identifier for this medication
... code SΣ 1..1 CodeableConcept Codes that identify this medication
Binding: SNOMEDCTMedicationCodes (example): A coded concept that defines the type of a medication.
... status ?!SΣ 1..1 code active | inactive | entered-in-error
Binding: Medication Status Codes (required): A coded concept defining if the medication is in active use.
... manufacturer Σ 0..1 Reference(Organization) Manufacturer of the item
... form 0..1 CodeableConcept powder | tablets | capsule +
Binding: SNOMEDCTFormCodes (example): A coded concept defining the form of a medication.
... amount Σ 0..1 Ratio Amount of drug in package
... ingredient 0..* BackboneElement Active or inactive ingredient
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... item[x] 1..1 The actual ingredient or content
..... itemCodeableConcept CodeableConcept
..... itemReference Reference(Substance | Medication)
.... isActive 0..1 boolean Active ingredient indicator
.... strength 0..1 Ratio Quantity of ingredient present
... batch 0..1 BackboneElement Details about packaged medications
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... lotNumber 0..1 string Identifier assigned to batch
.... expirationDate 0..1 dateTime When batch will expire

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Medication.meta.security Base extensible SecurityLabels 📍4.0.1 FHIR Std.
Medication.meta.tag Base example Common Tags 📍4.0.1 FHIR Std.
Medication.language Base preferred Common Languages 📍4.0.1 FHIR Std.
Medication.code Base example SNOMED CT Medication Codes 📍4.0.1 FHIR Std.
Medication.status Base required Medication status codes 📍4.0.1 FHIR Std.
Medication.form Base example SNOMED CT Form Codes 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
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 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(canonical) = '#').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

Summary

Mandatory: 4 elements
Must-Support: 4 elements

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Medication 0..* Medication Definition of a Medication
... meta SΣ 1..1 Meta Metadata about the resource
.... profile SΣ 1..* canonical(StructureDefinition) Profiles this resource claims to conform to.
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... status ?!SΣ 1..1 code active | inactive | entered-in-error
Binding: Medication Status Codes (required): A coded concept defining if the medication is in active use.

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Medication.code Base example SNOMED CT Medication Codes 📍4.0.1 FHIR Std.
Medication.status Base required Medication status codes 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
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 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(canonical) = '#').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: Filtersdoco
.. Medication 0..* Medication Definition of a Medication
... meta S 1..1 Meta Metadata about the resource
.... profile S 1..* canonical(StructureDefinition) Profiles this resource claims to conform to.
... code S 1..1 CodeableConcept Codes that identify this medication
... status S 1..1 code active | inactive | entered-in-error

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Medication 0..* Medication Definition of a Medication
... id Σ 0..1 id Logical id of this artifact
... meta SΣ 1..1 Meta Metadata about the resource
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... versionId Σ 0..1 id Version specific identifier
.... lastUpdated Σ 0..1 instant When the resource version last changed
.... source Σ 0..1 uri Identifies where the resource comes from
.... profile SΣ 1..* canonical(StructureDefinition) Profiles this resource claims to conform to.
.... security Σ 0..* Coding Security Labels applied to this resource
Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.
.... tag Σ 0..* Coding Tags applied to this resource
Binding: CommonTags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones".
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... 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
... contained 0..* Resource Contained, inline Resources
... extension 0..* Extension Additional content defined by implementations
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier Σ 0..* Identifier Business identifier for this medication
... code SΣ 1..1 CodeableConcept Codes that identify this medication
Binding: SNOMEDCTMedicationCodes (example): A coded concept that defines the type of a medication.
... status ?!SΣ 1..1 code active | inactive | entered-in-error
Binding: Medication Status Codes (required): A coded concept defining if the medication is in active use.
... manufacturer Σ 0..1 Reference(Organization) Manufacturer of the item
... form 0..1 CodeableConcept powder | tablets | capsule +
Binding: SNOMEDCTFormCodes (example): A coded concept defining the form of a medication.
... amount Σ 0..1 Ratio Amount of drug in package
... ingredient 0..* BackboneElement Active or inactive ingredient
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... item[x] 1..1 The actual ingredient or content
..... itemCodeableConcept CodeableConcept
..... itemReference Reference(Substance | Medication)
.... isActive 0..1 boolean Active ingredient indicator
.... strength 0..1 Ratio Quantity of ingredient present
... batch 0..1 BackboneElement Details about packaged medications
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... lotNumber 0..1 string Identifier assigned to batch
.... expirationDate 0..1 dateTime When batch will expire

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Medication.meta.security Base extensible SecurityLabels 📍4.0.1 FHIR Std.
Medication.meta.tag Base example Common Tags 📍4.0.1 FHIR Std.
Medication.language Base preferred Common Languages 📍4.0.1 FHIR Std.
Medication.code Base example SNOMED CT Medication Codes 📍4.0.1 FHIR Std.
Medication.status Base required Medication status codes 📍4.0.1 FHIR Std.
Medication.form Base example SNOMED CT Form Codes 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
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 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(canonical) = '#').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

Summary

Mandatory: 4 elements
Must-Support: 4 elements

 

Other representations of profile: CSV, Excel, Schematron