NPHCDA Immunization FHIR IG
0.9.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.9.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: RegisterFacilityModel to NgImmOrganization and NgImmLocation

Official URL: https://nphcda.gov.ng/ig/StructureMap/registerfacilitymodel-to-ngimmorganization-location Version: 0.9.0
Active as of 2026-10-07 Computable Name: RegisterFacilityModelToNgImmOrganizationAndNgImmLocation

Map logical RegisterFacilityModel to NgImmOrganization and NgImmLocation profiles

map "https://nphcda.gov.ng/ig/StructureMap/registerfacilitymodel-to-ngimmorganization-location" = "RegisterFacilityModelToNgImmOrganizationAndNgImmLocation"

// Map logical RegisterFacilityModel to NgImmOrganization and NgImmLocation profiles

uses "https://nphcda.gov.ng/ig/StructureDefinition/register-facility-model" alias RFM as source
uses "https://nphcda.gov.ng/ig/StructureDefinition/ng-imm-organization" alias Org as target
uses "https://nphcda.gov.ng/ig/StructureDefinition/nigeria-location" alias Loc as target

group registerFacilityToOrganization(source RFM, target Org) {
  RFM.facilityId -> Org.`identifier[0].value` = copy() "facilityIdToIdentifier";
  RFM.regulator -> Org.`identifier[0].system` = copy() "regulatorToIdentifierSystem";
  RFM.facilityName -> Org.name = copy() "facilityNameToName";
  RFM.facilityType -> Org.`type[0]` = copy() "facilityTypeToType";
  RFM.facilityStatus -> Org.active = true "activeTrue";
}

group registerFacilityToLocation(source RFM, target Loc) {
  RFM.facilityName -> Loc.name = copy() "facilityNameToLocationName";
  RFM.facilityType -> Loc.`type[0]` = copy() "facilityTypeToLocationType";
  RFM.addressLine -> Loc.`address.line[0]` = copy() "addressLineToLine";
  RFM.city -> Loc.`address.city` = copy() "cityToCity";
  RFM.lga -> Loc.`address.district` = copy() "lgaToDistrict";
  RFM.state -> Loc.`address.state` = copy() "stateToState";
  RFM.latitude -> Loc.`position.latitude` = copy() "latitudeToLatitude";
  RFM.longitude -> Loc.`position.longitude` = copy() "longitudeToLongitude";
  RFM.country -> Loc.`address.country` = 'NG' "countryFixed";
  RFM.facilitystatus -> Loc.status = 'active' "locationStatusActive";
  RFM.facilityId -> Loc.`managingOrganization.reference` = append('Organization/', facilityId) "organizationReferenceToManagingOrg";
}