30 Commits

Author SHA1 Message Date
00e2f5e794 Minor bug fix
All checks were successful
FHIR IG CI/CD Pipeline with Version Persistence / build-ig (push) Successful in 7m2s
FHIR IG CI/CD Pipeline with Version Persistence / deploy (push) Successful in 11s
2026-04-10 23:49:35 +06:00
7d5bb47c18 Minor bug fix
Some checks failed
FHIR IG CI/CD Pipeline with Version Persistence / build-ig (push) Failing after 1m9s
FHIR IG CI/CD Pipeline with Version Persistence / deploy (push) Has been skipped
2026-04-10 23:42:15 +06:00
48cf707ea6 Minor bug fix
All checks were successful
FHIR IG CI/CD Pipeline with Version Persistence / build-ig (push) Successful in 7m0s
FHIR IG CI/CD Pipeline with Version Persistence / deploy (push) Successful in 10s
2026-04-10 23:22:57 +06:00
52d5726641 Modified Patient name slice
All checks were successful
FHIR IG CI/CD Pipeline with Version Persistence / build-ig (push) Successful in 7m2s
FHIR IG CI/CD Pipeline with Version Persistence / deploy (push) Successful in 11s
2026-04-10 23:08:40 +06:00
29a4f238bf Fixed Patient name slice
All checks were successful
FHIR IG CI/CD Pipeline with Version Persistence / build-ig (push) Successful in 7m21s
FHIR IG CI/CD Pipeline with Version Persistence / deploy (push) Successful in 11s
2026-04-10 22:51:33 +06:00
f86f4a7f2c #
All checks were successful
FHIR IG CI/CD Pipeline with Version Persistence / build-ig (push) Successful in 7m14s
FHIR IG CI/CD Pipeline with Version Persistence / deploy (push) Successful in 12s
2026-04-10 16:04:20 +06:00
03d49f4eb6 #
Some checks failed
FHIR IG CI/CD Pipeline with Version Persistence / deploy (push) Has been cancelled
FHIR IG CI/CD Pipeline with Version Persistence / build-ig (push) Has been cancelled
2026-04-10 15:49:24 +06:00
ad91d12875 #
Some checks failed
FHIR IG CI/CD Pipeline with Version Persistence / deploy (push) Has been cancelled
FHIR IG CI/CD Pipeline with Version Persistence / build-ig (push) Has been cancelled
2026-04-10 15:46:45 +06:00
3363403c8e #
Some checks failed
FHIR IG CI/CD Pipeline with Version Persistence / build-ig (push) Waiting to run
FHIR IG CI/CD Pipeline with Version Persistence / deploy (push) Has been cancelled
2026-04-10 15:29:52 +06:00
311a853c31 #
Some checks failed
FHIR IG CI/CD Pipeline with Version Persistence / build-ig (push) Failing after 2s
FHIR IG CI/CD Pipeline with Version Persistence / deploy (push) Has been skipped
2026-04-10 15:28:01 +06:00
f8a13f1b19 #
Some checks failed
FHIR IG CI/CD Pipeline with Version Persistence / build-ig (push) Failing after 31s
FHIR IG CI/CD Pipeline with Version Persistence / deploy (push) Has been skipped
2026-04-10 15:11:11 +06:00
db8c1e2119 #
Some checks failed
FHIR IG CI/CD Pipeline with Version Persistence / build-ig (push) Failing after 30s
FHIR IG CI/CD Pipeline with Version Persistence / deploy (push) Has been skipped
2026-04-10 15:04:45 +06:00
8147d76ebd #
Some checks failed
FHIR IG CI/CD Pipeline with Version Persistence / build-ig (push) Failing after 32s
FHIR IG CI/CD Pipeline with Version Persistence / deploy (push) Has been skipped
2026-04-10 14:52:58 +06:00
39fe848fd4 modified ci/cd
Some checks failed
FHIR IG CI/CD Pipeline with Version Persistence / build-ig (push) Failing after 1m17s
FHIR IG CI/CD Pipeline with Version Persistence / deploy (push) Has been skipped
2026-04-10 14:37:44 +06:00
593e8cbb11 Prepare 0.4.1
Some checks failed
FHIR IG CI/CD Pipeline with Version Persistence / build-ig (push) Failing after 38m45s
FHIR IG CI/CD Pipeline with Version Persistence / deploy (push) Has been skipped
2026-04-10 12:09:45 +06:00
55aa2340ad # 2026-04-07 15:32:42 +06:00
01c8e2b506 Prepare 0.4.0: DGDA Drug and LOINC Integration
All checks were successful
FHIR IG CI/CD Pipeline with Version Persistence / build-ig (push) Successful in 15m26s
FHIR IG CI/CD Pipeline with Version Persistence / deploy (push) Successful in 18s
2026-04-07 02:49:44 +06:00
1c1b08c8a1 Prepare 0.4.0: DGDA Drug and LOINC Integration
Some checks failed
FHIR IG CI/CD Pipeline with Version Persistence / build-ig (push) Failing after 10m18s
FHIR IG CI/CD Pipeline with Version Persistence / deploy (push) Has been skipped
2026-04-07 02:29:38 +06:00
adc2594bfb Prepare 0.4.0: DGDA Drug and LOINC Integration
Some checks failed
FHIR IG CI/CD Pipeline with Version Persistence / build-ig (push) Failing after 6m1s
FHIR IG CI/CD Pipeline with Version Persistence / deploy (push) Has been skipped
2026-04-07 02:16:56 +06:00
5bd6b13f7b Prepare 0.4.0: DGDA Drug and LOINC Integration
Some checks failed
FHIR IG CI/CD Pipeline with Version Persistence / build-ig (push) Failing after 5m55s
FHIR IG CI/CD Pipeline with Version Persistence / deploy (push) Has been skipped
2026-04-07 02:05:49 +06:00
6a9ca5639e Prepare 0.4.0: DGDA Drug and LOINC Integration
Some checks failed
FHIR IG CI/CD Pipeline with Version Persistence / build-ig (push) Failing after 8m28s
FHIR IG CI/CD Pipeline with Version Persistence / deploy (push) Has been skipped
2026-04-07 01:49:09 +06:00
3fc1acafe4 Prepare 0.4.0: DGDA Drug and LOINC Integration
Some checks failed
FHIR IG CI/CD Pipeline with Version Persistence / build-ig (push) Failing after 8m47s
FHIR IG CI/CD Pipeline with Version Persistence / deploy (push) Has been skipped
2026-04-07 01:32:33 +06:00
7761cd2b32 Prepare 0.4.0: DGDA Drug and LOINC Integration
Some checks failed
FHIR IG CI/CD Pipeline with Version Persistence / build-ig (push) Failing after 6m9s
FHIR IG CI/CD Pipeline with Version Persistence / deploy (push) Has been skipped
2026-04-07 01:08:54 +06:00
df22875684 Prepare 0.4.0: DGDA Drug and LOINC Integration
Some checks failed
FHIR IG CI/CD Pipeline with Version Persistence / build-ig (push) Failing after 8m7s
FHIR IG CI/CD Pipeline with Version Persistence / deploy (push) Has been skipped
2026-04-07 00:50:59 +06:00
7d4ade03d8 Prepare 0.4.0: DGDA Drug and LOINC Integration
Some checks failed
FHIR IG CI/CD Pipeline with Version Persistence / build-ig (push) Failing after 5m53s
FHIR IG CI/CD Pipeline with Version Persistence / deploy (push) Has been skipped
2026-04-07 00:38:35 +06:00
3e91ff7e59 Prepare 0.4.0: DGDA Drug and LOINC Integration
Some checks failed
FHIR IG CI/CD Pipeline with Version Persistence / build-ig (push) Failing after 5m57s
FHIR IG CI/CD Pipeline with Version Persistence / deploy (push) Has been skipped
2026-04-07 00:19:15 +06:00
6e4cceae2e Prepare 0.4.0: DGDA Drug and LOINC Integration
Some checks failed
FHIR IG CI/CD Pipeline with Version Persistence / build-ig (push) Failing after 8m7s
FHIR IG CI/CD Pipeline with Version Persistence / deploy (push) Has been skipped
2026-04-07 00:05:40 +06:00
68a428f084 Prepare 0.4.0: DGDA Drug and LOINC Integration fixed syntax
Some checks failed
FHIR IG CI/CD Pipeline with Version Persistence / build-ig (push) Failing after 8m6s
FHIR IG CI/CD Pipeline with Version Persistence / deploy (push) Has been skipped
2026-04-06 23:51:17 +06:00
3f62ec237b Prepare 0.4.0: DGDA Drug and LOINC Integration-fix syntax
Some checks failed
FHIR IG CI/CD Pipeline with Version Persistence / build-ig (push) Failing after 5m57s
FHIR IG CI/CD Pipeline with Version Persistence / deploy (push) Has been skipped
2026-04-06 23:28:37 +06:00
d88695dd8b Prepare 0.4.0: DGDA Drug and LOINC Integration
Some checks failed
FHIR IG CI/CD Pipeline with Version Persistence / build-ig (push) Failing after 8m54s
FHIR IG CI/CD Pipeline with Version Persistence / deploy (push) Has been skipped
2026-04-06 23:11:12 +06:00
37 changed files with 1067 additions and 104 deletions

