WHO SMART Guidelines - Measles Immunization
0.1.0 - ci-build
WHO SMART Guidelines - Measles Immunization, published by WHO. This guide is not an authorized publication; it is the continuous build for version 0.1.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/WorldHealthOrganization/smart-example-immz/ and changes regularly. See the Directory of published versions
Official URL: http://smart.who.int/immunizations-measles/StructureMap/IMMZCLMToPatient | Version: 0.1.0 | |||
Draft as of 2024-09-21 | Computable Name: IMMZCLMToPatient |
Immunization Client Registry - Transform Logical Model to Patient resources
Generated Narrative: StructureMap IMMZCLMToPatient
map "http://smart.who.int/immunizations-measles/StructureMap/IMMZCLMToPatient" = "IMMZCLMToPatient" // Immunization Client Registry - Transform Logical Model to Patient resources uses "http://smart.who.int/immunizations-measles/StructureDefinition/IMMZCRegisterClient" alias IMMZC as source uses "http://hl7.org/fhir/StructureDefinition/Bundle" alias Bundle as target uses "http://hl7.org/fhir/StructureDefinition/Patient" alias Patient as target group IMMZCToPatient(source immzc : IMMZC, target patient : Patient) { immzc.uniqueId as id -> patient.identifier as identifier then { id -> identifier.value = id "SetIdentifierValue"; } "SetIdentifier"; immzc -> patient.name as pname then NameToHumanName(immzc, pname) "SetName"; immzc.sex as sex -> patient.gender = translate(sex, 'http://smart.who.int/immunizations-measles/ConceptMap/IMMZCSexToAdministrativeGender', 'code') "SetGender"; immzc.birthDate as birthDate -> patient.birthDate = birthDate "SetBirthDate"; immzc.caregiver as caregiver -> patient.contact as contact, contact.name as hname then NameToHumanName(caregiver, hname) "SetCaregiver"; immzc.phone as phone -> patient.telecom as telecom then { phone as content -> telecom.value = content, telecom.system = 'phone' "SetPhoneValue"; } "SetPhone"; immzc.administrativeArea as area -> patient.address as address then { area.coding first as coding -> address then { coding.code as content -> address.text = content "SetAddressToCode"; coding.display as content -> address.text = content "SetAddressToDisplay"; } "SetAddressText"; } "SetAdministrativeArea"; } group NameToHumanName(source name, target hname) { name.name as fullName -> hname.text = fullName "SetFullName"; // name.firstName as firstName -> hname.given = firstName "SetFirstName"; // name.familyName as familyName -> hname.family = familyName "SetFamilyName"; }