WHO Immunization Implementation Guide
0.2.0 - ci-build

WHO Immunization Implementation Guide, published by WHO. This guide is not an authorized publication; it is the continuous build for version 0.2.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/WorldHealthOrganization/smart-immunizations/ and changes regularly. See the Directory of published versions

StructureMap: IMMZ.D17.QRToLM

Official URL: http://smart.who.int/immunizations/StructureMap/IMMZ.D17.QRToLM Version: 0.2.0
Draft as of 2025-09-10 Computable Name: IMMZ.D17.QRToLM

Immunization Report AEFI - Transform QuestionnaireResponse to Logical Model

map "http://smart.who.int/immunizations/StructureMap/IMMZ.D17.QRToLM" = "IMMZ.D17.QRToLM"

// Immunization Report AEFI - Transform QuestionnaireResponse to Logical Model

uses "http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse" alias QResp as source
uses "http://smart.who.int/immunizations/StructureDefinition/IMMZD17" alias IMMZD17 as target

imports "http://smart.who.int/immunizations/StructureMap/IMMZ.Helpers"

group QRespToIMMZD17(source qr : QResp, target immz : IMMZD17) {
  qr.subject as subject -> immz.patient = subject "setPatient";
  qr.item as item where linkId = 'reactionReported' -> immz.reactionReported as field then ItemToValue(item, field) "reactionReported";
  qr.item as item where linkId = 'reactionDate' -> immz.reactionDate as field then ItemToValue(item, field) "reactionDate";
  qr.item as item where linkId = 'reactionManifestation' -> immz.reactionManifestation as field then ItemToCoding(item, field) "reactionManifestation";
  qr.item as item where linkId = 'typeOfReaction' -> immz.typeOfReaction as field then ItemToCoding(item, field) "typeOfReaction";
  qr.item as item where linkId = 'otherImportantMedicalEvent' -> immz.otherImportantMedicalEvent as field then ItemToValue(item, field) "otherImportantMedicalEvent";
  qr.item as item where linkId = 'reactionOutcome' -> immz.reactionOutcome as field then ItemToCoding(item, field) "reactionOutcome";
}