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

FHIR IG Statistics: StructureMap/DDCCtoCoredataset

Packagewho.ddcc
Resource TypeStructureMap
IdDDCCtoCoredataset
FHIR VersionR4
Sourcehttp://smart.who.int/ddcc/https://build.fhir.org/ig/WorldHealthOrganization/ddcc/StructureMap-DDCCtoCoredataset.html
URLhttp://smart.who.int/ddcc/StructureMap/DDCCtoCoredataset
Version1.0.0
Statusdraft
Date2025-06-24T09:07:32+00:00
NameDDCCtoCoredataset
Realmuv
Authoritywho

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 DDCCtoCoredataset

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

uses "http://smart.who.int/ddcc/StructureDefinition/DDCCVSComposition" alias DDCC as source
uses "http://smart.who.int/ddcc/StructureDefinition/DDCCDocument" alias DDCCDocument as source
uses "http://smart.who.int/ddcc/StructureDefinition/DDCCPatient" alias DDCCPatient as source
uses "http://smart.who.int/ddcc/StructureDefinition/DDCCVSComposition" alias DDCCVSComposition as source
uses "http://smart.who.int/ddcc/StructureDefinition/DDCCCountryOfVaccination" alias DDCCCountryOfVaccination as source
uses "http://smart.who.int/ddcc/StructureDefinition/DDCCVaccineBrand" alias DDCCVaccineBrand as source
uses "http://smart.who.int/ddcc/StructureDefinition/DDCCOrganization" alias DDCCOrganization as source
uses "http://smart.who.int/ddcc/StructureDefinition/DDCCImmunization" alias DDCCImmunization as source
uses "http://smart.who.int/ddcc/DDCCCoreDataSetVSPoV" alias DDCCCoreDataSetPoV as target

group DecodeDDCCtoQR(source ddcc : DDCCDocument, target qr : DDCCCoreDataSetPoV) {
  ddcc.entry as entry then {
    // entry.resource : DDCCPatient as patient
    entry.resource : Patient as patient then DecodePatientToQR(patient, qr) "Patient";
  };
  ddcc.entry as entry then {
    entry.resource : Immunization as immunization then DecodeImmunizationToQR(ddcc, immunization, qr) "Immunization";
  };
}

group DecodePatientToQR(source patient : DDCCPatient, target qr : DDCCCoreDataSetPoV) {
  patient.birthDate as birthDate -> qr.birthDate = birthDate;
  patient.name as name then {
    name.text as text -> qr.name = text;
  };
}

group DecodeImmunizationToQR(source ddcc : DDCCDocument, source immunization : DDCCImmunization, target qr : DDCCCoreDataSetPoV) {
  immunization -> qr.vaccination = create('BackboneElement') as vacEvent then {
    immunization.protocolApplied as protocol then {
      protocol.doseNumberPositiveInt as dose -> vacEvent.dose = dose;
      protocol.seriesDosesPositiveInt as doseNum -> vacEvent.totalDoses = doseNum;
      protocol.targetDisease as targetDisease then {
        targetDisease.valueCodableConcept as valueCodableConcept -> vacEvent.disease = valueCodableConcept;
      } "TargetDisease";
    };
    immunization.occurrenceDateTime as date -> vacEvent.date = date;
    // TODO: need to populate vacEvent.maholder
    // immunization.extension : DDCCCountryOfVaccination as country
    immunization.extension as country where (url = 'http://smart.who.int/ddcc/StructureDefinition/DDCCCountryOfEvent') then {
      country.valueCode as code ->  vacEvent.country = create('Coding') as coding,  coding.code = code,  coding.system = 'http://hl7.org/fhir/ValueSet/iso3166-1-3';
    } "Country";
    // immunization.extension : DDCCBrand as brand
    immunization.extension as brand where (url = 'http://smart.who.int/ddcc/StructureDefinition/DDCCEventBrand') then {
      brand.valueCoding as valueCoding -> vacEvent.brand = valueCoding;
    } "VaccineBrand";
    immunization.vaccineCode as vaccineCode then {
      vaccineCode.coding as coding -> vacEvent.vaccine = coding;
    } "VaccineCode";
    ddcc.entry as entry then {
      // entry.resource : DDCCOrganization as organization
      entry.resource : Organization as organization then {
        organization.name as name -> vacEvent.centre = name;
      } "CentreName";
    } "VaccinationCentre";
    ddcc.entry as entry then {
      // entry.resource : DDCCVSComposition as composition
      entry.resource : Composition as composition then {
        composition.identifier as identifier -> qr.identifier = identifier;
      } "VaccinationEventID";
    } "VaccinationEvent";
  } "Vaccination";
}


