diff --git a/.gitignore b/.gitignore index 5458ee0..c75908b 100644 Binary files a/.gitignore and b/.gitignore differ diff --git a/input/fsh/codeSystems/bd-country-list.fsh b/input/fsh/codeSystems/bd-country-list.fsh new file mode 100644 index 0000000..d915da9 --- /dev/null +++ b/input/fsh/codeSystems/bd-country-list.fsh @@ -0,0 +1,201 @@ +CodeSystem: bd-country-list +Id: bd-country-list-cs +Title: "Nationality List" +* ^url = "https://fhir.dghs.gov.bd/core/CodeSystem/bd-country-list" + +* #4 "Afghan" +* #8 "Albanian" +* #12 "Algerian" +* #840 "American" +* #20 "Andorran" +* #24 "Angolan" +* #28 "Antiguans" +* #32 "Argentine" +* #51 "Armenian" +* #36 "Australian" +* #40 "Austrian" +* #31 "Azerbaijani" +* #44 "Bahamian" +* #48 "Bahraini" +* #50 "Bangladeshi" +* #52 "Barbadian" +* #112 "Belarusian" +* #56 "Belgian" +* #84 "Belizean" +* #204 "Beninese" +* #64 "Bhutanese" +* #68 "Bolivian" +* #70 "Bosnian" +* #76 "Brazilian" +* #826 "British (collective)" +* #96 "Bruneian" +* #100 "Bulgarian" +* #854 "Burkinabe" +* #108 "Burundian" +* #116 "Cambodian" +* #120 "Cameroonian" +* #124 "Canadian" +* #140 "Central African" +* #152 "Chilean" +* #156 "Chinese" +* #170 "Colombian" +* #174 "Comoran" +* #180 "Congolese" +* #178 "Congolese" +* #188 "Costa Rican" +* #191 "Croatian" +* #192 "Cuban" +* #196 "Cypriot" +* #203 "Czech" +* #208 "Danish" +* #262 "Djibouti" +* #212 "Dominican" +* #214 "Dominican" +* #528 "Dutch" +* #218 "Ecuadorean" +* #818 "Egyptian" +* #784 "Emirian" +* #226 "Equatorial Guinean" +* #232 "Eritrean" +* #233 "Estonian" +* #231 "Ethiopian" +* #242 "Fijian" +* #608 "Filipino" +* #246 "Finnish" +* #250 "French" +* #266 "Gabonese" +* #270 "Gambian" +* #268 "Georgian" +* #276 "German" +* #288 "Ghanaian" +* #300 "Greek" +* #308 "Grenadian" +* #320 "Guatemalan" +* #624 "Guinea-Bissauan" +* #324 "Guinean" +* #328 "Guyanese" +* #332 "Haitian" +* #340 "Honduran" +* #348 "Hungarian" +* #296 "I-Kiribati" +* #352 "Icelander" +* #356 "Indian" +* #360 "Indonesian" +* #364 "Iranian" +* #368 "Iraqi" +* #372 "Irish" +* #380 "Italian" +* #384 "Ivorian" +* #388 "Jamaican" +* #392 "Japanese" +* #400 "Jordanian" +* #398 "Kazakhstani" +* #404 "Kenyan" +* #659 "Kittian and Nevisian" +* #414 "Kuwaiti" +* #417 "Kyrgyz" +* #418 "Lao" +* #428 "Latvian" +* #422 "Lebanese" +* #430 "Liberian" +* #434 "Libyan" +* #438 "Liechtensteiner" +* #440 "Lithuanian" +* #442 "Luxembourger" +* #807 "Macedonian" +* #450 "Malagasy" +* #454 "Malawian" +* #458 "Malaysian" +* #462 "Maldivan" +* #466 "Malian" +* #470 "Maltese" +* #584 "Marshallese" +* #478 "Mauritanian" +* #480 "Mauritian" +* #484 "Mexican" +* #583 "Micronesian" +* #498 "Moldovan" +* #492 "Monegasque" +* #496 "Mongolian" +* #504 "Moroccan" +* #426 "Mosotho" +* #72 "Motswana" +* #508 "Mozambican" +* #104 "Myanmarese" +* #516 "Namibian" +* #520 "Nauruan" +* #524 "Nepalese" +* #554 "New Zealander" +* #548 "Ni-Vanuatu" +* #558 "Nicaraguan" +* #566 "Nigerian" +* #562 "Nigerien" +* #408 "North Korean" +* #578 "Norwegian" +* #512 "Omani" +* #586 "Pakistani" +* #585 "Palauan" +* #591 "Panamanian" +* #598 "Papua New Guinean" +* #600 "Paraguayan" +* #604 "Peruvian" +* #616 "Polish" +* #620 "Portuguese" +* #634 "Qatari" +* #642 "Romanian" +* #643 "Russian" +* #646 "Rwandan" +* #662 "Saint Lucian" +* #222 "Salvadoran" +* #674 "Sammarinese" +* #882 "Samoan" +* #678 "Sao Tomean" +* #682 "Saudi" +* #686 "Senegalese" +* #891 "Serbian" +* #690 "Seychellois" +* #694 "Sierra Leonean" +* #702 "Singaporean" +* #703 "Slovak" +* #705 "Slovene" +* #90 "Solomon Islander" +* #706 "Somali" +* #710 "South African" +* #410 "South Korean" +* #724 "Spanish" +* #144 "Sri Lankan" +* #736 "Sudanese" +* #740 "Surinamer" +* #748 "Swazi" +* #752 "Swedish" +* #756 "Swiss" +* #760 "Syrian" +* #158 "Taiwanese" +* #762 "Tajik" +* #834 "Tanzanian" +* #764 "Thai" +* #768 "Togolese" +* #776 "Tongan" +* #780 "Trinidadian" +* #788 "Tunisian" +* #792 "Turkish" +* #795 "Turkmen(s)" +* #798 "Tuvaluan" +* #800 "Ugandan" +* #804 "Ukrainian" +* #858 "Uruguayan" +* #860 "Uzbek" +* #862 "Venezuelan" +* #132 "Verdian" +* #704 "Vietnamese" +* #887 "Yemeni" +* #894 "Zambian" +* #716 "Zimbabwean" + + +ValueSet: bd-country-list +Id: bd-country-list-vs +Title: "Nationality ValueSet" +Description: "Nationality value set" +* ^url = "https://fhir.dghs.gov.bd/core/ValueSet/bd-country-list" +* include codes from system https://fhir.dghs.gov.bd/core/CodeSystem/bd-country-list diff --git a/input/fsh/codeSystems/codeSystem.fsh b/input/fsh/codeSystems/codeSystem.fsh index 3fcd59c..ea6db7e 100644 --- a/input/fsh/codeSystems/codeSystem.fsh +++ b/input/fsh/codeSystems/codeSystem.fsh @@ -3,7 +3,7 @@ CodeSystem: BangladeshIdentifierType Id: bangladesh-identifier-type-cs Title: "Bangladesh Identifier Types" -* ^url = "https://fhir.dghs.gov.bd/core/ValueSet/bd-identifier-type" +* ^url = "https://fhir.dghs.gov.bd/core/CodeSystem/bd-identifier-type" * #TYPE_NID "National ID" * #TYPE_BRN "Birth Registration Number" @@ -14,7 +14,8 @@ ValueSet: BangladeshIdentifierTypeVS Id: bangladesh-identifier-type-vs Title: "Bangladesh Identifier Type" Description: "Bangladesh Standard Identifier type" +* ^url = "https://fhir.dghs.gov.bd/core/ValueSet/bd-identifier-type" // * include codes from valueset http://hl7.org/fhir/ValueSet/identifier-type /// use name or uri -* include codes from system https://fhir.dghs.gov.bd/core/ValueSet/bd-identifier-type +* include codes from system https://fhir.dghs.gov.bd/core/CodeSystem/bd-identifier-type ////////////// end identifier types \ No newline at end of file diff --git a/input/fsh/extensions/nationality.fsh b/input/fsh/extensions/nationality.fsh new file mode 100644 index 0000000..fc274dd --- /dev/null +++ b/input/fsh/extensions/nationality.fsh @@ -0,0 +1,4 @@ +Extension: nationality +Id: nationality +Title: "patient Nationality" +Description: "Nationality" diff --git a/input/fsh/patient-profile.fsh b/input/fsh/patient-profile.fsh index 033f258..a42c50c 100644 --- a/input/fsh/patient-profile.fsh +++ b/input/fsh/patient-profile.fsh @@ -9,29 +9,30 @@ Description: "Profile of Patient Bangladesh Standard" // ----- Begin rules: -// Require at least one value inside the name element +// Require two names total * name 2..* -// === 1. Declare slicing on name by 'use' === + +// Declare slicing on name by use * name ^slicing.discriminator.type = #value -* name ^slicing.discriminator.path = "system" +* name ^slicing.discriminator.path = "use" * name ^slicing.rules = #open +* name ^slicing.ordered = false * name ^slicing.description = "Slice name by use (official for English, usual for Bangla)" -// === 2. Define slices === +// Define slices * name contains - nameEnglish 1..1 MS and // slice alias for English name - nameBangla 1..1 MS // slice alias for Bangla name + nameEnglish 1..1 MS and + nameBangla 1..1 MS -// === 3. Constrain English (official) name === -* name[nameEnglish].use = #en (exactly) +// English (official) +* name[nameEnglish].use = #official * name[nameEnglish].given 0..* * name[nameEnglish].family 0..1 * name[nameEnglish] ^short = "Legal name (English/Romanized)" * name[nameEnglish] ^definition = "Official name as registered in government documents." - -// === 4. Constrain Bangla name === -* name[nameBangla].use = #bn (exactly) +// Bangla (usual) +* name[nameBangla].use = #usual * name[nameBangla].given 0..* * name[nameBangla].family 0..1 * name[nameBangla] ^short = "নাম (বাংলা)" @@ -56,7 +57,7 @@ Description: "Profile of Patient Bangladesh Standard" * identifier[NID].type.coding.system = "http://terminology.hl7.org/CodeSystem/v2-0203" * identifier[NID].type from BangladeshIdentifierTypeVS (extensible) * identifier[NID].type.text = "Organization identifier" -* identifier[NID].value = "Personal identifier National ID" +// * identifier[NID].value = "Personal identifier National ID" // Then in your profile: // * identifier.type from BangladeshIdentifierTypeVS (extensible) @@ -66,7 +67,7 @@ Description: "Profile of Patient Bangladesh Standard" * identifier[BRN].type.coding.system = "http://terminology.hl7.org/CodeSystem/v2-0203" * identifier[BRN].type from BangladeshIdentifierTypeVS (extensible) * identifier[BRN].type.text = "Organization identifier" -* identifier[BRN].value = "Personal identifier Birth Registration" +// * identifier[BRN].value = "Personal identifier Birth Registration" * identifier[UID].system = "http://dghs.gov.bd/identifier/uid" @@ -74,7 +75,7 @@ Description: "Profile of Patient Bangladesh Standard" * identifier[UID].type.coding.system = "http://terminology.hl7.org/CodeSystem/v2-0203" * identifier[UID].type from BangladeshIdentifierTypeVS (extensible) * identifier[UID].type.text = "Organization identifier" -* identifier[UID].value = "Personal identifier" +// * identifier[UID].value = "Personal identifier" // Mark elements as MustSupport @@ -104,4 +105,6 @@ Description: "Profile of Patient Bangladesh Standard" * address 1..* MS * address only BDAddress -* extension contains occupation named occupation 0..1 \ No newline at end of file +* extension contains occupation named occupation 0..1 + +* extension contains nationality named nationality 1..1