WHO Digital Documentation of COVID-19 Certificates (DDCC)
1.0.1 - release
This page is part of the WHO Digital Documentation of COVID-19 Certificates (DDCC) (v1.0.1: releases Draft) based on FHIR (HL7® FHIR® Standard) R4. This is the current published version. For a full list of available versions, see the Directory of published versions
Draft as of 2024-12-18 |
{
"resourceType" : "StructureMap",
"id" : "SHCtoDDCC",
"text" : {
"status" : "generated",
"div" : "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p class=\"res-header-id\"><b>Generated Narrative: StructureMap SHCtoDDCC</b></p><a name=\"SHCtoDDCC\"> </a><a name=\"hcSHCtoDDCC\"> </a><a name=\"SHCtoDDCC-en-US\"> </a><pre class=\"fml\">\r\n<b>map</b><span style=\"color: navy\"> "</span>http://smart.who.int/ddcc/StructureMap/SHCtoDDCC<span style=\"color: navy\">" = "</span>SHCtoDDCC<span style=\"color: navy\">"\r\n\r\n</span><b>uses</b><span style=\"color: navy\"> "</span>http://hl7.org/fhir/uv/shc-vaccination/StructureDefinition/shc-vaccination-bundle-dm<span style=\"color: navy\">" </span><b>alias </b>SHCVaccinationBundleDM <b>as </b><b>source</b>\r\n<b>uses</b><span style=\"color: navy\"> "</span>http://hl7.org/fhir/uv/shc-vaccination/StructureDefinition/shc-patient-general-dm<span style=\"color: navy\">" </span><b>alias </b>SHCPatientDM <b>as </b><b>source</b>\r\n<b>uses</b><span style=\"color: navy\"> "</span>http://hl7.org/fhir/uv/shc-vaccination/StructureDefinition/shc-vaccination-dm<span style=\"color: navy\">" </span><b>alias </b>SHCImmunizationDM <b>as </b><b>source</b>\r\n<b>uses</b><span style=\"color: navy\"> "</span><a href=\"http://hl7.org/fhir/R4/bundle.html\" title=\"Bundle\">http://hl7.org/fhir/StructureDefinition/Bundle</a><span style=\"color: navy\">" </span><b>alias </b>Bundle <b>as </b><b>target</b>\r\n<b>uses</b><span style=\"color: navy\"> "</span><a href=\"StructureDefinition-DDCCDocument.html\" title=\"DDCC Document\">http://smart.who.int/ddcc/StructureDefinition/DDCCDocument</a><span style=\"color: navy\">" </span><b>alias </b>DDCCDocument <b>as </b><b>target</b>\r\n<b>uses</b><span style=\"color: navy\"> "</span><a href=\"StructureDefinition-DDCCPatient.html\" title=\"DDCC Patient\">http://smart.who.int/ddcc/StructureDefinition/DDCCPatient</a><span style=\"color: navy\">" </span><b>alias </b>DDCCPatient <b>as </b><b>target</b>\r\n<b>uses</b><span style=\"color: navy\"> "</span><a href=\"StructureDefinition-DDCCComposition.html\" title=\"DDCC Composition\">http://smart.who.int/ddcc/StructureDefinition/DDCCComposition</a><span style=\"color: navy\">" </span><b>alias </b>DDCCComposition <b>as </b><b>target</b>\r\n<b>uses</b><span style=\"color: navy\"> "</span><a href=\"StructureDefinition-DDCCOrganization.html\" title=\"DDCC Organization\">http://smart.who.int/ddcc/StructureDefinition/DDCCOrganization</a><span style=\"color: navy\">" </span><b>alias </b>DDCCOrganization <b>as </b><b>target</b>\r\n<b>uses</b><span style=\"color: navy\"> "</span>http://smart.who.int/ddcc/StructureDefinition/DDCCCountryOfVaccination<span style=\"color: navy\">" </span><b>alias </b>DDCCCountryOfVaccination <b>as </b><b>target</b>\r\n<b>uses</b><span style=\"color: navy\"> "</span>http://smart.who.int/ddcc/StructureDefinition/DDCCVaccineBrand<span style=\"color: navy\">" </span><b>alias </b>DDCCVaccineBrand <b>as </b><b>target</b>\r\n<b>uses</b><span style=\"color: navy\"> "</span><a href=\"StructureDefinition-DDCCImmunization.html\" title=\"DDCC Immunization\">http://smart.who.int/ddcc/StructureDefinition/DDCCImmunization</a><span style=\"color: navy\">" </span><b>alias </b>DDCCImmunization <b>as </b><b>target</b>\r\n\r\n<b>group </b>SHCtoDDCC<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">shc</span><span style=\"color: navy\"> : </span>SHCVaccinationBundleDM, <b>target</b> <span style=\"color: maroon\">ddcc</span><span style=\"color: navy\"> : </span>Bundle<span style=\"color: navy\">)</span><span style=\"color: navy\"> {\r\n</span> shc.entry<b> as </b><span style=\"color: maroon\">patientEntrySHC</span><b> then</b><span style=\"color: navy\"> {\r\n</span> patientEntrySHC.resource<span style=\"color: navy\"> : </span>Patient first<b> as </b><span style=\"color: maroon\">patientSHC</span><b> then</b><span style=\"color: navy\"> {\r\n</span> shc.entry<b> as </b><span style=\"color: maroon\">immunizationEntrySHC</span><b> then</b><span style=\"color: navy\"> {\r\n</span> immunizationEntrySHC.resource<span style=\"color: navy\"> : </span>Immunization<b> as </b><span style=\"color: maroon\">immunizationSHC</span><b> then</b><span style=\"color: navy\"> {\r\n</span> immunizationEntrySHC<span style=\"color: navy\"><b> -> </b></span>ddcc.type = <span style=\"color: blue\">'collection'</span> <i>"Bundle type"</i><span style=\"color: navy\">;</span>\r\n immunizationEntrySHC<span style=\"color: navy\"><b> -> </b></span>ddcc.entry<b> as </b><span style=\"color: maroon\">ddccEntry</span><b> then</b><span style=\"color: navy\"> {\r\n</span> immunizationSHC<span style=\"color: navy\"><b> -> </b></span>ddccEntry.resource = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Bundle'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">ddccdocument</span><b> then</b><span style=\"color: navy\"> {\r\n</span> immunizationSHC<span style=\"color: navy\"><b> -> </b></span>ddccdocument.type = <span style=\"color: blue\">'document'</span> <i>"DDCC Document type"</i><span style=\"color: navy\">;</span>\r\n patientSHC<span style=\"color: navy\"><b> -> </b></span>ddccdocument.entry<b> as </b><span style=\"color: maroon\">ddccDocumentEntry</span><b> then</b><span style=\"color: navy\"> {\r\n</span> patientSHC<span style=\"color: navy\"><b> -> </b></span>ddccDocumentEntry.resource = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Patient'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">patientDDCC</span><b> then </b>SHCPatienttoDDCC<span style=\"color: navy\">(</span><span style=\"color: maroon\">patientSHC</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">patientDDCC</span><span style=\"color: navy\">)</span> <i>"DDCC Document patient resource"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"DDCC Document patient entry"</i><span style=\"color: navy\">;</span>\r\n immunizationSHC<span style=\"color: navy\"><b> -> </b></span>ddccdocument.entry<b> as </b><span style=\"color: maroon\">ddccDocumentEntry</span><b> then</b><span style=\"color: navy\"> {\r\n</span> immunizationSHC<span style=\"color: navy\"><b> -> </b></span>ddccDocumentEntry.resource = <b>create</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'Immunization'</span><span style=\"color: navy\">)</span><b> as </b><span style=\"color: maroon\">immunizationDDCC</span><b> then </b>SHCImmunizationtoDDCC<span style=\"color: navy\">(</span><span style=\"color: maroon\">immunizationSHC</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">immunizationDDCC</span><span style=\"color: navy\">)</span> <i>"DDCC Document immunization resource"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"DDCC Document immunization entry"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"DDCC Document bundle"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"DDCC Document entry"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"Is immunization entry"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"For each immunization entry"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"Is Patient entry"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"map patient"</i><span style=\"color: navy\">;</span>\r\n<span style=\"color: navy\">}\r\n\r\n</span><b>group </b>SHCPatienttoDDCC<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">patient</span><span style=\"color: navy\"> : </span>SHCPatientDM, <b>target</b> <span style=\"color: maroon\">patientDDCC</span><span style=\"color: navy\"> : </span>DDCCPatient<span style=\"color: navy\">)</span><span style=\"color: navy\"> {\r\n</span> immunization.status<b> as </b><span style=\"color: maroon\">status</span><span style=\"color: navy\"><b> -> </b></span>immunizationDDCC.status = <span style=\"color: maroon\">status</span> <i>"Status"</i><span style=\"color: navy\">;</span>\r\n immunization.coding<b> as </b><span style=\"color: maroon\">coding</span><span style=\"color: navy\"><b> -> </b></span>immunizationDDCC.coding = <span style=\"color: maroon\">coding</span> <i>"Coding"</i><span style=\"color: navy\">;</span>\r\n immunization.occurrence<b> as </b><span style=\"color: maroon\">occurrenceDateTime</span><span style=\"color: navy\"><b> -> </b></span>immunizationDDCC.occurrence = <span style=\"color: maroon\">occurrenceDateTime</span> <i>"Occurrence DateTime"</i><span style=\"color: navy\">;</span>\r\n immunization.manfacturer<b> as </b><span style=\"color: maroon\">manfacturer</span><span style=\"color: navy\"><b> -> </b></span>immunizationDDCC.manfacturer = <span style=\"color: maroon\">manfacturer</span> <i>"Manufacturer"</i><span style=\"color: navy\">;</span>\r\n immunization.lotNumber<b> as </b><span style=\"color: maroon\">lotNumber</span><span style=\"color: navy\"><b> -> </b></span>immunizationDDCC.lotNumber = <span style=\"color: maroon\">lotNumber</span> <i>"Lot Number"</i><span style=\"color: navy\">;</span>\r\n<span style=\"color: navy\">}\r\n\r\n</span><b>group </b>SHCImmunizationtoDDCC<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">immunization</span><span style=\"color: navy\"> : </span>SHCImmunizationDM, <b>target</b> <span style=\"color: maroon\">immunizationDDCC</span><span style=\"color: navy\"> : </span>DDCCImmunization<span style=\"color: navy\">)</span><span style=\"color: navy\"> {\r\n</span> immunization.status<b> as </b><span style=\"color: maroon\">status</span><span style=\"color: navy\"><b> -> </b></span>immunizationDDCC.status = <span style=\"color: maroon\">status</span> <i>"Status"</i><span style=\"color: navy\">;</span>\r\n immunization.coding<b> as </b><span style=\"color: maroon\">coding</span><span style=\"color: navy\"><b> -> </b></span>immunizationDDCC.coding = <span style=\"color: maroon\">coding</span> <i>"Coding"</i><span style=\"color: navy\">;</span>\r\n immunization.occurrence<b> as </b><span style=\"color: maroon\">occurrenceDateTime</span><span style=\"color: navy\"><b> -> </b></span>immunizationDDCC.occurrence = <span style=\"color: maroon\">occurrenceDateTime</span> <i>"Occurrence DateTime"</i><span style=\"color: navy\">;</span>\r\n immunization.manfacturer<b> as </b><span style=\"color: maroon\">manfacturer</span><span style=\"color: navy\"><b> -> </b></span>immunizationDDCC.manfacturer = <span style=\"color: maroon\">manfacturer</span> <i>"Manufacturer"</i><span style=\"color: navy\">;</span>\r\n immunization.lotNumber<b> as </b><span style=\"color: maroon\">lotNumber</span><span style=\"color: navy\"><b> -> </b></span>immunizationDDCC.lotNumber = <span style=\"color: maroon\">lotNumber</span> <i>"Lot Number"</i><span style=\"color: navy\">;</span>\r\n<span style=\"color: navy\">}\r\n\r\n</span></pre></div>"
},
"url" : "http://smart.who.int/ddcc/StructureMap/SHCtoDDCC",
"version" : "1.0.1",
"name" : "SHCtoDDCC",
"status" : "draft",
"date" : "2024-12-18T16:46:48+01: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://hl7.org/fhir/uv/shc-vaccination/StructureDefinition/shc-vaccination-bundle-dm",
"mode" : "source",
"alias" : "SHCVaccinationBundleDM"
},
{
"url" : "http://hl7.org/fhir/uv/shc-vaccination/StructureDefinition/shc-patient-general-dm",
"mode" : "source",
"alias" : "SHCPatientDM"
},
{
"url" : "http://hl7.org/fhir/uv/shc-vaccination/StructureDefinition/shc-vaccination-dm",
"mode" : "source",
"alias" : "SHCImmunizationDM"
},
{
"url" : "http://hl7.org/fhir/StructureDefinition/Bundle",
"mode" : "target",
"alias" : "Bundle"
},
{
"url" : "http://smart.who.int/ddcc/StructureDefinition/DDCCDocument",
"mode" : "target",
"alias" : "DDCCDocument"
},
{
"url" : "http://smart.who.int/ddcc/StructureDefinition/DDCCPatient",
"mode" : "target",
"alias" : "DDCCPatient"
},
{
"url" : "http://smart.who.int/ddcc/StructureDefinition/DDCCComposition",
"mode" : "target",
"alias" : "DDCCComposition"
},
{
"url" : "http://smart.who.int/ddcc/StructureDefinition/DDCCOrganization",
"mode" : "target",
"alias" : "DDCCOrganization"
},
{
"url" : "http://smart.who.int/ddcc/StructureDefinition/DDCCCountryOfVaccination",
"mode" : "target",
"alias" : "DDCCCountryOfVaccination"
},
{
"url" : "http://smart.who.int/ddcc/StructureDefinition/DDCCVaccineBrand",
"mode" : "target",
"alias" : "DDCCVaccineBrand"
},
{
"url" : "http://smart.who.int/ddcc/StructureDefinition/DDCCImmunization",
"mode" : "target",
"alias" : "DDCCImmunization"
}
],
"group" : [
{
"name" : "SHCtoDDCC",
"typeMode" : "none",
"input" : [
{
"name" : "shc",
"type" : "SHCVaccinationBundleDM",
"mode" : "source"
},
{
"name" : "ddcc",
"type" : "Bundle",
"mode" : "target"
}
],
"rule" : [
{
"name" : "map patient",
"source" : [
{
"context" : "shc",
"element" : "entry",
"variable" : "patientEntrySHC"
}
],
"rule" : [
{
"name" : "Is Patient entry",
"source" : [
{
"context" : "patientEntrySHC",
"type" : "Patient",
"element" : "resource",
"listMode" : "first",
"variable" : "patientSHC"
}
],
"rule" : [
{
"name" : "For each immunization entry",
"source" : [
{
"context" : "shc",
"element" : "entry",
"variable" : "immunizationEntrySHC"
}
],
"rule" : [
{
"name" : "Is immunization entry",
"source" : [
{
"context" : "immunizationEntrySHC",
"type" : "Immunization",
"element" : "resource",
"variable" : "immunizationSHC"
}
],
"rule" : [
{
"name" : "Bundle type",
"source" : [
{
"context" : "immunizationEntrySHC"
}
],
"target" : [
{
"context" : "ddcc",
"contextType" : "variable",
"element" : "type",
"transform" : "copy",
"parameter" : [
{
"valueString" : "collection"
}
]
}
]
},
{
"name" : "DDCC Document entry",
"source" : [
{
"context" : "immunizationEntrySHC"
}
],
"target" : [
{
"context" : "ddcc",
"contextType" : "variable",
"element" : "entry",
"variable" : "ddccEntry"
}
],
"rule" : [
{
"name" : "DDCC Document bundle",
"source" : [
{
"context" : "immunizationSHC"
}
],
"target" : [
{
"context" : "ddccEntry",
"contextType" : "variable",
"element" : "resource",
"variable" : "ddccdocument",
"transform" : "create",
"parameter" : [
{
"valueString" : "Bundle"
}
]
}
],
"rule" : [
{
"name" : "DDCC Document type",
"source" : [
{
"context" : "immunizationSHC"
}
],
"target" : [
{
"context" : "ddccdocument",
"contextType" : "variable",
"element" : "type",
"transform" : "copy",
"parameter" : [
{
"valueString" : "document"
}
]
}
]
},
{
"name" : "DDCC Document patient entry",
"source" : [
{
"context" : "patientSHC"
}
],
"target" : [
{
"context" : "ddccdocument",
"contextType" : "variable",
"element" : "entry",
"variable" : "ddccDocumentEntry"
}
],
"rule" : [
{
"name" : "DDCC Document patient resource",
"source" : [
{
"context" : "patientSHC"
}
],
"target" : [
{
"context" : "ddccDocumentEntry",
"contextType" : "variable",
"element" : "resource",
"variable" : "patientDDCC",
"transform" : "create",
"parameter" : [
{
"valueString" : "Patient"
}
]
}
],
"dependent" : [
{
"name" : "SHCPatienttoDDCC",
"variable" : [
"patientSHC",
"patientDDCC"
]
}
]
}
]
},
{
"name" : "DDCC Document immunization entry",
"source" : [
{
"context" : "immunizationSHC"
}
],
"target" : [
{
"context" : "ddccdocument",
"contextType" : "variable",
"element" : "entry",
"variable" : "ddccDocumentEntry"
}
],
"rule" : [
{
"name" : "DDCC Document immunization resource",
"source" : [
{
"context" : "immunizationSHC"
}
],
"target" : [
{
"context" : "ddccDocumentEntry",
"contextType" : "variable",
"element" : "resource",
"variable" : "immunizationDDCC",
"transform" : "create",
"parameter" : [
{
"valueString" : "Immunization"
}
]
}
],
"dependent" : [
{
"name" : "SHCImmunizationtoDDCC",
"variable" : [
"immunizationSHC",
"immunizationDDCC"
]
}
]
}
]
}
]
}
]
}
]
}
]
}
]
}
]
}
]
},
{
"name" : "SHCPatienttoDDCC",
"typeMode" : "none",
"input" : [
{
"name" : "patient",
"type" : "SHCPatientDM",
"mode" : "source"
},
{
"name" : "patientDDCC",
"type" : "DDCCPatient",
"mode" : "target"
}
],
"rule" : [
{
"name" : "Status",
"source" : [
{
"context" : "immunization",
"element" : "status",
"variable" : "status"
}
],
"target" : [
{
"context" : "immunizationDDCC",
"contextType" : "variable",
"element" : "status",
"transform" : "copy",
"parameter" : [
{
"valueId" : "status"
}
]
}
]
},
{
"name" : "Coding",
"source" : [
{
"context" : "immunization",
"element" : "coding",
"variable" : "coding"
}
],
"target" : [
{
"context" : "immunizationDDCC",
"contextType" : "variable",
"element" : "coding",
"transform" : "copy",
"parameter" : [
{
"valueId" : "coding"
}
]
}
]
},
{
"name" : "Occurrence DateTime",
"source" : [
{
"context" : "immunization",
"element" : "occurrence",
"variable" : "occurrenceDateTime"
}
],
"target" : [
{
"context" : "immunizationDDCC",
"contextType" : "variable",
"element" : "occurrence",
"transform" : "copy",
"parameter" : [
{
"valueId" : "occurrenceDateTime"
}
]
}
]
},
{
"name" : "Manufacturer",
"source" : [
{
"context" : "immunization",
"element" : "manfacturer",
"variable" : "manfacturer"
}
],
"target" : [
{
"context" : "immunizationDDCC",
"contextType" : "variable",
"element" : "manfacturer",
"transform" : "copy",
"parameter" : [
{
"valueId" : "manfacturer"
}
]
}
]
},
{
"name" : "Lot Number",
"source" : [
{
"context" : "immunization",
"element" : "lotNumber",
"variable" : "lotNumber"
}
],
"target" : [
{
"context" : "immunizationDDCC",
"contextType" : "variable",
"element" : "lotNumber",
"transform" : "copy",
"parameter" : [
{
"valueId" : "lotNumber"
}
]
}
]
}
]
},
{
"name" : "SHCImmunizationtoDDCC",
"typeMode" : "none",
"input" : [
{
"name" : "immunization",
"type" : "SHCImmunizationDM",
"mode" : "source"
},
{
"name" : "immunizationDDCC",
"type" : "DDCCImmunization",
"mode" : "target"
}
],
"rule" : [
{
"name" : "Status",
"source" : [
{
"context" : "immunization",
"element" : "status",
"variable" : "status"
}
],
"target" : [
{
"context" : "immunizationDDCC",
"contextType" : "variable",
"element" : "status",
"transform" : "copy",
"parameter" : [
{
"valueId" : "status"
}
]
}
]
},
{
"name" : "Coding",
"source" : [
{
"context" : "immunization",
"element" : "coding",
"variable" : "coding"
}
],
"target" : [
{
"context" : "immunizationDDCC",
"contextType" : "variable",
"element" : "coding",
"transform" : "copy",
"parameter" : [
{
"valueId" : "coding"
}
]
}
]
},
{
"name" : "Occurrence DateTime",
"source" : [
{
"context" : "immunization",
"element" : "occurrence",
"variable" : "occurrenceDateTime"
}
],
"target" : [
{
"context" : "immunizationDDCC",
"contextType" : "variable",
"element" : "occurrence",
"transform" : "copy",
"parameter" : [
{
"valueId" : "occurrenceDateTime"
}
]
}
]
},
{
"name" : "Manufacturer",
"source" : [
{
"context" : "immunization",
"element" : "manfacturer",
"variable" : "manfacturer"
}
],
"target" : [
{
"context" : "immunizationDDCC",
"contextType" : "variable",
"element" : "manfacturer",
"transform" : "copy",
"parameter" : [
{
"valueId" : "manfacturer"
}
]
}
]
},
{
"name" : "Lot Number",
"source" : [
{
"context" : "immunization",
"element" : "lotNumber",
"variable" : "lotNumber"
}
],
"target" : [
{
"context" : "immunizationDDCC",
"contextType" : "variable",
"element" : "lotNumber",
"transform" : "copy",
"parameter" : [
{
"valueId" : "lotNumber"
}
]
}
]
}
]
}
]
}