| Package | smart.who.int.icvp |
| Resource Type | StructureMap |
| Id | DVCQRtoDVCLM |
| FHIR Version | R4 |
| Source | http://smart.who.int/icvp/https://build.fhir.org/ig/WorldHealthOrganization/smart-icvp/StructureMap-DVCQRtoDVCLM.html |
| URL | http://smart.who.int/icvp/StructureMap/DVCQRtoDVCLM |
| Version | 0.1.0 |
| Status | draft |
| Date | 2025-07-15T19:22:42+00:00 |
| Name | DVCQRtoDVCLM |
| Authority | who |
No resources found
No resources found
Note: links and images are rebased to the (stated) source
Generated Narrative: StructureMap DVCQRtoDVCLM
map "http://smart.who.int/icvp/StructureMap/DVCQRtoDVCLM" = "DVCQRtoDVCLM" uses "http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse" alias QuestionnaireResponse as source uses "http://smart.who.int/icvp/StructureDefinition/ModelDVC" alias DVCLogicalModel as target uses "http://smart.who.int/icvp/StructureDefinition/ModelVaccineDetails" alias ModelVaccineDetails as target uses "http://smart.who.int/icvp/StructureDefinition/DVCPayload" alias DVCClaim as target group DVCQRtoDVCLM(source qr : QuestionnaireResponse, target lm : DVCLogicalModel) { qr.item as item where linkId.value in ('name') then { item.answer as answer then { answer.value as name -> lm.name = name "rule1"; } "rule1a"; } "rule1b"; qr.item as item where linkId.value in ('dob') then { item.answer as answer then { answer.value as dob -> lm.dob = dob "rule2"; } "rule2a"; } "rule2b"; qr.item as item where linkId.value in ('sex') then { item.answer as answer then { answer.value as sex -> lm.sex = sex "rule3"; } "rule3a"; } "rule3b"; qr.item as item where linkId.value in ('nationality') then { item.answer as answer then { answer.value as nationality -> lm.nationality = nationality "rule4"; } "rule4a"; } "rule4b"; qr.item as item where linkId.value in ('nid') then { item.answer as answer then { answer.value as nid -> lm.nid = nid "rule5"; } "rule5a"; } "rule5b"; qr.item as item where linkId.value in ('guardian') then { item.answer as answer then { answer.value as guardian -> lm.guardian = guardian "rule6"; } "rule6a"; } "rule6b"; qr.item as item where linkId.value in ('vaccineDetails') -> lm.vaccineDetails as v then mapVaccineDetails(item, v) "rule7"; } group mapVaccineDetails(source s : BackboneElement, target v : ModelVaccineDetails) { s.item as item where linkId.value in ('doseNumber') then { item.answer as answer then { answer.value as doseNumber -> v.doseNumber = doseNumber "rule7"; } "rule7a"; } "rule7b"; s.item as item where linkId.value in ('disease') then { item.answer as answer then { answer.value as disease -> v.disease = disease "rule8"; } "rule8a"; } "rule8b"; s.item as item where linkId.value in ('vaccineClassification') then { item.answer as answer then { answer.value as vaccine -> v.vaccineClassification = vaccine "rule9"; } "rule9a"; } "rule9b"; s.item as item where linkId.value in ('vaccineTradeItem') then { item.answer as answer then { answer.value as vaccine -> v.vaccineTradeItem = vaccine "rule10"; } "rule10a"; } "rule10b"; s.item as item where linkId.value in ('date') then { item.answer as answer then { answer.value as date -> v.date = date "rule11"; } "rule11a"; } "rule11b"; s.item as item where linkId.value in ('clinicianName') then { item.answer as answer then { answer.value as clinicianName -> v.clinicianName = clinicianName "rule12"; } "rule12a"; } "rule12b"; s.item as item where linkId.value in ('manufacturerId') then { item.answer as answer then { answer.value as mid -> v.manufacturerId = mid "rule13"; } "rule13a"; } "rule13b"; s.item as item where linkId.value in ('manufacturer') then { item.answer as answer then { answer.value as manufacturer -> v.manufacturer = manufacturer "rule14"; } "rule14a"; } "rule14b"; s.item as item where linkId.value in ('batchNo') then { item.answer as answer then { answer.value as batchNo -> v.batchNo = batchNo "rule15"; } "rule15a"; } "rule15b"; s.item as item where linkId.value in ('validityPeriod') then { item -> v.validityPeriod as period then { item.item as item where linkId.value in ('startDate') then { item.answer as answer then { answer.validityPeriod as start -> period.start = start "rule16"; } "rule16a"; } "rule16b"; item.item as item where linkId.value in ('endDate') then { item.answer as answer then { answer.validityPeriod as end -> period.end = end "rule17"; } "rule17a"; } "rule17b"; } "rule18"; } "rule19"; }
{
"resourceType": "StructureMap",
"id": "DVCQRtoDVCLM",
"text": {
"status": "generated",
"div": "<!-- snip (see above) -->"
},
"url": "http://smart.who.int/icvp/StructureMap/DVCQRtoDVCLM",
"version": "0.1.0",
"name": "DVCQRtoDVCLM",
"status": "draft",
"date": "2025-07-15T19:22:42+00:00",
"publisher": "WHO",
"contact": [
{
"name": "WHO",
"telecom": [
{
"system": "url",
"value": "http://who.int"
}
]
}
],
"structure": [
{
"url": "http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse",
"mode": "source",
"alias": "QuestionnaireResponse"
},
{
"url": "http://smart.who.int/icvp/StructureDefinition/ModelDVC",
"mode": "target",
"alias": "DVCLogicalModel"
},
{
"url": "http://smart.who.int/icvp/StructureDefinition/ModelVaccineDetails",
"mode": "target",
"alias": "ModelVaccineDetails"
},
{
"url": "http://smart.who.int/icvp/StructureDefinition/DVCPayload",
"mode": "target",
"alias": "DVCClaim"
}
],
"group": [
{
"name": "DVCQRtoDVCLM",
"typeMode": "none",
"input": [
{
"name": "qr",
"type": "QuestionnaireResponse",
"mode": "source"
},
{
"name": "lm",
"type": "DVCLogicalModel",
"mode": "target"
}
],
"rule": [
{
"name": "rule1b",
"source": [
{
"context": "qr",
"element": "item",
"variable": "item",
"condition": "linkId.value in ('name')"
}
],
"rule": [
{
"name": "rule1a",
"source": [
{
"context": "item",
"element": "answer",
"variable": "answer"
}
],
"rule": [
{
"name": "rule1",
"source": [
{
"context": "answer",
"element": "value",
"variable": "name"
}
],
"target": [
{
"context": "lm",
"contextType": "variable",
"element": "name",
"transform": "copy",
"parameter": [
{
"valueId": "name"
}
]
}
]
}
]
}
]
},
{
"name": "rule2b",
"source": [
{
"context": "qr",
"element": "item",
"variable": "item",
"condition": "linkId.value in ('dob')"
}
],
"rule": [
{
"name": "rule2a",
"source": [
{
"context": "item",
"element": "answer",
"variable": "answer"
}
],
"rule": [
{
"name": "rule2",
"source": [
{
"context": "answer",
"element": "value",
"variable": "dob"
}
],
"target": [
{
"context": "lm",
"contextType": "variable",
"element": "dob",
"transform": "copy",
"parameter": [
{
"valueId": "dob"
}
]
}
]
}
]
}
]
},
{
"name": "rule3b",
"source": [
{
"context": "qr",
"element": "item",
"variable": "item",
"condition": "linkId.value in ('sex')"
}
],
"rule": [
{
"name": "rule3a",
"source": [
{
"context": "item",
"element": "answer",
"variable": "answer"
}
],
"rule": [
{
"name": "rule3",
"source": [
{
"context": "answer",
"element": "value",
"variable": "sex"
}
],
"target": [
{
"context": "lm",
"contextType": "variable",
"element": "sex",
"transform": "copy",
"parameter": [
{
"valueId": "sex"
}
]
}
]
}
]
}
]
},
{
"name": "rule4b",
"source": [
{
"context": "qr",
"element": "item",
"variable": "item",
"condition": "linkId.value in ('nationality')"
}
],
"rule": [
{
"name": "rule4a",
"source": [
{
"context": "item",
"element": "answer",
"variable": "answer"
}
],
"rule": [
{
"name": "rule4",
"source": [
{
"context": "answer",
"element": "value",
"variable": "nationality"
}
],
"target": [
{
"context": "lm",
"contextType": "variable",
"element": "nationality",
"transform": "copy",
"parameter": [
{
"valueId": "nationality"
}
]
}
]
}
]
}
]
},
{
"name": "rule5b",
"source": [
{
"context": "qr",
"element": "item",
"variable": "item",
"condition": "linkId.value in ('nid')"
}
],
"rule": [
{
"name": "rule5a",
"source": [
{
"context": "item",
"element": "answer",
"variable": "answer"
}
],
"rule": [
{
"name": "rule5",
"source": [
{
"context": "answer",
"element": "value",
"variable": "nid"
}
],
"target": [
{
"context": "lm",
"contextType": "variable",
"element": "nid",
"transform": "copy",
"parameter": [
{
"valueId": "nid"
}
]
}
]
}
]
}
]
},
{
"name": "rule6b",
"source": [
{
"context": "qr",
"element": "item",
"variable": "item",
"condition": "linkId.value in ('guardian')"
}
],
"rule": [
{
"name": "rule6a",
"source": [
{
"context": "item",
"element": "answer",
"variable": "answer"
}
],
"rule": [
{
"name": "rule6",
"source": [
{
"context": "answer",
"element": "value",
"variable": "guardian"
}
],
"target": [
{
"context": "lm",
"contextType": "variable",
"element": "guardian",
"transform": "copy",
"parameter": [
{
"valueId": "guardian"
}
]
}
]
}
]
}
]
},
{
"name": "rule7",
"source": [
{
"context": "qr",
"element": "item",
"variable": "item",
"condition": "linkId.value in ('vaccineDetails')"
}
],
"target": [
{
"context": "lm",
"contextType": "variable",
"element": "vaccineDetails",
"variable": "v"
}
],
"dependent": [
{
"name": "mapVaccineDetails",
"variable": [
"item",
"v"
]
}
]
}
]
},
{
"name": "mapVaccineDetails",
"typeMode": "none",
"input": [
{
"name": "s",
"type": "BackboneElement",
"mode": "source"
},
{
"name": "v",
"type": "ModelVaccineDetails",
"mode": "target"
}
],
"rule": [
{
"name": "rule7b",
"source": [
{
"context": "s",
"element": "item",
"variable": "item",
"condition": "linkId.value in ('doseNumber')"
}
],
"rule": [
{
"name": "rule7a",
"source": [
{
"context": "item",
"element": "answer",
"variable": "answer"
}
],
"rule": [
{
"name": "rule7",
"source": [
{
"context": "answer",
"element": "value",
"variable": "doseNumber"
}
],
"target": [
{
"context": "v",
"contextType": "variable",
"element": "doseNumber",
"transform": "copy",
"parameter": [
{
"valueId": "doseNumber"
}
]
}
]
}
]
}
]
},
{
"name": "rule8b",
"source": [
{
"context": "s",
"element": "item",
"variable": "item",
"condition": "linkId.value in ('disease')"
}
],
"rule": [
{
"name": "rule8a",
"source": [
{
"context": "item",
"element": "answer",
"variable": "answer"
}
],
"rule": [
{
"name": "rule8",
"source": [
{
"context": "answer",
"element": "value",
"variable": "disease"
}
],
"target": [
{
"context": "v",
"contextType": "variable",
"element": "disease",
"transform": "copy",
"parameter": [
{
"valueId": "disease"
}
]
}
]
}
]
}
]
},
{
"name": "rule9b",
"source": [
{
"context": "s",
"element": "item",
"variable": "item",
"condition": "linkId.value in ('vaccineClassification')"
}
],
"rule": [
{
"name": "rule9a",
"source": [
{
"context": "item",
"element": "answer",
"variable": "answer"
}
],
"rule": [
{
"name": "rule9",
"source": [
{
"context": "answer",
"element": "value",
"variable": "vaccine"
}
],
"target": [
{
"context": "v",
"contextType": "variable",
"element": "vaccineClassification",
"transform": "copy",
"parameter": [
{
"valueId": "vaccine"
}
]
}
]
}
]
}
]
},
{
"name": "rule10b",
"source": [
{
"context": "s",
"element": "item",
"variable": "item",
"condition": "linkId.value in ('vaccineTradeItem')"
}
],
"rule": [
{
"name": "rule10a",
"source": [
{
"context": "item",
"element": "answer",
"variable": "answer"
}
],
"rule": [
{
"name": "rule10",
"source": [
{
"context": "answer",
"element": "value",
"variable": "vaccine"
}
],
"target": [
{
"context": "v",
"contextType": "variable",
"element": "vaccineTradeItem",
"transform": "copy",
"parameter": [
{
"valueId": "vaccine"
}
]
}
]
}
]
}
]
},
{
"name": "rule11b",
"source": [
{
"context": "s",
"element": "item",
"variable": "item",
"condition": "linkId.value in ('date')"
}
],
"rule": [
{
"name": "rule11a",
"source": [
{
"context": "item",
"element": "answer",
"variable": "answer"
}
],
"rule": [
{
"name": "rule11",
"source": [
{
"context": "answer",
"element": "value",
"variable": "date"
}
],
"target": [
{
"context": "v",
"contextType": "variable",
"element": "date",
"transform": "copy",
"parameter": [
{
"valueId": "date"
}
]
}
]
}
]
}
]
},
{
"name": "rule12b",
"source": [
{
"context": "s",
"element": "item",
"variable": "item",
"condition": "linkId.value in ('clinicianName')"
}
],
"rule": [
{
"name": "rule12a",
"source": [
{
"context": "item",
"element": "answer",
"variable": "answer"
}
],
"rule": [
{
"name": "rule12",
"source": [
{
"context": "answer",
"element": "value",
"variable": "clinicianName"
}
],
"target": [
{
"context": "v",
"contextType": "variable",
"element": "clinicianName",
"transform": "copy",
"parameter": [
{
"valueId": "clinicianName"
}
]
}
]
}
]
}
]
},
{
"name": "rule13b",
"source": [
{
"context": "s",
"element": "item",
"variable": "item",
"condition": "linkId.value in ('manufacturerId')"
}
],
"rule": [
{
"name": "rule13a",
"source": [
{
"context": "item",
"element": "answer",
"variable": "answer"
}
],
"rule": [
{
"name": "rule13",
"source": [
{
"context": "answer",
"element": "value",
"variable": "mid"
}
],
"target": [
{
"context": "v",
"contextType": "variable",
"element": "manufacturerId",
"transform": "copy",
"parameter": [
{
"valueId": "mid"
}
]
}
]
}
]
}
]
},
{
"name": "rule14b",
"source": [
{
"context": "s",
"element": "item",
"variable": "item",
"condition": "linkId.value in ('manufacturer')"
}
],
"rule": [
{
"name": "rule14a",
"source": [
{
"context": "item",
"element": "answer",
"variable": "answer"
}
],
"rule": [
{
"name": "rule14",
"source": [
{
"context": "answer",
"element": "value",
"variable": "manufacturer"
}
],
"target": [
{
"context": "v",
"contextType": "variable",
"element": "manufacturer",
"transform": "copy",
"parameter": [
{
"valueId": "manufacturer"
}
]
}
]
}
]
}
]
},
{
"name": "rule15b",
"source": [
{
"context": "s",
"element": "item",
"variable": "item",
"condition": "linkId.value in ('batchNo')"
}
],
"rule": [
{
"name": "rule15a",
"source": [
{
"context": "item",
"element": "answer",
"variable": "answer"
}
],
"rule": [
{
"name": "rule15",
"source": [
{
"context": "answer",
"element": "value",
"variable": "batchNo"
}
],
"target": [
{
"context": "v",
"contextType": "variable",
"element": "batchNo",
"transform": "copy",
"parameter": [
{
"valueId": "batchNo"
}
]
}
]
}
]
}
]
},
{
"name": "rule19",
"source": [
{
"context": "s",
"element": "item",
"variable": "item",
"condition": "linkId.value in ('validityPeriod')"
}
],
"rule": [
{
"name": "rule18",
"source": [
{
"context": "item"
}
],
"target": [
{
"context": "v",
"contextType": "variable",
"element": "validityPeriod",
"variable": "period"
}
],
"rule": [
{
"name": "rule16b",
"source": [
{
"context": "item",
"element": "item",
"variable": "item",
"condition": "linkId.value in ('startDate')"
}
],
"rule": [
{
"name": "rule16a",
"source": [
{
"context": "item",
"element": "answer",
"variable": "answer"
}
],
"rule": [
{
"name": "rule16",
"source": [
{
"context": "answer",
"element": "validityPeriod",
"variable": "start"
}
],
"target": [
{
"context": "period",
"contextType": "variable",
"element": "start",
"transform": "copy",
"parameter": [
{
"valueId": "start"
}
]
}
]
}
]
}
]
},
{
"name": "rule17b",
"source": [
{
"context": "item",
"element": "item",
"variable": "item",
"condition": "linkId.value in ('endDate')"
}
],
"rule": [
{
"name": "rule17a",
"source": [
{
"context": "item",
"element": "answer",
"variable": "answer"
}
],
"rule": [
{
"name": "rule17",
"source": [
{
"context": "answer",
"element": "validityPeriod",
"variable": "end"
}
],
"target": [
{
"context": "period",
"contextType": "variable",
"element": "end",
"transform": "copy",
"parameter": [
{
"valueId": "end"
}
]
}
]
}
]
}
]
}
]
}
]
}
]
}
]
}