This commit is contained in:
2025-10-01 10:07:21 +06:00
81 changed files with 119 additions and 15045 deletions

View File

@@ -0,0 +1,37 @@
Profile: BDEncounterProfile
Id: bd-encounter
Parent: Encounter
Title: "Encounter Profile for Bangladesh"
Description: "Profile of Encounter Bangladesh Standard"
* identifier 1..*
* status 1..1 MS
* status from BDEncounterStatusSubsetVS
* status ^definition = "planned, in-progress, finished, cancelled"
* class 1..1 MS
* class from BDEncounterClassSubsetVS
* subject 1..1 MS
//* subject from https://fhir.dghs.gov.bd/core/StructureDefinition/bd-patient
* basedOn 0..1 MS
//* basedOn only Reference (CarePlan or DeviceRequest or MedicationRequest or ServiceRequest)
* partOf 0..1 MS
* serviceProvider 1..1 MS
* participant 1..* MS
* participant.period 1..1 MS
* diagnosis 0..* MS
* diagnosis.condition only Reference(BDConditionProfile)
//* admission 0..* MS
//* admission.dischargeDisposition 0..1 MS
* hospitalization.dischargeDisposition 0..1 MS

View File

@@ -19,7 +19,7 @@ Description: "Bangladesh Immunization Profile"
* reasonReference only Reference(Condition or Observation or DiagnosticReport)
* vaccineCode 1..1
* vaccineCode from BDVaccineValueSet (required)
* vaccineCode from BDVaccineVS (required)
//* ^url = "https://fhir.dghs.gov.bd/core/StructureDefinition/bd-medication"
@@ -52,11 +52,11 @@ Description: "Bangladesh Immunization Profile"
* site 0..1
* site ^definition = "Body site of administration"
* site from BDImmunizationSiteValueSet
* site from BDImmunizationSiteVS
* route 0..1
* route ^definition = "Route of administration"
* route from BDImmunizationRouteValueSet
* route from BDImmunizationRouteVS
* doseQuantity 0..1
* doseQuantity ^definition = "Amount of vaccine administered"

View File

@@ -12,7 +12,9 @@ Description: "Profile of MedicationRequest Bangladesh Standard V2"
* medication[x] only Reference(BDMedication) or CodeableConcept
* subject only Reference(BDPatientProfile)
// TODO: BDEncounter referencing
* encounter 0..1 MS
* encounter only Reference(BDEncounterProfile)
* encounter ^definition = "The encounter during which this prescription was created."
* authoredOn 1..1
* requester 1..1

View File

@@ -0,0 +1,84 @@
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
* identifier 1..* MS
* identifier.value 1..1
* status 1..1
* partOf 0..*
* 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"
* 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"
// Subject: Reference to Patient Profile (Required)
* subject 1..1 MS
* subject.reference 1..1 MS
* subject.display 1..1 MS
* subject.identifier 0..1
* subject ^definition = "Reference to Patient Profile"
* subject ^comment = "EX: http://mci.mcishr.dghs.gov.bd/api/v1/patients/98002412586"
* 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"
* performer 1..*
* performer.reference 1..1
// Value[x]: Result value (Optional, but constrained)
* 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.code 0..1
* valueString 0..1
* valueCodeableConcept 0..1
* valueBoolean 0..1
* valueInteger 0..1
* valueRange 0..1
* valueRatio 0..1
* valueSampledData 0..1
* valueTime 0..1
* valueDateTime 0..1
* valuePeriod 0..1
* 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"
* method 0..1
* method from http://hl7.org/fhir/ValueSet/observation-methods (required)
* method ^definition = "Type of observation method"
* method ^comment = "E.g.: Technique, Total measurement"
// Issued: Date/time result was issued (Optional)
* issued 0..1
* issued ^definition = "Date/time result was issued"
// Reference Range: Normal reference range (Optional)
* referenceRange 0..*
* referenceRange ^definition = "Normal reference range"
* referenceRange ^comment = "Optional"
// Specimen: Specimen used for the observation (Optional)
* specimen 0..1
* specimen ^definition = "Specimen used for the observation"
* specimen ^comment = "Optional"

View File

@@ -7,5 +7,4 @@ Parent: Organization
Title: "Organization for Bangladesh"
Description: "Organization for Bangladesh Standard"
* identifier 1..* MS

View File

@@ -0,0 +1,102 @@
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
Id: bd-patient
Parent: Patient
Title: "Patient Profile for Bangladesh"
Description: """
Patient profile for Bangladesh.
- Identifiers: NID, BRN, UHID
- Name must be provided in both Bangla and English.
- SHALL have at least one RelatedPerson with relationship = father or mother, and that RelatedPerson SHALL include both a name and an identifier.
"""
// ----- 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
//////////////////////
* identifier 1..*
* identifier ^slicing.discriminator.type = #value
* identifier ^slicing.discriminator.path = "system"
* identifier ^slicing.rules = #open
* identifier ^slicing.ordered = false
* identifier ^slicing.description = "Slice based on the type of identifier."
* 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 = "http://terminology.hl7.org/CodeSystem/v2-0203"
* identifier[NID].type.coding.system = "https://fhir.dghs.gov.bd/core/ValueSet/bd-identifier-type"
* identifier[NID].type from BangladeshIdentifierTypeVS (extensible)
* identifier[NID].type.text = "Organization identifier"
// * identifier[NID].value = "Personal identifier National ID"
// Then in your profile:
// * identifier.type from BangladeshIdentifierTypeVS (extensible)
* 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"
* identifier[BRN].type from BangladeshIdentifierTypeVS (extensible)
* identifier[BRN].type.text = "Organization identifier"
// * identifier[BRN].value = "Personal identifier Birth Registration"
* 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"
* identifier[UHID].type from BangladeshIdentifierTypeVS (extensible)
* identifier[UHID].type.text = "Organization identifier"
// Mark elements as MustSupport
// * name and name.given and name.family MS
// * name ^short = "dak nam"
// * name ^definition = "Official name (i.e., legal name) of the patient, corresponding to official in [this value set](https://www.hl7.org/fhir/valueset-name-use.html)."
// The contents of ^comment are also displayed on the "Detailed Descriptions" tab
// in the built Implementation Guide.
* birthDate ^comment = "If exact date of birth is partially or completely unknown, Implementers SHALL populate this element with the date of birth information listed on the patient's government-issued identification."
// Do not allow gender to be included.
* gender 1..1
// * include codes from system http://hl7.org/fhir/ValueSet/administrative-gender
// Require a value from a specific value set be used for an element
* maritalStatus from http://hl7.org/fhir/ValueSet/marital-status
// Restrict something[x] to a specific type -- in this case only allowing dateTime to be used
* deceased[x] only dateTime
// Religion using standard HL7 extension
* extension contains http://hl7.org/fhir/StructureDefinition/patient-religion named religion 0..1
* extension[religion].valueCodeableConcept from https://fhir.dghs.gov.bd/core/ValueSet/bd-religions
* address 1..* MS
* address only BDAddress

View File

@@ -7,5 +7,4 @@ Parent: Practitioner
Title: "Practitioner for Bangladesh"
Description: "Practitioner for Bangladesh Standard"
* identifier 1..* MS