NPHCDA Immunization FHIR IG
1.0.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 1.0.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/ImmunizationIG/ and changes regularly. See the Directory of published versions

StructureMap: StructureMap: ReportGeneration to MeasureReport and Related Profiles

Official URL: https://nphcda.gov.ng/immunizationIG/StructureMap/reportgeneration-to-measurereport Version: 1.0.0
Active as of 2025-08-04 Computable Name: ReportGenerationToMeasureReport

Map ReportGeneration logical model to NgImmMeasureReport, NgImmMeasure, and NgImmPractitioner

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

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

uses "https://nphcda.gov.ng/immunizationIG/StructureDefinition/reportgeneration" alias RG as source
uses "https://nphcda.gov.ng/immunizationIG/StructureDefinition/ngimm-measurereport" alias MR as target
uses "https://nphcda.gov.ng/immunizationIG/StructureDefinition/ngimm-measure" alias MEASURE as target
uses "https://nphcda.gov.ng/immunizationIG/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();
}