WHO Immunization Implementation Guide
1.0.0 - release

This page is part of the Immunizations (v1.0.0: Release) based on FHIR (HL7® FHIR® Standard) R4. This is the current published version in its permanent home (it will always be available at this URL). For a full list of available versions, see the Directory of published versions

StructureMap: IMMZ.C4.QRToPatient

Official URL: http://smart.who.int/immunizations/StructureMap/IMMZ.C4.QRToPatient Version: 1.0.0
Draft as of 2026-10-02 Computable Name: IMMZ.C4.QRToPatient

Immunization Client Registry - Transform QuestionnaireResponse to Patient resources

map "http://smart.who.int/immunizations/StructureMap/IMMZ.C4.QRToPatient" = "IMMZ.C4.QRToPatient"

// Immunization Client Registry - Transform QuestionnaireResponse to Patient resources

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

imports "http://smart.who.int/immunizations/StructureMap/IMMZ.C4.QRToLM"
imports "http://smart.who.int/immunizations/StructureMap/IMMZ.C4.LMToPatient"

group QRespToPatient(source qr : QResp, target bundle : Bundle) {
  qr -> create('http://smart.who.int/immunizations/StructureDefinition/IMMZC4') as model then {
    // qr -> model then QRespToIMMZC( qr, model) "QRtoLM";
    //     qr -> bundle then IMMZCToPatient( model, bundle ) "LMtoPatient";
    qr then QRespToIMMZC(qr, model) "QRtoLM";
    qr then IMMZCToPatient(model, bundle) "LMtoPatient";
  } "QRtoPatient";
}