Package | who.ddcc |
Resource Type | StructureMap |
Id | CoreDataSetVSLibrary |
FHIR Version | R4 |
Source | http://smart.who.int/ddcc/https://build.fhir.org/ig/WorldHealthOrganization/ddcc/StructureMap-CoreDataSetVSLibrary.html |
URL | http://smart.who.int/ddcc/StructureMap/CoreDataSetVSLibrary |
Version | 1.0.0 |
Status | draft |
Date | 2025-06-24T09:07:32+00:00 |
Name | CoreDataSetVSLibrary |
Realm | uv |
Authority | who |
No resources found
No resources found
Note: links and images are rebased to the (stated) source
Generated Narrative: StructureMap CoreDataSetVSLibrary
map "http://smart.who.int/ddcc/StructureMap/CoreDataSetVSLibrary" = "CoreDataSetVSLibrary" uses "http://smart.who.int/ddcc/StructureDefinition/DDCCCoreDataSetVS" alias DDCCVS as source uses "http://hl7.org/fhir/StructureDefinition/Bundle" alias AddBundle as target uses "http://hl7.org/fhir/StructureDefinition/Patient" alias Patient as target uses "http://smart.who.int/ddcc/StructureDefinition/DDCCPatient" alias DDCCPatient as target uses "http://smart.who.int/ddcc/StructureDefinition/DDCCDocumentReferenceQR" alias DDCCDocRefQR as target uses "http://smart.who.int/ddcc/StructureDefinition/DDCCVSComposition" alias DDCCVSComposition as target uses "http://smart.who.int/ddcc/StructureDefinition/DDCCImmunization" alias DDCCImmunization as target uses "http://smart.who.int/ddcc/StructureDefinition/DDCCImmunizationRecommendation" alias DDCCImmRec as target imports "http://smart.who.int/ddcc/StructureMap/CoreDataSetLibrary" group VSToAddBundle(source ddcc : DDCCVS, target bundle : AddBundle) { ddcc -> bundle.type = 'transaction' "set bundle type"; ddcc -> uuid() as pid, uuid() as compid, uuid() as iid, uuid() as irid, uuid() as qrwhoid, uuid() as qrdccid then { ddcc -> bundle.entry as entry, entry.fullUrl = append('urn:uuid:', pid), entry.request as request, request.method = 'PUT', request.url = append('Patient/', pid), create('http://smart.who.int/ddcc/StructureDefinition/DDCCPatient') as patient then { ddcc then DDCCToPatient(ddcc, patient, pid) "setup patient"; ddcc -> entry.resource = patient "set patient resource"; } "create patient resource"; ddcc -> bundle.entry as entry, entry.fullUrl = append('urn:uuid:', compid), entry.request as request, request.method = 'PUT', request.url = append('Composition/', compid), create('http://smart.who.int/ddcc/StructureDefinition/DDCCVSComposition') as comp then { ddcc then DDCCToComposition(ddcc, comp, compid, pid) "setup composition"; ddcc -> comp.category as category, category.coding as coding, coding.system = 'http://smart.who.int/ddcc/CodeSystem/DDCCCompositionCategoryCodeSystem', coding.code = 'ddcc-vs' "set category"; ddcc -> comp.title = 'International Certificate of Vaccination or Prophylaxis' "set title"; ddcc -> comp.section as section then { ddcc -> section.code as code, code.coding as coding, coding.system = 'http://loinc.org', coding.code = '11369-6' "set code"; ddcc.certificate as certificate then { certificate.issuer as issuer -> section.author = issuer "set author"; } "set certificate"; // ddcc.certificate as certificate -> section.author as author then { certificate.issuer as issuer then { issuer.identifier as pha -> author.identifier as identifier, author.type = "Organization" then { pha.value as value -> identifier.value = value "set pha"; } "set author identifier"; } "set author ref"; } "set author"; ddcc -> section.focus as focus, focus.reference = append('Immunization/', iid) "set focus"; ddcc -> section.entry as entry, entry.reference = append('Immunization/', iid) "add Immunization entry"; ddcc -> section.entry as entry, entry.reference = append('ImmunizationRecommendation/', irid) "add ImmunizationRecommendation entry"; ddcc -> section.entry as entry, entry.reference = append('DocumentReference/', qrwhoid) "add WHO QR entry"; ddcc -> section.entry as entry, entry.reference = append('DocumentReference/', qrdccid) "add DCC QR entry"; } "set section"; ddcc -> entry.resource = comp "set composition resource"; } "create composition resource"; ddcc -> bundle.entry as entry, entry.fullUrl = append('urn:uuid:', qrwhoid), entry.request as request, request.method = 'PUT', request.url = append('DocumentReference/', qrwhoid), create('http://smart.who.int/ddcc/StructureDefinition/DDCCDocumentReferenceQR') as qr then { ddcc then DDCCToDocumentReference(ddcc, qr, qrwhoid, pid) "setup WHO DocRef"; ddcc -> qr.category as category, category.coding as coding, coding.system = 'http://smart.who.int/ddcc/CodeSystem/DDCCQRCategoryUsageCodeSystem', coding.code = 'who' "set category"; ddcc -> qr.description = 'WHO QR code for COVID 19 Vaccine Certificate' "set description"; ddcc -> entry.resource = qr "set WHO QR"; } "create WHO QR Doc Ref"; ddcc -> bundle.entry as entry, entry.fullUrl = append('urn:uuid:', qrdccid), entry.request as request, request.method = 'PUT', request.url = append('DocumentReference/', qrdccid), create('http://smart.who.int/ddcc/StructureDefinition/DDCCDocumentReferenceQR') as qr then { ddcc then DDCCToDocumentReference(ddcc, qr, qrdccid, pid) "setup DCC DocRef"; ddcc -> qr.category as category, category.coding as coding, coding.system = 'http://smart.who.int/ddcc/CodeSystem/DDCCQRCategoryUsageCodeSystem', coding.code = 'dcc' "set category"; ddcc -> qr.description = 'DCC QR code for COVID 19 Vaccine Certificate' "set description"; ddcc -> entry.resource = qr "set DCC QR"; } "create DCC QR Doc Ref"; ddcc.vaccination first as vaccination -> bundle.entry as entry, entry.fullUrl = append('urn:uuid:', iid), entry.request as request, request.method = 'PUT', request.url = append('Immunization/', iid), create('http://smart.who.int/ddcc/StructureDefinition/DDCCImmunization') as immunization then { ddcc.certificate as certificate then DDCCToImmunization(vaccination, immunization, certificate, iid, pid) "setup immunization"; ddcc -> entry.resource = immunization "set immunization resource"; } "create immunization resource"; ddcc.vaccination first as vaccination -> bundle.entry as entry, entry.fullUrl = append('urn:uuid:', irid), entry.request as request, request.method = 'PUT', request.url = append('ImmunizationRecommendation/', irid), create('http://smart.who.int/ddcc/StructureDefinition/DDCCImmunizationRecommendation') as immrec then { vaccination then DDCCToImmRec(vaccination, immrec, irid, iid, pid) "setup immunization recommendation"; ddcc -> entry.resource = immrec "set immunization recommendation resource"; } "create immunization recommendation resource"; } "set uuids"; } group DDCCToImmunization(source src, target immunization : DDCCImmunization, source certificate, source iid, source pid) { iid -> immunization.id = iid "set id"; src.brand as brand -> immunization.extension as ext then { brand -> ext.url = 'http://smart.who.int/ddcc/StructureDefinition/DDCCVaccineBrand', ext.value = brand "set brand extension values"; } "set brand extension"; src.maholder as maholder -> immunization.extension as ext then { maholder -> ext.url = 'http://smart.who.int/ddcc/StructureDefinition/DDCCVaccineMarketAuthorization', ext.value = maholder "set MA Holder extension values"; } "set maholder extension"; src.country as country -> immunization.extension as ext then { country.code as code -> ext.url = 'http://smart.who.int/ddcc/StructureDefinition/DDCCCountryOfVaccination', ext.value = code "set country extension values"; } "set country extension"; src.validFrom as validFrom -> immunization.extension as ext then { validFrom -> ext.url = 'http://smart.who.int/ddcc/StructureDefinition/DDCCVaccineValidFrom', ext.value = validFrom "set valid from extension values"; } "set vaccine valid extension"; src -> immunization.status = 'completed' "set status"; src.vaccine as vaccine -> immunization.vaccineCode as vacCode, vacCode.coding = vaccine "set vaccine"; src -> immunization.patient as patient, patient.reference = append('Patient/', pid) "set patient"; src.manufacturer as manufacturer -> immunization.manufacturer as tman, tman.identifier as ident then { manufacturer.system as system -> ident.system = system "set system"; manufacturer.code as code -> ident.value = code "set value"; } "set manufacturer identifier"; src.lot as lot -> immunization.lotNumber = lot "set lot number"; src.date as date -> immunization.occurrence = date "set occurrence date"; src.centre as centre -> immunization.location as location then { centre -> location.display = centre "set location display"; } "set location"; src.practitioner as practitioner -> immunization.performer as performer then { practitioner.value as hw -> performer.actor as actor then { hw -> actor.type = 'Practitioner', actor.identifier as identifier then { hw -> identifier.value = hw "set hw identifier"; } "set actor"; } "set performer"; } "set practitioner"; src -> immunization.protocolApplied as protocol then { src -> protocol.authority as authority then { certificate.issuer as issuer -> authority.type = 'Organization' then { issuer.identifier as pha -> authority.identifier as identifier then { pha.value as value -> identifier.value = value "set pha"; } "set issuer identifier"; } "set issuer"; } "set authority"; src.disease as disease -> protocol.targetDisease as tdisease then { disease -> tdisease.coding = disease "set target disease code"; } "set target disease"; src.dose as dose -> protocol.doseNumber = dose "set dose number"; src.totalDoses as totalDoses -> protocol.seriesDoses = totalDoses "set total doses"; } "set protocolApplied"; } group DDCCToImmRec(source src, target immrec : DDCCImmunizationRecommendation, source irid, source iid, source pid) { src.date as date -> immrec.date = date "set date"; src -> immrec.patient as patient, patient.reference = append('Patient/', pid) "set patient"; src -> immrec.recommendation as rec then { src.vaccine as vaccine -> rec.vaccineCode as vaccineCode then { vaccine -> vaccineCode.coding = vaccine "set vaccine code coding"; } "set vaccine code"; src.disease as disease -> rec.targetDisease as targetDisease then { disease -> targetDisease.coding = disease "set target disease coding"; } "set target disease"; src -> rec.forecastStatus as forecast then { src -> forecast.coding as coding then { src -> coding.system = 'http://terminology.hl7.org/2.1.0/CodeSystem-immunization-recommendation-status.html' "set forecast system"; src -> coding.code = 'due' "set forecast code"; } "set forecast status coding"; } "set forecast status"; src -> rec.dateCriterion as due_date then { src -> due_date.code as code then { src -> code.coding as coding then { src -> coding.system = 'http://loinc.org' "set due date code system"; src -> coding.code = '30980-7' "set due date code code"; } "set due date code coding"; } "set due date code"; src.nextDose as nextDose -> due_date.value = nextDose "set due date value"; } "set date criterion"; src.dose as dose -> rec.doseNumber = (dose.toInteger() + 1) "set dose number"; src.totalDoses as totalDoses -> rec.seriesDoses = totalDoses "set total doses"; src -> rec.supportingImmunization as imm, imm.reference = append('Immunization/', iid) "set supporting immunization"; } "set recommendation"; }
{ "resourceType": "StructureMap", "id": "CoreDataSetVSLibrary", "text": { "status": "generated", "div": "<!-- snip (see above) -->" }, "url": "http://smart.who.int/ddcc/StructureMap/CoreDataSetVSLibrary", "version": "1.0.0", "name": "CoreDataSetVSLibrary", "status": "draft", "date": "2025-06-24T09:07:32+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/DDCCCoreDataSetVS", "mode": "source", "alias": "DDCCVS" }, { "url": "http://hl7.org/fhir/StructureDefinition/Bundle", "mode": "target", "alias": "AddBundle" }, { "url": "http://hl7.org/fhir/StructureDefinition/Patient", "mode": "target", "alias": "Patient" }, { "url": "http://smart.who.int/ddcc/StructureDefinition/DDCCPatient", "mode": "target", "alias": "DDCCPatient" }, { "url": "http://smart.who.int/ddcc/StructureDefinition/DDCCDocumentReferenceQR", "mode": "target", "alias": "DDCCDocRefQR" }, { "url": "http://smart.who.int/ddcc/StructureDefinition/DDCCVSComposition", "mode": "target", "alias": "DDCCVSComposition" }, { "url": "http://smart.who.int/ddcc/StructureDefinition/DDCCImmunization", "mode": "target", "alias": "DDCCImmunization" }, { "url": "http://smart.who.int/ddcc/StructureDefinition/DDCCImmunizationRecommendation", "mode": "target", "alias": "DDCCImmRec" } ], "import": [ "http://smart.who.int/ddcc/StructureMap/CoreDataSetLibrary" ], "group": [ { "name": "VSToAddBundle", "typeMode": "none", "input": [ { "name": "ddcc", "type": "DDCCVS", "mode": "source" }, { "name": "bundle", "type": "AddBundle", "mode": "target" } ], "rule": [ { "name": "set bundle type", "source": [ { "context": "ddcc" } ], "target": [ { "context": "bundle", "contextType": "variable", "element": "type", "transform": "copy", "parameter": [ { "valueString": "transaction" } ] } ] }, { "name": "set uuids", "source": [ { "context": "ddcc" } ], "target": [ { "contextType": "variable", "variable": "pid", "transform": "uuid" }, { "contextType": "variable", "variable": "compid", "transform": "uuid" }, { "contextType": "variable", "variable": "iid", "transform": "uuid" }, { "contextType": "variable", "variable": "irid", "transform": "uuid" }, { "contextType": "variable", "variable": "qrwhoid", "transform": "uuid" }, { "contextType": "variable", "variable": "qrdccid", "transform": "uuid" } ], "rule": [ { "name": "create patient resource", "source": [ { "context": "ddcc" } ], "target": [ { "context": "bundle", "contextType": "variable", "element": "entry", "variable": "entry" }, { "context": "entry", "contextType": "variable", "element": "fullUrl", "transform": "append", "parameter": [ { "valueString": "urn:uuid:" }, { "valueId": "pid" } ] }, { "context": "entry", "contextType": "variable", "element": "request", "variable": "request" }, { "context": "request", "contextType": "variable", "element": "method", "transform": "copy", "parameter": [ { "valueString": "PUT" } ] }, { "context": "request", "contextType": "variable", "element": "url", "transform": "append", "parameter": [ { "valueString": "Patient/" }, { "valueId": "pid" } ] }, { "contextType": "variable", "variable": "patient", "transform": "create", "parameter": [ { "valueString": "http://smart.who.int/ddcc/StructureDefinition/DDCCPatient" } ] } ], "rule": [ { "name": "setup patient", "source": [ { "context": "ddcc" } ], "dependent": [ { "name": "DDCCToPatient", "variable": [ "ddcc", "patient", "pid" ] } ] }, { "name": "set patient resource", "source": [ { "context": "ddcc" } ], "target": [ { "context": "entry", "contextType": "variable", "element": "resource", "transform": "copy", "parameter": [ { "valueId": "patient" } ] } ] } ] }, { "name": "create composition resource", "source": [ { "context": "ddcc" } ], "target": [ { "context": "bundle", "contextType": "variable", "element": "entry", "variable": "entry" }, { "context": "entry", "contextType": "variable", "element": "fullUrl", "transform": "append", "parameter": [ { "valueString": "urn:uuid:" }, { "valueId": "compid" } ] }, { "context": "entry", "contextType": "variable", "element": "request", "variable": "request" }, { "context": "request", "contextType": "variable", "element": "method", "transform": "copy", "parameter": [ { "valueString": "PUT" } ] }, { "context": "request", "contextType": "variable", "element": "url", "transform": "append", "parameter": [ { "valueString": "Composition/" }, { "valueId": "compid" } ] }, { "contextType": "variable", "variable": "comp", "transform": "create", "parameter": [ { "valueString": "http://smart.who.int/ddcc/StructureDefinition/DDCCVSComposition" } ] } ], "rule": [ { "name": "setup composition", "source": [ { "context": "ddcc" } ], "dependent": [ { "name": "DDCCToComposition", "variable": [ "ddcc", "comp", "compid", "pid" ] } ] }, { "name": "set category", "source": [ { "context": "ddcc" } ], "target": [ { "context": "comp", "contextType": "variable", "element": "category", "variable": "category" }, { "context": "category", "contextType": "variable", "element": "coding", "variable": "coding" }, { "context": "coding", "contextType": "variable", "element": "system", "transform": "copy", "parameter": [ { "valueString": "http://smart.who.int/ddcc/CodeSystem/DDCCCompositionCategoryCodeSystem" } ] }, { "context": "coding", "contextType": "variable", "element": "code", "transform": "copy", "parameter": [ { "valueString": "ddcc-vs" } ] } ] }, { "name": "set title", "source": [ { "context": "ddcc" } ], "target": [ { "context": "comp", "contextType": "variable", "element": "title", "transform": "copy", "parameter": [ { "valueString": "International Certificate of Vaccination or Prophylaxis" } ] } ] }, { "name": "set section", "source": [ { "context": "ddcc" } ], "target": [ { "context": "comp", "contextType": "variable", "element": "section", "variable": "section" } ], "rule": [ { "name": "set code", "source": [ { "context": "ddcc" } ], "target": [ { "context": "section", "contextType": "variable", "element": "code", "variable": "code" }, { "context": "code", "contextType": "variable", "element": "coding", "variable": "coding" }, { "context": "coding", "contextType": "variable", "element": "system", "transform": "copy", "parameter": [ { "valueString": "http://loinc.org" } ] }, { "context": "coding", "contextType": "variable", "element": "code", "transform": "copy", "parameter": [ { "valueString": "11369-6" } ] } ] }, { "name": "set certificate", "source": [ { "context": "ddcc", "element": "certificate", "variable": "certificate" } ], "rule": [ { "name": "set author", "source": [ { "context": "certificate", "element": "issuer", "variable": "issuer" } ], "target": [ { "context": "section", "contextType": "variable", "element": "author", "transform": "copy", "parameter": [ { "valueId": "issuer" } ] } ] } ] }, { "name": "set focus", "source": [ { "context": "ddcc" } ], "target": [ { "context": "section", "contextType": "variable", "element": "focus", "variable": "focus" }, { "context": "focus", "contextType": "variable", "element": "reference", "transform": "append", "parameter": [ { "valueString": "Immunization/" }, { "valueId": "iid" } ] } ] }, { "name": "add Immunization entry", "source": [ { "context": "ddcc" } ], "target": [ { "context": "section", "contextType": "variable", "element": "entry", "variable": "entry" }, { "context": "entry", "contextType": "variable", "element": "reference", "transform": "append", "parameter": [ { "valueString": "Immunization/" }, { "valueId": "iid" } ] } ] }, { "name": "add ImmunizationRecommendation entry", "source": [ { "context": "ddcc" } ], "target": [ { "context": "section", "contextType": "variable", "element": "entry", "variable": "entry" }, { "context": "entry", "contextType": "variable", "element": "reference", "transform": "append", "parameter": [ { "valueString": "ImmunizationRecommendation/" }, { "valueId": "irid" } ] } ] }, { "name": "add WHO QR entry", "source": [ { "context": "ddcc" } ], "target": [ { "context": "section", "contextType": "variable", "element": "entry", "variable": "entry" }, { "context": "entry", "contextType": "variable", "element": "reference", "transform": "append", "parameter": [ { "valueString": "DocumentReference/" }, { "valueId": "qrwhoid" } ] } ] }, { "name": "add DCC QR entry", "source": [ { "context": "ddcc" } ], "target": [ { "context": "section", "contextType": "variable", "element": "entry", "variable": "entry" }, { "context": "entry", "contextType": "variable", "element": "reference", "transform": "append", "parameter": [ { "valueString": "DocumentReference/" }, { "valueId": "qrdccid" } ] } ] } ] }, { "name": "set composition resource", "source": [ { "context": "ddcc" } ], "target": [ { "context": "entry", "contextType": "variable", "element": "resource", "transform": "copy", "parameter": [ { "valueId": "comp" } ] } ] } ] }, { "name": "create WHO QR Doc Ref", "source": [ { "context": "ddcc" } ], "target": [ { "context": "bundle", "contextType": "variable", "element": "entry", "variable": "entry" }, { "context": "entry", "contextType": "variable", "element": "fullUrl", "transform": "append", "parameter": [ { "valueString": "urn:uuid:" }, { "valueId": "qrwhoid" } ] }, { "context": "entry", "contextType": "variable", "element": "request", "variable": "request" }, { "context": "request", "contextType": "variable", "element": "method", "transform": "copy", "parameter": [ { "valueString": "PUT" } ] }, { "context": "request", "contextType": "variable", "element": "url", "transform": "append", "parameter": [ { "valueString": "DocumentReference/" }, { "valueId": "qrwhoid" } ] }, { "contextType": "variable", "variable": "qr", "transform": "create", "parameter": [ { "valueString": "http://smart.who.int/ddcc/StructureDefinition/DDCCDocumentReferenceQR" } ] } ], "rule": [ { "name": "setup WHO DocRef", "source": [ { "context": "ddcc" } ], "dependent": [ { "name": "DDCCToDocumentReference", "variable": [ "ddcc", "qr", "qrwhoid", "pid" ] } ] }, { "name": "set category", "source": [ { "context": "ddcc" } ], "target": [ { "context": "qr", "contextType": "variable", "element": "category", "variable": "category" }, { "context": "category", "contextType": "variable", "element": "coding", "variable": "coding" }, { "context": "coding", "contextType": "variable", "element": "system", "transform": "copy", "parameter": [ { "valueString": "http://smart.who.int/ddcc/CodeSystem/DDCCQRCategoryUsageCodeSystem" } ] }, { "context": "coding", "contextType": "variable", "element": "code", "transform": "copy", "parameter": [ { "valueString": "who" } ] } ] }, { "name": "set description", "source": [ { "context": "ddcc" } ], "target": [ { "context": "qr", "contextType": "variable", "element": "description", "transform": "copy", "parameter": [ { "valueString": "WHO QR code for COVID 19 Vaccine Certificate" } ] } ] }, { "name": "set WHO QR", "source": [ { "context": "ddcc" } ], "target": [ { "context": "entry", "contextType": "variable", "element": "resource", "transform": "copy", "parameter": [ { "valueId": "qr" } ] } ] } ] }, { "name": "create DCC QR Doc Ref", "source": [ { "context": "ddcc" } ], "target": [ { "context": "bundle", "contextType": "variable", "element": "entry", "variable": "entry" }, { "context": "entry", "contextType": "variable", "element": "fullUrl", "transform": "append", "parameter": [ { "valueString": "urn:uuid:" }, { "valueId": "qrdccid" } ] }, { "context": "entry", "contextType": "variable", "element": "request", "variable": "request" }, { "context": "request", "contextType": "variable", "element": "method", "transform": "copy", "parameter": [ { "valueString": "PUT" } ] }, { "context": "request", "contextType": "variable", "element": "url", "transform": "append", "parameter": [ { "valueString": "DocumentReference/" }, { "valueId": "qrdccid" } ] }, { "contextType": "variable", "variable": "qr", "transform": "create", "parameter": [ { "valueString": "http://smart.who.int/ddcc/StructureDefinition/DDCCDocumentReferenceQR" } ] } ], "rule": [ { "name": "setup DCC DocRef", "source": [ { "context": "ddcc" } ], "dependent": [ { "name": "DDCCToDocumentReference", "variable": [ "ddcc", "qr", "qrdccid", "pid" ] } ] }, { "name": "set category", "source": [ { "context": "ddcc" } ], "target": [ { "context": "qr", "contextType": "variable", "element": "category", "variable": "category" }, { "context": "category", "contextType": "variable", "element": "coding", "variable": "coding" }, { "context": "coding", "contextType": "variable", "element": "system", "transform": "copy", "parameter": [ { "valueString": "http://smart.who.int/ddcc/CodeSystem/DDCCQRCategoryUsageCodeSystem" } ] }, { "context": "coding", "contextType": "variable", "element": "code", "transform": "copy", "parameter": [ { "valueString": "dcc" } ] } ] }, { "name": "set description", "source": [ { "context": "ddcc" } ], "target": [ { "context": "qr", "contextType": "variable", "element": "description", "transform": "copy", "parameter": [ { "valueString": "DCC QR code for COVID 19 Vaccine Certificate" } ] } ] }, { "name": "set DCC QR", "source": [ { "context": "ddcc" } ], "target": [ { "context": "entry", "contextType": "variable", "element": "resource", "transform": "copy", "parameter": [ { "valueId": "qr" } ] } ] } ] }, { "name": "create immunization resource", "source": [ { "context": "ddcc", "element": "vaccination", "listMode": "first", "variable": "vaccination" } ], "target": [ { "context": "bundle", "contextType": "variable", "element": "entry", "variable": "entry" }, { "context": "entry", "contextType": "variable", "element": "fullUrl", "transform": "append", "parameter": [ { "valueString": "urn:uuid:" }, { "valueId": "iid" } ] }, { "context": "entry", "contextType": "variable", "element": "request", "variable": "request" }, { "context": "request", "contextType": "variable", "element": "method", "transform": "copy", "parameter": [ { "valueString": "PUT" } ] }, { "context": "request", "contextType": "variable", "element": "url", "transform": "append", "parameter": [ { "valueString": "Immunization/" }, { "valueId": "iid" } ] }, { "contextType": "variable", "variable": "immunization", "transform": "create", "parameter": [ { "valueString": "http://smart.who.int/ddcc/StructureDefinition/DDCCImmunization" } ] } ], "rule": [ { "name": "setup immunization", "source": [ { "context": "ddcc", "element": "certificate", "variable": "certificate" } ], "dependent": [ { "name": "DDCCToImmunization", "variable": [ "vaccination", "immunization", "certificate", "iid", "pid" ] } ] }, { "name": "set immunization resource", "source": [ { "context": "ddcc" } ], "target": [ { "context": "entry", "contextType": "variable", "element": "resource", "transform": "copy", "parameter": [ { "valueId": "immunization" } ] } ] } ] }, { "name": "create immunization recommendation resource", "source": [ { "context": "ddcc", "element": "vaccination", "listMode": "first", "variable": "vaccination" } ], "target": [ { "context": "bundle", "contextType": "variable", "element": "entry", "variable": "entry" }, { "context": "entry", "contextType": "variable", "element": "fullUrl", "transform": "append", "parameter": [ { "valueString": "urn:uuid:" }, { "valueId": "irid" } ] }, { "context": "entry", "contextType": "variable", "element": "request", "variable": "request" }, { "context": "request", "contextType": "variable", "element": "method", "transform": "copy", "parameter": [ { "valueString": "PUT" } ] }, { "context": "request", "contextType": "variable", "element": "url", "transform": "append", "parameter": [ { "valueString": "ImmunizationRecommendation/" }, { "valueId": "irid" } ] }, { "contextType": "variable", "variable": "immrec", "transform": "create", "parameter": [ { "valueString": "http://smart.who.int/ddcc/StructureDefinition/DDCCImmunizationRecommendation" } ] } ], "rule": [ { "name": "setup immunization recommendation", "source": [ { "context": "vaccination" } ], "dependent": [ { "name": "DDCCToImmRec", "variable": [ "vaccination", "immrec", "irid", "iid", "pid" ] } ] }, { "name": "set immunization recommendation resource", "source": [ { "context": "ddcc" } ], "target": [ { "context": "entry", "contextType": "variable", "element": "resource", "transform": "copy", "parameter": [ { "valueId": "immrec" } ] } ] } ] } ] } ] }, { "name": "DDCCToImmunization", "typeMode": "none", "input": [ { "name": "src", "mode": "source" }, { "name": "immunization", "type": "DDCCImmunization", "mode": "target" }, { "name": "certificate", "mode": "source" }, { "name": "iid", "mode": "source" }, { "name": "pid", "mode": "source" } ], "rule": [ { "name": "set id", "source": [ { "context": "iid" } ], "target": [ { "context": "immunization", "contextType": "variable", "element": "id", "transform": "copy", "parameter": [ { "valueId": "iid" } ] } ] }, { "name": "set brand extension", "source": [ { "context": "src", "element": "brand", "variable": "brand" } ], "target": [ { "context": "immunization", "contextType": "variable", "element": "extension", "variable": "ext" } ], "rule": [ { "name": "set brand extension values", "source": [ { "context": "brand" } ], "target": [ { "context": "ext", "contextType": "variable", "element": "url", "transform": "copy", "parameter": [ { "valueString": "http://smart.who.int/ddcc/StructureDefinition/DDCCVaccineBrand" } ] }, { "context": "ext", "contextType": "variable", "element": "value", "transform": "copy", "parameter": [ { "valueId": "brand" } ] } ] } ] }, { "name": "set maholder extension", "source": [ { "context": "src", "element": "maholder", "variable": "maholder" } ], "target": [ { "context": "immunization", "contextType": "variable", "element": "extension", "variable": "ext" } ], "rule": [ { "name": "set MA Holder extension values", "source": [ { "context": "maholder" } ], "target": [ { "context": "ext", "contextType": "variable", "element": "url", "transform": "copy", "parameter": [ { "valueString": "http://smart.who.int/ddcc/StructureDefinition/DDCCVaccineMarketAuthorization" } ] }, { "context": "ext", "contextType": "variable", "element": "value", "transform": "copy", "parameter": [ { "valueId": "maholder" } ] } ] } ] }, { "name": "set country extension", "source": [ { "context": "src", "element": "country", "variable": "country" } ], "target": [ { "context": "immunization", "contextType": "variable", "element": "extension", "variable": "ext" } ], "rule": [ { "name": "set country extension values", "source": [ { "context": "country", "element": "code", "variable": "code" } ], "target": [ { "context": "ext", "contextType": "variable", "element": "url", "transform": "copy", "parameter": [ { "valueString": "http://smart.who.int/ddcc/StructureDefinition/DDCCCountryOfVaccination" } ] }, { "context": "ext", "contextType": "variable", "element": "value", "transform": "copy", "parameter": [ { "valueId": "code" } ] } ] } ] }, { "name": "set vaccine valid extension", "source": [ { "context": "src", "element": "validFrom", "variable": "validFrom" } ], "target": [ { "context": "immunization", "contextType": "variable", "element": "extension", "variable": "ext" } ], "rule": [ { "name": "set valid from extension values", "source": [ { "context": "validFrom" } ], "target": [ { "context": "ext", "contextType": "variable", "element": "url", "transform": "copy", "parameter": [ { "valueString": "http://smart.who.int/ddcc/StructureDefinition/DDCCVaccineValidFrom" } ] }, { "context": "ext", "contextType": "variable", "element": "value", "transform": "copy", "parameter": [ { "valueId": "validFrom" } ] } ] } ] }, { "name": "set status", "source": [ { "context": "src" } ], "target": [ { "context": "immunization", "contextType": "variable", "element": "status", "transform": "copy", "parameter": [ { "valueString": "completed" } ] } ] }, { "name": "set vaccine", "source": [ { "context": "src", "element": "vaccine", "variable": "vaccine" } ], "target": [ { "context": "immunization", "contextType": "variable", "element": "vaccineCode", "variable": "vacCode" }, { "context": "vacCode", "contextType": "variable", "element": "coding", "transform": "copy", "parameter": [ { "valueId": "vaccine" } ] } ] }, { "name": "set patient", "source": [ { "context": "src" } ], "target": [ { "context": "immunization", "contextType": "variable", "element": "patient", "variable": "patient" }, { "context": "patient", "contextType": "variable", "element": "reference", "transform": "append", "parameter": [ { "valueString": "Patient/" }, { "valueId": "pid" } ] } ] }, { "name": "set manufacturer identifier", "source": [ { "context": "src", "element": "manufacturer", "variable": "manufacturer" } ], "target": [ { "context": "immunization", "contextType": "variable", "element": "manufacturer", "variable": "tman" }, { "context": "tman", "contextType": "variable", "element": "identifier", "variable": "ident" } ], "rule": [ { "name": "set system", "source": [ { "context": "manufacturer", "element": "system", "variable": "system" } ], "target": [ { "context": "ident", "contextType": "variable", "element": "system", "transform": "copy", "parameter": [ { "valueId": "system" } ] } ] }, { "name": "set value", "source": [ { "context": "manufacturer", "element": "code", "variable": "code" } ], "target": [ { "context": "ident", "contextType": "variable", "element": "value", "transform": "copy", "parameter": [ { "valueId": "code" } ] } ] } ] }, { "name": "set lot number", "source": [ { "context": "src", "element": "lot", "variable": "lot" } ], "target": [ { "context": "immunization", "contextType": "variable", "element": "lotNumber", "transform": "copy", "parameter": [ { "valueId": "lot" } ] } ] }, { "name": "set occurrence date", "source": [ { "context": "src", "element": "date", "variable": "date" } ], "target": [ { "context": "immunization", "contextType": "variable", "element": "occurrence", "transform": "copy", "parameter": [ { "valueId": "date" } ] } ] }, { "name": "set location", "source": [ { "context": "src", "element": "centre", "variable": "centre" } ], "target": [ { "context": "immunization", "contextType": "variable", "element": "location", "variable": "location" } ], "rule": [ { "name": "set location display", "source": [ { "context": "centre" } ], "target": [ { "context": "location", "contextType": "variable", "element": "display", "transform": "copy", "parameter": [ { "valueId": "centre" } ] } ] } ] }, { "name": "set practitioner", "source": [ { "context": "src", "element": "practitioner", "variable": "practitioner" } ], "target": [ { "context": "immunization", "contextType": "variable", "element": "performer", "variable": "performer" } ], "rule": [ { "name": "set performer", "source": [ { "context": "practitioner", "element": "value", "variable": "hw" } ], "target": [ { "context": "performer", "contextType": "variable", "element": "actor", "variable": "actor" } ], "rule": [ { "name": "set actor", "source": [ { "context": "hw" } ], "target": [ { "context": "actor", "contextType": "variable", "element": "type", "transform": "copy", "parameter": [ { "valueString": "Practitioner" } ] }, { "context": "actor", "contextType": "variable", "element": "identifier", "variable": "identifier" } ], "rule": [ { "name": "set hw identifier", "source": [ { "context": "hw" } ], "target": [ { "context": "identifier", "contextType": "variable", "element": "value", "transform": "copy", "parameter": [ { "valueId": "hw" } ] } ] } ] } ] } ] }, { "name": "set protocolApplied", "source": [ { "context": "src" } ], "target": [ { "context": "immunization", "contextType": "variable", "element": "protocolApplied", "variable": "protocol" } ], "rule": [ { "name": "set authority", "source": [ { "context": "src" } ], "target": [ { "context": "protocol", "contextType": "variable", "element": "authority", "variable": "authority" } ], "rule": [ { "name": "set issuer", "source": [ { "context": "certificate", "element": "issuer", "variable": "issuer" } ], "target": [ { "context": "authority", "contextType": "variable", "element": "type", "transform": "copy", "parameter": [ { "valueString": "Organization" } ] } ], "rule": [ { "name": "set issuer identifier", "source": [ { "context": "issuer", "element": "identifier", "variable": "pha" } ], "target": [ { "context": "authority", "contextType": "variable", "element": "identifier", "variable": "identifier" } ], "rule": [ { "name": "set pha", "source": [ { "context": "pha", "element": "value", "variable": "value" } ], "target": [ { "context": "identifier", "contextType": "variable", "element": "value", "transform": "copy", "parameter": [ { "valueId": "value" } ] } ] } ] } ] } ] }, { "name": "set target disease", "source": [ { "context": "src", "element": "disease", "variable": "disease" } ], "target": [ { "context": "protocol", "contextType": "variable", "element": "targetDisease", "variable": "tdisease" } ], "rule": [ { "name": "set target disease code", "source": [ { "context": "disease" } ], "target": [ { "context": "tdisease", "contextType": "variable", "element": "coding", "transform": "copy", "parameter": [ { "valueId": "disease" } ] } ] } ] }, { "name": "set dose number", "source": [ { "context": "src", "element": "dose", "variable": "dose" } ], "target": [ { "context": "protocol", "contextType": "variable", "element": "doseNumber", "transform": "copy", "parameter": [ { "valueId": "dose" } ] } ] }, { "name": "set total doses", "source": [ { "context": "src", "element": "totalDoses", "variable": "totalDoses" } ], "target": [ { "context": "protocol", "contextType": "variable", "element": "seriesDoses", "transform": "copy", "parameter": [ { "valueId": "totalDoses" } ] } ] } ] } ] }, { "name": "DDCCToImmRec", "typeMode": "none", "input": [ { "name": "src", "mode": "source" }, { "name": "immrec", "type": "DDCCImmunizationRecommendation", "mode": "target" }, { "name": "irid", "mode": "source" }, { "name": "iid", "mode": "source" }, { "name": "pid", "mode": "source" } ], "rule": [ { "name": "set date", "source": [ { "context": "src", "element": "date", "variable": "date" } ], "target": [ { "context": "immrec", "contextType": "variable", "element": "date", "transform": "copy", "parameter": [ { "valueId": "date" } ] } ] }, { "name": "set patient", "source": [ { "context": "src" } ], "target": [ { "context": "immrec", "contextType": "variable", "element": "patient", "variable": "patient" }, { "context": "patient", "contextType": "variable", "element": "reference", "transform": "append", "parameter": [ { "valueString": "Patient/" }, { "valueId": "pid" } ] } ] }, { "name": "set recommendation", "source": [ { "context": "src" } ], "target": [ { "context": "immrec", "contextType": "variable", "element": "recommendation", "variable": "rec" } ], "rule": [ { "name": "set vaccine code", "source": [ { "context": "src", "element": "vaccine", "variable": "vaccine" } ], "target": [ { "context": "rec", "contextType": "variable", "element": "vaccineCode", "variable": "vaccineCode" } ], "rule": [ { "name": "set vaccine code coding", "source": [ { "context": "vaccine" } ], "target": [ { "context": "vaccineCode", "contextType": "variable", "element": "coding", "transform": "copy", "parameter": [ { "valueId": "vaccine" } ] } ] } ] }, { "name": "set target disease", "source": [ { "context": "src", "element": "disease", "variable": "disease" } ], "target": [ { "context": "rec", "contextType": "variable", "element": "targetDisease", "variable": "targetDisease" } ], "rule": [ { "name": "set target disease coding", "source": [ { "context": "disease" } ], "target": [ { "context": "targetDisease", "contextType": "variable", "element": "coding", "transform": "copy", "parameter": [ { "valueId": "disease" } ] } ] } ] }, { "name": "set forecast status", "source": [ { "context": "src" } ], "target": [ { "context": "rec", "contextType": "variable", "element": "forecastStatus", "variable": "forecast" } ], "rule": [ { "name": "set forecast status coding", "source": [ { "context": "src" } ], "target": [ { "context": "forecast", "contextType": "variable", "element": "coding", "variable": "coding" } ], "rule": [ { "name": "set forecast system", "source": [ { "context": "src" } ], "target": [ { "context": "coding", "contextType": "variable", "element": "system", "transform": "copy", "parameter": [ { "valueString": "http://terminology.hl7.org/2.1.0/CodeSystem-immunization-recommendation-status.html" } ] } ] }, { "name": "set forecast code", "source": [ { "context": "src" } ], "target": [ { "context": "coding", "contextType": "variable", "element": "code", "transform": "copy", "parameter": [ { "valueString": "due" } ] } ] } ] } ] }, { "name": "set date criterion", "source": [ { "context": "src" } ], "target": [ { "context": "rec", "contextType": "variable", "element": "dateCriterion", "variable": "due_date" } ], "rule": [ { "name": "set due date code", "source": [ { "context": "src" } ], "target": [ { "context": "due_date", "contextType": "variable", "element": "code", "variable": "code" } ], "rule": [ { "name": "set due date code coding", "source": [ { "context": "src" } ], "target": [ { "context": "code", "contextType": "variable", "element": "coding", "variable": "coding" } ], "rule": [ { "name": "set due date code system", "source": [ { "context": "src" } ], "target": [ { "context": "coding", "contextType": "variable", "element": "system", "transform": "copy", "parameter": [ { "valueString": "http://loinc.org" } ] } ] }, { "name": "set due date code code", "source": [ { "context": "src" } ], "target": [ { "context": "coding", "contextType": "variable", "element": "code", "transform": "copy", "parameter": [ { "valueString": "30980-7" } ] } ] } ] } ] }, { "name": "set due date value", "source": [ { "context": "src", "element": "nextDose", "variable": "nextDose" } ], "target": [ { "context": "due_date", "contextType": "variable", "element": "value", "transform": "copy", "parameter": [ { "valueId": "nextDose" } ] } ] } ] }, { "name": "set dose number", "source": [ { "context": "src", "element": "dose", "variable": "dose" } ], "target": [ { "context": "rec", "contextType": "variable", "element": "doseNumber", "transform": "evaluate", "parameter": [ { "valueString": "dose.toInteger() + 1" } ] } ] }, { "name": "set total doses", "source": [ { "context": "src", "element": "totalDoses", "variable": "totalDoses" } ], "target": [ { "context": "rec", "contextType": "variable", "element": "seriesDoses", "transform": "copy", "parameter": [ { "valueId": "totalDoses" } ] } ] }, { "name": "set supporting immunization", "source": [ { "context": "src" } ], "target": [ { "context": "rec", "contextType": "variable", "element": "supportingImmunization", "variable": "imm" }, { "context": "imm", "contextType": "variable", "element": "reference", "transform": "append", "parameter": [ { "valueString": "Immunization/" }, { "valueId": "iid" } ] } ] } ] } ] } ] }