NPHCDA Immunization FHIR IG
0.7.0 - ci-build Nigeria flag

NPHCDA Immunization FHIR IG, published by https://nphcda.gov.ng. This guide is not an authorized publication; it is the continuous build for version 0.7.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/Nigeria-FHIR-Community/NPHCDA-ImmunizationIG/ and changes regularly. See the Directory of published versions

StructureMap: StructureMap: RegisterClientModel to NgImmPatient

Official URL: https://nphcda.gov.ng/ig/StructureMap/registerclientmodel-to-ngimmpatient Version: 0.7.0
Active as of 2025-10-27 Computable Name: RegisterClientModelToNgImmPatient

Map logical RegisterClientModel to NgImmPatient profile

map "https://nphcda.gov.ng/ig/StructureMap/registerclientmodel-to-ngimmpatient" = "RegisterClientModelToNgImmPatient"

// Map logical RegisterClientModel to NgImmPatient profile

uses "https://nphcda.gov.ng/ig/StructureDefinition/register-client-model" alias rcm as source
uses "https://nphcda.gov.ng/ig/StructureDefinition-NgImmPatient" alias Patient as target

group RCMToNgImmPatient(source rcm, target patient : Patient) {
  rcm.identifier -> patient.identifier.value = copy() "SetIdentifier";
  rcm.name.given -> patient.name.given = copy() "SetGivenName";
  rcm.name.family -> patient.name.family = copy() "SetFamilyName";
  rcm.sex -> patient.gender = translate('https://nphcda.gov.ng/ig/ConceptMap/RCMSexToAdministrativeGender', 'code') "SetGender";
  rcm.dateOfBirth -> patient.birthDate = copy() "SetBirthDate";
  rcm.address.residentialAddress -> patient.address.line = copy() "SetAddressLine";
  rcm.address.town -> patient.address.city = copy() "SetCity";
  rcm.address.ward -> patient.address.ward = copy() "SetWard";
  rcm.address.state -> patient.address.state = copy() "SetState";
  rcm.contact.name.given -> patient.contact.name.given = copy() "SetCaregiverGiven";
  rcm.contact.name.family -> patient.contact.name.family = copy() "SetCaregiverFamily";
  rcm.contact.telecom.value -> patient.contact.telecom.value = copy() "SetCaregiverPhone";
  rcm.contact.relationship.text -> patient.contact.relationship.text = copy() "SetCaregiverRelationship";
  rcm.ageInWeeks -> patient.extension.valueInteger = 'https://nphcda.gov.ng/ig/StructureDefinition/NGAgeInWeeks' "SetAgeInWeeks";
  rcm.ageInMonths -> patient.extension.valueInteger = 'https://nphcda.gov.ng/ig/StructureDefinition/NGAgeInMonths' "SetAgeInMonths";
  rcm.ageInYears -> patient.extension.valueInteger = 'https://nphcda.gov.ng/ig/StructureDefinition/NGAgeInYears' "SetAgeInYears";
  rcm.weightAtBirth -> patient.extension.valueQuantity = 'https://nphcda.gov.ng/ig/StructureDefinition/NGBirthWeight' "SetWeightAtBirth";
}