Package | ch.fhir.ig.ch-orf |
Resource Type | StructureMap |
Id | OrfQrToBundle |
FHIR Version | R4 |
Source | http://fhir.ch/ig/ch-orf/https://build.fhir.org/ig/hl7ch/ch-orf/StructureMap-OrfQrToBundle.html |
URL | http://fhir.ch/ig/ch-orf/StructureMap/OrfQrToBundle |
Version | 3.0.2-ci-build |
Status | draft |
Date | 2025-05-22T09:52:16+00:00 |
Name | OrfQrToBundle |
Realm | ch |
Authority | hl7 |
Description | ORF QuestionnaireResponse to Bundle 2021-01-11 Oliver Egger QRF Questionnaire: http://fhir.ch/ig/ch-orf/Questionnaire-order-referral-form.html QRF QuestionnaireResponse: http://fhir.ch/ig/ch-orf/QuestionnaireResponse-order-referral-form.xml.html Bundle: http://fhir.ch/ig/ch-orf/StructureDefinition-ch-orf-document.html |
Copyright | CC0-1.0 |
No resources found
No resources found
Note: links and images are rebased to the (stated) source
Generated Narrative: StructureMap OrfQrToBundle
map "http://fhir.ch/ig/ch-orf/StructureMap/OrfQrToBundle" = "OrfQrToBundle" // ORF QuestionnaireResponse to Bundle // 2021-01-11 Oliver Egger // QRF Questionnaire: http://fhir.ch/ig/ch-orf/Questionnaire-order-referral-form.html // QRF QuestionnaireResponse: http://fhir.ch/ig/ch-orf/QuestionnaireResponse-order-referral-form.xml.html // Bundle: http://fhir.ch/ig/ch-orf/StructureDefinition-ch-orf-document.html uses "http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse" alias QuestionnaireResponseSource as source uses "http://hl7.org/fhir/StructureDefinition/Bundle" alias Bundle as target uses "http://hl7.org/fhir/StructureDefinition/Composition" alias Composition as target uses "http://hl7.org/fhir/StructureDefinition/Patient" alias Patient as target uses "http://hl7.org/fhir/StructureDefinition/RelatedPerson" alias RelatedPerson as target uses "http://hl7.org/fhir/StructureDefinition/Organization" alias Organization as target uses "http://hl7.org/fhir/StructureDefinition/Practitioner" alias Practitioner as target uses "http://hl7.org/fhir/StructureDefinition/PractitionerRole" alias PractitionerRole as target uses "http://hl7.org/fhir/StructureDefinition/ServiceRequest" alias ServiceRequest as target uses "http://hl7.org/fhir/StructureDefinition/Extension" alias Extension as target uses "http://hl7.org/fhir/StructureDefinition/EpisodeOfCare" alias EpisodeOfCare as target uses "http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse" alias QuestionnaireResponse as target group OrfQrToBundle(source qr : QuestionnaireResponseSource, target bundle : Bundle) { qr -> bundle.identifier as documentIdentifier, documentIdentifier.system = 'urn:ietf:rfc:3986', uuid() as uuidDoc, documentIdentifier.value = append('urn:uuid:', uuidDoc) "documentIdentifier"; qr -> 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, bundle.type = 'document', 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 = create('QuestionnaireResponse') as questionnaireresp then { qr then QuestionnaireResponseMap(qr, questionnaireresp) "questionnaireresp"; qr -> 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 QrToBundle(qr, patient, questionnaireresp, servicerequest, composition, bundle) "orfbundle"; } "OrfQrToBundle"; } group QuestionnaireResponseMap(source src, target tgt : QuestionnaireResponse) { src.identifier as value -> tgt.identifier = value; src.basedOn as value -> tgt.basedOn = value; src.partOf as value -> tgt.partOf = value; src.questionnaire as value -> tgt.questionnaire = value; src.status as value -> tgt.status = value; src.subject as value -> tgt.subject = value; src.encounter as value -> tgt.encounter = value; src.authored as value -> tgt.authored = value; src.author as value -> tgt.author = value; src.source as value -> tgt.source = value; src.item as value -> tgt.item = value; } group QrToGroups(source qr : QuestionnaireResponseSource, target patient : Patient, target bundle : Bundle, target composition : Composition, target serviceRequest : ServiceRequest) { qr.item as grp where linkId = 'order' then OrderItems(grp, bundle, composition, serviceRequest) "grporder"; qr.item as grp where linkId = 'receiver' then ReceiverInit(grp, bundle, composition, serviceRequest) "receiver"; qr.item as grp where linkId = 'initiator' then InitiatorInit(grp, bundle, patient, composition, serviceRequest) "grpinitiator"; qr.item as grp where linkId = 'patient' then PatientItems(grp, bundle, patient, composition, serviceRequest) "grppatient"; qr.item as grp where linkId = 'requestedEncounter' then RequestedEncounterItems(grp, bundle, patient, serviceRequest) "grprequestedencounter"; qr.item as grp where linkId = 'coverage' then Coverage(grp, bundle, patient, serviceRequest) "grprequestedencounter"; qr.item as grp where linkId = 'sender' then SenderAuthorInit(grp, bundle, composition, serviceRequest) "grpsender"; qr.item as grp where linkId = 'receiverCopy' then ReceiverCopy(grp, bundle, patient, composition, serviceRequest) "receiverCopy"; qr.item as grp where linkId = 'appointment' then Appointment(grp, bundle, composition, serviceRequest) "appointment"; qr.item as grp where linkId = 'antecedentEpisodeOfCare' then AntecedentEpisodeOfCareInit(grp, bundle, patient, composition) "AntecedentEpisodeOfCareInit"; qr.item as grp where linkId = 'consent' then Consent(grp, bundle, composition) "consent"; qr.item as grp where linkId = 'note' then Note(grp, serviceRequest) "note"; } group OrderItems(source src, target bundle : Bundle, target composition, target serviceRequest : ServiceRequest) { 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.value) "orderPrecedentDocumentIdentifier"; 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.value) "orderPlacerOrderIdentifier"; src.item as item where ((linkId.value = 'order.placerOrderIdentifierDomain') and answer.exists()) -> serviceRequest.identifier as value share placer, value.system = (%item.answer.value) "orderPlacerOrderIdentifierDomain"; 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.value) "orderFillerOrderIdentifier"; src.item as item where ((linkId.value = 'order.fillerOrderIdentifierDomain') and answer.exists()) -> serviceRequest.identifier as value share filler, value.system = (%item.answer.value) "orderFillerOrderIdentifierDomain"; src.item as item where ((linkId.value = 'order.authoredOn') and answer.exists()) -> serviceRequest.authoredOn = (%item.answer.value); src.item as item where ((linkId.value = 'order.priority') and answer.exists()) -> serviceRequest.priority = (%item.answer.value.code); src.item as item where (linkId.value = 'order.notificationContactDocument') then { 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 { item then UrgentNotificationContactForRequestItems(item, practitionerRoleDataEnterer, practitionerDataEnterer) "data"; item then ExtOrfUrgentNotificationContactForRequest(item, practitionerRoleDataEnterer, extension) "extension"; } "orderNotificationContactDocumentItems"; } "ordeNnotificationContactDocument"; src.item as item where (linkId.value = 'order.notificationContactDocumentResponse') then { 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 { item then UrgentNotificationContactForResponseItems(item, practitionerRoleDataEnterer, practitionerDataEnterer) "data"; item then ExtOrfUrgentNotificationContactForResponse(item, practitionerRoleDataEnterer, extension) "extension"; } "orderNotificationContactDocumentResponseItems"; } "orderNotificationContactDocumentResponse"; } group UrgentNotificationContactForRequestPractitionerItems(source src, target practitioner : Practitioner) { 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); 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); 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' "senderAuthorPractitionerTitle"; 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) "senderAuthorPractitionerPhone"; 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) "senderAuthorPractitionerEmail"; } group UrgentNotificationContactForRequestItems(source src, target practitionerRole : PractitionerRole, target practitioner : Practitioner) { src.item as item where (linkId.value = 'order.notificationContactDocument.practitioner') then UrgentNotificationContactForRequestPractitionerItems(item, practitioner); } group ExtOrfUrgentNotificationContactForRequest(source src, target practitionerRole : PractitionerRole, target ext : Extension) { src -> ext.url = 'http://fhir.ch/ig/ch-orf/StructureDefinition/ch-orf-urgentnoficationcontactforthisdocument' "url"; src -> ext.value = create('Reference') as reference, reference.reference = ('urn:uuid:' + %practitionerRole.id) "practitionerRole"; } group UrgentNotificationContactForResponsePractitionerItems(source src, target practitioner : Practitioner) { 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); 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); 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' "senderAuthorPractitionerTitle"; 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) "senderAuthorPractitionerPhone"; 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) "senderAuthorPractitionerEmail"; } group UrgentNotificationContactForResponseItems(source src, target practitionerRole : PractitionerRole, target practitioner : Practitioner) { src.item as item where (linkId.value = 'order.notificationContactDocumentResponse.practitioner') then UrgentNotificationContactForResponsePractitionerItems(item, practitioner); } group ExtOrfUrgentNotificationContactForResponse(source src, target practitionerRole : PractitionerRole, target ext : Extension) { src -> ext.url = 'http://fhir.ch/ig/ch-orf/StructureDefinition/ch-orf-urgentnoficationcontactfortheresponsetothisdocument' "url"; src -> ext.value = create('Reference') as reference, reference.reference = ('urn:uuid:' + %practitionerRole.id) "practitionerRole"; } group ReceiverPractitionerItems(source src, target practitioner : Practitioner) { src.item as item where ((linkId.value = 'receiver.practitioner.familyName') and answer.exists()) -> practitioner.name as name share practitionerName, name.family = (%item.answer.value); src.item as item where ((linkId.value = 'receiver.practitioner.givenName') and answer.exists()) -> practitioner.name as name share practitionerName, name.given = (%item.answer.value); 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' "receiverPractitionerTitle"; 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) "receiverPractitionerGln"; 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) "receiverPractitionerZsr"; 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) "receiverPractitionerPhone"; 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) "receiverPractitionerEmail"; } group ReceiverOrganizationItems(source src, target organization : Organization) { src.item as item where ((linkId.value = 'receiver.organization.name') and answer.exists()) -> organization.name = (%item.answer.value); 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) "receiverOrganizationGln"; 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) "receiverOrganizationZsr"; src.item as item where ((linkId.value = 'receiver.organization.streetAddressLine') and answer.exists()) -> organization.address as address share orgAddress then { item.answer as answer -> address.line = (%answer.value) "receiverOrganizationStreetAddressLine"; } "itemAnswer"; src.item as item where ((linkId.value = 'receiver.organization.postalCode') and answer.exists()) -> organization.address as address share orgAddress, address.postalCode = (%item.answer.value) "receiverOrganizationPostalCode"; src.item as item where ((linkId.value = 'receiver.organization.city') and answer.exists()) -> organization.address as address share orgAddress, address.city = (%item.answer.value) "receiverOrganizationCity"; src.item as item where ((linkId.value = 'receiver.organization.country') and answer.exists()) -> organization.address as address share orgAddress, address.country = (%item.answer.value) "receiverOrganizationCountry"; } group ReceiverItems(source src, target bundle : Bundle, target practitionerRole : PractitionerRole) { 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); 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); } group Consent(source src, target bundle : Bundle, target composition : Composition) { 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 { item.answer as answer then { 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) "consentStatementNote"; } "itemAnswer"; } "consentStatement"; } group ReceiverInit(source src, target bundle : Bundle, target composition : Composition, target serviceRequest : ServiceRequest) { 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"; } group InitiatorItems(source src, target bundle : Bundle, target patient : Patient, target ext : Extension) { src.item as item where ((linkId.value = 'initiator.personalrelation') and answer.exists()) -> ext.extension as extension, extension.url = 'ch-orf-personalrelation', extension.value = (%item.answer.value) "Initiatorpersonalrelation"; src.item as item where ((linkId.value = 'initiator.legalrelation') and answer.exists()) -> ext.extension as extension, extension.url = 'ch-orf-legalrelation', extension.value = (%item.answer.value) "Initiatorlegalrelation"; 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 { item then InitiatorPractitionerRoleItems(item, bundle, practitionerrole) "data"; } "InitiatorPractitionerRoleItems"; 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 { item then InitiatorRelatedPersonItems(item, relatedPerson) "data"; } "InitiatorelatedPerson"; } group InitiatorRelatedPersonItems(source src, target relatedPerson : RelatedPerson) { src.item as item where ((linkId.value = 'initiator.relatedPerson.familyName') and answer.exists()) -> relatedPerson.name as name share name, name.family = (%item.answer.value); src.item as item where ((linkId.value = 'initiator.relatedPerson.givenName') and answer.exists()) -> relatedPerson.name as name share name, name.given = (%item.answer.value); src.item as item where ((linkId.value = 'initiator.relatedPerson.phone') and answer.exists()) then { item.answer as answer -> relatedPerson.telecom as value, value.system = 'phone', value.value = (%answer.value) "InitiatorelatedPersonPhone"; } "Phone"; 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) "InitiatorelatedPersonEmail"; src.item as item where ((linkId.value = 'initiator.relatedPerson.streetAddressLine') and answer.exists()) -> relatedPerson.address as address share orgAddress then { item.answer as answer -> address.line = (%answer.value) "InitiatorelatedPersonStreetAddressLine"; } "itemAnswer"; src.item as item where ((linkId.value = 'initiator.relatedPerson.postalCode') and answer.exists()) -> relatedPerson.address as address share orgAddress, address.postalCode = (%item.answer.value) "InitiatorelatedPersonPostalCode"; src.item as item where ((linkId.value = 'initiator.relatedPerson.city') and answer.exists()) -> relatedPerson.address as address share orgAddress, address.city = (%item.answer.value) "InitiatorelatedPersonCity"; src.item as item where ((linkId.value = 'initiator.relatedPerson.country') and answer.exists()) -> relatedPerson.address as address share orgAddress, address.country = (%item.answer.value) "InitiatorelatedPersonCountry"; } group InitiatorPractitionerRoleItems(source src, target bundle : Bundle, target practitionerRole : PractitionerRole) { 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); 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); } group InitiatorPractitionerItems(source src, target practitioner : Practitioner) { 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); 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); 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' "InitiatorractitionerRolePractitionerTitle"; 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) "InitiatorractitionerRolePractitionerPhone"; 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) "InitiatorractitionerRolePractitionerEmail"; 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) "receiverPractitionerGln"; 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) "receiverPractitionerZsr"; } group InitiatorOrganizationItems(source src, target organization : Organization) { src.item as item where ((linkId.value = 'initiator.practitionerRole.organization.name') and answer.exists()) -> organization.name = (%item.answer.value); src.item as item where ((linkId.value = 'initiator.practitionerRole.organization.streetAddressLine') and answer.exists()) -> organization.address as address share orgAddress then { item.answer as answer -> address.line = (%answer.value) "InitiatorractitionerRoleOrganizationStreetAddressLine"; } "itemAnswer"; 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) "InitiatorractitionerRoleOrganizationPostalCode"; 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) "InitiatorractitionerRoleOrganizationCity"; 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) "InitiatorractitionerRoleOrganizationCountry"; } group FamilyDoctorInit(source src, target bundle : Bundle, target patient : Patient, target composition : Composition, target serviceRequest : ServiceRequest) { 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 { 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); 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); } "FamilyDoctorInit"; } group FamilyDoctorPractitionerItems(source src, target practitioner : Practitioner) { src.item as item where ((linkId.value = 'familydoctor.practitioner.familyName') and answer.exists()) -> practitioner.name as name share practitionerName, name.family = (%item.answer.value); src.item as item where ((linkId.value = 'familydoctor.practitioner.givenName') and answer.exists()) -> practitioner.name as name share practitionerName, name.given = (%item.answer.value); 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) "familydoctorPractitionerGln"; 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) "familydoctorPractitionerZsr"; 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' "familydoctorPractitionerTitle"; 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) "familydoctorPractitionerPhone"; 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) "familydoctorPractitionerEmail"; } group FamilyDoctorOrganizationItems(source src, target organization : Organization) { src.item as item where ((linkId.value = 'familydoctor.organization.name') and answer.exists()) -> organization.name = (%item.answer.value); src.item as item where ((linkId.value = 'familydoctor.organization.streetAddressLine') and answer.exists()) -> organization.address as address share orgAddress then { item.answer as answer -> address.line = (%answer.value) "familydoctorOrganizationStreetAddressLine"; } "itemAnswer"; src.item as item where ((linkId.value = 'familydoctor.organization.postalCode') and answer.exists()) -> organization.address as address share orgAddress, address.postalCode = (%item.answer.value) "familydoctorOrganizationPostalCode"; src.item as item where ((linkId.value = 'familydoctor.organization.city') and answer.exists()) -> organization.address as address share orgAddress, address.city = (%item.answer.value) "familydoctorOrganizationCity"; src.item as item where ((linkId.value = 'familydoctor.organization.country') and answer.exists()) -> organization.address as address share orgAddress, address.country = (%item.answer.value) "familydoctorOrganizationCountry"; 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) "familydoctorOrganizationGln"; 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) "familydoctorOrganizationZsr"; } group AntecedentEpisodeOfCareInit(source src, target bundle : Bundle, target patient : Patient, target composition : Composition) { 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"; } group AntecedentEpisodeOfCareItems(source src, target bundle : Bundle, target tgt : Patient, target episodeofcare : EpisodeOfCare) { 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 { src.item as iteme where ((linkId.value = 'antecedentEpisodeOfCare.end') and answer.exists()) -> period.end = (%iteme.answer.value) "antecedentEpisodeOfCareEndNotSameAsStart"; } "antecedentEpisodeOfCareRequestedPeriodStart"; 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.patient = create('Reference') as reference, reference.reference = ('urn:uuid:' + %tgt.id), episodeofcare.managingOrganization = create('Reference') as reference, reference.reference = append('urn:uuid:', uuid3) then AntecedentEpisodeOfCareOrganizationItems(item, organization) "antecedentEpisodeOfCareManagingOrganization"; } group AntecedentEpisodeOfCareOrganizationItems(source src, target organization : Organization) { src.item as item where ((linkId.value = 'antecedentEpisodeOfCare.managingOrganization.name') and answer.exists()) -> organization.name = (%item.answer.value); src.item as item where ((linkId.value = 'antecedentEpisodeOfCare.managingOrganization.streetAddressLine') and answer.exists()) -> organization.address as address share orgAddress then { item.answer as answer -> address.line = (%answer.value) "antecedentEpisodeOfCareorganizationStreetAddressLine"; } "itemAnswer"; src.item as item where ((linkId.value = 'antecedentEpisodeOfCare.managingOrganization.postalCode') and answer.exists()) -> organization.address as address share orgAddress, address.postalCode = (%item.answer.value) "senderAuthorOrganizationPostalCode"; src.item as item where ((linkId.value = 'antecedentEpisodeOfCare.managingOrganization.city') and answer.exists()) -> organization.address as address share orgAddress, address.city = (%item.answer.value) "senderAuthorOrganizationCity"; src.item as item where ((linkId.value = 'antecedentEpisodeOfCare.managingOrganization.country') and answer.exists()) -> organization.address as address share orgAddress, address.country = (%item.answer.value) "senderAuthorOrganizationCountry"; } group InitiatorInit(source src, target bundle : Bundle, target patient : Patient, target composition : Composition, target serviceRequest : ServiceRequest) { src -> composition.extension as ext, ext.url = 'http://fhir.ch/ig/ch-orf/StructureDefinition/ch-orf-initiator' then InitiatorItems(src, bundle, patient, ext) "receiver"; } group PatientItems(source src, target bundle : Bundle, target tgt : Patient, target composition : Composition, target serviceRequest : ServiceRequest) { src.item as grp where linkId = 'familydoctor' then FamilyDoctorInit(grp, bundle, tgt, composition, serviceRequest) "grpfamily"; src.item as item then PatientItems(item, bundle, tgt, composition, serviceRequest); src.item as item where ((linkId.value = 'patient.familyName') and answer.exists()) -> tgt.name as name share patientName, name.family = (%item.answer.value); src.item as item where ((linkId.value = 'patient.maidenName') and answer.exists()) -> tgt.name as name, name.use = 'maiden', name.family = (%item.answer.value); src.item as item where ((linkId.value = 'patient.givenName') and answer.exists()) -> tgt.name as name share patientName, name.given = (%item.answer.value); 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.value) "PatientLocalPid"; src.item as item where ((linkId.value = 'patient.localPidDomain') and answer.exists()) -> tgt.identifier as value share localpid, value.system = (%item.answer.value) "PatientLocalPidDomain"; src.item as item where ((linkId.value = 'patient.birthDate') and answer.exists()) -> tgt.birthDate = (%item.answer.value); src.item as item where ((linkId.value = 'patient.gender') and answer.exists()) -> tgt.gender = (%item.answer.value.code); src.item as item where ((linkId.value = 'patient.maritalStatus') and answer.exists()) then { item.answer as answer then { answer.value : Coding as coding -> tgt.maritalStatus as maritalStatus, maritalStatus.coding = coding "maritalStatus"; }; } "patientMaritalStatus"; src.item as item where ((linkId.value = 'patient.phone') and answer.exists()) then { item.answer as answer -> tgt.telecom as value, value.system = 'phone', value.value = (%answer.value) "PatientPhone"; } "PatientPhone"; src.item as item where ((linkId.value = 'patient.email') and answer.exists()) -> tgt.telecom as value, value.system = 'email', value.value = (%item.answer.value) "PatientEmail"; src.item as item where ((linkId.value = 'patient.streetAddressLine') and answer.exists()) -> tgt.address as address share orgAddress then { item.answer as answer -> address.line = (%answer.value) "PatientStreetAddressLine"; } "itemAnswer"; src.item as item where ((linkId.value = 'patient.postalCode') and answer.exists()) -> tgt.address as address share orgAddress, address.postalCode = (%item.answer.value) "PatientPostalCode"; src.item as item where ((linkId.value = 'patient.city') and answer.exists()) -> tgt.address as address share orgAddress, address.city = (%item.answer.value) "PatientCity"; src.item as item where ((linkId.value = 'patient.country') and answer.exists()) -> tgt.address as address share orgAddress, address.country = (%item.answer.value) "PatientCountry"; src.item as item where ((linkId.value = 'patient.languageOfCorrespondence') and answer.exists()) then { item.answer as answer then { answer.value : Coding as coding -> tgt.communication as communication, communication.preferred = true, communication.language as language, language.coding = coding "languageOfCorrespondence"; }; } "PatientLanguageOfCorrespondence"; src.item as item where (linkId.value = 'patient.contactperson') -> tgt.contact as contact then { item.item as item where ((linkId.value = 'patient.contactperson.familyName') and answer.exists()) -> contact.name as name share contactName, name.family = (%item.answer.value); item.item as item where ((linkId.value = 'patient.contactperson.givenName') and answer.exists()) -> contact.name as name share contactName, name.given = (%item.answer.value); src.item as item where ((linkId.value = 'patient.contactperson.phone') and answer.exists()) then { item.answer as answer -> tgt.telecom as value, value.system = 'phone', value.value = (%answer.value) "PatientPhone"; } "PatientContactpersonPhone"; 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) "PatientEmail"; item.item as item where ((linkId.value = 'patient.contactperson.relationship') and answer.exists()) -> contact.relationship as relationship, relationship.text = (%item.answer.value) "PatientContactpersonRelationship"; } "contact"; } group RequestedEncounterItems(source src, target bundle : Bundle, target patient : Patient, target serviceRequest : ServiceRequest) { 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 { src.item as item where ((linkId.value = 'requestedEncounter.class') and answer.exists()) -> encounter.class = (%item.answer.value) "requestedEncounterClass"; 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) "requestedEncounterDesiredAccommodation"; } "RequestedEncounterItems"; } group Coverage(source src, target bundle : Bundle, target patient : Patient, target serviceRequest : ServiceRequest) { // coverage.beneficiary // coverage.beneficiary.ahvn13 src.item as item where where(linkId.value = 'coverage.beneficiary') then { 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) "coverageBeneficiaryAhvn13"; } "coverageBeneficiary"; // coverage.kvg // coverage.kvg.name // coverage.kvg.insuranceCardNumber 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-core/CodeSystem/bfs-medstats-25-mainguarantor', coding.code = '1' then { 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) "coverageKvgName"; 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) "coverageKvgInsuranceCardNumber"; } "coveragekvg"; // coverage.uvg Unfallversicherung nach UVG (fr: LAA, it: LAINF) 0..1 group Definition: Coverage.type // coverage.uvg.name Name der Versicherung 0..1 string Definition: Coverage.payor // coverage.uvg.claimNumber Schadennummer 0..1 string Definition: Coverage.identifier 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-core/CodeSystem/bfs-medstats-25-mainguarantor', coding.code = '4' then { 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) "coverageUvgName"; 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) "coverageUvgClaimNumber"; } "coverageuvg"; // coverage.vvg Zusatzversicherung nach VVG (fr/it: LCA) 0..1 group Definition: Coverage.type // coverage.vvg.name Name der Versicherung 0..1 string Definition: Coverage.payor // coverage.vvg.insuranceCardNumber Kennnummer der Versichertenkarte 0..1 string Definition: Coverage.identifier 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-core/CodeSystem/mainguarantor', coding.code = 'ZV' then { 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) "coverageVvgName"; 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) "coverageVvgInsuranceCardNumber"; } "coveragevvg"; // coverage.iv Invalidenversicherung (IV) 0..1 group Definition: Coverage.type // coverage.iv.verfuegungsnummer 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-core/CodeSystem/bfs-medstats-25-mainguarantor', coding.code = '2' then { 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' "coverageivverfuegungsnummer"; } "coverageiv"; // coverage.mv Militärversicherung (MV) 0..1 group Definition: Coverage.type // coverage.mv.versichertennummer 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-core/CodeSystem/bfs-medstats-25-mainguarantor', coding.code = '3' then { 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' "coveragemvversichertennummer"; } "coveragemv"; // coverage.self Selbstzahler 0..1 group Definition: Coverage.type // coverage.self.familyName Name 0..1 string Definition: Coverage.payor // coverage.self.givenName Vorname 0..1 string Definition: Coverage.payor src.item as item where where(linkId.value = 'coverage.self') then { 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-core/CodeSystem/bfs-medstats-25-mainguarantor', coding.code = '5', coverage.payor as subject, subject.reference = ('urn:uuid:' + %patient.id) "payor"; item.item as item2 where ((linkId.value = 'coverage.self.patientRelatedPerson') and answer.exists() and answer.value) then { 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-core/CodeSystem/bfs-medstats-25-mainguarantor', coding.code = '5', 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) "coverageselfrelatedPerson"; } "coverageselfpatientrelated"; } "self"; // coverage.other Anderer Kostenträger 0..1 group Definition: Coverage.type // coverage.other.name Name des Kostenträgers 0..1 string Definition: Coverage.payor // coverage.other.id Beliebige ID 0..1 string Definition: Coverage.identifier // coverage.other.id.note TODO 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-core/CodeSystem/bfs-medstats-25-mainguarantor', coding.code = '8' then { 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) "coverageOtherName"; item.item as item where ((linkId.value = 'coverage.other.id') and answer.exists()) -> coverage.identifier as identifier, identifier.value = (%item.answer.value) "coverageOtherId"; } "coveragevvg"; } group CoverageRelatedPersonItems(source src, target relatedPerson : RelatedPerson) { 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); 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); src.item as item where ((linkId.value = 'coverage.self.relatedPerson.phone') and answer.exists()) then { item.answer as answer -> relatedPerson.telecom as value, value.system = 'phone', value.value = (%answer.value) "coverageSelfRelatedPersonPhone"; } "Phone"; 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) "coverageSelfRelatedPersonEmail"; src.item as item where ((linkId.value = 'coverage.self.relatedPerson.streetAddressLine') and answer.exists()) -> relatedPerson.address as address share orgAddress then { item.answer as answer -> address.line = (%answer.value) "coverageSelfRelatedPersonStreetAddressLine"; } "itemAnswer"; 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) "coverageSelfRelatedPersonPostalCode"; 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) "coverageSelfRelatedPersonCity"; 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) "coverageSelfRelatedPersonCountry"; } group SenderAuthorPractitionerItems(source src, target practitioner : Practitioner) { 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); 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); 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' "senderAuthorPractitionerTitle"; 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) "senderAuthorPractitionerGln"; 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) "senderAuthorPractitionerZsr"; 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) "senderAuthorPractitionerPhone"; 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) "senderAuthorPractitionerEmail"; } group SenderAuthorOrganizationItems(source src, target organization : Organization) { src.item as item where ((linkId.value = 'sender.author.organization.name') and answer.exists()) -> organization.name = (%item.answer.value); 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) "senderAuthorOrganizationGln"; 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) "senderAuthorOrganizationZsr"; src.item as item where ((linkId.value = 'sender.author.organization.streetAddressLine') and answer.exists()) -> organization.address as address share orgAddress then { item.answer as answer -> address.line = (%answer.value) "senderAuthorOrganizationStreetAddressLine"; } "itemAnswer"; 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) "senderAuthorOrganizationPostalCode"; 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) "senderAuthorOrganizationCity"; 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) "senderAuthorOrganizationCountry"; } group SenderAuthorItems(source src, target practitionerRole : PractitionerRole, target practitioner : Practitioner, target organization : Organization) { src.item as item where (linkId.value = 'sender.author.practitioner') then SenderAuthorPractitionerItems(item, practitioner); src.item as item where (linkId.value = 'sender.author.organization') then SenderAuthorOrganizationItems(item, organization); } group SenderDataEntererPractitionerItems(source src, target practitioner : Practitioner) { 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); 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); 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) "senderAuthorPractitionerPhone"; 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) "senderAuthorPractitionerEmail"; } group SenderDataEntererItems(source src, target practitionerRole : PractitionerRole, target practitioner : Practitioner, target organization : Organization) { src.item as item where (linkId.value = 'sender.dataenterer.practitioner') then SenderDataEntererPractitionerItems(item, practitioner); } group ChExtEprDataEnterer(source src, target practitionerRole : PractitionerRole, target ext : Extension) { src -> ext.url = 'http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-epr-dataenterer' "url"; src -> ext.extension as ext, ext.url = 'enterer', ext.value = create('Reference') as reference, reference.reference = ('urn:uuid:' + %practitionerRole.id) "practitionerRole"; } group SenderAuthorInit(source src, target bundle : Bundle, target composition : Composition, target serviceRequest : ServiceRequest) { 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 { src.item as item where (linkId.value = 'sender.author') then SenderAuthorItems(item, practitionerRole, practitioner, organization) "senderAuthor"; src.item as item where (linkId.value = 'sender.dataenterer') then { 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 { item then SenderDataEntererItems(item, practitionerRoleDataEnterer, practitionerDataEnterer, organization) "data"; item then ChExtEprDataEnterer(item, practitionerRoleDataEnterer, extension) "extension"; } "senderDataentererItems"; } "senderDataenterer"; } "sender"; } group ReceiverCopyRelatedPersonItems(source src, target relatedPerson : RelatedPerson) { src.item as item where ((linkId.value = 'receiverCopy.relatedPerson.familyName') and answer.exists()) -> relatedPerson.name as name share name, name.family = (%item.answer.value); src.item as item where ((linkId.value = 'receiverCopy.relatedPerson.givenName') and answer.exists()) -> relatedPerson.name as name share name, name.given = (%item.answer.value); src.item as item where ((linkId.value = 'receiverCopy.relatedPerson.phone') and answer.exists()) then { item.answer as answer -> relatedPerson.telecom as value, value.system = 'phone', value.value = (%answer.value) "receiverCopyRelatedPersonPhone"; } "Phone"; 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) "receiverCopyRelatedPersonEmail"; src.item as item where ((linkId.value = 'receiverCopy.relatedPerson.streetAddressLine') and answer.exists()) -> relatedPerson.address as address share orgAddress then { item.answer as answer -> address.line = (%answer.value) "receiverCopyRelatedPersonStreetAddressLine"; } "itemAnswer"; src.item as item where ((linkId.value = 'receiverCopy.relatedPerson.postalCode') and answer.exists()) -> relatedPerson.address as address share orgAddress, address.postalCode = (%item.answer.value) "receiverCopyRelatedPersonPostalCode"; src.item as item where ((linkId.value = 'receiverCopy.relatedPerson.city') and answer.exists()) -> relatedPerson.address as address share orgAddress, address.city = (%item.answer.value) "receiverCopyRelatedPersonCity"; src.item as item where ((linkId.value = 'receiverCopy.relatedPerson.country') and answer.exists()) -> relatedPerson.address as address share orgAddress, address.country = (%item.answer.value) "receiverCopyRelatedPersonCountry"; } group ReceiverCopyPractitionerItems(source src, target practitioner : Practitioner) { 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); 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); 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' "receiverCopyPractitionerRolePractitionerTitle"; 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) "receiverCopyPractitionerRolePractitionerPhone"; 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) "receiverCopyPractitionerRolePractitionerEmail"; } group ReceiverCopyOrganizationItems(source src, target organization : Organization) { src.item as item where ((linkId.value = 'receiverCopy.practitionerRole.organization.name') and answer.exists()) -> organization.name = (%item.answer.value); src.item as item where ((linkId.value = 'receiverCopy.practitionerRole.organization.streetAddressLine') and answer.exists()) -> organization.address as address share orgAddress then { item.answer as answer -> address.line = (%answer.value) "receiverCopyPractitionerRoleOrganizationStreetAddressLine"; } "itemAnswer"; 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) "receiverCopyPractitionerRoleOrganizationPostalCode"; 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) "receiverCopyPractitionerRoleOrganizationCity"; 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) "receiverCopyPractitionerRoleOrganizationCountry"; } group ReceiverCopyPractitionerRoleItems(source src, target bundle : Bundle, target practitionerRole : PractitionerRole) { 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); 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); } group ExtOrfCopyReceiverPatient(source src, target patient : Patient, target ext : Extension) { src -> ext.url = 'http://fhir.ch/ig/ch-orf/StructureDefinition/ch-orf-copyreceiver' "url"; src -> ext.value = create('Reference') as reference, reference.reference = ('urn:uuid:' + %patient.id) "patient"; } group ExtOrfCopyReceiverPractitionerRole(source src, target res : PractitionerRole, target ext : Extension) { src -> ext.url = 'http://fhir.ch/ig/ch-orf/StructureDefinition/ch-orf-copyreceiver' "url"; src -> ext.value = create('Reference') as reference, reference.reference = ('urn:uuid:' + %res.id) "organization"; } group ExtOrfCopyReceiverRelatedPerson(source src, target res : RelatedPerson, target ext : Extension) { src -> ext.url = 'http://fhir.ch/ig/ch-orf/StructureDefinition/ch-orf-copyreceiver' "url"; src -> ext.value = create('Reference') as reference, reference.reference = ('urn:uuid:' + %res.id) "organization"; } group ReceiverCopy(source grp, target bundle : Bundle, target patient : Patient, target composition : Composition, target serviceRequest : ServiceRequest) { 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 { item then ReceiverCopyPractitionerRoleItems(item, bundle, practitionerrole) "data"; item then ExtOrfCopyReceiverPractitionerRole(item, practitionerrole, extension) "extension"; } "receiverCopyPractitionerRole1"; grp.item as item where (linkId = 'receiverCopy.patient') -> composition.extension as extension then { item then ExtOrfCopyReceiverPatient(item, patient, extension) "extension"; } "receiverCopyPatient"; 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 { item then ReceiverCopyRelatedPersonItems(item, relatedPerson) "data"; item then ExtOrfCopyReceiverRelatedPerson(item, relatedPerson, extension) "extension"; } "receiverCopyRelatedPerson"; } group Appointment(source grp, target bundle : Bundle, target composition : Composition, target serviceRequest : ServiceRequest) { 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 { grp.item as item where ((linkId.value = 'appointment.status') and (answer.value.code = 'proposed')) -> appointment.status = (%item.answer.value.code) then { grp.item as itemp where (linkId.value = 'appointment.requestedPeriod') then { 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 { itemp.item as item3 where ((linkId.value = 'appointment.requestedPeriod.end') and answer.exists()) -> requestedPeriod.end = (%item3.answer.value) "appointmentRequestedPeriodendifnotsameasstart"; } "appointmentRequestedPeriodStart"; } "appointmentRequestedPeriod"; } "proposed"; 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 { grp.item as itemp where (linkId.value = 'appointment.requestedPeriod') then { itemp.item as item2 where ((linkId.value = 'appointment.requestedPeriod.start') and answer.exists()) -> appointment.start = (%item2.answer.value), appointment.end = (%item2.answer.value) then { itemp.item as item3 where ((linkId.value = 'appointment.requestedPeriod.end') and answer.exists()) -> appointment.end = (%item3.answer.value) "appointmentendifnotsameasstart"; } "appointmentStart"; } "appointmentStartend"; } "pendingorbooked"; grp.item as item where ((linkId.value = 'appointment.patientInstruction') and answer.exists()) -> appointment.patientInstruction = (%item.answer.value) "appointmentPatientInstruction"; grp.item as item where (linkId.value = 'appointment.location') then { 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 { item.item as item3 where ((linkId.value = 'appointment.location.name') and answer.exists()) -> location.name = (%item3.answer.value); 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) "appointmentLocationPhone"; 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) "appointmentLocationEmail"; item.item as item3 where ((linkId.value = 'appointment.location.streetAddressLine') and answer.exists()) -> location.address as address share orgAddress then { item.answer as answer -> address.line = (%answer.value) "line"; } "appointmentLocationStreetAddressLine"; item.item as item3 where ((linkId.value = 'appointment.location.postalCode') and answer.exists()) -> location.address as address share orgAddress, address.postalCode = (%item3.answer.value) "appointmentLocationPostalCode"; item.item as item3 where ((linkId.value = 'appointment.location.city') and answer.exists()) -> location.address as address share orgAddress, address.city = (%item3.answer.value) "appointmentlocationCity"; item.item as item3 where ((linkId.value = 'appointment.location.country') and answer.exists()) -> location.address as address share orgAddress, address.country = (%item3.answer.value) "appointmentLocationCountry"; } "location"; } "appointmentLocation"; } "Appointment"; } group Note(source grp, target serviceRequest : ServiceRequest) { grp.item as item where ((linkId = 'note.text') and answer.exists()) -> serviceRequest.note as note, note.text = (%item.answer.value) "noteText"; } group QrToBundle(source qr : QuestionnaireResponseSource, target patient : Patient, target questionnaireresp : QuestionnaireResponse, target servicerequest : ServiceRequest, target composition : Composition, target bundle : Bundle) { // group QrToBundle(source qr : QuestionnaireResponseSource, target q: Questionnaire, target patient : Patient, target questionnaireresp: QuestionnaireResponse, target servicerequest: ServiceRequest, target composition : Composition, target bundle : Bundle) { qr -> bundle.id = uuid() "id"; qr -> bundle.type = 'document' "type"; qr then OrfComposition(qr, composition, patient, questionnaireresp, servicerequest, bundle) "composition"; qr then QrToGroups(qr, patient, bundle, composition, servicerequest) "qrgroups"; } // group OrfComposition(source qr : QuestionnaireResponseSource, target q: Questionnaire, target tgt : Composition, target patient: Patient, target questionnaireresp: QuestionnaireResponse, target servicerequest: ServiceRequest, target bundle : Bundle) { group OrfComposition(source qr : QuestionnaireResponseSource, target tgt : Composition, target patient : Patient, target questionnaireresp : QuestionnaireResponse, target servicerequest : ServiceRequest, target bundle : Bundle) { qr -> tgt.status = 'final' "status"; qr -> tgt.subject = create('Reference') as reference, reference.reference = ('urn:uuid:' + %patient.id) "subject"; 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) "sections"; // , // tgtSection.entry = create('Reference') as reference, reference.reference = (%q.url) "sections"; qr -> servicerequest.status = 'active', servicerequest.intent = 'order', servicerequest.subject = create('Reference') as reference, reference.reference = ('urn:uuid:' + %patient.id) "servicerequest"; }
{ "resourceType": "StructureMap", "id": "OrfQrToBundle", "text": { "status": "generated", "div": "<!-- snip (see above) -->" }, "url": "http://fhir.ch/ig/ch-orf/StructureMap/OrfQrToBundle", "version": "3.0.2-ci-build", "name": "OrfQrToBundle", "status": "draft", "date": "2025-05-22T09:52:16+00:00", "publisher": "HL7 Switzerland", "contact": [ { "name": "HL7 Switzerland", "telecom": [ { "system": "url", "value": "https://www.hl7.ch/" } ] } ], "description": "ORF QuestionnaireResponse to Bundle\r\n2021-01-11 Oliver Egger\r\nQRF Questionnaire: http://fhir.ch/ig/ch-orf/Questionnaire-order-referral-form.html\r\nQRF QuestionnaireResponse: http://fhir.ch/ig/ch-orf/QuestionnaireResponse-order-referral-form.xml.html\r\nBundle: http://fhir.ch/ig/ch-orf/StructureDefinition-ch-orf-document.html", "jurisdiction": [ { "coding": [ { "system": "urn:iso:std:iso:3166", "code": "CH" } ] } ], "copyright": "CC0-1.0", "structure": [ { "url": "http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse", "mode": "source", "alias": "QuestionnaireResponseSource" }, { "url": "http://hl7.org/fhir/StructureDefinition/Bundle", "mode": "target", "alias": "Bundle" }, { "url": "http://hl7.org/fhir/StructureDefinition/Composition", "mode": "target", "alias": "Composition" }, { "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/Extension", "mode": "target", "alias": "Extension" }, { "url": "http://hl7.org/fhir/StructureDefinition/EpisodeOfCare", "mode": "target", "alias": "EpisodeOfCare" }, { "url": "http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse", "mode": "target", "alias": "QuestionnaireResponse" } ], "group": [ { "name": "OrfQrToBundle", "typeMode": "none", "input": [ { "name": "qr", "type": "QuestionnaireResponseSource", "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": "OrfQrToBundle", "source": [ { "context": "qr" } ], "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": "bundle", "contextType": "variable", "element": "type", "transform": "copy", "parameter": [ { "valueString": "document" } ] }, { "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": "create", "parameter": [ { "valueString": "QuestionnaireResponse" } ] } ], "rule": [ { "name": "questionnaireresp", "source": [ { "context": "qr" } ], "dependent": [ { "name": "QuestionnaireResponseMap", "variable": [ "qr", "questionnaireresp" ] } ] }, { "name": "orfbundle", "source": [ { "context": "qr" } ], "target": [ { "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" } ] } ], "dependent": [ { "name": "QrToBundle", "variable": [ "qr", "patient", "questionnaireresp", "servicerequest", "composition", "bundle" ] } ] } ] } ] }, { "name": "QuestionnaireResponseMap", "typeMode": "none", "input": [ { "name": "src", "mode": "source" }, { "name": "tgt", "type": "QuestionnaireResponse", "mode": "target" } ], "rule": [ { "name": "identifier", "source": [ { "context": "src", "element": "identifier", "variable": "value" } ], "target": [ { "context": "tgt", "contextType": "variable", "element": "identifier", "transform": "copy", "parameter": [ { "valueId": "value" } ] } ] }, { "name": "basedOn", "source": [ { "context": "src", "element": "basedOn", "variable": "value" } ], "target": [ { "context": "tgt", "contextType": "variable", "element": "basedOn", "transform": "copy", "parameter": [ { "valueId": "value" } ] } ] }, { "name": "partOf", "source": [ { "context": "src", "element": "partOf", "variable": "value" } ], "target": [ { "context": "tgt", "contextType": "variable", "element": "partOf", "transform": "copy", "parameter": [ { "valueId": "value" } ] } ] }, { "name": "questionnaire", "source": [ { "context": "src", "element": "questionnaire", "variable": "value" } ], "target": [ { "context": "tgt", "contextType": "variable", "element": "questionnaire", "transform": "copy", "parameter": [ { "valueId": "value" } ] } ] }, { "name": "status", "source": [ { "context": "src", "element": "status", "variable": "value" } ], "target": [ { "context": "tgt", "contextType": "variable", "element": "status", "transform": "copy", "parameter": [ { "valueId": "value" } ] } ] }, { "name": "subject", "source": [ { "context": "src", "element": "subject", "variable": "value" } ], "target": [ { "context": "tgt", "contextType": "variable", "element": "subject", "transform": "copy", "parameter": [ { "valueId": "value" } ] } ] }, { "name": "encounter", "source": [ { "context": "src", "element": "encounter", "variable": "value" } ], "target": [ { "context": "tgt", "contextType": "variable", "element": "encounter", "transform": "copy", "parameter": [ { "valueId": "value" } ] } ] }, { "name": "authored", "source": [ { "context": "src", "element": "authored", "variable": "value" } ], "target": [ { "context": "tgt", "contextType": "variable", "element": "authored", "transform": "copy", "parameter": [ { "valueId": "value" } ] } ] }, { "name": "author", "source": [ { "context": "src", "element": "author", "variable": "value" } ], "target": [ { "context": "tgt", "contextType": "variable", "element": "author", "transform": "copy", "parameter": [ { "valueId": "value" } ] } ] }, { "name": "source", "source": [ { "context": "src", "element": "source", "variable": "value" } ], "target": [ { "context": "tgt", "contextType": "variable", "element": "source", "transform": "copy", "parameter": [ { "valueId": "value" } ] } ] }, { "name": "item", "source": [ { "context": "src", "element": "item", "variable": "value" } ], "target": [ { "context": "tgt", "contextType": "variable", "element": "item", "transform": "copy", "parameter": [ { "valueId": "value" } ] } ] } ] }, { "name": "QrToGroups", "typeMode": "none", "input": [ { "name": "qr", "type": "QuestionnaireResponseSource", "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" ] } ] }, { "name": "receiver", "source": [ { "context": "qr", "element": "item", "variable": "grp", "condition": "linkId = 'receiver'" } ], "dependent": [ { "name": "ReceiverInit", "variable": [ "grp", "bundle", "composition", "serviceRequest" ] } ] }, { "name": "grpinitiator", "source": [ { "context": "qr", "element": "item", "variable": "grp", "condition": "linkId = 'initiator'" } ], "dependent": [ { "name": "InitiatorInit", "variable": [ "grp", "bundle", "patient", "composition", "serviceRequest" ] } ] }, { "name": "grppatient", "source": [ { "context": "qr", "element": "item", "variable": "grp", "condition": "linkId = 'patient'" } ], "dependent": [ { "name": "PatientItems", "variable": [ "grp", "bundle", "patient", "composition", "serviceRequest" ] } ] }, { "name": "grprequestedencounter", "source": [ { "context": "qr", "element": "item", "variable": "grp", "condition": "linkId = 'requestedEncounter'" } ], "dependent": [ { "name": "RequestedEncounterItems", "variable": [ "grp", "bundle", "patient", "serviceRequest" ] } ] }, { "name": "grprequestedencounter", "source": [ { "context": "qr", "element": "item", "variable": "grp", "condition": "linkId = 'coverage'" } ], "dependent": [ { "name": "Coverage", "variable": [ "grp", "bundle", "patient", "serviceRequest" ] } ] }, { "name": "grpsender", "source": [ { "context": "qr", "element": "item", "variable": "grp", "condition": "linkId = 'sender'" } ], "dependent": [ { "name": "SenderAuthorInit", "variable": [ "grp", "bundle", "composition", "serviceRequest" ] } ] }, { "name": "receiverCopy", "source": [ { "context": "qr", "element": "item", "variable": "grp", "condition": "linkId = 'receiverCopy'" } ], "dependent": [ { "name": "ReceiverCopy", "variable": [ "grp", "bundle", "patient", "composition", "serviceRequest" ] } ] }, { "name": "appointment", "source": [ { "context": "qr", "element": "item", "variable": "grp", "condition": "linkId = 'appointment'" } ], "dependent": [ { "name": "Appointment", "variable": [ "grp", "bundle", "composition", "serviceRequest" ] } ] }, { "name": "AntecedentEpisodeOfCareInit", "source": [ { "context": "qr", "element": "item", "variable": "grp", "condition": "linkId = 'antecedentEpisodeOfCare'" } ], "dependent": [ { "name": "AntecedentEpisodeOfCareInit", "variable": [ "grp", "bundle", "patient", "composition" ] } ] }, { "name": "consent", "source": [ { "context": "qr", "element": "item", "variable": "grp", "condition": "linkId = 'consent'" } ], "dependent": [ { "name": "Consent", "variable": [ "grp", "bundle", "composition" ] } ] }, { "name": "note", "source": [ { "context": "qr", "element": "item", "variable": "grp", "condition": "linkId = 'note'" } ], "dependent": [ { "name": "Note", "variable": [ "grp", "serviceRequest" ] } ] } ] }, { "name": "OrderItems", "typeMode": "none", "input": [ { "name": "src", "mode": "source" }, { "name": "bundle", "type": "Bundle", "mode": "target" }, { "name": "composition", "mode": "target" }, { "name": "serviceRequest", "type": "ServiceRequest", "mode": "target" } ], "rule": [ { "name": "orderPrecedentDocumentIdentifier", "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.value" } ] } ] }, { "name": "orderPlacerOrderIdentifier", "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.value" } ] } ] }, { "name": "orderPlacerOrderIdentifierDomain", "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.value" } ] } ] }, { "name": "orderFillerOrderIdentifier", "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.value" } ] } ] }, { "name": "orderFillerOrderIdentifierDomain", "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.value" } ] } ] }, { "name": "item", "source": [ { "context": "src", "element": "item", "variable": "item", "condition": "((linkId.value = 'order.authoredOn') 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": "ordeNnotificationContactDocument", "source": [ { "context": "src", "element": "item", "variable": "item", "condition": "(linkId.value = 'order.notificationContactDocument')" } ], "rule": [ { "name": "orderNotificationContactDocumentItems", "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" ] } ] }, { "name": "extension", "source": [ { "context": "item" } ], "dependent": [ { "name": "ExtOrfUrgentNotificationContactForRequest", "variable": [ "item", "practitionerRoleDataEnterer", "extension" ] } ] } ] } ] }, { "name": "orderNotificationContactDocumentResponse", "source": [ { "context": "src", "element": "item", "variable": "item", "condition": "(linkId.value = 'order.notificationContactDocumentResponse')" } ], "rule": [ { "name": "orderNotificationContactDocumentResponseItems", "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" ] } ] }, { "name": "extension", "source": [ { "context": "item" } ], "dependent": [ { "name": "ExtOrfUrgentNotificationContactForResponse", "variable": [ "item", "practitionerRoleDataEnterer", "extension" ] } ] } ] } ] } ] }, { "name": "UrgentNotificationContactForRequestPractitionerItems", "typeMode": "none", "input": [ { "name": "src", "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": "senderAuthorPractitionerTitle", "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": "senderAuthorPractitionerPhone", "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": "senderAuthorPractitionerEmail", "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", "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" ] } ] } ] }, { "name": "ExtOrfUrgentNotificationContactForRequest", "typeMode": "none", "input": [ { "name": "src", "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", "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": "senderAuthorPractitionerTitle", "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": "senderAuthorPractitionerPhone", "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": "senderAuthorPractitionerEmail", "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", "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" ] } ] } ] }, { "name": "ExtOrfUrgentNotificationContactForResponse", "typeMode": "none", "input": [ { "name": "src", "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", "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": "receiverPractitionerTitle", "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": "receiverPractitionerGln", "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": "receiverPractitionerZsr", "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": "receiverPractitionerPhone", "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": "receiverPractitionerEmail", "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", "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": "receiverOrganizationGln", "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": "receiverOrganizationZsr", "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": "itemAnswer", "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": "receiverOrganizationStreetAddressLine", "source": [ { "context": "item", "element": "answer", "variable": "answer" } ], "target": [ { "context": "address", "contextType": "variable", "element": "line", "transform": "evaluate", "parameter": [ { "valueString": "%answer.value" } ] } ] } ] }, { "name": "receiverOrganizationPostalCode", "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": "receiverOrganizationCity", "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": "receiverOrganizationCountry", "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", "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" ] } ] }, { "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" ] } ] } ] }, { "name": "Consent", "typeMode": "none", "input": [ { "name": "src", "mode": "source" }, { "name": "bundle", "type": "Bundle", "mode": "target" }, { "name": "composition", "type": "Composition", "mode": "target" } ], "rule": [ { "name": "consentStatement", "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": "itemAnswer", "source": [ { "context": "item", "element": "answer", "variable": "answer" } ], "rule": [ { "name": "consentStatementNote", "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" } ] } ] } ] } ] } ] }, { "name": "ReceiverInit", "typeMode": "none", "input": [ { "name": "src", "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" ] } ] } ] }, { "name": "InitiatorItems", "typeMode": "none", "input": [ { "name": "src", "mode": "source" }, { "name": "bundle", "type": "Bundle", "mode": "target" }, { "name": "patient", "type": "Patient", "mode": "target" }, { "name": "ext", "type": "Extension", "mode": "target" } ], "rule": [ { "name": "Initiatorpersonalrelation", "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", "transform": "evaluate", "parameter": [ { "valueString": "%item.answer.value" } ] } ] }, { "name": "Initiatorlegalrelation", "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", "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" ] } ] } ] }, { "name": "InitiatorelatedPerson", "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" ] } ] } ] } ] }, { "name": "InitiatorRelatedPersonItems", "typeMode": "none", "input": [ { "name": "src", "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": "InitiatorelatedPersonPhone", "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": "InitiatorelatedPersonEmail", "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": "itemAnswer", "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": "InitiatorelatedPersonStreetAddressLine", "source": [ { "context": "item", "element": "answer", "variable": "answer" } ], "target": [ { "context": "address", "contextType": "variable", "element": "line", "transform": "evaluate", "parameter": [ { "valueString": "%answer.value" } ] } ] } ] }, { "name": "InitiatorelatedPersonPostalCode", "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": "InitiatorelatedPersonCity", "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": "InitiatorelatedPersonCountry", "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", "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" ] } ] }, { "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" ] } ] } ] }, { "name": "InitiatorPractitionerItems", "typeMode": "none", "input": [ { "name": "src", "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": "InitiatorractitionerRolePractitionerTitle", "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": "InitiatorractitionerRolePractitionerPhone", "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": "InitiatorractitionerRolePractitionerEmail", "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": "receiverPractitionerGln", "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": "receiverPractitionerZsr", "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", "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": "itemAnswer", "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": "InitiatorractitionerRoleOrganizationStreetAddressLine", "source": [ { "context": "item", "element": "answer", "variable": "answer" } ], "target": [ { "context": "address", "contextType": "variable", "element": "line", "transform": "evaluate", "parameter": [ { "valueString": "%answer.value" } ] } ] } ] }, { "name": "InitiatorractitionerRoleOrganizationPostalCode", "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": "InitiatorractitionerRoleOrganizationCity", "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": "InitiatorractitionerRoleOrganizationCountry", "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", "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" ] } ] }, { "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" ] } ] } ] } ] }, { "name": "FamilyDoctorPractitionerItems", "typeMode": "none", "input": [ { "name": "src", "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": "familydoctorPractitionerGln", "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": "familydoctorPractitionerZsr", "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": "familydoctorPractitionerTitle", "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": "familydoctorPractitionerPhone", "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": "familydoctorPractitionerEmail", "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", "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": "itemAnswer", "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": "familydoctorOrganizationStreetAddressLine", "source": [ { "context": "item", "element": "answer", "variable": "answer" } ], "target": [ { "context": "address", "contextType": "variable", "element": "line", "transform": "evaluate", "parameter": [ { "valueString": "%answer.value" } ] } ] } ] }, { "name": "familydoctorOrganizationPostalCode", "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": "familydoctorOrganizationCity", "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": "familydoctorOrganizationCountry", "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": "familydoctorOrganizationGln", "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": "familydoctorOrganizationZsr", "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", "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" ] } ] } ] }, { "name": "AntecedentEpisodeOfCareItems", "typeMode": "none", "input": [ { "name": "src", "mode": "source" }, { "name": "bundle", "type": "Bundle", "mode": "target" }, { "name": "tgt", "type": "Patient", "mode": "target" }, { "name": "episodeofcare", "type": "EpisodeOfCare", "mode": "target" } ], "rule": [ { "name": "antecedentEpisodeOfCareRequestedPeriodStart", "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": "antecedentEpisodeOfCareManagingOrganization", "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": "patient", "variable": "reference", "transform": "create", "parameter": [ { "valueString": "Reference" } ] }, { "context": "reference", "contextType": "variable", "element": "reference", "transform": "evaluate", "parameter": [ { "valueString": "'urn:uuid:' + %tgt.id" } ] }, { "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" ] } ] } ] }, { "name": "AntecedentEpisodeOfCareOrganizationItems", "typeMode": "none", "input": [ { "name": "src", "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": "itemAnswer", "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": "antecedentEpisodeOfCareorganizationStreetAddressLine", "source": [ { "context": "item", "element": "answer", "variable": "answer" } ], "target": [ { "context": "address", "contextType": "variable", "element": "line", "transform": "evaluate", "parameter": [ { "valueString": "%answer.value" } ] } ] } ] }, { "name": "senderAuthorOrganizationPostalCode", "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": "senderAuthorOrganizationCity", "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": "senderAuthorOrganizationCountry", "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", "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" ] } ] } ] }, { "name": "PatientItems", "typeMode": "none", "input": [ { "name": "src", "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" ] } ] }, { "name": "item", "source": [ { "context": "src", "element": "item", "variable": "item" } ], "dependent": [ { "name": "PatientItems", "variable": [ "item", "bundle", "tgt", "composition", "serviceRequest" ] } ] }, { "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": "PatientLocalPid", "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.value" } ] } ] }, { "name": "PatientLocalPidDomain", "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.value" } ] } ] }, { "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": "patientMaritalStatus", "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": "PatientPhone", "source": [ { "context": "src", "element": "item", "variable": "item", "condition": "((linkId.value = 'patient.phone') and answer.exists())" } ], "rule": [ { "name": "PatientPhone", "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": "PatientEmail", "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": "itemAnswer", "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": "PatientStreetAddressLine", "source": [ { "context": "item", "element": "answer", "variable": "answer" } ], "target": [ { "context": "address", "contextType": "variable", "element": "line", "transform": "evaluate", "parameter": [ { "valueString": "%answer.value" } ] } ] } ] }, { "name": "PatientPostalCode", "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": "PatientCity", "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": "PatientCountry", "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": "PatientLanguageOfCorrespondence", "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": "PatientContactpersonPhone", "source": [ { "context": "src", "element": "item", "variable": "item", "condition": "((linkId.value = 'patient.contactperson.phone') and answer.exists())" } ], "rule": [ { "name": "PatientPhone", "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": "PatientEmail", "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": "PatientContactpersonRelationship", "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", "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": "requestedEncounterClass", "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": "requestedEncounterDesiredAccommodation", "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", "mode": "source" }, { "name": "bundle", "type": "Bundle", "mode": "target" }, { "name": "patient", "type": "Patient", "mode": "target" }, { "name": "serviceRequest", "type": "ServiceRequest", "mode": "target" } ], "rule": [ { "name": "coverageBeneficiary", "source": [ { "context": "src", "element": "item", "variable": "item", "condition": "where(linkId.value = 'coverage.beneficiary')" } ], "rule": [ { "name": "coverageBeneficiaryAhvn13", "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" } ] } ] } ] }, { "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-core/CodeSystem/bfs-medstats-25-mainguarantor" } ] }, { "context": "coding", "contextType": "variable", "element": "code", "transform": "copy", "parameter": [ { "valueString": "1" } ] } ], "rule": [ { "name": "coverageKvgName", "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": "coverageKvgInsuranceCardNumber", "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" } ] } ] } ] }, { "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-core/CodeSystem/bfs-medstats-25-mainguarantor" } ] }, { "context": "coding", "contextType": "variable", "element": "code", "transform": "copy", "parameter": [ { "valueString": "4" } ] } ], "rule": [ { "name": "coverageUvgName", "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": "coverageUvgClaimNumber", "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" } ] } ] } ] }, { "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-core/CodeSystem/mainguarantor" } ] }, { "context": "coding", "contextType": "variable", "element": "code", "transform": "copy", "parameter": [ { "valueString": "ZV" } ] } ], "rule": [ { "name": "coverageVvgName", "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": "coverageVvgInsuranceCardNumber", "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" } ] } ] } ] }, { "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-core/CodeSystem/bfs-medstats-25-mainguarantor" } ] }, { "context": "coding", "contextType": "variable", "element": "code", "transform": "copy", "parameter": [ { "valueString": "2" } ] } ], "rule": [ { "name": "coverageivverfuegungsnummer", "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" } ] } ] } ] }, { "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-core/CodeSystem/bfs-medstats-25-mainguarantor" } ] }, { "context": "coding", "contextType": "variable", "element": "code", "transform": "copy", "parameter": [ { "valueString": "3" } ] } ], "rule": [ { "name": "coveragemvversichertennummer", "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" } ] } ] } ] }, { "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-core/CodeSystem/bfs-medstats-25-mainguarantor" } ] }, { "context": "coding", "contextType": "variable", "element": "code", "transform": "copy", "parameter": [ { "valueString": "5" } ] }, { "context": "coverage", "contextType": "variable", "element": "payor", "variable": "subject" }, { "context": "subject", "contextType": "variable", "element": "reference", "transform": "evaluate", "parameter": [ { "valueString": "'urn:uuid:' + %patient.id" } ] } ] }, { "name": "coverageselfpatientrelated", "source": [ { "context": "item", "element": "item", "variable": "item2", "condition": "((linkId.value = 'coverage.self.patientRelatedPerson') and answer.exists() and answer.value)" } ], "rule": [ { "name": "coverageselfrelatedPerson", "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-core/CodeSystem/bfs-medstats-25-mainguarantor" } ] }, { "context": "coding", "contextType": "variable", "element": "code", "transform": "copy", "parameter": [ { "valueString": "5" } ] }, { "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" ] } ] } ] } ] }, { "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-core/CodeSystem/bfs-medstats-25-mainguarantor" } ] }, { "context": "coding", "contextType": "variable", "element": "code", "transform": "copy", "parameter": [ { "valueString": "8" } ] } ], "rule": [ { "name": "coverageOtherName", "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": "coverageOtherId", "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" } ] } ] } ] } ] }, { "name": "CoverageRelatedPersonItems", "typeMode": "none", "input": [ { "name": "src", "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": "coverageSelfRelatedPersonPhone", "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": "coverageSelfRelatedPersonEmail", "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": "itemAnswer", "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": "coverageSelfRelatedPersonStreetAddressLine", "source": [ { "context": "item", "element": "answer", "variable": "answer" } ], "target": [ { "context": "address", "contextType": "variable", "element": "line", "transform": "evaluate", "parameter": [ { "valueString": "%answer.value" } ] } ] } ] }, { "name": "coverageSelfRelatedPersonPostalCode", "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": "coverageSelfRelatedPersonCity", "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": "coverageSelfRelatedPersonCountry", "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", "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": "senderAuthorPractitionerTitle", "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": "senderAuthorPractitionerGln", "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": "senderAuthorPractitionerZsr", "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": "senderAuthorPractitionerPhone", "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": "senderAuthorPractitionerEmail", "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", "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": "senderAuthorOrganizationGln", "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": "senderAuthorOrganizationZsr", "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": "itemAnswer", "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": "senderAuthorOrganizationStreetAddressLine", "source": [ { "context": "item", "element": "answer", "variable": "answer" } ], "target": [ { "context": "address", "contextType": "variable", "element": "line", "transform": "evaluate", "parameter": [ { "valueString": "%answer.value" } ] } ] } ] }, { "name": "senderAuthorOrganizationPostalCode", "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": "senderAuthorOrganizationCity", "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": "senderAuthorOrganizationCountry", "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", "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" ] } ] }, { "name": "item", "source": [ { "context": "src", "element": "item", "variable": "item", "condition": "(linkId.value = 'sender.author.organization')" } ], "dependent": [ { "name": "SenderAuthorOrganizationItems", "variable": [ "item", "organization" ] } ] } ] }, { "name": "SenderDataEntererPractitionerItems", "typeMode": "none", "input": [ { "name": "src", "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": "senderAuthorPractitionerPhone", "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": "senderAuthorPractitionerEmail", "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", "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" ] } ] } ] }, { "name": "ChExtEprDataEnterer", "typeMode": "none", "input": [ { "name": "src", "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", "parameter": [ { "valueString": "Reference" } ] }, { "context": "reference", "contextType": "variable", "element": "reference", "transform": "evaluate", "parameter": [ { "valueString": "'urn:uuid:' + %practitionerRole.id" } ] } ] } ] }, { "name": "SenderAuthorInit", "typeMode": "none", "input": [ { "name": "src", "mode": "source" }, { "name": "bundle", "type": "Bundle", "mode": "target" }, { "name": "composition", "type": "Composition", "mode": "target" }, { "name": "serviceRequest", "type": "ServiceRequest", "mode": "target" } ], "rule": [ { "name": "sender", "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": "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": "e2", "contextType": "variable", "element": "fullUrl", "transform": "append", "parameter": [ { "valueString": "urn:uuid:" }, { "valueId": "uuid2" } ] }, { "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": "composition", "contextType": "variable", "element": "author", "variable": "reference", "transform": "create", "parameter": [ { "valueString": "Reference" } ] }, { "context": "reference", "contextType": "variable", "element": "reference", "transform": "append", "parameter": [ { "valueString": "urn:uuid:" }, { "valueId": "uuid" } ] }, { "context": "serviceRequest", "contextType": "variable", "element": "requester", "variable": "reference", "transform": "create", "parameter": [ { "valueString": "Reference" } ] }, { "context": "reference", "contextType": "variable", "element": "reference", "transform": "append", "parameter": [ { "valueString": "urn:uuid:" }, { "valueId": "uuid" } ] }, { "context": "practitionerRole", "contextType": "variable", "element": "practitioner", "variable": "reference", "transform": "create", "parameter": [ { "valueString": "Reference" } ] }, { "context": "reference", "contextType": "variable", "element": "reference", "transform": "append", "parameter": [ { "valueString": "urn:uuid:" }, { "valueId": "uuid2" } ] }, { "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" } ] } ], "rule": [ { "name": "senderAuthor", "source": [ { "context": "src", "element": "item", "variable": "item", "condition": "(linkId.value = 'sender.author')" } ], "dependent": [ { "name": "SenderAuthorItems", "variable": [ "item", "practitionerRole", "practitioner", "organization" ] } ] }, { "name": "senderDataenterer", "source": [ { "context": "src", "element": "item", "variable": "item", "condition": "(linkId.value = 'sender.dataenterer')" } ], "rule": [ { "name": "senderDataentererItems", "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" } ] }, { "context": "practitionerRoleDataEnterer", "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" } ] } ], "rule": [ { "name": "data", "source": [ { "context": "item" } ], "dependent": [ { "name": "SenderDataEntererItems", "variable": [ "item", "practitionerRoleDataEnterer", "practitionerDataEnterer", "organization" ] } ] }, { "name": "extension", "source": [ { "context": "item" } ], "dependent": [ { "name": "ChExtEprDataEnterer", "variable": [ "item", "practitionerRoleDataEnterer", "extension" ] } ] } ] } ] } ] } ] }, { "name": "ReceiverCopyRelatedPersonItems", "typeMode": "none", "input": [ { "name": "src", "mode": "source" }, { "name": "relatedPerson", "type": "RelatedPerson", "mode": "target" } ], "rule": [ { "name": "item", "source": [ { "context": "src", "element": "item", "variable": "item", "condition": "((linkId.value = 'receiverCopy.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 = 'receiverCopy.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 = 'receiverCopy.relatedPerson.phone') and answer.exists())" } ], "rule": [ { "name": "receiverCopyRelatedPersonPhone", "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": "receiverCopyRelatedPersonEmail", "source": [ { "context": "src", "element": "item", "variable": "item", "condition": "((linkId.value = 'receiverCopy.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": "itemAnswer", "source": [ { "context": "src", "element": "item", "variable": "item", "condition": "((linkId.value = 'receiverCopy.relatedPerson.streetAddressLine') and answer.exists())" } ], "target": [ { "context": "relatedPerson", "contextType": "variable", "element": "address", "variable": "address", "listMode": [ "share" ], "listRuleId": "orgAddress" } ], "rule": [ { "name": "receiverCopyRelatedPersonStreetAddressLine", "source": [ { "context": "item", "element": "answer", "variable": "answer" } ], "target": [ { "context": "address", "contextType": "variable", "element": "line", "transform": "evaluate", "parameter": [ { "valueString": "%answer.value" } ] } ] } ] }, { "name": "receiverCopyRelatedPersonPostalCode", "source": [ { "context": "src", "element": "item", "variable": "item", "condition": "((linkId.value = 'receiverCopy.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": "receiverCopyRelatedPersonCity", "source": [ { "context": "src", "element": "item", "variable": "item", "condition": "((linkId.value = 'receiverCopy.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": "receiverCopyRelatedPersonCountry", "source": [ { "context": "src", "element": "item", "variable": "item", "condition": "((linkId.value = 'receiverCopy.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": "ReceiverCopyPractitionerItems", "typeMode": "none", "input": [ { "name": "src", "mode": "source" }, { "name": "practitioner", "type": "Practitioner", "mode": "target" } ], "rule": [ { "name": "item", "source": [ { "context": "src", "element": "item", "variable": "item", "condition": "((linkId.value = 'receiverCopy.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 = 'receiverCopy.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": "receiverCopyPractitionerRolePractitionerTitle", "source": [ { "context": "src", "element": "item", "variable": "item", "condition": "((linkId.value = 'receiverCopy.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": "receiverCopyPractitionerRolePractitionerPhone", "source": [ { "context": "src", "element": "item", "variable": "item", "condition": "((linkId.value = 'receiverCopy.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": "receiverCopyPractitionerRolePractitionerEmail", "source": [ { "context": "src", "element": "item", "variable": "item", "condition": "((linkId.value = 'receiverCopy.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": "ReceiverCopyOrganizationItems", "typeMode": "none", "input": [ { "name": "src", "mode": "source" }, { "name": "organization", "type": "Organization", "mode": "target" } ], "rule": [ { "name": "item", "source": [ { "context": "src", "element": "item", "variable": "item", "condition": "((linkId.value = 'receiverCopy.practitionerRole.organization.name') and answer.exists())" } ], "target": [ { "context": "organization", "contextType": "variable", "element": "name", "transform": "evaluate", "parameter": [ { "valueString": "%item.answer.value" } ] } ] }, { "name": "itemAnswer", "source": [ { "context": "src", "element": "item", "variable": "item", "condition": "((linkId.value = 'receiverCopy.practitionerRole.organization.streetAddressLine') and answer.exists())" } ], "target": [ { "context": "organization", "contextType": "variable", "element": "address", "variable": "address", "listMode": [ "share" ], "listRuleId": "orgAddress" } ], "rule": [ { "name": "receiverCopyPractitionerRoleOrganizationStreetAddressLine", "source": [ { "context": "item", "element": "answer", "variable": "answer" } ], "target": [ { "context": "address", "contextType": "variable", "element": "line", "transform": "evaluate", "parameter": [ { "valueString": "%answer.value" } ] } ] } ] }, { "name": "receiverCopyPractitionerRoleOrganizationPostalCode", "source": [ { "context": "src", "element": "item", "variable": "item", "condition": "((linkId.value = 'receiverCopy.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": "receiverCopyPractitionerRoleOrganizationCity", "source": [ { "context": "src", "element": "item", "variable": "item", "condition": "((linkId.value = 'receiverCopy.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": "receiverCopyPractitionerRoleOrganizationCountry", "source": [ { "context": "src", "element": "item", "variable": "item", "condition": "((linkId.value = 'receiverCopy.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": "ReceiverCopyPractitionerRoleItems", "typeMode": "none", "input": [ { "name": "src", "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 = 'receiverCopy.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": "ReceiverCopyPractitionerItems", "variable": [ "item", "practitioner" ] } ] }, { "name": "item", "source": [ { "context": "src", "element": "item", "variable": "item", "condition": "(linkId.value = 'receiverCopy.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": "ReceiverCopyOrganizationItems", "variable": [ "item", "organization" ] } ] } ] }, { "name": "ExtOrfCopyReceiverPatient", "typeMode": "none", "input": [ { "name": "src", "mode": "source" }, { "name": "patient", "type": "Patient", "mode": "target" }, { "name": "ext", "type": "Extension", "mode": "target" } ], "rule": [ { "name": "url", "source": [ { "context": "src" } ], "target": [ { "context": "ext", "contextType": "variable", "element": "url", "transform": "copy", "parameter": [ { "valueString": "http://fhir.ch/ig/ch-orf/StructureDefinition/ch-orf-copyreceiver" } ] } ] }, { "name": "patient", "source": [ { "context": "src" } ], "target": [ { "context": "ext", "contextType": "variable", "element": "value", "variable": "reference", "transform": "create", "parameter": [ { "valueString": "Reference" } ] }, { "context": "reference", "contextType": "variable", "element": "reference", "transform": "evaluate", "parameter": [ { "valueString": "'urn:uuid:' + %patient.id" } ] } ] } ] }, { "name": "ExtOrfCopyReceiverPractitionerRole", "typeMode": "none", "input": [ { "name": "src", "mode": "source" }, { "name": "res", "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-copyreceiver" } ] } ] }, { "name": "organization", "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:' + %res.id" } ] } ] } ] }, { "name": "ExtOrfCopyReceiverRelatedPerson", "typeMode": "none", "input": [ { "name": "src", "mode": "source" }, { "name": "res", "type": "RelatedPerson", "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-copyreceiver" } ] } ] }, { "name": "organization", "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:' + %res.id" } ] } ] } ] }, { "name": "ReceiverCopy", "typeMode": "none", "input": [ { "name": "grp", "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": "receiverCopyPractitionerRole1", "source": [ { "context": "grp", "element": "item", "variable": "item", "condition": "(linkId = 'receiverCopy.practitionerRole')" } ], "target": [ { "context": "bundle", "contextType": "variable", "element": "entry", "variable": "e4" }, { "context": "e4", "contextType": "variable", "element": "resource", "variable": "practitionerrole", "transform": "create", "parameter": [ { "valueString": "PractitionerRole" } ] }, { "context": "composition", "contextType": "variable", "element": "extension", "variable": "extension" }, { "context": "practitionerrole", "contextType": "variable", "element": "id", "variable": "uuid4", "transform": "uuid" }, { "context": "e4", "contextType": "variable", "element": "fullUrl", "transform": "append", "parameter": [ { "valueString": "urn:uuid:" }, { "valueId": "uuid4" } ] } ], "rule": [ { "name": "data", "source": [ { "context": "item" } ], "dependent": [ { "name": "ReceiverCopyPractitionerRoleItems", "variable": [ "item", "bundle", "practitionerrole" ] } ] }, { "name": "extension", "source": [ { "context": "item" } ], "dependent": [ { "name": "ExtOrfCopyReceiverPractitionerRole", "variable": [ "item", "practitionerrole", "extension" ] } ] } ] }, { "name": "receiverCopyPatient", "source": [ { "context": "grp", "element": "item", "variable": "item", "condition": "(linkId = 'receiverCopy.patient')" } ], "target": [ { "context": "composition", "contextType": "variable", "element": "extension", "variable": "extension" } ], "rule": [ { "name": "extension", "source": [ { "context": "item" } ], "dependent": [ { "name": "ExtOrfCopyReceiverPatient", "variable": [ "item", "patient", "extension" ] } ] } ] }, { "name": "receiverCopyRelatedPerson", "source": [ { "context": "grp", "element": "item", "variable": "item", "condition": "(linkId = 'receiverCopy.relatedPerson')" } ], "target": [ { "context": "bundle", "contextType": "variable", "element": "entry", "variable": "e4" }, { "context": "e4", "contextType": "variable", "element": "resource", "variable": "relatedPerson", "transform": "create", "parameter": [ { "valueString": "RelatedPerson" } ] }, { "context": "composition", "contextType": "variable", "element": "extension", "variable": "extension" }, { "context": "relatedPerson", "contextType": "variable", "element": "id", "variable": "uuid4", "transform": "uuid" }, { "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": "ReceiverCopyRelatedPersonItems", "variable": [ "item", "relatedPerson" ] } ] }, { "name": "extension", "source": [ { "context": "item" } ], "dependent": [ { "name": "ExtOrfCopyReceiverRelatedPerson", "variable": [ "item", "relatedPerson", "extension" ] } ] } ] } ] }, { "name": "Appointment", "typeMode": "none", "input": [ { "name": "grp", "mode": "source" }, { "name": "bundle", "type": "Bundle", "mode": "target" }, { "name": "composition", "type": "Composition", "mode": "target" }, { "name": "serviceRequest", "type": "ServiceRequest", "mode": "target" } ], "rule": [ { "name": "Appointment", "source": [ { "context": "grp" } ], "target": [ { "context": "bundle", "contextType": "variable", "element": "entry", "variable": "e4" }, { "context": "e4", "contextType": "variable", "element": "resource", "variable": "appointment", "transform": "create", "parameter": [ { "valueString": "Appointment" } ] }, { "context": "appointment", "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": "extension", "variable": "extension" }, { "context": "extension", "contextType": "variable", "element": "url", "transform": "copy", "parameter": [ { "valueString": "http://fhir.ch/ig/ch-orf/StructureDefinition/ch-orf-locationandtime" } ] }, { "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": "proposed", "source": [ { "context": "grp", "element": "item", "variable": "item", "condition": "((linkId.value = 'appointment.status') and (answer.value.code = 'proposed'))" } ], "target": [ { "context": "appointment", "contextType": "variable", "element": "status", "transform": "evaluate", "parameter": [ { "valueString": "%item.answer.value.code" } ] } ], "rule": [ { "name": "appointmentRequestedPeriod", "source": [ { "context": "grp", "element": "item", "variable": "itemp", "condition": "(linkId.value = 'appointment.requestedPeriod')" } ], "rule": [ { "name": "appointmentRequestedPeriodStart", "source": [ { "context": "itemp", "element": "item", "variable": "item2", "condition": "((linkId.value = 'appointment.requestedPeriod.start') and answer.exists())" } ], "target": [ { "context": "appointment", "contextType": "variable", "element": "requestedPeriod", "variable": "requestedPeriod" }, { "context": "requestedPeriod", "contextType": "variable", "element": "start", "transform": "evaluate", "parameter": [ { "valueString": "%item2.answer.value" } ] }, { "context": "requestedPeriod", "contextType": "variable", "element": "end", "transform": "evaluate", "parameter": [ { "valueString": "%item2.answer.value" } ] } ], "rule": [ { "name": "appointmentRequestedPeriodendifnotsameasstart", "source": [ { "context": "itemp", "element": "item", "variable": "item3", "condition": "((linkId.value = 'appointment.requestedPeriod.end') and answer.exists())" } ], "target": [ { "context": "requestedPeriod", "contextType": "variable", "element": "end", "transform": "evaluate", "parameter": [ { "valueString": "%item3.answer.value" } ] } ] } ] } ] } ] }, { "name": "pendingorbooked", "source": [ { "context": "grp", "element": "item", "variable": "item", "condition": "((linkId.value = 'appointment.status') and ((answer.value.code = 'pending') or (answer.value.code = 'booked')))" } ], "target": [ { "context": "appointment", "contextType": "variable", "element": "status", "transform": "evaluate", "parameter": [ { "valueString": "%item.answer.value.code" } ] } ], "rule": [ { "name": "appointmentStartend", "source": [ { "context": "grp", "element": "item", "variable": "itemp", "condition": "(linkId.value = 'appointment.requestedPeriod')" } ], "rule": [ { "name": "appointmentStart", "source": [ { "context": "itemp", "element": "item", "variable": "item2", "condition": "((linkId.value = 'appointment.requestedPeriod.start') and answer.exists())" } ], "target": [ { "context": "appointment", "contextType": "variable", "element": "start", "transform": "evaluate", "parameter": [ { "valueString": "%item2.answer.value" } ] }, { "context": "appointment", "contextType": "variable", "element": "end", "transform": "evaluate", "parameter": [ { "valueString": "%item2.answer.value" } ] } ], "rule": [ { "name": "appointmentendifnotsameasstart", "source": [ { "context": "itemp", "element": "item", "variable": "item3", "condition": "((linkId.value = 'appointment.requestedPeriod.end') and answer.exists())" } ], "target": [ { "context": "appointment", "contextType": "variable", "element": "end", "transform": "evaluate", "parameter": [ { "valueString": "%item3.answer.value" } ] } ] } ] } ] } ] }, { "name": "appointmentPatientInstruction", "source": [ { "context": "grp", "element": "item", "variable": "item", "condition": "((linkId.value = 'appointment.patientInstruction') and answer.exists())" } ], "target": [ { "context": "appointment", "contextType": "variable", "element": "patientInstruction", "transform": "evaluate", "parameter": [ { "valueString": "%item.answer.value" } ] } ] }, { "name": "appointmentLocation", "source": [ { "context": "grp", "element": "item", "variable": "item", "condition": "(linkId.value = 'appointment.location')" } ], "rule": [ { "name": "location", "source": [ { "context": "item" } ], "target": [ { "context": "bundle", "contextType": "variable", "element": "entry", "variable": "e5" }, { "context": "e5", "contextType": "variable", "element": "resource", "variable": "location", "transform": "create", "parameter": [ { "valueString": "Location" } ] }, { "context": "location", "contextType": "variable", "element": "id", "variable": "uuid5", "transform": "uuid" }, { "context": "e5", "contextType": "variable", "element": "fullUrl", "transform": "evaluate", "parameter": [ { "valueString": "'urn:uuid:' + %uuid5" } ] }, { "context": "appointment", "contextType": "variable", "element": "participant", "variable": "participant" }, { "context": "participant", "contextType": "variable", "element": "status", "transform": "copy", "parameter": [ { "valueString": "tentative" } ] }, { "context": "participant", "contextType": "variable", "element": "actor", "variable": "actor", "transform": "create", "parameter": [ { "valueString": "Reference" } ] }, { "context": "actor", "contextType": "variable", "element": "reference", "transform": "evaluate", "parameter": [ { "valueString": "'urn:uuid:' + %location.id" } ] } ], "rule": [ { "name": "item", "source": [ { "context": "item", "element": "item", "variable": "item3", "condition": "((linkId.value = 'appointment.location.name') and answer.exists())" } ], "target": [ { "context": "location", "contextType": "variable", "element": "name", "transform": "evaluate", "parameter": [ { "valueString": "%item3.answer.value" } ] } ] }, { "name": "appointmentLocationPhone", "source": [ { "context": "item", "element": "item", "variable": "item3", "condition": "((linkId.value = 'appointment.location.phone') and answer.exists())" } ], "target": [ { "context": "location", "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": "%item3.answer.value" } ] } ] }, { "name": "appointmentLocationEmail", "source": [ { "context": "item", "element": "item", "variable": "item3", "condition": "((linkId.value = 'appointment.location.email') and answer.exists())" } ], "target": [ { "context": "location", "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": "%item3.answer.value" } ] } ] }, { "name": "appointmentLocationStreetAddressLine", "source": [ { "context": "item", "element": "item", "variable": "item3", "condition": "((linkId.value = 'appointment.location.streetAddressLine') and answer.exists())" } ], "target": [ { "context": "location", "contextType": "variable", "element": "address", "variable": "address", "listMode": [ "share" ], "listRuleId": "orgAddress" } ], "rule": [ { "name": "line", "source": [ { "context": "item", "element": "answer", "variable": "answer" } ], "target": [ { "context": "address", "contextType": "variable", "element": "line", "transform": "evaluate", "parameter": [ { "valueString": "%answer.value" } ] } ] } ] }, { "name": "appointmentLocationPostalCode", "source": [ { "context": "item", "element": "item", "variable": "item3", "condition": "((linkId.value = 'appointment.location.postalCode') and answer.exists())" } ], "target": [ { "context": "location", "contextType": "variable", "element": "address", "variable": "address", "listMode": [ "share" ], "listRuleId": "orgAddress" }, { "context": "address", "contextType": "variable", "element": "postalCode", "transform": "evaluate", "parameter": [ { "valueString": "%item3.answer.value" } ] } ] }, { "name": "appointmentlocationCity", "source": [ { "context": "item", "element": "item", "variable": "item3", "condition": "((linkId.value = 'appointment.location.city') and answer.exists())" } ], "target": [ { "context": "location", "contextType": "variable", "element": "address", "variable": "address", "listMode": [ "share" ], "listRuleId": "orgAddress" }, { "context": "address", "contextType": "variable", "element": "city", "transform": "evaluate", "parameter": [ { "valueString": "%item3.answer.value" } ] } ] }, { "name": "appointmentLocationCountry", "source": [ { "context": "item", "element": "item", "variable": "item3", "condition": "((linkId.value = 'appointment.location.country') and answer.exists())" } ], "target": [ { "context": "location", "contextType": "variable", "element": "address", "variable": "address", "listMode": [ "share" ], "listRuleId": "orgAddress" }, { "context": "address", "contextType": "variable", "element": "country", "transform": "evaluate", "parameter": [ { "valueString": "%item3.answer.value" } ] } ] } ] } ] } ] } ] }, { "name": "Note", "typeMode": "none", "input": [ { "name": "grp", "mode": "source" }, { "name": "serviceRequest", "type": "ServiceRequest", "mode": "target" } ], "rule": [ { "name": "noteText", "source": [ { "context": "grp", "element": "item", "variable": "item", "condition": "((linkId = 'note.text') and answer.exists())" } ], "target": [ { "context": "serviceRequest", "contextType": "variable", "element": "note", "variable": "note" }, { "context": "note", "contextType": "variable", "element": "text", "transform": "evaluate", "parameter": [ { "valueString": "%item.answer.value" } ] } ] } ] }, { "name": "QrToBundle", "typeMode": "none", "input": [ { "name": "qr", "type": "QuestionnaireResponseSource", "mode": "source" }, { "name": "patient", "type": "Patient", "mode": "target" }, { "name": "questionnaireresp", "type": "QuestionnaireResponse", "mode": "target" }, { "name": "servicerequest", "type": "ServiceRequest", "mode": "target" }, { "name": "composition", "type": "Composition", "mode": "target" }, { "name": "bundle", "type": "Bundle", "mode": "target" } ], "rule": [ { "name": "id", "source": [ { "context": "qr" } ], "target": [ { "context": "bundle", "contextType": "variable", "element": "id", "transform": "uuid" } ] }, { "name": "type", "source": [ { "context": "qr" } ], "target": [ { "context": "bundle", "contextType": "variable", "element": "type", "transform": "copy", "parameter": [ { "valueString": "document" } ] } ] }, { "name": "composition", "source": [ { "context": "qr" } ], "dependent": [ { "name": "OrfComposition", "variable": [ "qr", "composition", "patient", "questionnaireresp", "servicerequest", "bundle" ] } ] }, { "name": "qrgroups", "source": [ { "context": "qr" } ], "dependent": [ { "name": "QrToGroups", "variable": [ "qr", "patient", "bundle", "composition", "servicerequest" ] } ] } ] }, { "name": "OrfComposition", "typeMode": "none", "documentation": "group OrfComposition(source qr : QuestionnaireResponseSource, target q: Questionnaire, target tgt : Composition, target patient: Patient, target questionnaireresp: QuestionnaireResponse, target servicerequest: ServiceRequest, target bundle : Bundle) {", "input": [ { "name": "qr", "type": "QuestionnaireResponseSource", "mode": "source" }, { "name": "tgt", "type": "Composition", "mode": "target" }, { "name": "patient", "type": "Patient", "mode": "target" }, { "name": "questionnaireresp", "type": "QuestionnaireResponse", "mode": "target" }, { "name": "servicerequest", "type": "ServiceRequest", "mode": "target" }, { "name": "bundle", "type": "Bundle", "mode": "target" } ], "rule": [ { "name": "status", "source": [ { "context": "qr" } ], "target": [ { "context": "tgt", "contextType": "variable", "element": "status", "transform": "copy", "parameter": [ { "valueString": "final" } ] } ] }, { "name": "subject", "source": [ { "context": "qr" } ], "target": [ { "context": "tgt", "contextType": "variable", "element": "subject", "variable": "reference", "transform": "create", "parameter": [ { "valueString": "Reference" } ] }, { "context": "reference", "contextType": "variable", "element": "reference", "transform": "evaluate", "parameter": [ { "valueString": "'urn:uuid:' + %patient.id" } ] } ] }, { "name": "sections", "source": [ { "context": "qr" } ], "target": [ { "context": "tgt", "contextType": "variable", "element": "section", "variable": "tgtSection" }, { "context": "tgtSection", "contextType": "variable", "element": "title", "transform": "copy", "parameter": [ { "valueString": "Order-Referral" } ] }, { "context": "tgtSection", "contextType": "variable", "element": "code", "variable": "code" }, { "context": "code", "contextType": "variable", "element": "coding", "variable": "coding" }, { "context": "coding", "contextType": "variable", "element": "system", "transform": "copy", "parameter": [ { "valueString": "http://loinc.org" } ] }, { "context": "coding", "contextType": "variable", "element": "code", "transform": "copy", "parameter": [ { "valueString": "93037-0" } ] }, { "context": "coding", "contextType": "variable", "element": "display", "transform": "copy", "parameter": [ { "valueString": "Portable medical order form" } ] }, { "context": "tgtSection", "contextType": "variable", "element": "entry", "variable": "reference", "transform": "create", "parameter": [ { "valueString": "Reference" } ] }, { "context": "reference", "contextType": "variable", "element": "reference", "transform": "evaluate", "parameter": [ { "valueString": "'urn:uuid:' + %questionnaireresp.id" } ] }, { "context": "tgtSection", "contextType": "variable", "element": "entry", "variable": "reference", "transform": "create", "parameter": [ { "valueString": "Reference" } ] }, { "context": "reference", "contextType": "variable", "element": "reference", "transform": "evaluate", "parameter": [ { "valueString": "'urn:uuid:' + %servicerequest.id" } ] } ] }, { "name": "servicerequest", "source": [ { "context": "qr" } ], "target": [ { "context": "servicerequest", "contextType": "variable", "element": "status", "transform": "copy", "parameter": [ { "valueString": "active" } ] }, { "context": "servicerequest", "contextType": "variable", "element": "intent", "transform": "copy", "parameter": [ { "valueString": "order" } ] }, { "context": "servicerequest", "contextType": "variable", "element": "subject", "variable": "reference", "transform": "create", "parameter": [ { "valueString": "Reference" } ] }, { "context": "reference", "contextType": "variable", "element": "reference", "transform": "evaluate", "parameter": [ { "valueString": "'urn:uuid:' + %patient.id" } ] } ] } ] } ] }