FHIR © HL7.org  |  Server Home  |  XIG Home  |  XIG Stats  |  Server Source  |  FHIR  

FHIR IG Statistics: StructureMap/OrfQrToBundle

Packagech.fhir.ig.ch-orf
Resource TypeStructureMap
IdOrfQrToBundle
FHIR VersionR4
Sourcehttp://fhir.ch/ig/ch-orf/https://build.fhir.org/ig/hl7ch/ch-orf/StructureMap-OrfQrToBundle.html
URLhttp://fhir.ch/ig/ch-orf/StructureMap/OrfQrToBundle
Version3.0.2-ci-build
Statusdraft
Date2025-05-22T09:52:16+00:00
NameOrfQrToBundle
Realmch
Authorityhl7
DescriptionORF QuestionnaireResponse to Bundle 2021-01-11 Oliver Egger QRF Questionnaire: http://fhir.ch/ig/ch-orf/Questionnaire-order-referral-form.html QRF QuestionnaireResponse: http://fhir.ch/ig/ch-orf/QuestionnaireResponse-order-referral-form.xml.html Bundle: http://fhir.ch/ig/ch-orf/StructureDefinition-ch-orf-document.html
CopyrightCC0-1.0

Resources that use this resource

No resources found


Resources that this resource uses

No resources found


Narrative

Note: links and images are rebased to the (stated) source

Generated Narrative: StructureMap OrfQrToBundle

map "http://fhir.ch/ig/ch-orf/StructureMap/OrfQrToBundle" = "OrfQrToBundle"

// ORF QuestionnaireResponse to Bundle
// 2021-01-11 Oliver Egger
// QRF Questionnaire: http://fhir.ch/ig/ch-orf/Questionnaire-order-referral-form.html
// QRF QuestionnaireResponse: http://fhir.ch/ig/ch-orf/QuestionnaireResponse-order-referral-form.xml.html
// Bundle: http://fhir.ch/ig/ch-orf/StructureDefinition-ch-orf-document.html

uses "http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse" alias QuestionnaireResponseSource as source
uses "http://hl7.org/fhir/StructureDefinition/Bundle" alias Bundle as target
uses "http://hl7.org/fhir/StructureDefinition/Composition" alias Composition as target
uses "http://hl7.org/fhir/StructureDefinition/Patient" alias Patient as target
uses "http://hl7.org/fhir/StructureDefinition/RelatedPerson" alias RelatedPerson as target
uses "http://hl7.org/fhir/StructureDefinition/Organization" alias Organization as target
uses "http://hl7.org/fhir/StructureDefinition/Practitioner" alias Practitioner as target
uses "http://hl7.org/fhir/StructureDefinition/PractitionerRole" alias PractitionerRole as target
uses "http://hl7.org/fhir/StructureDefinition/ServiceRequest" alias ServiceRequest as target
uses "http://hl7.org/fhir/StructureDefinition/Extension" alias Extension as target
uses "http://hl7.org/fhir/StructureDefinition/EpisodeOfCare" alias EpisodeOfCare as target
uses "http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse" alias QuestionnaireResponse as target

group OrfQrToBundle(source qr : QuestionnaireResponseSource, target bundle : Bundle) {
  qr ->  bundle.identifier as documentIdentifier,  documentIdentifier.system = 'urn:ietf:rfc:3986',  uuid() as uuidDoc,  documentIdentifier.value = append('urn:uuid:', uuidDoc) "documentIdentifier";
  qr ->  bundle.entry as e,  e.resource = create('Composition') as composition,  composition.id = uuid() as uuid,  e.fullUrl = append('urn:uuid:', uuid),  bundle.entry as e2,  bundle.timestamp = (now()) as timestamp,  bundle.type = 'document',  composition.date = timestamp,  composition.title = 'Order and Referral by Form',  composition.type as type,  type.coding as coding,  coding.code = '419891008',  coding.system = 'http://snomed.info/sct',  composition.category as category,  category.coding as coding,  coding.code = '721963009',  coding.system = 'http://snomed.info/sct',  e2.resource = create('Patient') as patient,  patient.id = uuid() as uuid2,  e2.fullUrl = append('urn:uuid:', uuid2),  bundle.entry as e4,  e4.resource = create('QuestionnaireResponse') as questionnaireresp then {
    qr then QuestionnaireResponseMap(qr, questionnaireresp) "questionnaireresp";
    qr ->  questionnaireresp.id = uuid() as uuid4,  e4.fullUrl = append('urn:uuid:', uuid4),  bundle.entry as e5,  e5.resource = create('ServiceRequest') as servicerequest,  servicerequest.id = uuid() as uuid5,  e5.fullUrl = append('urn:uuid:', uuid5) then QrToBundle(qr, patient, questionnaireresp, servicerequest, composition, bundle) "orfbundle";
  } "OrfQrToBundle";
}

group QuestionnaireResponseMap(source src, target tgt : QuestionnaireResponse) {
  src.identifier as value -> tgt.identifier = value;
  src.basedOn as value -> tgt.basedOn = value;
  src.partOf as value -> tgt.partOf = value;
  src.questionnaire as value -> tgt.questionnaire = value;
  src.status as value -> tgt.status = value;
  src.subject as value -> tgt.subject = value;
  src.encounter as value -> tgt.encounter = value;
  src.authored as value -> tgt.authored = value;
  src.author as value -> tgt.author = value;
  src.source as value -> tgt.source = value;
  src.item as value -> tgt.item = value;
}

group QrToGroups(source qr : QuestionnaireResponseSource, target patient : Patient, target bundle : Bundle, target composition : Composition, target serviceRequest : ServiceRequest) {
  qr.item as grp where linkId = 'order' then OrderItems(grp, bundle, composition, serviceRequest) "grporder";
  qr.item as grp where linkId = 'receiver' then ReceiverInit(grp, bundle, composition, serviceRequest) "receiver";
  qr.item as grp where linkId = 'initiator' then InitiatorInit(grp, bundle, patient, composition, serviceRequest) "grpinitiator";
  qr.item as grp where linkId = 'patient' then PatientItems(grp, bundle, patient, composition, serviceRequest) "grppatient";
  qr.item as grp where linkId = 'requestedEncounter' then RequestedEncounterItems(grp, bundle, patient, serviceRequest) "grprequestedencounter";
  qr.item as grp where linkId = 'coverage' then Coverage(grp, bundle, patient, serviceRequest) "grprequestedencounter";
  qr.item as grp where linkId = 'sender' then SenderAuthorInit(grp, bundle, composition, serviceRequest) "grpsender";
  qr.item as grp where linkId = 'receiverCopy' then ReceiverCopy(grp, bundle, patient, composition, serviceRequest) "receiverCopy";
  qr.item as grp where linkId = 'appointment' then Appointment(grp, bundle, composition, serviceRequest) "appointment";
  qr.item as grp where linkId = 'antecedentEpisodeOfCare' then AntecedentEpisodeOfCareInit(grp, bundle, patient, composition) "AntecedentEpisodeOfCareInit";
  qr.item as grp where linkId = 'consent' then Consent(grp, bundle, composition) "consent";
  qr.item as grp where linkId = 'note' then Note(grp, serviceRequest) "note";
}

group OrderItems(source src, target bundle : Bundle, target composition, target serviceRequest : ServiceRequest) {
  src.item as item where ((linkId.value = 'order.precedentDocumentIdentifier') and answer.exists()) ->  composition.extension as ext,  ext.url = 'http://fhir.ch/ig/ch-orf/StructureDefinition/ch-orf-precedentdocument',  ext.value = create('Identifier') as value,  value.system = 'urn:ietf:rfc:3986',  value.value = ('urn:uuid:' + %item.answer.value) "orderPrecedentDocumentIdentifier";
  src.item as item where ((linkId.value = 'order.placerOrderIdentifier') and answer.exists()) ->  serviceRequest.identifier as value share placer,  value.type as type,  type.coding as coding,  coding.system = 'http://terminology.hl7.org/CodeSystem/v2-0203',  coding.code = 'PLAC',  value.value = (%item.answer.value) "orderPlacerOrderIdentifier";
  src.item as item where ((linkId.value = 'order.placerOrderIdentifierDomain') and answer.exists()) ->  serviceRequest.identifier as value share placer,  value.system = (%item.answer.value) "orderPlacerOrderIdentifierDomain";
  src.item as item where ((linkId.value = 'order.fillerOrderIdentifier') and answer.exists()) ->  serviceRequest.identifier as value share filler,  value.type as type,  type.coding as coding,  coding.system = 'http://terminology.hl7.org/CodeSystem/v2-0203',  coding.code = 'FILL',  value.value = (%item.answer.value) "orderFillerOrderIdentifier";
  src.item as item where ((linkId.value = 'order.fillerOrderIdentifierDomain') and answer.exists()) ->  serviceRequest.identifier as value share filler,  value.system = (%item.answer.value) "orderFillerOrderIdentifierDomain";
  src.item as item where ((linkId.value = 'order.authoredOn') and answer.exists()) -> serviceRequest.authoredOn = (%item.answer.value);
  src.item as item where ((linkId.value = 'order.priority') and answer.exists()) -> serviceRequest.priority = (%item.answer.value.code);
  src.item as item where (linkId.value = 'order.notificationContactDocument') then {
    item ->  bundle.entry as e4,  e4.resource = create('PractitionerRole') as practitionerRoleDataEnterer,  practitionerRoleDataEnterer.id = uuid() as uuid4,  e4.fullUrl = append('urn:uuid:', uuid4),  composition.extension as extension,  bundle.entry as e5,  e5.resource = create('Practitioner') as practitionerDataEnterer,  practitionerDataEnterer.id = uuid() as uuid5,  e5.fullUrl = append('urn:uuid:', uuid5),  practitionerRoleDataEnterer.practitioner = create('Reference') as reference,  reference.reference = append('urn:uuid:', uuid5) then {
      item then UrgentNotificationContactForRequestItems(item, practitionerRoleDataEnterer, practitionerDataEnterer) "data";
      item then ExtOrfUrgentNotificationContactForRequest(item, practitionerRoleDataEnterer, extension) "extension";
    } "orderNotificationContactDocumentItems";
  } "ordeNnotificationContactDocument";
  src.item as item where (linkId.value = 'order.notificationContactDocumentResponse') then {
    item ->  bundle.entry as e4,  e4.resource = create('PractitionerRole') as practitionerRoleDataEnterer,  practitionerRoleDataEnterer.id = uuid() as uuid4,  e4.fullUrl = append('urn:uuid:', uuid4),  composition.extension as extension,  bundle.entry as e5,  e5.resource = create('Practitioner') as practitionerDataEnterer,  practitionerDataEnterer.id = uuid() as uuid5,  e5.fullUrl = append('urn:uuid:', uuid5),  practitionerRoleDataEnterer.practitioner = create('Reference') as reference,  reference.reference = append('urn:uuid:', uuid5) then {
      item then UrgentNotificationContactForResponseItems(item, practitionerRoleDataEnterer, practitionerDataEnterer) "data";
      item then ExtOrfUrgentNotificationContactForResponse(item, practitionerRoleDataEnterer, extension) "extension";
    } "orderNotificationContactDocumentResponseItems";
  } "orderNotificationContactDocumentResponse";
}

group UrgentNotificationContactForRequestPractitionerItems(source src, target practitioner : Practitioner) {
  src.item as item where ((linkId.value = 'order.notificationContactDocument.practitioner.familyName') and answer.exists()) ->  practitioner.name as name share practitionerName,  name.family = (%item.answer.value);
  src.item as item where ((linkId.value = 'order.notificationContactDocument.practitioner.givenName') and answer.exists()) ->  practitioner.name as name share practitionerName,  name.given = (%item.answer.value);
  src.item as item where ((linkId.value = 'order.notificationContactDocument.practitioner.title') and answer.exists()) ->  practitioner.name as name share practitionerName,  name.prefix = (%item.answer.value) as prefix,  prefix.extension as ext,  ext.url = 'http://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier',  ext.value = create('code') as value,  value.value = 'AC' "senderAuthorPractitionerTitle";
  src.item as item where ((linkId.value = 'order.notificationContactDocument.practitioner.phone') and answer.exists()) ->  practitioner.telecom as value,  value.system = 'phone',  value.value = (%item.answer.value) "senderAuthorPractitionerPhone";
  src.item as item where ((linkId.value = 'order.notificationContactDocument.practitioner.email') and answer.exists()) ->  practitioner.telecom as value,  value.system = 'email',  value.value = (%item.answer.value) "senderAuthorPractitionerEmail";
}

group UrgentNotificationContactForRequestItems(source src, target practitionerRole : PractitionerRole, target practitioner : Practitioner) {
  src.item as item where (linkId.value = 'order.notificationContactDocument.practitioner') then UrgentNotificationContactForRequestPractitionerItems(item, practitioner);
}

group ExtOrfUrgentNotificationContactForRequest(source src, target practitionerRole : PractitionerRole, target ext : Extension) {
  src -> ext.url = 'http://fhir.ch/ig/ch-orf/StructureDefinition/ch-orf-urgentnoficationcontactforthisdocument' "url";
  src ->  ext.value = create('Reference') as reference,  reference.reference = ('urn:uuid:' + %practitionerRole.id) "practitionerRole";
}

group UrgentNotificationContactForResponsePractitionerItems(source src, target practitioner : Practitioner) {
  src.item as item where ((linkId.value = 'order.notificationContactDocumentResponse.practitioner.familyName') and answer.exists()) ->  practitioner.name as name share practitionerName,  name.family = (%item.answer.value);
  src.item as item where ((linkId.value = 'order.notificationContactDocumentResponse.practitioner.givenName') and answer.exists()) ->  practitioner.name as name share practitionerName,  name.given = (%item.answer.value);
  src.item as item where ((linkId.value = 'order.notificationContactDocumentResponse.practitioner.title') and answer.exists()) ->  practitioner.name as name share practitionerName,  name.prefix = (%item.answer.value) as prefix,  prefix.extension as ext,  ext.url = 'http://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier',  ext.value = create('code') as value,  value.value = 'AC' "senderAuthorPractitionerTitle";
  src.item as item where ((linkId.value = 'order.notificationContactDocumentResponse.practitioner.phone') and answer.exists()) ->  practitioner.telecom as value,  value.system = 'phone',  value.value = (%item.answer.value) "senderAuthorPractitionerPhone";
  src.item as item where ((linkId.value = 'order.notificationContactDocumentResponse.practitioner.email') and answer.exists()) ->  practitioner.telecom as value,  value.system = 'email',  value.value = (%item.answer.value) "senderAuthorPractitionerEmail";
}

group UrgentNotificationContactForResponseItems(source src, target practitionerRole : PractitionerRole, target practitioner : Practitioner) {
  src.item as item where (linkId.value = 'order.notificationContactDocumentResponse.practitioner') then UrgentNotificationContactForResponsePractitionerItems(item, practitioner);
}

group ExtOrfUrgentNotificationContactForResponse(source src, target practitionerRole : PractitionerRole, target ext : Extension) {
  src -> ext.url = 'http://fhir.ch/ig/ch-orf/StructureDefinition/ch-orf-urgentnoficationcontactfortheresponsetothisdocument' "url";
  src ->  ext.value = create('Reference') as reference,  reference.reference = ('urn:uuid:' + %practitionerRole.id) "practitionerRole";
}

group ReceiverPractitionerItems(source src, target practitioner : Practitioner) {
  src.item as item where ((linkId.value = 'receiver.practitioner.familyName') and answer.exists()) ->  practitioner.name as name share practitionerName,  name.family = (%item.answer.value);
  src.item as item where ((linkId.value = 'receiver.practitioner.givenName') and answer.exists()) ->  practitioner.name as name share practitionerName,  name.given = (%item.answer.value);
  src.item as item where ((linkId.value = 'receiver.practitioner.title') and answer.exists()) ->  practitioner.name as name share practitionerName,  name.prefix = (%item.answer.value) as prefix,  prefix.extension as ext,  ext.url = 'http://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier',  ext.value = create('code') as value,  value.value = 'AC' "receiverPractitionerTitle";
  src.item as item where ((linkId.value = 'receiver.practitioner.gln') and answer.exists()) ->  practitioner.identifier as value,  value.system = 'urn:oid:2.51.1.3',  value.value = (%item.answer.value) "receiverPractitionerGln";
  src.item as item where ((linkId.value = 'receiver.practitioner.zsr') and answer.exists()) ->  practitioner.identifier as value,  value.system = 'urn:oid:2.16.756.5.30.1.123.100.2.1.1',  value.value = (%item.answer.value) "receiverPractitionerZsr";
  src.item as item where ((linkId.value = 'receiver.practitioner.phone') and answer.exists()) ->  practitioner.telecom as value,  value.system = 'phone',  value.value = (%item.answer.value) "receiverPractitionerPhone";
  src.item as item where ((linkId.value = 'receiver.practitioner.email') and answer.exists()) ->  practitioner.telecom as value,  value.system = 'email',  value.value = (%item.answer.value) "receiverPractitionerEmail";
}

group ReceiverOrganizationItems(source src, target organization : Organization) {
  src.item as item where ((linkId.value = 'receiver.organization.name') and answer.exists()) -> organization.name = (%item.answer.value);
  src.item as item where ((linkId.value = 'receiver.organization.gln') and answer.exists()) ->  organization.identifier as value,  value.system = 'urn:oid:2.51.1.3',  value.value = (%item.answer.value) "receiverOrganizationGln";
  src.item as item where ((linkId.value = 'receiver.organization.zsr') and answer.exists()) ->  organization.identifier as value,  value.system = 'urn:oid:2.16.756.5.30.1.123.100.2.1.1',  value.value = (%item.answer.value) "receiverOrganizationZsr";
  src.item as item where ((linkId.value = 'receiver.organization.streetAddressLine') and answer.exists()) -> organization.address as address share orgAddress then {
    item.answer as answer -> address.line = (%answer.value) "receiverOrganizationStreetAddressLine";
  } "itemAnswer";
  src.item as item where ((linkId.value = 'receiver.organization.postalCode') and answer.exists()) ->  organization.address as address share orgAddress,  address.postalCode = (%item.answer.value) "receiverOrganizationPostalCode";
  src.item as item where ((linkId.value = 'receiver.organization.city') and answer.exists()) ->  organization.address as address share orgAddress,  address.city = (%item.answer.value) "receiverOrganizationCity";
  src.item as item where ((linkId.value = 'receiver.organization.country') and answer.exists()) ->  organization.address as address share orgAddress,  address.country = (%item.answer.value) "receiverOrganizationCountry";
}

group ReceiverItems(source src, target bundle : Bundle, target practitionerRole : PractitionerRole) {
  src.item as item where (linkId.value = 'receiver.practitioner') ->  bundle.entry as e2,  e2.resource = create('Practitioner') as practitioner,  practitioner.id = uuid() as uuid2,  practitionerRole.practitioner = create('Reference') as reference,  reference.reference = append('urn:uuid:', uuid2),  e2.fullUrl = append('urn:uuid:', uuid2) then ReceiverPractitionerItems(item, practitioner);
  src.item as item where (linkId.value = 'receiver.organization') ->  bundle.entry as e3,  e3.resource = create('Organization') as organization,  organization.id = uuid() as uuid3,  practitionerRole.organization = create('Reference') as reference,  reference.reference = append('urn:uuid:', uuid3),  e3.fullUrl = append('urn:uuid:', uuid3) then ReceiverOrganizationItems(item, organization);
}

group Consent(source src, target bundle : Bundle, target composition : Composition) {
  src.item as item where ((linkId.value = 'consent.statement') and answer.exists()) ->  bundle.entry as e,  e.resource = create('Consent') as consent,  consent.status = 'active',  consent.scope as scope,  scope.coding as coding,  coding.code = 'treatment',  coding.system = 'http://terminology.hl7.org/CodeSystem/consentscope',  consent.category as category,  category.coding as coding,  coding.code = '59284-0',  coding.system = 'http://loinc.org',  consent.policyRule as policyRule,  policyRule.coding as coding,  coding.code = '385432009',  coding.system = 'http://snomed.info/sct',  consent.id = uuid() as uuid,  e.fullUrl = append('urn:uuid:', uuid),  composition.extension as ext,  ext.url = 'http://fhir.ch/ig/ch-orf/StructureDefinition/ch-orf-patientconsent',  ext.value = create('Reference') as reference,  consent.extension as extcode,  extcode.url = 'http://fhir.ch/ig/ch-orf/StructureDefinition/ch-orf-consentcode',  extcode.value = create('CodeableConcept') as cc,  cc.coding = (%item.answer.value),  reference.reference = append('urn:uuid:', uuid) then {
    item.answer as answer then {
      answer.item as item where ((linkId.value = 'consent.statement.note') and answer.exists()) ->  consent.extension as extnote,  extnote.url = 'http://fhir.ch/ig/ch-orf/StructureDefinition/ch-orf-consentnote',  extnote.value = (%item.answer.value) "consentStatementNote";
    } "itemAnswer";
  } "consentStatement";
}

group ReceiverInit(source src, target bundle : Bundle, target composition : Composition, target serviceRequest : ServiceRequest) {
  src ->  bundle.entry as e,  e.resource = create('PractitionerRole') as practitionerRole,  practitionerRole.id = uuid() as uuid,  e.fullUrl = append('urn:uuid:', uuid),  composition.extension as ext,  ext.url = 'http://fhir.ch/ig/ch-orf/StructureDefinition/ch-orf-receiver',  ext.value = create('Reference') as reference,  reference.reference = append('urn:uuid:', uuid) then ReceiverItems(src, bundle, practitionerRole) "receiver";
}

group InitiatorItems(source src, target bundle : Bundle, target patient : Patient, target ext : Extension) {
  src.item as item where ((linkId.value = 'initiator.personalrelation') and answer.exists()) ->  ext.extension as extension,  extension.url = 'ch-orf-personalrelation',  extension.value = (%item.answer.value) "Initiatorpersonalrelation";
  src.item as item where ((linkId.value = 'initiator.legalrelation') and answer.exists()) ->  ext.extension as extension,  extension.url = 'ch-orf-legalrelation',  extension.value = (%item.answer.value) "Initiatorlegalrelation";
  src.item as item where (linkId = 'initiator.practitionerRole') ->  bundle.entry as e4,  e4.resource = create('PractitionerRole') as practitionerrole,  ext.extension as extension,  practitionerrole.id = uuid() as uuid4,  extension.url = 'ch-orf-personorganization',  extension.value = create('Reference') as reference,  reference.reference = append('urn:uuid:', uuid4),  e4.fullUrl = append('urn:uuid:', uuid4) then {
    item then InitiatorPractitionerRoleItems(item, bundle, practitionerrole) "data";
  } "InitiatorPractitionerRoleItems";
  src.item as item where (linkId = 'initiator.relatedPerson') ->  bundle.entry as e4,  e4.resource = create('RelatedPerson') as relatedPerson,  ext.extension as extension,  extension.url = 'ch-orf-personorganization',  extension.value = create('Reference') as reference,  relatedPerson.id = uuid() as uuid4,  reference.reference = append('urn:uuid:', uuid4),  relatedPerson.patient as reference,  reference.reference = ('urn:uuid:' + %patient.id),  e4.fullUrl = append('urn:uuid:', uuid4) then {
    item then InitiatorRelatedPersonItems(item, relatedPerson) "data";
  } "InitiatorelatedPerson";
}

group InitiatorRelatedPersonItems(source src, target relatedPerson : RelatedPerson) {
  src.item as item where ((linkId.value = 'initiator.relatedPerson.familyName') and answer.exists()) ->  relatedPerson.name as name share name,  name.family = (%item.answer.value);
  src.item as item where ((linkId.value = 'initiator.relatedPerson.givenName') and answer.exists()) ->  relatedPerson.name as name share name,  name.given = (%item.answer.value);
  src.item as item where ((linkId.value = 'initiator.relatedPerson.phone') and answer.exists()) then {
    item.answer as answer ->  relatedPerson.telecom as value,  value.system = 'phone',  value.value = (%answer.value) "InitiatorelatedPersonPhone";
  } "Phone";
  src.item as item where ((linkId.value = 'initiator.relatedPerson.email') and answer.exists()) ->  relatedPerson.telecom as value,  value.system = 'email',  value.value = (%item.answer.value) "InitiatorelatedPersonEmail";
  src.item as item where ((linkId.value = 'initiator.relatedPerson.streetAddressLine') and answer.exists()) -> relatedPerson.address as address share orgAddress then {
    item.answer as answer -> address.line = (%answer.value) "InitiatorelatedPersonStreetAddressLine";
  } "itemAnswer";
  src.item as item where ((linkId.value = 'initiator.relatedPerson.postalCode') and answer.exists()) ->  relatedPerson.address as address share orgAddress,  address.postalCode = (%item.answer.value) "InitiatorelatedPersonPostalCode";
  src.item as item where ((linkId.value = 'initiator.relatedPerson.city') and answer.exists()) ->  relatedPerson.address as address share orgAddress,  address.city = (%item.answer.value) "InitiatorelatedPersonCity";
  src.item as item where ((linkId.value = 'initiator.relatedPerson.country') and answer.exists()) ->  relatedPerson.address as address share orgAddress,  address.country = (%item.answer.value) "InitiatorelatedPersonCountry";
}

group InitiatorPractitionerRoleItems(source src, target bundle : Bundle, target practitionerRole : PractitionerRole) {
  src.item as item where (linkId.value = 'initiator.practitionerRole.practitioner') ->  bundle.entry as e2,  e2.resource = create('Practitioner') as practitioner,  practitioner.id = uuid() as uuid2,  practitionerRole.practitioner = create('Reference') as reference,  reference.reference = append('urn:uuid:', uuid2),  e2.fullUrl = append('urn:uuid:', uuid2) then InitiatorPractitionerItems(item, practitioner);
  src.item as item where (linkId.value = 'initiator.practitionerRole.organization') ->  bundle.entry as e3,  e3.resource = create('Organization') as organization,  organization.id = uuid() as uuid3,  practitionerRole.organization = create('Reference') as reference,  reference.reference = append('urn:uuid:', uuid3),  e3.fullUrl = append('urn:uuid:', uuid3) then InitiatorOrganizationItems(item, organization);
}

group InitiatorPractitionerItems(source src, target practitioner : Practitioner) {
  src.item as item where ((linkId.value = 'initiator.practitionerRole.practitioner.familyName') and answer.exists()) ->  practitioner.name as name share practitionerName,  name.family = (%item.answer.value);
  src.item as item where ((linkId.value = 'initiator.practitionerRole.practitioner.givenName') and answer.exists()) ->  practitioner.name as name share practitionerName,  name.given = (%item.answer.value);
  src.item as item where ((linkId.value = 'initiator.practitionerRole.practitioner.title') and answer.exists()) ->  practitioner.name as name share practitionerName,  name.prefix = (%item.answer.value) as prefix,  prefix.extension as ext,  ext.url = 'http://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier',  ext.value = create('code') as value,  value.value = 'AC' "InitiatorractitionerRolePractitionerTitle";
  src.item as item where ((linkId.value = 'initiator.practitionerRole.practitioner.phone') and answer.exists()) ->  practitioner.telecom as value,  value.system = 'phone',  value.value = (%item.answer.value) "InitiatorractitionerRolePractitionerPhone";
  src.item as item where ((linkId.value = 'initiator.practitionerRole.practitioner.email') and answer.exists()) ->  practitioner.telecom as value,  value.system = 'email',  value.value = (%item.answer.value) "InitiatorractitionerRolePractitionerEmail";
  src.item as item where ((linkId.value = 'initiator.practitionerRole.practitioner.gln') and answer.exists()) ->  practitioner.identifier as value,  value.system = 'urn:oid:2.51.1.3',  value.value = (%item.answer.value) "receiverPractitionerGln";
  src.item as item where ((linkId.value = 'initiator.practitionerRole.practitioner.zsr') and answer.exists()) ->  practitioner.identifier as value,  value.system = 'urn:oid:2.16.756.5.30.1.123.100.2.1.1',  value.value = (%item.answer.value) "receiverPractitionerZsr";
}

group InitiatorOrganizationItems(source src, target organization : Organization) {
  src.item as item where ((linkId.value = 'initiator.practitionerRole.organization.name') and answer.exists()) -> organization.name = (%item.answer.value);
  src.item as item where ((linkId.value = 'initiator.practitionerRole.organization.streetAddressLine') and answer.exists()) -> organization.address as address share orgAddress then {
    item.answer as answer -> address.line = (%answer.value) "InitiatorractitionerRoleOrganizationStreetAddressLine";
  } "itemAnswer";
  src.item as item where ((linkId.value = 'initiator.practitionerRole.organization.postalCode') and answer.exists()) ->  organization.address as address share orgAddress,  address.postalCode = (%item.answer.value) "InitiatorractitionerRoleOrganizationPostalCode";
  src.item as item where ((linkId.value = 'initiator.practitionerRole.organization.city') and answer.exists()) ->  organization.address as address share orgAddress,  address.city = (%item.answer.value) "InitiatorractitionerRoleOrganizationCity";
  src.item as item where ((linkId.value = 'initiator.practitionerRole.organization.country') and answer.exists()) ->  organization.address as address share orgAddress,  address.country = (%item.answer.value) "InitiatorractitionerRoleOrganizationCountry";
}

group FamilyDoctorInit(source src, target bundle : Bundle, target patient : Patient, target composition : Composition, target serviceRequest : ServiceRequest) {
  src ->  bundle.entry as e4,  e4.resource = create('PractitionerRole') as practitionerRole,  practitionerRole.id = uuid() as uuid4,  patient.generalPractitioner = create('Reference') as gp,  gp.reference = append('urn:uuid:', uuid4),  e4.fullUrl = append('urn:uuid:', uuid4) then {
    src.item as item where (linkId.value = 'familydoctor.practitioner') ->  bundle.entry as e2,  e2.resource = create('Practitioner') as practitioner,  practitioner.id = uuid() as uuid2,  practitionerRole.practitioner = create('Reference') as reference,  reference.reference = append('urn:uuid:', uuid2),  e2.fullUrl = append('urn:uuid:', uuid2) then FamilyDoctorPractitionerItems(item, practitioner);
    src.item as item where (linkId.value = 'familydoctor.organization') ->  bundle.entry as e3,  e3.resource = create('Organization') as organization,  organization.id = uuid() as uuid3,  practitionerRole.organization = create('Reference') as reference,  reference.reference = append('urn:uuid:', uuid3),  e3.fullUrl = append('urn:uuid:', uuid3) then FamilyDoctorOrganizationItems(item, organization);
  } "FamilyDoctorInit";
}

group FamilyDoctorPractitionerItems(source src, target practitioner : Practitioner) {
  src.item as item where ((linkId.value = 'familydoctor.practitioner.familyName') and answer.exists()) ->  practitioner.name as name share practitionerName,  name.family = (%item.answer.value);
  src.item as item where ((linkId.value = 'familydoctor.practitioner.givenName') and answer.exists()) ->  practitioner.name as name share practitionerName,  name.given = (%item.answer.value);
  src.item as item where ((linkId.value = 'familydoctor.practitioner.gln') and answer.exists()) ->  practitioner.identifier as value,  value.system = 'urn:oid:2.51.1.3',  value.value = (%item.answer.value) "familydoctorPractitionerGln";
  src.item as item where ((linkId.value = 'familydoctor.practitioner.zsr') and answer.exists()) ->  practitioner.identifier as value,  value.system = 'urn:oid:2.16.756.5.30.1.123.100.2.1.1',  value.value = (%item.answer.value) "familydoctorPractitionerZsr";
  src.item as item where ((linkId.value = 'familydoctor.practitioner.title') and answer.exists()) ->  practitioner.name as name share practitionerName,  name.prefix = (%item.answer.value) as prefix,  prefix.extension as ext,  ext.url = 'http://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier',  ext.value = create('code') as value,  value.value = 'AC' "familydoctorPractitionerTitle";
  src.item as item where ((linkId.value = 'familydoctor.practitioner.phone') and answer.exists()) ->  practitioner.telecom as value,  value.system = 'phone',  value.value = (%item.answer.value) "familydoctorPractitionerPhone";
  src.item as item where ((linkId.value = 'familydoctor.practitioner.email') and answer.exists()) ->  practitioner.telecom as value,  value.system = 'email',  value.value = (%item.answer.value) "familydoctorPractitionerEmail";
}

group FamilyDoctorOrganizationItems(source src, target organization : Organization) {
  src.item as item where ((linkId.value = 'familydoctor.organization.name') and answer.exists()) -> organization.name = (%item.answer.value);
  src.item as item where ((linkId.value = 'familydoctor.organization.streetAddressLine') and answer.exists()) -> organization.address as address share orgAddress then {
    item.answer as answer -> address.line = (%answer.value) "familydoctorOrganizationStreetAddressLine";
  } "itemAnswer";
  src.item as item where ((linkId.value = 'familydoctor.organization.postalCode') and answer.exists()) ->  organization.address as address share orgAddress,  address.postalCode = (%item.answer.value) "familydoctorOrganizationPostalCode";
  src.item as item where ((linkId.value = 'familydoctor.organization.city') and answer.exists()) ->  organization.address as address share orgAddress,  address.city = (%item.answer.value) "familydoctorOrganizationCity";
  src.item as item where ((linkId.value = 'familydoctor.organization.country') and answer.exists()) ->  organization.address as address share orgAddress,  address.country = (%item.answer.value) "familydoctorOrganizationCountry";
  src.item as item where ((linkId.value = 'familydoctor.organization.gln') and answer.exists()) ->  organization.identifier as value,  value.system = 'urn:oid:2.51.1.3',  value.value = (%item.answer.value) "familydoctorOrganizationGln";
  src.item as item where ((linkId.value = 'familydoctor.organization.zsr') and answer.exists()) ->  organization.identifier as value,  value.system = 'urn:oid:2.16.756.5.30.1.123.100.2.1.1',  value.value = (%item.answer.value) "familydoctorOrganizationZsr";
}

group AntecedentEpisodeOfCareInit(source src, target bundle : Bundle, target patient : Patient, target composition : Composition) {
  src ->  composition.extension as ext,  ext.url = 'http://fhir.ch/ig/ch-orf/StructureDefinition/ch-orf-antecedentepisodeofcare',  bundle.entry as e4,  e4.resource = create('EpisodeOfCare') as episodeofcare,  episodeofcare.id = uuid() as uuid4,  e4.fullUrl = ('urn:uuid:' + %uuid4),  episodeofcare.status = 'finished',  ext.value = create('Reference') as ref,  ref.reference = ('urn:uuid:' + %episodeofcare.id) then AntecedentEpisodeOfCareItems(src, bundle, patient, episodeofcare) "AntecedentEpisodeOfCareItems";
}

group AntecedentEpisodeOfCareItems(source src, target bundle : Bundle, target tgt : Patient, target episodeofcare : EpisodeOfCare) {
  src.item as item where ((linkId.value = 'antecedentEpisodeOfCare.start') and answer.exists()) ->  episodeofcare.statusHistory as statusHistory,  statusHistory.status = 'finished',  statusHistory.period as period,  period.start = (%item.answer.value),  period.end = (%item.answer.value) then {
    src.item as iteme where ((linkId.value = 'antecedentEpisodeOfCare.end') and answer.exists()) -> period.end = (%iteme.answer.value) "antecedentEpisodeOfCareEndNotSameAsStart";
  } "antecedentEpisodeOfCareRequestedPeriodStart";
  src.item as item where (linkId.value = 'antecedentEpisodeOfCare.managingOrganization') ->  bundle.entry as e3,  e3.resource = create('Organization') as organization,  organization.id = uuid() as uuid3,  e3.fullUrl = append('urn:uuid:', uuid3),  episodeofcare.patient = create('Reference') as reference,  reference.reference = ('urn:uuid:' + %tgt.id),  episodeofcare.managingOrganization = create('Reference') as reference,  reference.reference = append('urn:uuid:', uuid3) then AntecedentEpisodeOfCareOrganizationItems(item, organization) "antecedentEpisodeOfCareManagingOrganization";
}

