Bangladesh Core FHIR Implementation Guide
0.4.5 - Published by DGHS, MoHFW Bangladesh flag

Bangladesh Core FHIR Implementation Guide - Published by Ministry of Health and Family Welfare. See the Directory of published versions

Resource Profile: Medication Profile for Bangladesh

Official URL: https://fhir.dghs.gov.bd/core/StructureDefinition/bd-medication Version: 0.4.5
Standards status: Informative Maturity Level: 1 Computable Name: BDMedication

Profile of the Medication resource for the Bangladesh National Health Information Exchange (HIE). Drug products are coded using the DGDA Drug Registry maintained by the Drug Registration Authority of Bangladesh and served via the national OCL terminology server at https://tr.ocl.dghs.gov.bd.

Ingredient coding uses ICD-11 MMS substance codes (XM-prefix) to support International Patient Summary (IPS) generation and cross-border data exchange. Ingredient data is system-populated from OCL Has-active-ingredient mappings and is not required to be entered manually by clinicians.

Combination drugs are supported via the repeating ingredient element. Unmatched ingredients (not yet mapped to ICD-11 substances) may be represented using ingredient.itemCodeableConcept.text without a coded value.

Dose form is optional and should be coded using EDQM Standard Terms when populated. Dose form is derivable from the DGDA drug concept via OCL lookup. A DGDA plain text dose form to EDQM code mapping is planned for a future IG version.

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
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... code SΣ 1..1 CodeableConcept DGDA registered drug product code
Binding: DGDA Registered Drugs Value Set (required)
.... text SΣ 1..1 string Trade name of the drug product
... form S 0..1 CodeableConcept Pharmaceutical dose form — EDQM Standard Terms (optional)
Binding: Medication Dose Form Value Set (preferred)
... ingredient S 0..* BackboneElement Active ingredient(s) of the drug product
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... item[x] S 1..1 CodeableConcept ICD-11 substance code for the ingredient
Binding: ICD-11 Substances Value Set (extensible)
.... strength 0..1 Ratio Strength of the ingredient (optional)

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Medication.code Base required DGDA Registered Drugs Value Set 📦0.4.5 This IG
Medication.status Base required Medication status codes 📍4.0.1 FHIR Std.
Medication.form Base preferred Medication Dose Form Value Set 📦0.4.5 This IG
Medication.ingredient.​item[x] Base extensible ICD-11 Substances Value Set 📦0.4.5 This IG

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
... code S 1..1 CodeableConcept DGDA registered drug product code
Binding: DGDA Registered Drugs Value Set (required)
.... text S 1..1 string Trade name of the drug product
... form S 0..1 CodeableConcept Pharmaceutical dose form — EDQM Standard Terms (optional)
Binding: Medication Dose Form Value Set (preferred)
... ingredient S 0..* BackboneElement Active ingredient(s) of the drug product
.... item[x] S 1..1 CodeableConcept ICD-11 substance code for the ingredient
Binding: ICD-11 Substances Value Set (extensible)
.... strength 0..1 Ratio Strength of the ingredient (optional)

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
Medication.code Base required DGDA Registered Drugs Value Set 📦0.4.5 This IG
Medication.form Base preferred Medication Dose Form Value Set 📦0.4.5 This IG
Medication.ingredient.​item[x] Base extensible ICD-11 Substances Value Set 📦0.4.5 This IG
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Medication 0..* Medication Definition of a Medication
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... 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 DGDA registered drug product code
Binding: DGDA Registered Drugs Value Set (required)
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... coding Σ 0..* Coding Code defined by a terminology system
.... text SΣ 1..1 string Trade name of the drug product
... status ?!Σ 0..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 S 0..1 CodeableConcept Pharmaceutical dose form — EDQM Standard Terms (optional)
Binding: Medication Dose Form Value Set (preferred)
... amount Σ 0..1 Ratio Amount of drug in package
... ingredient S 0..* BackboneElement Active ingredient(s) of the drug product
.... 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] S 1..1 CodeableConcept ICD-11 substance code for the ingredient
Binding: ICD-11 Substances Value Set (extensible)
.... isActive 0..1 boolean Active ingredient indicator
.... strength 0..1 Ratio Strength of the ingredient (optional)
... 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.language Base preferred Common Languages 📍4.0.1 FHIR Std.
Medication.code Base required DGDA Registered Drugs Value Set 📦0.4.5 This IG
Medication.status Base required Medication status codes 📍4.0.1 FHIR Std.
Medication.form Base preferred Medication Dose Form Value Set 📦0.4.5 This IG
Medication.ingredient.​item[x] Base extensible ICD-11 Substances Value Set 📦0.4.5 This IG

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: 2 elements
Must-Support: 5 elements

