This is the continuous build for version 1.0.0. This version is based on the current content of https://github.com/WorldHealthOrganization/ddcc and changes regularly.
Draft as of 2024-04-24 |
{
"resourceType" : "StructureMap",
"id" : "DDCCtoEUdcc",
"meta" : {
"versionId" : "1",
"lastUpdated" : "2022-03-01T19:17:57.411+00:00"
},
"text" : {
"status" : "generated",
"div" : "<div xmlns=\"http://www.w3.org/1999/xhtml\"><pre>map "http://smart.who.int/ddcc/StructureMap/DDCCtoEUdcc" = "DDCCtoEUdcc"\r\n\r\n\r\nuses "http://smart.who.int/ddcc/StructureDefinition/DDCCVSomposition" alias DDCC as source\r\nuses "http://smart.who.int/ddcc/StructureDefinition/DDCCDocument" alias DDCCDocument as source\r\nuses "http://smart.who.int/ddcc/StructureDefinition/DDCCPatient" alias DDCCPatient as source\r\nuses "http://smart.who.int/ddcc/StructureDefinition/DDCCVSComposition" alias DDCCVSComposition as source\r\nuses "http://smart.who.int/ddcc/StructureDefinition/DDCCOrganization" alias DDCCOrganization as source\r\nuses "http://smart.who.int/ddcc/StructureDefinition/DDCCCountryOfVaccination" alias DDCCCountryOfVaccination as source\r\nuses "http://smart.who.int/ddcc/StructureDefinition/DDCCVaccineBrand" alias DDCCVaccineBrand as source\r\nuses "http://smart.who.int/ddcc/StructureDefinition/DDCCImmunization" alias DDCCImmunization as source\r\nuses "http://hl7.eu/fhir/ig/dcc/StructureDefinition/HC1" alias EUDCC as target\r\nuses "http://hl7.eu/fhir/ig/dcc/StructureDefinition/v" alias vacEvent as target\r\n\r\ngroup DecodeDDCCtoQR(source ddcc : DDCCDocument, target qr : EUDCC) {\r\n ddcc -> qr.ver = 'XXX' "Version";\r\n ddcc.entry as entry then {\r\n entry.resource : DDCCPatient as patient then DecodePatientToQR(patient, qr) "Patient";\r\n } "Patient";\r\n ddcc.entry as entry then {\r\n entry.resource : Immunization as immunization then DecodeImmunizationToQR(ddcc, immunization, qr) "Immunization";\r\n } "Immunization";\r\n}\r\n\r\ngroup DecodePatientToQR(source patient : DDCCPatient, target qr : EUDCC) {\r\n patient.birthDate as birthDate -> qr.dob = birthDate;\r\n patient.name as name then {\r\n name.text as text -> qr.nam = text;\r\n };\r\n}\r\n\r\ngroup DecodeImmunizationToQR(source ddcc : DDCCDocument, source immunization : DDCCImmunization, target qr : EUDCC) {\r\n immunization -> qr.v = create('http://hl7.eu/fhir/ig/dcc/StructureDefinition/v') as vacEvent then {\r\n immunization.protocolApplied as protocol then {\r\n protocol.doseNumberPositiveInt as dose -> vacEvent.dn = dose;\r\n protocol.seriesDosesPositiveInt as doseNum -> vacEvent.sd = doseNum;\r\n protocol.targetDisease as targetDisease then {\r\n targetDisease.coding as coding then {\r\n coding.code as code -> vacEvent.tg = code;\r\n } "Protocol-Disease-Code";\r\n } "Protocol-Disease";\r\n } "Protocol";\r\n immunization.occurrenceDateTime as date -> vacEvent.dt = date;\r\n // TODO: need to populate vacEvent.ma market authorization holder\r\n immunization.extension as country where (url = 'http://smart.who.int/ddcc/StructureDefinition/DDCCCountryOfEvent') then {\r\n country.valueCode as code -> vacEvent.co = code;\r\n } "Country";\r\n // immunization.extension : DDCCBrand as brand\r\n immunization.extension as brand where (url = 'http://smart.who.int/ddcc/StructureDefinition/DDCCEventBrand') then {\r\n brand.valueCoding as valueCoding then {\r\n valueCoding.code as code -> vacEvent.mp = code;\r\n } "Vaccine-Brand-Code";\r\n } "Vaccine-Brand";\r\n // immunization.vaccineCode : Coding as vaccineCode then {\r\n immunization.vaccineCode as vaccineCode then {\r\n vaccineCode.coding as coding then {\r\n coding.code as code -> vacEvent.vp = code;\r\n } "Vaccine-Code";\r\n } "Vaccine-Coding";\r\n ddcc.entry as entry then {\r\n // entry.resource : DDCCOrganization as organization\r\n entry.resource : Organization as organization then {\r\n organization.name as name -> vacEvent.is = name;\r\n } "Centre-Name";\r\n } "Vaccination-Centre";\r\n ddcc.entry as entry then {\r\n // entry.resource : DDCCVSComposition as composition\r\n entry.resource : Composition as composition then {\r\n composition.identifier as identifier then {\r\n identifier.value as value -> vacEvent.ci = value;\r\n } "Vaccination-Event-ID-Value";\r\n } "Vaccination-Event-ID";\r\n } "Vaccination-Event";\r\n } "Vaccination";\r\n}\r\n\r\n</pre></div>"
},
"url" : "http://smart.who.int/ddcc/StructureMap/DDCCtoEUdcc",
"version" : "1.0.0",
"name" : "DDCCtoEUdcc",
"status" : "draft",
"date" : "2024-04-24T00:11:34+00:00",
"publisher" : "WHO",
"contact" : [
{
"name" : "WHO",
"telecom" : [
{
"system" : "url",
"value" : "http://who.int"
}
]
}
],
"jurisdiction" : [
{
"coding" : [
{
"system" : "http://unstats.un.org/unsd/methods/m49/m49.htm",
"code" : "001"
}
]
}
],
"structure" : [
{
"url" : "http://smart.who.int/ddcc/StructureDefinition/DDCCVSomposition",
"mode" : "source",
"alias" : "DDCC"
},
{
"url" : "http://smart.who.int/ddcc/StructureDefinition/DDCCDocument",
"mode" : "source",
"alias" : "DDCCDocument"
},
{
"url" : "http://smart.who.int/ddcc/StructureDefinition/DDCCPatient",
"mode" : "source",
"alias" : "DDCCPatient"
},
{
"url" : "http://smart.who.int/ddcc/StructureDefinition/DDCCVSComposition",
"mode" : "source",
"alias" : "DDCCVSComposition"
},
{
"url" : "http://smart.who.int/ddcc/StructureDefinition/DDCCOrganization",
"mode" : "source",
"alias" : "DDCCOrganization"
},
{
"url" : "http://smart.who.int/ddcc/StructureDefinition/DDCCCountryOfVaccination",
"mode" : "source",
"alias" : "DDCCCountryOfVaccination"
},
{
"url" : "http://smart.who.int/ddcc/StructureDefinition/DDCCVaccineBrand",
"mode" : "source",
"alias" : "DDCCVaccineBrand"
},
{
"url" : "http://smart.who.int/ddcc/StructureDefinition/DDCCImmunization",
"mode" : "source",
"alias" : "DDCCImmunization"
},
{
"url" : "http://hl7.eu/fhir/ig/dcc/StructureDefinition/HC1",
"mode" : "target",
"alias" : "EUDCC"
},
{
"url" : "http://hl7.eu/fhir/ig/dcc/StructureDefinition/v",
"mode" : "target",
"alias" : "vacEvent"
}
],
"group" : [
{
"name" : "DecodeDDCCtoQR",
"typeMode" : "none",
"input" : [
{
"name" : "ddcc",
"type" : "DDCCDocument",
"mode" : "source"
},
{
"name" : "qr",
"type" : "EUDCC",
"mode" : "target"
}
],
"rule" : [
{
"name" : "Version",
"source" : [
{
"context" : "ddcc"
}
],
"target" : [
{
"context" : "qr",
"contextType" : "variable",
"element" : "ver",
"transform" : "copy",
"parameter" : [
{
"valueString" : "XXX"
}
]
}
]
},
{
"name" : "Patient",
"source" : [
{
"context" : "ddcc",
"element" : "entry",
"variable" : "entry"
}
],
"rule" : [
{
"name" : "Patient",
"source" : [
{
"context" : "entry",
"type" : "DDCCPatient",
"element" : "resource",
"variable" : "patient"
}
],
"dependent" : [
{
"name" : "DecodePatientToQR",
"variable" : [
"patient",
"qr"
]
}
]
}
]
},
{
"name" : "Immunization",
"source" : [
{
"context" : "ddcc",
"element" : "entry",
"variable" : "entry"
}
],
"rule" : [
{
"name" : "Immunization",
"source" : [
{
"context" : "entry",
"type" : "Immunization",
"element" : "resource",
"variable" : "immunization"
}
],
"dependent" : [
{
"name" : "DecodeImmunizationToQR",
"variable" : [
"ddcc",
"immunization",
"qr"
]
}
]
}
]
}
]
},
{
"name" : "DecodePatientToQR",
"typeMode" : "none",
"input" : [
{
"name" : "patient",
"type" : "DDCCPatient",
"mode" : "source"
},
{
"name" : "qr",
"type" : "EUDCC",
"mode" : "target"
}
],
"rule" : [
{
"name" : "birthDate",
"source" : [
{
"context" : "patient",
"element" : "birthDate",
"variable" : "birthDate"
}
],
"target" : [
{
"context" : "qr",
"contextType" : "variable",
"element" : "dob",
"transform" : "copy",
"parameter" : [
{
"valueId" : "birthDate"
}
]
}
]
},
{
"name" : "name",
"source" : [
{
"context" : "patient",
"element" : "name",
"variable" : "name"
}
],
"rule" : [
{
"name" : "text",
"source" : [
{
"context" : "name",
"element" : "text",
"variable" : "text"
}
],
"target" : [
{
"context" : "qr",
"contextType" : "variable",
"element" : "nam",
"transform" : "copy",
"parameter" : [
{
"valueId" : "text"
}
]
}
]
}
]
}
]
},
{
"name" : "DecodeImmunizationToQR",
"typeMode" : "none",
"input" : [
{
"name" : "ddcc",
"type" : "DDCCDocument",
"mode" : "source"
},
{
"name" : "immunization",
"type" : "DDCCImmunization",
"mode" : "source"
},
{
"name" : "qr",
"type" : "EUDCC",
"mode" : "target"
}
],
"rule" : [
{
"name" : "Vaccination",
"source" : [
{
"context" : "immunization"
}
],
"target" : [
{
"context" : "qr",
"contextType" : "variable",
"element" : "v",
"variable" : "vacEvent",
"transform" : "create",
"parameter" : [
{
"valueString" : "http://hl7.eu/fhir/ig/dcc/StructureDefinition/v"
}
]
}
],
"rule" : [
{
"name" : "Protocol",
"source" : [
{
"context" : "immunization",
"element" : "protocolApplied",
"variable" : "protocol"
}
],
"rule" : [
{
"name" : "doseNumberPositiveInt",
"source" : [
{
"context" : "protocol",
"element" : "doseNumberPositiveInt",
"variable" : "dose"
}
],
"target" : [
{
"context" : "vacEvent",
"contextType" : "variable",
"element" : "dn",
"transform" : "copy",
"parameter" : [
{
"valueId" : "dose"
}
]
}
]
},
{
"name" : "seriesDosesPositiveInt",
"source" : [
{
"context" : "protocol",
"element" : "seriesDosesPositiveInt",
"variable" : "doseNum"
}
],
"target" : [
{
"context" : "vacEvent",
"contextType" : "variable",
"element" : "sd",
"transform" : "copy",
"parameter" : [
{
"valueId" : "doseNum"
}
]
}
]
},
{
"name" : "Protocol-Disease",
"source" : [
{
"context" : "protocol",
"element" : "targetDisease",
"variable" : "targetDisease"
}
],
"rule" : [
{
"name" : "Protocol-Disease-Code",
"source" : [
{
"context" : "targetDisease",
"element" : "coding",
"variable" : "coding"
}
],
"rule" : [
{
"name" : "code",
"source" : [
{
"context" : "coding",
"element" : "code",
"variable" : "code"
}
],
"target" : [
{
"context" : "vacEvent",
"contextType" : "variable",
"element" : "tg",
"transform" : "copy",
"parameter" : [
{
"valueId" : "code"
}
]
}
]
}
]
}
]
}
]
},
{
"name" : "occurrenceDateTime",
"source" : [
{
"context" : "immunization",
"element" : "occurrenceDateTime",
"variable" : "date"
}
],
"target" : [
{
"context" : "vacEvent",
"contextType" : "variable",
"element" : "dt",
"transform" : "copy",
"parameter" : [
{
"valueId" : "date"
}
]
}
]
},
{
"name" : "Country",
"source" : [
{
"context" : "immunization",
"element" : "extension",
"variable" : "country",
"condition" : "(url = 'http://smart.who.int/ddcc/StructureDefinition/DDCCCountryOfEvent')"
}
],
"rule" : [
{
"name" : "valueCode",
"source" : [
{
"context" : "country",
"element" : "valueCode",
"variable" : "code"
}
],
"target" : [
{
"context" : "vacEvent",
"contextType" : "variable",
"element" : "co",
"transform" : "copy",
"parameter" : [
{
"valueId" : "code"
}
]
}
]
}
],
"documentation" : "TODO: need to populate vacEvent.ma market authorization holder"
},
{
"name" : "Vaccine-Brand",
"source" : [
{
"context" : "immunization",
"element" : "extension",
"variable" : "brand",
"condition" : "(url = 'http://smart.who.int/ddcc/StructureDefinition/DDCCEventBrand')"
}
],
"rule" : [
{
"name" : "Vaccine-Brand-Code",
"source" : [
{
"context" : "brand",
"element" : "valueCoding",
"variable" : "valueCoding"
}
],
"rule" : [
{
"name" : "code",
"source" : [
{
"context" : "valueCoding",
"element" : "code",
"variable" : "code"
}
],
"target" : [
{
"context" : "vacEvent",
"contextType" : "variable",
"element" : "mp",
"transform" : "copy",
"parameter" : [
{
"valueId" : "code"
}
]
}
]
}
]
}
],
"documentation" : "immunization.extension : DDCCBrand as brand"
},
{
"name" : "Vaccine-Coding",
"source" : [
{
"context" : "immunization",
"element" : "vaccineCode",
"variable" : "vaccineCode"
}
],
"rule" : [
{
"name" : "Vaccine-Code",
"source" : [
{
"context" : "vaccineCode",
"element" : "coding",
"variable" : "coding"
}
],
"rule" : [
{
"name" : "code",
"source" : [
{
"context" : "coding",
"element" : "code",
"variable" : "code"
}
],
"target" : [
{
"context" : "vacEvent",
"contextType" : "variable",
"element" : "vp",
"transform" : "copy",
"parameter" : [
{
"valueId" : "code"
}
]
}
]
}
]
}
],
"documentation" : "immunization.vaccineCode : Coding as vaccineCode then {"
},
{
"name" : "Vaccination-Centre",
"source" : [
{
"context" : "ddcc",
"element" : "entry",
"variable" : "entry"
}
],
"rule" : [
{
"name" : "Centre-Name",
"source" : [
{
"context" : "entry",
"type" : "Organization",
"element" : "resource",
"variable" : "organization"
}
],
"rule" : [
{
"name" : "name",
"source" : [
{
"context" : "organization",
"element" : "name",
"variable" : "name"
}
],
"target" : [
{
"context" : "vacEvent",
"contextType" : "variable",
"element" : "is",
"transform" : "copy",
"parameter" : [
{
"valueId" : "name"
}
]
}
]
}
],
"documentation" : "entry.resource : DDCCOrganization as organization"
}
]
},
{
"name" : "Vaccination-Event",
"source" : [
{
"context" : "ddcc",
"element" : "entry",
"variable" : "entry"
}
],
"rule" : [
{
"name" : "Vaccination-Event-ID",
"source" : [
{
"context" : "entry",
"type" : "Composition",
"element" : "resource",
"variable" : "composition"
}
],
"rule" : [
{
"name" : "Vaccination-Event-ID-Value",
"source" : [
{
"context" : "composition",
"element" : "identifier",
"variable" : "identifier"
}
],
"rule" : [
{
"name" : "value",
"source" : [
{
"context" : "identifier",
"element" : "value",
"variable" : "value"
}
],
"target" : [
{
"context" : "vacEvent",
"contextType" : "variable",
"element" : "ci",
"transform" : "copy",
"parameter" : [
{
"valueId" : "value"
}
]
}
]
}
]
}
],
"documentation" : "entry.resource : DDCCVSComposition as composition"
}
]
}
]
}
]
}
]
}
IG © 2021+ WHO. Package who.ddcc#1.0.0 based on FHIR 4.0.1. Generated 2024-04-24
Links: Table of Contents |
QA Report
| Issues
| Version History | License