group AntecedentEpisodeOfCareOrganizationItems(source src, target organization : Organization) {
  src.item as item where ((linkId.value = 'antecedentEpisodeOfCare.managingOrganization.name') and answer.exists()) -> organization.name = (%item.answer.value);
  src.item as item where ((linkId.value = 'antecedentEpisodeOfCare.managingOrganization.streetAddressLine') and answer.exists()) -> organization.address as address share orgAddress then {
    item.answer as answer -> address.line = (%answer.value) "antecedentEpisodeOfCareorganizationStreetAddressLine";
  } "itemAnswer";
  src.item as item where ((linkId.value = 'antecedentEpisodeOfCare.managingOrganization.postalCode') and answer.exists()) ->  organization.address as address share orgAddress,  address.postalCode = (%item.answer.value) "senderAuthorOrganizationPostalCode";
  src.item as item where ((linkId.value = 'antecedentEpisodeOfCare.managingOrganization.city') and answer.exists()) ->  organization.address as address share orgAddress,  address.city = (%item.answer.value) "senderAuthorOrganizationCity";
  src.item as item where ((linkId.value = 'antecedentEpisodeOfCare.managingOrganization.country') and answer.exists()) ->  organization.address as address share orgAddress,  address.country = (%item.answer.value) "senderAuthorOrganizationCountry";
}

group InitiatorInit(source src, target bundle : Bundle, target patient : Patient, target composition : Composition, target serviceRequest : ServiceRequest) {
  src ->  composition.extension as ext,  ext.url = 'http://fhir.ch/ig/ch-orf/StructureDefinition/ch-orf-initiator' then InitiatorItems(src, bundle, patient, ext) "receiver";
}

group PatientItems(source src, target bundle : Bundle, target tgt : Patient, target composition : Composition, target serviceRequest : ServiceRequest) {
  src.item as grp where linkId = 'familydoctor' then FamilyDoctorInit(grp, bundle, tgt, composition, serviceRequest) "grpfamily";
  src.item as item then PatientItems(item, bundle, tgt, composition, serviceRequest);
  src.item as item where ((linkId.value = 'patient.familyName') and answer.exists()) ->  tgt.name as name share patientName,  name.family = (%item.answer.value);
  src.item as item where ((linkId.value = 'patient.maidenName') and answer.exists()) ->  tgt.name as name,  name.use = 'maiden',  name.family = (%item.answer.value);
  src.item as item where ((linkId.value = 'patient.givenName') and answer.exists()) ->  tgt.name as name share patientName,  name.given = (%item.answer.value);
  src.item as item where ((linkId.value = 'patient.localPid') and answer.exists()) ->  tgt.identifier as value share localpid,  value.type as type,  type.coding as coding,  coding.system = 'http://terminology.hl7.org/CodeSystem/v2-0203',  coding.code = 'MR',  value.value = (%item.answer.value) "PatientLocalPid";
  src.item as item where ((linkId.value = 'patient.localPidDomain') and answer.exists()) ->  tgt.identifier as value share localpid,  value.system = (%item.answer.value) "PatientLocalPidDomain";
  src.item as item where ((linkId.value = 'patient.birthDate') and answer.exists()) -> tgt.birthDate = (%item.answer.value);
  src.item as item where ((linkId.value = 'patient.gender') and answer.exists()) -> tgt.gender = (%item.answer.value.code);
  src.item as item where ((linkId.value = 'patient.maritalStatus') and answer.exists()) then {
    item.answer as answer then {
      answer.value : Coding as coding ->  tgt.maritalStatus as maritalStatus,  maritalStatus.coding = coding "maritalStatus";
    };
  } "patientMaritalStatus";
  src.item as item where ((linkId.value = 'patient.phone') and answer.exists()) then {
    item.answer as answer ->  tgt.telecom as value,  value.system = 'phone',  value.value = (%answer.value) "PatientPhone";
  } "PatientPhone";
  src.item as item where ((linkId.value = 'patient.email') and answer.exists()) ->  tgt.telecom as value,  value.system = 'email',  value.value = (%item.answer.value) "PatientEmail";
  src.item as item where ((linkId.value = 'patient.streetAddressLine') and answer.exists()) -> tgt.address as address share orgAddress then {
    item.answer as answer -> address.line = (%answer.value) "PatientStreetAddressLine";
  } "itemAnswer";
  src.item as item where ((linkId.value = 'patient.postalCode') and answer.exists()) ->  tgt.address as address share orgAddress,  address.postalCode = (%item.answer.value) "PatientPostalCode";
  src.item as item where ((linkId.value = 'patient.city') and answer.exists()) ->  tgt.address as address share orgAddress,  address.city = (%item.answer.value) "PatientCity";
  src.item as item where ((linkId.value = 'patient.country') and answer.exists()) ->  tgt.address as address share orgAddress,  address.country = (%item.answer.value) "PatientCountry";
  src.item as item where ((linkId.value = 'patient.languageOfCorrespondence') and answer.exists()) then {
    item.answer as answer then {
      answer.value : Coding as coding ->  tgt.communication as communication,  communication.preferred = true,  communication.language as language,  language.coding = coding "languageOfCorrespondence";
    };
  } "PatientLanguageOfCorrespondence";
  src.item as item where (linkId.value = 'patient.contactperson') -> tgt.contact as contact then {
    item.item as item where ((linkId.value = 'patient.contactperson.familyName') and answer.exists()) ->  contact.name as name share contactName,  name.family = (%item.answer.value);
    item.item as item where ((linkId.value = 'patient.contactperson.givenName') and answer.exists()) ->  contact.name as name share contactName,  name.given = (%item.answer.value);
    src.item as item where ((linkId.value = 'patient.contactperson.phone') and answer.exists()) then {
      item.answer as answer ->  tgt.telecom as value,  value.system = 'phone',  value.value = (%answer.value) "PatientPhone";
    } "PatientContactpersonPhone";
    item.item as item where ((linkId.value = 'patient.contactperson.email') and answer.exists()) ->  contact.telecom as value,  value.system = 'email',  value.value = (%item.answer.value) "PatientEmail";
    item.item as item where ((linkId.value = 'patient.contactperson.relationship') and answer.exists()) ->  contact.relationship as relationship,  relationship.text = (%item.answer.value) "PatientContactpersonRelationship";
  } "contact";
}

group RequestedEncounterItems(source src, target bundle : Bundle, target patient : Patient, target serviceRequest : ServiceRequest) {
  src ->  bundle.entry as e4,  e4.resource = create('Encounter') as encounter,  encounter.id = uuid() as uuid4,  e4.fullUrl = ('urn:uuid:' + %uuid4),  encounter.status = 'planned',  serviceRequest.extension as extension,  encounter.subject = create('Reference') as subject,  subject.reference = ('urn:uuid:' + %patient.id),  extension.url = 'http://fhir.ch/ig/ch-orf/StructureDefinition/ch-orf-requestedencounterdetails',  extension.value = create('Reference') as reference,  reference.reference = ('urn:uuid:' + %uuid4) then {
    src.item as item where ((linkId.value = 'requestedEncounter.class') and answer.exists()) -> encounter.class = (%item.answer.value) "requestedEncounterClass";
    src.item as item where ((linkId.value = 'requestedEncounter.desiredAccommodation') and answer.exists()) ->  encounter.extension as extension,  extension.url = 'http://fhir.ch/ig/ch-orf/StructureDefinition/ch-orf-desiredaccommodation',  extension.value = (%item.answer.value) "requestedEncounterDesiredAccommodation";
  } "RequestedEncounterItems";
}

group Coverage(source src, target bundle : Bundle, target patient : Patient, target serviceRequest : ServiceRequest) {
  // coverage.beneficiary
  // coverage.beneficiary.ahvn13
  src.item as item where where(linkId.value = 'coverage.beneficiary') then {
    item.item as item where ((linkId.value = 'coverage.beneficiary.ahvn13') and answer.exists()) ->  patient.identifier as identifier,  identifier.system = 'urn:oid:2.16.756.5.32',  identifier.value = (%item.answer.value) "coverageBeneficiaryAhvn13";
  } "coverageBeneficiary";
  // coverage.kvg
  // coverage.kvg.name
  // coverage.kvg.insuranceCardNumber
  src.item as item where where(linkId.value = 'coverage.kvg') ->  bundle.entry as e4,  e4.resource = create('Coverage') as coverage,  coverage.id = uuid() as uuid4,  e4.fullUrl = ('urn:uuid:' + %uuid4),  serviceRequest.insurance as insurance,  insurance.reference = ('urn:uuid:' + %uuid4),  coverage.status = 'active',  coverage.beneficiary = create('Reference') as subject,  subject.reference = ('urn:uuid:' + %patient.id),  coverage.type as type,  type.coding as coding,  coding.system = 'http://fhir.ch/ig/ch-core/CodeSystem/bfs-medstats-25-mainguarantor',  coding.code = '1' then {
    item.item as item where ((linkId.value = 'coverage.kvg.name') and answer.exists()) ->  coverage.payor as payor,  payor.reference as refcontained,  refcontained.value = '#org',  coverage.contained = create('Organization') as organization,  organization.id = 'org',  organization.name = (%item.answer.value) "coverageKvgName";
    item.item as item where ((linkId.value = 'coverage.kvg.insuranceCardNumber') and answer.exists()) ->  coverage.identifier as identifier,  identifier.type as typeid,  typeid.coding as coding,  coding.system = 'http://fhir.ch/ig/ch-orf/CodeSystem/ch-orf-cs-coverageidentifiertype',  coding.code = 'VeKa',  identifier.value = (%item.answer.value) "coverageKvgInsuranceCardNumber";
  } "coveragekvg";
  // coverage.uvg	Unfallversicherung nach UVG (fr: LAA, it: LAINF)	0..1	group		Definition: Coverage.type
  // coverage.uvg.name	Name der Versicherung	0..1	string		Definition: Coverage.payor
  // coverage.uvg.claimNumber	Schadennummer	0..1	string		Definition: Coverage.identifier
  src.item as item where where(linkId.value = 'coverage.uvg') ->  bundle.entry as e4,  e4.resource = create('Coverage') as coverage,  coverage.id = uuid() as uuid4,  e4.fullUrl = ('urn:uuid:' + %uuid4),  serviceRequest.insurance as insurance,  insurance.reference = ('urn:uuid:' + %uuid4),  coverage.status = 'active',  coverage.beneficiary = create('Reference') as subject,  subject.reference = ('urn:uuid:' + %patient.id),  coverage.type as type,  type.coding as coding,  coding.system = 'http://fhir.ch/ig/ch-core/CodeSystem/bfs-medstats-25-mainguarantor',  coding.code = '4' then {
    item.item as item where ((linkId.value = 'coverage.uvg.name') and answer.exists()) ->  coverage.payor as payor,  payor.reference as refcontained,  refcontained.value = '#org',  coverage.contained = create('Organization') as organization,  organization.id = 'org',  organization.name = (%item.answer.value) "coverageUvgName";
    item.item as item where ((linkId.value = 'coverage.uvg.claimNumber') and answer.exists()) ->  coverage.identifier as identifier,  identifier.type as typeid,  typeid.coding as coding,  coding.system = 'http://fhir.ch/ig/ch-orf/CodeSystem/ch-orf-cs-coverageidentifiertype',  coding.code = 'Claim',  identifier.value = (%item.answer.value) "coverageUvgClaimNumber";
  } "coverageuvg";
  // coverage.vvg	Zusatzversicherung nach VVG (fr/it: LCA)	0..1	group		Definition: Coverage.type
  // coverage.vvg.name	Name der Versicherung	0..1	string		Definition: Coverage.payor
  // coverage.vvg.insuranceCardNumber	Kennnummer der Versichertenkarte	0..1	string		Definition: Coverage.identifier
  src.item as item where where(linkId.value = 'coverage.vvg') ->  bundle.entry as e4,  e4.resource = create('Coverage') as coverage,  coverage.id = uuid() as uuid4,  e4.fullUrl = ('urn:uuid:' + %uuid4),  serviceRequest.insurance as insurance,  insurance.reference = ('urn:uuid:' + %uuid4),  coverage.status = 'active',  coverage.beneficiary = create('Reference') as subject,  subject.reference = ('urn:uuid:' + %patient.id),  coverage.type as type,  type.coding as coding,  coding.system = 'http://fhir.ch/ig/ch-core/CodeSystem/mainguarantor',  coding.code = 'ZV' then {
    item.item as item where ((linkId.value = 'coverage.vvg.name') and answer.exists()) ->  coverage.payor as payor,  payor.reference as refcontained,  refcontained.value = '#org',  coverage.contained = create('Organization') as organization,  organization.id = 'org',  organization.name = (%item.answer.value) "coverageVvgName";
    item.item as item where ((linkId.value = 'coverage.vvg.insuranceCardNumber') and answer.exists()) ->  coverage.identifier as identifier,  identifier.type as typeid,  typeid.coding as coding,  coding.system = 'http://fhir.ch/ig/ch-orf/CodeSystem/ch-orf-cs-coverageidentifiertype',  coding.code = 'VeKa',  identifier.value = (%item.answer.value) "coverageVvgInsuranceCardNumber";
  } "coveragevvg";
  // coverage.iv	Invalidenversicherung (IV)	0..1	group		Definition: Coverage.type
  // coverage.iv.verfuegungsnummer
  src.item as item where where(linkId.value = 'coverage.iv') ->  bundle.entry as e4,  e4.resource = create('Coverage') as coverage,  coverage.id = uuid() as uuid4,  e4.fullUrl = ('urn:uuid:' + %uuid4),  serviceRequest.insurance as insurance,  insurance.reference = ('urn:uuid:' + %uuid4),  coverage.status = 'active',  coverage.beneficiary = create('Reference') as subject,  subject.reference = ('urn:uuid:' + %patient.id),  coverage.type as type,  type.coding as coding,  coding.system = 'http://fhir.ch/ig/ch-core/CodeSystem/bfs-medstats-25-mainguarantor',  coding.code = '2' then {
    item.item as item where ((linkId.value = 'coverage.iv.verfuegungsnummer') and answer.exists()) ->  coverage.identifier as identifier,  identifier.type as typeid,  typeid.coding as coding,  coding.system = 'http://fhir.ch/ig/ch-orf/CodeSystem/ch-orf-cs-coverageidentifiertype',  coding.code = 'IV',  identifier.value = (%item.answer.value),  coverage.payor as payor,  payor.reference as refcontained,  refcontained.value = '#org',  coverage.contained = create('Organization') as organization,  organization.id = 'org',  organization.name = 'IV' "coverageivverfuegungsnummer";
  } "coverageiv";
  // coverage.mv	Militärversicherung (MV)	0..1	group		Definition: Coverage.type
  // coverage.mv.versichertennummer
  src.item as item where where(linkId.value = 'coverage.mv') ->  bundle.entry as e4,  e4.resource = create('Coverage') as coverage,  coverage.id = uuid() as uuid4,  e4.fullUrl = ('urn:uuid:' + %uuid4),  serviceRequest.insurance as insurance,  insurance.reference = ('urn:uuid:' + %uuid4),  coverage.status = 'active',  coverage.beneficiary = create('Reference') as subject,  subject.reference = ('urn:uuid:' + %patient.id),  coverage.type as type,  type.coding as coding,  coding.system = 'http://fhir.ch/ig/ch-core/CodeSystem/bfs-medstats-25-mainguarantor',  coding.code = '3' then {
    item.item as item where ((linkId.value = 'coverage.mv.versichertennummer') and answer.exists()) ->  coverage.identifier as identifier,  identifier.type as typeid,  typeid.coding as coding,  coding.system = 'http://fhir.ch/ig/ch-orf/CodeSystem/ch-orf-cs-coverageidentifiertype',  coding.code = 'MV',  identifier.value = (%item.answer.value),  coverage.payor as payor,  payor.reference as refcontained,  refcontained.value = '#org',  coverage.contained = create('Organization') as organization,  organization.id = 'org',  organization.name = 'MV' "coveragemvversichertennummer";
  } "coveragemv";
  // coverage.self	Selbstzahler	0..1	group		Definition: Coverage.type
  // coverage.self.familyName	Name	0..1	string		Definition: Coverage.payor
  // coverage.self.givenName	Vorname	0..1	string		Definition: Coverage.payor
  src.item as item where where(linkId.value = 'coverage.self') then {
    item.item as item where ((linkId.value = 'coverage.self.patient') and answer.exists() and answer.value) ->  bundle.entry as e4,  e4.resource = create('Coverage') as coverage,  coverage.id = uuid() as uuid4,  e4.fullUrl = ('urn:uuid:' + %uuid4),  serviceRequest.insurance as insurance,  insurance.reference = ('urn:uuid:' + %uuid4),  coverage.status = 'active',  coverage.beneficiary = create('Reference') as subject,  subject.reference = ('urn:uuid:' + %patient.id),  coverage.type as type,  type.coding as coding,  coding.system = 'http://fhir.ch/ig/ch-core/CodeSystem/bfs-medstats-25-mainguarantor',  coding.code = '5',  coverage.payor as subject,  subject.reference = ('urn:uuid:' + %patient.id) "payor";
    item.item as item2 where ((linkId.value = 'coverage.self.patientRelatedPerson') and answer.exists() and answer.value) then {
      item.item as item where (linkId.value = 'coverage.self.relatedPerson') ->  bundle.entry as e5,  e5.resource = create('Coverage') as coverage,  coverage.id = uuid() as uuid4,  e5.fullUrl = ('urn:uuid:' + %uuid4),  serviceRequest.insurance as insurance,  insurance.reference = ('urn:uuid:' + %uuid4),  coverage.status = 'active',  coverage.beneficiary = create('Reference') as subject,  subject.reference = ('urn:uuid:' + %patient.id),  coverage.type as type,  type.coding as coding,  coding.system = 'http://fhir.ch/ig/ch-core/CodeSystem/bfs-medstats-25-mainguarantor',  coding.code = '5',  bundle.entry as e6,  e6.resource = create('RelatedPerson') as relatedPerson,  relatedPerson.id = uuid() as uuid6,  e6.fullUrl = append('urn:uuid:', uuid6),  coverage.payor as subject,  subject.reference = ('urn:uuid:' + %relatedPerson.id),  relatedPerson.patient as reference,  reference.reference = ('urn:uuid:' + %patient.id) then CoverageRelatedPersonItems(item, relatedPerson) "coverageselfrelatedPerson";
    } "coverageselfpatientrelated";
  } "self";
  // coverage.other	Anderer Kostenträger	0..1	group		Definition: Coverage.type
  // coverage.other.name	Name des Kostenträgers	0..1	string		Definition: Coverage.payor
  // coverage.other.id	Beliebige ID	0..1	string		Definition: Coverage.identifier
  // coverage.other.id.note TODO
  src.item as item where where(linkId.value = 'coverage.other') ->  bundle.entry as e4,  e4.resource = create('Coverage') as coverage,  coverage.id = uuid() as uuid4,  e4.fullUrl = ('urn:uuid:' + %uuid4),  serviceRequest.insurance as insurance,  insurance.reference = ('urn:uuid:' + %uuid4),  coverage.status = 'active',  coverage.beneficiary = create('Reference') as subject,  subject.reference = ('urn:uuid:' + %patient.id),  coverage.type as type,  type.coding as coding,  coding.system = 'http://fhir.ch/ig/ch-core/CodeSystem/bfs-medstats-25-mainguarantor',  coding.code = '8' then {
    item.item as item where ((linkId.value = 'coverage.other.name') and answer.exists()) ->  coverage.payor as payor,  payor.reference as refcontained,  refcontained.value = '#org',  coverage.contained = create('Organization') as organization,  organization.id = 'org',  organization.name = (%item.answer.value) "coverageOtherName";
    item.item as item where ((linkId.value = 'coverage.other.id') and answer.exists()) ->  coverage.identifier as identifier,  identifier.value = (%item.answer.value) "coverageOtherId";
  } "coveragevvg";
}

group CoverageRelatedPersonItems(source src, target relatedPerson : RelatedPerson) {
  src.item as item where ((linkId.value = 'coverage.self.relatedPerson.familyName') and answer.exists()) ->  relatedPerson.name as name share name,  name.family = (%item.answer.value);
  src.item as item where ((linkId.value = 'coverage.self.relatedPerson.givenName') and answer.exists()) ->  relatedPerson.name as name share name,  name.given = (%item.answer.value);
  src.item as item where ((linkId.value = 'coverage.self.relatedPerson.phone') and answer.exists()) then {
    item.answer as answer ->  relatedPerson.telecom as value,  value.system = 'phone',  value.value = (%answer.value) "coverageSelfRelatedPersonPhone";
  } "Phone";
  src.item as item where ((linkId.value = 'coverage.self.relatedPerson.email') and answer.exists()) ->  relatedPerson.telecom as value,  value.system = 'email',  value.value = (%item.answer.value) "coverageSelfRelatedPersonEmail";
  src.item as item where ((linkId.value = 'coverage.self.relatedPerson.streetAddressLine') and answer.exists()) -> relatedPerson.address as address share orgAddress then {
    item.answer as answer -> address.line = (%answer.value) "coverageSelfRelatedPersonStreetAddressLine";
  } "itemAnswer";
  src.item as item where ((linkId.value = 'coverage.self.relatedPerson.postalCode') and answer.exists()) ->  relatedPerson.address as address share orgAddress,  address.postalCode = (%item.answer.value) "coverageSelfRelatedPersonPostalCode";
  src.item as item where ((linkId.value = 'coverage.self.relatedPerson.city') and answer.exists()) ->  relatedPerson.address as address share orgAddress,  address.city = (%item.answer.value) "coverageSelfRelatedPersonCity";
  src.item as item where ((linkId.value = 'coverage.self.relatedPerson.country') and answer.exists()) ->  relatedPerson.address as address share orgAddress,  address.country = (%item.answer.value) "coverageSelfRelatedPersonCountry";
}

group SenderAuthorPractitionerItems(source src, target practitioner : Practitioner) {
  src.item as item where ((linkId.value = 'sender.author.practitioner.familyName') and answer.exists()) ->  practitioner.name as name share practitionerName,  name.family = (%item.answer.value);
  src.item as item where ((linkId.value = 'sender.author.practitioner.givenName') and answer.exists()) ->  practitioner.name as name share practitionerName,  name.given = (%item.answer.value);
  src.item as item where ((linkId.value = 'sender.author.practitioner.title') and answer.exists()) ->  practitioner.name as name share practitionerName,  name.prefix = (%item.answer.value) as prefix,  prefix.extension as ext,  ext.url = 'http://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier',  ext.value = create('code') as value,  value.value = 'AC' "senderAuthorPractitionerTitle";
  src.item as item where ((linkId.value = 'sender.author.practitioner.gln') and answer.exists()) ->  practitioner.identifier as value,  value.system = 'urn:oid:2.51.1.3',  value.value = (%item.answer.value) "senderAuthorPractitionerGln";
  src.item as item where ((linkId.value = 'sender.author.practitioner.zsr') and answer.exists()) ->  practitioner.identifier as value,  value.system = 'urn:oid:2.16.756.5.30.1.123.100.2.1.1',  value.value = (%item.answer.value) "senderAuthorPractitionerZsr";
  src.item as item where ((linkId.value = 'sender.author.practitioner.phone') and answer.exists()) ->  practitioner.telecom as value,  value.system = 'phone',  value.value = (%item.answer.value) "senderAuthorPractitionerPhone";
  src.item as item where ((linkId.value = 'sender.author.practitioner.email') and answer.exists()) ->  practitioner.telecom as value,  value.system = 'email',  value.value = (%item.answer.value) "senderAuthorPractitionerEmail";
}

group SenderAuthorOrganizationItems(source src, target organization : Organization) {
  src.item as item where ((linkId.value = 'sender.author.organization.name') and answer.exists()) -> organization.name = (%item.answer.value);
  src.item as item where ((linkId.value = 'sender.author.organization.gln') and answer.exists()) ->  organization.identifier as value,  value.system = 'urn:oid:2.51.1.3',  value.value = (%item.answer.value) "senderAuthorOrganizationGln";
  src.item as item where ((linkId.value = 'sender.author.organization.zsr') and answer.exists()) ->  organization.identifier as value,  value.system = 'urn:oid:2.16.756.5.30.1.123.100.2.1.1',  value.value = (%item.answer.value) "senderAuthorOrganizationZsr";
  src.item as item where ((linkId.value = 'sender.author.organization.streetAddressLine') and answer.exists()) -> organization.address as address share orgAddress then {
    item.answer as answer -> address.line = (%answer.value) "senderAuthorOrganizationStreetAddressLine";
  } "itemAnswer";
  src.item as item where ((linkId.value = 'sender.author.organization.postalCode') and answer.exists()) ->  organization.address as address share orgAddress,  address.postalCode = (%item.answer.value) "senderAuthorOrganizationPostalCode";
  src.item as item where ((linkId.value = 'sender.author.organization.city') and answer.exists()) ->  organization.address as address share orgAddress,  address.city = (%item.answer.value) "senderAuthorOrganizationCity";
  src.item as item where ((linkId.value = 'sender.author.organization.country') and answer.exists()) ->  organization.address as address share orgAddress,  address.country = (%item.answer.value) "senderAuthorOrganizationCountry";
}

group SenderAuthorItems(source src, target practitionerRole : PractitionerRole, target practitioner : Practitioner, target organization : Organization) {
  src.item as item where (linkId.value = 'sender.author.practitioner') then SenderAuthorPractitionerItems(item, practitioner);
  src.item as item where (linkId.value = 'sender.author.organization') then SenderAuthorOrganizationItems(item, organization);
}

group SenderDataEntererPractitionerItems(source src, target practitioner : Practitioner) {
  src.item as item where ((linkId.value = 'sender.dataenterer.practitioner.familyName') and answer.exists()) ->  practitioner.name as name share practitionerName,  name.family = (%item.answer.value);
  src.item as item where ((linkId.value = 'sender.dataenterer.practitioner.givenName') and answer.exists()) ->  practitioner.name as name share practitionerName,  name.given = (%item.answer.value);
  src.item as item where ((linkId.value = 'sender.dataenterer.practitioner.phone') and answer.exists()) ->  practitioner.telecom as value,  value.system = 'phone',  value.value = (%item.answer.value) "senderAuthorPractitionerPhone";
  src.item as item where ((linkId.value = 'sender.dataenterer.practitioner.email') and answer.exists()) ->  practitioner.telecom as value,  value.system = 'email',  value.value = (%item.answer.value) "senderAuthorPractitionerEmail";
}

group SenderDataEntererItems(source src, target practitionerRole : PractitionerRole, target practitioner : Practitioner, target organization : Organization) {
  src.item as item where (linkId.value = 'sender.dataenterer.practitioner') then SenderDataEntererPractitionerItems(item, practitioner);
}

group ChExtEprDataEnterer(source src, target practitionerRole : PractitionerRole, target ext : Extension) {
  src -> ext.url = 'http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-epr-dataenterer' "url";
  src ->  ext.extension as ext,  ext.url = 'enterer',  ext.value = create('Reference') as reference,  reference.reference = ('urn:uuid:' + %practitionerRole.id) "practitionerRole";
}

group SenderAuthorInit(source src, target bundle : Bundle, target composition : Composition, target serviceRequest : ServiceRequest) {
  src ->  bundle.entry as e,  e.resource = create('PractitionerRole') as practitionerRole,  practitionerRole.id = uuid() as uuid,  e.fullUrl = append('urn:uuid:', uuid),  bundle.entry as e2,  e2.resource = create('Practitioner') as practitioner,  practitioner.id = uuid() as uuid2,  e2.fullUrl = append('urn:uuid:', uuid2),  bundle.entry as e3,  e3.resource = create('Organization') as organization,  organization.id = uuid() as uuid3,  e3.fullUrl = append('urn:uuid:', uuid3),  composition.author = create('Reference') as reference,  reference.reference = append('urn:uuid:', uuid),  serviceRequest.requester = create('Reference') as reference,  reference.reference = append('urn:uuid:', uuid),  practitionerRole.practitioner = create('Reference') as reference,  reference.reference = append('urn:uuid:', uuid2),  practitionerRole.organization = create('Reference') as reference,  reference.reference = append('urn:uuid:', uuid3) then {
    src.item as item where (linkId.value = 'sender.author') then SenderAuthorItems(item, practitionerRole, practitioner, organization) "senderAuthor";
    src.item as item where (linkId.value = 'sender.dataenterer') then {
      item ->  bundle.entry as e4,  e4.resource = create('PractitionerRole') as practitionerRoleDataEnterer,  practitionerRoleDataEnterer.id = uuid() as uuid4,  e4.fullUrl = append('urn:uuid:', uuid4),  composition.extension as extension,  bundle.entry as e5,  e5.resource = create('Practitioner') as practitionerDataEnterer,  practitionerDataEnterer.id = uuid() as uuid5,  e5.fullUrl = append('urn:uuid:', uuid5),  practitionerRoleDataEnterer.practitioner = create('Reference') as reference,  reference.reference = append('urn:uuid:', uuid5),  practitionerRoleDataEnterer.organization = create('Reference') as reference,  reference.reference = append('urn:uuid:', uuid3) then {
        item then SenderDataEntererItems(item, practitionerRoleDataEnterer, practitionerDataEnterer, organization) "data";
        item then ChExtEprDataEnterer(item, practitionerRoleDataEnterer, extension) "extension";
      } "senderDataentererItems";
    } "senderDataenterer";
  } "sender";
}

group ReceiverCopyRelatedPersonItems(source src, target relatedPerson : RelatedPerson) {
  src.item as item where ((linkId.value = 'receiverCopy.relatedPerson.familyName') and answer.exists()) ->  relatedPerson.name as name share name,  name.family = (%item.answer.value);
  src.item as item where ((linkId.value = 'receiverCopy.relatedPerson.givenName') and answer.exists()) ->  relatedPerson.name as name share name,  name.given = (%item.answer.value);
  src.item as item where ((linkId.value = 'receiverCopy.relatedPerson.phone') and answer.exists()) then {
    item.answer as answer ->  relatedPerson.telecom as value,  value.system = 'phone',  value.value = (%answer.value) "receiverCopyRelatedPersonPhone";
  } "Phone";
  src.item as item where ((linkId.value = 'receiverCopy.relatedPerson.email') and answer.exists()) ->  relatedPerson.telecom as value,  value.system = 'email',  value.value = (%item.answer.value) "receiverCopyRelatedPersonEmail";
  src.item as item where ((linkId.value = 'receiverCopy.relatedPerson.streetAddressLine') and answer.exists()) -> relatedPerson.address as address share orgAddress then {
    item.answer as answer -> address.line = (%answer.value) "receiverCopyRelatedPersonStreetAddressLine";
  } "itemAnswer";
  src.item as item where ((linkId.value = 'receiverCopy.relatedPerson.postalCode') and answer.exists()) ->  relatedPerson.address as address share orgAddress,  address.postalCode = (%item.answer.value) "receiverCopyRelatedPersonPostalCode";
  src.item as item where ((linkId.value = 'receiverCopy.relatedPerson.city') and answer.exists()) ->  relatedPerson.address as address share orgAddress,  address.city = (%item.answer.value) "receiverCopyRelatedPersonCity";
  src.item as item where ((linkId.value = 'receiverCopy.relatedPerson.country') and answer.exists()) ->  relatedPerson.address as address share orgAddress,  address.country = (%item.answer.value) "receiverCopyRelatedPersonCountry";
}

group ReceiverCopyPractitionerItems(source src, target practitioner : Practitioner) {
  src.item as item where ((linkId.value = 'receiverCopy.practitionerRole.practitioner.familyName') and answer.exists()) ->  practitioner.name as name share practitionerName,  name.family = (%item.answer.value);
  src.item as item where ((linkId.value = 'receiverCopy.practitionerRole.practitioner.givenName') and answer.exists()) ->  practitioner.name as name share practitionerName,  name.given = (%item.answer.value);
  src.item as item where ((linkId.value = 'receiverCopy.practitionerRole.practitioner.title') and answer.exists()) ->  practitioner.name as name share practitionerName,  name.prefix = (%item.answer.value) as prefix,  prefix.extension as ext,  ext.url = 'http://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier',  ext.value = create('code') as value,  value.value = 'AC' "receiverCopyPractitionerRolePractitionerTitle";
  src.item as item where ((linkId.value = 'receiverCopy.practitionerRole.practitioner.phone') and answer.exists()) ->  practitioner.telecom as value,  value.system = 'phone',  value.value = (%item.answer.value) "receiverCopyPractitionerRolePractitionerPhone";
  src.item as item where ((linkId.value = 'receiverCopy.practitionerRole.practitioner.email') and answer.exists()) ->  practitioner.telecom as value,  value.system = 'email',  value.value = (%item.answer.value) "receiverCopyPractitionerRolePractitionerEmail";
}

group ReceiverCopyOrganizationItems(source src, target organization : Organization) {
  src.item as item where ((linkId.value = 'receiverCopy.practitionerRole.organization.name') and answer.exists()) -> organization.name = (%item.answer.value);
  src.item as item where ((linkId.value = 'receiverCopy.practitionerRole.organization.streetAddressLine') and answer.exists()) -> organization.address as address share orgAddress then {
    item.answer as answer -> address.line = (%answer.value) "receiverCopyPractitionerRoleOrganizationStreetAddressLine";
  } "itemAnswer";
  src.item as item where ((linkId.value = 'receiverCopy.practitionerRole.organization.postalCode') and answer.exists()) ->  organization.address as address share orgAddress,  address.postalCode = (%item.answer.value) "receiverCopyPractitionerRoleOrganizationPostalCode";
  src.item as item where ((linkId.value = 'receiverCopy.practitionerRole.organization.city') and answer.exists()) ->  organization.address as address share orgAddress,  address.city = (%item.answer.value) "receiverCopyPractitionerRoleOrganizationCity";
  src.item as item where ((linkId.value = 'receiverCopy.practitionerRole.organization.country') and answer.exists()) ->  organization.address as address share orgAddress,  address.country = (%item.answer.value) "receiverCopyPractitionerRoleOrganizationCountry";
}

group ReceiverCopyPractitionerRoleItems(source src, target bundle : Bundle, target practitionerRole : PractitionerRole) {
  src.item as item where (linkId.value = 'receiverCopy.practitionerRole.practitioner') ->  bundle.entry as e2,  e2.resource = create('Practitioner') as practitioner,  practitioner.id = uuid() as uuid2,  practitionerRole.practitioner = create('Reference') as reference,  reference.reference = append('urn:uuid:', uuid2),  e2.fullUrl = append('urn:uuid:', uuid2) then ReceiverCopyPractitionerItems(item, practitioner);
  src.item as item where (linkId.value = 'receiverCopy.practitionerRole.organization') ->  bundle.entry as e3,  e3.resource = create('Organization') as organization,  organization.id = uuid() as uuid3,  practitionerRole.organization = create('Reference') as reference,  reference.reference = append('urn:uuid:', uuid3),  e3.fullUrl = append('urn:uuid:', uuid3) then ReceiverCopyOrganizationItems(item, organization);
}

group ExtOrfCopyReceiverPatient(source src, target patient : Patient, target ext : Extension) {
  src -> ext.url = 'http://fhir.ch/ig/ch-orf/StructureDefinition/ch-orf-copyreceiver' "url";
  src ->  ext.value = create('Reference') as reference,  reference.reference = ('urn:uuid:' + %patient.id) "patient";
}

group ExtOrfCopyReceiverPractitionerRole(source src, target res : PractitionerRole, target ext : Extension) {
  src -> ext.url = 'http://fhir.ch/ig/ch-orf/StructureDefinition/ch-orf-copyreceiver' "url";
  src ->  ext.value = create('Reference') as reference,  reference.reference = ('urn:uuid:' + %res.id) "organization";
}

group ExtOrfCopyReceiverRelatedPerson(source src, target res : RelatedPerson, target ext : Extension) {
  src -> ext.url = 'http://fhir.ch/ig/ch-orf/StructureDefinition/ch-orf-copyreceiver' "url";
  src ->  ext.value = create('Reference') as reference,  reference.reference = ('urn:uuid:' + %res.id) "organization";
}