View File

@@ -382,10 +382,11 @@ jobs:
cp -r /home/publisher/ig /tmp/build/ig
cd /tmp/build/ig
mkdir -p input-cache
curl -L -o input-cache/publisher.jar https://supervision.dghs.gov.bd/publisher.jar
ls -lh input-cache
rm -f package-list.json
_updatePublisher.sh -y
_genonce.sh
")

View File

@@ -13,7 +13,7 @@
</extension>-->
<url value="https://fhir.dghs.gov.bd/core/ImplementationGuide/bd.fhir.core"/>
<!-- This version will propagate to all artifacts unless the "propagate-version" extension is overridden -->
<version value="0.3.0"/>
<version value="0.4.5"/>
<name value="BangladeshCoreFHIRIG"/>
<title value="Bangladesh Core FHIR Implementation Guide"/>
<status value="active"/>

View File

@@ -0,0 +1,33 @@
CodeSystem: BDDGDADrugCS
Id: dgda-drug-registry
Title: "DGDA Drug Registry Code System"
Description: """
Code system representing the Drug Registration Authority (DGDA) of Bangladesh's
official drug registry. Concepts are maintained in the national OCL terminology
server at https://tr.ocl.dghs.gov.bd and are not enumerated within this
Implementation Guide.
This code system contains two concept classes:
- **Drug**: Finished pharmaceutical drug products (identified by DAR number and trade name)
- **Ingredient**: Raw material / active pharmaceutical ingredients
Concept IDs follow the format: {DAR-number}--{trade-name-slug}
Example: 353-0026-039--marvelous-fe
**Canonical URL note:** https://dgda.gov.bd/drug-registry is a logical identifier
only and does not resolve to a web endpoint.
"""
* ^url = "https://dgda.gov.bd/drug-registry"
* ^version = "v1.0.0"
* ^status = #active
* ^experimental = false
* ^publisher = "Directorate General of Drug Administration (DGDA), Government of Bangladesh"
* ^contact.name = "DGHS Health Informatics Unit"
* ^contact.telecom.system = #url
* ^contact.telecom.value = "https://dghs.gov.bd"
* ^jurisdiction = urn:iso:std:iso:3166#BD "Bangladesh"
* ^content = #not-present
* ^count = 39196
* ^caseSensitive = true
* ^valueSet = "https://dgda.gov.bd/fhir/ValueSet/registered-drugs"

View File

@@ -1,4 +1,4 @@
CodeSystem: BDMedicationCodeSystem
CodeSystem: BDMedicationCS
Id: bd-medication-code
Title: "Bangladesh Medication Codes"
Description: "Bangladesh Medication Codes"
@@ -21,4 +21,4 @@ ValueSet: BDMedicationVS
Id: bd-medication-valueset
Title: "Bangladesh Medication ValueSet"
Description: "Bangladesh Medication ValueSet"
* include codes from system BDMedicationCodeSystem
* include codes from system BDMedicationCS

View File

@@ -30,12 +30,11 @@ Description: "Medication dose form codes according to CCDS guideline"
"Low-viscosity liquid topical dosage form for external application."
// ---------------------------
// ValueSet for BD Medication Dose Forms
// ---------------------------
ValueSet: BDMedicationDoseFormVS
Id: bd-dose-form-valueset
Title: "Bangladesh Medication Dose Form ValueSet"
Description: "Medication dose form value set according to CCDS guideline"
* ^url = "https://fhir.dghs.gov.bd/core/ValueSet/bd-dose-form-valueset"
* include codes from system BDMedicationDoseForm
// // ---------------------------
// // ValueSet for BD Medication Dose Forms
// // ---------------------------
// ValueSet: BDMedicationDoseFormVS
// Id: bd-dose-form-valueset
// Title: "Bangladesh Medication Dose Form ValueSet"
// Description: "Medication dose form value set according to CCDS guideline"
// * ^url = "https://fhir.dghs.gov.bd/core/ValueSet/bd-dose-form-valueset"

View File

@@ -17,7 +17,7 @@ The authoritative content is maintained by the World Health Organization.
In Bangladesh, runtime code validation and lookup are delegated to the
national OCL terminology server at https://tr.ocl.dghs.gov.bd.
Supported operations (use `system=` parameter, not `url=`):
Supported operations (use system= parameter, not url=):
- $validate-code: https://tr.ocl.dghs.gov.bd/api/fhir/CodeSystem/$validate-code?system=http://id.who.int/icd/release/11/mms&code={code}
- $lookup: https://tr.ocl.dghs.gov.bd/api/fhir/CodeSystem/$lookup?system=http://id.who.int/icd/release/11/mms&code={code}

View File

@@ -0,0 +1,25 @@
Instance: BDEncounterExample
InstanceOf: BDEncounter
Usage: #example
Title: "Example of a Bangladesh Patient Encounter"
Description: "An example of an outpatient encounter for a Bangladesh patient."
* identifier[0].value = "ENC-2023-001"
* identifier[0].system = "https://fhir.dghs.gov.bd/core/identifier/encounter"
* status = #finished
// Must use a code from your BDEncounterClassSubsetVS
// Example using standard HL7 ActCode for ambulatory (outpatient)
* class = http://terminology.hl7.org/CodeSystem/v3-ActCode#AMB "ambulatory"
// Reference the patient example we created in the previous step
* subject = Reference(BDPatientExample)
// serviceProvider is 1..1 in your profile
* serviceProvider = Reference(BDOrganizationExample)
// participant and participant.period are 1..1
* participant[0].individual = Reference(BDPractitionerExample)
* participant[0].period.start = "2023-10-27T10:00:00Z"
* participant[0].period.end = "2023-10-27T10:30:00Z"

View File

@@ -0,0 +1,33 @@
Instance: BDMedicationExample
InstanceOf: BDMedication
Title: "Medication Example — Marvelous Fe (Combination Drug)"
Description: """
Example BDMedication instance for Marvelous Fe, a combination drug containing
ferrous sulphate and folic acid. Demonstrates multi-ingredient handling with
ICD-11 MMS substance codes populated from OCL Has-active-ingredient mappings.
Dose form coded using EDQM Standard Terms.
"""
Usage: #example
* code.coding[0].system = "https://dgda.gov.bd/drug-registry"
* code.coding[0].code = #353-0026-039--marvelous-fe
* code.coding[0].display = "Marvelous Fe"
* code.text = "Marvelous Fe"
* form.coding[0].system = "http://standardterms.edqm.eu"
* form.coding[0].code = #10219000
* form.coding[0].display = "Tablet"
// Ingredient 1: Ferrous Sulphate → ICD-11 XM substance code
* ingredient[0].itemCodeableConcept.coding[0].system = "http://id.who.int/icd/release/11/mms"
* ingredient[0].itemCodeableConcept.coding[0].code = #XM3SQ1
* ingredient[0].itemCodeableConcept.coding[0].display = "Ferrous sulphate"
* ingredient[0].itemCodeableConcept.text = "Ferrous sulphate"
* ingredient[0].isActive = true
// Ingredient 2: Folic Acid → ICD-11 XM substance code
* ingredient[1].itemCodeableConcept.coding[0].system = "http://id.who.int/icd/release/11/mms"
* ingredient[1].itemCodeableConcept.coding[0].code = #XM7R82
* ingredient[1].itemCodeableConcept.coding[0].display = "Folic acid"
* ingredient[1].itemCodeableConcept.text = "Folic acid"
* ingredient[1].isActive = true

View File

