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: RegisterFacilityModel to NgImmOrganization and NgImmLocation

Official URL: https://nphcda.gov.ng/ig/StructureMap/registerfacilitymodel-to-ngimmorganization-location Version: 0.7.0
Active as of 2025-10-27 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";
}