group ReceiverCopy(source grp, target bundle : Bundle, target patient : Patient, target composition : Composition, target serviceRequest : ServiceRequest) {
  grp.item as item where (linkId = 'receiverCopy.practitionerRole') ->  bundle.entry as e4,  e4.resource = create('PractitionerRole') as practitionerrole,  composition.extension as extension,  practitionerrole.id = uuid() as uuid4,  e4.fullUrl = append('urn:uuid:', uuid4) then {
    item then ReceiverCopyPractitionerRoleItems(item, bundle, practitionerrole) "data";
    item then ExtOrfCopyReceiverPractitionerRole(item, practitionerrole, extension) "extension";
  } "receiverCopyPractitionerRole1";
  grp.item as item where (linkId = 'receiverCopy.patient') -> composition.extension as extension then {
    item then ExtOrfCopyReceiverPatient(item, patient, extension) "extension";
  } "receiverCopyPatient";
  grp.item as item where (linkId = 'receiverCopy.relatedPerson') ->  bundle.entry as e4,  e4.resource = create('RelatedPerson') as relatedPerson,  composition.extension as extension,  relatedPerson.id = uuid() as uuid4,  relatedPerson.patient as reference,  reference.reference = ('urn:uuid:' + %patient.id),  e4.fullUrl = append('urn:uuid:', uuid4) then {
    item then ReceiverCopyRelatedPersonItems(item, relatedPerson) "data";
    item then ExtOrfCopyReceiverRelatedPerson(item, relatedPerson, extension) "extension";
  } "receiverCopyRelatedPerson";
}

group Appointment(source grp, target bundle : Bundle, target composition : Composition, target serviceRequest : ServiceRequest) {
  grp ->  bundle.entry as e4,  e4.resource = create('Appointment') as appointment,  appointment.id = uuid() as uuid4,  e4.fullUrl = ('urn:uuid:' + %uuid4),  serviceRequest.extension as extension,  extension.url = 'http://fhir.ch/ig/ch-orf/StructureDefinition/ch-orf-locationandtime',  extension.value = create('Reference') as reference,  reference.reference = ('urn:uuid:' + %uuid4) then {
    grp.item as item where ((linkId.value = 'appointment.status') and (answer.value.code = 'proposed')) -> appointment.status = (%item.answer.value.code) then {
      grp.item as itemp where (linkId.value = 'appointment.requestedPeriod') then {
        itemp.item as item2 where ((linkId.value = 'appointment.requestedPeriod.start') and answer.exists()) ->  appointment.requestedPeriod as requestedPeriod,  requestedPeriod.start = (%item2.answer.value),  requestedPeriod.end = (%item2.answer.value) then {
          itemp.item as item3 where ((linkId.value = 'appointment.requestedPeriod.end') and answer.exists()) -> requestedPeriod.end = (%item3.answer.value) "appointmentRequestedPeriodendifnotsameasstart";
        } "appointmentRequestedPeriodStart";
      } "appointmentRequestedPeriod";
    } "proposed";
    grp.item as item where ((linkId.value = 'appointment.status') and ((answer.value.code = 'pending') or (answer.value.code = 'booked'))) -> appointment.status = (%item.answer.value.code) then {
      grp.item as itemp where (linkId.value = 'appointment.requestedPeriod') then {
        itemp.item as item2 where ((linkId.value = 'appointment.requestedPeriod.start') and answer.exists()) ->  appointment.start = (%item2.answer.value),  appointment.end = (%item2.answer.value) then {
          itemp.item as item3 where ((linkId.value = 'appointment.requestedPeriod.end') and answer.exists()) -> appointment.end = (%item3.answer.value) "appointmentendifnotsameasstart";
        } "appointmentStart";
      } "appointmentStartend";
    } "pendingorbooked";
    grp.item as item where ((linkId.value = 'appointment.patientInstruction') and answer.exists()) -> appointment.patientInstruction = (%item.answer.value) "appointmentPatientInstruction";
    grp.item as item where (linkId.value = 'appointment.location') then {
      item ->  bundle.entry as e5,  e5.resource = create('Location') as location,  location.id = uuid() as uuid5,  e5.fullUrl = ('urn:uuid:' + %uuid5),  appointment.participant as participant,  participant.status = 'tentative',  participant.actor = create('Reference') as actor,  actor.reference = ('urn:uuid:' + %location.id) then {
        item.item as item3 where ((linkId.value = 'appointment.location.name') and answer.exists()) -> location.name = (%item3.answer.value);
        item.item as item3 where ((linkId.value = 'appointment.location.phone') and answer.exists()) ->  location.telecom as value,  value.system = 'phone',  value.value = (%item3.answer.value) "appointmentLocationPhone";
        item.item as item3 where ((linkId.value = 'appointment.location.email') and answer.exists()) ->  location.telecom as value,  value.system = 'email',  value.value = (%item3.answer.value) "appointmentLocationEmail";
        item.item as item3 where ((linkId.value = 'appointment.location.streetAddressLine') and answer.exists()) -> location.address as address share orgAddress then {
          item.answer as answer -> address.line = (%answer.value) "line";
        } "appointmentLocationStreetAddressLine";
        item.item as item3 where ((linkId.value = 'appointment.location.postalCode') and answer.exists()) ->  location.address as address share orgAddress,  address.postalCode = (%item3.answer.value) "appointmentLocationPostalCode";
        item.item as item3 where ((linkId.value = 'appointment.location.city') and answer.exists()) ->  location.address as address share orgAddress,  address.city = (%item3.answer.value) "appointmentlocationCity";
        item.item as item3 where ((linkId.value = 'appointment.location.country') and answer.exists()) ->  location.address as address share orgAddress,  address.country = (%item3.answer.value) "appointmentLocationCountry";
      } "location";
    } "appointmentLocation";
  } "Appointment";
}

group Note(source grp, target serviceRequest : ServiceRequest) {
  grp.item as item where ((linkId = 'note.text') and answer.exists()) ->  serviceRequest.note as note,  note.text = (%item.answer.value) "noteText";
}

group QrToBundle(source qr : QuestionnaireResponseSource, target patient : Patient, target questionnaireresp : QuestionnaireResponse, target servicerequest : ServiceRequest, target composition : Composition, target bundle : Bundle) {
  // group QrToBundle(source qr : QuestionnaireResponseSource, target q: Questionnaire, target patient : Patient, target questionnaireresp: QuestionnaireResponse, target servicerequest: ServiceRequest, target composition : Composition, target bundle : Bundle) {
  qr -> bundle.id = uuid() "id";
  qr -> bundle.type = 'document' "type";
  qr then OrfComposition(qr, composition, patient, questionnaireresp, servicerequest, bundle) "composition";
  qr then QrToGroups(qr, patient, bundle, composition, servicerequest) "qrgroups";
}

// group OrfComposition(source qr : QuestionnaireResponseSource, target q: Questionnaire, target tgt : Composition, target patient: Patient, target questionnaireresp: QuestionnaireResponse, target servicerequest: ServiceRequest, target bundle : Bundle) {
group OrfComposition(source qr : QuestionnaireResponseSource, target tgt : Composition, target patient : Patient, target questionnaireresp : QuestionnaireResponse, target servicerequest : ServiceRequest, target bundle : Bundle) {
  qr -> tgt.status = 'final' "status";
  qr ->  tgt.subject = create('Reference') as reference,  reference.reference = ('urn:uuid:' + %patient.id) "subject";
  qr ->  tgt.section as tgtSection,  tgtSection.title = 'Order-Referral',  tgtSection.code as code,  code.coding as coding,  coding.system = 'http://loinc.org',  coding.code = '93037-0',  coding.display = 'Portable medical order form',  tgtSection.entry = create('Reference') as reference,  reference.reference = ('urn:uuid:' + %questionnaireresp.id),  tgtSection.entry = create('Reference') as reference,  reference.reference = ('urn:uuid:' + %servicerequest.id) "sections";
  // ,
  // tgtSection.entry = create('Reference') as reference, reference.reference = (%q.url) "sections";
  qr ->  servicerequest.status = 'active',  servicerequest.intent = 'order',  servicerequest.subject = create('Reference') as reference,  reference.reference = ('urn:uuid:' + %patient.id) "servicerequest";
}


Source