@@ -0,0 +1,41 @@
Instance: BDMedicationRequestExample
InstanceOf: BDMedicationRequest
Title: "Medication Request Example — Marvelous Fe Prescription"
Description: """
Example BDMedicationRequest instance prescribing Marvelous Fe. Demonstrates
the full prescription chain: BDMedicationRequest → BDMedication → DGDA code
→ ICD-11 substance ingredients. Route of administration coded using HL7 v3
RouteOfAdministration.
"""
Usage: #example
* identifier[0].system = "https://fhir.dghs.gov.bd/identifier/prescription"
* identifier[0].value = "RX-2024-BD-000001"
* status = #active
* intent = #order
* medicationReference = Reference(BDMedicationExample)
* subject = Reference(BDPatientExample)
* subject.display = "Example Patient"
* encounter = Reference(BDEncounterExample)
* encounter.display = "Example Outpatient Encounter"
* authoredOn = "2024-11-01T10:30:00+06:00"
* requester = Reference(BDPractitionerExample)
* requester.display = "Example Practitioner"
* dosageInstruction[0].text = "Take 1 tablet daily after meals"
* dosageInstruction[0].timing.repeat.frequency = 1
* dosageInstruction[0].timing.repeat.period = 1
* dosageInstruction[0].timing.repeat.periodUnit = #d
* dosageInstruction[0].route.coding[0].system = "http://terminology.hl7.org/CodeSystem/v3-RouteOfAdministration"
* dosageInstruction[0].route.coding[0].code = #PO
* dosageInstruction[0].route.coding[0].display = "Swallow, oral"
* dosageInstruction[0].doseAndRate[0].doseQuantity.value = 1
* dosageInstruction[0].doseAndRate[0].doseQuantity.unit = "tablet"
* dosageInstruction[0].doseAndRate[0].doseQuantity.system = "http://unitsofmeasure.org"
* dosageInstruction[0].doseAndRate[0].doseQuantity.code = #{tbl}

View File

@@ -0,0 +1,22 @@
Instance: BDOrganizationExample
InstanceOf: BDOrganization
Usage: #example
Title: "Dhaka Medical College Hospital"
Description: "Example for DMCH using the Facility Code 10000033"
// Strictly following 'identifier 1..* MS' from your profile
* identifier[0].value = "10000033"
* identifier[0].system = "http://hrm.dghs.gov.bd/facilities/code" // Using a generic DGHS system
* identifier[0].type = http://terminology.hl7.org/CodeSystem/v2-0203#FI "Facility ID"
* name = "Dhaka Medical College Hospital"
// Standard FHIR Address fields (No 'division' as a top-level field)
* address[0].line = "100 Ramna"
* address[0].city = "Dhaka"
* address[0].district = "Dhaka"
* address[0].country = "BD"
// To include Division without a 'does not exist' error, use the extension syntax:
* address[0].extension[0].url = "https://fhir.dghs.gov.bd/core/StructureDefinition/bd-division"
* address[0].extension[0].valueCodeableConcept = https://fhir.dghs.gov.bd/core/CodeSystem/bd-geocodes#30 "Dhaka"

View File

@@ -0,0 +1,37 @@
Instance: BDPatientExample
InstanceOf: BDPatient
Usage: #example
Title: "Example of a Bangladesh Patient"
Description: "A minimal example for a patient satisfying name translations and address requirements."
// Required Name with English and Bangla Translations using separate extensions
* name[0].use = #official
* name[0].text = "Abul Kashem"
* name[0].text.extension[nameEn].valueString = "Abul Kashem"
* name[0].text.extension[nameBn].valueString = "আবুল কাশেম"
// Required Gender and BirthDate
* gender = #male
* birthDate = "1985-05-20"
// Identifier Slice: NID Example
* identifier[NID].type.coding.system = "https://fhir.dghs.gov.bd/core/CodeSystem/bd-identifier-type"
* identifier[NID].type.coding.code = #NID
* identifier[NID].type.text = "Organization identifier"
* identifier[NID].value = "1234567890"
// Address with required extensions
* address[0].use = #home
* address[0].line = "House 12, Road 5"
* address[0].city = "Dhamrai"
* address[0].district = "3026"
* address[0].country = "BD"
// Division extension
* address[0].extension[division].valueCodeableConcept = https://fhir.dghs.gov.bd/core/CodeSystem/bd-geocodes#30 "Dhaka"
// Upazilla extension
* address[0].extension[upazilla].valueCodeableConcept = https://fhir.dghs.gov.bd/core/CodeSystem/bd-geocodes#10040028 "Barguna Sadar"
// Optional Religion Extension
* extension[religion].valueCodeableConcept = https://fhir.dghs.gov.bd/core/CodeSystem/bd-religions#1 "Islam"

View File

@@ -0,0 +1,25 @@
Instance: BDPractitionerExample
InstanceOf: BDPractitioner
Usage: #example
Title: "Example of a Bangladesh Practitioner"
Description: "A licensed physician example for the Bangladesh HIE."
// Required Identifier (1..* MS)
// Using BMDC (Bangladesh Medical & Dental Council) registration number
* identifier[0].system = "https://fhir.dghs.gov.bd/core/identifier/bmdc-registration"
* identifier[0].value = "A-12345"
* identifier[0].type = http://terminology.hl7.org/CodeSystem/v2-0203#MD "Medical License number"
// Recommended Name
* name[0].use = #official
* name[0].family = "Ahmed"
* name[0].given[0] = "Tanvir"
* name[0].prefix[0] = "Dr."
// Contact Information
* telecom[0].system = #phone
* telecom[0].value = "+8801712345678"
* telecom[0].use = #work
// Gender (Commonly used in health records)
* gender = #male

View File

@@ -0,0 +1,6 @@
Extension: BDNameBn
Id: bd-name-bn
Title: "Bangla Name"
Description: "Bangla translation of the patient name"
Context: HumanName.text
* value[x] only string

View File

@@ -0,0 +1,6 @@
Extension: BDNameEn
Id: bd-name-en
Title: "English Name"
Description: "English translation of the patient name"
Context: HumanName.text
* value[x] only string

View File

@@ -6,5 +6,5 @@ Description: "BD Division"
Context: Address
* value[x] only string
* value[x] from BDDivisionsVS
* value[x] only CodeableConcept
* valueCodeableConcept from BDDivisionsVS (required)

View File

@@ -6,5 +6,5 @@ Description: "BD Upazilla"
Context: Address
* value[x] only string
* value[x] from BDUpazillasVS
* value[x] only CodeableConcept
* valueCodeableConcept from BDUpazillasVS (required)

View File

@@ -23,7 +23,7 @@ Linearization URIs are not used as code identifiers in this IG.
National terminology resolver (OCL):
https://tr.ocl.dghs.gov.bd
Supported OCL operations (use `system=` parameter, not `url=`):
Supported OCL operations (use system= parameter, not url=):
- $validate-code: https://tr.ocl.dghs.gov.bd/api/fhir/CodeSystem/$validate-code
?system=http://id.who.int/icd/release/11/mms&code={code}
- $lookup: https://tr.ocl.dghs.gov.bd/api/fhir/CodeSystem/$lookup

View File

@@ -16,7 +16,7 @@ Guide (BD-Core-FHIR-IG) published by DGHS/MoHFW.
"""
* code 1..1 MS
* code from bd-condition-icd11-diagnosis-valueset (preferred)
* code from bd-condition-icd11-diagnosis-valueset (required)
* code ^comment = """
Condition.code SHALL contain at least one coding conforming to the
coding[stem] slice with system = http://id.who.int/icd/release/11/mms.

View File

@@ -1,5 +1,5 @@
Profile: BDEncounterProfile
Profile: BDEncounter
Id: bd-encounter
Parent: Encounter
Title: "Encounter Profile for Bangladesh"

View File

@@ -35,11 +35,11 @@ Description: "Bangladesh Immunization Profile"
* patient 1..1
* patient ^definition = "The patient receiving the vaccine"
* patient only Reference(BDPatientProfile)
* patient only Reference(BDPatient)
* encounter 1..1
* encounter ^definition = "Encounter during which vaccine was administered"
* encounter only Reference(BDEncounterProfile)
* encounter only Reference(BDEncounter)
* occurrence[x] 1..1

View File

