PackagesCanonicalsLogsProblems
    Packages
    ch.fhir.ig.cda-fhir-maps@0.3.0
    http://fhir.ch/ig/cda-fhir-maps/StructureMap/BundleToCda
{
  "description": "\\r\\nCDA document\\r\\n2020-01-16 Oliver Egger, copyright ahdis ag, Apache License\\r\\nCDA:  http://build.fhir.org/ig/ahdis/cda-core-2.0/branches/master/index.html\\r\\nFHIR: http://hl7.org/fhir/r4/\\r\\n",
  "_filename": "StructureMap-BundleToCda.json",
  "package_name": "ch.fhir.ig.cda-fhir-maps",
  "date": "2022-02-11T11:14:39+01:00",
  "group": [ {
    "name": "BundleToCda",
    "rule": [ {
      "name": "bundle",
      "source": [ {
        "context": "bundle"
      } ],
      "target": [ {
        "context": "cda",
        "element": "recordTarget",
        "variable": "recordTarget",
        "contextType": "variable"
      }, {
        "context": "cda",
        "element": "author",
        "variable": "author",
        "contextType": "variable"
      } ],
      "dependent": [ {
        "name": "BundleToClinicalDocument",
        "variable": [ "bundle", "recordTarget", "author", "cda" ]
      } ]
    } ],
    "input": [ {
      "mode": "source",
      "name": "bundle",
      "type": "Bundle"
    }, {
      "mode": "target",
      "name": "cda",
      "type": "ClinicalDocument"
    } ],
    "typeMode": "none"
  }, {
    "name": "BundleToClinicalDocument",
    "rule": [ {
      "name": "typeId",
      "rule": [ {
        "name": "root",
        "source": [ {
          "context": "bundle"
        } ],
        "target": [ {
          "context": "typeId",
          "element": "root",
          "parameter": [ {
            "valueString": "2.16.840.1.113883.1.3"
          } ],
          "transform": "copy",
          "contextType": "variable"
        } ]
      }, {
        "name": "extension",
        "source": [ {
          "context": "bundle"
        } ],
        "target": [ {
          "context": "typeId",
          "element": "extension",
          "parameter": [ {
            "valueString": "POCD_HD000040"
          } ],
          "transform": "copy",
          "contextType": "variable"
        } ]
      } ],
      "source": [ {
        "context": "bundle"
      } ],
      "target": [ {
        "context": "cda",
        "element": "typeId",
        "variable": "typeId",
        "contextType": "variable"
      } ]
    }, {
      "name": "id",
      "source": [ {
        "context": "bundle",
        "element": "identifier",
        "variable": "identifier"
      } ],
      "target": [ {
        "context": "cda",
        "element": "id",
        "variable": "id",
        "contextType": "variable"
      } ],
      "dependent": [ {
        "name": "IdentifierII",
        "variable": [ "identifier", "id" ]
      } ]
    }, {
      "name": "effectiveTime",
      "source": [ {
        "context": "bundle",
        "element": "timestamp",
        "variable": "timestamp"
      } ],
      "target": [ {
        "context": "cda",
        "element": "effectiveTime",
        "variable": "effectiveTime",
        "contextType": "variable"
      } ],
      "dependent": [ {
        "name": "InstantTS",
        "variable": [ "timestamp", "effectiveTime" ]
      } ]
    }, {
      "name": "entry",
      "rule": [ {
        "name": "resource",
        "source": [ {
          "context": "entry",
          "element": "resource",
          "variable": "resource",
          "condition": "$this.ofType(FHIR.Composition)"
        } ],
        "dependent": [ {
          "name": "CompositionClinicalDocument",
          "variable": [ "bundle", "resource", "recordTarget", "author", "cda" ]
        } ]
      } ],
      "source": [ {
        "context": "bundle",
        "element": "entry",
        "variable": "entry"
      } ]
    } ],
    "input": [ {
      "mode": "source",
      "name": "bundle",
      "type": "Bundle"
    }, {
      "mode": "target",
      "name": "recordTarget",
      "type": "RecordTarget"
    }, {
      "mode": "target",
      "name": "author",
      "type": "Author"
    }, {
      "mode": "target",
      "name": "cda",
      "type": "ClinicalDocument"
    } ],
    "typeMode": "none"
  }, {
    "name": "SectionCdaSection",
    "rule": [ {
      "name": "valueIdentifier",
      "rule": [ {
        "name": "IdentifierII",
        "source": [ {
          "context": "extension",
          "element": "valueIdentifier",
          "variable": "valueIdentifier"
        } ],
        "dependent": [ {
          "name": "IdentifierII",
          "variable": [ "valueIdentifier", "id" ]
        } ]
      } ],
      "source": [ {
        "context": "section",
        "element": "extension",
        "variable": "extension",
        "condition": "$this.url = 'http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-epr-sectionid'"
      } ],
      "target": [ {
        "context": "cdasection",
        "element": "id",
        "variable": "id",
        "contextType": "variable"
      } ]
    }, {
      "name": "sectionid",
      "rule": [ {
        "name": "setId",
        "source": [ {
          "context": "bundle",
          "element": "identifier",
          "variable": "identifier"
        } ],
        "target": [ {
          "context": "cdasection",
          "element": "id",
          "variable": "id",
          "contextType": "variable"
        } ],
        "dependent": [ {
          "name": "IdentifierII",
          "variable": [ "identifier", "id" ]
        } ]
      } ],
      "source": [ {
        "context": "section",
        "variable": "section",
        "condition": "$this.extension.where(url = 'http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-epr-sectionid').exists() = false"
      } ],
      "target": [ {
        "context": "cdasection",
        "element": "id",
        "variable": "id",
        "contextType": "variable"
      } ]
    }, {
      "name": "code",
      "rule": [ {
        "name": "codingsection",
        "source": [ {
          "context": "code",
          "element": "coding",
          "variable": "coding",
          "condition": "$this.system = 'http://loinc.org'"
        } ],
        "target": [ {
          "context": "cdasection",
          "element": "code",
          "variable": "cdacode",
          "contextType": "variable"
        } ],
        "dependent": [ {
          "name": "CodingCE",
          "variable": [ "coding", "cdacode" ]
        } ]
      } ],
      "source": [ {
        "context": "section",
        "element": "code",
        "variable": "code"
      } ]
    }, {
      "name": "title",
      "source": [ {
        "context": "section",
        "element": "title",
        "variable": "title"
      } ],
      "target": [ {
        "context": "cdasection",
        "element": "title",
        "variable": "cdatitle",
        "contextType": "variable"
      }, {
        "context": "cdatitle",
        "element": "data",
        "parameter": [ {
          "valueId": "title"
        } ],
        "transform": "copy",
        "contextType": "variable"
      } ]
    }, {
      "name": "text",
      "rule": [ {
        "name": "div",
        "source": [ {
          "context": "text",
          "element": "div",
          "variable": "div"
        } ],
        "target": [ {
          "context": "cdasection",
          "element": "text",
          "parameter": [ {
            "valueId": "div"
          } ],
          "transform": "copy",
          "contextType": "variable"
        } ]
      } ],
      "source": [ {
        "context": "section",
        "element": "text",
        "variable": "text"
      } ]
    } ],
    "input": [ {
      "mode": "source",
      "name": "bundle",
      "type": "Bundle"
    }, {
      "mode": "source",
      "name": "section",
      "type": "BackboneElement"
    }, {
      "mode": "target",
      "name": "cdasection",
      "type": "CdaSection"
    } ],
    "typeMode": "none",
    "documentation": "_________________________ Section Level Templates _________________________"
  }, {
    "name": "CompositionClinicalDocument",
    "rule": [ {
      "name": "type",
      "rule": [ {
        "name": "code",
        "source": [ {
          "context": "type",
          "element": "coding",
          "variable": "coding",
          "condition": "$this.system = 'http://loinc.org'"
        } ],
        "target": [ {
          "context": "cda",
          "element": "code",
          "listMode": [ "share" ],
          "variable": "code",
          "listRuleId": "docCode",
          "contextType": "variable"
        } ],
        "dependent": [ {
          "name": "CodingCE",
          "variable": [ "coding", "code" ]
        } ]
      } ],
      "source": [ {
        "context": "composition",
        "element": "type",
        "variable": "type"
      } ]
    }, {
      "name": "title",
      "rule": [ {
        "name": "titleInner",
        "source": [ {
          "context": "title"
        } ],
        "target": [ {
          "context": "t",
          "element": "data",
          "parameter": [ {
            "valueId": "title"
          } ],
          "transform": "copy",
          "contextType": "variable"
        } ]
      } ],
      "source": [ {
        "context": "composition",
        "element": "title",
        "variable": "title"
      } ],
      "target": [ {
        "context": "cda",
        "element": "title",
        "variable": "t",
        "contextType": "variable"
      } ]
    }, {
      "name": "confidentialityCode",
      "rule": [ {
        "name": "conf",
        "source": [ {
          "context": "conf"
        } ],
        "target": [ {
          "context": "cdaconf",
          "element": "code",
          "parameter": [ {
            "valueId": "conf"
          } ],
          "transform": "copy",
          "contextType": "variable"
        } ]
      }, {
        "name": "codeSystem",
        "source": [ {
          "context": "conf"
        } ],
        "target": [ {
          "context": "cdaconf",
          "element": "codeSystem",
          "parameter": [ {
            "valueString": "2.16.840.1.113883.5.25"
          } ],
          "transform": "copy",
          "contextType": "variable"
        } ]
      } ],
      "source": [ {
        "context": "composition",
        "element": "confidentiality",
        "variable": "conf"
      } ],
      "target": [ {
        "context": "cda",
        "element": "confidentialityCode",
        "variable": "cdaconf",
        "contextType": "variable"
      } ]
    }, {
      "name": "languageCode",
      "source": [ {
        "context": "composition",
        "element": "language",
        "variable": "language"
      } ],
      "target": [ {
        "context": "cda",
        "element": "languageCode",
        "variable": "languageCode",
        "contextType": "variable"
      }, {
        "context": "languageCode",
        "element": "code",
        "parameter": [ {
          "valueId": "language"
        } ],
        "transform": "copy",
        "contextType": "variable"
      } ]
    }, {
      "name": "patient",
      "rule": [ {
        "name": "uuid",
        "rule": [ {
          "name": "patient",
          "source": [ {
            "type": "Patient",
            "context": "entry",
            "element": "resource",
            "variable": "patient"
          } ],
          "dependent": [ {
            "name": "PatientRecordTarget",
            "variable": [ "patient", "bundle", "recordTarget" ]
          } ]
        } ],
        "source": [ {
          "context": "entry",
          "element": "fullUrl",
          "condition": "($this in %composition.subject.reference) and $this.startsWith('urn:uuid')"
        } ]
      }, {
        "name": "patient",
        "source": [ {
          "context": "entry",
          "element": "resource",
          "variable": "patient",
          "condition": "('Patient' + '/' + $this.id) in %composition.subject.reference"
        } ],
        "dependent": [ {
          "name": "PatientRecordTarget",
          "variable": [ "patient", "bundle", "recordTarget" ]
        } ]
      }, {
        "name": "uuid",
        "rule": [ {
          "name": "custodian",
          "source": [ {
            "type": "Organization",
            "context": "entry",
            "element": "resource",
            "variable": "organization"
          } ],
          "target": [ {
            "context": "cda",
            "element": "custodian",
            "variable": "custodian",
            "contextType": "variable"
          } ],
          "dependent": [ {
            "name": "OrganizationCustodian",
            "variable": [ "organization", "custodian" ]
          } ]
        } ],
        "source": [ {
          "context": "entry",
          "element": "fullUrl",
          "condition": "($this in %composition.custodian.reference) and $this.startsWith('urn:uuid')"
        } ]
      }, {
        "name": "custodian",
        "source": [ {
          "context": "entry",
          "element": "resource",
          "variable": "organization",
          "condition": "('Organization' + '/' + $this.id) in %composition.custodian.reference"
        } ],
        "target": [ {
          "context": "cda",
          "element": "custodian",
          "variable": "custodian",
          "contextType": "variable"
        } ],
        "dependent": [ {
          "name": "OrganizationCustodian",
          "variable": [ "organization", "custodian" ]
        } ]
      }, {
        "name": "uuid",
        "rule": [ {
          "name": "author",
          "source": [ {
            "type": "Practitioner",
            "context": "entry",
            "element": "resource",
            "variable": "practitioner"
          } ],
          "dependent": [ {
            "name": "PractitionerAuthor",
            "variable": [ "bundle", "composition", "practitioner", "author" ]
          } ]
        } ],
        "source": [ {
          "context": "entry",
          "element": "fullUrl",
          "condition": "($this in %composition.author.reference) and $this.startsWith('urn:uuid')"
        } ]
      }, {
        "name": "author",
        "source": [ {
          "context": "entry",
          "element": "resource",
          "variable": "practitioner",
          "condition": "('Practitioner' + '/' + $this.id) in %composition.author.reference"
        } ],
        "dependent": [ {
          "name": "PractitionerAuthor",
          "variable": [ "bundle", "composition", "practitioner", "author" ]
        } ]
      }, {
        "name": "uuid",
        "rule": [ {
          "name": "legalAuthenticator",
          "source": [ {
            "type": "Practitioner",
            "context": "entry",
            "element": "resource",
            "variable": "practitioner"
          } ],
          "target": [ {
            "context": "cda",
            "element": "legalAuthenticator",
            "variable": "legalAuthenticator",
            "contextType": "variable"
          } ],
          "dependent": [ {
            "name": "PractitionerLegalAuthenticator",
            "variable": [ "bundle", "composition", "practitioner", "legalAuthenticator" ]
          } ]
        } ],
        "source": [ {
          "context": "entry",
          "element": "fullUrl",
          "condition": "($this in %composition.attester.party.reference) and $this.startsWith('urn:uuid')"
        } ]
      }, {
        "name": "legalAuthenticator",
        "source": [ {
          "context": "entry",
          "element": "resource",
          "variable": "practitioner",
          "condition": "('Practitioner' + '/' + $this.id) in %composition.attester.party.reference"
        } ],
        "target": [ {
          "context": "cda",
          "element": "legalAuthenticator",
          "variable": "legalAuthenticator",
          "contextType": "variable"
        } ],
        "dependent": [ {
          "name": "PractitionerLegalAuthenticator",
          "variable": [ "bundle", "composition", "practitioner", "legalAuthenticator" ]
        } ]
      } ],
      "source": [ {
        "context": "bundle",
        "element": "entry",
        "variable": "entry"
      } ]
    }, {
      "name": "section",
      "rule": [ {
        "name": "contextConductionInd",
        "source": [ {
          "context": "section"
        } ],
        "target": [ {
          "context": "component",
          "element": "contextConductionInd",
          "parameter": [ {
            "valueBoolean": true
          } ],
          "transform": "copy",
          "contextType": "variable"
        } ]
      }, {
        "name": "cdasection",
        "source": [ {
          "context": "section"
        } ],
        "target": [ {
          "context": "component",
          "element": "structuredBody",
          "variable": "structuredBody",
          "contextType": "variable"
        }, {
          "context": "structuredBody",
          "element": "component",
          "variable": "component",
          "contextType": "variable"
        }, {
          "context": "component",
          "element": "section",
          "variable": "cdasection",
          "contextType": "variable"
        } ],
        "dependent": [ {
          "name": "SectionCdaSection",
          "variable": [ "bundle", "section", "cdasection" ]
        } ]
      } ],
      "source": [ {
        "context": "composition",
        "element": "section",
        "variable": "section",
        "condition": "$this.code.exists() = false"
      } ],
      "target": [ {
        "context": "cda",
        "element": "component",
        "variable": "component",
        "contextType": "variable"
      } ],
      "documentation": "source.date -> tgt.effectiveTime \"effectiveTime\";"
    } ],
    "input": [ {
      "mode": "source",
      "name": "bundle",
      "type": "Bundle"
    }, {
      "mode": "source",
      "name": "composition",
      "type": "Composition"
    }, {
      "mode": "target",
      "name": "recordTarget",
      "type": "RecordTarget"
    }, {
      "mode": "target",
      "name": "author",
      "type": "Author"
    }, {
      "mode": "target",
      "name": "cda",
      "type": "ClinicalDocument"
    } ],
    "typeMode": "none",
    "documentation": "_________________________ Entry Level Templates   ________________________\r\n_________________________ Header Level Templates _________________________"
  }, {
    "name": "PatientRecordTarget",
    "rule": [ {
      "name": "patientRole",
      "rule": [ {
        "name": "identifier",
        "source": [ {
          "context": "src",
          "element": "identifier",
          "variable": "identifier"
        } ],
        "target": [ {
          "context": "patientRole",
          "element": "id",
          "variable": "id",
          "contextType": "variable"
        } ],
        "dependent": [ {
          "name": "IdentifierII",
          "variable": [ "identifier", "id" ]
        } ]
      }, {
        "name": "address",
        "source": [ {
          "context": "src",
          "element": "address",
          "variable": "address"
        } ],
        "target": [ {
          "context": "patientRole",
          "element": "addr",
          "variable": "ad",
          "contextType": "variable"
        } ],
        "dependent": [ {
          "name": "AddressAD",
          "variable": [ "address", "ad" ]
        } ]
      }, {
        "name": "patient",
        "rule": [ {
          "name": "name",
          "source": [ {
            "context": "src",
            "element": "name",
            "variable": "humanname"
          } ],
          "target": [ {
            "context": "patient",
            "element": "name",
            "variable": "en",
            "contextType": "variable"
          } ],
          "dependent": [ {
            "name": "HumanNameEN",
            "variable": [ "humanname", "en" ]
          } ]
        }, {
          "name": "birthDate",
          "source": [ {
            "context": "src",
            "element": "birthDate",
            "variable": "birthDate"
          } ],
          "target": [ {
            "context": "patient",
            "element": "birthTime",
            "variable": "birthTime",
            "contextType": "variable"
          } ],
          "dependent": [ {
            "name": "DateTS",
            "variable": [ "birthDate", "birthTime" ]
          } ]
        }, {
          "name": "gender",
          "rule": [ {
            "name": "gender",
            "source": [ {
              "context": "v"
            } ],
            "target": [ {
              "context": "adminGender",
              "element": "code",
              "parameter": [ {
                "valueId": "v"
              }, {
                "valueString": "http://hl7.org/fhir/ConceptMap/cm-administrative-gender-v3"
              }, {
                "valueString": "code"
              } ],
              "transform": "translate",
              "contextType": "variable"
            } ]
          }, {
            "name": "codeSytem",
            "source": [ {
              "context": "v"
            } ],
            "target": [ {
              "context": "adminGender",
              "element": "codeSystem",
              "parameter": [ {
                "valueString": "2.16.840.1.113883.5.1"
              } ],
              "transform": "copy",
              "contextType": "variable"
            } ]
          }, {
            "name": "codeSystemName",
            "source": [ {
              "context": "v"
            } ],
            "target": [ {
              "context": "adminGender",
              "element": "codeSystemName",
              "parameter": [ {
                "valueString": "HL7 AdministrativeGender"
              } ],
              "transform": "copy",
              "contextType": "variable"
            } ]
          }, {
            "name": "male",
            "source": [ {
              "context": "v",
              "variable": "v",
              "condition": "$this = 'male'"
            } ],
            "target": [ {
              "context": "adminGender",
              "element": "displayName",
              "parameter": [ {
                "valueString": "Male"
              } ],
              "transform": "copy",
              "contextType": "variable"
            } ]
          }, {
            "name": "female",
            "source": [ {
              "context": "v",
              "variable": "v",
              "condition": "$this = 'female'"
            } ],
            "target": [ {
              "context": "adminGender",
              "element": "displayName",
              "parameter": [ {
                "valueString": "Female"
              } ],
              "transform": "copy",
              "contextType": "variable"
            } ]
          }, {
            "name": "other",
            "source": [ {
              "context": "v",
              "variable": "v",
              "condition": "$this = 'other'"
            } ],
            "target": [ {
              "context": "adminGender",
              "element": "displayName",
              "parameter": [ {
                "valueString": "Undifferentiated"
              } ],
              "transform": "copy",
              "contextType": "variable"
            } ]
          } ],
          "source": [ {
            "context": "src",
            "element": "gender",
            "variable": "v",
            "logMessage": "$this"
          } ],
          "target": [ {
            "context": "patient",
            "element": "administrativeGenderCode",
            "variable": "adminGender",
            "contextType": "variable"
          } ]
        } ],
        "source": [ {
          "context": "src"
        } ],
        "target": [ {
          "context": "patientRole",
          "element": "patient",
          "variable": "patient",
          "contextType": "variable"
        } ]
      }, {
        "name": "telecom",
        "source": [ {
          "context": "src",
          "element": "telecom",
          "variable": "telecom"
        } ],
        "target": [ {
          "context": "patientRole",
          "element": "telecom",
          "variable": "tel",
          "contextType": "variable"
        } ],
        "dependent": [ {
          "name": "ContactPointTEL",
          "variable": [ "telecom", "tel" ]
        } ]
      }, {
        "name": "managingOrganization",
        "rule": [ {
          "name": "entry",
          "rule": [ {
            "name": "providerOrganization",
            "source": [ {
              "context": "entry",
              "element": "fullUrl",
              "condition": "($this in %managingOrganization.reference) and $this.startsWith('urn:uuid')"
            } ],
            "target": [ {
              "context": "patientRole",
              "element": "providerOrganization",
              "variable": "providerOrganization",
              "contextType": "variable"
            } ],
            "dependent": [ {
              "name": "Organization2CdaOrganization",
              "variable": [ "managingOrganization", "providerOrganization" ]
            } ]
          }, {
            "name": "providerOrganization",
            "source": [ {
              "context": "entry",
              "element": "resource",
              "variable": "organization",
              "condition": "('Organization' + '/' + $this.id) in %managingOrganization.reference"
            } ],
            "target": [ {
              "context": "patientRole",
              "element": "providerOrganization",
              "variable": "providerOrganization",
              "contextType": "variable"
            } ],
            "dependent": [ {
              "name": "Organization2CdaOrganization",
              "variable": [ "managingOrganization", "providerOrganization" ]
            } ]
          } ],
          "source": [ {
            "context": "bundle",
            "element": "entry",
            "variable": "entry"
          } ]
        } ],
        "source": [ {
          "context": "src",
          "element": "managingOrganization",
          "variable": "managingOrganization"
        } ]
      } ],
      "source": [ {
        "context": "src"
      } ],
      "target": [ {
        "context": "tgt",
        "element": "patientRole",
        "variable": "patientRole",
        "contextType": "variable"
      } ]
    } ],
    "input": [ {
      "mode": "source",
      "name": "src",
      "type": "Patient"
    }, {
      "mode": "source",
      "name": "bundle",
      "type": "Bundle"
    }, {
      "mode": "target",
      "name": "tgt",
      "type": "RecordTarget"
    } ],
    "typeMode": "none"
  }, {
    "name": "PractitionerAuthor",
    "rule": [ {
      "name": "srcAuthor",
      "rule": [ {
        "name": "extensionTime",
        "rule": [ {
          "name": "DateTime",
          "source": [ {
            "context": "extensionTime",
            "element": "valueDateTime",
            "variable": "valueDateTime"
          } ],
          "target": [ {
            "context": "tgt",
            "element": "time",
            "variable": "time",
            "contextType": "variable"
          } ],
          "dependent": [ {
            "name": "DateTimeTS",
            "variable": [ "valueDateTime", "time" ]
          } ]
        } ],
        "source": [ {
          "context": "srcauthor",
          "element": "extension",
          "variable": "extensionTime",
          "condition": "$this.url = 'http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-epr-time'"
        } ]
      } ],
      "source": [ {
        "context": "composition",
        "element": "author",
        "variable": "srcauthor"
      } ]
    }, {
      "name": "DateTimeBundle",
      "source": [ {
        "context": "bundle",
        "element": "timestamp",
        "variable": "valueDateTime",
        "condition": "composition.author.extension.where(url = 'http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-epr-time').empty()"
      } ],
      "target": [ {
        "context": "tgt",
        "element": "time",
        "variable": "time",
        "contextType": "variable"
      } ],
      "dependent": [ {
        "name": "DateTimeTS",
        "variable": [ "valueDateTime", "time" ]
      } ]
    }, {
      "name": "assignedAuthor",
      "rule": [ {
        "name": "id",
        "source": [ {
          "context": "src",
          "element": "identifier",
          "variable": "identifier"
        } ],
        "target": [ {
          "context": "assignedAuthor",
          "element": "id",
          "variable": "id",
          "contextType": "variable"
        } ],
        "dependent": [ {
          "name": "IdentifierII",
          "variable": [ "identifier", "id" ]
        } ]
      }, {
        "name": "telecom",
        "source": [ {
          "context": "src",
          "element": "telecom",
          "listMode": "first",
          "variable": "telecom"
        } ],
        "target": [ {
          "context": "assignedAuthor",
          "element": "telecom",
          "variable": "tel",
          "contextType": "variable"
        } ],
        "dependent": [ {
          "name": "ContactPointTEL",
          "variable": [ "telecom", "tel" ]
        } ]
      }, {
        "name": "address",
        "source": [ {
          "context": "src",
          "element": "address",
          "variable": "address"
        } ],
        "target": [ {
          "context": "assignedAuthor",
          "element": "addr",
          "variable": "ad",
          "contextType": "variable"
        } ],
        "dependent": [ {
          "name": "AddressAD",
          "variable": [ "address", "ad" ]
        } ]
      }, {
        "name": "name",
        "source": [ {
          "context": "src",
          "element": "name",
          "variable": "name"
        } ],
        "target": [ {
          "context": "assignedAuthor",
          "element": "assignedPerson",
          "variable": "assignedPerson",
          "contextType": "variable"
        }, {
          "context": "assignedPerson",
          "element": "name",
          "variable": "en",
          "contextType": "variable"
        } ],
        "dependent": [ {
          "name": "HumanNameEN",
          "variable": [ "name", "en" ]
        } ]
      }, {
        "name": "patient",
        "rule": [ {
          "name": "uuid",
          "rule": [ {
            "name": "organization",
            "source": [ {
              "type": "Organization",
              "context": "entry",
              "element": "resource",
              "variable": "organization"
            } ],
            "target": [ {
              "context": "assignedAuthor",
              "element": "representedOrganization",
              "variable": "cdaorganization",
              "contextType": "variable"
            } ],
            "dependent": [ {
              "name": "Organization2CdaOrganization",
              "variable": [ "organization", "cdaorganization" ]
            } ]
          } ],
          "source": [ {
            "context": "entry",
            "element": "fullUrl",
            "condition": "($this in %composition.author.reference) and $this.startsWith('urn:uuid')"
          } ]
        }, {
          "name": "organization",
          "source": [ {
            "context": "entry",
            "element": "resource",
            "variable": "organization",
            "condition": "('Organization' + '/' + $this.id) in %composition.author.reference"
          } ],
          "target": [ {
            "context": "assignedAuthor",
            "element": "representedOrganization",
            "variable": "cdaorganization",
            "contextType": "variable"
          } ],
          "dependent": [ {
            "name": "Organization2CdaOrganization",
            "variable": [ "organization", "cdaorganization" ]
          } ]
        } ],
        "source": [ {
          "context": "bundle",
          "element": "entry",
          "variable": "entry"
        } ]
      } ],
      "source": [ {
        "context": "src"
      } ],
      "target": [ {
        "context": "tgt",
        "element": "assignedAuthor",
        "variable": "assignedAuthor",
        "contextType": "variable"
      } ]
    } ],
    "input": [ {
      "mode": "source",
      "name": "bundle",
      "type": "Bundle"
    }, {
      "mode": "source",
      "name": "composition",
      "type": "Composition"
    }, {
      "mode": "source",
      "name": "src",
      "type": "Practitioner"
    }, {
      "mode": "target",
      "name": "tgt",
      "type": "Author"
    } ],
    "typeMode": "none"
  }, {
    "name": "OrganizationCustodian",
    "rule": [ {
      "name": "assignedCustodian",
      "rule": [ {
        "name": "representedCustodianOrganization",
        "source": [ {
          "context": "src"
        } ],
        "target": [ {
          "context": "assignedCustodian",
          "element": "representedCustodianOrganization",
          "variable": "representedCustodianOrganization",
          "contextType": "variable"
        } ],
        "dependent": [ {
          "name": "Organization2CdaOrganizationCustodian",
          "variable": [ "src", "representedCustodianOrganization" ]
        } ]
      } ],
      "source": [ {
        "context": "src"
      } ],
      "target": [ {
        "context": "tgt",
        "element": "assignedCustodian",
        "variable": "assignedCustodian",
        "contextType": "variable"
      } ]
    } ],
    "input": [ {
      "mode": "source",
      "name": "src",
      "type": "Organization"
    }, {
      "mode": "target",
      "name": "tgt",
      "type": "Custodian"
    } ],
    "typeMode": "none"
  }, {
    "name": "Organization2CdaOrganizationCustodian",
    "rule": [ {
      "name": "id",
      "source": [ {
        "context": "src",
        "element": "identifier",
        "variable": "identifier"
      } ],
      "target": [ {
        "context": "tgt",
        "element": "id",
        "variable": "id",
        "contextType": "variable"
      } ],
      "dependent": [ {
        "name": "IdentifierII",
        "variable": [ "identifier", "id" ]
      } ]
    }, {
      "name": "name",
      "source": [ {
        "context": "src",
        "element": "name",
        "variable": "name"
      } ],
      "target": [ {
        "context": "tgt",
        "element": "name",
        "variable": "orgname",
        "contextType": "variable"
      }, {
        "context": "orgname",
        "element": "other",
        "parameter": [ {
          "valueId": "name"
        } ],
        "transform": "copy",
        "contextType": "variable"
      } ]
    }, {
      "name": "address",
      "source": [ {
        "context": "src",
        "element": "address",
        "variable": "address"
      } ],
      "target": [ {
        "context": "tgt",
        "element": "addr",
        "variable": "ad",
        "contextType": "variable"
      } ],
      "dependent": [ {
        "name": "AddressAD",
        "variable": [ "address", "ad" ]
      } ]
    }, {
      "name": "telecom",
      "source": [ {
        "context": "src",
        "element": "telecom",
        "listMode": "first",
        "variable": "telecom"
      } ],
      "target": [ {
        "context": "tgt",
        "element": "telecom",
        "variable": "tel",
        "contextType": "variable"
      } ],
      "dependent": [ {
        "name": "ContactPointTEL",
        "variable": [ "telecom", "tel" ]
      } ],
      "documentation": "target telecom is 0..1"
    } ],
    "input": [ {
      "mode": "source",
      "name": "src",
      "type": "Organization"
    }, {
      "mode": "target",
      "name": "tgt",
      "type": "CdaOrganization"
    } ],
    "typeMode": "none"
  }, {
    "name": "Organization2CdaOrganization",
    "rule": [ {
      "name": "id",
      "source": [ {
        "context": "src",
        "element": "identifier",
        "variable": "identifier"
      } ],
      "target": [ {
        "context": "tgt",
        "element": "id",
        "variable": "id",
        "contextType": "variable"
      } ],
      "dependent": [ {
        "name": "IdentifierII",
        "variable": [ "identifier", "id" ]
      } ]
    }, {
      "name": "name",
      "source": [ {
        "context": "src",
        "element": "name",
        "variable": "name"
      } ],
      "target": [ {
        "context": "tgt",
        "element": "name",
        "variable": "orgname",
        "contextType": "variable"
      }, {
        "context": "orgname",
        "element": "other",
        "parameter": [ {
          "valueId": "name"
        } ],
        "transform": "copy",
        "contextType": "variable"
      } ]
    }, {
      "name": "address",
      "source": [ {
        "context": "src",
        "element": "address",
        "variable": "address"
      } ],
      "target": [ {
        "context": "tgt",
        "element": "addr",
        "variable": "ad",
        "contextType": "variable"
      } ],
      "dependent": [ {
        "name": "AddressAD",
        "variable": [ "address", "ad" ]
      } ]
    }, {
      "name": "telecom",
      "source": [ {
        "context": "src",
        "element": "telecom",
        "variable": "telecom"
      } ],
      "target": [ {
        "context": "tgt",
        "element": "telecom",
        "variable": "tel",
        "contextType": "variable"
      } ],
      "dependent": [ {
        "name": "ContactPointTEL",
        "variable": [ "telecom", "tel" ]
      } ]
    } ],
    "input": [ {
      "mode": "source",
      "name": "src",
      "type": "Organization"
    }, {
      "mode": "target",
      "name": "tgt",
      "type": "CdaOrganization"
    } ],
    "typeMode": "none"
  }, {
    "name": "PractitionerLegalAuthenticator",
    "rule": [ {
      "name": "templateId",
      "source": [ {
        "context": "src"
      } ],
      "target": [ {
        "context": "tgt",
        "element": "templateId",
        "variable": "templateId",
        "contextType": "variable"
      }, {
        "context": "templateId",
        "element": "root",
        "parameter": [ {
          "valueString": "2.16.756.5.30.1.1.10.2.5"
        } ],
        "transform": "copy",
        "contextType": "variable"
      } ]
    }, {
      "name": "time",
      "rule": [ {
        "name": "timestamp",
        "source": [ {
          "context": "attester",
          "element": "time",
          "variable": "srcTime"
        } ],
        "target": [ {
          "context": "tgt",
          "element": "time",
          "variable": "time",
          "contextType": "variable"
        } ],
        "dependent": [ {
          "name": "InstantTS",
          "variable": [ "srcTime", "time" ]
        } ]
      } ],
      "source": [ {
        "context": "composition",
        "element": "attester",
        "variable": "attester"
      } ]
    }, {
      "name": "signature",
      "source": [ {
        "context": "src"
      } ],
      "target": [ {
        "context": "tgt",
        "element": "signatureCode",
        "variable": "signatureCode",
        "contextType": "variable"
      }, {
        "context": "signatureCode",
        "element": "code",
        "parameter": [ {
          "valueString": "S"
        } ],
        "transform": "copy",
        "contextType": "variable"
      } ],
      "documentation": "src -> tgt.signatureCode = 'S' \"S\";"
    }, {
      "name": "assignedEntity",
      "rule": [ {
        "name": "identifier",
        "source": [ {
          "context": "src",
          "element": "identifier",
          "variable": "identifier"
        } ],
        "target": [ {
          "context": "assignedEntity",
          "element": "id",
          "variable": "id",
          "contextType": "variable"
        } ],
        "dependent": [ {
          "name": "IdentifierII",
          "variable": [ "identifier", "id" ]
        } ]
      }, {
        "name": "name",
        "source": [ {
          "context": "src",
          "element": "name",
          "variable": "name"
        } ],
        "target": [ {
          "context": "assignedEntity",
          "element": "assignedPerson",
          "variable": "assignedPerson",
          "contextType": "variable"
        }, {
          "context": "assignedPerson",
          "element": "name",
          "variable": "en",
          "contextType": "variable"
        } ],
        "dependent": [ {
          "name": "HumanNameEN",
          "variable": [ "name", "en" ]
        } ]
      } ],
      "source": [ {
        "context": "src"
      } ],
      "target": [ {
        "context": "tgt",
        "element": "assignedEntity",
        "variable": "assignedEntity",
        "contextType": "variable"
      } ]
    } ],
    "input": [ {
      "mode": "source",
      "name": "bundle",
      "type": "Bundle"
    }, {
      "mode": "source",
      "name": "composition",
      "type": "Composition"
    }, {
      "mode": "source",
      "name": "src",
      "type": "Practitioner"
    }, {
      "mode": "target",
      "name": "tgt",
      "type": "LegalAuthenticator"
    } ],
    "typeMode": "none"
  } ],
  "meta": {
    "versionId": "3",
    "lastUpdated": "2022-01-11T22:14:50.980+01:00"
  },
  "publisher": "ahdis",
  "name": "BundleToCda",
  "copyright": "CC-BY-SA-4.0",
  "type": null,
  "experimental": null,
  "resourceType": "StructureMap",
  "title": null,
  "package_version": "0.3.0",
  "structure": [ {
    "url": "http://hl7.org/fhir/cda/StructureDefinition/ClinicalDocument",
    "mode": "target",
    "alias": "ClinicalDocument"
  }, {
    "url": "http://hl7.org/fhir/cda/StructureDefinition/Author",
    "mode": "target",
    "alias": "Author"
  }, {
    "url": "http://hl7.org/fhir/cda/StructureDefinition/RecordTarget",
    "mode": "target",
    "alias": "RecordTarget"
  }, {
    "url": "http://hl7.org/fhir/cda/StructureDefinition/Custodian",
    "mode": "target",
    "alias": "Custodian"
  }, {
    "url": "http://hl7.org/fhir/cda/StructureDefinition/Organization",
    "mode": "target",
    "alias": "CdaOrganization"
  }, {
    "url": "http://hl7.org/fhir/cda/StructureDefinition/LegalAuthenticator",
    "mode": "target",
    "alias": "LegalAuthenticator"
  }, {
    "url": "http://hl7.org/fhir/cda/StructureDefinition/Section",
    "mode": "target",
    "alias": "CdaSection"
  }, {
    "url": "http://hl7.org/fhir/StructureDefinition/Bundle",
    "mode": "source",
    "alias": "Bundle"
  }, {
    "url": "http://hl7.org/fhir/StructureDefinition/Composition",
    "mode": "source",
    "alias": "Composition"
  }, {
    "url": "http://hl7.org/fhir/StructureDefinition/Practitioner",
    "mode": "source",
    "alias": "Practitioner"
  }, {
    "url": "http://hl7.org/fhir/StructureDefinition/Patient",
    "mode": "source",
    "alias": "Patient"
  }, {
    "url": "http://hl7.org/fhir/StructureDefinition/Organization",
    "mode": "source",
    "alias": "Organization"
  }, {
    "url": "http://hl7.org/fhir/StructureDefinition/BackboneElement",
    "mode": "source",
    "alias": "BackboneElement"
  } ],
  "status": "draft",
  "id": "a2f3e687-5745-490f-bc09-19648841091e",
  "kind": null,
  "url": "http://fhir.ch/ig/cda-fhir-maps/StructureMap/BundleToCda",
  "version": "0.3.0",
  "import": [ "http://fhir.ch/ig/cda-fhir-maps/StructureMap/FhirToCdaTypes" ],
  "contact": [ {
    "name": "ahdis",
    "telecom": [ {
      "value": "http://www.ahdis.ch/",
      "system": "url"
    } ]
  } ]
}