FHIR © HL7.org  |  Server Home  |  XIG Home  |  XIG Stats  |  Server Source  |  FHIR  

FHIR IG Statistics: StructureMap/CertICAOtoCoreDataSet

Packagewho.ddcc
Resource TypeStructureMap
IdCertICAOtoCoreDataSet
FHIR VersionR4
Sourcehttp://smart.who.int/ddcc/https://build.fhir.org/ig/WorldHealthOrganization/ddcc/StructureMap-CertICAOtoCoreDataSet.html
URLhttp://smart.who.int/ddcc/StructureMap/CertICAOtoCoreDataSet
Version1.0.0
Statusdraft
Date2025-06-24T09:07:32+00:00
NameCertICAOtoCoreDataSet
Realmuv
Authoritywho
DescriptionStructure map transforming CertICAO logical model to bundle of Core Data Set logical model

Resources that use this resource

No resources found


Resources that this resource uses

No resources found


Narrative

Note: links and images are rebased to the (stated) source

Generated Narrative: StructureMap CertICAOtoCoreDataSet

map "http://smart.who.int/ddcc/StructureMap/CertICAOtoCoreDataSet" = "CertICAOtoCoreDataSet"

// Structure map transforming CertICAO logical model to bundle of Core Data Set logical model

uses "http://smart.who.int/ddcc/StructureDefinition/CertICAOVDS" alias VDS as source
uses "http://hl7.org/fhir/StructureDefinition/Bundle" alias DDCCBundle as target
uses "http://smart.who.int/ddcc/StructureDefinition/DDCCCoreDataSet" alias DDCC as target
uses "http://smart.who.int/ddcc/StructureDefinition/DDCCCoreDataSetVS" alias DDCCVS as target
uses "http://smart.who.int/ddcc/StructureDefinition/DDCCCoreDataSetTR" alias DDCCTR as target

group CertICAOtoCoreDataSet(source src : VDS, target ddccBundle : DDCCBundle) {
  src.data as data then {
    data.msg as msg then {
      msg.ve as ve then {
        ve.vd as vd ->  ddccBundle.entry as outentry,  create('http://smart.who.int/ddcc/StructureDefinition/DDCCCoreDataSetVS') as ddcc then {
          data.hdr as hdr -> ddcc.certificate as certificate then VDStoCoreDataSetCertificate(hdr, msg, certificate) "set certificate";
          msg.pid as pid then ExtractPatient(pid, ddcc) "set patient";
          vd -> ddcc.vaccination as vaccination then ExtractVaccine(ve, vd, vaccination) "set vaccination";
          vd -> outentry.resource = ddcc "set outentry";
        };
      };
      msg.tr as tr ->  ddccBundle.entry as outentry,  create('http://smart.who.int/ddcc/StructureDefinition/DDCCCoreDataSetTR') as ddcc then {
        data.hdr as hdr -> ddcc.certificate as certificate then VDStoCoreDataSetCertificate(hdr, msg, certificate) "set certificate";
        msg.pid as pid then ExtractPatient(pid, ddcc) "set patient";
        msg.sp as sp then {
          msg.dat as dat -> ddcc.test as test then ExtractTest(sp, dat, tr, test) "set test";
        };
        tr -> outentry.resource = ddcc "set outentry";
      };
    };
  };
}

group VDStoCoreDataSetCertificate(source hdr, source msg, target certificate) {
  hdr.v as v -> certificate.version = v "set version";
  msg.uvci as uvci ->  certificate.hcid as hcid,  hcid.value = uvci "set hcid from uvci";
  msg.utci as utci ->  certificate.hcid as hcid,  hcid.value = utci "set hcid from utci";
  hdr.is as is ->  certificate.issuer = create('Reference') as issuer,  issuer.display = is "set issuer";
}

group ExtractPatient(source pid, target ddcc : DDCC) {
  pid.n as name -> ddcc.name = name "set name";
  pid.dob as birthDate -> ddcc.birthDate = birthDate "set birthDate";
  pid.i as priorityIdentifier ->  ddcc.identifier as identifier,  identifier.value = priorityIdentifier "set priorityIdentifier";
  pid.dn -> ddcc.identifier as identifier then ExtractDocumentTypeNumber(pid, identifier) "set Document Type Number";
}

