Package | ch.fhir.ig.cda-fhir-maps |
Resource Type | StructureMap |
Id | CdaChToBundle |
FHIR Version | R4 |
Source | http://fhir.ch/ig/cda-fhir-maps/http://fhir.ch/ig/cda-fhir-maps/StructureMap-CdaChToBundle.html |
URL | http://fhir.ch/ig/cda-fhir-maps/StructureMap/CdaChToBundle |
Version | 0.3.0 |
Status | draft |
Date | 2022-02-11T11:14:39+01:00 |
Name | CdaChToBundle |
Realm | ch |
Authority | hl7 |
Description | CDA-CH document, 2.16.756.5.30.1.1.10.1.14 2020-01-16 Oliver Egger, copyright ahdis ag, Apache License CDA-CH: https://art-decor.org/art-decor/decor-templates--hl7chcda- FHIR CH-Core: http://fhir.ch/ig/ch-core/index.html |
Copyright | CC-BY-SA-4.0 |
No resources found
No resources found
Note: links and images are rebased to the (stated) source
map "http://fhir.ch/ig/cda-fhir-maps/StructureMap/CdaChToBundle" = "CdaChToBundle" // CDA-CH document, 2.16.756.5.30.1.1.10.1.14 // 2020-01-16 Oliver Egger, copyright ahdis ag, Apache License // CDA-CH: https://art-decor.org/art-decor/decor-templates--hl7chcda- // FHIR CH-Core: http://fhir.ch/ig/ch-core/index.html uses "http://hl7.org/fhir/cda/StructureDefinition/ClinicalDocument" alias ClinicalDocument as source uses "http://hl7.org/fhir/cda/StructureDefinition/Section" alias Section as queried uses "http://hl7.org/fhir/cda/StructureDefinition/PatientRole" alias PatientRole as queried uses "http://hl7.org/fhir/cda/StructureDefinition/DataEnterer" alias DataEnterer as queried uses "http://hl7.org/fhir/StructureDefinition/Bundle" alias Bundle as target uses "http://hl7.org/fhir/StructureDefinition/Composition" alias Composition as produced uses "http://hl7.org/fhir/StructureDefinition/Patient" alias Patient as produced uses "http://hl7.org/fhir/StructureDefinition/Person" alias Person as produced uses "http://hl7.org/fhir/StructureDefinition/Practitioner" alias Practitioner as produced uses "http://hl7.org/fhir/StructureDefinition/Practitioner" alias PractitionerRole as produced uses "http://hl7.org/fhir/StructureDefinition/Organization" alias Organization as produced imports "http://fhir.ch/ig/cda-fhir-maps/StructureMap/CdaToFhirTypes" imports "http://fhir.ch/ig/cda-fhir-maps/StructureMap/CdaToBundle" // source: https://art-decor.org/art-decor/decor-templates--hl7chcda-?id=2.16.756.5.30.1.1.10.1.14 // target: http://build.fhir.org/ig/hl7ch/ch-core/branches/master/StructureDefinition-ch-core-document.html group CdaChToBundle(source cda : ClinicalDocument, target bundle : Bundle) { cda -> bundle.entry as e, e.resource = create('Composition') as composition, composition.id = uuid() as uuid, e.fullUrl = append('urn:uuid:', uuid), bundle.entry as e2, e2.resource = create('Patient') as patient, patient.id = uuid() as uuid2, e2.fullUrl = append('urn:uuid:', uuid2) then ClinicalDocumentChToBundle(cda, patient, composition, bundle) "ClinicalDocumentToBody"; } // source: https://art-decor.org/art-decor/decor-templates--hl7chcda-?id=2.16.756.5.30.1.1.10.1.14 // target: http://build.fhir.org/ig/hl7ch/ch-core/branches/master/StructureDefinition-ch-core-document.html group ClinicalDocumentChToBundle(source cda : ClinicalDocument, target patient : Patient, target composition : Composition, target bundle : Bundle) extends ClinicalDocumentToBundle { cda then ClinicalDocumentCompositionCh(cda, composition, patient, bundle) "composition"; cda.component as component then { component.structuredBody as body then { body.component as component then { component.section as srcSection where (templateId.where(root = '2.16.756.5.30.1.1.10.3.2')) -> composition.section as tgtSection then ClinicalDocumentSection(cda, srcSection, patient, tgtSection, bundle); component.section as srcSection where (templateId.where(root = '2.16.756.5.30.1.1.10.3.45')) -> composition.section as tgtSection then SectionOriginalRepresentation(cda, srcSection, patient, tgtSection, bundle); }; } "body"; }; } // _________________________ Section Level Templates _________________________ // source: https://art-decor.org/art-decor/decor-templates--hl7chcda-?id=2.16.756.5.30.1.1.10.1.14 // target: http://build.fhir.org/ig/hl7ch/ch-core/branches/master/StructureDefinition-ch-core-composition-definitions.html#Composition.section // TODO: not excplicitly modeled in CH-Core group SectionOriginalRepresentation(source cda : ClinicalDocument, source src : Section, source patient : Patient, target tgt, target bundle : Bundle) extends ClinicalDocumentSection { src.entry as cdaEntry -> bundle.entry as e, e.resource = create('Binary') as binary, binary.id = uuid() as uuid, e.fullUrl = append('urn:uuid:', uuid) as urnuuid, tgt.entry = create('Reference') as reference, reference.reference = urnuuid then { cdaEntry.observationMedia as observationMedia then { observationMedia then ObservationMedia(observationMedia, binary) "observationMedia"; observationMedia.ID as value -> reference.extension as ext then NarrativeLink(value, ext) "narrativeLink"; }; } "cdaEntry"; } // _________________________ Entry Level Templates ________________________ // source: https://art-decor.org/art-decor/decor-templates--hl7chcda-?id=2.16.756.5.30.1.1.10.4.83 // TODO: not excplicitly modeled in CH-Core group ObservationMedia(source observationMedia, target binary : Binary) { observationMedia.value as value then { value.mediaType as mediaType -> binary.contentType = mediaType "contentType"; value -> binary.data = (value.dataBase64Binary) "dataString"; }; observationMedia.languageCode as languageCode then { languageCode.code as lang -> binary.language = lang "lang"; }; } // _________________________ Header Level Templates _________________________ // source: https://art-decor.org/art-decor/decor-templates--hl7chcda-?id=2.16.756.5.30.1.1.10.9.36 // target: http://build.fhir.org/ig/hl7ch/ch-core/branches/master/StructureDefinition-ch-ext-epr-confidentialitycode.html group ChExtEprConfidentialityCode(source src : CE, target ext : Extension) { src -> ext.url = 'http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-epr-confidentialitycode' "url"; src -> ext.value = create('CodeableConcept') as value then CECodeableConcept(src, value) "code"; } // source: https://art-decor.org/art-decor/decor-templates--hl7chcda-?id=2.16.756.5.30.1.1.10.9.36 // target: http://build.fhir.org/ig/hl7ch/ch-core/branches/master/StructureDefinition-ch-ext-epr-versionnumber.html group ChExtEprVersionNumber(source src : INT, target ext : Extension) { src -> ext.url = 'http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-epr-versionnumber' "url"; src -> ext.value = create('unsignedInt') as value then INT(src, value) "value"; } group ChExtEprVersionNumber1(source src, target ext : Extension) { src -> ext.url = 'http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-epr-versionnumber' "url"; src -> ext.value = create('unsignedInt') as value, value.value = '1' "value"; } // source: https://art-decor.org/art-decor/decor-templates--hl7chcda-?id=2.16.756.5.30.1.1.10.9.36 // target: http://build.fhir.org/ig/hl7ch/ch-core/branches/master/StructureDefinition-ch-ext-epr-informationrecipient.html group ChExtEprInformationRecipient(source src : IntendedRecipient, target patient : Patient, target ext : Extension) { src -> ext.url = 'http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-epr-informationrecipient' "url"; src -> ext.value = create('Reference') as reference, reference.reference = ('urn:uuid:' + %patient.id) "value"; src.addr as addr -> patient.address as address then ADAddress(addr, address) "address"; src.informationRecipient as informationRecipient then { informationRecipient.name as cdaname -> patient.name as fhirname then ENHumanName(cdaname, fhirname); }; } // source: https://art-decor.org/art-decor/decor-templates--hl7chcda-?id=2.16.756.5.30.1.1.10.9.36 // target: http://build.fhir.org/ig/hl7ch/ch-core/branches/master/StructureDefinition-ch-ext-epr-informationrecipient.html group ChExtEprInformationRecipientOrganization(source src : IntendedRecipient, target organization : Organization, target ext : Extension) { src -> ext.url = 'http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-epr-informationrecipient' "url"; src -> ext.value = create('Reference') as reference, reference.reference = ('urn:uuid:' + %organization.id) "value"; src.receivedOrganization as receivedOrganization then ClinicalDocumentOrganization(receivedOrganization, organization) "organization"; } // source: https://art-decor.org/art-decor/decor-templates--hl7chcda-?section=templates&id=2.16.756.5.30.1.1.10.2.7 // target: http://build.fhir.org/ig/hl7ch/ch-core/StructureDefinition-ch-ext-epr-dataenterer.html group ChExtEprDataEnterer(source src : DataEnterer, target bundle : Bundle, target practitionerRole : PractitionerRole, target ext : Extension) { src -> ext.url = 'http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-epr-dataenterer' "url"; src.assignedEntity as assignedEntity -> ext.extension as ext, ext.url = 'enterer', ext.value = create('Reference') as reference, reference.reference = ('urn:uuid:' + %practitionerRole.id) "PractitionerRole"; src.time as time -> ext.extension as exttime then ChExtEprTime(time, exttime); src.assignedEntity as assignedEntity then { assignedEntity -> bundle.entry as e, e.resource = create('Practitioner') as practitioner, practitioner.id = uuid() as uuid, e.fullUrl = append('urn:uuid:', uuid), practitionerRole.practitioner = create('Reference') as reference, reference.reference = append('urn:uuid:', uuid) then ClinicalDocumentEntityPractitioner(assignedEntity, practitioner) "Practitioner"; assignedEntity.representedOrganization as representedOrganization -> bundle.entry as e, e.resource = create('Organization') as organization, organization.id = uuid() as uuid2, e.fullUrl = append('urn:uuid:', uuid2), practitionerRole.organization = create('Reference') as referenceOrg, referenceOrg.reference = append('urn:uuid:', uuid2) then ClinicalDocumentOrganization(representedOrganization, organization) "Organization"; }; } // _________________________ Template Type not specified ___________________ // source: https://art-decor.org/art-decor/decor-templates--hl7chcda-?id=2.16.756.5.30.1.1.10.9.36 // target: http://build.fhir.org/ig/hl7ch/ch-core/branches/master/StructureDefinition-ch-core-composition-epr.html group ClinicalDocumentCompositionCh(source src : ClinicalDocument, target tgt : Composition, target patientResource : Patient, target bundle : Bundle) { src.confidentialityCode as confidentialityCode then { confidentialityCode.code as v where ('http://fhir.ch/ig/ch-epr-term/ValueSet/DocumentEntry.confidentialityCode'.resolve().compose.include.concept.where($this.code = src.confidentialityCode.code).exists()) -> tgt.confidentiality = translate(v, 'http://fhir.ch/ig/ch-core/ConceptMap/documententry-confidentialitycode-to-fhir', 'code') as fhirconf, fhirconf.extension as ext then ChExtEprConfidentialityCode(confidentialityCode, ext) "confCode"; }; src.versionNumber as versionNumber where (versionNumber > 1) -> tgt.extension as ext2 then ChExtEprVersionNumber(versionNumber, ext2); src.informationRecipient as informationRecipient -> bundle.entry as e then { informationRecipient.intendedRecipient as intendedRecipient where $this.receivedOrganization.exists() = false -> e.resource = create('Patient') as recipient, recipient.id = uuid() as uuid, e.fullUrl = append('urn:uuid:', uuid), tgt.extension as ext then ChExtEprInformationRecipient(intendedRecipient, recipient, ext) "informationRecipient"; informationRecipient.intendedRecipient as intendedRecipient then { intendedRecipient.receivedOrganization -> e.resource = create('Organization') as recipient, recipient.id = uuid() as uuid2, e.fullUrl = append('urn:uuid:', uuid2), tgt.extension as ext then ChExtEprInformationRecipientOrganization(intendedRecipient, recipient, ext) "informationRecipientOrganization"; } "intendedRecipientAsOrganization"; } "entry"; src.dataEnterer as dataEnterer -> bundle.entry as e, e.resource = create('PractitionerRole') as practitionerRole, practitionerRole.id = uuid() as uuid, e.fullUrl = append('urn:uuid:', uuid), tgt.extension as ext then ChExtEprDataEnterer(dataEnterer, bundle, practitionerRole, ext); }
{ "resourceType": "StructureMap", "id": "CdaChToBundle", "meta": { "versionId": "3", "lastUpdated": "2022-01-12T15:16:01.097+01:00" }, "text": { "status": "generated", "div": "<!-- snip (see above) -->" }, "url": "http://fhir.ch/ig/cda-fhir-maps/StructureMap/CdaChToBundle", "version": "0.3.0", "name": "CdaChToBundle", "status": "draft", "date": "2022-02-11T11:14:39+01:00", "publisher": "ahdis", "contact": [ { "name": "ahdis", "telecom": [ { "system": "url", "value": "http://www.ahdis.ch/" } ] } ], "description": "\r\nCDA-CH document, 2.16.756.5.30.1.1.10.1.14\r\n2020-01-16 Oliver Egger, copyright ahdis ag, Apache License\r\nCDA-CH: https://art-decor.org/art-decor/decor-templates--hl7chcda-\r\nFHIR CH-Core: http://fhir.ch/ig/ch-core/index.html\r\n", "copyright": "CC-BY-SA-4.0", "structure": [ { "url": "http://hl7.org/fhir/cda/StructureDefinition/ClinicalDocument", "mode": "source", "alias": "ClinicalDocument" }, { "url": "http://hl7.org/fhir/cda/StructureDefinition/Section", "mode": "queried", "alias": "Section" }, { "url": "http://hl7.org/fhir/cda/StructureDefinition/PatientRole", "mode": "queried", "alias": "PatientRole" }, { "url": "http://hl7.org/fhir/cda/StructureDefinition/DataEnterer", "mode": "queried", "alias": "DataEnterer" }, { "url": "http://hl7.org/fhir/StructureDefinition/Bundle", "mode": "target", "alias": "Bundle" }, { "url": "http://hl7.org/fhir/StructureDefinition/Composition", "mode": "produced", "alias": "Composition" }, { "url": "http://hl7.org/fhir/StructureDefinition/Patient", "mode": "produced", "alias": "Patient" }, { "url": "http://hl7.org/fhir/StructureDefinition/Person", "mode": "produced", "alias": "Person" }, { "url": "http://hl7.org/fhir/StructureDefinition/Practitioner", "mode": "produced", "alias": "Practitioner" }, { "url": "http://hl7.org/fhir/StructureDefinition/Practitioner", "mode": "produced", "alias": "PractitionerRole" }, { "url": "http://hl7.org/fhir/StructureDefinition/Organization", "mode": "produced", "alias": "Organization" } ], "import": [ "http://fhir.ch/ig/cda-fhir-maps/StructureMap/CdaToFhirTypes", "http://fhir.ch/ig/cda-fhir-maps/StructureMap/CdaToBundle" ], "group": [ { "name": "CdaChToBundle", "typeMode": "none", "documentation": "source: https://art-decor.org/art-decor/decor-templates--hl7chcda-?id=2.16.756.5.30.1.1.10.1.14\r\ntarget: http://build.fhir.org/ig/hl7ch/ch-core/branches/master/StructureDefinition-ch-core-document.html", "input": [ { "name": "cda", "type": "ClinicalDocument", "mode": "source" }, { "name": "bundle", "type": "Bundle", "mode": "target" } ], "rule": [ { "name": "ClinicalDocumentToBody", "source": [ { "context": "cda" } ], "target": [ { "context": "bundle", "contextType": "variable", "element": "entry", "variable": "e" }, { "context": "e", "contextType": "variable", "element": "resource", "variable": "composition", "transform": "create", "parameter": [ { "valueString": "Composition" } ] }, { "context": "composition", "contextType": "variable", "element": "id", "variable": "uuid", "transform": "uuid" }, { "context": "e", "contextType": "variable", "element": "fullUrl", "transform": "append", "parameter": [ { "valueString": "urn:uuid:" }, { "valueId": "uuid" } ] }, { "context": "bundle", "contextType": "variable", "element": "entry", "variable": "e2" }, { "context": "e2", "contextType": "variable", "element": "resource", "variable": "patient", "transform": "create", "parameter": [ { "valueString": "Patient" } ] }, { "context": "patient", "contextType": "variable", "element": "id", "variable": "uuid2", "transform": "uuid" }, { "context": "e2", "contextType": "variable", "element": "fullUrl", "transform": "append", "parameter": [ { "valueString": "urn:uuid:" }, { "valueId": "uuid2" } ] } ], "dependent": [ { "name": "ClinicalDocumentChToBundle", "variable": [ "cda", "patient", "composition", "bundle" ] } ] } ] }, { "name": "ClinicalDocumentChToBundle", "extends": "ClinicalDocumentToBundle", "typeMode": "none", "documentation": "source: https://art-decor.org/art-decor/decor-templates--hl7chcda-?id=2.16.756.5.30.1.1.10.1.14\r\ntarget: http://build.fhir.org/ig/hl7ch/ch-core/branches/master/StructureDefinition-ch-core-document.html", "input": [ { "name": "cda", "type": "ClinicalDocument", "mode": "source" }, { "name": "patient", "type": "Patient", "mode": "target" }, { "name": "composition", "type": "Composition", "mode": "target" }, { "name": "bundle", "type": "Bundle", "mode": "target" } ], "rule": [ { "name": "composition", "source": [ { "context": "cda" } ], "dependent": [ { "name": "ClinicalDocumentCompositionCh", "variable": [ "cda", "composition", "patient", "bundle" ] } ] }, { "name": "component", "source": [ { "context": "cda", "element": "component", "variable": "component" } ], "rule": [ { "name": "body", "source": [ { "context": "component", "element": "structuredBody", "variable": "body" } ], "rule": [ { "name": "component", "source": [ { "context": "body", "element": "component", "variable": "component" } ], "rule": [ { "name": "section", "source": [ { "context": "component", "element": "section", "variable": "srcSection", "condition": "(templateId.where(root = '2.16.756.5.30.1.1.10.3.2'))" } ], "target": [ { "context": "composition", "contextType": "variable", "element": "section", "variable": "tgtSection" } ], "dependent": [ { "name": "ClinicalDocumentSection", "variable": [ "cda", "srcSection", "patient", "tgtSection", "bundle" ] } ] }, { "name": "section", "source": [ { "context": "component", "element": "section", "variable": "srcSection", "condition": "(templateId.where(root = '2.16.756.5.30.1.1.10.3.45'))" } ], "target": [ { "context": "composition", "contextType": "variable", "element": "section", "variable": "tgtSection" } ], "dependent": [ { "name": "SectionOriginalRepresentation", "variable": [ "cda", "srcSection", "patient", "tgtSection", "bundle" ] } ] } ] } ] } ] } ] }, { "name": "SectionOriginalRepresentation", "extends": "ClinicalDocumentSection", "typeMode": "none", "documentation": "_________________________ Section Level Templates _________________________\r\nsource: https://art-decor.org/art-decor/decor-templates--hl7chcda-?id=2.16.756.5.30.1.1.10.1.14\r\ntarget: http://build.fhir.org/ig/hl7ch/ch-core/branches/master/StructureDefinition-ch-core-composition-definitions.html#Composition.section\r\nTODO: not excplicitly modeled in CH-Core", "input": [ { "name": "cda", "type": "ClinicalDocument", "mode": "source" }, { "name": "src", "type": "Section", "mode": "source" }, { "name": "patient", "type": "Patient", "mode": "source" }, { "name": "tgt", "mode": "target" }, { "name": "bundle", "type": "Bundle", "mode": "target" } ], "rule": [ { "name": "cdaEntry", "source": [ { "context": "src", "element": "entry", "variable": "cdaEntry" } ], "target": [ { "context": "bundle", "contextType": "variable", "element": "entry", "variable": "e" }, { "context": "e", "contextType": "variable", "element": "resource", "variable": "binary", "transform": "create", "parameter": [ { "valueString": "Binary" } ] }, { "context": "binary", "contextType": "variable", "element": "id", "variable": "uuid", "transform": "uuid" }, { "context": "e", "contextType": "variable", "element": "fullUrl", "variable": "urnuuid", "transform": "append", "parameter": [ { "valueString": "urn:uuid:" }, { "valueId": "uuid" } ] }, { "context": "tgt", "contextType": "variable", "element": "entry", "variable": "reference", "transform": "create", "parameter": [ { "valueString": "Reference" } ] }, { "context": "reference", "contextType": "variable", "element": "reference", "transform": "copy", "parameter": [ { "valueId": "urnuuid" } ] } ], "rule": [ { "name": "observationMedia", "source": [ { "context": "cdaEntry", "element": "observationMedia", "variable": "observationMedia" } ], "rule": [ { "name": "observationMedia", "source": [ { "context": "observationMedia" } ], "dependent": [ { "name": "ObservationMedia", "variable": [ "observationMedia", "binary" ] } ] }, { "name": "narrativeLink", "source": [ { "context": "observationMedia", "element": "ID", "variable": "value" } ], "target": [ { "context": "reference", "contextType": "variable", "element": "extension", "variable": "ext" } ], "dependent": [ { "name": "NarrativeLink", "variable": [ "value", "ext" ] } ] } ] } ] } ] }, { "name": "ObservationMedia", "typeMode": "none", "documentation": "_________________________ Entry Level Templates ________________________\r\nsource: https://art-decor.org/art-decor/decor-templates--hl7chcda-?id=2.16.756.5.30.1.1.10.4.83\r\nTODO: not excplicitly modeled in CH-Core", "input": [ { "name": "observationMedia", "mode": "source" }, { "name": "binary", "type": "Binary", "mode": "target" } ], "rule": [ { "name": "value", "source": [ { "context": "observationMedia", "element": "value", "variable": "value" } ], "rule": [ { "name": "contentType", "source": [ { "context": "value", "element": "mediaType", "variable": "mediaType" } ], "target": [ { "context": "binary", "contextType": "variable", "element": "contentType", "transform": "copy", "parameter": [ { "valueId": "mediaType" } ] } ] }, { "name": "dataString", "source": [ { "context": "value" } ], "target": [ { "context": "binary", "contextType": "variable", "element": "data", "transform": "evaluate", "parameter": [ { "valueString": "value.dataBase64Binary" } ] } ] } ] }, { "name": "languageCode", "source": [ { "context": "observationMedia", "element": "languageCode", "variable": "languageCode" } ], "rule": [ { "name": "lang", "source": [ { "context": "languageCode", "element": "code", "variable": "lang" } ], "target": [ { "context": "binary", "contextType": "variable", "element": "language", "transform": "copy", "parameter": [ { "valueId": "lang" } ] } ] } ] } ] }, { "name": "ChExtEprConfidentialityCode", "typeMode": "none", "documentation": "_________________________ Header Level Templates _________________________\r\nsource: https://art-decor.org/art-decor/decor-templates--hl7chcda-?id=2.16.756.5.30.1.1.10.9.36\r\ntarget: http://build.fhir.org/ig/hl7ch/ch-core/branches/master/StructureDefinition-ch-ext-epr-confidentialitycode.html", "input": [ { "name": "src", "type": "CE", "mode": "source" }, { "name": "ext", "type": "Extension", "mode": "target" } ], "rule": [ { "name": "url", "source": [ { "context": "src" } ], "target": [ { "context": "ext", "contextType": "variable", "element": "url", "transform": "copy", "parameter": [ { "valueString": "http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-epr-confidentialitycode" } ] } ] }, { "name": "code", "source": [ { "context": "src" } ], "target": [ { "context": "ext", "contextType": "variable", "element": "value", "variable": "value", "transform": "create", "parameter": [ { "valueString": "CodeableConcept" } ] } ], "dependent": [ { "name": "CECodeableConcept", "variable": [ "src", "value" ] } ] } ] }, { "name": "ChExtEprVersionNumber", "typeMode": "none", "documentation": "source: https://art-decor.org/art-decor/decor-templates--hl7chcda-?id=2.16.756.5.30.1.1.10.9.36\r\ntarget: http://build.fhir.org/ig/hl7ch/ch-core/branches/master/StructureDefinition-ch-ext-epr-versionnumber.html", "input": [ { "name": "src", "type": "INT", "mode": "source" }, { "name": "ext", "type": "Extension", "mode": "target" } ], "rule": [ { "name": "url", "source": [ { "context": "src" } ], "target": [ { "context": "ext", "contextType": "variable", "element": "url", "transform": "copy", "parameter": [ { "valueString": "http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-epr-versionnumber" } ] } ] }, { "name": "value", "source": [ { "context": "src" } ], "target": [ { "context": "ext", "contextType": "variable", "element": "value", "variable": "value", "transform": "create", "parameter": [ { "valueString": "unsignedInt" } ] } ], "dependent": [ { "name": "INT", "variable": [ "src", "value" ] } ] } ] }, { "name": "ChExtEprVersionNumber1", "typeMode": "none", "input": [ { "name": "src", "mode": "source" }, { "name": "ext", "type": "Extension", "mode": "target" } ], "rule": [ { "name": "url", "source": [ { "context": "src" } ], "target": [ { "context": "ext", "contextType": "variable", "element": "url", "transform": "copy", "parameter": [ { "valueString": "http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-epr-versionnumber" } ] } ] }, { "name": "value", "source": [ { "context": "src" } ], "target": [ { "context": "ext", "contextType": "variable", "element": "value", "variable": "value", "transform": "create", "parameter": [ { "valueString": "unsignedInt" } ] }, { "context": "value", "contextType": "variable", "element": "value", "transform": "copy", "parameter": [ { "valueString": "1" } ] } ] } ] }, { "name": "ChExtEprInformationRecipient", "typeMode": "none", "documentation": "source: https://art-decor.org/art-decor/decor-templates--hl7chcda-?id=2.16.756.5.30.1.1.10.9.36\r\ntarget: http://build.fhir.org/ig/hl7ch/ch-core/branches/master/StructureDefinition-ch-ext-epr-informationrecipient.html", "input": [ { "name": "src", "type": "IntendedRecipient", "mode": "source" }, { "name": "patient", "type": "Patient", "mode": "target" }, { "name": "ext", "type": "Extension", "mode": "target" } ], "rule": [ { "name": "url", "source": [ { "context": "src" } ], "target": [ { "context": "ext", "contextType": "variable", "element": "url", "transform": "copy", "parameter": [ { "valueString": "http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-epr-informationrecipient" } ] } ] }, { "name": "value", "source": [ { "context": "src" } ], "target": [ { "context": "ext", "contextType": "variable", "element": "value", "variable": "reference", "transform": "create", "parameter": [ { "valueString": "Reference" } ] }, { "context": "reference", "contextType": "variable", "element": "reference", "transform": "evaluate", "parameter": [ { "valueString": "'urn:uuid:' + %patient.id" } ] } ] }, { "name": "address", "source": [ { "context": "src", "element": "addr", "variable": "addr" } ], "target": [ { "context": "patient", "contextType": "variable", "element": "address", "variable": "address" } ], "dependent": [ { "name": "ADAddress", "variable": [ "addr", "address" ] } ] }, { "name": "informationRecipient", "source": [ { "context": "src", "element": "informationRecipient", "variable": "informationRecipient" } ], "rule": [ { "name": "name", "source": [ { "context": "informationRecipient", "element": "name", "variable": "cdaname" } ], "target": [ { "context": "patient", "contextType": "variable", "element": "name", "variable": "fhirname" } ], "dependent": [ { "name": "ENHumanName", "variable": [ "cdaname", "fhirname" ] } ] } ] } ] }, { "name": "ChExtEprInformationRecipientOrganization", "typeMode": "none", "documentation": "source: https://art-decor.org/art-decor/decor-templates--hl7chcda-?id=2.16.756.5.30.1.1.10.9.36\r\ntarget: http://build.fhir.org/ig/hl7ch/ch-core/branches/master/StructureDefinition-ch-ext-epr-informationrecipient.html", "input": [ { "name": "src", "type": "IntendedRecipient", "mode": "source" }, { "name": "organization", "type": "Organization", "mode": "target" }, { "name": "ext", "type": "Extension", "mode": "target" } ], "rule": [ { "name": "url", "source": [ { "context": "src" } ], "target": [ { "context": "ext", "contextType": "variable", "element": "url", "transform": "copy", "parameter": [ { "valueString": "http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-epr-informationrecipient" } ] } ] }, { "name": "value", "source": [ { "context": "src" } ], "target": [ { "context": "ext", "contextType": "variable", "element": "value", "variable": "reference", "transform": "create", "parameter": [ { "valueString": "Reference" } ] }, { "context": "reference", "contextType": "variable", "element": "reference", "transform": "evaluate", "parameter": [ { "valueString": "'urn:uuid:' + %organization.id" } ] } ] }, { "name": "organization", "source": [ { "context": "src", "element": "receivedOrganization", "variable": "receivedOrganization" } ], "dependent": [ { "name": "ClinicalDocumentOrganization", "variable": [ "receivedOrganization", "organization" ] } ] } ] }, { "name": "ChExtEprDataEnterer", "typeMode": "none", "documentation": "source: https://art-decor.org/art-decor/decor-templates--hl7chcda-?section=templates&id=2.16.756.5.30.1.1.10.2.7\r\ntarget: http://build.fhir.org/ig/hl7ch/ch-core/StructureDefinition-ch-ext-epr-dataenterer.html", "input": [ { "name": "src", "type": "DataEnterer", "mode": "source" }, { "name": "bundle", "type": "Bundle", "mode": "target" }, { "name": "practitionerRole", "type": "PractitionerRole", "mode": "target" }, { "name": "ext", "type": "Extension", "mode": "target" } ], "rule": [ { "name": "url", "source": [ { "context": "src" } ], "target": [ { "context": "ext", "contextType": "variable", "element": "url", "transform": "copy", "parameter": [ { "valueString": "http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-epr-dataenterer" } ] } ] }, { "name": "PractitionerRole", "source": [ { "context": "src", "element": "assignedEntity", "variable": "assignedEntity" } ], "target": [ { "context": "ext", "contextType": "variable", "element": "extension", "variable": "ext" }, { "context": "ext", "contextType": "variable", "element": "url", "transform": "copy", "parameter": [ { "valueString": "enterer" } ] }, { "context": "ext", "contextType": "variable", "element": "value", "variable": "reference", "transform": "create", "parameter": [ { "valueString": "Reference" } ] }, { "context": "reference", "contextType": "variable", "element": "reference", "transform": "evaluate", "parameter": [ { "valueString": "'urn:uuid:' + %practitionerRole.id" } ] } ] }, { "name": "time", "source": [ { "context": "src", "element": "time", "variable": "time" } ], "target": [ { "context": "ext", "contextType": "variable", "element": "extension", "variable": "exttime" } ], "dependent": [ { "name": "ChExtEprTime", "variable": [ "time", "exttime" ] } ] }, { "name": "assignedEntity", "source": [ { "context": "src", "element": "assignedEntity", "variable": "assignedEntity" } ], "rule": [ { "name": "Practitioner", "source": [ { "context": "assignedEntity" } ], "target": [ { "context": "bundle", "contextType": "variable", "element": "entry", "variable": "e" }, { "context": "e", "contextType": "variable", "element": "resource", "variable": "practitioner", "transform": "create", "parameter": [ { "valueString": "Practitioner" } ] }, { "context": "practitioner", "contextType": "variable", "element": "id", "variable": "uuid", "transform": "uuid" }, { "context": "e", "contextType": "variable", "element": "fullUrl", "transform": "append", "parameter": [ { "valueString": "urn:uuid:" }, { "valueId": "uuid" } ] }, { "context": "practitionerRole", "contextType": "variable", "element": "practitioner", "variable": "reference", "transform": "create", "parameter": [ { "valueString": "Reference" } ] }, { "context": "reference", "contextType": "variable", "element": "reference", "transform": "append", "parameter": [ { "valueString": "urn:uuid:" }, { "valueId": "uuid" } ] } ], "dependent": [ { "name": "ClinicalDocumentEntityPractitioner", "variable": [ "assignedEntity", "practitioner" ] } ] }, { "name": "Organization", "source": [ { "context": "assignedEntity", "element": "representedOrganization", "variable": "representedOrganization" } ], "target": [ { "context": "bundle", "contextType": "variable", "element": "entry", "variable": "e" }, { "context": "e", "contextType": "variable", "element": "resource", "variable": "organization", "transform": "create", "parameter": [ { "valueString": "Organization" } ] }, { "context": "organization", "contextType": "variable", "element": "id", "variable": "uuid2", "transform": "uuid" }, { "context": "e", "contextType": "variable", "element": "fullUrl", "transform": "append", "parameter": [ { "valueString": "urn:uuid:" }, { "valueId": "uuid2" } ] }, { "context": "practitionerRole", "contextType": "variable", "element": "organization", "variable": "referenceOrg", "transform": "create", "parameter": [ { "valueString": "Reference" } ] }, { "context": "referenceOrg", "contextType": "variable", "element": "reference", "transform": "append", "parameter": [ { "valueString": "urn:uuid:" }, { "valueId": "uuid2" } ] } ], "dependent": [ { "name": "ClinicalDocumentOrganization", "variable": [ "representedOrganization", "organization" ] } ] } ] } ] }, { "name": "ClinicalDocumentCompositionCh", "typeMode": "none", "documentation": "_________________________ Template Type not specified ___________________\r\nsource: https://art-decor.org/art-decor/decor-templates--hl7chcda-?id=2.16.756.5.30.1.1.10.9.36\r\ntarget: http://build.fhir.org/ig/hl7ch/ch-core/branches/master/StructureDefinition-ch-core-composition-epr.html", "input": [ { "name": "src", "type": "ClinicalDocument", "mode": "source" }, { "name": "tgt", "type": "Composition", "mode": "target" }, { "name": "patientResource", "type": "Patient", "mode": "target" }, { "name": "bundle", "type": "Bundle", "mode": "target" } ], "rule": [ { "name": "confidentialityCode", "source": [ { "context": "src", "element": "confidentialityCode", "variable": "confidentialityCode" } ], "rule": [ { "name": "confCode", "source": [ { "context": "confidentialityCode", "element": "code", "variable": "v", "condition": "('http://fhir.ch/ig/ch-epr-term/ValueSet/DocumentEntry.confidentialityCode'.resolve().compose.include.concept.where($this.code = src.confidentialityCode.code).exists())" } ], "target": [ { "context": "tgt", "contextType": "variable", "element": "confidentiality", "variable": "fhirconf", "transform": "translate", "parameter": [ { "valueId": "v" }, { "valueString": "http://fhir.ch/ig/ch-core/ConceptMap/documententry-confidentialitycode-to-fhir" }, { "valueString": "code" } ] }, { "context": "fhirconf", "contextType": "variable", "element": "extension", "variable": "ext" } ], "dependent": [ { "name": "ChExtEprConfidentialityCode", "variable": [ "confidentialityCode", "ext" ] } ] } ] }, { "name": "versionNumber", "source": [ { "context": "src", "element": "versionNumber", "variable": "versionNumber", "condition": "(versionNumber > 1)" } ], "target": [ { "context": "tgt", "contextType": "variable", "element": "extension", "variable": "ext2" } ], "dependent": [ { "name": "ChExtEprVersionNumber", "variable": [ "versionNumber", "ext2" ] } ] }, { "name": "entry", "source": [ { "context": "src", "element": "informationRecipient", "variable": "informationRecipient" } ], "target": [ { "context": "bundle", "contextType": "variable", "element": "entry", "variable": "e" } ], "rule": [ { "name": "informationRecipient", "source": [ { "context": "informationRecipient", "element": "intendedRecipient", "variable": "intendedRecipient", "condition": "$this.receivedOrganization.exists() = false" } ], "target": [ { "context": "e", "contextType": "variable", "element": "resource", "variable": "recipient", "transform": "create", "parameter": [ { "valueString": "Patient" } ] }, { "context": "recipient", "contextType": "variable", "element": "id", "variable": "uuid", "transform": "uuid" }, { "context": "e", "contextType": "variable", "element": "fullUrl", "transform": "append", "parameter": [ { "valueString": "urn:uuid:" }, { "valueId": "uuid" } ] }, { "context": "tgt", "contextType": "variable", "element": "extension", "variable": "ext" } ], "dependent": [ { "name": "ChExtEprInformationRecipient", "variable": [ "intendedRecipient", "recipient", "ext" ] } ] }, { "name": "intendedRecipientAsOrganization", "source": [ { "context": "informationRecipient", "element": "intendedRecipient", "variable": "intendedRecipient" } ], "rule": [ { "name": "informationRecipientOrganization", "source": [ { "context": "intendedRecipient", "element": "receivedOrganization" } ], "target": [ { "context": "e", "contextType": "variable", "element": "resource", "variable": "recipient", "transform": "create", "parameter": [ { "valueString": "Organization" } ] }, { "context": "recipient", "contextType": "variable", "element": "id", "variable": "uuid2", "transform": "uuid" }, { "context": "e", "contextType": "variable", "element": "fullUrl", "transform": "append", "parameter": [ { "valueString": "urn:uuid:" }, { "valueId": "uuid2" } ] }, { "context": "tgt", "contextType": "variable", "element": "extension", "variable": "ext" } ], "dependent": [ { "name": "ChExtEprInformationRecipientOrganization", "variable": [ "intendedRecipient", "recipient", "ext" ] } ] } ] } ] }, { "name": "dataEnterer", "source": [ { "context": "src", "element": "dataEnterer", "variable": "dataEnterer" } ], "target": [ { "context": "bundle", "contextType": "variable", "element": "entry", "variable": "e" }, { "context": "e", "contextType": "variable", "element": "resource", "variable": "practitionerRole", "transform": "create", "parameter": [ { "valueString": "PractitionerRole" } ] }, { "context": "practitionerRole", "contextType": "variable", "element": "id", "variable": "uuid", "transform": "uuid" }, { "context": "e", "contextType": "variable", "element": "fullUrl", "transform": "append", "parameter": [ { "valueString": "urn:uuid:" }, { "valueId": "uuid" } ] }, { "context": "tgt", "contextType": "variable", "element": "extension", "variable": "ext" } ], "dependent": [ { "name": "ChExtEprDataEnterer", "variable": [ "dataEnterer", "bundle", "practitionerRole", "ext" ] } ] } ] } ] }