16 Commits

Author SHA1 Message Date
ffd56af45a #
All checks were successful
FHIR IG CI/CD Pipeline with Version Persistence / build-ig (push) Successful in 7m3s
FHIR IG CI/CD Pipeline with Version Persistence / deploy (push) Successful in 9s
2026-04-27 23:14:45 +06:00
74f3630a65 #
All checks were successful
FHIR IG CI/CD Pipeline with Version Persistence / build-ig (push) Successful in 10m27s
FHIR IG CI/CD Pipeline with Version Persistence / deploy (push) Successful in 9s
2026-04-27 09:55:09 +06:00
bef1991b51 #
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-27 09:51:47 +06:00
28941085dc #
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-27 09:48:12 +06:00
38dbf02cb2 #
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-27 09:20:22 +06:00
c602dbb933 #
All checks were successful
FHIR IG CI/CD Pipeline with Version Persistence / build-ig (push) Successful in 7m8s
FHIR IG CI/CD Pipeline with Version Persistence / deploy (push) Successful in 9s
2026-04-27 01:13:12 +06:00
c28beece04 #
All checks were successful
FHIR IG CI/CD Pipeline with Version Persistence / build-ig (push) Successful in 7m19s
FHIR IG CI/CD Pipeline with Version Persistence / deploy (push) Successful in 9s
2026-04-26 17:49:15 +06:00
f2b6436cc2 Prepare for v0.4.6
All checks were successful
FHIR IG CI/CD Pipeline with Version Persistence / build-ig (push) Successful in 7m30s
FHIR IG CI/CD Pipeline with Version Persistence / deploy (push) Successful in 9s
2026-04-26 16:15:49 +06:00
bc8779fc0e Prepare for v0.4.6
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 9s
2026-04-26 15:57:37 +06:00
9ad4f66f19 Prepare for v0.4.6
All checks were successful
FHIR IG CI/CD Pipeline with Version Persistence / build-ig (push) Successful in 7m15s
FHIR IG CI/CD Pipeline with Version Persistence / deploy (push) Successful in 11s
2026-04-26 15:46:52 +06:00
d5378088bb Prepare for v0.4.6
Some checks failed
FHIR IG CI/CD Pipeline with Version Persistence / build-ig (push) Failing after 1m11s
FHIR IG CI/CD Pipeline with Version Persistence / deploy (push) Has been skipped
2026-04-26 15:39:24 +06:00
b7440bcbef Prepare for v0.4.6
Some checks failed
FHIR IG CI/CD Pipeline with Version Persistence / build-ig (push) Failing after 1m15s
FHIR IG CI/CD Pipeline with Version Persistence / deploy (push) Has been skipped
2026-04-26 15:24:23 +06:00
77f95d38cc Fixed patient profile example 2026-04-25 17:17:29 +06:00
1e2d2de1ba Added sandbox link in index 2026-04-24 21:31:20 +06:00
29043e1adf # 2026-04-13 17:51:59 +06:00
ba09d541d4 Fixed workflow for qa comparison 2026-04-12 11:59:34 +06:00
13 changed files with 182 additions and 26 deletions

View File