@@ -0,0 +1,77 @@
Profile: BDLabPanelObservationProfile
Id: bd-lab-panel-observation
Parent: bd-observation
Title: "Bangladesh Laboratory Panel Observation"
Description: """
Profile for laboratory panel (order-level) Observations in Bangladesh.
Represents an ordered laboratory test panel (e.g. CBC, LFT, RFT) as the
parent Observation in a hasMember hierarchy.
Usage:
- Observation.code is the panel/order code (from BD LOINC Lab Panels ValueSet)
- Observation.hasMember references individual result Observations
(bd-lab-result-observation) for each component
- Observation.value[x] is prohibited — panels do not carry a direct result value
- Observation.category is fixed to 'laboratory'
FHIR hasMember pattern:
DiagnosticReport.result --> bd-lab-panel-observation
└── hasMember --> bd-lab-result-observation (x N)
"""
* ^url = "https://fhir.dghs.gov.bd/core/StructureDefinition/bd-lab-panel-observation"
* ^version = "0.1.0"
* ^status = #draft
// ── Identifier ────────────────────────────────────────────────────────────
// Lab panels must carry an identifier (accession number or order ID).
* identifier 1..* MS
* identifier.value 1..1
// ── Category ──────────────────────────────────────────────────────────────
// Fixed to 'laboratory' for all lab panel observations.
* category = http://terminology.hl7.org/CodeSystem/observation-category#laboratory
* category ^definition = "Fixed to 'laboratory' for laboratory panel observations"
// ── Code ──────────────────────────────────────────────────────────────────
// Bound to BD LOINC Lab Panels ValueSet — orderable panel codes only.
* code 1..1 MS
* code from https://fhir.dghs.gov.bd/core/ValueSet/loinc-lab-panels (extensible)
* code ^definition = "LOINC panel/order code for this laboratory panel"
* code ^comment = "E.g. 58410-2 CBC panel, 24323-8 Comprehensive metabolic panel"
// ── Status ────────────────────────────────────────────────────────────────
// Restrict to statuses relevant to lab reporting.
* status from http://hl7.org/fhir/ValueSet/observation-status (required)
// ── Effective ─────────────────────────────────────────────────────────────
// When the panel was performed — required for lab context.
* effective[x] 1..1 MS
* effective[x] only dateTime or Period
* effectiveDateTime ^definition = "Date/time the laboratory panel was performed"
// ── Value[x] ──────────────────────────────────────────────────────────────
// Panels do not carry a direct result value — results are in hasMember children.
* value[x] 0..0
// ── hasMember ─────────────────────────────────────────────────────────────
// Must reference at least one component result Observation.
// Typed to bd-lab-result-observation.
* hasMember 1..* MS
* hasMember only Reference(BDLabResultObservationProfile)
* hasMember ^definition = "References to individual component result Observations for this panel"
* hasMember ^comment = "Each hasMember entry is a bd-lab-result-observation"
// ── derivedFrom ───────────────────────────────────────────────────────────
// Panels are not derived from other observations — prohibited at this level.
* derivedFrom 0..0
// ── Specimen ──────────────────────────────────────────────────────────────
// SHOULD be present for laboratory panels per IPS alignment.
* specimen 0..1 MS
* specimen ^definition = "Specimen collected for this laboratory panel"
* specimen ^comment = "Should be present when specimen information is available"
// ── Note ──────────────────────────────────────────────────────────────────
* note 0..* MS
* note ^definition = "Comments about the laboratory panel"

View File

@@ -0,0 +1,122 @@
Profile: BDLabReportProfile
Id: bd-lab-report
Parent: DiagnosticReport
Title: "Bangladesh Laboratory Report"
Description: """
Profile for laboratory DiagnosticReport in Bangladesh, aligned with IPS
(International Patient Summary) DiagnosticReport pattern.
Usage:
- Represents a complete laboratory report for a patient encounter
- DiagnosticReport.result references panel-level Observations
(bd-lab-panel-observation) or standalone result Observations
(bd-lab-result-observation) where no panel grouping exists
- DiagnosticReport.code is fixed to LOINC 11502-2 (Laboratory report)
- specimen is SHOULD (MS, 0..*)
Report structure:
bd-lab-report (DiagnosticReport)
├── result --> bd-lab-panel-observation
│ └── hasMember --> bd-lab-result-observation (x N)
└── result --> bd-lab-result-observation (standalone, no panel)
"""
* ^url = "https://fhir.dghs.gov.bd/core/StructureDefinition/bd-lab-report"
* ^version = "0.1.0"
* ^status = #draft
// ── Identifier ────────────────────────────────────────────────────────────
// Lab reports must carry an accession number or report ID.
* identifier 1..* MS
* identifier.value 1..1
// ── Status ────────────────────────────────────────────────────────────────
* status 1..1
* status from http://hl7.org/fhir/ValueSet/diagnostic-report-status (required)
* status ^definition = "Status of the laboratory report"
* status ^comment = "E.g. registered, partial, preliminary, final, amended, corrected"
// ── Category ──────────────────────────────────────────────────────────────
// Fixed to LAB (laboratory) category.
* category 1..* MS
* category = http://terminology.hl7.org/CodeSystem/v2-0074#LAB "Laboratory"
* category ^definition = "Fixed to 'LAB' for laboratory diagnostic reports"
// ── Code ──────────────────────────────────────────────────────────────────
// Fixed to LOINC 11502-2 (Laboratory report) — IPS-aligned.
* code 1..1 MS
* code = http://loinc.org#11502-2 "Laboratory report"
* code ^definition = "Fixed to LOINC 11502-2 — Laboratory report"
// ── Subject ───────────────────────────────────────────────────────────────
* subject 1..1 MS
* subject only Reference(Patient)
* subject.reference 1..1 MS
* subject.display 1..1 MS
* subject ^definition = "Reference to the Patient this report is about"
// ── Encounter ─────────────────────────────────────────────────────────────
* encounter 1..1 MS
* encounter.reference 1..1 MS
* encounter ^definition = "Reference to the Encounter during which this report was ordered"
// ── Effective ─────────────────────────────────────────────────────────────
// When the report was clinically relevant — required for lab context.
* effective[x] 1..1 MS
* effective[x] only dateTime or Period
* effectiveDateTime ^definition = "Date/time the specimen was collected or the report period"
// ── Issued ────────────────────────────────────────────────────────────────
// Date/time the report was released — required for lab reports.
* issued 1..1 MS
* issued ^definition = "Date/time the report was issued by the laboratory"
// ── Performer ─────────────────────────────────────────────────────────────
// Who performed the laboratory test (laboratory organization or practitioner).
// Kept flexible — may be Organization, Practitioner, or PractitionerRole.
* performer 1..* MS
* performer ^definition = "Laboratory or practitioner who performed the test"
* performer ^comment = "Typically the laboratory Organization. May also include the responsible Practitioner."
// ── Results Interpreter ───────────────────────────────────────────────────
// Who interpreted the results (clinician, pathologist).
// Optional but MustSupport — include when a formal interpretation was made.
* resultsInterpreter 0..* MS
* resultsInterpreter ^definition = "Clinician or pathologist who interpreted the laboratory results"
* resultsInterpreter ^comment = "Include when a formal interpretation or authorisation was made by a named clinician."
// ── Specimen ──────────────────────────────────────────────────────────────
// SHOULD be present per IPS alignment — MustSupport, optional cardinality.
* specimen 0..* MS
* specimen ^definition = "Specimen(s) used for this laboratory report"
* specimen ^comment = "Should be present when specimen information is available. IPS alignment: SHOULD."
// ── Result ────────────────────────────────────────────────────────────────
// References panel-level Observations or standalone result Observations.
// At least one result is required for a meaningful report.
* result 1..* MS
* result only Reference(BDLabPanelObservationProfile or BDLabResultObservationProfile)
* result ^definition = "References to Observation resources that are part of this report"
* result ^comment = """
Use BDLabPanelObservationProfile for ordered panels (CBC, LFT, RFT, etc.)
where individual results are grouped under a panel using hasMember.
Use BDLabResultObservationProfile directly for standalone results
that are not part of a named panel.
"""
// ── Conclusion ────────────────────────────────────────────────────────────
// Free-text clinical interpretation of the overall report.
* conclusion 0..1 MS
* conclusion ^definition = "Clinical interpretation or summary of the laboratory report"
// ── Conclusion Code ───────────────────────────────────────────────────────
// Coded clinical finding — may reference ICD-11 diagnosis codes.
* conclusionCode 0..* MS
* conclusionCode ^definition = "Coded representation of the clinical conclusion"
* conclusionCode ^comment = "May use ICD-11 MMS codes consistent with bd-condition-icd11-diagnosis-valueset"
// ── Presented Form ────────────────────────────────────────────────────────
// Attach the original PDF or HL7 CDA report if available.
* presentedForm 0..* MS
* presentedForm ^definition = "Entire report as issued — e.g. PDF attachment"
* presentedForm ^comment = "Include the original report document when available"

View File

