| Package | smart.who.int.icvp |
| Resource Type | StructureMap |
| Id | DVCClaimtoDVCLM |
| FHIR Version | R4 |
| Source | http://smart.who.int/icvp/https://build.fhir.org/ig/WorldHealthOrganization/smart-icvp/StructureMap-DVCClaimtoDVCLM.html |
| URL | http://smart.who.int/icvp/StructureMap/DVCClaimtoDVCLM |
| Version | 0.1.0 |
| Status | draft |
| Date | 2025-07-15T19:22:42+00:00 |
| Name | DVCClaimtoDVCLM |
| Authority | who |
No resources found
No resources found
Note: links and images are rebased to the (stated) source
Generated Narrative: StructureMap DVCClaimtoDVCLM
map "http://smart.who.int/icvp/StructureMap/DVCClaimtoDVCLM" = "DVCClaimtoDVCLM" uses "http://smart.who.int/icvp/StructureDefinition/DVCPayload" alias DVCPayload as source uses "http://smart.who.int/icvp/StructureDefinition/ModelDVC" alias DVCModel as target uses "http://smart.who.int/icvp/StructureDefinition/ModelVaccineDetails" alias ModelVaccineDetails as target group DVCClaimtoDVCLM(source src : DVCPayload, target tgt : DVCModel) { src.n as name -> tgt.name = name "rule1"; src.dob as dob -> tgt.dob = dob "rule2"; src.s as sex -> tgt.sex = sex "rule3"; src.ntl as nationality -> tgt.nationality = nationality "rule4"; src.nid as id -> tgt.nid = id "rule5"; src.gn as gName -> tgt.guardian = gName "rule6"; src.v as v -> tgt.vaccineDetails as tv then mapVaccineDetails(v, tv) "rule7"; } group mapVaccineDetails(source src : BackboneElement, target tgt : ModelVaccineDetails) { src.tg as tg -> create('Coding') as coding, coding.code = tg, coding.system = 'http://id.who.int/icd/release/11/mms', tgt.disease = coding "rule8"; src.vp as vp -> create('Coding') as coding, coding.code = vp, coding.system = 'http://id.who.int/icd/release/11/mms', create('CodeableConcept') as code, code.coding = coding, tgt.vaccineClassification = code "rule9"; src.mp as mp -> create('Identifier') as id, id.value = mp, tgt.vaccineTradeItem = id "rule10"; src.ma as ma -> tgt.manufacturer = ma "rule11"; src.mid as mid -> create('Identifier') as id, id.value = mid, tgt.manufacturerId = id "rule12"; src.dt as dt -> tgt.date = dt "rule13"; src.bo as bo -> tgt.batchNo = bo "rule14"; src -> create('Period') as period then { src.vls as start -> period.start = start "rule15"; src.vle as end -> period.end = end "rule16"; src -> tgt.validityPeriod = period "rule17"; } "rule18"; src.cn as cn -> tgt.clinicianName = cn "rule19"; src.is as is -> tgt.issuer as issuer, issuer.reference = append('Organization/', is) "rule21"; src.dn as dn -> create('Coding') as coding, coding.code = dn, coding.system = 'http://smart.who.int/icvp/CodeSystem/doseNumber', create('CodeableConcept') as code, code.coding = coding, tgt.doseNumber = code "rule20"; } // helper function group generateNarrativeText(source src : Section, target text : string) { src -> text.status = 'empty' "setstatus"; src -> text.div = '<div>narrative not available</div>' "setdiv"; } group humanNameToHumanName(source sourceName, target targetName : HumanName) { sourceName.use as use -> targetName.use = use "CopyUse"; sourceName.text as text -> targetName.text = text "CopyText"; sourceName.family as family -> targetName.family = family "CopyFamily"; sourceName.given as given -> targetName.given = given "CopyGiven"; sourceName.prefix as prefix -> targetName.prefix = prefix "CopyPrefix"; sourceName.suffix as suffix -> targetName.suffix = suffix "CopySuffix"; // Copy the period using the previously defined group function sourceName.period as sourcePeriod -> targetName.period as targetPeriod then { sourcePeriod -> sourcePeriod then periodToPeriod(sourcePeriod, targetPeriod) "CopyPeriod"; } "copyPeriod"; } group periodToPeriod(source sourcePeriod, target targetPeriod : Period) { sourcePeriod.start as start -> targetPeriod.start = start "set period start"; sourcePeriod.end as end -> targetPeriod.end = end "set period end"; }
{
"resourceType": "StructureMap",
"id": "DVCClaimtoDVCLM",
"text": {
"status": "generated",
"div": "<!-- snip (see above) -->"
},
"url": "http://smart.who.int/icvp/StructureMap/DVCClaimtoDVCLM",
"version": "0.1.0",
"name": "DVCClaimtoDVCLM",
"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://smart.who.int/icvp/StructureDefinition/DVCPayload",
"mode": "source",
"alias": "DVCPayload"
},
{
"url": "http://smart.who.int/icvp/StructureDefinition/ModelDVC",
"mode": "target",
"alias": "DVCModel"
},
{
"url": "http://smart.who.int/icvp/StructureDefinition/ModelVaccineDetails",
"mode": "target",
"alias": "ModelVaccineDetails"
}
],
"group": [
{
"name": "DVCClaimtoDVCLM",
"typeMode": "none",
"input": [
{
"name": "src",
"type": "DVCPayload",
"mode": "source"
},
{
"name": "tgt",
"type": "DVCModel",
"mode": "target"
}
],
"rule": [
{
"name": "rule1",
"source": [
{
"context": "src",
"element": "n",
"variable": "name"
}
],
"target": [
{
"context": "tgt",
"contextType": "variable",
"element": "name",
"transform": "copy",
"parameter": [
{
"valueId": "name"
}
]
}
]
},
{
"name": "rule2",
"source": [
{
"context": "src",
"element": "dob",
"variable": "dob"
}
],
"target": [
{
"context": "tgt",
"contextType": "variable",
"element": "dob",
"transform": "copy",
"parameter": [
{
"valueId": "dob"
}
]
}
]
},
{
"name": "rule3",
"source": [
{
"context": "src",
"element": "s",
"variable": "sex"
}
],
"target": [
{
"context": "tgt",
"contextType": "variable",
"element": "sex",
"transform": "copy",
"parameter": [
{
"valueId": "sex"
}
]
}
]
},
{
"name": "rule4",
"source": [
{
"context": "src",
"element": "ntl",
"variable": "nationality"
}
],
"target": [
{
"context": "tgt",
"contextType": "variable",
"element": "nationality",
"transform": "copy",
"parameter": [
{
"valueId": "nationality"
}
]
}
]
},
{
"name": "rule5",
"source": [
{
"context": "src",
"element": "nid",
"variable": "id"
}
],
"target": [
{
"context": "tgt",
"contextType": "variable",
"element": "nid",
"transform": "copy",
"parameter": [
{
"valueId": "id"
}
]
}
]
},
{
"name": "rule6",
"source": [
{
"context": "src",
"element": "gn",
"variable": "gName"
}
],
"target": [
{
"context": "tgt",
"contextType": "variable",
"element": "guardian",
"transform": "copy",
"parameter": [
{
"valueId": "gName"
}
]
}
]
},
{
"name": "rule7",
"source": [
{
"context": "src",
"element": "v",
"variable": "v"
}
],
"target": [
{
"context": "tgt",
"contextType": "variable",
"element": "vaccineDetails",
"variable": "tv"
}
],
"dependent": [
{
"name": "mapVaccineDetails",
"variable": [
"v",
"tv"
]
}
]
}
]
},
{
"name": "mapVaccineDetails",
"typeMode": "none",
"input": [
{
"name": "src",
"type": "BackboneElement",
"mode": "source"
},
{
"name": "tgt",
"type": "ModelVaccineDetails",
"mode": "target"
}
],
"rule": [
{
"name": "rule8",
"source": [
{
"context": "src",
"element": "tg",
"variable": "tg"
}
],
"target": [
{
"contextType": "variable",
"variable": "coding",
"transform": "create",
"parameter": [
{
"valueString": "Coding"
}
]
},
{
"context": "coding",
"contextType": "variable",
"element": "code",
"transform": "copy",
"parameter": [
{
"valueId": "tg"
}
]
},
{
"context": "coding",
"contextType": "variable",
"element": "system",
"transform": "copy",
"parameter": [
{
"valueString": "http://id.who.int/icd/release/11/mms"
}
]
},
{
"context": "tgt",
"contextType": "variable",
"element": "disease",
"transform": "copy",
"parameter": [
{
"valueId": "coding"
}
]
}
]
},
{
"name": "rule9",
"source": [
{
"context": "src",
"element": "vp",
"variable": "vp"
}
],
"target": [
{
"contextType": "variable",
"variable": "coding",
"transform": "create",
"parameter": [
{
"valueString": "Coding"
}
]
},
{
"context": "coding",
"contextType": "variable",
"element": "code",
"transform": "copy",
"parameter": [
{
"valueId": "vp"
}
]
},
{
"context": "coding",
"contextType": "variable",
"element": "system",
"transform": "copy",
"parameter": [
{
"valueString": "http://id.who.int/icd/release/11/mms"
}
]
},
{
"contextType": "variable",
"variable": "code",
"transform": "create",
"parameter": [
{
"valueString": "CodeableConcept"
}
]
},
{
"context": "code",
"contextType": "variable",
"element": "coding",
"transform": "copy",
"parameter": [
{
"valueId": "coding"
}
]
},
{
"context": "tgt",
"contextType": "variable",
"element": "vaccineClassification",
"transform": "copy",
"parameter": [
{
"valueId": "code"
}
]
}
]
},
{
"name": "rule10",
"source": [
{
"context": "src",
"element": "mp",
"variable": "mp"
}
],
"target": [
{
"contextType": "variable",
"variable": "id",
"transform": "create",
"parameter": [
{
"valueString": "Identifier"
}
]
},
{
"context": "id",
"contextType": "variable",
"element": "value",
"transform": "copy",
"parameter": [
{
"valueId": "mp"
}
]
},
{
"context": "tgt",
"contextType": "variable",
"element": "vaccineTradeItem",
"transform": "copy",
"parameter": [
{
"valueId": "id"
}
]
}
]
},
{
"name": "rule11",
"source": [
{
"context": "src",
"element": "ma",
"variable": "ma"
}
],
"target": [
{
"context": "tgt",
"contextType": "variable",
"element": "manufacturer",
"transform": "copy",
"parameter": [
{
"valueId": "ma"
}
]
}
]
},
{
"name": "rule12",
"source": [
{
"context": "src",
"element": "mid",
"variable": "mid"
}
],
"target": [
{
"contextType": "variable",
"variable": "id",
"transform": "create",
"parameter": [
{
"valueString": "Identifier"
}
]
},
{
"context": "id",
"contextType": "variable",
"element": "value",
"transform": "copy",
"parameter": [
{
"valueId": "mid"
}
]
},
{
"context": "tgt",
"contextType": "variable",
"element": "manufacturerId",
"transform": "copy",
"parameter": [
{
"valueId": "id"
}
]
}
]
},
{
"name": "rule13",
"source": [
{
"context": "src",
"element": "dt",
"variable": "dt"
}
],
"target": [
{
"context": "tgt",
"contextType": "variable",
"element": "date",
"transform": "copy",
"parameter": [
{
"valueId": "dt"
}
]
}
]
},
{
"name": "rule14",
"source": [
{
"context": "src",
"element": "bo",
"variable": "bo"
}
],
"target": [
{
"context": "tgt",
"contextType": "variable",
"element": "batchNo",
"transform": "copy",
"parameter": [
{
"valueId": "bo"
}
]
}
]
},
{
"name": "rule18",
"source": [
{
"context": "src"
}
],
"target": [
{
"contextType": "variable",
"variable": "period",
"transform": "create",
"parameter": [
{
"valueString": "Period"
}
]
}
],
"rule": [
{
"name": "rule15",
"source": [
{
"context": "src",
"element": "vls",
"variable": "start"
}
],
"target": [
{
"context": "period",
"contextType": "variable",
"element": "start",
"transform": "copy",
"parameter": [
{
"valueId": "start"
}
]
}
]
},
{
"name": "rule16",
"source": [
{
"context": "src",
"element": "vle",
"variable": "end"
}
],
"target": [
{
"context": "period",
"contextType": "variable",
"element": "end",
"transform": "copy",
"parameter": [
{
"valueId": "end"
}
]
}
]
},
{
"name": "rule17",
"source": [
{
"context": "src"
}
],
"target": [
{
"context": "tgt",
"contextType": "variable",
"element": "validityPeriod",
"transform": "copy",
"parameter": [
{
"valueId": "period"
}
]
}
]
}
]
},
{
"name": "rule19",
"source": [
{
"context": "src",
"element": "cn",
"variable": "cn"
}
],
"target": [
{
"context": "tgt",
"contextType": "variable",
"element": "clinicianName",
"transform": "copy",
"parameter": [
{
"valueId": "cn"
}
]
}
]
},
{
"name": "rule21",
"source": [
{
"context": "src",
"element": "is",
"variable": "is"
}
],
"target": [
{
"context": "tgt",
"contextType": "variable",
"element": "issuer",
"variable": "issuer"
},
{
"context": "issuer",
"contextType": "variable",
"element": "reference",
"transform": "append",
"parameter": [
{
"valueString": "Organization/"
},
{
"valueId": "is"
}
]
}
]
},
{
"name": "rule20",
"source": [
{
"context": "src",
"element": "dn",
"variable": "dn"
}
],
"target": [
{
"contextType": "variable",
"variable": "coding",
"transform": "create",
"parameter": [
{
"valueString": "Coding"
}
]
},
{
"context": "coding",
"contextType": "variable",
"element": "code",
"transform": "copy",
"parameter": [
{
"valueId": "dn"
}
]
},
{
"context": "coding",
"contextType": "variable",
"element": "system",
"transform": "copy",
"parameter": [
{
"valueString": "http://smart.who.int/icvp/CodeSystem/doseNumber"
}
]
},
{
"contextType": "variable",
"variable": "code",
"transform": "create",
"parameter": [
{
"valueString": "CodeableConcept"
}
]
},
{
"context": "code",
"contextType": "variable",
"element": "coding",
"transform": "copy",
"parameter": [
{
"valueId": "coding"
}
]
},
{
"context": "tgt",
"contextType": "variable",
"element": "doseNumber",
"transform": "copy",
"parameter": [
{
"valueId": "code"
}
]
}
]
}
]
},
{
"name": "generateNarrativeText",
"typeMode": "none",
"documentation": "helper function",
"input": [
{
"name": "src",
"type": "Section",
"mode": "source"
},
{
"name": "text",
"type": "string",
"mode": "target"
}
],
"rule": [
{
"name": "setstatus",
"source": [
{
"context": "src"
}
],
"target": [
{
"context": "text",
"contextType": "variable",
"element": "status",
"transform": "copy",
"parameter": [
{
"valueString": "empty"
}
]
}
]
},
{
"name": "setdiv",
"source": [
{
"context": "src"
}
],
"target": [
{
"context": "text",
"contextType": "variable",
"element": "div",
"transform": "copy",
"parameter": [
{
"valueString": "<div>narrative not available</div>"
}
]
}
]
}
]
},
{
"name": "humanNameToHumanName",
"typeMode": "none",
"input": [
{
"name": "sourceName",
"mode": "source"
},
{
"name": "targetName",
"type": "HumanName",
"mode": "target"
}
],
"rule": [
{
"name": "CopyUse",
"source": [
{
"context": "sourceName",
"element": "use",
"variable": "use"
}
],
"target": [
{
"context": "targetName",
"contextType": "variable",
"element": "use",
"transform": "copy",
"parameter": [
{
"valueId": "use"
}
]
}
]
},
{
"name": "CopyText",
"source": [
{
"context": "sourceName",
"element": "text",
"variable": "text"
}
],
"target": [
{
"context": "targetName",
"contextType": "variable",
"element": "text",
"transform": "copy",
"parameter": [
{
"valueId": "text"
}
]
}
]
},
{
"name": "CopyFamily",
"source": [
{
"context": "sourceName",
"element": "family",
"variable": "family"
}
],
"target": [
{
"context": "targetName",
"contextType": "variable",
"element": "family",
"transform": "copy",
"parameter": [
{
"valueId": "family"
}
]
}
]
},
{
"name": "CopyGiven",
"source": [
{
"context": "sourceName",
"element": "given",
"variable": "given"
}
],
"target": [
{
"context": "targetName",
"contextType": "variable",
"element": "given",
"transform": "copy",
"parameter": [
{
"valueId": "given"
}
]
}
]
},
{
"name": "CopyPrefix",
"source": [
{
"context": "sourceName",
"element": "prefix",
"variable": "prefix"
}
],
"target": [
{
"context": "targetName",
"contextType": "variable",
"element": "prefix",
"transform": "copy",
"parameter": [
{
"valueId": "prefix"
}
]
}
]
},
{
"name": "CopySuffix",
"source": [
{
"context": "sourceName",
"element": "suffix",
"variable": "suffix"
}
],
"target": [
{
"context": "targetName",
"contextType": "variable",
"element": "suffix",
"transform": "copy",
"parameter": [
{
"valueId": "suffix"
}
]
}
]
},
{
"name": "copyPeriod",
"source": [
{
"context": "sourceName",
"element": "period",
"variable": "sourcePeriod"
}
],
"target": [
{
"context": "targetName",
"contextType": "variable",
"element": "period",
"variable": "targetPeriod"
}
],
"rule": [
{
"name": "CopyPeriod",
"source": [
{
"context": "sourcePeriod"
}
],
"target": [
{
"context": "sourcePeriod",
"contextType": "variable"
}
],
"dependent": [
{
"name": "periodToPeriod",
"variable": [
"sourcePeriod",
"targetPeriod"
]
}
]
}
]
}
]
},
{
"name": "periodToPeriod",
"typeMode": "none",
"input": [
{
"name": "sourcePeriod",
"mode": "source"
},
{
"name": "targetPeriod",
"type": "Period",
"mode": "target"
}
],
"rule": [
{
"name": "set period start",
"source": [
{
"context": "sourcePeriod",
"element": "start",
"variable": "start"
}
],
"target": [
{
"context": "targetPeriod",
"contextType": "variable",
"element": "start",
"transform": "copy",
"parameter": [
{
"valueId": "start"
}
]
}
]
},
{
"name": "set period end",
"source": [
{
"context": "sourcePeriod",
"element": "end",
"variable": "end"
}
],
"target": [
{
"context": "targetPeriod",
"contextType": "variable",
"element": "end",
"transform": "copy",
"parameter": [
{
"valueId": "end"
}
]
}
]
}
]
}
]
}