Bangladesh Core FHIR Implementation Guide
0.4.1 - Published by DGHS, MoHFW

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.1
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:

- Refer to this Profile: Medication Request Profile for Bangladesh
- Examples for this Profile: Medication/BDMedicationExample

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.

- Key Elements Table
- Differential Table
- Snapshot Table
- Statistics/References
- All

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
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
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.
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)
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Medication.code | Base | required | DGDA Registered Drugs Value Set | 📦0.4.1 | 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.1 | This IG
Medication.ingredient.​item[x] | Base | extensible | ICD-11 Substances Value Set | 📦0.4.1 | 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

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
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)
Documentation for this format

#### Terminology Bindings (Differential)

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

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
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
language |  | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
Additional Bindings | Purpose
AllLanguages | Max Binding
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
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.1 | 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.1 | This IG
Medication.ingredient.​item[x] | Base | extensible | ICD-11 Substances Value Set | 📦0.4.1 | 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

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
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
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.
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)
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Medication.code | Base | required | DGDA Registered Drugs Value Set | 📦0.4.1 | 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.1 | This IG
Medication.ingredient.​item[x] | Base | extensible | ICD-11 Substances Value Set | 📦0.4.1 | 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

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
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)
Documentation for this format

#### Terminology Bindings (Differential)

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

Snapshot View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
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
language |  | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
Additional Bindings | Purpose
AllLanguages | Max Binding
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
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.1 | 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.1 | This IG
Medication.ingredient.​item[x] | Base | extensible | ICD-11 Substances Value Set | 📦0.4.1 | 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