@@ -0,0 +1,104 @@
Profile: BDLabResultObservationProfile
Id: bd-lab-result-observation
Parent: bd-observation
Title: "Bangladesh Laboratory Result Observation"
Description: """
Profile for individual laboratory result (component-level) Observations
in Bangladesh. Represents a single test result within a laboratory panel
(e.g. Haemoglobin within a CBC panel).
Usage:
- Observation.code is the result/component code (from BD LOINC Lab Results ValueSet)
- Observation.value[x] is required — every leaf result must carry a value
- Observation.hasMember is prohibited — leaf results cannot group further
- Observation.derivedFrom references the parent panel Observation
- Observation.category is fixed to 'laboratory'
FHIR hasMember pattern:
bd-lab-panel-observation
└── hasMember --> bd-lab-result-observation (this profile)
Coded results (Ord/Nom scale):
Use valueCodeableConcept with codes from BD LOINC Answer Lists ValueSet.
"""
* ^url = "https://fhir.dghs.gov.bd/core/StructureDefinition/bd-lab-result-observation"
* ^version = "0.1.0"
* ^status = #draft
// ── Identifier ────────────────────────────────────────────────────────────
// Result observations carry the accession number or result ID.
* identifier 1..* MS
* identifier.value 1..1
// ── Category ──────────────────────────────────────────────────────────────
// Fixed to 'laboratory' for all lab result observations.
* category = http://terminology.hl7.org/CodeSystem/observation-category#laboratory
* category ^definition = "Fixed to 'laboratory' for laboratory result observations"
// ── Code ──────────────────────────────────────────────────────────────────
// Bound to BD LOINC Lab Results ValueSet — leaf result codes only.
* code 1..1 MS
* code from https://fhir.dghs.gov.bd/core/ValueSet/loinc-lab-results (extensible)
* code ^definition = "LOINC result/component code for this individual laboratory result"
* code ^comment = "E.g. 718-7 Hemoglobin, 2160-0 Creatinine"
// ── Status ────────────────────────────────────────────────────────────────
* status from http://hl7.org/fhir/ValueSet/observation-status (required)
// ── Effective ─────────────────────────────────────────────────────────────
* effective[x] 1..1 MS
* effective[x] only dateTime or Period
* effectiveDateTime ^definition = "Date/time the result was obtained"
// ── Value[x] ──────────────────────────────────────────────────────────────
// Required — every leaf result must carry a value.
* value[x] 1..1 MS
* value[x] only Quantity or CodeableConcept
* value[x] ^definition = "The actual result value for this laboratory test"
// Numeric results (Qn scale) — UCUM units required
* valueQuantity MS
* valueQuantity.value 1..1
* valueQuantity.unit 1..1
* valueQuantity.system 1..1
* valueQuantity.system = "http://unitsofmeasure.org"
* valueQuantity.code 1..1
* valueQuantity ^comment = "Use for quantitative (Qn scale) results. Units must be UCUM."
// Coded results (Ord/Nom scale) — bound to LOINC Answer Lists
* valueCodeableConcept MS
* valueCodeableConcept from https://fhir.dghs.gov.bd/core/ValueSet/loinc-answer-lists (extensible)
* valueCodeableConcept ^comment = "Use for ordinal or nominal (Ord/Nom scale) results."
// ── hasMember ─────────────────────────────────────────────────────────────
// Leaf results cannot group further observations.
* hasMember 0..0
// ── derivedFrom ───────────────────────────────────────────────────────────
// References the parent panel Observation.
* derivedFrom 0..* MS
* derivedFrom only Reference(BDLabPanelObservationProfile)
* derivedFrom ^definition = "Reference to the parent panel Observation this result belongs to"
// ── Interpretation ────────────────────────────────────────────────────────
// Strongly recommended for lab results — High, Low, Normal, etc.
* interpretation 0..* MS
* interpretation from http://hl7.org/fhir/ValueSet/observation-interpretation (extensible)
* interpretation ^definition = "Clinical interpretation of the result value"
* interpretation ^comment = "E.g. H (High), L (Low), N (Normal), A (Abnormal)"
// ── Reference Range ───────────────────────────────────────────────────────
* referenceRange 0..* MS
* referenceRange ^definition = "Normal reference range for this result"
* referenceRange ^comment = "Should be present when reference ranges are known"
// ── Specimen ──────────────────────────────────────────────────────────────
// May reference the same specimen as the parent panel.
* specimen 0..1 MS
* specimen ^definition = "Specimen used for this result observation"
* specimen ^comment = "Should be consistent with the parent panel specimen"
// ── Note ──────────────────────────────────────────────────────────────────
* note 0..* MS
* note ^definition = "Comments about this individual result"

View File

@@ -1,17 +1,76 @@
// @Name: Profile
// @Description: Example of a profile of the Medication resource. This example includes a few of the most commonly used constraints and documentation features of FHIR profiles.
Profile: BDMedication
Id: bd-medication
Parent: Medication
Title: "Medication Profile for Bangladesh-V2"
Description: "Profile of Medication Bangladesh Standard V2"
Title: "Medication Profile for Bangladesh"
Description: """
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.
* form 1..1 MS
* form from BDMedicationDoseFormVS
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.
"""
* code 1..1 MS
* code from BDMedicationVS
* code from BDDGDADrugsVS (required)
* code ^short = "DGDA registered drug product code"
* code ^definition = """
The DGDA drug registry code identifying the finished pharmaceutical product.
Concept ID format: {DAR-number}--{trade-name-slug}
Example: 353-0026-039--marvelous-fe
"""
* code.text 1..1 MS
* code.text ^short = "Trade name of the drug product"
* code.text ^definition = """
The trade name of the drug product as registered with DGDA. Mandatory for
human readability in IPS documents and cross-border data exchange scenarios.
"""
* ingredient 1..* MS
* ingredient.strength 1..1 MS
* form 0..1 MS
* form from BDMedicationDoseFormVS (preferred)
* form ^short = "Pharmaceutical dose form — EDQM Standard Terms (optional)"
* form ^definition = """
The pharmaceutical dose form of the drug product. Optional in this profile
as dose form is carried as plain text in the DGDA drug concept and is
derivable via OCL lookup. When populated, EDQM Standard Terms codes served
from the national OCL terminology server should be used.
A DGDA dose form to EDQM mapping is planned for a future IG version.
"""
* ingredient MS
* ingredient ^short = "Active ingredient(s) of the drug product"
* ingredient ^definition = """
Active pharmaceutical ingredients of the drug product, coded using ICD-11 MMS
substance codes (XM-prefix). Populated automatically by clinical systems via
OCL Has-active-ingredient mappings. Combination drugs will carry multiple
ingredient entries. Unmatched ingredients may use text only without a coded value.
"""
* ingredient.item[x] only CodeableConcept
* ingredient.itemCodeableConcept 1..1 MS
* ingredient.itemCodeableConcept from BDICD11SubstancesVS (extensible)
* ingredient.itemCodeableConcept ^short = "ICD-11 substance code for the ingredient"
* ingredient.itemCodeableConcept ^definition = """
ICD-11 MMS substance code (XM-prefix) identifying the active ingredient.
Source value set: https://fhir.dghs.gov.bd/core/ValueSet/icd11-substances-valueset
served from the national OCL terminology server.
For ingredients not yet mapped to ICD-11 substances, use text only.
"""
* ingredient.strength 0..1
* ingredient.strength ^short = "Strength of the ingredient (optional)"
* ingredient.strength ^definition = """
Strength of the active ingredient. Optional in this profile as strength data
is maintained in the DGDA registry and accessible via OCL. May be populated
by dispensing systems for precision medication management.
"""

View File

@@ -1,24 +1,66 @@
// @Name: Profile
// @Description: Example of a profile of the MedicationRequest resource. This example includes a few of the most commonly used constraints and documentation features of FHIR profiles.
Profile: BDMedicationRequest
Id: bd-medication-request
Parent: MedicationRequest
Title: "Medication Request Profile for Bangladesh-V2"
Description: "Profile of MedicationRequest Bangladesh Standard V2"
Title: "Medication Request Profile for Bangladesh"
Description: """
Profile of the MedicationRequest resource for the Bangladesh National Health
Information Exchange (HIE). Prescriptions must reference a BDMedication
resource coded against the DGDA Drug Registry, ensuring all prescribed
medications are traceable to DGDA-registered drug products.
This profile constrains medication references to BDMedication only.
Inline medicationCodeableConcept is not permitted — all medication data
must be carried in a referenced BDMedication resource to support ingredient
coding for IPS and cross-border data exchange.
Route of administration is coded using HL7 v3 RouteOfAdministration served
via the national OCL terminology server.
"""
* identifier 1..* MS
* identifier ^short = "Prescription identifier"
* identifier ^definition = """
Business identifier for this prescription. At least one identifier is required
to support prescription tracking within the Bangladesh HIE.
"""
* identifier 1..*
* medication[x] 1..1 MS
* medication[x] only Reference(BDMedication) or CodeableConcept
* subject only Reference(BDPatientProfile)
* medication[x] only Reference(BDMedication)
* medication[x] ^short = "Reference to DGDA-registered medication"
* medication[x] ^definition = """
Reference to a BDMedication resource identifying the prescribed drug product.
The referenced BDMedication must carry a valid DGDA drug registry code.
Inline CodeableConcept is not permitted in this profile.
"""
* subject 1..1 MS
* subject only Reference(BDPatient)
* subject ^short = "Patient for whom the medication is prescribed"
* encounter 0..1 MS
* encounter only Reference(BDEncounterProfile)
* encounter ^definition = "The encounter during which this prescription was created."
* authoredOn 1..1
* requester 1..1
* encounter only Reference(BDEncounter)
* encounter ^short = "Encounter during which this prescription was created"
* encounter ^definition = """
The encounter during which this prescription was created. Should be populated
for inpatient and outpatient prescriptions where an encounter record exists.
"""
* reportedReference only Reference(BDPractitioner or BDOrganization or BDPatientProfile)
* authoredOn 1..1 MS
* authoredOn ^short = "Date and time the prescription was authored"
* requester 1..1 MS
* requester only Reference(BDPractitioner or BDOrganization)
* requester ^short = "Practitioner or organisation that authored the prescription"
* reportedReference only Reference(BDPractitioner or BDOrganization or BDPatient)
* priorPrescription only Reference(BDMedicationRequest)
* priorPrescription ^short = "Reference to a prior prescription this replaces"
* basedOn only Reference(BDMedicationRequest or ServiceRequest or CarePlan or ImmunizationRecommendation)
* basedOn ^short = "Plan or request this prescription is based on"
* dosageInstruction 0..* MS
* dosageInstruction.route MS
* dosageInstruction.route from BDRouteOfAdministrationVS (required)
* dosageInstruction.route ^short = "Route of administration coded using HL7 v3 RouteOfAdministration"