group ExtractDocumentTypeNumber(source src, target identif : Identifier) {
  src.dn as docNumber -> identif.value = docNumber "set doc number";
  src.dt as docType where (docType = 'P') -> identif.system = 'PPN' "set doc number P"; // P – Passport (Doc 9303-4)
  src.dt as docType where (docType = 'A') -> identif.system = 'DL' "set doc number A"; // A – ID Card (Doc 9303-5)
  src.dt as docType where (docType = 'C') -> identif.system = 'DL' "set doc number C"; // C – ID Card (Doc 9303-5)
  src.dt as docType where (docType = 'I') -> identif.system = 'DL' "set doc number I"; // I – ID Card Doc 9303-5)
  src.dt as docType where (docType = 'AC') -> identif.system = 'EN' "set doc number AC"; // AC - Crew Member Certificate (Doc 9303-5)
  src.dt as docType where (docType = 'V') -> identif.system = 'ACSN' "set doc number V"; // V – Visa (Doc 9303-7)
  src.dt as docType where (docType = 'D') -> identif.system = 'DL' "set doc number D"; // D – Driving License (ISO18013-1)
}

group ExtractVaccine(source ve, source vd, target vaccination) {
  ve.des as des ->  vaccination.vaccine as coding,  coding.system = 'http://id.who.int/icd11/mms',  coding.code = des "set vaccine";
  ve.nam as nam ->  vaccination.brand as coding,  coding.code = nam "set brand";
  ve.dis as dis ->  vaccination.disease as coding,  coding.system = 'http://id.who.int/icd11/mms',  coding.code = dis "set target disease";
  vd.dvc as dvc -> vaccination.date = dvc "set date";
  vd.seq as seq -> vaccination.dose = seq "set dose";
  vd.dvn as dvn -> vaccination.nextDose = dvn "set nextDose";
  vd.ctr as ctr -> vaccination.country as coding then {
    ctr then ExtractCountry(ctr, coding) "set country";
  };
  vd.adm as adm -> vaccination.centre = adm "set centre";
  vd.lot as lot -> vaccination.lot = lot "set lot";
}

group ExtractTest(source sp, source dat, source tr, target test) {
  tr ->  test.pathogen as coding,  coding.system = 'http://id.who.int/icd11/mms',  coding.code = 'XN109' "set pathogen";
  tr.tc as tc then {
    tc ->  test.type as coding,  coding.code = tc "set default type";
    tc -> c('http://smart.who.int/ddcc/CodeSystem/lab-test-type-icao', tc) as coded then {
      tc where coded.memberOf('http://smart.who.int/ddcc/ValueSet/lab-test-type-icao') -> test.type = translate(coded, 'http://smart.who.int/ddcc/ConceptMap/lab-test-type-icao-to-icd11', 'Coding') "translate ICAO type";
    } "coding";
  };
  tr.m as m then {
    m ->  test.origin as coding,  coding.code = m "set default origin";
    m -> c('http://smart.who.int/ddcc/CodeSystem/lab-test-sample-origin-icao', m) as coded then {
      m where coded.memberOf('http://smart.who.int/ddcc/ValueSet/lab-test-sample-origin-icao') -> test.origin = translate(coded, 'http://smart.who.int/ddcc/ConceptMap/lab-test-sample-origin-icao-to-icd11', 'Coding') "translate ICAO origin";
    } "coding";
  };
  dat.sc as date -> test.date = date "set date";
  tr.r as r then {
    r ->  test.result as coding,  coding.code = r "set default result";
    r -> c('http://smart.who.int/ddcc/CodeSystem/lab-test-qual-result-icao', r) as coded then {
      r where coded.memberOf('http://smart.who.int/ddcc/ValueSet/lab-test-qual-result-icao') -> test.result = translate(coded, 'http://smart.who.int/ddcc/ConceptMap/lab-test-qual-result-icao-to-icd11', 'Coding') "translate ICAO result";
    } "coding";
  };
  sp.spn as spn ->  test.centre as coding,  coding.code = spn "set centre";
  sp.ctr as ctr -> test.country as coding then {
    ctr then ExtractCountry(ctr, coding) "set country";
  };
}

group ExtractCountry(source country, target coding) {
  // ICAO Doc 9303-1 country codes are a superset of ISO 3166 3 letter codes
  country -> coding.code = country "set default country";
  country -> c('urn:iso:std:iso:3166', country) as coded then {
    country where coded.memberOf('http://hl7.org/fhir/ValueSet/iso3166-1-3') ->  coding.code = country,  coding.system = 'urn:iso:std:iso:3166' "set country with system";
  } "coded";
}


Source