Maturity: 1

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Medication 0..* Medication Definition of a Medication
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... code SΣ 1..1 CodeableConcept DGDA registered drug product code
Binding: DGDA Registered Drugs Value Set (required)
.... text SΣ 1..1 string Trade name of the drug product
... form S 0..1 CodeableConcept Pharmaceutical dose form — EDQM Standard Terms (optional)
Binding: Medication Dose Form Value Set (preferred)
... ingredient S 0..* BackboneElement Active ingredient(s) of the drug product
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... item[x] S 1..1 CodeableConcept ICD-11 substance code for the ingredient
Binding: ICD-11 Substances Value Set (extensible)
.... strength 0..1 Ratio Strength of the ingredient (optional)

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Medication.code Base required DGDA Registered Drugs Value Set 📦0.4.5 This IG
Medication.status Base required Medication status codes 📍4.0.1 FHIR Std.
Medication.form Base preferred Medication Dose Form Value Set 📦0.4.5 This IG
Medication.ingredient.​item[x] Base extensible ICD-11 Substances Value Set 📦0.4.5 This IG

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
... code S 1..1 CodeableConcept DGDA registered drug product code
Binding: DGDA Registered Drugs Value Set (required)
.... text S 1..1 string Trade name of the drug product
... form S 0..1 CodeableConcept Pharmaceutical dose form — EDQM Standard Terms (optional)
Binding: Medication Dose Form Value Set (preferred)
... ingredient S 0..* BackboneElement Active ingredient(s) of the drug product
.... item[x] S 1..1 CodeableConcept ICD-11 substance code for the ingredient
Binding: ICD-11 Substances Value Set (extensible)
.... strength 0..1 Ratio Strength of the ingredient (optional)

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
Medication.code Base required DGDA Registered Drugs Value Set 📦0.4.5 This IG
Medication.form Base preferred Medication Dose Form Value Set 📦0.4.5 This IG
Medication.ingredient.​item[x] Base extensible ICD-11 Substances Value Set 📦0.4.5 This IG

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Medication 0..* Medication Definition of a Medication
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... 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 DGDA registered drug product code
Binding: DGDA Registered Drugs Value Set (required)
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... coding Σ 0..* Coding Code defined by a terminology system
.... text SΣ 1..1 string Trade name of the drug product
... status ?!Σ 0..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 S 0..1 CodeableConcept Pharmaceutical dose form — EDQM Standard Terms (optional)
Binding: Medication Dose Form Value Set (preferred)
... amount Σ 0..1 Ratio Amount of drug in package
... ingredient S 0..* BackboneElement Active ingredient(s) of the drug product
.... 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] S 1..1 CodeableConcept ICD-11 substance code for the ingredient
Binding: ICD-11 Substances Value Set (extensible)
.... isActive 0..1 boolean Active ingredient indicator
.... strength 0..1 Ratio Strength of the ingredient (optional)
... 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.language Base preferred Common Languages 📍4.0.1 FHIR Std.
Medication.code Base required DGDA Registered Drugs Value Set 📦0.4.5 This IG
Medication.status Base required Medication status codes 📍4.0.1 FHIR Std.
Medication.form Base preferred Medication Dose Form Value Set 📦0.4.5 This IG
Medication.ingredient.​item[x] Base extensible ICD-11 Substances Value Set 📦0.4.5 This IG

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: 2 elements
Must-Support: 5 elements

Maturity: 1

 

Other representations of profile: CSV, Excel, Schematron