View File

@@ -2,51 +2,83 @@ Profile: BDObservationProfile
Id: bd-observation
Parent: Observation
Title: "Bangladesh Observation Profile"
Description: "Bangladesh Observation Profile"
* ^url = "https://fhir.dghs.gov.bd/core/StructureDefinition/bd-observation"
* ^version = "1.0.0"
* ^status = #active
Description: """
Base observation profile for Bangladesh. This is an abstract-style base profile
from which all BD-Core observation profiles are derived. It is not intended to
be used directly in clinical resources — use a derived profile instead.
* identifier 1..* MS
Derived profiles (v0.4.0):
- bd-lab-panel-observation : Laboratory panel/order (hasMember pattern)
- bd-lab-result-observation : Laboratory leaf result (child of hasMember)
Planned derived profiles (v0.5.0+):
- bd-vital-signs-observation
- bd-exam-observation
"""
* ^url = "https://fhir.dghs.gov.bd/core/StructureDefinition/bd-observation"
* ^version = "2.0.0"
* ^status = #draft
// ── Identifier ────────────────────────────────────────────────────────────
// 0..* at base — not all observation types carry identifiers.
// Child profiles (e.g. lab results) constrain to 1..*.
* identifier 0..* MS
* identifier.value 1..1
// ── Status ────────────────────────────────────────────────────────────────
* status 1..1
* partOf 0..*
// ── Category ──────────────────────────────────────────────────────────────
// Preferred binding at base — child profiles fix to specific category codes
// (e.g. laboratory, vital-signs). Required binding here would block child
// profiles from narrowing to a fixed category slice.
* category 1..* MS
* category from http://hl7.org/fhir/ValueSet/observation-category (required)
* category ^definition = "Type of category"
* category ^comment = "E.g. vital, physical examination"
* category from http://hl7.org/fhir/ValueSet/observation-category (preferred)
* category ^definition = "Type of observation category"
* category ^comment = "E.g. laboratory, vital-signs, exam. Child profiles fix this to a specific value."
// ── Code ──────────────────────────────────────────────────────────────────
// Extensible binding at base — child profiles bind to narrower ValueSets
// (e.g. BD LOINC lab panels, BD LOINC lab results). Required binding here
// would prevent child profiles from using a subset binding.
* code 1..1 MS
* code from http://hl7.org/fhir/ValueSet/observation-codes (required)
* code ^definition = "Type of test/measurement"
* code ^comment = "E.g., Hb, RBS, CBC"
* code from http://hl7.org/fhir/ValueSet/observation-codes (extensible)
* code ^definition = "Type of observation / test / measurement"
* code ^comment = "E.g. Hb, RBS, CBC. Child profiles bind to specific ValueSets."
// Subject: Reference to Patient Profile (Required)
// ── Subject ───────────────────────────────────────────────────────────────
* subject 1..1 MS
* subject only Reference(Patient)
* subject.reference 1..1 MS
* subject.display 1..1 MS
* subject.identifier 0..1
* subject ^definition = "Reference to Patient Profile"
* subject ^definition = "Reference to the Patient this observation is about"
* subject ^comment = "EX: http://mci.mcishr.dghs.gov.bd/api/v1/patients/98002412586"
// ── Encounter ─────────────────────────────────────────────────────────────
* encounter 1..1 MS
* encounter.reference 1..1 MS
* encounter ^definition = "Reference to Patient Profile"
* encounter ^comment = "EX: uuid:34c38499-58ab-41e0-8e94-c3931491ad0e - bundle encounter uuid from local"
* encounter ^definition = "Reference to the Encounter during which this observation was made"
* encounter ^comment = "EX: uuid:34c38499-58ab-41e0-8e94-c3931491ad0e"
// ── Performer ─────────────────────────────────────────────────────────────
* performer 1..*
* performer.reference 1..1
// Value[x]: Result value (Optional, but constrained)
// ── Part Of ───────────────────────────────────────────────────────────────
* partOf 0..*
// ── Value[x] ──────────────────────────────────────────────────────────────
// 0..1 at base — child profiles constrain presence and type.
// Panel observations set value[x] to 0..0.
// Result observations set value[x] to 1..1.
* value[x] 0..1
* value[x] ^definition = "Result value (Quantity, string, code, boolean, etc.)"
* valueQuantity 0..1
* valueQuantity ^comment = "If numeric, must include UCUM unit"
* valueQuantity.system 0..1
* valueQuantity.system = "http://unitsofmeasure.org"
* valueQuantity.code 0..1
* valueString 0..1
* valueCodeableConcept 0..1
@@ -59,26 +91,43 @@ Description: "Bangladesh Observation Profile"
* valueDateTime 0..1
* valuePeriod 0..1
// ── Interpretation ────────────────────────────────────────────────────────
// Extensible at base — required was too strict for general observation use.
* interpretation 0..*
* interpretation from http://hl7.org/fhir/ValueSet/observation-interpretation (required)
* interpretation ^definition = "Type of test/measurement"
* interpretation ^comment = "E.g.: High, low, normal, etc"
* interpretation from http://hl7.org/fhir/ValueSet/observation-interpretation (extensible)
* interpretation ^definition = "Assessment of the observation result"
* interpretation ^comment = "E.g. High, Low, Normal"
// ── Method ────────────────────────────────────────────────────────────────
// Extensible at base — required was too strict for general observation use.
* method 0..1
* method from http://hl7.org/fhir/ValueSet/observation-methods (required)
* method from http://hl7.org/fhir/ValueSet/observation-methods (extensible)
* method ^definition = "Type of observation method"
* method ^comment = "E.g.: Technique, Total measurement"
* method ^comment = "E.g. Technique, Total measurement"
// Issued: Date/time result was issued (Optional)
// ── Issued ────────────────────────────────────────────────────────────────
* issued 0..1
* issued ^definition = "Date/time result was issued"
* issued ^definition = "Date/time the result was issued"
// Reference Range: Normal reference range (Optional)
// ── Reference Range ───────────────────────────────────────────────────────
* referenceRange 0..*
* referenceRange ^definition = "Normal reference range"
* referenceRange ^comment = "Optional"
* referenceRange ^definition = "Normal reference range for the observation"
// Specimen: Specimen used for the observation (Optional)
* specimen 0..1
* specimen ^definition = "Specimen used for the observation"
* specimen ^comment = "Optional"
// ── Specimen ──────────────────────────────────────────────────────────────
// MustSupport at base — relevant for lab, pathology, and future imaging.
* specimen 0..1 MS
* specimen ^definition = "Specimen used for this observation"
// ── hasMember ─────────────────────────────────────────────────────────────
// Defined at base to support the panel/component pattern.
// bd-lab-panel-observation constrains this to 1..* typed references.
// bd-lab-result-observation constrains this to 0..0.
* hasMember 0..* MS
* hasMember ^definition = "References to component result Observations that belong to this panel"
* hasMember ^comment = "Used in panel-type Observations. Leaf result Observations must not use hasMember."
// ── derivedFrom ───────────────────────────────────────────────────────────
// Defined at base to support child results referencing their parent panel.
* derivedFrom 0..* MS
* derivedFrom ^definition = "References to the panel Observation from which this result is derived"
* derivedFrom ^comment = "Used in leaf result Observations to reference their parent panel."