{
  "resourceType": "StructureMap",
  "id": "CertICAOtoCoreDataSet",
  "text": {
    "status": "generated",
    "div": "<!-- snip (see above) -->"
  },
  "url": "http://smart.who.int/ddcc/StructureMap/CertICAOtoCoreDataSet",
  "version": "1.0.0",
  "name": "CertICAOtoCoreDataSet",
  "status": "draft",
  "date": "2025-06-24T09:07:32+00:00",
  "publisher": "WHO",
  "contact": [
    {
      "name": "WHO",
      "telecom": [
        {
          "system": "url",
          "value": "http://who.int"
        }
      ]
    }
  ],
  "description": "Structure map transforming CertICAO logical model to bundle of Core Data Set logical model",
  "jurisdiction": [
    {
      "coding": [
        {
          "system": "http://unstats.un.org/unsd/methods/m49/m49.htm",
          "code": "001"
        }
      ]
    }
  ],
  "structure": [
    {
      "url": "http://smart.who.int/ddcc/StructureDefinition/CertICAOVDS",
      "mode": "source",
      "alias": "VDS"
    },
    {
      "url": "http://hl7.org/fhir/StructureDefinition/Bundle",
      "mode": "target",
      "alias": "DDCCBundle"
    },
    {
      "url": "http://smart.who.int/ddcc/StructureDefinition/DDCCCoreDataSet",
      "mode": "target",
      "alias": "DDCC"
    },
    {
      "url": "http://smart.who.int/ddcc/StructureDefinition/DDCCCoreDataSetVS",
      "mode": "target",
      "alias": "DDCCVS"
    },
    {
      "url": "http://smart.who.int/ddcc/StructureDefinition/DDCCCoreDataSetTR",
      "mode": "target",
      "alias": "DDCCTR"
    }
  ],
  "group": [
    {
      "name": "CertICAOtoCoreDataSet",
      "typeMode": "none",
      "input": [
        {
          "name": "src",
          "type": "VDS",
          "mode": "source"
        },
        {
          "name": "ddccBundle",
          "type": "DDCCBundle",
          "mode": "target"
        }
      ],
      "rule": [
        {
          "name": "data",
          "source": [
            {
              "context": "src",
              "element": "data",
              "variable": "data"
            }
          ],
          "rule": [
            {
              "name": "msg",
              "source": [
                {
                  "context": "data",
                  "element": "msg",
                  "variable": "msg"
                }
              ],
              "rule": [
                {
                  "name": "ve",
                  "source": [
                    {
                      "context": "msg",
                      "element": "ve",
                      "variable": "ve"
                    }
                  ],
                  "rule": [
                    {
                      "name": "vd",
                      "source": [
                        {
                          "context": "ve",
                          "element": "vd",
                          "variable": "vd"
                        }
                      ],
                      "target": [
                        {
                          "context": "ddccBundle",
                          "contextType": "variable",
                          "element": "entry",
                          "variable": "outentry"
                        },
                        {
                          "contextType": "variable",
                          "variable": "ddcc",
                          "transform": "create",
                          "parameter": [
                            {
                              "valueString": "http://smart.who.int/ddcc/StructureDefinition/DDCCCoreDataSetVS"
                            }
                          ]
                        }
                      ],
                      "rule": [
                        {
                          "name": "set certificate",
                          "source": [
                            {
                              "context": "data",
                              "element": "hdr",
                              "variable": "hdr"
                            }
                          ],
                          "target": [
                            {
                              "context": "ddcc",
                              "contextType": "variable",
                              "element": "certificate",
                              "variable": "certificate"
                            }
                          ],
                          "dependent": [
                            {
                              "name": "VDStoCoreDataSetCertificate",
                              "variable": [
                                "hdr",
                                "msg",
                                "certificate"
                              ]
                            }
                          ]
                        },
                        {
                          "name": "set patient",
                          "source": [
                            {
                              "context": "msg",
                              "element": "pid",
                              "variable": "pid"
                            }
                          ],
                          "dependent": [
                            {
                              "name": "ExtractPatient",
                              "variable": [
                                "pid",
                                "ddcc"
                              ]
                            }
                          ]
                        },
                        {
                          "name": "set vaccination",
                          "source": [
                            {
                              "context": "vd"
                            }
                          ],
                          "target": [
                            {
                              "context": "ddcc",
                              "contextType": "variable",
                              "element": "vaccination",
                              "variable": "vaccination"
                            }
                          ],
                          "dependent": [
                            {
                              "name": "ExtractVaccine",
                              "variable": [
                                "ve",
                                "vd",
                                "vaccination"
                              ]
                            }
                          ]
                        },
                        {
                          "name": "set outentry",
                          "source": [
                            {
                              "context": "vd"
                            }
                          ],
                          "target": [
                            {
                              "context": "outentry",
                              "contextType": "variable",
                              "element": "resource",
                              "transform": "copy",
                              "parameter": [
                                {
                                  "valueId": "ddcc"
                                }
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ]
                },
                {
                  "name": "tr",
                  "source": [
                    {
                      "context": "msg",
                      "element": "tr",
                      "variable": "tr"
                    }
                  ],
                  "target": [
                    {
                      "context": "ddccBundle",
                      "contextType": "variable",
                      "element": "entry",
                      "variable": "outentry"
                    },
                    {
                      "contextType": "variable",
                      "variable": "ddcc",
                      "transform": "create",
                      "parameter": [
                        {
                          "valueString": "http://smart.who.int/ddcc/StructureDefinition/DDCCCoreDataSetTR"
                        }
                      ]
                    }
                  ],
                  "rule": [
                    {
                      "name": "set certificate",
                      "source": [
                        {
                          "context": "data",
                          "element": "hdr",
                          "variable": "hdr"
                        }
                      ],
                      "target": [
                        {
                          "context": "ddcc",
                          "contextType": "variable",
                          "element": "certificate",
                          "variable": "certificate"
                        }
                      ],
                      "dependent": [
                        {
                          "name": "VDStoCoreDataSetCertificate",
                          "variable": [
                            "hdr",
                            "msg",
                            "certificate"
                          ]
                        }
                      ]
                    },
                    {
                      "name": "set patient",
                      "source": [
                        {
                          "context": "msg",
                          "element": "pid",
                          "variable": "pid"
                        }
                      ],
                      "dependent": [
                        {
                          "name": "ExtractPatient",
                          "variable": [
                            "pid",
                            "ddcc"
                          ]
                        }
                      ]
                    },
                    {
                      "name": "sp",
                      "source": [
                        {
                          "context": "msg",
                          "element": "sp",
                          "variable": "sp"
                        }
                      ],
                      "rule": [
                        {
                          "name": "set test",
                          "source": [
                            {
                              "context": "msg",
                              "element": "dat",
                              "variable": "dat"
                            }
                          ],
                          "target": [
                            {
                              "context": "ddcc",
                              "contextType": "variable",
                              "element": "test",
                              "variable": "test"
                            }
                          ],
                          "dependent": [
                            {
                              "name": "ExtractTest",
                              "variable": [
                                "sp",
                                "dat",
                                "tr",
                                "test"
                              ]
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "name": "set outentry",
                      "source": [
                        {
                          "context": "tr"
                        }
                      ],
                      "target": [
                        {
                          "context": "outentry",
                          "contextType": "variable",
                          "element": "resource",
                          "transform": "copy",
                          "parameter": [
                            {
                              "valueId": "ddcc"
                            }
                          ]
                        }
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "name": "VDStoCoreDataSetCertificate",
      "typeMode": "none",
      "input": [
        {
          "name": "hdr",
          "mode": "source"
        },
        {
          "name": "msg",
          "mode": "source"
        },
        {
          "name": "certificate",
          "mode": "target"
        }
      ],
      "rule": [
        {
          "name": "set version",
          "source": [
            {
              "context": "hdr",
              "element": "v",
              "variable": "v"
            }
          ],
          "target": [
            {
              "context": "certificate",
              "contextType": "variable",
              "element": "version",
              "transform": "copy",
              "parameter": [
                {
                  "valueId": "v"
                }
              ]
            }
          ]
        },
        {
          "name": "set hcid from uvci",
          "source": [
            {
              "context": "msg",
              "element": "uvci",
              "variable": "uvci"
            }
          ],
          "target": [
            {
              "context": "certificate",
              "contextType": "variable",
              "element": "hcid",
              "variable": "hcid"
            },
            {
              "context": "hcid",
              "contextType": "variable",
              "element": "value",
              "transform": "copy",
              "parameter": [
                {
                  "valueId": "uvci"
                }
              ]
            }
          ]
        },
        {
          "name": "set hcid from utci",
          "source": [
            {
              "context": "msg",
              "element": "utci",
              "variable": "utci"
            }
          ],
          "target": [
            {
              "context": "certificate",
              "contextType": "variable",
              "element": "hcid",
              "variable": "hcid"
            },
            {
              "context": "hcid",
              "contextType": "variable",
              "element": "value",
              "transform": "copy",
              "parameter": [
                {
                  "valueId": "utci"
                }
              ]
            }
          ]
        },
        {
          "name": "set issuer",
          "source": [
            {
              "context": "hdr",
              "element": "is",
              "variable": "is"
            }
          ],
          "target": [
            {
              "context": "certificate",
              "contextType": "variable",
              "element": "issuer",
              "variable": "issuer",
              "transform": "create",
              "parameter": [
                {
                  "valueString": "Reference"
                }
              ]
            },
            {
              "context": "issuer",
              "contextType": "variable",
              "element": "display",
              "transform": "copy",
              "parameter": [
                {
                  "valueId": "is"
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "name": "ExtractPatient",
      "typeMode": "none",
      "input": [
        {
          "name": "pid",
          "mode": "source"
        },
        {
          "name": "ddcc",
          "type": "DDCC",
          "mode": "target"
        }
      ],
      "rule": [
        {
          "name": "set name",
          "source": [
            {
              "context": "pid",
              "element": "n",
              "variable": "name"
            }
          ],
          "target": [
            {
              "context": "ddcc",
              "contextType": "variable",
              "element": "name",
              "transform": "copy",
              "parameter": [
                {
                  "valueId": "name"
                }
              ]
            }
          ]
        },
        {
          "name": "set birthDate",
          "source": [
            {
              "context": "pid",
              "element": "dob",
              "variable": "birthDate"
            }
          ],
          "target": [
            {
              "context": "ddcc",
              "contextType": "variable",
              "element": "birthDate",
              "transform": "copy",
              "parameter": [
                {
                  "valueId": "birthDate"
                }
              ]
            }
          ]
        },
        {
          "name": "set priorityIdentifier",
          "source": [
            {
              "context": "pid",
              "element": "i",
              "variable": "priorityIdentifier"
            }
          ],
          "target": [
            {
              "context": "ddcc",
              "contextType": "variable",
              "element": "identifier",
              "variable": "identifier"
            },
            {
              "context": "identifier",
              "contextType": "variable",
              "element": "value",
              "transform": "copy",
              "parameter": [
                {
                  "valueId": "priorityIdentifier"
                }
              ]
            }
          ]
        },
        {
          "name": "set Document Type Number",
          "source": [
            {
              "context": "pid",
              "element": "dn"
            }
          ],
          "target": [
            {
              "context": "ddcc",
              "contextType": "variable",
              "element": "identifier",
              "variable": "identifier"
            }
          ],
          "dependent": [
            {
              "name": "ExtractDocumentTypeNumber",
              "variable": [
                "pid",
                "identifier"
              ]
            }
          ]
        }
      ]
    },
    {
      "name": "ExtractDocumentTypeNumber",
      "typeMode": "none",
      "input": [
        {
          "name": "src",
          "mode": "source"
        },
        {
          "name": "identif",
          "type": "Identifier",
          "mode": "target"
        }
      ],
      "rule": [
        {
          "name": "set doc number",
          "source": [
            {
              "context": "src",
              "element": "dn",
              "variable": "docNumber"
            }
          ],
          "target": [
            {
              "context": "identif",
              "contextType": "variable",
              "element": "value",
              "transform": "copy",
              "parameter": [
                {
                  "valueId": "docNumber"
                }
              ]
            }
          ]
        },
        {
          "name": "set doc number P",
          "source": [
            {
              "context": "src",
              "element": "dt",
              "variable": "docType",
              "condition": "(docType = 'P')"
            }
          ],
          "target": [
            {
              "context": "identif",
              "contextType": "variable",
              "element": "system",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "PPN"
                }
              ]
            }
          ],
          "documentation": "P – Passport (Doc 9303-4)"
        },
        {
          "name": "set doc number A",
          "source": [
            {
              "context": "src",
              "element": "dt",
              "variable": "docType",
              "condition": "(docType = 'A')"
            }
          ],
          "target": [
            {
              "context": "identif",
              "contextType": "variable",
              "element": "system",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "DL"
                }
              ]
            }
          ],
          "documentation": "A – ID Card (Doc 9303-5)"
        },
        {
          "name": "set doc number C",
          "source": [
            {
              "context": "src",
              "element": "dt",
              "variable": "docType",
              "condition": "(docType = 'C')"
            }
          ],
          "target": [
            {
              "context": "identif",
              "contextType": "variable",
              "element": "system",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "DL"
                }
              ]
            }
          ],
          "documentation": "C – ID Card (Doc 9303-5)"
        },
        {
          "name": "set doc number I",
          "source": [
            {
              "context": "src",
              "element": "dt",
              "variable": "docType",
              "condition": "(docType = 'I')"
            }
          ],
          "target": [
            {
              "context": "identif",
              "contextType": "variable",
              "element": "system",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "DL"
                }
              ]
            }
          ],
          "documentation": "I – ID Card Doc 9303-5)"
        },
        {
          "name": "set doc number AC",
          "source": [
            {
              "context": "src",
              "element": "dt",
              "variable": "docType",
              "condition": "(docType = 'AC')"
            }
          ],
          "target": [
            {
              "context": "identif",
              "contextType": "variable",
              "element": "system",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "EN"
                }
              ]
            }
          ],
          "documentation": "AC - Crew Member Certificate (Doc 9303-5)"
        },
        {
          "name": "set doc number V",
          "source": [
            {
              "context": "src",
              "element": "dt",
              "variable": "docType",
              "condition": "(docType = 'V')"
            }
          ],
          "target": [
            {
              "context": "identif",
              "contextType": "variable",
              "element": "system",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "ACSN"
                }
              ]
            }
          ],
          "documentation": "V – Visa (Doc 9303-7)"
        },
        {
          "name": "set doc number D",
          "source": [
            {
              "context": "src",
              "element": "dt",
              "variable": "docType",
              "condition": "(docType = 'D')"
            }
          ],
          "target": [
            {
              "context": "identif",
              "contextType": "variable",
              "element": "system",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "DL"
                }
              ]
            }
          ],
          "documentation": "D – Driving License (ISO18013-1)"
        }
      ]
    },
    {
      "name": "ExtractVaccine",
      "typeMode": "none",
      "input": [
        {
          "name": "ve",
          "mode": "source"
        },
        {
          "name": "vd",
          "mode": "source"
        },
        {
          "name": "vaccination",
          "mode": "target"
        }
      ],
      "rule": [
        {
          "name": "set vaccine",
          "source": [
            {
              "context": "ve",
              "element": "des",
              "variable": "des"
            }
          ],
          "target": [
            {
              "context": "vaccination",
              "contextType": "variable",
              "element": "vaccine",
              "variable": "coding"
            },
            {
              "context": "coding",
              "contextType": "variable",
              "element": "system",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "http://id.who.int/icd11/mms"
                }
              ]
            },
            {
              "context": "coding",
              "contextType": "variable",
              "element": "code",
              "transform": "copy",
              "parameter": [
                {
                  "valueId": "des"
                }
              ]
            }
          ]
        },
        {
          "name": "set brand",
          "source": [
            {
              "context": "ve",
              "element": "nam",
              "variable": "nam"
            }
          ],
          "target": [
            {
              "context": "vaccination",
              "contextType": "variable",
              "element": "brand",
              "variable": "coding"
            },
            {
              "context": "coding",
              "contextType": "variable",
              "element": "code",
              "transform": "copy",
              "parameter": [
                {
                  "valueId": "nam"
                }
              ]
            }
          ]
        },
        {
          "name": "set target disease",
          "source": [
            {
              "context": "ve",
              "element": "dis",
              "variable": "dis"
            }
          ],
          "target": [
            {
              "context": "vaccination",
              "contextType": "variable",
              "element": "disease",
              "variable": "coding"
            },
            {
              "context": "coding",
              "contextType": "variable",
              "element": "system",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "http://id.who.int/icd11/mms"
                }
              ]
            },
            {
              "context": "coding",
              "contextType": "variable",
              "element": "code",
              "transform": "copy",
              "parameter": [
                {
                  "valueId": "dis"
                }
              ]
            }
          ]
        },
        {
          "name": "set date",
          "source": [
            {
              "context": "vd",
              "element": "dvc",
              "variable": "dvc"
            }
          ],
          "target": [
            {
              "context": "vaccination",
              "contextType": "variable",
              "element": "date",
              "transform": "copy",
              "parameter": [
                {
                  "valueId": "dvc"
                }
              ]
            }
          ]
        },
        {
          "name": "set dose",
          "source": [
            {
              "context": "vd",
              "element": "seq",
              "variable": "seq"
            }
          ],
          "target": [
            {
              "context": "vaccination",
              "contextType": "variable",
              "element": "dose",
              "transform": "copy",
              "parameter": [
                {
                  "valueId": "seq"
                }
              ]
            }
          ]
        },
        {
          "name": "set nextDose",
          "source": [
            {
              "context": "vd",
              "element": "dvn",
              "variable": "dvn"
            }
          ],
          "target": [
            {
              "context": "vaccination",
              "contextType": "variable",
              "element": "nextDose",
              "transform": "copy",
              "parameter": [
                {
                  "valueId": "dvn"
                }
              ]
            }
          ]
        },
        {
          "name": "ctr",
          "source": [
            {
              "context": "vd",
              "element": "ctr",
              "variable": "ctr"
            }
          ],
          "target": [
            {
              "context": "vaccination",
              "contextType": "variable",
              "element": "country",
              "variable": "coding"
            }
          ],
          "rule": [
            {
              "name": "set country",
              "source": [
                {
                  "context": "ctr"
                }
              ],
              "dependent": [
                {
                  "name": "ExtractCountry",
                  "variable": [
                    "ctr",
                    "coding"
                  ]
                }
              ]
            }
          ]
        },
        {
          "name": "set centre",
          "source": [
            {
              "context": "vd",
              "element": "adm",
              "variable": "adm"
            }
          ],
          "target": [
            {
              "context": "vaccination",
              "contextType": "variable",
              "element": "centre",
              "transform": "copy",
              "parameter": [
                {
                  "valueId": "adm"
                }
              ]
            }
          ]
        },
        {
          "name": "set lot",
          "source": [
            {
              "context": "vd",
              "element": "lot",
              "variable": "lot"
            }
          ],
          "target": [
            {
              "context": "vaccination",
              "contextType": "variable",
              "element": "lot",
              "transform": "copy",
              "parameter": [
                {
                  "valueId": "lot"
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "name": "ExtractTest",
      "typeMode": "none",
      "input": [
        {
          "name": "sp",
          "mode": "source"
        },
        {
          "name": "dat",
          "mode": "source"
        },
        {
          "name": "tr",
          "mode": "source"
        },
        {
          "name": "test",
          "mode": "target"
        }
      ],
      "rule": [
        {
          "name": "set pathogen",
          "source": [
            {
              "context": "tr"
            }
          ],
          "target": [
            {
              "context": "test",
              "contextType": "variable",
              "element": "pathogen",
              "variable": "coding"
            },
            {
              "context": "coding",
              "contextType": "variable",
              "element": "system",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "http://id.who.int/icd11/mms"
                }
              ]
            },
            {
              "context": "coding",
              "contextType": "variable",
              "element": "code",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "XN109"
                }
              ]
            }
          ]
        },
        {
          "name": "tc",
          "source": [
            {
              "context": "tr",
              "element": "tc",
              "variable": "tc"
            }
          ],
          "rule": [
            {
              "name": "set default type",
              "source": [
                {
                  "context": "tc"
                }
              ],
              "target": [
                {
                  "context": "test",
                  "contextType": "variable",
                  "element": "type",
                  "variable": "coding"
                },
                {
                  "context": "coding",
                  "contextType": "variable",
                  "element": "code",
                  "transform": "copy",
                  "parameter": [
                    {
                      "valueId": "tc"
                    }
                  ]
                }
              ]
            },
            {
              "name": "coding",
              "source": [
                {
                  "context": "tc"
                }
              ],
              "target": [
                {
                  "contextType": "variable",
                  "variable": "coded",
                  "transform": "c",
                  "parameter": [
                    {
                      "valueString": "http://smart.who.int/ddcc/CodeSystem/lab-test-type-icao"
                    },
                    {
                      "valueId": "tc"
                    }
                  ]
                }
              ],
              "rule": [
                {
                  "name": "translate ICAO type",
                  "source": [
                    {
                      "context": "tc",
                      "condition": "coded.memberOf('http://smart.who.int/ddcc/ValueSet/lab-test-type-icao')"
                    }
                  ],
                  "target": [
                    {
                      "context": "test",
                      "contextType": "variable",
                      "element": "type",
                      "transform": "translate",
                      "parameter": [
                        {
                          "valueId": "coded"
                        },
                        {
                          "valueString": "http://smart.who.int/ddcc/ConceptMap/lab-test-type-icao-to-icd11"
                        },
                        {
                          "valueString": "Coding"
                        }
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "name": "m",
          "source": [
            {
              "context": "tr",
              "element": "m",
              "variable": "m"
            }
          ],
          "rule": [
            {
              "name": "set default origin",
              "source": [
                {
                  "context": "m"
                }
              ],
              "target": [
                {
                  "context": "test",
                  "contextType": "variable",
                  "element": "origin",
                  "variable": "coding"
                },
                {
                  "context": "coding",
                  "contextType": "variable",
                  "element": "code",
                  "transform": "copy",
                  "parameter": [
                    {
                      "valueId": "m"
                    }
                  ]
                }
              ]
            },
            {
              "name": "coding",
              "source": [
                {
                  "context": "m"
                }
              ],
              "target": [
                {
                  "contextType": "variable",
                  "variable": "coded",
                  "transform": "c",
                  "parameter": [
                    {
                      "valueString": "http://smart.who.int/ddcc/CodeSystem/lab-test-sample-origin-icao"
                    },
                    {
                      "valueId": "m"
                    }
                  ]
                }
              ],
              "rule": [
                {
                  "name": "translate ICAO origin",
                  "source": [
                    {
                      "context": "m",
                      "condition": "coded.memberOf('http://smart.who.int/ddcc/ValueSet/lab-test-sample-origin-icao')"
                    }
                  ],
                  "target": [
                    {
                      "context": "test",
                      "contextType": "variable",
                      "element": "origin",
                      "transform": "translate",
                      "parameter": [
                        {
                          "valueId": "coded"
                        },
                        {
                          "valueString": "http://smart.who.int/ddcc/ConceptMap/lab-test-sample-origin-icao-to-icd11"
                        },
                        {
                          "valueString": "Coding"
                        }
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "name": "set date",
          "source": [
            {
              "context": "dat",
              "element": "sc",
              "variable": "date"
            }
          ],
          "target": [
            {
              "context": "test",
              "contextType": "variable",
              "element": "date",
              "transform": "copy",
              "parameter": [
                {
                  "valueId": "date"
                }
              ]
            }
          ]
        },
        {
          "name": "r",
          "source": [
            {
              "context": "tr",
              "element": "r",
              "variable": "r"
            }
          ],
          "rule": [
            {
              "name": "set default result",
              "source": [
                {
                  "context": "r"
                }
              ],
              "target": [
                {
                  "context": "test",
                  "contextType": "variable",
                  "element": "result",
                  "variable": "coding"
                },
                {
                  "context": "coding",
                  "contextType": "variable",
                  "element": "code",
                  "transform": "copy",
                  "parameter": [
                    {
                      "valueId": "r"
                    }
                  ]
                }
              ]
            },
            {
              "name": "coding",
              "source": [
                {
                  "context": "r"
                }
              ],
              "target": [
                {
                  "contextType": "variable",
                  "variable": "coded",
                  "transform": "c",
                  "parameter": [
                    {
                      "valueString": "http://smart.who.int/ddcc/CodeSystem/lab-test-qual-result-icao"
                    },
                    {
                      "valueId": "r"
                    }
                  ]
                }
              ],
              "rule": [
                {
                  "name": "translate ICAO result",
                  "source": [
                    {
                      "context": "r",
                      "condition": "coded.memberOf('http://smart.who.int/ddcc/ValueSet/lab-test-qual-result-icao')"
                    }
                  ],
                  "target": [
                    {
                      "context": "test",
                      "contextType": "variable",
                      "element": "result",
                      "transform": "translate",
                      "parameter": [
                        {
                          "valueId": "coded"
                        },
                        {
                          "valueString": "http://smart.who.int/ddcc/ConceptMap/lab-test-qual-result-icao-to-icd11"
                        },
                        {
                          "valueString": "Coding"
                        }
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "name": "set centre",
          "source": [
            {
              "context": "sp",
              "element": "spn",
              "variable": "spn"
            }
          ],
          "target": [
            {
              "context": "test",
              "contextType": "variable",
              "element": "centre",
              "variable": "coding"
            },
            {
              "context": "coding",
              "contextType": "variable",
              "element": "code",
              "transform": "copy",
              "parameter": [
                {
                  "valueId": "spn"
                }
              ]
            }
          ]
        },
        {
          "name": "ctr",
          "source": [
            {
              "context": "sp",
              "element": "ctr",
              "variable": "ctr"
            }
          ],
          "target": [
            {
              "context": "test",
              "contextType": "variable",
              "element": "country",
              "variable": "coding"
            }
          ],
          "rule": [
            {
              "name": "set country",
              "source": [
                {
                  "context": "ctr"
                }
              ],
              "dependent": [
                {
                  "name": "ExtractCountry",
                  "variable": [
                    "ctr",
                    "coding"
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "name": "ExtractCountry",
      "typeMode": "none",
      "input": [
        {
          "name": "country",
          "mode": "source"
        },
        {
          "name": "coding",
          "mode": "target"
        }
      ],
      "rule": [
        {
          "name": "set default country",
          "source": [
            {
              "context": "country"
            }
          ],
          "target": [
            {
              "context": "coding",
              "contextType": "variable",
              "element": "code",
              "transform": "copy",
              "parameter": [
                {
                  "valueId": "country"
                }
              ]
            }
          ]
        },
        {
          "name": "coded",
          "source": [
            {
              "context": "country"
            }
          ],
          "target": [
            {
              "contextType": "variable",
              "variable": "coded",
              "transform": "c",
              "parameter": [
                {
                  "valueString": "urn:iso:std:iso:3166"
                },
                {
                  "valueId": "country"
                }
              ]
            }
          ],
          "rule": [
            {
              "name": "set country with system",
              "source": [
                {
                  "context": "country",
                  "condition": "coded.memberOf('http://hl7.org/fhir/ValueSet/iso3166-1-3')"
                }
              ],
              "target": [
                {
                  "context": "coding",
                  "contextType": "variable",
                  "element": "code",
                  "transform": "copy",
                  "parameter": [
                    {
                      "valueId": "country"
                    }
                  ]
                },
                {
                  "context": "coding",
                  "contextType": "variable",
                  "element": "system",
                  "transform": "copy",
                  "parameter": [
                    {
                      "valueString": "urn:iso:std:iso:3166"
                    }
                  ]
                }
              ]
            }
          ]
        }
      ]
    }
  ]
}