diff --git a/input/fsh/models/codes-IMMZ.C.fsh b/input/fsh/models/codes-IMMZ.C.fsh new file mode 100644 index 0000000000..641b316e74 --- /dev/null +++ b/input/fsh/models/codes-IMMZ.C.fsh @@ -0,0 +1,129 @@ +CodeSystem: IMMZ.C +Title: "IMMZ.C CodeSystem for Data Elements" +Description: "CodeSystem for IMMZ.C Data Elements" + +* ^experimental = false +* ^caseSensitive = false +* ^name = "IMMZ_C" +* #DE1 "Unique identifier" "Unique identifier for the client, according to the policies applicable to each country. There can be more than one unique identifier used to link records (e.g. national ID, health ID, immunization information system ID, medical record ID)." +* #DE2 "Name" "The full name of the client" +* #DE3 "First name" "Client's first name or given name" +* #DE4 "Family name" "Client's family name or last name" +* #DE5 "Sex" "Documentation of a specific instance of sex information for the client" +* #DE6 "Male" "Client's biological sex is male" +* #DE7 "Female" "Client's biological sex is female" +* #DE8 "Biological sex not specified" "Client's biological sex is not specified" +* #DE9 "Intersex" "Client's biological sex is intersex" +* #DE10 "Date of birth" "Client's date of birth (DOB) if known; if unknown, use assigned DOB for administrative purposes" +* #DE13 "Age" "The client's calculated age (presented as number of years, months, days) based on the date of birth (DOB) and the visit date" +* #DE14 "Caregivers (multiple)" "The client's caregiver (person) which could be next of kin (e.g. partner, husband, mother, sibling, etc.)" +* #DE15 "Caregiver's full name" "The full name of the client's caregiver" +* #DE16 "Caregiver's first name" "First or given name of the client's caregiver" +* #DE17 "Caregiver's family name" "Family name or last name of the client's caregiver" +* #DE18 "Contact phone number" "Client's phone number" +* #DE19 "Administrative area" "The name of the city/municipality/town/village of where the client lives" +* #DE20 "Active health worker" "Is the client an active and participating health worker. This data element is used mainly for reporting and indicators purposes." + + +ValueSet: IMMZ.C.DE5 +Title: "IMMZ.C.DE5 ValueSet for Sex" +Description: "ValueSet for Sex for IMMZ.C.DE5." + +* ^status = #active +* ^name = "IMMZ_C_DE5" +* IMMZ.C#DE6 "Male" +* IMMZ.C#DE7 "Female" +* IMMZ.C#DE8 "Biological sex not specified" +* IMMZ.C#DE9 "Intersex" + +Instance: IMMZ.C.SexToAdministrativeGender +InstanceOf: ConceptMap +Description: "Mapping to and from IMMZ.C sex coding to FHIR Administrative Gender." +Usage: #definition + +* name = "IMMZ_C_SexToAdministrativeGender" +* title = "ConceptMap to and From IMMZ.C sex to administrative gender" +* status = #active +* experimental = false +* date = "2023-08-09" + +* group[+] + * source = Canonical(IMMZ.C) + * target = $GENDER + * insert ElementMap(DE6, male, equivalent) + * insert ElementMap(DE7, female, equivalent) + * insert ElementMap(DE8, unknown, equivalent) + * insert ElementMap(DE9, other, wider) + +* group[+] + * source = $GENDER + * target = Canonical(IMMZ.C) + * insert ElementMap(male, DE6, equivalent) + * insert ElementMap(female, DE7, equivalent) + * insert ElementMap(unknown, DE8, equivalent) + * insert ElementMap(other, DE9, narrower) + + +Instance: IMMZ.C.ConceptMap +InstanceOf: ConceptMap +Description: "Mapping to and from IMMZ.C Data Dictionary to other codesystems." +Usage: #definition + +* name = "IMMZ_C_ConceptMap" +* title = "ConceptMap to and from IMMZ.C DataElements" +* status = #active +* experimental = false +* date = "2023-08-04" + +* group[+] + * source = Canonical(IMMZ.C) + * target = $ICD11 + * insert ElementMap(DE6, XX2UQ8, equivalent) + * insert ElementMap(DE7, XX2V25, equivalent) + * insert ElementMap(DE8, XX2PX3, equivalent) + * insert ElementMap(DE9, XX45B7, equivalent) + +* group[+] + * source = $ICD11 + * target = Canonical(IMMZ.C) + * insert ElementMap(XX2UQ8, DE6, equivalent) + * insert ElementMap(XX2V25, DE7, equivalent) + * insert ElementMap(XX2PX3, DE8, equivalent) + * insert ElementMap(XX45B7, DE9, equivalent) + +* group[+] + * source = Canonical(IMMZ.C) + * target = $LNC + * insert ElementMap(DE2, 54125-0, equivalent) + * insert ElementMap(DE3, 45392-8, relatedto) + * insert ElementMap(DE4, 45394-4, relatedto) + * insert ElementMap(DE5, 46098-0, equivalent) + * insert ElementMap(DE10, 21112-8, equivalent) + * insert ElementMap(DE13, 63900-5, wider) + * insert ElementMap(DE18, 42077-8, equivalent) + * insert ElementMap(DE19, 56799-0, narrower) + +* group[+] + * source = Canonical(IMMZ.C) + * target = $SCT + * insert ElementMap(DE2, 371484003, equivalent) + * insert ElementMap(DE3, 184095009, relatedto) + * insert ElementMap(DE4, 184096005, relatedto) + * insert ElementMap(DE5, 184100006, equivalent) + * insert ElementMap(DE6, 248153007, equivalent) + * insert ElementMap(DE7, 248152002, equivalent) + * insert ElementMap(DE8, 772004004, relatedto) + * insert ElementMap(DE9, 15867007, equivalent) + * insert ElementMap(DE10, 184099003, equivalent) + * insert ElementMap(DE14, 184140000, wider) + * insert ElementMap(DE15, 184140000, wider) + * insert ElementMap(DE18, 184103008, equivalent) + * insert ElementMap(DE19, 184097001, narrower) + +* group[+] + * source = $SCT + * target = Canonical(IMMZ.C) + * insert ElementMap(248153007, DE6, equivalent) + * insert ElementMap(248152002, DE7, equivalent) + * insert ElementMap(772004004, DE8, relatedto) + * insert ElementMap(15867007, DE9, equivalent) diff --git a/input/fsh/models/codes-IMMZ.D1.fsh b/input/fsh/models/codes-IMMZ.D1.fsh new file mode 100644 index 0000000000..ee4de02ae1 --- /dev/null +++ b/input/fsh/models/codes-IMMZ.D1.fsh @@ -0,0 +1,303 @@ +CodeSystem: IMMZ.D1 +Title: "IMMZ.D1 CodeSystem for Data Elements" +Description: "CodeSystem for IMMZ.C Data Elements" + +* ^experimental = false +* ^caseSensitive = false +* ^name = "IMMZ_D1" + +* #DE80 "Dose 0 administered" "Indicates if the client has received a birth dose and/or supplementary dose" +* #DE8 "Completed the primary vaccination series" "Indicates if the client has completed the primary vaccination series of a product/antigen. If the client has not yet completed their primary series, it means they may be expected to receive more doses to complete their vaccination regimen for the respective product/antigen." +* #DE81 "Date when primary vaccination series was completed" "The date when the client completed the primary vaccination series (per product/antigen)" +* #DE9 "Currently pregnant" "The client is currently pregnant" +* #DE82 "Breastfeeding" "The client is currently breastfeeding" +* #DE10 "HIV status" "The current human immunodeficiency virus (HIV) status of the client" +* #DE11 "HIV-positive" "The client is known to be HIV positive" +* #DE12 "HIV-negative" "The client is known to be HIV negative" +* #DE13 "Unknown" "The client's HIV status is unknown" +* #DE15 "Preterm birth" "The infant was preterm" +* #DE16 "Immunocompromised" "The client is known to be immunocompromised or immunosuppressed. This means the client has a weakened immune system and having a reduced ability to fight infections and other diseases" +* #DE17 "Currently on ART" "The client is currently receiving antiretroviral therapy (ART)" +* #DE84 "Type of TB infection test performed" "The type of TB infection test performed" +* #DE85 "IGRA" "Interferon-gamma release assay (IGRA)" +* #DE86 "TST" "Tuberculin skin test (TST) " +* #DE87 "TB infection test result" "Records the result of the TB infection test" +* #DE88 "Positive" "Test result was positive" +* #DE89 "Negative" "Test result was negative" +* #DE90 "HIV-exposed infant" "The infant is known to be exposed to HIV (i.e. born to an HIV-infected woman)" +* #DE29 "Birth weight in grams" "Represents the client's birth weight value measures in grams" +* #DE35 "Type of polio dose" "The type of the polio vaccine dose administered to the client" +* #DE36 "IPV" "Inactivated poliovirus vaccine (IPV)" +* #DE37 "bOPV" "Bivalent oral poliovirus vaccine (bOPV)" +* #DE38 "Age in years when client received first DTP dose" "The client's age in years when they received their first diphtheria-tetanus-pertussis (DTP) dose" +* #DE39 "Age in months when client received first Hib dose" "The client's age in months when they received their first Haemophilus influenzae type b (Hib) dose" +* #DE40 "Sickle-cell disease" "The client is known to have a sickle-cell disease" +* #DE41 "Age in months when client received third pneumococcal dose" "The client's age in months when they received their third pneumococcal dose" +* #DE42 "No history of intussusception" "The client is known to have no history of intussusception" +* #DE43 "Previous rotavirus doses given were the same product" "Indicates whether or not all of the client's previous rotavirus doses were the same product" +* #DE46 "Immune reconstitution was achieved" "The client is known to have achieved immune reconstitution" +* #DE92 "Severely immunosuppressed" "The client is known to be severely immunocompromised or immunosuppressed" +* #DE49 "ART start date" "The date on which the client started or restarted antiretroviral therapy (ART)" +* #DE52 "Type of last JE dose" "The type of the last Japanese encephalitis (JE) vaccine dose administered to the client" +* #DE53 "Inactivated Vero cell-derived vaccine" "Inactivated Vero cell-derived Japanese encephalitis (JE) vaccine type" +* #DE54 "Live attenuated vaccine" "Live attenuated Japanese encephalitis (JE) vaccine type" +* #DE55 "Live recombinant vaccine" "Live recombinant Japanese encephalitis (JE) vaccine type" +* #DE56 "Type of last TBE dose" "The type of the last tick-borne encephalitis (TBE) vaccine dose administered" +* #DE57 "FSME-Immun" "FSME-Immun vaccine product, which is an inactivated whole-virus vaccine for tick-borne encephalitis (TBE)" +* #DE58 "Encepur" "Encepur vaccine product, which is an inactivated viral vaccine for tick-borne encephalitis (TBE)" +* #DE59 "TBE-Moscow" "TBE-Moscow vaccine product, which is a vaccine for tick-borne encephalitis (TBE)" +* #DE60 "EnceVir" "EnceVir vaccine product, which is a vaccine for tick-borne encephalitis (TBE)" +* #DE61 "Type of last typhoid dose" "The type of the last typhoid vaccine dose administered to the client" +* #DE62 "Typbar-TCV" "Typbar-TCV vaccine" +* #DE63 "ViPS" "Vi polysaccharide (ViPS) vaccine" +* #DE64 "Ty21a" "Ty21a vaccine" +* #DE65 "Type of last cholera dose" "The type of the last cholera vaccine dose administered to the client" +* #DE66 "WC vaccine" "Killed whole cell (WC) only cholera vaccine" +* #DE67 "WC-rBS vaccine" "Vaccine contains a mixture of the recombinant B subunit (rBS) of cholera toxin plus killed whole cell (WC)" +* #DE68 "Type of last meningococcal dose" "The type of the last meningococcal vaccine dose administered to the client" +* #DE69 "MenA conjugate vaccine (5µg)" "Monovalent serogroup A (MenA) conjugate vaccine (5µg) vaccine" +* #DE70 "Monovalent MenC conjugate" "Monovalent MenC conjugate vaccine" +* #DE71 "Quadrivalent conjugate" "Quadrivalent conjugate (A,C,W135,Y-D and A,C,W135,Y-CRM) vaccines" +* #DE72 "Age in months when client received first meningococcal dose" "The age in months when client received their first meningococcal dose" +* #DE73 "Type of last hepatitis A dose" "The type of the last hepatitis A vaccine dose administered to the client" +* #DE74 "Live attenuated hepatitis A vaccine" "Live attenuated hepatitis A vaccine" +* #DE75 "Inactivated hepatitis A vaccine" "Inactivated hepatitis A vaccine" +* #DE76 "VNA level" "Vaccine-induced neutralizing (VNA) antibody level. It is a measured as a serum antibody concentration amount observed from the result of the concentrated, purified cell culture and embryonated egg-based rabies vaccines (CCEEV)" +* #DE77 "Seronegative for dengue" "The client is known to be seronegative for dengue" + + +ValueSet: IMMZ.D1.DE10 +Title: "IMMZ.D1.DE10 ValueSet for HIV Status" +Description: "ValueSet for HIV Status for IMMZ.D1.DE10." + +* ^status = #active +* ^name = "IMMZ_D1_DE10" + +* IMMZ.D1#DE11 "HIV-positive" +* IMMZ.D1#DE12 "HIV-negative" +* IMMZ.D1#DE13 "Unknown" + +ValueSet: IMMZ.D1.DE84 +Title: "IMMZ.D1.DE84 ValueSet for Type of TB infection test performed" +Description: "ValueSet for Type of TB infection test performed for IMMZ.D1.DE84." + +* ^status = #active +* ^name = "IMMZ_D1_DE84" + +* IMMZ.D1#DE85 "IGRA" +* IMMZ.D1#DE86 "TST" + +ValueSet: IMMZ.D1.DE87 +Title: "IMMZ.D1.DE87 ValueSet for TB infection test result" +Description: "ValueSet for TB infection test result for IMMZ.D1.DE87." + +* ^status = #active +* ^name = "IMMZ_D1_DE87" + +* IMMZ.D1#DE88 "Positive" +* IMMZ.D1#DE89 "Negative" + +ValueSet: IMMZ.D1.DE35 +Title: "IMMZ.D1.DE35 ValueSet for Type of polio dose" +Description: "ValueSet for Type of polio dose for IMMZ.D1.DE35." + +* ^status = #active +* ^name = "IMMZ_D1_DE35" + +* IMMZ.D1#DE36 "IPV" +* IMMZ.D1#DE37 "bOPV" + +ValueSet: IMMZ.D1.DE52 +Title: "IMMZ.D1.DE52 ValueSet for Type of last JE dose" +Description: "ValueSet for Type of last JE dose for IMMZ.D1.DE52." + +* ^status = #active +* ^name = "IMMZ_D1_DE52" + +* IMMZ.D1#DE53 "Inactivated Vero cell-derived vaccine" +* IMMZ.D1#DE54 "Live attenuated vaccine" +* IMMZ.D1#DE55 "Live recombinant vaccine" + +ValueSet: IMMZ.D1.DE56 +Title: "IMMZ.D1.DE56 ValueSet for Type of last TBE dose" +Description: "ValueSet for Type of last TBE dose for IMMZ.D1.DE56." + +* ^status = #active +* ^name = "IMMZ_D1_DE56" + +* IMMZ.D1#DE57 "FSME-Immun" +* IMMZ.D1#DE58 "Encepur" +* IMMZ.D1#DE59 "TBE-Moscow" +* IMMZ.D1#DE60 "EnceVir" + +ValueSet: IMMZ.D1.DE61 +Title: "IMMZ.D1.DE61 ValueSet for Type of last typhoid dose" +Description: "ValueSet for Type of last typhoid dose for IMMZ.D1.DE61." + +* ^status = #active +* ^name = "IMMZ_D1_DE61" + +* IMMZ.D1#DE62 "Typbar-TCV" +* IMMZ.D1#DE63 "ViPS" +* IMMZ.D1#DE64 "Ty21a" + +ValueSet: IMMZ.D1.DE65 +Title: "IMMZ.D1.DE65 ValueSet for Type of last cholera dose" +Description: "ValueSet for Type of last cholera dose for IMMZ.D1.DE65." + +* ^status = #active +* ^name = "IMMZ_D1_DE65" + +* IMMZ.D1#DE66 "WC vaccine" +* IMMZ.D1#DE67 "WC-rBS vaccine" + +ValueSet: IMMZ.D1.DE68 +Title: "IMMZ.D1.DE68 ValueSet for Type of last meningococcal dose" +Description: "ValueSet for Type of last meningococcal dose for IMMZ.D1.DE68." + +* ^status = #active +* ^name = "IMMZ_D1_DE68" + +* IMMZ.D1#DE69 "MenA conjugate vaccine (5µg)" +* IMMZ.D1#DE70 "Monovalent MenC conjugate" +* IMMZ.D1#DE71 "Quadrivalent conjugate" + +ValueSet: IMMZ.D1.DE73 +Title: "IMMZ.D1.DE73 ValueSet for Type of last hepatitis A dose" +Description: "ValueSet for Type of last hepatitis A dose for IMMZ.D1.DE73." + +* ^status = #active +* ^name = "IMMZ_D1_DE73" + +* IMMZ.D1#DE74 "Live attenuated hepatitis A vaccine" +* IMMZ.D1#DE75 "Inactivated hepatitis A vaccine" + +Instance: IMMZ.D1.ConceptMap +InstanceOf: ConceptMap +Description: "Mapping to and from IMMZ.D1 Data Dictionary to other codesystems." +Usage: #definition + +* name = "IMMZ_D1_ConceptMap" +* title = "ConceptMap to and from IMMZ.D1 DataElements" +* status = #active +* experimental = false +* date = "2023-08-09" + +* group[+] + * source = Canonical(IMMZ.D1) + * target = $ICD11 + * insert ElementMap(DE88, 1B1Z, relatedto) + * insert ElementMap(DE11, 1C62.Z, equivalent) + * insert ElementMap(DE13, 1H0Z, equivalent) + * insert ElementMap(DE40, 3A51, equivalent) + * insert ElementMap(DE16, 4B4Z, wider) + * insert ElementMap(DE15, KA21.4, equivalent) + * insert ElementMap(DE89, QA02.0, relatedto) + * insert ElementMap(DE12, QA02.Y, relatedto) + * insert ElementMap(DE82, QA48.1, wider) + * insert ElementMap(DE90, QC60, wider) + * insert ElementMap(DE70, XM18Y8, equivalent) + * insert ElementMap(DE69, XM2280, equivalent) + * insert ElementMap(DE64, XM33K4, wider) + * insert ElementMap(DE85, XM3KQ4, wider) + * insert ElementMap(DE63, XM3SF6, wider) + * insert ElementMap(DE54, XM47S0, equivalent) + * insert ElementMap(DE36, XM5V19, equivalent) + * insert ElementMap(DE37, XM79H3, equivalent) + * insert ElementMap(DE86, XM7PF6, wider) + * insert ElementMap(DE9, XT0S, equivalent) + +* group[+] + * source = $ICD11 + * target = Canonical(IMMZ.D1) + * insert ElementMap(1B1Z, DE88, relatedto) + * insert ElementMap(1C62.Z, DE11, equivalent) + * insert ElementMap(1H0Z, DE13, equivalent) + * insert ElementMap(3A51, DE40, equivalent) + * insert ElementMap(4B4Z, DE16, narrower) + * insert ElementMap(KA21.4, DE15, equivalent) + * insert ElementMap(QA02.0, DE89, relatedto) + * insert ElementMap(QA02.Y, DE12, relatedto) + * insert ElementMap(QA48.1, DE82, narrower) + * insert ElementMap(QC60, DE90, narrower) + * insert ElementMap(XM18Y8, DE70, equivalent) + * insert ElementMap(XM2280, DE69, equivalent) + * insert ElementMap(XM33K4, DE64, narrower) + * insert ElementMap(XM3KQ4, DE85, narrower) + * insert ElementMap(XM3SF6, DE63, narrower) + * insert ElementMap(XM47S0, DE54, equivalent) + * insert ElementMap(XM5V19, DE36, equivalent) + * insert ElementMap(XM79H3, DE37, equivalent) + * insert ElementMap(XM7PF6, DE86, narrower) + * insert ElementMap(XT0S, DE9, equivalent) + +* group[+] + * source = Canonical(IMMZ.D1) + * target = $LNC + * insert ElementMap(DE90, 10157-6, relatedto) + * insert ElementMap(DE85, 27415-9, wider) + * insert ElementMap(DE86, 39263-9, equivalent) + * insert ElementMap(DE88, 45241-7, relatedto) + * insert ElementMap(DE11, 45683-0, equivalent) + * insert ElementMap(DE10, 55277-8, equivalent) + * insert ElementMap(DE82, 63895-7, wider) + * insert ElementMap(DE15, 76517-2, equivalent) + * insert ElementMap(DE9, 82810-3, equivalent) + * insert ElementMap(DE29, 8339-4, equivalent) + * insert ElementMap(DE16, 96381-9, relatedto) + * insert ElementMap(DE92, 96381-9, relatedto) + +* group[+] + * source = $LNC + * target = Canonical(IMMZ.D1) + * insert ElementMap(10157-6, DE90, relatedto) + * insert ElementMap(27415-9, DE85, narrower) + * insert ElementMap(39263-9, DE86, equivalent) + * insert ElementMap(45241-7, DE88, relatedto) + * insert ElementMap(45683-0, DE11, equivalent) + * insert ElementMap(55277-8, DE10, equivalent) + * insert ElementMap(63895-7, DE82, narrower) + * insert ElementMap(76517-2, DE15, equivalent) + * insert ElementMap(82810-3, DE9, equivalent) + * insert ElementMap(8339-4, DE29, equivalent) + * insert ElementMap(96381-9, DE16, relatedto) + * insert ElementMap(96381-9, DE92, relatedto) + +* group[+] + * source = Canonical(IMMZ.D1) + * target = $SCT + * insert ElementMap(DE88, 10828004, wider) + * insert ElementMap(DE86, 28163009, equivalent) + * insert ElementMap(DE85, 68311008, equivalent) + * insert ElementMap(DE82, 69840006, equivalent) + * insert ElementMap(DE9, 77386006, equivalent) + * insert ElementMap(DE12, 165815009, equivalent) + * insert ElementMap(DE11, 165816005, equivalent) + * insert ElementMap(DE89, 260385009, wider) + * insert ElementMap(DE13, 261665006, wider) + * insert ElementMap(DE10, 278977008, equivalent) + * insert ElementMap(DE16, 370388006, equivalent) + * insert ElementMap(DE15, 395507008, equivalent) + * insert ElementMap(DE40, 417357006, equivalent) + * insert ElementMap(DE90, 438998000, wider) + * insert ElementMap(DE36, 871740006, equivalent) + + +* group[+] + * source = $SCT + * target = Canonical(IMMZ.D1) + * insert ElementMap(10828004, DE88, narrower) + * insert ElementMap(28163009, DE86, equivalent) + * insert ElementMap(68311008, DE85, equivalent) + * insert ElementMap(69840006, DE82, equivalent) + * insert ElementMap(77386006, DE9, equivalent) + * insert ElementMap(165815009, DE12, equivalent) + * insert ElementMap(165816005, DE11, equivalent) + * insert ElementMap(260385009, DE89, narrower) + * insert ElementMap(261665006, DE13, narrower) + * insert ElementMap(278977008, DE10, equivalent) + * insert ElementMap(370388006, DE16, equivalent) + * insert ElementMap(395507008, DE15, equivalent) + * insert ElementMap(417357006, DE40, equivalent) + * insert ElementMap(438998000, DE90, narrower) + * insert ElementMap(871740006, DE36, equivalent) diff --git a/input/fsh/models/logical-IMMZ.C.fsh b/input/fsh/models/logical-IMMZ.C.fsh index e95f09dde2..7f3ae4ae92 100644 --- a/input/fsh/models/logical-IMMZ.C.fsh +++ b/input/fsh/models/logical-IMMZ.C.fsh @@ -17,7 +17,7 @@ Description: "Data elements for the IMMZ.C Register Client Data Dictionary." * obeys IMMZ-C-DE10-1 * uniqueId 1..1 SU string "Unique identifier" "Unique identifier for the client, according to the policies applicable to each country. There can be more than one unique identifier used to link records (e.g. national ID, health ID, immunization information system ID, medical record ID)." * ^code[+] = IMMZ.C#DE1 - * ^code[WHOCommon] = IMMZ.C#DE1 +// * ^code[WHOCommon] = IMMZ.C#DE1 * name 1..1 string "Name" "The full name of the client" * obeys IMMZ-C-name-1 * ^code[+] = IMMZ.C#DE2 @@ -81,135 +81,4 @@ Target: "Patient" * caregiver.firstName -> "Patient.contact.name.given" * caregiver.familyName -> "Patient.contact.name.family" * phone -> "Patient.telecom.value" -* administrativeArea -> "Patient.address.text" - - -CodeSystem: IMMZ.C -Title: "IMMZ.C CodeSystem for Data Elements" -Description: "CodeSystem for IMMZ.C Data Elements" - -* ^experimental = false -* ^caseSensitive = false -* ^name = "IMMZ_C" -* #DE1 "Unique identifier" "Unique identifier for the client, according to the policies applicable to each country. There can be more than one unique identifier used to link records (e.g. national ID, health ID, immunization information system ID, medical record ID)." -* #DE2 "Name" "The full name of the client" -* #DE3 "First name" "Client's first name or given name" -* #DE4 "Family name" "Client's family name or last name" -* #DE5 "Sex" "Documentation of a specific instance of sex information for the client" -* #DE6 "Male" "Client's biological sex is male" -* #DE7 "Female" "Client's biological sex is female" -* #DE8 "Biological sex not specified" "Client's biological sex is not specified" -* #DE9 "Intersex" "Client's biological sex is intersex" -* #DE10 "Date of birth" "Client's date of birth (DOB) if known; if unknown, use assigned DOB for administrative purposes" -* #DE13 "Age" "The client's calculated age (presented as number of years, months, days) based on the date of birth (DOB) and the visit date" -* #DE14 "Caregivers (multiple)" "The client's caregiver (person) which could be next of kin (e.g. partner, husband, mother, sibling, etc.)" -* #DE15 "Caregiver's full name" "The full name of the client's caregiver" -* #DE16 "Caregiver's first name" "First or given name of the client's caregiver" -* #DE17 "Caregiver's family name" "Family name or last name of the client's caregiver" -* #DE18 "Contact phone number" "Client's phone number" -* #DE19 "Administrative area" "The name of the city/municipality/town/village of where the client lives" -* #DE20 "Active health worker" "Is the client an active and participating health worker. This data element is used mainly for reporting and indicators purposes." - - -ValueSet: IMMZ.C.DE5 -Title: "IMMZ.C.DE5 ValueSet for Sex" -Description: "ValueSet for Sex for IMMZ.C.DE5." - -* ^status = #active -* ^name = "IMMZ_C_DE5" -* IMMZ.C#DE6 "Male" -* IMMZ.C#DE7 "Female" -* IMMZ.C#DE8 "Biological sex not specified" -* IMMZ.C#DE9 "Intersex" - -Instance: IMMZ.C.SexToAdministrativeGender -InstanceOf: ConceptMap -Description: "Mapping to and from IMMZ.C sex coding to FHIR Administrative Gender." -Usage: #definition - -* name = "IMMZ_C_SexToAdministrativeGender" -* title = "ConceptMap to and From IMMZ.C sex to administrative gender" -* status = #active -* experimental = false -* date = "2023-08-09" - -* group[+] - * source = Canonical(IMMZ.C) - * target = $GENDER - * insert ElementMap(DE6, male, equivalent) - * insert ElementMap(DE7, female, equivalent) - * insert ElementMap(DE8, unknown, equivalent) - * insert ElementMap(DE9, other, wider) - -* group[+] - * source = $GENDER - * target = Canonical(IMMZ.C) - * insert ElementMap(male, DE6, equivalent) - * insert ElementMap(female, DE7, equivalent) - * insert ElementMap(unknown, DE8, equivalent) - * insert ElementMap(other, DE9, narrower) - - -Instance: IMMZ.C.ConceptMap -InstanceOf: ConceptMap -Description: "Mapping to and from IMMZ.C Data Dictionary to other codesystems." -Usage: #definition - -* name = "IMMZ_C_ConceptMap" -* title = "ConceptMap to and from IMMZ.C DataElements" -* status = #active -* experimental = false -* date = "2023-08-04" - -* group[+] - * source = Canonical(IMMZ.C) - * target = $ICD11 - * insert ElementMap(DE6, XX2UQ8, equivalent) - * insert ElementMap(DE7, XX2V25, equivalent) - * insert ElementMap(DE8, XX2PX3, equivalent) - * insert ElementMap(DE9, XX45B7, equivalent) - -* group[+] - * source = $ICD11 - * target = Canonical(IMMZ.C) - * insert ElementMap(XX2UQ8, DE6, equivalent) - * insert ElementMap(XX2V25, DE7, equivalent) - * insert ElementMap(XX2PX3, DE8, equivalent) - * insert ElementMap(XX45B7, DE9, equivalent) - -* group[+] - * source = Canonical(IMMZ.C) - * target = $LNC - * insert ElementMap(DE2, 54125-0, equivalent) - * insert ElementMap(DE3, 45392-8, relatedto) - * insert ElementMap(DE4, 45394-4, relatedto) - * insert ElementMap(DE5, 46098-0, equivalent) - * insert ElementMap(DE10, 21112-8, equivalent) - * insert ElementMap(DE13, 63900-5, wider) - * insert ElementMap(DE18, 42077-8, equivalent) - * insert ElementMap(DE19, 56799-0, narrower) - -* group[+] - * source = Canonical(IMMZ.C) - * target = $SCT - * insert ElementMap(DE2, 371484003, equivalent) - * insert ElementMap(DE3, 184095009, relatedto) - * insert ElementMap(DE4, 184096005, relatedto) - * insert ElementMap(DE5, 184100006, equivalent) - * insert ElementMap(DE6, 248153007, equivalent) - * insert ElementMap(DE7, 248152002, equivalent) - * insert ElementMap(DE8, 772004004, relatedto) - * insert ElementMap(DE9, 15867007, equivalent) - * insert ElementMap(DE10, 184099003, equivalent) - * insert ElementMap(DE14, 184140000, wider) - * insert ElementMap(DE15, 184140000, wider) - * insert ElementMap(DE18, 184103008, equivalent) - * insert ElementMap(DE19, 184097001, narrower) - -* group[+] - * source = $SCT - * target = Canonical(IMMZ.C) - * insert ElementMap(248153007, DE6, equivalent) - * insert ElementMap(248152002, DE7, equivalent) - * insert ElementMap(772004004, DE8, relatedto) - * insert ElementMap(15867007, DE9, equivalent) +* administrativeArea -> "Patient.address.text" \ No newline at end of file diff --git a/input/fsh/models/logical-IMMZ.D1.measles.fsh b/input/fsh/models/logical-IMMZ.D1.measles.fsh new file mode 100644 index 0000000000..e7b40cfaa2 --- /dev/null +++ b/input/fsh/models/logical-IMMZ.D1.measles.fsh @@ -0,0 +1,51 @@ +Logical: IMMZ-D1-client-history-measles +Title: "IMMZ.D1 Capture Client History for Measles" +Description: "Data elements for the IMMZ.D1 Capture Client History Data Dictionary for Measles." + +* ^name = "IMMZ_D1_Client_History_Measles" + +* dose0 0..1 boolean "Dose 0 administered" "Indicates if the client has received a birth dose and/or supplementary dose" + * ^code[+] = IMMZ.D1#DE80 +* completedPrimarySeries 0..1 boolean "Completed the primary vaccination series" "Indicates if the client has completed the primary vaccination series of a product/antigen. If the client has not yet completed their primary series, it means they may be expected to receive more doses to complete their vaccination regimen for the respective product/antigen." + * ^code[+] = IMMZ.D1#DE8 +* dateSeriesCompleted 1..1 date "Date when primary vaccination series was completed" "The date when the client completed the primary vaccination series (per product/antigen)" + * ^code[+] = IMMZ.D1#DE81 +* pregnant 0..1 boolean "Currently pregnant" "The client is currently pregnant" + * ^code[+] = IMMZ.D1#DE9 + * ^code[+] = $ICD11#XT0S + * ^code[+] = $LNC#82810-3 + * ^code[+] = $SCT#77386006 +* breastfeeding 0..1 boolean "Breastfeeding" "The client is currently breastfeeding" + * ^code[+] = IMMZ.D1#DE82 + * ^code[+] = $ICD11#QA48.1 + * ^code[+] = $LNC#63895-7 + * ^code[+] = $SCT#69840006 +* hivStatus 0..1 Coding "HIV status" "The current human immunodeficiency virus (HIV) status of the client" + * ^code[+] = IMMZ.D1#DE10 + * ^code[+] = $LNC#55277-8 + * ^code[+] = $SCT#278977008 +* hivStatus from IMMZ.D1.DE10 +* pretermBirth 0..1 boolean "Preterm birth" "The infant was preterm, the mother gave birth to the infant when gestational age was less than 37 weeks" + * ^code[+] = IMMZ.D1#DE15 + * ^code[+] = $ICD11#KA21.4 + * ^code[+] = $LNC#76517-2 + * ^code[+] = $SCT#395507008 +* immunocompromised 0..1 boolean "Immunocompromised" "The client is known to be immunocompromised or immunosuppressed. This means the client has a weakened immune system and having a reduced ability to fight infections and other diseases" + * ^code[+] = IMMZ.D1#DE16 + * ^code[+] = $ICD11#4B4Z + * ^code[+] = $LNC#96381-9 + * ^code[+] = $SCT#370388006 +* onART 0..1 boolean "Currently on ART" "The client is currently receiving antiretroviral therapy (ART)" + * ^code[+] = IMMZ.D1#DE17 +* hivExposedInfant 1..1 boolean "HIV-exposed infant" "The infant is known to be exposed to HIV (i.e. born to an HIV-infected woman)" + * ^code[+] = IMMZ.D1#DE90 + * ^code[+] = $ICD11#QC60 + * ^code[+] = $LNC#10157-6 + * ^code[+] = $SCT#438998000 +* immuneReconstitutionAchieved 1..1 boolean "Immune reconstitution was achieved" "The client is known to have achieved immune reconstitution" + * ^code[+] = IMMZ.D1#DE46 +* severelyImmunosuppressed 1..1 boolean "Severely immunosuppressed" "The client is known to be severely immunocompromised or immunosuppressed" + * ^code[+] = IMMZ.D1#DE92 + * ^code[=] = $LNC#96381-9 +* artStartDate 1..1 date "ART start date" "The date on which the client started or restarted antiretroviral therapy (ART)" + * ^code[+] = IMMZ.D1#DE49 diff --git a/input/fsh/models/rulesets.fsh b/input/fsh/models/rulesets.fsh deleted file mode 100644 index ad728e09ba..0000000000 --- a/input/fsh/models/rulesets.fsh +++ /dev/null @@ -1,6 +0,0 @@ -RuleSet: ElementMap(source, target, equivalence) -* element[+] - * code = #{source} - * target[+] - * code = #{target} - * equivalence = #{equivalence} diff --git a/input/fsh/questionnaires/IMMZ.C.fsh b/input/fsh/questionnaires/IMMZ.C.fsh index a76e72f786..61d4a0ec17 100644 --- a/input/fsh/questionnaires/IMMZ.C.fsh +++ b/input/fsh/questionnaires/IMMZ.C.fsh @@ -1,11 +1,3 @@ -RuleSet: Question(linkId, text, type, required, repeats) -* item[+].linkId = "{linkId}" -* item[=].text = "{text}" -* item[=].type = #{type} -* item[=].repeats = {repeats} -* item[=].required = {required} - - Instance: Questionnaire-IMMZCRegisterClient InstanceOf: sdc-questionnaire-extr-smap Title: "Client Registration Questionnaire" diff --git a/input/fsh/questionnaires/IMMZ.D1.measles.fsh b/input/fsh/questionnaires/IMMZ.D1.measles.fsh new file mode 100644 index 0000000000..7ce463a551 --- /dev/null +++ b/input/fsh/questionnaires/IMMZ.D1.measles.fsh @@ -0,0 +1,70 @@ +Instance: Questionnaire-IMMZD1ClientHistory +InstanceOf: sdc-questionnaire-extr-smap +Title: "Capture Client History Questionnaire" +Description: "Immunization - Capture Client History Questionnaire" +Usage: #definition +* version = "2023" +* status = #draft +* subjectType = #Patient +* language = #en +* status = #draft +* contained[+] = IMMZ.D1.DE10 + +* insert Question(dose0, Indicates if the client has received a birth dose and/or supplementary dose, boolean, false, false) +* item[=] + * code[+] = IMMZ.D1#DE80 +* insert Question(completedPrimarySeries, Indicates if the client has completed the primary vaccination series of a product/antigen. If the client has not yet completed their primary series\, it means they may be expected to receive more doses to complete their vaccination regimen for the respective product/antigen., boolean, false, false) +* item[=] + * code[+] = IMMZ.D1#DE8 +* insert Question(dateSeriesCompleted, The date when the client completed the primary vaccination series - per product/antigen, date, false, true) +* item[=] + * code[+] = IMMZ.D1#DE81 +* insert Question(pregnant, The client is currently pregnant, boolean, false, false) +* item[=] + * code[+] = IMMZ.D1#DE9 + * code[+] = $ICD11#XT0S + * code[+] = $LNC#82810-3 + * code[+] = $SCT#77386006 +* insert Question(breastfeeding, The client is currently breastfeeding, boolean, false, false) +* item[=] + * code[+] = IMMZ.D1#DE82 + * code[+] = $ICD11#QA48.1 + * code[+] = $LNC#63895-7 + * code[+] = $SCT#69840006 +* insert Question(hivStatus, The current human immunodeficiency virus HIV status of the client, choice, false, false) +* item[=] + * answerValueSet = Canonical(IMMZ.D1.DE10) + * code[+] = IMMZ.D1#DE10 + * code[+] = $LNC#55277-8 + * code[+] = $SCT#278977008 +* insert Question(pretermBirth, The infant was preterm\, the mother gave birth to the infant when gestational age was less than 37 weeks, boolean, false, false) +* item[=] + * code[+] = IMMZ.D1#DE15 + * code[+] = $ICD11#KA21.4 + * code[+] = $LNC#76517-2 + * code[+] = $SCT#395507008 +* insert Question(immunocompromised, The client is known to be immunocompromised or immunosuppressed. This means the client has a weakened immune system and having a reduced ability to fight infections and other diseases, boolean, false, false) +* item[=] + * code[+] = IMMZ.D1#DE16 + * code[+] = $ICD11#4B4Z + * code[+] = $LNC#96381-9 + * code[+] = $SCT#370388006 +* insert Question(onART, The client is currently receiving antiretroviral therapy ART, boolean, false, false) +* item[=] + * code[+] = IMMZ.D1#DE17 +* insert Question(hivExposedInfant, The infant is known to be exposed to HIV\, i.e. born to an HIV-infected woman, boolean, false, true) +* item[=] + * code[+] = IMMZ.D1#DE90 + * code[+] = $ICD11#QC60 + * code[+] = $LNC#10157-6 + * code[+] = $SCT#438998000 +* insert Question(immuneReconstitutionAchieved, The client is known to have achieved immune reconstitution, boolean, false, true) +* item[=] + * code[+] = IMMZ.D1#DE46 +* insert Question(severelyImmunosuppressed, The client is known to be severely immunocompromised or immunosuppressed, boolean, false, true) +* item[=] + * code[+] = IMMZ.D1#DE92 + * code[=] = $LNC#96381-9 +* insert Question(artStartDate, The date on which the client started or restarted antiretroviral therapy ART, date, false, true) +* item[=] + * code[+] = IMMZ.D1#DE49 diff --git a/input/fsh/rulesets.fsh b/input/fsh/rulesets.fsh new file mode 100644 index 0000000000..76da717389 --- /dev/null +++ b/input/fsh/rulesets.fsh @@ -0,0 +1,14 @@ +RuleSet: ElementMap(source, target, equivalence) +* element[+] + * code = #{source} + * target[+] + * code = #{target} + * equivalence = #{equivalence} + + +RuleSet: Question(linkId, text, type, required, repeats) +* item[+].linkId = "{linkId}" +* item[=].text = "{text}" +* item[=].type = #{type} +* item[=].repeats = {repeats} +* item[=].required = {required} \ No newline at end of file diff --git a/tools/maps.http b/tools/maps.http index e513189272..1281699b56 100644 --- a/tools/maps.http +++ b/tools/maps.http @@ -1,5 +1,5 @@ -@host = http://localhost:8080/matchbox/fhir +@host = http://localhost:8080/matchboxv3/fhir ### Post the StructureMap with transform included PUT {{host}}/StructureMap/IMMZ-C-QRToLM HTTP/1.1