@@ -364,7 +364,7 @@ jobs:
curl -fL "$URL" -o "$TMPDIR/package.tgz"
mkdir -p "previous-packages/bd.fhir.core#$PREV_VERSION"
tar -xzf "$TMPDIR/package.tgz" -C "previous-packages/bd.fhir.core#$PREV_VERSION"
tar -xzf "$TMPDIR/package.tgz" --strip-components=1 -C "previous-packages/bd.fhir.core#$PREV_VERSION"
echo "Previous package cached:"
ls previous-packages
@@ -372,26 +372,50 @@ jobs:
- name: Build FHIR IG
run: |
echo "Building FHIR IG version ${{ steps.version.outputs.version }}..."
PREV_VERSION=$(ls previous-packages/ 2>/dev/null | grep 'bd.fhir.core#' | sed 's/bd.fhir.core#//' | head -1)
echo "Injecting previous version into ig.ini: $PREV_VERSION"
if [ -n "$PREV_VERSION" ]; then
if grep -q "^previous-version" ig.ini; then
sed -i "s/^previous-version.*/previous-version = $PREV_VERSION/" ig.ini
else
# Ensure newline before appending
echo "" >> ig.ini
echo "previous-version = $PREV_VERSION" >> ig.ini
fi
fi
cat ig.ini
CONTAINER_ID=$(docker create \
-v $(pwd)/previous-packages:/previous-packages \
hl7fhir/ig-publisher-base:latest \
/bin/bash -c "
mkdir -p /tmp/build
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
mkdir -p /tmp/build
cp -r /home/publisher/ig /tmp/build/ig
# NEW: Install previous packages to cache
if [ -d /previous-packages ]; then
echo 'Installing previous versions to package cache...'
for pkg_dir in /previous-packages/bd.fhir.core#*; do
if [ -d \"\$pkg_dir\" ]; then
PKG_NAME=\$(basename \"\$pkg_dir\")
echo \" Installing \$PKG_NAME\"
cp -r \"\$pkg_dir\" /home/publisher/.fhir/packages/\$PKG_NAME
fi
done
echo 'Previous versions installed'
fi
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
_genonce.sh
")
_genonce.sh
")
echo "Container ID: $CONTAINER_ID"
docker cp "$(pwd)/." "$CONTAINER_ID:/home/publisher/ig/"
echo "Mounted FHIR packages:"
ls -R previous-packages || echo "No previous packages directory"

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.4.5"/>
<version value="0.4.6"/>
<name value="BangladeshCoreFHIRIG"/>
<title value="Bangladesh Core FHIR Implementation Guide"/>
<status value="active"/>

View File

@@ -0,0 +1,18 @@
//codeSystems/bd-regions.fsh
CodeSystem: BDMaritalStatusCS
Id: bd-marital-status
Title: "Bangladesh Marital Status"
* ^url = "https://fhir.dghs.gov.bd/core/CodeSystem/bd-marital-status"
* #1 "Unmarried" "Unmarried"
* #2 "Married" "Married"
* #3 "Widowed" "Widowed"
* #4 "Separated" "Separated"
* #5 "Divorced" "Divorced"
ValueSet: BDMaritalStatusVS
Id: bd-marital-status-valueset
Title: "Bangladesh Marital Status ValueSet"
Description: "Marital status value set according to CCDS guideline"
* ^url = "https://fhir.dghs.gov.bd/core/ValueSet/bd-marital-status-valueset"
* include codes from system https://fhir.dghs.gov.bd/core/CodeSystem/bd-marital-status

View File

@@ -1,7 +1,7 @@
Instance: BDOrganizationExample
InstanceOf: BDOrganization
Usage: #example
Title: "Dhaka Medical College Hospital"
Title: "Example of a Bangladesh Organization"
Description: "Example for DMCH using the Facility Code 10000033"
// Strictly following 'identifier 1..* MS' from your profile

View File

@@ -22,8 +22,6 @@ Description: "A minimal example for a patient satisfying name translations and a
// 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"
@@ -31,7 +29,7 @@ Description: "A minimal example for a patient satisfying name translations and a
* 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"
* address[0].extension[upazilla].valueCodeableConcept = https://fhir.dghs.gov.bd/core/CodeSystem/bd-geocodes#10040028 "Dhamrai"
// Optional Religion Extension
* extension[religion].valueCodeableConcept = https://fhir.dghs.gov.bd/core/CodeSystem/bd-religions#1 "Islam"

View File

@@ -36,7 +36,7 @@ FHIR hasMember pattern:
// ── 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 from https://fhir.dghs.gov.bd/core/ValueSet/loinc-lab-panels (required)
* code ^definition = "LOINC panel/order code for this laboratory panel"
* code ^comment = "E.g. 58410-2 CBC panel, 24323-8 Comprehensive metabolic panel"

View File

@@ -39,7 +39,7 @@ Coded results (Ord/Nom scale):
// ── 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 from https://fhir.dghs.gov.bd/core/ValueSet/loinc-lab-results (required)
* code ^definition = "LOINC result/component code for this individual laboratory result"
* code ^comment = "E.g. 718-7 Hemoglobin, 2160-0 Creatinine"
@@ -68,7 +68,7 @@ Coded results (Ord/Nom scale):
// 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 from https://fhir.dghs.gov.bd/core/ValueSet/loinc-answer-lists (required)
* valueCodeableConcept ^comment = "Use for ordinal or nominal (Ord/Nom scale) results."
// ── hasMember ─────────────────────────────────────────────────────────────

View File

@@ -43,7 +43,7 @@ Planned derived profiles (v0.5.0+):
// (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 (extensible)
* code from http://hl7.org/fhir/ValueSet/observation-codes (example)
* code ^definition = "Type of observation / test / measurement"
* code ^comment = "E.g. Hb, RBS, CBC. Child profiles bind to specific ValueSets."

View File

@@ -19,7 +19,7 @@ Patient profile for Bangladesh.
* name.text 1..1 MS
* name.text.extension contains
BDNameEn named nameEn 1..1 MS and
BDNameBn named nameBn 1..1 MS
BDNameBn named nameBn 0..1 MS
//////////////////////
@@ -32,7 +32,7 @@ Patient profile for Bangladesh.
* identifier contains
NID 0..1 and
BRN 0..1 and
UHID 0..1
UHID 1..1
* identifier[NID].system = "http://dghs.gov.bd/identifier/nid"
* identifier[NID].type.coding.code = #NID
@@ -75,7 +75,9 @@ Patient profile for Bangladesh.
// Require a value from a specific value set be used for an element
* maritalStatus from http://hl7.org/fhir/ValueSet/marital-status
// * maritalStatus from http://hl7.org/fhir/ValueSet/marital-status
* maritalStatus 0..1 MS
* maritalStatus from BDMaritalStatusVS
// Restrict something[x] to a specific type -- in this case only allowing dateTime to be used
* deceased[x] only dateTime
@@ -86,3 +88,19 @@ Patient profile for Bangladesh.
* address 1..* MS
* address only BDAddress
// ── Photo ─────────────────────────────────────────────────────────────────
// Optional patient photo — may be used for identity verification at point of care.
* photo 0..* MS
* photo ^definition = "Patient photo for identity verification"
* photo ^comment = "Attach a photo of the patient when available. Use image/jpeg or image/png."
// ── Link to RelatedPerson ─────────────────────────────────────────────────
// At least one RelatedPerson link is required — father, mother, or guardian.
// The referenced RelatedPerson must carry a BD identifier and a relationship.
* link 0..* MS
* link ^definition = "Link to a RelatedPerson resource representing father, mother, or guardian"
* link ^comment = "At least one RelatedPerson with BD identifier and relationship is required."
* link.other 1..1 MS
* link.other only Reference(BDRelatedPerson)
* link.type = #seealso (exactly)

View File

@@ -0,0 +1,55 @@
Profile: BDRelatedPerson
Id: bd-related-person
Parent: RelatedPerson
Title: "Related Person Profile for Bangladesh"
Description: """
Profile for RelatedPerson in Bangladesh.
Used to represent father, mother, or guardian of a patient.
- Identifier is mandatory and must use BD identifier systems (NID, BRN, UHID)
- Relationship is mandatory
- Name is mandatory
"""
* ^url = "https://fhir.dghs.gov.bd/core/StructureDefinition/bd-related-person"
// ── Identifier ────────────────────────────────────────────────────────────
// Mandatory BD identifier — NID, BRN, or UHID
* identifier 1..* MS
* identifier ^slicing.discriminator.type = #value
* identifier ^slicing.discriminator.path = "system"
* identifier ^slicing.rules = #open
* identifier ^slicing.ordered = false
* identifier contains
NID 0..1 and
BRN 0..1 and
UHID 0..1
* identifier[NID].system = "http://dghs.gov.bd/identifier/nid"
* identifier[NID].type.coding.code = #NID
* identifier[NID].type.coding.system = "https://fhir.dghs.gov.bd/core/CodeSystem/bd-identifier-type"
* identifier[NID].type.text = "Organization identifier"
* 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/CodeSystem/bd-identifier-type"
* identifier[BRN].type.text = "Organization identifier"
* 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/CodeSystem/bd-identifier-type"
* identifier[UHID].type.text = "Organization identifier"
// ── Relationship ──────────────────────────────────────────────────────────
// Mandatory — must specify the relationship to the patient
* relationship 1..* MS
* relationship ^definition = "Relationship of this person to the patient"
* relationship ^comment = "E.g. FTH (father), MTH (mother), GUARD (guardian) from v3-RoleCode"
// ── Name ──────────────────────────────────────────────────────────────────
* name 1..1 MS
* name ^definition = "Name of the related person"
// ── Patient ───────────────────────────────────────────────────────────────
* patient 1..1 MS
* patient only Reference(BDPatient)
* patient ^definition = "The patient this related person is associated with"

View File

@@ -11,6 +11,14 @@
"status": "ci-build",
"current": true
},
{
"version": "0.4.5",
"date": "2026-04-10",
"desc": "minor bug fixes",
"path": "https://fhir.dghs.gov.bd/core/0.4.5/",
"status": "trial-use",
"sequence": "STU 1"
},
{
"version": "0.4.4",
"date": "2026-04-06",

View File

@@ -8,6 +8,33 @@
<p>
By adopting international FHIR standards, this guide helps ensure that patient data can flow smoothly between hospitals, clinics, and national programs, while also enabling future cross-border health information exchange.
</p>
<hr/>
<h4>FHIR Sandbox Server</h4>
<p>
A live sandbox environment is available for testing and development based on this implementation guide.
</p>
<p>
<b>Base URL:</b><br/>
<a href="https://sandbox.fhir.dghs.gov.bd/fhir" target="_blank">
https://sandbox.fhir.dghs.gov.bd/fhir
</a>
</p>
<p>
This sandbox supports HL7 FHIR R4 and implements the Bangladesh Core FHIR profiles and terminology bindings.
It is intended for testing, validation, and system integration only.
</p>
<ul>
<li><a href="https://sandbox.fhir.dghs.gov.bd/fhir/metadata" target="_blank" rel="noopener noreferrer">Capability Statement</a></li>
<li><a href="https://sandbox.fhir.dghs.gov.bd" target="_blank" rel="noopener noreferrer">FHIR Tester UI</a></li>
</ul>
<p>
Developers are encouraged to validate their implementations against this sandbox before moving to production environments.
</p>
<hr/>
<a name="technical"> </a>
<h3>Technical Overview</h3>
<p>

View File

@@ -11,6 +11,14 @@
"status": "ci-build",
"current": true
},
{
"version": "0.4.5",
"date": "2026-04-10",
"desc": "minor bug fixes",
"path": "https://fhir.dghs.gov.bd/core/0.4.5/",
"status": "trial-use",
"sequence": "STU 1"
},
{
"version": "0.4.4",
"date": "2026-04-06",