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: ReportGeneration to MeasureReport and Related Profiles

Official URL: https://nphcda.gov.ng/ig/StructureMap/reportgeneration-to-measurereport Version: 0.9.0
Active as of 2026-10-07 Computable Name: ReportGenerationToMeasureReport

Map ReportGeneration logical model to NgImmMeasureReport, NgImmMeasure, and NgImmPractitioner

map "https://nphcda.gov.ng/ig/StructureMap/reportgeneration-to-measurereport" = "ReportGenerationToMeasureReport"

// Map ReportGeneration logical model to NgImmMeasureReport, NgImmMeasure, and NgImmPractitioner

uses "https://nphcda.gov.ng/ig/StructureDefinition/reportgeneration" alias RG as source
uses "https://nphcda.gov.ng/ig/StructureDefinition/ngimm-measurereport" alias MR as target
uses "https://nphcda.gov.ng/ig/StructureDefinition/ngimm-measure" alias MEASURE as target
uses "https://nphcda.gov.ng/ig/StructureDefinition/ng-imm-practitioner" alias PRAC as target

group reportGenerationToMeasureReport(source RG, target MR) {
  RG.reportId -> MR.`identifier.value` = copy();
  RG.generationDate -> MR.date = copy() "reportDate";
  RG.reportingStart -> MR.`period.start` = copy() "reportingPeriod";
  RG.reportingEnd -> MR.`period.end` = copy() "reportingPeriodEnd";
  RG.calculatedValue -> MR.`group[0].measureScore.value` = copy() "measureScore";
  RG.calculatedUnit -> MR.`group[0].measureScore.unit` = copy() "unit";
}

group reportGenerationToMeasure(source RG, target MEASURE) {
  RG.indicatorId -> MEASURE.`identifier.value` = copy() "indicatorCode";
  RG.indicatorName -> MEASURE.name = copy();
  RG.indicatorTitle -> MEASURE.title = copy();
}

group reportGenerationToPractitioner(source RG, target PRAC) {
  RG.reporterId -> PRAC.`identifier.value` = copy();
  RG.reporterName -> PRAC.`name[0].text` = copy();
}