View File

@@ -1,7 +1,7 @@
Alias: $translation = http://hl7.org/fhir/StructureDefinition/translation
// @Name: Profile
// @Description: Example of a profile of the Patient resource. This example includes a few of the most commonly used constraints and documentation features of FHIR profiles.
Profile: BDPatientProfile
Profile: BDPatient
Id: bd-patient
Parent: Patient
Title: "Patient Profile for Bangladesh"
@@ -13,27 +13,13 @@ Patient profile for Bangladesh.
"""
// ----- Begin rules:
// Require exactly one HumanName
* name 1..1 MS
* name.use 1..1
* name.use = #official (exactly)
// Require a text element
* name.text 1..1 MS
// Require translation extensions on text
* name.text.extension 2..* MS
* name.text.extension contains
$translation named nameEn 1..1 MS and
$translation named nameBn 1..1 MS
// Constraints on English name
* name.text.extension[nameEn].extension[lang].valueCode = #en (exactly)
* name.text.extension[nameEn].extension[content] 1..1 MS
// Constraints on Bangla name
* name.text.extension[nameBn].extension[lang].valueCode = #bn (exactly)
* name.text.extension[nameBn].extension[content] 1..1 MS
BDNameEn named nameEn 1..1 MS and
BDNameBn named nameBn 1..1 MS
//////////////////////
@@ -51,7 +37,7 @@ Patient profile for Bangladesh.
* identifier[NID].system = "http://dghs.gov.bd/identifier/nid"
* identifier[NID].type.coding.code = #NID
// * identifier[NID].type.coding.system = "http://terminology.hl7.org/CodeSystem/v2-0203"
* identifier[NID].type.coding.system = "https://fhir.dghs.gov.bd/core/ValueSet/bd-identifier-type-valueset"
* identifier[NID].type.coding.system = "https://fhir.dghs.gov.bd/core/CodeSystem/bd-identifier-type"
* identifier[NID].type from BangladeshIdentifierTypeVS (extensible)
* identifier[NID].type.text = "Organization identifier"
// * identifier[NID].value = "Personal identifier National ID"
@@ -61,7 +47,7 @@ Patient profile for Bangladesh.
* identifier[BRN].system = "http://dghs.gov.bd/identifier/brn"
* identifier[BRN].type.coding.code = #BRN
* identifier[BRN].type.coding.system = "https://fhir.dghs.gov.bd/core/ValueSet/bd-identifier-type-valueset"
* identifier[BRN].type.coding.system = "https://fhir.dghs.gov.bd/core/CodeSystem/bd-identifier-type"
* identifier[BRN].type from BangladeshIdentifierTypeVS (extensible)
* identifier[BRN].type.text = "Organization identifier"
// * identifier[BRN].value = "Personal identifier Birth Registration"
@@ -69,7 +55,7 @@ Patient profile for Bangladesh.
* identifier[UHID].system = "http://dghs.gov.bd/identifier/uhid"
* identifier[UHID].type.coding.code = #UHID
* identifier[UHID].type.coding.system = "https://fhir.dghs.gov.bd/core/ValueSet/bd-identifier-type-valueset"
* identifier[UHID].type.coding.system = "https://fhir.dghs.gov.bd/core/CodeSystem/bd-identifier-type"
* identifier[UHID].type from BangladeshIdentifierTypeVS (extensible)
* identifier[UHID].type.text = "Organization identifier"

View File

@@ -10,8 +10,10 @@ Description: "Address for Bangladesh Standard"
* country 1..1 MS
* extension contains Division named division 1..1 MS
* extension[division] ^short = "Division code"
* district 1..1 MS
* district from BDDistrictsVS
* extension contains Upazillas named upazilla 1..1 MS
* extension[upazilla] ^short = "Upazilla code"

View File

@@ -0,0 +1,34 @@
ValueSet: BDDGDADrugsVS
Id: dgda-registered-drugs
Title: "DGDA Registered Drugs Value Set"
Description: """
Value set containing all registered drug products from the Drug Registration
Authority (DGDA) of Bangladesh. This value set includes 39,196 finished
pharmaceutical drug product concepts maintained in the national OCL terminology
server at https://tr.ocl.dghs.gov.bd.
This value set is the normative binding for BDMedication.code and represents
the only permitted drug coding vocabulary for medication resources in the
Bangladesh national health information exchange.
Validation is performed via $validate-code and $lookup against the national
OCL terminology server. $expand is not supported for this value set due to its
size.
Source collection: dgda-registered-drugs-valueset (MoHFW organisation, OCL)
OCL collection canonical: https://dgda.gov.bd/fhir/ValueSet/registered-drugs
OCL FHIR endpoint: https://tr.ocl.dghs.gov.bd/orgs/MoHFW/collections/dgda-registered-drugs-valueset/
"""
* ^url = "https://dgda.gov.bd/fhir/ValueSet/registered-drugs"
* ^version = "v1.0.0"
* ^status = #active
* ^experimental = false
* ^publisher = "Directorate General of Drug Administration (DGDA), Government of Bangladesh"
* ^contact.name = "DGHS Health Informatics Unit"
* ^contact.telecom.system = #url
* ^contact.telecom.value = "https://dghs.gov.bd"
* ^jurisdiction = urn:iso:std:iso:3166#BD "Bangladesh"
* ^immutable = false
* include codes from system https://dgda.gov.bd/drug-registry

View File

@@ -0,0 +1,32 @@
ValueSet: BDICD11SubstancesVS
Id: icd11-substances-valueset
Title: "ICD-11 Substances Value Set"
Description: """
Value set containing all ICD-11 MMS substance and medicament concepts
(XM-prefix concept class: Substance) maintained in the national OCL
terminology server at https://tr.ocl.dghs.gov.bd.
This value set contains 7,776 substance concepts and is used for coding
active pharmaceutical ingredients in the BDMedication.ingredient element
to support IPS generation and cross-border data exchange.
This value set is defined and maintained in OCL. It is declared here as a
minimal stub to allow IG publisher binding resolution only.
**OCL collection canonical:** https://fhir.dghs.gov.bd/core/ValueSet/icd11-substances-valueset
**OCL FHIR endpoint:** https://tr.ocl.dghs.gov.bd/orgs/MoHFW/collections/icd11-substances-valueset/
"""
* ^url = "https://fhir.dghs.gov.bd/core/ValueSet/icd11-substances-valueset"
* ^version = "2025-01"
* ^status = #active
* ^experimental = false
* ^publisher = "World Health Organization (WHO) — served via DGHS National OCL"
* ^contact.name = "DGHS Health Informatics Unit"
* ^contact.telecom.system = #url
* ^contact.telecom.value = "https://dghs.gov.bd"
* ^jurisdiction = urn:iso:std:iso:3166#BD "Bangladesh"
* ^immutable = false
* include codes from system http://id.who.int/icd/release/11/mms
where concept-class = "Substance"

View File

@@ -0,0 +1,22 @@
ValueSet: BDLoincAnswerListsVS
Id: bd-loinc-answer-lists-valueset
Title: "Bangladesh LOINC Answer Lists ValueSet"
Description: "LOINC answer codes (LA-prefixed) and answer list groupers (LL-prefixed)
for Bangladesh laboratory results. Includes all answer codes referenced by in-scope
lab result codes from LOINC 2.82. Used as Observation.valueCodeableConcept in
bd-lab-result-observation for ordinal and nominal scale results."
* ^url = "https://fhir.dghs.gov.bd/core/ValueSet/bd-loinc-answer-lists-valueset"
* ^status = #draft
* ^experimental = true
* ^version = "0.1.0"
* ^publisher = "Directorate General of Health Services (DGHS), MoHFW, Bangladesh"
* ^contact.name = "DGHS Health Information Unit"
* ^contact.telecom.system = #url
* ^contact.telecom.value = "https://dghs.gov.bd"
* ^jurisdiction = urn:iso:std:iso:3166#BD "Bangladesh"
* ^copyright = "This content from LOINC® is copyright © 1995 Regenstrief Institute, Inc. and the LOINC Committee, and available at no cost under the license at http://loinc.org/terms-of-use."
* ^immutable = false
* include codes from system http://loinc.org
where concept in "https://fhir.dghs.gov.bd/core/ValueSet/loinc-answer-lists"

View File

@@ -0,0 +1,21 @@
ValueSet: BDLoincLabPanelsVS
Id: bd-loinc-lab-panels-valueset
Title: "Bangladesh LOINC Lab Panels ValueSet"
Description: "LOINC orderable laboratory panel codes for Bangladesh. Includes universal
lab order panel codes from LOINC 2.82 scoped to the Universal Lab Orders ValueSet.
Used as Observation.code in bd-lab-panel-observation."
* ^url = "https://fhir.dghs.gov.bd/core/ValueSet/bd-loinc-lab-panels-valueset"
* ^status = #draft
* ^experimental = true
* ^version = "0.1.0"
* ^publisher = "Directorate General of Health Services (DGHS), MoHFW, Bangladesh"
* ^contact.name = "DGHS Health Information Unit"
* ^contact.telecom.system = #url
* ^contact.telecom.value = "https://dghs.gov.bd"
* ^jurisdiction = urn:iso:std:iso:3166#BD "Bangladesh"
* ^copyright = "This content from LOINC® is copyright © 1995 Regenstrief Institute, Inc. and the LOINC Committee, and available at no cost under the license at http://loinc.org/terms-of-use."
* ^immutable = false
* include codes from system http://loinc.org
where concept in "https://fhir.dghs.gov.bd/core/ValueSet/loinc-lab-panels"

View File

@@ -0,0 +1,22 @@
ValueSet: BDLoincLabResultsVS
Id: bd-loinc-lab-results-valueset
Title: "Bangladesh LOINC Lab Results ValueSet"
Description: "LOINC leaf-level laboratory result codes for Bangladesh. Includes
individual component/result codes from LOINC 2.82 scoped to the Universal Lab Orders
ValueSet. Excludes discouraged and non-laboratory codes. Used as Observation.code
in bd-lab-result-observation."
* ^url = "https://fhir.dghs.gov.bd/core/ValueSet/bd-loinc-lab-results-valueset"
* ^status = #draft
* ^experimental = true
* ^version = "0.1.0"
* ^publisher = "Directorate General of Health Services (DGHS), MoHFW, Bangladesh"
* ^contact.name = "DGHS Health Information Unit"
* ^contact.telecom.system = #url
* ^contact.telecom.value = "https://dghs.gov.bd"
* ^jurisdiction = urn:iso:std:iso:3166#BD "Bangladesh"
* ^copyright = "This content from LOINC® is copyright © 1995 Regenstrief Institute, Inc. and the LOINC Committee, and available at no cost under the license at http://loinc.org/terms-of-use."
* ^immutable = false
* include codes from system http://loinc.org
where concept in "https://fhir.dghs.gov.bd/core/ValueSet/loinc-lab-results"

View File

@@ -0,0 +1,36 @@
ValueSet: BDMedicationDoseFormVS
Id: bd-medication-dose-form
Title: "Medication Dose Form Value Set"
Description: """
Value set containing pharmaceutical dose form concepts from the European
Directorate for the Quality of Medicines (EDQM) Standard Terms, domain:
Pharmaceutical Dose Forms (PDF).
This value set is used to code the physical form of a medication product
in BDMedication.form. EDQM Standard Terms are maintained and versioned
by the Council of Europe and are the WHO-recommended international standard
for pharmaceutical dose form coding.
Concepts are loaded into the national OCL terminology server at
https://tr.ocl.dghs.gov.bd under the MoHFW organisation as source EDQM-PDF.
**Binding:** preferred on BDMedication.form — systems should use EDQM
codes when populating dose form, but omission is permitted. A mapping from
DGDA plain text dose forms to EDQM codes is planned for a future IG version.
**Code system canonical:** https://standardterms.edqm.eu
**OCL source:** https://tr.ocl.dghs.gov.bd/#/orgs/MoHFW/sources/EDQM-PDF/
"""
* ^url = "https://fhir.dghs.gov.bd/core/ValueSet/edqm-dose-forms"
* ^version = "1.0.0"
* ^status = #active
* ^experimental = false
* ^publisher = "DGHS Health Informatics Unit"
* ^contact.name = "DGHS Health Informatics Unit"
* ^contact.telecom.system = #url
* ^contact.telecom.value = "https://dghs.gov.bd"
* ^jurisdiction = urn:iso:std:iso:3166#BD "Bangladesh"
* ^immutable = false
* include codes from system https://standardterms.edqm.eu

View File

@@ -0,0 +1,31 @@
ValueSet: BDRouteOfAdministrationVS
Id: bd-route-of-administration
Title: "Route of Administration Value Set"
Description: """
Value set containing route of administration concepts from the HL7 Version 3
RouteOfAdministration code system.
This value set is used to code the route by which a medication is administered
in MedicationRequest.dosageInstruction.route. HL7 v3 RouteOfAdministration
is a license-free, internationally recognised vocabulary already embedded in
the FHIR ecosystem.
Concepts are loaded into the national OCL terminology server at
https://tr.ocl.dghs.gov.bd under the MoHFW organisation.
**Code system canonical:** http://terminology.hl7.org/CodeSystem/v3-RouteOfAdministration
**Binding:** required on BDMedicationRequest.dosageInstruction.route
"""
* ^url = "https://fhir.dghs.gov.bd/core/ValueSet/bd-route-of-administration"
* ^version = "1.0.0"
* ^status = #active
* ^experimental = false
* ^publisher = "DGHS Health Informatics Unit"
* ^contact.name = "DGHS Health Informatics Unit"
* ^contact.telecom.system = #url
* ^contact.telecom.value = "https://dghs.gov.bd"
* ^jurisdiction = urn:iso:std:iso:3166#BD "Bangladesh"
* ^immutable = false
* include codes from system http://terminology.hl7.org/CodeSystem/v3-RouteOfAdministration

View File

@@ -11,7 +11,55 @@
"status": "ci-build",
"current": true
},
{
{
"version": "0.4.4",
"date": "2026-04-06",
"desc": "minor bug fixes",
"path": "https://fhir.dghs.gov.bd/core/0.4.4/",
"status": "trial-use",
"sequence": "STU 1"
},
{
"version": "0.4.3",
"date": "2026-04-06",
"desc": "minor bug fixes",
"path": "https://fhir.dghs.gov.bd/core/0.4.3/",
"status": "trial-use",
"sequence": "STU 1"
},
{
"version": "0.4.2",
"date": "2026-04-06",
"desc": "Patient profile minor bug fixes",
"path": "https://fhir.dghs.gov.bd/core/0.4.2/",
"status": "trial-use",
"sequence": "STU 1"
},
{
"version": "0.4.1",
"date": "2026-04-06",
"desc": "DGDA Drug and LOINC Integration with minor bug fixes",
"path": "https://fhir.dghs.gov.bd/core/0.4.1/",
"status": "trial-use",
"sequence": "STU 1"
},
{
"version": "0.4.0",
"date": "2026-04-06",
"desc": "DGDA Drug and LOINC Integration",
"path": "https://fhir.dghs.gov.bd/core/0.4.0/",
"status": "trial-use",
"sequence": "STU 1"
},
{
"version": "0.3.0",
"date": "2026-03-08",
"desc": "ICD-11 MMS integration and minor bug fixes",
"path": "https://fhir.dghs.gov.bd/core/0.3.0/",
"status": "trial-use",
"sequence": "STU 1"
},
{
"version": "0.2.5",
"date": "2025-10-06",
"desc": "Minor bug fix release",

View File

@@ -11,7 +11,55 @@
"status": "ci-build",
"current": true
},
{
{
"version": "0.4.4",
"date": "2026-04-06",
"desc": "minor bug fixes",
"path": "https://fhir.dghs.gov.bd/core/0.4.4/",
"status": "trial-use",
"sequence": "STU 1"
},
{
"version": "0.4.3",
"date": "2026-04-06",
"desc": "minor bug fixes",
"path": "https://fhir.dghs.gov.bd/core/0.4.3/",
"status": "trial-use",
"sequence": "STU 1"
},
{
"version": "0.4.2",
"date": "2026-04-06",
"desc": "Patient profile minor bug fixes",
"path": "https://fhir.dghs.gov.bd/core/0.4.2/",
"status": "trial-use",
"sequence": "STU 1"
},
{
"version": "0.4.1",
"date": "2026-04-06",
"desc": "DGDA Drug and LOINC Integration with minor bug fixes",
"path": "https://fhir.dghs.gov.bd/core/0.4.1/",
"status": "trial-use",
"sequence": "STU 1"
},
{
"version": "0.4.0",
"date": "2026-04-06",
"desc": "DGDA Drug and LOINC Integration",
"path": "https://fhir.dghs.gov.bd/core/0.4.0/",
"status": "trial-use",
"sequence": "STU 1"
},
{
"version": "0.3.0",
"date": "2026-03-08",
"desc": "ICD-11 MMS integration and minor bug fixes",
"path": "https://fhir.dghs.gov.bd/core/0.3.0/",
"status": "trial-use",
"sequence": "STU 1"
},
{
"version": "0.2.5",
"date": "2025-10-06",
"desc": "Minor bug fix release",