Source

{
  "resourceType": "StructureMap",
  "id": "DDCCtoCoredataset",
  "text": {
    "status": "generated",
    "div": "<!-- snip (see above) -->"
  },
  "url": "http://smart.who.int/ddcc/StructureMap/DDCCtoCoredataset",
  "version": "1.0.0",
  "name": "DDCCtoCoredataset",
  "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/DDCCVSComposition",
      "mode": "source",
      "alias": "DDCC"
    },
    {
      "url": "http://smart.who.int/ddcc/StructureDefinition/DDCCDocument",
      "mode": "source",
      "alias": "DDCCDocument"
    },
    {
      "url": "http://smart.who.int/ddcc/StructureDefinition/DDCCPatient",
      "mode": "source",
      "alias": "DDCCPatient"
    },
    {
      "url": "http://smart.who.int/ddcc/StructureDefinition/DDCCVSComposition",
      "mode": "source",
      "alias": "DDCCVSComposition"
    },
    {
      "url": "http://smart.who.int/ddcc/StructureDefinition/DDCCCountryOfVaccination",
      "mode": "source",
      "alias": "DDCCCountryOfVaccination"
    },
    {
      "url": "http://smart.who.int/ddcc/StructureDefinition/DDCCVaccineBrand",
      "mode": "source",
      "alias": "DDCCVaccineBrand"
    },
    {
      "url": "http://smart.who.int/ddcc/StructureDefinition/DDCCOrganization",
      "mode": "source",
      "alias": "DDCCOrganization"
    },
    {
      "url": "http://smart.who.int/ddcc/StructureDefinition/DDCCImmunization",
      "mode": "source",
      "alias": "DDCCImmunization"
    },
    {
      "url": "http://smart.who.int/ddcc/DDCCCoreDataSetVSPoV",
      "mode": "target",
      "alias": "DDCCCoreDataSetPoV"
    }
  ],
  "group": [
    {
      "name": "DecodeDDCCtoQR",
      "typeMode": "none",
      "input": [
        {
          "name": "ddcc",
          "type": "DDCCDocument",
          "mode": "source"
        },
        {
          "name": "qr",
          "type": "DDCCCoreDataSetPoV",
          "mode": "target"
        }
      ],
      "rule": [
        {
          "name": "entry",
          "source": [
            {
              "context": "ddcc",
              "element": "entry",
              "variable": "entry"
            }
          ],
          "rule": [
            {
              "name": "Patient",
              "source": [
                {
                  "context": "entry",
                  "type": "Patient",
                  "element": "resource",
                  "variable": "patient"
                }
              ],
              "dependent": [
                {
                  "name": "DecodePatientToQR",
                  "variable": [
                    "patient",
                    "qr"
                  ]
                }
              ]
            }
          ]
        },
        {
          "name": "entry",
          "source": [
            {
              "context": "ddcc",
              "element": "entry",
              "variable": "entry"
            }
          ],
          "rule": [
            {
              "name": "Immunization",
              "source": [
                {
                  "context": "entry",
                  "type": "Immunization",
                  "element": "resource",
                  "variable": "immunization"
                }
              ],
              "dependent": [
                {
                  "name": "DecodeImmunizationToQR",
                  "variable": [
                    "ddcc",
                    "immunization",
                    "qr"
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "name": "DecodePatientToQR",
      "typeMode": "none",
      "input": [
        {
          "name": "patient",
          "type": "DDCCPatient",
          "mode": "source"
        },
        {
          "name": "qr",
          "type": "DDCCCoreDataSetPoV",
          "mode": "target"
        }
      ],
      "rule": [
        {
          "name": "birthDate",
          "source": [
            {
              "context": "patient",
              "element": "birthDate",
              "variable": "birthDate"
            }
          ],
          "target": [
            {
              "context": "qr",
              "contextType": "variable",
              "element": "birthDate",
              "transform": "copy",
              "parameter": [
                {
                  "valueId": "birthDate"
                }
              ]
            }
          ]
        },
        {
          "name": "name",
          "source": [
            {
              "context": "patient",
              "element": "name",
              "variable": "name"
            }
          ],
          "rule": [
            {
              "name": "text",
              "source": [
                {
                  "context": "name",
                  "element": "text",
                  "variable": "text"
                }
              ],
              "target": [
                {
                  "context": "qr",
                  "contextType": "variable",
                  "element": "name",
                  "transform": "copy",
                  "parameter": [
                    {
                      "valueId": "text"
                    }
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "name": "DecodeImmunizationToQR",
      "typeMode": "none",
      "input": [
        {
          "name": "ddcc",
          "type": "DDCCDocument",
          "mode": "source"
        },
        {
          "name": "immunization",
          "type": "DDCCImmunization",
          "mode": "source"
        },
        {
          "name": "qr",
          "type": "DDCCCoreDataSetPoV",
          "mode": "target"
        }
      ],
      "rule": [
        {
          "name": "Vaccination",
          "source": [
            {
              "context": "immunization"
            }
          ],
          "target": [
            {
              "context": "qr",
              "contextType": "variable",
              "element": "vaccination",
              "variable": "vacEvent",
              "transform": "create",
              "parameter": [
                {
                  "valueString": "BackboneElement"
                }
              ]
            }
          ],
          "rule": [
            {
              "name": "protocolApplied",
              "source": [
                {
                  "context": "immunization",
                  "element": "protocolApplied",
                  "variable": "protocol"
                }
              ],
              "rule": [
                {
                  "name": "doseNumberPositiveInt",
                  "source": [
                    {
                      "context": "protocol",
                      "element": "doseNumberPositiveInt",
                      "variable": "dose"
                    }
                  ],
                  "target": [
                    {
                      "context": "vacEvent",
                      "contextType": "variable",
                      "element": "dose",
                      "transform": "copy",
                      "parameter": [
                        {
                          "valueId": "dose"
                        }
                      ]
                    }
                  ]
                },
                {
                  "name": "seriesDosesPositiveInt",
                  "source": [
                    {
                      "context": "protocol",
                      "element": "seriesDosesPositiveInt",
                      "variable": "doseNum"
                    }
                  ],
                  "target": [
                    {
                      "context": "vacEvent",
                      "contextType": "variable",
                      "element": "totalDoses",
                      "transform": "copy",
                      "parameter": [
                        {
                          "valueId": "doseNum"
                        }
                      ]
                    }
                  ]
                },
                {
                  "name": "TargetDisease",
                  "source": [
                    {
                      "context": "protocol",
                      "element": "targetDisease",
                      "variable": "targetDisease"
                    }
                  ],
                  "rule": [
                    {
                      "name": "valueCodableConcept",
                      "source": [
                        {
                          "context": "targetDisease",
                          "element": "valueCodableConcept",
                          "variable": "valueCodableConcept"
                        }
                      ],
                      "target": [
                        {
                          "context": "vacEvent",
                          "contextType": "variable",
                          "element": "disease",
                          "transform": "copy",
                          "parameter": [
                            {
                              "valueId": "valueCodableConcept"
                            }
                          ]
                        }
                      ]
                    }
                  ]
                }
              ]
            },
            {
              "name": "occurrenceDateTime",
              "source": [
                {
                  "context": "immunization",
                  "element": "occurrenceDateTime",
                  "variable": "date"
                }
              ],
              "target": [
                {
                  "context": "vacEvent",
                  "contextType": "variable",
                  "element": "date",
                  "transform": "copy",
                  "parameter": [
                    {
                      "valueId": "date"
                    }
                  ]
                }
              ]
            },
            {
              "name": "Country",
              "source": [
                {
                  "context": "immunization",
                  "element": "extension",
                  "variable": "country",
                  "condition": "(url = 'http://smart.who.int/ddcc/StructureDefinition/DDCCCountryOfEvent')"
                }
              ],
              "rule": [
                {
                  "name": "valueCode",
                  "source": [
                    {
                      "context": "country",
                      "element": "valueCode",
                      "variable": "code"
                    }
                  ],
                  "target": [
                    {
                      "context": "vacEvent",
                      "contextType": "variable",
                      "element": "country",
                      "variable": "coding",
                      "transform": "create",
                      "parameter": [
                        {
                          "valueString": "Coding"
                        }
                      ]
                    },
                    {
                      "context": "coding",
                      "contextType": "variable",
                      "element": "code",
                      "transform": "copy",
                      "parameter": [
                        {
                          "valueId": "code"
                        }
                      ]
                    },
                    {
                      "context": "coding",
                      "contextType": "variable",
                      "element": "system",
                      "transform": "copy",
                      "parameter": [
                        {
                          "valueString": "http://hl7.org/fhir/ValueSet/iso3166-1-3"
                        }
                      ]
                    }
                  ]
                }
              ]
            },
            {
              "name": "VaccineBrand",
              "source": [
                {
                  "context": "immunization",
                  "element": "extension",
                  "variable": "brand",
                  "condition": "(url = 'http://smart.who.int/ddcc/StructureDefinition/DDCCEventBrand')"
                }
              ],
              "rule": [
                {
                  "name": "valueCoding",
                  "source": [
                    {
                      "context": "brand",
                      "element": "valueCoding",
                      "variable": "valueCoding"
                    }
                  ],
                  "target": [
                    {
                      "context": "vacEvent",
                      "contextType": "variable",
                      "element": "brand",
                      "transform": "copy",
                      "parameter": [
                        {
                          "valueId": "valueCoding"
                        }
                      ]
                    }
                  ]
                }
              ]
            },
            {
              "name": "VaccineCode",
              "source": [
                {
                  "context": "immunization",
                  "element": "vaccineCode",
                  "variable": "vaccineCode"
                }
              ],
              "rule": [
                {
                  "name": "coding",
                  "source": [
                    {
                      "context": "vaccineCode",
                      "element": "coding",
                      "variable": "coding"
                    }
                  ],
                  "target": [
                    {
                      "context": "vacEvent",
                      "contextType": "variable",
                      "element": "vaccine",
                      "transform": "copy",
                      "parameter": [
                        {
                          "valueId": "coding"
                        }
                      ]
                    }
                  ]
                }
              ]
            },
            {
              "name": "VaccinationCentre",
              "source": [
                {
                  "context": "ddcc",
                  "element": "entry",
                  "variable": "entry"
                }
              ],
              "rule": [
                {
                  "name": "CentreName",
                  "source": [
                    {
                      "context": "entry",
                      "type": "Organization",
                      "element": "resource",
                      "variable": "organization"
                    }
                  ],
                  "rule": [
                    {
                      "name": "name",
                      "source": [
                        {
                          "context": "organization",
                          "element": "name",
                          "variable": "name"
                        }
                      ],
                      "target": [
                        {
                          "context": "vacEvent",
                          "contextType": "variable",
                          "element": "centre",
                          "transform": "copy",
                          "parameter": [
                            {
                              "valueId": "name"
                            }
                          ]
                        }
                      ]
                    }
                  ]
                }
              ]
            },
            {
              "name": "VaccinationEvent",
              "source": [
                {
                  "context": "ddcc",
                  "element": "entry",
                  "variable": "entry"
                }
              ],
              "rule": [
                {
                  "name": "VaccinationEventID",
                  "source": [
                    {
                      "context": "entry",
                      "type": "Composition",
                      "element": "resource",
                      "variable": "composition"
                    }
                  ],
                  "rule": [
                    {
                      "name": "identifier",
                      "source": [
                        {
                          "context": "composition",
                          "element": "identifier",
                          "variable": "identifier"
                        }
                      ],
                      "target": [
                        {
                          "context": "qr",
                          "contextType": "variable",
                          "element": "identifier",
                          "transform": "copy",
                          "parameter": [
                            {
                              "valueId": "identifier"
                            }
                          ]
                        }
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        }
      ]
    }
  ]
}