{
  "resourceType": "StructureMap",
  "id": "OrfQrToBundle",
  "text": {
    "status": "generated",
    "div": "<!-- snip (see above) -->"
  },
  "url": "http://fhir.ch/ig/ch-orf/StructureMap/OrfQrToBundle",
  "version": "3.0.2-ci-build",
  "name": "OrfQrToBundle",
  "status": "draft",
  "date": "2025-05-22T09:52:16+00:00",
  "publisher": "HL7 Switzerland",
  "contact": [
    {
      "name": "HL7 Switzerland",
      "telecom": [
        {
          "system": "url",
          "value": "https://www.hl7.ch/"
        }
      ]
    }
  ],
  "description": "ORF QuestionnaireResponse to Bundle\r\n2021-01-11 Oliver Egger\r\nQRF Questionnaire: http://fhir.ch/ig/ch-orf/Questionnaire-order-referral-form.html\r\nQRF QuestionnaireResponse: http://fhir.ch/ig/ch-orf/QuestionnaireResponse-order-referral-form.xml.html\r\nBundle: http://fhir.ch/ig/ch-orf/StructureDefinition-ch-orf-document.html",
  "jurisdiction": [
    {
      "coding": [
        {
          "system": "urn:iso:std:iso:3166",
          "code": "CH"
        }
      ]
    }
  ],
  "copyright": "CC0-1.0",
  "structure": [
    {
      "url": "http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse",
      "mode": "source",
      "alias": "QuestionnaireResponseSource"
    },
    {
      "url": "http://hl7.org/fhir/StructureDefinition/Bundle",
      "mode": "target",
      "alias": "Bundle"
    },
    {
      "url": "http://hl7.org/fhir/StructureDefinition/Composition",
      "mode": "target",
      "alias": "Composition"
    },
    {
      "url": "http://hl7.org/fhir/StructureDefinition/Patient",
      "mode": "target",
      "alias": "Patient"
    },
    {
      "url": "http://hl7.org/fhir/StructureDefinition/RelatedPerson",
      "mode": "target",
      "alias": "RelatedPerson"
    },
    {
      "url": "http://hl7.org/fhir/StructureDefinition/Organization",
      "mode": "target",
      "alias": "Organization"
    },
    {
      "url": "http://hl7.org/fhir/StructureDefinition/Practitioner",
      "mode": "target",
      "alias": "Practitioner"
    },
    {
      "url": "http://hl7.org/fhir/StructureDefinition/PractitionerRole",
      "mode": "target",
      "alias": "PractitionerRole"
    },
    {
      "url": "http://hl7.org/fhir/StructureDefinition/ServiceRequest",
      "mode": "target",
      "alias": "ServiceRequest"
    },
    {
      "url": "http://hl7.org/fhir/StructureDefinition/Extension",
      "mode": "target",
      "alias": "Extension"
    },
    {
      "url": "http://hl7.org/fhir/StructureDefinition/EpisodeOfCare",
      "mode": "target",
      "alias": "EpisodeOfCare"
    },
    {
      "url": "http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse",
      "mode": "target",
      "alias": "QuestionnaireResponse"
    }
  ],
  "group": [
    {
      "name": "OrfQrToBundle",
      "typeMode": "none",
      "input": [
        {
          "name": "qr",
          "type": "QuestionnaireResponseSource",
          "mode": "source"
        },
        {
          "name": "bundle",
          "type": "Bundle",
          "mode": "target"
        }
      ],
      "rule": [
        {
          "name": "documentIdentifier",
          "source": [
            {
              "context": "qr"
            }
          ],
          "target": [
            {
              "context": "bundle",
              "contextType": "variable",
              "element": "identifier",
              "variable": "documentIdentifier"
            },
            {
              "context": "documentIdentifier",
              "contextType": "variable",
              "element": "system",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "urn:ietf:rfc:3986"
                }
              ]
            },
            {
              "contextType": "variable",
              "variable": "uuidDoc",
              "transform": "uuid"
            },
            {
              "context": "documentIdentifier",
              "contextType": "variable",
              "element": "value",
              "transform": "append",
              "parameter": [
                {
                  "valueString": "urn:uuid:"
                },
                {
                  "valueId": "uuidDoc"
                }
              ]
            }
          ]
        },
        {
          "name": "OrfQrToBundle",
          "source": [
            {
              "context": "qr"
            }
          ],
          "target": [
            {
              "context": "bundle",
              "contextType": "variable",
              "element": "entry",
              "variable": "e"
            },
            {
              "context": "e",
              "contextType": "variable",
              "element": "resource",
              "variable": "composition",
              "transform": "create",
              "parameter": [
                {
                  "valueString": "Composition"
                }
              ]
            },
            {
              "context": "composition",
              "contextType": "variable",
              "element": "id",
              "variable": "uuid",
              "transform": "uuid"
            },
            {
              "context": "e",
              "contextType": "variable",
              "element": "fullUrl",
              "transform": "append",
              "parameter": [
                {
                  "valueString": "urn:uuid:"
                },
                {
                  "valueId": "uuid"
                }
              ]
            },
            {
              "context": "bundle",
              "contextType": "variable",
              "element": "entry",
              "variable": "e2"
            },
            {
              "context": "bundle",
              "contextType": "variable",
              "element": "timestamp",
              "variable": "timestamp",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "now()"
                }
              ]
            },
            {
              "context": "bundle",
              "contextType": "variable",
              "element": "type",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "document"
                }
              ]
            },
            {
              "context": "composition",
              "contextType": "variable",
              "element": "date",
              "transform": "copy",
              "parameter": [
                {
                  "valueId": "timestamp"
                }
              ]
            },
            {
              "context": "composition",
              "contextType": "variable",
              "element": "title",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "Order and Referral by Form"
                }
              ]
            },
            {
              "context": "composition",
              "contextType": "variable",
              "element": "type",
              "variable": "type"
            },
            {
              "context": "type",
              "contextType": "variable",
              "element": "coding",
              "variable": "coding"
            },
            {
              "context": "coding",
              "contextType": "variable",
              "element": "code",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "419891008"
                }
              ]
            },
            {
              "context": "coding",
              "contextType": "variable",
              "element": "system",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "http://snomed.info/sct"
                }
              ]
            },
            {
              "context": "composition",
              "contextType": "variable",
              "element": "category",
              "variable": "category"
            },
            {
              "context": "category",
              "contextType": "variable",
              "element": "coding",
              "variable": "coding"
            },
            {
              "context": "coding",
              "contextType": "variable",
              "element": "code",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "721963009"
                }
              ]
            },
            {
              "context": "coding",
              "contextType": "variable",
              "element": "system",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "http://snomed.info/sct"
                }
              ]
            },
            {
              "context": "e2",
              "contextType": "variable",
              "element": "resource",
              "variable": "patient",
              "transform": "create",
              "parameter": [
                {
                  "valueString": "Patient"
                }
              ]
            },
            {
              "context": "patient",
              "contextType": "variable",
              "element": "id",
              "variable": "uuid2",
              "transform": "uuid"
            },
            {
              "context": "e2",
              "contextType": "variable",
              "element": "fullUrl",
              "transform": "append",
              "parameter": [
                {
                  "valueString": "urn:uuid:"
                },
                {
                  "valueId": "uuid2"
                }
              ]
            },
            {
              "context": "bundle",
              "contextType": "variable",
              "element": "entry",
              "variable": "e4"
            },
            {
              "context": "e4",
              "contextType": "variable",
              "element": "resource",
              "variable": "questionnaireresp",
              "transform": "create",
              "parameter": [
                {
                  "valueString": "QuestionnaireResponse"
                }
              ]
            }
          ],
          "rule": [
            {
              "name": "questionnaireresp",
              "source": [
                {
                  "context": "qr"
                }
              ],
              "dependent": [
                {
                  "name": "QuestionnaireResponseMap",
                  "variable": [
                    "qr",
                    "questionnaireresp"
                  ]
                }
              ]
            },
            {
              "name": "orfbundle",
              "source": [
                {
                  "context": "qr"
                }
              ],
              "target": [
                {
                  "context": "questionnaireresp",
                  "contextType": "variable",
                  "element": "id",
                  "variable": "uuid4",
                  "transform": "uuid"
                },
                {
                  "context": "e4",
                  "contextType": "variable",
                  "element": "fullUrl",
                  "transform": "append",
                  "parameter": [
                    {
                      "valueString": "urn:uuid:"
                    },
                    {
                      "valueId": "uuid4"
                    }
                  ]
                },
                {
                  "context": "bundle",
                  "contextType": "variable",
                  "element": "entry",
                  "variable": "e5"
                },
                {
                  "context": "e5",
                  "contextType": "variable",
                  "element": "resource",
                  "variable": "servicerequest",
                  "transform": "create",
                  "parameter": [
                    {
                      "valueString": "ServiceRequest"
                    }
                  ]
                },
                {
                  "context": "servicerequest",
                  "contextType": "variable",
                  "element": "id",
                  "variable": "uuid5",
                  "transform": "uuid"
                },
                {
                  "context": "e5",
                  "contextType": "variable",
                  "element": "fullUrl",
                  "transform": "append",
                  "parameter": [
                    {
                      "valueString": "urn:uuid:"
                    },
                    {
                      "valueId": "uuid5"
                    }
                  ]
                }
              ],
              "dependent": [
                {
                  "name": "QrToBundle",
                  "variable": [
                    "qr",
                    "patient",
                    "questionnaireresp",
                    "servicerequest",
                    "composition",
                    "bundle"
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "name": "QuestionnaireResponseMap",
      "typeMode": "none",
      "input": [
        {
          "name": "src",
          "mode": "source"
        },
        {
          "name": "tgt",
          "type": "QuestionnaireResponse",
          "mode": "target"
        }
      ],
      "rule": [
        {
          "name": "identifier",
          "source": [
            {
              "context": "src",
              "element": "identifier",
              "variable": "value"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "contextType": "variable",
              "element": "identifier",
              "transform": "copy",
              "parameter": [
                {
                  "valueId": "value"
                }
              ]
            }
          ]
        },
        {
          "name": "basedOn",
          "source": [
            {
              "context": "src",
              "element": "basedOn",
              "variable": "value"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "contextType": "variable",
              "element": "basedOn",
              "transform": "copy",
              "parameter": [
                {
                  "valueId": "value"
                }
              ]
            }
          ]
        },
        {
          "name": "partOf",
          "source": [
            {
              "context": "src",
              "element": "partOf",
              "variable": "value"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "contextType": "variable",
              "element": "partOf",
              "transform": "copy",
              "parameter": [
                {
                  "valueId": "value"
                }
              ]
            }
          ]
        },
        {
          "name": "questionnaire",
          "source": [
            {
              "context": "src",
              "element": "questionnaire",
              "variable": "value"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "contextType": "variable",
              "element": "questionnaire",
              "transform": "copy",
              "parameter": [
                {
                  "valueId": "value"
                }
              ]
            }
          ]
        },
        {
          "name": "status",
          "source": [
            {
              "context": "src",
              "element": "status",
              "variable": "value"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "contextType": "variable",
              "element": "status",
              "transform": "copy",
              "parameter": [
                {
                  "valueId": "value"
                }
              ]
            }
          ]
        },
        {
          "name": "subject",
          "source": [
            {
              "context": "src",
              "element": "subject",
              "variable": "value"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "contextType": "variable",
              "element": "subject",
              "transform": "copy",
              "parameter": [
                {
                  "valueId": "value"
                }
              ]
            }
          ]
        },
        {
          "name": "encounter",
          "source": [
            {
              "context": "src",
              "element": "encounter",
              "variable": "value"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "contextType": "variable",
              "element": "encounter",
              "transform": "copy",
              "parameter": [
                {
                  "valueId": "value"
                }
              ]
            }
          ]
        },
        {
          "name": "authored",
          "source": [
            {
              "context": "src",
              "element": "authored",
              "variable": "value"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "contextType": "variable",
              "element": "authored",
              "transform": "copy",
              "parameter": [
                {
                  "valueId": "value"
                }
              ]
            }
          ]
        },
        {
          "name": "author",
          "source": [
            {
              "context": "src",
              "element": "author",
              "variable": "value"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "contextType": "variable",
              "element": "author",
              "transform": "copy",
              "parameter": [
                {
                  "valueId": "value"
                }
              ]
            }
          ]
        },
        {
          "name": "source",
          "source": [
            {
              "context": "src",
              "element": "source",
              "variable": "value"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "contextType": "variable",
              "element": "source",
              "transform": "copy",
              "parameter": [
                {
                  "valueId": "value"
                }
              ]
            }
          ]
        },
        {
          "name": "item",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "value"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "contextType": "variable",
              "element": "item",
              "transform": "copy",
              "parameter": [
                {
                  "valueId": "value"
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "name": "QrToGroups",
      "typeMode": "none",
      "input": [
        {
          "name": "qr",
          "type": "QuestionnaireResponseSource",
          "mode": "source"
        },
        {
          "name": "patient",
          "type": "Patient",
          "mode": "target"
        },
        {
          "name": "bundle",
          "type": "Bundle",
          "mode": "target"
        },
        {
          "name": "composition",
          "type": "Composition",
          "mode": "target"
        },
        {
          "name": "serviceRequest",
          "type": "ServiceRequest",
          "mode": "target"
        }
      ],
      "rule": [
        {
          "name": "grporder",
          "source": [
            {
              "context": "qr",
              "element": "item",
              "variable": "grp",
              "condition": "linkId = 'order'"
            }
          ],
          "dependent": [
            {
              "name": "OrderItems",
              "variable": [
                "grp",
                "bundle",
                "composition",
                "serviceRequest"
              ]
            }
          ]
        },
        {
          "name": "receiver",
          "source": [
            {
              "context": "qr",
              "element": "item",
              "variable": "grp",
              "condition": "linkId = 'receiver'"
            }
          ],
          "dependent": [
            {
              "name": "ReceiverInit",
              "variable": [
                "grp",
                "bundle",
                "composition",
                "serviceRequest"
              ]
            }
          ]
        },
        {
          "name": "grpinitiator",
          "source": [
            {
              "context": "qr",
              "element": "item",
              "variable": "grp",
              "condition": "linkId = 'initiator'"
            }
          ],
          "dependent": [
            {
              "name": "InitiatorInit",
              "variable": [
                "grp",
                "bundle",
                "patient",
                "composition",
                "serviceRequest"
              ]
            }
          ]
        },
        {
          "name": "grppatient",
          "source": [
            {
              "context": "qr",
              "element": "item",
              "variable": "grp",
              "condition": "linkId = 'patient'"
            }
          ],
          "dependent": [
            {
              "name": "PatientItems",
              "variable": [
                "grp",
                "bundle",
                "patient",
                "composition",
                "serviceRequest"
              ]
            }
          ]
        },
        {
          "name": "grprequestedencounter",
          "source": [
            {
              "context": "qr",
              "element": "item",
              "variable": "grp",
              "condition": "linkId = 'requestedEncounter'"
            }
          ],
          "dependent": [
            {
              "name": "RequestedEncounterItems",
              "variable": [
                "grp",
                "bundle",
                "patient",
                "serviceRequest"
              ]
            }
          ]
        },
        {
          "name": "grprequestedencounter",
          "source": [
            {
              "context": "qr",
              "element": "item",
              "variable": "grp",
              "condition": "linkId = 'coverage'"
            }
          ],
          "dependent": [
            {
              "name": "Coverage",
              "variable": [
                "grp",
                "bundle",
                "patient",
                "serviceRequest"
              ]
            }
          ]
        },
        {
          "name": "grpsender",
          "source": [
            {
              "context": "qr",
              "element": "item",
              "variable": "grp",
              "condition": "linkId = 'sender'"
            }
          ],
          "dependent": [
            {
              "name": "SenderAuthorInit",
              "variable": [
                "grp",
                "bundle",
                "composition",
                "serviceRequest"
              ]
            }
          ]
        },
        {
          "name": "receiverCopy",
          "source": [
            {
              "context": "qr",
              "element": "item",
              "variable": "grp",
              "condition": "linkId = 'receiverCopy'"
            }
          ],
          "dependent": [
            {
              "name": "ReceiverCopy",
              "variable": [
                "grp",
                "bundle",
                "patient",
                "composition",
                "serviceRequest"
              ]
            }
          ]
        },
        {
          "name": "appointment",
          "source": [
            {
              "context": "qr",
              "element": "item",
              "variable": "grp",
              "condition": "linkId = 'appointment'"
            }
          ],
          "dependent": [
            {
              "name": "Appointment",
              "variable": [
                "grp",
                "bundle",
                "composition",
                "serviceRequest"
              ]
            }
          ]
        },
        {
          "name": "AntecedentEpisodeOfCareInit",
          "source": [
            {
              "context": "qr",
              "element": "item",
              "variable": "grp",
              "condition": "linkId = 'antecedentEpisodeOfCare'"
            }
          ],
          "dependent": [
            {
              "name": "AntecedentEpisodeOfCareInit",
              "variable": [
                "grp",
                "bundle",
                "patient",
                "composition"
              ]
            }
          ]
        },
        {
          "name": "consent",
          "source": [
            {
              "context": "qr",
              "element": "item",
              "variable": "grp",
              "condition": "linkId = 'consent'"
            }
          ],
          "dependent": [
            {
              "name": "Consent",
              "variable": [
                "grp",
                "bundle",
                "composition"
              ]
            }
          ]
        },
        {
          "name": "note",
          "source": [
            {
              "context": "qr",
              "element": "item",
              "variable": "grp",
              "condition": "linkId = 'note'"
            }
          ],
          "dependent": [
            {
              "name": "Note",
              "variable": [
                "grp",
                "serviceRequest"
              ]
            }
          ]
        }
      ]
    },
    {
      "name": "OrderItems",
      "typeMode": "none",
      "input": [
        {
          "name": "src",
          "mode": "source"
        },
        {
          "name": "bundle",
          "type": "Bundle",
          "mode": "target"
        },
        {
          "name": "composition",
          "mode": "target"
        },
        {
          "name": "serviceRequest",
          "type": "ServiceRequest",
          "mode": "target"
        }
      ],
      "rule": [
        {
          "name": "orderPrecedentDocumentIdentifier",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'order.precedentDocumentIdentifier') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "composition",
              "contextType": "variable",
              "element": "extension",
              "variable": "ext"
            },
            {
              "context": "ext",
              "contextType": "variable",
              "element": "url",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "http://fhir.ch/ig/ch-orf/StructureDefinition/ch-orf-precedentdocument"
                }
              ]
            },
            {
              "context": "ext",
              "contextType": "variable",
              "element": "value",
              "variable": "value",
              "transform": "create",
              "parameter": [
                {
                  "valueString": "Identifier"
                }
              ]
            },
            {
              "context": "value",
              "contextType": "variable",
              "element": "system",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "urn:ietf:rfc:3986"
                }
              ]
            },
            {
              "context": "value",
              "contextType": "variable",
              "element": "value",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "'urn:uuid:' + %item.answer.value"
                }
              ]
            }
          ]
        },
        {
          "name": "orderPlacerOrderIdentifier",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'order.placerOrderIdentifier') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "serviceRequest",
              "contextType": "variable",
              "element": "identifier",
              "variable": "value",
              "listMode": [
                "share"
              ],
              "listRuleId": "placer"
            },
            {
              "context": "value",
              "contextType": "variable",
              "element": "type",
              "variable": "type"
            },
            {
              "context": "type",
              "contextType": "variable",
              "element": "coding",
              "variable": "coding"
            },
            {
              "context": "coding",
              "contextType": "variable",
              "element": "system",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "http://terminology.hl7.org/CodeSystem/v2-0203"
                }
              ]
            },
            {
              "context": "coding",
              "contextType": "variable",
              "element": "code",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "PLAC"
                }
              ]
            },
            {
              "context": "value",
              "contextType": "variable",
              "element": "value",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            }
          ]
        },
        {
          "name": "orderPlacerOrderIdentifierDomain",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'order.placerOrderIdentifierDomain') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "serviceRequest",
              "contextType": "variable",
              "element": "identifier",
              "variable": "value",
              "listMode": [
                "share"
              ],
              "listRuleId": "placer"
            },
            {
              "context": "value",
              "contextType": "variable",
              "element": "system",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            }
          ]
        },
        {
          "name": "orderFillerOrderIdentifier",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'order.fillerOrderIdentifier') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "serviceRequest",
              "contextType": "variable",
              "element": "identifier",
              "variable": "value",
              "listMode": [
                "share"
              ],
              "listRuleId": "filler"
            },
            {
              "context": "value",
              "contextType": "variable",
              "element": "type",
              "variable": "type"
            },
            {
              "context": "type",
              "contextType": "variable",
              "element": "coding",
              "variable": "coding"
            },
            {
              "context": "coding",
              "contextType": "variable",
              "element": "system",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "http://terminology.hl7.org/CodeSystem/v2-0203"
                }
              ]
            },
            {
              "context": "coding",
              "contextType": "variable",
              "element": "code",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "FILL"
                }
              ]
            },
            {
              "context": "value",
              "contextType": "variable",
              "element": "value",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            }
          ]
        },
        {
          "name": "orderFillerOrderIdentifierDomain",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'order.fillerOrderIdentifierDomain') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "serviceRequest",
              "contextType": "variable",
              "element": "identifier",
              "variable": "value",
              "listMode": [
                "share"
              ],
              "listRuleId": "filler"
            },
            {
              "context": "value",
              "contextType": "variable",
              "element": "system",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            }
          ]
        },
        {
          "name": "item",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'order.authoredOn') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "serviceRequest",
              "contextType": "variable",
              "element": "authoredOn",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            }
          ]
        },
        {
          "name": "item",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'order.priority') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "serviceRequest",
              "contextType": "variable",
              "element": "priority",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value.code"
                }
              ]
            }
          ]
        },
        {
          "name": "ordeNnotificationContactDocument",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "(linkId.value = 'order.notificationContactDocument')"
            }
          ],
          "rule": [
            {
              "name": "orderNotificationContactDocumentItems",
              "source": [
                {
                  "context": "item"
                }
              ],
              "target": [
                {
                  "context": "bundle",
                  "contextType": "variable",
                  "element": "entry",
                  "variable": "e4"
                },
                {
                  "context": "e4",
                  "contextType": "variable",
                  "element": "resource",
                  "variable": "practitionerRoleDataEnterer",
                  "transform": "create",
                  "parameter": [
                    {
                      "valueString": "PractitionerRole"
                    }
                  ]
                },
                {
                  "context": "practitionerRoleDataEnterer",
                  "contextType": "variable",
                  "element": "id",
                  "variable": "uuid4",
                  "transform": "uuid"
                },
                {
                  "context": "e4",
                  "contextType": "variable",
                  "element": "fullUrl",
                  "transform": "append",
                  "parameter": [
                    {
                      "valueString": "urn:uuid:"
                    },
                    {
                      "valueId": "uuid4"
                    }
                  ]
                },
                {
                  "context": "composition",
                  "contextType": "variable",
                  "element": "extension",
                  "variable": "extension"
                },
                {
                  "context": "bundle",
                  "contextType": "variable",
                  "element": "entry",
                  "variable": "e5"
                },
                {
                  "context": "e5",
                  "contextType": "variable",
                  "element": "resource",
                  "variable": "practitionerDataEnterer",
                  "transform": "create",
                  "parameter": [
                    {
                      "valueString": "Practitioner"
                    }
                  ]
                },
                {
                  "context": "practitionerDataEnterer",
                  "contextType": "variable",
                  "element": "id",
                  "variable": "uuid5",
                  "transform": "uuid"
                },
                {
                  "context": "e5",
                  "contextType": "variable",
                  "element": "fullUrl",
                  "transform": "append",
                  "parameter": [
                    {
                      "valueString": "urn:uuid:"
                    },
                    {
                      "valueId": "uuid5"
                    }
                  ]
                },
                {
                  "context": "practitionerRoleDataEnterer",
                  "contextType": "variable",
                  "element": "practitioner",
                  "variable": "reference",
                  "transform": "create",
                  "parameter": [
                    {
                      "valueString": "Reference"
                    }
                  ]
                },
                {
                  "context": "reference",
                  "contextType": "variable",
                  "element": "reference",
                  "transform": "append",
                  "parameter": [
                    {
                      "valueString": "urn:uuid:"
                    },
                    {
                      "valueId": "uuid5"
                    }
                  ]
                }
              ],
              "rule": [
                {
                  "name": "data",
                  "source": [
                    {
                      "context": "item"
                    }
                  ],
                  "dependent": [
                    {
                      "name": "UrgentNotificationContactForRequestItems",
                      "variable": [
                        "item",
                        "practitionerRoleDataEnterer",
                        "practitionerDataEnterer"
                      ]
                    }
                  ]
                },
                {
                  "name": "extension",
                  "source": [
                    {
                      "context": "item"
                    }
                  ],
                  "dependent": [
                    {
                      "name": "ExtOrfUrgentNotificationContactForRequest",
                      "variable": [
                        "item",
                        "practitionerRoleDataEnterer",
                        "extension"
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "name": "orderNotificationContactDocumentResponse",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "(linkId.value = 'order.notificationContactDocumentResponse')"
            }
          ],
          "rule": [
            {
              "name": "orderNotificationContactDocumentResponseItems",
              "source": [
                {
                  "context": "item"
                }
              ],
              "target": [
                {
                  "context": "bundle",
                  "contextType": "variable",
                  "element": "entry",
                  "variable": "e4"
                },
                {
                  "context": "e4",
                  "contextType": "variable",
                  "element": "resource",
                  "variable": "practitionerRoleDataEnterer",
                  "transform": "create",
                  "parameter": [
                    {
                      "valueString": "PractitionerRole"
                    }
                  ]
                },
                {
                  "context": "practitionerRoleDataEnterer",
                  "contextType": "variable",
                  "element": "id",
                  "variable": "uuid4",
                  "transform": "uuid"
                },
                {
                  "context": "e4",
                  "contextType": "variable",
                  "element": "fullUrl",
                  "transform": "append",
                  "parameter": [
                    {
                      "valueString": "urn:uuid:"
                    },
                    {
                      "valueId": "uuid4"
                    }
                  ]
                },
                {
                  "context": "composition",
                  "contextType": "variable",
                  "element": "extension",
                  "variable": "extension"
                },
                {
                  "context": "bundle",
                  "contextType": "variable",
                  "element": "entry",
                  "variable": "e5"
                },
                {
                  "context": "e5",
                  "contextType": "variable",
                  "element": "resource",
                  "variable": "practitionerDataEnterer",
                  "transform": "create",
                  "parameter": [
                    {
                      "valueString": "Practitioner"
                    }
                  ]
                },
                {
                  "context": "practitionerDataEnterer",
                  "contextType": "variable",
                  "element": "id",
                  "variable": "uuid5",
                  "transform": "uuid"
                },
                {
                  "context": "e5",
                  "contextType": "variable",
                  "element": "fullUrl",
                  "transform": "append",
                  "parameter": [
                    {
                      "valueString": "urn:uuid:"
                    },
                    {
                      "valueId": "uuid5"
                    }
                  ]
                },
                {
                  "context": "practitionerRoleDataEnterer",
                  "contextType": "variable",
                  "element": "practitioner",
                  "variable": "reference",
                  "transform": "create",
                  "parameter": [
                    {
                      "valueString": "Reference"
                    }
                  ]
                },
                {
                  "context": "reference",
                  "contextType": "variable",
                  "element": "reference",
                  "transform": "append",
                  "parameter": [
                    {
                      "valueString": "urn:uuid:"
                    },
                    {
                      "valueId": "uuid5"
                    }
                  ]
                }
              ],
              "rule": [
                {
                  "name": "data",
                  "source": [
                    {
                      "context": "item"
                    }
                  ],
                  "dependent": [
                    {
                      "name": "UrgentNotificationContactForResponseItems",
                      "variable": [
                        "item",
                        "practitionerRoleDataEnterer",
                        "practitionerDataEnterer"
                      ]
                    }
                  ]
                },
                {
                  "name": "extension",
                  "source": [
                    {
                      "context": "item"
                    }
                  ],
                  "dependent": [
                    {
                      "name": "ExtOrfUrgentNotificationContactForResponse",
                      "variable": [
                        "item",
                        "practitionerRoleDataEnterer",
                        "extension"
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "name": "UrgentNotificationContactForRequestPractitionerItems",
      "typeMode": "none",
      "input": [
        {
          "name": "src",
          "mode": "source"
        },
        {
          "name": "practitioner",
          "type": "Practitioner",
          "mode": "target"
        }
      ],
      "rule": [
        {
          "name": "item",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'order.notificationContactDocument.practitioner.familyName') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "practitioner",
              "contextType": "variable",
              "element": "name",
              "variable": "name",
              "listMode": [
                "share"
              ],
              "listRuleId": "practitionerName"
            },
            {
              "context": "name",
              "contextType": "variable",
              "element": "family",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            }
          ]
        },
        {
          "name": "item",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'order.notificationContactDocument.practitioner.givenName') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "practitioner",
              "contextType": "variable",
              "element": "name",
              "variable": "name",
              "listMode": [
                "share"
              ],
              "listRuleId": "practitionerName"
            },
            {
              "context": "name",
              "contextType": "variable",
              "element": "given",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            }
          ]
        },
        {
          "name": "senderAuthorPractitionerTitle",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'order.notificationContactDocument.practitioner.title') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "practitioner",
              "contextType": "variable",
              "element": "name",
              "variable": "name",
              "listMode": [
                "share"
              ],
              "listRuleId": "practitionerName"
            },
            {
              "context": "name",
              "contextType": "variable",
              "element": "prefix",
              "variable": "prefix",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            },
            {
              "context": "prefix",
              "contextType": "variable",
              "element": "extension",
              "variable": "ext"
            },
            {
              "context": "ext",
              "contextType": "variable",
              "element": "url",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "http://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier"
                }
              ]
            },
            {
              "context": "ext",
              "contextType": "variable",
              "element": "value",
              "variable": "value",
              "transform": "create",
              "parameter": [
                {
                  "valueString": "code"
                }
              ]
            },
            {
              "context": "value",
              "contextType": "variable",
              "element": "value",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "AC"
                }
              ]
            }
          ]
        },
        {
          "name": "senderAuthorPractitionerPhone",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'order.notificationContactDocument.practitioner.phone') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "practitioner",
              "contextType": "variable",
              "element": "telecom",
              "variable": "value"
            },
            {
              "context": "value",
              "contextType": "variable",
              "element": "system",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "phone"
                }
              ]
            },
            {
              "context": "value",
              "contextType": "variable",
              "element": "value",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            }
          ]
        },
        {
          "name": "senderAuthorPractitionerEmail",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'order.notificationContactDocument.practitioner.email') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "practitioner",
              "contextType": "variable",
              "element": "telecom",
              "variable": "value"
            },
            {
              "context": "value",
              "contextType": "variable",
              "element": "system",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "email"
                }
              ]
            },
            {
              "context": "value",
              "contextType": "variable",
              "element": "value",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "name": "UrgentNotificationContactForRequestItems",
      "typeMode": "none",
      "input": [
        {
          "name": "src",
          "mode": "source"
        },
        {
          "name": "practitionerRole",
          "type": "PractitionerRole",
          "mode": "target"
        },
        {
          "name": "practitioner",
          "type": "Practitioner",
          "mode": "target"
        }
      ],
      "rule": [
        {
          "name": "item",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "(linkId.value = 'order.notificationContactDocument.practitioner')"
            }
          ],
          "dependent": [
            {
              "name": "UrgentNotificationContactForRequestPractitionerItems",
              "variable": [
                "item",
                "practitioner"
              ]
            }
          ]
        }
      ]
    },
    {
      "name": "ExtOrfUrgentNotificationContactForRequest",
      "typeMode": "none",
      "input": [
        {
          "name": "src",
          "mode": "source"
        },
        {
          "name": "practitionerRole",
          "type": "PractitionerRole",
          "mode": "target"
        },
        {
          "name": "ext",
          "type": "Extension",
          "mode": "target"
        }
      ],
      "rule": [
        {
          "name": "url",
          "source": [
            {
              "context": "src"
            }
          ],
          "target": [
            {
              "context": "ext",
              "contextType": "variable",
              "element": "url",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "http://fhir.ch/ig/ch-orf/StructureDefinition/ch-orf-urgentnoficationcontactforthisdocument"
                }
              ]
            }
          ]
        },
        {
          "name": "practitionerRole",
          "source": [
            {
              "context": "src"
            }
          ],
          "target": [
            {
              "context": "ext",
              "contextType": "variable",
              "element": "value",
              "variable": "reference",
              "transform": "create",
              "parameter": [
                {
                  "valueString": "Reference"
                }
              ]
            },
            {
              "context": "reference",
              "contextType": "variable",
              "element": "reference",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "'urn:uuid:' + %practitionerRole.id"
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "name": "UrgentNotificationContactForResponsePractitionerItems",
      "typeMode": "none",
      "input": [
        {
          "name": "src",
          "mode": "source"
        },
        {
          "name": "practitioner",
          "type": "Practitioner",
          "mode": "target"
        }
      ],
      "rule": [
        {
          "name": "item",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'order.notificationContactDocumentResponse.practitioner.familyName') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "practitioner",
              "contextType": "variable",
              "element": "name",
              "variable": "name",
              "listMode": [
                "share"
              ],
              "listRuleId": "practitionerName"
            },
            {
              "context": "name",
              "contextType": "variable",
              "element": "family",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            }
          ]
        },
        {
          "name": "item",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'order.notificationContactDocumentResponse.practitioner.givenName') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "practitioner",
              "contextType": "variable",
              "element": "name",
              "variable": "name",
              "listMode": [
                "share"
              ],
              "listRuleId": "practitionerName"
            },
            {
              "context": "name",
              "contextType": "variable",
              "element": "given",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            }
          ]
        },
        {
          "name": "senderAuthorPractitionerTitle",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'order.notificationContactDocumentResponse.practitioner.title') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "practitioner",
              "contextType": "variable",
              "element": "name",
              "variable": "name",
              "listMode": [
                "share"
              ],
              "listRuleId": "practitionerName"
            },
            {
              "context": "name",
              "contextType": "variable",
              "element": "prefix",
              "variable": "prefix",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            },
            {
              "context": "prefix",
              "contextType": "variable",
              "element": "extension",
              "variable": "ext"
            },
            {
              "context": "ext",
              "contextType": "variable",
              "element": "url",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "http://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier"
                }
              ]
            },
            {
              "context": "ext",
              "contextType": "variable",
              "element": "value",
              "variable": "value",
              "transform": "create",
              "parameter": [
                {
                  "valueString": "code"
                }
              ]
            },
            {
              "context": "value",
              "contextType": "variable",
              "element": "value",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "AC"
                }
              ]
            }
          ]
        },
        {
          "name": "senderAuthorPractitionerPhone",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'order.notificationContactDocumentResponse.practitioner.phone') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "practitioner",
              "contextType": "variable",
              "element": "telecom",
              "variable": "value"
            },
            {
              "context": "value",
              "contextType": "variable",
              "element": "system",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "phone"
                }
              ]
            },
            {
              "context": "value",
              "contextType": "variable",
              "element": "value",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            }
          ]
        },
        {
          "name": "senderAuthorPractitionerEmail",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'order.notificationContactDocumentResponse.practitioner.email') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "practitioner",
              "contextType": "variable",
              "element": "telecom",
              "variable": "value"
            },
            {
              "context": "value",
              "contextType": "variable",
              "element": "system",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "email"
                }
              ]
            },
            {
              "context": "value",
              "contextType": "variable",
              "element": "value",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "name": "UrgentNotificationContactForResponseItems",
      "typeMode": "none",
      "input": [
        {
          "name": "src",
          "mode": "source"
        },
        {
          "name": "practitionerRole",
          "type": "PractitionerRole",
          "mode": "target"
        },
        {
          "name": "practitioner",
          "type": "Practitioner",
          "mode": "target"
        }
      ],
      "rule": [
        {
          "name": "item",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "(linkId.value = 'order.notificationContactDocumentResponse.practitioner')"
            }
          ],
          "dependent": [
            {
              "name": "UrgentNotificationContactForResponsePractitionerItems",
              "variable": [
                "item",
                "practitioner"
              ]
            }
          ]
        }
      ]
    },
    {
      "name": "ExtOrfUrgentNotificationContactForResponse",
      "typeMode": "none",
      "input": [
        {
          "name": "src",
          "mode": "source"
        },
        {
          "name": "practitionerRole",
          "type": "PractitionerRole",
          "mode": "target"
        },
        {
          "name": "ext",
          "type": "Extension",
          "mode": "target"
        }
      ],
      "rule": [
        {
          "name": "url",
          "source": [
            {
              "context": "src"
            }
          ],
          "target": [
            {
              "context": "ext",
              "contextType": "variable",
              "element": "url",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "http://fhir.ch/ig/ch-orf/StructureDefinition/ch-orf-urgentnoficationcontactfortheresponsetothisdocument"
                }
              ]
            }
          ]
        },
        {
          "name": "practitionerRole",
          "source": [
            {
              "context": "src"
            }
          ],
          "target": [
            {
              "context": "ext",
              "contextType": "variable",
              "element": "value",
              "variable": "reference",
              "transform": "create",
              "parameter": [
                {
                  "valueString": "Reference"
                }
              ]
            },
            {
              "context": "reference",
              "contextType": "variable",
              "element": "reference",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "'urn:uuid:' + %practitionerRole.id"
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "name": "ReceiverPractitionerItems",
      "typeMode": "none",
      "input": [
        {
          "name": "src",
          "mode": "source"
        },
        {
          "name": "practitioner",
          "type": "Practitioner",
          "mode": "target"
        }
      ],
      "rule": [
        {
          "name": "item",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'receiver.practitioner.familyName') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "practitioner",
              "contextType": "variable",
              "element": "name",
              "variable": "name",
              "listMode": [
                "share"
              ],
              "listRuleId": "practitionerName"
            },
            {
              "context": "name",
              "contextType": "variable",
              "element": "family",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            }
          ]
        },
        {
          "name": "item",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'receiver.practitioner.givenName') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "practitioner",
              "contextType": "variable",
              "element": "name",
              "variable": "name",
              "listMode": [
                "share"
              ],
              "listRuleId": "practitionerName"
            },
            {
              "context": "name",
              "contextType": "variable",
              "element": "given",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            }
          ]
        },
        {
          "name": "receiverPractitionerTitle",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'receiver.practitioner.title') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "practitioner",
              "contextType": "variable",
              "element": "name",
              "variable": "name",
              "listMode": [
                "share"
              ],
              "listRuleId": "practitionerName"
            },
            {
              "context": "name",
              "contextType": "variable",
              "element": "prefix",
              "variable": "prefix",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            },
            {
              "context": "prefix",
              "contextType": "variable",
              "element": "extension",
              "variable": "ext"
            },
            {
              "context": "ext",
              "contextType": "variable",
              "element": "url",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "http://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier"
                }
              ]
            },
            {
              "context": "ext",
              "contextType": "variable",
              "element": "value",
              "variable": "value",
              "transform": "create",
              "parameter": [
                {
                  "valueString": "code"
                }
              ]
            },
            {
              "context": "value",
              "contextType": "variable",
              "element": "value",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "AC"
                }
              ]
            }
          ]
        },
        {
          "name": "receiverPractitionerGln",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'receiver.practitioner.gln') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "practitioner",
              "contextType": "variable",
              "element": "identifier",
              "variable": "value"
            },
            {
              "context": "value",
              "contextType": "variable",
              "element": "system",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "urn:oid:2.51.1.3"
                }
              ]
            },
            {
              "context": "value",
              "contextType": "variable",
              "element": "value",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            }
          ]
        },
        {
          "name": "receiverPractitionerZsr",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'receiver.practitioner.zsr') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "practitioner",
              "contextType": "variable",
              "element": "identifier",
              "variable": "value"
            },
            {
              "context": "value",
              "contextType": "variable",
              "element": "system",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "urn:oid:2.16.756.5.30.1.123.100.2.1.1"
                }
              ]
            },
            {
              "context": "value",
              "contextType": "variable",
              "element": "value",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            }
          ]
        },
        {
          "name": "receiverPractitionerPhone",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'receiver.practitioner.phone') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "practitioner",
              "contextType": "variable",
              "element": "telecom",
              "variable": "value"
            },
            {
              "context": "value",
              "contextType": "variable",
              "element": "system",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "phone"
                }
              ]
            },
            {
              "context": "value",
              "contextType": "variable",
              "element": "value",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            }
          ]
        },
        {
          "name": "receiverPractitionerEmail",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'receiver.practitioner.email') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "practitioner",
              "contextType": "variable",
              "element": "telecom",
              "variable": "value"
            },
            {
              "context": "value",
              "contextType": "variable",
              "element": "system",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "email"
                }
              ]
            },
            {
              "context": "value",
              "contextType": "variable",
              "element": "value",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "name": "ReceiverOrganizationItems",
      "typeMode": "none",
      "input": [
        {
          "name": "src",
          "mode": "source"
        },
        {
          "name": "organization",
          "type": "Organization",
          "mode": "target"
        }
      ],
      "rule": [
        {
          "name": "item",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'receiver.organization.name') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "organization",
              "contextType": "variable",
              "element": "name",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            }
          ]
        },
        {
          "name": "receiverOrganizationGln",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'receiver.organization.gln') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "organization",
              "contextType": "variable",
              "element": "identifier",
              "variable": "value"
            },
            {
              "context": "value",
              "contextType": "variable",
              "element": "system",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "urn:oid:2.51.1.3"
                }
              ]
            },
            {
              "context": "value",
              "contextType": "variable",
              "element": "value",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            }
          ]
        },
        {
          "name": "receiverOrganizationZsr",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'receiver.organization.zsr') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "organization",
              "contextType": "variable",
              "element": "identifier",
              "variable": "value"
            },
            {
              "context": "value",
              "contextType": "variable",
              "element": "system",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "urn:oid:2.16.756.5.30.1.123.100.2.1.1"
                }
              ]
            },
            {
              "context": "value",
              "contextType": "variable",
              "element": "value",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            }
          ]
        },
        {
          "name": "itemAnswer",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'receiver.organization.streetAddressLine') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "organization",
              "contextType": "variable",
              "element": "address",
              "variable": "address",
              "listMode": [
                "share"
              ],
              "listRuleId": "orgAddress"
            }
          ],
          "rule": [
            {
              "name": "receiverOrganizationStreetAddressLine",
              "source": [
                {
                  "context": "item",
                  "element": "answer",
                  "variable": "answer"
                }
              ],
              "target": [
                {
                  "context": "address",
                  "contextType": "variable",
                  "element": "line",
                  "transform": "evaluate",
                  "parameter": [
                    {
                      "valueString": "%answer.value"
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "name": "receiverOrganizationPostalCode",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'receiver.organization.postalCode') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "organization",
              "contextType": "variable",
              "element": "address",
              "variable": "address",
              "listMode": [
                "share"
              ],
              "listRuleId": "orgAddress"
            },
            {
              "context": "address",
              "contextType": "variable",
              "element": "postalCode",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            }
          ]
        },
        {
          "name": "receiverOrganizationCity",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'receiver.organization.city') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "organization",
              "contextType": "variable",
              "element": "address",
              "variable": "address",
              "listMode": [
                "share"
              ],
              "listRuleId": "orgAddress"
            },
            {
              "context": "address",
              "contextType": "variable",
              "element": "city",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            }
          ]
        },
        {
          "name": "receiverOrganizationCountry",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'receiver.organization.country') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "organization",
              "contextType": "variable",
              "element": "address",
              "variable": "address",
              "listMode": [
                "share"
              ],
              "listRuleId": "orgAddress"
            },
            {
              "context": "address",
              "contextType": "variable",
              "element": "country",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "name": "ReceiverItems",
      "typeMode": "none",
      "input": [
        {
          "name": "src",
          "mode": "source"
        },
        {
          "name": "bundle",
          "type": "Bundle",
          "mode": "target"
        },
        {
          "name": "practitionerRole",
          "type": "PractitionerRole",
          "mode": "target"
        }
      ],
      "rule": [
        {
          "name": "item",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "(linkId.value = 'receiver.practitioner')"
            }
          ],
          "target": [
            {
              "context": "bundle",
              "contextType": "variable",
              "element": "entry",
              "variable": "e2"
            },
            {
              "context": "e2",
              "contextType": "variable",
              "element": "resource",
              "variable": "practitioner",
              "transform": "create",
              "parameter": [
                {
                  "valueString": "Practitioner"
                }
              ]
            },
            {
              "context": "practitioner",
              "contextType": "variable",
              "element": "id",
              "variable": "uuid2",
              "transform": "uuid"
            },
            {
              "context": "practitionerRole",
              "contextType": "variable",
              "element": "practitioner",
              "variable": "reference",
              "transform": "create",
              "parameter": [
                {
                  "valueString": "Reference"
                }
              ]
            },
            {
              "context": "reference",
              "contextType": "variable",
              "element": "reference",
              "transform": "append",
              "parameter": [
                {
                  "valueString": "urn:uuid:"
                },
                {
                  "valueId": "uuid2"
                }
              ]
            },
            {
              "context": "e2",
              "contextType": "variable",
              "element": "fullUrl",
              "transform": "append",
              "parameter": [
                {
                  "valueString": "urn:uuid:"
                },
                {
                  "valueId": "uuid2"
                }
              ]
            }
          ],
          "dependent": [
            {
              "name": "ReceiverPractitionerItems",
              "variable": [
                "item",
                "practitioner"
              ]
            }
          ]
        },
        {
          "name": "item",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "(linkId.value = 'receiver.organization')"
            }
          ],
          "target": [
            {
              "context": "bundle",
              "contextType": "variable",
              "element": "entry",
              "variable": "e3"
            },
            {
              "context": "e3",
              "contextType": "variable",
              "element": "resource",
              "variable": "organization",
              "transform": "create",
              "parameter": [
                {
                  "valueString": "Organization"
                }
              ]
            },
            {
              "context": "organization",
              "contextType": "variable",
              "element": "id",
              "variable": "uuid3",
              "transform": "uuid"
            },
            {
              "context": "practitionerRole",
              "contextType": "variable",
              "element": "organization",
              "variable": "reference",
              "transform": "create",
              "parameter": [
                {
                  "valueString": "Reference"
                }
              ]
            },
            {
              "context": "reference",
              "contextType": "variable",
              "element": "reference",
              "transform": "append",
              "parameter": [
                {
                  "valueString": "urn:uuid:"
                },
                {
                  "valueId": "uuid3"
                }
              ]
            },
            {
              "context": "e3",
              "contextType": "variable",
              "element": "fullUrl",
              "transform": "append",
              "parameter": [
                {
                  "valueString": "urn:uuid:"
                },
                {
                  "valueId": "uuid3"
                }
              ]
            }
          ],
          "dependent": [
            {
              "name": "ReceiverOrganizationItems",
              "variable": [
                "item",
                "organization"
              ]
            }
          ]
        }
      ]
    },
    {
      "name": "Consent",
      "typeMode": "none",
      "input": [
        {
          "name": "src",
          "mode": "source"
        },
        {
          "name": "bundle",
          "type": "Bundle",
          "mode": "target"
        },
        {
          "name": "composition",
          "type": "Composition",
          "mode": "target"
        }
      ],
      "rule": [
        {
          "name": "consentStatement",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'consent.statement') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "bundle",
              "contextType": "variable",
              "element": "entry",
              "variable": "e"
            },
            {
              "context": "e",
              "contextType": "variable",
              "element": "resource",
              "variable": "consent",
              "transform": "create",
              "parameter": [
                {
                  "valueString": "Consent"
                }
              ]
            },
            {
              "context": "consent",
              "contextType": "variable",
              "element": "status",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "active"
                }
              ]
            },
            {
              "context": "consent",
              "contextType": "variable",
              "element": "scope",
              "variable": "scope"
            },
            {
              "context": "scope",
              "contextType": "variable",
              "element": "coding",
              "variable": "coding"
            },
            {
              "context": "coding",
              "contextType": "variable",
              "element": "code",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "treatment"
                }
              ]
            },
            {
              "context": "coding",
              "contextType": "variable",
              "element": "system",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "http://terminology.hl7.org/CodeSystem/consentscope"
                }
              ]
            },
            {
              "context": "consent",
              "contextType": "variable",
              "element": "category",
              "variable": "category"
            },
            {
              "context": "category",
              "contextType": "variable",
              "element": "coding",
              "variable": "coding"
            },
            {
              "context": "coding",
              "contextType": "variable",
              "element": "code",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "59284-0"
                }
              ]
            },
            {
              "context": "coding",
              "contextType": "variable",
              "element": "system",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "http://loinc.org"
                }
              ]
            },
            {
              "context": "consent",
              "contextType": "variable",
              "element": "policyRule",
              "variable": "policyRule"
            },
            {
              "context": "policyRule",
              "contextType": "variable",
              "element": "coding",
              "variable": "coding"
            },
            {
              "context": "coding",
              "contextType": "variable",
              "element": "code",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "385432009"
                }
              ]
            },
            {
              "context": "coding",
              "contextType": "variable",
              "element": "system",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "http://snomed.info/sct"
                }
              ]
            },
            {
              "context": "consent",
              "contextType": "variable",
              "element": "id",
              "variable": "uuid",
              "transform": "uuid"
            },
            {
              "context": "e",
              "contextType": "variable",
              "element": "fullUrl",
              "transform": "append",
              "parameter": [
                {
                  "valueString": "urn:uuid:"
                },
                {
                  "valueId": "uuid"
                }
              ]
            },
            {
              "context": "composition",
              "contextType": "variable",
              "element": "extension",
              "variable": "ext"
            },
            {
              "context": "ext",
              "contextType": "variable",
              "element": "url",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "http://fhir.ch/ig/ch-orf/StructureDefinition/ch-orf-patientconsent"
                }
              ]
            },
            {
              "context": "ext",
              "contextType": "variable",
              "element": "value",
              "variable": "reference",
              "transform": "create",
              "parameter": [
                {
                  "valueString": "Reference"
                }
              ]
            },
            {
              "context": "consent",
              "contextType": "variable",
              "element": "extension",
              "variable": "extcode"
            },
            {
              "context": "extcode",
              "contextType": "variable",
              "element": "url",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "http://fhir.ch/ig/ch-orf/StructureDefinition/ch-orf-consentcode"
                }
              ]
            },
            {
              "context": "extcode",
              "contextType": "variable",
              "element": "value",
              "variable": "cc",
              "transform": "create",
              "parameter": [
                {
                  "valueString": "CodeableConcept"
                }
              ]
            },
            {
              "context": "cc",
              "contextType": "variable",
              "element": "coding",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            },
            {
              "context": "reference",
              "contextType": "variable",
              "element": "reference",
              "transform": "append",
              "parameter": [
                {
                  "valueString": "urn:uuid:"
                },
                {
                  "valueId": "uuid"
                }
              ]
            }
          ],
          "rule": [
            {
              "name": "itemAnswer",
              "source": [
                {
                  "context": "item",
                  "element": "answer",
                  "variable": "answer"
                }
              ],
              "rule": [
                {
                  "name": "consentStatementNote",
                  "source": [
                    {
                      "context": "answer",
                      "element": "item",
                      "variable": "item",
                      "condition": "((linkId.value = 'consent.statement.note') and answer.exists())"
                    }
                  ],
                  "target": [
                    {
                      "context": "consent",
                      "contextType": "variable",
                      "element": "extension",
                      "variable": "extnote"
                    },
                    {
                      "context": "extnote",
                      "contextType": "variable",
                      "element": "url",
                      "transform": "copy",
                      "parameter": [
                        {
                          "valueString": "http://fhir.ch/ig/ch-orf/StructureDefinition/ch-orf-consentnote"
                        }
                      ]
                    },
                    {
                      "context": "extnote",
                      "contextType": "variable",
                      "element": "value",
                      "transform": "evaluate",
                      "parameter": [
                        {
                          "valueString": "%item.answer.value"
                        }
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "name": "ReceiverInit",
      "typeMode": "none",
      "input": [
        {
          "name": "src",
          "mode": "source"
        },
        {
          "name": "bundle",
          "type": "Bundle",
          "mode": "target"
        },
        {
          "name": "composition",
          "type": "Composition",
          "mode": "target"
        },
        {
          "name": "serviceRequest",
          "type": "ServiceRequest",
          "mode": "target"
        }
      ],
      "rule": [
        {
          "name": "receiver",
          "source": [
            {
              "context": "src"
            }
          ],
          "target": [
            {
              "context": "bundle",
              "contextType": "variable",
              "element": "entry",
              "variable": "e"
            },
            {
              "context": "e",
              "contextType": "variable",
              "element": "resource",
              "variable": "practitionerRole",
              "transform": "create",
              "parameter": [
                {
                  "valueString": "PractitionerRole"
                }
              ]
            },
            {
              "context": "practitionerRole",
              "contextType": "variable",
              "element": "id",
              "variable": "uuid",
              "transform": "uuid"
            },
            {
              "context": "e",
              "contextType": "variable",
              "element": "fullUrl",
              "transform": "append",
              "parameter": [
                {
                  "valueString": "urn:uuid:"
                },
                {
                  "valueId": "uuid"
                }
              ]
            },
            {
              "context": "composition",
              "contextType": "variable",
              "element": "extension",
              "variable": "ext"
            },
            {
              "context": "ext",
              "contextType": "variable",
              "element": "url",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "http://fhir.ch/ig/ch-orf/StructureDefinition/ch-orf-receiver"
                }
              ]
            },
            {
              "context": "ext",
              "contextType": "variable",
              "element": "value",
              "variable": "reference",
              "transform": "create",
              "parameter": [
                {
                  "valueString": "Reference"
                }
              ]
            },
            {
              "context": "reference",
              "contextType": "variable",
              "element": "reference",
              "transform": "append",
              "parameter": [
                {
                  "valueString": "urn:uuid:"
                },
                {
                  "valueId": "uuid"
                }
              ]
            }
          ],
          "dependent": [
            {
              "name": "ReceiverItems",
              "variable": [
                "src",
                "bundle",
                "practitionerRole"
              ]
            }
          ]
        }
      ]
    },
    {
      "name": "InitiatorItems",
      "typeMode": "none",
      "input": [
        {
          "name": "src",
          "mode": "source"
        },
        {
          "name": "bundle",
          "type": "Bundle",
          "mode": "target"
        },
        {
          "name": "patient",
          "type": "Patient",
          "mode": "target"
        },
        {
          "name": "ext",
          "type": "Extension",
          "mode": "target"
        }
      ],
      "rule": [
        {
          "name": "Initiatorpersonalrelation",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'initiator.personalrelation') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "ext",
              "contextType": "variable",
              "element": "extension",
              "variable": "extension"
            },
            {
              "context": "extension",
              "contextType": "variable",
              "element": "url",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "ch-orf-personalrelation"
                }
              ]
            },
            {
              "context": "extension",
              "contextType": "variable",
              "element": "value",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            }
          ]
        },
        {
          "name": "Initiatorlegalrelation",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'initiator.legalrelation') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "ext",
              "contextType": "variable",
              "element": "extension",
              "variable": "extension"
            },
            {
              "context": "extension",
              "contextType": "variable",
              "element": "url",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "ch-orf-legalrelation"
                }
              ]
            },
            {
              "context": "extension",
              "contextType": "variable",
              "element": "value",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            }
          ]
        },
        {
          "name": "InitiatorPractitionerRoleItems",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "(linkId = 'initiator.practitionerRole')"
            }
          ],
          "target": [
            {
              "context": "bundle",
              "contextType": "variable",
              "element": "entry",
              "variable": "e4"
            },
            {
              "context": "e4",
              "contextType": "variable",
              "element": "resource",
              "variable": "practitionerrole",
              "transform": "create",
              "parameter": [
                {
                  "valueString": "PractitionerRole"
                }
              ]
            },
            {
              "context": "ext",
              "contextType": "variable",
              "element": "extension",
              "variable": "extension"
            },
            {
              "context": "practitionerrole",
              "contextType": "variable",
              "element": "id",
              "variable": "uuid4",
              "transform": "uuid"
            },
            {
              "context": "extension",
              "contextType": "variable",
              "element": "url",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "ch-orf-personorganization"
                }
              ]
            },
            {
              "context": "extension",
              "contextType": "variable",
              "element": "value",
              "variable": "reference",
              "transform": "create",
              "parameter": [
                {
                  "valueString": "Reference"
                }
              ]
            },
            {
              "context": "reference",
              "contextType": "variable",
              "element": "reference",
              "transform": "append",
              "parameter": [
                {
                  "valueString": "urn:uuid:"
                },
                {
                  "valueId": "uuid4"
                }
              ]
            },
            {
              "context": "e4",
              "contextType": "variable",
              "element": "fullUrl",
              "transform": "append",
              "parameter": [
                {
                  "valueString": "urn:uuid:"
                },
                {
                  "valueId": "uuid4"
                }
              ]
            }
          ],
          "rule": [
            {
              "name": "data",
              "source": [
                {
                  "context": "item"
                }
              ],
              "dependent": [
                {
                  "name": "InitiatorPractitionerRoleItems",
                  "variable": [
                    "item",
                    "bundle",
                    "practitionerrole"
                  ]
                }
              ]
            }
          ]
        },
        {
          "name": "InitiatorelatedPerson",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "(linkId = 'initiator.relatedPerson')"
            }
          ],
          "target": [
            {
              "context": "bundle",
              "contextType": "variable",
              "element": "entry",
              "variable": "e4"
            },
            {
              "context": "e4",
              "contextType": "variable",
              "element": "resource",
              "variable": "relatedPerson",
              "transform": "create",
              "parameter": [
                {
                  "valueString": "RelatedPerson"
                }
              ]
            },
            {
              "context": "ext",
              "contextType": "variable",
              "element": "extension",
              "variable": "extension"
            },
            {
              "context": "extension",
              "contextType": "variable",
              "element": "url",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "ch-orf-personorganization"
                }
              ]
            },
            {
              "context": "extension",
              "contextType": "variable",
              "element": "value",
              "variable": "reference",
              "transform": "create",
              "parameter": [
                {
                  "valueString": "Reference"
                }
              ]
            },
            {
              "context": "relatedPerson",
              "contextType": "variable",
              "element": "id",
              "variable": "uuid4",
              "transform": "uuid"
            },
            {
              "context": "reference",
              "contextType": "variable",
              "element": "reference",
              "transform": "append",
              "parameter": [
                {
                  "valueString": "urn:uuid:"
                },
                {
                  "valueId": "uuid4"
                }
              ]
            },
            {
              "context": "relatedPerson",
              "contextType": "variable",
              "element": "patient",
              "variable": "reference"
            },
            {
              "context": "reference",
              "contextType": "variable",
              "element": "reference",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "'urn:uuid:' + %patient.id"
                }
              ]
            },
            {
              "context": "e4",
              "contextType": "variable",
              "element": "fullUrl",
              "transform": "append",
              "parameter": [
                {
                  "valueString": "urn:uuid:"
                },
                {
                  "valueId": "uuid4"
                }
              ]
            }
          ],
          "rule": [
            {
              "name": "data",
              "source": [
                {
                  "context": "item"
                }
              ],
              "dependent": [
                {
                  "name": "InitiatorRelatedPersonItems",
                  "variable": [
                    "item",
                    "relatedPerson"
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "name": "InitiatorRelatedPersonItems",
      "typeMode": "none",
      "input": [
        {
          "name": "src",
          "mode": "source"
        },
        {
          "name": "relatedPerson",
          "type": "RelatedPerson",
          "mode": "target"
        }
      ],
      "rule": [
        {
          "name": "item",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'initiator.relatedPerson.familyName') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "relatedPerson",
              "contextType": "variable",
              "element": "name",
              "variable": "name",
              "listMode": [
                "share"
              ],
              "listRuleId": "name"
            },
            {
              "context": "name",
              "contextType": "variable",
              "element": "family",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            }
          ]
        },
        {
          "name": "item",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'initiator.relatedPerson.givenName') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "relatedPerson",
              "contextType": "variable",
              "element": "name",
              "variable": "name",
              "listMode": [
                "share"
              ],
              "listRuleId": "name"
            },
            {
              "context": "name",
              "contextType": "variable",
              "element": "given",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            }
          ]
        },
        {
          "name": "Phone",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'initiator.relatedPerson.phone') and answer.exists())"
            }
          ],
          "rule": [
            {
              "name": "InitiatorelatedPersonPhone",
              "source": [
                {
                  "context": "item",
                  "element": "answer",
                  "variable": "answer"
                }
              ],
              "target": [
                {
                  "context": "relatedPerson",
                  "contextType": "variable",
                  "element": "telecom",
                  "variable": "value"
                },
                {
                  "context": "value",
                  "contextType": "variable",
                  "element": "system",
                  "transform": "copy",
                  "parameter": [
                    {
                      "valueString": "phone"
                    }
                  ]
                },
                {
                  "context": "value",
                  "contextType": "variable",
                  "element": "value",
                  "transform": "evaluate",
                  "parameter": [
                    {
                      "valueString": "%answer.value"
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "name": "InitiatorelatedPersonEmail",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'initiator.relatedPerson.email') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "relatedPerson",
              "contextType": "variable",
              "element": "telecom",
              "variable": "value"
            },
            {
              "context": "value",
              "contextType": "variable",
              "element": "system",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "email"
                }
              ]
            },
            {
              "context": "value",
              "contextType": "variable",
              "element": "value",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            }
          ]
        },
        {
          "name": "itemAnswer",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'initiator.relatedPerson.streetAddressLine') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "relatedPerson",
              "contextType": "variable",
              "element": "address",
              "variable": "address",
              "listMode": [
                "share"
              ],
              "listRuleId": "orgAddress"
            }
          ],
          "rule": [
            {
              "name": "InitiatorelatedPersonStreetAddressLine",
              "source": [
                {
                  "context": "item",
                  "element": "answer",
                  "variable": "answer"
                }
              ],
              "target": [
                {
                  "context": "address",
                  "contextType": "variable",
                  "element": "line",
                  "transform": "evaluate",
                  "parameter": [
                    {
                      "valueString": "%answer.value"
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "name": "InitiatorelatedPersonPostalCode",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'initiator.relatedPerson.postalCode') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "relatedPerson",
              "contextType": "variable",
              "element": "address",
              "variable": "address",
              "listMode": [
                "share"
              ],
              "listRuleId": "orgAddress"
            },
            {
              "context": "address",
              "contextType": "variable",
              "element": "postalCode",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            }
          ]
        },
        {
          "name": "InitiatorelatedPersonCity",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'initiator.relatedPerson.city') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "relatedPerson",
              "contextType": "variable",
              "element": "address",
              "variable": "address",
              "listMode": [
                "share"
              ],
              "listRuleId": "orgAddress"
            },
            {
              "context": "address",
              "contextType": "variable",
              "element": "city",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            }
          ]
        },
        {
          "name": "InitiatorelatedPersonCountry",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'initiator.relatedPerson.country') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "relatedPerson",
              "contextType": "variable",
              "element": "address",
              "variable": "address",
              "listMode": [
                "share"
              ],
              "listRuleId": "orgAddress"
            },
            {
              "context": "address",
              "contextType": "variable",
              "element": "country",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "name": "InitiatorPractitionerRoleItems",
      "typeMode": "none",
      "input": [
        {
          "name": "src",
          "mode": "source"
        },
        {
          "name": "bundle",
          "type": "Bundle",
          "mode": "target"
        },
        {
          "name": "practitionerRole",
          "type": "PractitionerRole",
          "mode": "target"
        }
      ],
      "rule": [
        {
          "name": "item",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "(linkId.value = 'initiator.practitionerRole.practitioner')"
            }
          ],
          "target": [
            {
              "context": "bundle",
              "contextType": "variable",
              "element": "entry",
              "variable": "e2"
            },
            {
              "context": "e2",
              "contextType": "variable",
              "element": "resource",
              "variable": "practitioner",
              "transform": "create",
              "parameter": [
                {
                  "valueString": "Practitioner"
                }
              ]
            },
            {
              "context": "practitioner",
              "contextType": "variable",
              "element": "id",
              "variable": "uuid2",
              "transform": "uuid"
            },
            {
              "context": "practitionerRole",
              "contextType": "variable",
              "element": "practitioner",
              "variable": "reference",
              "transform": "create",
              "parameter": [
                {
                  "valueString": "Reference"
                }
              ]
            },
            {
              "context": "reference",
              "contextType": "variable",
              "element": "reference",
              "transform": "append",
              "parameter": [
                {
                  "valueString": "urn:uuid:"
                },
                {
                  "valueId": "uuid2"
                }
              ]
            },
            {
              "context": "e2",
              "contextType": "variable",
              "element": "fullUrl",
              "transform": "append",
              "parameter": [
                {
                  "valueString": "urn:uuid:"
                },
                {
                  "valueId": "uuid2"
                }
              ]
            }
          ],
          "dependent": [
            {
              "name": "InitiatorPractitionerItems",
              "variable": [
                "item",
                "practitioner"
              ]
            }
          ]
        },
        {
          "name": "item",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "(linkId.value = 'initiator.practitionerRole.organization')"
            }
          ],
          "target": [
            {
              "context": "bundle",
              "contextType": "variable",
              "element": "entry",
              "variable": "e3"
            },
            {
              "context": "e3",
              "contextType": "variable",
              "element": "resource",
              "variable": "organization",
              "transform": "create",
              "parameter": [
                {
                  "valueString": "Organization"
                }
              ]
            },
            {
              "context": "organization",
              "contextType": "variable",
              "element": "id",
              "variable": "uuid3",
              "transform": "uuid"
            },
            {
              "context": "practitionerRole",
              "contextType": "variable",
              "element": "organization",
              "variable": "reference",
              "transform": "create",
              "parameter": [
                {
                  "valueString": "Reference"
                }
              ]
            },
            {
              "context": "reference",
              "contextType": "variable",
              "element": "reference",
              "transform": "append",
              "parameter": [
                {
                  "valueString": "urn:uuid:"
                },
                {
                  "valueId": "uuid3"
                }
              ]
            },
            {
              "context": "e3",
              "contextType": "variable",
              "element": "fullUrl",
              "transform": "append",
              "parameter": [
                {
                  "valueString": "urn:uuid:"
                },
                {
                  "valueId": "uuid3"
                }
              ]
            }
          ],
          "dependent": [
            {
              "name": "InitiatorOrganizationItems",
              "variable": [
                "item",
                "organization"
              ]
            }
          ]
        }
      ]
    },
    {
      "name": "InitiatorPractitionerItems",
      "typeMode": "none",
      "input": [
        {
          "name": "src",
          "mode": "source"
        },
        {
          "name": "practitioner",
          "type": "Practitioner",
          "mode": "target"
        }
      ],
      "rule": [
        {
          "name": "item",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'initiator.practitionerRole.practitioner.familyName') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "practitioner",
              "contextType": "variable",
              "element": "name",
              "variable": "name",
              "listMode": [
                "share"
              ],
              "listRuleId": "practitionerName"
            },
            {
              "context": "name",
              "contextType": "variable",
              "element": "family",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            }
          ]
        },
        {
          "name": "item",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'initiator.practitionerRole.practitioner.givenName') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "practitioner",
              "contextType": "variable",
              "element": "name",
              "variable": "name",
              "listMode": [
                "share"
              ],
              "listRuleId": "practitionerName"
            },
            {
              "context": "name",
              "contextType": "variable",
              "element": "given",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            }
          ]
        },
        {
          "name": "InitiatorractitionerRolePractitionerTitle",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'initiator.practitionerRole.practitioner.title') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "practitioner",
              "contextType": "variable",
              "element": "name",
              "variable": "name",
              "listMode": [
                "share"
              ],
              "listRuleId": "practitionerName"
            },
            {
              "context": "name",
              "contextType": "variable",
              "element": "prefix",
              "variable": "prefix",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            },
            {
              "context": "prefix",
              "contextType": "variable",
              "element": "extension",
              "variable": "ext"
            },
            {
              "context": "ext",
              "contextType": "variable",
              "element": "url",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "http://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier"
                }
              ]
            },
            {
              "context": "ext",
              "contextType": "variable",
              "element": "value",
              "variable": "value",
              "transform": "create",
              "parameter": [
                {
                  "valueString": "code"
                }
              ]
            },
            {
              "context": "value",
              "contextType": "variable",
              "element": "value",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "AC"
                }
              ]
            }
          ]
        },
        {
          "name": "InitiatorractitionerRolePractitionerPhone",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'initiator.practitionerRole.practitioner.phone') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "practitioner",
              "contextType": "variable",
              "element": "telecom",
              "variable": "value"
            },
            {
              "context": "value",
              "contextType": "variable",
              "element": "system",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "phone"
                }
              ]
            },
            {
              "context": "value",
              "contextType": "variable",
              "element": "value",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            }
          ]
        },
        {
          "name": "InitiatorractitionerRolePractitionerEmail",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'initiator.practitionerRole.practitioner.email') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "practitioner",
              "contextType": "variable",
              "element": "telecom",
              "variable": "value"
            },
            {
              "context": "value",
              "contextType": "variable",
              "element": "system",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "email"
                }
              ]
            },
            {
              "context": "value",
              "contextType": "variable",
              "element": "value",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            }
          ]
        },
        {
          "name": "receiverPractitionerGln",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'initiator.practitionerRole.practitioner.gln') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "practitioner",
              "contextType": "variable",
              "element": "identifier",
              "variable": "value"
            },
            {
              "context": "value",
              "contextType": "variable",
              "element": "system",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "urn:oid:2.51.1.3"
                }
              ]
            },
            {
              "context": "value",
              "contextType": "variable",
              "element": "value",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            }
          ]
        },
        {
          "name": "receiverPractitionerZsr",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'initiator.practitionerRole.practitioner.zsr') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "practitioner",
              "contextType": "variable",
              "element": "identifier",
              "variable": "value"
            },
            {
              "context": "value",
              "contextType": "variable",
              "element": "system",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "urn:oid:2.16.756.5.30.1.123.100.2.1.1"
                }
              ]
            },
            {
              "context": "value",
              "contextType": "variable",
              "element": "value",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "name": "InitiatorOrganizationItems",
      "typeMode": "none",
      "input": [
        {
          "name": "src",
          "mode": "source"
        },
        {
          "name": "organization",
          "type": "Organization",
          "mode": "target"
        }
      ],
      "rule": [
        {
          "name": "item",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'initiator.practitionerRole.organization.name') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "organization",
              "contextType": "variable",
              "element": "name",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            }
          ]
        },
        {
          "name": "itemAnswer",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'initiator.practitionerRole.organization.streetAddressLine') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "organization",
              "contextType": "variable",
              "element": "address",
              "variable": "address",
              "listMode": [
                "share"
              ],
              "listRuleId": "orgAddress"
            }
          ],
          "rule": [
            {
              "name": "InitiatorractitionerRoleOrganizationStreetAddressLine",
              "source": [
                {
                  "context": "item",
                  "element": "answer",
                  "variable": "answer"
                }
              ],
              "target": [
                {
                  "context": "address",
                  "contextType": "variable",
                  "element": "line",
                  "transform": "evaluate",
                  "parameter": [
                    {
                      "valueString": "%answer.value"
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "name": "InitiatorractitionerRoleOrganizationPostalCode",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'initiator.practitionerRole.organization.postalCode') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "organization",
              "contextType": "variable",
              "element": "address",
              "variable": "address",
              "listMode": [
                "share"
              ],
              "listRuleId": "orgAddress"
            },
            {
              "context": "address",
              "contextType": "variable",
              "element": "postalCode",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            }
          ]
        },
        {
          "name": "InitiatorractitionerRoleOrganizationCity",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'initiator.practitionerRole.organization.city') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "organization",
              "contextType": "variable",
              "element": "address",
              "variable": "address",
              "listMode": [
                "share"
              ],
              "listRuleId": "orgAddress"
            },
            {
              "context": "address",
              "contextType": "variable",
              "element": "city",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            }
          ]
        },
        {
          "name": "InitiatorractitionerRoleOrganizationCountry",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'initiator.practitionerRole.organization.country') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "organization",
              "contextType": "variable",
              "element": "address",
              "variable": "address",
              "listMode": [
                "share"
              ],
              "listRuleId": "orgAddress"
            },
            {
              "context": "address",
              "contextType": "variable",
              "element": "country",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "name": "FamilyDoctorInit",
      "typeMode": "none",
      "input": [
        {
          "name": "src",
          "mode": "source"
        },
        {
          "name": "bundle",
          "type": "Bundle",
          "mode": "target"
        },
        {
          "name": "patient",
          "type": "Patient",
          "mode": "target"
        },
        {
          "name": "composition",
          "type": "Composition",
          "mode": "target"
        },
        {
          "name": "serviceRequest",
          "type": "ServiceRequest",
          "mode": "target"
        }
      ],
      "rule": [
        {
          "name": "FamilyDoctorInit",
          "source": [
            {
              "context": "src"
            }
          ],
          "target": [
            {
              "context": "bundle",
              "contextType": "variable",
              "element": "entry",
              "variable": "e4"
            },
            {
              "context": "e4",
              "contextType": "variable",
              "element": "resource",
              "variable": "practitionerRole",
              "transform": "create",
              "parameter": [
                {
                  "valueString": "PractitionerRole"
                }
              ]
            },
            {
              "context": "practitionerRole",
              "contextType": "variable",
              "element": "id",
              "variable": "uuid4",
              "transform": "uuid"
            },
            {
              "context": "patient",
              "contextType": "variable",
              "element": "generalPractitioner",
              "variable": "gp",
              "transform": "create",
              "parameter": [
                {
                  "valueString": "Reference"
                }
              ]
            },
            {
              "context": "gp",
              "contextType": "variable",
              "element": "reference",
              "transform": "append",
              "parameter": [
                {
                  "valueString": "urn:uuid:"
                },
                {
                  "valueId": "uuid4"
                }
              ]
            },
            {
              "context": "e4",
              "contextType": "variable",
              "element": "fullUrl",
              "transform": "append",
              "parameter": [
                {
                  "valueString": "urn:uuid:"
                },
                {
                  "valueId": "uuid4"
                }
              ]
            }
          ],
          "rule": [
            {
              "name": "item",
              "source": [
                {
                  "context": "src",
                  "element": "item",
                  "variable": "item",
                  "condition": "(linkId.value = 'familydoctor.practitioner')"
                }
              ],
              "target": [
                {
                  "context": "bundle",
                  "contextType": "variable",
                  "element": "entry",
                  "variable": "e2"
                },
                {
                  "context": "e2",
                  "contextType": "variable",
                  "element": "resource",
                  "variable": "practitioner",
                  "transform": "create",
                  "parameter": [
                    {
                      "valueString": "Practitioner"
                    }
                  ]
                },
                {
                  "context": "practitioner",
                  "contextType": "variable",
                  "element": "id",
                  "variable": "uuid2",
                  "transform": "uuid"
                },
                {
                  "context": "practitionerRole",
                  "contextType": "variable",
                  "element": "practitioner",
                  "variable": "reference",
                  "transform": "create",
                  "parameter": [
                    {
                      "valueString": "Reference"
                    }
                  ]
                },
                {
                  "context": "reference",
                  "contextType": "variable",
                  "element": "reference",
                  "transform": "append",
                  "parameter": [
                    {
                      "valueString": "urn:uuid:"
                    },
                    {
                      "valueId": "uuid2"
                    }
                  ]
                },
                {
                  "context": "e2",
                  "contextType": "variable",
                  "element": "fullUrl",
                  "transform": "append",
                  "parameter": [
                    {
                      "valueString": "urn:uuid:"
                    },
                    {
                      "valueId": "uuid2"
                    }
                  ]
                }
              ],
              "dependent": [
                {
                  "name": "FamilyDoctorPractitionerItems",
                  "variable": [
                    "item",
                    "practitioner"
                  ]
                }
              ]
            },
            {
              "name": "item",
              "source": [
                {
                  "context": "src",
                  "element": "item",
                  "variable": "item",
                  "condition": "(linkId.value = 'familydoctor.organization')"
                }
              ],
              "target": [
                {
                  "context": "bundle",
                  "contextType": "variable",
                  "element": "entry",
                  "variable": "e3"
                },
                {
                  "context": "e3",
                  "contextType": "variable",
                  "element": "resource",
                  "variable": "organization",
                  "transform": "create",
                  "parameter": [
                    {
                      "valueString": "Organization"
                    }
                  ]
                },
                {
                  "context": "organization",
                  "contextType": "variable",
                  "element": "id",
                  "variable": "uuid3",
                  "transform": "uuid"
                },
                {
                  "context": "practitionerRole",
                  "contextType": "variable",
                  "element": "organization",
                  "variable": "reference",
                  "transform": "create",
                  "parameter": [
                    {
                      "valueString": "Reference"
                    }
                  ]
                },
                {
                  "context": "reference",
                  "contextType": "variable",
                  "element": "reference",
                  "transform": "append",
                  "parameter": [
                    {
                      "valueString": "urn:uuid:"
                    },
                    {
                      "valueId": "uuid3"
                    }
                  ]
                },
                {
                  "context": "e3",
                  "contextType": "variable",
                  "element": "fullUrl",
                  "transform": "append",
                  "parameter": [
                    {
                      "valueString": "urn:uuid:"
                    },
                    {
                      "valueId": "uuid3"
                    }
                  ]
                }
              ],
              "dependent": [
                {
                  "name": "FamilyDoctorOrganizationItems",
                  "variable": [
                    "item",
                    "organization"
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "name": "FamilyDoctorPractitionerItems",
      "typeMode": "none",
      "input": [
        {
          "name": "src",
          "mode": "source"
        },
        {
          "name": "practitioner",
          "type": "Practitioner",
          "mode": "target"
        }
      ],
      "rule": [
        {
          "name": "item",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'familydoctor.practitioner.familyName') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "practitioner",
              "contextType": "variable",
              "element": "name",
              "variable": "name",
              "listMode": [
                "share"
              ],
              "listRuleId": "practitionerName"
            },
            {
              "context": "name",
              "contextType": "variable",
              "element": "family",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            }
          ]
        },
        {
          "name": "item",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'familydoctor.practitioner.givenName') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "practitioner",
              "contextType": "variable",
              "element": "name",
              "variable": "name",
              "listMode": [
                "share"
              ],
              "listRuleId": "practitionerName"
            },
            {
              "context": "name",
              "contextType": "variable",
              "element": "given",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            }
          ]
        },
        {
          "name": "familydoctorPractitionerGln",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'familydoctor.practitioner.gln') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "practitioner",
              "contextType": "variable",
              "element": "identifier",
              "variable": "value"
            },
            {
              "context": "value",
              "contextType": "variable",
              "element": "system",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "urn:oid:2.51.1.3"
                }
              ]
            },
            {
              "context": "value",
              "contextType": "variable",
              "element": "value",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            }
          ]
        },
        {
          "name": "familydoctorPractitionerZsr",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'familydoctor.practitioner.zsr') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "practitioner",
              "contextType": "variable",
              "element": "identifier",
              "variable": "value"
            },
            {
              "context": "value",
              "contextType": "variable",
              "element": "system",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "urn:oid:2.16.756.5.30.1.123.100.2.1.1"
                }
              ]
            },
            {
              "context": "value",
              "contextType": "variable",
              "element": "value",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            }
          ]
        },
        {
          "name": "familydoctorPractitionerTitle",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'familydoctor.practitioner.title') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "practitioner",
              "contextType": "variable",
              "element": "name",
              "variable": "name",
              "listMode": [
                "share"
              ],
              "listRuleId": "practitionerName"
            },
            {
              "context": "name",
              "contextType": "variable",
              "element": "prefix",
              "variable": "prefix",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            },
            {
              "context": "prefix",
              "contextType": "variable",
              "element": "extension",
              "variable": "ext"
            },
            {
              "context": "ext",
              "contextType": "variable",
              "element": "url",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "http://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier"
                }
              ]
            },
            {
              "context": "ext",
              "contextType": "variable",
              "element": "value",
              "variable": "value",
              "transform": "create",
              "parameter": [
                {
                  "valueString": "code"
                }
              ]
            },
            {
              "context": "value",
              "contextType": "variable",
              "element": "value",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "AC"
                }
              ]
            }
          ]
        },
        {
          "name": "familydoctorPractitionerPhone",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'familydoctor.practitioner.phone') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "practitioner",
              "contextType": "variable",
              "element": "telecom",
              "variable": "value"
            },
            {
              "context": "value",
              "contextType": "variable",
              "element": "system",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "phone"
                }
              ]
            },
            {
              "context": "value",
              "contextType": "variable",
              "element": "value",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            }
          ]
        },
        {
          "name": "familydoctorPractitionerEmail",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'familydoctor.practitioner.email') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "practitioner",
              "contextType": "variable",
              "element": "telecom",
              "variable": "value"
            },
            {
              "context": "value",
              "contextType": "variable",
              "element": "system",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "email"
                }
              ]
            },
            {
              "context": "value",
              "contextType": "variable",
              "element": "value",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "name": "FamilyDoctorOrganizationItems",
      "typeMode": "none",
      "input": [
        {
          "name": "src",
          "mode": "source"
        },
        {
          "name": "organization",
          "type": "Organization",
          "mode": "target"
        }
      ],
      "rule": [
        {
          "name": "item",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'familydoctor.organization.name') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "organization",
              "contextType": "variable",
              "element": "name",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            }
          ]
        },
        {
          "name": "itemAnswer",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'familydoctor.organization.streetAddressLine') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "organization",
              "contextType": "variable",
              "element": "address",
              "variable": "address",
              "listMode": [
                "share"
              ],
              "listRuleId": "orgAddress"
            }
          ],
          "rule": [
            {
              "name": "familydoctorOrganizationStreetAddressLine",
              "source": [
                {
                  "context": "item",
                  "element": "answer",
                  "variable": "answer"
                }
              ],
              "target": [
                {
                  "context": "address",
                  "contextType": "variable",
                  "element": "line",
                  "transform": "evaluate",
                  "parameter": [
                    {
                      "valueString": "%answer.value"
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "name": "familydoctorOrganizationPostalCode",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'familydoctor.organization.postalCode') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "organization",
              "contextType": "variable",
              "element": "address",
              "variable": "address",
              "listMode": [
                "share"
              ],
              "listRuleId": "orgAddress"
            },
            {
              "context": "address",
              "contextType": "variable",
              "element": "postalCode",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            }
          ]
        },
        {
          "name": "familydoctorOrganizationCity",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'familydoctor.organization.city') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "organization",
              "contextType": "variable",
              "element": "address",
              "variable": "address",
              "listMode": [
                "share"
              ],
              "listRuleId": "orgAddress"
            },
            {
              "context": "address",
              "contextType": "variable",
              "element": "city",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            }
          ]
        },
        {
          "name": "familydoctorOrganizationCountry",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'familydoctor.organization.country') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "organization",
              "contextType": "variable",
              "element": "address",
              "variable": "address",
              "listMode": [
                "share"
              ],
              "listRuleId": "orgAddress"
            },
            {
              "context": "address",
              "contextType": "variable",
              "element": "country",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            }
          ]
        },
        {
          "name": "familydoctorOrganizationGln",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'familydoctor.organization.gln') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "organization",
              "contextType": "variable",
              "element": "identifier",
              "variable": "value"
            },
            {
              "context": "value",
              "contextType": "variable",
              "element": "system",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "urn:oid:2.51.1.3"
                }
              ]
            },
            {
              "context": "value",
              "contextType": "variable",
              "element": "value",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            }
          ]
        },
        {
          "name": "familydoctorOrganizationZsr",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'familydoctor.organization.zsr') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "organization",
              "contextType": "variable",
              "element": "identifier",
              "variable": "value"
            },
            {
              "context": "value",
              "contextType": "variable",
              "element": "system",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "urn:oid:2.16.756.5.30.1.123.100.2.1.1"
                }
              ]
            },
            {
              "context": "value",
              "contextType": "variable",
              "element": "value",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "name": "AntecedentEpisodeOfCareInit",
      "typeMode": "none",
      "input": [
        {
          "name": "src",
          "mode": "source"
        },
        {
          "name": "bundle",
          "type": "Bundle",
          "mode": "target"
        },
        {
          "name": "patient",
          "type": "Patient",
          "mode": "target"
        },
        {
          "name": "composition",
          "type": "Composition",
          "mode": "target"
        }
      ],
      "rule": [
        {
          "name": "AntecedentEpisodeOfCareItems",
          "source": [
            {
              "context": "src"
            }
          ],
          "target": [
            {
              "context": "composition",
              "contextType": "variable",
              "element": "extension",
              "variable": "ext"
            },
            {
              "context": "ext",
              "contextType": "variable",
              "element": "url",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "http://fhir.ch/ig/ch-orf/StructureDefinition/ch-orf-antecedentepisodeofcare"
                }
              ]
            },
            {
              "context": "bundle",
              "contextType": "variable",
              "element": "entry",
              "variable": "e4"
            },
            {
              "context": "e4",
              "contextType": "variable",
              "element": "resource",
              "variable": "episodeofcare",
              "transform": "create",
              "parameter": [
                {
                  "valueString": "EpisodeOfCare"
                }
              ]
            },
            {
              "context": "episodeofcare",
              "contextType": "variable",
              "element": "id",
              "variable": "uuid4",
              "transform": "uuid"
            },
            {
              "context": "e4",
              "contextType": "variable",
              "element": "fullUrl",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "'urn:uuid:' + %uuid4"
                }
              ]
            },
            {
              "context": "episodeofcare",
              "contextType": "variable",
              "element": "status",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "finished"
                }
              ]
            },
            {
              "context": "ext",
              "contextType": "variable",
              "element": "value",
              "variable": "ref",
              "transform": "create",
              "parameter": [
                {
                  "valueString": "Reference"
                }
              ]
            },
            {
              "context": "ref",
              "contextType": "variable",
              "element": "reference",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "'urn:uuid:' + %episodeofcare.id"
                }
              ]
            }
          ],
          "dependent": [
            {
              "name": "AntecedentEpisodeOfCareItems",
              "variable": [
                "src",
                "bundle",
                "patient",
                "episodeofcare"
              ]
            }
          ]
        }
      ]
    },
    {
      "name": "AntecedentEpisodeOfCareItems",
      "typeMode": "none",
      "input": [
        {
          "name": "src",
          "mode": "source"
        },
        {
          "name": "bundle",
          "type": "Bundle",
          "mode": "target"
        },
        {
          "name": "tgt",
          "type": "Patient",
          "mode": "target"
        },
        {
          "name": "episodeofcare",
          "type": "EpisodeOfCare",
          "mode": "target"
        }
      ],
      "rule": [
        {
          "name": "antecedentEpisodeOfCareRequestedPeriodStart",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'antecedentEpisodeOfCare.start') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "episodeofcare",
              "contextType": "variable",
              "element": "statusHistory",
              "variable": "statusHistory"
            },
            {
              "context": "statusHistory",
              "contextType": "variable",
              "element": "status",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "finished"
                }
              ]
            },
            {
              "context": "statusHistory",
              "contextType": "variable",
              "element": "period",
              "variable": "period"
            },
            {
              "context": "period",
              "contextType": "variable",
              "element": "start",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            },
            {
              "context": "period",
              "contextType": "variable",
              "element": "end",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            }
          ],
          "rule": [
            {
              "name": "antecedentEpisodeOfCareEndNotSameAsStart",
              "source": [
                {
                  "context": "src",
                  "element": "item",
                  "variable": "iteme",
                  "condition": "((linkId.value = 'antecedentEpisodeOfCare.end') and answer.exists())"
                }
              ],
              "target": [
                {
                  "context": "period",
                  "contextType": "variable",
                  "element": "end",
                  "transform": "evaluate",
                  "parameter": [
                    {
                      "valueString": "%iteme.answer.value"
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "name": "antecedentEpisodeOfCareManagingOrganization",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "(linkId.value = 'antecedentEpisodeOfCare.managingOrganization')"
            }
          ],
          "target": [
            {
              "context": "bundle",
              "contextType": "variable",
              "element": "entry",
              "variable": "e3"
            },
            {
              "context": "e3",
              "contextType": "variable",
              "element": "resource",
              "variable": "organization",
              "transform": "create",
              "parameter": [
                {
                  "valueString": "Organization"
                }
              ]
            },
            {
              "context": "organization",
              "contextType": "variable",
              "element": "id",
              "variable": "uuid3",
              "transform": "uuid"
            },
            {
              "context": "e3",
              "contextType": "variable",
              "element": "fullUrl",
              "transform": "append",
              "parameter": [
                {
                  "valueString": "urn:uuid:"
                },
                {
                  "valueId": "uuid3"
                }
              ]
            },
            {
              "context": "episodeofcare",
              "contextType": "variable",
              "element": "patient",
              "variable": "reference",
              "transform": "create",
              "parameter": [
                {
                  "valueString": "Reference"
                }
              ]
            },
            {
              "context": "reference",
              "contextType": "variable",
              "element": "reference",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "'urn:uuid:' + %tgt.id"
                }
              ]
            },
            {
              "context": "episodeofcare",
              "contextType": "variable",
              "element": "managingOrganization",
              "variable": "reference",
              "transform": "create",
              "parameter": [
                {
                  "valueString": "Reference"
                }
              ]
            },
            {
              "context": "reference",
              "contextType": "variable",
              "element": "reference",
              "transform": "append",
              "parameter": [
                {
                  "valueString": "urn:uuid:"
                },
                {
                  "valueId": "uuid3"
                }
              ]
            }
          ],
          "dependent": [
            {
              "name": "AntecedentEpisodeOfCareOrganizationItems",
              "variable": [
                "item",
                "organization"
              ]
            }
          ]
        }
      ]
    },
    {
      "name": "AntecedentEpisodeOfCareOrganizationItems",
      "typeMode": "none",
      "input": [
        {
          "name": "src",
          "mode": "source"
        },
        {
          "name": "organization",
          "type": "Organization",
          "mode": "target"
        }
      ],
      "rule": [
        {
          "name": "item",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'antecedentEpisodeOfCare.managingOrganization.name') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "organization",
              "contextType": "variable",
              "element": "name",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            }
          ]
        },
        {
          "name": "itemAnswer",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'antecedentEpisodeOfCare.managingOrganization.streetAddressLine') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "organization",
              "contextType": "variable",
              "element": "address",
              "variable": "address",
              "listMode": [
                "share"
              ],
              "listRuleId": "orgAddress"
            }
          ],
          "rule": [
            {
              "name": "antecedentEpisodeOfCareorganizationStreetAddressLine",
              "source": [
                {
                  "context": "item",
                  "element": "answer",
                  "variable": "answer"
                }
              ],
              "target": [
                {
                  "context": "address",
                  "contextType": "variable",
                  "element": "line",
                  "transform": "evaluate",
                  "parameter": [
                    {
                      "valueString": "%answer.value"
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "name": "senderAuthorOrganizationPostalCode",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'antecedentEpisodeOfCare.managingOrganization.postalCode') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "organization",
              "contextType": "variable",
              "element": "address",
              "variable": "address",
              "listMode": [
                "share"
              ],
              "listRuleId": "orgAddress"
            },
            {
              "context": "address",
              "contextType": "variable",
              "element": "postalCode",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            }
          ]
        },
        {
          "name": "senderAuthorOrganizationCity",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'antecedentEpisodeOfCare.managingOrganization.city') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "organization",
              "contextType": "variable",
              "element": "address",
              "variable": "address",
              "listMode": [
                "share"
              ],
              "listRuleId": "orgAddress"
            },
            {
              "context": "address",
              "contextType": "variable",
              "element": "city",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            }
          ]
        },
        {
          "name": "senderAuthorOrganizationCountry",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'antecedentEpisodeOfCare.managingOrganization.country') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "organization",
              "contextType": "variable",
              "element": "address",
              "variable": "address",
              "listMode": [
                "share"
              ],
              "listRuleId": "orgAddress"
            },
            {
              "context": "address",
              "contextType": "variable",
              "element": "country",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "name": "InitiatorInit",
      "typeMode": "none",
      "input": [
        {
          "name": "src",
          "mode": "source"
        },
        {
          "name": "bundle",
          "type": "Bundle",
          "mode": "target"
        },
        {
          "name": "patient",
          "type": "Patient",
          "mode": "target"
        },
        {
          "name": "composition",
          "type": "Composition",
          "mode": "target"
        },
        {
          "name": "serviceRequest",
          "type": "ServiceRequest",
          "mode": "target"
        }
      ],
      "rule": [
        {
          "name": "receiver",
          "source": [
            {
              "context": "src"
            }
          ],
          "target": [
            {
              "context": "composition",
              "contextType": "variable",
              "element": "extension",
              "variable": "ext"
            },
            {
              "context": "ext",
              "contextType": "variable",
              "element": "url",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "http://fhir.ch/ig/ch-orf/StructureDefinition/ch-orf-initiator"
                }
              ]
            }
          ],
          "dependent": [
            {
              "name": "InitiatorItems",
              "variable": [
                "src",
                "bundle",
                "patient",
                "ext"
              ]
            }
          ]
        }
      ]
    },
    {
      "name": "PatientItems",
      "typeMode": "none",
      "input": [
        {
          "name": "src",
          "mode": "source"
        },
        {
          "name": "bundle",
          "type": "Bundle",
          "mode": "target"
        },
        {
          "name": "tgt",
          "type": "Patient",
          "mode": "target"
        },
        {
          "name": "composition",
          "type": "Composition",
          "mode": "target"
        },
        {
          "name": "serviceRequest",
          "type": "ServiceRequest",
          "mode": "target"
        }
      ],
      "rule": [
        {
          "name": "grpfamily",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "grp",
              "condition": "linkId = 'familydoctor'"
            }
          ],
          "dependent": [
            {
              "name": "FamilyDoctorInit",
              "variable": [
                "grp",
                "bundle",
                "tgt",
                "composition",
                "serviceRequest"
              ]
            }
          ]
        },
        {
          "name": "item",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item"
            }
          ],
          "dependent": [
            {
              "name": "PatientItems",
              "variable": [
                "item",
                "bundle",
                "tgt",
                "composition",
                "serviceRequest"
              ]
            }
          ]
        },
        {
          "name": "item",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'patient.familyName') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "contextType": "variable",
              "element": "name",
              "variable": "name",
              "listMode": [
                "share"
              ],
              "listRuleId": "patientName"
            },
            {
              "context": "name",
              "contextType": "variable",
              "element": "family",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            }
          ]
        },
        {
          "name": "item",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'patient.maidenName') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "contextType": "variable",
              "element": "name",
              "variable": "name"
            },
            {
              "context": "name",
              "contextType": "variable",
              "element": "use",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "maiden"
                }
              ]
            },
            {
              "context": "name",
              "contextType": "variable",
              "element": "family",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            }
          ]
        },
        {
          "name": "item",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'patient.givenName') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "contextType": "variable",
              "element": "name",
              "variable": "name",
              "listMode": [
                "share"
              ],
              "listRuleId": "patientName"
            },
            {
              "context": "name",
              "contextType": "variable",
              "element": "given",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            }
          ]
        },
        {
          "name": "PatientLocalPid",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'patient.localPid') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "contextType": "variable",
              "element": "identifier",
              "variable": "value",
              "listMode": [
                "share"
              ],
              "listRuleId": "localpid"
            },
            {
              "context": "value",
              "contextType": "variable",
              "element": "type",
              "variable": "type"
            },
            {
              "context": "type",
              "contextType": "variable",
              "element": "coding",
              "variable": "coding"
            },
            {
              "context": "coding",
              "contextType": "variable",
              "element": "system",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "http://terminology.hl7.org/CodeSystem/v2-0203"
                }
              ]
            },
            {
              "context": "coding",
              "contextType": "variable",
              "element": "code",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "MR"
                }
              ]
            },
            {
              "context": "value",
              "contextType": "variable",
              "element": "value",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            }
          ]
        },
        {
          "name": "PatientLocalPidDomain",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'patient.localPidDomain') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "contextType": "variable",
              "element": "identifier",
              "variable": "value",
              "listMode": [
                "share"
              ],
              "listRuleId": "localpid"
            },
            {
              "context": "value",
              "contextType": "variable",
              "element": "system",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            }
          ]
        },
        {
          "name": "item",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'patient.birthDate') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "contextType": "variable",
              "element": "birthDate",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            }
          ]
        },
        {
          "name": "item",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'patient.gender') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "contextType": "variable",
              "element": "gender",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value.code"
                }
              ]
            }
          ]
        },
        {
          "name": "patientMaritalStatus",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'patient.maritalStatus') and answer.exists())"
            }
          ],
          "rule": [
            {
              "name": "answer",
              "source": [
                {
                  "context": "item",
                  "element": "answer",
                  "variable": "answer"
                }
              ],
              "rule": [
                {
                  "name": "maritalStatus",
                  "source": [
                    {
                      "context": "answer",
                      "type": "Coding",
                      "element": "value",
                      "variable": "coding"
                    }
                  ],
                  "target": [
                    {
                      "context": "tgt",
                      "contextType": "variable",
                      "element": "maritalStatus",
                      "variable": "maritalStatus"
                    },
                    {
                      "context": "maritalStatus",
                      "contextType": "variable",
                      "element": "coding",
                      "transform": "copy",
                      "parameter": [
                        {
                          "valueId": "coding"
                        }
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "name": "PatientPhone",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'patient.phone') and answer.exists())"
            }
          ],
          "rule": [
            {
              "name": "PatientPhone",
              "source": [
                {
                  "context": "item",
                  "element": "answer",
                  "variable": "answer"
                }
              ],
              "target": [
                {
                  "context": "tgt",
                  "contextType": "variable",
                  "element": "telecom",
                  "variable": "value"
                },
                {
                  "context": "value",
                  "contextType": "variable",
                  "element": "system",
                  "transform": "copy",
                  "parameter": [
                    {
                      "valueString": "phone"
                    }
                  ]
                },
                {
                  "context": "value",
                  "contextType": "variable",
                  "element": "value",
                  "transform": "evaluate",
                  "parameter": [
                    {
                      "valueString": "%answer.value"
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "name": "PatientEmail",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'patient.email') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "contextType": "variable",
              "element": "telecom",
              "variable": "value"
            },
            {
              "context": "value",
              "contextType": "variable",
              "element": "system",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "email"
                }
              ]
            },
            {
              "context": "value",
              "contextType": "variable",
              "element": "value",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            }
          ]
        },
        {
          "name": "itemAnswer",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'patient.streetAddressLine') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "contextType": "variable",
              "element": "address",
              "variable": "address",
              "listMode": [
                "share"
              ],
              "listRuleId": "orgAddress"
            }
          ],
          "rule": [
            {
              "name": "PatientStreetAddressLine",
              "source": [
                {
                  "context": "item",
                  "element": "answer",
                  "variable": "answer"
                }
              ],
              "target": [
                {
                  "context": "address",
                  "contextType": "variable",
                  "element": "line",
                  "transform": "evaluate",
                  "parameter": [
                    {
                      "valueString": "%answer.value"
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "name": "PatientPostalCode",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'patient.postalCode') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "contextType": "variable",
              "element": "address",
              "variable": "address",
              "listMode": [
                "share"
              ],
              "listRuleId": "orgAddress"
            },
            {
              "context": "address",
              "contextType": "variable",
              "element": "postalCode",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            }
          ]
        },
        {
          "name": "PatientCity",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'patient.city') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "contextType": "variable",
              "element": "address",
              "variable": "address",
              "listMode": [
                "share"
              ],
              "listRuleId": "orgAddress"
            },
            {
              "context": "address",
              "contextType": "variable",
              "element": "city",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            }
          ]
        },
        {
          "name": "PatientCountry",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'patient.country') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "contextType": "variable",
              "element": "address",
              "variable": "address",
              "listMode": [
                "share"
              ],
              "listRuleId": "orgAddress"
            },
            {
              "context": "address",
              "contextType": "variable",
              "element": "country",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            }
          ]
        },
        {
          "name": "PatientLanguageOfCorrespondence",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'patient.languageOfCorrespondence') and answer.exists())"
            }
          ],
          "rule": [
            {
              "name": "answer",
              "source": [
                {
                  "context": "item",
                  "element": "answer",
                  "variable": "answer"
                }
              ],
              "rule": [
                {
                  "name": "languageOfCorrespondence",
                  "source": [
                    {
                      "context": "answer",
                      "type": "Coding",
                      "element": "value",
                      "variable": "coding"
                    }
                  ],
                  "target": [
                    {
                      "context": "tgt",
                      "contextType": "variable",
                      "element": "communication",
                      "variable": "communication"
                    },
                    {
                      "context": "communication",
                      "contextType": "variable",
                      "element": "preferred",
                      "transform": "copy",
                      "parameter": [
                        {
                          "valueBoolean": true
                        }
                      ]
                    },
                    {
                      "context": "communication",
                      "contextType": "variable",
                      "element": "language",
                      "variable": "language"
                    },
                    {
                      "context": "language",
                      "contextType": "variable",
                      "element": "coding",
                      "transform": "copy",
                      "parameter": [
                        {
                          "valueId": "coding"
                        }
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "name": "contact",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "(linkId.value = 'patient.contactperson')"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "contextType": "variable",
              "element": "contact",
              "variable": "contact"
            }
          ],
          "rule": [
            {
              "name": "item",
              "source": [
                {
                  "context": "item",
                  "element": "item",
                  "variable": "item",
                  "condition": "((linkId.value = 'patient.contactperson.familyName') and answer.exists())"
                }
              ],
              "target": [
                {
                  "context": "contact",
                  "contextType": "variable",
                  "element": "name",
                  "variable": "name",
                  "listMode": [
                    "share"
                  ],
                  "listRuleId": "contactName"
                },
                {
                  "context": "name",
                  "contextType": "variable",
                  "element": "family",
                  "transform": "evaluate",
                  "parameter": [
                    {
                      "valueString": "%item.answer.value"
                    }
                  ]
                }
              ]
            },
            {
              "name": "item",
              "source": [
                {
                  "context": "item",
                  "element": "item",
                  "variable": "item",
                  "condition": "((linkId.value = 'patient.contactperson.givenName') and answer.exists())"
                }
              ],
              "target": [
                {
                  "context": "contact",
                  "contextType": "variable",
                  "element": "name",
                  "variable": "name",
                  "listMode": [
                    "share"
                  ],
                  "listRuleId": "contactName"
                },
                {
                  "context": "name",
                  "contextType": "variable",
                  "element": "given",
                  "transform": "evaluate",
                  "parameter": [
                    {
                      "valueString": "%item.answer.value"
                    }
                  ]
                }
              ]
            },
            {
              "name": "PatientContactpersonPhone",
              "source": [
                {
                  "context": "src",
                  "element": "item",
                  "variable": "item",
                  "condition": "((linkId.value = 'patient.contactperson.phone') and answer.exists())"
                }
              ],
              "rule": [
                {
                  "name": "PatientPhone",
                  "source": [
                    {
                      "context": "item",
                      "element": "answer",
                      "variable": "answer"
                    }
                  ],
                  "target": [
                    {
                      "context": "tgt",
                      "contextType": "variable",
                      "element": "telecom",
                      "variable": "value"
                    },
                    {
                      "context": "value",
                      "contextType": "variable",
                      "element": "system",
                      "transform": "copy",
                      "parameter": [
                        {
                          "valueString": "phone"
                        }
                      ]
                    },
                    {
                      "context": "value",
                      "contextType": "variable",
                      "element": "value",
                      "transform": "evaluate",
                      "parameter": [
                        {
                          "valueString": "%answer.value"
                        }
                      ]
                    }
                  ]
                }
              ]
            },
            {
              "name": "PatientEmail",
              "source": [
                {
                  "context": "item",
                  "element": "item",
                  "variable": "item",
                  "condition": "((linkId.value = 'patient.contactperson.email') and answer.exists())"
                }
              ],
              "target": [
                {
                  "context": "contact",
                  "contextType": "variable",
                  "element": "telecom",
                  "variable": "value"
                },
                {
                  "context": "value",
                  "contextType": "variable",
                  "element": "system",
                  "transform": "copy",
                  "parameter": [
                    {
                      "valueString": "email"
                    }
                  ]
                },
                {
                  "context": "value",
                  "contextType": "variable",
                  "element": "value",
                  "transform": "evaluate",
                  "parameter": [
                    {
                      "valueString": "%item.answer.value"
                    }
                  ]
                }
              ]
            },
            {
              "name": "PatientContactpersonRelationship",
              "source": [
                {
                  "context": "item",
                  "element": "item",
                  "variable": "item",
                  "condition": "((linkId.value = 'patient.contactperson.relationship') and answer.exists())"
                }
              ],
              "target": [
                {
                  "context": "contact",
                  "contextType": "variable",
                  "element": "relationship",
                  "variable": "relationship"
                },
                {
                  "context": "relationship",
                  "contextType": "variable",
                  "element": "text",
                  "transform": "evaluate",
                  "parameter": [
                    {
                      "valueString": "%item.answer.value"
                    }
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "name": "RequestedEncounterItems",
      "typeMode": "none",
      "input": [
        {
          "name": "src",
          "mode": "source"
        },
        {
          "name": "bundle",
          "type": "Bundle",
          "mode": "target"
        },
        {
          "name": "patient",
          "type": "Patient",
          "mode": "target"
        },
        {
          "name": "serviceRequest",
          "type": "ServiceRequest",
          "mode": "target"
        }
      ],
      "rule": [
        {
          "name": "RequestedEncounterItems",
          "source": [
            {
              "context": "src"
            }
          ],
          "target": [
            {
              "context": "bundle",
              "contextType": "variable",
              "element": "entry",
              "variable": "e4"
            },
            {
              "context": "e4",
              "contextType": "variable",
              "element": "resource",
              "variable": "encounter",
              "transform": "create",
              "parameter": [
                {
                  "valueString": "Encounter"
                }
              ]
            },
            {
              "context": "encounter",
              "contextType": "variable",
              "element": "id",
              "variable": "uuid4",
              "transform": "uuid"
            },
            {
              "context": "e4",
              "contextType": "variable",
              "element": "fullUrl",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "'urn:uuid:' + %uuid4"
                }
              ]
            },
            {
              "context": "encounter",
              "contextType": "variable",
              "element": "status",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "planned"
                }
              ]
            },
            {
              "context": "serviceRequest",
              "contextType": "variable",
              "element": "extension",
              "variable": "extension"
            },
            {
              "context": "encounter",
              "contextType": "variable",
              "element": "subject",
              "variable": "subject",
              "transform": "create",
              "parameter": [
                {
                  "valueString": "Reference"
                }
              ]
            },
            {
              "context": "subject",
              "contextType": "variable",
              "element": "reference",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "'urn:uuid:' + %patient.id"
                }
              ]
            },
            {
              "context": "extension",
              "contextType": "variable",
              "element": "url",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "http://fhir.ch/ig/ch-orf/StructureDefinition/ch-orf-requestedencounterdetails"
                }
              ]
            },
            {
              "context": "extension",
              "contextType": "variable",
              "element": "value",
              "variable": "reference",
              "transform": "create",
              "parameter": [
                {
                  "valueString": "Reference"
                }
              ]
            },
            {
              "context": "reference",
              "contextType": "variable",
              "element": "reference",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "'urn:uuid:' + %uuid4"
                }
              ]
            }
          ],
          "rule": [
            {
              "name": "requestedEncounterClass",
              "source": [
                {
                  "context": "src",
                  "element": "item",
                  "variable": "item",
                  "condition": "((linkId.value = 'requestedEncounter.class') and answer.exists())"
                }
              ],
              "target": [
                {
                  "context": "encounter",
                  "contextType": "variable",
                  "element": "class",
                  "transform": "evaluate",
                  "parameter": [
                    {
                      "valueString": "%item.answer.value"
                    }
                  ]
                }
              ]
            },
            {
              "name": "requestedEncounterDesiredAccommodation",
              "source": [
                {
                  "context": "src",
                  "element": "item",
                  "variable": "item",
                  "condition": "((linkId.value = 'requestedEncounter.desiredAccommodation') and answer.exists())"
                }
              ],
              "target": [
                {
                  "context": "encounter",
                  "contextType": "variable",
                  "element": "extension",
                  "variable": "extension"
                },
                {
                  "context": "extension",
                  "contextType": "variable",
                  "element": "url",
                  "transform": "copy",
                  "parameter": [
                    {
                      "valueString": "http://fhir.ch/ig/ch-orf/StructureDefinition/ch-orf-desiredaccommodation"
                    }
                  ]
                },
                {
                  "context": "extension",
                  "contextType": "variable",
                  "element": "value",
                  "transform": "evaluate",
                  "parameter": [
                    {
                      "valueString": "%item.answer.value"
                    }
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "name": "Coverage",
      "typeMode": "none",
      "input": [
        {
          "name": "src",
          "mode": "source"
        },
        {
          "name": "bundle",
          "type": "Bundle",
          "mode": "target"
        },
        {
          "name": "patient",
          "type": "Patient",
          "mode": "target"
        },
        {
          "name": "serviceRequest",
          "type": "ServiceRequest",
          "mode": "target"
        }
      ],
      "rule": [
        {
          "name": "coverageBeneficiary",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "where(linkId.value = 'coverage.beneficiary')"
            }
          ],
          "rule": [
            {
              "name": "coverageBeneficiaryAhvn13",
              "source": [
                {
                  "context": "item",
                  "element": "item",
                  "variable": "item",
                  "condition": "((linkId.value = 'coverage.beneficiary.ahvn13') and answer.exists())"
                }
              ],
              "target": [
                {
                  "context": "patient",
                  "contextType": "variable",
                  "element": "identifier",
                  "variable": "identifier"
                },
                {
                  "context": "identifier",
                  "contextType": "variable",
                  "element": "system",
                  "transform": "copy",
                  "parameter": [
                    {
                      "valueString": "urn:oid:2.16.756.5.32"
                    }
                  ]
                },
                {
                  "context": "identifier",
                  "contextType": "variable",
                  "element": "value",
                  "transform": "evaluate",
                  "parameter": [
                    {
                      "valueString": "%item.answer.value"
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "name": "coveragekvg",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "where(linkId.value = 'coverage.kvg')"
            }
          ],
          "target": [
            {
              "context": "bundle",
              "contextType": "variable",
              "element": "entry",
              "variable": "e4"
            },
            {
              "context": "e4",
              "contextType": "variable",
              "element": "resource",
              "variable": "coverage",
              "transform": "create",
              "parameter": [
                {
                  "valueString": "Coverage"
                }
              ]
            },
            {
              "context": "coverage",
              "contextType": "variable",
              "element": "id",
              "variable": "uuid4",
              "transform": "uuid"
            },
            {
              "context": "e4",
              "contextType": "variable",
              "element": "fullUrl",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "'urn:uuid:' + %uuid4"
                }
              ]
            },
            {
              "context": "serviceRequest",
              "contextType": "variable",
              "element": "insurance",
              "variable": "insurance"
            },
            {
              "context": "insurance",
              "contextType": "variable",
              "element": "reference",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "'urn:uuid:' + %uuid4"
                }
              ]
            },
            {
              "context": "coverage",
              "contextType": "variable",
              "element": "status",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "active"
                }
              ]
            },
            {
              "context": "coverage",
              "contextType": "variable",
              "element": "beneficiary",
              "variable": "subject",
              "transform": "create",
              "parameter": [
                {
                  "valueString": "Reference"
                }
              ]
            },
            {
              "context": "subject",
              "contextType": "variable",
              "element": "reference",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "'urn:uuid:' + %patient.id"
                }
              ]
            },
            {
              "context": "coverage",
              "contextType": "variable",
              "element": "type",
              "variable": "type"
            },
            {
              "context": "type",
              "contextType": "variable",
              "element": "coding",
              "variable": "coding"
            },
            {
              "context": "coding",
              "contextType": "variable",
              "element": "system",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "http://fhir.ch/ig/ch-core/CodeSystem/bfs-medstats-25-mainguarantor"
                }
              ]
            },
            {
              "context": "coding",
              "contextType": "variable",
              "element": "code",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "1"
                }
              ]
            }
          ],
          "rule": [
            {
              "name": "coverageKvgName",
              "source": [
                {
                  "context": "item",
                  "element": "item",
                  "variable": "item",
                  "condition": "((linkId.value = 'coverage.kvg.name') and answer.exists())"
                }
              ],
              "target": [
                {
                  "context": "coverage",
                  "contextType": "variable",
                  "element": "payor",
                  "variable": "payor"
                },
                {
                  "context": "payor",
                  "contextType": "variable",
                  "element": "reference",
                  "variable": "refcontained"
                },
                {
                  "context": "refcontained",
                  "contextType": "variable",
                  "element": "value",
                  "transform": "copy",
                  "parameter": [
                    {
                      "valueString": "#org"
                    }
                  ]
                },
                {
                  "context": "coverage",
                  "contextType": "variable",
                  "element": "contained",
                  "variable": "organization",
                  "transform": "create",
                  "parameter": [
                    {
                      "valueString": "Organization"
                    }
                  ]
                },
                {
                  "context": "organization",
                  "contextType": "variable",
                  "element": "id",
                  "transform": "copy",
                  "parameter": [
                    {
                      "valueString": "org"
                    }
                  ]
                },
                {
                  "context": "organization",
                  "contextType": "variable",
                  "element": "name",
                  "transform": "evaluate",
                  "parameter": [
                    {
                      "valueString": "%item.answer.value"
                    }
                  ]
                }
              ]
            },
            {
              "name": "coverageKvgInsuranceCardNumber",
              "source": [
                {
                  "context": "item",
                  "element": "item",
                  "variable": "item",
                  "condition": "((linkId.value = 'coverage.kvg.insuranceCardNumber') and answer.exists())"
                }
              ],
              "target": [
                {
                  "context": "coverage",
                  "contextType": "variable",
                  "element": "identifier",
                  "variable": "identifier"
                },
                {
                  "context": "identifier",
                  "contextType": "variable",
                  "element": "type",
                  "variable": "typeid"
                },
                {
                  "context": "typeid",
                  "contextType": "variable",
                  "element": "coding",
                  "variable": "coding"
                },
                {
                  "context": "coding",
                  "contextType": "variable",
                  "element": "system",
                  "transform": "copy",
                  "parameter": [
                    {
                      "valueString": "http://fhir.ch/ig/ch-orf/CodeSystem/ch-orf-cs-coverageidentifiertype"
                    }
                  ]
                },
                {
                  "context": "coding",
                  "contextType": "variable",
                  "element": "code",
                  "transform": "copy",
                  "parameter": [
                    {
                      "valueString": "VeKa"
                    }
                  ]
                },
                {
                  "context": "identifier",
                  "contextType": "variable",
                  "element": "value",
                  "transform": "evaluate",
                  "parameter": [
                    {
                      "valueString": "%item.answer.value"
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "name": "coverageuvg",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "where(linkId.value = 'coverage.uvg')"
            }
          ],
          "target": [
            {
              "context": "bundle",
              "contextType": "variable",
              "element": "entry",
              "variable": "e4"
            },
            {
              "context": "e4",
              "contextType": "variable",
              "element": "resource",
              "variable": "coverage",
              "transform": "create",
              "parameter": [
                {
                  "valueString": "Coverage"
                }
              ]
            },
            {
              "context": "coverage",
              "contextType": "variable",
              "element": "id",
              "variable": "uuid4",
              "transform": "uuid"
            },
            {
              "context": "e4",
              "contextType": "variable",
              "element": "fullUrl",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "'urn:uuid:' + %uuid4"
                }
              ]
            },
            {
              "context": "serviceRequest",
              "contextType": "variable",
              "element": "insurance",
              "variable": "insurance"
            },
            {
              "context": "insurance",
              "contextType": "variable",
              "element": "reference",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "'urn:uuid:' + %uuid4"
                }
              ]
            },
            {
              "context": "coverage",
              "contextType": "variable",
              "element": "status",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "active"
                }
              ]
            },
            {
              "context": "coverage",
              "contextType": "variable",
              "element": "beneficiary",
              "variable": "subject",
              "transform": "create",
              "parameter": [
                {
                  "valueString": "Reference"
                }
              ]
            },
            {
              "context": "subject",
              "contextType": "variable",
              "element": "reference",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "'urn:uuid:' + %patient.id"
                }
              ]
            },
            {
              "context": "coverage",
              "contextType": "variable",
              "element": "type",
              "variable": "type"
            },
            {
              "context": "type",
              "contextType": "variable",
              "element": "coding",
              "variable": "coding"
            },
            {
              "context": "coding",
              "contextType": "variable",
              "element": "system",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "http://fhir.ch/ig/ch-core/CodeSystem/bfs-medstats-25-mainguarantor"
                }
              ]
            },
            {
              "context": "coding",
              "contextType": "variable",
              "element": "code",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "4"
                }
              ]
            }
          ],
          "rule": [
            {
              "name": "coverageUvgName",
              "source": [
                {
                  "context": "item",
                  "element": "item",
                  "variable": "item",
                  "condition": "((linkId.value = 'coverage.uvg.name') and answer.exists())"
                }
              ],
              "target": [
                {
                  "context": "coverage",
                  "contextType": "variable",
                  "element": "payor",
                  "variable": "payor"
                },
                {
                  "context": "payor",
                  "contextType": "variable",
                  "element": "reference",
                  "variable": "refcontained"
                },
                {
                  "context": "refcontained",
                  "contextType": "variable",
                  "element": "value",
                  "transform": "copy",
                  "parameter": [
                    {
                      "valueString": "#org"
                    }
                  ]
                },
                {
                  "context": "coverage",
                  "contextType": "variable",
                  "element": "contained",
                  "variable": "organization",
                  "transform": "create",
                  "parameter": [
                    {
                      "valueString": "Organization"
                    }
                  ]
                },
                {
                  "context": "organization",
                  "contextType": "variable",
                  "element": "id",
                  "transform": "copy",
                  "parameter": [
                    {
                      "valueString": "org"
                    }
                  ]
                },
                {
                  "context": "organization",
                  "contextType": "variable",
                  "element": "name",
                  "transform": "evaluate",
                  "parameter": [
                    {
                      "valueString": "%item.answer.value"
                    }
                  ]
                }
              ]
            },
            {
              "name": "coverageUvgClaimNumber",
              "source": [
                {
                  "context": "item",
                  "element": "item",
                  "variable": "item",
                  "condition": "((linkId.value = 'coverage.uvg.claimNumber') and answer.exists())"
                }
              ],
              "target": [
                {
                  "context": "coverage",
                  "contextType": "variable",
                  "element": "identifier",
                  "variable": "identifier"
                },
                {
                  "context": "identifier",
                  "contextType": "variable",
                  "element": "type",
                  "variable": "typeid"
                },
                {
                  "context": "typeid",
                  "contextType": "variable",
                  "element": "coding",
                  "variable": "coding"
                },
                {
                  "context": "coding",
                  "contextType": "variable",
                  "element": "system",
                  "transform": "copy",
                  "parameter": [
                    {
                      "valueString": "http://fhir.ch/ig/ch-orf/CodeSystem/ch-orf-cs-coverageidentifiertype"
                    }
                  ]
                },
                {
                  "context": "coding",
                  "contextType": "variable",
                  "element": "code",
                  "transform": "copy",
                  "parameter": [
                    {
                      "valueString": "Claim"
                    }
                  ]
                },
                {
                  "context": "identifier",
                  "contextType": "variable",
                  "element": "value",
                  "transform": "evaluate",
                  "parameter": [
                    {
                      "valueString": "%item.answer.value"
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "name": "coveragevvg",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "where(linkId.value = 'coverage.vvg')"
            }
          ],
          "target": [
            {
              "context": "bundle",
              "contextType": "variable",
              "element": "entry",
              "variable": "e4"
            },
            {
              "context": "e4",
              "contextType": "variable",
              "element": "resource",
              "variable": "coverage",
              "transform": "create",
              "parameter": [
                {
                  "valueString": "Coverage"
                }
              ]
            },
            {
              "context": "coverage",
              "contextType": "variable",
              "element": "id",
              "variable": "uuid4",
              "transform": "uuid"
            },
            {
              "context": "e4",
              "contextType": "variable",
              "element": "fullUrl",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "'urn:uuid:' + %uuid4"
                }
              ]
            },
            {
              "context": "serviceRequest",
              "contextType": "variable",
              "element": "insurance",
              "variable": "insurance"
            },
            {
              "context": "insurance",
              "contextType": "variable",
              "element": "reference",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "'urn:uuid:' + %uuid4"
                }
              ]
            },
            {
              "context": "coverage",
              "contextType": "variable",
              "element": "status",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "active"
                }
              ]
            },
            {
              "context": "coverage",
              "contextType": "variable",
              "element": "beneficiary",
              "variable": "subject",
              "transform": "create",
              "parameter": [
                {
                  "valueString": "Reference"
                }
              ]
            },
            {
              "context": "subject",
              "contextType": "variable",
              "element": "reference",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "'urn:uuid:' + %patient.id"
                }
              ]
            },
            {
              "context": "coverage",
              "contextType": "variable",
              "element": "type",
              "variable": "type"
            },
            {
              "context": "type",
              "contextType": "variable",
              "element": "coding",
              "variable": "coding"
            },
            {
              "context": "coding",
              "contextType": "variable",
              "element": "system",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "http://fhir.ch/ig/ch-core/CodeSystem/mainguarantor"
                }
              ]
            },
            {
              "context": "coding",
              "contextType": "variable",
              "element": "code",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "ZV"
                }
              ]
            }
          ],
          "rule": [
            {
              "name": "coverageVvgName",
              "source": [
                {
                  "context": "item",
                  "element": "item",
                  "variable": "item",
                  "condition": "((linkId.value = 'coverage.vvg.name') and answer.exists())"
                }
              ],
              "target": [
                {
                  "context": "coverage",
                  "contextType": "variable",
                  "element": "payor",
                  "variable": "payor"
                },
                {
                  "context": "payor",
                  "contextType": "variable",
                  "element": "reference",
                  "variable": "refcontained"
                },
                {
                  "context": "refcontained",
                  "contextType": "variable",
                  "element": "value",
                  "transform": "copy",
                  "parameter": [
                    {
                      "valueString": "#org"
                    }
                  ]
                },
                {
                  "context": "coverage",
                  "contextType": "variable",
                  "element": "contained",
                  "variable": "organization",
                  "transform": "create",
                  "parameter": [
                    {
                      "valueString": "Organization"
                    }
                  ]
                },
                {
                  "context": "organization",
                  "contextType": "variable",
                  "element": "id",
                  "transform": "copy",
                  "parameter": [
                    {
                      "valueString": "org"
                    }
                  ]
                },
                {
                  "context": "organization",
                  "contextType": "variable",
                  "element": "name",
                  "transform": "evaluate",
                  "parameter": [
                    {
                      "valueString": "%item.answer.value"
                    }
                  ]
                }
              ]
            },
            {
              "name": "coverageVvgInsuranceCardNumber",
              "source": [
                {
                  "context": "item",
                  "element": "item",
                  "variable": "item",
                  "condition": "((linkId.value = 'coverage.vvg.insuranceCardNumber') and answer.exists())"
                }
              ],
              "target": [
                {
                  "context": "coverage",
                  "contextType": "variable",
                  "element": "identifier",
                  "variable": "identifier"
                },
                {
                  "context": "identifier",
                  "contextType": "variable",
                  "element": "type",
                  "variable": "typeid"
                },
                {
                  "context": "typeid",
                  "contextType": "variable",
                  "element": "coding",
                  "variable": "coding"
                },
                {
                  "context": "coding",
                  "contextType": "variable",
                  "element": "system",
                  "transform": "copy",
                  "parameter": [
                    {
                      "valueString": "http://fhir.ch/ig/ch-orf/CodeSystem/ch-orf-cs-coverageidentifiertype"
                    }
                  ]
                },
                {
                  "context": "coding",
                  "contextType": "variable",
                  "element": "code",
                  "transform": "copy",
                  "parameter": [
                    {
                      "valueString": "VeKa"
                    }
                  ]
                },
                {
                  "context": "identifier",
                  "contextType": "variable",
                  "element": "value",
                  "transform": "evaluate",
                  "parameter": [
                    {
                      "valueString": "%item.answer.value"
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "name": "coverageiv",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "where(linkId.value = 'coverage.iv')"
            }
          ],
          "target": [
            {
              "context": "bundle",
              "contextType": "variable",
              "element": "entry",
              "variable": "e4"
            },
            {
              "context": "e4",
              "contextType": "variable",
              "element": "resource",
              "variable": "coverage",
              "transform": "create",
              "parameter": [
                {
                  "valueString": "Coverage"
                }
              ]
            },
            {
              "context": "coverage",
              "contextType": "variable",
              "element": "id",
              "variable": "uuid4",
              "transform": "uuid"
            },
            {
              "context": "e4",
              "contextType": "variable",
              "element": "fullUrl",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "'urn:uuid:' + %uuid4"
                }
              ]
            },
            {
              "context": "serviceRequest",
              "contextType": "variable",
              "element": "insurance",
              "variable": "insurance"
            },
            {
              "context": "insurance",
              "contextType": "variable",
              "element": "reference",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "'urn:uuid:' + %uuid4"
                }
              ]
            },
            {
              "context": "coverage",
              "contextType": "variable",
              "element": "status",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "active"
                }
              ]
            },
            {
              "context": "coverage",
              "contextType": "variable",
              "element": "beneficiary",
              "variable": "subject",
              "transform": "create",
              "parameter": [
                {
                  "valueString": "Reference"
                }
              ]
            },
            {
              "context": "subject",
              "contextType": "variable",
              "element": "reference",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "'urn:uuid:' + %patient.id"
                }
              ]
            },
            {
              "context": "coverage",
              "contextType": "variable",
              "element": "type",
              "variable": "type"
            },
            {
              "context": "type",
              "contextType": "variable",
              "element": "coding",
              "variable": "coding"
            },
            {
              "context": "coding",
              "contextType": "variable",
              "element": "system",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "http://fhir.ch/ig/ch-core/CodeSystem/bfs-medstats-25-mainguarantor"
                }
              ]
            },
            {
              "context": "coding",
              "contextType": "variable",
              "element": "code",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "2"
                }
              ]
            }
          ],
          "rule": [
            {
              "name": "coverageivverfuegungsnummer",
              "source": [
                {
                  "context": "item",
                  "element": "item",
                  "variable": "item",
                  "condition": "((linkId.value = 'coverage.iv.verfuegungsnummer') and answer.exists())"
                }
              ],
              "target": [
                {
                  "context": "coverage",
                  "contextType": "variable",
                  "element": "identifier",
                  "variable": "identifier"
                },
                {
                  "context": "identifier",
                  "contextType": "variable",
                  "element": "type",
                  "variable": "typeid"
                },
                {
                  "context": "typeid",
                  "contextType": "variable",
                  "element": "coding",
                  "variable": "coding"
                },
                {
                  "context": "coding",
                  "contextType": "variable",
                  "element": "system",
                  "transform": "copy",
                  "parameter": [
                    {
                      "valueString": "http://fhir.ch/ig/ch-orf/CodeSystem/ch-orf-cs-coverageidentifiertype"
                    }
                  ]
                },
                {
                  "context": "coding",
                  "contextType": "variable",
                  "element": "code",
                  "transform": "copy",
                  "parameter": [
                    {
                      "valueString": "IV"
                    }
                  ]
                },
                {
                  "context": "identifier",
                  "contextType": "variable",
                  "element": "value",
                  "transform": "evaluate",
                  "parameter": [
                    {
                      "valueString": "%item.answer.value"
                    }
                  ]
                },
                {
                  "context": "coverage",
                  "contextType": "variable",
                  "element": "payor",
                  "variable": "payor"
                },
                {
                  "context": "payor",
                  "contextType": "variable",
                  "element": "reference",
                  "variable": "refcontained"
                },
                {
                  "context": "refcontained",
                  "contextType": "variable",
                  "element": "value",
                  "transform": "copy",
                  "parameter": [
                    {
                      "valueString": "#org"
                    }
                  ]
                },
                {
                  "context": "coverage",
                  "contextType": "variable",
                  "element": "contained",
                  "variable": "organization",
                  "transform": "create",
                  "parameter": [
                    {
                      "valueString": "Organization"
                    }
                  ]
                },
                {
                  "context": "organization",
                  "contextType": "variable",
                  "element": "id",
                  "transform": "copy",
                  "parameter": [
                    {
                      "valueString": "org"
                    }
                  ]
                },
                {
                  "context": "organization",
                  "contextType": "variable",
                  "element": "name",
                  "transform": "copy",
                  "parameter": [
                    {
                      "valueString": "IV"
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "name": "coveragemv",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "where(linkId.value = 'coverage.mv')"
            }
          ],
          "target": [
            {
              "context": "bundle",
              "contextType": "variable",
              "element": "entry",
              "variable": "e4"
            },
            {
              "context": "e4",
              "contextType": "variable",
              "element": "resource",
              "variable": "coverage",
              "transform": "create",
              "parameter": [
                {
                  "valueString": "Coverage"
                }
              ]
            },
            {
              "context": "coverage",
              "contextType": "variable",
              "element": "id",
              "variable": "uuid4",
              "transform": "uuid"
            },
            {
              "context": "e4",
              "contextType": "variable",
              "element": "fullUrl",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "'urn:uuid:' + %uuid4"
                }
              ]
            },
            {
              "context": "serviceRequest",
              "contextType": "variable",
              "element": "insurance",
              "variable": "insurance"
            },
            {
              "context": "insurance",
              "contextType": "variable",
              "element": "reference",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "'urn:uuid:' + %uuid4"
                }
              ]
            },
            {
              "context": "coverage",
              "contextType": "variable",
              "element": "status",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "active"
                }
              ]
            },
            {
              "context": "coverage",
              "contextType": "variable",
              "element": "beneficiary",
              "variable": "subject",
              "transform": "create",
              "parameter": [
                {
                  "valueString": "Reference"
                }
              ]
            },
            {
              "context": "subject",
              "contextType": "variable",
              "element": "reference",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "'urn:uuid:' + %patient.id"
                }
              ]
            },
            {
              "context": "coverage",
              "contextType": "variable",
              "element": "type",
              "variable": "type"
            },
            {
              "context": "type",
              "contextType": "variable",
              "element": "coding",
              "variable": "coding"
            },
            {
              "context": "coding",
              "contextType": "variable",
              "element": "system",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "http://fhir.ch/ig/ch-core/CodeSystem/bfs-medstats-25-mainguarantor"
                }
              ]
            },
            {
              "context": "coding",
              "contextType": "variable",
              "element": "code",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "3"
                }
              ]
            }
          ],
          "rule": [
            {
              "name": "coveragemvversichertennummer",
              "source": [
                {
                  "context": "item",
                  "element": "item",
                  "variable": "item",
                  "condition": "((linkId.value = 'coverage.mv.versichertennummer') and answer.exists())"
                }
              ],
              "target": [
                {
                  "context": "coverage",
                  "contextType": "variable",
                  "element": "identifier",
                  "variable": "identifier"
                },
                {
                  "context": "identifier",
                  "contextType": "variable",
                  "element": "type",
                  "variable": "typeid"
                },
                {
                  "context": "typeid",
                  "contextType": "variable",
                  "element": "coding",
                  "variable": "coding"
                },
                {
                  "context": "coding",
                  "contextType": "variable",
                  "element": "system",
                  "transform": "copy",
                  "parameter": [
                    {
                      "valueString": "http://fhir.ch/ig/ch-orf/CodeSystem/ch-orf-cs-coverageidentifiertype"
                    }
                  ]
                },
                {
                  "context": "coding",
                  "contextType": "variable",
                  "element": "code",
                  "transform": "copy",
                  "parameter": [
                    {
                      "valueString": "MV"
                    }
                  ]
                },
                {
                  "context": "identifier",
                  "contextType": "variable",
                  "element": "value",
                  "transform": "evaluate",
                  "parameter": [
                    {
                      "valueString": "%item.answer.value"
                    }
                  ]
                },
                {
                  "context": "coverage",
                  "contextType": "variable",
                  "element": "payor",
                  "variable": "payor"
                },
                {
                  "context": "payor",
                  "contextType": "variable",
                  "element": "reference",
                  "variable": "refcontained"
                },
                {
                  "context": "refcontained",
                  "contextType": "variable",
                  "element": "value",
                  "transform": "copy",
                  "parameter": [
                    {
                      "valueString": "#org"
                    }
                  ]
                },
                {
                  "context": "coverage",
                  "contextType": "variable",
                  "element": "contained",
                  "variable": "organization",
                  "transform": "create",
                  "parameter": [
                    {
                      "valueString": "Organization"
                    }
                  ]
                },
                {
                  "context": "organization",
                  "contextType": "variable",
                  "element": "id",
                  "transform": "copy",
                  "parameter": [
                    {
                      "valueString": "org"
                    }
                  ]
                },
                {
                  "context": "organization",
                  "contextType": "variable",
                  "element": "name",
                  "transform": "copy",
                  "parameter": [
                    {
                      "valueString": "MV"
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "name": "self",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "where(linkId.value = 'coverage.self')"
            }
          ],
          "rule": [
            {
              "name": "payor",
              "source": [
                {
                  "context": "item",
                  "element": "item",
                  "variable": "item",
                  "condition": "((linkId.value = 'coverage.self.patient') and answer.exists() and answer.value)"
                }
              ],
              "target": [
                {
                  "context": "bundle",
                  "contextType": "variable",
                  "element": "entry",
                  "variable": "e4"
                },
                {
                  "context": "e4",
                  "contextType": "variable",
                  "element": "resource",
                  "variable": "coverage",
                  "transform": "create",
                  "parameter": [
                    {
                      "valueString": "Coverage"
                    }
                  ]
                },
                {
                  "context": "coverage",
                  "contextType": "variable",
                  "element": "id",
                  "variable": "uuid4",
                  "transform": "uuid"
                },
                {
                  "context": "e4",
                  "contextType": "variable",
                  "element": "fullUrl",
                  "transform": "evaluate",
                  "parameter": [
                    {
                      "valueString": "'urn:uuid:' + %uuid4"
                    }
                  ]
                },
                {
                  "context": "serviceRequest",
                  "contextType": "variable",
                  "element": "insurance",
                  "variable": "insurance"
                },
                {
                  "context": "insurance",
                  "contextType": "variable",
                  "element": "reference",
                  "transform": "evaluate",
                  "parameter": [
                    {
                      "valueString": "'urn:uuid:' + %uuid4"
                    }
                  ]
                },
                {
                  "context": "coverage",
                  "contextType": "variable",
                  "element": "status",
                  "transform": "copy",
                  "parameter": [
                    {
                      "valueString": "active"
                    }
                  ]
                },
                {
                  "context": "coverage",
                  "contextType": "variable",
                  "element": "beneficiary",
                  "variable": "subject",
                  "transform": "create",
                  "parameter": [
                    {
                      "valueString": "Reference"
                    }
                  ]
                },
                {
                  "context": "subject",
                  "contextType": "variable",
                  "element": "reference",
                  "transform": "evaluate",
                  "parameter": [
                    {
                      "valueString": "'urn:uuid:' + %patient.id"
                    }
                  ]
                },
                {
                  "context": "coverage",
                  "contextType": "variable",
                  "element": "type",
                  "variable": "type"
                },
                {
                  "context": "type",
                  "contextType": "variable",
                  "element": "coding",
                  "variable": "coding"
                },
                {
                  "context": "coding",
                  "contextType": "variable",
                  "element": "system",
                  "transform": "copy",
                  "parameter": [
                    {
                      "valueString": "http://fhir.ch/ig/ch-core/CodeSystem/bfs-medstats-25-mainguarantor"
                    }
                  ]
                },
                {
                  "context": "coding",
                  "contextType": "variable",
                  "element": "code",
                  "transform": "copy",
                  "parameter": [
                    {
                      "valueString": "5"
                    }
                  ]
                },
                {
                  "context": "coverage",
                  "contextType": "variable",
                  "element": "payor",
                  "variable": "subject"
                },
                {
                  "context": "subject",
                  "contextType": "variable",
                  "element": "reference",
                  "transform": "evaluate",
                  "parameter": [
                    {
                      "valueString": "'urn:uuid:' + %patient.id"
                    }
                  ]
                }
              ]
            },
            {
              "name": "coverageselfpatientrelated",
              "source": [
                {
                  "context": "item",
                  "element": "item",
                  "variable": "item2",
                  "condition": "((linkId.value = 'coverage.self.patientRelatedPerson') and answer.exists() and answer.value)"
                }
              ],
              "rule": [
                {
                  "name": "coverageselfrelatedPerson",
                  "source": [
                    {
                      "context": "item",
                      "element": "item",
                      "variable": "item",
                      "condition": "(linkId.value = 'coverage.self.relatedPerson')"
                    }
                  ],
                  "target": [
                    {
                      "context": "bundle",
                      "contextType": "variable",
                      "element": "entry",
                      "variable": "e5"
                    },
                    {
                      "context": "e5",
                      "contextType": "variable",
                      "element": "resource",
                      "variable": "coverage",
                      "transform": "create",
                      "parameter": [
                        {
                          "valueString": "Coverage"
                        }
                      ]
                    },
                    {
                      "context": "coverage",
                      "contextType": "variable",
                      "element": "id",
                      "variable": "uuid4",
                      "transform": "uuid"
                    },
                    {
                      "context": "e5",
                      "contextType": "variable",
                      "element": "fullUrl",
                      "transform": "evaluate",
                      "parameter": [
                        {
                          "valueString": "'urn:uuid:' + %uuid4"
                        }
                      ]
                    },
                    {
                      "context": "serviceRequest",
                      "contextType": "variable",
                      "element": "insurance",
                      "variable": "insurance"
                    },
                    {
                      "context": "insurance",
                      "contextType": "variable",
                      "element": "reference",
                      "transform": "evaluate",
                      "parameter": [
                        {
                          "valueString": "'urn:uuid:' + %uuid4"
                        }
                      ]
                    },
                    {
                      "context": "coverage",
                      "contextType": "variable",
                      "element": "status",
                      "transform": "copy",
                      "parameter": [
                        {
                          "valueString": "active"
                        }
                      ]
                    },
                    {
                      "context": "coverage",
                      "contextType": "variable",
                      "element": "beneficiary",
                      "variable": "subject",
                      "transform": "create",
                      "parameter": [
                        {
                          "valueString": "Reference"
                        }
                      ]
                    },
                    {
                      "context": "subject",
                      "contextType": "variable",
                      "element": "reference",
                      "transform": "evaluate",
                      "parameter": [
                        {
                          "valueString": "'urn:uuid:' + %patient.id"
                        }
                      ]
                    },
                    {
                      "context": "coverage",
                      "contextType": "variable",
                      "element": "type",
                      "variable": "type"
                    },
                    {
                      "context": "type",
                      "contextType": "variable",
                      "element": "coding",
                      "variable": "coding"
                    },
                    {
                      "context": "coding",
                      "contextType": "variable",
                      "element": "system",
                      "transform": "copy",
                      "parameter": [
                        {
                          "valueString": "http://fhir.ch/ig/ch-core/CodeSystem/bfs-medstats-25-mainguarantor"
                        }
                      ]
                    },
                    {
                      "context": "coding",
                      "contextType": "variable",
                      "element": "code",
                      "transform": "copy",
                      "parameter": [
                        {
                          "valueString": "5"
                        }
                      ]
                    },
                    {
                      "context": "bundle",
                      "contextType": "variable",
                      "element": "entry",
                      "variable": "e6"
                    },
                    {
                      "context": "e6",
                      "contextType": "variable",
                      "element": "resource",
                      "variable": "relatedPerson",
                      "transform": "create",
                      "parameter": [
                        {
                          "valueString": "RelatedPerson"
                        }
                      ]
                    },
                    {
                      "context": "relatedPerson",
                      "contextType": "variable",
                      "element": "id",
                      "variable": "uuid6",
                      "transform": "uuid"
                    },
                    {
                      "context": "e6",
                      "contextType": "variable",
                      "element": "fullUrl",
                      "transform": "append",
                      "parameter": [
                        {
                          "valueString": "urn:uuid:"
                        },
                        {
                          "valueId": "uuid6"
                        }
                      ]
                    },
                    {
                      "context": "coverage",
                      "contextType": "variable",
                      "element": "payor",
                      "variable": "subject"
                    },
                    {
                      "context": "subject",
                      "contextType": "variable",
                      "element": "reference",
                      "transform": "evaluate",
                      "parameter": [
                        {
                          "valueString": "'urn:uuid:' + %relatedPerson.id"
                        }
                      ]
                    },
                    {
                      "context": "relatedPerson",
                      "contextType": "variable",
                      "element": "patient",
                      "variable": "reference"
                    },
                    {
                      "context": "reference",
                      "contextType": "variable",
                      "element": "reference",
                      "transform": "evaluate",
                      "parameter": [
                        {
                          "valueString": "'urn:uuid:' + %patient.id"
                        }
                      ]
                    }
                  ],
                  "dependent": [
                    {
                      "name": "CoverageRelatedPersonItems",
                      "variable": [
                        "item",
                        "relatedPerson"
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "name": "coveragevvg",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "where(linkId.value = 'coverage.other')"
            }
          ],
          "target": [
            {
              "context": "bundle",
              "contextType": "variable",
              "element": "entry",
              "variable": "e4"
            },
            {
              "context": "e4",
              "contextType": "variable",
              "element": "resource",
              "variable": "coverage",
              "transform": "create",
              "parameter": [
                {
                  "valueString": "Coverage"
                }
              ]
            },
            {
              "context": "coverage",
              "contextType": "variable",
              "element": "id",
              "variable": "uuid4",
              "transform": "uuid"
            },
            {
              "context": "e4",
              "contextType": "variable",
              "element": "fullUrl",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "'urn:uuid:' + %uuid4"
                }
              ]
            },
            {
              "context": "serviceRequest",
              "contextType": "variable",
              "element": "insurance",
              "variable": "insurance"
            },
            {
              "context": "insurance",
              "contextType": "variable",
              "element": "reference",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "'urn:uuid:' + %uuid4"
                }
              ]
            },
            {
              "context": "coverage",
              "contextType": "variable",
              "element": "status",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "active"
                }
              ]
            },
            {
              "context": "coverage",
              "contextType": "variable",
              "element": "beneficiary",
              "variable": "subject",
              "transform": "create",
              "parameter": [
                {
                  "valueString": "Reference"
                }
              ]
            },
            {
              "context": "subject",
              "contextType": "variable",
              "element": "reference",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "'urn:uuid:' + %patient.id"
                }
              ]
            },
            {
              "context": "coverage",
              "contextType": "variable",
              "element": "type",
              "variable": "type"
            },
            {
              "context": "type",
              "contextType": "variable",
              "element": "coding",
              "variable": "coding"
            },
            {
              "context": "coding",
              "contextType": "variable",
              "element": "system",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "http://fhir.ch/ig/ch-core/CodeSystem/bfs-medstats-25-mainguarantor"
                }
              ]
            },
            {
              "context": "coding",
              "contextType": "variable",
              "element": "code",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "8"
                }
              ]
            }
          ],
          "rule": [
            {
              "name": "coverageOtherName",
              "source": [
                {
                  "context": "item",
                  "element": "item",
                  "variable": "item",
                  "condition": "((linkId.value = 'coverage.other.name') and answer.exists())"
                }
              ],
              "target": [
                {
                  "context": "coverage",
                  "contextType": "variable",
                  "element": "payor",
                  "variable": "payor"
                },
                {
                  "context": "payor",
                  "contextType": "variable",
                  "element": "reference",
                  "variable": "refcontained"
                },
                {
                  "context": "refcontained",
                  "contextType": "variable",
                  "element": "value",
                  "transform": "copy",
                  "parameter": [
                    {
                      "valueString": "#org"
                    }
                  ]
                },
                {
                  "context": "coverage",
                  "contextType": "variable",
                  "element": "contained",
                  "variable": "organization",
                  "transform": "create",
                  "parameter": [
                    {
                      "valueString": "Organization"
                    }
                  ]
                },
                {
                  "context": "organization",
                  "contextType": "variable",
                  "element": "id",
                  "transform": "copy",
                  "parameter": [
                    {
                      "valueString": "org"
                    }
                  ]
                },
                {
                  "context": "organization",
                  "contextType": "variable",
                  "element": "name",
                  "transform": "evaluate",
                  "parameter": [
                    {
                      "valueString": "%item.answer.value"
                    }
                  ]
                }
              ]
            },
            {
              "name": "coverageOtherId",
              "source": [
                {
                  "context": "item",
                  "element": "item",
                  "variable": "item",
                  "condition": "((linkId.value = 'coverage.other.id') and answer.exists())"
                }
              ],
              "target": [
                {
                  "context": "coverage",
                  "contextType": "variable",
                  "element": "identifier",
                  "variable": "identifier"
                },
                {
                  "context": "identifier",
                  "contextType": "variable",
                  "element": "value",
                  "transform": "evaluate",
                  "parameter": [
                    {
                      "valueString": "%item.answer.value"
                    }
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "name": "CoverageRelatedPersonItems",
      "typeMode": "none",
      "input": [
        {
          "name": "src",
          "mode": "source"
        },
        {
          "name": "relatedPerson",
          "type": "RelatedPerson",
          "mode": "target"
        }
      ],
      "rule": [
        {
          "name": "item",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'coverage.self.relatedPerson.familyName') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "relatedPerson",
              "contextType": "variable",
              "element": "name",
              "variable": "name",
              "listMode": [
                "share"
              ],
              "listRuleId": "name"
            },
            {
              "context": "name",
              "contextType": "variable",
              "element": "family",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            }
          ]
        },
        {
          "name": "item",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'coverage.self.relatedPerson.givenName') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "relatedPerson",
              "contextType": "variable",
              "element": "name",
              "variable": "name",
              "listMode": [
                "share"
              ],
              "listRuleId": "name"
            },
            {
              "context": "name",
              "contextType": "variable",
              "element": "given",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            }
          ]
        },
        {
          "name": "Phone",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'coverage.self.relatedPerson.phone') and answer.exists())"
            }
          ],
          "rule": [
            {
              "name": "coverageSelfRelatedPersonPhone",
              "source": [
                {
                  "context": "item",
                  "element": "answer",
                  "variable": "answer"
                }
              ],
              "target": [
                {
                  "context": "relatedPerson",
                  "contextType": "variable",
                  "element": "telecom",
                  "variable": "value"
                },
                {
                  "context": "value",
                  "contextType": "variable",
                  "element": "system",
                  "transform": "copy",
                  "parameter": [
                    {
                      "valueString": "phone"
                    }
                  ]
                },
                {
                  "context": "value",
                  "contextType": "variable",
                  "element": "value",
                  "transform": "evaluate",
                  "parameter": [
                    {
                      "valueString": "%answer.value"
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "name": "coverageSelfRelatedPersonEmail",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'coverage.self.relatedPerson.email') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "relatedPerson",
              "contextType": "variable",
              "element": "telecom",
              "variable": "value"
            },
            {
              "context": "value",
              "contextType": "variable",
              "element": "system",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "email"
                }
              ]
            },
            {
              "context": "value",
              "contextType": "variable",
              "element": "value",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            }
          ]
        },
        {
          "name": "itemAnswer",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'coverage.self.relatedPerson.streetAddressLine') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "relatedPerson",
              "contextType": "variable",
              "element": "address",
              "variable": "address",
              "listMode": [
                "share"
              ],
              "listRuleId": "orgAddress"
            }
          ],
          "rule": [
            {
              "name": "coverageSelfRelatedPersonStreetAddressLine",
              "source": [
                {
                  "context": "item",
                  "element": "answer",
                  "variable": "answer"
                }
              ],
              "target": [
                {
                  "context": "address",
                  "contextType": "variable",
                  "element": "line",
                  "transform": "evaluate",
                  "parameter": [
                    {
                      "valueString": "%answer.value"
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "name": "coverageSelfRelatedPersonPostalCode",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'coverage.self.relatedPerson.postalCode') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "relatedPerson",
              "contextType": "variable",
              "element": "address",
              "variable": "address",
              "listMode": [
                "share"
              ],
              "listRuleId": "orgAddress"
            },
            {
              "context": "address",
              "contextType": "variable",
              "element": "postalCode",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            }
          ]
        },
        {
          "name": "coverageSelfRelatedPersonCity",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'coverage.self.relatedPerson.city') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "relatedPerson",
              "contextType": "variable",
              "element": "address",
              "variable": "address",
              "listMode": [
                "share"
              ],
              "listRuleId": "orgAddress"
            },
            {
              "context": "address",
              "contextType": "variable",
              "element": "city",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            }
          ]
        },
        {
          "name": "coverageSelfRelatedPersonCountry",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'coverage.self.relatedPerson.country') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "relatedPerson",
              "contextType": "variable",
              "element": "address",
              "variable": "address",
              "listMode": [
                "share"
              ],
              "listRuleId": "orgAddress"
            },
            {
              "context": "address",
              "contextType": "variable",
              "element": "country",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "name": "SenderAuthorPractitionerItems",
      "typeMode": "none",
      "input": [
        {
          "name": "src",
          "mode": "source"
        },
        {
          "name": "practitioner",
          "type": "Practitioner",
          "mode": "target"
        }
      ],
      "rule": [
        {
          "name": "item",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'sender.author.practitioner.familyName') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "practitioner",
              "contextType": "variable",
              "element": "name",
              "variable": "name",
              "listMode": [
                "share"
              ],
              "listRuleId": "practitionerName"
            },
            {
              "context": "name",
              "contextType": "variable",
              "element": "family",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            }
          ]
        },
        {
          "name": "item",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'sender.author.practitioner.givenName') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "practitioner",
              "contextType": "variable",
              "element": "name",
              "variable": "name",
              "listMode": [
                "share"
              ],
              "listRuleId": "practitionerName"
            },
            {
              "context": "name",
              "contextType": "variable",
              "element": "given",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            }
          ]
        },
        {
          "name": "senderAuthorPractitionerTitle",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'sender.author.practitioner.title') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "practitioner",
              "contextType": "variable",
              "element": "name",
              "variable": "name",
              "listMode": [
                "share"
              ],
              "listRuleId": "practitionerName"
            },
            {
              "context": "name",
              "contextType": "variable",
              "element": "prefix",
              "variable": "prefix",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            },
            {
              "context": "prefix",
              "contextType": "variable",
              "element": "extension",
              "variable": "ext"
            },
            {
              "context": "ext",
              "contextType": "variable",
              "element": "url",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "http://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier"
                }
              ]
            },
            {
              "context": "ext",
              "contextType": "variable",
              "element": "value",
              "variable": "value",
              "transform": "create",
              "parameter": [
                {
                  "valueString": "code"
                }
              ]
            },
            {
              "context": "value",
              "contextType": "variable",
              "element": "value",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "AC"
                }
              ]
            }
          ]
        },
        {
          "name": "senderAuthorPractitionerGln",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'sender.author.practitioner.gln') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "practitioner",
              "contextType": "variable",
              "element": "identifier",
              "variable": "value"
            },
            {
              "context": "value",
              "contextType": "variable",
              "element": "system",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "urn:oid:2.51.1.3"
                }
              ]
            },
            {
              "context": "value",
              "contextType": "variable",
              "element": "value",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            }
          ]
        },
        {
          "name": "senderAuthorPractitionerZsr",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'sender.author.practitioner.zsr') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "practitioner",
              "contextType": "variable",
              "element": "identifier",
              "variable": "value"
            },
            {
              "context": "value",
              "contextType": "variable",
              "element": "system",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "urn:oid:2.16.756.5.30.1.123.100.2.1.1"
                }
              ]
            },
            {
              "context": "value",
              "contextType": "variable",
              "element": "value",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            }
          ]
        },
        {
          "name": "senderAuthorPractitionerPhone",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'sender.author.practitioner.phone') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "practitioner",
              "contextType": "variable",
              "element": "telecom",
              "variable": "value"
            },
            {
              "context": "value",
              "contextType": "variable",
              "element": "system",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "phone"
                }
              ]
            },
            {
              "context": "value",
              "contextType": "variable",
              "element": "value",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            }
          ]
        },
        {
          "name": "senderAuthorPractitionerEmail",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'sender.author.practitioner.email') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "practitioner",
              "contextType": "variable",
              "element": "telecom",
              "variable": "value"
            },
            {
              "context": "value",
              "contextType": "variable",
              "element": "system",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "email"
                }
              ]
            },
            {
              "context": "value",
              "contextType": "variable",
              "element": "value",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "name": "SenderAuthorOrganizationItems",
      "typeMode": "none",
      "input": [
        {
          "name": "src",
          "mode": "source"
        },
        {
          "name": "organization",
          "type": "Organization",
          "mode": "target"
        }
      ],
      "rule": [
        {
          "name": "item",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'sender.author.organization.name') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "organization",
              "contextType": "variable",
              "element": "name",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            }
          ]
        },
        {
          "name": "senderAuthorOrganizationGln",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'sender.author.organization.gln') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "organization",
              "contextType": "variable",
              "element": "identifier",
              "variable": "value"
            },
            {
              "context": "value",
              "contextType": "variable",
              "element": "system",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "urn:oid:2.51.1.3"
                }
              ]
            },
            {
              "context": "value",
              "contextType": "variable",
              "element": "value",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            }
          ]
        },
        {
          "name": "senderAuthorOrganizationZsr",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'sender.author.organization.zsr') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "organization",
              "contextType": "variable",
              "element": "identifier",
              "variable": "value"
            },
            {
              "context": "value",
              "contextType": "variable",
              "element": "system",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "urn:oid:2.16.756.5.30.1.123.100.2.1.1"
                }
              ]
            },
            {
              "context": "value",
              "contextType": "variable",
              "element": "value",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            }
          ]
        },
        {
          "name": "itemAnswer",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'sender.author.organization.streetAddressLine') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "organization",
              "contextType": "variable",
              "element": "address",
              "variable": "address",
              "listMode": [
                "share"
              ],
              "listRuleId": "orgAddress"
            }
          ],
          "rule": [
            {
              "name": "senderAuthorOrganizationStreetAddressLine",
              "source": [
                {
                  "context": "item",
                  "element": "answer",
                  "variable": "answer"
                }
              ],
              "target": [
                {
                  "context": "address",
                  "contextType": "variable",
                  "element": "line",
                  "transform": "evaluate",
                  "parameter": [
                    {
                      "valueString": "%answer.value"
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "name": "senderAuthorOrganizationPostalCode",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'sender.author.organization.postalCode') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "organization",
              "contextType": "variable",
              "element": "address",
              "variable": "address",
              "listMode": [
                "share"
              ],
              "listRuleId": "orgAddress"
            },
            {
              "context": "address",
              "contextType": "variable",
              "element": "postalCode",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            }
          ]
        },
        {
          "name": "senderAuthorOrganizationCity",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'sender.author.organization.city') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "organization",
              "contextType": "variable",
              "element": "address",
              "variable": "address",
              "listMode": [
                "share"
              ],
              "listRuleId": "orgAddress"
            },
            {
              "context": "address",
              "contextType": "variable",
              "element": "city",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            }
          ]
        },
        {
          "name": "senderAuthorOrganizationCountry",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'sender.author.organization.country') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "organization",
              "contextType": "variable",
              "element": "address",
              "variable": "address",
              "listMode": [
                "share"
              ],
              "listRuleId": "orgAddress"
            },
            {
              "context": "address",
              "contextType": "variable",
              "element": "country",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "name": "SenderAuthorItems",
      "typeMode": "none",
      "input": [
        {
          "name": "src",
          "mode": "source"
        },
        {
          "name": "practitionerRole",
          "type": "PractitionerRole",
          "mode": "target"
        },
        {
          "name": "practitioner",
          "type": "Practitioner",
          "mode": "target"
        },
        {
          "name": "organization",
          "type": "Organization",
          "mode": "target"
        }
      ],
      "rule": [
        {
          "name": "item",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "(linkId.value = 'sender.author.practitioner')"
            }
          ],
          "dependent": [
            {
              "name": "SenderAuthorPractitionerItems",
              "variable": [
                "item",
                "practitioner"
              ]
            }
          ]
        },
        {
          "name": "item",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "(linkId.value = 'sender.author.organization')"
            }
          ],
          "dependent": [
            {
              "name": "SenderAuthorOrganizationItems",
              "variable": [
                "item",
                "organization"
              ]
            }
          ]
        }
      ]
    },
    {
      "name": "SenderDataEntererPractitionerItems",
      "typeMode": "none",
      "input": [
        {
          "name": "src",
          "mode": "source"
        },
        {
          "name": "practitioner",
          "type": "Practitioner",
          "mode": "target"
        }
      ],
      "rule": [
        {
          "name": "item",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'sender.dataenterer.practitioner.familyName') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "practitioner",
              "contextType": "variable",
              "element": "name",
              "variable": "name",
              "listMode": [
                "share"
              ],
              "listRuleId": "practitionerName"
            },
            {
              "context": "name",
              "contextType": "variable",
              "element": "family",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            }
          ]
        },
        {
          "name": "item",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'sender.dataenterer.practitioner.givenName') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "practitioner",
              "contextType": "variable",
              "element": "name",
              "variable": "name",
              "listMode": [
                "share"
              ],
              "listRuleId": "practitionerName"
            },
            {
              "context": "name",
              "contextType": "variable",
              "element": "given",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            }
          ]
        },
        {
          "name": "senderAuthorPractitionerPhone",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'sender.dataenterer.practitioner.phone') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "practitioner",
              "contextType": "variable",
              "element": "telecom",
              "variable": "value"
            },
            {
              "context": "value",
              "contextType": "variable",
              "element": "system",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "phone"
                }
              ]
            },
            {
              "context": "value",
              "contextType": "variable",
              "element": "value",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            }
          ]
        },
        {
          "name": "senderAuthorPractitionerEmail",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'sender.dataenterer.practitioner.email') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "practitioner",
              "contextType": "variable",
              "element": "telecom",
              "variable": "value"
            },
            {
              "context": "value",
              "contextType": "variable",
              "element": "system",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "email"
                }
              ]
            },
            {
              "context": "value",
              "contextType": "variable",
              "element": "value",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "name": "SenderDataEntererItems",
      "typeMode": "none",
      "input": [
        {
          "name": "src",
          "mode": "source"
        },
        {
          "name": "practitionerRole",
          "type": "PractitionerRole",
          "mode": "target"
        },
        {
          "name": "practitioner",
          "type": "Practitioner",
          "mode": "target"
        },
        {
          "name": "organization",
          "type": "Organization",
          "mode": "target"
        }
      ],
      "rule": [
        {
          "name": "item",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "(linkId.value = 'sender.dataenterer.practitioner')"
            }
          ],
          "dependent": [
            {
              "name": "SenderDataEntererPractitionerItems",
              "variable": [
                "item",
                "practitioner"
              ]
            }
          ]
        }
      ]
    },
    {
      "name": "ChExtEprDataEnterer",
      "typeMode": "none",
      "input": [
        {
          "name": "src",
          "mode": "source"
        },
        {
          "name": "practitionerRole",
          "type": "PractitionerRole",
          "mode": "target"
        },
        {
          "name": "ext",
          "type": "Extension",
          "mode": "target"
        }
      ],
      "rule": [
        {
          "name": "url",
          "source": [
            {
              "context": "src"
            }
          ],
          "target": [
            {
              "context": "ext",
              "contextType": "variable",
              "element": "url",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-epr-dataenterer"
                }
              ]
            }
          ]
        },
        {
          "name": "practitionerRole",
          "source": [
            {
              "context": "src"
            }
          ],
          "target": [
            {
              "context": "ext",
              "contextType": "variable",
              "element": "extension",
              "variable": "ext"
            },
            {
              "context": "ext",
              "contextType": "variable",
              "element": "url",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "enterer"
                }
              ]
            },
            {
              "context": "ext",
              "contextType": "variable",
              "element": "value",
              "variable": "reference",
              "transform": "create",
              "parameter": [
                {
                  "valueString": "Reference"
                }
              ]
            },
            {
              "context": "reference",
              "contextType": "variable",
              "element": "reference",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "'urn:uuid:' + %practitionerRole.id"
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "name": "SenderAuthorInit",
      "typeMode": "none",
      "input": [
        {
          "name": "src",
          "mode": "source"
        },
        {
          "name": "bundle",
          "type": "Bundle",
          "mode": "target"
        },
        {
          "name": "composition",
          "type": "Composition",
          "mode": "target"
        },
        {
          "name": "serviceRequest",
          "type": "ServiceRequest",
          "mode": "target"
        }
      ],
      "rule": [
        {
          "name": "sender",
          "source": [
            {
              "context": "src"
            }
          ],
          "target": [
            {
              "context": "bundle",
              "contextType": "variable",
              "element": "entry",
              "variable": "e"
            },
            {
              "context": "e",
              "contextType": "variable",
              "element": "resource",
              "variable": "practitionerRole",
              "transform": "create",
              "parameter": [
                {
                  "valueString": "PractitionerRole"
                }
              ]
            },
            {
              "context": "practitionerRole",
              "contextType": "variable",
              "element": "id",
              "variable": "uuid",
              "transform": "uuid"
            },
            {
              "context": "e",
              "contextType": "variable",
              "element": "fullUrl",
              "transform": "append",
              "parameter": [
                {
                  "valueString": "urn:uuid:"
                },
                {
                  "valueId": "uuid"
                }
              ]
            },
            {
              "context": "bundle",
              "contextType": "variable",
              "element": "entry",
              "variable": "e2"
            },
            {
              "context": "e2",
              "contextType": "variable",
              "element": "resource",
              "variable": "practitioner",
              "transform": "create",
              "parameter": [
                {
                  "valueString": "Practitioner"
                }
              ]
            },
            {
              "context": "practitioner",
              "contextType": "variable",
              "element": "id",
              "variable": "uuid2",
              "transform": "uuid"
            },
            {
              "context": "e2",
              "contextType": "variable",
              "element": "fullUrl",
              "transform": "append",
              "parameter": [
                {
                  "valueString": "urn:uuid:"
                },
                {
                  "valueId": "uuid2"
                }
              ]
            },
            {
              "context": "bundle",
              "contextType": "variable",
              "element": "entry",
              "variable": "e3"
            },
            {
              "context": "e3",
              "contextType": "variable",
              "element": "resource",
              "variable": "organization",
              "transform": "create",
              "parameter": [
                {
                  "valueString": "Organization"
                }
              ]
            },
            {
              "context": "organization",
              "contextType": "variable",
              "element": "id",
              "variable": "uuid3",
              "transform": "uuid"
            },
            {
              "context": "e3",
              "contextType": "variable",
              "element": "fullUrl",
              "transform": "append",
              "parameter": [
                {
                  "valueString": "urn:uuid:"
                },
                {
                  "valueId": "uuid3"
                }
              ]
            },
            {
              "context": "composition",
              "contextType": "variable",
              "element": "author",
              "variable": "reference",
              "transform": "create",
              "parameter": [
                {
                  "valueString": "Reference"
                }
              ]
            },
            {
              "context": "reference",
              "contextType": "variable",
              "element": "reference",
              "transform": "append",
              "parameter": [
                {
                  "valueString": "urn:uuid:"
                },
                {
                  "valueId": "uuid"
                }
              ]
            },
            {
              "context": "serviceRequest",
              "contextType": "variable",
              "element": "requester",
              "variable": "reference",
              "transform": "create",
              "parameter": [
                {
                  "valueString": "Reference"
                }
              ]
            },
            {
              "context": "reference",
              "contextType": "variable",
              "element": "reference",
              "transform": "append",
              "parameter": [
                {
                  "valueString": "urn:uuid:"
                },
                {
                  "valueId": "uuid"
                }
              ]
            },
            {
              "context": "practitionerRole",
              "contextType": "variable",
              "element": "practitioner",
              "variable": "reference",
              "transform": "create",
              "parameter": [
                {
                  "valueString": "Reference"
                }
              ]
            },
            {
              "context": "reference",
              "contextType": "variable",
              "element": "reference",
              "transform": "append",
              "parameter": [
                {
                  "valueString": "urn:uuid:"
                },
                {
                  "valueId": "uuid2"
                }
              ]
            },
            {
              "context": "practitionerRole",
              "contextType": "variable",
              "element": "organization",
              "variable": "reference",
              "transform": "create",
              "parameter": [
                {
                  "valueString": "Reference"
                }
              ]
            },
            {
              "context": "reference",
              "contextType": "variable",
              "element": "reference",
              "transform": "append",
              "parameter": [
                {
                  "valueString": "urn:uuid:"
                },
                {
                  "valueId": "uuid3"
                }
              ]
            }
          ],
          "rule": [
            {
              "name": "senderAuthor",
              "source": [
                {
                  "context": "src",
                  "element": "item",
                  "variable": "item",
                  "condition": "(linkId.value = 'sender.author')"
                }
              ],
              "dependent": [
                {
                  "name": "SenderAuthorItems",
                  "variable": [
                    "item",
                    "practitionerRole",
                    "practitioner",
                    "organization"
                  ]
                }
              ]
            },
            {
              "name": "senderDataenterer",
              "source": [
                {
                  "context": "src",
                  "element": "item",
                  "variable": "item",
                  "condition": "(linkId.value = 'sender.dataenterer')"
                }
              ],
              "rule": [
                {
                  "name": "senderDataentererItems",
                  "source": [
                    {
                      "context": "item"
                    }
                  ],
                  "target": [
                    {
                      "context": "bundle",
                      "contextType": "variable",
                      "element": "entry",
                      "variable": "e4"
                    },
                    {
                      "context": "e4",
                      "contextType": "variable",
                      "element": "resource",
                      "variable": "practitionerRoleDataEnterer",
                      "transform": "create",
                      "parameter": [
                        {
                          "valueString": "PractitionerRole"
                        }
                      ]
                    },
                    {
                      "context": "practitionerRoleDataEnterer",
                      "contextType": "variable",
                      "element": "id",
                      "variable": "uuid4",
                      "transform": "uuid"
                    },
                    {
                      "context": "e4",
                      "contextType": "variable",
                      "element": "fullUrl",
                      "transform": "append",
                      "parameter": [
                        {
                          "valueString": "urn:uuid:"
                        },
                        {
                          "valueId": "uuid4"
                        }
                      ]
                    },
                    {
                      "context": "composition",
                      "contextType": "variable",
                      "element": "extension",
                      "variable": "extension"
                    },
                    {
                      "context": "bundle",
                      "contextType": "variable",
                      "element": "entry",
                      "variable": "e5"
                    },
                    {
                      "context": "e5",
                      "contextType": "variable",
                      "element": "resource",
                      "variable": "practitionerDataEnterer",
                      "transform": "create",
                      "parameter": [
                        {
                          "valueString": "Practitioner"
                        }
                      ]
                    },
                    {
                      "context": "practitionerDataEnterer",
                      "contextType": "variable",
                      "element": "id",
                      "variable": "uuid5",
                      "transform": "uuid"
                    },
                    {
                      "context": "e5",
                      "contextType": "variable",
                      "element": "fullUrl",
                      "transform": "append",
                      "parameter": [
                        {
                          "valueString": "urn:uuid:"
                        },
                        {
                          "valueId": "uuid5"
                        }
                      ]
                    },
                    {
                      "context": "practitionerRoleDataEnterer",
                      "contextType": "variable",
                      "element": "practitioner",
                      "variable": "reference",
                      "transform": "create",
                      "parameter": [
                        {
                          "valueString": "Reference"
                        }
                      ]
                    },
                    {
                      "context": "reference",
                      "contextType": "variable",
                      "element": "reference",
                      "transform": "append",
                      "parameter": [
                        {
                          "valueString": "urn:uuid:"
                        },
                        {
                          "valueId": "uuid5"
                        }
                      ]
                    },
                    {
                      "context": "practitionerRoleDataEnterer",
                      "contextType": "variable",
                      "element": "organization",
                      "variable": "reference",
                      "transform": "create",
                      "parameter": [
                        {
                          "valueString": "Reference"
                        }
                      ]
                    },
                    {
                      "context": "reference",
                      "contextType": "variable",
                      "element": "reference",
                      "transform": "append",
                      "parameter": [
                        {
                          "valueString": "urn:uuid:"
                        },
                        {
                          "valueId": "uuid3"
                        }
                      ]
                    }
                  ],
                  "rule": [
                    {
                      "name": "data",
                      "source": [
                        {
                          "context": "item"
                        }
                      ],
                      "dependent": [
                        {
                          "name": "SenderDataEntererItems",
                          "variable": [
                            "item",
                            "practitionerRoleDataEnterer",
                            "practitionerDataEnterer",
                            "organization"
                          ]
                        }
                      ]
                    },
                    {
                      "name": "extension",
                      "source": [
                        {
                          "context": "item"
                        }
                      ],
                      "dependent": [
                        {
                          "name": "ChExtEprDataEnterer",
                          "variable": [
                            "item",
                            "practitionerRoleDataEnterer",
                            "extension"
                          ]
                        }
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "name": "ReceiverCopyRelatedPersonItems",
      "typeMode": "none",
      "input": [
        {
          "name": "src",
          "mode": "source"
        },
        {
          "name": "relatedPerson",
          "type": "RelatedPerson",
          "mode": "target"
        }
      ],
      "rule": [
        {
          "name": "item",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'receiverCopy.relatedPerson.familyName') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "relatedPerson",
              "contextType": "variable",
              "element": "name",
              "variable": "name",
              "listMode": [
                "share"
              ],
              "listRuleId": "name"
            },
            {
              "context": "name",
              "contextType": "variable",
              "element": "family",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            }
          ]
        },
        {
          "name": "item",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'receiverCopy.relatedPerson.givenName') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "relatedPerson",
              "contextType": "variable",
              "element": "name",
              "variable": "name",
              "listMode": [
                "share"
              ],
              "listRuleId": "name"
            },
            {
              "context": "name",
              "contextType": "variable",
              "element": "given",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            }
          ]
        },
        {
          "name": "Phone",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'receiverCopy.relatedPerson.phone') and answer.exists())"
            }
          ],
          "rule": [
            {
              "name": "receiverCopyRelatedPersonPhone",
              "source": [
                {
                  "context": "item",
                  "element": "answer",
                  "variable": "answer"
                }
              ],
              "target": [
                {
                  "context": "relatedPerson",
                  "contextType": "variable",
                  "element": "telecom",
                  "variable": "value"
                },
                {
                  "context": "value",
                  "contextType": "variable",
                  "element": "system",
                  "transform": "copy",
                  "parameter": [
                    {
                      "valueString": "phone"
                    }
                  ]
                },
                {
                  "context": "value",
                  "contextType": "variable",
                  "element": "value",
                  "transform": "evaluate",
                  "parameter": [
                    {
                      "valueString": "%answer.value"
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "name": "receiverCopyRelatedPersonEmail",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'receiverCopy.relatedPerson.email') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "relatedPerson",
              "contextType": "variable",
              "element": "telecom",
              "variable": "value"
            },
            {
              "context": "value",
              "contextType": "variable",
              "element": "system",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "email"
                }
              ]
            },
            {
              "context": "value",
              "contextType": "variable",
              "element": "value",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            }
          ]
        },
        {
          "name": "itemAnswer",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'receiverCopy.relatedPerson.streetAddressLine') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "relatedPerson",
              "contextType": "variable",
              "element": "address",
              "variable": "address",
              "listMode": [
                "share"
              ],
              "listRuleId": "orgAddress"
            }
          ],
          "rule": [
            {
              "name": "receiverCopyRelatedPersonStreetAddressLine",
              "source": [
                {
                  "context": "item",
                  "element": "answer",
                  "variable": "answer"
                }
              ],
              "target": [
                {
                  "context": "address",
                  "contextType": "variable",
                  "element": "line",
                  "transform": "evaluate",
                  "parameter": [
                    {
                      "valueString": "%answer.value"
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "name": "receiverCopyRelatedPersonPostalCode",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'receiverCopy.relatedPerson.postalCode') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "relatedPerson",
              "contextType": "variable",
              "element": "address",
              "variable": "address",
              "listMode": [
                "share"
              ],
              "listRuleId": "orgAddress"
            },
            {
              "context": "address",
              "contextType": "variable",
              "element": "postalCode",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            }
          ]
        },
        {
          "name": "receiverCopyRelatedPersonCity",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'receiverCopy.relatedPerson.city') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "relatedPerson",
              "contextType": "variable",
              "element": "address",
              "variable": "address",
              "listMode": [
                "share"
              ],
              "listRuleId": "orgAddress"
            },
            {
              "context": "address",
              "contextType": "variable",
              "element": "city",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            }
          ]
        },
        {
          "name": "receiverCopyRelatedPersonCountry",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'receiverCopy.relatedPerson.country') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "relatedPerson",
              "contextType": "variable",
              "element": "address",
              "variable": "address",
              "listMode": [
                "share"
              ],
              "listRuleId": "orgAddress"
            },
            {
              "context": "address",
              "contextType": "variable",
              "element": "country",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "name": "ReceiverCopyPractitionerItems",
      "typeMode": "none",
      "input": [
        {
          "name": "src",
          "mode": "source"
        },
        {
          "name": "practitioner",
          "type": "Practitioner",
          "mode": "target"
        }
      ],
      "rule": [
        {
          "name": "item",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'receiverCopy.practitionerRole.practitioner.familyName') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "practitioner",
              "contextType": "variable",
              "element": "name",
              "variable": "name",
              "listMode": [
                "share"
              ],
              "listRuleId": "practitionerName"
            },
            {
              "context": "name",
              "contextType": "variable",
              "element": "family",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            }
          ]
        },
        {
          "name": "item",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'receiverCopy.practitionerRole.practitioner.givenName') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "practitioner",
              "contextType": "variable",
              "element": "name",
              "variable": "name",
              "listMode": [
                "share"
              ],
              "listRuleId": "practitionerName"
            },
            {
              "context": "name",
              "contextType": "variable",
              "element": "given",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            }
          ]
        },
        {
          "name": "receiverCopyPractitionerRolePractitionerTitle",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'receiverCopy.practitionerRole.practitioner.title') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "practitioner",
              "contextType": "variable",
              "element": "name",
              "variable": "name",
              "listMode": [
                "share"
              ],
              "listRuleId": "practitionerName"
            },
            {
              "context": "name",
              "contextType": "variable",
              "element": "prefix",
              "variable": "prefix",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            },
            {
              "context": "prefix",
              "contextType": "variable",
              "element": "extension",
              "variable": "ext"
            },
            {
              "context": "ext",
              "contextType": "variable",
              "element": "url",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "http://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier"
                }
              ]
            },
            {
              "context": "ext",
              "contextType": "variable",
              "element": "value",
              "variable": "value",
              "transform": "create",
              "parameter": [
                {
                  "valueString": "code"
                }
              ]
            },
            {
              "context": "value",
              "contextType": "variable",
              "element": "value",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "AC"
                }
              ]
            }
          ]
        },
        {
          "name": "receiverCopyPractitionerRolePractitionerPhone",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'receiverCopy.practitionerRole.practitioner.phone') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "practitioner",
              "contextType": "variable",
              "element": "telecom",
              "variable": "value"
            },
            {
              "context": "value",
              "contextType": "variable",
              "element": "system",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "phone"
                }
              ]
            },
            {
              "context": "value",
              "contextType": "variable",
              "element": "value",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            }
          ]
        },
        {
          "name": "receiverCopyPractitionerRolePractitionerEmail",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'receiverCopy.practitionerRole.practitioner.email') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "practitioner",
              "contextType": "variable",
              "element": "telecom",
              "variable": "value"
            },
            {
              "context": "value",
              "contextType": "variable",
              "element": "system",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "email"
                }
              ]
            },
            {
              "context": "value",
              "contextType": "variable",
              "element": "value",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "name": "ReceiverCopyOrganizationItems",
      "typeMode": "none",
      "input": [
        {
          "name": "src",
          "mode": "source"
        },
        {
          "name": "organization",
          "type": "Organization",
          "mode": "target"
        }
      ],
      "rule": [
        {
          "name": "item",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'receiverCopy.practitionerRole.organization.name') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "organization",
              "contextType": "variable",
              "element": "name",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            }
          ]
        },
        {
          "name": "itemAnswer",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'receiverCopy.practitionerRole.organization.streetAddressLine') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "organization",
              "contextType": "variable",
              "element": "address",
              "variable": "address",
              "listMode": [
                "share"
              ],
              "listRuleId": "orgAddress"
            }
          ],
          "rule": [
            {
              "name": "receiverCopyPractitionerRoleOrganizationStreetAddressLine",
              "source": [
                {
                  "context": "item",
                  "element": "answer",
                  "variable": "answer"
                }
              ],
              "target": [
                {
                  "context": "address",
                  "contextType": "variable",
                  "element": "line",
                  "transform": "evaluate",
                  "parameter": [
                    {
                      "valueString": "%answer.value"
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "name": "receiverCopyPractitionerRoleOrganizationPostalCode",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'receiverCopy.practitionerRole.organization.postalCode') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "organization",
              "contextType": "variable",
              "element": "address",
              "variable": "address",
              "listMode": [
                "share"
              ],
              "listRuleId": "orgAddress"
            },
            {
              "context": "address",
              "contextType": "variable",
              "element": "postalCode",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            }
          ]
        },
        {
          "name": "receiverCopyPractitionerRoleOrganizationCity",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'receiverCopy.practitionerRole.organization.city') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "organization",
              "contextType": "variable",
              "element": "address",
              "variable": "address",
              "listMode": [
                "share"
              ],
              "listRuleId": "orgAddress"
            },
            {
              "context": "address",
              "contextType": "variable",
              "element": "city",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            }
          ]
        },
        {
          "name": "receiverCopyPractitionerRoleOrganizationCountry",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "((linkId.value = 'receiverCopy.practitionerRole.organization.country') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "organization",
              "contextType": "variable",
              "element": "address",
              "variable": "address",
              "listMode": [
                "share"
              ],
              "listRuleId": "orgAddress"
            },
            {
              "context": "address",
              "contextType": "variable",
              "element": "country",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "name": "ReceiverCopyPractitionerRoleItems",
      "typeMode": "none",
      "input": [
        {
          "name": "src",
          "mode": "source"
        },
        {
          "name": "bundle",
          "type": "Bundle",
          "mode": "target"
        },
        {
          "name": "practitionerRole",
          "type": "PractitionerRole",
          "mode": "target"
        }
      ],
      "rule": [
        {
          "name": "item",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "(linkId.value = 'receiverCopy.practitionerRole.practitioner')"
            }
          ],
          "target": [
            {
              "context": "bundle",
              "contextType": "variable",
              "element": "entry",
              "variable": "e2"
            },
            {
              "context": "e2",
              "contextType": "variable",
              "element": "resource",
              "variable": "practitioner",
              "transform": "create",
              "parameter": [
                {
                  "valueString": "Practitioner"
                }
              ]
            },
            {
              "context": "practitioner",
              "contextType": "variable",
              "element": "id",
              "variable": "uuid2",
              "transform": "uuid"
            },
            {
              "context": "practitionerRole",
              "contextType": "variable",
              "element": "practitioner",
              "variable": "reference",
              "transform": "create",
              "parameter": [
                {
                  "valueString": "Reference"
                }
              ]
            },
            {
              "context": "reference",
              "contextType": "variable",
              "element": "reference",
              "transform": "append",
              "parameter": [
                {
                  "valueString": "urn:uuid:"
                },
                {
                  "valueId": "uuid2"
                }
              ]
            },
            {
              "context": "e2",
              "contextType": "variable",
              "element": "fullUrl",
              "transform": "append",
              "parameter": [
                {
                  "valueString": "urn:uuid:"
                },
                {
                  "valueId": "uuid2"
                }
              ]
            }
          ],
          "dependent": [
            {
              "name": "ReceiverCopyPractitionerItems",
              "variable": [
                "item",
                "practitioner"
              ]
            }
          ]
        },
        {
          "name": "item",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "item",
              "condition": "(linkId.value = 'receiverCopy.practitionerRole.organization')"
            }
          ],
          "target": [
            {
              "context": "bundle",
              "contextType": "variable",
              "element": "entry",
              "variable": "e3"
            },
            {
              "context": "e3",
              "contextType": "variable",
              "element": "resource",
              "variable": "organization",
              "transform": "create",
              "parameter": [
                {
                  "valueString": "Organization"
                }
              ]
            },
            {
              "context": "organization",
              "contextType": "variable",
              "element": "id",
              "variable": "uuid3",
              "transform": "uuid"
            },
            {
              "context": "practitionerRole",
              "contextType": "variable",
              "element": "organization",
              "variable": "reference",
              "transform": "create",
              "parameter": [
                {
                  "valueString": "Reference"
                }
              ]
            },
            {
              "context": "reference",
              "contextType": "variable",
              "element": "reference",
              "transform": "append",
              "parameter": [
                {
                  "valueString": "urn:uuid:"
                },
                {
                  "valueId": "uuid3"
                }
              ]
            },
            {
              "context": "e3",
              "contextType": "variable",
              "element": "fullUrl",
              "transform": "append",
              "parameter": [
                {
                  "valueString": "urn:uuid:"
                },
                {
                  "valueId": "uuid3"
                }
              ]
            }
          ],
          "dependent": [
            {
              "name": "ReceiverCopyOrganizationItems",
              "variable": [
                "item",
                "organization"
              ]
            }
          ]
        }
      ]
    },
    {
      "name": "ExtOrfCopyReceiverPatient",
      "typeMode": "none",
      "input": [
        {
          "name": "src",
          "mode": "source"
        },
        {
          "name": "patient",
          "type": "Patient",
          "mode": "target"
        },
        {
          "name": "ext",
          "type": "Extension",
          "mode": "target"
        }
      ],
      "rule": [
        {
          "name": "url",
          "source": [
            {
              "context": "src"
            }
          ],
          "target": [
            {
              "context": "ext",
              "contextType": "variable",
              "element": "url",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "http://fhir.ch/ig/ch-orf/StructureDefinition/ch-orf-copyreceiver"
                }
              ]
            }
          ]
        },
        {
          "name": "patient",
          "source": [
            {
              "context": "src"
            }
          ],
          "target": [
            {
              "context": "ext",
              "contextType": "variable",
              "element": "value",
              "variable": "reference",
              "transform": "create",
              "parameter": [
                {
                  "valueString": "Reference"
                }
              ]
            },
            {
              "context": "reference",
              "contextType": "variable",
              "element": "reference",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "'urn:uuid:' + %patient.id"
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "name": "ExtOrfCopyReceiverPractitionerRole",
      "typeMode": "none",
      "input": [
        {
          "name": "src",
          "mode": "source"
        },
        {
          "name": "res",
          "type": "PractitionerRole",
          "mode": "target"
        },
        {
          "name": "ext",
          "type": "Extension",
          "mode": "target"
        }
      ],
      "rule": [
        {
          "name": "url",
          "source": [
            {
              "context": "src"
            }
          ],
          "target": [
            {
              "context": "ext",
              "contextType": "variable",
              "element": "url",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "http://fhir.ch/ig/ch-orf/StructureDefinition/ch-orf-copyreceiver"
                }
              ]
            }
          ]
        },
        {
          "name": "organization",
          "source": [
            {
              "context": "src"
            }
          ],
          "target": [
            {
              "context": "ext",
              "contextType": "variable",
              "element": "value",
              "variable": "reference",
              "transform": "create",
              "parameter": [
                {
                  "valueString": "Reference"
                }
              ]
            },
            {
              "context": "reference",
              "contextType": "variable",
              "element": "reference",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "'urn:uuid:' + %res.id"
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "name": "ExtOrfCopyReceiverRelatedPerson",
      "typeMode": "none",
      "input": [
        {
          "name": "src",
          "mode": "source"
        },
        {
          "name": "res",
          "type": "RelatedPerson",
          "mode": "target"
        },
        {
          "name": "ext",
          "type": "Extension",
          "mode": "target"
        }
      ],
      "rule": [
        {
          "name": "url",
          "source": [
            {
              "context": "src"
            }
          ],
          "target": [
            {
              "context": "ext",
              "contextType": "variable",
              "element": "url",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "http://fhir.ch/ig/ch-orf/StructureDefinition/ch-orf-copyreceiver"
                }
              ]
            }
          ]
        },
        {
          "name": "organization",
          "source": [
            {
              "context": "src"
            }
          ],
          "target": [
            {
              "context": "ext",
              "contextType": "variable",
              "element": "value",
              "variable": "reference",
              "transform": "create",
              "parameter": [
                {
                  "valueString": "Reference"
                }
              ]
            },
            {
              "context": "reference",
              "contextType": "variable",
              "element": "reference",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "'urn:uuid:' + %res.id"
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "name": "ReceiverCopy",
      "typeMode": "none",
      "input": [
        {
          "name": "grp",
          "mode": "source"
        },
        {
          "name": "bundle",
          "type": "Bundle",
          "mode": "target"
        },
        {
          "name": "patient",
          "type": "Patient",
          "mode": "target"
        },
        {
          "name": "composition",
          "type": "Composition",
          "mode": "target"
        },
        {
          "name": "serviceRequest",
          "type": "ServiceRequest",
          "mode": "target"
        }
      ],
      "rule": [
        {
          "name": "receiverCopyPractitionerRole1",
          "source": [
            {
              "context": "grp",
              "element": "item",
              "variable": "item",
              "condition": "(linkId = 'receiverCopy.practitionerRole')"
            }
          ],
          "target": [
            {
              "context": "bundle",
              "contextType": "variable",
              "element": "entry",
              "variable": "e4"
            },
            {
              "context": "e4",
              "contextType": "variable",
              "element": "resource",
              "variable": "practitionerrole",
              "transform": "create",
              "parameter": [
                {
                  "valueString": "PractitionerRole"
                }
              ]
            },
            {
              "context": "composition",
              "contextType": "variable",
              "element": "extension",
              "variable": "extension"
            },
            {
              "context": "practitionerrole",
              "contextType": "variable",
              "element": "id",
              "variable": "uuid4",
              "transform": "uuid"
            },
            {
              "context": "e4",
              "contextType": "variable",
              "element": "fullUrl",
              "transform": "append",
              "parameter": [
                {
                  "valueString": "urn:uuid:"
                },
                {
                  "valueId": "uuid4"
                }
              ]
            }
          ],
          "rule": [
            {
              "name": "data",
              "source": [
                {
                  "context": "item"
                }
              ],
              "dependent": [
                {
                  "name": "ReceiverCopyPractitionerRoleItems",
                  "variable": [
                    "item",
                    "bundle",
                    "practitionerrole"
                  ]
                }
              ]
            },
            {
              "name": "extension",
              "source": [
                {
                  "context": "item"
                }
              ],
              "dependent": [
                {
                  "name": "ExtOrfCopyReceiverPractitionerRole",
                  "variable": [
                    "item",
                    "practitionerrole",
                    "extension"
                  ]
                }
              ]
            }
          ]
        },
        {
          "name": "receiverCopyPatient",
          "source": [
            {
              "context": "grp",
              "element": "item",
              "variable": "item",
              "condition": "(linkId = 'receiverCopy.patient')"
            }
          ],
          "target": [
            {
              "context": "composition",
              "contextType": "variable",
              "element": "extension",
              "variable": "extension"
            }
          ],
          "rule": [
            {
              "name": "extension",
              "source": [
                {
                  "context": "item"
                }
              ],
              "dependent": [
                {
                  "name": "ExtOrfCopyReceiverPatient",
                  "variable": [
                    "item",
                    "patient",
                    "extension"
                  ]
                }
              ]
            }
          ]
        },
        {
          "name": "receiverCopyRelatedPerson",
          "source": [
            {
              "context": "grp",
              "element": "item",
              "variable": "item",
              "condition": "(linkId = 'receiverCopy.relatedPerson')"
            }
          ],
          "target": [
            {
              "context": "bundle",
              "contextType": "variable",
              "element": "entry",
              "variable": "e4"
            },
            {
              "context": "e4",
              "contextType": "variable",
              "element": "resource",
              "variable": "relatedPerson",
              "transform": "create",
              "parameter": [
                {
                  "valueString": "RelatedPerson"
                }
              ]
            },
            {
              "context": "composition",
              "contextType": "variable",
              "element": "extension",
              "variable": "extension"
            },
            {
              "context": "relatedPerson",
              "contextType": "variable",
              "element": "id",
              "variable": "uuid4",
              "transform": "uuid"
            },
            {
              "context": "relatedPerson",
              "contextType": "variable",
              "element": "patient",
              "variable": "reference"
            },
            {
              "context": "reference",
              "contextType": "variable",
              "element": "reference",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "'urn:uuid:' + %patient.id"
                }
              ]
            },
            {
              "context": "e4",
              "contextType": "variable",
              "element": "fullUrl",
              "transform": "append",
              "parameter": [
                {
                  "valueString": "urn:uuid:"
                },
                {
                  "valueId": "uuid4"
                }
              ]
            }
          ],
          "rule": [
            {
              "name": "data",
              "source": [
                {
                  "context": "item"
                }
              ],
              "dependent": [
                {
                  "name": "ReceiverCopyRelatedPersonItems",
                  "variable": [
                    "item",
                    "relatedPerson"
                  ]
                }
              ]
            },
            {
              "name": "extension",
              "source": [
                {
                  "context": "item"
                }
              ],
              "dependent": [
                {
                  "name": "ExtOrfCopyReceiverRelatedPerson",
                  "variable": [
                    "item",
                    "relatedPerson",
                    "extension"
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "name": "Appointment",
      "typeMode": "none",
      "input": [
        {
          "name": "grp",
          "mode": "source"
        },
        {
          "name": "bundle",
          "type": "Bundle",
          "mode": "target"
        },
        {
          "name": "composition",
          "type": "Composition",
          "mode": "target"
        },
        {
          "name": "serviceRequest",
          "type": "ServiceRequest",
          "mode": "target"
        }
      ],
      "rule": [
        {
          "name": "Appointment",
          "source": [
            {
              "context": "grp"
            }
          ],
          "target": [
            {
              "context": "bundle",
              "contextType": "variable",
              "element": "entry",
              "variable": "e4"
            },
            {
              "context": "e4",
              "contextType": "variable",
              "element": "resource",
              "variable": "appointment",
              "transform": "create",
              "parameter": [
                {
                  "valueString": "Appointment"
                }
              ]
            },
            {
              "context": "appointment",
              "contextType": "variable",
              "element": "id",
              "variable": "uuid4",
              "transform": "uuid"
            },
            {
              "context": "e4",
              "contextType": "variable",
              "element": "fullUrl",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "'urn:uuid:' + %uuid4"
                }
              ]
            },
            {
              "context": "serviceRequest",
              "contextType": "variable",
              "element": "extension",
              "variable": "extension"
            },
            {
              "context": "extension",
              "contextType": "variable",
              "element": "url",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "http://fhir.ch/ig/ch-orf/StructureDefinition/ch-orf-locationandtime"
                }
              ]
            },
            {
              "context": "extension",
              "contextType": "variable",
              "element": "value",
              "variable": "reference",
              "transform": "create",
              "parameter": [
                {
                  "valueString": "Reference"
                }
              ]
            },
            {
              "context": "reference",
              "contextType": "variable",
              "element": "reference",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "'urn:uuid:' + %uuid4"
                }
              ]
            }
          ],
          "rule": [
            {
              "name": "proposed",
              "source": [
                {
                  "context": "grp",
                  "element": "item",
                  "variable": "item",
                  "condition": "((linkId.value = 'appointment.status') and (answer.value.code = 'proposed'))"
                }
              ],
              "target": [
                {
                  "context": "appointment",
                  "contextType": "variable",
                  "element": "status",
                  "transform": "evaluate",
                  "parameter": [
                    {
                      "valueString": "%item.answer.value.code"
                    }
                  ]
                }
              ],
              "rule": [
                {
                  "name": "appointmentRequestedPeriod",
                  "source": [
                    {
                      "context": "grp",
                      "element": "item",
                      "variable": "itemp",
                      "condition": "(linkId.value = 'appointment.requestedPeriod')"
                    }
                  ],
                  "rule": [
                    {
                      "name": "appointmentRequestedPeriodStart",
                      "source": [
                        {
                          "context": "itemp",
                          "element": "item",
                          "variable": "item2",
                          "condition": "((linkId.value = 'appointment.requestedPeriod.start') and answer.exists())"
                        }
                      ],
                      "target": [
                        {
                          "context": "appointment",
                          "contextType": "variable",
                          "element": "requestedPeriod",
                          "variable": "requestedPeriod"
                        },
                        {
                          "context": "requestedPeriod",
                          "contextType": "variable",
                          "element": "start",
                          "transform": "evaluate",
                          "parameter": [
                            {
                              "valueString": "%item2.answer.value"
                            }
                          ]
                        },
                        {
                          "context": "requestedPeriod",
                          "contextType": "variable",
                          "element": "end",
                          "transform": "evaluate",
                          "parameter": [
                            {
                              "valueString": "%item2.answer.value"
                            }
                          ]
                        }
                      ],
                      "rule": [
                        {
                          "name": "appointmentRequestedPeriodendifnotsameasstart",
                          "source": [
                            {
                              "context": "itemp",
                              "element": "item",
                              "variable": "item3",
                              "condition": "((linkId.value = 'appointment.requestedPeriod.end') and answer.exists())"
                            }
                          ],
                          "target": [
                            {
                              "context": "requestedPeriod",
                              "contextType": "variable",
                              "element": "end",
                              "transform": "evaluate",
                              "parameter": [
                                {
                                  "valueString": "%item3.answer.value"
                                }
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ]
                }
              ]
            },
            {
              "name": "pendingorbooked",
              "source": [
                {
                  "context": "grp",
                  "element": "item",
                  "variable": "item",
                  "condition": "((linkId.value = 'appointment.status') and ((answer.value.code = 'pending') or (answer.value.code = 'booked')))"
                }
              ],
              "target": [
                {
                  "context": "appointment",
                  "contextType": "variable",
                  "element": "status",
                  "transform": "evaluate",
                  "parameter": [
                    {
                      "valueString": "%item.answer.value.code"
                    }
                  ]
                }
              ],
              "rule": [
                {
                  "name": "appointmentStartend",
                  "source": [
                    {
                      "context": "grp",
                      "element": "item",
                      "variable": "itemp",
                      "condition": "(linkId.value = 'appointment.requestedPeriod')"
                    }
                  ],
                  "rule": [
                    {
                      "name": "appointmentStart",
                      "source": [
                        {
                          "context": "itemp",
                          "element": "item",
                          "variable": "item2",
                          "condition": "((linkId.value = 'appointment.requestedPeriod.start') and answer.exists())"
                        }
                      ],
                      "target": [
                        {
                          "context": "appointment",
                          "contextType": "variable",
                          "element": "start",
                          "transform": "evaluate",
                          "parameter": [
                            {
                              "valueString": "%item2.answer.value"
                            }
                          ]
                        },
                        {
                          "context": "appointment",
                          "contextType": "variable",
                          "element": "end",
                          "transform": "evaluate",
                          "parameter": [
                            {
                              "valueString": "%item2.answer.value"
                            }
                          ]
                        }
                      ],
                      "rule": [
                        {
                          "name": "appointmentendifnotsameasstart",
                          "source": [
                            {
                              "context": "itemp",
                              "element": "item",
                              "variable": "item3",
                              "condition": "((linkId.value = 'appointment.requestedPeriod.end') and answer.exists())"
                            }
                          ],
                          "target": [
                            {
                              "context": "appointment",
                              "contextType": "variable",
                              "element": "end",
                              "transform": "evaluate",
                              "parameter": [
                                {
                                  "valueString": "%item3.answer.value"
                                }
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ]
                }
              ]
            },
            {
              "name": "appointmentPatientInstruction",
              "source": [
                {
                  "context": "grp",
                  "element": "item",
                  "variable": "item",
                  "condition": "((linkId.value = 'appointment.patientInstruction') and answer.exists())"
                }
              ],
              "target": [
                {
                  "context": "appointment",
                  "contextType": "variable",
                  "element": "patientInstruction",
                  "transform": "evaluate",
                  "parameter": [
                    {
                      "valueString": "%item.answer.value"
                    }
                  ]
                }
              ]
            },
            {
              "name": "appointmentLocation",
              "source": [
                {
                  "context": "grp",
                  "element": "item",
                  "variable": "item",
                  "condition": "(linkId.value = 'appointment.location')"
                }
              ],
              "rule": [
                {
                  "name": "location",
                  "source": [
                    {
                      "context": "item"
                    }
                  ],
                  "target": [
                    {
                      "context": "bundle",
                      "contextType": "variable",
                      "element": "entry",
                      "variable": "e5"
                    },
                    {
                      "context": "e5",
                      "contextType": "variable",
                      "element": "resource",
                      "variable": "location",
                      "transform": "create",
                      "parameter": [
                        {
                          "valueString": "Location"
                        }
                      ]
                    },
                    {
                      "context": "location",
                      "contextType": "variable",
                      "element": "id",
                      "variable": "uuid5",
                      "transform": "uuid"
                    },
                    {
                      "context": "e5",
                      "contextType": "variable",
                      "element": "fullUrl",
                      "transform": "evaluate",
                      "parameter": [
                        {
                          "valueString": "'urn:uuid:' + %uuid5"
                        }
                      ]
                    },
                    {
                      "context": "appointment",
                      "contextType": "variable",
                      "element": "participant",
                      "variable": "participant"
                    },
                    {
                      "context": "participant",
                      "contextType": "variable",
                      "element": "status",
                      "transform": "copy",
                      "parameter": [
                        {
                          "valueString": "tentative"
                        }
                      ]
                    },
                    {
                      "context": "participant",
                      "contextType": "variable",
                      "element": "actor",
                      "variable": "actor",
                      "transform": "create",
                      "parameter": [
                        {
                          "valueString": "Reference"
                        }
                      ]
                    },
                    {
                      "context": "actor",
                      "contextType": "variable",
                      "element": "reference",
                      "transform": "evaluate",
                      "parameter": [
                        {
                          "valueString": "'urn:uuid:' + %location.id"
                        }
                      ]
                    }
                  ],
                  "rule": [
                    {
                      "name": "item",
                      "source": [
                        {
                          "context": "item",
                          "element": "item",
                          "variable": "item3",
                          "condition": "((linkId.value = 'appointment.location.name') and answer.exists())"
                        }
                      ],
                      "target": [
                        {
                          "context": "location",
                          "contextType": "variable",
                          "element": "name",
                          "transform": "evaluate",
                          "parameter": [
                            {
                              "valueString": "%item3.answer.value"
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "name": "appointmentLocationPhone",
                      "source": [
                        {
                          "context": "item",
                          "element": "item",
                          "variable": "item3",
                          "condition": "((linkId.value = 'appointment.location.phone') and answer.exists())"
                        }
                      ],
                      "target": [
                        {
                          "context": "location",
                          "contextType": "variable",
                          "element": "telecom",
                          "variable": "value"
                        },
                        {
                          "context": "value",
                          "contextType": "variable",
                          "element": "system",
                          "transform": "copy",
                          "parameter": [
                            {
                              "valueString": "phone"
                            }
                          ]
                        },
                        {
                          "context": "value",
                          "contextType": "variable",
                          "element": "value",
                          "transform": "evaluate",
                          "parameter": [
                            {
                              "valueString": "%item3.answer.value"
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "name": "appointmentLocationEmail",
                      "source": [
                        {
                          "context": "item",
                          "element": "item",
                          "variable": "item3",
                          "condition": "((linkId.value = 'appointment.location.email') and answer.exists())"
                        }
                      ],
                      "target": [
                        {
                          "context": "location",
                          "contextType": "variable",
                          "element": "telecom",
                          "variable": "value"
                        },
                        {
                          "context": "value",
                          "contextType": "variable",
                          "element": "system",
                          "transform": "copy",
                          "parameter": [
                            {
                              "valueString": "email"
                            }
                          ]
                        },
                        {
                          "context": "value",
                          "contextType": "variable",
                          "element": "value",
                          "transform": "evaluate",
                          "parameter": [
                            {
                              "valueString": "%item3.answer.value"
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "name": "appointmentLocationStreetAddressLine",
                      "source": [
                        {
                          "context": "item",
                          "element": "item",
                          "variable": "item3",
                          "condition": "((linkId.value = 'appointment.location.streetAddressLine') and answer.exists())"
                        }
                      ],
                      "target": [
                        {
                          "context": "location",
                          "contextType": "variable",
                          "element": "address",
                          "variable": "address",
                          "listMode": [
                            "share"
                          ],
                          "listRuleId": "orgAddress"
                        }
                      ],
                      "rule": [
                        {
                          "name": "line",
                          "source": [
                            {
                              "context": "item",
                              "element": "answer",
                              "variable": "answer"
                            }
                          ],
                          "target": [
                            {
                              "context": "address",
                              "contextType": "variable",
                              "element": "line",
                              "transform": "evaluate",
                              "parameter": [
                                {
                                  "valueString": "%answer.value"
                                }
                              ]
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "name": "appointmentLocationPostalCode",
                      "source": [
                        {
                          "context": "item",
                          "element": "item",
                          "variable": "item3",
                          "condition": "((linkId.value = 'appointment.location.postalCode') and answer.exists())"
                        }
                      ],
                      "target": [
                        {
                          "context": "location",
                          "contextType": "variable",
                          "element": "address",
                          "variable": "address",
                          "listMode": [
                            "share"
                          ],
                          "listRuleId": "orgAddress"
                        },
                        {
                          "context": "address",
                          "contextType": "variable",
                          "element": "postalCode",
                          "transform": "evaluate",
                          "parameter": [
                            {
                              "valueString": "%item3.answer.value"
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "name": "appointmentlocationCity",
                      "source": [
                        {
                          "context": "item",
                          "element": "item",
                          "variable": "item3",
                          "condition": "((linkId.value = 'appointment.location.city') and answer.exists())"
                        }
                      ],
                      "target": [
                        {
                          "context": "location",
                          "contextType": "variable",
                          "element": "address",
                          "variable": "address",
                          "listMode": [
                            "share"
                          ],
                          "listRuleId": "orgAddress"
                        },
                        {
                          "context": "address",
                          "contextType": "variable",
                          "element": "city",
                          "transform": "evaluate",
                          "parameter": [
                            {
                              "valueString": "%item3.answer.value"
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "name": "appointmentLocationCountry",
                      "source": [
                        {
                          "context": "item",
                          "element": "item",
                          "variable": "item3",
                          "condition": "((linkId.value = 'appointment.location.country') and answer.exists())"
                        }
                      ],
                      "target": [
                        {
                          "context": "location",
                          "contextType": "variable",
                          "element": "address",
                          "variable": "address",
                          "listMode": [
                            "share"
                          ],
                          "listRuleId": "orgAddress"
                        },
                        {
                          "context": "address",
                          "contextType": "variable",
                          "element": "country",
                          "transform": "evaluate",
                          "parameter": [
                            {
                              "valueString": "%item3.answer.value"
                            }
                          ]
                        }
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "name": "Note",
      "typeMode": "none",
      "input": [
        {
          "name": "grp",
          "mode": "source"
        },
        {
          "name": "serviceRequest",
          "type": "ServiceRequest",
          "mode": "target"
        }
      ],
      "rule": [
        {
          "name": "noteText",
          "source": [
            {
              "context": "grp",
              "element": "item",
              "variable": "item",
              "condition": "((linkId = 'note.text') and answer.exists())"
            }
          ],
          "target": [
            {
              "context": "serviceRequest",
              "contextType": "variable",
              "element": "note",
              "variable": "note"
            },
            {
              "context": "note",
              "contextType": "variable",
              "element": "text",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "%item.answer.value"
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "name": "QrToBundle",
      "typeMode": "none",
      "input": [
        {
          "name": "qr",
          "type": "QuestionnaireResponseSource",
          "mode": "source"
        },
        {
          "name": "patient",
          "type": "Patient",
          "mode": "target"
        },
        {
          "name": "questionnaireresp",
          "type": "QuestionnaireResponse",
          "mode": "target"
        },
        {
          "name": "servicerequest",
          "type": "ServiceRequest",
          "mode": "target"
        },
        {
          "name": "composition",
          "type": "Composition",
          "mode": "target"
        },
        {
          "name": "bundle",
          "type": "Bundle",
          "mode": "target"
        }
      ],
      "rule": [
        {
          "name": "id",
          "source": [
            {
              "context": "qr"
            }
          ],
          "target": [
            {
              "context": "bundle",
              "contextType": "variable",
              "element": "id",
              "transform": "uuid"
            }
          ]
        },
        {
          "name": "type",
          "source": [
            {
              "context": "qr"
            }
          ],
          "target": [
            {
              "context": "bundle",
              "contextType": "variable",
              "element": "type",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "document"
                }
              ]
            }
          ]
        },
        {
          "name": "composition",
          "source": [
            {
              "context": "qr"
            }
          ],
          "dependent": [
            {
              "name": "OrfComposition",
              "variable": [
                "qr",
                "composition",
                "patient",
                "questionnaireresp",
                "servicerequest",
                "bundle"
              ]
            }
          ]
        },
        {
          "name": "qrgroups",
          "source": [
            {
              "context": "qr"
            }
          ],
          "dependent": [
            {
              "name": "QrToGroups",
              "variable": [
                "qr",
                "patient",
                "bundle",
                "composition",
                "servicerequest"
              ]
            }
          ]
        }
      ]
    },
    {
      "name": "OrfComposition",
      "typeMode": "none",
      "documentation": "group OrfComposition(source qr : QuestionnaireResponseSource, target q: Questionnaire, target tgt : Composition, target patient: Patient, target questionnaireresp: QuestionnaireResponse, target servicerequest: ServiceRequest, target bundle : Bundle) {",
      "input": [
        {
          "name": "qr",
          "type": "QuestionnaireResponseSource",
          "mode": "source"
        },
        {
          "name": "tgt",
          "type": "Composition",
          "mode": "target"
        },
        {
          "name": "patient",
          "type": "Patient",
          "mode": "target"
        },
        {
          "name": "questionnaireresp",
          "type": "QuestionnaireResponse",
          "mode": "target"
        },
        {
          "name": "servicerequest",
          "type": "ServiceRequest",
          "mode": "target"
        },
        {
          "name": "bundle",
          "type": "Bundle",
          "mode": "target"
        }
      ],
      "rule": [
        {
          "name": "status",
          "source": [
            {
              "context": "qr"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "contextType": "variable",
              "element": "status",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "final"
                }
              ]
            }
          ]
        },
        {
          "name": "subject",
          "source": [
            {
              "context": "qr"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "contextType": "variable",
              "element": "subject",
              "variable": "reference",
              "transform": "create",
              "parameter": [
                {
                  "valueString": "Reference"
                }
              ]
            },
            {
              "context": "reference",
              "contextType": "variable",
              "element": "reference",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "'urn:uuid:' + %patient.id"
                }
              ]
            }
          ]
        },
        {
          "name": "sections",
          "source": [
            {
              "context": "qr"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "contextType": "variable",
              "element": "section",
              "variable": "tgtSection"
            },
            {
              "context": "tgtSection",
              "contextType": "variable",
              "element": "title",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "Order-Referral"
                }
              ]
            },
            {
              "context": "tgtSection",
              "contextType": "variable",
              "element": "code",
              "variable": "code"
            },
            {
              "context": "code",
              "contextType": "variable",
              "element": "coding",
              "variable": "coding"
            },
            {
              "context": "coding",
              "contextType": "variable",
              "element": "system",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "http://loinc.org"
                }
              ]
            },
            {
              "context": "coding",
              "contextType": "variable",
              "element": "code",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "93037-0"
                }
              ]
            },
            {
              "context": "coding",
              "contextType": "variable",
              "element": "display",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "Portable medical order form"
                }
              ]
            },
            {
              "context": "tgtSection",
              "contextType": "variable",
              "element": "entry",
              "variable": "reference",
              "transform": "create",
              "parameter": [
                {
                  "valueString": "Reference"
                }
              ]
            },
            {
              "context": "reference",
              "contextType": "variable",
              "element": "reference",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "'urn:uuid:' + %questionnaireresp.id"
                }
              ]
            },
            {
              "context": "tgtSection",
              "contextType": "variable",
              "element": "entry",
              "variable": "reference",
              "transform": "create",
              "parameter": [
                {
                  "valueString": "Reference"
                }
              ]
            },
            {
              "context": "reference",
              "contextType": "variable",
              "element": "reference",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "'urn:uuid:' + %servicerequest.id"
                }
              ]
            }
          ]
        },
        {
          "name": "servicerequest",
          "source": [
            {
              "context": "qr"
            }
          ],
          "target": [
            {
              "context": "servicerequest",
              "contextType": "variable",
              "element": "status",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "active"
                }
              ]
            },
            {
              "context": "servicerequest",
              "contextType": "variable",
              "element": "intent",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "order"
                }
              ]
            },
            {
              "context": "servicerequest",
              "contextType": "variable",
              "element": "subject",
              "variable": "reference",
              "transform": "create",
              "parameter": [
                {
                  "valueString": "Reference"
                }
              ]
            },
            {
              "context": "reference",
              "contextType": "variable",
              "element": "reference",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "'urn:uuid:' + %patient.id"
                }
              ]
            }
          ]
        }
      ]
    }
  ]
}