CH ORF (R4), published by HL7 Switzerland. This is not an authorized publication; it is the continuous build for version 1.1.0). This version is based on the current content of https://github.com/hl7ch/ch-orf/ and changes regularly. See the Directory of published versions
Draft as of 2023-03-08 |
{
"resourceType" : "StructureMap",
"id" : "OrfQrToBundle",
"meta" : {
"versionId" : "94",
"lastUpdated" : "2022-09-08T09:39:44.461+00:00"
},
"text" : {
"status" : "generated",
"div" : "<div xmlns=\"http://www.w3.org/1999/xhtml\">\n <pre>map "http://fhir.ch/ig/ch-orf/StructureMap/OrfQrToBundle" = "OrfQrToBundle"\n\n\n// ORF QuestionnaireResponse to Bundle\n// 2021-01-11 Oliver Egger, copyright ahdis ag, Apache License\n// QRF Questionnaire: http://build.fhir.org/ig/hl7ch/ch-orf/Questionnaire-order-referral-form.html\n// QRF QuestionnaireResponse: http://build.fhir.org/ig/hl7ch/ch-orf/QuestionnaireResponse-order-referral-form.xml.html\n// Bundle: http://build.fhir.org/ig/hl7ch/ch-orf/StructureDefinition-ch-orf-document.html\n\nuses "http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse" alias QuestionnaireResponse as source\nuses "http://hl7.org/fhir/StructureDefinition/Bundle" alias Bundle as target\nuses "http://hl7.org/fhir/StructureDefinition/Patient" alias Patient as target\nuses "http://hl7.org/fhir/StructureDefinition/RelatedPerson" alias RelatedPerson as target\nuses "http://hl7.org/fhir/StructureDefinition/Organization" alias Organization as target\nuses "http://hl7.org/fhir/StructureDefinition/Practitioner" alias Practitioner as target\nuses "http://hl7.org/fhir/StructureDefinition/PractitionerRole" alias PractitionerRole as target\nuses "http://hl7.org/fhir/StructureDefinition/ServiceRequest" alias ServiceRequest as target\nuses "http://hl7.org/fhir/StructureDefinition/BackboneElement" alias BackboneElement as target\nuses "http://hl7.org/fhir/StructureDefinition/Extension" alias Extension as target\nuses "http://hl7.org/fhir/StructureDefinition/EpisodeOfCare" alias EpisodeOfCare as target\n\ngroup OrfQrToBundle(source qr : QuestionnaireResponse, target bundle : Bundle) {\n qr -> bundle.identifier as documentIdentifier, documentIdentifier.system = 'urn:ietf:rfc:3986', uuid() as uuidDoc, documentIdentifier.value = append('urn:uuid:', uuidDoc) "documentIdentifier";\n qr as qrcp -> 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, bundle.timestamp = (now()) as timestamp, composition.date = timestamp, composition.title = 'Order and Referral by Form', composition.type as type, type.coding as coding, coding.code = '419891008', coding.system = 'http://snomed.info/sct', composition.category as category, category.coding as coding, coding.code = '721963009', coding.system = 'http://snomed.info/sct', e2.resource = create('Patient') as patient, patient.id = uuid() as uuid2, e2.fullUrl = append('urn:uuid:', uuid2), bundle.entry as e4, e4.resource = qrcp as questionnaireresp, questionnaireresp.id = uuid() as uuid4, e4.fullUrl = append('urn:uuid:', uuid4), bundle.entry as e5, e5.resource = create('ServiceRequest') as servicerequest, servicerequest.id = uuid() as uuid5, e5.fullUrl = append('urn:uuid:', uuid5) then {\n qr.questionnaire as can -> bundle.entry as e6, e6.resource = (can.resolve()) as q, q.id = uuid() as uuid6, e6.fullUrl = append('urn:uuid:', uuid6) then QrToBundle(qr, q, patient, questionnaireresp, servicerequest, composition, bundle) "orfbundle";\n } "orfbundle";\n}\n\ngroup QrToGroups(source qr : QuestionnaireResponse, target patient : Patient, target bundle : Bundle, target composition : Composition, target serviceRequest : ServiceRequest) {\n qr.item as grp where linkId = 'order' then OrderItems(grp, bundle, composition, serviceRequest) "grporder";\n qr.item as grp where linkId = 'receiver' then ReceiverInit(grp, bundle, composition, serviceRequest) "receiver";\n qr.item as grp where linkId = 'initiator' then InitiatorInit(grp, bundle, patient, composition, serviceRequest) "grpinitiator";\n qr.item as grp where linkId = 'patient' then PatientItems(grp, bundle, patient, composition, serviceRequest) "grppatient";\n qr.item as grp where linkId = 'requestedEncounter' then RequestedEncounterItems(grp, bundle, patient, serviceRequest) "grprequestedencounter";\n qr.item as grp where linkId = 'coverage' then Coverage(grp, bundle, patient, serviceRequest) "grprequestedencounter";\n qr.item as grp where linkId = 'sender' then SenderAuthorInit(grp, bundle, composition, serviceRequest) "grpsender";\n qr.item as grp where linkId = 'receiverCopy' then ReceiverCopy(grp, bundle, patient, composition, serviceRequest) "grpsender";\n qr.item as grp where linkId = 'appointment' then Appointment(grp, bundle, composition, serviceRequest) "grpsender";\n qr.item as grp where linkId = 'previousResults' then PreviousResults(grp, bundle, serviceRequest) "previousResults";\n qr.item as grp where linkId = 'antecedentEpisodeOfCare' then AntecedentEpisodeOfCareInit(grp, bundle, patient, composition) "AntecedentEpisodeOfCareInit";\n qr.item as grp where linkId = 'consent' then Consent(grp, bundle, composition) "consent";\n qr.item as grp where linkId = 'note' then Note(grp, serviceRequest) "note";\n}\n\ngroup OrderItems(source src : BackboneElement, target bundle : Bundle, target composition, target serviceRequest : ServiceRequest) {\n src.item as item where ((linkId.value = 'order.precedentDocumentIdentifier') and answer.exists()) -> composition.extension as ext, ext.url = 'http://fhir.ch/ig/ch-orf/StructureDefinition/ch-orf-precedentdocument', ext.value = create('Identifier') as value, value.system = 'urn:ietf:rfc:3986', value.value = ('urn:uuid:' + item.answer.valueString) "precedentDocumentIdentifier";\n src.item as item where ((linkId.value = 'order.placerOrderIdentifier') and answer.exists()) -> serviceRequest.identifier as value share placer, value.type as type, type.coding as coding, coding.system = 'http://terminology.hl7.org/CodeSystem/v2-0203', coding.code = 'PLAC', value.value = (item.answer.valueString) "placerOrderIdentifier";\n src.item as item where ((linkId.value = 'order.placerOrderIdentifierDomain') and answer.exists()) -> serviceRequest.identifier as value share placer, value.system = (item.answer.valueString) "placerOrderIdentifierDomain";\n src.item as item where ((linkId.value = 'order.fillerOrderIdentifier') and answer.exists()) -> serviceRequest.identifier as value share filler, value.type as type, type.coding as coding, coding.system = 'http://terminology.hl7.org/CodeSystem/v2-0203', coding.code = 'FILL', value.value = (item.answer.valueString) "fillerOrderIdentifier";\n src.item as item where ((linkId.value = 'order.fillerOrderIdentifierDomain') and answer.exists()) -> serviceRequest.identifier as value share filler, value.system = (item.answer.valueString) "fillerOrderIdentifierDomain";\n src.item as item where ((linkId.value = 'order.dateTime') and answer.exists()) -> serviceRequest.authoredOn = (item.answer.value);\n src.item as item where ((linkId.value = 'order.priority') and answer.exists()) -> serviceRequest.priority = (item.answer.value.code);\n src.item as item where (linkId.value = 'order.notificationContactDocument') then {\n item -> bundle.entry as e4, e4.resource = create('PractitionerRole') as practitionerRoleDataEnterer, practitionerRoleDataEnterer.id = uuid() as uuid4, e4.fullUrl = append('urn:uuid:', uuid4), composition.extension as extension, bundle.entry as e5, e5.resource = create('Practitioner') as practitionerDataEnterer, practitionerDataEnterer.id = uuid() as uuid5, e5.fullUrl = append('urn:uuid:', uuid5), practitionerRoleDataEnterer.practitioner = create('Reference') as reference, reference.reference = append('urn:uuid:', uuid5) then {\n item then UrgentNotificationContactForRequestItems(item, practitionerRoleDataEnterer, practitionerDataEnterer) "data";\n item then ExtOrfUrgentNotificationContactForRequest(item, practitionerRoleDataEnterer, extension) "extension";\n } "items";\n } "notificationContactDocument";\n src.item as item where (linkId.value = 'order.notificationContactDocumentResponse') then {\n item -> bundle.entry as e4, e4.resource = create('PractitionerRole') as practitionerRoleDataEnterer, practitionerRoleDataEnterer.id = uuid() as uuid4, e4.fullUrl = append('urn:uuid:', uuid4), composition.extension as extension, bundle.entry as e5, e5.resource = create('Practitioner') as practitionerDataEnterer, practitionerDataEnterer.id = uuid() as uuid5, e5.fullUrl = append('urn:uuid:', uuid5), practitionerRoleDataEnterer.practitioner = create('Reference') as reference, reference.reference = append('urn:uuid:', uuid5) then {\n item then UrgentNotificationContactForResponseItems(item, practitionerRoleDataEnterer, practitionerDataEnterer) "data";\n item then ExtOrfUrgentNotificationContactForResponse(item, practitionerRoleDataEnterer, extension) "extension";\n } "items";\n } "notificationContactDocumentResponse";\n}\n\ngroup UrgentNotificationContactForRequestPractitionerItems(source src : BackboneElement, target practitioner : Practitioner) {\n src.item as item where ((linkId.value = 'order.notificationContactDocument.practitioner.familyName') and answer.exists()) -> practitioner.name as name share practitionerName, name.family = (item.answer.value);\n src.item as item where ((linkId.value = 'order.notificationContactDocument.practitioner.givenName') and answer.exists()) -> practitioner.name as name share practitionerName, name.given = (item.answer.value);\n src.item as item where ((linkId.value = 'order.notificationContactDocument.practitioner.title') and answer.exists()) -> practitioner.name as name share practitionerName, name.prefix = (item.answer.value) as prefix, prefix.extension as ext, ext.url = 'http://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier', ext.value = create('code') as value, value.value = 'AC' "title";\n src.item as item where ((linkId.value = 'order.notificationContactDocument.practitioner.phone') and answer.exists()) -> practitioner.telecom as value, value.system = 'phone', value.value = (item.answer.value) "phone";\n src.item as item where ((linkId.value = 'order.notificationContactDocument.practitioner.email') and answer.exists()) -> practitioner.telecom as value, value.system = 'email', value.value = (item.answer.value) "email";\n}\n\ngroup UrgentNotificationContactForRequestItems(source src : BackboneElement, target practitionerRole : practitionerRole, target practitioner : Practitioner) {\n src.item as item where (linkId.value = 'order.notificationContactDocument.practitioner') then UrgentNotificationContactForRequestPractitionerItems(item, practitioner);\n}\n\ngroup ExtOrfUrgentNotificationContactForRequest(source src : BackboneElement, target practitionerRole : PractitionerRole, target ext : Extension) {\n src -> ext.url = 'http://fhir.ch/ig/ch-orf/StructureDefinition/ch-orf-urgentnoficationcontactforthisdocument' "url";\n src -> ext.value = create('Reference') as reference, reference.reference = ('urn:uuid:' + %practitionerRole.id) "practitionerRole";\n}\n\ngroup UrgentNotificationContactForResponsePractitionerItems(source src : BackboneElement, target practitioner : Practitioner) {\n src.item as item where ((linkId.value = 'order.notificationContactDocumentResponse.practitioner.familyName') and answer.exists()) -> practitioner.name as name share practitionerName, name.family = (item.answer.value);\n src.item as item where ((linkId.value = 'order.notificationContactDocumentResponse.practitioner.givenName') and answer.exists()) -> practitioner.name as name share practitionerName, name.given = (item.answer.value);\n src.item as item where ((linkId.value = 'order.notificationContactDocumentResponse.practitioner.title') and answer.exists()) -> practitioner.name as name share practitionerName, name.prefix = (item.answer.value) as prefix, prefix.extension as ext, ext.url = 'http://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier', ext.value = create('code') as value, value.value = 'AC' "title";\n src.item as item where ((linkId.value = 'order.notificationContactDocumentResponse.practitioner.phone') and answer.exists()) -> practitioner.telecom as value, value.system = 'phone', value.value = (item.answer.value) "phone";\n src.item as item where ((linkId.value = 'order.notificationContactDocumentResponse.practitioner.email') and answer.exists()) -> practitioner.telecom as value, value.system = 'email', value.value = (item.answer.value) "email";\n}\n\ngroup UrgentNotificationContactForResponseItems(source src : BackboneElement, target practitionerRole : practitionerRole, target practitioner : Practitioner) {\n src.item as item where (linkId.value = 'order.notificationContactDocumentResponse.practitioner') then UrgentNotificationContactForResponsePractitionerItems(item, practitioner);\n}\n\ngroup ExtOrfUrgentNotificationContactForResponse(source src : BackboneElement, target practitionerRole : PractitionerRole, target ext : Extension) {\n src -> ext.url = 'http://fhir.ch/ig/ch-orf/StructureDefinition/ch-orf-urgentnoficationcontactfortheresponsetothisdocument' "url";\n src -> ext.value = create('Reference') as reference, reference.reference = ('urn:uuid:' + %practitionerRole.id) "practitionerRole";\n}\n\ngroup ReceiverPractitionerItems(source src : BackboneElement, target practitioner : Practitioner) {\n src.item as item where ((linkId.value = 'receiver.practitioner.familyName') and answer.exists()) -> practitioner.name as name share practitionerName, name.family = (item.answer.value);\n src.item as item where ((linkId.value = 'receiver.practitioner.givenName') and answer.exists()) -> practitioner.name as name share practitionerName, name.given = (item.answer.value);\n src.item as item where ((linkId.value = 'receiver.practitioner.title') and answer.exists()) -> practitioner.name as name share practitionerName, name.prefix = (item.answer.value) as prefix, prefix.extension as ext, ext.url = 'http://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier', ext.value = create('code') as value, value.value = 'AC' "title";\n src.item as item where ((linkId.value = 'receiver.practitioner.gln') and answer.exists()) -> practitioner.identifier as value, value.system = 'urn:oid:2.51.1.3', value.value = (item.answer.value) "gln";\n src.item as item where ((linkId.value = 'receiver.practitioner.zsr') and answer.exists()) -> practitioner.identifier as value, value.system = 'urn:oid:2.16.756.5.30.1.123.100.2.1.1', value.value = (item.answer.value) "zsr";\n src.item as item where ((linkId.value = 'receiver.practitioner.phone') and answer.exists()) -> practitioner.telecom as value, value.system = 'phone', value.value = (item.answer.value) "phone";\n src.item as item where ((linkId.value = 'receiver.practitioner.email') and answer.exists()) -> practitioner.telecom as value, value.system = 'email', value.value = (item.answer.value) "email";\n}\n\ngroup ReceiverOrganizationItems(source src : BackboneElement, target organization : Organization) {\n src.item as item where ((linkId.value = 'receiver.organization.name') and answer.exists()) -> organization.name = (item.answer.value);\n src.item as item where ((linkId.value = 'receiver.organization.gln') and answer.exists()) -> organization.identifier as value, value.system = 'urn:oid:2.51.1.3', value.value = (item.answer.value) "gln";\n src.item as item where ((linkId.value = 'receiver.organization.zsr') and answer.exists()) -> organization.identifier as value, value.system = 'urn:oid:2.16.756.5.30.1.123.100.2.1.1', value.value = (item.answer.value) "zsr";\n src.item as item where ((linkId.value = 'receiver.organization.streetAddressLine') and answer.exists()) -> organization.address as address share orgAddress then {\n item.answer as answer -> address.line = (answer.value) "streetAddressLine";\n } "answer";\n src.item as item where ((linkId.value = 'receiver.organization.postalCode') and answer.exists()) -> organization.address as address share orgAddress, address.postalCode = (item.answer.value) "postalCode";\n src.item as item where ((linkId.value = 'receiver.organization.city') and answer.exists()) -> organization.address as address share orgAddress, address.city = (item.answer.value) "city";\n src.item as item where ((linkId.value = 'receiver.organization.country') and answer.exists()) -> organization.address as address share orgAddress, address.country = (item.answer.value) "country";\n}\n\ngroup ReceiverItems(source src : BackboneElement, target bundle : Bundle, target practitionerRole : practitionerRole) {\n src.item as item where (linkId.value = 'receiver.practitioner') -> bundle.entry as e2, e2.resource = create('Practitioner') as practitioner, practitioner.id = uuid() as uuid2, practitionerRole.practitioner = create('Reference') as reference, reference.reference = append('urn:uuid:', uuid2), e2.fullUrl = append('urn:uuid:', uuid2) then ReceiverPractitionerItems(item, practitioner);\n src.item as item where (linkId.value = 'receiver.organization') -> bundle.entry as e3, e3.resource = create('Organization') as organization, organization.id = uuid() as uuid3, practitionerRole.organization = create('Reference') as reference, reference.reference = append('urn:uuid:', uuid3), e3.fullUrl = append('urn:uuid:', uuid3) then ReceiverOrganizationItems(item, organization);\n}\n\ngroup Consent(source src : BackboneElement, target bundle : Bundle, target composition : Composition) {\n // TODO after https://github.com/hl7ch/ch-orf/issues/115\n src.item as item where ((linkId.value = 'consent.statement') and answer.exists()) -> bundle.entry as e, e.resource = create('Consent') as consent, consent.status = 'active', consent.scope as scope, scope.coding as coding, coding.code = 'treatment', coding.system = 'http://terminology.hl7.org/CodeSystem/consentscope', consent.category as category, category.coding as coding, coding.code = '59284-0', coding.system = 'http://loinc.org', consent.policyRule as policyRule, policyRule.coding as coding, coding.code = '385432009', coding.system = 'http://snomed.info/sct', consent.id = uuid() as uuid, e.fullUrl = append('urn:uuid:', uuid), composition.extension as ext, ext.url = 'http://fhir.ch/ig/ch-orf/StructureDefinition/ch-orf-patientconsent', ext.value = create('Reference') as reference, consent.extension as extcode, extcode.url = 'http://fhir.ch/ig/ch-orf/StructureDefinition/ch-orf-consentcode', extcode.value = create('CodeableConcept') as cc, cc.coding = (item.answer.value), reference.reference = append('urn:uuid:', uuid) then {\n item.answer as answer then {\n answer.item as item where ((linkId.value = 'consent.statement.note') and answer.exists()) -> consent.extension as extnote, extnote.url = 'http://fhir.ch/ig/ch-orf/StructureDefinition/ch-orf-consentnote', extnote.value = (item.answer.value) "note";\n };\n } "statement";\n}\n\ngroup ReceiverInit(source src : BackboneElement, target bundle : Bundle, target composition : Composition, target serviceRequest : ServiceRequest) {\n src -> bundle.entry as e, e.resource = create('PractitionerRole') as practitionerRole, practitionerRole.id = uuid() as uuid, e.fullUrl = append('urn:uuid:', uuid), composition.extension as ext, ext.url = 'http://fhir.ch/ig/ch-orf/StructureDefinition/ch-orf-receiver', ext.value = create('Reference') as reference, reference.reference = append('urn:uuid:', uuid) then ReceiverItems(src, bundle, practitionerRole) "receiver";\n}\n\ngroup InitiatorItems(source src : BackboneElement, target bundle : Bundle, target patient : Patient, target ext : Extension) {\n src.item as item where ((linkId.value = 'initiator.personalrelation') and answer.exists()) -> ext.extension as extension, extension.url = 'ch-orf-personalrelation', extension.value = create('CodeableConcept') as cc, cc.coding = (item.answer.value) "personalrelation";\n src.item as item where ((linkId.value = 'initiator.legalrelation') and answer.exists()) -> ext.extension as extension, extension.url = 'ch-orf-legalrelation', extension.value = create('CodeableConcept') as cc, cc.coding = (item.answer.value) "legalrelation";\n src.item as item where (linkId = 'initiator.practitionerRole') -> bundle.entry as e4, e4.resource = create('PractitionerRole') as practitionerrole, ext.extension as extension, practitionerrole.id = uuid() as uuid4, extension.url = 'ch-orf-personorganization', extension.value = create('Reference') as reference, reference.reference = append('urn:uuid:', uuid4), e4.fullUrl = append('urn:uuid:', uuid4) then {\n item then InitiatorPractitionerRoleItems(item, bundle, practitionerrole) "data";\n } "InitiatorPractitionerRoleItems";\n src.item as item where (linkId = 'initiator.relatedPerson') -> bundle.entry as e4, e4.resource = create('RelatedPerson') as relatedPerson, ext.extension as extension, extension.url = 'ch-orf-personorganization', extension.value = create('Reference') as reference, relatedPerson.id = uuid() as uuid4, reference.reference = append('urn:uuid:', uuid4), relatedPerson.patient as reference, reference.reference = ('urn:uuid:' + %patient.id), e4.fullUrl = append('urn:uuid:', uuid4) then {\n item then InitiatorRelatedPersonItems(item, relatedPerson) "data";\n } "relatedPerson";\n}\n\ngroup InitiatorRelatedPersonItems(source src : BackboneElement, target relatedPerson : RelatedPerson) {\n src.item as item where ((linkId.value = 'initiator.relatedPerson.familyName') and answer.exists()) -> relatedPerson.name as name share name, name.family = (item.answer.value);\n src.item as item where ((linkId.value = 'initiator.relatedPerson.givenName') and answer.exists()) -> relatedPerson.name as name share name, name.given = (item.answer.value);\n src.item as item where ((linkId.value = 'initiator.relatedPerson.phone') and answer.exists()) then {\n item.answer as answer -> relatedPerson.telecom as value, value.system = 'phone', value.value = (answer.value) "phone";\n } "phone";\n src.item as item where ((linkId.value = 'initiator.relatedPerson.email') and answer.exists()) -> relatedPerson.telecom as value, value.system = 'email', value.value = (item.answer.value) "email";\n src.item as item where ((linkId.value = 'initiator.relatedPerson.streetAddressLine') and answer.exists()) -> relatedPerson.address as address share orgAddress then {\n item.answer as answer -> address.line = (answer.value) "streetAddressLine";\n } "answer";\n src.item as item where ((linkId.value = 'initiator.relatedPerson.postalCode') and answer.exists()) -> relatedPerson.address as address share orgAddress, address.postalCode = (item.answer.value) "postalCode";\n src.item as item where ((linkId.value = 'initiator.relatedPerson.city') and answer.exists()) -> relatedPerson.address as address share orgAddress, address.city = (item.answer.value) "city";\n src.item as item where ((linkId.value = 'initiator.relatedPerson.country') and answer.exists()) -> relatedPerson.address as address share orgAddress, address.country = (item.answer.value) "country";\n}\n\ngroup InitiatorPractitionerRoleItems(source src : BackboneElement, target bundle : Bundle, target practitionerRole : practitionerRole) {\n src.item as item where (linkId.value = 'initiator.practitionerRole.practitioner') -> bundle.entry as e2, e2.resource = create('Practitioner') as practitioner, practitioner.id = uuid() as uuid2, practitionerRole.practitioner = create('Reference') as reference, reference.reference = append('urn:uuid:', uuid2), e2.fullUrl = append('urn:uuid:', uuid2) then InitiatorPractitionerItems(item, practitioner);\n src.item as item where (linkId.value = 'initiator.practitionerRole.organization') -> bundle.entry as e3, e3.resource = create('Organization') as organization, organization.id = uuid() as uuid3, practitionerRole.organization = create('Reference') as reference, reference.reference = append('urn:uuid:', uuid3), e3.fullUrl = append('urn:uuid:', uuid3) then InitiatorOrganizationItems(item, organization);\n}\n\ngroup InitiatorPractitionerItems(source src : BackboneElement, target practitioner : Practitioner) {\n src.item as item where ((linkId.value = 'initiator.practitionerRole.practitioner.familyName') and answer.exists()) -> practitioner.name as name share practitionerName, name.family = (item.answer.value);\n src.item as item where ((linkId.value = 'initiator.practitionerRole.practitioner.givenName') and answer.exists()) -> practitioner.name as name share practitionerName, name.given = (item.answer.value);\n src.item as item where ((linkId.value = 'initiator.practitionerRole.practitioner.title') and answer.exists()) -> practitioner.name as name share practitionerName, name.prefix = (item.answer.value) as prefix, prefix.extension as ext, ext.url = 'http://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier', ext.value = create('code') as value, value.value = 'AC' "title";\n src.item as item where ((linkId.value = 'initiator.practitionerRole.practitioner.phone') and answer.exists()) -> practitioner.telecom as value, value.system = 'phone', value.value = (item.answer.value) "phone";\n src.item as item where ((linkId.value = 'initiator.practitionerRole.practitioner.email') and answer.exists()) -> practitioner.telecom as value, value.system = 'email', value.value = (item.answer.value) "email";\n src.item as item where ((linkId.value = 'initiator.practitionerRole.practitioner.gln') and answer.exists()) -> practitioner.identifier as value, value.system = 'urn:oid:2.51.1.3', value.value = (item.answer.value) "gln";\n src.item as item where ((linkId.value = 'initiator.practitionerRole.practitioner.zsr') and answer.exists()) -> practitioner.identifier as value, value.system = 'urn:oid:2.16.756.5.30.1.123.100.2.1.1', value.value = (item.answer.value) "zsr";\n}\n\ngroup InitiatorOrganizationItems(source src : BackboneElement, target organization : Organization) {\n src.item as item where ((linkId.value = 'initiator.practitionerRole.organization.name') and answer.exists()) -> organization.name = (item.answer.value);\n src.item as item where ((linkId.value = 'initiator.practitionerRole.organization.streetAddressLine') and answer.exists()) -> organization.address as address share orgAddress then {\n item.answer as answer -> address.line = (answer.value) "streetAddressLine";\n } "answer";\n src.item as item where ((linkId.value = 'initiator.practitionerRole.organization.postalCode') and answer.exists()) -> organization.address as address share orgAddress, address.postalCode = (item.answer.value) "postalCode";\n src.item as item where ((linkId.value = 'initiator.practitionerRole.organization.city') and answer.exists()) -> organization.address as address share orgAddress, address.city = (item.answer.value) "city";\n src.item as item where ((linkId.value = 'initiator.practitionerRole.organization.country') and answer.exists()) -> organization.address as address share orgAddress, address.country = (item.answer.value) "country";\n}\n\ngroup FamilyDoctorInit(source src : BackboneElement, target bundle : Bundle, target patient : Patient, target composition : Composition, target serviceRequest : ServiceRequest) {\n src -> bundle.entry as e4, e4.resource = create('PractitionerRole') as practitionerRole, practitionerRole.id = uuid() as uuid4, patient.generalPractitioner = create('Reference') as gp, gp.reference = append('urn:uuid:', uuid4), e4.fullUrl = append('urn:uuid:', uuid4) then {\n src.item as item where (linkId.value = 'familydoctor.practitioner') -> bundle.entry as e2, e2.resource = create('Practitioner') as practitioner, practitioner.id = uuid() as uuid2, practitionerRole.practitioner = create('Reference') as reference, reference.reference = append('urn:uuid:', uuid2), e2.fullUrl = append('urn:uuid:', uuid2) then FamilyDoctorPractitionerItems(item, practitioner);\n src.item as item where (linkId.value = 'familydoctor.organization') -> bundle.entry as e3, e3.resource = create('Organization') as organization, organization.id = uuid() as uuid3, practitionerRole.organization = create('Reference') as reference, reference.reference = append('urn:uuid:', uuid3), e3.fullUrl = append('urn:uuid:', uuid3) then FamilyDoctorOrganizationItems(item, organization);\n } "FamilyDoctorInit";\n}\n\ngroup FamilyDoctorPractitionerItems(source src : BackboneElement, target practitioner : Practitioner) {\n src.item as item where ((linkId.value = 'familydoctor.practitioner.familyName') and answer.exists()) -> practitioner.name as name share practitionerName, name.family = (item.answer.value);\n src.item as item where ((linkId.value = 'familydoctor.practitioner.givenName') and answer.exists()) -> practitioner.name as name share practitionerName, name.given = (item.answer.value);\n src.item as item where ((linkId.value = 'familydoctor.practitioner.gln') and answer.exists()) -> practitioner.identifier as value, value.system = 'urn:oid:2.51.1.3', value.value = (item.answer.value) "gln";\n src.item as item where ((linkId.value = 'familydoctor.practitioner.zsr') and answer.exists()) -> practitioner.identifier as value, value.system = 'urn:oid:2.16.756.5.30.1.123.100.2.1.1', value.value = (item.answer.value) "zsr";\n src.item as item where ((linkId.value = 'familydoctor.practitioner.title') and answer.exists()) -> practitioner.name as name share practitionerName, name.prefix = (item.answer.value) as prefix, prefix.extension as ext, ext.url = 'http://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier', ext.value = create('code') as value, value.value = 'AC' "title";\n src.item as item where ((linkId.value = 'familydoctor.practitioner.phone') and answer.exists()) -> practitioner.telecom as value, value.system = 'phone', value.value = (item.answer.value) "phone";\n src.item as item where ((linkId.value = 'familydoctor.practitioner.email') and answer.exists()) -> practitioner.telecom as value, value.system = 'email', value.value = (item.answer.value) "email";\n}\n\ngroup FamilyDoctorOrganizationItems(source src : BackboneElement, target organization : Organization) {\n src.item as item where ((linkId.value = 'familydoctor.organization.name') and answer.exists()) -> organization.name = (item.answer.value);\n src.item as item where ((linkId.value = 'familydoctor.organization.streetAddressLine') and answer.exists()) -> organization.address as address share orgAddress then {\n item.answer as answer -> address.line = (answer.value) "streetAddressLine";\n } "answer";\n src.item as item where ((linkId.value = 'familydoctor.organization.postalCode') and answer.exists()) -> organization.address as address share orgAddress, address.postalCode = (item.answer.value) "postalCode";\n src.item as item where ((linkId.value = 'familydoctor.organization.city') and answer.exists()) -> organization.address as address share orgAddress, address.city = (item.answer.value) "city";\n src.item as item where ((linkId.value = 'familydoctor.organization.country') and answer.exists()) -> organization.address as address share orgAddress, address.country = (item.answer.value) "country";\n src.item as item where ((linkId.value = 'familydoctor.organization.gln') and answer.exists()) -> organization.identifier as value, value.system = 'urn:oid:2.51.1.3', value.value = (item.answer.value) "gln";\n src.item as item where ((linkId.value = 'familydoctor.organization.zsr') and answer.exists()) -> organization.identifier as value, value.system = 'urn:oid:2.16.756.5.30.1.123.100.2.1.1', value.value = (item.answer.value) "zsr";\n}\n\ngroup AntecedentEpisodeOfCareInit(source src : BackboneElement, target bundle : Bundle, target patient : Patient, target composition : Composition) {\n src -> composition.extension as ext, ext.url = 'http://fhir.ch/ig/ch-orf/StructureDefinition/ch-orf-antecedentepisodeofcare', bundle.entry as e4, e4.resource = create('EpisodeOfCare') as episodeofcare, episodeofcare.id = uuid() as uuid4, e4.fullUrl = ('urn:uuid:' + %uuid4), episodeofcare.status = 'finished', ext.value = create('Reference') as ref, ref.reference = ('urn:uuid:' + %episodeofcare.id) then AntecedentEpisodeOfCareItems(src, bundle, patient, episodeofcare) "AntecedentEpisodeOfCareItems";\n}\n\ngroup AntecedentEpisodeOfCareItems(source src : BackboneElement, target bundle : Bundle, target tgt : Patient, target episodeofcare : EpisodeOfCare) {\n src.item as item where ((linkId.value = 'antecedentEpisodeOfCare.start') and answer.exists()) -> episodeofcare.statusHistory as statusHistory, statusHistory.status = 'finished', statusHistory.period as period, period.start = (item.answer.value), period.end = (item.answer.value) then {\n src.item as iteme where ((linkId.value = 'antecedentEpisodeOfCare.end') and answer.exists()) -> period.end = (iteme.answer.value) "antecedentEpisodeOfCareEndNotSameAsStart";\n } "start";\n src.item as item where (linkId.value = 'antecedentEpisodeOfCare.managingOrganization') -> bundle.entry as e3, e3.resource = create('Organization') as organization, organization.id = uuid() as uuid3, e3.fullUrl = append('urn:uuid:', uuid3), episodeofcare.managingOrganization = create('Reference') as reference, reference.reference = append('urn:uuid:', uuid3) then AntecedentEpisodeOfCareOrganizationItems(item, organization) "managingOrganization";\n}\n\ngroup AntecedentEpisodeOfCareOrganizationItems(source src : BackboneElement, target organization : Organization) {\n src.item as item where ((linkId.value = 'antecedentEpisodeOfCare.managingOrganization.name') and answer.exists()) -> organization.name = (item.answer.value);\n src.item as item where ((linkId.value = 'antecedentEpisodeOfCare.managingOrganization.streetAddressLine') and answer.exists()) -> organization.address as address share orgAddress then {\n item.answer as answer -> address.line = (answer.value) "streetAddressLine";\n } "answer";\n src.item as item where ((linkId.value = 'antecedentEpisodeOfCare.managingOrganization.postalCode') and answer.exists()) -> organization.address as address share orgAddress, address.postalCode = (item.answer.value) "postalCode";\n src.item as item where ((linkId.value = 'antecedentEpisodeOfCare.managingOrganization.city') and answer.exists()) -> organization.address as address share orgAddress, address.city = (item.answer.value) "city";\n src.item as item where ((linkId.value = 'antecedentEpisodeOfCare.managingOrganization.country') and answer.exists()) -> organization.address as address share orgAddress, address.country = (item.answer.value) "country";\n}\n\ngroup InitiatorInit(source src : BackboneElement, target bundle : Bundle, target patient : Patient, target composition : Composition, target serviceRequest : ServiceRequest) {\n src -> composition.extension as ext, ext.url = 'http://fhir.ch/ig/ch-orf/StructureDefinition/ch-orf-initiator' then InitiatorItems(src, bundle, patient, ext) "receiver";\n}\n\ngroup PatientItems(source src : BackboneElement, target bundle : Bundle, target tgt : Patient, target composition : Composition, target serviceRequest : ServiceRequest) {\n src.item as grp where linkId = 'familydoctor' then FamilyDoctorInit(grp, bundle, tgt, composition, serviceRequest) "grpfamily";\n src.item as item then PatientItems(item, bundle, tgt, composition, serviceRequest);\n src.item as item where ((linkId.value = 'patient.familyName') and answer.exists()) -> tgt.name as name share patientName, name.family = (item.answer.value);\n src.item as item where ((linkId.value = 'patient.maidenName') and answer.exists()) -> tgt.name as name, name.use = 'maiden', name.family = (item.answer.value);\n src.item as item where ((linkId.value = 'patient.givenName') and answer.exists()) -> tgt.name as name share patientName, name.given = (item.answer.value);\n src.item as item where ((linkId.value = 'patient.localPid') and answer.exists()) -> tgt.identifier as value share localpid, value.type as type, type.coding as coding, coding.system = 'http://terminology.hl7.org/CodeSystem/v2-0203', coding.code = 'MR', value.value = (item.answer.valueString) "localPid";\n src.item as item where ((linkId.value = 'patient.localPidDomain') and answer.exists()) -> tgt.identifier as value share localpid, value.system = (item.answer.valueString) "localPidDomain";\n src.item as item where ((linkId.value = 'patient.birthDate') and answer.exists()) -> tgt.birthDate = (item.answer.value);\n src.item as item where ((linkId.value = 'patient.gender') and answer.exists()) -> tgt.gender = (item.answer.value.code);\n src.item as item where ((linkId.value = 'patient.maritalStatus') and answer.exists()) then {\n item.answer as answer then {\n answer.value : Coding as coding -> tgt.maritalStatus as maritalStatus, maritalStatus.coding = coding "maritalStatus";\n };\n } "maritalStatus";\n src.item as item where ((linkId.value = 'patient.phone') and answer.exists()) then {\n item.answer as answer -> tgt.telecom as value, value.system = 'phone', value.value = (answer.value) "phone";\n } "phone";\n src.item as item where ((linkId.value = 'patient.email') and answer.exists()) -> tgt.telecom as value, value.system = 'email', value.value = (item.answer.value) "email";\n src.item as item where ((linkId.value = 'patient.streetAddressLine') and answer.exists()) -> tgt.address as address share orgAddress then {\n item.answer as answer -> address.line = (answer.value) "streetAddressLine";\n } "answer";\n src.item as item where ((linkId.value = 'patient.postalCode') and answer.exists()) -> tgt.address as address share orgAddress, address.postalCode = (item.answer.value) "postalCode";\n src.item as item where ((linkId.value = 'patient.city') and answer.exists()) -> tgt.address as address share orgAddress, address.city = (item.answer.value) "city";\n src.item as item where ((linkId.value = 'patient.country') and answer.exists()) -> tgt.address as address share orgAddress, address.country = (item.answer.value) "country";\n src.item as item where ((linkId.value = 'patient.languageOfCorrespondence') and answer.exists()) then {\n item.answer as answer then {\n answer.value : Coding as coding -> tgt.communication as communication, communication.preferred = true, communication.language as language, language.coding = coding "languageOfCorrespondence";\n };\n } "languageOfCorrespondence";\n src.item as item where (linkId.value = 'patient.contactperson') -> tgt.contact as contact then {\n item.item as item where ((linkId.value = 'patient.contactperson.familyName') and answer.exists()) -> contact.name as name share contactName, name.family = (item.answer.value);\n item.item as item where ((linkId.value = 'patient.contactperson.givenName') and answer.exists()) -> contact.name as name share contactName, name.given = (item.answer.value);\n src.item as item where ((linkId.value = 'patient.contactperson.phone') and answer.exists()) then {\n item.answer as answer -> tgt.telecom as value, value.system = 'phone', value.value = (answer.value) "phone";\n } "phone";\n item.item as item where ((linkId.value = 'patient.contactperson.email') and answer.exists()) -> contact.telecom as value, value.system = 'email', value.value = (item.answer.value) "email";\n item.item as item where ((linkId.value = 'patient.contactperson.relationship') and answer.exists()) -> contact.relationship as relationship, relationship.text = (item.answer.value) "relationship";\n } "contact";\n}\n\ngroup RequestedEncounterItems(source src : BackboneElement, target bundle : Bundle, target patient : Patient, target serviceRequest : ServiceRequest) {\n src -> bundle.entry as e4, e4.resource = create('Encounter') as encounter, encounter.id = uuid() as uuid4, e4.fullUrl = ('urn:uuid:' + %uuid4), encounter.status = 'planned', serviceRequest.extension as extension, encounter.subject = create('Reference') as subject, subject.reference = ('urn:uuid:' + %patient.id), extension.url = 'http://fhir.ch/ig/ch-orf/StructureDefinition/ch-orf-requestedencounterdetails', extension.value = create('Reference') as reference, reference.reference = ('urn:uuid:' + %uuid4) then {\n src.item as item where ((linkId.value = 'requestedEncounter.class') and answer.exists()) -> encounter.class = (item.answer.value) "class";\n src.item as item where ((linkId.value = 'requestedEncounter.desiredAccommodation') and answer.exists()) -> encounter.extension as extension, extension.url = 'http://fhir.ch/ig/ch-orf/StructureDefinition/ch-orf-desiredaccommodation', extension.value = (item.answer.value) "desiredAccommodation";\n } "RequestedEncounterItems";\n}\n\ngroup Coverage(source src : BackboneElement, target bundle : Bundle, target patient : Patient, target serviceRequest : ServiceRequest) {\n // coverage.beneficiary\n src.item as item where where(linkId.value = 'coverage.beneficiary') then {\n item.item as item where ((linkId.value = 'coverage.beneficiary.ahvn13') and answer.exists()) -> patient.identifier as identifier, identifier.system = 'urn:oid:2.16.756.5.32', identifier.value = (item.answer.value) "ahvn13";\n } "beneficiary";\n // coverage.kvg\n src.item as item where where(linkId.value = 'coverage.kvg') -> bundle.entry as e4, e4.resource = create('Coverage') as coverage, coverage.id = uuid() as uuid4, e4.fullUrl = ('urn:uuid:' + %uuid4), serviceRequest.insurance as insurance, insurance.reference = ('urn:uuid:' + %uuid4), coverage.status = 'active', coverage.beneficiary = create('Reference') as subject, subject.reference = ('urn:uuid:' + %patient.id), coverage.type as type, type.coding as coding, coding.system = 'http://fhir.ch/ig/ch-orf/CodeSystem/ch-orf-cs-coveragetype', coding.code = 'KVG' then {\n item.item as item where ((linkId.value = 'coverage.kvg.name') and answer.exists()) -> coverage.payor as payor, payor.reference as refcontained, refcontained.value = '#org', coverage.contained = create('Organization') as organization, organization.id = 'org', organization.name = (item.answer.value) "name";\n item.item as item where ((linkId.value = 'coverage.kvg.insuranceCardNumber') and answer.exists()) -> coverage.identifier as identifier, identifier.type as typeid, typeid.coding as coding, coding.system = 'http://fhir.ch/ig/ch-orf/CodeSystem/ch-orf-cs-coverageidentifiertype', coding.code = 'VeKa', identifier.value = (item.answer.value) "insuranceCardNumber";\n } "coveragekvg";\n // coverage.uvg\tUnfallversicherung (nach UVG)\t0..1\tgroup\t\tDefinition: Coverage.type\n src.item as item where where(linkId.value = 'coverage.uvg') -> bundle.entry as e4, e4.resource = create('Coverage') as coverage, coverage.id = uuid() as uuid4, e4.fullUrl = ('urn:uuid:' + %uuid4), serviceRequest.insurance as insurance, insurance.reference = ('urn:uuid:' + %uuid4), coverage.status = 'active', coverage.beneficiary = create('Reference') as subject, subject.reference = ('urn:uuid:' + %patient.id), coverage.type as type, type.coding as coding, coding.system = 'http://fhir.ch/ig/ch-orf/CodeSystem/ch-orf-cs-coveragetype', coding.code = 'UVG' then {\n item.item as item where ((linkId.value = 'coverage.uvg.name') and answer.exists()) -> coverage.payor as payor, payor.reference as refcontained, refcontained.value = '#org', coverage.contained = create('Organization') as organization, organization.id = 'org', organization.name = (item.answer.value) "name";\n item.item as item where ((linkId.value = 'coverage.uvg.claimNumber') and answer.exists()) -> coverage.identifier as identifier, identifier.type as typeid, typeid.coding as coding, coding.system = 'http://fhir.ch/ig/ch-orf/CodeSystem/ch-orf-cs-coverageidentifiertype', coding.code = 'Claim', identifier.value = (item.answer.value) "claimNumber";\n } "coverageuvg";\n // coverage.vvg\tZusatzversicherung (nach VVG)\t0..1\tgroup\t\tDefinition: Coverage.type\n src.item as item where where(linkId.value = 'coverage.vvg') -> bundle.entry as e4, e4.resource = create('Coverage') as coverage, coverage.id = uuid() as uuid4, e4.fullUrl = ('urn:uuid:' + %uuid4), serviceRequest.insurance as insurance, insurance.reference = ('urn:uuid:' + %uuid4), coverage.status = 'active', coverage.beneficiary = create('Reference') as subject, subject.reference = ('urn:uuid:' + %patient.id), coverage.type as type, type.coding as coding, coding.system = 'http://fhir.ch/ig/ch-orf/CodeSystem/ch-orf-cs-coveragetype', coding.code = 'VVG' then {\n item.item as item where ((linkId.value = 'coverage.vvg.name') and answer.exists()) -> coverage.payor as payor, payor.reference as refcontained, refcontained.value = '#org', coverage.contained = create('Organization') as organization, organization.id = 'org', organization.name = (item.answer.value) "name";\n item.item as item where ((linkId.value = 'coverage.vvg.insuranceCardNumber') and answer.exists()) -> coverage.identifier as identifier, identifier.type as typeid, typeid.coding as coding, coding.system = 'http://fhir.ch/ig/ch-orf/CodeSystem/ch-orf-cs-coverageidentifiertype', coding.code = 'VeKa', identifier.value = (item.answer.value) "insuranceCardNumber";\n } "coveragevvg";\n // coverage.iv\tInvalidenversicherung (IV)\t0..1\tgroup\t\tDefinition: Coverage.type\n src.item as item where where(linkId.value = 'coverage.iv') -> bundle.entry as e4, e4.resource = create('Coverage') as coverage, coverage.id = uuid() as uuid4, e4.fullUrl = ('urn:uuid:' + %uuid4), serviceRequest.insurance as insurance, insurance.reference = ('urn:uuid:' + %uuid4), coverage.status = 'active', coverage.beneficiary = create('Reference') as subject, subject.reference = ('urn:uuid:' + %patient.id), coverage.type as type, type.coding as coding, coding.system = 'http://fhir.ch/ig/ch-orf/CodeSystem/ch-orf-cs-coveragetype', coding.code = 'IVG' then {\n item.item as item where ((linkId.value = 'coverage.iv.verfuegungsnummer') and answer.exists()) -> coverage.identifier as identifier, identifier.type as typeid, typeid.coding as coding, coding.system = 'http://fhir.ch/ig/ch-orf/CodeSystem/ch-orf-cs-coverageidentifiertype', coding.code = 'IV', identifier.value = (item.answer.value), coverage.payor as payor, payor.reference as refcontained, refcontained.value = '#org', coverage.contained = create('Organization') as organization, organization.id = 'org', organization.name = 'IV' "verfuegungsnummer";\n } "coverageiv";\n // coverage.mv\tMilitärversicherung (MV)\t0..1\tgroup\t\tDefinition: Coverage.type\n src.item as item where where(linkId.value = 'coverage.mv') -> bundle.entry as e4, e4.resource = create('Coverage') as coverage, coverage.id = uuid() as uuid4, e4.fullUrl = ('urn:uuid:' + %uuid4), serviceRequest.insurance as insurance, insurance.reference = ('urn:uuid:' + %uuid4), coverage.status = 'active', coverage.beneficiary = create('Reference') as subject, subject.reference = ('urn:uuid:' + %patient.id), coverage.type as type, type.coding as coding, coding.system = 'http://fhir.ch/ig/ch-orf/CodeSystem/ch-orf-cs-coveragetype', coding.code = 'MVG' then {\n item.item as item where ((linkId.value = 'coverage.mv.versichertennummer') and answer.exists()) -> coverage.identifier as identifier, identifier.type as typeid, typeid.coding as coding, coding.system = 'http://fhir.ch/ig/ch-orf/CodeSystem/ch-orf-cs-coverageidentifiertype', coding.code = 'MV', identifier.value = (item.answer.value), coverage.payor as payor, payor.reference as refcontained, refcontained.value = '#org', coverage.contained = create('Organization') as organization, organization.id = 'org', organization.name = 'MV' "versichertennummer";\n } "coveragemv";\n // coverage.self\tSelbstzahler\t0..1\tgroup\t\tDefinition: Coverage.type\n src.item as item where where(linkId.value = 'coverage.self') then {\n item.item as item where ((linkId.value = 'coverage.self.patient') and answer.exists() and answer.value) -> bundle.entry as e4, e4.resource = create('Coverage') as coverage, coverage.id = uuid() as uuid4, e4.fullUrl = ('urn:uuid:' + %uuid4), serviceRequest.insurance as insurance, insurance.reference = ('urn:uuid:' + %uuid4), coverage.status = 'active', coverage.beneficiary = create('Reference') as subject, subject.reference = ('urn:uuid:' + %patient.id), coverage.type as type, type.coding as coding, coding.system = 'http://fhir.ch/ig/ch-orf/CodeSystem/ch-orf-cs-coveragetype', coding.code = 'Self', coverage.payor as subject, subject.reference = ('urn:uuid:' + %patient.id) "payor";\n item.item as item2 where ((linkId.value = 'coverage.self.patientRelatedPerson') and answer.exists() and answer.value) then {\n item.item as item where (linkId.value = 'coverage.self.relatedPerson') -> bundle.entry as e5, e5.resource = create('Coverage') as coverage, coverage.id = uuid() as uuid4, e5.fullUrl = ('urn:uuid:' + %uuid4), serviceRequest.insurance as insurance, insurance.reference = ('urn:uuid:' + %uuid4), coverage.status = 'active', coverage.beneficiary = create('Reference') as subject, subject.reference = ('urn:uuid:' + %patient.id), coverage.type as type, type.coding as coding, coding.system = 'http://fhir.ch/ig/ch-orf/CodeSystem/ch-orf-cs-coveragetype', coding.code = 'Self', bundle.entry as e6, e6.resource = create('RelatedPerson') as relatedPerson, relatedPerson.id = uuid() as uuid6, e6.fullUrl = append('urn:uuid:', uuid6), coverage.payor as subject, subject.reference = ('urn:uuid:' + %relatedPerson.id), relatedPerson.patient as reference, reference.reference = ('urn:uuid:' + %patient.id) then CoverageRelatedPersonItems(item, relatedPerson) "relatedPerson";\n } "";\n } "self";\n // coverage.other\tAnderer Kostenträger\t0..1\tgroup\t\tDefinition: Coverage.type\n src.item as item where where(linkId.value = 'coverage.other') -> bundle.entry as e4, e4.resource = create('Coverage') as coverage, coverage.id = uuid() as uuid4, e4.fullUrl = ('urn:uuid:' + %uuid4), serviceRequest.insurance as insurance, insurance.reference = ('urn:uuid:' + %uuid4), coverage.status = 'active', coverage.beneficiary = create('Reference') as subject, subject.reference = ('urn:uuid:' + %patient.id), coverage.type as type, type.coding as coding, coding.system = 'http://fhir.ch/ig/ch-orf/CodeSystem/ch-orf-cs-coveragetype', coding.code = 'Other' then {\n item.item as item where ((linkId.value = 'coverage.other.name') and answer.exists()) -> coverage.payor as payor, payor.reference as refcontained, refcontained.value = '#org', coverage.contained = create('Organization') as organization, organization.id = 'org', organization.name = (item.answer.value) "name";\n item.item as item where ((linkId.value = 'coverage.other.id') and answer.exists()) -> coverage.identifier as identifier, identifier.value = (item.answer.value) "id";\n } "coveragevvg";\n}\n\ngroup CoverageRelatedPersonItems(source src : BackboneElement, target relatedPerson : RelatedPerson) {\n src.item as item where ((linkId.value = 'coverage.self.relatedPerson.familyName') and answer.exists()) -> relatedPerson.name as name share name, name.family = (item.answer.value);\n src.item as item where ((linkId.value = 'coverage.self.relatedPerson.givenName') and answer.exists()) -> relatedPerson.name as name share name, name.given = (item.answer.value);\n src.item as item where ((linkId.value = 'coverage.self.relatedPerson.phone') and answer.exists()) then {\n item.answer as answer -> relatedPerson.telecom as value, value.system = 'phone', value.value = (answer.value) "phone";\n } "phone";\n src.item as item where ((linkId.value = 'coverage.self.relatedPerson.email') and answer.exists()) -> relatedPerson.telecom as value, value.system = 'email', value.value = (item.answer.value) "email";\n src.item as item where ((linkId.value = 'coverage.self.relatedPerson.streetAddressLine') and answer.exists()) -> relatedPerson.address as address share orgAddress then {\n item.answer as answer -> address.line = (answer.value) "streetAddressLine";\n } "answer";\n src.item as item where ((linkId.value = 'coverage.self.relatedPerson.postalCode') and answer.exists()) -> relatedPerson.address as address share orgAddress, address.postalCode = (item.answer.value) "postalCode";\n src.item as item where ((linkId.value = 'coverage.self.relatedPerson.city') and answer.exists()) -> relatedPerson.address as address share orgAddress, address.city = (item.answer.value) "city";\n src.item as item where ((linkId.value = 'coverage.self.relatedPerson.country') and answer.exists()) -> relatedPerson.address as address share orgAddress, address.country = (item.answer.value) "country";\n}\n\ngroup SenderAuthorPractitionerItems(source src : BackboneElement, target practitioner : Practitioner) {\n src.item as item where ((linkId.value = 'sender.author.practitioner.familyName') and answer.exists()) -> practitioner.name as name share practitionerName, name.family = (item.answer.value);\n src.item as item where ((linkId.value = 'sender.author.practitioner.givenName') and answer.exists()) -> practitioner.name as name share practitionerName, name.given = (item.answer.value);\n src.item as item where ((linkId.value = 'sender.author.practitioner.title') and answer.exists()) -> practitioner.name as name share practitionerName, name.prefix = (item.answer.value) as prefix, prefix.extension as ext, ext.url = 'http://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier', ext.value = create('code') as value, value.value = 'AC' "title";\n src.item as item where ((linkId.value = 'sender.author.practitioner.gln') and answer.exists()) -> practitioner.identifier as value, value.system = 'urn:oid:2.51.1.3', value.value = (item.answer.value) "gln";\n src.item as item where ((linkId.value = 'sender.author.practitioner.zsr') and answer.exists()) -> practitioner.identifier as value, value.system = 'urn:oid:2.16.756.5.30.1.123.100.2.1.1', value.value = (item.answer.value) "zsr";\n src.item as item where ((linkId.value = 'sender.author.practitioner.phone') and answer.exists()) -> practitioner.telecom as value, value.system = 'phone', value.value = (item.answer.value) "phone";\n src.item as item where ((linkId.value = 'sender.author.practitioner.email') and answer.exists()) -> practitioner.telecom as value, value.system = 'email', value.value = (item.answer.value) "email";\n}\n\ngroup SenderAuthorOrganizationItems(source src : BackboneElement, target organization : Organization) {\n src.item as item where ((linkId.value = 'sender.author.organization.name') and answer.exists()) -> organization.name = (item.answer.value);\n src.item as item where ((linkId.value = 'sender.author.organization.gln') and answer.exists()) -> organization.identifier as value, value.system = 'urn:oid:2.51.1.3', value.value = (item.answer.value) "gln";\n src.item as item where ((linkId.value = 'sender.author.organization.zsr') and answer.exists()) -> organization.identifier as value, value.system = 'urn:oid:2.16.756.5.30.1.123.100.2.1.1', value.value = (item.answer.value) "zsr";\n src.item as item where ((linkId.value = 'sender.author.organization.streetAddressLine') and answer.exists()) -> organization.address as address share orgAddress then {\n item.answer as answer -> address.line = (answer.value) "streetAddressLine";\n } "answer";\n src.item as item where ((linkId.value = 'sender.author.organization.postalCode') and answer.exists()) -> organization.address as address share orgAddress, address.postalCode = (item.answer.value) "postalCode";\n src.item as item where ((linkId.value = 'sender.author.organization.city') and answer.exists()) -> organization.address as address share orgAddress, address.city = (item.answer.value) "city";\n src.item as item where ((linkId.value = 'sender.author.organization.country') and answer.exists()) -> organization.address as address share orgAddress, address.country = (item.answer.value) "country";\n}\n\ngroup SenderAuthorItems(source src : BackboneElement, target practitionerRole : practitionerRole, target practitioner : Practitioner, target organization : Organization) {\n src.item as item where (linkId.value = 'sender.author.practitioner') then SenderAuthorPractitionerItems(item, practitioner);\n src.item as item where (linkId.value = 'sender.author.organization') then SenderAuthorOrganizationItems(item, organization);\n}\n\ngroup SenderDataEntererPractitionerItems(source src : BackboneElement, target practitioner : Practitioner) {\n src.item as item where ((linkId.value = 'sender.dataenterer.practitioner.familyName') and answer.exists()) -> practitioner.name as name share practitionerName, name.family = (item.answer.value);\n src.item as item where ((linkId.value = 'sender.dataenterer.practitioner.givenName') and answer.exists()) -> practitioner.name as name share practitionerName, name.given = (item.answer.value);\n src.item as item where ((linkId.value = 'sender.dataenterer.practitioner.phone') and answer.exists()) -> practitioner.telecom as value, value.system = 'phone', value.value = (item.answer.value) "phone";\n src.item as item where ((linkId.value = 'sender.dataenterer.practitioner.email') and answer.exists()) -> practitioner.telecom as value, value.system = 'email', value.value = (item.answer.value) "email";\n}\n\ngroup SenderDataEntererItems(source src : BackboneElement, target practitionerRole : practitionerRole, target practitioner : Practitioner, target organization : Organization) {\n src.item as item where (linkId.value = 'sender.dataenterer.practitioner') then SenderDataEntererPractitionerItems(item, practitioner);\n}\n\ngroup ChExtEprDataEnterer(source src : BackboneElement, target practitionerRole : PractitionerRole, target ext : Extension) {\n src -> ext.url = 'http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-epr-dataenterer' "url";\n src -> ext.extension as ext, ext.url = 'enterer', ext.value = create('Reference') as reference, reference.reference = ('urn:uuid:' + %practitionerRole.id) "practitionerRole";\n}\n\ngroup SenderAuthorInit(source src : BackboneElement, target bundle : Bundle, target composition : Composition, target serviceRequest : ServiceRequest) {\n src -> bundle.entry as e, e.resource = create('PractitionerRole') as practitionerRole, practitionerRole.id = uuid() as uuid, e.fullUrl = append('urn:uuid:', uuid), bundle.entry as e2, e2.resource = create('Practitioner') as practitioner, practitioner.id = uuid() as uuid2, e2.fullUrl = append('urn:uuid:', uuid2), bundle.entry as e3, e3.resource = create('Organization') as organization, organization.id = uuid() as uuid3, e3.fullUrl = append('urn:uuid:', uuid3), composition.author = create('Reference') as reference, reference.reference = append('urn:uuid:', uuid), serviceRequest.requester = create('Reference') as reference, reference.reference = append('urn:uuid:', uuid), practitionerRole.practitioner = create('Reference') as reference, reference.reference = append('urn:uuid:', uuid2), practitionerRole.organization = create('Reference') as reference, reference.reference = append('urn:uuid:', uuid3) then {\n src.item as item where (linkId.value = 'sender.author') then SenderAuthorItems(item, practitionerRole, practitioner, organization) "author";\n src.item as item where (linkId.value = 'sender.dataenterer') then {\n item -> bundle.entry as e4, e4.resource = create('PractitionerRole') as practitionerRoleDataEnterer, practitionerRoleDataEnterer.id = uuid() as uuid4, e4.fullUrl = append('urn:uuid:', uuid4), composition.extension as extension, bundle.entry as e5, e5.resource = create('Practitioner') as practitionerDataEnterer, practitionerDataEnterer.id = uuid() as uuid5, e5.fullUrl = append('urn:uuid:', uuid5), practitionerRoleDataEnterer.practitioner = create('Reference') as reference, reference.reference = append('urn:uuid:', uuid5), practitionerRoleDataEnterer.organization = create('Reference') as reference, reference.reference = append('urn:uuid:', uuid3) then {\n item then SenderDataEntererItems(item, practitionerRoleDataEnterer, practitionerDataEnterer, organization) "data";\n item then ChExtEprDataEnterer(item, practitionerRoleDataEnterer, extension) "extension";\n } "items";\n } "dataenterer";\n } "sender";\n}\n\ngroup ReceiverCopyRelatedPersonItems(source src : BackboneElement, target relatedPerson : RelatedPerson) {\n src.item as item where ((linkId.value = 'receiverCopy.relatedPerson.familyName') and answer.exists()) -> relatedPerson.name as name share name, name.family = (item.answer.value);\n src.item as item where ((linkId.value = 'receiverCopy.relatedPerson.givenName') and answer.exists()) -> relatedPerson.name as name share name, name.given = (item.answer.value);\n src.item as item where ((linkId.value = 'receiverCopy.relatedPerson.phone') and answer.exists()) then {\n item.answer as answer -> relatedPerson.telecom as value, value.system = 'phone', value.value = (answer.value) "phone";\n } "phone";\n src.item as item where ((linkId.value = 'receiverCopy.relatedPerson.email') and answer.exists()) -> relatedPerson.telecom as value, value.system = 'email', value.value = (item.answer.value) "email";\n src.item as item where ((linkId.value = 'receiverCopy.relatedPerson.streetAddressLine') and answer.exists()) -> relatedPerson.address as address share orgAddress then {\n item.answer as answer -> address.line = (answer.value) "streetAddressLine";\n } "answer";\n src.item as item where ((linkId.value = 'receiverCopy.relatedPerson.postalCode') and answer.exists()) -> relatedPerson.address as address share orgAddress, address.postalCode = (item.answer.value) "postalCode";\n src.item as item where ((linkId.value = 'receiverCopy.relatedPerson.city') and answer.exists()) -> relatedPerson.address as address share orgAddress, address.city = (item.answer.value) "city";\n src.item as item where ((linkId.value = 'receiverCopy.relatedPerson.country') and answer.exists()) -> relatedPerson.address as address share orgAddress, address.country = (item.answer.value) "country";\n}\n\ngroup ReceiverCopyPractitionerItems(source src : BackboneElement, target practitioner : Practitioner) {\n src.item as item where ((linkId.value = 'receiverCopy.practitionerRole.practitioner.familyName') and answer.exists()) -> practitioner.name as name share practitionerName, name.family = (item.answer.value);\n src.item as item where ((linkId.value = 'receiverCopy.practitionerRole.practitioner.givenName') and answer.exists()) -> practitioner.name as name share practitionerName, name.given = (item.answer.value);\n src.item as item where ((linkId.value = 'receiverCopy.practitionerRole.practitioner.title') and answer.exists()) -> practitioner.name as name share practitionerName, name.prefix = (item.answer.value) as prefix, prefix.extension as ext, ext.url = 'http://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier', ext.value = create('code') as value, value.value = 'AC' "title";\n src.item as item where ((linkId.value = 'receiverCopy.practitionerRole.practitioner.phone') and answer.exists()) -> practitioner.telecom as value, value.system = 'phone', value.value = (item.answer.value) "phone";\n src.item as item where ((linkId.value = 'receiverCopy.practitionerRole.practitioner.email') and answer.exists()) -> practitioner.telecom as value, value.system = 'email', value.value = (item.answer.value) "email";\n}\n\ngroup ReceiverCopyOrganizationItems(source src : BackboneElement, target organization : Organization) {\n src.item as item where ((linkId.value = 'receiverCopy.practitionerRole.organization.name') and answer.exists()) -> organization.name = (item.answer.value);\n src.item as item where ((linkId.value = 'receiverCopy.practitionerRole.organization.streetAddressLine') and answer.exists()) -> organization.address as address share orgAddress then {\n item.answer as answer -> address.line = (answer.value) "streetAddressLine";\n } "answer";\n src.item as item where ((linkId.value = 'receiverCopy.practitionerRole.organization.postalCode') and answer.exists()) -> organization.address as address share orgAddress, address.postalCode = (item.answer.value) "postalCode";\n src.item as item where ((linkId.value = 'receiverCopy.practitionerRole.organization.city') and answer.exists()) -> organization.address as address share orgAddress, address.city = (item.answer.value) "city";\n src.item as item where ((linkId.value = 'receiverCopy.practitionerRole.organization.country') and answer.exists()) -> organization.address as address share orgAddress, address.country = (item.answer.value) "country";\n}\n\ngroup ReceiverCopyPractitionerRoleItems(source src : BackboneElement, target bundle : Bundle, target practitionerRole : practitionerRole) {\n src.item as item where (linkId.value = 'receiverCopy.practitionerRole.practitioner') -> bundle.entry as e2, e2.resource = create('Practitioner') as practitioner, practitioner.id = uuid() as uuid2, practitionerRole.practitioner = create('Reference') as reference, reference.reference = append('urn:uuid:', uuid2), e2.fullUrl = append('urn:uuid:', uuid2) then ReceiverCopyPractitionerItems(item, practitioner);\n src.item as item where (linkId.value = 'receiverCopy.practitionerRole.organization') -> bundle.entry as e3, e3.resource = create('Organization') as organization, organization.id = uuid() as uuid3, practitionerRole.organization = create('Reference') as reference, reference.reference = append('urn:uuid:', uuid3), e3.fullUrl = append('urn:uuid:', uuid3) then ReceiverCopyOrganizationItems(item, organization);\n}\n\ngroup ExtOrfCopyReceiverPatient(source src : BackboneElement, target patient : Patient, target ext : Extension) {\n src -> ext.url = 'http://fhir.ch/ig/ch-orf/StructureDefinition/ch-orf-copyreceiver' "url";\n src -> ext.value = create('Reference') as reference, reference.reference = ('urn:uuid:' + %patient.id) "patient";\n}\n\ngroup ExtOrfCopyReceiver(source src : BackboneElement, target res, target ext : Extension) {\n src -> ext.url = 'http://fhir.ch/ig/ch-orf/StructureDefinition/ch-orf-copyreceiver' "url";\n src -> ext.value = create('Reference') as reference, reference.reference = ('urn:uuid:' + %res.id) "organization";\n}\n\ngroup ReceiverCopy(source grp : BackboneElement, target bundle : Bundle, target patient : Patient, target composition : Composition, target serviceRequest : ServiceRequest) {\n grp.item as item where (linkId = 'receiverCopy.practitionerRole') -> bundle.entry as e4, e4.resource = create('PractitionerRole') as practitionerrole, composition.extension as extension, practitionerrole.id = uuid() as uuid4, e4.fullUrl = append('urn:uuid:', uuid4) then {\n item then ReceiverCopyPractitionerRoleItems(item, bundle, practitionerrole) "data";\n item then ExtOrfCopyReceiver(item, practitionerrole, extension) "extension";\n } "receiverCopyPractitionerRole1";\n grp.item as item where (linkId = 'receiverCopy.patient') -> composition.extension as extension then {\n item then ExtOrfCopyReceiver(item, patient, extension) "extension";\n } "receiverCopyPractitionerRole2";\n grp.item as item where (linkId = 'receiverCopy.relatedPerson') -> bundle.entry as e4, e4.resource = create('RelatedPerson') as relatedPerson, composition.extension as extension, relatedPerson.id = uuid() as uuid4, relatedPerson.patient as reference, reference.reference = ('urn:uuid:' + %patient.id), e4.fullUrl = append('urn:uuid:', uuid4) then {\n item then ReceiverCopyRelatedPersonItems(item, relatedPerson) "data";\n item then ExtOrfCopyReceiver(item, relatedPerson, extension) "extension";\n } "receiverCopyPractitionerRole3";\n}\n\ngroup Appointment(source grp : BackboneElement, target bundle : Bundle, target composition : Composition, target serviceRequest : ServiceRequest) {\n grp -> bundle.entry as e4, e4.resource = create('Appointment') as appointment, appointment.id = uuid() as uuid4, e4.fullUrl = ('urn:uuid:' + %uuid4), serviceRequest.extension as extension, extension.url = 'http://fhir.ch/ig/ch-orf/StructureDefinition/ch-orf-locationandtime', extension.value = create('Reference') as reference, reference.reference = ('urn:uuid:' + %uuid4) then {\n grp.item as item where ((linkId.value = 'appointment.status') and (answer.value.code = 'proposed')) -> appointment.status = (item.answer.value.code) then {\n grp.item as itemp where (linkId.value = 'appointment.requestedPeriod') then {\n itemp.item as item2 where ((linkId.value = 'appointment.requestedPeriod.start') and answer.exists()) -> appointment.requestedPeriod as requestedPeriod, requestedPeriod.start = (item2.answer.value), requestedPeriod.end = (item2.answer.value) then {\n itemp.item as item3 where ((linkId.value = 'appointment.requestedPeriod.end') and answer.exists()) -> requestedPeriod.end = (item3.answer.value) "start";\n } "start";\n } "requestedPeriod";\n } "proposed";\n grp.item as item where ((linkId.value = 'appointment.status') and ((answer.value.code = 'pending') or (answer.value.code = 'booked'))) -> appointment.status = (item.answer.value.code) then {\n grp.item as itemp where (linkId.value = 'appointment.requestedPeriod') then {\n itemp.item as item2 where ((linkId.value = 'appointment.requestedPeriod.start') and answer.exists()) -> appointment.start = (item2.answer.value), appointment.end = (item2.answer.value) then {\n itemp.item as item3 where ((linkId.value = 'appointment.requestedPeriod.end') and answer.exists()) -> appointment.end = (item3.answer.value) "start";\n } "start";\n } "startend";\n } "pendingorbooked";\n grp.item as item where ((linkId.value = 'appointment.patientInstruction') and answer.exists()) -> appointment.patientInstruction = (item.answer.value) "patientInstruction";\n grp.item as item where (linkId.value = 'appointment.location') then {\n item -> bundle.entry as e5, e5.resource = create('Location') as location, location.id = uuid() as uuid5, e5.fullUrl = ('urn:uuid:' + %uuid5), appointment.participant as participant, participant.status = 'tentative', participant.actor = create('Reference') as actor, actor.reference = ('urn:uuid:' + %location.id) then {\n item.item as item3 where ((linkId.value = 'appointment.location.name') and answer.exists()) -> location.name = (item3.answer.value);\n item.item as item3 where ((linkId.value = 'appointment.location.phone') and answer.exists()) -> location.telecom as value, value.system = 'phone', value.value = (item3.answer.value) "phone";\n item.item as item3 where ((linkId.value = 'appointment.location.email') and answer.exists()) -> location.telecom as value, value.system = 'email', value.value = (item3.answer.value) "email";\n item.item as item3 where ((linkId.value = 'appointment.location.streetAddressLine') and answer.exists()) -> location.address as address share orgAddress then {\n item.answer as answer -> address.line = (answer.value) "line";\n } "streetAddressLine";\n item.item as item3 where ((linkId.value = 'appointment.location.postalCode') and answer.exists()) -> location.address as address share orgAddress, address.postalCode = (item3.answer.value) "postalCode";\n item.item as item3 where ((linkId.value = 'appointment.location.city') and answer.exists()) -> location.address as address share orgAddress, address.city = (item3.answer.value) "city";\n item.item as item3 where ((linkId.value = 'appointment.location.country') and answer.exists()) -> location.address as address share orgAddress, address.country = (item3.answer.value) "country";\n } "location";\n } "location";\n } "Appointment";\n}\n\ngroup PreviousResults(source grp : BackboneElement, target bundle : Bundle, target serviceRequest : ServiceRequest) {\n grp.item as item where ((linkId = 'previousResults.attachment') and answer.exists()) then {\n item.answer as answer then {\n answer.value : Attachment as attachment -> bundle.entry as e, e.resource = create('Media') as media, media.id = uuid() as uuid, media.status = 'completed', e.fullUrl = append('urn:uuid:', uuid), media.content = attachment, serviceRequest.supportingInfo as supportingInfo, supportingInfo.reference = ('urn:uuid:' + uuid) "media";\n };\n };\n}\n\ngroup Note(source grp : BackboneElement, target serviceRequest : ServiceRequest) {\n grp.item as item where ((linkId = 'note.text') and answer.exists()) -> serviceRequest.note as note, note.text = (item.answer.value) "text";\n}\n\ngroup QrToBundle(source qr : QuestionnaireResponse, target q : Questionnaire, target patient : Patient, target questionnaireresp : QuestionnaireResponse, target servicerequest : ServiceRequest, target composition : Composition, target bundle : Bundle) {\n qr -> bundle.id = uuid() "id";\n qr -> bundle.type = 'document' "type";\n qr then OrfComposition(qr, q, composition, patient, questionnaireresp, servicerequest, bundle) "composition";\n qr then QrToGroups(qr, patient, bundle, composition, servicerequest) "qrgroups";\n}\n\ngroup OrfComposition(source qr : QuestionnaireResponse, target q : Questionnaire, target tgt : Composition, target patient : Patient, target questionnaireresp : QuestionnaireResponse, target servicerequest : ServiceRequest, target bundle : Bundle) {\n qr -> tgt.status = 'final' "status";\n qr -> tgt.subject = create('Reference') as reference, reference.reference = ('urn:uuid:' + %patient.id) "subject";\n qr -> tgt.section as tgtSection, tgtSection.title = 'Order-Referral', tgtSection.code as code, code.coding as coding, coding.system = 'http://loinc.org', coding.code = '93037-0', coding.display = 'Portable medical order form', tgtSection.entry = create('Reference') as reference, reference.reference = ('urn:uuid:' + %questionnaireresp.id), tgtSection.entry = create('Reference') as reference, reference.reference = ('urn:uuid:' + %servicerequest.id), tgtSection.entry = create('Reference') as reference, reference.reference = ('urn:uuid:' + %q.id) "sections";\n qr -> servicerequest.status = 'active', servicerequest.intent = 'order', servicerequest.subject = create('Reference') as reference, reference.reference = ('urn:uuid:' + %patient.id) "servicerequest";\n}\n\n</pre>\n </div>"
},
"url" : "http://fhir.ch/ig/ch-orf/StructureMap/OrfQrToBundle",
"version" : "1.1.0",
"name" : "OrfQrToBundle",
"status" : "draft",
"date" : "2023-03-08T18:07:00+00:00",
"publisher" : "HL7 Switzerland",
"contact" : [
{
"name" : "HL7 Switzerland",
"telecom" : [
{
"system" : "url",
"value" : "https://www.hl7.ch/"
}
]
}
],
"description" : "\r\nORF QuestionnaireResponse to Bundle\r\n2021-01-11 Oliver Egger, copyright ahdis ag, Apache License\r\nQRF Questionnaire: http://build.fhir.org/ig/hl7ch/ch-orf/Questionnaire-order-referral-form.html\r\nQRF QuestionnaireResponse: http://build.fhir.org/ig/hl7ch/ch-orf/QuestionnaireResponse-order-referral-form.xml.html\r\nBundle: http://build.fhir.org/ig/hl7ch/ch-orf/StructureDefinition-ch-orf-document.html",
"jurisdiction" : [
{
"coding" : [
{
"system" : "urn:iso:std:iso:3166",
"code" : "CH"
}
]
}
],
"copyright" : "CC-BY-SA-4.0",
"structure" : [
{
"url" : "http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse",
"mode" : "source",
"alias" : "QuestionnaireResponse"
},
{
"url" : "http://hl7.org/fhir/StructureDefinition/Bundle",
"mode" : "target",
"alias" : "Bundle"
},
{
"url" : "http://hl7.org/fhir/StructureDefinition/Patient",
"mode" : "target",
"alias" : "Patient"
},
{
"url" : "http://hl7.org/fhir/StructureDefinition/RelatedPerson",
"mode" : "target",
"alias" : "RelatedPerson"
},
{
"url" : "http://hl7.org/fhir/StructureDefinition/Organization",
"mode" : "target",
"alias" : "Organization"
},
{
"url" : "http://hl7.org/fhir/StructureDefinition/Practitioner",
"mode" : "target",
"alias" : "Practitioner"
},
{
"url" : "http://hl7.org/fhir/StructureDefinition/PractitionerRole",
"mode" : "target",
"alias" : "PractitionerRole"
},
{
"url" : "http://hl7.org/fhir/StructureDefinition/ServiceRequest",
"mode" : "target",
"alias" : "ServiceRequest"
},
{
"url" : "http://hl7.org/fhir/StructureDefinition/BackboneElement",
"mode" : "target",
"alias" : "BackboneElement"
},
{
"url" : "http://hl7.org/fhir/StructureDefinition/Extension",
"mode" : "target",
"alias" : "Extension"
},
{
"url" : "http://hl7.org/fhir/StructureDefinition/EpisodeOfCare",
"mode" : "target",
"alias" : "EpisodeOfCare"
}
],
"group" : [
{
"name" : "OrfQrToBundle",
"typeMode" : "none",
"input" : [
{
"name" : "qr",
"type" : "QuestionnaireResponse",
"mode" : "source"
},
{
"name" : "bundle",
"type" : "Bundle",
"mode" : "target"
}
],
"rule" : [
{
"name" : "documentIdentifier",
"source" : [
{
"context" : "qr"
}
],
"target" : [
{
"context" : "bundle",
"contextType" : "variable",
"element" : "identifier",
"variable" : "documentIdentifier"
},
{
"context" : "documentIdentifier",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "urn:ietf:rfc:3986"
}
]
},
{
"contextType" : "variable",
"variable" : "uuidDoc",
"transform" : "uuid"
},
{
"context" : "documentIdentifier",
"contextType" : "variable",
"element" : "value",
"transform" : "append",
"parameter" : [
{
"valueString" : "urn:uuid:"
},
{
"valueId" : "uuidDoc"
}
]
}
]
},
{
"name" : "orfbundle",
"source" : [
{
"context" : "qr",
"variable" : "qrcp"
}
],
"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" : "bundle",
"contextType" : "variable",
"element" : "timestamp",
"variable" : "timestamp",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "now()"
}
]
},
{
"context" : "composition",
"contextType" : "variable",
"element" : "date",
"transform" : "copy",
"parameter" : [
{
"valueId" : "timestamp"
}
]
},
{
"context" : "composition",
"contextType" : "variable",
"element" : "title",
"transform" : "copy",
"parameter" : [
{
"valueString" : "Order and Referral by Form"
}
]
},
{
"context" : "composition",
"contextType" : "variable",
"element" : "type",
"variable" : "type"
},
{
"context" : "type",
"contextType" : "variable",
"element" : "coding",
"variable" : "coding"
},
{
"context" : "coding",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "419891008"
}
]
},
{
"context" : "coding",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://snomed.info/sct"
}
]
},
{
"context" : "composition",
"contextType" : "variable",
"element" : "category",
"variable" : "category"
},
{
"context" : "category",
"contextType" : "variable",
"element" : "coding",
"variable" : "coding"
},
{
"context" : "coding",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "721963009"
}
]
},
{
"context" : "coding",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://snomed.info/sct"
}
]
},
{
"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"
}
]
},
{
"context" : "bundle",
"contextType" : "variable",
"element" : "entry",
"variable" : "e4"
},
{
"context" : "e4",
"contextType" : "variable",
"element" : "resource",
"variable" : "questionnaireresp",
"transform" : "copy",
"parameter" : [
{
"valueId" : "qrcp"
}
]
},
{
"context" : "questionnaireresp",
"contextType" : "variable",
"element" : "id",
"variable" : "uuid4",
"transform" : "uuid"
},
{
"context" : "e4",
"contextType" : "variable",
"element" : "fullUrl",
"transform" : "append",
"parameter" : [
{
"valueString" : "urn:uuid:"
},
{
"valueId" : "uuid4"
}
]
},
{
"context" : "bundle",
"contextType" : "variable",
"element" : "entry",
"variable" : "e5"
},
{
"context" : "e5",
"contextType" : "variable",
"element" : "resource",
"variable" : "servicerequest",
"transform" : "create",
"parameter" : [
{
"valueString" : "ServiceRequest"
}
]
},
{
"context" : "servicerequest",
"contextType" : "variable",
"element" : "id",
"variable" : "uuid5",
"transform" : "uuid"
},
{
"context" : "e5",
"contextType" : "variable",
"element" : "fullUrl",
"transform" : "append",
"parameter" : [
{
"valueString" : "urn:uuid:"
},
{
"valueId" : "uuid5"
}
]
}
],
"rule" : [
{
"name" : "orfbundle",
"source" : [
{
"context" : "qr",
"element" : "questionnaire",
"variable" : "can"
}
],
"target" : [
{
"context" : "bundle",
"contextType" : "variable",
"element" : "entry",
"variable" : "e6"
},
{
"context" : "e6",
"contextType" : "variable",
"element" : "resource",
"variable" : "q",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "can.resolve()"
}
]
},
{
"context" : "q",
"contextType" : "variable",
"element" : "id",
"variable" : "uuid6",
"transform" : "uuid"
},
{
"context" : "e6",
"contextType" : "variable",
"element" : "fullUrl",
"transform" : "append",
"parameter" : [
{
"valueString" : "urn:uuid:"
},
{
"valueId" : "uuid6"
}
]
}
],
"dependent" : [
{
"name" : "QrToBundle",
"variable" : [
"qr",
"q",
"patient",
"questionnaireresp",
"servicerequest",
"composition",
"bundle"
],
"_variable" : [
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
},
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
},
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
},
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
},
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
},
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
},
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
}
]
}
]
}
]
}
]
},
{
"name" : "QrToGroups",
"typeMode" : "none",
"input" : [
{
"name" : "qr",
"type" : "QuestionnaireResponse",
"mode" : "source"
},
{
"name" : "patient",
"type" : "Patient",
"mode" : "target"
},
{
"name" : "bundle",
"type" : "Bundle",
"mode" : "target"
},
{
"name" : "composition",
"type" : "Composition",
"mode" : "target"
},
{
"name" : "serviceRequest",
"type" : "ServiceRequest",
"mode" : "target"
}
],
"rule" : [
{
"name" : "grporder",
"source" : [
{
"context" : "qr",
"element" : "item",
"variable" : "grp",
"condition" : "linkId = 'order'"
}
],
"dependent" : [
{
"name" : "OrderItems",
"variable" : [
"grp",
"bundle",
"composition",
"serviceRequest"
],
"_variable" : [
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
},
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
},
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
},
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
}
]
}
]
},
{
"name" : "receiver",
"source" : [
{
"context" : "qr",
"element" : "item",
"variable" : "grp",
"condition" : "linkId = 'receiver'"
}
],
"dependent" : [
{
"name" : "ReceiverInit",
"variable" : [
"grp",
"bundle",
"composition",
"serviceRequest"
],
"_variable" : [
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
},
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
},
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
},
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
}
]
}
]
},
{
"name" : "grpinitiator",
"source" : [
{
"context" : "qr",
"element" : "item",
"variable" : "grp",
"condition" : "linkId = 'initiator'"
}
],
"dependent" : [
{
"name" : "InitiatorInit",
"variable" : [
"grp",
"bundle",
"patient",
"composition",
"serviceRequest"
],
"_variable" : [
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
},
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
},
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
},
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
},
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
}
]
}
]
},
{
"name" : "grppatient",
"source" : [
{
"context" : "qr",
"element" : "item",
"variable" : "grp",
"condition" : "linkId = 'patient'"
}
],
"dependent" : [
{
"name" : "PatientItems",
"variable" : [
"grp",
"bundle",
"patient",
"composition",
"serviceRequest"
],
"_variable" : [
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
},
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
},
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
},
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
},
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
}
]
}
]
},
{
"name" : "grprequestedencounter",
"source" : [
{
"context" : "qr",
"element" : "item",
"variable" : "grp",
"condition" : "linkId = 'requestedEncounter'"
}
],
"dependent" : [
{
"name" : "RequestedEncounterItems",
"variable" : [
"grp",
"bundle",
"patient",
"serviceRequest"
],
"_variable" : [
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
},
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
},
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
},
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
}
]
}
]
},
{
"name" : "grprequestedencounter",
"source" : [
{
"context" : "qr",
"element" : "item",
"variable" : "grp",
"condition" : "linkId = 'coverage'"
}
],
"dependent" : [
{
"name" : "Coverage",
"variable" : [
"grp",
"bundle",
"patient",
"serviceRequest"
],
"_variable" : [
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
},
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
},
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
},
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
}
]
}
]
},
{
"name" : "grpsender",
"source" : [
{
"context" : "qr",
"element" : "item",
"variable" : "grp",
"condition" : "linkId = 'sender'"
}
],
"dependent" : [
{
"name" : "SenderAuthorInit",
"variable" : [
"grp",
"bundle",
"composition",
"serviceRequest"
],
"_variable" : [
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
},
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
},
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
},
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
}
]
}
]
},
{
"name" : "grpsender",
"source" : [
{
"context" : "qr",
"element" : "item",
"variable" : "grp",
"condition" : "linkId = 'receiverCopy'"
}
],
"dependent" : [
{
"name" : "ReceiverCopy",
"variable" : [
"grp",
"bundle",
"patient",
"composition",
"serviceRequest"
],
"_variable" : [
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
},
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
},
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
},
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
},
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
}
]
}
]
},
{
"name" : "grpsender",
"source" : [
{
"context" : "qr",
"element" : "item",
"variable" : "grp",
"condition" : "linkId = 'appointment'"
}
],
"dependent" : [
{
"name" : "Appointment",
"variable" : [
"grp",
"bundle",
"composition",
"serviceRequest"
],
"_variable" : [
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
},
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
},
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
},
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
}
]
}
]
},
{
"name" : "previousResults",
"source" : [
{
"context" : "qr",
"element" : "item",
"variable" : "grp",
"condition" : "linkId = 'previousResults'"
}
],
"dependent" : [
{
"name" : "PreviousResults",
"variable" : [
"grp",
"bundle",
"serviceRequest"
],
"_variable" : [
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
},
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
},
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
}
]
}
]
},
{
"name" : "AntecedentEpisodeOfCareInit",
"source" : [
{
"context" : "qr",
"element" : "item",
"variable" : "grp",
"condition" : "linkId = 'antecedentEpisodeOfCare'"
}
],
"dependent" : [
{
"name" : "AntecedentEpisodeOfCareInit",
"variable" : [
"grp",
"bundle",
"patient",
"composition"
],
"_variable" : [
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
},
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
},
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
},
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
}
]
}
]
},
{
"name" : "consent",
"source" : [
{
"context" : "qr",
"element" : "item",
"variable" : "grp",
"condition" : "linkId = 'consent'"
}
],
"dependent" : [
{
"name" : "Consent",
"variable" : [
"grp",
"bundle",
"composition"
],
"_variable" : [
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
},
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
},
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
}
]
}
]
},
{
"name" : "note",
"source" : [
{
"context" : "qr",
"element" : "item",
"variable" : "grp",
"condition" : "linkId = 'note'"
}
],
"dependent" : [
{
"name" : "Note",
"variable" : [
"grp",
"serviceRequest"
],
"_variable" : [
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
},
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
}
]
}
]
}
]
},
{
"name" : "OrderItems",
"typeMode" : "none",
"input" : [
{
"name" : "src",
"type" : "BackboneElement",
"mode" : "source"
},
{
"name" : "bundle",
"type" : "Bundle",
"mode" : "target"
},
{
"name" : "composition",
"mode" : "target"
},
{
"name" : "serviceRequest",
"type" : "ServiceRequest",
"mode" : "target"
}
],
"rule" : [
{
"name" : "order.precedentDocumentIdentifier",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'order.precedentDocumentIdentifier') and answer.exists())"
}
],
"target" : [
{
"context" : "composition",
"contextType" : "variable",
"element" : "extension",
"variable" : "ext"
},
{
"context" : "ext",
"contextType" : "variable",
"element" : "url",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://fhir.ch/ig/ch-orf/StructureDefinition/ch-orf-precedentdocument"
}
]
},
{
"context" : "ext",
"contextType" : "variable",
"element" : "value",
"variable" : "value",
"transform" : "create",
"parameter" : [
{
"valueString" : "Identifier"
}
]
},
{
"context" : "value",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "urn:ietf:rfc:3986"
}
]
},
{
"context" : "value",
"contextType" : "variable",
"element" : "value",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "'urn:uuid:' + item.answer.valueString"
}
]
}
]
},
{
"name" : "order.placerOrderIdentifier",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'order.placerOrderIdentifier') and answer.exists())"
}
],
"target" : [
{
"context" : "serviceRequest",
"contextType" : "variable",
"element" : "identifier",
"variable" : "value",
"listMode" : [
"share"
],
"listRuleId" : "placer"
},
{
"context" : "value",
"contextType" : "variable",
"element" : "type",
"variable" : "type"
},
{
"context" : "type",
"contextType" : "variable",
"element" : "coding",
"variable" : "coding"
},
{
"context" : "coding",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://terminology.hl7.org/CodeSystem/v2-0203"
}
]
},
{
"context" : "coding",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "PLAC"
}
]
},
{
"context" : "value",
"contextType" : "variable",
"element" : "value",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.valueString"
}
]
}
]
},
{
"name" : "order.placerOrderIdentifierDomain",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'order.placerOrderIdentifierDomain') and answer.exists())"
}
],
"target" : [
{
"context" : "serviceRequest",
"contextType" : "variable",
"element" : "identifier",
"variable" : "value",
"listMode" : [
"share"
],
"listRuleId" : "placer"
},
{
"context" : "value",
"contextType" : "variable",
"element" : "system",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.valueString"
}
]
}
]
},
{
"name" : "order.fillerOrderIdentifier",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'order.fillerOrderIdentifier') and answer.exists())"
}
],
"target" : [
{
"context" : "serviceRequest",
"contextType" : "variable",
"element" : "identifier",
"variable" : "value",
"listMode" : [
"share"
],
"listRuleId" : "filler"
},
{
"context" : "value",
"contextType" : "variable",
"element" : "type",
"variable" : "type"
},
{
"context" : "type",
"contextType" : "variable",
"element" : "coding",
"variable" : "coding"
},
{
"context" : "coding",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://terminology.hl7.org/CodeSystem/v2-0203"
}
]
},
{
"context" : "coding",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "FILL"
}
]
},
{
"context" : "value",
"contextType" : "variable",
"element" : "value",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.valueString"
}
]
}
]
},
{
"name" : "order.fillerOrderIdentifierDomain",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'order.fillerOrderIdentifierDomain') and answer.exists())"
}
],
"target" : [
{
"context" : "serviceRequest",
"contextType" : "variable",
"element" : "identifier",
"variable" : "value",
"listMode" : [
"share"
],
"listRuleId" : "filler"
},
{
"context" : "value",
"contextType" : "variable",
"element" : "system",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.valueString"
}
]
}
]
},
{
"name" : "item",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'order.dateTime') and answer.exists())"
}
],
"target" : [
{
"context" : "serviceRequest",
"contextType" : "variable",
"element" : "authoredOn",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value"
}
]
}
]
},
{
"name" : "item",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'order.priority') and answer.exists())"
}
],
"target" : [
{
"context" : "serviceRequest",
"contextType" : "variable",
"element" : "priority",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value.code"
}
]
}
]
},
{
"name" : "order.notificationContactDocument",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "(linkId.value = 'order.notificationContactDocument')"
}
],
"rule" : [
{
"name" : "order.notificationContactDocument.items",
"source" : [
{
"context" : "item"
}
],
"target" : [
{
"context" : "bundle",
"contextType" : "variable",
"element" : "entry",
"variable" : "e4"
},
{
"context" : "e4",
"contextType" : "variable",
"element" : "resource",
"variable" : "practitionerRoleDataEnterer",
"transform" : "create",
"parameter" : [
{
"valueString" : "PractitionerRole"
}
]
},
{
"context" : "practitionerRoleDataEnterer",
"contextType" : "variable",
"element" : "id",
"variable" : "uuid4",
"transform" : "uuid"
},
{
"context" : "e4",
"contextType" : "variable",
"element" : "fullUrl",
"transform" : "append",
"parameter" : [
{
"valueString" : "urn:uuid:"
},
{
"valueId" : "uuid4"
}
]
},
{
"context" : "composition",
"contextType" : "variable",
"element" : "extension",
"variable" : "extension"
},
{
"context" : "bundle",
"contextType" : "variable",
"element" : "entry",
"variable" : "e5"
},
{
"context" : "e5",
"contextType" : "variable",
"element" : "resource",
"variable" : "practitionerDataEnterer",
"transform" : "create",
"parameter" : [
{
"valueString" : "Practitioner"
}
]
},
{
"context" : "practitionerDataEnterer",
"contextType" : "variable",
"element" : "id",
"variable" : "uuid5",
"transform" : "uuid"
},
{
"context" : "e5",
"contextType" : "variable",
"element" : "fullUrl",
"transform" : "append",
"parameter" : [
{
"valueString" : "urn:uuid:"
},
{
"valueId" : "uuid5"
}
]
},
{
"context" : "practitionerRoleDataEnterer",
"contextType" : "variable",
"element" : "practitioner",
"variable" : "reference",
"transform" : "create",
"parameter" : [
{
"valueString" : "Reference"
}
]
},
{
"context" : "reference",
"contextType" : "variable",
"element" : "reference",
"transform" : "append",
"parameter" : [
{
"valueString" : "urn:uuid:"
},
{
"valueId" : "uuid5"
}
]
}
],
"rule" : [
{
"name" : "data",
"source" : [
{
"context" : "item"
}
],
"dependent" : [
{
"name" : "UrgentNotificationContactForRequestItems",
"variable" : [
"item",
"practitionerRoleDataEnterer",
"practitionerDataEnterer"
],
"_variable" : [
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
},
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
},
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
}
]
}
]
},
{
"name" : "extension",
"source" : [
{
"context" : "item"
}
],
"dependent" : [
{
"name" : "ExtOrfUrgentNotificationContactForRequest",
"variable" : [
"item",
"practitionerRoleDataEnterer",
"extension"
],
"_variable" : [
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
},
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
},
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
}
]
}
]
}
]
}
]
},
{
"name" : "order.notificationContactDocumentResponse",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "(linkId.value = 'order.notificationContactDocumentResponse')"
}
],
"rule" : [
{
"name" : "order.notificationContactDocumentResponse.items",
"source" : [
{
"context" : "item"
}
],
"target" : [
{
"context" : "bundle",
"contextType" : "variable",
"element" : "entry",
"variable" : "e4"
},
{
"context" : "e4",
"contextType" : "variable",
"element" : "resource",
"variable" : "practitionerRoleDataEnterer",
"transform" : "create",
"parameter" : [
{
"valueString" : "PractitionerRole"
}
]
},
{
"context" : "practitionerRoleDataEnterer",
"contextType" : "variable",
"element" : "id",
"variable" : "uuid4",
"transform" : "uuid"
},
{
"context" : "e4",
"contextType" : "variable",
"element" : "fullUrl",
"transform" : "append",
"parameter" : [
{
"valueString" : "urn:uuid:"
},
{
"valueId" : "uuid4"
}
]
},
{
"context" : "composition",
"contextType" : "variable",
"element" : "extension",
"variable" : "extension"
},
{
"context" : "bundle",
"contextType" : "variable",
"element" : "entry",
"variable" : "e5"
},
{
"context" : "e5",
"contextType" : "variable",
"element" : "resource",
"variable" : "practitionerDataEnterer",
"transform" : "create",
"parameter" : [
{
"valueString" : "Practitioner"
}
]
},
{
"context" : "practitionerDataEnterer",
"contextType" : "variable",
"element" : "id",
"variable" : "uuid5",
"transform" : "uuid"
},
{
"context" : "e5",
"contextType" : "variable",
"element" : "fullUrl",
"transform" : "append",
"parameter" : [
{
"valueString" : "urn:uuid:"
},
{
"valueId" : "uuid5"
}
]
},
{
"context" : "practitionerRoleDataEnterer",
"contextType" : "variable",
"element" : "practitioner",
"variable" : "reference",
"transform" : "create",
"parameter" : [
{
"valueString" : "Reference"
}
]
},
{
"context" : "reference",
"contextType" : "variable",
"element" : "reference",
"transform" : "append",
"parameter" : [
{
"valueString" : "urn:uuid:"
},
{
"valueId" : "uuid5"
}
]
}
],
"rule" : [
{
"name" : "data",
"source" : [
{
"context" : "item"
}
],
"dependent" : [
{
"name" : "UrgentNotificationContactForResponseItems",
"variable" : [
"item",
"practitionerRoleDataEnterer",
"practitionerDataEnterer"
],
"_variable" : [
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
},
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
},
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
}
]
}
]
},
{
"name" : "extension",
"source" : [
{
"context" : "item"
}
],
"dependent" : [
{
"name" : "ExtOrfUrgentNotificationContactForResponse",
"variable" : [
"item",
"practitionerRoleDataEnterer",
"extension"
],
"_variable" : [
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
},
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
},
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
}
]
}
]
}
]
}
]
}
]
},
{
"name" : "UrgentNotificationContactForRequestPractitionerItems",
"typeMode" : "none",
"input" : [
{
"name" : "src",
"type" : "BackboneElement",
"mode" : "source"
},
{
"name" : "practitioner",
"type" : "Practitioner",
"mode" : "target"
}
],
"rule" : [
{
"name" : "item",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'order.notificationContactDocument.practitioner.familyName') and answer.exists())"
}
],
"target" : [
{
"context" : "practitioner",
"contextType" : "variable",
"element" : "name",
"variable" : "name",
"listMode" : [
"share"
],
"listRuleId" : "practitionerName"
},
{
"context" : "name",
"contextType" : "variable",
"element" : "family",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value"
}
]
}
]
},
{
"name" : "item",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'order.notificationContactDocument.practitioner.givenName') and answer.exists())"
}
],
"target" : [
{
"context" : "practitioner",
"contextType" : "variable",
"element" : "name",
"variable" : "name",
"listMode" : [
"share"
],
"listRuleId" : "practitionerName"
},
{
"context" : "name",
"contextType" : "variable",
"element" : "given",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value"
}
]
}
]
},
{
"name" : "sender.author.practitioner.title",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'order.notificationContactDocument.practitioner.title') and answer.exists())"
}
],
"target" : [
{
"context" : "practitioner",
"contextType" : "variable",
"element" : "name",
"variable" : "name",
"listMode" : [
"share"
],
"listRuleId" : "practitionerName"
},
{
"context" : "name",
"contextType" : "variable",
"element" : "prefix",
"variable" : "prefix",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value"
}
]
},
{
"context" : "prefix",
"contextType" : "variable",
"element" : "extension",
"variable" : "ext"
},
{
"context" : "ext",
"contextType" : "variable",
"element" : "url",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier"
}
]
},
{
"context" : "ext",
"contextType" : "variable",
"element" : "value",
"variable" : "value",
"transform" : "create",
"parameter" : [
{
"valueString" : "code"
}
]
},
{
"context" : "value",
"contextType" : "variable",
"element" : "value",
"transform" : "copy",
"parameter" : [
{
"valueString" : "AC"
}
]
}
]
},
{
"name" : "sender.author.practitioner.phone",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'order.notificationContactDocument.practitioner.phone') and answer.exists())"
}
],
"target" : [
{
"context" : "practitioner",
"contextType" : "variable",
"element" : "telecom",
"variable" : "value"
},
{
"context" : "value",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "phone"
}
]
},
{
"context" : "value",
"contextType" : "variable",
"element" : "value",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value"
}
]
}
]
},
{
"name" : "sender.author.practitioner.email",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'order.notificationContactDocument.practitioner.email') and answer.exists())"
}
],
"target" : [
{
"context" : "practitioner",
"contextType" : "variable",
"element" : "telecom",
"variable" : "value"
},
{
"context" : "value",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "email"
}
]
},
{
"context" : "value",
"contextType" : "variable",
"element" : "value",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value"
}
]
}
]
}
]
},
{
"name" : "UrgentNotificationContactForRequestItems",
"typeMode" : "none",
"input" : [
{
"name" : "src",
"type" : "BackboneElement",
"mode" : "source"
},
{
"name" : "practitionerRole",
"type" : "practitionerRole",
"mode" : "target"
},
{
"name" : "practitioner",
"type" : "Practitioner",
"mode" : "target"
}
],
"rule" : [
{
"name" : "item",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "(linkId.value = 'order.notificationContactDocument.practitioner')"
}
],
"dependent" : [
{
"name" : "UrgentNotificationContactForRequestPractitionerItems",
"variable" : [
"item",
"practitioner"
],
"_variable" : [
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
},
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
}
]
}
]
}
]
},
{
"name" : "ExtOrfUrgentNotificationContactForRequest",
"typeMode" : "none",
"input" : [
{
"name" : "src",
"type" : "BackboneElement",
"mode" : "source"
},
{
"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-orf/StructureDefinition/ch-orf-urgentnoficationcontactforthisdocument"
}
]
}
]
},
{
"name" : "practitionerRole",
"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:' + %practitionerRole.id"
}
]
}
]
}
]
},
{
"name" : "UrgentNotificationContactForResponsePractitionerItems",
"typeMode" : "none",
"input" : [
{
"name" : "src",
"type" : "BackboneElement",
"mode" : "source"
},
{
"name" : "practitioner",
"type" : "Practitioner",
"mode" : "target"
}
],
"rule" : [
{
"name" : "item",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'order.notificationContactDocumentResponse.practitioner.familyName') and answer.exists())"
}
],
"target" : [
{
"context" : "practitioner",
"contextType" : "variable",
"element" : "name",
"variable" : "name",
"listMode" : [
"share"
],
"listRuleId" : "practitionerName"
},
{
"context" : "name",
"contextType" : "variable",
"element" : "family",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value"
}
]
}
]
},
{
"name" : "item",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'order.notificationContactDocumentResponse.practitioner.givenName') and answer.exists())"
}
],
"target" : [
{
"context" : "practitioner",
"contextType" : "variable",
"element" : "name",
"variable" : "name",
"listMode" : [
"share"
],
"listRuleId" : "practitionerName"
},
{
"context" : "name",
"contextType" : "variable",
"element" : "given",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value"
}
]
}
]
},
{
"name" : "sender.author.practitioner.title",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'order.notificationContactDocumentResponse.practitioner.title') and answer.exists())"
}
],
"target" : [
{
"context" : "practitioner",
"contextType" : "variable",
"element" : "name",
"variable" : "name",
"listMode" : [
"share"
],
"listRuleId" : "practitionerName"
},
{
"context" : "name",
"contextType" : "variable",
"element" : "prefix",
"variable" : "prefix",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value"
}
]
},
{
"context" : "prefix",
"contextType" : "variable",
"element" : "extension",
"variable" : "ext"
},
{
"context" : "ext",
"contextType" : "variable",
"element" : "url",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier"
}
]
},
{
"context" : "ext",
"contextType" : "variable",
"element" : "value",
"variable" : "value",
"transform" : "create",
"parameter" : [
{
"valueString" : "code"
}
]
},
{
"context" : "value",
"contextType" : "variable",
"element" : "value",
"transform" : "copy",
"parameter" : [
{
"valueString" : "AC"
}
]
}
]
},
{
"name" : "sender.author.practitioner.phone",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'order.notificationContactDocumentResponse.practitioner.phone') and answer.exists())"
}
],
"target" : [
{
"context" : "practitioner",
"contextType" : "variable",
"element" : "telecom",
"variable" : "value"
},
{
"context" : "value",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "phone"
}
]
},
{
"context" : "value",
"contextType" : "variable",
"element" : "value",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value"
}
]
}
]
},
{
"name" : "sender.author.practitioner.email",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'order.notificationContactDocumentResponse.practitioner.email') and answer.exists())"
}
],
"target" : [
{
"context" : "practitioner",
"contextType" : "variable",
"element" : "telecom",
"variable" : "value"
},
{
"context" : "value",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "email"
}
]
},
{
"context" : "value",
"contextType" : "variable",
"element" : "value",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value"
}
]
}
]
}
]
},
{
"name" : "UrgentNotificationContactForResponseItems",
"typeMode" : "none",
"input" : [
{
"name" : "src",
"type" : "BackboneElement",
"mode" : "source"
},
{
"name" : "practitionerRole",
"type" : "practitionerRole",
"mode" : "target"
},
{
"name" : "practitioner",
"type" : "Practitioner",
"mode" : "target"
}
],
"rule" : [
{
"name" : "item",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "(linkId.value = 'order.notificationContactDocumentResponse.practitioner')"
}
],
"dependent" : [
{
"name" : "UrgentNotificationContactForResponsePractitionerItems",
"variable" : [
"item",
"practitioner"
],
"_variable" : [
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
},
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
}
]
}
]
}
]
},
{
"name" : "ExtOrfUrgentNotificationContactForResponse",
"typeMode" : "none",
"input" : [
{
"name" : "src",
"type" : "BackboneElement",
"mode" : "source"
},
{
"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-orf/StructureDefinition/ch-orf-urgentnoficationcontactfortheresponsetothisdocument"
}
]
}
]
},
{
"name" : "practitionerRole",
"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:' + %practitionerRole.id"
}
]
}
]
}
]
},
{
"name" : "ReceiverPractitionerItems",
"typeMode" : "none",
"input" : [
{
"name" : "src",
"type" : "BackboneElement",
"mode" : "source"
},
{
"name" : "practitioner",
"type" : "Practitioner",
"mode" : "target"
}
],
"rule" : [
{
"name" : "item",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'receiver.practitioner.familyName') and answer.exists())"
}
],
"target" : [
{
"context" : "practitioner",
"contextType" : "variable",
"element" : "name",
"variable" : "name",
"listMode" : [
"share"
],
"listRuleId" : "practitionerName"
},
{
"context" : "name",
"contextType" : "variable",
"element" : "family",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value"
}
]
}
]
},
{
"name" : "item",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'receiver.practitioner.givenName') and answer.exists())"
}
],
"target" : [
{
"context" : "practitioner",
"contextType" : "variable",
"element" : "name",
"variable" : "name",
"listMode" : [
"share"
],
"listRuleId" : "practitionerName"
},
{
"context" : "name",
"contextType" : "variable",
"element" : "given",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value"
}
]
}
]
},
{
"name" : "receiver.practitioner.title",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'receiver.practitioner.title') and answer.exists())"
}
],
"target" : [
{
"context" : "practitioner",
"contextType" : "variable",
"element" : "name",
"variable" : "name",
"listMode" : [
"share"
],
"listRuleId" : "practitionerName"
},
{
"context" : "name",
"contextType" : "variable",
"element" : "prefix",
"variable" : "prefix",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value"
}
]
},
{
"context" : "prefix",
"contextType" : "variable",
"element" : "extension",
"variable" : "ext"
},
{
"context" : "ext",
"contextType" : "variable",
"element" : "url",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier"
}
]
},
{
"context" : "ext",
"contextType" : "variable",
"element" : "value",
"variable" : "value",
"transform" : "create",
"parameter" : [
{
"valueString" : "code"
}
]
},
{
"context" : "value",
"contextType" : "variable",
"element" : "value",
"transform" : "copy",
"parameter" : [
{
"valueString" : "AC"
}
]
}
]
},
{
"name" : "receiver.practitioner.gln",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'receiver.practitioner.gln') and answer.exists())"
}
],
"target" : [
{
"context" : "practitioner",
"contextType" : "variable",
"element" : "identifier",
"variable" : "value"
},
{
"context" : "value",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "urn:oid:2.51.1.3"
}
]
},
{
"context" : "value",
"contextType" : "variable",
"element" : "value",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value"
}
]
}
]
},
{
"name" : "receiver.practitioner.zsr",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'receiver.practitioner.zsr') and answer.exists())"
}
],
"target" : [
{
"context" : "practitioner",
"contextType" : "variable",
"element" : "identifier",
"variable" : "value"
},
{
"context" : "value",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "urn:oid:2.16.756.5.30.1.123.100.2.1.1"
}
]
},
{
"context" : "value",
"contextType" : "variable",
"element" : "value",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value"
}
]
}
]
},
{
"name" : "receiver.practitioner.phone",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'receiver.practitioner.phone') and answer.exists())"
}
],
"target" : [
{
"context" : "practitioner",
"contextType" : "variable",
"element" : "telecom",
"variable" : "value"
},
{
"context" : "value",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "phone"
}
]
},
{
"context" : "value",
"contextType" : "variable",
"element" : "value",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value"
}
]
}
]
},
{
"name" : "receiver.practitioner.email",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'receiver.practitioner.email') and answer.exists())"
}
],
"target" : [
{
"context" : "practitioner",
"contextType" : "variable",
"element" : "telecom",
"variable" : "value"
},
{
"context" : "value",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "email"
}
]
},
{
"context" : "value",
"contextType" : "variable",
"element" : "value",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value"
}
]
}
]
}
]
},
{
"name" : "ReceiverOrganizationItems",
"typeMode" : "none",
"input" : [
{
"name" : "src",
"type" : "BackboneElement",
"mode" : "source"
},
{
"name" : "organization",
"type" : "Organization",
"mode" : "target"
}
],
"rule" : [
{
"name" : "item",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'receiver.organization.name') and answer.exists())"
}
],
"target" : [
{
"context" : "organization",
"contextType" : "variable",
"element" : "name",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value"
}
]
}
]
},
{
"name" : "receiver.organization.gln",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'receiver.organization.gln') and answer.exists())"
}
],
"target" : [
{
"context" : "organization",
"contextType" : "variable",
"element" : "identifier",
"variable" : "value"
},
{
"context" : "value",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "urn:oid:2.51.1.3"
}
]
},
{
"context" : "value",
"contextType" : "variable",
"element" : "value",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value"
}
]
}
]
},
{
"name" : "receiver.organization.zsr",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'receiver.organization.zsr') and answer.exists())"
}
],
"target" : [
{
"context" : "organization",
"contextType" : "variable",
"element" : "identifier",
"variable" : "value"
},
{
"context" : "value",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "urn:oid:2.16.756.5.30.1.123.100.2.1.1"
}
]
},
{
"context" : "value",
"contextType" : "variable",
"element" : "value",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value"
}
]
}
]
},
{
"name" : "item.answer",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'receiver.organization.streetAddressLine') and answer.exists())"
}
],
"target" : [
{
"context" : "organization",
"contextType" : "variable",
"element" : "address",
"variable" : "address",
"listMode" : [
"share"
],
"listRuleId" : "orgAddress"
}
],
"rule" : [
{
"name" : "receiver.organization.streetAddressLine",
"source" : [
{
"context" : "item",
"element" : "answer",
"variable" : "answer"
}
],
"target" : [
{
"context" : "address",
"contextType" : "variable",
"element" : "line",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "answer.value"
}
]
}
]
}
]
},
{
"name" : "receiver.organization.postalCode",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'receiver.organization.postalCode') and answer.exists())"
}
],
"target" : [
{
"context" : "organization",
"contextType" : "variable",
"element" : "address",
"variable" : "address",
"listMode" : [
"share"
],
"listRuleId" : "orgAddress"
},
{
"context" : "address",
"contextType" : "variable",
"element" : "postalCode",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value"
}
]
}
]
},
{
"name" : "receiver.organization.city",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'receiver.organization.city') and answer.exists())"
}
],
"target" : [
{
"context" : "organization",
"contextType" : "variable",
"element" : "address",
"variable" : "address",
"listMode" : [
"share"
],
"listRuleId" : "orgAddress"
},
{
"context" : "address",
"contextType" : "variable",
"element" : "city",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value"
}
]
}
]
},
{
"name" : "receiver.organization.country",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'receiver.organization.country') and answer.exists())"
}
],
"target" : [
{
"context" : "organization",
"contextType" : "variable",
"element" : "address",
"variable" : "address",
"listMode" : [
"share"
],
"listRuleId" : "orgAddress"
},
{
"context" : "address",
"contextType" : "variable",
"element" : "country",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value"
}
]
}
]
}
]
},
{
"name" : "ReceiverItems",
"typeMode" : "none",
"input" : [
{
"name" : "src",
"type" : "BackboneElement",
"mode" : "source"
},
{
"name" : "bundle",
"type" : "Bundle",
"mode" : "target"
},
{
"name" : "practitionerRole",
"type" : "practitionerRole",
"mode" : "target"
}
],
"rule" : [
{
"name" : "item",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "(linkId.value = 'receiver.practitioner')"
}
],
"target" : [
{
"context" : "bundle",
"contextType" : "variable",
"element" : "entry",
"variable" : "e2"
},
{
"context" : "e2",
"contextType" : "variable",
"element" : "resource",
"variable" : "practitioner",
"transform" : "create",
"parameter" : [
{
"valueString" : "Practitioner"
}
]
},
{
"context" : "practitioner",
"contextType" : "variable",
"element" : "id",
"variable" : "uuid2",
"transform" : "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" : "uuid2"
}
]
},
{
"context" : "e2",
"contextType" : "variable",
"element" : "fullUrl",
"transform" : "append",
"parameter" : [
{
"valueString" : "urn:uuid:"
},
{
"valueId" : "uuid2"
}
]
}
],
"dependent" : [
{
"name" : "ReceiverPractitionerItems",
"variable" : [
"item",
"practitioner"
],
"_variable" : [
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
},
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
}
]
}
]
},
{
"name" : "item",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "(linkId.value = 'receiver.organization')"
}
],
"target" : [
{
"context" : "bundle",
"contextType" : "variable",
"element" : "entry",
"variable" : "e3"
},
{
"context" : "e3",
"contextType" : "variable",
"element" : "resource",
"variable" : "organization",
"transform" : "create",
"parameter" : [
{
"valueString" : "Organization"
}
]
},
{
"context" : "organization",
"contextType" : "variable",
"element" : "id",
"variable" : "uuid3",
"transform" : "uuid"
},
{
"context" : "practitionerRole",
"contextType" : "variable",
"element" : "organization",
"variable" : "reference",
"transform" : "create",
"parameter" : [
{
"valueString" : "Reference"
}
]
},
{
"context" : "reference",
"contextType" : "variable",
"element" : "reference",
"transform" : "append",
"parameter" : [
{
"valueString" : "urn:uuid:"
},
{
"valueId" : "uuid3"
}
]
},
{
"context" : "e3",
"contextType" : "variable",
"element" : "fullUrl",
"transform" : "append",
"parameter" : [
{
"valueString" : "urn:uuid:"
},
{
"valueId" : "uuid3"
}
]
}
],
"dependent" : [
{
"name" : "ReceiverOrganizationItems",
"variable" : [
"item",
"organization"
],
"_variable" : [
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
},
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
}
]
}
]
}
]
},
{
"name" : "Consent",
"typeMode" : "none",
"input" : [
{
"name" : "src",
"type" : "BackboneElement",
"mode" : "source"
},
{
"name" : "bundle",
"type" : "Bundle",
"mode" : "target"
},
{
"name" : "composition",
"type" : "Composition",
"mode" : "target"
}
],
"rule" : [
{
"name" : "consent.statement",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'consent.statement') and answer.exists())"
}
],
"target" : [
{
"context" : "bundle",
"contextType" : "variable",
"element" : "entry",
"variable" : "e"
},
{
"context" : "e",
"contextType" : "variable",
"element" : "resource",
"variable" : "consent",
"transform" : "create",
"parameter" : [
{
"valueString" : "Consent"
}
]
},
{
"context" : "consent",
"contextType" : "variable",
"element" : "status",
"transform" : "copy",
"parameter" : [
{
"valueString" : "active"
}
]
},
{
"context" : "consent",
"contextType" : "variable",
"element" : "scope",
"variable" : "scope"
},
{
"context" : "scope",
"contextType" : "variable",
"element" : "coding",
"variable" : "coding"
},
{
"context" : "coding",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "treatment"
}
]
},
{
"context" : "coding",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://terminology.hl7.org/CodeSystem/consentscope"
}
]
},
{
"context" : "consent",
"contextType" : "variable",
"element" : "category",
"variable" : "category"
},
{
"context" : "category",
"contextType" : "variable",
"element" : "coding",
"variable" : "coding"
},
{
"context" : "coding",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "59284-0"
}
]
},
{
"context" : "coding",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://loinc.org"
}
]
},
{
"context" : "consent",
"contextType" : "variable",
"element" : "policyRule",
"variable" : "policyRule"
},
{
"context" : "policyRule",
"contextType" : "variable",
"element" : "coding",
"variable" : "coding"
},
{
"context" : "coding",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "385432009"
}
]
},
{
"context" : "coding",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://snomed.info/sct"
}
]
},
{
"context" : "consent",
"contextType" : "variable",
"element" : "id",
"variable" : "uuid",
"transform" : "uuid"
},
{
"context" : "e",
"contextType" : "variable",
"element" : "fullUrl",
"transform" : "append",
"parameter" : [
{
"valueString" : "urn:uuid:"
},
{
"valueId" : "uuid"
}
]
},
{
"context" : "composition",
"contextType" : "variable",
"element" : "extension",
"variable" : "ext"
},
{
"context" : "ext",
"contextType" : "variable",
"element" : "url",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://fhir.ch/ig/ch-orf/StructureDefinition/ch-orf-patientconsent"
}
]
},
{
"context" : "ext",
"contextType" : "variable",
"element" : "value",
"variable" : "reference",
"transform" : "create",
"parameter" : [
{
"valueString" : "Reference"
}
]
},
{
"context" : "consent",
"contextType" : "variable",
"element" : "extension",
"variable" : "extcode"
},
{
"context" : "extcode",
"contextType" : "variable",
"element" : "url",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://fhir.ch/ig/ch-orf/StructureDefinition/ch-orf-consentcode"
}
]
},
{
"context" : "extcode",
"contextType" : "variable",
"element" : "value",
"variable" : "cc",
"transform" : "create",
"parameter" : [
{
"valueString" : "CodeableConcept"
}
]
},
{
"context" : "cc",
"contextType" : "variable",
"element" : "coding",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value"
}
]
},
{
"context" : "reference",
"contextType" : "variable",
"element" : "reference",
"transform" : "append",
"parameter" : [
{
"valueString" : "urn:uuid:"
},
{
"valueId" : "uuid"
}
]
}
],
"rule" : [
{
"name" : "item.answer",
"source" : [
{
"context" : "item",
"element" : "answer",
"variable" : "answer"
}
],
"rule" : [
{
"name" : "consent.statement.note",
"source" : [
{
"context" : "answer",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'consent.statement.note') and answer.exists())"
}
],
"target" : [
{
"context" : "consent",
"contextType" : "variable",
"element" : "extension",
"variable" : "extnote"
},
{
"context" : "extnote",
"contextType" : "variable",
"element" : "url",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://fhir.ch/ig/ch-orf/StructureDefinition/ch-orf-consentnote"
}
]
},
{
"context" : "extnote",
"contextType" : "variable",
"element" : "value",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value"
}
]
}
]
}
]
}
],
"documentation" : "TODO after https://github.com/hl7ch/ch-orf/issues/115"
}
]
},
{
"name" : "ReceiverInit",
"typeMode" : "none",
"input" : [
{
"name" : "src",
"type" : "BackboneElement",
"mode" : "source"
},
{
"name" : "bundle",
"type" : "Bundle",
"mode" : "target"
},
{
"name" : "composition",
"type" : "Composition",
"mode" : "target"
},
{
"name" : "serviceRequest",
"type" : "ServiceRequest",
"mode" : "target"
}
],
"rule" : [
{
"name" : "receiver",
"source" : [
{
"context" : "src"
}
],
"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" : "composition",
"contextType" : "variable",
"element" : "extension",
"variable" : "ext"
},
{
"context" : "ext",
"contextType" : "variable",
"element" : "url",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://fhir.ch/ig/ch-orf/StructureDefinition/ch-orf-receiver"
}
]
},
{
"context" : "ext",
"contextType" : "variable",
"element" : "value",
"variable" : "reference",
"transform" : "create",
"parameter" : [
{
"valueString" : "Reference"
}
]
},
{
"context" : "reference",
"contextType" : "variable",
"element" : "reference",
"transform" : "append",
"parameter" : [
{
"valueString" : "urn:uuid:"
},
{
"valueId" : "uuid"
}
]
}
],
"dependent" : [
{
"name" : "ReceiverItems",
"variable" : [
"src",
"bundle",
"practitionerRole"
],
"_variable" : [
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
},
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
},
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
}
]
}
]
}
]
},
{
"name" : "InitiatorItems",
"typeMode" : "none",
"input" : [
{
"name" : "src",
"type" : "BackboneElement",
"mode" : "source"
},
{
"name" : "bundle",
"type" : "Bundle",
"mode" : "target"
},
{
"name" : "patient",
"type" : "Patient",
"mode" : "target"
},
{
"name" : "ext",
"type" : "Extension",
"mode" : "target"
}
],
"rule" : [
{
"name" : "initiator.personalrelation",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'initiator.personalrelation') and answer.exists())"
}
],
"target" : [
{
"context" : "ext",
"contextType" : "variable",
"element" : "extension",
"variable" : "extension"
},
{
"context" : "extension",
"contextType" : "variable",
"element" : "url",
"transform" : "copy",
"parameter" : [
{
"valueString" : "ch-orf-personalrelation"
}
]
},
{
"context" : "extension",
"contextType" : "variable",
"element" : "value",
"variable" : "cc",
"transform" : "create",
"parameter" : [
{
"valueString" : "CodeableConcept"
}
]
},
{
"context" : "cc",
"contextType" : "variable",
"element" : "coding",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value"
}
]
}
]
},
{
"name" : "initiator.legalrelation",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'initiator.legalrelation') and answer.exists())"
}
],
"target" : [
{
"context" : "ext",
"contextType" : "variable",
"element" : "extension",
"variable" : "extension"
},
{
"context" : "extension",
"contextType" : "variable",
"element" : "url",
"transform" : "copy",
"parameter" : [
{
"valueString" : "ch-orf-legalrelation"
}
]
},
{
"context" : "extension",
"contextType" : "variable",
"element" : "value",
"variable" : "cc",
"transform" : "create",
"parameter" : [
{
"valueString" : "CodeableConcept"
}
]
},
{
"context" : "cc",
"contextType" : "variable",
"element" : "coding",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value"
}
]
}
]
},
{
"name" : "InitiatorPractitionerRoleItems",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "(linkId = 'initiator.practitionerRole')"
}
],
"target" : [
{
"context" : "bundle",
"contextType" : "variable",
"element" : "entry",
"variable" : "e4"
},
{
"context" : "e4",
"contextType" : "variable",
"element" : "resource",
"variable" : "practitionerrole",
"transform" : "create",
"parameter" : [
{
"valueString" : "PractitionerRole"
}
]
},
{
"context" : "ext",
"contextType" : "variable",
"element" : "extension",
"variable" : "extension"
},
{
"context" : "practitionerrole",
"contextType" : "variable",
"element" : "id",
"variable" : "uuid4",
"transform" : "uuid"
},
{
"context" : "extension",
"contextType" : "variable",
"element" : "url",
"transform" : "copy",
"parameter" : [
{
"valueString" : "ch-orf-personorganization"
}
]
},
{
"context" : "extension",
"contextType" : "variable",
"element" : "value",
"variable" : "reference",
"transform" : "create",
"parameter" : [
{
"valueString" : "Reference"
}
]
},
{
"context" : "reference",
"contextType" : "variable",
"element" : "reference",
"transform" : "append",
"parameter" : [
{
"valueString" : "urn:uuid:"
},
{
"valueId" : "uuid4"
}
]
},
{
"context" : "e4",
"contextType" : "variable",
"element" : "fullUrl",
"transform" : "append",
"parameter" : [
{
"valueString" : "urn:uuid:"
},
{
"valueId" : "uuid4"
}
]
}
],
"rule" : [
{
"name" : "data",
"source" : [
{
"context" : "item"
}
],
"dependent" : [
{
"name" : "InitiatorPractitionerRoleItems",
"variable" : [
"item",
"bundle",
"practitionerrole"
],
"_variable" : [
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
},
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
},
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
}
]
}
]
}
]
},
{
"name" : "initiator.relatedPerson",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "(linkId = 'initiator.relatedPerson')"
}
],
"target" : [
{
"context" : "bundle",
"contextType" : "variable",
"element" : "entry",
"variable" : "e4"
},
{
"context" : "e4",
"contextType" : "variable",
"element" : "resource",
"variable" : "relatedPerson",
"transform" : "create",
"parameter" : [
{
"valueString" : "RelatedPerson"
}
]
},
{
"context" : "ext",
"contextType" : "variable",
"element" : "extension",
"variable" : "extension"
},
{
"context" : "extension",
"contextType" : "variable",
"element" : "url",
"transform" : "copy",
"parameter" : [
{
"valueString" : "ch-orf-personorganization"
}
]
},
{
"context" : "extension",
"contextType" : "variable",
"element" : "value",
"variable" : "reference",
"transform" : "create",
"parameter" : [
{
"valueString" : "Reference"
}
]
},
{
"context" : "relatedPerson",
"contextType" : "variable",
"element" : "id",
"variable" : "uuid4",
"transform" : "uuid"
},
{
"context" : "reference",
"contextType" : "variable",
"element" : "reference",
"transform" : "append",
"parameter" : [
{
"valueString" : "urn:uuid:"
},
{
"valueId" : "uuid4"
}
]
},
{
"context" : "relatedPerson",
"contextType" : "variable",
"element" : "patient",
"variable" : "reference"
},
{
"context" : "reference",
"contextType" : "variable",
"element" : "reference",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "'urn:uuid:' + %patient.id"
}
]
},
{
"context" : "e4",
"contextType" : "variable",
"element" : "fullUrl",
"transform" : "append",
"parameter" : [
{
"valueString" : "urn:uuid:"
},
{
"valueId" : "uuid4"
}
]
}
],
"rule" : [
{
"name" : "data",
"source" : [
{
"context" : "item"
}
],
"dependent" : [
{
"name" : "InitiatorRelatedPersonItems",
"variable" : [
"item",
"relatedPerson"
],
"_variable" : [
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
},
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
}
]
}
]
}
]
}
]
},
{
"name" : "InitiatorRelatedPersonItems",
"typeMode" : "none",
"input" : [
{
"name" : "src",
"type" : "BackboneElement",
"mode" : "source"
},
{
"name" : "relatedPerson",
"type" : "RelatedPerson",
"mode" : "target"
}
],
"rule" : [
{
"name" : "item",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'initiator.relatedPerson.familyName') and answer.exists())"
}
],
"target" : [
{
"context" : "relatedPerson",
"contextType" : "variable",
"element" : "name",
"variable" : "name",
"listMode" : [
"share"
],
"listRuleId" : "name"
},
{
"context" : "name",
"contextType" : "variable",
"element" : "family",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value"
}
]
}
]
},
{
"name" : "item",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'initiator.relatedPerson.givenName') and answer.exists())"
}
],
"target" : [
{
"context" : "relatedPerson",
"contextType" : "variable",
"element" : "name",
"variable" : "name",
"listMode" : [
"share"
],
"listRuleId" : "name"
},
{
"context" : "name",
"contextType" : "variable",
"element" : "given",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value"
}
]
}
]
},
{
"name" : "phone",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'initiator.relatedPerson.phone') and answer.exists())"
}
],
"rule" : [
{
"name" : "initiator.relatedPerson.phone",
"source" : [
{
"context" : "item",
"element" : "answer",
"variable" : "answer"
}
],
"target" : [
{
"context" : "relatedPerson",
"contextType" : "variable",
"element" : "telecom",
"variable" : "value"
},
{
"context" : "value",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "phone"
}
]
},
{
"context" : "value",
"contextType" : "variable",
"element" : "value",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "answer.value"
}
]
}
]
}
]
},
{
"name" : "initiator.relatedPerson.email",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'initiator.relatedPerson.email') and answer.exists())"
}
],
"target" : [
{
"context" : "relatedPerson",
"contextType" : "variable",
"element" : "telecom",
"variable" : "value"
},
{
"context" : "value",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "email"
}
]
},
{
"context" : "value",
"contextType" : "variable",
"element" : "value",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value"
}
]
}
]
},
{
"name" : "item.answer",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'initiator.relatedPerson.streetAddressLine') and answer.exists())"
}
],
"target" : [
{
"context" : "relatedPerson",
"contextType" : "variable",
"element" : "address",
"variable" : "address",
"listMode" : [
"share"
],
"listRuleId" : "orgAddress"
}
],
"rule" : [
{
"name" : "initiator.relatedPerson.streetAddressLine",
"source" : [
{
"context" : "item",
"element" : "answer",
"variable" : "answer"
}
],
"target" : [
{
"context" : "address",
"contextType" : "variable",
"element" : "line",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "answer.value"
}
]
}
]
}
]
},
{
"name" : "initiator.relatedPerson.postalCode",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'initiator.relatedPerson.postalCode') and answer.exists())"
}
],
"target" : [
{
"context" : "relatedPerson",
"contextType" : "variable",
"element" : "address",
"variable" : "address",
"listMode" : [
"share"
],
"listRuleId" : "orgAddress"
},
{
"context" : "address",
"contextType" : "variable",
"element" : "postalCode",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value"
}
]
}
]
},
{
"name" : "initiator.relatedPerson.city",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'initiator.relatedPerson.city') and answer.exists())"
}
],
"target" : [
{
"context" : "relatedPerson",
"contextType" : "variable",
"element" : "address",
"variable" : "address",
"listMode" : [
"share"
],
"listRuleId" : "orgAddress"
},
{
"context" : "address",
"contextType" : "variable",
"element" : "city",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value"
}
]
}
]
},
{
"name" : "initiator.relatedPerson.country",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'initiator.relatedPerson.country') and answer.exists())"
}
],
"target" : [
{
"context" : "relatedPerson",
"contextType" : "variable",
"element" : "address",
"variable" : "address",
"listMode" : [
"share"
],
"listRuleId" : "orgAddress"
},
{
"context" : "address",
"contextType" : "variable",
"element" : "country",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value"
}
]
}
]
}
]
},
{
"name" : "InitiatorPractitionerRoleItems",
"typeMode" : "none",
"input" : [
{
"name" : "src",
"type" : "BackboneElement",
"mode" : "source"
},
{
"name" : "bundle",
"type" : "Bundle",
"mode" : "target"
},
{
"name" : "practitionerRole",
"type" : "practitionerRole",
"mode" : "target"
}
],
"rule" : [
{
"name" : "item",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "(linkId.value = 'initiator.practitionerRole.practitioner')"
}
],
"target" : [
{
"context" : "bundle",
"contextType" : "variable",
"element" : "entry",
"variable" : "e2"
},
{
"context" : "e2",
"contextType" : "variable",
"element" : "resource",
"variable" : "practitioner",
"transform" : "create",
"parameter" : [
{
"valueString" : "Practitioner"
}
]
},
{
"context" : "practitioner",
"contextType" : "variable",
"element" : "id",
"variable" : "uuid2",
"transform" : "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" : "uuid2"
}
]
},
{
"context" : "e2",
"contextType" : "variable",
"element" : "fullUrl",
"transform" : "append",
"parameter" : [
{
"valueString" : "urn:uuid:"
},
{
"valueId" : "uuid2"
}
]
}
],
"dependent" : [
{
"name" : "InitiatorPractitionerItems",
"variable" : [
"item",
"practitioner"
],
"_variable" : [
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
},
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
}
]
}
]
},
{
"name" : "item",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "(linkId.value = 'initiator.practitionerRole.organization')"
}
],
"target" : [
{
"context" : "bundle",
"contextType" : "variable",
"element" : "entry",
"variable" : "e3"
},
{
"context" : "e3",
"contextType" : "variable",
"element" : "resource",
"variable" : "organization",
"transform" : "create",
"parameter" : [
{
"valueString" : "Organization"
}
]
},
{
"context" : "organization",
"contextType" : "variable",
"element" : "id",
"variable" : "uuid3",
"transform" : "uuid"
},
{
"context" : "practitionerRole",
"contextType" : "variable",
"element" : "organization",
"variable" : "reference",
"transform" : "create",
"parameter" : [
{
"valueString" : "Reference"
}
]
},
{
"context" : "reference",
"contextType" : "variable",
"element" : "reference",
"transform" : "append",
"parameter" : [
{
"valueString" : "urn:uuid:"
},
{
"valueId" : "uuid3"
}
]
},
{
"context" : "e3",
"contextType" : "variable",
"element" : "fullUrl",
"transform" : "append",
"parameter" : [
{
"valueString" : "urn:uuid:"
},
{
"valueId" : "uuid3"
}
]
}
],
"dependent" : [
{
"name" : "InitiatorOrganizationItems",
"variable" : [
"item",
"organization"
],
"_variable" : [
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
},
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
}
]
}
]
}
]
},
{
"name" : "InitiatorPractitionerItems",
"typeMode" : "none",
"input" : [
{
"name" : "src",
"type" : "BackboneElement",
"mode" : "source"
},
{
"name" : "practitioner",
"type" : "Practitioner",
"mode" : "target"
}
],
"rule" : [
{
"name" : "item",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'initiator.practitionerRole.practitioner.familyName') and answer.exists())"
}
],
"target" : [
{
"context" : "practitioner",
"contextType" : "variable",
"element" : "name",
"variable" : "name",
"listMode" : [
"share"
],
"listRuleId" : "practitionerName"
},
{
"context" : "name",
"contextType" : "variable",
"element" : "family",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value"
}
]
}
]
},
{
"name" : "item",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'initiator.practitionerRole.practitioner.givenName') and answer.exists())"
}
],
"target" : [
{
"context" : "practitioner",
"contextType" : "variable",
"element" : "name",
"variable" : "name",
"listMode" : [
"share"
],
"listRuleId" : "practitionerName"
},
{
"context" : "name",
"contextType" : "variable",
"element" : "given",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value"
}
]
}
]
},
{
"name" : "initiator.practitionerRole.practitioner.title",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'initiator.practitionerRole.practitioner.title') and answer.exists())"
}
],
"target" : [
{
"context" : "practitioner",
"contextType" : "variable",
"element" : "name",
"variable" : "name",
"listMode" : [
"share"
],
"listRuleId" : "practitionerName"
},
{
"context" : "name",
"contextType" : "variable",
"element" : "prefix",
"variable" : "prefix",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value"
}
]
},
{
"context" : "prefix",
"contextType" : "variable",
"element" : "extension",
"variable" : "ext"
},
{
"context" : "ext",
"contextType" : "variable",
"element" : "url",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier"
}
]
},
{
"context" : "ext",
"contextType" : "variable",
"element" : "value",
"variable" : "value",
"transform" : "create",
"parameter" : [
{
"valueString" : "code"
}
]
},
{
"context" : "value",
"contextType" : "variable",
"element" : "value",
"transform" : "copy",
"parameter" : [
{
"valueString" : "AC"
}
]
}
]
},
{
"name" : "initiator.practitionerRole.practitioner.phone",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'initiator.practitionerRole.practitioner.phone') and answer.exists())"
}
],
"target" : [
{
"context" : "practitioner",
"contextType" : "variable",
"element" : "telecom",
"variable" : "value"
},
{
"context" : "value",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "phone"
}
]
},
{
"context" : "value",
"contextType" : "variable",
"element" : "value",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value"
}
]
}
]
},
{
"name" : "initiator.practitionerRole.practitioner.email",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'initiator.practitionerRole.practitioner.email') and answer.exists())"
}
],
"target" : [
{
"context" : "practitioner",
"contextType" : "variable",
"element" : "telecom",
"variable" : "value"
},
{
"context" : "value",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "email"
}
]
},
{
"context" : "value",
"contextType" : "variable",
"element" : "value",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value"
}
]
}
]
},
{
"name" : "receiver.practitioner.gln",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'initiator.practitionerRole.practitioner.gln') and answer.exists())"
}
],
"target" : [
{
"context" : "practitioner",
"contextType" : "variable",
"element" : "identifier",
"variable" : "value"
},
{
"context" : "value",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "urn:oid:2.51.1.3"
}
]
},
{
"context" : "value",
"contextType" : "variable",
"element" : "value",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value"
}
]
}
]
},
{
"name" : "receiver.practitioner.zsr",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'initiator.practitionerRole.practitioner.zsr') and answer.exists())"
}
],
"target" : [
{
"context" : "practitioner",
"contextType" : "variable",
"element" : "identifier",
"variable" : "value"
},
{
"context" : "value",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "urn:oid:2.16.756.5.30.1.123.100.2.1.1"
}
]
},
{
"context" : "value",
"contextType" : "variable",
"element" : "value",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value"
}
]
}
]
}
]
},
{
"name" : "InitiatorOrganizationItems",
"typeMode" : "none",
"input" : [
{
"name" : "src",
"type" : "BackboneElement",
"mode" : "source"
},
{
"name" : "organization",
"type" : "Organization",
"mode" : "target"
}
],
"rule" : [
{
"name" : "item",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'initiator.practitionerRole.organization.name') and answer.exists())"
}
],
"target" : [
{
"context" : "organization",
"contextType" : "variable",
"element" : "name",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value"
}
]
}
]
},
{
"name" : "item.answer",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'initiator.practitionerRole.organization.streetAddressLine') and answer.exists())"
}
],
"target" : [
{
"context" : "organization",
"contextType" : "variable",
"element" : "address",
"variable" : "address",
"listMode" : [
"share"
],
"listRuleId" : "orgAddress"
}
],
"rule" : [
{
"name" : "initiator.practitionerRole.organization.streetAddressLine",
"source" : [
{
"context" : "item",
"element" : "answer",
"variable" : "answer"
}
],
"target" : [
{
"context" : "address",
"contextType" : "variable",
"element" : "line",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "answer.value"
}
]
}
]
}
]
},
{
"name" : "initiator.practitionerRole.organization.postalCode",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'initiator.practitionerRole.organization.postalCode') and answer.exists())"
}
],
"target" : [
{
"context" : "organization",
"contextType" : "variable",
"element" : "address",
"variable" : "address",
"listMode" : [
"share"
],
"listRuleId" : "orgAddress"
},
{
"context" : "address",
"contextType" : "variable",
"element" : "postalCode",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value"
}
]
}
]
},
{
"name" : "initiator.practitionerRole.organization.city",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'initiator.practitionerRole.organization.city') and answer.exists())"
}
],
"target" : [
{
"context" : "organization",
"contextType" : "variable",
"element" : "address",
"variable" : "address",
"listMode" : [
"share"
],
"listRuleId" : "orgAddress"
},
{
"context" : "address",
"contextType" : "variable",
"element" : "city",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value"
}
]
}
]
},
{
"name" : "initiator.practitionerRole.organization.country",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'initiator.practitionerRole.organization.country') and answer.exists())"
}
],
"target" : [
{
"context" : "organization",
"contextType" : "variable",
"element" : "address",
"variable" : "address",
"listMode" : [
"share"
],
"listRuleId" : "orgAddress"
},
{
"context" : "address",
"contextType" : "variable",
"element" : "country",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value"
}
]
}
]
}
]
},
{
"name" : "FamilyDoctorInit",
"typeMode" : "none",
"input" : [
{
"name" : "src",
"type" : "BackboneElement",
"mode" : "source"
},
{
"name" : "bundle",
"type" : "Bundle",
"mode" : "target"
},
{
"name" : "patient",
"type" : "Patient",
"mode" : "target"
},
{
"name" : "composition",
"type" : "Composition",
"mode" : "target"
},
{
"name" : "serviceRequest",
"type" : "ServiceRequest",
"mode" : "target"
}
],
"rule" : [
{
"name" : "FamilyDoctorInit",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "bundle",
"contextType" : "variable",
"element" : "entry",
"variable" : "e4"
},
{
"context" : "e4",
"contextType" : "variable",
"element" : "resource",
"variable" : "practitionerRole",
"transform" : "create",
"parameter" : [
{
"valueString" : "PractitionerRole"
}
]
},
{
"context" : "practitionerRole",
"contextType" : "variable",
"element" : "id",
"variable" : "uuid4",
"transform" : "uuid"
},
{
"context" : "patient",
"contextType" : "variable",
"element" : "generalPractitioner",
"variable" : "gp",
"transform" : "create",
"parameter" : [
{
"valueString" : "Reference"
}
]
},
{
"context" : "gp",
"contextType" : "variable",
"element" : "reference",
"transform" : "append",
"parameter" : [
{
"valueString" : "urn:uuid:"
},
{
"valueId" : "uuid4"
}
]
},
{
"context" : "e4",
"contextType" : "variable",
"element" : "fullUrl",
"transform" : "append",
"parameter" : [
{
"valueString" : "urn:uuid:"
},
{
"valueId" : "uuid4"
}
]
}
],
"rule" : [
{
"name" : "item",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "(linkId.value = 'familydoctor.practitioner')"
}
],
"target" : [
{
"context" : "bundle",
"contextType" : "variable",
"element" : "entry",
"variable" : "e2"
},
{
"context" : "e2",
"contextType" : "variable",
"element" : "resource",
"variable" : "practitioner",
"transform" : "create",
"parameter" : [
{
"valueString" : "Practitioner"
}
]
},
{
"context" : "practitioner",
"contextType" : "variable",
"element" : "id",
"variable" : "uuid2",
"transform" : "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" : "uuid2"
}
]
},
{
"context" : "e2",
"contextType" : "variable",
"element" : "fullUrl",
"transform" : "append",
"parameter" : [
{
"valueString" : "urn:uuid:"
},
{
"valueId" : "uuid2"
}
]
}
],
"dependent" : [
{
"name" : "FamilyDoctorPractitionerItems",
"variable" : [
"item",
"practitioner"
],
"_variable" : [
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
},
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
}
]
}
]
},
{
"name" : "item",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "(linkId.value = 'familydoctor.organization')"
}
],
"target" : [
{
"context" : "bundle",
"contextType" : "variable",
"element" : "entry",
"variable" : "e3"
},
{
"context" : "e3",
"contextType" : "variable",
"element" : "resource",
"variable" : "organization",
"transform" : "create",
"parameter" : [
{
"valueString" : "Organization"
}
]
},
{
"context" : "organization",
"contextType" : "variable",
"element" : "id",
"variable" : "uuid3",
"transform" : "uuid"
},
{
"context" : "practitionerRole",
"contextType" : "variable",
"element" : "organization",
"variable" : "reference",
"transform" : "create",
"parameter" : [
{
"valueString" : "Reference"
}
]
},
{
"context" : "reference",
"contextType" : "variable",
"element" : "reference",
"transform" : "append",
"parameter" : [
{
"valueString" : "urn:uuid:"
},
{
"valueId" : "uuid3"
}
]
},
{
"context" : "e3",
"contextType" : "variable",
"element" : "fullUrl",
"transform" : "append",
"parameter" : [
{
"valueString" : "urn:uuid:"
},
{
"valueId" : "uuid3"
}
]
}
],
"dependent" : [
{
"name" : "FamilyDoctorOrganizationItems",
"variable" : [
"item",
"organization"
],
"_variable" : [
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
},
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
}
]
}
]
}
]
}
]
},
{
"name" : "FamilyDoctorPractitionerItems",
"typeMode" : "none",
"input" : [
{
"name" : "src",
"type" : "BackboneElement",
"mode" : "source"
},
{
"name" : "practitioner",
"type" : "Practitioner",
"mode" : "target"
}
],
"rule" : [
{
"name" : "item",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'familydoctor.practitioner.familyName') and answer.exists())"
}
],
"target" : [
{
"context" : "practitioner",
"contextType" : "variable",
"element" : "name",
"variable" : "name",
"listMode" : [
"share"
],
"listRuleId" : "practitionerName"
},
{
"context" : "name",
"contextType" : "variable",
"element" : "family",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value"
}
]
}
]
},
{
"name" : "item",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'familydoctor.practitioner.givenName') and answer.exists())"
}
],
"target" : [
{
"context" : "practitioner",
"contextType" : "variable",
"element" : "name",
"variable" : "name",
"listMode" : [
"share"
],
"listRuleId" : "practitionerName"
},
{
"context" : "name",
"contextType" : "variable",
"element" : "given",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value"
}
]
}
]
},
{
"name" : "familydoctor.practitioner.gln",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'familydoctor.practitioner.gln') and answer.exists())"
}
],
"target" : [
{
"context" : "practitioner",
"contextType" : "variable",
"element" : "identifier",
"variable" : "value"
},
{
"context" : "value",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "urn:oid:2.51.1.3"
}
]
},
{
"context" : "value",
"contextType" : "variable",
"element" : "value",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value"
}
]
}
]
},
{
"name" : "familydoctor.practitioner.zsr",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'familydoctor.practitioner.zsr') and answer.exists())"
}
],
"target" : [
{
"context" : "practitioner",
"contextType" : "variable",
"element" : "identifier",
"variable" : "value"
},
{
"context" : "value",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "urn:oid:2.16.756.5.30.1.123.100.2.1.1"
}
]
},
{
"context" : "value",
"contextType" : "variable",
"element" : "value",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value"
}
]
}
]
},
{
"name" : "familydoctor.practitioner.title",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'familydoctor.practitioner.title') and answer.exists())"
}
],
"target" : [
{
"context" : "practitioner",
"contextType" : "variable",
"element" : "name",
"variable" : "name",
"listMode" : [
"share"
],
"listRuleId" : "practitionerName"
},
{
"context" : "name",
"contextType" : "variable",
"element" : "prefix",
"variable" : "prefix",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value"
}
]
},
{
"context" : "prefix",
"contextType" : "variable",
"element" : "extension",
"variable" : "ext"
},
{
"context" : "ext",
"contextType" : "variable",
"element" : "url",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier"
}
]
},
{
"context" : "ext",
"contextType" : "variable",
"element" : "value",
"variable" : "value",
"transform" : "create",
"parameter" : [
{
"valueString" : "code"
}
]
},
{
"context" : "value",
"contextType" : "variable",
"element" : "value",
"transform" : "copy",
"parameter" : [
{
"valueString" : "AC"
}
]
}
]
},
{
"name" : "familydoctor.practitioner.phone",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'familydoctor.practitioner.phone') and answer.exists())"
}
],
"target" : [
{
"context" : "practitioner",
"contextType" : "variable",
"element" : "telecom",
"variable" : "value"
},
{
"context" : "value",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "phone"
}
]
},
{
"context" : "value",
"contextType" : "variable",
"element" : "value",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value"
}
]
}
]
},
{
"name" : "familydoctor.practitioner.email",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'familydoctor.practitioner.email') and answer.exists())"
}
],
"target" : [
{
"context" : "practitioner",
"contextType" : "variable",
"element" : "telecom",
"variable" : "value"
},
{
"context" : "value",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "email"
}
]
},
{
"context" : "value",
"contextType" : "variable",
"element" : "value",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value"
}
]
}
]
}
]
},
{
"name" : "FamilyDoctorOrganizationItems",
"typeMode" : "none",
"input" : [
{
"name" : "src",
"type" : "BackboneElement",
"mode" : "source"
},
{
"name" : "organization",
"type" : "Organization",
"mode" : "target"
}
],
"rule" : [
{
"name" : "item",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'familydoctor.organization.name') and answer.exists())"
}
],
"target" : [
{
"context" : "organization",
"contextType" : "variable",
"element" : "name",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value"
}
]
}
]
},
{
"name" : "item.answer",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'familydoctor.organization.streetAddressLine') and answer.exists())"
}
],
"target" : [
{
"context" : "organization",
"contextType" : "variable",
"element" : "address",
"variable" : "address",
"listMode" : [
"share"
],
"listRuleId" : "orgAddress"
}
],
"rule" : [
{
"name" : "familydoctor.organization.streetAddressLine",
"source" : [
{
"context" : "item",
"element" : "answer",
"variable" : "answer"
}
],
"target" : [
{
"context" : "address",
"contextType" : "variable",
"element" : "line",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "answer.value"
}
]
}
]
}
]
},
{
"name" : "familydoctor.organization.postalCode",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'familydoctor.organization.postalCode') and answer.exists())"
}
],
"target" : [
{
"context" : "organization",
"contextType" : "variable",
"element" : "address",
"variable" : "address",
"listMode" : [
"share"
],
"listRuleId" : "orgAddress"
},
{
"context" : "address",
"contextType" : "variable",
"element" : "postalCode",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value"
}
]
}
]
},
{
"name" : "familydoctor.organization.city",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'familydoctor.organization.city') and answer.exists())"
}
],
"target" : [
{
"context" : "organization",
"contextType" : "variable",
"element" : "address",
"variable" : "address",
"listMode" : [
"share"
],
"listRuleId" : "orgAddress"
},
{
"context" : "address",
"contextType" : "variable",
"element" : "city",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value"
}
]
}
]
},
{
"name" : "familydoctor.organization.country",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'familydoctor.organization.country') and answer.exists())"
}
],
"target" : [
{
"context" : "organization",
"contextType" : "variable",
"element" : "address",
"variable" : "address",
"listMode" : [
"share"
],
"listRuleId" : "orgAddress"
},
{
"context" : "address",
"contextType" : "variable",
"element" : "country",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value"
}
]
}
]
},
{
"name" : "familydoctor.organization.gln",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'familydoctor.organization.gln') and answer.exists())"
}
],
"target" : [
{
"context" : "organization",
"contextType" : "variable",
"element" : "identifier",
"variable" : "value"
},
{
"context" : "value",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "urn:oid:2.51.1.3"
}
]
},
{
"context" : "value",
"contextType" : "variable",
"element" : "value",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value"
}
]
}
]
},
{
"name" : "familydoctorr.organization.zsr",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'familydoctor.organization.zsr') and answer.exists())"
}
],
"target" : [
{
"context" : "organization",
"contextType" : "variable",
"element" : "identifier",
"variable" : "value"
},
{
"context" : "value",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "urn:oid:2.16.756.5.30.1.123.100.2.1.1"
}
]
},
{
"context" : "value",
"contextType" : "variable",
"element" : "value",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value"
}
]
}
]
}
]
},
{
"name" : "AntecedentEpisodeOfCareInit",
"typeMode" : "none",
"input" : [
{
"name" : "src",
"type" : "BackboneElement",
"mode" : "source"
},
{
"name" : "bundle",
"type" : "Bundle",
"mode" : "target"
},
{
"name" : "patient",
"type" : "Patient",
"mode" : "target"
},
{
"name" : "composition",
"type" : "Composition",
"mode" : "target"
}
],
"rule" : [
{
"name" : "AntecedentEpisodeOfCareItems",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "composition",
"contextType" : "variable",
"element" : "extension",
"variable" : "ext"
},
{
"context" : "ext",
"contextType" : "variable",
"element" : "url",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://fhir.ch/ig/ch-orf/StructureDefinition/ch-orf-antecedentepisodeofcare"
}
]
},
{
"context" : "bundle",
"contextType" : "variable",
"element" : "entry",
"variable" : "e4"
},
{
"context" : "e4",
"contextType" : "variable",
"element" : "resource",
"variable" : "episodeofcare",
"transform" : "create",
"parameter" : [
{
"valueString" : "EpisodeOfCare"
}
]
},
{
"context" : "episodeofcare",
"contextType" : "variable",
"element" : "id",
"variable" : "uuid4",
"transform" : "uuid"
},
{
"context" : "e4",
"contextType" : "variable",
"element" : "fullUrl",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "'urn:uuid:' + %uuid4"
}
]
},
{
"context" : "episodeofcare",
"contextType" : "variable",
"element" : "status",
"transform" : "copy",
"parameter" : [
{
"valueString" : "finished"
}
]
},
{
"context" : "ext",
"contextType" : "variable",
"element" : "value",
"variable" : "ref",
"transform" : "create",
"parameter" : [
{
"valueString" : "Reference"
}
]
},
{
"context" : "ref",
"contextType" : "variable",
"element" : "reference",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "'urn:uuid:' + %episodeofcare.id"
}
]
}
],
"dependent" : [
{
"name" : "AntecedentEpisodeOfCareItems",
"variable" : [
"src",
"bundle",
"patient",
"episodeofcare"
],
"_variable" : [
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
},
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
},
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
},
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
}
]
}
]
}
]
},
{
"name" : "AntecedentEpisodeOfCareItems",
"typeMode" : "none",
"input" : [
{
"name" : "src",
"type" : "BackboneElement",
"mode" : "source"
},
{
"name" : "bundle",
"type" : "Bundle",
"mode" : "target"
},
{
"name" : "tgt",
"type" : "Patient",
"mode" : "target"
},
{
"name" : "episodeofcare",
"type" : "EpisodeOfCare",
"mode" : "target"
}
],
"rule" : [
{
"name" : "antecedentEpisodeOfCare.requestedPeriod.start",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'antecedentEpisodeOfCare.start') and answer.exists())"
}
],
"target" : [
{
"context" : "episodeofcare",
"contextType" : "variable",
"element" : "statusHistory",
"variable" : "statusHistory"
},
{
"context" : "statusHistory",
"contextType" : "variable",
"element" : "status",
"transform" : "copy",
"parameter" : [
{
"valueString" : "finished"
}
]
},
{
"context" : "statusHistory",
"contextType" : "variable",
"element" : "period",
"variable" : "period"
},
{
"context" : "period",
"contextType" : "variable",
"element" : "start",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value"
}
]
},
{
"context" : "period",
"contextType" : "variable",
"element" : "end",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value"
}
]
}
],
"rule" : [
{
"name" : "antecedentEpisodeOfCareEndNotSameAsStart",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "iteme",
"condition" : "((linkId.value = 'antecedentEpisodeOfCare.end') and answer.exists())"
}
],
"target" : [
{
"context" : "period",
"contextType" : "variable",
"element" : "end",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "iteme.answer.value"
}
]
}
]
}
]
},
{
"name" : "antecedentEpisodeOfCare.managingOrganization",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "(linkId.value = 'antecedentEpisodeOfCare.managingOrganization')"
}
],
"target" : [
{
"context" : "bundle",
"contextType" : "variable",
"element" : "entry",
"variable" : "e3"
},
{
"context" : "e3",
"contextType" : "variable",
"element" : "resource",
"variable" : "organization",
"transform" : "create",
"parameter" : [
{
"valueString" : "Organization"
}
]
},
{
"context" : "organization",
"contextType" : "variable",
"element" : "id",
"variable" : "uuid3",
"transform" : "uuid"
},
{
"context" : "e3",
"contextType" : "variable",
"element" : "fullUrl",
"transform" : "append",
"parameter" : [
{
"valueString" : "urn:uuid:"
},
{
"valueId" : "uuid3"
}
]
},
{
"context" : "episodeofcare",
"contextType" : "variable",
"element" : "managingOrganization",
"variable" : "reference",
"transform" : "create",
"parameter" : [
{
"valueString" : "Reference"
}
]
},
{
"context" : "reference",
"contextType" : "variable",
"element" : "reference",
"transform" : "append",
"parameter" : [
{
"valueString" : "urn:uuid:"
},
{
"valueId" : "uuid3"
}
]
}
],
"dependent" : [
{
"name" : "AntecedentEpisodeOfCareOrganizationItems",
"variable" : [
"item",
"organization"
],
"_variable" : [
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
},
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
}
]
}
]
}
]
},
{
"name" : "AntecedentEpisodeOfCareOrganizationItems",
"typeMode" : "none",
"input" : [
{
"name" : "src",
"type" : "BackboneElement",
"mode" : "source"
},
{
"name" : "organization",
"type" : "Organization",
"mode" : "target"
}
],
"rule" : [
{
"name" : "item",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'antecedentEpisodeOfCare.managingOrganization.name') and answer.exists())"
}
],
"target" : [
{
"context" : "organization",
"contextType" : "variable",
"element" : "name",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value"
}
]
}
]
},
{
"name" : "item.answer",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'antecedentEpisodeOfCare.managingOrganization.streetAddressLine') and answer.exists())"
}
],
"target" : [
{
"context" : "organization",
"contextType" : "variable",
"element" : "address",
"variable" : "address",
"listMode" : [
"share"
],
"listRuleId" : "orgAddress"
}
],
"rule" : [
{
"name" : "antecedentEpisodeOfCareorganization.streetAddressLine",
"source" : [
{
"context" : "item",
"element" : "answer",
"variable" : "answer"
}
],
"target" : [
{
"context" : "address",
"contextType" : "variable",
"element" : "line",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "answer.value"
}
]
}
]
}
]
},
{
"name" : "sender.author.organization.postalCode",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'antecedentEpisodeOfCare.managingOrganization.postalCode') and answer.exists())"
}
],
"target" : [
{
"context" : "organization",
"contextType" : "variable",
"element" : "address",
"variable" : "address",
"listMode" : [
"share"
],
"listRuleId" : "orgAddress"
},
{
"context" : "address",
"contextType" : "variable",
"element" : "postalCode",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value"
}
]
}
]
},
{
"name" : "sender.author.organization.city",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'antecedentEpisodeOfCare.managingOrganization.city') and answer.exists())"
}
],
"target" : [
{
"context" : "organization",
"contextType" : "variable",
"element" : "address",
"variable" : "address",
"listMode" : [
"share"
],
"listRuleId" : "orgAddress"
},
{
"context" : "address",
"contextType" : "variable",
"element" : "city",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value"
}
]
}
]
},
{
"name" : "sender.author.organization.country",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'antecedentEpisodeOfCare.managingOrganization.country') and answer.exists())"
}
],
"target" : [
{
"context" : "organization",
"contextType" : "variable",
"element" : "address",
"variable" : "address",
"listMode" : [
"share"
],
"listRuleId" : "orgAddress"
},
{
"context" : "address",
"contextType" : "variable",
"element" : "country",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value"
}
]
}
]
}
]
},
{
"name" : "InitiatorInit",
"typeMode" : "none",
"input" : [
{
"name" : "src",
"type" : "BackboneElement",
"mode" : "source"
},
{
"name" : "bundle",
"type" : "Bundle",
"mode" : "target"
},
{
"name" : "patient",
"type" : "Patient",
"mode" : "target"
},
{
"name" : "composition",
"type" : "Composition",
"mode" : "target"
},
{
"name" : "serviceRequest",
"type" : "ServiceRequest",
"mode" : "target"
}
],
"rule" : [
{
"name" : "receiver",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "composition",
"contextType" : "variable",
"element" : "extension",
"variable" : "ext"
},
{
"context" : "ext",
"contextType" : "variable",
"element" : "url",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://fhir.ch/ig/ch-orf/StructureDefinition/ch-orf-initiator"
}
]
}
],
"dependent" : [
{
"name" : "InitiatorItems",
"variable" : [
"src",
"bundle",
"patient",
"ext"
],
"_variable" : [
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
},
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
},
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
},
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
}
]
}
]
}
]
},
{
"name" : "PatientItems",
"typeMode" : "none",
"input" : [
{
"name" : "src",
"type" : "BackboneElement",
"mode" : "source"
},
{
"name" : "bundle",
"type" : "Bundle",
"mode" : "target"
},
{
"name" : "tgt",
"type" : "Patient",
"mode" : "target"
},
{
"name" : "composition",
"type" : "Composition",
"mode" : "target"
},
{
"name" : "serviceRequest",
"type" : "ServiceRequest",
"mode" : "target"
}
],
"rule" : [
{
"name" : "grpfamily",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "grp",
"condition" : "linkId = 'familydoctor'"
}
],
"dependent" : [
{
"name" : "FamilyDoctorInit",
"variable" : [
"grp",
"bundle",
"tgt",
"composition",
"serviceRequest"
],
"_variable" : [
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
},
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
},
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
},
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
},
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
}
]
}
]
},
{
"name" : "item",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item"
}
],
"dependent" : [
{
"name" : "PatientItems",
"variable" : [
"item",
"bundle",
"tgt",
"composition",
"serviceRequest"
],
"_variable" : [
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
},
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
},
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
},
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
},
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
}
]
}
]
},
{
"name" : "item",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'patient.familyName') and answer.exists())"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "name",
"variable" : "name",
"listMode" : [
"share"
],
"listRuleId" : "patientName"
},
{
"context" : "name",
"contextType" : "variable",
"element" : "family",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value"
}
]
}
]
},
{
"name" : "item",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'patient.maidenName') and answer.exists())"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "name",
"variable" : "name"
},
{
"context" : "name",
"contextType" : "variable",
"element" : "use",
"transform" : "copy",
"parameter" : [
{
"valueString" : "maiden"
}
]
},
{
"context" : "name",
"contextType" : "variable",
"element" : "family",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value"
}
]
}
]
},
{
"name" : "item",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'patient.givenName') and answer.exists())"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "name",
"variable" : "name",
"listMode" : [
"share"
],
"listRuleId" : "patientName"
},
{
"context" : "name",
"contextType" : "variable",
"element" : "given",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value"
}
]
}
]
},
{
"name" : "patient.localPid",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'patient.localPid') and answer.exists())"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "identifier",
"variable" : "value",
"listMode" : [
"share"
],
"listRuleId" : "localpid"
},
{
"context" : "value",
"contextType" : "variable",
"element" : "type",
"variable" : "type"
},
{
"context" : "type",
"contextType" : "variable",
"element" : "coding",
"variable" : "coding"
},
{
"context" : "coding",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://terminology.hl7.org/CodeSystem/v2-0203"
}
]
},
{
"context" : "coding",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "MR"
}
]
},
{
"context" : "value",
"contextType" : "variable",
"element" : "value",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.valueString"
}
]
}
]
},
{
"name" : "patient.localPidDomain",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'patient.localPidDomain') and answer.exists())"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "identifier",
"variable" : "value",
"listMode" : [
"share"
],
"listRuleId" : "localpid"
},
{
"context" : "value",
"contextType" : "variable",
"element" : "system",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.valueString"
}
]
}
]
},
{
"name" : "item",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'patient.birthDate') and answer.exists())"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "birthDate",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value"
}
]
}
]
},
{
"name" : "item",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'patient.gender') and answer.exists())"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "gender",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value.code"
}
]
}
]
},
{
"name" : "patient.maritalStatus",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'patient.maritalStatus') and answer.exists())"
}
],
"rule" : [
{
"name" : "answer",
"source" : [
{
"context" : "item",
"element" : "answer",
"variable" : "answer"
}
],
"rule" : [
{
"name" : "maritalStatus",
"source" : [
{
"context" : "answer",
"type" : "Coding",
"element" : "value",
"variable" : "coding"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "maritalStatus",
"variable" : "maritalStatus"
},
{
"context" : "maritalStatus",
"contextType" : "variable",
"element" : "coding",
"transform" : "copy",
"parameter" : [
{
"valueId" : "coding"
}
]
}
]
}
]
}
]
},
{
"name" : "patient.phone",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'patient.phone') and answer.exists())"
}
],
"rule" : [
{
"name" : "patient.phone",
"source" : [
{
"context" : "item",
"element" : "answer",
"variable" : "answer"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "telecom",
"variable" : "value"
},
{
"context" : "value",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "phone"
}
]
},
{
"context" : "value",
"contextType" : "variable",
"element" : "value",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "answer.value"
}
]
}
]
}
]
},
{
"name" : "patient.email",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'patient.email') and answer.exists())"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "telecom",
"variable" : "value"
},
{
"context" : "value",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "email"
}
]
},
{
"context" : "value",
"contextType" : "variable",
"element" : "value",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value"
}
]
}
]
},
{
"name" : "item.answer",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'patient.streetAddressLine') and answer.exists())"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "address",
"variable" : "address",
"listMode" : [
"share"
],
"listRuleId" : "orgAddress"
}
],
"rule" : [
{
"name" : "patient.streetAddressLine",
"source" : [
{
"context" : "item",
"element" : "answer",
"variable" : "answer"
}
],
"target" : [
{
"context" : "address",
"contextType" : "variable",
"element" : "line",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "answer.value"
}
]
}
]
}
]
},
{
"name" : "patient.postalCode",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'patient.postalCode') and answer.exists())"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "address",
"variable" : "address",
"listMode" : [
"share"
],
"listRuleId" : "orgAddress"
},
{
"context" : "address",
"contextType" : "variable",
"element" : "postalCode",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value"
}
]
}
]
},
{
"name" : "patient.city",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'patient.city') and answer.exists())"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "address",
"variable" : "address",
"listMode" : [
"share"
],
"listRuleId" : "orgAddress"
},
{
"context" : "address",
"contextType" : "variable",
"element" : "city",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value"
}
]
}
]
},
{
"name" : "patient.country",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'patient.country') and answer.exists())"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "address",
"variable" : "address",
"listMode" : [
"share"
],
"listRuleId" : "orgAddress"
},
{
"context" : "address",
"contextType" : "variable",
"element" : "country",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value"
}
]
}
]
},
{
"name" : "patient.languageOfCorrespondence",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'patient.languageOfCorrespondence') and answer.exists())"
}
],
"rule" : [
{
"name" : "answer",
"source" : [
{
"context" : "item",
"element" : "answer",
"variable" : "answer"
}
],
"rule" : [
{
"name" : "languageOfCorrespondence",
"source" : [
{
"context" : "answer",
"type" : "Coding",
"element" : "value",
"variable" : "coding"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "communication",
"variable" : "communication"
},
{
"context" : "communication",
"contextType" : "variable",
"element" : "preferred",
"transform" : "copy",
"parameter" : [
{
"valueBoolean" : true
}
]
},
{
"context" : "communication",
"contextType" : "variable",
"element" : "language",
"variable" : "language"
},
{
"context" : "language",
"contextType" : "variable",
"element" : "coding",
"transform" : "copy",
"parameter" : [
{
"valueId" : "coding"
}
]
}
]
}
]
}
]
},
{
"name" : "contact",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "(linkId.value = 'patient.contactperson')"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "contact",
"variable" : "contact"
}
],
"rule" : [
{
"name" : "item",
"source" : [
{
"context" : "item",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'patient.contactperson.familyName') and answer.exists())"
}
],
"target" : [
{
"context" : "contact",
"contextType" : "variable",
"element" : "name",
"variable" : "name",
"listMode" : [
"share"
],
"listRuleId" : "contactName"
},
{
"context" : "name",
"contextType" : "variable",
"element" : "family",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value"
}
]
}
]
},
{
"name" : "item",
"source" : [
{
"context" : "item",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'patient.contactperson.givenName') and answer.exists())"
}
],
"target" : [
{
"context" : "contact",
"contextType" : "variable",
"element" : "name",
"variable" : "name",
"listMode" : [
"share"
],
"listRuleId" : "contactName"
},
{
"context" : "name",
"contextType" : "variable",
"element" : "given",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value"
}
]
}
]
},
{
"name" : "patient.contactperson.phone",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'patient.contactperson.phone') and answer.exists())"
}
],
"rule" : [
{
"name" : "patient.phone",
"source" : [
{
"context" : "item",
"element" : "answer",
"variable" : "answer"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "telecom",
"variable" : "value"
},
{
"context" : "value",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "phone"
}
]
},
{
"context" : "value",
"contextType" : "variable",
"element" : "value",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "answer.value"
}
]
}
]
}
]
},
{
"name" : "patient.email",
"source" : [
{
"context" : "item",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'patient.contactperson.email') and answer.exists())"
}
],
"target" : [
{
"context" : "contact",
"contextType" : "variable",
"element" : "telecom",
"variable" : "value"
},
{
"context" : "value",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "email"
}
]
},
{
"context" : "value",
"contextType" : "variable",
"element" : "value",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value"
}
]
}
]
},
{
"name" : "patient.contactperson.relationship",
"source" : [
{
"context" : "item",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'patient.contactperson.relationship') and answer.exists())"
}
],
"target" : [
{
"context" : "contact",
"contextType" : "variable",
"element" : "relationship",
"variable" : "relationship"
},
{
"context" : "relationship",
"contextType" : "variable",
"element" : "text",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value"
}
]
}
]
}
]
}
]
},
{
"name" : "RequestedEncounterItems",
"typeMode" : "none",
"input" : [
{
"name" : "src",
"type" : "BackboneElement",
"mode" : "source"
},
{
"name" : "bundle",
"type" : "Bundle",
"mode" : "target"
},
{
"name" : "patient",
"type" : "Patient",
"mode" : "target"
},
{
"name" : "serviceRequest",
"type" : "ServiceRequest",
"mode" : "target"
}
],
"rule" : [
{
"name" : "RequestedEncounterItems",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "bundle",
"contextType" : "variable",
"element" : "entry",
"variable" : "e4"
},
{
"context" : "e4",
"contextType" : "variable",
"element" : "resource",
"variable" : "encounter",
"transform" : "create",
"parameter" : [
{
"valueString" : "Encounter"
}
]
},
{
"context" : "encounter",
"contextType" : "variable",
"element" : "id",
"variable" : "uuid4",
"transform" : "uuid"
},
{
"context" : "e4",
"contextType" : "variable",
"element" : "fullUrl",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "'urn:uuid:' + %uuid4"
}
]
},
{
"context" : "encounter",
"contextType" : "variable",
"element" : "status",
"transform" : "copy",
"parameter" : [
{
"valueString" : "planned"
}
]
},
{
"context" : "serviceRequest",
"contextType" : "variable",
"element" : "extension",
"variable" : "extension"
},
{
"context" : "encounter",
"contextType" : "variable",
"element" : "subject",
"variable" : "subject",
"transform" : "create",
"parameter" : [
{
"valueString" : "Reference"
}
]
},
{
"context" : "subject",
"contextType" : "variable",
"element" : "reference",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "'urn:uuid:' + %patient.id"
}
]
},
{
"context" : "extension",
"contextType" : "variable",
"element" : "url",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://fhir.ch/ig/ch-orf/StructureDefinition/ch-orf-requestedencounterdetails"
}
]
},
{
"context" : "extension",
"contextType" : "variable",
"element" : "value",
"variable" : "reference",
"transform" : "create",
"parameter" : [
{
"valueString" : "Reference"
}
]
},
{
"context" : "reference",
"contextType" : "variable",
"element" : "reference",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "'urn:uuid:' + %uuid4"
}
]
}
],
"rule" : [
{
"name" : "requestedEncounter.class",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'requestedEncounter.class') and answer.exists())"
}
],
"target" : [
{
"context" : "encounter",
"contextType" : "variable",
"element" : "class",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value"
}
]
}
]
},
{
"name" : "requestedEncounter.desiredAccommodation",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'requestedEncounter.desiredAccommodation') and answer.exists())"
}
],
"target" : [
{
"context" : "encounter",
"contextType" : "variable",
"element" : "extension",
"variable" : "extension"
},
{
"context" : "extension",
"contextType" : "variable",
"element" : "url",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://fhir.ch/ig/ch-orf/StructureDefinition/ch-orf-desiredaccommodation"
}
]
},
{
"context" : "extension",
"contextType" : "variable",
"element" : "value",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value"
}
]
}
]
}
]
}
]
},
{
"name" : "Coverage",
"typeMode" : "none",
"input" : [
{
"name" : "src",
"type" : "BackboneElement",
"mode" : "source"
},
{
"name" : "bundle",
"type" : "Bundle",
"mode" : "target"
},
{
"name" : "patient",
"type" : "Patient",
"mode" : "target"
},
{
"name" : "serviceRequest",
"type" : "ServiceRequest",
"mode" : "target"
}
],
"rule" : [
{
"name" : "coverage.beneficiary",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "where(linkId.value = 'coverage.beneficiary')"
}
],
"rule" : [
{
"name" : "coverage.beneficiary.ahvn13",
"source" : [
{
"context" : "item",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'coverage.beneficiary.ahvn13') and answer.exists())"
}
],
"target" : [
{
"context" : "patient",
"contextType" : "variable",
"element" : "identifier",
"variable" : "identifier"
},
{
"context" : "identifier",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "urn:oid:2.16.756.5.32"
}
]
},
{
"context" : "identifier",
"contextType" : "variable",
"element" : "value",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value"
}
]
}
]
}
],
"documentation" : "coverage.beneficiary"
},
{
"name" : "coveragekvg",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "where(linkId.value = 'coverage.kvg')"
}
],
"target" : [
{
"context" : "bundle",
"contextType" : "variable",
"element" : "entry",
"variable" : "e4"
},
{
"context" : "e4",
"contextType" : "variable",
"element" : "resource",
"variable" : "coverage",
"transform" : "create",
"parameter" : [
{
"valueString" : "Coverage"
}
]
},
{
"context" : "coverage",
"contextType" : "variable",
"element" : "id",
"variable" : "uuid4",
"transform" : "uuid"
},
{
"context" : "e4",
"contextType" : "variable",
"element" : "fullUrl",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "'urn:uuid:' + %uuid4"
}
]
},
{
"context" : "serviceRequest",
"contextType" : "variable",
"element" : "insurance",
"variable" : "insurance"
},
{
"context" : "insurance",
"contextType" : "variable",
"element" : "reference",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "'urn:uuid:' + %uuid4"
}
]
},
{
"context" : "coverage",
"contextType" : "variable",
"element" : "status",
"transform" : "copy",
"parameter" : [
{
"valueString" : "active"
}
]
},
{
"context" : "coverage",
"contextType" : "variable",
"element" : "beneficiary",
"variable" : "subject",
"transform" : "create",
"parameter" : [
{
"valueString" : "Reference"
}
]
},
{
"context" : "subject",
"contextType" : "variable",
"element" : "reference",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "'urn:uuid:' + %patient.id"
}
]
},
{
"context" : "coverage",
"contextType" : "variable",
"element" : "type",
"variable" : "type"
},
{
"context" : "type",
"contextType" : "variable",
"element" : "coding",
"variable" : "coding"
},
{
"context" : "coding",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://fhir.ch/ig/ch-orf/CodeSystem/ch-orf-cs-coveragetype"
}
]
},
{
"context" : "coding",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "KVG"
}
]
}
],
"rule" : [
{
"name" : "coverage.kvg.name",
"source" : [
{
"context" : "item",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'coverage.kvg.name') and answer.exists())"
}
],
"target" : [
{
"context" : "coverage",
"contextType" : "variable",
"element" : "payor",
"variable" : "payor"
},
{
"context" : "payor",
"contextType" : "variable",
"element" : "reference",
"variable" : "refcontained"
},
{
"context" : "refcontained",
"contextType" : "variable",
"element" : "value",
"transform" : "copy",
"parameter" : [
{
"valueString" : "#org"
}
]
},
{
"context" : "coverage",
"contextType" : "variable",
"element" : "contained",
"variable" : "organization",
"transform" : "create",
"parameter" : [
{
"valueString" : "Organization"
}
]
},
{
"context" : "organization",
"contextType" : "variable",
"element" : "id",
"transform" : "copy",
"parameter" : [
{
"valueString" : "org"
}
]
},
{
"context" : "organization",
"contextType" : "variable",
"element" : "name",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value"
}
]
}
]
},
{
"name" : "coverage.kvg.insuranceCardNumber",
"source" : [
{
"context" : "item",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'coverage.kvg.insuranceCardNumber') and answer.exists())"
}
],
"target" : [
{
"context" : "coverage",
"contextType" : "variable",
"element" : "identifier",
"variable" : "identifier"
},
{
"context" : "identifier",
"contextType" : "variable",
"element" : "type",
"variable" : "typeid"
},
{
"context" : "typeid",
"contextType" : "variable",
"element" : "coding",
"variable" : "coding"
},
{
"context" : "coding",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://fhir.ch/ig/ch-orf/CodeSystem/ch-orf-cs-coverageidentifiertype"
}
]
},
{
"context" : "coding",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "VeKa"
}
]
},
{
"context" : "identifier",
"contextType" : "variable",
"element" : "value",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value"
}
]
}
]
}
],
"documentation" : "coverage.kvg"
},
{
"name" : "coverageuvg",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "where(linkId.value = 'coverage.uvg')"
}
],
"target" : [
{
"context" : "bundle",
"contextType" : "variable",
"element" : "entry",
"variable" : "e4"
},
{
"context" : "e4",
"contextType" : "variable",
"element" : "resource",
"variable" : "coverage",
"transform" : "create",
"parameter" : [
{
"valueString" : "Coverage"
}
]
},
{
"context" : "coverage",
"contextType" : "variable",
"element" : "id",
"variable" : "uuid4",
"transform" : "uuid"
},
{
"context" : "e4",
"contextType" : "variable",
"element" : "fullUrl",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "'urn:uuid:' + %uuid4"
}
]
},
{
"context" : "serviceRequest",
"contextType" : "variable",
"element" : "insurance",
"variable" : "insurance"
},
{
"context" : "insurance",
"contextType" : "variable",
"element" : "reference",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "'urn:uuid:' + %uuid4"
}
]
},
{
"context" : "coverage",
"contextType" : "variable",
"element" : "status",
"transform" : "copy",
"parameter" : [
{
"valueString" : "active"
}
]
},
{
"context" : "coverage",
"contextType" : "variable",
"element" : "beneficiary",
"variable" : "subject",
"transform" : "create",
"parameter" : [
{
"valueString" : "Reference"
}
]
},
{
"context" : "subject",
"contextType" : "variable",
"element" : "reference",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "'urn:uuid:' + %patient.id"
}
]
},
{
"context" : "coverage",
"contextType" : "variable",
"element" : "type",
"variable" : "type"
},
{
"context" : "type",
"contextType" : "variable",
"element" : "coding",
"variable" : "coding"
},
{
"context" : "coding",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://fhir.ch/ig/ch-orf/CodeSystem/ch-orf-cs-coveragetype"
}
]
},
{
"context" : "coding",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "UVG"
}
]
}
],
"rule" : [
{
"name" : "coverage.uvg.name",
"source" : [
{
"context" : "item",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'coverage.uvg.name') and answer.exists())"
}
],
"target" : [
{
"context" : "coverage",
"contextType" : "variable",
"element" : "payor",
"variable" : "payor"
},
{
"context" : "payor",
"contextType" : "variable",
"element" : "reference",
"variable" : "refcontained"
},
{
"context" : "refcontained",
"contextType" : "variable",
"element" : "value",
"transform" : "copy",
"parameter" : [
{
"valueString" : "#org"
}
]
},
{
"context" : "coverage",
"contextType" : "variable",
"element" : "contained",
"variable" : "organization",
"transform" : "create",
"parameter" : [
{
"valueString" : "Organization"
}
]
},
{
"context" : "organization",
"contextType" : "variable",
"element" : "id",
"transform" : "copy",
"parameter" : [
{
"valueString" : "org"
}
]
},
{
"context" : "organization",
"contextType" : "variable",
"element" : "name",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value"
}
]
}
]
},
{
"name" : "coverage.uvg.claimNumber",
"source" : [
{
"context" : "item",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'coverage.uvg.claimNumber') and answer.exists())"
}
],
"target" : [
{
"context" : "coverage",
"contextType" : "variable",
"element" : "identifier",
"variable" : "identifier"
},
{
"context" : "identifier",
"contextType" : "variable",
"element" : "type",
"variable" : "typeid"
},
{
"context" : "typeid",
"contextType" : "variable",
"element" : "coding",
"variable" : "coding"
},
{
"context" : "coding",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://fhir.ch/ig/ch-orf/CodeSystem/ch-orf-cs-coverageidentifiertype"
}
]
},
{
"context" : "coding",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "Claim"
}
]
},
{
"context" : "identifier",
"contextType" : "variable",
"element" : "value",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value"
}
]
}
]
}
],
"documentation" : "coverage.uvg\tUnfallversicherung (nach UVG)\t0..1\tgroup\t\tDefinition: Coverage.type"
},
{
"name" : "coveragevvg",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "where(linkId.value = 'coverage.vvg')"
}
],
"target" : [
{
"context" : "bundle",
"contextType" : "variable",
"element" : "entry",
"variable" : "e4"
},
{
"context" : "e4",
"contextType" : "variable",
"element" : "resource",
"variable" : "coverage",
"transform" : "create",
"parameter" : [
{
"valueString" : "Coverage"
}
]
},
{
"context" : "coverage",
"contextType" : "variable",
"element" : "id",
"variable" : "uuid4",
"transform" : "uuid"
},
{
"context" : "e4",
"contextType" : "variable",
"element" : "fullUrl",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "'urn:uuid:' + %uuid4"
}
]
},
{
"context" : "serviceRequest",
"contextType" : "variable",
"element" : "insurance",
"variable" : "insurance"
},
{
"context" : "insurance",
"contextType" : "variable",
"element" : "reference",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "'urn:uuid:' + %uuid4"
}
]
},
{
"context" : "coverage",
"contextType" : "variable",
"element" : "status",
"transform" : "copy",
"parameter" : [
{
"valueString" : "active"
}
]
},
{
"context" : "coverage",
"contextType" : "variable",
"element" : "beneficiary",
"variable" : "subject",
"transform" : "create",
"parameter" : [
{
"valueString" : "Reference"
}
]
},
{
"context" : "subject",
"contextType" : "variable",
"element" : "reference",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "'urn:uuid:' + %patient.id"
}
]
},
{
"context" : "coverage",
"contextType" : "variable",
"element" : "type",
"variable" : "type"
},
{
"context" : "type",
"contextType" : "variable",
"element" : "coding",
"variable" : "coding"
},
{
"context" : "coding",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://fhir.ch/ig/ch-orf/CodeSystem/ch-orf-cs-coveragetype"
}
]
},
{
"context" : "coding",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "VVG"
}
]
}
],
"rule" : [
{
"name" : "coverage.vvg.name",
"source" : [
{
"context" : "item",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'coverage.vvg.name') and answer.exists())"
}
],
"target" : [
{
"context" : "coverage",
"contextType" : "variable",
"element" : "payor",
"variable" : "payor"
},
{
"context" : "payor",
"contextType" : "variable",
"element" : "reference",
"variable" : "refcontained"
},
{
"context" : "refcontained",
"contextType" : "variable",
"element" : "value",
"transform" : "copy",
"parameter" : [
{
"valueString" : "#org"
}
]
},
{
"context" : "coverage",
"contextType" : "variable",
"element" : "contained",
"variable" : "organization",
"transform" : "create",
"parameter" : [
{
"valueString" : "Organization"
}
]
},
{
"context" : "organization",
"contextType" : "variable",
"element" : "id",
"transform" : "copy",
"parameter" : [
{
"valueString" : "org"
}
]
},
{
"context" : "organization",
"contextType" : "variable",
"element" : "name",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value"
}
]
}
]
},
{
"name" : "coverage.vvg.insuranceCardNumber",
"source" : [
{
"context" : "item",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'coverage.vvg.insuranceCardNumber') and answer.exists())"
}
],
"target" : [
{
"context" : "coverage",
"contextType" : "variable",
"element" : "identifier",
"variable" : "identifier"
},
{
"context" : "identifier",
"contextType" : "variable",
"element" : "type",
"variable" : "typeid"
},
{
"context" : "typeid",
"contextType" : "variable",
"element" : "coding",
"variable" : "coding"
},
{
"context" : "coding",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://fhir.ch/ig/ch-orf/CodeSystem/ch-orf-cs-coverageidentifiertype"
}
]
},
{
"context" : "coding",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "VeKa"
}
]
},
{
"context" : "identifier",
"contextType" : "variable",
"element" : "value",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value"
}
]
}
]
}
],
"documentation" : "coverage.vvg\tZusatzversicherung (nach VVG)\t0..1\tgroup\t\tDefinition: Coverage.type"
},
{
"name" : "coverageiv",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "where(linkId.value = 'coverage.iv')"
}
],
"target" : [
{
"context" : "bundle",
"contextType" : "variable",
"element" : "entry",
"variable" : "e4"
},
{
"context" : "e4",
"contextType" : "variable",
"element" : "resource",
"variable" : "coverage",
"transform" : "create",
"parameter" : [
{
"valueString" : "Coverage"
}
]
},
{
"context" : "coverage",
"contextType" : "variable",
"element" : "id",
"variable" : "uuid4",
"transform" : "uuid"
},
{
"context" : "e4",
"contextType" : "variable",
"element" : "fullUrl",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "'urn:uuid:' + %uuid4"
}
]
},
{
"context" : "serviceRequest",
"contextType" : "variable",
"element" : "insurance",
"variable" : "insurance"
},
{
"context" : "insurance",
"contextType" : "variable",
"element" : "reference",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "'urn:uuid:' + %uuid4"
}
]
},
{
"context" : "coverage",
"contextType" : "variable",
"element" : "status",
"transform" : "copy",
"parameter" : [
{
"valueString" : "active"
}
]
},
{
"context" : "coverage",
"contextType" : "variable",
"element" : "beneficiary",
"variable" : "subject",
"transform" : "create",
"parameter" : [
{
"valueString" : "Reference"
}
]
},
{
"context" : "subject",
"contextType" : "variable",
"element" : "reference",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "'urn:uuid:' + %patient.id"
}
]
},
{
"context" : "coverage",
"contextType" : "variable",
"element" : "type",
"variable" : "type"
},
{
"context" : "type",
"contextType" : "variable",
"element" : "coding",
"variable" : "coding"
},
{
"context" : "coding",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://fhir.ch/ig/ch-orf/CodeSystem/ch-orf-cs-coveragetype"
}
]
},
{
"context" : "coding",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "IVG"
}
]
}
],
"rule" : [
{
"name" : "coverage.iv.verfuegungsnummer",
"source" : [
{
"context" : "item",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'coverage.iv.verfuegungsnummer') and answer.exists())"
}
],
"target" : [
{
"context" : "coverage",
"contextType" : "variable",
"element" : "identifier",
"variable" : "identifier"
},
{
"context" : "identifier",
"contextType" : "variable",
"element" : "type",
"variable" : "typeid"
},
{
"context" : "typeid",
"contextType" : "variable",
"element" : "coding",
"variable" : "coding"
},
{
"context" : "coding",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://fhir.ch/ig/ch-orf/CodeSystem/ch-orf-cs-coverageidentifiertype"
}
]
},
{
"context" : "coding",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "IV"
}
]
},
{
"context" : "identifier",
"contextType" : "variable",
"element" : "value",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value"
}
]
},
{
"context" : "coverage",
"contextType" : "variable",
"element" : "payor",
"variable" : "payor"
},
{
"context" : "payor",
"contextType" : "variable",
"element" : "reference",
"variable" : "refcontained"
},
{
"context" : "refcontained",
"contextType" : "variable",
"element" : "value",
"transform" : "copy",
"parameter" : [
{
"valueString" : "#org"
}
]
},
{
"context" : "coverage",
"contextType" : "variable",
"element" : "contained",
"variable" : "organization",
"transform" : "create",
"parameter" : [
{
"valueString" : "Organization"
}
]
},
{
"context" : "organization",
"contextType" : "variable",
"element" : "id",
"transform" : "copy",
"parameter" : [
{
"valueString" : "org"
}
]
},
{
"context" : "organization",
"contextType" : "variable",
"element" : "name",
"transform" : "copy",
"parameter" : [
{
"valueString" : "IV"
}
]
}
]
}
],
"documentation" : "coverage.iv\tInvalidenversicherung (IV)\t0..1\tgroup\t\tDefinition: Coverage.type"
},
{
"name" : "coveragemv",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "where(linkId.value = 'coverage.mv')"
}
],
"target" : [
{
"context" : "bundle",
"contextType" : "variable",
"element" : "entry",
"variable" : "e4"
},
{
"context" : "e4",
"contextType" : "variable",
"element" : "resource",
"variable" : "coverage",
"transform" : "create",
"parameter" : [
{
"valueString" : "Coverage"
}
]
},
{
"context" : "coverage",
"contextType" : "variable",
"element" : "id",
"variable" : "uuid4",
"transform" : "uuid"
},
{
"context" : "e4",
"contextType" : "variable",
"element" : "fullUrl",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "'urn:uuid:' + %uuid4"
}
]
},
{
"context" : "serviceRequest",
"contextType" : "variable",
"element" : "insurance",
"variable" : "insurance"
},
{
"context" : "insurance",
"contextType" : "variable",
"element" : "reference",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "'urn:uuid:' + %uuid4"
}
]
},
{
"context" : "coverage",
"contextType" : "variable",
"element" : "status",
"transform" : "copy",
"parameter" : [
{
"valueString" : "active"
}
]
},
{
"context" : "coverage",
"contextType" : "variable",
"element" : "beneficiary",
"variable" : "subject",
"transform" : "create",
"parameter" : [
{
"valueString" : "Reference"
}
]
},
{
"context" : "subject",
"contextType" : "variable",
"element" : "reference",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "'urn:uuid:' + %patient.id"
}
]
},
{
"context" : "coverage",
"contextType" : "variable",
"element" : "type",
"variable" : "type"
},
{
"context" : "type",
"contextType" : "variable",
"element" : "coding",
"variable" : "coding"
},
{
"context" : "coding",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://fhir.ch/ig/ch-orf/CodeSystem/ch-orf-cs-coveragetype"
}
]
},
{
"context" : "coding",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "MVG"
}
]
}
],
"rule" : [
{
"name" : "coverage.mv.versichertennummer",
"source" : [
{
"context" : "item",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'coverage.mv.versichertennummer') and answer.exists())"
}
],
"target" : [
{
"context" : "coverage",
"contextType" : "variable",
"element" : "identifier",
"variable" : "identifier"
},
{
"context" : "identifier",
"contextType" : "variable",
"element" : "type",
"variable" : "typeid"
},
{
"context" : "typeid",
"contextType" : "variable",
"element" : "coding",
"variable" : "coding"
},
{
"context" : "coding",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://fhir.ch/ig/ch-orf/CodeSystem/ch-orf-cs-coverageidentifiertype"
}
]
},
{
"context" : "coding",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "MV"
}
]
},
{
"context" : "identifier",
"contextType" : "variable",
"element" : "value",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value"
}
]
},
{
"context" : "coverage",
"contextType" : "variable",
"element" : "payor",
"variable" : "payor"
},
{
"context" : "payor",
"contextType" : "variable",
"element" : "reference",
"variable" : "refcontained"
},
{
"context" : "refcontained",
"contextType" : "variable",
"element" : "value",
"transform" : "copy",
"parameter" : [
{
"valueString" : "#org"
}
]
},
{
"context" : "coverage",
"contextType" : "variable",
"element" : "contained",
"variable" : "organization",
"transform" : "create",
"parameter" : [
{
"valueString" : "Organization"
}
]
},
{
"context" : "organization",
"contextType" : "variable",
"element" : "id",
"transform" : "copy",
"parameter" : [
{
"valueString" : "org"
}
]
},
{
"context" : "organization",
"contextType" : "variable",
"element" : "name",
"transform" : "copy",
"parameter" : [
{
"valueString" : "MV"
}
]
}
]
}
],
"documentation" : "coverage.mv\tMilitärversicherung (MV)\t0..1\tgroup\t\tDefinition: Coverage.type"
},
{
"name" : "self",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "where(linkId.value = 'coverage.self')"
}
],
"rule" : [
{
"name" : "payor",
"source" : [
{
"context" : "item",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'coverage.self.patient') and answer.exists() and answer.value)"
}
],
"target" : [
{
"context" : "bundle",
"contextType" : "variable",
"element" : "entry",
"variable" : "e4"
},
{
"context" : "e4",
"contextType" : "variable",
"element" : "resource",
"variable" : "coverage",
"transform" : "create",
"parameter" : [
{
"valueString" : "Coverage"
}
]
},
{
"context" : "coverage",
"contextType" : "variable",
"element" : "id",
"variable" : "uuid4",
"transform" : "uuid"
},
{
"context" : "e4",
"contextType" : "variable",
"element" : "fullUrl",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "'urn:uuid:' + %uuid4"
}
]
},
{
"context" : "serviceRequest",
"contextType" : "variable",
"element" : "insurance",
"variable" : "insurance"
},
{
"context" : "insurance",
"contextType" : "variable",
"element" : "reference",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "'urn:uuid:' + %uuid4"
}
]
},
{
"context" : "coverage",
"contextType" : "variable",
"element" : "status",
"transform" : "copy",
"parameter" : [
{
"valueString" : "active"
}
]
},
{
"context" : "coverage",
"contextType" : "variable",
"element" : "beneficiary",
"variable" : "subject",
"transform" : "create",
"parameter" : [
{
"valueString" : "Reference"
}
]
},
{
"context" : "subject",
"contextType" : "variable",
"element" : "reference",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "'urn:uuid:' + %patient.id"
}
]
},
{
"context" : "coverage",
"contextType" : "variable",
"element" : "type",
"variable" : "type"
},
{
"context" : "type",
"contextType" : "variable",
"element" : "coding",
"variable" : "coding"
},
{
"context" : "coding",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://fhir.ch/ig/ch-orf/CodeSystem/ch-orf-cs-coveragetype"
}
]
},
{
"context" : "coding",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "Self"
}
]
},
{
"context" : "coverage",
"contextType" : "variable",
"element" : "payor",
"variable" : "subject"
},
{
"context" : "subject",
"contextType" : "variable",
"element" : "reference",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "'urn:uuid:' + %patient.id"
}
]
}
]
},
{
"name" : "coverage.self.patientrelated.",
"source" : [
{
"context" : "item",
"element" : "item",
"variable" : "item2",
"condition" : "((linkId.value = 'coverage.self.patientRelatedPerson') and answer.exists() and answer.value)"
}
],
"rule" : [
{
"name" : "coverage.self.relatedPerson",
"source" : [
{
"context" : "item",
"element" : "item",
"variable" : "item",
"condition" : "(linkId.value = 'coverage.self.relatedPerson')"
}
],
"target" : [
{
"context" : "bundle",
"contextType" : "variable",
"element" : "entry",
"variable" : "e5"
},
{
"context" : "e5",
"contextType" : "variable",
"element" : "resource",
"variable" : "coverage",
"transform" : "create",
"parameter" : [
{
"valueString" : "Coverage"
}
]
},
{
"context" : "coverage",
"contextType" : "variable",
"element" : "id",
"variable" : "uuid4",
"transform" : "uuid"
},
{
"context" : "e5",
"contextType" : "variable",
"element" : "fullUrl",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "'urn:uuid:' + %uuid4"
}
]
},
{
"context" : "serviceRequest",
"contextType" : "variable",
"element" : "insurance",
"variable" : "insurance"
},
{
"context" : "insurance",
"contextType" : "variable",
"element" : "reference",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "'urn:uuid:' + %uuid4"
}
]
},
{
"context" : "coverage",
"contextType" : "variable",
"element" : "status",
"transform" : "copy",
"parameter" : [
{
"valueString" : "active"
}
]
},
{
"context" : "coverage",
"contextType" : "variable",
"element" : "beneficiary",
"variable" : "subject",
"transform" : "create",
"parameter" : [
{
"valueString" : "Reference"
}
]
},
{
"context" : "subject",
"contextType" : "variable",
"element" : "reference",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "'urn:uuid:' + %patient.id"
}
]
},
{
"context" : "coverage",
"contextType" : "variable",
"element" : "type",
"variable" : "type"
},
{
"context" : "type",
"contextType" : "variable",
"element" : "coding",
"variable" : "coding"
},
{
"context" : "coding",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://fhir.ch/ig/ch-orf/CodeSystem/ch-orf-cs-coveragetype"
}
]
},
{
"context" : "coding",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "Self"
}
]
},
{
"context" : "bundle",
"contextType" : "variable",
"element" : "entry",
"variable" : "e6"
},
{
"context" : "e6",
"contextType" : "variable",
"element" : "resource",
"variable" : "relatedPerson",
"transform" : "create",
"parameter" : [
{
"valueString" : "RelatedPerson"
}
]
},
{
"context" : "relatedPerson",
"contextType" : "variable",
"element" : "id",
"variable" : "uuid6",
"transform" : "uuid"
},
{
"context" : "e6",
"contextType" : "variable",
"element" : "fullUrl",
"transform" : "append",
"parameter" : [
{
"valueString" : "urn:uuid:"
},
{
"valueId" : "uuid6"
}
]
},
{
"context" : "coverage",
"contextType" : "variable",
"element" : "payor",
"variable" : "subject"
},
{
"context" : "subject",
"contextType" : "variable",
"element" : "reference",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "'urn:uuid:' + %relatedPerson.id"
}
]
},
{
"context" : "relatedPerson",
"contextType" : "variable",
"element" : "patient",
"variable" : "reference"
},
{
"context" : "reference",
"contextType" : "variable",
"element" : "reference",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "'urn:uuid:' + %patient.id"
}
]
}
],
"dependent" : [
{
"name" : "CoverageRelatedPersonItems",
"variable" : [
"item",
"relatedPerson"
],
"_variable" : [
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
},
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
}
]
}
]
}
]
}
],
"documentation" : "coverage.self\tSelbstzahler\t0..1\tgroup\t\tDefinition: Coverage.type"
},
{
"name" : "coveragevvg",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "where(linkId.value = 'coverage.other')"
}
],
"target" : [
{
"context" : "bundle",
"contextType" : "variable",
"element" : "entry",
"variable" : "e4"
},
{
"context" : "e4",
"contextType" : "variable",
"element" : "resource",
"variable" : "coverage",
"transform" : "create",
"parameter" : [
{
"valueString" : "Coverage"
}
]
},
{
"context" : "coverage",
"contextType" : "variable",
"element" : "id",
"variable" : "uuid4",
"transform" : "uuid"
},
{
"context" : "e4",
"contextType" : "variable",
"element" : "fullUrl",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "'urn:uuid:' + %uuid4"
}
]
},
{
"context" : "serviceRequest",
"contextType" : "variable",
"element" : "insurance",
"variable" : "insurance"
},
{
"context" : "insurance",
"contextType" : "variable",
"element" : "reference",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "'urn:uuid:' + %uuid4"
}
]
},
{
"context" : "coverage",
"contextType" : "variable",
"element" : "status",
"transform" : "copy",
"parameter" : [
{
"valueString" : "active"
}
]
},
{
"context" : "coverage",
"contextType" : "variable",
"element" : "beneficiary",
"variable" : "subject",
"transform" : "create",
"parameter" : [
{
"valueString" : "Reference"
}
]
},
{
"context" : "subject",
"contextType" : "variable",
"element" : "reference",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "'urn:uuid:' + %patient.id"
}
]
},
{
"context" : "coverage",
"contextType" : "variable",
"element" : "type",
"variable" : "type"
},
{
"context" : "type",
"contextType" : "variable",
"element" : "coding",
"variable" : "coding"
},
{
"context" : "coding",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://fhir.ch/ig/ch-orf/CodeSystem/ch-orf-cs-coveragetype"
}
]
},
{
"context" : "coding",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueString" : "Other"
}
]
}
],
"rule" : [
{
"name" : "coverage.other.name",
"source" : [
{
"context" : "item",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'coverage.other.name') and answer.exists())"
}
],
"target" : [
{
"context" : "coverage",
"contextType" : "variable",
"element" : "payor",
"variable" : "payor"
},
{
"context" : "payor",
"contextType" : "variable",
"element" : "reference",
"variable" : "refcontained"
},
{
"context" : "refcontained",
"contextType" : "variable",
"element" : "value",
"transform" : "copy",
"parameter" : [
{
"valueString" : "#org"
}
]
},
{
"context" : "coverage",
"contextType" : "variable",
"element" : "contained",
"variable" : "organization",
"transform" : "create",
"parameter" : [
{
"valueString" : "Organization"
}
]
},
{
"context" : "organization",
"contextType" : "variable",
"element" : "id",
"transform" : "copy",
"parameter" : [
{
"valueString" : "org"
}
]
},
{
"context" : "organization",
"contextType" : "variable",
"element" : "name",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value"
}
]
}
]
},
{
"name" : "coverage.other.id",
"source" : [
{
"context" : "item",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'coverage.other.id') and answer.exists())"
}
],
"target" : [
{
"context" : "coverage",
"contextType" : "variable",
"element" : "identifier",
"variable" : "identifier"
},
{
"context" : "identifier",
"contextType" : "variable",
"element" : "value",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value"
}
]
}
]
}
],
"documentation" : "coverage.other\tAnderer Kostenträger\t0..1\tgroup\t\tDefinition: Coverage.type"
}
]
},
{
"name" : "CoverageRelatedPersonItems",
"typeMode" : "none",
"input" : [
{
"name" : "src",
"type" : "BackboneElement",
"mode" : "source"
},
{
"name" : "relatedPerson",
"type" : "RelatedPerson",
"mode" : "target"
}
],
"rule" : [
{
"name" : "item",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'coverage.self.relatedPerson.familyName') and answer.exists())"
}
],
"target" : [
{
"context" : "relatedPerson",
"contextType" : "variable",
"element" : "name",
"variable" : "name",
"listMode" : [
"share"
],
"listRuleId" : "name"
},
{
"context" : "name",
"contextType" : "variable",
"element" : "family",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value"
}
]
}
]
},
{
"name" : "item",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'coverage.self.relatedPerson.givenName') and answer.exists())"
}
],
"target" : [
{
"context" : "relatedPerson",
"contextType" : "variable",
"element" : "name",
"variable" : "name",
"listMode" : [
"share"
],
"listRuleId" : "name"
},
{
"context" : "name",
"contextType" : "variable",
"element" : "given",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value"
}
]
}
]
},
{
"name" : "phone",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'coverage.self.relatedPerson.phone') and answer.exists())"
}
],
"rule" : [
{
"name" : "coverage.self.relatedPerson.phone",
"source" : [
{
"context" : "item",
"element" : "answer",
"variable" : "answer"
}
],
"target" : [
{
"context" : "relatedPerson",
"contextType" : "variable",
"element" : "telecom",
"variable" : "value"
},
{
"context" : "value",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "phone"
}
]
},
{
"context" : "value",
"contextType" : "variable",
"element" : "value",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "answer.value"
}
]
}
]
}
]
},
{
"name" : "coverage.self.relatedPerson.email",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'coverage.self.relatedPerson.email') and answer.exists())"
}
],
"target" : [
{
"context" : "relatedPerson",
"contextType" : "variable",
"element" : "telecom",
"variable" : "value"
},
{
"context" : "value",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "email"
}
]
},
{
"context" : "value",
"contextType" : "variable",
"element" : "value",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value"
}
]
}
]
},
{
"name" : "item.answer",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'coverage.self.relatedPerson.streetAddressLine') and answer.exists())"
}
],
"target" : [
{
"context" : "relatedPerson",
"contextType" : "variable",
"element" : "address",
"variable" : "address",
"listMode" : [
"share"
],
"listRuleId" : "orgAddress"
}
],
"rule" : [
{
"name" : "coverage.self.relatedPerson.streetAddressLine",
"source" : [
{
"context" : "item",
"element" : "answer",
"variable" : "answer"
}
],
"target" : [
{
"context" : "address",
"contextType" : "variable",
"element" : "line",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "answer.value"
}
]
}
]
}
]
},
{
"name" : "coverage.self.relatedPerson.postalCode",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'coverage.self.relatedPerson.postalCode') and answer.exists())"
}
],
"target" : [
{
"context" : "relatedPerson",
"contextType" : "variable",
"element" : "address",
"variable" : "address",
"listMode" : [
"share"
],
"listRuleId" : "orgAddress"
},
{
"context" : "address",
"contextType" : "variable",
"element" : "postalCode",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value"
}
]
}
]
},
{
"name" : "coverage.self.relatedPerson.city",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'coverage.self.relatedPerson.city') and answer.exists())"
}
],
"target" : [
{
"context" : "relatedPerson",
"contextType" : "variable",
"element" : "address",
"variable" : "address",
"listMode" : [
"share"
],
"listRuleId" : "orgAddress"
},
{
"context" : "address",
"contextType" : "variable",
"element" : "city",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value"
}
]
}
]
},
{
"name" : "coverage.self.relatedPerson.country",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'coverage.self.relatedPerson.country') and answer.exists())"
}
],
"target" : [
{
"context" : "relatedPerson",
"contextType" : "variable",
"element" : "address",
"variable" : "address",
"listMode" : [
"share"
],
"listRuleId" : "orgAddress"
},
{
"context" : "address",
"contextType" : "variable",
"element" : "country",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value"
}
]
}
]
}
]
},
{
"name" : "SenderAuthorPractitionerItems",
"typeMode" : "none",
"input" : [
{
"name" : "src",
"type" : "BackboneElement",
"mode" : "source"
},
{
"name" : "practitioner",
"type" : "Practitioner",
"mode" : "target"
}
],
"rule" : [
{
"name" : "item",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'sender.author.practitioner.familyName') and answer.exists())"
}
],
"target" : [
{
"context" : "practitioner",
"contextType" : "variable",
"element" : "name",
"variable" : "name",
"listMode" : [
"share"
],
"listRuleId" : "practitionerName"
},
{
"context" : "name",
"contextType" : "variable",
"element" : "family",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value"
}
]
}
]
},
{
"name" : "item",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'sender.author.practitioner.givenName') and answer.exists())"
}
],
"target" : [
{
"context" : "practitioner",
"contextType" : "variable",
"element" : "name",
"variable" : "name",
"listMode" : [
"share"
],
"listRuleId" : "practitionerName"
},
{
"context" : "name",
"contextType" : "variable",
"element" : "given",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value"
}
]
}
]
},
{
"name" : "sender.author.practitioner.title",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'sender.author.practitioner.title') and answer.exists())"
}
],
"target" : [
{
"context" : "practitioner",
"contextType" : "variable",
"element" : "name",
"variable" : "name",
"listMode" : [
"share"
],
"listRuleId" : "practitionerName"
},
{
"context" : "name",
"contextType" : "variable",
"element" : "prefix",
"variable" : "prefix",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value"
}
]
},
{
"context" : "prefix",
"contextType" : "variable",
"element" : "extension",
"variable" : "ext"
},
{
"context" : "ext",
"contextType" : "variable",
"element" : "url",
"transform" : "copy",
"parameter" : [
{
"valueString" : "http://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier"
}
]
},
{
"context" : "ext",
"contextType" : "variable",
"element" : "value",
"variable" : "value",
"transform" : "create",
"parameter" : [
{
"valueString" : "code"
}
]
},
{
"context" : "value",
"contextType" : "variable",
"element" : "value",
"transform" : "copy",
"parameter" : [
{
"valueString" : "AC"
}
]
}
]
},
{
"name" : "sender.author.practitioner.gln",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'sender.author.practitioner.gln') and answer.exists())"
}
],
"target" : [
{
"context" : "practitioner",
"contextType" : "variable",
"element" : "identifier",
"variable" : "value"
},
{
"context" : "value",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "urn:oid:2.51.1.3"
}
]
},
{
"context" : "value",
"contextType" : "variable",
"element" : "value",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value"
}
]
}
]
},
{
"name" : "recsender.author.practitioner.zsr",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'sender.author.practitioner.zsr') and answer.exists())"
}
],
"target" : [
{
"context" : "practitioner",
"contextType" : "variable",
"element" : "identifier",
"variable" : "value"
},
{
"context" : "value",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "urn:oid:2.16.756.5.30.1.123.100.2.1.1"
}
]
},
{
"context" : "value",
"contextType" : "variable",
"element" : "value",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value"
}
]
}
]
},
{
"name" : "sender.author.practitioner.phone",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'sender.author.practitioner.phone') and answer.exists())"
}
],
"target" : [
{
"context" : "practitioner",
"contextType" : "variable",
"element" : "telecom",
"variable" : "value"
},
{
"context" : "value",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "phone"
}
]
},
{
"context" : "value",
"contextType" : "variable",
"element" : "value",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value"
}
]
}
]
},
{
"name" : "sender.author.practitioner.email",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'sender.author.practitioner.email') and answer.exists())"
}
],
"target" : [
{
"context" : "practitioner",
"contextType" : "variable",
"element" : "telecom",
"variable" : "value"
},
{
"context" : "value",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "email"
}
]
},
{
"context" : "value",
"contextType" : "variable",
"element" : "value",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value"
}
]
}
]
}
]
},
{
"name" : "SenderAuthorOrganizationItems",
"typeMode" : "none",
"input" : [
{
"name" : "src",
"type" : "BackboneElement",
"mode" : "source"
},
{
"name" : "organization",
"type" : "Organization",
"mode" : "target"
}
],
"rule" : [
{
"name" : "item",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'sender.author.organization.name') and answer.exists())"
}
],
"target" : [
{
"context" : "organization",
"contextType" : "variable",
"element" : "name",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value"
}
]
}
]
},
{
"name" : "sender.author.organization.gln",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'sender.author.organization.gln') and answer.exists())"
}
],
"target" : [
{
"context" : "organization",
"contextType" : "variable",
"element" : "identifier",
"variable" : "value"
},
{
"context" : "value",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "urn:oid:2.51.1.3"
}
]
},
{
"context" : "value",
"contextType" : "variable",
"element" : "value",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value"
}
]
}
]
},
{
"name" : "sender.author.organization.zsr",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'sender.author.organization.zsr') and answer.exists())"
}
],
"target" : [
{
"context" : "organization",
"contextType" : "variable",
"element" : "identifier",
"variable" : "value"
},
{
"context" : "value",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "urn:oid:2.16.756.5.30.1.123.100.2.1.1"
}
]
},
{
"context" : "value",
"contextType" : "variable",
"element" : "value",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value"
}
]
}
]
},
{
"name" : "item.answer",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'sender.author.organization.streetAddressLine') and answer.exists())"
}
],
"target" : [
{
"context" : "organization",
"contextType" : "variable",
"element" : "address",
"variable" : "address",
"listMode" : [
"share"
],
"listRuleId" : "orgAddress"
}
],
"rule" : [
{
"name" : "sender.author.organization.streetAddressLine",
"source" : [
{
"context" : "item",
"element" : "answer",
"variable" : "answer"
}
],
"target" : [
{
"context" : "address",
"contextType" : "variable",
"element" : "line",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "answer.value"
}
]
}
]
}
]
},
{
"name" : "sender.author.organization.postalCode",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'sender.author.organization.postalCode') and answer.exists())"
}
],
"target" : [
{
"context" : "organization",
"contextType" : "variable",
"element" : "address",
"variable" : "address",
"listMode" : [
"share"
],
"listRuleId" : "orgAddress"
},
{
"context" : "address",
"contextType" : "variable",
"element" : "postalCode",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value"
}
]
}
]
},
{
"name" : "sender.author.organization.city",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'sender.author.organization.city') and answer.exists())"
}
],
"target" : [
{
"context" : "organization",
"contextType" : "variable",
"element" : "address",
"variable" : "address",
"listMode" : [
"share"
],
"listRuleId" : "orgAddress"
},
{
"context" : "address",
"contextType" : "variable",
"element" : "city",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value"
}
]
}
]
},
{
"name" : "sender.author.organization.country",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'sender.author.organization.country') and answer.exists())"
}
],
"target" : [
{
"context" : "organization",
"contextType" : "variable",
"element" : "address",
"variable" : "address",
"listMode" : [
"share"
],
"listRuleId" : "orgAddress"
},
{
"context" : "address",
"contextType" : "variable",
"element" : "country",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value"
}
]
}
]
}
]
},
{
"name" : "SenderAuthorItems",
"typeMode" : "none",
"input" : [
{
"name" : "src",
"type" : "BackboneElement",
"mode" : "source"
},
{
"name" : "practitionerRole",
"type" : "practitionerRole",
"mode" : "target"
},
{
"name" : "practitioner",
"type" : "Practitioner",
"mode" : "target"
},
{
"name" : "organization",
"type" : "Organization",
"mode" : "target"
}
],
"rule" : [
{
"name" : "item",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "(linkId.value = 'sender.author.practitioner')"
}
],
"dependent" : [
{
"name" : "SenderAuthorPractitionerItems",
"variable" : [
"item",
"practitioner"
],
"_variable" : [
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
},
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
}
]
}
]
},
{
"name" : "item",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "(linkId.value = 'sender.author.organization')"
}
],
"dependent" : [
{
"name" : "SenderAuthorOrganizationItems",
"variable" : [
"item",
"organization"
],
"_variable" : [
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
},
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
}
]
}
]
}
]
},
{
"name" : "SenderDataEntererPractitionerItems",
"typeMode" : "none",
"input" : [
{
"name" : "src",
"type" : "BackboneElement",
"mode" : "source"
},
{
"name" : "practitioner",
"type" : "Practitioner",
"mode" : "target"
}
],
"rule" : [
{
"name" : "item",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'sender.dataenterer.practitioner.familyName') and answer.exists())"
}
],
"target" : [
{
"context" : "practitioner",
"contextType" : "variable",
"element" : "name",
"variable" : "name",
"listMode" : [
"share"
],
"listRuleId" : "practitionerName"
},
{
"context" : "name",
"contextType" : "variable",
"element" : "family",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value"
}
]
}
]
},
{
"name" : "item",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'sender.dataenterer.practitioner.givenName') and answer.exists())"
}
],
"target" : [
{
"context" : "practitioner",
"contextType" : "variable",
"element" : "name",
"variable" : "name",
"listMode" : [
"share"
],
"listRuleId" : "practitionerName"
},
{
"context" : "name",
"contextType" : "variable",
"element" : "given",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value"
}
]
}
]
},
{
"name" : "sender.author.practitioner.phone",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'sender.dataenterer.practitioner.phone') and answer.exists())"
}
],
"target" : [
{
"context" : "practitioner",
"contextType" : "variable",
"element" : "telecom",
"variable" : "value"
},
{
"context" : "value",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "phone"
}
]
},
{
"context" : "value",
"contextType" : "variable",
"element" : "value",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value"
}
]
}
]
},
{
"name" : "sender.author.practitioner.email",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "((linkId.value = 'sender.dataenterer.practitioner.email') and answer.exists())"
}
],
"target" : [
{
"context" : "practitioner",
"contextType" : "variable",
"element" : "telecom",
"variable" : "value"
},
{
"context" : "value",
"contextType" : "variable",
"element" : "system",
"transform" : "copy",
"parameter" : [
{
"valueString" : "email"
}
]
},
{
"context" : "value",
"contextType" : "variable",
"element" : "value",
"transform" : "evaluate",
"parameter" : [
{
"valueString" : "item.answer.value"
}
]
}
]
}
]
},
{
"name" : "SenderDataEntererItems",
"typeMode" : "none",
"input" : [
{
"name" : "src",
"type" : "BackboneElement",
"mode" : "source"
},
{
"name" : "practitionerRole",
"type" : "practitionerRole",
"mode" : "target"
},
{
"name" : "practitioner",
"type" : "Practitioner",
"mode" : "target"
},
{
"name" : "organization",
"type" : "Organization",
"mode" : "target"
}
],
"rule" : [
{
"name" : "item",
"source" : [
{
"context" : "src",
"element" : "item",
"variable" : "item",
"condition" : "(linkId.value = 'sender.dataenterer.practitioner')"
}
],
"dependent" : [
{
"name" : "SenderDataEntererPractitionerItems",
"variable" : [
"item",
"practitioner"
],
"_variable" : [
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
},
{
"extension" : [
{
"url" : "http://hl7.org/fhir/tools/StructureDefinition/original-item-type",
"valueUrl" : "id"
}
]
}
]
}
]
}
]
},
{
"name" : "ChExtEprDataEnterer",
"typeMode" : "none",
"input" : [
{
"name" : "src",
"type" : "BackboneElement",
"mode" : "source"
},
{
"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"
}
],
"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",
"