This page is part of the CH ORF (R4) (v2.0.0-ballot: STU 2 Ballot 1) based on FHIR R4. This is the current published version in its permanent home (it will always be available at this URL). For a full list of available versions, see the Directory of published versions
Draft as of 2023-06-29 |
<StructureMap xmlns="http://hl7.org/fhir">
<id value="OrfQrToBundle"/>
<text>
<status value="additional"/>
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>map "http://fhir.ch/ig/ch-orf/StructureMap/OrfQrToBundle" = "OrfQrToBundle"
//
// ORF QuestionnaireResponse to Bundle
// 2021-01-11 Oliver Egger, copyright ahdis ag, Apache License
// 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 QuestionnaireResponse as source
uses "http://hl7.org/fhir/StructureDefinition/BackboneElement" alias BackboneElement 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 QuestionnaireResponseTarget as target
group OrfQrToBundle(source qr : QuestionnaireResponse, 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 as qrcp -> bundle.entry as e,
e.resource = create('Composition') as composition,
composition.id = uuid() as uuid,
e.fullUrl = append('urn:uuid:',uuid),
bundle.entry as e2,
bundle.timestamp = (now()) as timestamp,
composition.date = timestamp,
composition.title = 'Order and Referral by Form',
composition.type as type, type.coding as coding, coding.code = '419891008', coding.system = 'http://snomed.info/sct',
composition.category as category, category.coding as coding, coding.code = '721963009', coding.system = 'http://snomed.info/sct',
e2.resource = create('Patient') as patient,
patient.id = uuid() as uuid2,
e2.fullUrl = append('urn:uuid:',uuid2),
bundle.entry as e4,
e4.resource = qrcp as questionnaireresp,
questionnaireresp.id = uuid() as uuid4,
e4.fullUrl = append('urn:uuid:',uuid4),
bundle.entry as e5,
e5.resource = create('ServiceRequest') as servicerequest,
servicerequest.id = uuid() as uuid5,
e5.fullUrl = append('urn:uuid:',uuid5) then {
qr.questionnaire as can -> bundle.entry as e6, e6.resource = (can.resolve()) as q, q.id = uuid() as uuid6, e6.fullUrl = append('urn:uuid:',uuid6) then QrToBundle(qr, q, patient, questionnaireresp, servicerequest, composition, bundle) "orfbundle";
} "orfbundle";
}
group QrToGroups(source qr : QuestionnaireResponse, 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='previousResults' then PreviousResults(grp, bundle, serviceRequest) "previousResults";
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 : BackboneElement, 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.valueString) "order.precedentDocumentIdentifier";
src.item as item where (linkId.value = 'order.placerOrderIdentifier' and answer.exists()) -> serviceRequest.identifier as value share placer,
value.type as type, type.coding as coding,
coding.system = 'http://terminology.hl7.org/CodeSystem/v2-0203',
coding.code = 'PLAC',
value.value=(item.answer.valueString) "order.placerOrderIdentifier";
src.item as item where (linkId.value = 'order.placerOrderIdentifierDomain' and answer.exists()) -> serviceRequest.identifier as value share placer,
value.system=(item.answer.valueString) "order.placerOrderIdentifierDomain";
src.item as item where (linkId.value = 'order.fillerOrderIdentifier' and answer.exists()) -> serviceRequest.identifier as value share filler,
value.type as type, type.coding as coding,
coding.system = 'http://terminology.hl7.org/CodeSystem/v2-0203',
coding.code = 'FILL',
value.value=(item.answer.valueString) "order.fillerOrderIdentifier";
src.item as item where (linkId.value = 'order.fillerOrderIdentifierDomain' and answer.exists()) -> serviceRequest.identifier as value share filler,
value.system=(item.answer.valueString) "order.fillerOrderIdentifierDomain";
src.item as item where (linkId.value = 'order.dateTime' 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)
// ,
// FIXME not known here practitionerRoleDataEnterer.organization = create('Reference') as reference, reference.type='Organization', reference.reference = append('urn:uuid:',uuid3)
then {
item then UrgentNotificationContactForRequestItems(item, practitionerRoleDataEnterer, practitionerDataEnterer) "data";
item then ExtOrfUrgentNotificationContactForRequest(item, practitionerRoleDataEnterer, extension) "extension";
} "order.notificationContactDocument.items";
} "order.notificationContactDocument";
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)
// ,
// FIXME not known here practitionerRoleDataEnterer.organization = create('Reference') as reference, reference.type='Organization', reference.reference = append('urn:uuid:',uuid3)
then {
item then UrgentNotificationContactForResponseItems(item, practitionerRoleDataEnterer, practitionerDataEnterer) "data";
item then ExtOrfUrgentNotificationContactForResponse(item, practitionerRoleDataEnterer, extension) "extension";
} "order.notificationContactDocumentResponse.items";
} "order.notificationContactDocumentResponse";
}
group UrgentNotificationContactForRequestPractitionerItems(source src : BackboneElement, 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' "sender.author.practitioner.title";
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) "sender.author.practitioner.phone";
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) "sender.author.practitioner.email";
}
group UrgentNotificationContactForRequestItems(source src : BackboneElement, target practitionerRole: practitionerRole, target practitioner : Practitioner) {
src.item as item where (linkId.value = 'order.notificationContactDocument.practitioner') then UrgentNotificationContactForRequestPractitionerItems(item, practitioner);
}
group ExtOrfUrgentNotificationContactForRequest(source src: BackboneElement, 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 : BackboneElement, 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' "sender.author.practitioner.title";
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) "sender.author.practitioner.phone";
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) "sender.author.practitioner.email";
}
group UrgentNotificationContactForResponseItems(source src : BackboneElement, target practitionerRole: practitionerRole, target practitioner : Practitioner) {
src.item as item where (linkId.value = 'order.notificationContactDocumentResponse.practitioner') then UrgentNotificationContactForResponsePractitionerItems(item, practitioner);
}
group ExtOrfUrgentNotificationContactForResponse(source src: BackboneElement, 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 : BackboneElement, 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' "receiver.practitioner.title";
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) "receiver.practitioner.gln";
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) "receiver.practitioner.zsr";
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) "receiver.practitioner.phone";
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) "receiver.practitioner.email";
}
group ReceiverOrganizationItems(source src : BackboneElement, 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) "receiver.organization.gln";
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) "receiver.organization.zsr";
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) "receiver.organization.streetAddressLine";
} "item.answer";
src.item as item where (linkId.value = 'receiver.organization.postalCode' and answer.exists()) -> organization.address as address share orgAddress, address.postalCode = (item.answer.value) "receiver.organization.postalCode";
src.item as item where (linkId.value = 'receiver.organization.city' and answer.exists()) -> organization.address as address share orgAddress, address.city = (item.answer.value) "receiver.organization.city";
src.item as item where (linkId.value = 'receiver.organization.country' and answer.exists()) -> organization.address as address share orgAddress, address.country = (item.answer.value) "receiver.organization.country";
}
group ReceiverItems(source src : BackboneElement, 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 : BackboneElement, 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) "consent.statement.note";
} "item.answer";
} "consent.statement";
}
group ReceiverInit(source src : BackboneElement, 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 : BackboneElement, 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) "initiator.personalrelation";
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) "initiator.legalrelation";
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";
} "initiator.relatedPerson";
}
group InitiatorRelatedPersonItems(source src : BackboneElement, 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) "initiator.relatedPerson.phone";
} "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) "initiator.relatedPerson.email";
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) "initiator.relatedPerson.streetAddressLine";
} "item.answer";
src.item as item where (linkId.value = 'initiator.relatedPerson.postalCode' and answer.exists()) -> relatedPerson.address as address share orgAddress, address.postalCode = (item.answer.value) "initiator.relatedPerson.postalCode";
src.item as item where (linkId.value = 'initiator.relatedPerson.city' and answer.exists()) -> relatedPerson.address as address share orgAddress, address.city = (item.answer.value) "initiator.relatedPerson.city";
src.item as item where (linkId.value = 'initiator.relatedPerson.country' and answer.exists()) -> relatedPerson.address as address share orgAddress, address.country = (item.answer.value) "initiator.relatedPerson.country";
}
group InitiatorPractitionerRoleItems(source src : BackboneElement, 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 : BackboneElement, 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' "initiator.practitionerRole.practitioner.title";
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) "initiator.practitionerRole.practitioner.phone";
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) "initiator.practitionerRole.practitioner.email";
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) "receiver.practitioner.gln";
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) "receiver.practitioner.zsr";
}
group InitiatorOrganizationItems(source src : BackboneElement, 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) "initiator.practitionerRole.organization.streetAddressLine";
} "item.answer";
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) "initiator.practitionerRole.organization.postalCode";
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) "initiator.practitionerRole.organization.city";
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) "initiator.practitionerRole.organization.country";
}
group FamilyDoctorInit(source src : BackboneElement, 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 : BackboneElement, 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) "familydoctor.practitioner.gln";
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) "familydoctor.practitioner.zsr";
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' "familydoctor.practitioner.title";
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) "familydoctor.practitioner.phone";
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) "familydoctor.practitioner.email";
}
group FamilyDoctorOrganizationItems(source src : BackboneElement, 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) "familydoctor.organization.streetAddressLine";
} "item.answer";
src.item as item where (linkId.value = 'familydoctor.organization.postalCode' and answer.exists()) -> organization.address as address share orgAddress, address.postalCode = (item.answer.value) "familydoctor.organization.postalCode";
src.item as item where (linkId.value = 'familydoctor.organization.city' and answer.exists()) -> organization.address as address share orgAddress, address.city = (item.answer.value) "familydoctor.organization.city";
src.item as item where (linkId.value = 'familydoctor.organization.country' and answer.exists()) -> organization.address as address share orgAddress, address.country = (item.answer.value) "familydoctor.organization.country";
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) "familydoctor.organization.gln";
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) "familydoctorr.organization.zsr";
}
group AntecedentEpisodeOfCareInit(source src : BackboneElement, 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 : BackboneElement, 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";
} "antecedentEpisodeOfCare.requestedPeriod.start";
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) "antecedentEpisodeOfCare.managingOrganization";
}
group AntecedentEpisodeOfCareOrganizationItems(source src : BackboneElement, 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) "antecedentEpisodeOfCareorganization.streetAddressLine";
} "item.answer";
src.item as item where (linkId.value = 'antecedentEpisodeOfCare.managingOrganization.postalCode' and answer.exists()) -> organization.address as address share orgAddress, address.postalCode = (item.answer.value) "sender.author.organization.postalCode";
src.item as item where (linkId.value = 'antecedentEpisodeOfCare.managingOrganization.city' and answer.exists()) -> organization.address as address share orgAddress, address.city = (item.answer.value) "sender.author.organization.city";
src.item as item where (linkId.value = 'antecedentEpisodeOfCare.managingOrganization.country' and answer.exists()) -> organization.address as address share orgAddress, address.country = (item.answer.value) "sender.author.organization.country";
}
group InitiatorInit(source src : BackboneElement, 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 : BackboneElement, 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.valueString) "patient.localPid";
src.item as item where (linkId.value = 'patient.localPidDomain' and answer.exists()) -> tgt.identifier as value share localpid,
value.system=(item.answer.valueString) "patient.localPidDomain";
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";
} "answer";
} "patient.maritalStatus";
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) "patient.phone";
} "patient.phone";
src.item as item where (linkId.value = 'patient.email' and answer.exists()) -> tgt.telecom as value,
value.system = 'email',
value.value=(item.answer.value) "patient.email";
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) "patient.streetAddressLine";
} "item.answer";
src.item as item where (linkId.value = 'patient.postalCode' and answer.exists()) -> tgt.address as address share orgAddress, address.postalCode = (item.answer.value) "patient.postalCode";
src.item as item where (linkId.value = 'patient.city' and answer.exists()) -> tgt.address as address share orgAddress, address.city = (item.answer.value) "patient.city";
src.item as item where (linkId.value = 'patient.country' and answer.exists()) -> tgt.address as address share orgAddress, address.country = (item.answer.value) "patient.country";
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";
} "answer";
} "patient.languageOfCorrespondence";
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) "patient.phone";
} "patient.contactperson.phone";
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) "patient.email";
item.item as item where (linkId.value = 'patient.contactperson.relationship' and answer.exists()) -> contact.relationship as relationship,
relationship.text=(item.answer.value) "patient.contactperson.relationship";
} "contact";
}
group RequestedEncounterItems(source src : BackboneElement, 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) "requestedEncounter.class";
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) "requestedEncounter.desiredAccommodation";
} "RequestedEncounterItems";
}
group Coverage(source src : BackboneElement, 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) "coverage.beneficiary.ahvn13";
} "coverage.beneficiary";
// 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-orf/CodeSystem/ch-orf-cs-coveragetype', coding.code = 'KVG' 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) "coverage.kvg.name";
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) "coverage.kvg.insuranceCardNumber";
} "coveragekvg";
// coverage.uvg Unfallversicherung (nach UVG) 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-orf/CodeSystem/ch-orf-cs-coveragetype', coding.code = 'UVG' 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) "coverage.uvg.name";
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) "coverage.uvg.claimNumber";
} "coverageuvg";
// coverage.vvg Zusatzversicherung (nach VVG) 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-orf/CodeSystem/ch-orf-cs-coveragetype', coding.code = 'VVG' 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) "coverage.vvg.name";
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) "coverage.vvg.insuranceCardNumber";
} "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-orf/CodeSystem/ch-orf-cs-coveragetype', coding.code = 'IVG' 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' "coverage.iv.verfuegungsnummer";
} "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-orf/CodeSystem/ch-orf-cs-coveragetype', coding.code = 'MVG' 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' "coverage.mv.versichertennummer";
} "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-orf/CodeSystem/ch-orf-cs-coveragetype', coding.code = 'Self',
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-orf/CodeSystem/ch-orf-cs-coveragetype', coding.code = 'Self',
bundle.entry as e6,
e6.resource = create('RelatedPerson') as relatedPerson,
relatedPerson.id = uuid() as uuid6,
e6.fullUrl = append('urn:uuid:',uuid6),
coverage.payor as subject, subject.reference = ('urn:uuid:'+%relatedPerson.id),
relatedPerson.patient as reference, reference.reference = ('urn:uuid:'+%patient.id)
then
CoverageRelatedPersonItems(item,relatedPerson) "coverage.self.relatedPerson";
} "coverage.self.patientrelated.";
} "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-orf/CodeSystem/ch-orf-cs-coveragetype', coding.code = 'Other' 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) "coverage.other.name";
item.item as item where (linkId.value = 'coverage.other.id' and answer.exists()) ->
coverage.identifier as identifier, identifier.value = (item.answer.value) "coverage.other.id";
} "coveragevvg";
}
group CoverageRelatedPersonItems(source src : BackboneElement, 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) "coverage.self.relatedPerson.phone";
} "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) "coverage.self.relatedPerson.email";
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) "coverage.self.relatedPerson.streetAddressLine";
} "item.answer";
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) "coverage.self.relatedPerson.postalCode";
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) "coverage.self.relatedPerson.city";
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) "coverage.self.relatedPerson.country";
}
group SenderAuthorPractitionerItems(source src : BackboneElement, 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' "sender.author.practitioner.title";
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) "sender.author.practitioner.gln";
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) "recsender.author.practitioner.zsr";
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) "sender.author.practitioner.phone";
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) "sender.author.practitioner.email";
}
group SenderAuthorOrganizationItems(source src : BackboneElement, 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) "sender.author.organization.gln";
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) "sender.author.organization.zsr";
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) "sender.author.organization.streetAddressLine";
} "item.answer";
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) "sender.author.organization.postalCode";
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) "sender.author.organization.city";
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) "sender.author.organization.country";
}
group SenderAuthorItems(source src : BackboneElement, 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 : BackboneElement, 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) "sender.author.practitioner.phone";
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) "sender.author.practitioner.email";
}
group SenderDataEntererItems(source src : BackboneElement, 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: BackboneElement, 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 : BackboneElement, 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) "sender.author";
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";
} "sender.dataenterer.items";
} "sender.dataenterer";
} "sender";
}
group ReceiverCopyRelatedPersonItems(source src : BackboneElement, 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) "receiverCopy.relatedPerson.phone";
} "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) "receiverCopy.relatedPerson.email";
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) "receiverCopy.relatedPerson.streetAddressLine";
} "item.answer";
src.item as item where (linkId.value = 'receiverCopy.relatedPerson.postalCode' and answer.exists()) -> relatedPerson.address as address share orgAddress, address.postalCode = (item.answer.value) "receiverCopy.relatedPerson.postalCode";
src.item as item where (linkId.value = 'receiverCopy.relatedPerson.city' and answer.exists()) -> relatedPerson.address as address share orgAddress, address.city = (item.answer.value) "receiverCopy.relatedPerson.city";
src.item as item where (linkId.value = 'receiverCopy.relatedPerson.country' and answer.exists()) -> relatedPerson.address as address share orgAddress, address.country = (item.answer.value) "receiverCopy.relatedPerson.country";
}
group ReceiverCopyPractitionerItems(source src : BackboneElement, 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' "receiverCopy.practitionerRole.practitioner.title";
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) "receiverCopy.practitionerRole.practitioner.phone";
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) "receiverCopy.practitionerRole.practitioner.email";
}
group ReceiverCopyOrganizationItems(source src : BackboneElement, 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) "receiverCopy.practitionerRole.organization.streetAddressLine";
} "item.answer";
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) "receiverCopy.practitionerRole.organization.postalCode";
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) "receiverCopy.practitionerRole.organization.city";
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) "receiverCopy.practitionerRole.organization.country";
}
group ReceiverCopyPractitionerRoleItems(source src : BackboneElement, 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: BackboneElement, 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 ExtOrfCopyReceiver(source src: BackboneElement, target res, 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 : BackboneElement, 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 ExtOrfCopyReceiver(item, practitionerrole, extension) "extension";
} "receiverCopyPractitionerRole1";
grp.item as item where (linkId='receiverCopy.patient') ->
composition.extension as extension then {
item then ExtOrfCopyReceiver(item, patient, extension) "extension";
} "receiverCopyPractitionerRole2";
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 ExtOrfCopyReceiver(item, relatedPerson, extension) "extension";
} "receiverCopyPractitionerRole3";
}
group Appointment(source grp : BackboneElement, target bundle: Bundle, target composition : Composition, target serviceRequest: ServiceRequest) {
grp.item -> 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) "appointment.requestedPeriod.end.if.not.same.as.start";
} "appointment.requestedPeriod.start";
} "appointment.requestedPeriod";
} "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) "appointment.end.if.not.same.as.start";
} "appointment.start";
} "appointment.startend";
} "pendingorbooked";
grp.item as item where (linkId.value = 'appointment.patientInstruction' and answer.exists()) -> appointment.patientInstruction = (item.answer.value) "appointment.patientInstruction";
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) "appointment.location.phone";
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) "appointment.location.email";
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";
} "appointment.location.streetAddressLine";
item.item as item3 where (linkId.value = 'appointment.location.postalCode' and answer.exists()) -> location.address as address share orgAddress, address.postalCode = (item3.answer.value) "appointment.location.postalCode";
item.item as item3 where (linkId.value = 'appointment.location.city' and answer.exists()) -> location.address as address share orgAddress, address.city = (item3.answer.value) "appointment.location.city";
item.item as item3 where (linkId.value = 'appointment.location.country' and answer.exists()) -> location.address as address share orgAddress, address.country = (item3.answer.value) "appointment.location.country";
} "location";
} "appointment.location";
} "Appointment";
}
group PreviousResults(source grp : BackboneElement, target bundle: Bundle, target serviceRequest: ServiceRequest) {
grp.item as item where (linkId='previousResults.attachment' and answer.exists()) then {
item.answer as answer then {
answer.value: Attachment as attachment ->
bundle.entry as e,
e.resource = create('Media') as media,
media.id = uuid() as uuid,
media.status = 'completed',
e.fullUrl = append('urn:uuid:',uuid),
media.content = attachment,
serviceRequest.supportingInfo as supportingInfo,
supportingInfo.reference = ('urn:uuid:'+uuid)
"media";
} "answer";
} "item";
}
group Note(source grp : BackboneElement, target serviceRequest: ServiceRequest) {
grp.item as item where (linkId='note.text' and answer.exists()) -> serviceRequest.note as note, note.text = (item.answer.value) "note.text";
}
group QrToBundle(source qr : QuestionnaireResponse, target q: Questionnaire, target patient : Patient, target questionnaireresp: QuestionnaireResponseTarget, target servicerequest: ServiceRequest, target composition : Composition, target bundle : Bundle) {
qr -> bundle.id = uuid() "id";
qr -> bundle.type = 'document' "type";
qr then OrfComposition(qr, q, composition, patient, questionnaireresp, servicerequest, bundle) "composition";
qr then QrToGroups(qr, patient, bundle, composition, servicerequest) "qrgroups";
}
group OrfComposition(source qr : QuestionnaireResponse, target q: Questionnaire, target tgt : Composition, target patient: Patient, target questionnaireresp: QuestionnaireResponseTarget, 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),
tgtSection.entry = create('Reference') as reference, reference.reference = ('urn:uuid:'+%q.id) "sections";
qr -> servicerequest.status = 'active',
servicerequest.intent = 'order',
servicerequest.subject = create('Reference') as reference, reference.reference = ('urn:uuid:'+%patient.id) "servicerequest";
}</pre>
</div>
</text>
<url value="http://fhir.ch/ig/ch-orf/StructureMap/OrfQrToBundle"/>
<version value="2.0.0-ballot"/>
<name value="OrfQrToBundle"/>
<status value="draft"/>
<date value="2023-06-29T21:20:25+02:00"/>
<publisher value="HL7 Switzerland"/>
<contact>
<name value="HL7 Switzerland"/>
<telecom>
<system value="url"/>
<value value="https://www.hl7.ch/"/>
</telecom>
</contact>
<jurisdiction>
<coding>
<system value="urn:iso:std:iso:3166"/>
<code value="CH"/>
</coding>
</jurisdiction>
<copyright value="CC0-1.0"/>
<structure>
<url
value="http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse"/>
<mode value="source"/>
<alias value="QuestionnaireResponse"/>
</structure>
<structure>
<url value="http://hl7.org/fhir/StructureDefinition/BackboneElement"/>
<mode value="source"/>
<alias value="BackboneElement"/>
</structure>
<structure>
<url value="http://hl7.org/fhir/StructureDefinition/Bundle"/>
<mode value="target"/>
<alias value="Bundle"/>
</structure>
<structure>
<url value="http://hl7.org/fhir/StructureDefinition/Composition"/>
<mode value="target"/>
<alias value="Composition"/>
</structure>
<structure>
<url value="http://hl7.org/fhir/StructureDefinition/Patient"/>
<mode value="target"/>
<alias value="Patient"/>
</structure>
<structure>
<url value="http://hl7.org/fhir/StructureDefinition/RelatedPerson"/>
<mode value="target"/>
<alias value="RelatedPerson"/>
</structure>
<structure>
<url value="http://hl7.org/fhir/StructureDefinition/Organization"/>
<mode value="target"/>
<alias value="Organization"/>
</structure>
<structure>
<url value="http://hl7.org/fhir/StructureDefinition/Practitioner"/>
<mode value="target"/>
<alias value="Practitioner"/>
</structure>
<structure>
<url value="http://hl7.org/fhir/StructureDefinition/PractitionerRole"/>
<mode value="target"/>
<alias value="PractitionerRole"/>
</structure>
<structure>
<url value="http://hl7.org/fhir/StructureDefinition/ServiceRequest"/>
<mode value="target"/>
<alias value="ServiceRequest"/>
</structure>
<structure>
<url value="http://hl7.org/fhir/StructureDefinition/Extension"/>
<mode value="target"/>
<alias value="Extension"/>
</structure>
<structure>
<url value="http://hl7.org/fhir/StructureDefinition/EpisodeOfCare"/>
<mode value="target"/>
<alias value="EpisodeOfCare"/>
</structure>
<structure>
<url
value="http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse"/>
<mode value="target"/>
<alias value="QuestionnaireResponseTarget"/>
</structure>
<group>
<name value="OrfQrToBundle"/>
<typeMode value="none"/>
<input>
<name value="qr"/>
<type value="QuestionnaireResponse"/>
<mode value="source"/>
</input>
<input>
<name value="bundle"/>
<type value="Bundle"/>
<mode value="target"/>
</input>
<rule>
<name value="documentIdentifier"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="bundle"/>
<contextType value="variable"/>
<element value="identifier"/>
<variable value="documentIdentifier"/>
</target>
<target>
<context value="documentIdentifier"/>
<contextType value="variable"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString value="urn:ietf:rfc:3986"/>
</parameter>
</target>
<target>
<contextType value="variable"/>
<variable value="uuidDoc"/>
<transform value="uuid"/>
</target>
<target>
<context value="documentIdentifier"/>
<contextType value="variable"/>
<element value="value"/>
<transform value="append"/>
<parameter>
<valueString value="urn:uuid:"/>
</parameter>
<parameter>
<valueId value="uuidDoc"/>
</parameter>
</target>
</rule>
<rule>
<name value="orfbundle"/>
<source>
<context value="qr"/>
<variable value="qrcp"/>
</source>
<target>
<context value="bundle"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="e"/>
</target>
<target>
<context value="e"/>
<contextType value="variable"/>
<element value="resource"/>
<variable value="composition"/>
<transform value="create"/>
<parameter>
<valueString value="Composition"/>
</parameter>
</target>
<target>
<context value="composition"/>
<contextType value="variable"/>
<element value="id"/>
<variable value="uuid"/>
<transform value="uuid"/>
</target>
<target>
<context value="e"/>
<contextType value="variable"/>
<element value="fullUrl"/>
<transform value="append"/>
<parameter>
<valueString value="urn:uuid:"/>
</parameter>
<parameter>
<valueId value="uuid"/>
</parameter>
</target>
<target>
<context value="bundle"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="e2"/>
</target>
<target>
<context value="bundle"/>
<contextType value="variable"/>
<element value="timestamp"/>
<variable value="timestamp"/>
<transform value="evaluate"/>
<parameter>
<valueString value="now()"/>
</parameter>
</target>
<target>
<context value="composition"/>
<contextType value="variable"/>
<element value="date"/>
<transform value="copy"/>
<parameter>
<valueId value="timestamp"/>
</parameter>
</target>
<target>
<context value="composition"/>
<contextType value="variable"/>
<element value="title"/>
<transform value="copy"/>
<parameter>
<valueString value="Order and Referral by Form"/>
</parameter>
</target>
<target>
<context value="composition"/>
<contextType value="variable"/>
<element value="type"/>
<variable value="type"/>
</target>
<target>
<context value="type"/>
<contextType value="variable"/>
<element value="coding"/>
<variable value="coding"/>
</target>
<target>
<context value="coding"/>
<contextType value="variable"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="419891008"/>
</parameter>
</target>
<target>
<context value="coding"/>
<contextType value="variable"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString value="http://snomed.info/sct"/>
</parameter>
</target>
<target>
<context value="composition"/>
<contextType value="variable"/>
<element value="category"/>
<variable value="category"/>
</target>
<target>
<context value="category"/>
<contextType value="variable"/>
<element value="coding"/>
<variable value="coding"/>
</target>
<target>
<context value="coding"/>
<contextType value="variable"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="721963009"/>
</parameter>
</target>
<target>
<context value="coding"/>
<contextType value="variable"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString value="http://snomed.info/sct"/>
</parameter>
</target>
<target>
<context value="e2"/>
<contextType value="variable"/>
<element value="resource"/>
<variable value="patient"/>
<transform value="create"/>
<parameter>
<valueString value="Patient"/>
</parameter>
</target>
<target>
<context value="patient"/>
<contextType value="variable"/>
<element value="id"/>
<variable value="uuid2"/>
<transform value="uuid"/>
</target>
<target>
<context value="e2"/>
<contextType value="variable"/>
<element value="fullUrl"/>
<transform value="append"/>
<parameter>
<valueString value="urn:uuid:"/>
</parameter>
<parameter>
<valueId value="uuid2"/>
</parameter>
</target>
<target>
<context value="bundle"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="e4"/>
</target>
<target>
<context value="e4"/>
<contextType value="variable"/>
<element value="resource"/>
<variable value="questionnaireresp"/>
<transform value="copy"/>
<parameter>
<valueId value="qrcp"/>
</parameter>
</target>
<target>
<context value="questionnaireresp"/>
<contextType value="variable"/>
<element value="id"/>
<variable value="uuid4"/>
<transform value="uuid"/>
</target>
<target>
<context value="e4"/>
<contextType value="variable"/>
<element value="fullUrl"/>
<transform value="append"/>
<parameter>
<valueString value="urn:uuid:"/>
</parameter>
<parameter>
<valueId value="uuid4"/>
</parameter>
</target>
<target>
<context value="bundle"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="e5"/>
</target>
<target>
<context value="e5"/>
<contextType value="variable"/>
<element value="resource"/>
<variable value="servicerequest"/>
<transform value="create"/>
<parameter>
<valueString value="ServiceRequest"/>
</parameter>
</target>
<target>
<context value="servicerequest"/>
<contextType value="variable"/>
<element value="id"/>
<variable value="uuid5"/>
<transform value="uuid"/>
</target>
<target>
<context value="e5"/>
<contextType value="variable"/>
<element value="fullUrl"/>
<transform value="append"/>
<parameter>
<valueString value="urn:uuid:"/>
</parameter>
<parameter>
<valueId value="uuid5"/>
</parameter>
</target>
<rule>
<name value="orfbundle"/>
<source>
<context value="qr"/>
<element value="questionnaire"/>
<variable value="can"/>
</source>
<target>
<context value="bundle"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="e6"/>
</target>
<target>
<context value="e6"/>
<contextType value="variable"/>
<element value="resource"/>
<variable value="q"/>
<transform value="evaluate"/>
<parameter>
<valueString value="can.resolve()"/>
</parameter>
</target>
<target>
<context value="q"/>
<contextType value="variable"/>
<element value="id"/>
<variable value="uuid6"/>
<transform value="uuid"/>
</target>
<target>
<context value="e6"/>
<contextType value="variable"/>
<element value="fullUrl"/>
<transform value="append"/>
<parameter>
<valueString value="urn:uuid:"/>
</parameter>
<parameter>
<valueId value="uuid6"/>
</parameter>
</target>
<dependent>
<name value="QrToBundle"/>
<variable value="qr"/>
<variable value="q"/>
<variable value="patient"/>
<variable value="questionnaireresp"/>
<variable value="servicerequest"/>
<variable value="composition"/>
<variable value="bundle"/>
</dependent>
</rule>
</rule>
</group>
<group>
<name value="QrToGroups"/>
<typeMode value="none"/>
<input>
<name value="qr"/>
<type value="QuestionnaireResponse"/>
<mode value="source"/>
</input>
<input>
<name value="patient"/>
<type value="Patient"/>
<mode value="target"/>
</input>
<input>
<name value="bundle"/>
<type value="Bundle"/>
<mode value="target"/>
</input>
<input>
<name value="composition"/>
<type value="Composition"/>
<mode value="target"/>
</input>
<input>
<name value="serviceRequest"/>
<type value="ServiceRequest"/>
<mode value="target"/>
</input>
<rule>
<name value="grporder"/>
<source>
<context value="qr"/>
<element value="item"/>
<variable value="grp"/>
<condition value="linkId = 'order'"/>
</source>
<dependent>
<name value="OrderItems"/>
<variable value="grp"/>
<variable value="bundle"/>
<variable value="composition"/>
<variable value="serviceRequest"/>
</dependent>
</rule>
<rule>
<name value="receiver"/>
<source>
<context value="qr"/>
<element value="item"/>
<variable value="grp"/>
<condition value="linkId = 'receiver'"/>
</source>
<dependent>
<name value="ReceiverInit"/>
<variable value="grp"/>
<variable value="bundle"/>
<variable value="composition"/>
<variable value="serviceRequest"/>
</dependent>
</rule>
<rule>
<name value="grpinitiator"/>
<source>
<context value="qr"/>
<element value="item"/>
<variable value="grp"/>
<condition value="linkId = 'initiator'"/>
</source>
<dependent>
<name value="InitiatorInit"/>
<variable value="grp"/>
<variable value="bundle"/>
<variable value="patient"/>
<variable value="composition"/>
<variable value="serviceRequest"/>
</dependent>
</rule>
<rule>
<name value="grppatient"/>
<source>
<context value="qr"/>
<element value="item"/>
<variable value="grp"/>
<condition value="linkId = 'patient'"/>
</source>
<dependent>
<name value="PatientItems"/>
<variable value="grp"/>
<variable value="bundle"/>
<variable value="patient"/>
<variable value="composition"/>
<variable value="serviceRequest"/>
</dependent>
</rule>
<rule>
<name value="grprequestedencounter"/>
<source>
<context value="qr"/>
<element value="item"/>
<variable value="grp"/>
<condition value="linkId = 'requestedEncounter'"/>
</source>
<dependent>
<name value="RequestedEncounterItems"/>
<variable value="grp"/>
<variable value="bundle"/>
<variable value="patient"/>
<variable value="serviceRequest"/>
</dependent>
</rule>
<rule>
<name value="grprequestedencounter"/>
<source>
<context value="qr"/>
<element value="item"/>
<variable value="grp"/>
<condition value="linkId = 'coverage'"/>
</source>
<dependent>
<name value="Coverage"/>
<variable value="grp"/>
<variable value="bundle"/>
<variable value="patient"/>
<variable value="serviceRequest"/>
</dependent>
</rule>
<rule>
<name value="grpsender"/>
<source>
<context value="qr"/>
<element value="item"/>
<variable value="grp"/>
<condition value="linkId = 'sender'"/>
</source>
<dependent>
<name value="SenderAuthorInit"/>
<variable value="grp"/>
<variable value="bundle"/>
<variable value="composition"/>
<variable value="serviceRequest"/>
</dependent>
</rule>
<rule>
<name value="receiverCopy"/>
<source>
<context value="qr"/>
<element value="item"/>
<variable value="grp"/>
<condition value="linkId = 'receiverCopy'"/>
</source>
<dependent>
<name value="ReceiverCopy"/>
<variable value="grp"/>
<variable value="bundle"/>
<variable value="patient"/>
<variable value="composition"/>
<variable value="serviceRequest"/>
</dependent>
</rule>
<rule>
<name value="appointment"/>
<source>
<context value="qr"/>
<element value="item"/>
<variable value="grp"/>
<condition value="linkId = 'appointment'"/>
</source>
<dependent>
<name value="Appointment"/>
<variable value="grp"/>
<variable value="bundle"/>
<variable value="composition"/>
<variable value="serviceRequest"/>
</dependent>
</rule>
<rule>
<name value="previousResults"/>
<source>
<context value="qr"/>
<element value="item"/>
<variable value="grp"/>
<condition value="linkId = 'previousResults'"/>
</source>
<dependent>
<name value="PreviousResults"/>
<variable value="grp"/>
<variable value="bundle"/>
<variable value="serviceRequest"/>
</dependent>
</rule>
<rule>
<name value="AntecedentEpisodeOfCareInit"/>
<source>
<context value="qr"/>
<element value="item"/>
<variable value="grp"/>
<condition value="linkId = 'antecedentEpisodeOfCare'"/>
</source>
<dependent>
<name value="AntecedentEpisodeOfCareInit"/>
<variable value="grp"/>
<variable value="bundle"/>
<variable value="patient"/>
<variable value="composition"/>
</dependent>
</rule>
<rule>
<name value="consent"/>
<source>
<context value="qr"/>
<element value="item"/>
<variable value="grp"/>
<condition value="linkId = 'consent'"/>
</source>
<dependent>
<name value="Consent"/>
<variable value="grp"/>
<variable value="bundle"/>
<variable value="composition"/>
</dependent>
</rule>
<rule>
<name value="note"/>
<source>
<context value="qr"/>
<element value="item"/>
<variable value="grp"/>
<condition value="linkId = 'note'"/>
</source>
<dependent>
<name value="Note"/>
<variable value="grp"/>
<variable value="serviceRequest"/>
</dependent>
</rule>
</group>
<group>
<name value="OrderItems"/>
<typeMode value="none"/>
<input>
<name value="src"/>
<type value="BackboneElement"/>
<mode value="source"/>
</input>
<input>
<name value="bundle"/>
<type value="Bundle"/>
<mode value="target"/>
</input>
<input>
<name value="composition"/>
<mode value="target"/>
</input>
<input>
<name value="serviceRequest"/>
<type value="ServiceRequest"/>
<mode value="target"/>
</input>
<rule>
<name value="order.precedentDocumentIdentifier"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'order.precedentDocumentIdentifier') and answer.exists())"/>
</source>
<target>
<context value="composition"/>
<contextType value="variable"/>
<element value="extension"/>
<variable value="ext"/>
</target>
<target>
<context value="ext"/>
<contextType value="variable"/>
<element value="url"/>
<transform value="copy"/>
<parameter>
<valueString
value="http://fhir.ch/ig/ch-orf/StructureDefinition/ch-orf-precedentdocument"/>
</parameter>
</target>
<target>
<context value="ext"/>
<contextType value="variable"/>
<element value="value"/>
<variable value="value"/>
<transform value="create"/>
<parameter>
<valueString value="Identifier"/>
</parameter>
</target>
<target>
<context value="value"/>
<contextType value="variable"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString value="urn:ietf:rfc:3986"/>
</parameter>
</target>
<target>
<context value="value"/>
<contextType value="variable"/>
<element value="value"/>
<transform value="evaluate"/>
<parameter>
<valueString value="'urn:uuid:' + item.answer.valueString"/>
</parameter>
</target>
</rule>
<rule>
<name value="order.placerOrderIdentifier"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'order.placerOrderIdentifier') and answer.exists())"/>
</source>
<target>
<context value="serviceRequest"/>
<contextType value="variable"/>
<element value="identifier"/>
<variable value="value"/>
<listMode value="share"/>
<listRuleId value="placer"/>
</target>
<target>
<context value="value"/>
<contextType value="variable"/>
<element value="type"/>
<variable value="type"/>
</target>
<target>
<context value="type"/>
<contextType value="variable"/>
<element value="coding"/>
<variable value="coding"/>
</target>
<target>
<context value="coding"/>
<contextType value="variable"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString value="http://terminology.hl7.org/CodeSystem/v2-0203"/>
</parameter>
</target>
<target>
<context value="coding"/>
<contextType value="variable"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="PLAC"/>
</parameter>
</target>
<target>
<context value="value"/>
<contextType value="variable"/>
<element value="value"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.valueString"/>
</parameter>
</target>
</rule>
<rule>
<name value="order.placerOrderIdentifierDomain"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'order.placerOrderIdentifierDomain') and answer.exists())"/>
</source>
<target>
<context value="serviceRequest"/>
<contextType value="variable"/>
<element value="identifier"/>
<variable value="value"/>
<listMode value="share"/>
<listRuleId value="placer"/>
</target>
<target>
<context value="value"/>
<contextType value="variable"/>
<element value="system"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.valueString"/>
</parameter>
</target>
</rule>
<rule>
<name value="order.fillerOrderIdentifier"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'order.fillerOrderIdentifier') and answer.exists())"/>
</source>
<target>
<context value="serviceRequest"/>
<contextType value="variable"/>
<element value="identifier"/>
<variable value="value"/>
<listMode value="share"/>
<listRuleId value="filler"/>
</target>
<target>
<context value="value"/>
<contextType value="variable"/>
<element value="type"/>
<variable value="type"/>
</target>
<target>
<context value="type"/>
<contextType value="variable"/>
<element value="coding"/>
<variable value="coding"/>
</target>
<target>
<context value="coding"/>
<contextType value="variable"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString value="http://terminology.hl7.org/CodeSystem/v2-0203"/>
</parameter>
</target>
<target>
<context value="coding"/>
<contextType value="variable"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="FILL"/>
</parameter>
</target>
<target>
<context value="value"/>
<contextType value="variable"/>
<element value="value"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.valueString"/>
</parameter>
</target>
</rule>
<rule>
<name value="order.fillerOrderIdentifierDomain"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'order.fillerOrderIdentifierDomain') and answer.exists())"/>
</source>
<target>
<context value="serviceRequest"/>
<contextType value="variable"/>
<element value="identifier"/>
<variable value="value"/>
<listMode value="share"/>
<listRuleId value="filler"/>
</target>
<target>
<context value="value"/>
<contextType value="variable"/>
<element value="system"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.valueString"/>
</parameter>
</target>
</rule>
<rule>
<name value="item"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'order.dateTime') and answer.exists())"/>
</source>
<target>
<context value="serviceRequest"/>
<contextType value="variable"/>
<element value="authoredOn"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
<rule>
<name value="item"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'order.priority') and answer.exists())"/>
</source>
<target>
<context value="serviceRequest"/>
<contextType value="variable"/>
<element value="priority"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value.code"/>
</parameter>
</target>
</rule>
<rule>
<name value="order.notificationContactDocument"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="(linkId.value = 'order.notificationContactDocument')"/>
</source>
<rule>
<name value="order.notificationContactDocument.items"/>
<source>
<context value="item"/>
</source>
<target>
<context value="bundle"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="e4"/>
</target>
<target>
<context value="e4"/>
<contextType value="variable"/>
<element value="resource"/>
<variable value="practitionerRoleDataEnterer"/>
<transform value="create"/>
<parameter>
<valueString value="PractitionerRole"/>
</parameter>
</target>
<target>
<context value="practitionerRoleDataEnterer"/>
<contextType value="variable"/>
<element value="id"/>
<variable value="uuid4"/>
<transform value="uuid"/>
</target>
<target>
<context value="e4"/>
<contextType value="variable"/>
<element value="fullUrl"/>
<transform value="append"/>
<parameter>
<valueString value="urn:uuid:"/>
</parameter>
<parameter>
<valueId value="uuid4"/>
</parameter>
</target>
<target>
<context value="composition"/>
<contextType value="variable"/>
<element value="extension"/>
<variable value="extension"/>
</target>
<target>
<context value="bundle"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="e5"/>
</target>
<target>
<context value="e5"/>
<contextType value="variable"/>
<element value="resource"/>
<variable value="practitionerDataEnterer"/>
<transform value="create"/>
<parameter>
<valueString value="Practitioner"/>
</parameter>
</target>
<target>
<context value="practitionerDataEnterer"/>
<contextType value="variable"/>
<element value="id"/>
<variable value="uuid5"/>
<transform value="uuid"/>
</target>
<target>
<context value="e5"/>
<contextType value="variable"/>
<element value="fullUrl"/>
<transform value="append"/>
<parameter>
<valueString value="urn:uuid:"/>
</parameter>
<parameter>
<valueId value="uuid5"/>
</parameter>
</target>
<target>
<context value="practitionerRoleDataEnterer"/>
<contextType value="variable"/>
<element value="practitioner"/>
<variable value="reference"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<target>
<context value="reference"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="append"/>
<parameter>
<valueString value="urn:uuid:"/>
</parameter>
<parameter>
<valueId value="uuid5"/>
</parameter>
</target>
<rule>
<name value="data"/>
<source>
<context value="item"/>
</source>
<dependent>
<name value="UrgentNotificationContactForRequestItems"/>
<variable value="item"/>
<variable value="practitionerRoleDataEnterer"/>
<variable value="practitionerDataEnterer"/>
</dependent>
</rule>
<rule>
<name value="extension"/>
<source>
<context value="item"/>
</source>
<dependent>
<name value="ExtOrfUrgentNotificationContactForRequest"/>
<variable value="item"/>
<variable value="practitionerRoleDataEnterer"/>
<variable value="extension"/>
</dependent>
</rule>
</rule>
</rule>
<rule>
<name value="order.notificationContactDocumentResponse"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="(linkId.value = 'order.notificationContactDocumentResponse')"/>
</source>
<rule>
<name value="order.notificationContactDocumentResponse.items"/>
<source>
<context value="item"/>
</source>
<target>
<context value="bundle"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="e4"/>
</target>
<target>
<context value="e4"/>
<contextType value="variable"/>
<element value="resource"/>
<variable value="practitionerRoleDataEnterer"/>
<transform value="create"/>
<parameter>
<valueString value="PractitionerRole"/>
</parameter>
</target>
<target>
<context value="practitionerRoleDataEnterer"/>
<contextType value="variable"/>
<element value="id"/>
<variable value="uuid4"/>
<transform value="uuid"/>
</target>
<target>
<context value="e4"/>
<contextType value="variable"/>
<element value="fullUrl"/>
<transform value="append"/>
<parameter>
<valueString value="urn:uuid:"/>
</parameter>
<parameter>
<valueId value="uuid4"/>
</parameter>
</target>
<target>
<context value="composition"/>
<contextType value="variable"/>
<element value="extension"/>
<variable value="extension"/>
</target>
<target>
<context value="bundle"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="e5"/>
</target>
<target>
<context value="e5"/>
<contextType value="variable"/>
<element value="resource"/>
<variable value="practitionerDataEnterer"/>
<transform value="create"/>
<parameter>
<valueString value="Practitioner"/>
</parameter>
</target>
<target>
<context value="practitionerDataEnterer"/>
<contextType value="variable"/>
<element value="id"/>
<variable value="uuid5"/>
<transform value="uuid"/>
</target>
<target>
<context value="e5"/>
<contextType value="variable"/>
<element value="fullUrl"/>
<transform value="append"/>
<parameter>
<valueString value="urn:uuid:"/>
</parameter>
<parameter>
<valueId value="uuid5"/>
</parameter>
</target>
<target>
<context value="practitionerRoleDataEnterer"/>
<contextType value="variable"/>
<element value="practitioner"/>
<variable value="reference"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<target>
<context value="reference"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="append"/>
<parameter>
<valueString value="urn:uuid:"/>
</parameter>
<parameter>
<valueId value="uuid5"/>
</parameter>
</target>
<rule>
<name value="data"/>
<source>
<context value="item"/>
</source>
<dependent>
<name value="UrgentNotificationContactForResponseItems"/>
<variable value="item"/>
<variable value="practitionerRoleDataEnterer"/>
<variable value="practitionerDataEnterer"/>
</dependent>
</rule>
<rule>
<name value="extension"/>
<source>
<context value="item"/>
</source>
<dependent>
<name value="ExtOrfUrgentNotificationContactForResponse"/>
<variable value="item"/>
<variable value="practitionerRoleDataEnterer"/>
<variable value="extension"/>
</dependent>
</rule>
</rule>
</rule>
</group>
<group>
<name value="UrgentNotificationContactForRequestPractitionerItems"/>
<typeMode value="none"/>
<input>
<name value="src"/>
<type value="BackboneElement"/>
<mode value="source"/>
</input>
<input>
<name value="practitioner"/>
<type value="Practitioner"/>
<mode value="target"/>
</input>
<rule>
<name value="item"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'order.notificationContactDocument.practitioner.familyName') and answer.exists())"/>
</source>
<target>
<context value="practitioner"/>
<contextType value="variable"/>
<element value="name"/>
<variable value="name"/>
<listMode value="share"/>
<listRuleId value="practitionerName"/>
</target>
<target>
<context value="name"/>
<contextType value="variable"/>
<element value="family"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
<rule>
<name value="item"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'order.notificationContactDocument.practitioner.givenName') and answer.exists())"/>
</source>
<target>
<context value="practitioner"/>
<contextType value="variable"/>
<element value="name"/>
<variable value="name"/>
<listMode value="share"/>
<listRuleId value="practitionerName"/>
</target>
<target>
<context value="name"/>
<contextType value="variable"/>
<element value="given"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
<rule>
<name value="sender.author.practitioner.title"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'order.notificationContactDocument.practitioner.title') and answer.exists())"/>
</source>
<target>
<context value="practitioner"/>
<contextType value="variable"/>
<element value="name"/>
<variable value="name"/>
<listMode value="share"/>
<listRuleId value="practitionerName"/>
</target>
<target>
<context value="name"/>
<contextType value="variable"/>
<element value="prefix"/>
<variable value="prefix"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
<target>
<context value="prefix"/>
<contextType value="variable"/>
<element value="extension"/>
<variable value="ext"/>
</target>
<target>
<context value="ext"/>
<contextType value="variable"/>
<element value="url"/>
<transform value="copy"/>
<parameter>
<valueString
value="http://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier"/>
</parameter>
</target>
<target>
<context value="ext"/>
<contextType value="variable"/>
<element value="value"/>
<variable value="value"/>
<transform value="create"/>
<parameter>
<valueString value="code"/>
</parameter>
</target>
<target>
<context value="value"/>
<contextType value="variable"/>
<element value="value"/>
<transform value="copy"/>
<parameter>
<valueString value="AC"/>
</parameter>
</target>
</rule>
<rule>
<name value="sender.author.practitioner.phone"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'order.notificationContactDocument.practitioner.phone') and answer.exists())"/>
</source>
<target>
<context value="practitioner"/>
<contextType value="variable"/>
<element value="telecom"/>
<variable value="value"/>
</target>
<target>
<context value="value"/>
<contextType value="variable"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString value="phone"/>
</parameter>
</target>
<target>
<context value="value"/>
<contextType value="variable"/>
<element value="value"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
<rule>
<name value="sender.author.practitioner.email"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'order.notificationContactDocument.practitioner.email') and answer.exists())"/>
</source>
<target>
<context value="practitioner"/>
<contextType value="variable"/>
<element value="telecom"/>
<variable value="value"/>
</target>
<target>
<context value="value"/>
<contextType value="variable"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString value="email"/>
</parameter>
</target>
<target>
<context value="value"/>
<contextType value="variable"/>
<element value="value"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
</group>
<group>
<name value="UrgentNotificationContactForRequestItems"/>
<typeMode value="none"/>
<input>
<name value="src"/>
<type value="BackboneElement"/>
<mode value="source"/>
</input>
<input>
<name value="practitionerRole"/>
<type value="practitionerRole"/>
<mode value="target"/>
</input>
<input>
<name value="practitioner"/>
<type value="Practitioner"/>
<mode value="target"/>
</input>
<rule>
<name value="item"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="(linkId.value = 'order.notificationContactDocument.practitioner')"/>
</source>
<dependent>
<name value="UrgentNotificationContactForRequestPractitionerItems"/>
<variable value="item"/>
<variable value="practitioner"/>
</dependent>
</rule>
</group>
<group>
<name value="ExtOrfUrgentNotificationContactForRequest"/>
<typeMode value="none"/>
<input>
<name value="src"/>
<type value="BackboneElement"/>
<mode value="source"/>
</input>
<input>
<name value="practitionerRole"/>
<type value="PractitionerRole"/>
<mode value="target"/>
</input>
<input>
<name value="ext"/>
<type value="Extension"/>
<mode value="target"/>
</input>
<rule>
<name value="url"/>
<source>
<context value="src"/>
</source>
<target>
<context value="ext"/>
<contextType value="variable"/>
<element value="url"/>
<transform value="copy"/>
<parameter>
<valueString
value="http://fhir.ch/ig/ch-orf/StructureDefinition/ch-orf-urgentnoficationcontactforthisdocument"/>
</parameter>
</target>
</rule>
<rule>
<name value="practitionerRole"/>
<source>
<context value="src"/>
</source>
<target>
<context value="ext"/>
<contextType value="variable"/>
<element value="value"/>
<variable value="reference"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<target>
<context value="reference"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="evaluate"/>
<parameter>
<valueString value="'urn:uuid:' + %practitionerRole.id"/>
</parameter>
</target>
</rule>
</group>
<group>
<name value="UrgentNotificationContactForResponsePractitionerItems"/>
<typeMode value="none"/>
<input>
<name value="src"/>
<type value="BackboneElement"/>
<mode value="source"/>
</input>
<input>
<name value="practitioner"/>
<type value="Practitioner"/>
<mode value="target"/>
</input>
<rule>
<name value="item"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'order.notificationContactDocumentResponse.practitioner.familyName') and answer.exists())"/>
</source>
<target>
<context value="practitioner"/>
<contextType value="variable"/>
<element value="name"/>
<variable value="name"/>
<listMode value="share"/>
<listRuleId value="practitionerName"/>
</target>
<target>
<context value="name"/>
<contextType value="variable"/>
<element value="family"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
<rule>
<name value="item"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'order.notificationContactDocumentResponse.practitioner.givenName') and answer.exists())"/>
</source>
<target>
<context value="practitioner"/>
<contextType value="variable"/>
<element value="name"/>
<variable value="name"/>
<listMode value="share"/>
<listRuleId value="practitionerName"/>
</target>
<target>
<context value="name"/>
<contextType value="variable"/>
<element value="given"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
<rule>
<name value="sender.author.practitioner.title"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'order.notificationContactDocumentResponse.practitioner.title') and answer.exists())"/>
</source>
<target>
<context value="practitioner"/>
<contextType value="variable"/>
<element value="name"/>
<variable value="name"/>
<listMode value="share"/>
<listRuleId value="practitionerName"/>
</target>
<target>
<context value="name"/>
<contextType value="variable"/>
<element value="prefix"/>
<variable value="prefix"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
<target>
<context value="prefix"/>
<contextType value="variable"/>
<element value="extension"/>
<variable value="ext"/>
</target>
<target>
<context value="ext"/>
<contextType value="variable"/>
<element value="url"/>
<transform value="copy"/>
<parameter>
<valueString
value="http://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier"/>
</parameter>
</target>
<target>
<context value="ext"/>
<contextType value="variable"/>
<element value="value"/>
<variable value="value"/>
<transform value="create"/>
<parameter>
<valueString value="code"/>
</parameter>
</target>
<target>
<context value="value"/>
<contextType value="variable"/>
<element value="value"/>
<transform value="copy"/>
<parameter>
<valueString value="AC"/>
</parameter>
</target>
</rule>
<rule>
<name value="sender.author.practitioner.phone"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'order.notificationContactDocumentResponse.practitioner.phone') and answer.exists())"/>
</source>
<target>
<context value="practitioner"/>
<contextType value="variable"/>
<element value="telecom"/>
<variable value="value"/>
</target>
<target>
<context value="value"/>
<contextType value="variable"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString value="phone"/>
</parameter>
</target>
<target>
<context value="value"/>
<contextType value="variable"/>
<element value="value"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
<rule>
<name value="sender.author.practitioner.email"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'order.notificationContactDocumentResponse.practitioner.email') and answer.exists())"/>
</source>
<target>
<context value="practitioner"/>
<contextType value="variable"/>
<element value="telecom"/>
<variable value="value"/>
</target>
<target>
<context value="value"/>
<contextType value="variable"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString value="email"/>
</parameter>
</target>
<target>
<context value="value"/>
<contextType value="variable"/>
<element value="value"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
</group>
<group>
<name value="UrgentNotificationContactForResponseItems"/>
<typeMode value="none"/>
<input>
<name value="src"/>
<type value="BackboneElement"/>
<mode value="source"/>
</input>
<input>
<name value="practitionerRole"/>
<type value="practitionerRole"/>
<mode value="target"/>
</input>
<input>
<name value="practitioner"/>
<type value="Practitioner"/>
<mode value="target"/>
</input>
<rule>
<name value="item"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="(linkId.value = 'order.notificationContactDocumentResponse.practitioner')"/>
</source>
<dependent>
<name value="UrgentNotificationContactForResponsePractitionerItems"/>
<variable value="item"/>
<variable value="practitioner"/>
</dependent>
</rule>
</group>
<group>
<name value="ExtOrfUrgentNotificationContactForResponse"/>
<typeMode value="none"/>
<input>
<name value="src"/>
<type value="BackboneElement"/>
<mode value="source"/>
</input>
<input>
<name value="practitionerRole"/>
<type value="PractitionerRole"/>
<mode value="target"/>
</input>
<input>
<name value="ext"/>
<type value="Extension"/>
<mode value="target"/>
</input>
<rule>
<name value="url"/>
<source>
<context value="src"/>
</source>
<target>
<context value="ext"/>
<contextType value="variable"/>
<element value="url"/>
<transform value="copy"/>
<parameter>
<valueString
value="http://fhir.ch/ig/ch-orf/StructureDefinition/ch-orf-urgentnoficationcontactfortheresponsetothisdocument"/>
</parameter>
</target>
</rule>
<rule>
<name value="practitionerRole"/>
<source>
<context value="src"/>
</source>
<target>
<context value="ext"/>
<contextType value="variable"/>
<element value="value"/>
<variable value="reference"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<target>
<context value="reference"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="evaluate"/>
<parameter>
<valueString value="'urn:uuid:' + %practitionerRole.id"/>
</parameter>
</target>
</rule>
</group>
<group>
<name value="ReceiverPractitionerItems"/>
<typeMode value="none"/>
<input>
<name value="src"/>
<type value="BackboneElement"/>
<mode value="source"/>
</input>
<input>
<name value="practitioner"/>
<type value="Practitioner"/>
<mode value="target"/>
</input>
<rule>
<name value="item"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'receiver.practitioner.familyName') and answer.exists())"/>
</source>
<target>
<context value="practitioner"/>
<contextType value="variable"/>
<element value="name"/>
<variable value="name"/>
<listMode value="share"/>
<listRuleId value="practitionerName"/>
</target>
<target>
<context value="name"/>
<contextType value="variable"/>
<element value="family"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
<rule>
<name value="item"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'receiver.practitioner.givenName') and answer.exists())"/>
</source>
<target>
<context value="practitioner"/>
<contextType value="variable"/>
<element value="name"/>
<variable value="name"/>
<listMode value="share"/>
<listRuleId value="practitionerName"/>
</target>
<target>
<context value="name"/>
<contextType value="variable"/>
<element value="given"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
<rule>
<name value="receiver.practitioner.title"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'receiver.practitioner.title') and answer.exists())"/>
</source>
<target>
<context value="practitioner"/>
<contextType value="variable"/>
<element value="name"/>
<variable value="name"/>
<listMode value="share"/>
<listRuleId value="practitionerName"/>
</target>
<target>
<context value="name"/>
<contextType value="variable"/>
<element value="prefix"/>
<variable value="prefix"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
<target>
<context value="prefix"/>
<contextType value="variable"/>
<element value="extension"/>
<variable value="ext"/>
</target>
<target>
<context value="ext"/>
<contextType value="variable"/>
<element value="url"/>
<transform value="copy"/>
<parameter>
<valueString
value="http://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier"/>
</parameter>
</target>
<target>
<context value="ext"/>
<contextType value="variable"/>
<element value="value"/>
<variable value="value"/>
<transform value="create"/>
<parameter>
<valueString value="code"/>
</parameter>
</target>
<target>
<context value="value"/>
<contextType value="variable"/>
<element value="value"/>
<transform value="copy"/>
<parameter>
<valueString value="AC"/>
</parameter>
</target>
</rule>
<rule>
<name value="receiver.practitioner.gln"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'receiver.practitioner.gln') and answer.exists())"/>
</source>
<target>
<context value="practitioner"/>
<contextType value="variable"/>
<element value="identifier"/>
<variable value="value"/>
</target>
<target>
<context value="value"/>
<contextType value="variable"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString value="urn:oid:2.51.1.3"/>
</parameter>
</target>
<target>
<context value="value"/>
<contextType value="variable"/>
<element value="value"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
<rule>
<name value="receiver.practitioner.zsr"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'receiver.practitioner.zsr') and answer.exists())"/>
</source>
<target>
<context value="practitioner"/>
<contextType value="variable"/>
<element value="identifier"/>
<variable value="value"/>
</target>
<target>
<context value="value"/>
<contextType value="variable"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString value="urn:oid:2.16.756.5.30.1.123.100.2.1.1"/>
</parameter>
</target>
<target>
<context value="value"/>
<contextType value="variable"/>
<element value="value"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
<rule>
<name value="receiver.practitioner.phone"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'receiver.practitioner.phone') and answer.exists())"/>
</source>
<target>
<context value="practitioner"/>
<contextType value="variable"/>
<element value="telecom"/>
<variable value="value"/>
</target>
<target>
<context value="value"/>
<contextType value="variable"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString value="phone"/>
</parameter>
</target>
<target>
<context value="value"/>
<contextType value="variable"/>
<element value="value"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
<rule>
<name value="receiver.practitioner.email"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'receiver.practitioner.email') and answer.exists())"/>
</source>
<target>
<context value="practitioner"/>
<contextType value="variable"/>
<element value="telecom"/>
<variable value="value"/>
</target>
<target>
<context value="value"/>
<contextType value="variable"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString value="email"/>
</parameter>
</target>
<target>
<context value="value"/>
<contextType value="variable"/>
<element value="value"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
</group>
<group>
<name value="ReceiverOrganizationItems"/>
<typeMode value="none"/>
<input>
<name value="src"/>
<type value="BackboneElement"/>
<mode value="source"/>
</input>
<input>
<name value="organization"/>
<type value="Organization"/>
<mode value="target"/>
</input>
<rule>
<name value="item"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'receiver.organization.name') and answer.exists())"/>
</source>
<target>
<context value="organization"/>
<contextType value="variable"/>
<element value="name"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
<rule>
<name value="receiver.organization.gln"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'receiver.organization.gln') and answer.exists())"/>
</source>
<target>
<context value="organization"/>
<contextType value="variable"/>
<element value="identifier"/>
<variable value="value"/>
</target>
<target>
<context value="value"/>
<contextType value="variable"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString value="urn:oid:2.51.1.3"/>
</parameter>
</target>
<target>
<context value="value"/>
<contextType value="variable"/>
<element value="value"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
<rule>
<name value="receiver.organization.zsr"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'receiver.organization.zsr') and answer.exists())"/>
</source>
<target>
<context value="organization"/>
<contextType value="variable"/>
<element value="identifier"/>
<variable value="value"/>
</target>
<target>
<context value="value"/>
<contextType value="variable"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString value="urn:oid:2.16.756.5.30.1.123.100.2.1.1"/>
</parameter>
</target>
<target>
<context value="value"/>
<contextType value="variable"/>
<element value="value"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
<rule>
<name value="item.answer"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'receiver.organization.streetAddressLine') and answer.exists())"/>
</source>
<target>
<context value="organization"/>
<contextType value="variable"/>
<element value="address"/>
<variable value="address"/>
<listMode value="share"/>
<listRuleId value="orgAddress"/>
</target>
<rule>
<name value="receiver.organization.streetAddressLine"/>
<source>
<context value="item"/>
<element value="answer"/>
<variable value="answer"/>
</source>
<target>
<context value="address"/>
<contextType value="variable"/>
<element value="line"/>
<transform value="evaluate"/>
<parameter>
<valueString value="answer.value"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="receiver.organization.postalCode"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'receiver.organization.postalCode') and answer.exists())"/>
</source>
<target>
<context value="organization"/>
<contextType value="variable"/>
<element value="address"/>
<variable value="address"/>
<listMode value="share"/>
<listRuleId value="orgAddress"/>
</target>
<target>
<context value="address"/>
<contextType value="variable"/>
<element value="postalCode"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
<rule>
<name value="receiver.organization.city"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'receiver.organization.city') and answer.exists())"/>
</source>
<target>
<context value="organization"/>
<contextType value="variable"/>
<element value="address"/>
<variable value="address"/>
<listMode value="share"/>
<listRuleId value="orgAddress"/>
</target>
<target>
<context value="address"/>
<contextType value="variable"/>
<element value="city"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
<rule>
<name value="receiver.organization.country"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'receiver.organization.country') and answer.exists())"/>
</source>
<target>
<context value="organization"/>
<contextType value="variable"/>
<element value="address"/>
<variable value="address"/>
<listMode value="share"/>
<listRuleId value="orgAddress"/>
</target>
<target>
<context value="address"/>
<contextType value="variable"/>
<element value="country"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
</group>
<group>
<name value="ReceiverItems"/>
<typeMode value="none"/>
<input>
<name value="src"/>
<type value="BackboneElement"/>
<mode value="source"/>
</input>
<input>
<name value="bundle"/>
<type value="Bundle"/>
<mode value="target"/>
</input>
<input>
<name value="practitionerRole"/>
<type value="practitionerRole"/>
<mode value="target"/>
</input>
<rule>
<name value="item"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition value="(linkId.value = 'receiver.practitioner')"/>
</source>
<target>
<context value="bundle"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="e2"/>
</target>
<target>
<context value="e2"/>
<contextType value="variable"/>
<element value="resource"/>
<variable value="practitioner"/>
<transform value="create"/>
<parameter>
<valueString value="Practitioner"/>
</parameter>
</target>
<target>
<context value="practitioner"/>
<contextType value="variable"/>
<element value="id"/>
<variable value="uuid2"/>
<transform value="uuid"/>
</target>
<target>
<context value="practitionerRole"/>
<contextType value="variable"/>
<element value="practitioner"/>
<variable value="reference"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<target>
<context value="reference"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="append"/>
<parameter>
<valueString value="urn:uuid:"/>
</parameter>
<parameter>
<valueId value="uuid2"/>
</parameter>
</target>
<target>
<context value="e2"/>
<contextType value="variable"/>
<element value="fullUrl"/>
<transform value="append"/>
<parameter>
<valueString value="urn:uuid:"/>
</parameter>
<parameter>
<valueId value="uuid2"/>
</parameter>
</target>
<dependent>
<name value="ReceiverPractitionerItems"/>
<variable value="item"/>
<variable value="practitioner"/>
</dependent>
</rule>
<rule>
<name value="item"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition value="(linkId.value = 'receiver.organization')"/>
</source>
<target>
<context value="bundle"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="e3"/>
</target>
<target>
<context value="e3"/>
<contextType value="variable"/>
<element value="resource"/>
<variable value="organization"/>
<transform value="create"/>
<parameter>
<valueString value="Organization"/>
</parameter>
</target>
<target>
<context value="organization"/>
<contextType value="variable"/>
<element value="id"/>
<variable value="uuid3"/>
<transform value="uuid"/>
</target>
<target>
<context value="practitionerRole"/>
<contextType value="variable"/>
<element value="organization"/>
<variable value="reference"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<target>
<context value="reference"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="append"/>
<parameter>
<valueString value="urn:uuid:"/>
</parameter>
<parameter>
<valueId value="uuid3"/>
</parameter>
</target>
<target>
<context value="e3"/>
<contextType value="variable"/>
<element value="fullUrl"/>
<transform value="append"/>
<parameter>
<valueString value="urn:uuid:"/>
</parameter>
<parameter>
<valueId value="uuid3"/>
</parameter>
</target>
<dependent>
<name value="ReceiverOrganizationItems"/>
<variable value="item"/>
<variable value="organization"/>
</dependent>
</rule>
</group>
<group>
<name value="Consent"/>
<typeMode value="none"/>
<input>
<name value="src"/>
<type value="BackboneElement"/>
<mode value="source"/>
</input>
<input>
<name value="bundle"/>
<type value="Bundle"/>
<mode value="target"/>
</input>
<input>
<name value="composition"/>
<type value="Composition"/>
<mode value="target"/>
</input>
<rule>
<name value="consent.statement"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'consent.statement') and answer.exists())"/>
</source>
<target>
<context value="bundle"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="e"/>
</target>
<target>
<context value="e"/>
<contextType value="variable"/>
<element value="resource"/>
<variable value="consent"/>
<transform value="create"/>
<parameter>
<valueString value="Consent"/>
</parameter>
</target>
<target>
<context value="consent"/>
<contextType value="variable"/>
<element value="status"/>
<transform value="copy"/>
<parameter>
<valueString value="active"/>
</parameter>
</target>
<target>
<context value="consent"/>
<contextType value="variable"/>
<element value="scope"/>
<variable value="scope"/>
</target>
<target>
<context value="scope"/>
<contextType value="variable"/>
<element value="coding"/>
<variable value="coding"/>
</target>
<target>
<context value="coding"/>
<contextType value="variable"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="treatment"/>
</parameter>
</target>
<target>
<context value="coding"/>
<contextType value="variable"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString
value="http://terminology.hl7.org/CodeSystem/consentscope"/>
</parameter>
</target>
<target>
<context value="consent"/>
<contextType value="variable"/>
<element value="category"/>
<variable value="category"/>
</target>
<target>
<context value="category"/>
<contextType value="variable"/>
<element value="coding"/>
<variable value="coding"/>
</target>
<target>
<context value="coding"/>
<contextType value="variable"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="59284-0"/>
</parameter>
</target>
<target>
<context value="coding"/>
<contextType value="variable"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString value="http://loinc.org"/>
</parameter>
</target>
<target>
<context value="consent"/>
<contextType value="variable"/>
<element value="policyRule"/>
<variable value="policyRule"/>
</target>
<target>
<context value="policyRule"/>
<contextType value="variable"/>
<element value="coding"/>
<variable value="coding"/>
</target>
<target>
<context value="coding"/>
<contextType value="variable"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="385432009"/>
</parameter>
</target>
<target>
<context value="coding"/>
<contextType value="variable"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString value="http://snomed.info/sct"/>
</parameter>
</target>
<target>
<context value="consent"/>
<contextType value="variable"/>
<element value="id"/>
<variable value="uuid"/>
<transform value="uuid"/>
</target>
<target>
<context value="e"/>
<contextType value="variable"/>
<element value="fullUrl"/>
<transform value="append"/>
<parameter>
<valueString value="urn:uuid:"/>
</parameter>
<parameter>
<valueId value="uuid"/>
</parameter>
</target>
<target>
<context value="composition"/>
<contextType value="variable"/>
<element value="extension"/>
<variable value="ext"/>
</target>
<target>
<context value="ext"/>
<contextType value="variable"/>
<element value="url"/>
<transform value="copy"/>
<parameter>
<valueString
value="http://fhir.ch/ig/ch-orf/StructureDefinition/ch-orf-patientconsent"/>
</parameter>
</target>
<target>
<context value="ext"/>
<contextType value="variable"/>
<element value="value"/>
<variable value="reference"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<target>
<context value="consent"/>
<contextType value="variable"/>
<element value="extension"/>
<variable value="extcode"/>
</target>
<target>
<context value="extcode"/>
<contextType value="variable"/>
<element value="url"/>
<transform value="copy"/>
<parameter>
<valueString
value="http://fhir.ch/ig/ch-orf/StructureDefinition/ch-orf-consentcode"/>
</parameter>
</target>
<target>
<context value="extcode"/>
<contextType value="variable"/>
<element value="value"/>
<variable value="cc"/>
<transform value="create"/>
<parameter>
<valueString value="CodeableConcept"/>
</parameter>
</target>
<target>
<context value="cc"/>
<contextType value="variable"/>
<element value="coding"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
<target>
<context value="reference"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="append"/>
<parameter>
<valueString value="urn:uuid:"/>
</parameter>
<parameter>
<valueId value="uuid"/>
</parameter>
</target>
<rule>
<name value="item.answer"/>
<source>
<context value="item"/>
<element value="answer"/>
<variable value="answer"/>
</source>
<rule>
<name value="consent.statement.note"/>
<source>
<context value="answer"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'consent.statement.note') and answer.exists())"/>
</source>
<target>
<context value="consent"/>
<contextType value="variable"/>
<element value="extension"/>
<variable value="extnote"/>
</target>
<target>
<context value="extnote"/>
<contextType value="variable"/>
<element value="url"/>
<transform value="copy"/>
<parameter>
<valueString
value="http://fhir.ch/ig/ch-orf/StructureDefinition/ch-orf-consentnote"/>
</parameter>
</target>
<target>
<context value="extnote"/>
<contextType value="variable"/>
<element value="value"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
</rule>
</rule>
</group>
<group>
<name value="ReceiverInit"/>
<typeMode value="none"/>
<input>
<name value="src"/>
<type value="BackboneElement"/>
<mode value="source"/>
</input>
<input>
<name value="bundle"/>
<type value="Bundle"/>
<mode value="target"/>
</input>
<input>
<name value="composition"/>
<type value="Composition"/>
<mode value="target"/>
</input>
<input>
<name value="serviceRequest"/>
<type value="ServiceRequest"/>
<mode value="target"/>
</input>
<rule>
<name value="receiver"/>
<source>
<context value="src"/>
</source>
<target>
<context value="bundle"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="e"/>
</target>
<target>
<context value="e"/>
<contextType value="variable"/>
<element value="resource"/>
<variable value="practitionerRole"/>
<transform value="create"/>
<parameter>
<valueString value="PractitionerRole"/>
</parameter>
</target>
<target>
<context value="practitionerRole"/>
<contextType value="variable"/>
<element value="id"/>
<variable value="uuid"/>
<transform value="uuid"/>
</target>
<target>
<context value="e"/>
<contextType value="variable"/>
<element value="fullUrl"/>
<transform value="append"/>
<parameter>
<valueString value="urn:uuid:"/>
</parameter>
<parameter>
<valueId value="uuid"/>
</parameter>
</target>
<target>
<context value="composition"/>
<contextType value="variable"/>
<element value="extension"/>
<variable value="ext"/>
</target>
<target>
<context value="ext"/>
<contextType value="variable"/>
<element value="url"/>
<transform value="copy"/>
<parameter>
<valueString
value="http://fhir.ch/ig/ch-orf/StructureDefinition/ch-orf-receiver"/>
</parameter>
</target>
<target>
<context value="ext"/>
<contextType value="variable"/>
<element value="value"/>
<variable value="reference"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<target>
<context value="reference"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="append"/>
<parameter>
<valueString value="urn:uuid:"/>
</parameter>
<parameter>
<valueId value="uuid"/>
</parameter>
</target>
<dependent>
<name value="ReceiverItems"/>
<variable value="src"/>
<variable value="bundle"/>
<variable value="practitionerRole"/>
</dependent>
</rule>
</group>
<group>
<name value="InitiatorItems"/>
<typeMode value="none"/>
<input>
<name value="src"/>
<type value="BackboneElement"/>
<mode value="source"/>
</input>
<input>
<name value="bundle"/>
<type value="Bundle"/>
<mode value="target"/>
</input>
<input>
<name value="patient"/>
<type value="Patient"/>
<mode value="target"/>
</input>
<input>
<name value="ext"/>
<type value="Extension"/>
<mode value="target"/>
</input>
<rule>
<name value="initiator.personalrelation"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'initiator.personalrelation') and answer.exists())"/>
</source>
<target>
<context value="ext"/>
<contextType value="variable"/>
<element value="extension"/>
<variable value="extension"/>
</target>
<target>
<context value="extension"/>
<contextType value="variable"/>
<element value="url"/>
<transform value="copy"/>
<parameter>
<valueString value="ch-orf-personalrelation"/>
</parameter>
</target>
<target>
<context value="extension"/>
<contextType value="variable"/>
<element value="value"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
<rule>
<name value="initiator.legalrelation"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'initiator.legalrelation') and answer.exists())"/>
</source>
<target>
<context value="ext"/>
<contextType value="variable"/>
<element value="extension"/>
<variable value="extension"/>
</target>
<target>
<context value="extension"/>
<contextType value="variable"/>
<element value="url"/>
<transform value="copy"/>
<parameter>
<valueString value="ch-orf-legalrelation"/>
</parameter>
</target>
<target>
<context value="extension"/>
<contextType value="variable"/>
<element value="value"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
<rule>
<name value="InitiatorPractitionerRoleItems"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition value="(linkId = 'initiator.practitionerRole')"/>
</source>
<target>
<context value="bundle"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="e4"/>
</target>
<target>
<context value="e4"/>
<contextType value="variable"/>
<element value="resource"/>
<variable value="practitionerrole"/>
<transform value="create"/>
<parameter>
<valueString value="PractitionerRole"/>
</parameter>
</target>
<target>
<context value="ext"/>
<contextType value="variable"/>
<element value="extension"/>
<variable value="extension"/>
</target>
<target>
<context value="practitionerrole"/>
<contextType value="variable"/>
<element value="id"/>
<variable value="uuid4"/>
<transform value="uuid"/>
</target>
<target>
<context value="extension"/>
<contextType value="variable"/>
<element value="url"/>
<transform value="copy"/>
<parameter>
<valueString value="ch-orf-personorganization"/>
</parameter>
</target>
<target>
<context value="extension"/>
<contextType value="variable"/>
<element value="value"/>
<variable value="reference"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<target>
<context value="reference"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="append"/>
<parameter>
<valueString value="urn:uuid:"/>
</parameter>
<parameter>
<valueId value="uuid4"/>
</parameter>
</target>
<target>
<context value="e4"/>
<contextType value="variable"/>
<element value="fullUrl"/>
<transform value="append"/>
<parameter>
<valueString value="urn:uuid:"/>
</parameter>
<parameter>
<valueId value="uuid4"/>
</parameter>
</target>
<rule>
<name value="data"/>
<source>
<context value="item"/>
</source>
<dependent>
<name value="InitiatorPractitionerRoleItems"/>
<variable value="item"/>
<variable value="bundle"/>
<variable value="practitionerrole"/>
</dependent>
</rule>
</rule>
<rule>
<name value="initiator.relatedPerson"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition value="(linkId = 'initiator.relatedPerson')"/>
</source>
<target>
<context value="bundle"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="e4"/>
</target>
<target>
<context value="e4"/>
<contextType value="variable"/>
<element value="resource"/>
<variable value="relatedPerson"/>
<transform value="create"/>
<parameter>
<valueString value="RelatedPerson"/>
</parameter>
</target>
<target>
<context value="ext"/>
<contextType value="variable"/>
<element value="extension"/>
<variable value="extension"/>
</target>
<target>
<context value="extension"/>
<contextType value="variable"/>
<element value="url"/>
<transform value="copy"/>
<parameter>
<valueString value="ch-orf-personorganization"/>
</parameter>
</target>
<target>
<context value="extension"/>
<contextType value="variable"/>
<element value="value"/>
<variable value="reference"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<target>
<context value="relatedPerson"/>
<contextType value="variable"/>
<element value="id"/>
<variable value="uuid4"/>
<transform value="uuid"/>
</target>
<target>
<context value="reference"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="append"/>
<parameter>
<valueString value="urn:uuid:"/>
</parameter>
<parameter>
<valueId value="uuid4"/>
</parameter>
</target>
<target>
<context value="relatedPerson"/>
<contextType value="variable"/>
<element value="patient"/>
<variable value="reference"/>
</target>
<target>
<context value="reference"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="evaluate"/>
<parameter>
<valueString value="'urn:uuid:' + %patient.id"/>
</parameter>
</target>
<target>
<context value="e4"/>
<contextType value="variable"/>
<element value="fullUrl"/>
<transform value="append"/>
<parameter>
<valueString value="urn:uuid:"/>
</parameter>
<parameter>
<valueId value="uuid4"/>
</parameter>
</target>
<rule>
<name value="data"/>
<source>
<context value="item"/>
</source>
<dependent>
<name value="InitiatorRelatedPersonItems"/>
<variable value="item"/>
<variable value="relatedPerson"/>
</dependent>
</rule>
</rule>
</group>
<group>
<name value="InitiatorRelatedPersonItems"/>
<typeMode value="none"/>
<input>
<name value="src"/>
<type value="BackboneElement"/>
<mode value="source"/>
</input>
<input>
<name value="relatedPerson"/>
<type value="RelatedPerson"/>
<mode value="target"/>
</input>
<rule>
<name value="item"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'initiator.relatedPerson.familyName') and answer.exists())"/>
</source>
<target>
<context value="relatedPerson"/>
<contextType value="variable"/>
<element value="name"/>
<variable value="name"/>
<listMode value="share"/>
<listRuleId value="name"/>
</target>
<target>
<context value="name"/>
<contextType value="variable"/>
<element value="family"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
<rule>
<name value="item"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'initiator.relatedPerson.givenName') and answer.exists())"/>
</source>
<target>
<context value="relatedPerson"/>
<contextType value="variable"/>
<element value="name"/>
<variable value="name"/>
<listMode value="share"/>
<listRuleId value="name"/>
</target>
<target>
<context value="name"/>
<contextType value="variable"/>
<element value="given"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
<rule>
<name value="phone"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'initiator.relatedPerson.phone') and answer.exists())"/>
</source>
<rule>
<name value="initiator.relatedPerson.phone"/>
<source>
<context value="item"/>
<element value="answer"/>
<variable value="answer"/>
</source>
<target>
<context value="relatedPerson"/>
<contextType value="variable"/>
<element value="telecom"/>
<variable value="value"/>
</target>
<target>
<context value="value"/>
<contextType value="variable"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString value="phone"/>
</parameter>
</target>
<target>
<context value="value"/>
<contextType value="variable"/>
<element value="value"/>
<transform value="evaluate"/>
<parameter>
<valueString value="answer.value"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="initiator.relatedPerson.email"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'initiator.relatedPerson.email') and answer.exists())"/>
</source>
<target>
<context value="relatedPerson"/>
<contextType value="variable"/>
<element value="telecom"/>
<variable value="value"/>
</target>
<target>
<context value="value"/>
<contextType value="variable"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString value="email"/>
</parameter>
</target>
<target>
<context value="value"/>
<contextType value="variable"/>
<element value="value"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
<rule>
<name value="item.answer"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'initiator.relatedPerson.streetAddressLine') and answer.exists())"/>
</source>
<target>
<context value="relatedPerson"/>
<contextType value="variable"/>
<element value="address"/>
<variable value="address"/>
<listMode value="share"/>
<listRuleId value="orgAddress"/>
</target>
<rule>
<name value="initiator.relatedPerson.streetAddressLine"/>
<source>
<context value="item"/>
<element value="answer"/>
<variable value="answer"/>
</source>
<target>
<context value="address"/>
<contextType value="variable"/>
<element value="line"/>
<transform value="evaluate"/>
<parameter>
<valueString value="answer.value"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="initiator.relatedPerson.postalCode"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'initiator.relatedPerson.postalCode') and answer.exists())"/>
</source>
<target>
<context value="relatedPerson"/>
<contextType value="variable"/>
<element value="address"/>
<variable value="address"/>
<listMode value="share"/>
<listRuleId value="orgAddress"/>
</target>
<target>
<context value="address"/>
<contextType value="variable"/>
<element value="postalCode"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
<rule>
<name value="initiator.relatedPerson.city"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'initiator.relatedPerson.city') and answer.exists())"/>
</source>
<target>
<context value="relatedPerson"/>
<contextType value="variable"/>
<element value="address"/>
<variable value="address"/>
<listMode value="share"/>
<listRuleId value="orgAddress"/>
</target>
<target>
<context value="address"/>
<contextType value="variable"/>
<element value="city"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
<rule>
<name value="initiator.relatedPerson.country"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'initiator.relatedPerson.country') and answer.exists())"/>
</source>
<target>
<context value="relatedPerson"/>
<contextType value="variable"/>
<element value="address"/>
<variable value="address"/>
<listMode value="share"/>
<listRuleId value="orgAddress"/>
</target>
<target>
<context value="address"/>
<contextType value="variable"/>
<element value="country"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
</group>
<group>
<name value="InitiatorPractitionerRoleItems"/>
<typeMode value="none"/>
<input>
<name value="src"/>
<type value="BackboneElement"/>
<mode value="source"/>
</input>
<input>
<name value="bundle"/>
<type value="Bundle"/>
<mode value="target"/>
</input>
<input>
<name value="practitionerRole"/>
<type value="practitionerRole"/>
<mode value="target"/>
</input>
<rule>
<name value="item"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="(linkId.value = 'initiator.practitionerRole.practitioner')"/>
</source>
<target>
<context value="bundle"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="e2"/>
</target>
<target>
<context value="e2"/>
<contextType value="variable"/>
<element value="resource"/>
<variable value="practitioner"/>
<transform value="create"/>
<parameter>
<valueString value="Practitioner"/>
</parameter>
</target>
<target>
<context value="practitioner"/>
<contextType value="variable"/>
<element value="id"/>
<variable value="uuid2"/>
<transform value="uuid"/>
</target>
<target>
<context value="practitionerRole"/>
<contextType value="variable"/>
<element value="practitioner"/>
<variable value="reference"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<target>
<context value="reference"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="append"/>
<parameter>
<valueString value="urn:uuid:"/>
</parameter>
<parameter>
<valueId value="uuid2"/>
</parameter>
</target>
<target>
<context value="e2"/>
<contextType value="variable"/>
<element value="fullUrl"/>
<transform value="append"/>
<parameter>
<valueString value="urn:uuid:"/>
</parameter>
<parameter>
<valueId value="uuid2"/>
</parameter>
</target>
<dependent>
<name value="InitiatorPractitionerItems"/>
<variable value="item"/>
<variable value="practitioner"/>
</dependent>
</rule>
<rule>
<name value="item"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="(linkId.value = 'initiator.practitionerRole.organization')"/>
</source>
<target>
<context value="bundle"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="e3"/>
</target>
<target>
<context value="e3"/>
<contextType value="variable"/>
<element value="resource"/>
<variable value="organization"/>
<transform value="create"/>
<parameter>
<valueString value="Organization"/>
</parameter>
</target>
<target>
<context value="organization"/>
<contextType value="variable"/>
<element value="id"/>
<variable value="uuid3"/>
<transform value="uuid"/>
</target>
<target>
<context value="practitionerRole"/>
<contextType value="variable"/>
<element value="organization"/>
<variable value="reference"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<target>
<context value="reference"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="append"/>
<parameter>
<valueString value="urn:uuid:"/>
</parameter>
<parameter>
<valueId value="uuid3"/>
</parameter>
</target>
<target>
<context value="e3"/>
<contextType value="variable"/>
<element value="fullUrl"/>
<transform value="append"/>
<parameter>
<valueString value="urn:uuid:"/>
</parameter>
<parameter>
<valueId value="uuid3"/>
</parameter>
</target>
<dependent>
<name value="InitiatorOrganizationItems"/>
<variable value="item"/>
<variable value="organization"/>
</dependent>
</rule>
</group>
<group>
<name value="InitiatorPractitionerItems"/>
<typeMode value="none"/>
<input>
<name value="src"/>
<type value="BackboneElement"/>
<mode value="source"/>
</input>
<input>
<name value="practitioner"/>
<type value="Practitioner"/>
<mode value="target"/>
</input>
<rule>
<name value="item"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'initiator.practitionerRole.practitioner.familyName') and answer.exists())"/>
</source>
<target>
<context value="practitioner"/>
<contextType value="variable"/>
<element value="name"/>
<variable value="name"/>
<listMode value="share"/>
<listRuleId value="practitionerName"/>
</target>
<target>
<context value="name"/>
<contextType value="variable"/>
<element value="family"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
<rule>
<name value="item"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'initiator.practitionerRole.practitioner.givenName') and answer.exists())"/>
</source>
<target>
<context value="practitioner"/>
<contextType value="variable"/>
<element value="name"/>
<variable value="name"/>
<listMode value="share"/>
<listRuleId value="practitionerName"/>
</target>
<target>
<context value="name"/>
<contextType value="variable"/>
<element value="given"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
<rule>
<name value="initiator.practitionerRole.practitioner.title"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'initiator.practitionerRole.practitioner.title') and answer.exists())"/>
</source>
<target>
<context value="practitioner"/>
<contextType value="variable"/>
<element value="name"/>
<variable value="name"/>
<listMode value="share"/>
<listRuleId value="practitionerName"/>
</target>
<target>
<context value="name"/>
<contextType value="variable"/>
<element value="prefix"/>
<variable value="prefix"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
<target>
<context value="prefix"/>
<contextType value="variable"/>
<element value="extension"/>
<variable value="ext"/>
</target>
<target>
<context value="ext"/>
<contextType value="variable"/>
<element value="url"/>
<transform value="copy"/>
<parameter>
<valueString
value="http://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier"/>
</parameter>
</target>
<target>
<context value="ext"/>
<contextType value="variable"/>
<element value="value"/>
<variable value="value"/>
<transform value="create"/>
<parameter>
<valueString value="code"/>
</parameter>
</target>
<target>
<context value="value"/>
<contextType value="variable"/>
<element value="value"/>
<transform value="copy"/>
<parameter>
<valueString value="AC"/>
</parameter>
</target>
</rule>
<rule>
<name value="initiator.practitionerRole.practitioner.phone"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'initiator.practitionerRole.practitioner.phone') and answer.exists())"/>
</source>
<target>
<context value="practitioner"/>
<contextType value="variable"/>
<element value="telecom"/>
<variable value="value"/>
</target>
<target>
<context value="value"/>
<contextType value="variable"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString value="phone"/>
</parameter>
</target>
<target>
<context value="value"/>
<contextType value="variable"/>
<element value="value"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
<rule>
<name value="initiator.practitionerRole.practitioner.email"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'initiator.practitionerRole.practitioner.email') and answer.exists())"/>
</source>
<target>
<context value="practitioner"/>
<contextType value="variable"/>
<element value="telecom"/>
<variable value="value"/>
</target>
<target>
<context value="value"/>
<contextType value="variable"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString value="email"/>
</parameter>
</target>
<target>
<context value="value"/>
<contextType value="variable"/>
<element value="value"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
<rule>
<name value="receiver.practitioner.gln"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'initiator.practitionerRole.practitioner.gln') and answer.exists())"/>
</source>
<target>
<context value="practitioner"/>
<contextType value="variable"/>
<element value="identifier"/>
<variable value="value"/>
</target>
<target>
<context value="value"/>
<contextType value="variable"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString value="urn:oid:2.51.1.3"/>
</parameter>
</target>
<target>
<context value="value"/>
<contextType value="variable"/>
<element value="value"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
<rule>
<name value="receiver.practitioner.zsr"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'initiator.practitionerRole.practitioner.zsr') and answer.exists())"/>
</source>
<target>
<context value="practitioner"/>
<contextType value="variable"/>
<element value="identifier"/>
<variable value="value"/>
</target>
<target>
<context value="value"/>
<contextType value="variable"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString value="urn:oid:2.16.756.5.30.1.123.100.2.1.1"/>
</parameter>
</target>
<target>
<context value="value"/>
<contextType value="variable"/>
<element value="value"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
</group>
<group>
<name value="InitiatorOrganizationItems"/>
<typeMode value="none"/>
<input>
<name value="src"/>
<type value="BackboneElement"/>
<mode value="source"/>
</input>
<input>
<name value="organization"/>
<type value="Organization"/>
<mode value="target"/>
</input>
<rule>
<name value="item"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'initiator.practitionerRole.organization.name') and answer.exists())"/>
</source>
<target>
<context value="organization"/>
<contextType value="variable"/>
<element value="name"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
<rule>
<name value="item.answer"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'initiator.practitionerRole.organization.streetAddressLine') and answer.exists())"/>
</source>
<target>
<context value="organization"/>
<contextType value="variable"/>
<element value="address"/>
<variable value="address"/>
<listMode value="share"/>
<listRuleId value="orgAddress"/>
</target>
<rule>
<name
value="initiator.practitionerRole.organization.streetAddressLine"/>
<source>
<context value="item"/>
<element value="answer"/>
<variable value="answer"/>
</source>
<target>
<context value="address"/>
<contextType value="variable"/>
<element value="line"/>
<transform value="evaluate"/>
<parameter>
<valueString value="answer.value"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="initiator.practitionerRole.organization.postalCode"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'initiator.practitionerRole.organization.postalCode') and answer.exists())"/>
</source>
<target>
<context value="organization"/>
<contextType value="variable"/>
<element value="address"/>
<variable value="address"/>
<listMode value="share"/>
<listRuleId value="orgAddress"/>
</target>
<target>
<context value="address"/>
<contextType value="variable"/>
<element value="postalCode"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
<rule>
<name value="initiator.practitionerRole.organization.city"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'initiator.practitionerRole.organization.city') and answer.exists())"/>
</source>
<target>
<context value="organization"/>
<contextType value="variable"/>
<element value="address"/>
<variable value="address"/>
<listMode value="share"/>
<listRuleId value="orgAddress"/>
</target>
<target>
<context value="address"/>
<contextType value="variable"/>
<element value="city"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
<rule>
<name value="initiator.practitionerRole.organization.country"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'initiator.practitionerRole.organization.country') and answer.exists())"/>
</source>
<target>
<context value="organization"/>
<contextType value="variable"/>
<element value="address"/>
<variable value="address"/>
<listMode value="share"/>
<listRuleId value="orgAddress"/>
</target>
<target>
<context value="address"/>
<contextType value="variable"/>
<element value="country"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
</group>
<group>
<name value="FamilyDoctorInit"/>
<typeMode value="none"/>
<input>
<name value="src"/>
<type value="BackboneElement"/>
<mode value="source"/>
</input>
<input>
<name value="bundle"/>
<type value="Bundle"/>
<mode value="target"/>
</input>
<input>
<name value="patient"/>
<type value="Patient"/>
<mode value="target"/>
</input>
<input>
<name value="composition"/>
<type value="Composition"/>
<mode value="target"/>
</input>
<input>
<name value="serviceRequest"/>
<type value="ServiceRequest"/>
<mode value="target"/>
</input>
<rule>
<name value="FamilyDoctorInit"/>
<source>
<context value="src"/>
</source>
<target>
<context value="bundle"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="e4"/>
</target>
<target>
<context value="e4"/>
<contextType value="variable"/>
<element value="resource"/>
<variable value="practitionerRole"/>
<transform value="create"/>
<parameter>
<valueString value="PractitionerRole"/>
</parameter>
</target>
<target>
<context value="practitionerRole"/>
<contextType value="variable"/>
<element value="id"/>
<variable value="uuid4"/>
<transform value="uuid"/>
</target>
<target>
<context value="patient"/>
<contextType value="variable"/>
<element value="generalPractitioner"/>
<variable value="gp"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<target>
<context value="gp"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="append"/>
<parameter>
<valueString value="urn:uuid:"/>
</parameter>
<parameter>
<valueId value="uuid4"/>
</parameter>
</target>
<target>
<context value="e4"/>
<contextType value="variable"/>
<element value="fullUrl"/>
<transform value="append"/>
<parameter>
<valueString value="urn:uuid:"/>
</parameter>
<parameter>
<valueId value="uuid4"/>
</parameter>
</target>
<rule>
<name value="item"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition value="(linkId.value = 'familydoctor.practitioner')"/>
</source>
<target>
<context value="bundle"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="e2"/>
</target>
<target>
<context value="e2"/>
<contextType value="variable"/>
<element value="resource"/>
<variable value="practitioner"/>
<transform value="create"/>
<parameter>
<valueString value="Practitioner"/>
</parameter>
</target>
<target>
<context value="practitioner"/>
<contextType value="variable"/>
<element value="id"/>
<variable value="uuid2"/>
<transform value="uuid"/>
</target>
<target>
<context value="practitionerRole"/>
<contextType value="variable"/>
<element value="practitioner"/>
<variable value="reference"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<target>
<context value="reference"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="append"/>
<parameter>
<valueString value="urn:uuid:"/>
</parameter>
<parameter>
<valueId value="uuid2"/>
</parameter>
</target>
<target>
<context value="e2"/>
<contextType value="variable"/>
<element value="fullUrl"/>
<transform value="append"/>
<parameter>
<valueString value="urn:uuid:"/>
</parameter>
<parameter>
<valueId value="uuid2"/>
</parameter>
</target>
<dependent>
<name value="FamilyDoctorPractitionerItems"/>
<variable value="item"/>
<variable value="practitioner"/>
</dependent>
</rule>
<rule>
<name value="item"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition value="(linkId.value = 'familydoctor.organization')"/>
</source>
<target>
<context value="bundle"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="e3"/>
</target>
<target>
<context value="e3"/>
<contextType value="variable"/>
<element value="resource"/>
<variable value="organization"/>
<transform value="create"/>
<parameter>
<valueString value="Organization"/>
</parameter>
</target>
<target>
<context value="organization"/>
<contextType value="variable"/>
<element value="id"/>
<variable value="uuid3"/>
<transform value="uuid"/>
</target>
<target>
<context value="practitionerRole"/>
<contextType value="variable"/>
<element value="organization"/>
<variable value="reference"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<target>
<context value="reference"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="append"/>
<parameter>
<valueString value="urn:uuid:"/>
</parameter>
<parameter>
<valueId value="uuid3"/>
</parameter>
</target>
<target>
<context value="e3"/>
<contextType value="variable"/>
<element value="fullUrl"/>
<transform value="append"/>
<parameter>
<valueString value="urn:uuid:"/>
</parameter>
<parameter>
<valueId value="uuid3"/>
</parameter>
</target>
<dependent>
<name value="FamilyDoctorOrganizationItems"/>
<variable value="item"/>
<variable value="organization"/>
</dependent>
</rule>
</rule>
</group>
<group>
<name value="FamilyDoctorPractitionerItems"/>
<typeMode value="none"/>
<input>
<name value="src"/>
<type value="BackboneElement"/>
<mode value="source"/>
</input>
<input>
<name value="practitioner"/>
<type value="Practitioner"/>
<mode value="target"/>
</input>
<rule>
<name value="item"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'familydoctor.practitioner.familyName') and answer.exists())"/>
</source>
<target>
<context value="practitioner"/>
<contextType value="variable"/>
<element value="name"/>
<variable value="name"/>
<listMode value="share"/>
<listRuleId value="practitionerName"/>
</target>
<target>
<context value="name"/>
<contextType value="variable"/>
<element value="family"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
<rule>
<name value="item"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'familydoctor.practitioner.givenName') and answer.exists())"/>
</source>
<target>
<context value="practitioner"/>
<contextType value="variable"/>
<element value="name"/>
<variable value="name"/>
<listMode value="share"/>
<listRuleId value="practitionerName"/>
</target>
<target>
<context value="name"/>
<contextType value="variable"/>
<element value="given"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
<rule>
<name value="familydoctor.practitioner.gln"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'familydoctor.practitioner.gln') and answer.exists())"/>
</source>
<target>
<context value="practitioner"/>
<contextType value="variable"/>
<element value="identifier"/>
<variable value="value"/>
</target>
<target>
<context value="value"/>
<contextType value="variable"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString value="urn:oid:2.51.1.3"/>
</parameter>
</target>
<target>
<context value="value"/>
<contextType value="variable"/>
<element value="value"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
<rule>
<name value="familydoctor.practitioner.zsr"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'familydoctor.practitioner.zsr') and answer.exists())"/>
</source>
<target>
<context value="practitioner"/>
<contextType value="variable"/>
<element value="identifier"/>
<variable value="value"/>
</target>
<target>
<context value="value"/>
<contextType value="variable"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString value="urn:oid:2.16.756.5.30.1.123.100.2.1.1"/>
</parameter>
</target>
<target>
<context value="value"/>
<contextType value="variable"/>
<element value="value"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
<rule>
<name value="familydoctor.practitioner.title"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'familydoctor.practitioner.title') and answer.exists())"/>
</source>
<target>
<context value="practitioner"/>
<contextType value="variable"/>
<element value="name"/>
<variable value="name"/>
<listMode value="share"/>
<listRuleId value="practitionerName"/>
</target>
<target>
<context value="name"/>
<contextType value="variable"/>
<element value="prefix"/>
<variable value="prefix"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
<target>
<context value="prefix"/>
<contextType value="variable"/>
<element value="extension"/>
<variable value="ext"/>
</target>
<target>
<context value="ext"/>
<contextType value="variable"/>
<element value="url"/>
<transform value="copy"/>
<parameter>
<valueString
value="http://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier"/>
</parameter>
</target>
<target>
<context value="ext"/>
<contextType value="variable"/>
<element value="value"/>
<variable value="value"/>
<transform value="create"/>
<parameter>
<valueString value="code"/>
</parameter>
</target>
<target>
<context value="value"/>
<contextType value="variable"/>
<element value="value"/>
<transform value="copy"/>
<parameter>
<valueString value="AC"/>
</parameter>
</target>
</rule>
<rule>
<name value="familydoctor.practitioner.phone"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'familydoctor.practitioner.phone') and answer.exists())"/>
</source>
<target>
<context value="practitioner"/>
<contextType value="variable"/>
<element value="telecom"/>
<variable value="value"/>
</target>
<target>
<context value="value"/>
<contextType value="variable"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString value="phone"/>
</parameter>
</target>
<target>
<context value="value"/>
<contextType value="variable"/>
<element value="value"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
<rule>
<name value="familydoctor.practitioner.email"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'familydoctor.practitioner.email') and answer.exists())"/>
</source>
<target>
<context value="practitioner"/>
<contextType value="variable"/>
<element value="telecom"/>
<variable value="value"/>
</target>
<target>
<context value="value"/>
<contextType value="variable"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString value="email"/>
</parameter>
</target>
<target>
<context value="value"/>
<contextType value="variable"/>
<element value="value"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
</group>
<group>
<name value="FamilyDoctorOrganizationItems"/>
<typeMode value="none"/>
<input>
<name value="src"/>
<type value="BackboneElement"/>
<mode value="source"/>
</input>
<input>
<name value="organization"/>
<type value="Organization"/>
<mode value="target"/>
</input>
<rule>
<name value="item"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'familydoctor.organization.name') and answer.exists())"/>
</source>
<target>
<context value="organization"/>
<contextType value="variable"/>
<element value="name"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
<rule>
<name value="item.answer"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'familydoctor.organization.streetAddressLine') and answer.exists())"/>
</source>
<target>
<context value="organization"/>
<contextType value="variable"/>
<element value="address"/>
<variable value="address"/>
<listMode value="share"/>
<listRuleId value="orgAddress"/>
</target>
<rule>
<name value="familydoctor.organization.streetAddressLine"/>
<source>
<context value="item"/>
<element value="answer"/>
<variable value="answer"/>
</source>
<target>
<context value="address"/>
<contextType value="variable"/>
<element value="line"/>
<transform value="evaluate"/>
<parameter>
<valueString value="answer.value"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="familydoctor.organization.postalCode"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'familydoctor.organization.postalCode') and answer.exists())"/>
</source>
<target>
<context value="organization"/>
<contextType value="variable"/>
<element value="address"/>
<variable value="address"/>
<listMode value="share"/>
<listRuleId value="orgAddress"/>
</target>
<target>
<context value="address"/>
<contextType value="variable"/>
<element value="postalCode"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
<rule>
<name value="familydoctor.organization.city"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'familydoctor.organization.city') and answer.exists())"/>
</source>
<target>
<context value="organization"/>
<contextType value="variable"/>
<element value="address"/>
<variable value="address"/>
<listMode value="share"/>
<listRuleId value="orgAddress"/>
</target>
<target>
<context value="address"/>
<contextType value="variable"/>
<element value="city"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
<rule>
<name value="familydoctor.organization.country"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'familydoctor.organization.country') and answer.exists())"/>
</source>
<target>
<context value="organization"/>
<contextType value="variable"/>
<element value="address"/>
<variable value="address"/>
<listMode value="share"/>
<listRuleId value="orgAddress"/>
</target>
<target>
<context value="address"/>
<contextType value="variable"/>
<element value="country"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
<rule>
<name value="familydoctor.organization.gln"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'familydoctor.organization.gln') and answer.exists())"/>
</source>
<target>
<context value="organization"/>
<contextType value="variable"/>
<element value="identifier"/>
<variable value="value"/>
</target>
<target>
<context value="value"/>
<contextType value="variable"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString value="urn:oid:2.51.1.3"/>
</parameter>
</target>
<target>
<context value="value"/>
<contextType value="variable"/>
<element value="value"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
<rule>
<name value="familydoctorr.organization.zsr"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'familydoctor.organization.zsr') and answer.exists())"/>
</source>
<target>
<context value="organization"/>
<contextType value="variable"/>
<element value="identifier"/>
<variable value="value"/>
</target>
<target>
<context value="value"/>
<contextType value="variable"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString value="urn:oid:2.16.756.5.30.1.123.100.2.1.1"/>
</parameter>
</target>
<target>
<context value="value"/>
<contextType value="variable"/>
<element value="value"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
</group>
<group>
<name value="AntecedentEpisodeOfCareInit"/>
<typeMode value="none"/>
<input>
<name value="src"/>
<type value="BackboneElement"/>
<mode value="source"/>
</input>
<input>
<name value="bundle"/>
<type value="Bundle"/>
<mode value="target"/>
</input>
<input>
<name value="patient"/>
<type value="Patient"/>
<mode value="target"/>
</input>
<input>
<name value="composition"/>
<type value="Composition"/>
<mode value="target"/>
</input>
<rule>
<name value="AntecedentEpisodeOfCareItems"/>
<source>
<context value="src"/>
</source>
<target>
<context value="composition"/>
<contextType value="variable"/>
<element value="extension"/>
<variable value="ext"/>
</target>
<target>
<context value="ext"/>
<contextType value="variable"/>
<element value="url"/>
<transform value="copy"/>
<parameter>
<valueString
value="http://fhir.ch/ig/ch-orf/StructureDefinition/ch-orf-antecedentepisodeofcare"/>
</parameter>
</target>
<target>
<context value="bundle"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="e4"/>
</target>
<target>
<context value="e4"/>
<contextType value="variable"/>
<element value="resource"/>
<variable value="episodeofcare"/>
<transform value="create"/>
<parameter>
<valueString value="EpisodeOfCare"/>
</parameter>
</target>
<target>
<context value="episodeofcare"/>
<contextType value="variable"/>
<element value="id"/>
<variable value="uuid4"/>
<transform value="uuid"/>
</target>
<target>
<context value="e4"/>
<contextType value="variable"/>
<element value="fullUrl"/>
<transform value="evaluate"/>
<parameter>
<valueString value="'urn:uuid:' + %uuid4"/>
</parameter>
</target>
<target>
<context value="episodeofcare"/>
<contextType value="variable"/>
<element value="status"/>
<transform value="copy"/>
<parameter>
<valueString value="finished"/>
</parameter>
</target>
<target>
<context value="ext"/>
<contextType value="variable"/>
<element value="value"/>
<variable value="ref"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<target>
<context value="ref"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="evaluate"/>
<parameter>
<valueString value="'urn:uuid:' + %episodeofcare.id"/>
</parameter>
</target>
<dependent>
<name value="AntecedentEpisodeOfCareItems"/>
<variable value="src"/>
<variable value="bundle"/>
<variable value="patient"/>
<variable value="episodeofcare"/>
</dependent>
</rule>
</group>
<group>
<name value="AntecedentEpisodeOfCareItems"/>
<typeMode value="none"/>
<input>
<name value="src"/>
<type value="BackboneElement"/>
<mode value="source"/>
</input>
<input>
<name value="bundle"/>
<type value="Bundle"/>
<mode value="target"/>
</input>
<input>
<name value="tgt"/>
<type value="Patient"/>
<mode value="target"/>
</input>
<input>
<name value="episodeofcare"/>
<type value="EpisodeOfCare"/>
<mode value="target"/>
</input>
<rule>
<name value="antecedentEpisodeOfCare.requestedPeriod.start"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'antecedentEpisodeOfCare.start') and answer.exists())"/>
</source>
<target>
<context value="episodeofcare"/>
<contextType value="variable"/>
<element value="statusHistory"/>
<variable value="statusHistory"/>
</target>
<target>
<context value="statusHistory"/>
<contextType value="variable"/>
<element value="status"/>
<transform value="copy"/>
<parameter>
<valueString value="finished"/>
</parameter>
</target>
<target>
<context value="statusHistory"/>
<contextType value="variable"/>
<element value="period"/>
<variable value="period"/>
</target>
<target>
<context value="period"/>
<contextType value="variable"/>
<element value="start"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
<target>
<context value="period"/>
<contextType value="variable"/>
<element value="end"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
<rule>
<name value="antecedentEpisodeOfCareEndNotSameAsStart"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="iteme"/>
<condition
value="((linkId.value = 'antecedentEpisodeOfCare.end') and answer.exists())"/>
</source>
<target>
<context value="period"/>
<contextType value="variable"/>
<element value="end"/>
<transform value="evaluate"/>
<parameter>
<valueString value="iteme.answer.value"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="antecedentEpisodeOfCare.managingOrganization"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="(linkId.value = 'antecedentEpisodeOfCare.managingOrganization')"/>
</source>
<target>
<context value="bundle"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="e3"/>
</target>
<target>
<context value="e3"/>
<contextType value="variable"/>
<element value="resource"/>
<variable value="organization"/>
<transform value="create"/>
<parameter>
<valueString value="Organization"/>
</parameter>
</target>
<target>
<context value="organization"/>
<contextType value="variable"/>
<element value="id"/>
<variable value="uuid3"/>
<transform value="uuid"/>
</target>
<target>
<context value="e3"/>
<contextType value="variable"/>
<element value="fullUrl"/>
<transform value="append"/>
<parameter>
<valueString value="urn:uuid:"/>
</parameter>
<parameter>
<valueId value="uuid3"/>
</parameter>
</target>
<target>
<context value="episodeofcare"/>
<contextType value="variable"/>
<element value="patient"/>
<variable value="reference"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<target>
<context value="reference"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="evaluate"/>
<parameter>
<valueString value="'urn:uuid:' + %tgt.id"/>
</parameter>
</target>
<target>
<context value="episodeofcare"/>
<contextType value="variable"/>
<element value="managingOrganization"/>
<variable value="reference"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<target>
<context value="reference"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="append"/>
<parameter>
<valueString value="urn:uuid:"/>
</parameter>
<parameter>
<valueId value="uuid3"/>
</parameter>
</target>
<dependent>
<name value="AntecedentEpisodeOfCareOrganizationItems"/>
<variable value="item"/>
<variable value="organization"/>
</dependent>
</rule>
</group>
<group>
<name value="AntecedentEpisodeOfCareOrganizationItems"/>
<typeMode value="none"/>
<input>
<name value="src"/>
<type value="BackboneElement"/>
<mode value="source"/>
</input>
<input>
<name value="organization"/>
<type value="Organization"/>
<mode value="target"/>
</input>
<rule>
<name value="item"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'antecedentEpisodeOfCare.managingOrganization.name') and answer.exists())"/>
</source>
<target>
<context value="organization"/>
<contextType value="variable"/>
<element value="name"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
<rule>
<name value="item.answer"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'antecedentEpisodeOfCare.managingOrganization.streetAddressLine') and answer.exists())"/>
</source>
<target>
<context value="organization"/>
<contextType value="variable"/>
<element value="address"/>
<variable value="address"/>
<listMode value="share"/>
<listRuleId value="orgAddress"/>
</target>
<rule>
<name value="antecedentEpisodeOfCareorganization.streetAddressLine"/>
<source>
<context value="item"/>
<element value="answer"/>
<variable value="answer"/>
</source>
<target>
<context value="address"/>
<contextType value="variable"/>
<element value="line"/>
<transform value="evaluate"/>
<parameter>
<valueString value="answer.value"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="sender.author.organization.postalCode"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'antecedentEpisodeOfCare.managingOrganization.postalCode') and answer.exists())"/>
</source>
<target>
<context value="organization"/>
<contextType value="variable"/>
<element value="address"/>
<variable value="address"/>
<listMode value="share"/>
<listRuleId value="orgAddress"/>
</target>
<target>
<context value="address"/>
<contextType value="variable"/>
<element value="postalCode"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
<rule>
<name value="sender.author.organization.city"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'antecedentEpisodeOfCare.managingOrganization.city') and answer.exists())"/>
</source>
<target>
<context value="organization"/>
<contextType value="variable"/>
<element value="address"/>
<variable value="address"/>
<listMode value="share"/>
<listRuleId value="orgAddress"/>
</target>
<target>
<context value="address"/>
<contextType value="variable"/>
<element value="city"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
<rule>
<name value="sender.author.organization.country"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'antecedentEpisodeOfCare.managingOrganization.country') and answer.exists())"/>
</source>
<target>
<context value="organization"/>
<contextType value="variable"/>
<element value="address"/>
<variable value="address"/>
<listMode value="share"/>
<listRuleId value="orgAddress"/>
</target>
<target>
<context value="address"/>
<contextType value="variable"/>
<element value="country"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
</group>
<group>
<name value="InitiatorInit"/>
<typeMode value="none"/>
<input>
<name value="src"/>
<type value="BackboneElement"/>
<mode value="source"/>
</input>
<input>
<name value="bundle"/>
<type value="Bundle"/>
<mode value="target"/>
</input>
<input>
<name value="patient"/>
<type value="Patient"/>
<mode value="target"/>
</input>
<input>
<name value="composition"/>
<type value="Composition"/>
<mode value="target"/>
</input>
<input>
<name value="serviceRequest"/>
<type value="ServiceRequest"/>
<mode value="target"/>
</input>
<rule>
<name value="receiver"/>
<source>
<context value="src"/>
</source>
<target>
<context value="composition"/>
<contextType value="variable"/>
<element value="extension"/>
<variable value="ext"/>
</target>
<target>
<context value="ext"/>
<contextType value="variable"/>
<element value="url"/>
<transform value="copy"/>
<parameter>
<valueString
value="http://fhir.ch/ig/ch-orf/StructureDefinition/ch-orf-initiator"/>
</parameter>
</target>
<dependent>
<name value="InitiatorItems"/>
<variable value="src"/>
<variable value="bundle"/>
<variable value="patient"/>
<variable value="ext"/>
</dependent>
</rule>
</group>
<group>
<name value="PatientItems"/>
<typeMode value="none"/>
<input>
<name value="src"/>
<type value="BackboneElement"/>
<mode value="source"/>
</input>
<input>
<name value="bundle"/>
<type value="Bundle"/>
<mode value="target"/>
</input>
<input>
<name value="tgt"/>
<type value="Patient"/>
<mode value="target"/>
</input>
<input>
<name value="composition"/>
<type value="Composition"/>
<mode value="target"/>
</input>
<input>
<name value="serviceRequest"/>
<type value="ServiceRequest"/>
<mode value="target"/>
</input>
<rule>
<name value="grpfamily"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="grp"/>
<condition value="linkId = 'familydoctor'"/>
</source>
<dependent>
<name value="FamilyDoctorInit"/>
<variable value="grp"/>
<variable value="bundle"/>
<variable value="tgt"/>
<variable value="composition"/>
<variable value="serviceRequest"/>
</dependent>
</rule>
<rule>
<name value="item"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
</source>
<dependent>
<name value="PatientItems"/>
<variable value="item"/>
<variable value="bundle"/>
<variable value="tgt"/>
<variable value="composition"/>
<variable value="serviceRequest"/>
</dependent>
</rule>
<rule>
<name value="item"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'patient.familyName') and answer.exists())"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="name"/>
<variable value="name"/>
<listMode value="share"/>
<listRuleId value="patientName"/>
</target>
<target>
<context value="name"/>
<contextType value="variable"/>
<element value="family"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
<rule>
<name value="item"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'patient.maidenName') and answer.exists())"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="name"/>
<variable value="name"/>
</target>
<target>
<context value="name"/>
<contextType value="variable"/>
<element value="use"/>
<transform value="copy"/>
<parameter>
<valueString value="maiden"/>
</parameter>
</target>
<target>
<context value="name"/>
<contextType value="variable"/>
<element value="family"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
<rule>
<name value="item"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'patient.givenName') and answer.exists())"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="name"/>
<variable value="name"/>
<listMode value="share"/>
<listRuleId value="patientName"/>
</target>
<target>
<context value="name"/>
<contextType value="variable"/>
<element value="given"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
<rule>
<name value="patient.localPid"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'patient.localPid') and answer.exists())"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="identifier"/>
<variable value="value"/>
<listMode value="share"/>
<listRuleId value="localpid"/>
</target>
<target>
<context value="value"/>
<contextType value="variable"/>
<element value="type"/>
<variable value="type"/>
</target>
<target>
<context value="type"/>
<contextType value="variable"/>
<element value="coding"/>
<variable value="coding"/>
</target>
<target>
<context value="coding"/>
<contextType value="variable"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString value="http://terminology.hl7.org/CodeSystem/v2-0203"/>
</parameter>
</target>
<target>
<context value="coding"/>
<contextType value="variable"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="MR"/>
</parameter>
</target>
<target>
<context value="value"/>
<contextType value="variable"/>
<element value="value"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.valueString"/>
</parameter>
</target>
</rule>
<rule>
<name value="patient.localPidDomain"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'patient.localPidDomain') and answer.exists())"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="identifier"/>
<variable value="value"/>
<listMode value="share"/>
<listRuleId value="localpid"/>
</target>
<target>
<context value="value"/>
<contextType value="variable"/>
<element value="system"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.valueString"/>
</parameter>
</target>
</rule>
<rule>
<name value="item"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'patient.birthDate') and answer.exists())"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="birthDate"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
<rule>
<name value="item"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'patient.gender') and answer.exists())"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="gender"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value.code"/>
</parameter>
</target>
</rule>
<rule>
<name value="patient.maritalStatus"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'patient.maritalStatus') and answer.exists())"/>
</source>
<rule>
<name value="answer"/>
<source>
<context value="item"/>
<element value="answer"/>
<variable value="answer"/>
</source>
<rule>
<name value="maritalStatus"/>
<source>
<context value="answer"/>
<type value="Coding"/>
<element value="value"/>
<variable value="coding"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="maritalStatus"/>
<variable value="maritalStatus"/>
</target>
<target>
<context value="maritalStatus"/>
<contextType value="variable"/>
<element value="coding"/>
<transform value="copy"/>
<parameter>
<valueId value="coding"/>
</parameter>
</target>
</rule>
</rule>
</rule>
<rule>
<name value="patient.phone"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'patient.phone') and answer.exists())"/>
</source>
<rule>
<name value="patient.phone"/>
<source>
<context value="item"/>
<element value="answer"/>
<variable value="answer"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="telecom"/>
<variable value="value"/>
</target>
<target>
<context value="value"/>
<contextType value="variable"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString value="phone"/>
</parameter>
</target>
<target>
<context value="value"/>
<contextType value="variable"/>
<element value="value"/>
<transform value="evaluate"/>
<parameter>
<valueString value="answer.value"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="patient.email"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'patient.email') and answer.exists())"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="telecom"/>
<variable value="value"/>
</target>
<target>
<context value="value"/>
<contextType value="variable"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString value="email"/>
</parameter>
</target>
<target>
<context value="value"/>
<contextType value="variable"/>
<element value="value"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
<rule>
<name value="item.answer"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'patient.streetAddressLine') and answer.exists())"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="address"/>
<variable value="address"/>
<listMode value="share"/>
<listRuleId value="orgAddress"/>
</target>
<rule>
<name value="patient.streetAddressLine"/>
<source>
<context value="item"/>
<element value="answer"/>
<variable value="answer"/>
</source>
<target>
<context value="address"/>
<contextType value="variable"/>
<element value="line"/>
<transform value="evaluate"/>
<parameter>
<valueString value="answer.value"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="patient.postalCode"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'patient.postalCode') and answer.exists())"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="address"/>
<variable value="address"/>
<listMode value="share"/>
<listRuleId value="orgAddress"/>
</target>
<target>
<context value="address"/>
<contextType value="variable"/>
<element value="postalCode"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
<rule>
<name value="patient.city"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'patient.city') and answer.exists())"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="address"/>
<variable value="address"/>
<listMode value="share"/>
<listRuleId value="orgAddress"/>
</target>
<target>
<context value="address"/>
<contextType value="variable"/>
<element value="city"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
<rule>
<name value="patient.country"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'patient.country') and answer.exists())"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="address"/>
<variable value="address"/>
<listMode value="share"/>
<listRuleId value="orgAddress"/>
</target>
<target>
<context value="address"/>
<contextType value="variable"/>
<element value="country"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
<rule>
<name value="patient.languageOfCorrespondence"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'patient.languageOfCorrespondence') and answer.exists())"/>
</source>
<rule>
<name value="answer"/>
<source>
<context value="item"/>
<element value="answer"/>
<variable value="answer"/>
</source>
<rule>
<name value="languageOfCorrespondence"/>
<source>
<context value="answer"/>
<type value="Coding"/>
<element value="value"/>
<variable value="coding"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="communication"/>
<variable value="communication"/>
</target>
<target>
<context value="communication"/>
<contextType value="variable"/>
<element value="preferred"/>
<transform value="copy"/>
<parameter>
<valueBoolean value="true"/>
</parameter>
</target>
<target>
<context value="communication"/>
<contextType value="variable"/>
<element value="language"/>
<variable value="language"/>
</target>
<target>
<context value="language"/>
<contextType value="variable"/>
<element value="coding"/>
<transform value="copy"/>
<parameter>
<valueId value="coding"/>
</parameter>
</target>
</rule>
</rule>
</rule>
<rule>
<name value="contact"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition value="(linkId.value = 'patient.contactperson')"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="contact"/>
<variable value="contact"/>
</target>
<rule>
<name value="item"/>
<source>
<context value="item"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'patient.contactperson.familyName') and answer.exists())"/>
</source>
<target>
<context value="contact"/>
<contextType value="variable"/>
<element value="name"/>
<variable value="name"/>
<listMode value="share"/>
<listRuleId value="contactName"/>
</target>
<target>
<context value="name"/>
<contextType value="variable"/>
<element value="family"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
<rule>
<name value="item"/>
<source>
<context value="item"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'patient.contactperson.givenName') and answer.exists())"/>
</source>
<target>
<context value="contact"/>
<contextType value="variable"/>
<element value="name"/>
<variable value="name"/>
<listMode value="share"/>
<listRuleId value="contactName"/>
</target>
<target>
<context value="name"/>
<contextType value="variable"/>
<element value="given"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
<rule>
<name value="patient.contactperson.phone"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'patient.contactperson.phone') and answer.exists())"/>
</source>
<rule>
<name value="patient.phone"/>
<source>
<context value="item"/>
<element value="answer"/>
<variable value="answer"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="telecom"/>
<variable value="value"/>
</target>
<target>
<context value="value"/>
<contextType value="variable"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString value="phone"/>
</parameter>
</target>
<target>
<context value="value"/>
<contextType value="variable"/>
<element value="value"/>
<transform value="evaluate"/>
<parameter>
<valueString value="answer.value"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="patient.email"/>
<source>
<context value="item"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'patient.contactperson.email') and answer.exists())"/>
</source>
<target>
<context value="contact"/>
<contextType value="variable"/>
<element value="telecom"/>
<variable value="value"/>
</target>
<target>
<context value="value"/>
<contextType value="variable"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString value="email"/>
</parameter>
</target>
<target>
<context value="value"/>
<contextType value="variable"/>
<element value="value"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
<rule>
<name value="patient.contactperson.relationship"/>
<source>
<context value="item"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'patient.contactperson.relationship') and answer.exists())"/>
</source>
<target>
<context value="contact"/>
<contextType value="variable"/>
<element value="relationship"/>
<variable value="relationship"/>
</target>
<target>
<context value="relationship"/>
<contextType value="variable"/>
<element value="text"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
</rule>
</group>
<group>
<name value="RequestedEncounterItems"/>
<typeMode value="none"/>
<input>
<name value="src"/>
<type value="BackboneElement"/>
<mode value="source"/>
</input>
<input>
<name value="bundle"/>
<type value="Bundle"/>
<mode value="target"/>
</input>
<input>
<name value="patient"/>
<type value="Patient"/>
<mode value="target"/>
</input>
<input>
<name value="serviceRequest"/>
<type value="ServiceRequest"/>
<mode value="target"/>
</input>
<rule>
<name value="RequestedEncounterItems"/>
<source>
<context value="src"/>
</source>
<target>
<context value="bundle"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="e4"/>
</target>
<target>
<context value="e4"/>
<contextType value="variable"/>
<element value="resource"/>
<variable value="encounter"/>
<transform value="create"/>
<parameter>
<valueString value="Encounter"/>
</parameter>
</target>
<target>
<context value="encounter"/>
<contextType value="variable"/>
<element value="id"/>
<variable value="uuid4"/>
<transform value="uuid"/>
</target>
<target>
<context value="e4"/>
<contextType value="variable"/>
<element value="fullUrl"/>
<transform value="evaluate"/>
<parameter>
<valueString value="'urn:uuid:' + %uuid4"/>
</parameter>
</target>
<target>
<context value="encounter"/>
<contextType value="variable"/>
<element value="status"/>
<transform value="copy"/>
<parameter>
<valueString value="planned"/>
</parameter>
</target>
<target>
<context value="serviceRequest"/>
<contextType value="variable"/>
<element value="extension"/>
<variable value="extension"/>
</target>
<target>
<context value="encounter"/>
<contextType value="variable"/>
<element value="subject"/>
<variable value="subject"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<target>
<context value="subject"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="evaluate"/>
<parameter>
<valueString value="'urn:uuid:' + %patient.id"/>
</parameter>
</target>
<target>
<context value="extension"/>
<contextType value="variable"/>
<element value="url"/>
<transform value="copy"/>
<parameter>
<valueString
value="http://fhir.ch/ig/ch-orf/StructureDefinition/ch-orf-requestedencounterdetails"/>
</parameter>
</target>
<target>
<context value="extension"/>
<contextType value="variable"/>
<element value="value"/>
<variable value="reference"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<target>
<context value="reference"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="evaluate"/>
<parameter>
<valueString value="'urn:uuid:' + %uuid4"/>
</parameter>
</target>
<rule>
<name value="requestedEncounter.class"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'requestedEncounter.class') and answer.exists())"/>
</source>
<target>
<context value="encounter"/>
<contextType value="variable"/>
<element value="class"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
<rule>
<name value="requestedEncounter.desiredAccommodation"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'requestedEncounter.desiredAccommodation') and answer.exists())"/>
</source>
<target>
<context value="encounter"/>
<contextType value="variable"/>
<element value="extension"/>
<variable value="extension"/>
</target>
<target>
<context value="extension"/>
<contextType value="variable"/>
<element value="url"/>
<transform value="copy"/>
<parameter>
<valueString
value="http://fhir.ch/ig/ch-orf/StructureDefinition/ch-orf-desiredaccommodation"/>
</parameter>
</target>
<target>
<context value="extension"/>
<contextType value="variable"/>
<element value="value"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
</rule>
</group>
<group>
<name value="Coverage"/>
<typeMode value="none"/>
<input>
<name value="src"/>
<type value="BackboneElement"/>
<mode value="source"/>
</input>
<input>
<name value="bundle"/>
<type value="Bundle"/>
<mode value="target"/>
</input>
<input>
<name value="patient"/>
<type value="Patient"/>
<mode value="target"/>
</input>
<input>
<name value="serviceRequest"/>
<type value="ServiceRequest"/>
<mode value="target"/>
</input>
<rule>
<name value="coverage.beneficiary"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition value="where(linkId.value = 'coverage.beneficiary')"/>
</source>
<rule>
<name value="coverage.beneficiary.ahvn13"/>
<source>
<context value="item"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'coverage.beneficiary.ahvn13') and answer.exists())"/>
</source>
<target>
<context value="patient"/>
<contextType value="variable"/>
<element value="identifier"/>
<variable value="identifier"/>
</target>
<target>
<context value="identifier"/>
<contextType value="variable"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString value="urn:oid:2.16.756.5.32"/>
</parameter>
</target>
<target>
<context value="identifier"/>
<contextType value="variable"/>
<element value="value"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="coveragekvg"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition value="where(linkId.value = 'coverage.kvg')"/>
</source>
<target>
<context value="bundle"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="e4"/>
</target>
<target>
<context value="e4"/>
<contextType value="variable"/>
<element value="resource"/>
<variable value="coverage"/>
<transform value="create"/>
<parameter>
<valueString value="Coverage"/>
</parameter>
</target>
<target>
<context value="coverage"/>
<contextType value="variable"/>
<element value="id"/>
<variable value="uuid4"/>
<transform value="uuid"/>
</target>
<target>
<context value="e4"/>
<contextType value="variable"/>
<element value="fullUrl"/>
<transform value="evaluate"/>
<parameter>
<valueString value="'urn:uuid:' + %uuid4"/>
</parameter>
</target>
<target>
<context value="serviceRequest"/>
<contextType value="variable"/>
<element value="insurance"/>
<variable value="insurance"/>
</target>
<target>
<context value="insurance"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="evaluate"/>
<parameter>
<valueString value="'urn:uuid:' + %uuid4"/>
</parameter>
</target>
<target>
<context value="coverage"/>
<contextType value="variable"/>
<element value="status"/>
<transform value="copy"/>
<parameter>
<valueString value="active"/>
</parameter>
</target>
<target>
<context value="coverage"/>
<contextType value="variable"/>
<element value="beneficiary"/>
<variable value="subject"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<target>
<context value="subject"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="evaluate"/>
<parameter>
<valueString value="'urn:uuid:' + %patient.id"/>
</parameter>
</target>
<target>
<context value="coverage"/>
<contextType value="variable"/>
<element value="type"/>
<variable value="type"/>
</target>
<target>
<context value="type"/>
<contextType value="variable"/>
<element value="coding"/>
<variable value="coding"/>
</target>
<target>
<context value="coding"/>
<contextType value="variable"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString
value="http://fhir.ch/ig/ch-orf/CodeSystem/ch-orf-cs-coveragetype"/>
</parameter>
</target>
<target>
<context value="coding"/>
<contextType value="variable"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="KVG"/>
</parameter>
</target>
<rule>
<name value="coverage.kvg.name"/>
<source>
<context value="item"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'coverage.kvg.name') and answer.exists())"/>
</source>
<target>
<context value="coverage"/>
<contextType value="variable"/>
<element value="payor"/>
<variable value="payor"/>
</target>
<target>
<context value="payor"/>
<contextType value="variable"/>
<element value="reference"/>
<variable value="refcontained"/>
</target>
<target>
<context value="refcontained"/>
<contextType value="variable"/>
<element value="value"/>
<transform value="copy"/>
<parameter>
<valueString value="#org"/>
</parameter>
</target>
<target>
<context value="coverage"/>
<contextType value="variable"/>
<element value="contained"/>
<variable value="organization"/>
<transform value="create"/>
<parameter>
<valueString value="Organization"/>
</parameter>
</target>
<target>
<context value="organization"/>
<contextType value="variable"/>
<element value="id"/>
<transform value="copy"/>
<parameter>
<valueString value="org"/>
</parameter>
</target>
<target>
<context value="organization"/>
<contextType value="variable"/>
<element value="name"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
<rule>
<name value="coverage.kvg.insuranceCardNumber"/>
<source>
<context value="item"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'coverage.kvg.insuranceCardNumber') and answer.exists())"/>
</source>
<target>
<context value="coverage"/>
<contextType value="variable"/>
<element value="identifier"/>
<variable value="identifier"/>
</target>
<target>
<context value="identifier"/>
<contextType value="variable"/>
<element value="type"/>
<variable value="typeid"/>
</target>
<target>
<context value="typeid"/>
<contextType value="variable"/>
<element value="coding"/>
<variable value="coding"/>
</target>
<target>
<context value="coding"/>
<contextType value="variable"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString
value="http://fhir.ch/ig/ch-orf/CodeSystem/ch-orf-cs-coverageidentifiertype"/>
</parameter>
</target>
<target>
<context value="coding"/>
<contextType value="variable"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="VeKa"/>
</parameter>
</target>
<target>
<context value="identifier"/>
<contextType value="variable"/>
<element value="value"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="coverageuvg"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition value="where(linkId.value = 'coverage.uvg')"/>
</source>
<target>
<context value="bundle"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="e4"/>
</target>
<target>
<context value="e4"/>
<contextType value="variable"/>
<element value="resource"/>
<variable value="coverage"/>
<transform value="create"/>
<parameter>
<valueString value="Coverage"/>
</parameter>
</target>
<target>
<context value="coverage"/>
<contextType value="variable"/>
<element value="id"/>
<variable value="uuid4"/>
<transform value="uuid"/>
</target>
<target>
<context value="e4"/>
<contextType value="variable"/>
<element value="fullUrl"/>
<transform value="evaluate"/>
<parameter>
<valueString value="'urn:uuid:' + %uuid4"/>
</parameter>
</target>
<target>
<context value="serviceRequest"/>
<contextType value="variable"/>
<element value="insurance"/>
<variable value="insurance"/>
</target>
<target>
<context value="insurance"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="evaluate"/>
<parameter>
<valueString value="'urn:uuid:' + %uuid4"/>
</parameter>
</target>
<target>
<context value="coverage"/>
<contextType value="variable"/>
<element value="status"/>
<transform value="copy"/>
<parameter>
<valueString value="active"/>
</parameter>
</target>
<target>
<context value="coverage"/>
<contextType value="variable"/>
<element value="beneficiary"/>
<variable value="subject"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<target>
<context value="subject"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="evaluate"/>
<parameter>
<valueString value="'urn:uuid:' + %patient.id"/>
</parameter>
</target>
<target>
<context value="coverage"/>
<contextType value="variable"/>
<element value="type"/>
<variable value="type"/>
</target>
<target>
<context value="type"/>
<contextType value="variable"/>
<element value="coding"/>
<variable value="coding"/>
</target>
<target>
<context value="coding"/>
<contextType value="variable"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString
value="http://fhir.ch/ig/ch-orf/CodeSystem/ch-orf-cs-coveragetype"/>
</parameter>
</target>
<target>
<context value="coding"/>
<contextType value="variable"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="UVG"/>
</parameter>
</target>
<rule>
<name value="coverage.uvg.name"/>
<source>
<context value="item"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'coverage.uvg.name') and answer.exists())"/>
</source>
<target>
<context value="coverage"/>
<contextType value="variable"/>
<element value="payor"/>
<variable value="payor"/>
</target>
<target>
<context value="payor"/>
<contextType value="variable"/>
<element value="reference"/>
<variable value="refcontained"/>
</target>
<target>
<context value="refcontained"/>
<contextType value="variable"/>
<element value="value"/>
<transform value="copy"/>
<parameter>
<valueString value="#org"/>
</parameter>
</target>
<target>
<context value="coverage"/>
<contextType value="variable"/>
<element value="contained"/>
<variable value="organization"/>
<transform value="create"/>
<parameter>
<valueString value="Organization"/>
</parameter>
</target>
<target>
<context value="organization"/>
<contextType value="variable"/>
<element value="id"/>
<transform value="copy"/>
<parameter>
<valueString value="org"/>
</parameter>
</target>
<target>
<context value="organization"/>
<contextType value="variable"/>
<element value="name"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
<rule>
<name value="coverage.uvg.claimNumber"/>
<source>
<context value="item"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'coverage.uvg.claimNumber') and answer.exists())"/>
</source>
<target>
<context value="coverage"/>
<contextType value="variable"/>
<element value="identifier"/>
<variable value="identifier"/>
</target>
<target>
<context value="identifier"/>
<contextType value="variable"/>
<element value="type"/>
<variable value="typeid"/>
</target>
<target>
<context value="typeid"/>
<contextType value="variable"/>
<element value="coding"/>
<variable value="coding"/>
</target>
<target>
<context value="coding"/>
<contextType value="variable"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString
value="http://fhir.ch/ig/ch-orf/CodeSystem/ch-orf-cs-coverageidentifiertype"/>
</parameter>
</target>
<target>
<context value="coding"/>
<contextType value="variable"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="Claim"/>
</parameter>
</target>
<target>
<context value="identifier"/>
<contextType value="variable"/>
<element value="value"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="coveragevvg"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition value="where(linkId.value = 'coverage.vvg')"/>
</source>
<target>
<context value="bundle"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="e4"/>
</target>
<target>
<context value="e4"/>
<contextType value="variable"/>
<element value="resource"/>
<variable value="coverage"/>
<transform value="create"/>
<parameter>
<valueString value="Coverage"/>
</parameter>
</target>
<target>
<context value="coverage"/>
<contextType value="variable"/>
<element value="id"/>
<variable value="uuid4"/>
<transform value="uuid"/>
</target>
<target>
<context value="e4"/>
<contextType value="variable"/>
<element value="fullUrl"/>
<transform value="evaluate"/>
<parameter>
<valueString value="'urn:uuid:' + %uuid4"/>
</parameter>
</target>
<target>
<context value="serviceRequest"/>
<contextType value="variable"/>
<element value="insurance"/>
<variable value="insurance"/>
</target>
<target>
<context value="insurance"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="evaluate"/>
<parameter>
<valueString value="'urn:uuid:' + %uuid4"/>
</parameter>
</target>
<target>
<context value="coverage"/>
<contextType value="variable"/>
<element value="status"/>
<transform value="copy"/>
<parameter>
<valueString value="active"/>
</parameter>
</target>
<target>
<context value="coverage"/>
<contextType value="variable"/>
<element value="beneficiary"/>
<variable value="subject"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<target>
<context value="subject"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="evaluate"/>
<parameter>
<valueString value="'urn:uuid:' + %patient.id"/>
</parameter>
</target>
<target>
<context value="coverage"/>
<contextType value="variable"/>
<element value="type"/>
<variable value="type"/>
</target>
<target>
<context value="type"/>
<contextType value="variable"/>
<element value="coding"/>
<variable value="coding"/>
</target>
<target>
<context value="coding"/>
<contextType value="variable"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString
value="http://fhir.ch/ig/ch-orf/CodeSystem/ch-orf-cs-coveragetype"/>
</parameter>
</target>
<target>
<context value="coding"/>
<contextType value="variable"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="VVG"/>
</parameter>
</target>
<rule>
<name value="coverage.vvg.name"/>
<source>
<context value="item"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'coverage.vvg.name') and answer.exists())"/>
</source>
<target>
<context value="coverage"/>
<contextType value="variable"/>
<element value="payor"/>
<variable value="payor"/>
</target>
<target>
<context value="payor"/>
<contextType value="variable"/>
<element value="reference"/>
<variable value="refcontained"/>
</target>
<target>
<context value="refcontained"/>
<contextType value="variable"/>
<element value="value"/>
<transform value="copy"/>
<parameter>
<valueString value="#org"/>
</parameter>
</target>
<target>
<context value="coverage"/>
<contextType value="variable"/>
<element value="contained"/>
<variable value="organization"/>
<transform value="create"/>
<parameter>
<valueString value="Organization"/>
</parameter>
</target>
<target>
<context value="organization"/>
<contextType value="variable"/>
<element value="id"/>
<transform value="copy"/>
<parameter>
<valueString value="org"/>
</parameter>
</target>
<target>
<context value="organization"/>
<contextType value="variable"/>
<element value="name"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
<rule>
<name value="coverage.vvg.insuranceCardNumber"/>
<source>
<context value="item"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'coverage.vvg.insuranceCardNumber') and answer.exists())"/>
</source>
<target>
<context value="coverage"/>
<contextType value="variable"/>
<element value="identifier"/>
<variable value="identifier"/>
</target>
<target>
<context value="identifier"/>
<contextType value="variable"/>
<element value="type"/>
<variable value="typeid"/>
</target>
<target>
<context value="typeid"/>
<contextType value="variable"/>
<element value="coding"/>
<variable value="coding"/>
</target>
<target>
<context value="coding"/>
<contextType value="variable"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString
value="http://fhir.ch/ig/ch-orf/CodeSystem/ch-orf-cs-coverageidentifiertype"/>
</parameter>
</target>
<target>
<context value="coding"/>
<contextType value="variable"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="VeKa"/>
</parameter>
</target>
<target>
<context value="identifier"/>
<contextType value="variable"/>
<element value="value"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="coverageiv"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition value="where(linkId.value = 'coverage.iv')"/>
</source>
<target>
<context value="bundle"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="e4"/>
</target>
<target>
<context value="e4"/>
<contextType value="variable"/>
<element value="resource"/>
<variable value="coverage"/>
<transform value="create"/>
<parameter>
<valueString value="Coverage"/>
</parameter>
</target>
<target>
<context value="coverage"/>
<contextType value="variable"/>
<element value="id"/>
<variable value="uuid4"/>
<transform value="uuid"/>
</target>
<target>
<context value="e4"/>
<contextType value="variable"/>
<element value="fullUrl"/>
<transform value="evaluate"/>
<parameter>
<valueString value="'urn:uuid:' + %uuid4"/>
</parameter>
</target>
<target>
<context value="serviceRequest"/>
<contextType value="variable"/>
<element value="insurance"/>
<variable value="insurance"/>
</target>
<target>
<context value="insurance"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="evaluate"/>
<parameter>
<valueString value="'urn:uuid:' + %uuid4"/>
</parameter>
</target>
<target>
<context value="coverage"/>
<contextType value="variable"/>
<element value="status"/>
<transform value="copy"/>
<parameter>
<valueString value="active"/>
</parameter>
</target>
<target>
<context value="coverage"/>
<contextType value="variable"/>
<element value="beneficiary"/>
<variable value="subject"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<target>
<context value="subject"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="evaluate"/>
<parameter>
<valueString value="'urn:uuid:' + %patient.id"/>
</parameter>
</target>
<target>
<context value="coverage"/>
<contextType value="variable"/>
<element value="type"/>
<variable value="type"/>
</target>
<target>
<context value="type"/>
<contextType value="variable"/>
<element value="coding"/>
<variable value="coding"/>
</target>
<target>
<context value="coding"/>
<contextType value="variable"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString
value="http://fhir.ch/ig/ch-orf/CodeSystem/ch-orf-cs-coveragetype"/>
</parameter>
</target>
<target>
<context value="coding"/>
<contextType value="variable"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="IVG"/>
</parameter>
</target>
<rule>
<name value="coverage.iv.verfuegungsnummer"/>
<source>
<context value="item"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'coverage.iv.verfuegungsnummer') and answer.exists())"/>
</source>
<target>
<context value="coverage"/>
<contextType value="variable"/>
<element value="identifier"/>
<variable value="identifier"/>
</target>
<target>
<context value="identifier"/>
<contextType value="variable"/>
<element value="type"/>
<variable value="typeid"/>
</target>
<target>
<context value="typeid"/>
<contextType value="variable"/>
<element value="coding"/>
<variable value="coding"/>
</target>
<target>
<context value="coding"/>
<contextType value="variable"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString
value="http://fhir.ch/ig/ch-orf/CodeSystem/ch-orf-cs-coverageidentifiertype"/>
</parameter>
</target>
<target>
<context value="coding"/>
<contextType value="variable"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="IV"/>
</parameter>
</target>
<target>
<context value="identifier"/>
<contextType value="variable"/>
<element value="value"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
<target>
<context value="coverage"/>
<contextType value="variable"/>
<element value="payor"/>
<variable value="payor"/>
</target>
<target>
<context value="payor"/>
<contextType value="variable"/>
<element value="reference"/>
<variable value="refcontained"/>
</target>
<target>
<context value="refcontained"/>
<contextType value="variable"/>
<element value="value"/>
<transform value="copy"/>
<parameter>
<valueString value="#org"/>
</parameter>
</target>
<target>
<context value="coverage"/>
<contextType value="variable"/>
<element value="contained"/>
<variable value="organization"/>
<transform value="create"/>
<parameter>
<valueString value="Organization"/>
</parameter>
</target>
<target>
<context value="organization"/>
<contextType value="variable"/>
<element value="id"/>
<transform value="copy"/>
<parameter>
<valueString value="org"/>
</parameter>
</target>
<target>
<context value="organization"/>
<contextType value="variable"/>
<element value="name"/>
<transform value="copy"/>
<parameter>
<valueString value="IV"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="coveragemv"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition value="where(linkId.value = 'coverage.mv')"/>
</source>
<target>
<context value="bundle"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="e4"/>
</target>
<target>
<context value="e4"/>
<contextType value="variable"/>
<element value="resource"/>
<variable value="coverage"/>
<transform value="create"/>
<parameter>
<valueString value="Coverage"/>
</parameter>
</target>
<target>
<context value="coverage"/>
<contextType value="variable"/>
<element value="id"/>
<variable value="uuid4"/>
<transform value="uuid"/>
</target>
<target>
<context value="e4"/>
<contextType value="variable"/>
<element value="fullUrl"/>
<transform value="evaluate"/>
<parameter>
<valueString value="'urn:uuid:' + %uuid4"/>
</parameter>
</target>
<target>
<context value="serviceRequest"/>
<contextType value="variable"/>
<element value="insurance"/>
<variable value="insurance"/>
</target>
<target>
<context value="insurance"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="evaluate"/>
<parameter>
<valueString value="'urn:uuid:' + %uuid4"/>
</parameter>
</target>
<target>
<context value="coverage"/>
<contextType value="variable"/>
<element value="status"/>
<transform value="copy"/>
<parameter>
<valueString value="active"/>
</parameter>
</target>
<target>
<context value="coverage"/>
<contextType value="variable"/>
<element value="beneficiary"/>
<variable value="subject"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<target>
<context value="subject"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="evaluate"/>
<parameter>
<valueString value="'urn:uuid:' + %patient.id"/>
</parameter>
</target>
<target>
<context value="coverage"/>
<contextType value="variable"/>
<element value="type"/>
<variable value="type"/>
</target>
<target>
<context value="type"/>
<contextType value="variable"/>
<element value="coding"/>
<variable value="coding"/>
</target>
<target>
<context value="coding"/>
<contextType value="variable"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString
value="http://fhir.ch/ig/ch-orf/CodeSystem/ch-orf-cs-coveragetype"/>
</parameter>
</target>
<target>
<context value="coding"/>
<contextType value="variable"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="MVG"/>
</parameter>
</target>
<rule>
<name value="coverage.mv.versichertennummer"/>
<source>
<context value="item"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'coverage.mv.versichertennummer') and answer.exists())"/>
</source>
<target>
<context value="coverage"/>
<contextType value="variable"/>
<element value="identifier"/>
<variable value="identifier"/>
</target>
<target>
<context value="identifier"/>
<contextType value="variable"/>
<element value="type"/>
<variable value="typeid"/>
</target>
<target>
<context value="typeid"/>
<contextType value="variable"/>
<element value="coding"/>
<variable value="coding"/>
</target>
<target>
<context value="coding"/>
<contextType value="variable"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString
value="http://fhir.ch/ig/ch-orf/CodeSystem/ch-orf-cs-coverageidentifiertype"/>
</parameter>
</target>
<target>
<context value="coding"/>
<contextType value="variable"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="MV"/>
</parameter>
</target>
<target>
<context value="identifier"/>
<contextType value="variable"/>
<element value="value"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
<target>
<context value="coverage"/>
<contextType value="variable"/>
<element value="payor"/>
<variable value="payor"/>
</target>
<target>
<context value="payor"/>
<contextType value="variable"/>
<element value="reference"/>
<variable value="refcontained"/>
</target>
<target>
<context value="refcontained"/>
<contextType value="variable"/>
<element value="value"/>
<transform value="copy"/>
<parameter>
<valueString value="#org"/>
</parameter>
</target>
<target>
<context value="coverage"/>
<contextType value="variable"/>
<element value="contained"/>
<variable value="organization"/>
<transform value="create"/>
<parameter>
<valueString value="Organization"/>
</parameter>
</target>
<target>
<context value="organization"/>
<contextType value="variable"/>
<element value="id"/>
<transform value="copy"/>
<parameter>
<valueString value="org"/>
</parameter>
</target>
<target>
<context value="organization"/>
<contextType value="variable"/>
<element value="name"/>
<transform value="copy"/>
<parameter>
<valueString value="MV"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="self"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition value="where(linkId.value = 'coverage.self')"/>
</source>
<rule>
<name value="payor"/>
<source>
<context value="item"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'coverage.self.patient') and answer.exists() and answer.value)"/>
</source>
<target>
<context value="bundle"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="e4"/>
</target>
<target>
<context value="e4"/>
<contextType value="variable"/>
<element value="resource"/>
<variable value="coverage"/>
<transform value="create"/>
<parameter>
<valueString value="Coverage"/>
</parameter>
</target>
<target>
<context value="coverage"/>
<contextType value="variable"/>
<element value="id"/>
<variable value="uuid4"/>
<transform value="uuid"/>
</target>
<target>
<context value="e4"/>
<contextType value="variable"/>
<element value="fullUrl"/>
<transform value="evaluate"/>
<parameter>
<valueString value="'urn:uuid:' + %uuid4"/>
</parameter>
</target>
<target>
<context value="serviceRequest"/>
<contextType value="variable"/>
<element value="insurance"/>
<variable value="insurance"/>
</target>
<target>
<context value="insurance"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="evaluate"/>
<parameter>
<valueString value="'urn:uuid:' + %uuid4"/>
</parameter>
</target>
<target>
<context value="coverage"/>
<contextType value="variable"/>
<element value="status"/>
<transform value="copy"/>
<parameter>
<valueString value="active"/>
</parameter>
</target>
<target>
<context value="coverage"/>
<contextType value="variable"/>
<element value="beneficiary"/>
<variable value="subject"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<target>
<context value="subject"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="evaluate"/>
<parameter>
<valueString value="'urn:uuid:' + %patient.id"/>
</parameter>
</target>
<target>
<context value="coverage"/>
<contextType value="variable"/>
<element value="type"/>
<variable value="type"/>
</target>
<target>
<context value="type"/>
<contextType value="variable"/>
<element value="coding"/>
<variable value="coding"/>
</target>
<target>
<context value="coding"/>
<contextType value="variable"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString
value="http://fhir.ch/ig/ch-orf/CodeSystem/ch-orf-cs-coveragetype"/>
</parameter>
</target>
<target>
<context value="coding"/>
<contextType value="variable"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="Self"/>
</parameter>
</target>
<target>
<context value="coverage"/>
<contextType value="variable"/>
<element value="payor"/>
<variable value="subject"/>
</target>
<target>
<context value="subject"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="evaluate"/>
<parameter>
<valueString value="'urn:uuid:' + %patient.id"/>
</parameter>
</target>
</rule>
<rule>
<name value="coverage.self.patientrelated."/>
<source>
<context value="item"/>
<element value="item"/>
<variable value="item2"/>
<condition
value="((linkId.value = 'coverage.self.patientRelatedPerson') and answer.exists() and answer.value)"/>
</source>
<rule>
<name value="coverage.self.relatedPerson"/>
<source>
<context value="item"/>
<element value="item"/>
<variable value="item"/>
<condition
value="(linkId.value = 'coverage.self.relatedPerson')"/>
</source>
<target>
<context value="bundle"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="e5"/>
</target>
<target>
<context value="e5"/>
<contextType value="variable"/>
<element value="resource"/>
<variable value="coverage"/>
<transform value="create"/>
<parameter>
<valueString value="Coverage"/>
</parameter>
</target>
<target>
<context value="coverage"/>
<contextType value="variable"/>
<element value="id"/>
<variable value="uuid4"/>
<transform value="uuid"/>
</target>
<target>
<context value="e5"/>
<contextType value="variable"/>
<element value="fullUrl"/>
<transform value="evaluate"/>
<parameter>
<valueString value="'urn:uuid:' + %uuid4"/>
</parameter>
</target>
<target>
<context value="serviceRequest"/>
<contextType value="variable"/>
<element value="insurance"/>
<variable value="insurance"/>
</target>
<target>
<context value="insurance"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="evaluate"/>
<parameter>
<valueString value="'urn:uuid:' + %uuid4"/>
</parameter>
</target>
<target>
<context value="coverage"/>
<contextType value="variable"/>
<element value="status"/>
<transform value="copy"/>
<parameter>
<valueString value="active"/>
</parameter>
</target>
<target>
<context value="coverage"/>
<contextType value="variable"/>
<element value="beneficiary"/>
<variable value="subject"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<target>
<context value="subject"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="evaluate"/>
<parameter>
<valueString value="'urn:uuid:' + %patient.id"/>
</parameter>
</target>
<target>
<context value="coverage"/>
<contextType value="variable"/>
<element value="type"/>
<variable value="type"/>
</target>
<target>
<context value="type"/>
<contextType value="variable"/>
<element value="coding"/>
<variable value="coding"/>
</target>
<target>
<context value="coding"/>
<contextType value="variable"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString
value="http://fhir.ch/ig/ch-orf/CodeSystem/ch-orf-cs-coveragetype"/>
</parameter>
</target>
<target>
<context value="coding"/>
<contextType value="variable"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="Self"/>
</parameter>
</target>
<target>
<context value="bundle"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="e6"/>
</target>
<target>
<context value="e6"/>
<contextType value="variable"/>
<element value="resource"/>
<variable value="relatedPerson"/>
<transform value="create"/>
<parameter>
<valueString value="RelatedPerson"/>
</parameter>
</target>
<target>
<context value="relatedPerson"/>
<contextType value="variable"/>
<element value="id"/>
<variable value="uuid6"/>
<transform value="uuid"/>
</target>
<target>
<context value="e6"/>
<contextType value="variable"/>
<element value="fullUrl"/>
<transform value="append"/>
<parameter>
<valueString value="urn:uuid:"/>
</parameter>
<parameter>
<valueId value="uuid6"/>
</parameter>
</target>
<target>
<context value="coverage"/>
<contextType value="variable"/>
<element value="payor"/>
<variable value="subject"/>
</target>
<target>
<context value="subject"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="evaluate"/>
<parameter>
<valueString value="'urn:uuid:' + %relatedPerson.id"/>
</parameter>
</target>
<target>
<context value="relatedPerson"/>
<contextType value="variable"/>
<element value="patient"/>
<variable value="reference"/>
</target>
<target>
<context value="reference"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="evaluate"/>
<parameter>
<valueString value="'urn:uuid:' + %patient.id"/>
</parameter>
</target>
<dependent>
<name value="CoverageRelatedPersonItems"/>
<variable value="item"/>
<variable value="relatedPerson"/>
</dependent>
</rule>
</rule>
</rule>
<rule>
<name value="coveragevvg"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition value="where(linkId.value = 'coverage.other')"/>
</source>
<target>
<context value="bundle"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="e4"/>
</target>
<target>
<context value="e4"/>
<contextType value="variable"/>
<element value="resource"/>
<variable value="coverage"/>
<transform value="create"/>
<parameter>
<valueString value="Coverage"/>
</parameter>
</target>
<target>
<context value="coverage"/>
<contextType value="variable"/>
<element value="id"/>
<variable value="uuid4"/>
<transform value="uuid"/>
</target>
<target>
<context value="e4"/>
<contextType value="variable"/>
<element value="fullUrl"/>
<transform value="evaluate"/>
<parameter>
<valueString value="'urn:uuid:' + %uuid4"/>
</parameter>
</target>
<target>
<context value="serviceRequest"/>
<contextType value="variable"/>
<element value="insurance"/>
<variable value="insurance"/>
</target>
<target>
<context value="insurance"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="evaluate"/>
<parameter>
<valueString value="'urn:uuid:' + %uuid4"/>
</parameter>
</target>
<target>
<context value="coverage"/>
<contextType value="variable"/>
<element value="status"/>
<transform value="copy"/>
<parameter>
<valueString value="active"/>
</parameter>
</target>
<target>
<context value="coverage"/>
<contextType value="variable"/>
<element value="beneficiary"/>
<variable value="subject"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<target>
<context value="subject"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="evaluate"/>
<parameter>
<valueString value="'urn:uuid:' + %patient.id"/>
</parameter>
</target>
<target>
<context value="coverage"/>
<contextType value="variable"/>
<element value="type"/>
<variable value="type"/>
</target>
<target>
<context value="type"/>
<contextType value="variable"/>
<element value="coding"/>
<variable value="coding"/>
</target>
<target>
<context value="coding"/>
<contextType value="variable"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString
value="http://fhir.ch/ig/ch-orf/CodeSystem/ch-orf-cs-coveragetype"/>
</parameter>
</target>
<target>
<context value="coding"/>
<contextType value="variable"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="Other"/>
</parameter>
</target>
<rule>
<name value="coverage.other.name"/>
<source>
<context value="item"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'coverage.other.name') and answer.exists())"/>
</source>
<target>
<context value="coverage"/>
<contextType value="variable"/>
<element value="payor"/>
<variable value="payor"/>
</target>
<target>
<context value="payor"/>
<contextType value="variable"/>
<element value="reference"/>
<variable value="refcontained"/>
</target>
<target>
<context value="refcontained"/>
<contextType value="variable"/>
<element value="value"/>
<transform value="copy"/>
<parameter>
<valueString value="#org"/>
</parameter>
</target>
<target>
<context value="coverage"/>
<contextType value="variable"/>
<element value="contained"/>
<variable value="organization"/>
<transform value="create"/>
<parameter>
<valueString value="Organization"/>
</parameter>
</target>
<target>
<context value="organization"/>
<contextType value="variable"/>
<element value="id"/>
<transform value="copy"/>
<parameter>
<valueString value="org"/>
</parameter>
</target>
<target>
<context value="organization"/>
<contextType value="variable"/>
<element value="name"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
<rule>
<name value="coverage.other.id"/>
<source>
<context value="item"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'coverage.other.id') and answer.exists())"/>
</source>
<target>
<context value="coverage"/>
<contextType value="variable"/>
<element value="identifier"/>
<variable value="identifier"/>
</target>
<target>
<context value="identifier"/>
<contextType value="variable"/>
<element value="value"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
</rule>
</group>
<group>
<name value="CoverageRelatedPersonItems"/>
<typeMode value="none"/>
<input>
<name value="src"/>
<type value="BackboneElement"/>
<mode value="source"/>
</input>
<input>
<name value="relatedPerson"/>
<type value="RelatedPerson"/>
<mode value="target"/>
</input>
<rule>
<name value="item"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'coverage.self.relatedPerson.familyName') and answer.exists())"/>
</source>
<target>
<context value="relatedPerson"/>
<contextType value="variable"/>
<element value="name"/>
<variable value="name"/>
<listMode value="share"/>
<listRuleId value="name"/>
</target>
<target>
<context value="name"/>
<contextType value="variable"/>
<element value="family"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
<rule>
<name value="item"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'coverage.self.relatedPerson.givenName') and answer.exists())"/>
</source>
<target>
<context value="relatedPerson"/>
<contextType value="variable"/>
<element value="name"/>
<variable value="name"/>
<listMode value="share"/>
<listRuleId value="name"/>
</target>
<target>
<context value="name"/>
<contextType value="variable"/>
<element value="given"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
<rule>
<name value="phone"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'coverage.self.relatedPerson.phone') and answer.exists())"/>
</source>
<rule>
<name value="coverage.self.relatedPerson.phone"/>
<source>
<context value="item"/>
<element value="answer"/>
<variable value="answer"/>
</source>
<target>
<context value="relatedPerson"/>
<contextType value="variable"/>
<element value="telecom"/>
<variable value="value"/>
</target>
<target>
<context value="value"/>
<contextType value="variable"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString value="phone"/>
</parameter>
</target>
<target>
<context value="value"/>
<contextType value="variable"/>
<element value="value"/>
<transform value="evaluate"/>
<parameter>
<valueString value="answer.value"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="coverage.self.relatedPerson.email"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'coverage.self.relatedPerson.email') and answer.exists())"/>
</source>
<target>
<context value="relatedPerson"/>
<contextType value="variable"/>
<element value="telecom"/>
<variable value="value"/>
</target>
<target>
<context value="value"/>
<contextType value="variable"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString value="email"/>
</parameter>
</target>
<target>
<context value="value"/>
<contextType value="variable"/>
<element value="value"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
<rule>
<name value="item.answer"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'coverage.self.relatedPerson.streetAddressLine') and answer.exists())"/>
</source>
<target>
<context value="relatedPerson"/>
<contextType value="variable"/>
<element value="address"/>
<variable value="address"/>
<listMode value="share"/>
<listRuleId value="orgAddress"/>
</target>
<rule>
<name value="coverage.self.relatedPerson.streetAddressLine"/>
<source>
<context value="item"/>
<element value="answer"/>
<variable value="answer"/>
</source>
<target>
<context value="address"/>
<contextType value="variable"/>
<element value="line"/>
<transform value="evaluate"/>
<parameter>
<valueString value="answer.value"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="coverage.self.relatedPerson.postalCode"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'coverage.self.relatedPerson.postalCode') and answer.exists())"/>
</source>
<target>
<context value="relatedPerson"/>
<contextType value="variable"/>
<element value="address"/>
<variable value="address"/>
<listMode value="share"/>
<listRuleId value="orgAddress"/>
</target>
<target>
<context value="address"/>
<contextType value="variable"/>
<element value="postalCode"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
<rule>
<name value="coverage.self.relatedPerson.city"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'coverage.self.relatedPerson.city') and answer.exists())"/>
</source>
<target>
<context value="relatedPerson"/>
<contextType value="variable"/>
<element value="address"/>
<variable value="address"/>
<listMode value="share"/>
<listRuleId value="orgAddress"/>
</target>
<target>
<context value="address"/>
<contextType value="variable"/>
<element value="city"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
<rule>
<name value="coverage.self.relatedPerson.country"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'coverage.self.relatedPerson.country') and answer.exists())"/>
</source>
<target>
<context value="relatedPerson"/>
<contextType value="variable"/>
<element value="address"/>
<variable value="address"/>
<listMode value="share"/>
<listRuleId value="orgAddress"/>
</target>
<target>
<context value="address"/>
<contextType value="variable"/>
<element value="country"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
</group>
<group>
<name value="SenderAuthorPractitionerItems"/>
<typeMode value="none"/>
<input>
<name value="src"/>
<type value="BackboneElement"/>
<mode value="source"/>
</input>
<input>
<name value="practitioner"/>
<type value="Practitioner"/>
<mode value="target"/>
</input>
<rule>
<name value="item"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'sender.author.practitioner.familyName') and answer.exists())"/>
</source>
<target>
<context value="practitioner"/>
<contextType value="variable"/>
<element value="name"/>
<variable value="name"/>
<listMode value="share"/>
<listRuleId value="practitionerName"/>
</target>
<target>
<context value="name"/>
<contextType value="variable"/>
<element value="family"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
<rule>
<name value="item"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'sender.author.practitioner.givenName') and answer.exists())"/>
</source>
<target>
<context value="practitioner"/>
<contextType value="variable"/>
<element value="name"/>
<variable value="name"/>
<listMode value="share"/>
<listRuleId value="practitionerName"/>
</target>
<target>
<context value="name"/>
<contextType value="variable"/>
<element value="given"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
<rule>
<name value="sender.author.practitioner.title"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'sender.author.practitioner.title') and answer.exists())"/>
</source>
<target>
<context value="practitioner"/>
<contextType value="variable"/>
<element value="name"/>
<variable value="name"/>
<listMode value="share"/>
<listRuleId value="practitionerName"/>
</target>
<target>
<context value="name"/>
<contextType value="variable"/>
<element value="prefix"/>
<variable value="prefix"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
<target>
<context value="prefix"/>
<contextType value="variable"/>
<element value="extension"/>
<variable value="ext"/>
</target>
<target>
<context value="ext"/>
<contextType value="variable"/>
<element value="url"/>
<transform value="copy"/>
<parameter>
<valueString
value="http://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier"/>
</parameter>
</target>
<target>
<context value="ext"/>
<contextType value="variable"/>
<element value="value"/>
<variable value="value"/>
<transform value="create"/>
<parameter>
<valueString value="code"/>
</parameter>
</target>
<target>
<context value="value"/>
<contextType value="variable"/>
<element value="value"/>
<transform value="copy"/>
<parameter>
<valueString value="AC"/>
</parameter>
</target>
</rule>
<rule>
<name value="sender.author.practitioner.gln"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'sender.author.practitioner.gln') and answer.exists())"/>
</source>
<target>
<context value="practitioner"/>
<contextType value="variable"/>
<element value="identifier"/>
<variable value="value"/>
</target>
<target>
<context value="value"/>
<contextType value="variable"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString value="urn:oid:2.51.1.3"/>
</parameter>
</target>
<target>
<context value="value"/>
<contextType value="variable"/>
<element value="value"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
<rule>
<name value="recsender.author.practitioner.zsr"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'sender.author.practitioner.zsr') and answer.exists())"/>
</source>
<target>
<context value="practitioner"/>
<contextType value="variable"/>
<element value="identifier"/>
<variable value="value"/>
</target>
<target>
<context value="value"/>
<contextType value="variable"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString value="urn:oid:2.16.756.5.30.1.123.100.2.1.1"/>
</parameter>
</target>
<target>
<context value="value"/>
<contextType value="variable"/>
<element value="value"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
<rule>
<name value="sender.author.practitioner.phone"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'sender.author.practitioner.phone') and answer.exists())"/>
</source>
<target>
<context value="practitioner"/>
<contextType value="variable"/>
<element value="telecom"/>
<variable value="value"/>
</target>
<target>
<context value="value"/>
<contextType value="variable"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString value="phone"/>
</parameter>
</target>
<target>
<context value="value"/>
<contextType value="variable"/>
<element value="value"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
<rule>
<name value="sender.author.practitioner.email"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'sender.author.practitioner.email') and answer.exists())"/>
</source>
<target>
<context value="practitioner"/>
<contextType value="variable"/>
<element value="telecom"/>
<variable value="value"/>
</target>
<target>
<context value="value"/>
<contextType value="variable"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString value="email"/>
</parameter>
</target>
<target>
<context value="value"/>
<contextType value="variable"/>
<element value="value"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
</group>
<group>
<name value="SenderAuthorOrganizationItems"/>
<typeMode value="none"/>
<input>
<name value="src"/>
<type value="BackboneElement"/>
<mode value="source"/>
</input>
<input>
<name value="organization"/>
<type value="Organization"/>
<mode value="target"/>
</input>
<rule>
<name value="item"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'sender.author.organization.name') and answer.exists())"/>
</source>
<target>
<context value="organization"/>
<contextType value="variable"/>
<element value="name"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
<rule>
<name value="sender.author.organization.gln"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'sender.author.organization.gln') and answer.exists())"/>
</source>
<target>
<context value="organization"/>
<contextType value="variable"/>
<element value="identifier"/>
<variable value="value"/>
</target>
<target>
<context value="value"/>
<contextType value="variable"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString value="urn:oid:2.51.1.3"/>
</parameter>
</target>
<target>
<context value="value"/>
<contextType value="variable"/>
<element value="value"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
<rule>
<name value="sender.author.organization.zsr"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'sender.author.organization.zsr') and answer.exists())"/>
</source>
<target>
<context value="organization"/>
<contextType value="variable"/>
<element value="identifier"/>
<variable value="value"/>
</target>
<target>
<context value="value"/>
<contextType value="variable"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString value="urn:oid:2.16.756.5.30.1.123.100.2.1.1"/>
</parameter>
</target>
<target>
<context value="value"/>
<contextType value="variable"/>
<element value="value"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
<rule>
<name value="item.answer"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'sender.author.organization.streetAddressLine') and answer.exists())"/>
</source>
<target>
<context value="organization"/>
<contextType value="variable"/>
<element value="address"/>
<variable value="address"/>
<listMode value="share"/>
<listRuleId value="orgAddress"/>
</target>
<rule>
<name value="sender.author.organization.streetAddressLine"/>
<source>
<context value="item"/>
<element value="answer"/>
<variable value="answer"/>
</source>
<target>
<context value="address"/>
<contextType value="variable"/>
<element value="line"/>
<transform value="evaluate"/>
<parameter>
<valueString value="answer.value"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="sender.author.organization.postalCode"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'sender.author.organization.postalCode') and answer.exists())"/>
</source>
<target>
<context value="organization"/>
<contextType value="variable"/>
<element value="address"/>
<variable value="address"/>
<listMode value="share"/>
<listRuleId value="orgAddress"/>
</target>
<target>
<context value="address"/>
<contextType value="variable"/>
<element value="postalCode"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
<rule>
<name value="sender.author.organization.city"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'sender.author.organization.city') and answer.exists())"/>
</source>
<target>
<context value="organization"/>
<contextType value="variable"/>
<element value="address"/>
<variable value="address"/>
<listMode value="share"/>
<listRuleId value="orgAddress"/>
</target>
<target>
<context value="address"/>
<contextType value="variable"/>
<element value="city"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
<rule>
<name value="sender.author.organization.country"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'sender.author.organization.country') and answer.exists())"/>
</source>
<target>
<context value="organization"/>
<contextType value="variable"/>
<element value="address"/>
<variable value="address"/>
<listMode value="share"/>
<listRuleId value="orgAddress"/>
</target>
<target>
<context value="address"/>
<contextType value="variable"/>
<element value="country"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
</group>
<group>
<name value="SenderAuthorItems"/>
<typeMode value="none"/>
<input>
<name value="src"/>
<type value="BackboneElement"/>
<mode value="source"/>
</input>
<input>
<name value="practitionerRole"/>
<type value="practitionerRole"/>
<mode value="target"/>
</input>
<input>
<name value="practitioner"/>
<type value="Practitioner"/>
<mode value="target"/>
</input>
<input>
<name value="organization"/>
<type value="Organization"/>
<mode value="target"/>
</input>
<rule>
<name value="item"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition value="(linkId.value = 'sender.author.practitioner')"/>
</source>
<dependent>
<name value="SenderAuthorPractitionerItems"/>
<variable value="item"/>
<variable value="practitioner"/>
</dependent>
</rule>
<rule>
<name value="item"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition value="(linkId.value = 'sender.author.organization')"/>
</source>
<dependent>
<name value="SenderAuthorOrganizationItems"/>
<variable value="item"/>
<variable value="organization"/>
</dependent>
</rule>
</group>
<group>
<name value="SenderDataEntererPractitionerItems"/>
<typeMode value="none"/>
<input>
<name value="src"/>
<type value="BackboneElement"/>
<mode value="source"/>
</input>
<input>
<name value="practitioner"/>
<type value="Practitioner"/>
<mode value="target"/>
</input>
<rule>
<name value="item"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'sender.dataenterer.practitioner.familyName') and answer.exists())"/>
</source>
<target>
<context value="practitioner"/>
<contextType value="variable"/>
<element value="name"/>
<variable value="name"/>
<listMode value="share"/>
<listRuleId value="practitionerName"/>
</target>
<target>
<context value="name"/>
<contextType value="variable"/>
<element value="family"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
<rule>
<name value="item"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'sender.dataenterer.practitioner.givenName') and answer.exists())"/>
</source>
<target>
<context value="practitioner"/>
<contextType value="variable"/>
<element value="name"/>
<variable value="name"/>
<listMode value="share"/>
<listRuleId value="practitionerName"/>
</target>
<target>
<context value="name"/>
<contextType value="variable"/>
<element value="given"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
<rule>
<name value="sender.author.practitioner.phone"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'sender.dataenterer.practitioner.phone') and answer.exists())"/>
</source>
<target>
<context value="practitioner"/>
<contextType value="variable"/>
<element value="telecom"/>
<variable value="value"/>
</target>
<target>
<context value="value"/>
<contextType value="variable"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString value="phone"/>
</parameter>
</target>
<target>
<context value="value"/>
<contextType value="variable"/>
<element value="value"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
<rule>
<name value="sender.author.practitioner.email"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'sender.dataenterer.practitioner.email') and answer.exists())"/>
</source>
<target>
<context value="practitioner"/>
<contextType value="variable"/>
<element value="telecom"/>
<variable value="value"/>
</target>
<target>
<context value="value"/>
<contextType value="variable"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString value="email"/>
</parameter>
</target>
<target>
<context value="value"/>
<contextType value="variable"/>
<element value="value"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
</group>
<group>
<name value="SenderDataEntererItems"/>
<typeMode value="none"/>
<input>
<name value="src"/>
<type value="BackboneElement"/>
<mode value="source"/>
</input>
<input>
<name value="practitionerRole"/>
<type value="practitionerRole"/>
<mode value="target"/>
</input>
<input>
<name value="practitioner"/>
<type value="Practitioner"/>
<mode value="target"/>
</input>
<input>
<name value="organization"/>
<type value="Organization"/>
<mode value="target"/>
</input>
<rule>
<name value="item"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="(linkId.value = 'sender.dataenterer.practitioner')"/>
</source>
<dependent>
<name value="SenderDataEntererPractitionerItems"/>
<variable value="item"/>
<variable value="practitioner"/>
</dependent>
</rule>
</group>
<group>
<name value="ChExtEprDataEnterer"/>
<typeMode value="none"/>
<input>
<name value="src"/>
<type value="BackboneElement"/>
<mode value="source"/>
</input>
<input>
<name value="practitionerRole"/>
<type value="PractitionerRole"/>
<mode value="target"/>
</input>
<input>
<name value="ext"/>
<type value="Extension"/>
<mode value="target"/>
</input>
<rule>
<name value="url"/>
<source>
<context value="src"/>
</source>
<target>
<context value="ext"/>
<contextType value="variable"/>
<element value="url"/>
<transform value="copy"/>
<parameter>
<valueString
value="http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-epr-dataenterer"/>
</parameter>
</target>
</rule>
<rule>
<name value="practitionerRole"/>
<source>
<context value="src"/>
</source>
<target>
<context value="ext"/>
<contextType value="variable"/>
<element value="extension"/>
<variable value="ext"/>
</target>
<target>
<context value="ext"/>
<contextType value="variable"/>
<element value="url"/>
<transform value="copy"/>
<parameter>
<valueString value="enterer"/>
</parameter>
</target>
<target>
<context value="ext"/>
<contextType value="variable"/>
<element value="value"/>
<variable value="reference"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<target>
<context value="reference"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="evaluate"/>
<parameter>
<valueString value="'urn:uuid:' + %practitionerRole.id"/>
</parameter>
</target>
</rule>
</group>
<group>
<name value="SenderAuthorInit"/>
<typeMode value="none"/>
<input>
<name value="src"/>
<type value="BackboneElement"/>
<mode value="source"/>
</input>
<input>
<name value="bundle"/>
<type value="Bundle"/>
<mode value="target"/>
</input>
<input>
<name value="composition"/>
<type value="Composition"/>
<mode value="target"/>
</input>
<input>
<name value="serviceRequest"/>
<type value="ServiceRequest"/>
<mode value="target"/>
</input>
<rule>
<name value="sender"/>
<source>
<context value="src"/>
</source>
<target>
<context value="bundle"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="e"/>
</target>
<target>
<context value="e"/>
<contextType value="variable"/>
<element value="resource"/>
<variable value="practitionerRole"/>
<transform value="create"/>
<parameter>
<valueString value="PractitionerRole"/>
</parameter>
</target>
<target>
<context value="practitionerRole"/>
<contextType value="variable"/>
<element value="id"/>
<variable value="uuid"/>
<transform value="uuid"/>
</target>
<target>
<context value="e"/>
<contextType value="variable"/>
<element value="fullUrl"/>
<transform value="append"/>
<parameter>
<valueString value="urn:uuid:"/>
</parameter>
<parameter>
<valueId value="uuid"/>
</parameter>
</target>
<target>
<context value="bundle"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="e2"/>
</target>
<target>
<context value="e2"/>
<contextType value="variable"/>
<element value="resource"/>
<variable value="practitioner"/>
<transform value="create"/>
<parameter>
<valueString value="Practitioner"/>
</parameter>
</target>
<target>
<context value="practitioner"/>
<contextType value="variable"/>
<element value="id"/>
<variable value="uuid2"/>
<transform value="uuid"/>
</target>
<target>
<context value="e2"/>
<contextType value="variable"/>
<element value="fullUrl"/>
<transform value="append"/>
<parameter>
<valueString value="urn:uuid:"/>
</parameter>
<parameter>
<valueId value="uuid2"/>
</parameter>
</target>
<target>
<context value="bundle"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="e3"/>
</target>
<target>
<context value="e3"/>
<contextType value="variable"/>
<element value="resource"/>
<variable value="organization"/>
<transform value="create"/>
<parameter>
<valueString value="Organization"/>
</parameter>
</target>
<target>
<context value="organization"/>
<contextType value="variable"/>
<element value="id"/>
<variable value="uuid3"/>
<transform value="uuid"/>
</target>
<target>
<context value="e3"/>
<contextType value="variable"/>
<element value="fullUrl"/>
<transform value="append"/>
<parameter>
<valueString value="urn:uuid:"/>
</parameter>
<parameter>
<valueId value="uuid3"/>
</parameter>
</target>
<target>
<context value="composition"/>
<contextType value="variable"/>
<element value="author"/>
<variable value="reference"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<target>
<context value="reference"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="append"/>
<parameter>
<valueString value="urn:uuid:"/>
</parameter>
<parameter>
<valueId value="uuid"/>
</parameter>
</target>
<target>
<context value="serviceRequest"/>
<contextType value="variable"/>
<element value="requester"/>
<variable value="reference"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<target>
<context value="reference"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="append"/>
<parameter>
<valueString value="urn:uuid:"/>
</parameter>
<parameter>
<valueId value="uuid"/>
</parameter>
</target>
<target>
<context value="practitionerRole"/>
<contextType value="variable"/>
<element value="practitioner"/>
<variable value="reference"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<target>
<context value="reference"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="append"/>
<parameter>
<valueString value="urn:uuid:"/>
</parameter>
<parameter>
<valueId value="uuid2"/>
</parameter>
</target>
<target>
<context value="practitionerRole"/>
<contextType value="variable"/>
<element value="organization"/>
<variable value="reference"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<target>
<context value="reference"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="append"/>
<parameter>
<valueString value="urn:uuid:"/>
</parameter>
<parameter>
<valueId value="uuid3"/>
</parameter>
</target>
<rule>
<name value="sender.author"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition value="(linkId.value = 'sender.author')"/>
</source>
<dependent>
<name value="SenderAuthorItems"/>
<variable value="item"/>
<variable value="practitionerRole"/>
<variable value="practitioner"/>
<variable value="organization"/>
</dependent>
</rule>
<rule>
<name value="sender.dataenterer"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition value="(linkId.value = 'sender.dataenterer')"/>
</source>
<rule>
<name value="sender.dataenterer.items"/>
<source>
<context value="item"/>
</source>
<target>
<context value="bundle"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="e4"/>
</target>
<target>
<context value="e4"/>
<contextType value="variable"/>
<element value="resource"/>
<variable value="practitionerRoleDataEnterer"/>
<transform value="create"/>
<parameter>
<valueString value="PractitionerRole"/>
</parameter>
</target>
<target>
<context value="practitionerRoleDataEnterer"/>
<contextType value="variable"/>
<element value="id"/>
<variable value="uuid4"/>
<transform value="uuid"/>
</target>
<target>
<context value="e4"/>
<contextType value="variable"/>
<element value="fullUrl"/>
<transform value="append"/>
<parameter>
<valueString value="urn:uuid:"/>
</parameter>
<parameter>
<valueId value="uuid4"/>
</parameter>
</target>
<target>
<context value="composition"/>
<contextType value="variable"/>
<element value="extension"/>
<variable value="extension"/>
</target>
<target>
<context value="bundle"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="e5"/>
</target>
<target>
<context value="e5"/>
<contextType value="variable"/>
<element value="resource"/>
<variable value="practitionerDataEnterer"/>
<transform value="create"/>
<parameter>
<valueString value="Practitioner"/>
</parameter>
</target>
<target>
<context value="practitionerDataEnterer"/>
<contextType value="variable"/>
<element value="id"/>
<variable value="uuid5"/>
<transform value="uuid"/>
</target>
<target>
<context value="e5"/>
<contextType value="variable"/>
<element value="fullUrl"/>
<transform value="append"/>
<parameter>
<valueString value="urn:uuid:"/>
</parameter>
<parameter>
<valueId value="uuid5"/>
</parameter>
</target>
<target>
<context value="practitionerRoleDataEnterer"/>
<contextType value="variable"/>
<element value="practitioner"/>
<variable value="reference"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<target>
<context value="reference"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="append"/>
<parameter>
<valueString value="urn:uuid:"/>
</parameter>
<parameter>
<valueId value="uuid5"/>
</parameter>
</target>
<target>
<context value="practitionerRoleDataEnterer"/>
<contextType value="variable"/>
<element value="organization"/>
<variable value="reference"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<target>
<context value="reference"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="append"/>
<parameter>
<valueString value="urn:uuid:"/>
</parameter>
<parameter>
<valueId value="uuid3"/>
</parameter>
</target>
<rule>
<name value="data"/>
<source>
<context value="item"/>
</source>
<dependent>
<name value="SenderDataEntererItems"/>
<variable value="item"/>
<variable value="practitionerRoleDataEnterer"/>
<variable value="practitionerDataEnterer"/>
<variable value="organization"/>
</dependent>
</rule>
<rule>
<name value="extension"/>
<source>
<context value="item"/>
</source>
<dependent>
<name value="ChExtEprDataEnterer"/>
<variable value="item"/>
<variable value="practitionerRoleDataEnterer"/>
<variable value="extension"/>
</dependent>
</rule>
</rule>
</rule>
</rule>
</group>
<group>
<name value="ReceiverCopyRelatedPersonItems"/>
<typeMode value="none"/>
<input>
<name value="src"/>
<type value="BackboneElement"/>
<mode value="source"/>
</input>
<input>
<name value="relatedPerson"/>
<type value="RelatedPerson"/>
<mode value="target"/>
</input>
<rule>
<name value="item"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'receiverCopy.relatedPerson.familyName') and answer.exists())"/>
</source>
<target>
<context value="relatedPerson"/>
<contextType value="variable"/>
<element value="name"/>
<variable value="name"/>
<listMode value="share"/>
<listRuleId value="name"/>
</target>
<target>
<context value="name"/>
<contextType value="variable"/>
<element value="family"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
<rule>
<name value="item"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'receiverCopy.relatedPerson.givenName') and answer.exists())"/>
</source>
<target>
<context value="relatedPerson"/>
<contextType value="variable"/>
<element value="name"/>
<variable value="name"/>
<listMode value="share"/>
<listRuleId value="name"/>
</target>
<target>
<context value="name"/>
<contextType value="variable"/>
<element value="given"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
<rule>
<name value="phone"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'receiverCopy.relatedPerson.phone') and answer.exists())"/>
</source>
<rule>
<name value="receiverCopy.relatedPerson.phone"/>
<source>
<context value="item"/>
<element value="answer"/>
<variable value="answer"/>
</source>
<target>
<context value="relatedPerson"/>
<contextType value="variable"/>
<element value="telecom"/>
<variable value="value"/>
</target>
<target>
<context value="value"/>
<contextType value="variable"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString value="phone"/>
</parameter>
</target>
<target>
<context value="value"/>
<contextType value="variable"/>
<element value="value"/>
<transform value="evaluate"/>
<parameter>
<valueString value="answer.value"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="receiverCopy.relatedPerson.email"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'receiverCopy.relatedPerson.email') and answer.exists())"/>
</source>
<target>
<context value="relatedPerson"/>
<contextType value="variable"/>
<element value="telecom"/>
<variable value="value"/>
</target>
<target>
<context value="value"/>
<contextType value="variable"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString value="email"/>
</parameter>
</target>
<target>
<context value="value"/>
<contextType value="variable"/>
<element value="value"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
<rule>
<name value="item.answer"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'receiverCopy.relatedPerson.streetAddressLine') and answer.exists())"/>
</source>
<target>
<context value="relatedPerson"/>
<contextType value="variable"/>
<element value="address"/>
<variable value="address"/>
<listMode value="share"/>
<listRuleId value="orgAddress"/>
</target>
<rule>
<name value="receiverCopy.relatedPerson.streetAddressLine"/>
<source>
<context value="item"/>
<element value="answer"/>
<variable value="answer"/>
</source>
<target>
<context value="address"/>
<contextType value="variable"/>
<element value="line"/>
<transform value="evaluate"/>
<parameter>
<valueString value="answer.value"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="receiverCopy.relatedPerson.postalCode"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'receiverCopy.relatedPerson.postalCode') and answer.exists())"/>
</source>
<target>
<context value="relatedPerson"/>
<contextType value="variable"/>
<element value="address"/>
<variable value="address"/>
<listMode value="share"/>
<listRuleId value="orgAddress"/>
</target>
<target>
<context value="address"/>
<contextType value="variable"/>
<element value="postalCode"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
<rule>
<name value="receiverCopy.relatedPerson.city"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'receiverCopy.relatedPerson.city') and answer.exists())"/>
</source>
<target>
<context value="relatedPerson"/>
<contextType value="variable"/>
<element value="address"/>
<variable value="address"/>
<listMode value="share"/>
<listRuleId value="orgAddress"/>
</target>
<target>
<context value="address"/>
<contextType value="variable"/>
<element value="city"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
<rule>
<name value="receiverCopy.relatedPerson.country"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'receiverCopy.relatedPerson.country') and answer.exists())"/>
</source>
<target>
<context value="relatedPerson"/>
<contextType value="variable"/>
<element value="address"/>
<variable value="address"/>
<listMode value="share"/>
<listRuleId value="orgAddress"/>
</target>
<target>
<context value="address"/>
<contextType value="variable"/>
<element value="country"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
</group>
<group>
<name value="ReceiverCopyPractitionerItems"/>
<typeMode value="none"/>
<input>
<name value="src"/>
<type value="BackboneElement"/>
<mode value="source"/>
</input>
<input>
<name value="practitioner"/>
<type value="Practitioner"/>
<mode value="target"/>
</input>
<rule>
<name value="item"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'receiverCopy.practitionerRole.practitioner.familyName') and answer.exists())"/>
</source>
<target>
<context value="practitioner"/>
<contextType value="variable"/>
<element value="name"/>
<variable value="name"/>
<listMode value="share"/>
<listRuleId value="practitionerName"/>
</target>
<target>
<context value="name"/>
<contextType value="variable"/>
<element value="family"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
<rule>
<name value="item"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'receiverCopy.practitionerRole.practitioner.givenName') and answer.exists())"/>
</source>
<target>
<context value="practitioner"/>
<contextType value="variable"/>
<element value="name"/>
<variable value="name"/>
<listMode value="share"/>
<listRuleId value="practitionerName"/>
</target>
<target>
<context value="name"/>
<contextType value="variable"/>
<element value="given"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
<rule>
<name value="receiverCopy.practitionerRole.practitioner.title"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'receiverCopy.practitionerRole.practitioner.title') and answer.exists())"/>
</source>
<target>
<context value="practitioner"/>
<contextType value="variable"/>
<element value="name"/>
<variable value="name"/>
<listMode value="share"/>
<listRuleId value="practitionerName"/>
</target>
<target>
<context value="name"/>
<contextType value="variable"/>
<element value="prefix"/>
<variable value="prefix"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
<target>
<context value="prefix"/>
<contextType value="variable"/>
<element value="extension"/>
<variable value="ext"/>
</target>
<target>
<context value="ext"/>
<contextType value="variable"/>
<element value="url"/>
<transform value="copy"/>
<parameter>
<valueString
value="http://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier"/>
</parameter>
</target>
<target>
<context value="ext"/>
<contextType value="variable"/>
<element value="value"/>
<variable value="value"/>
<transform value="create"/>
<parameter>
<valueString value="code"/>
</parameter>
</target>
<target>
<context value="value"/>
<contextType value="variable"/>
<element value="value"/>
<transform value="copy"/>
<parameter>
<valueString value="AC"/>
</parameter>
</target>
</rule>
<rule>
<name value="receiverCopy.practitionerRole.practitioner.phone"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'receiverCopy.practitionerRole.practitioner.phone') and answer.exists())"/>
</source>
<target>
<context value="practitioner"/>
<contextType value="variable"/>
<element value="telecom"/>
<variable value="value"/>
</target>
<target>
<context value="value"/>
<contextType value="variable"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString value="phone"/>
</parameter>
</target>
<target>
<context value="value"/>
<contextType value="variable"/>
<element value="value"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
<rule>
<name value="receiverCopy.practitionerRole.practitioner.email"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'receiverCopy.practitionerRole.practitioner.email') and answer.exists())"/>
</source>
<target>
<context value="practitioner"/>
<contextType value="variable"/>
<element value="telecom"/>
<variable value="value"/>
</target>
<target>
<context value="value"/>
<contextType value="variable"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString value="email"/>
</parameter>
</target>
<target>
<context value="value"/>
<contextType value="variable"/>
<element value="value"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
</group>
<group>
<name value="ReceiverCopyOrganizationItems"/>
<typeMode value="none"/>
<input>
<name value="src"/>
<type value="BackboneElement"/>
<mode value="source"/>
</input>
<input>
<name value="organization"/>
<type value="Organization"/>
<mode value="target"/>
</input>
<rule>
<name value="item"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'receiverCopy.practitionerRole.organization.name') and answer.exists())"/>
</source>
<target>
<context value="organization"/>
<contextType value="variable"/>
<element value="name"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
<rule>
<name value="item.answer"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'receiverCopy.practitionerRole.organization.streetAddressLine') and answer.exists())"/>
</source>
<target>
<context value="organization"/>
<contextType value="variable"/>
<element value="address"/>
<variable value="address"/>
<listMode value="share"/>
<listRuleId value="orgAddress"/>
</target>
<rule>
<name
value="receiverCopy.practitionerRole.organization.streetAddressLine"/>
<source>
<context value="item"/>
<element value="answer"/>
<variable value="answer"/>
</source>
<target>
<context value="address"/>
<contextType value="variable"/>
<element value="line"/>
<transform value="evaluate"/>
<parameter>
<valueString value="answer.value"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="receiverCopy.practitionerRole.organization.postalCode"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'receiverCopy.practitionerRole.organization.postalCode') and answer.exists())"/>
</source>
<target>
<context value="organization"/>
<contextType value="variable"/>
<element value="address"/>
<variable value="address"/>
<listMode value="share"/>
<listRuleId value="orgAddress"/>
</target>
<target>
<context value="address"/>
<contextType value="variable"/>
<element value="postalCode"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
<rule>
<name value="receiverCopy.practitionerRole.organization.city"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'receiverCopy.practitionerRole.organization.city') and answer.exists())"/>
</source>
<target>
<context value="organization"/>
<contextType value="variable"/>
<element value="address"/>
<variable value="address"/>
<listMode value="share"/>
<listRuleId value="orgAddress"/>
</target>
<target>
<context value="address"/>
<contextType value="variable"/>
<element value="city"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
<rule>
<name value="receiverCopy.practitionerRole.organization.country"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'receiverCopy.practitionerRole.organization.country') and answer.exists())"/>
</source>
<target>
<context value="organization"/>
<contextType value="variable"/>
<element value="address"/>
<variable value="address"/>
<listMode value="share"/>
<listRuleId value="orgAddress"/>
</target>
<target>
<context value="address"/>
<contextType value="variable"/>
<element value="country"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
</group>
<group>
<name value="ReceiverCopyPractitionerRoleItems"/>
<typeMode value="none"/>
<input>
<name value="src"/>
<type value="BackboneElement"/>
<mode value="source"/>
</input>
<input>
<name value="bundle"/>
<type value="Bundle"/>
<mode value="target"/>
</input>
<input>
<name value="practitionerRole"/>
<type value="practitionerRole"/>
<mode value="target"/>
</input>
<rule>
<name value="item"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="(linkId.value = 'receiverCopy.practitionerRole.practitioner')"/>
</source>
<target>
<context value="bundle"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="e2"/>
</target>
<target>
<context value="e2"/>
<contextType value="variable"/>
<element value="resource"/>
<variable value="practitioner"/>
<transform value="create"/>
<parameter>
<valueString value="Practitioner"/>
</parameter>
</target>
<target>
<context value="practitioner"/>
<contextType value="variable"/>
<element value="id"/>
<variable value="uuid2"/>
<transform value="uuid"/>
</target>
<target>
<context value="practitionerRole"/>
<contextType value="variable"/>
<element value="practitioner"/>
<variable value="reference"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<target>
<context value="reference"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="append"/>
<parameter>
<valueString value="urn:uuid:"/>
</parameter>
<parameter>
<valueId value="uuid2"/>
</parameter>
</target>
<target>
<context value="e2"/>
<contextType value="variable"/>
<element value="fullUrl"/>
<transform value="append"/>
<parameter>
<valueString value="urn:uuid:"/>
</parameter>
<parameter>
<valueId value="uuid2"/>
</parameter>
</target>
<dependent>
<name value="ReceiverCopyPractitionerItems"/>
<variable value="item"/>
<variable value="practitioner"/>
</dependent>
</rule>
<rule>
<name value="item"/>
<source>
<context value="src"/>
<element value="item"/>
<variable value="item"/>
<condition
value="(linkId.value = 'receiverCopy.practitionerRole.organization')"/>
</source>
<target>
<context value="bundle"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="e3"/>
</target>
<target>
<context value="e3"/>
<contextType value="variable"/>
<element value="resource"/>
<variable value="organization"/>
<transform value="create"/>
<parameter>
<valueString value="Organization"/>
</parameter>
</target>
<target>
<context value="organization"/>
<contextType value="variable"/>
<element value="id"/>
<variable value="uuid3"/>
<transform value="uuid"/>
</target>
<target>
<context value="practitionerRole"/>
<contextType value="variable"/>
<element value="organization"/>
<variable value="reference"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<target>
<context value="reference"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="append"/>
<parameter>
<valueString value="urn:uuid:"/>
</parameter>
<parameter>
<valueId value="uuid3"/>
</parameter>
</target>
<target>
<context value="e3"/>
<contextType value="variable"/>
<element value="fullUrl"/>
<transform value="append"/>
<parameter>
<valueString value="urn:uuid:"/>
</parameter>
<parameter>
<valueId value="uuid3"/>
</parameter>
</target>
<dependent>
<name value="ReceiverCopyOrganizationItems"/>
<variable value="item"/>
<variable value="organization"/>
</dependent>
</rule>
</group>
<group>
<name value="ExtOrfCopyReceiverPatient"/>
<typeMode value="none"/>
<input>
<name value="src"/>
<type value="BackboneElement"/>
<mode value="source"/>
</input>
<input>
<name value="patient"/>
<type value="Patient"/>
<mode value="target"/>
</input>
<input>
<name value="ext"/>
<type value="Extension"/>
<mode value="target"/>
</input>
<rule>
<name value="url"/>
<source>
<context value="src"/>
</source>
<target>
<context value="ext"/>
<contextType value="variable"/>
<element value="url"/>
<transform value="copy"/>
<parameter>
<valueString
value="http://fhir.ch/ig/ch-orf/StructureDefinition/ch-orf-copyreceiver"/>
</parameter>
</target>
</rule>
<rule>
<name value="patient"/>
<source>
<context value="src"/>
</source>
<target>
<context value="ext"/>
<contextType value="variable"/>
<element value="value"/>
<variable value="reference"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<target>
<context value="reference"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="evaluate"/>
<parameter>
<valueString value="'urn:uuid:' + %patient.id"/>
</parameter>
</target>
</rule>
</group>
<group>
<name value="ExtOrfCopyReceiver"/>
<typeMode value="none"/>
<input>
<name value="src"/>
<type value="BackboneElement"/>
<mode value="source"/>
</input>
<input>
<name value="res"/>
<mode value="target"/>
</input>
<input>
<name value="ext"/>
<type value="Extension"/>
<mode value="target"/>
</input>
<rule>
<name value="url"/>
<source>
<context value="src"/>
</source>
<target>
<context value="ext"/>
<contextType value="variable"/>
<element value="url"/>
<transform value="copy"/>
<parameter>
<valueString
value="http://fhir.ch/ig/ch-orf/StructureDefinition/ch-orf-copyreceiver"/>
</parameter>
</target>
</rule>
<rule>
<name value="organization"/>
<source>
<context value="src"/>
</source>
<target>
<context value="ext"/>
<contextType value="variable"/>
<element value="value"/>
<variable value="reference"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<target>
<context value="reference"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="evaluate"/>
<parameter>
<valueString value="'urn:uuid:' + %res.id"/>
</parameter>
</target>
</rule>
</group>
<group>
<name value="ReceiverCopy"/>
<typeMode value="none"/>
<input>
<name value="grp"/>
<type value="BackboneElement"/>
<mode value="source"/>
</input>
<input>
<name value="bundle"/>
<type value="Bundle"/>
<mode value="target"/>
</input>
<input>
<name value="patient"/>
<type value="Patient"/>
<mode value="target"/>
</input>
<input>
<name value="composition"/>
<type value="Composition"/>
<mode value="target"/>
</input>
<input>
<name value="serviceRequest"/>
<type value="ServiceRequest"/>
<mode value="target"/>
</input>
<rule>
<name value="receiverCopyPractitionerRole1"/>
<source>
<context value="grp"/>
<element value="item"/>
<variable value="item"/>
<condition value="(linkId = 'receiverCopy.practitionerRole')"/>
</source>
<target>
<context value="bundle"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="e4"/>
</target>
<target>
<context value="e4"/>
<contextType value="variable"/>
<element value="resource"/>
<variable value="practitionerrole"/>
<transform value="create"/>
<parameter>
<valueString value="PractitionerRole"/>
</parameter>
</target>
<target>
<context value="composition"/>
<contextType value="variable"/>
<element value="extension"/>
<variable value="extension"/>
</target>
<target>
<context value="practitionerrole"/>
<contextType value="variable"/>
<element value="id"/>
<variable value="uuid4"/>
<transform value="uuid"/>
</target>
<target>
<context value="e4"/>
<contextType value="variable"/>
<element value="fullUrl"/>
<transform value="append"/>
<parameter>
<valueString value="urn:uuid:"/>
</parameter>
<parameter>
<valueId value="uuid4"/>
</parameter>
</target>
<rule>
<name value="data"/>
<source>
<context value="item"/>
</source>
<dependent>
<name value="ReceiverCopyPractitionerRoleItems"/>
<variable value="item"/>
<variable value="bundle"/>
<variable value="practitionerrole"/>
</dependent>
</rule>
<rule>
<name value="extension"/>
<source>
<context value="item"/>
</source>
<dependent>
<name value="ExtOrfCopyReceiver"/>
<variable value="item"/>
<variable value="practitionerrole"/>
<variable value="extension"/>
</dependent>
</rule>
</rule>
<rule>
<name value="receiverCopyPractitionerRole2"/>
<source>
<context value="grp"/>
<element value="item"/>
<variable value="item"/>
<condition value="(linkId = 'receiverCopy.patient')"/>
</source>
<target>
<context value="composition"/>
<contextType value="variable"/>
<element value="extension"/>
<variable value="extension"/>
</target>
<rule>
<name value="extension"/>
<source>
<context value="item"/>
</source>
<dependent>
<name value="ExtOrfCopyReceiver"/>
<variable value="item"/>
<variable value="patient"/>
<variable value="extension"/>
</dependent>
</rule>
</rule>
<rule>
<name value="receiverCopyPractitionerRole3"/>
<source>
<context value="grp"/>
<element value="item"/>
<variable value="item"/>
<condition value="(linkId = 'receiverCopy.relatedPerson')"/>
</source>
<target>
<context value="bundle"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="e4"/>
</target>
<target>
<context value="e4"/>
<contextType value="variable"/>
<element value="resource"/>
<variable value="relatedPerson"/>
<transform value="create"/>
<parameter>
<valueString value="RelatedPerson"/>
</parameter>
</target>
<target>
<context value="composition"/>
<contextType value="variable"/>
<element value="extension"/>
<variable value="extension"/>
</target>
<target>
<context value="relatedPerson"/>
<contextType value="variable"/>
<element value="id"/>
<variable value="uuid4"/>
<transform value="uuid"/>
</target>
<target>
<context value="relatedPerson"/>
<contextType value="variable"/>
<element value="patient"/>
<variable value="reference"/>
</target>
<target>
<context value="reference"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="evaluate"/>
<parameter>
<valueString value="'urn:uuid:' + %patient.id"/>
</parameter>
</target>
<target>
<context value="e4"/>
<contextType value="variable"/>
<element value="fullUrl"/>
<transform value="append"/>
<parameter>
<valueString value="urn:uuid:"/>
</parameter>
<parameter>
<valueId value="uuid4"/>
</parameter>
</target>
<rule>
<name value="data"/>
<source>
<context value="item"/>
</source>
<dependent>
<name value="ReceiverCopyRelatedPersonItems"/>
<variable value="item"/>
<variable value="relatedPerson"/>
</dependent>
</rule>
<rule>
<name value="extension"/>
<source>
<context value="item"/>
</source>
<dependent>
<name value="ExtOrfCopyReceiver"/>
<variable value="item"/>
<variable value="relatedPerson"/>
<variable value="extension"/>
</dependent>
</rule>
</rule>
</group>
<group>
<name value="Appointment"/>
<typeMode value="none"/>
<input>
<name value="grp"/>
<type value="BackboneElement"/>
<mode value="source"/>
</input>
<input>
<name value="bundle"/>
<type value="Bundle"/>
<mode value="target"/>
</input>
<input>
<name value="composition"/>
<type value="Composition"/>
<mode value="target"/>
</input>
<input>
<name value="serviceRequest"/>
<type value="ServiceRequest"/>
<mode value="target"/>
</input>
<rule>
<name value="Appointment"/>
<source>
<context value="grp"/>
<element value="item"/>
</source>
<target>
<context value="bundle"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="e4"/>
</target>
<target>
<context value="e4"/>
<contextType value="variable"/>
<element value="resource"/>
<variable value="appointment"/>
<transform value="create"/>
<parameter>
<valueString value="Appointment"/>
</parameter>
</target>
<target>
<context value="appointment"/>
<contextType value="variable"/>
<element value="id"/>
<variable value="uuid4"/>
<transform value="uuid"/>
</target>
<target>
<context value="e4"/>
<contextType value="variable"/>
<element value="fullUrl"/>
<transform value="evaluate"/>
<parameter>
<valueString value="'urn:uuid:' + %uuid4"/>
</parameter>
</target>
<target>
<context value="serviceRequest"/>
<contextType value="variable"/>
<element value="extension"/>
<variable value="extension"/>
</target>
<target>
<context value="extension"/>
<contextType value="variable"/>
<element value="url"/>
<transform value="copy"/>
<parameter>
<valueString
value="http://fhir.ch/ig/ch-orf/StructureDefinition/ch-orf-locationandtime"/>
</parameter>
</target>
<target>
<context value="extension"/>
<contextType value="variable"/>
<element value="value"/>
<variable value="reference"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<target>
<context value="reference"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="evaluate"/>
<parameter>
<valueString value="'urn:uuid:' + %uuid4"/>
</parameter>
</target>
<rule>
<name value="proposed"/>
<source>
<context value="grp"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'appointment.status') and (answer.value.code = 'proposed'))"/>
</source>
<target>
<context value="appointment"/>
<contextType value="variable"/>
<element value="status"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value.code"/>
</parameter>
</target>
<rule>
<name value="appointment.requestedPeriod"/>
<source>
<context value="grp"/>
<element value="item"/>
<variable value="itemp"/>
<condition
value="(linkId.value = 'appointment.requestedPeriod')"/>
</source>
<rule>
<name value="appointment.requestedPeriod.start"/>
<source>
<context value="itemp"/>
<element value="item"/>
<variable value="item2"/>
<condition
value="((linkId.value = 'appointment.requestedPeriod.start') and answer.exists())"/>
</source>
<target>
<context value="appointment"/>
<contextType value="variable"/>
<element value="requestedPeriod"/>
<variable value="requestedPeriod"/>
</target>
<target>
<context value="requestedPeriod"/>
<contextType value="variable"/>
<element value="start"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item2.answer.value"/>
</parameter>
</target>
<target>
<context value="requestedPeriod"/>
<contextType value="variable"/>
<element value="end"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item2.answer.value"/>
</parameter>
</target>
<rule>
<name
value="appointment.requestedPeriod.end.if.not.same.as.start"/>
<source>
<context value="itemp"/>
<element value="item"/>
<variable value="item3"/>
<condition
value="((linkId.value = 'appointment.requestedPeriod.end') and answer.exists())"/>
</source>
<target>
<context value="requestedPeriod"/>
<contextType value="variable"/>
<element value="end"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item3.answer.value"/>
</parameter>
</target>
</rule>
</rule>
</rule>
</rule>
<rule>
<name value="pendingorbooked"/>
<source>
<context value="grp"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'appointment.status') and ((answer.value.code = 'pending') or (answer.value.code = 'booked')))"/>
</source>
<target>
<context value="appointment"/>
<contextType value="variable"/>
<element value="status"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value.code"/>
</parameter>
</target>
<rule>
<name value="appointment.startend"/>
<source>
<context value="grp"/>
<element value="item"/>
<variable value="itemp"/>
<condition
value="(linkId.value = 'appointment.requestedPeriod')"/>
</source>
<rule>
<name value="appointment.start"/>
<source>
<context value="itemp"/>
<element value="item"/>
<variable value="item2"/>
<condition
value="((linkId.value = 'appointment.requestedPeriod.start') and answer.exists())"/>
</source>
<target>
<context value="appointment"/>
<contextType value="variable"/>
<element value="start"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item2.answer.value"/>
</parameter>
</target>
<target>
<context value="appointment"/>
<contextType value="variable"/>
<element value="end"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item2.answer.value"/>
</parameter>
</target>
<rule>
<name value="appointment.end.if.not.same.as.start"/>
<source>
<context value="itemp"/>
<element value="item"/>
<variable value="item3"/>
<condition
value="((linkId.value = 'appointment.requestedPeriod.end') and answer.exists())"/>
</source>
<target>
<context value="appointment"/>
<contextType value="variable"/>
<element value="end"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item3.answer.value"/>
</parameter>
</target>
</rule>
</rule>
</rule>
</rule>
<rule>
<name value="appointment.patientInstruction"/>
<source>
<context value="grp"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId.value = 'appointment.patientInstruction') and answer.exists())"/>
</source>
<target>
<context value="appointment"/>
<contextType value="variable"/>
<element value="patientInstruction"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
<rule>
<name value="appointment.location"/>
<source>
<context value="grp"/>
<element value="item"/>
<variable value="item"/>
<condition value="(linkId.value = 'appointment.location')"/>
</source>
<rule>
<name value="location"/>
<source>
<context value="item"/>
</source>
<target>
<context value="bundle"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="e5"/>
</target>
<target>
<context value="e5"/>
<contextType value="variable"/>
<element value="resource"/>
<variable value="location"/>
<transform value="create"/>
<parameter>
<valueString value="Location"/>
</parameter>
</target>
<target>
<context value="location"/>
<contextType value="variable"/>
<element value="id"/>
<variable value="uuid5"/>
<transform value="uuid"/>
</target>
<target>
<context value="e5"/>
<contextType value="variable"/>
<element value="fullUrl"/>
<transform value="evaluate"/>
<parameter>
<valueString value="'urn:uuid:' + %uuid5"/>
</parameter>
</target>
<target>
<context value="appointment"/>
<contextType value="variable"/>
<element value="participant"/>
<variable value="participant"/>
</target>
<target>
<context value="participant"/>
<contextType value="variable"/>
<element value="status"/>
<transform value="copy"/>
<parameter>
<valueString value="tentative"/>
</parameter>
</target>
<target>
<context value="participant"/>
<contextType value="variable"/>
<element value="actor"/>
<variable value="actor"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<target>
<context value="actor"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="evaluate"/>
<parameter>
<valueString value="'urn:uuid:' + %location.id"/>
</parameter>
</target>
<rule>
<name value="item"/>
<source>
<context value="item"/>
<element value="item"/>
<variable value="item3"/>
<condition
value="((linkId.value = 'appointment.location.name') and answer.exists())"/>
</source>
<target>
<context value="location"/>
<contextType value="variable"/>
<element value="name"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item3.answer.value"/>
</parameter>
</target>
</rule>
<rule>
<name value="appointment.location.phone"/>
<source>
<context value="item"/>
<element value="item"/>
<variable value="item3"/>
<condition
value="((linkId.value = 'appointment.location.phone') and answer.exists())"/>
</source>
<target>
<context value="location"/>
<contextType value="variable"/>
<element value="telecom"/>
<variable value="value"/>
</target>
<target>
<context value="value"/>
<contextType value="variable"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString value="phone"/>
</parameter>
</target>
<target>
<context value="value"/>
<contextType value="variable"/>
<element value="value"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item3.answer.value"/>
</parameter>
</target>
</rule>
<rule>
<name value="appointment.location.email"/>
<source>
<context value="item"/>
<element value="item"/>
<variable value="item3"/>
<condition
value="((linkId.value = 'appointment.location.email') and answer.exists())"/>
</source>
<target>
<context value="location"/>
<contextType value="variable"/>
<element value="telecom"/>
<variable value="value"/>
</target>
<target>
<context value="value"/>
<contextType value="variable"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString value="email"/>
</parameter>
</target>
<target>
<context value="value"/>
<contextType value="variable"/>
<element value="value"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item3.answer.value"/>
</parameter>
</target>
</rule>
<rule>
<name value="appointment.location.streetAddressLine"/>
<source>
<context value="item"/>
<element value="item"/>
<variable value="item3"/>
<condition
value="((linkId.value = 'appointment.location.streetAddressLine') and answer.exists())"/>
</source>
<target>
<context value="location"/>
<contextType value="variable"/>
<element value="address"/>
<variable value="address"/>
<listMode value="share"/>
<listRuleId value="orgAddress"/>
</target>
<rule>
<name value="line"/>
<source>
<context value="item"/>
<element value="answer"/>
<variable value="answer"/>
</source>
<target>
<context value="address"/>
<contextType value="variable"/>
<element value="line"/>
<transform value="evaluate"/>
<parameter>
<valueString value="answer.value"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="appointment.location.postalCode"/>
<source>
<context value="item"/>
<element value="item"/>
<variable value="item3"/>
<condition
value="((linkId.value = 'appointment.location.postalCode') and answer.exists())"/>
</source>
<target>
<context value="location"/>
<contextType value="variable"/>
<element value="address"/>
<variable value="address"/>
<listMode value="share"/>
<listRuleId value="orgAddress"/>
</target>
<target>
<context value="address"/>
<contextType value="variable"/>
<element value="postalCode"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item3.answer.value"/>
</parameter>
</target>
</rule>
<rule>
<name value="appointment.location.city"/>
<source>
<context value="item"/>
<element value="item"/>
<variable value="item3"/>
<condition
value="((linkId.value = 'appointment.location.city') and answer.exists())"/>
</source>
<target>
<context value="location"/>
<contextType value="variable"/>
<element value="address"/>
<variable value="address"/>
<listMode value="share"/>
<listRuleId value="orgAddress"/>
</target>
<target>
<context value="address"/>
<contextType value="variable"/>
<element value="city"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item3.answer.value"/>
</parameter>
</target>
</rule>
<rule>
<name value="appointment.location.country"/>
<source>
<context value="item"/>
<element value="item"/>
<variable value="item3"/>
<condition
value="((linkId.value = 'appointment.location.country') and answer.exists())"/>
</source>
<target>
<context value="location"/>
<contextType value="variable"/>
<element value="address"/>
<variable value="address"/>
<listMode value="share"/>
<listRuleId value="orgAddress"/>
</target>
<target>
<context value="address"/>
<contextType value="variable"/>
<element value="country"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item3.answer.value"/>
</parameter>
</target>
</rule>
</rule>
</rule>
</rule>
</group>
<group>
<name value="PreviousResults"/>
<typeMode value="none"/>
<input>
<name value="grp"/>
<type value="BackboneElement"/>
<mode value="source"/>
</input>
<input>
<name value="bundle"/>
<type value="Bundle"/>
<mode value="target"/>
</input>
<input>
<name value="serviceRequest"/>
<type value="ServiceRequest"/>
<mode value="target"/>
</input>
<rule>
<name value="item"/>
<source>
<context value="grp"/>
<element value="item"/>
<variable value="item"/>
<condition
value="((linkId = 'previousResults.attachment') and answer.exists())"/>
</source>
<rule>
<name value="answer"/>
<source>
<context value="item"/>
<element value="answer"/>
<variable value="answer"/>
</source>
<rule>
<name value="media"/>
<source>
<context value="answer"/>
<type value="Attachment"/>
<element value="value"/>
<variable value="attachment"/>
</source>
<target>
<context value="bundle"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="e"/>
</target>
<target>
<context value="e"/>
<contextType value="variable"/>
<element value="resource"/>
<variable value="media"/>
<transform value="create"/>
<parameter>
<valueString value="Media"/>
</parameter>
</target>
<target>
<context value="media"/>
<contextType value="variable"/>
<element value="id"/>
<variable value="uuid"/>
<transform value="uuid"/>
</target>
<target>
<context value="media"/>
<contextType value="variable"/>
<element value="status"/>
<transform value="copy"/>
<parameter>
<valueString value="completed"/>
</parameter>
</target>
<target>
<context value="e"/>
<contextType value="variable"/>
<element value="fullUrl"/>
<transform value="append"/>
<parameter>
<valueString value="urn:uuid:"/>
</parameter>
<parameter>
<valueId value="uuid"/>
</parameter>
</target>
<target>
<context value="media"/>
<contextType value="variable"/>
<element value="content"/>
<transform value="copy"/>
<parameter>
<valueId value="attachment"/>
</parameter>
</target>
<target>
<context value="serviceRequest"/>
<contextType value="variable"/>
<element value="supportingInfo"/>
<variable value="supportingInfo"/>
</target>
<target>
<context value="supportingInfo"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="evaluate"/>
<parameter>
<valueString value="'urn:uuid:' + uuid"/>
</parameter>
</target>
</rule>
</rule>
</rule>
</group>
<group>
<name value="Note"/>
<typeMode value="none"/>
<input>
<name value="grp"/>
<type value="BackboneElement"/>
<mode value="source"/>
</input>
<input>
<name value="serviceRequest"/>
<type value="ServiceRequest"/>
<mode value="target"/>
</input>
<rule>
<name value="note.text"/>
<source>
<context value="grp"/>
<element value="item"/>
<variable value="item"/>
<condition value="((linkId = 'note.text') and answer.exists())"/>
</source>
<target>
<context value="serviceRequest"/>
<contextType value="variable"/>
<element value="note"/>
<variable value="note"/>
</target>
<target>
<context value="note"/>
<contextType value="variable"/>
<element value="text"/>
<transform value="evaluate"/>
<parameter>
<valueString value="item.answer.value"/>
</parameter>
</target>
</rule>
</group>
<group>
<name value="QrToBundle"/>
<typeMode value="none"/>
<input>
<name value="qr"/>
<type value="QuestionnaireResponse"/>
<mode value="source"/>
</input>
<input>
<name value="q"/>
<type value="Questionnaire"/>
<mode value="target"/>
</input>
<input>
<name value="patient"/>
<type value="Patient"/>
<mode value="target"/>
</input>
<input>
<name value="questionnaireresp"/>
<type value="QuestionnaireResponseTarget"/>
<mode value="target"/>
</input>
<input>
<name value="servicerequest"/>
<type value="ServiceRequest"/>
<mode value="target"/>
</input>
<input>
<name value="composition"/>
<type value="Composition"/>
<mode value="target"/>
</input>
<input>
<name value="bundle"/>
<type value="Bundle"/>
<mode value="target"/>
</input>
<rule>
<name value="id"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="bundle"/>
<contextType value="variable"/>
<element value="id"/>
<transform value="uuid"/>
</target>
</rule>
<rule>
<name value="type"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="bundle"/>
<contextType value="variable"/>
<element value="type"/>
<transform value="copy"/>
<parameter>
<valueString value="document"/>
</parameter>
</target>
</rule>
<rule>
<name value="composition"/>
<source>
<context value="qr"/>
</source>
<dependent>
<name value="OrfComposition"/>
<variable value="qr"/>
<variable value="q"/>
<variable value="composition"/>
<variable value="patient"/>
<variable value="questionnaireresp"/>
<variable value="servicerequest"/>
<variable value="bundle"/>
</dependent>
</rule>
<rule>
<name value="qrgroups"/>
<source>
<context value="qr"/>
</source>
<dependent>
<name value="QrToGroups"/>
<variable value="qr"/>
<variable value="patient"/>
<variable value="bundle"/>
<variable value="composition"/>
<variable value="servicerequest"/>
</dependent>
</rule>
</group>
<group>
<name value="OrfComposition"/>
<typeMode value="none"/>
<input>
<name value="qr"/>
<type value="QuestionnaireResponse"/>
<mode value="source"/>
</input>
<input>
<name value="q"/>
<type value="Questionnaire"/>
<mode value="target"/>
</input>
<input>
<name value="tgt"/>
<type value="Composition"/>
<mode value="target"/>
</input>
<input>
<name value="patient"/>
<type value="Patient"/>
<mode value="target"/>
</input>
<input>
<name value="questionnaireresp"/>
<type value="QuestionnaireResponseTarget"/>
<mode value="target"/>
</input>
<input>
<name value="servicerequest"/>
<type value="ServiceRequest"/>
<mode value="target"/>
</input>
<input>
<name value="bundle"/>
<type value="Bundle"/>
<mode value="target"/>
</input>
<rule>
<name value="status"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="status"/>
<transform value="copy"/>
<parameter>
<valueString value="final"/>
</parameter>
</target>
</rule>
<rule>
<name value="subject"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="subject"/>
<variable value="reference"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<target>
<context value="reference"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="evaluate"/>
<parameter>
<valueString value="'urn:uuid:' + %patient.id"/>
</parameter>
</target>
</rule>
<rule>
<name value="sections"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="section"/>
<variable value="tgtSection"/>
</target>
<target>
<context value="tgtSection"/>
<contextType value="variable"/>
<element value="title"/>
<transform value="copy"/>
<parameter>
<valueString value="Order-Referral"/>
</parameter>
</target>
<target>
<context value="tgtSection"/>
<contextType value="variable"/>
<element value="code"/>
<variable value="code"/>
</target>
<target>
<context value="code"/>
<contextType value="variable"/>
<element value="coding"/>
<variable value="coding"/>
</target>
<target>
<context value="coding"/>
<contextType value="variable"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString value="http://loinc.org"/>
</parameter>
</target>
<target>
<context value="coding"/>
<contextType value="variable"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="93037-0"/>
</parameter>
</target>
<target>
<context value="coding"/>
<contextType value="variable"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueString value="Portable medical order form"/>
</parameter>
</target>
<target>
<context value="tgtSection"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="reference"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<target>
<context value="reference"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="evaluate"/>
<parameter>
<valueString value="'urn:uuid:' + %questionnaireresp.id"/>
</parameter>
</target>
<target>
<context value="tgtSection"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="reference"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<target>
<context value="reference"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="evaluate"/>
<parameter>
<valueString value="'urn:uuid:' + %servicerequest.id"/>
</parameter>
</target>
<target>
<context value="tgtSection"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="reference"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<target>
<context value="reference"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="evaluate"/>
<parameter>
<valueString value="'urn:uuid:' + %q.id"/>
</parameter>
</target>
</rule>
<rule>
<name value="servicerequest"/>
<source>
<context value="qr"/>
</source>
<target>
<context value="servicerequest"/>
<contextType value="variable"/>
<element value="status"/>
<transform value="copy"/>
<parameter>
<valueString value="active"/>
</parameter>
</target>
<target>
<context value="servicerequest"/>
<contextType value="variable"/>
<element value="intent"/>
<transform value="copy"/>
<parameter>
<valueString value="order"/>
</parameter>
</target>
<target>
<context value="servicerequest"/>
<contextType value="variable"/>
<element value="subject"/>
<variable value="reference"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<target>
<context value="reference"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="evaluate"/>
<parameter>
<valueString value="'urn:uuid:' + %patient.id"/>
</parameter>
</target>
</rule>
</group>
</StructureMap>
IG © 2020+ HL7 Switzerland. Package ch.fhir.ig.ch-orf#2.0.0-ballot based on FHIR 4.0.1. Generated 2023-06-29
Links: Table of Contents |
QA Report
| Propose a change