CDA to FHIR Maps - Local Development build (v0.1.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions
Draft as of 2024-04-11 |
<StructureMap xmlns="http://hl7.org/fhir">
<id value="cda2fhirPs"/>
<text>
<status value="generated"/>
<div xmlns="http://www.w3.org/1999/xhtml">
<pre>map "http://hl7.it/fhir/cda2fhir/StructureMap/cda2fhirPs" = "cda2fhirPs"
uses "http://hl7.org/fhir/cda/StructureDefinition/ClinicalDocument" alias ClinicalDocument as source
uses "http://hl7.org/fhir/cda/StructureDefinition/AssignedAuthor" alias AssignedAuthor as queried
uses "http://hl7.org/fhir/cda/StructureDefinition/AssignedEntity" alias AssignedEntity as queried
uses "http://hl7.org/fhir/cda/StructureDefinition/AssociatedEntity" alias AssociatedEntity as queried
uses "http://hl7.org/fhir/cda/StructureDefinition/CustodianOrganization" alias CustodianOrganization as queried
uses "http://hl7.org/fhir/cda/StructureDefinition/OrganizationPartOf" alias OrganizationPartOf as queried
uses "http://hl7.org/fhir/cda/StructureDefinition/Organization" alias rapresentedOrganization as queried
uses "http://hl7.org/fhir/cda/StructureDefinition/Section" alias Section as queried
uses "http://hl7.org/fhir/cda/StructureDefinition/PatientRole" alias PatientRole as queried
uses "http://hl7.org/fhir/cda/StructureDefinition/AD" alias AD as source
uses "http://hl7.org/fhir/StructureDefinition/Bundle" alias Bundle as target
uses "http://hl7.org/fhir/StructureDefinition/Composition" alias Composition as produced
uses "http://hl7.org/fhir/StructureDefinition/Patient" alias Patient as produced
uses "http://hl7.org/fhir/StructureDefinition/Encounter" alias Encounter as produced
uses "http://hl7.org/fhir/StructureDefinition/Person" alias Patient as produced
uses "http://hl7.org/fhir/StructureDefinition/List" alias List as produced
uses "http://hl7.org/fhir/StructureDefinition/Practitioner" alias Practitioner as produced
uses "http://hl7.org/fhir/StructureDefinition/Organization" alias Organization as produced
uses "http://hl7.org/fhir/cda/StructureDefinition/Act" alias Act as produced
uses "http://hl7.org/fhir/cda/StructureDefinition/IVL-PQ" alias IVL_PQ as source
uses "http://hl7.org/fhir/cda/StructureDefinition/PQ" alias PQ as source
uses "http://hl7.org/fhir/StructureDefinition/SimpleQuantity" alias SimpleQuantity as target
imports "http://hl7.it/fhir/cda2fhir/StructureMap/cda2fhirDataTypes"
imports "http://hl7.it/fhir/cda2fhir/StructureMap/cda2fhirHeader"
group CdaToBundle(source cda : ClinicalDocument, target bundle : Bundle) {
cda -> bundle.entry as e, e.request = create('BackboneElement') as request, request.method = 'POST', e.resource = create('Composition') as composition, composition.id = uuid() as uuid1, e.fullUrl = append('https://example/Composition/', uuid1), request.url = 'Composition', bundle.entry as e2, e2.request = create('BackboneElement') as requestPAT, requestPAT.method = 'PUT', e2.resource = create('Patient') as patient, patient.id = uuid() as uuid2, e2.fullUrl = append('https://example/Patient/', uuid2), bundle.entry as e3, e3.request = create('BackboneElement') as request, request.method = 'POST', e3.resource = create('Encounter') as encounter, encounter.id = uuid() as uuid3, e3.fullUrl = append('https://example/Encounter/', uuid3), request.url = 'Encounter', bundle.entry as e4, e4.request = create('BackboneElement') as request, request.method = 'POST', e4.resource = create('DocumentReference') as DocumentReference, DocumentReference.id = uuid() as uuid4, e4.fullUrl = append('https://example/DocumentReference/', uuid4), request.url = 'DocumentReference' then {
cda then ClinicalDocumentToBundle(cda, patient, composition, encounter, bundle, DocumentReference) "cdatobundle";
cda.recordTarget as recordTarget then {
recordTarget.patientRole as patient then {
patient.id as id -> patient.identifier as identifier then {
id.root as r -> identifier.system = translate(r, 'http://hl7.org/fhir/ConceptMap/special-oid2uri', 'uri') "root1";
id.extension as ext1 -> identifier.value = ext1 "value";
id.assigningAuthorityName as s -> identifier.assigner as a, a.display = s;
} "idfr";
patient.id as id where (root = '2.16.840.1.113883.2.9.4.3.2') or (root = '2.16.840.1.113883.2.9.4.3.7') or (root = '2.16.840.1.113883.2.9.4.3.3') or (root = '2.16.840.1.113883.2.9.4.3.17') or (root = '2.16.840.1.113883.2.9.4.3.18') or (root = '2.16.840.1.113883.2.9.2.10.4.1.1') or (root = '2.16.840.1.113883.2.9.2.20.4.1.1') or (root = '2.16.840.1.113883.2.9.2.30.4.1.1') or (root = '2.16.840.1.113883.2.9.2.41.4.1.1') or (root = '2.16.840.1.113883.2.9.2.42.4.1.1') or (root = '2.16.840.1.113883.2.9.2.50.4.1.1') or (root = '2.16.840.1.113883.2.9.2.60.4.1.1') or (root = '2.16.840.1.113883.2.9.2.70.4.1.1') or (root = '2.16.840.1.113883.2.9.2.80.4.1.1') or (root = '2.16.840.1.113883.2.9.2.90.4.1.1') or (root = '2.16.840.1.113883.2.9.2.100.4.1.1') or (root = '2.16.840.1.113883.2.9.2.110.4.1.1') or (root = '2.16.840.1.113883.2.9.2.120.4.1.1') or (root = '2.16.840.1.113883.2.9.2.130.4.1.1') or (root = '2.16.840.1.113883.2.9.2.140.4.1.1') or (root = '2.16.840.1.113883.2.9.2.150.4.1.1') or (root = '2.16.840.1.113883.2.9.2.160.4.1.1') or (root = '2.16.840.1.113883.2.9.2.170.4.1.1') or (root = '2.16.840.1.113883.2.9.2.180.4.1.1') or (root = '2.16.840.1.113883.2.9.2.190.4.1.1') or (root = '2.16.840.1.113883.2.9.2.200.4.1.1') or (root = '2.16.840.1.113883.2.9.2.10.4.1') or (root = '2.16.840.1.113883.2.9.2.20.4.1') or (root = '2.16.840.1.113883.2.9.2.30.4.1') or (root = '2.16.840.1.113883.2.9.2.41.4.1') or (root = '2.16.840.1.113883.2.9.2.42.4.1') or (root = '2.16.840.1.113883.2.9.2.50.4.1') or (root = '2.16.840.1.113883.2.9.2.60.4.1') or (root = '2.16.840.1.113883.2.9.2.70.4.1') or (root = '2.16.840.1.113883.2.9.2.80.4.1') or (root = '2.16.840.1.113883.2.9.2.90.4.1') or (root = '2.16.840.1.113883.2.9.2.100.4.1') or (root = '2.16.840.1.113883.2.9.2.110.4.1') or (root = '2.16.840.1.113883.2.9.2.120.4.1') or (root = '2.16.840.1.113883.2.9.2.130.4.1') or (root = '2.16.840.1.113883.2.9.2.140.4.1') or (root = '2.16.840.1.113883.2.9.2.150.4.1') or (root = '2.16.840.1.113883.2.9.2.160.4.1') or (root = '2.16.840.1.113883.2.9.2.170.4.1') or (root = '2.16.840.1.113883.2.9.2.180.4.1') or (root = '2.16.840.1.113883.2.9.2.190.4.1') or (root = '2.16.840.1.113883.2.9.2.200.4.1') or (root = '2.16.840.1.113883.2.9.4.3.15') then {
id.extension as ext -> requestPAT.url = append('Patient?identifier=', ext) "UUID";
} "ext";
} "recPat";
} "patient";
} "ClinicalDocumentToBody";
}
group ClinicalDocumentToBundle(source cda : ClinicalDocument, target patient : Patient, target composition : Composition, target encounter : Encounter, target bundle : Bundle, target DocumentReference : DocumentReference) {
cda -> encounter.status = 'finished' "finished";
cda -> encounter.class = create('Coding') as coding then {
cda -> coding.code = 'summary' "code";
} "coding";
cda -> bundle.id = uuid() "id";
cda.id -> bundle.identifier "identifier";
cda -> bundle.type = 'transaction' "type";
// cda.effectiveTime -> bundle.timestamp;
cda -> bundle.timestamp = (timestamp.now()) "date";
cda then ClinicalDocumentComposition(cda, composition, patient, encounter, bundle, DocumentReference) "composition";
cda.component as component then {
component.structuredBody as body then {
body.component as component then {
component.section as srcSection then {
srcSection.code -> composition.section as tgtSection then ClinicalDocumentSection(cda, srcSection, patient, tgtSection, bundle, encounter, composition);
};
};
} "body";
} "diagnostic";
}
group ClinicalDocumentSection(source cda : ClinicalDocument, source src : Section, target patient : Patient, target tgt, target bundle : Bundle, target enc : Encounter, target composition : Composition) {
src.title as t -> tgt.title = (t.dataString);
src.code -> tgt.code;
src.entry as entry then {
src.text as cdaText -> tgt.text as fhirText then {
cdaText -> fhirText.status = 'generated' "narrativeStatus";
cdaText as t -> fhirText.div = t "narrativeText";
} "cdaText";
// sezioni che sono strutturate
src.code where (code = '30954-2') then {
entry.organizer as organizer -> bundle.entry as e0, e0.request = create('BackboneElement') as request, request.method = 'POST', e0.resource = create('DiagnosticReport') as dia, dia.id = uuid() as uuid0, e0.fullUrl = append('https://example/DiagnosticReport/', uuid0), request.url = 'DiagnosticReport', tgt.entry = create('Reference') as reference, reference.reference = ('https://example/DiagnosticReport/' + %dia.id) then DiagnosticReportFunction(organizer, patient, enc, dia, bundle) "diagnostic";
} "entryObs";
src.code where (code = '29762-2') or (code = '10162-6') then {
entry.observation as observation -> bundle.entry as e1, e1.request = create('BackboneElement') as request, request.method = 'POST', e1.resource = create('Observation') as obs1, obs1.id = uuid() as uuid1, e1.fullUrl = append('https://example/Observation/', uuid1), request.url = 'Observation', tgt.entry = create('Reference') as reference, reference.reference = ('https://example/Observation/' + %obs1.id) then Observation(observation, patient, enc, obs1, bundle) "obs1";
} "entryObs";
src.code where (code = '8716-3') or (code = '47420-5') then {
entry.organizer as organizer -> bundle.entry as e2, e2.request = create('BackboneElement') as request, request.method = 'POST', e2.resource = create('Observation') as obs2, obs2.id = uuid() as uuid2, e2.fullUrl = append('https://example/Observation/', uuid2), request.url = 'Observation', tgt.entry = create('Reference') as reference, reference.reference = ('https://example/Observation/' + %obs2.id) then ObservationOrganizer(src, organizer, patient, enc, obs2, bundle) "obs2";
entry.observation as organizer -> bundle.entry as e2, e2.request = create('BackboneElement') as request, request.method = 'POST', e2.resource = create('Observation') as obs2, obs2.id = uuid() as uuid2, e2.fullUrl = append('https://example/Observation/', uuid2), request.url = 'Observation', tgt.entry = create('Reference') as reference, reference.reference = ('https://example/Observation/' + %obs2.id) then ObservationOrganizer(src, organizer, patient, enc, obs2, bundle) "obs2";
} "organizer";
src.code where code = '11450-4' then {
entry.act as act -> bundle.entry as e3, e3.request = create('BackboneElement') as request, request.method = 'POST', e3.resource = create('Condition') as condition, condition.id = uuid() as uuid3, e3.fullUrl = append('https://example/Condition/', uuid3), request.url = 'Condition', tgt.entry = create('Reference') as reference, reference.reference = ('https://example/Condition/' + %condition.id) then ConditionFunction(act, condition, patient, enc, bundle) "condition";
} "listaDeiProblemi";
src.code where (code = '48765-2') then {
entry.act as act -> bundle.entry as e5, e5.request = create('BackboneElement') as request, request.method = 'POST', e5.resource = create('AllergyIntolerance') as allergy, allergy.id = uuid() as uuid5, e5.fullUrl = append('https://example/AllergyIntolerance/', uuid5), request.url = 'AllergyIntolerance', tgt.entry = create('Reference') as reference, reference.reference = ('https://example/AllergyIntolerance/' + %allergy.id) then allergyFunction(act, allergy, patient, enc) "allergy";
} "entryAct";
src.code where code = '10160-0' then {
entry.substanceAdministration as subAdmin -> bundle.entry as e6, e6.request = create('BackboneElement') as request, request.method = 'POST', e6.resource = create('MedicationStatement') as medicationstatement, medicationstatement.id = uuid() as uuid6, e6.fullUrl = append('https://example/MedicationStatement/', uuid6), request.url = 'MedicationStatement', tgt.entry = create('Reference') as reference, reference.reference = ('https://example/MedicationStatement/' + %medicationstatement.id) then MedicationStatement(subAdmin, medicationstatement, patient, enc, bundle) "TerapiaFarmacologica";
} "terapia";
src.code where code = '11369-6' then {
entry.substanceAdministration as subVACC -> bundle.entry as e7, e7.request = create('BackboneElement') as request, request.method = 'POST', e7.resource = create('Immunization') as immunization, immunization.id = uuid() as uuid7, e7.fullUrl = append('https://example/Immunization/', uuid7), request.url = 'Immunization', tgt.entry = create('Reference') as reference, reference.reference = ('https://example/Immunization/' + %immunization.id) then Immunization(subVACC, patient, enc, immunization, bundle) "immunization";
} "vacc";
src.code where code = '10157-6' then {
entry.organizer as organizer -> bundle.entry as e12, e12.request = create('BackboneElement') as request, request.method = 'POST', e12.resource = create('FamilyMemberHistory') as familyMember, familyMember.id = uuid() as uuid12, e12.fullUrl = append('https://example/FamilyMemberHistory/', uuid12), request.url = 'FamilyMemberHistory', tgt.entry = create('Reference') as reference, reference.reference = ('https://example/FamilyMemberHistory/' + %familyMember.id) then FamilyMemberFunction(organizer, familyMember, patient) "family";
} "family";
src.code where code = '46264-8' then {
entry.supply as supply -> bundle.entry as e8, e8.request = create('BackboneElement') as request, request.method = 'POST', e8.resource = create('Procedure') as procedure, procedure.id = uuid() as uuid8, e8.fullUrl = append('https://example/Procedure/', uuid8), request.url = 'Procedure', tgt.entry = create('Reference') as reference, reference.reference = ('https://example/Procedure/' + %procedure.id) then Procedure(supply, patient, enc, procedure, bundle) "protesi";
} "impianti";
src.code where code = '47519-4' then {
entry.procedure as procedure -> bundle.entry as e9, e9.request = create('BackboneElement') as request, request.method = 'POST', e9.resource = create('Procedure') as procedure2, procedure2.id = uuid() as uuid9, e9.fullUrl = append('https://example/Procedure/', uuid9), request.url = 'Procedure', tgt.entry = create('Reference') as reference, reference.reference = ('https://example/Procedure/' + %procedure2.id) then Procedure(procedure, patient, enc, procedure2, bundle) "tratt";
} "trattamentiProcedure";
src.code where code = '46240-8' then {
// entry.encounter as encounter -> enc then{
entry.encounter as encounter -> bundle.entry as e9, e9.request = create('BackboneElement') as request, request.method = 'POST', e9.resource = create('Encounter') as encounterF, encounterF.id = uuid() as uuid9, e9.fullUrl = append('https://example/Encounter/', uuid9), request.url = 'Encounter', tgt.entry = create('Reference') as reference, reference.reference = ('https://example/Encounter/' + %encounterF.id) then EncounterFunction(encounter, patient, enc, encounterF, bundle);
} "visiteRicoveri";
src.code where code = '57827-8' then {
entry.act as act -> bundle.entry as e13, e13.request = create('BackboneElement') as request, request.method = 'POST', e13.resource = create('Coverage') as coverage, coverage.id = uuid() as uuid13, e13.fullUrl = append('https://example/Coverage/', uuid13), request.url = 'Coverage', tgt.entry = create('Reference') as reference, reference.reference = ('https://example/Coverage/' + %coverage.id) then Coverage(act, patient, enc, coverage, bundle) "esen";
} "esenzioni";
src.code where code = 'PSSIT99' then {
entry.act as act -> bundle.entry as e14, e14.request = create('BackboneElement') as request, request.method = 'POST', e14.resource = create('OrganizationAffiliation') as affiliation, affiliation.id = uuid() as uuid14, e14.fullUrl = append('https://example/OrganizationAffiliation/', uuid14), request.url = 'OrganizationAffiliation', tgt.entry = create('Reference') as reference, reference.reference = ('https://example/OrganizationAffiliation/' + %affiliation.id) then OrganizationAffiliation(act, patient, enc, affiliation, bundle) "OrgAffiliation";
} "retiPatologia";
};
src where src.entry.exists() then {
src.code where code = '18776-5' then {
src -> bundle.entry as e11, e11.request = create('BackboneElement') as request, request.method = 'POST', e11.resource = create('CarePlan') as careplan, careplan.id = uuid() as uuid11, e11.fullUrl = append('https://example/CarePlan/', uuid11), request.url = 'CarePlan', tgt.entry = create('Reference') as reference, reference.reference = ('https://example/CarePlan/' + %careplan.id) then {
src.entry as entry then CarePlanFunction(entry, careplan, patient, enc, bundle) "prestazioni";
} "pianiCura";
} "raccoglitore";
} "esiste";
src where src.entry.exists().not() then {
// Anmanesi Familiare narrativa
src.code where code = '10157-6' then {
src.text as text -> bundle.entry as e12, e12.request = create('BackboneElement') as request, request.method = 'POST', e12.resource = create('FamilyMemberHistory') as familyMember, familyMember.id = uuid() as uuid12, e12.fullUrl = append('https://example/FamilyMemberHistory/', uuid12), request.url = 'FamilyMemberHistory', tgt.entry = create('Reference') as reference, reference.reference = ('https://example/FamilyMemberHistory/' + %familyMember.id) then {
src -> familyMember.patient = create('Reference') as reference, reference.reference = ('https://example/Patient/' + %patient.id) "reference";
src -> familyMember.status = 'health-unknown' "statusS";
text -> familyMember.note as note then {
text as t -> note.text = t "reference";
} "reference";
text -> familyMember.relationship = create('CodeableConcept') as relation then {
text as txt -> relation.text = txt "text";
} "medication";
} "family";
} "familyraccoglitore";
// Piano di cura narrativa
src.code where code = '18776-5' then {
src.text as text -> bundle.entry as e11, e11.request = create('BackboneElement') as request, request.method = 'POST', e11.resource = create('CarePlan') as careplan, careplan.id = uuid() as uuid11, e11.fullUrl = append('https://example/CarePlan/', uuid11), request.url = 'CarePlan', tgt.entry = create('Reference') as reference, reference.reference = ('https://example/CarePlan/' + %careplan.id) then {
src -> careplan.subject = create('Reference') as reference, reference.reference = ('https://example/Patient/' + %patient.id) "reference";
// src-> careplan.encounter=create('Reference') as reference, reference.reference = ('https://example/Encounter/' + %enc.id) "reference";
src -> careplan.status = 'active' "status";
src -> careplan.intent = 'order' "intent";
text -> careplan.note as note then {
text as t -> note.text = t "reference";
} "reference";
} "pianiCura";
} "raccoglitore";
// sezioni che sono narrative
src.code where (code = '30954-2') or (code = '29762-2') or (code = '8716-3') or (code = '47420-5') or (code = '42348-3') then {
src.text as text -> bundle.entry as e13, e13.request = create('BackboneElement') as request, request.method = 'POST', e13.resource = create('Observation') as obs1, obs1.id = uuid() as uuid13, e13.fullUrl = append('https://example/Observation/', uuid13), request.url = 'Observation', tgt.entry = create('Reference') as reference, reference.reference = ('https://example/Observation/' + %obs1.id) then {
src -> obs1.subject = create('Reference') as reference, reference.reference = ('https://example/Patient/' + %patient.id) "reference";
// src -> obs1.encounter=create('Reference') as reference, reference.reference = ('https://example/Encounter/' + %enc.id) "reference";
src -> obs1.status = 'preliminary' "obsst";
src.code -> obs1.code "obscde";
src -> obs1.status = 'final' "statusS";
text -> obs1.note as note then {
text as t -> note.text = create('string') as textNote then EDstring(t, textNote) "note";
} "narrative";
} "txtsec";
} "narrative";
} "code";
src.component as component then {
component.section as sec -> tgt.section as tgtSection then ClinicalDocumentSection(cda, sec, patient, tgtSection, bundle, enc, dReport);
};
}
group Procedure(source src : cdaElement, target patient : Patient, target encounter : Encounter, target tgt : Procedure, target bundle : Bundle) {
// toASK
src.text as tx -> tgt.note as note then {
tx.reference as reff -> note.text = (reff.value) "r";
} "tx";
src.templateId where root = '2.16.840.1.113883.2.9.10.1.4.3.10.3' then {
src.effectiveTime as effectiveTime -> tgt.performed = (effectiveTime.value);
src.code -> tgt.code;
} "ref";
src -> tgt.subject = create('Reference') as reference, reference.reference = ('https://example/Patient/' + %patient.id) "reference";
// src -> tgt.encounter=create('Reference') as reference, reference.reference = ('https://example/Encounter/' + %encounter.id) "reference";
src.statusCode as s then {
s.code as cos -> tgt.status = translate(cos, '#EventStatus', 'code') "codeS";
} "status";
src where statusCode.exists().not() -> tgt.status = 'unknown' "status2";
src.templateId where root = '2.16.840.1.113883.2.9.10.1.4.3.9.1' then {
src -> bundle.entry as e1, e1.request = create('BackboneElement') as request, request.method = 'POST', e1.resource = create('Device') as deviceRes, deviceRes.id = uuid() as uuid1, e1.fullUrl = append('https://example/Device/', uuid1), request.url = 'Device', tgt.usedReference = create('Reference') as reference, reference.reference = ('https://example/Device/' + %deviceRes.id) then {
src -> deviceRes.patient = create('Reference') as reference, reference.reference = ('https://example/Patient/' + %patient.id) "reference";
src.code -> deviceRes.type;
} "device";
src.effectiveTime as effectiveTime where (value.exists()) -> tgt.performed = create('dateTime') as value then TSDateTime(effectiveTime, value) "value1";
src.effectiveTime as effectiveTime where (low.exists()) -> tgt.performed = create('Period') as value then IVLTSPeriod(effectiveTime, value) "valuePeriod";
} "presenzaProtesiImpianto";
src.templateId where root = '2.16.840.1.113883.2.9.10.1.4.3.9.2' then {
src.code as code -> tgt.note as note then {
code.displayName as displayName -> note.text = (displayName) "text";
} "note";
} "assenza";
src.templateId where root = '2.16.840.1.113883.2.9.10.1.4.3.11.1' then {
src.id -> tgt.identifier;
src.code -> tgt.code;
src.effectiveTime as effectiveTime where (value.exists()) -> tgt.performed = create('dateTime') as value then TSDateTime(effectiveTime, value) "value1";
src.effectiveTime as effectiveTime where (low.exists()) -> tgt.performed = create('Period') as value then IVLTSPeriod(effectiveTime, value) "valuePeriod";
src.entryRelationship as entryR then {
entryR.observation as observation -> bundle.entry as e3, e3.request = create('BackboneElement') as request, request.method = 'POST', e3.resource = create('Observation') as obs1, obs1.id = uuid() as uuid3, e3.fullUrl = append('https://example/Observation/', uuid3), request.url = 'Observation', tgt.reasonReference = create('Reference') as reference, reference.reference = ('https://example/Observation/' + %obs1.id) then Observation(observation, patient, encounter, obs1, bundle);
} "entryRelProcedure";
} "procedureTrattamenti";
}
group Observation(source cda, target patient : Patient, target encounter : Encounter, target ob : Observation, target bundle : Bundle) {
cda -> ob.subject = create('Reference') as reference, reference.reference = ('https://example/Patient/' + %patient.id) "reference";
// cda-> ob.encounter=create('Reference') as reference, reference.reference = ('https://example/Encounter/' + %encounter.id) "reference";
cda.id -> ob.identifier;
cda.code -> ob.code;
cda -> ob.status = 'final' "Stats";
// value datatype
cda.value : ST as st -> ob.value = create('string'), ob.value = (st.dataString);
cda.value : BL as boolean -> ob.value = (boolean.value) "boolean";
cda.value : INT as int -> ob.value = (int.value) "intval";
cda.value : CE as val then {
val -> ob.value = create('CodeableConcept') as ce then {
val.originalText as originalText then {
originalText.reference as reference -> ce.text = (reference.value);
};
val -> ce.coding as coding then {
val.code as code -> coding.code = cast(code, 'string');
val.codeSystem as system -> coding.system = translate(system, 'http://hl7.org/fhir/ConceptMap/special-oid2uri', 'uri');
val.displayName as display -> coding.display = cast(display, 'string');
} "code";
val.translation as translation -> ce.coding as coding then {
translation.code as code -> coding.code = cast(code, 'string');
translation.codeSystem as system -> coding.system = translate(system, 'http://hl7.org/fhir/ConceptMap/special-oid2uri', 'uri');
translation.displayName as display -> coding.display = cast(display, 'string');
translation.qualifier as qualifier then {
qualifier.value as value -> ce.coding as coding then {
value.code as code -> coding.code = cast(code, 'string');
value.codeSystem as system -> coding.system = translate(system, 'http://hl7.org/fhir/ConceptMap/special-oid2uri', 'uri');
value.displayName as display -> coding.display = cast(display, 'string');
};
};
};
} "coding";
} "val";
cda.value : CD as val then {
val -> ob.value = create('CodeableConcept') as ce then {
val.originalText as originalText then {
originalText.reference as reference -> ce.text = (reference.value);
};
val -> ce.coding as coding then {
val.code as code -> coding.code = cast(code, 'string');
val.codeSystem as system -> coding.system = translate(system, 'http://hl7.org/fhir/ConceptMap/special-oid2uri', 'uri');
val.displayName as display -> coding.display = cast(display, 'string');
} "code";
val.translation as translation -> ce.coding as coding then {
translation.code as code -> coding.code = cast(code, 'string');
translation.codeSystem as system -> coding.system = translate(system, 'http://hl7.org/fhir/ConceptMap/special-oid2uri', 'uri');
translation.displayName as display -> coding.display = cast(display, 'string');
translation.qualifier as qualifier then {
qualifier.value as value -> ce.coding as coding then {
value.code as code -> coding.code = cast(code, 'string');
value.codeSystem as system -> coding.system = translate(system, 'http://hl7.org/fhir/ConceptMap/special-oid2uri', 'uri');
value.displayName as display -> coding.display = cast(display, 'string');
};
};
};
} "coding";
} "val";
cda.value : PQ as val then {
val -> ob.value = create('Quantity') as quantity then {
val.value as value -> quantity.value = value;
val.unit as unit -> quantity.unit = unit;
} "quantity";
} "valueQuantity";
cda.effectiveTime as effectiveTime where (value.exists()) -> ob.effective = create('dateTime') as value then TSDateTime(effectiveTime, value) "value1";
cda.effectiveTime as effectiveTime where (low.exists()) -> ob.effective = create('Period') as value then IVLTSPeriod(effectiveTime, value) "valuePeriod";
cda.text as text -> ob.note as note then {
text.reference as reference -> note.text = (reference.value) "text";
} "note";
cda.statusCode as s then {
s.code as cos -> ob.status = translate(cos, '#OBSstatus', 'code') "codeS";
} "status";
// toASK è giusto siano invertiti?
cda.methodCode -> ob.method;
cda.interpretationCode -> ob.interpretation;
cda.targetSiteCode -> ob.bodySite;
// added
cda.referenceRange as refrange then {
refrange.observationRange as obsrange then {
obsrange.value as val -> ob.referenceRange = create('BackboneElement') as refrangeFH then {
val -> refrangeFH.low = create('SimpleQuantity') as lowfhir then {
val.low as l -> lowfhir.value = (l.value) "val";
val.low as l -> lowfhir.unit = (l.unit) "val";
} "de";
val -> refrangeFH.high = create('SimpleQuantity') as highfhir then {
val.high as h -> highfhir.value = (h.value) "val";
val.high as h -> highfhir.unit = (h.unit) "val";
} "de";
} "refFhir";
} "obsrange";
} "regrange";
}
group ObservationOrganizer(source section : section, source cda : organizer, target patient : Patient, target encounter : Encounter, target ob : Observation, target bundle : Bundle) {
cda -> ob.subject = create('Reference') as reference, reference.reference = ('https://example/Patient/' + %patient.id) "reference";
// cda-> ob.encounter=create('Reference') as reference, reference.reference = ('https://example/Encounter/' + %encounter.id) "reference";
cda.id -> ob.identifier;
section.code -> ob.code;
cda -> ob.status = 'final' "Stats";
cda.effectiveTime as effectiveTime where (value.exists()) -> ob.effective = create('dateTime') as value then TSDateTime(effectiveTime, value) "value1";
cda.effectiveTime as effectiveTime where (low.exists()) -> ob.effective = create('Period') as value then IVLTSPeriod(effectiveTime, value) "valuePeriod";
cda.text as text -> ob.note as note then {
text.reference as reference -> note.text = (reference.value) "text";
} "note";
cda.statusCode as s then {
s.code as cos -> ob.status = translate(cos, '#OBSstatus', 'code') "codeS";
} "status";
cda.component as component then {
component.observation as observation -> bundle.entry as ei, ei.request = create('BackboneElement') as request, request.method = 'POST', ei.resource = create('Observation') as obsi, obsi.id = uuid() as uuidi, ei.fullUrl = append('https://example/Observation/', uuidi), request.url = 'Observation', ob.hasMember = create('Reference') as reference, reference.reference = ('https://example/Observation/' + %obsi.id) then Observation(observation, patient, encounter, obsi, bundle) "hasMember";
};
}
group Coverage(source src : act, target patient : Patient, target encounter : Encounter, target tgt : Coverage, target bundle : Bundle) {
src -> tgt.beneficiary = create('Reference') as reference, reference.reference = ('https://example/Patient/' + %patient.id) "reference";
src -> tgt.payor = create('Reference') as reference, reference.reference = ('https://example/Patient/' + %patient.id) "reference";
src.id as id -> tgt.identifier as idf then {
id -> idf.value = (id.root) "ID";
};
src.code -> tgt.type;
src.statusCode as statusCode then {
statusCode.code as s -> tgt.status = translate(s, '#FinancialStatus', 'code') "status";
} "sc";
src where statusCode.exists().not() -> tgt.status = 'active' "statusAbsent";
// src.effectiveTime as effectiveTime -> tgt.period as period then{
src.effectiveTime as effectiveTime where (value.exists()) -> tgt.period = create('dateTime') as value then TSDateTime(effectiveTime, value) "value1";
src.effectiveTime as effectiveTime where (low.exists()) -> tgt.period = create('Period') as value then IVLTSPeriod(effectiveTime, value) "valuePeriod";
src.entryRelationship as entryRelationship then {
entryRelationship.act as ac -> tgt.class as class then {
ac.text as text -> class.type as type then {
text.reference as reference -> type.text = (reference.value) "value";
} "ref";
ac -> class.value = 'commenti' "note";
} "QUI";
} "entryr";
}
group allergyFunction(source src : cdaElement, target tgt : AllergyIntolerance, target patient : Patient, target encounter : Encounter) {
src -> tgt.patient = create('Reference') as reference, reference.reference = ('https://example/Patient/' + %patient.id) "reference";
// src -> tgt.encounter=create('Reference') as reference, reference.reference = ('https://example/Encounter/' + %encounter.id) "reference";
src.effectiveTime as effTime then {
effTime.low as l -> tgt.recordedDate as r then TSDateTime(l, r) "value";
} "efftime";
src.entryRelationship as entryRelationship1 then {
entryRelationship1.observation as observation1 then {
observation1.id -> tgt.identifier;
observation1.templateId where root = '2.16.840.1.113883.2.9.10.1.4.3.1.4' -> tgt.code as code then {
observation1 -> code.coding as coding then {
observation1 -> coding.code = 'No known allergy' "code";
} "code";
src.effectiveTime as effectiveTime where (value.exists()) -> tgt.onset = create('dateTime') as value then TSDateTime(effectiveTime, value) "value1";
src.effectiveTime as effectiveTime -> tgt.onset = create('Period') as value then IVLTSPeriod(effectiveTime, value) "valuePeriod";
} "Noallergy";
observation1.effectiveTime as effectiveTime where (value.exists()) -> tgt.onset = create('dateTime') as value then TSDateTime(effectiveTime, value) "value1";
observation1.effectiveTime as effectiveTime -> tgt.onset = create('Period') as value then IVLTSPeriod(effectiveTime, value) "valuePeriod";
observation1.value as code then {
code.code as code1 -> tgt.type = translate(code1, '#AllergyTypeMap', 'code') "type";
code.code as code1 -> tgt.category = translate(code1, '#AllergyCategoryMap', 'code') "category";
} "code";
// toASK qui dovrei fare un controllo sul code
observation1.value -> tgt.code;
observation1.participant as participant -> tgt.reaction as reaction then {
observation1.entryRelationship as entryRelationship2 where (typeCode = 'MFST') then {
entryRelationship2.observation as observation2 then {
observation2.value -> reaction.manifestation "manifestation";
observation2.code -> reaction.manifestation "manifestation";
observation2.text as tx then {
tx.reference as reff -> reaction.description = (reff.value) "tx";
} "tx";
observation2.effectiveTime as effectiveTime then {
effectiveTime.low as low -> reaction.onset = create('dateTime') as value then TSDateTime(low, value) "valuePeriodLow";
effectiveTime.high as high -> tgt.lastOccurrence = create('dateTime') as value then TSDateTime(high, value) "valuePeriodHigh";
} "low";
} "observ2";
} "entryR2";
participant.participantRole as participantRole then {
participantRole.playingEntity as playingEntity then {
playingEntity.code -> reaction.substance "reaction";
};
};
};
observation1.entryRelationship as entryRelationship2 where (typeCode = 'MFST') then {
entryRelationship2.observation as observation2 where observation1.participant.exists().not() -> tgt.reaction as reaction then {
observation2.value -> reaction.manifestation "manifestation";
observation2.text as tx then {
tx.reference as reff -> reaction.description = (reff.value) "tx";
} "tx";
observation2.effectiveTime as effectiveTime then {
effectiveTime.low as low -> reaction.onset = create('dateTime') as value then TSDateTime(low, value) "valuePeriodLow";
} "low";
} "observ2";
} "entryR2";
observation1.entryRelationship as entryRelationship3 where (typeCode = 'SUBJ') then {
entryRelationship3.observation as observation3 then {
observation3.value as value then {
value.code as c -> tgt.criticality = translate(c, '#CricalityMap', 'code') "value";
} "criticality";
} "observ3";
entryRelationship3.act as act -> tgt.note as note then {
act.text as text then {
text.reference as reference -> note.text = (reference.value);
} "note";
};
} "entryR3";
observation1.entryRelationship as entryRelationship4 where (typeCode = 'REFR') then {
entryRelationship4.observation as observation4 then {
observation4 -> tgt.clinicalStatus as clinicalStatus then {
observation4.value as value then {
value as valu -> clinicalStatus.coding = create('Coding') as coding then {
valu where (code = 'LA9041-0') -> coding.code = 'resolved' "code";
valu where (code = 'LA18632-2') -> coding.code = 'inactive' "code";
valu where (code = 'LA16666-2') -> coding.code = 'active' "code";
valu -> coding.system = 'http://terminology.hl7.org/CodeSystem/allergyintolerance-clinical' "system";
valu.displayName as display -> coding.display = cast(display, 'string') "display";
} "coding";
};
observation4.text as tx then {
tx.reference as ref -> clinicalStatus.text = (ref.value);
} "tx";
} "clinicalStatus";
} "observ4";
} "entryR4";
};
} "entryrelationship";
}
group MedicationStatement(source src : substanceAdministration, target tgt : MedicationStatement, target patient : Patient, target encounter : Encounter, target bundle : Bundle) {
src -> tgt.subject = create('Reference') as reference, reference.reference = ('https://example/Patient/' + %patient.id) "reference";
// src -> tgt.context = create('Reference') as reference, reference.reference = ('https://example/Encounter/' + %encounter.id) "reference";
src.statusCode -> tgt.status "status";
src.id -> tgt.identifier;
src.text as text -> tgt.note as note then {
text.reference as reference -> note.text = (reference.value) "text";
} "note";
src.effectiveTime as eff where (value.exists()) -> tgt.effective = create('dateTime') as value then TSDateTime(eff, value) "value1";
src.effectiveTime : IVL_TS as eff -> tgt.effective = create('Period') as value then IVLTSPeriod(eff, value) "valuePeriod";
src -> tgt.dosage = create('Dosage') as dosage then {
src.effectiveTime : PIVL_TS as eff then {
eff -> dosage.timing = create('Timing') as timing then periodTiming(eff, timing) "cod";
} "eff";
src where (src.doseQuantity.exists() or src.rateQuantity.exists() or src.routeCode.exists() or src.approachSiteCode.exists()) then {
src.doseQuantity as doseQuant then {
doseQuant.originalText as ot then {
ot.reference -> dosage.text;
} "ot";
doseQuant -> dosage.doseAndRate as dosageRate then {
doseQuant -> dosageRate.dose = create('Range') as d then {
doseQuant -> d.low = create('SimpleQuantity') as l then {
doseQuant.low as lo -> l.value = (lo.value);
doseQuant.low as lo -> l.unit = (lo.unit);
} "low";
doseQuant -> d.high = create('SimpleQuantity') as h then {
doseQuant.high as hi -> h.value = (hi.value);
doseQuant.high as hi -> h.unit = (hi.unit);
} "low";
} "d";
} "dosageRate";
};
src.rateQuantity as rateQuantity then {
rateQuantity.originalText as ot then {
ot.reference -> dosage.text;
} "ot";
rateQuantity -> dosage.doseAndRate as dosageRate then {
rateQuantity -> dosageRate.rate = create('Range') as d then {
rateQuantity -> d.low = create('SimpleQuantity') as l then {
rateQuantity.low as lo -> l.value = (lo.value);
rateQuantity.low as lo -> l.unit = (lo.unit);
} "low";
rateQuantity -> d.high = create('SimpleQuantity') as h then {
rateQuantity.high as hi -> h.value = (hi.value);
rateQuantity.high as hi -> h.unit = (hi.unit);
} "high";
} "r";
} "dosageRate";
} "rate";
src.routeCode -> dosage.route "route";
src.approachSiteCode -> dosage.site "site";
src.targetSiteCode -> dosage.site "site";
} "route";
} "dos";
src.consumable as consumable then {
consumable.manufacturedProduct as manufacturedProduct -> bundle.entry as e1, e1.request = create('BackboneElement') as request, request.method = 'POST', e1.resource = create('Medication') as medication, medication.id = uuid() as uuid1, e1.fullUrl = append('https://example/Medication/', uuid1), request.url = 'Medication', tgt.medication = create('Reference') as medref, medref.reference = ('https://example/Medication/' + %medication.id) then Medication(src, medication, patient, bundle) "medication";
};
}
group periodTiming(source effectiveTime : PIVL_TS, target timing : Timing) {
effectiveTime -> timing.repeat as r then {
effectiveTime.period as p -> r.period = (p.value);
effectiveTime.period as p -> r.periodUnit = (p.unit);
} "repeat";
}
group Medication(source src : substanceAdministration, target tgt : Medication, target patient : Patient, target bundle : Bundle) {
src.consumable as consumable then {
consumable.manufacturedProduct as manufacturedProduct then {
manufacturedProduct.manufacturedMaterial as manufacturedMaterial then {
manufacturedMaterial.code -> tgt.code "CE";
src.administrationUnitCode -> tgt.form "form";
} "material";
} "product";
};
src.entryRelationship as entryR then {
entryR.observation as observation then {
observation.code where displayName = 'Grammatura' -> tgt.ingredient as ingredient then {
src.consumable as consumable then {
consumable.manufacturedProduct as manufacturedProduct then {
manufacturedProduct.manufacturedMaterial as manufacturedMaterial then {
manufacturedMaterial.code as code -> ingredient.item = create('CodeableConcept') as value then CECodeableConcept(code, value) "CE";
} "material";
} "product";
};
observation.value as value -> ingredient.strength as strength then {
value -> strength.numerator as numerator then {
value -> numerator.value = (value.value) "valueN";
} "numerator";
value -> strength.denominator as denominator then {
value -> denominator.value = 1 "valueD";
} "denominator";
} "strenght";
} "ingredient";
observation.code where displayName = 'Quantità nella Confezione' then {
observation.value as value -> tgt.amount as amount then {
value -> amount.numerator as numerator then {
value -> numerator.value = (value.value) "valueN";
} "numerator";
value -> amount.denominator as denominator then {
value -> denominator.value = 1 "valueD";
} "denominator";
} "amount";
} "quantita";
} "obs";
} "entryR";
}
group Immunization(source substance : substanceAdministration, target patient : Patient, target encounter : Encounter, target tgt : Immunization, target bundle : Bundle) {
substance -> tgt.patient = create('Reference') as reference, reference.reference = ('https://example/Patient/' + %patient.id) "patientRef";
// substance -> tgt.encounter = create('Reference') as reference, reference.reference = ('https://example/Encounter/' + %encounter.id) "encounterRef";
substance.id as id -> tgt.identifier as idf then {
id.root as r -> idf.system = translate(r, 'http://hl7.org/fhir/ConceptMap/special-oid2uri', 'uri') "root1";
};
substance.text as text -> tgt.note as note then {
text.reference as reference -> note.text = (reference.value) "text";
} "note";
substance.statusCode as statusc where (code = 'completed') -> tgt.status = 'completed';
substance.statusCode as statusc where (code = 'aborted') -> tgt.status = 'final';
substance.statusCode as statusc where (code = 'suspended') -> tgt.status = 'enterer-in-error';
substance.statusCode as statusc where (code = 'cancelled') -> tgt.status = 'not-done';
substance.effectiveTime as time -> tgt.occurrence = create('dateTime') as value then TSDateTime(time, value) "efftime";
substance.routeCode -> tgt.route;
substance.approachSiteCode -> tgt.site;
substance -> tgt.doseQuantity = create('SimpleQuantity') as quantity then {
substance.doseQuantity as q then {
q -> quantity.value = (q.value) "val";
q -> quantity.unit = (q.unit) "uni";
} "qua";
} "q";
substance.consumable as cons then {
cons.manufacturedProduct as manufact then {
manufact.manufacturedMaterial as manufactmat then {
manufactmat.code -> tgt.vaccineCode;
manufactmat.lotNumberText as t -> tgt.lotNumber = (t.dataString);
} "manufactmat";
manufact.manufacturerOrganization as manufactOrg -> bundle.entry as e1, e1.request = create('BackboneElement') as request, request.method = 'PUT', e1.resource = create('Organization') as organization then {
manufactOrg.id as id -> organization.identifier as identifier then {
id.root as r -> identifier.system = translate(r, 'http://hl7.org/fhir/ConceptMap/special-oid2uri', 'uri') "root1";
id.extension as ext -> identifier.value = ext then {
manufactOrg -> request.url = append('Organization?identifier=', ext) "UUID";
} "ext";
id.assigningAuthorityName as s -> identifier.assigner as a, a.display = s;
id.root as r then {
id.extension as ext -> organization.id = (r + '-' + ext) as uuid, e1.fullUrl = append('https://example/', uuid), tgt.manufacturer = create('Reference') as reference, reference.reference = ('https://example/' + %organization.id) "idasi";
} "r";
} "identifier";
manufactOrg.name as n -> organization.name = (n.other);
manufactOrg -> organization.meta as meta then {
manufactOrg -> meta.tag = create('Coding') as coding then {
manufactOrg -> coding.system = 'http://algoritmodiscoring' "system";
manufactOrg -> coding.code = 'ClinicalDocument/body/Vaccinazioni/manufacturerOrganization' "code";
} "coding";
} "meta";
} "manufactOrg";
} "manufact";
} "cons";
substance.participant as part -> bundle.entry as e1, e1.request = create('BackboneElement') as request, request.method = 'PUT', e1.resource = create('Location') as location, location.id = uuid() as uuid1 then {
part -> location.meta as meta then {
part -> meta.tag = create('Coding') as coding then {
part -> coding.system = 'http://algoritmodiscoring' "system";
part -> coding.code = 'ClinicalDocument/body/Vaccinazione/participant' "code";
} "coding";
} "meta";
part.participantRole as partRole then {
partRole.id as id -> location.identifier as identifier then {
id.root as r -> identifier.system = translate(r, 'http://hl7.org/fhir/ConceptMap/special-oid2uri', 'uri') "root1";
id.extension as ext -> identifier.value = ext then {
partRole -> request.url = append('Location?identifier=', ext) "UUID";
} "ext";
id.assigningAuthorityName as s -> identifier.assigner as a, a.display = s;
id.root as r then {
id.extension as ext -> location.id = (r + '-' + ext) as uuid, e1.fullUrl = append('https://example/Location', uuid), tgt.location = create('Reference') as reference, reference.reference = ('https://example/' + %location.id) "idasi";
} "r";
} "identifier";
} "role";
} "part";
substance.entryRelationship as entrirel1 then {
entrirel1.observation as obs then {
obs.code where (code = '30973-2') then {
obs -> tgt.protocolApplied = create('BackboneElement') as prot then {
obs.value as v then {
v.value as int -> prot.doseNumber = (int.toString());
};
} "val";
} "codecontrol";
} "obs";
} "entrirel1";
substance.entryRelationship as entrirel2 then {
entrirel2.observation as obs then {
obs.code where (code = '59781-5') then {
obs.value as value then {
value.high as h then {
h.value as value -> tgt.expirationDate = truncate(value, 10);
} "val";
};
} "codecontrol";
} "obs";
} "entrirel2";
substance.entryRelationship as entrirel4 then {
entrirel4.observation as obs then {
obs.code where (code = '59785-6') -> bundle.entry as e1, e1.request = create('BackboneElement') as request, request.method = 'POST', e1.resource = create('Observation') as observation, observation.id = uuid() as uuid1, e1.fullUrl = append('https://example/Observation/', uuid1), request.url = 'Observation', tgt.reasonReference = create('Reference') as reference, reference.reference = ('https://example/Observation/' + %observation.id) then {
obs then Observation1(entrirel4, patient, tgt, bundle, enc, observation) "observation";
} "codecontrol";
} "obs";
} "entrirel4";
substance.entryRelationship as entrirel5 then {
entrirel5.observation as obs then {
obs.code where (code = '75321-0') or (code = '5321-0') -> tgt.reaction as reaction then {
obs -> bundle.entry as e1, e1.request = create('BackboneElement') as request, request.method = 'POST', e1.resource = create('Observation') as observation, observation.id = uuid() as uuid1, e1.fullUrl = append('https://example/Observation/', uuid1), request.url = 'Observation', reaction.detail = create('Reference') as reference, reference.reference = ('https://example/Observation/' + %observation.id) then Observation(obs, patient, encounter, observation, bundle) "observation";
} "codecontrol";
} "obs";
} "entrirel5";
substance.entryRelationship as entrirel5 then {
entrirel5.act as act then {
act.text as tx -> tgt.note as note then {
tx.reference as reference -> note.text = (reference.value) "text";
} "note";
} "obs";
} "entrirel5";
}
group ConditionFunction(source src : cdaElement, target tgt : Condition, target patient : patient, target encounter : encounter, target bundle : Bundle) {
src.id -> tgt.identifier;
src -> tgt.subject = create('Reference') as reference, reference.reference = ('https://example/Patient/' + %patient.id) "reference";
// src -> tgt.encounter=create('Reference') as reference, reference.reference = ('https://example/Encounter/' + %encounter.id) "reference";
src.statusCode as stscode -> tgt.verificationStatus as verifstatus then {
stscode as codeS -> verifstatus.coding = create('Coding') as coding then {
codeS.code -> coding.code = 'confirmed';
codeS -> coding.system = 'http://terminology.hl7.org/CodeSystem/condition-ver-status' "system";
codeS -> coding.display = cast('Confirmed', 'string') "display";
} "coding";
} "verifstatus";
src where entryRelationship.exists().not() then {
src.effectiveTime as effectiveTime where (value.exists()) -> tgt.onset = create('dateTime') as value then TSDateTime(effectiveTime, value) "value1";
src.effectiveTime as effectiveTime -> tgt.onset = create('Period') as value then IVLTSPeriod(effectiveTime, value) "valuePeriod";
} "onset";
src.entryRelationship as entryRelationship then {
entryRelationship.observation as obsentry then {
// toASK
obsentry.value -> tgt.code;
obsentry.code -> tgt.category;
obsentry.effectiveTime as effectiveTime where (value.exists()) -> tgt.onset = create('dateTime') as value then TSDateTime(effectiveTime, value) "value1";
obsentry.effectiveTime as effectiveTime -> tgt.onset = create('Period') as value then IVLTSPeriod(effectiveTime, value) "valuePeriod";
obsentry.text as text -> tgt.note as note then {
text.reference as reference -> note.text = (reference.value) "text";
} "note";
obsentry.entryRelationship as entryR2 then {
entryR2.observation as obsentry2 then {
obsentry2.code where code = '89261-2' then {
obsentry2 -> tgt.evidence as evidence, bundle.entry as e1, e1.request = create('BackboneElement') as request, request.method = 'POST', e1.resource = create('Observation') as obsy, obsy.id = uuid() as uuid1, e1.fullUrl = append('https://example/Observation/', uuid1), request.url = 'Observation', evidence.detail = create('Reference') as reference, reference.reference = ('https://example/Observation/' + %obsy.id) then Observation(obsentry2, patient, encounter, obsy, bundle) "observation";
} "observation";
obsentry2.code where code = '33999-4' then {
obsentry2.value as value -> tgt.clinicalStatus as clinicalstatus then {
value as val -> clinicalstatus.coding = create('Coding') as coding then {
val where (code = 'LA9041-0') -> coding.code = 'resolved' "code";
val where (code = 'LA18632-2') -> coding.code = 'inactive' "code";
val where (code = 'LA16666-2') -> coding.code = 'active' "code";
val -> coding.system = 'http://terminology.hl7.org/CodeSystem/condition-clinical' "system";
val.displayName as display -> coding.display = cast(display, 'string') "display";
} "coding";
obsentry2.text as text then {
text.reference as reference -> clinicalstatus.text = (reference.value) "text";
};
} "clinicalstatus";
} "clinicalStatus2";
obsentry2.code where code = 'SEV' then {
obsentry2.value -> tgt.severity;
} "severity";
};
entryR2.act as act then {
act.text as text -> tgt.note as note then {
text.reference as reference -> note.text = (reference.value) "text";
} "note";
};
} "entryR";
} "EntryRelObsevation";
} "entryR";
}
group FamilyMemberFunction(source src : organizer, target tgt : FamilyMemberHistory, target patient : patient) {
src -> tgt.patient = create('Reference') as reference, reference.reference = ('https://example/Patient/' + %patient.id) "patReference";
src.id -> tgt.identifier;
src.statusCode -> tgt.status;
src.effectiveTime as effectiveTime -> tgt.date = create('date') as value then TSDate(effectiveTime, value) "date";
src.subject as subject then {
subject.relatedSubject as relatedSubject then {
relatedSubject.code -> tgt.relationship "relationshipCode";
relatedSubject.subject as subject -> tgt.sex as sex then {
subject.administrativeGenderCode as administrativeGenderCode -> sex.coding as coding then {
administrativeGenderCode.code as sexCode -> coding.code = translate(sexCode, '#cm-v3-administrative-gender', 'code') "gender";
administrativeGenderCode -> coding.system = 'http://hl7.org/fhir/administrative-gender' "system";
administrativeGenderCode.displayName as dn -> coding.display = dn;
} "coding";
};
} "relatedSub";
} "relationship";
src.component as component -> tgt.condition as condition then {
component.observation as observation then {
observation.code -> condition.code;
observation.text as text -> tgt.note as note then {
text.reference as reference -> note.text = (reference.value) "value";
} "reference";
observation.statusCode -> tgt.status;
// observation.effectiveTime as effectiveTime -> condition.onset = create('Period') as value then IVLTSPeriod(effectiveTime, value) "valuePeriod";
observation.value -> condition.outcome "codeable";
observation.entryRelationship as entryR then {
entryR.observation as obs then {
obs where (code.code = '35267-4') then {
obs.value as value -> condition.onset = create('Age') as Age then {
value.value as valueAge -> Age.value = valueAge "age";
value.unit as unit -> Age.code = unit;
value.unit as unit -> Age.unit = unit;
value -> Age.system = 'http://unitsofmeasure.org' "system";
};
} "insorgenza";
obs where (code.code = '39016-1') then {
obs.value as value -> tgt.deceased = create('Age') as Age then {
value.value as valueAge -> Age.value = valueAge "age";
value.unit as unit -> Age.code = unit;
value.unit as unit -> Age.unit = unit;
value -> Age.system = 'http://unitsofmeasure.org' "system";
};
} "death";
} "obser";
} "EntryRel";
};
};
}
group Practitioner(source src : performer, target tgt : Encounter, target bundle : Bundle) {
src -> bundle.entry as e22, e22.request = create('BackboneElement') as request, request.method = 'PUT', e22.resource = create('Practitioner') as practitioner1 then {
src.assignedEntity as assignedEntity -> tgt.participant as participant then {
src.time as time where (value.exists()) -> participant.period = create('dateTime') as value then TSDateTime(time, value) "value1";
src.time as time where (low.exists()) -> participant.period = create('Period') as value then IVLTSPeriod(time, value) "valuePeriod";
// src.time as time -> participant.period as period then{
assignedEntity.id as id -> practitioner1.identifier as identifier then {
id.root as r -> identifier.system = translate(r, 'http://hl7.org/fhir/ConceptMap/special-oid2uri', 'uri') "root1";
id.extension as ext -> identifier.value = ext "ext";
id.assigningAuthorityName as s -> identifier.assigner as a, a.display = s;
id.root as r then {
id.extension as ext -> practitioner1.id = (r + '-' + ext) as uuid22, e22.fullUrl = append('https://example/Practitioner/', uuid22), participant.individual = create('Reference') as reference, reference.reference = ('https://example/Practitioner/' + %practitioner1.id) "id";
} "r";
} "identifier";
assignedEntity.id as id where (root = '2.16.840.1.113883.2.9.4.3.2') then {
id.extension as ext -> request.url = append('Practitioner?identifier=', ext) "UUID";
} "2";
assignedEntity.id as id where (root != '2.16.840.1.113883.2.9.4.3.2') then {
id.extension as ext -> request.url = append('Practitioner?identifier=', ext) "UUID";
} "diverso";
assignedEntity -> practitioner1.meta as meta then {
src -> meta.tag = create('Coding') as coding then {
src -> coding.system = 'http://algoritmodiscoring' "system";
src -> coding.code = 'ClinicalDocument/body/VisiteRicoveri/performer/' "code";
} "coding";
} "meta";
assignedEntity.addr -> practitioner1.address;
assignedEntity.telecom -> practitioner1.telecom;
assignedEntity.assignedPerson as person then {
person.name -> practitioner1.name;
person.birthTime -> practitioner1.birthDate;
} "partname";
} "participant";
} "resurceCreation";
}
group CarePlanFunction(source src : entry, target tgt : CarePlan, target patient : Patient, target encounter : Encounter, target bundle : Bundle) {
src -> tgt.subject = create('Reference') as reference, reference.reference = ('https://example/Patient/' + %patient.id) "reference";
src -> tgt.status = 'unknown' "status";
src -> tgt.intent = 'plan' "intent";
src -> tgt.activity as activity then {
src -> activity.detail as detail then {
src.observation as observation then {
observation then {
observation -> detail.status = 'unknown' "status";
observation -> bundle.entry as e1, e1.request = create('BackboneElement') as request, request.method = 'POST', e1.resource = create('Observation') as obs1, obs1.id = uuid() as uuid1, e1.fullUrl = append('https://example/Observation/', uuid1), request.url = 'Observation', detail.reasonReference = create('Reference') as reference, reference.reference = ('https://example/Observation/' + %obs1.id) then Observation(observation, patient, encounter, obs1, bundle) "obs1";
} "activity";
} "entryObs";
src.substanceAdministration as substanceAdministration -> tgt.activity as activity then {
substanceAdministration -> bundle.entry as e2, e2.request = create('BackboneElement') as request, request.method = 'POST', e2.resource = create('MedicationRequest') as medre1, medre1.id = uuid() as uuid2, e2.fullUrl = append('https://example/MedicationRequest/', uuid2), request.url = 'MedicationRequest', activity.reference = create('Reference') as reference, reference.reference = ('https://example/MedicationRequest/' + %medre1.id) then MedicationRequest(substanceAdministration, patient, encounter, medre1, bundle) "Terapie";
} "entrySub";
src.procedure as procedureC -> bundle.entry as e8, e8.request = create('BackboneElement') as request, request.method = 'POST', e8.resource = create('Procedure') as procedure, procedure.id = uuid() as uuid8, e8.fullUrl = append('https://example/Procedure/', uuid8), request.url = 'Procedure', activity.outcomeReference = create('Reference') as reference, reference.reference = ('https://example/Procedure/' + %procedure.id) then Procedure(procedureC, patient, encounter, procedure, bundle) "proc";
src.encounter as encounterCDA -> bundle.entry as e3, e3.request = create('BackboneElement') as request, request.method = 'POST', e3.resource = create('Encounter') as encounterFHIR, encounterFHIR.id = uuid() as uuid3, e3.fullUrl = append('https://example/Encounter/', uuid3), request.url = 'Encounter', tgt.encounter = create('Reference') as reference, reference.reference = ('https://example/Encounter/' + %encounterFHIR.id) then {
// encounterCDA -> encounterFHIR.partOf = create('Reference') as reference, reference.reference = ('https://example/Encounter/' + %encounter.id) "encounterHeader";
encounterCDA -> encounterFHIR.subject = create('Reference') as reference, reference.reference = ('https://example/Patient/' + %patient.id) "refPatient";
encounterCDA.id -> encounterFHIR.identifier;
encounterCDA.statusCode -> encounterFHIR.status;
encounterCDA where statusCode.exists().not() -> encounterFHIR.status = 'unknown' "status";
encounterCDA.code as code -> encounterFHIR.class as class then {
code.code as code -> class.code = cast(code, 'string');
code.codeSystem as system -> class.system = translate(system, 'http://hl7.org/fhir/ConceptMap/special-oid2uri', 'uri');
code.displayName as display -> class.display = cast(display, 'string');
} "class";
encounterCDA.text as text -> encounterFHIR.type as type then {
text.reference as reference -> type.text = (reference.value) "value";
};
encounterCDA.effectiveTime as effectiveTime -> encounterFHIR.period = create('Period') as period then {
effectiveTime -> period.start = create('dateTime') as start then TSDateTime(effectiveTime, start) "val";
} "efft";
} "viste";
src.act as act then {
act.id -> tgt.identifier;
act.code -> activity.outcomeCodeableConcept;
act.text as text -> activity.progress = create('Annotation') as progress then {
text.reference as reference -> progress.text = (reference.value) "value";
};
act.effectiveTime as effectiveTime -> detail.scheduled = create('Period') as period then {
effectiveTime -> period.start = create('dateTime') as start then TSDateTime(effectiveTime, start) "val";
} "efft";
act -> detail.status = 'completed' "status";
};
} "detail";
} "activityIni";
}
group MedicationRequest(source src : substanceAdministration, target patient : Patient, target encounter : Encounter, target tgt : MedicationRequest, target bundle : Bundle) {
// default + mandatory
src -> tgt.subject = create('Reference') as reference, reference.reference = ('https://example/Patient/' + %patient.id) "reference";
// src -> tgt.encounter = create('Reference') as reference, reference.reference = ('https://example/Encounter/' + %encounter.id) "reference";
src -> tgt.intent = 'order' "intent";
src where statusCode.exists().not() -> tgt.status = 'unknown' "st";
src.statusCode as sc then {
sc.code as cos -> tgt.status = translate(cos, '#MedicationStatusMap', 'code') "codeS";
} "status";
src.id -> tgt.identifier;
src.text as txt -> tgt.note as note then {
txt.reference as reference -> note.text = (reference.value) "text";
} "note";
src.effectiveTime : IVL_TS as eff -> tgt.dosageInstruction = create('Dosage') as dosage then {
eff -> dosage.timing = create('Timing') as timing then {
eff -> timing.repeat as rep then {
eff -> rep.bounds = create('Period') as value then IVLTSPeriod(eff, value) "valuePeriod";
} "rep";
} "timing";
} "period";
src.effectiveTime : EIVL_TS as effe -> tgt.dosageInstruction = create('Dosage') as dosage then {
effe -> dosage.timing = create('Timing') as timing then {
effe -> timing.repeat as rep then {
effe.eventCode as ev -> rep.when = (ev.code);
} "rep";
} "timing";
} "period";
src.effectiveTime : IVL_TS as eff -> tgt.dosageInstruction = create('Dosage') as dosage, dosage.timing = create('Timing') as timing, timing.event = (eff.value) "tim";
src.effectiveTime : PIVL_TS as eff -> tgt.dosageInstruction = create('Dosage') as dosage then {
eff -> dosage.timing = create('Timing') as timing then periodTiming(eff, timing) "cod";
} "eff";
src where (src.doseQuantity.exists() or src.rateQuantity.exists()) then {
src -> tgt.dosageInstruction = create('Dosage') as dosageInstruction then {
src.doseQuantity as doseQuant then {
doseQuant.originalText as ot then {
ot.reference -> dosageInstruction.text;
} "ot";
doseQuant -> dosageInstruction.doseAndRate as dosageRate then {
doseQuant -> dosageRate.dose = create('Range') as d then {
doseQuant -> d.low = create('SimpleQuantity') as l then {
doseQuant.low as lo -> l.value = (lo.value);
doseQuant.low as lo -> l.unit = (lo.unit);
} "low";
doseQuant -> d.high = create('SimpleQuantity') as h then {
doseQuant.high as hi -> h.value = (hi.value);
doseQuant.high as hi -> h.unit = (hi.unit);
} "low";
} "d";
} "dosageRate";
};
src.rateQuantity as rateQuantity then {
rateQuantity.originalText as ot then {
ot.reference -> dosageInstruction.text;
} "ot";
rateQuantity -> dosageInstruction.doseAndRate as dosageRate then {
rateQuantity -> dosageRate.rate = create('Range') as d then {
rateQuantity -> d.low = create('SimpleQuantity') as l then {
rateQuantity.low as lo -> l.value = (lo.value);
rateQuantity.low as lo -> l.unit = (lo.unit);
} "low";
rateQuantity -> d.high = create('SimpleQuantity') as h then {
rateQuantity.high as hi -> h.value = (hi.value);
rateQuantity.high as hi -> h.unit = (hi.unit);
} "high";
} "r";
} "dosageRate";
} "rate";
src.routeCode -> dosageInstruction.route "route";
src.approachSiteCode -> dosageInstruction.site "site";
src.targetSiteCode -> dosageInstruction.site "site";
} "dosageIn";
} "condition";
src.consumable as consumable -> bundle.entry as e1, e1.request = create('BackboneElement') as request, request.method = 'POST', e1.resource = create('Medication') as medication, medication.id = uuid() as uuid1, e1.fullUrl = append('https://example/Medication/', uuid1), request.url = 'Medication', tgt.medication = create('Reference') as medref, medref.reference = ('https://example/Medication/' + %medication.id) then Medication(src, medication, patient, bundle) "medication";
src.entryRelationship as entryRelationship then {
entryRelationship.supply as supply -> tgt.dispenseRequest as dispenseRequest then {
supply.quantity as quantityCDA -> dispenseRequest.quantity as quantityFHIR then {
quantityCDA -> quantityFHIR.value = (quantityCDA.value) "value";
};
};
} "entryR";
src.participant as participant then {
participant then Practitioner(participant, tgt, bundle) "function";
participant.effectiveTime -> tgt.authoredOn "autor";
} "Partecipant";
}
group OrganizationAffiliation(source src : act, target patient : Patient, target enc : Encounter, target tgt : OrganizationAffiliation, target bundle : Bundle) {
src.id -> tgt.identifier;
// src.code -> tgt.specialty as specialty then{
src.statusCode where code = 'active' -> tgt.active = true;
src.statusCode where (code = 'active').not() -> tgt.active = false;
src.effectiveTime as eff -> tgt.period;
// src.code -> tgt.specialty;
src -> tgt.specialty = create('CodeableConcept') as spec then {
src.code as code then {
code -> spec.coding = create('Coding') as cd then {
code -> cd.code = (code.code) "code";
code -> cd.display = (code.displayName) "code";
code.codeSystem as r -> cd.system = translate(r, 'http://hl7.org/fhir/ConceptMap/special-oid2uri', 'uri') "root1";
} "cd";
} "spec";
src.entryRelationship as entry then {
entry.act as a then {
a.text as tx then {
tx.reference as reff -> spec.text = (reff.value);
} "ref";
};
} "entry";
} "a";
}
group DiagnosticReportFunction(source src : organizer, target patient : Patient, target enc : Encounter, target tgt : DiagnosticReport, target bundle : Bundle) {
src -> tgt.subject = create('Reference') as reference, reference.reference = ('https://example/Patient/' + %patient.id) "reference";
// src -> tgt.encounter=create('Reference') as reference, reference.reference = ('https://example/Encounter/' + %enc.id) "reference";
src.code -> tgt.code;
src.statusCode where code = 'completed' -> tgt.status = 'final';
src.effectiveTime as eff where (value.exists()) -> tgt.effective = create('dateTime') as value then TSDateTime(eff, value) "value1";
src.effectiveTime as eff where (low.exists()) -> tgt.effective = create('Period') as value then IVLTSPeriod(effectiveTime, value) "valuePeriod";
src.component as component then {
component.observation as observation -> bundle.entry as ei, ei.request = create('BackboneElement') as request, request.method = 'POST', ei.resource = create('Observation') as obsi, obsi.id = uuid() as uuidi, ei.fullUrl = append('https://example/Observation/', uuidi), request.url = 'Observation', tgt.result = create('Reference') as reference, reference.reference = ('https://example/Observation/' + %obsi.id) then Observation(observation, patient, enc, obsi, bundle) "hasMember";
};
}
group EncounterFunction(source src : cdaElement, target patient : Patient, target encounter : Encounter, target tgt : Encounter, target bundle : Bundle) {
src.id -> tgt.identifier;
src.statusCode -> tgt.status;
src where statusCode.exists().not() -> tgt.status = 'unknown' "status";
src.code as code -> tgt.class as class then {
code -> class.code = (code.code) "code";
code -> class.display = (code.displayName) "display";
code.codeSystem as r -> class.system = translate(r, 'http://hl7.org/fhir/ConceptMap/special-oid2uri', 'uri') "root1";
} "co";
// src.effectiveTime as effective -> tgt.period as period then{
src where effectiveTime.low.exists() or effectiveTime.high.exists() then {
src.effectiveTime as eff -> tgt.period = create('Period') as period then IVLTSPeriod(eff, period);
} "where";
// effectiveTime = time-stamp
src where effectiveTime.low.exists().not() or effectiveTime.high.exists().not() then {
src.effectiveTime as effectivetime1 -> tgt.period = create('Period') as period then {
effectivetime1 -> period.start = create('dateTime') as start then TSDateTime(effectivetime1, start) "val";
} "efft";
} "where";
// src.effectiveTime as eff where (value.exists()) -> tgt.period = create('dateTime') as value then TSDateTime(eff, value) "value1";
src.text as tx -> tgt.type as ty then {
tx.reference as reff -> ty.text = (reff.value) "textType";
};
src.performer as performer -> tgt.participant as part then {
performer -> part.period as period then {
performer.time as time -> period.start as start then TSDateTime(time, start) "val";
} "period";
performer.assignedEntity as assentity -> bundle.entry as e1, e1.request = create('BackboneElement') as request, request.method = 'POST', e1.resource = create('PractitionerRole') as practitionerRole, practitionerRole.id = uuid() as uuid1, e1.fullUrl = append('https://example/PractitionerRole/', uuid1), request.url = 'PractitionerRole', tgt.participant = create('BackboneElement') as participant1, participant1.individual = create('Reference') as referencepart, referencepart.reference = ('https://example/PractitionerRole/' + %practitionerRole.id) then {
assentity.code -> practitionerRole.code;
assentity -> bundle.entry as e2, e2.request = create('BackboneElement') as request, request.method = 'PUT', e2.resource = create('Practitioner') as practitioner then {
assentity -> practitioner.meta as meta then {
assentity -> meta.tag = create('Coding') as coding then {
assentity -> coding.system = 'http://algoritmodiscoring' "system";
assentity -> coding.code = 'ClinicalDocument/body/encounter/performer' "code";
} "coding";
} "meta";
assentity.id as id -> practitioner.identifier as identifier then {
id.root as r -> identifier.system = translate(r, 'http://hl7.org/fhir/ConceptMap/special-oid2uri', 'uri') "root1";
id.extension as ext -> identifier.value = ext then {
assentity -> request.url = append('Practitioner?identifier=', ext) "UUID";
} "ext";
id.assigningAuthorityName as s -> identifier.assigner as a, a.display = s;
id.root as r then {
id.extension as ext -> practitioner.id = (r + '-' + ext) as uuid2, e2.fullUrl = append('https://example/Practitioner/', uuid2), practitionerRole.practitioner = create('Reference') as reference, reference.reference = ('https://example/Practitioner/' + %practitioner.id) "performer";
} "r";
} "identifier";
assentity.id as id where (root = '2.16.840.1.113883.2.9.4.3.2') then {
id.extension as ext -> request.url = append('Practitioner?identifier=', ext) "UUID";
} "2";
assentity.id as id where (root != '2.16.840.1.113883.2.9.4.3.2') then {
id.extension as ext -> request.url = append('Practitioner?identifier=', ext) "UUID";
} "2";
assentity.addr -> practitioner.address;
assentity.telecom -> practitioner.telecom;
assentity.assignedPerson as person then {
person.name -> practitioner.name;
person.birthTime as birthTime then {
birthTime.value as date -> practitioner.birthDate = truncate(date, 10);
} "birth";
} "name";
} "assignedEntity";
} "performer";
} "01";
}
</pre>
</div>
</text>
<url value="http://hl7.it/fhir/cda2fhir/StructureMap/cda2fhirPs"/>
<version value="0.1.0"/>
<name value="cda2fhirPs"/>
<status value="draft"/>
<date value="2024-04-11T15:38:19+02:00"/>
<publisher value="HL7 Italy"/>
<contact>
<name value="HL7 Italy"/>
<telecom>
<system value="url"/>
<value value="http://hl7.it"/>
</telecom>
</contact>
<jurisdiction>
<coding>
<system value="urn:iso:std:iso:3166"/>
<code value="IT"/>
<display value="Italy"/>
</coding>
</jurisdiction>
<structure>
<url
value="http://hl7.org/fhir/cda/StructureDefinition/ClinicalDocument"/>
<mode value="source"/>
<alias value="ClinicalDocument"/>
</structure>
<structure>
<url value="http://hl7.org/fhir/cda/StructureDefinition/AssignedAuthor"/>
<mode value="queried"/>
<alias value="AssignedAuthor"/>
</structure>
<structure>
<url value="http://hl7.org/fhir/cda/StructureDefinition/AssignedEntity"/>
<mode value="queried"/>
<alias value="AssignedEntity"/>
</structure>
<structure>
<url
value="http://hl7.org/fhir/cda/StructureDefinition/AssociatedEntity"/>
<mode value="queried"/>
<alias value="AssociatedEntity"/>
</structure>
<structure>
<url
value="http://hl7.org/fhir/cda/StructureDefinition/CustodianOrganization"/>
<mode value="queried"/>
<alias value="CustodianOrganization"/>
</structure>
<structure>
<url
value="http://hl7.org/fhir/cda/StructureDefinition/OrganizationPartOf"/>
<mode value="queried"/>
<alias value="OrganizationPartOf"/>
</structure>
<structure>
<url value="http://hl7.org/fhir/cda/StructureDefinition/Organization"/>
<mode value="queried"/>
<alias value="rapresentedOrganization"/>
</structure>
<structure>
<url value="http://hl7.org/fhir/cda/StructureDefinition/Section"/>
<mode value="queried"/>
<alias value="Section"/>
</structure>
<structure>
<url value="http://hl7.org/fhir/cda/StructureDefinition/PatientRole"/>
<mode value="queried"/>
<alias value="PatientRole"/>
</structure>
<structure>
<url value="http://hl7.org/fhir/cda/StructureDefinition/AD"/>
<mode value="source"/>
<alias value="AD"/>
</structure>
<structure>
<url value="http://hl7.org/fhir/StructureDefinition/Bundle"/>
<mode value="target"/>
<alias value="Bundle"/>
</structure>
<structure>
<url value="http://hl7.org/fhir/StructureDefinition/Composition"/>
<mode value="produced"/>
<alias value="Composition"/>
</structure>
<structure>
<url value="http://hl7.org/fhir/StructureDefinition/Patient"/>
<mode value="produced"/>
<alias value="Patient"/>
</structure>
<structure>
<url value="http://hl7.org/fhir/StructureDefinition/Encounter"/>
<mode value="produced"/>
<alias value="Encounter"/>
</structure>
<structure>
<url value="http://hl7.org/fhir/StructureDefinition/Person"/>
<mode value="produced"/>
<alias value="Patient"/>
</structure>
<structure>
<url value="http://hl7.org/fhir/StructureDefinition/List"/>
<mode value="produced"/>
<alias value="List"/>
</structure>
<structure>
<url value="http://hl7.org/fhir/StructureDefinition/Practitioner"/>
<mode value="produced"/>
<alias value="Practitioner"/>
</structure>
<structure>
<url value="http://hl7.org/fhir/StructureDefinition/Organization"/>
<mode value="produced"/>
<alias value="Organization"/>
</structure>
<structure>
<url value="http://hl7.org/fhir/cda/StructureDefinition/Act"/>
<mode value="produced"/>
<alias value="Act"/>
</structure>
<structure>
<url value="http://hl7.org/fhir/cda/StructureDefinition/IVL-PQ"/>
<mode value="source"/>
<alias value="IVL_PQ"/>
</structure>
<structure>
<url value="http://hl7.org/fhir/cda/StructureDefinition/PQ"/>
<mode value="source"/>
<alias value="PQ"/>
</structure>
<structure>
<url value="http://hl7.org/fhir/StructureDefinition/SimpleQuantity"/>
<mode value="target"/>
<alias value="SimpleQuantity"/>
</structure>
<import value="http://hl7.it/fhir/cda2fhir/StructureMap/cda2fhirDataTypes"/>
<import value="http://hl7.it/fhir/cda2fhir/StructureMap/cda2fhirHeader"/>
<group>
<name value="CdaToBundle"/>
<typeMode value="none"/>
<input>
<name value="cda"/>
<type value="ClinicalDocument"/>
<mode value="source"/>
</input>
<input>
<name value="bundle"/>
<type value="Bundle"/>
<mode value="target"/>
</input>
<rule>
<name value="ClinicalDocumentToBody"/>
<source>
<context value="cda"/>
</source>
<target>
<context value="bundle"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="e"/>
</target>
<target>
<context value="e"/>
<contextType value="variable"/>
<element value="request"/>
<variable value="request"/>
<transform value="create"/>
<parameter>
<valueString value="BackboneElement"/>
</parameter>
</target>
<target>
<context value="request"/>
<contextType value="variable"/>
<element value="method"/>
<transform value="copy"/>
<parameter>
<valueString value="POST"/>
</parameter>
</target>
<target>
<context value="e"/>
<contextType value="variable"/>
<element value="resource"/>
<variable value="composition"/>
<transform value="create"/>
<parameter>
<valueString value="Composition"/>
</parameter>
</target>
<target>
<context value="composition"/>
<contextType value="variable"/>
<element value="id"/>
<variable value="uuid1"/>
<transform value="uuid"/>
</target>
<target>
<context value="e"/>
<contextType value="variable"/>
<element value="fullUrl"/>
<transform value="append"/>
<parameter>
<valueString value="https://example/Composition/"/>
</parameter>
<parameter>
<valueId value="uuid1"/>
</parameter>
</target>
<target>
<context value="request"/>
<contextType value="variable"/>
<element value="url"/>
<transform value="copy"/>
<parameter>
<valueString value="Composition"/>
</parameter>
</target>
<target>
<context value="bundle"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="e2"/>
</target>
<target>
<context value="e2"/>
<contextType value="variable"/>
<element value="request"/>
<variable value="requestPAT"/>
<transform value="create"/>
<parameter>
<valueString value="BackboneElement"/>
</parameter>
</target>
<target>
<context value="requestPAT"/>
<contextType value="variable"/>
<element value="method"/>
<transform value="copy"/>
<parameter>
<valueString value="PUT"/>
</parameter>
</target>
<target>
<context value="e2"/>
<contextType value="variable"/>
<element value="resource"/>
<variable value="patient"/>
<transform value="create"/>
<parameter>
<valueString value="Patient"/>
</parameter>
</target>
<target>
<context value="patient"/>
<contextType value="variable"/>
<element value="id"/>
<variable value="uuid2"/>
<transform value="uuid"/>
</target>
<target>
<context value="e2"/>
<contextType value="variable"/>
<element value="fullUrl"/>
<transform value="append"/>
<parameter>
<valueString value="https://example/Patient/"/>
</parameter>
<parameter>
<valueId value="uuid2"/>
</parameter>
</target>
<target>
<context value="bundle"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="e3"/>
</target>
<target>
<context value="e3"/>
<contextType value="variable"/>
<element value="request"/>
<variable value="request"/>
<transform value="create"/>
<parameter>
<valueString value="BackboneElement"/>
</parameter>
</target>
<target>
<context value="request"/>
<contextType value="variable"/>
<element value="method"/>
<transform value="copy"/>
<parameter>
<valueString value="POST"/>
</parameter>
</target>
<target>
<context value="e3"/>
<contextType value="variable"/>
<element value="resource"/>
<variable value="encounter"/>
<transform value="create"/>
<parameter>
<valueString value="Encounter"/>
</parameter>
</target>
<target>
<context value="encounter"/>
<contextType value="variable"/>
<element value="id"/>
<variable value="uuid3"/>
<transform value="uuid"/>
</target>
<target>
<context value="e3"/>
<contextType value="variable"/>
<element value="fullUrl"/>
<transform value="append"/>
<parameter>
<valueString value="https://example/Encounter/"/>
</parameter>
<parameter>
<valueId value="uuid3"/>
</parameter>
</target>
<target>
<context value="request"/>
<contextType value="variable"/>
<element value="url"/>
<transform value="copy"/>
<parameter>
<valueString value="Encounter"/>
</parameter>
</target>
<target>
<context value="bundle"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="e4"/>
</target>
<target>
<context value="e4"/>
<contextType value="variable"/>
<element value="request"/>
<variable value="request"/>
<transform value="create"/>
<parameter>
<valueString value="BackboneElement"/>
</parameter>
</target>
<target>
<context value="request"/>
<contextType value="variable"/>
<element value="method"/>
<transform value="copy"/>
<parameter>
<valueString value="POST"/>
</parameter>
</target>
<target>
<context value="e4"/>
<contextType value="variable"/>
<element value="resource"/>
<variable value="DocumentReference"/>
<transform value="create"/>
<parameter>
<valueString value="DocumentReference"/>
</parameter>
</target>
<target>
<context value="DocumentReference"/>
<contextType value="variable"/>
<element value="id"/>
<variable value="uuid4"/>
<transform value="uuid"/>
</target>
<target>
<context value="e4"/>
<contextType value="variable"/>
<element value="fullUrl"/>
<transform value="append"/>
<parameter>
<valueString value="https://example/DocumentReference/"/>
</parameter>
<parameter>
<valueId value="uuid4"/>
</parameter>
</target>
<target>
<context value="request"/>
<contextType value="variable"/>
<element value="url"/>
<transform value="copy"/>
<parameter>
<valueString value="DocumentReference"/>
</parameter>
</target>
<rule>
<name value="cdatobundle"/>
<source>
<context value="cda"/>
</source>
<dependent>
<name value="ClinicalDocumentToBundle"/>
<variable value="cda"/>
<variable value="patient"/>
<variable value="composition"/>
<variable value="encounter"/>
<variable value="bundle"/>
<variable value="DocumentReference"/>
</dependent>
</rule>
<rule>
<name value="patient"/>
<source>
<context value="cda"/>
<element value="recordTarget"/>
<variable value="recordTarget"/>
</source>
<rule>
<name value="recPat"/>
<source>
<context value="recordTarget"/>
<element value="patientRole"/>
<variable value="patient"/>
</source>
<rule>
<name value="idfr"/>
<source>
<context value="patient"/>
<element value="id"/>
<variable value="id"/>
</source>
<target>
<context value="patient"/>
<contextType value="variable"/>
<element value="identifier"/>
<variable value="identifier"/>
</target>
<rule>
<name value="root1"/>
<source>
<context value="id"/>
<element value="root"/>
<variable value="r"/>
</source>
<target>
<context value="identifier"/>
<contextType value="variable"/>
<element value="system"/>
<transform value="translate"/>
<parameter>
<valueId value="r"/>
</parameter>
<parameter>
<valueString
value="http://hl7.org/fhir/ConceptMap/special-oid2uri"/>
</parameter>
<parameter>
<valueString value="uri"/>
</parameter>
</target>
</rule>
<rule>
<name value="value"/>
<source>
<context value="id"/>
<element value="extension"/>
<variable value="ext1"/>
</source>
<target>
<context value="identifier"/>
<contextType value="variable"/>
<element value="value"/>
<transform value="copy"/>
<parameter>
<valueId value="ext1"/>
</parameter>
</target>
</rule>
<rule>
<name value="assigningAuthorityName"/>
<source>
<context value="id"/>
<element value="assigningAuthorityName"/>
<variable value="s"/>
</source>
<target>
<context value="identifier"/>
<contextType value="variable"/>
<element value="assigner"/>
<variable value="a"/>
</target>
<target>
<context value="a"/>
<contextType value="variable"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueId value="s"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="ext"/>
<source>
<context value="patient"/>
<element value="id"/>
<variable value="id"/>
<condition
value="(root = '2.16.840.1.113883.2.9.4.3.2') or (root = '2.16.840.1.113883.2.9.4.3.7') or (root = '2.16.840.1.113883.2.9.4.3.3') or (root = '2.16.840.1.113883.2.9.4.3.17') or (root = '2.16.840.1.113883.2.9.4.3.18') or (root = '2.16.840.1.113883.2.9.2.10.4.1.1') or (root = '2.16.840.1.113883.2.9.2.20.4.1.1') or (root = '2.16.840.1.113883.2.9.2.30.4.1.1') or (root = '2.16.840.1.113883.2.9.2.41.4.1.1') or (root = '2.16.840.1.113883.2.9.2.42.4.1.1') or (root = '2.16.840.1.113883.2.9.2.50.4.1.1') or (root = '2.16.840.1.113883.2.9.2.60.4.1.1') or (root = '2.16.840.1.113883.2.9.2.70.4.1.1') or (root = '2.16.840.1.113883.2.9.2.80.4.1.1') or (root = '2.16.840.1.113883.2.9.2.90.4.1.1') or (root = '2.16.840.1.113883.2.9.2.100.4.1.1') or (root = '2.16.840.1.113883.2.9.2.110.4.1.1') or (root = '2.16.840.1.113883.2.9.2.120.4.1.1') or (root = '2.16.840.1.113883.2.9.2.130.4.1.1') or (root = '2.16.840.1.113883.2.9.2.140.4.1.1') or (root = '2.16.840.1.113883.2.9.2.150.4.1.1') or (root = '2.16.840.1.113883.2.9.2.160.4.1.1') or (root = '2.16.840.1.113883.2.9.2.170.4.1.1') or (root = '2.16.840.1.113883.2.9.2.180.4.1.1') or (root = '2.16.840.1.113883.2.9.2.190.4.1.1') or (root = '2.16.840.1.113883.2.9.2.200.4.1.1') or (root = '2.16.840.1.113883.2.9.2.10.4.1') or (root = '2.16.840.1.113883.2.9.2.20.4.1') or (root = '2.16.840.1.113883.2.9.2.30.4.1') or (root = '2.16.840.1.113883.2.9.2.41.4.1') or (root = '2.16.840.1.113883.2.9.2.42.4.1') or (root = '2.16.840.1.113883.2.9.2.50.4.1') or (root = '2.16.840.1.113883.2.9.2.60.4.1') or (root = '2.16.840.1.113883.2.9.2.70.4.1') or (root = '2.16.840.1.113883.2.9.2.80.4.1') or (root = '2.16.840.1.113883.2.9.2.90.4.1') or (root = '2.16.840.1.113883.2.9.2.100.4.1') or (root = '2.16.840.1.113883.2.9.2.110.4.1') or (root = '2.16.840.1.113883.2.9.2.120.4.1') or (root = '2.16.840.1.113883.2.9.2.130.4.1') or (root = '2.16.840.1.113883.2.9.2.140.4.1') or (root = '2.16.840.1.113883.2.9.2.150.4.1') or (root = '2.16.840.1.113883.2.9.2.160.4.1') or (root = '2.16.840.1.113883.2.9.2.170.4.1') or (root = '2.16.840.1.113883.2.9.2.180.4.1') or (root = '2.16.840.1.113883.2.9.2.190.4.1') or (root = '2.16.840.1.113883.2.9.2.200.4.1') or (root = '2.16.840.1.113883.2.9.4.3.15')"/>
</source>
<rule>
<name value="UUID"/>
<source>
<context value="id"/>
<element value="extension"/>
<variable value="ext"/>
</source>
<target>
<context value="requestPAT"/>
<contextType value="variable"/>
<element value="url"/>
<transform value="append"/>
<parameter>
<valueString value="Patient?identifier="/>
</parameter>
<parameter>
<valueId value="ext"/>
</parameter>
</target>
</rule>
</rule>
</rule>
</rule>
</rule>
</group>
<group>
<name value="ClinicalDocumentToBundle"/>
<typeMode value="none"/>
<input>
<name value="cda"/>
<type value="ClinicalDocument"/>
<mode value="source"/>
</input>
<input>
<name value="patient"/>
<type value="Patient"/>
<mode value="target"/>
</input>
<input>
<name value="composition"/>
<type value="Composition"/>
<mode value="target"/>
</input>
<input>
<name value="encounter"/>
<type value="Encounter"/>
<mode value="target"/>
</input>
<input>
<name value="bundle"/>
<type value="Bundle"/>
<mode value="target"/>
</input>
<input>
<name value="DocumentReference"/>
<type value="DocumentReference"/>
<mode value="target"/>
</input>
<rule>
<name value="finished"/>
<source>
<context value="cda"/>
</source>
<target>
<context value="encounter"/>
<contextType value="variable"/>
<element value="status"/>
<transform value="copy"/>
<parameter>
<valueString value="finished"/>
</parameter>
</target>
</rule>
<rule>
<name value="coding"/>
<source>
<context value="cda"/>
</source>
<target>
<context value="encounter"/>
<contextType value="variable"/>
<element value="class"/>
<variable value="coding"/>
<transform value="create"/>
<parameter>
<valueString value="Coding"/>
</parameter>
</target>
<rule>
<name value="code"/>
<source>
<context value="cda"/>
</source>
<target>
<context value="coding"/>
<contextType value="variable"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="summary"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="id"/>
<source>
<context value="cda"/>
</source>
<target>
<context value="bundle"/>
<contextType value="variable"/>
<element value="id"/>
<transform value="uuid"/>
</target>
</rule>
<rule>
<name value="identifier"/>
<source>
<context value="cda"/>
<element value="id"/>
<variable value="vvv"/>
</source>
<target>
<context value="bundle"/>
<contextType value="variable"/>
<element value="identifier"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
</rule>
<rule>
<name value="type"/>
<source>
<context value="cda"/>
</source>
<target>
<context value="bundle"/>
<contextType value="variable"/>
<element value="type"/>
<transform value="copy"/>
<parameter>
<valueString value="transaction"/>
</parameter>
</target>
</rule>
<rule>
<name value="date"/>
<source>
<context value="cda"/>
</source>
<target>
<context value="bundle"/>
<contextType value="variable"/>
<element value="timestamp"/>
<transform value="evaluate"/>
<parameter>
<valueString value="timestamp.now()"/>
</parameter>
</target>
<documentation value="cda.effectiveTime -> bundle.timestamp;"/>
</rule>
<rule>
<name value="composition"/>
<source>
<context value="cda"/>
</source>
<dependent>
<name value="ClinicalDocumentComposition"/>
<variable value="cda"/>
<variable value="composition"/>
<variable value="patient"/>
<variable value="encounter"/>
<variable value="bundle"/>
<variable value="DocumentReference"/>
</dependent>
</rule>
<rule>
<name value="diagnostic"/>
<source>
<context value="cda"/>
<element value="component"/>
<variable value="component"/>
</source>
<rule>
<name value="body"/>
<source>
<context value="component"/>
<element value="structuredBody"/>
<variable value="body"/>
</source>
<rule>
<name value="component"/>
<source>
<context value="body"/>
<element value="component"/>
<variable value="component"/>
</source>
<rule>
<name value="section"/>
<source>
<context value="component"/>
<element value="section"/>
<variable value="srcSection"/>
</source>
<rule>
<name value="code"/>
<source>
<context value="srcSection"/>
<element value="code"/>
</source>
<target>
<context value="composition"/>
<contextType value="variable"/>
<element value="section"/>
<variable value="tgtSection"/>
</target>
<dependent>
<name value="ClinicalDocumentSection"/>
<variable value="cda"/>
<variable value="srcSection"/>
<variable value="patient"/>
<variable value="tgtSection"/>
<variable value="bundle"/>
<variable value="encounter"/>
<variable value="composition"/>
</dependent>
</rule>
</rule>
</rule>
</rule>
</rule>
</group>
<group>
<name value="ClinicalDocumentSection"/>
<typeMode value="none"/>
<input>
<name value="cda"/>
<type value="ClinicalDocument"/>
<mode value="source"/>
</input>
<input>
<name value="src"/>
<type value="Section"/>
<mode value="source"/>
</input>
<input>
<name value="patient"/>
<type value="Patient"/>
<mode value="target"/>
</input>
<input>
<name value="tgt"/>
<mode value="target"/>
</input>
<input>
<name value="bundle"/>
<type value="Bundle"/>
<mode value="target"/>
</input>
<input>
<name value="enc"/>
<type value="Encounter"/>
<mode value="target"/>
</input>
<input>
<name value="composition"/>
<type value="Composition"/>
<mode value="target"/>
</input>
<rule>
<name value="title"/>
<source>
<context value="src"/>
<element value="title"/>
<variable value="t"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="title"/>
<transform value="evaluate"/>
<parameter>
<valueString value="t.dataString"/>
</parameter>
</target>
</rule>
<rule>
<name value="code"/>
<source>
<context value="src"/>
<element value="code"/>
<variable value="vvv"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="code"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
</rule>
<rule>
<name value="entry"/>
<source>
<context value="src"/>
<element value="entry"/>
<variable value="entry"/>
</source>
<rule>
<name value="cdaText"/>
<source>
<context value="src"/>
<element value="text"/>
<variable value="cdaText"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="text"/>
<variable value="fhirText"/>
</target>
<rule>
<name value="narrativeStatus"/>
<source>
<context value="cdaText"/>
</source>
<target>
<context value="fhirText"/>
<contextType value="variable"/>
<element value="status"/>
<transform value="copy"/>
<parameter>
<valueString value="generated"/>
</parameter>
</target>
</rule>
<rule>
<name value="narrativeText"/>
<source>
<context value="cdaText"/>
<variable value="t"/>
</source>
<target>
<context value="fhirText"/>
<contextType value="variable"/>
<element value="div"/>
<transform value="copy"/>
<parameter>
<valueId value="t"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="entryObs"/>
<source>
<context value="src"/>
<element value="code"/>
<condition value="(code = '30954-2')"/>
</source>
<rule>
<name value="diagnostic"/>
<source>
<context value="entry"/>
<element value="organizer"/>
<variable value="organizer"/>
</source>
<target>
<context value="bundle"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="e0"/>
</target>
<target>
<context value="e0"/>
<contextType value="variable"/>
<element value="request"/>
<variable value="request"/>
<transform value="create"/>
<parameter>
<valueString value="BackboneElement"/>
</parameter>
</target>
<target>
<context value="request"/>
<contextType value="variable"/>
<element value="method"/>
<transform value="copy"/>
<parameter>
<valueString value="POST"/>
</parameter>
</target>
<target>
<context value="e0"/>
<contextType value="variable"/>
<element value="resource"/>
<variable value="dia"/>
<transform value="create"/>
<parameter>
<valueString value="DiagnosticReport"/>
</parameter>
</target>
<target>
<context value="dia"/>
<contextType value="variable"/>
<element value="id"/>
<variable value="uuid0"/>
<transform value="uuid"/>
</target>
<target>
<context value="e0"/>
<contextType value="variable"/>
<element value="fullUrl"/>
<transform value="append"/>
<parameter>
<valueString value="https://example/DiagnosticReport/"/>
</parameter>
<parameter>
<valueId value="uuid0"/>
</parameter>
</target>
<target>
<context value="request"/>
<contextType value="variable"/>
<element value="url"/>
<transform value="copy"/>
<parameter>
<valueString value="DiagnosticReport"/>
</parameter>
</target>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="reference"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<target>
<context value="reference"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="evaluate"/>
<parameter>
<valueString
value="'https://example/DiagnosticReport/' + %dia.id"/>
</parameter>
</target>
<dependent>
<name value="DiagnosticReportFunction"/>
<variable value="organizer"/>
<variable value="patient"/>
<variable value="enc"/>
<variable value="dia"/>
<variable value="bundle"/>
</dependent>
</rule>
<documentation value="sezioni che sono strutturate"/>
</rule>
<rule>
<name value="entryObs"/>
<source>
<context value="src"/>
<element value="code"/>
<condition value="(code = '29762-2') or (code = '10162-6')"/>
</source>
<rule>
<name value="obs1"/>
<source>
<context value="entry"/>
<element value="observation"/>
<variable value="observation"/>
</source>
<target>
<context value="bundle"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="e1"/>
</target>
<target>
<context value="e1"/>
<contextType value="variable"/>
<element value="request"/>
<variable value="request"/>
<transform value="create"/>
<parameter>
<valueString value="BackboneElement"/>
</parameter>
</target>
<target>
<context value="request"/>
<contextType value="variable"/>
<element value="method"/>
<transform value="copy"/>
<parameter>
<valueString value="POST"/>
</parameter>
</target>
<target>
<context value="e1"/>
<contextType value="variable"/>
<element value="resource"/>
<variable value="obs1"/>
<transform value="create"/>
<parameter>
<valueString value="Observation"/>
</parameter>
</target>
<target>
<context value="obs1"/>
<contextType value="variable"/>
<element value="id"/>
<variable value="uuid1"/>
<transform value="uuid"/>
</target>
<target>
<context value="e1"/>
<contextType value="variable"/>
<element value="fullUrl"/>
<transform value="append"/>
<parameter>
<valueString value="https://example/Observation/"/>
</parameter>
<parameter>
<valueId value="uuid1"/>
</parameter>
</target>
<target>
<context value="request"/>
<contextType value="variable"/>
<element value="url"/>
<transform value="copy"/>
<parameter>
<valueString value="Observation"/>
</parameter>
</target>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="reference"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<target>
<context value="reference"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="evaluate"/>
<parameter>
<valueString value="'https://example/Observation/' + %obs1.id"/>
</parameter>
</target>
<dependent>
<name value="Observation"/>
<variable value="observation"/>
<variable value="patient"/>
<variable value="enc"/>
<variable value="obs1"/>
<variable value="bundle"/>
</dependent>
</rule>
</rule>
<rule>
<name value="organizer"/>
<source>
<context value="src"/>
<element value="code"/>
<condition value="(code = '8716-3') or (code = '47420-5')"/>
</source>
<rule>
<name value="obs2"/>
<source>
<context value="entry"/>
<element value="organizer"/>
<variable value="organizer"/>
</source>
<target>
<context value="bundle"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="e2"/>
</target>
<target>
<context value="e2"/>
<contextType value="variable"/>
<element value="request"/>
<variable value="request"/>
<transform value="create"/>
<parameter>
<valueString value="BackboneElement"/>
</parameter>
</target>
<target>
<context value="request"/>
<contextType value="variable"/>
<element value="method"/>
<transform value="copy"/>
<parameter>
<valueString value="POST"/>
</parameter>
</target>
<target>
<context value="e2"/>
<contextType value="variable"/>
<element value="resource"/>
<variable value="obs2"/>
<transform value="create"/>
<parameter>
<valueString value="Observation"/>
</parameter>
</target>
<target>
<context value="obs2"/>
<contextType value="variable"/>
<element value="id"/>
<variable value="uuid2"/>
<transform value="uuid"/>
</target>
<target>
<context value="e2"/>
<contextType value="variable"/>
<element value="fullUrl"/>
<transform value="append"/>
<parameter>
<valueString value="https://example/Observation/"/>
</parameter>
<parameter>
<valueId value="uuid2"/>
</parameter>
</target>
<target>
<context value="request"/>
<contextType value="variable"/>
<element value="url"/>
<transform value="copy"/>
<parameter>
<valueString value="Observation"/>
</parameter>
</target>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="reference"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<target>
<context value="reference"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="evaluate"/>
<parameter>
<valueString value="'https://example/Observation/' + %obs2.id"/>
</parameter>
</target>
<dependent>
<name value="ObservationOrganizer"/>
<variable value="src"/>
<variable value="organizer"/>
<variable value="patient"/>
<variable value="enc"/>
<variable value="obs2"/>
<variable value="bundle"/>
</dependent>
</rule>
<rule>
<name value="obs2"/>
<source>
<context value="entry"/>
<element value="observation"/>
<variable value="organizer"/>
</source>
<target>
<context value="bundle"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="e2"/>
</target>
<target>
<context value="e2"/>
<contextType value="variable"/>
<element value="request"/>
<variable value="request"/>
<transform value="create"/>
<parameter>
<valueString value="BackboneElement"/>
</parameter>
</target>
<target>
<context value="request"/>
<contextType value="variable"/>
<element value="method"/>
<transform value="copy"/>
<parameter>
<valueString value="POST"/>
</parameter>
</target>
<target>
<context value="e2"/>
<contextType value="variable"/>
<element value="resource"/>
<variable value="obs2"/>
<transform value="create"/>
<parameter>
<valueString value="Observation"/>
</parameter>
</target>
<target>
<context value="obs2"/>
<contextType value="variable"/>
<element value="id"/>
<variable value="uuid2"/>
<transform value="uuid"/>
</target>
<target>
<context value="e2"/>
<contextType value="variable"/>
<element value="fullUrl"/>
<transform value="append"/>
<parameter>
<valueString value="https://example/Observation/"/>
</parameter>
<parameter>
<valueId value="uuid2"/>
</parameter>
</target>
<target>
<context value="request"/>
<contextType value="variable"/>
<element value="url"/>
<transform value="copy"/>
<parameter>
<valueString value="Observation"/>
</parameter>
</target>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="reference"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<target>
<context value="reference"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="evaluate"/>
<parameter>
<valueString value="'https://example/Observation/' + %obs2.id"/>
</parameter>
</target>
<dependent>
<name value="ObservationOrganizer"/>
<variable value="src"/>
<variable value="organizer"/>
<variable value="patient"/>
<variable value="enc"/>
<variable value="obs2"/>
<variable value="bundle"/>
</dependent>
</rule>
</rule>
<rule>
<name value="listaDeiProblemi"/>
<source>
<context value="src"/>
<element value="code"/>
<condition value="code = '11450-4'"/>
</source>
<rule>
<name value="condition"/>
<source>
<context value="entry"/>
<element value="act"/>
<variable value="act"/>
</source>
<target>
<context value="bundle"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="e3"/>
</target>
<target>
<context value="e3"/>
<contextType value="variable"/>
<element value="request"/>
<variable value="request"/>
<transform value="create"/>
<parameter>
<valueString value="BackboneElement"/>
</parameter>
</target>
<target>
<context value="request"/>
<contextType value="variable"/>
<element value="method"/>
<transform value="copy"/>
<parameter>
<valueString value="POST"/>
</parameter>
</target>
<target>
<context value="e3"/>
<contextType value="variable"/>
<element value="resource"/>
<variable value="condition"/>
<transform value="create"/>
<parameter>
<valueString value="Condition"/>
</parameter>
</target>
<target>
<context value="condition"/>
<contextType value="variable"/>
<element value="id"/>
<variable value="uuid3"/>
<transform value="uuid"/>
</target>
<target>
<context value="e3"/>
<contextType value="variable"/>
<element value="fullUrl"/>
<transform value="append"/>
<parameter>
<valueString value="https://example/Condition/"/>
</parameter>
<parameter>
<valueId value="uuid3"/>
</parameter>
</target>
<target>
<context value="request"/>
<contextType value="variable"/>
<element value="url"/>
<transform value="copy"/>
<parameter>
<valueString value="Condition"/>
</parameter>
</target>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="reference"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<target>
<context value="reference"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="evaluate"/>
<parameter>
<valueString
value="'https://example/Condition/' + %condition.id"/>
</parameter>
</target>
<dependent>
<name value="ConditionFunction"/>
<variable value="act"/>
<variable value="condition"/>
<variable value="patient"/>
<variable value="enc"/>
<variable value="bundle"/>
</dependent>
</rule>
</rule>
<rule>
<name value="entryAct"/>
<source>
<context value="src"/>
<element value="code"/>
<condition value="(code = '48765-2')"/>
</source>
<rule>
<name value="allergy"/>
<source>
<context value="entry"/>
<element value="act"/>
<variable value="act"/>
</source>
<target>
<context value="bundle"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="e5"/>
</target>
<target>
<context value="e5"/>
<contextType value="variable"/>
<element value="request"/>
<variable value="request"/>
<transform value="create"/>
<parameter>
<valueString value="BackboneElement"/>
</parameter>
</target>
<target>
<context value="request"/>
<contextType value="variable"/>
<element value="method"/>
<transform value="copy"/>
<parameter>
<valueString value="POST"/>
</parameter>
</target>
<target>
<context value="e5"/>
<contextType value="variable"/>
<element value="resource"/>
<variable value="allergy"/>
<transform value="create"/>
<parameter>
<valueString value="AllergyIntolerance"/>
</parameter>
</target>
<target>
<context value="allergy"/>
<contextType value="variable"/>
<element value="id"/>
<variable value="uuid5"/>
<transform value="uuid"/>
</target>
<target>
<context value="e5"/>
<contextType value="variable"/>
<element value="fullUrl"/>
<transform value="append"/>
<parameter>
<valueString value="https://example/AllergyIntolerance/"/>
</parameter>
<parameter>
<valueId value="uuid5"/>
</parameter>
</target>
<target>
<context value="request"/>
<contextType value="variable"/>
<element value="url"/>
<transform value="copy"/>
<parameter>
<valueString value="AllergyIntolerance"/>
</parameter>
</target>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="reference"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<target>
<context value="reference"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="evaluate"/>
<parameter>
<valueString
value="'https://example/AllergyIntolerance/' + %allergy.id"/>
</parameter>
</target>
<dependent>
<name value="allergyFunction"/>
<variable value="act"/>
<variable value="allergy"/>
<variable value="patient"/>
<variable value="enc"/>
</dependent>
</rule>
</rule>
<rule>
<name value="terapia"/>
<source>
<context value="src"/>
<element value="code"/>
<condition value="code = '10160-0'"/>
</source>
<rule>
<name value="TerapiaFarmacologica"/>
<source>
<context value="entry"/>
<element value="substanceAdministration"/>
<variable value="subAdmin"/>
</source>
<target>
<context value="bundle"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="e6"/>
</target>
<target>
<context value="e6"/>
<contextType value="variable"/>
<element value="request"/>
<variable value="request"/>
<transform value="create"/>
<parameter>
<valueString value="BackboneElement"/>
</parameter>
</target>
<target>
<context value="request"/>
<contextType value="variable"/>
<element value="method"/>
<transform value="copy"/>
<parameter>
<valueString value="POST"/>
</parameter>
</target>
<target>
<context value="e6"/>
<contextType value="variable"/>
<element value="resource"/>
<variable value="medicationstatement"/>
<transform value="create"/>
<parameter>
<valueString value="MedicationStatement"/>
</parameter>
</target>
<target>
<context value="medicationstatement"/>
<contextType value="variable"/>
<element value="id"/>
<variable value="uuid6"/>
<transform value="uuid"/>
</target>
<target>
<context value="e6"/>
<contextType value="variable"/>
<element value="fullUrl"/>
<transform value="append"/>
<parameter>
<valueString value="https://example/MedicationStatement/"/>
</parameter>
<parameter>
<valueId value="uuid6"/>
</parameter>
</target>
<target>
<context value="request"/>
<contextType value="variable"/>
<element value="url"/>
<transform value="copy"/>
<parameter>
<valueString value="MedicationStatement"/>
</parameter>
</target>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="reference"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<target>
<context value="reference"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="evaluate"/>
<parameter>
<valueString
value="'https://example/MedicationStatement/' + %medicationstatement.id"/>
</parameter>
</target>
<dependent>
<name value="MedicationStatement"/>
<variable value="subAdmin"/>
<variable value="medicationstatement"/>
<variable value="patient"/>
<variable value="enc"/>
<variable value="bundle"/>
</dependent>
</rule>
</rule>
<rule>
<name value="vacc"/>
<source>
<context value="src"/>
<element value="code"/>
<condition value="code = '11369-6'"/>
</source>
<rule>
<name value="immunization"/>
<source>
<context value="entry"/>
<element value="substanceAdministration"/>
<variable value="subVACC"/>
</source>
<target>
<context value="bundle"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="e7"/>
</target>
<target>
<context value="e7"/>
<contextType value="variable"/>
<element value="request"/>
<variable value="request"/>
<transform value="create"/>
<parameter>
<valueString value="BackboneElement"/>
</parameter>
</target>
<target>
<context value="request"/>
<contextType value="variable"/>
<element value="method"/>
<transform value="copy"/>
<parameter>
<valueString value="POST"/>
</parameter>
</target>
<target>
<context value="e7"/>
<contextType value="variable"/>
<element value="resource"/>
<variable value="immunization"/>
<transform value="create"/>
<parameter>
<valueString value="Immunization"/>
</parameter>
</target>
<target>
<context value="immunization"/>
<contextType value="variable"/>
<element value="id"/>
<variable value="uuid7"/>
<transform value="uuid"/>
</target>
<target>
<context value="e7"/>
<contextType value="variable"/>
<element value="fullUrl"/>
<transform value="append"/>
<parameter>
<valueString value="https://example/Immunization/"/>
</parameter>
<parameter>
<valueId value="uuid7"/>
</parameter>
</target>
<target>
<context value="request"/>
<contextType value="variable"/>
<element value="url"/>
<transform value="copy"/>
<parameter>
<valueString value="Immunization"/>
</parameter>
</target>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="reference"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<target>
<context value="reference"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="evaluate"/>
<parameter>
<valueString
value="'https://example/Immunization/' + %immunization.id"/>
</parameter>
</target>
<dependent>
<name value="Immunization"/>
<variable value="subVACC"/>
<variable value="patient"/>
<variable value="enc"/>
<variable value="immunization"/>
<variable value="bundle"/>
</dependent>
</rule>
</rule>
<rule>
<name value="family"/>
<source>
<context value="src"/>
<element value="code"/>
<condition value="code = '10157-6'"/>
</source>
<rule>
<name value="family"/>
<source>
<context value="entry"/>
<element value="organizer"/>
<variable value="organizer"/>
</source>
<target>
<context value="bundle"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="e12"/>
</target>
<target>
<context value="e12"/>
<contextType value="variable"/>
<element value="request"/>
<variable value="request"/>
<transform value="create"/>
<parameter>
<valueString value="BackboneElement"/>
</parameter>
</target>
<target>
<context value="request"/>
<contextType value="variable"/>
<element value="method"/>
<transform value="copy"/>
<parameter>
<valueString value="POST"/>
</parameter>
</target>
<target>
<context value="e12"/>
<contextType value="variable"/>
<element value="resource"/>
<variable value="familyMember"/>
<transform value="create"/>
<parameter>
<valueString value="FamilyMemberHistory"/>
</parameter>
</target>
<target>
<context value="familyMember"/>
<contextType value="variable"/>
<element value="id"/>
<variable value="uuid12"/>
<transform value="uuid"/>
</target>
<target>
<context value="e12"/>
<contextType value="variable"/>
<element value="fullUrl"/>
<transform value="append"/>
<parameter>
<valueString value="https://example/FamilyMemberHistory/"/>
</parameter>
<parameter>
<valueId value="uuid12"/>
</parameter>
</target>
<target>
<context value="request"/>
<contextType value="variable"/>
<element value="url"/>
<transform value="copy"/>
<parameter>
<valueString value="FamilyMemberHistory"/>
</parameter>
</target>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="reference"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<target>
<context value="reference"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="evaluate"/>
<parameter>
<valueString
value="'https://example/FamilyMemberHistory/' + %familyMember.id"/>
</parameter>
</target>
<dependent>
<name value="FamilyMemberFunction"/>
<variable value="organizer"/>
<variable value="familyMember"/>
<variable value="patient"/>
</dependent>
</rule>
</rule>
<rule>
<name value="impianti"/>
<source>
<context value="src"/>
<element value="code"/>
<condition value="code = '46264-8'"/>
</source>
<rule>
<name value="protesi"/>
<source>
<context value="entry"/>
<element value="supply"/>
<variable value="supply"/>
</source>
<target>
<context value="bundle"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="e8"/>
</target>
<target>
<context value="e8"/>
<contextType value="variable"/>
<element value="request"/>
<variable value="request"/>
<transform value="create"/>
<parameter>
<valueString value="BackboneElement"/>
</parameter>
</target>
<target>
<context value="request"/>
<contextType value="variable"/>
<element value="method"/>
<transform value="copy"/>
<parameter>
<valueString value="POST"/>
</parameter>
</target>
<target>
<context value="e8"/>
<contextType value="variable"/>
<element value="resource"/>
<variable value="procedure"/>
<transform value="create"/>
<parameter>
<valueString value="Procedure"/>
</parameter>
</target>
<target>
<context value="procedure"/>
<contextType value="variable"/>
<element value="id"/>
<variable value="uuid8"/>
<transform value="uuid"/>
</target>
<target>
<context value="e8"/>
<contextType value="variable"/>
<element value="fullUrl"/>
<transform value="append"/>
<parameter>
<valueString value="https://example/Procedure/"/>
</parameter>
<parameter>
<valueId value="uuid8"/>
</parameter>
</target>
<target>
<context value="request"/>
<contextType value="variable"/>
<element value="url"/>
<transform value="copy"/>
<parameter>
<valueString value="Procedure"/>
</parameter>
</target>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="reference"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<target>
<context value="reference"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="evaluate"/>
<parameter>
<valueString
value="'https://example/Procedure/' + %procedure.id"/>
</parameter>
</target>
<dependent>
<name value="Procedure"/>
<variable value="supply"/>
<variable value="patient"/>
<variable value="enc"/>
<variable value="procedure"/>
<variable value="bundle"/>
</dependent>
</rule>
</rule>
<rule>
<name value="trattamentiProcedure"/>
<source>
<context value="src"/>
<element value="code"/>
<condition value="code = '47519-4'"/>
</source>
<rule>
<name value="tratt"/>
<source>
<context value="entry"/>
<element value="procedure"/>
<variable value="procedure"/>
</source>
<target>
<context value="bundle"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="e9"/>
</target>
<target>
<context value="e9"/>
<contextType value="variable"/>
<element value="request"/>
<variable value="request"/>
<transform value="create"/>
<parameter>
<valueString value="BackboneElement"/>
</parameter>
</target>
<target>
<context value="request"/>
<contextType value="variable"/>
<element value="method"/>
<transform value="copy"/>
<parameter>
<valueString value="POST"/>
</parameter>
</target>
<target>
<context value="e9"/>
<contextType value="variable"/>
<element value="resource"/>
<variable value="procedure2"/>
<transform value="create"/>
<parameter>
<valueString value="Procedure"/>
</parameter>
</target>
<target>
<context value="procedure2"/>
<contextType value="variable"/>
<element value="id"/>
<variable value="uuid9"/>
<transform value="uuid"/>
</target>
<target>
<context value="e9"/>
<contextType value="variable"/>
<element value="fullUrl"/>
<transform value="append"/>
<parameter>
<valueString value="https://example/Procedure/"/>
</parameter>
<parameter>
<valueId value="uuid9"/>
</parameter>
</target>
<target>
<context value="request"/>
<contextType value="variable"/>
<element value="url"/>
<transform value="copy"/>
<parameter>
<valueString value="Procedure"/>
</parameter>
</target>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="reference"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<target>
<context value="reference"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="evaluate"/>
<parameter>
<valueString
value="'https://example/Procedure/' + %procedure2.id"/>
</parameter>
</target>
<dependent>
<name value="Procedure"/>
<variable value="procedure"/>
<variable value="patient"/>
<variable value="enc"/>
<variable value="procedure2"/>
<variable value="bundle"/>
</dependent>
</rule>
</rule>
<rule>
<name value="visiteRicoveri"/>
<source>
<context value="src"/>
<element value="code"/>
<condition value="code = '46240-8'"/>
</source>
<rule>
<name value="encounter"/>
<source>
<context value="entry"/>
<element value="encounter"/>
<variable value="encounter"/>
</source>
<target>
<context value="bundle"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="e9"/>
</target>
<target>
<context value="e9"/>
<contextType value="variable"/>
<element value="request"/>
<variable value="request"/>
<transform value="create"/>
<parameter>
<valueString value="BackboneElement"/>
</parameter>
</target>
<target>
<context value="request"/>
<contextType value="variable"/>
<element value="method"/>
<transform value="copy"/>
<parameter>
<valueString value="POST"/>
</parameter>
</target>
<target>
<context value="e9"/>
<contextType value="variable"/>
<element value="resource"/>
<variable value="encounterF"/>
<transform value="create"/>
<parameter>
<valueString value="Encounter"/>
</parameter>
</target>
<target>
<context value="encounterF"/>
<contextType value="variable"/>
<element value="id"/>
<variable value="uuid9"/>
<transform value="uuid"/>
</target>
<target>
<context value="e9"/>
<contextType value="variable"/>
<element value="fullUrl"/>
<transform value="append"/>
<parameter>
<valueString value="https://example/Encounter/"/>
</parameter>
<parameter>
<valueId value="uuid9"/>
</parameter>
</target>
<target>
<context value="request"/>
<contextType value="variable"/>
<element value="url"/>
<transform value="copy"/>
<parameter>
<valueString value="Encounter"/>
</parameter>
</target>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="reference"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<target>
<context value="reference"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="evaluate"/>
<parameter>
<valueString
value="'https://example/Encounter/' + %encounterF.id"/>
</parameter>
</target>
<dependent>
<name value="EncounterFunction"/>
<variable value="encounter"/>
<variable value="patient"/>
<variable value="enc"/>
<variable value="encounterF"/>
<variable value="bundle"/>
</dependent>
<documentation
value="entry.encounter as encounter -> enc then{"/>
</rule>
</rule>
<rule>
<name value="esenzioni"/>
<source>
<context value="src"/>
<element value="code"/>
<condition value="code = '57827-8'"/>
</source>
<rule>
<name value="esen"/>
<source>
<context value="entry"/>
<element value="act"/>
<variable value="act"/>
</source>
<target>
<context value="bundle"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="e13"/>
</target>
<target>
<context value="e13"/>
<contextType value="variable"/>
<element value="request"/>
<variable value="request"/>
<transform value="create"/>
<parameter>
<valueString value="BackboneElement"/>
</parameter>
</target>
<target>
<context value="request"/>
<contextType value="variable"/>
<element value="method"/>
<transform value="copy"/>
<parameter>
<valueString value="POST"/>
</parameter>
</target>
<target>
<context value="e13"/>
<contextType value="variable"/>
<element value="resource"/>
<variable value="coverage"/>
<transform value="create"/>
<parameter>
<valueString value="Coverage"/>
</parameter>
</target>
<target>
<context value="coverage"/>
<contextType value="variable"/>
<element value="id"/>
<variable value="uuid13"/>
<transform value="uuid"/>
</target>
<target>
<context value="e13"/>
<contextType value="variable"/>
<element value="fullUrl"/>
<transform value="append"/>
<parameter>
<valueString value="https://example/Coverage/"/>
</parameter>
<parameter>
<valueId value="uuid13"/>
</parameter>
</target>
<target>
<context value="request"/>
<contextType value="variable"/>
<element value="url"/>
<transform value="copy"/>
<parameter>
<valueString value="Coverage"/>
</parameter>
</target>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="reference"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<target>
<context value="reference"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="evaluate"/>
<parameter>
<valueString
value="'https://example/Coverage/' + %coverage.id"/>
</parameter>
</target>
<dependent>
<name value="Coverage"/>
<variable value="act"/>
<variable value="patient"/>
<variable value="enc"/>
<variable value="coverage"/>
<variable value="bundle"/>
</dependent>
</rule>
</rule>
<rule>
<name value="retiPatologia"/>
<source>
<context value="src"/>
<element value="code"/>
<condition value="code = 'PSSIT99'"/>
</source>
<rule>
<name value="OrgAffiliation"/>
<source>
<context value="entry"/>
<element value="act"/>
<variable value="act"/>
</source>
<target>
<context value="bundle"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="e14"/>
</target>
<target>
<context value="e14"/>
<contextType value="variable"/>
<element value="request"/>
<variable value="request"/>
<transform value="create"/>
<parameter>
<valueString value="BackboneElement"/>
</parameter>
</target>
<target>
<context value="request"/>
<contextType value="variable"/>
<element value="method"/>
<transform value="copy"/>
<parameter>
<valueString value="POST"/>
</parameter>
</target>
<target>
<context value="e14"/>
<contextType value="variable"/>
<element value="resource"/>
<variable value="affiliation"/>
<transform value="create"/>
<parameter>
<valueString value="OrganizationAffiliation"/>
</parameter>
</target>
<target>
<context value="affiliation"/>
<contextType value="variable"/>
<element value="id"/>
<variable value="uuid14"/>
<transform value="uuid"/>
</target>
<target>
<context value="e14"/>
<contextType value="variable"/>
<element value="fullUrl"/>
<transform value="append"/>
<parameter>
<valueString value="https://example/OrganizationAffiliation/"/>
</parameter>
<parameter>
<valueId value="uuid14"/>
</parameter>
</target>
<target>
<context value="request"/>
<contextType value="variable"/>
<element value="url"/>
<transform value="copy"/>
<parameter>
<valueString value="OrganizationAffiliation"/>
</parameter>
</target>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="reference"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<target>
<context value="reference"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="evaluate"/>
<parameter>
<valueString
value="'https://example/OrganizationAffiliation/' + %affiliation.id"/>
</parameter>
</target>
<dependent>
<name value="OrganizationAffiliation"/>
<variable value="act"/>
<variable value="patient"/>
<variable value="enc"/>
<variable value="affiliation"/>
<variable value="bundle"/>
</dependent>
</rule>
</rule>
</rule>
<rule>
<name value="esiste"/>
<source>
<context value="src"/>
<condition value="src.entry.exists()"/>
</source>
<rule>
<name value="raccoglitore"/>
<source>
<context value="src"/>
<element value="code"/>
<condition value="code = '18776-5'"/>
</source>
<rule>
<name value="pianiCura"/>
<source>
<context value="src"/>
</source>
<target>
<context value="bundle"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="e11"/>
</target>
<target>
<context value="e11"/>
<contextType value="variable"/>
<element value="request"/>
<variable value="request"/>
<transform value="create"/>
<parameter>
<valueString value="BackboneElement"/>
</parameter>
</target>
<target>
<context value="request"/>
<contextType value="variable"/>
<element value="method"/>
<transform value="copy"/>
<parameter>
<valueString value="POST"/>
</parameter>
</target>
<target>
<context value="e11"/>
<contextType value="variable"/>
<element value="resource"/>
<variable value="careplan"/>
<transform value="create"/>
<parameter>
<valueString value="CarePlan"/>
</parameter>
</target>
<target>
<context value="careplan"/>
<contextType value="variable"/>
<element value="id"/>
<variable value="uuid11"/>
<transform value="uuid"/>
</target>
<target>
<context value="e11"/>
<contextType value="variable"/>
<element value="fullUrl"/>
<transform value="append"/>
<parameter>
<valueString value="https://example/CarePlan/"/>
</parameter>
<parameter>
<valueId value="uuid11"/>
</parameter>
</target>
<target>
<context value="request"/>
<contextType value="variable"/>
<element value="url"/>
<transform value="copy"/>
<parameter>
<valueString value="CarePlan"/>
</parameter>
</target>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="reference"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<target>
<context value="reference"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="evaluate"/>
<parameter>
<valueString
value="'https://example/CarePlan/' + %careplan.id"/>
</parameter>
</target>
<rule>
<name value="prestazioni"/>
<source>
<context value="src"/>
<element value="entry"/>
<variable value="entry"/>
</source>
<dependent>
<name value="CarePlanFunction"/>
<variable value="entry"/>
<variable value="careplan"/>
<variable value="patient"/>
<variable value="enc"/>
<variable value="bundle"/>
</dependent>
</rule>
</rule>
</rule>
</rule>
<rule>
<name value="code"/>
<source>
<context value="src"/>
<condition value="src.entry.exists().not()"/>
</source>
<rule>
<name value="familyraccoglitore"/>
<source>
<context value="src"/>
<element value="code"/>
<condition value="code = '10157-6'"/>
</source>
<rule>
<name value="family"/>
<source>
<context value="src"/>
<element value="text"/>
<variable value="text"/>
</source>
<target>
<context value="bundle"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="e12"/>
</target>
<target>
<context value="e12"/>
<contextType value="variable"/>
<element value="request"/>
<variable value="request"/>
<transform value="create"/>
<parameter>
<valueString value="BackboneElement"/>
</parameter>
</target>
<target>
<context value="request"/>
<contextType value="variable"/>
<element value="method"/>
<transform value="copy"/>
<parameter>
<valueString value="POST"/>
</parameter>
</target>
<target>
<context value="e12"/>
<contextType value="variable"/>
<element value="resource"/>
<variable value="familyMember"/>
<transform value="create"/>
<parameter>
<valueString value="FamilyMemberHistory"/>
</parameter>
</target>
<target>
<context value="familyMember"/>
<contextType value="variable"/>
<element value="id"/>
<variable value="uuid12"/>
<transform value="uuid"/>
</target>
<target>
<context value="e12"/>
<contextType value="variable"/>
<element value="fullUrl"/>
<transform value="append"/>
<parameter>
<valueString value="https://example/FamilyMemberHistory/"/>
</parameter>
<parameter>
<valueId value="uuid12"/>
</parameter>
</target>
<target>
<context value="request"/>
<contextType value="variable"/>
<element value="url"/>
<transform value="copy"/>
<parameter>
<valueString value="FamilyMemberHistory"/>
</parameter>
</target>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="reference"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<target>
<context value="reference"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="evaluate"/>
<parameter>
<valueString
value="'https://example/FamilyMemberHistory/' + %familyMember.id"/>
</parameter>
</target>
<rule>
<name value="reference"/>
<source>
<context value="src"/>
</source>
<target>
<context value="familyMember"/>
<contextType value="variable"/>
<element value="patient"/>
<variable value="reference"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<target>
<context value="reference"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="evaluate"/>
<parameter>
<valueString
value="'https://example/Patient/' + %patient.id"/>
</parameter>
</target>
</rule>
<rule>
<name value="statusS"/>
<source>
<context value="src"/>
</source>
<target>
<context value="familyMember"/>
<contextType value="variable"/>
<element value="status"/>
<transform value="copy"/>
<parameter>
<valueString value="health-unknown"/>
</parameter>
</target>
</rule>
<rule>
<name value="reference"/>
<source>
<context value="text"/>
</source>
<target>
<context value="familyMember"/>
<contextType value="variable"/>
<element value="note"/>
<variable value="note"/>
</target>
<rule>
<name value="reference"/>
<source>
<context value="text"/>
<variable value="t"/>
</source>
<target>
<context value="note"/>
<contextType value="variable"/>
<element value="text"/>
<transform value="copy"/>
<parameter>
<valueId value="t"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="medication"/>
<source>
<context value="text"/>
</source>
<target>
<context value="familyMember"/>
<contextType value="variable"/>
<element value="relationship"/>
<variable value="relation"/>
<transform value="create"/>
<parameter>
<valueString value="CodeableConcept"/>
</parameter>
</target>
<rule>
<name value="text"/>
<source>
<context value="text"/>
<variable value="txt"/>
</source>
<target>
<context value="relation"/>
<contextType value="variable"/>
<element value="text"/>
<transform value="copy"/>
<parameter>
<valueId value="txt"/>
</parameter>
</target>
</rule>
</rule>
</rule>
<documentation value="Anmanesi Familiare narrativa"/>
</rule>
<rule>
<name value="raccoglitore"/>
<source>
<context value="src"/>
<element value="code"/>
<condition value="code = '18776-5'"/>
</source>
<rule>
<name value="pianiCura"/>
<source>
<context value="src"/>
<element value="text"/>
<variable value="text"/>
</source>
<target>
<context value="bundle"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="e11"/>
</target>
<target>
<context value="e11"/>
<contextType value="variable"/>
<element value="request"/>
<variable value="request"/>
<transform value="create"/>
<parameter>
<valueString value="BackboneElement"/>
</parameter>
</target>
<target>
<context value="request"/>
<contextType value="variable"/>
<element value="method"/>
<transform value="copy"/>
<parameter>
<valueString value="POST"/>
</parameter>
</target>
<target>
<context value="e11"/>
<contextType value="variable"/>
<element value="resource"/>
<variable value="careplan"/>
<transform value="create"/>
<parameter>
<valueString value="CarePlan"/>
</parameter>
</target>
<target>
<context value="careplan"/>
<contextType value="variable"/>
<element value="id"/>
<variable value="uuid11"/>
<transform value="uuid"/>
</target>
<target>
<context value="e11"/>
<contextType value="variable"/>
<element value="fullUrl"/>
<transform value="append"/>
<parameter>
<valueString value="https://example/CarePlan/"/>
</parameter>
<parameter>
<valueId value="uuid11"/>
</parameter>
</target>
<target>
<context value="request"/>
<contextType value="variable"/>
<element value="url"/>
<transform value="copy"/>
<parameter>
<valueString value="CarePlan"/>
</parameter>
</target>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="reference"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<target>
<context value="reference"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="evaluate"/>
<parameter>
<valueString
value="'https://example/CarePlan/' + %careplan.id"/>
</parameter>
</target>
<rule>
<name value="reference"/>
<source>
<context value="src"/>
</source>
<target>
<context value="careplan"/>
<contextType value="variable"/>
<element value="subject"/>
<variable value="reference"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<target>
<context value="reference"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="evaluate"/>
<parameter>
<valueString
value="'https://example/Patient/' + %patient.id"/>
</parameter>
</target>
</rule>
<rule>
<name value="status"/>
<source>
<context value="src"/>
</source>
<target>
<context value="careplan"/>
<contextType value="variable"/>
<element value="status"/>
<transform value="copy"/>
<parameter>
<valueString value="active"/>
</parameter>
</target>
<documentation
value="src-> careplan.encounter=create('Reference') as reference, reference.reference = ('https://example/Encounter/' + %enc.id) "reference";"/>
</rule>
<rule>
<name value="intent"/>
<source>
<context value="src"/>
</source>
<target>
<context value="careplan"/>
<contextType value="variable"/>
<element value="intent"/>
<transform value="copy"/>
<parameter>
<valueString value="order"/>
</parameter>
</target>
</rule>
<rule>
<name value="reference"/>
<source>
<context value="text"/>
</source>
<target>
<context value="careplan"/>
<contextType value="variable"/>
<element value="note"/>
<variable value="note"/>
</target>
<rule>
<name value="reference"/>
<source>
<context value="text"/>
<variable value="t"/>
</source>
<target>
<context value="note"/>
<contextType value="variable"/>
<element value="text"/>
<transform value="copy"/>
<parameter>
<valueId value="t"/>
</parameter>
</target>
</rule>
</rule>
</rule>
<documentation value="Piano di cura narrativa"/>
</rule>
<rule>
<name value="narrative"/>
<source>
<context value="src"/>
<element value="code"/>
<condition
value="(code = '30954-2') or (code = '29762-2') or (code = '8716-3') or (code = '47420-5') or (code = '42348-3')"/>
</source>
<rule>
<name value="txtsec"/>
<source>
<context value="src"/>
<element value="text"/>
<variable value="text"/>
</source>
<target>
<context value="bundle"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="e13"/>
</target>
<target>
<context value="e13"/>
<contextType value="variable"/>
<element value="request"/>
<variable value="request"/>
<transform value="create"/>
<parameter>
<valueString value="BackboneElement"/>
</parameter>
</target>
<target>
<context value="request"/>
<contextType value="variable"/>
<element value="method"/>
<transform value="copy"/>
<parameter>
<valueString value="POST"/>
</parameter>
</target>
<target>
<context value="e13"/>
<contextType value="variable"/>
<element value="resource"/>
<variable value="obs1"/>
<transform value="create"/>
<parameter>
<valueString value="Observation"/>
</parameter>
</target>
<target>
<context value="obs1"/>
<contextType value="variable"/>
<element value="id"/>
<variable value="uuid13"/>
<transform value="uuid"/>
</target>
<target>
<context value="e13"/>
<contextType value="variable"/>
<element value="fullUrl"/>
<transform value="append"/>
<parameter>
<valueString value="https://example/Observation/"/>
</parameter>
<parameter>
<valueId value="uuid13"/>
</parameter>
</target>
<target>
<context value="request"/>
<contextType value="variable"/>
<element value="url"/>
<transform value="copy"/>
<parameter>
<valueString value="Observation"/>
</parameter>
</target>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="reference"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<target>
<context value="reference"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="evaluate"/>
<parameter>
<valueString value="'https://example/Observation/' + %obs1.id"/>
</parameter>
</target>
<rule>
<name value="reference"/>
<source>
<context value="src"/>
</source>
<target>
<context value="obs1"/>
<contextType value="variable"/>
<element value="subject"/>
<variable value="reference"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<target>
<context value="reference"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="evaluate"/>
<parameter>
<valueString
value="'https://example/Patient/' + %patient.id"/>
</parameter>
</target>
</rule>
<rule>
<name value="obsst"/>
<source>
<context value="src"/>
</source>
<target>
<context value="obs1"/>
<contextType value="variable"/>
<element value="status"/>
<transform value="copy"/>
<parameter>
<valueString value="preliminary"/>
</parameter>
</target>
<documentation
value="src -> obs1.encounter=create('Reference') as reference, reference.reference = ('https://example/Encounter/' + %enc.id) "reference";"/>
</rule>
<rule>
<name value="obscde"/>
<source>
<context value="src"/>
<element value="code"/>
<variable value="vvv"/>
</source>
<target>
<context value="obs1"/>
<contextType value="variable"/>
<element value="code"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
</rule>
<rule>
<name value="statusS"/>
<source>
<context value="src"/>
</source>
<target>
<context value="obs1"/>
<contextType value="variable"/>
<element value="status"/>
<transform value="copy"/>
<parameter>
<valueString value="final"/>
</parameter>
</target>
</rule>
<rule>
<name value="narrative"/>
<source>
<context value="text"/>
</source>
<target>
<context value="obs1"/>
<contextType value="variable"/>
<element value="note"/>
<variable value="note"/>
</target>
<rule>
<name value="note"/>
<source>
<context value="text"/>
<variable value="t"/>
</source>
<target>
<context value="note"/>
<contextType value="variable"/>
<element value="text"/>
<variable value="textNote"/>
<transform value="create"/>
<parameter>
<valueString value="string"/>
</parameter>
</target>
<dependent>
<name value="EDstring"/>
<variable value="t"/>
<variable value="textNote"/>
</dependent>
</rule>
</rule>
</rule>
<documentation value="sezioni che sono narrative"/>
</rule>
</rule>
<rule>
<name value="component"/>
<source>
<context value="src"/>
<element value="component"/>
<variable value="component"/>
</source>
<rule>
<name value="section"/>
<source>
<context value="component"/>
<element value="section"/>
<variable value="sec"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="section"/>
<variable value="tgtSection"/>
</target>
<dependent>
<name value="ClinicalDocumentSection"/>
<variable value="cda"/>
<variable value="sec"/>
<variable value="patient"/>
<variable value="tgtSection"/>
<variable value="bundle"/>
<variable value="enc"/>
<variable value="dReport"/>
</dependent>
</rule>
</rule>
</group>
<group>
<name value="Procedure"/>
<typeMode value="none"/>
<input>
<name value="src"/>
<type value="cdaElement"/>
<mode value="source"/>
</input>
<input>
<name value="patient"/>
<type value="Patient"/>
<mode value="target"/>
</input>
<input>
<name value="encounter"/>
<type value="Encounter"/>
<mode value="target"/>
</input>
<input>
<name value="tgt"/>
<type value="Procedure"/>
<mode value="target"/>
</input>
<input>
<name value="bundle"/>
<type value="Bundle"/>
<mode value="target"/>
</input>
<rule>
<name value="tx"/>
<source>
<context value="src"/>
<element value="text"/>
<variable value="tx"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="note"/>
<variable value="note"/>
</target>
<rule>
<name value="r"/>
<source>
<context value="tx"/>
<element value="reference"/>
<variable value="reff"/>
</source>
<target>
<context value="note"/>
<contextType value="variable"/>
<element value="text"/>
<transform value="evaluate"/>
<parameter>
<valueString value="reff.value"/>
</parameter>
</target>
</rule>
<documentation value="toASK"/>
</rule>
<rule>
<name value="ref"/>
<source>
<context value="src"/>
<element value="templateId"/>
<condition value="root = '2.16.840.1.113883.2.9.10.1.4.3.10.3'"/>
</source>
<rule>
<name value="effectiveTime"/>
<source>
<context value="src"/>
<element value="effectiveTime"/>
<variable value="effectiveTime"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="performed"/>
<transform value="evaluate"/>
<parameter>
<valueString value="effectiveTime.value"/>
</parameter>
</target>
</rule>
<rule>
<name value="code"/>
<source>
<context value="src"/>
<element value="code"/>
<variable value="vvv"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="code"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
</rule>
</rule>
<rule>
<name value="reference"/>
<source>
<context value="src"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="subject"/>
<variable value="reference"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<target>
<context value="reference"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="evaluate"/>
<parameter>
<valueString value="'https://example/Patient/' + %patient.id"/>
</parameter>
</target>
</rule>
<rule>
<name value="status"/>
<source>
<context value="src"/>
<element value="statusCode"/>
<variable value="s"/>
</source>
<rule>
<name value="codeS"/>
<source>
<context value="s"/>
<element value="code"/>
<variable value="cos"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="status"/>
<transform value="translate"/>
<parameter>
<valueId value="cos"/>
</parameter>
<parameter>
<valueString value="#EventStatus"/>
</parameter>
<parameter>
<valueString value="code"/>
</parameter>
</target>
</rule>
<documentation
value="src -> tgt.encounter=create('Reference') as reference, reference.reference = ('https://example/Encounter/' + %encounter.id) "reference";"/>
</rule>
<rule>
<name value="status2"/>
<source>
<context value="src"/>
<condition value="statusCode.exists().not()"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="status"/>
<transform value="copy"/>
<parameter>
<valueString value="unknown"/>
</parameter>
</target>
</rule>
<rule>
<name value="presenzaProtesiImpianto"/>
<source>
<context value="src"/>
<element value="templateId"/>
<condition value="root = '2.16.840.1.113883.2.9.10.1.4.3.9.1'"/>
</source>
<rule>
<name value="device"/>
<source>
<context value="src"/>
</source>
<target>
<context value="bundle"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="e1"/>
</target>
<target>
<context value="e1"/>
<contextType value="variable"/>
<element value="request"/>
<variable value="request"/>
<transform value="create"/>
<parameter>
<valueString value="BackboneElement"/>
</parameter>
</target>
<target>
<context value="request"/>
<contextType value="variable"/>
<element value="method"/>
<transform value="copy"/>
<parameter>
<valueString value="POST"/>
</parameter>
</target>
<target>
<context value="e1"/>
<contextType value="variable"/>
<element value="resource"/>
<variable value="deviceRes"/>
<transform value="create"/>
<parameter>
<valueString value="Device"/>
</parameter>
</target>
<target>
<context value="deviceRes"/>
<contextType value="variable"/>
<element value="id"/>
<variable value="uuid1"/>
<transform value="uuid"/>
</target>
<target>
<context value="e1"/>
<contextType value="variable"/>
<element value="fullUrl"/>
<transform value="append"/>
<parameter>
<valueString value="https://example/Device/"/>
</parameter>
<parameter>
<valueId value="uuid1"/>
</parameter>
</target>
<target>
<context value="request"/>
<contextType value="variable"/>
<element value="url"/>
<transform value="copy"/>
<parameter>
<valueString value="Device"/>
</parameter>
</target>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="usedReference"/>
<variable value="reference"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<target>
<context value="reference"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="evaluate"/>
<parameter>
<valueString value="'https://example/Device/' + %deviceRes.id"/>
</parameter>
</target>
<rule>
<name value="reference"/>
<source>
<context value="src"/>
</source>
<target>
<context value="deviceRes"/>
<contextType value="variable"/>
<element value="patient"/>
<variable value="reference"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<target>
<context value="reference"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="evaluate"/>
<parameter>
<valueString value="'https://example/Patient/' + %patient.id"/>
</parameter>
</target>
</rule>
<rule>
<name value="code"/>
<source>
<context value="src"/>
<element value="code"/>
<variable value="vvv"/>
</source>
<target>
<context value="deviceRes"/>
<contextType value="variable"/>
<element value="type"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
</rule>
</rule>
<rule>
<name value="value1"/>
<source>
<context value="src"/>
<element value="effectiveTime"/>
<variable value="effectiveTime"/>
<condition value="(value.exists())"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="performed"/>
<variable value="value"/>
<transform value="create"/>
<parameter>
<valueString value="dateTime"/>
</parameter>
</target>
<dependent>
<name value="TSDateTime"/>
<variable value="effectiveTime"/>
<variable value="value"/>
</dependent>
</rule>
<rule>
<name value="valuePeriod"/>
<source>
<context value="src"/>
<element value="effectiveTime"/>
<variable value="effectiveTime"/>
<condition value="(low.exists())"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="performed"/>
<variable value="value"/>
<transform value="create"/>
<parameter>
<valueString value="Period"/>
</parameter>
</target>
<dependent>
<name value="IVLTSPeriod"/>
<variable value="effectiveTime"/>
<variable value="value"/>
</dependent>
</rule>
</rule>
<rule>
<name value="assenza"/>
<source>
<context value="src"/>
<element value="templateId"/>
<condition value="root = '2.16.840.1.113883.2.9.10.1.4.3.9.2'"/>
</source>
<rule>
<name value="note"/>
<source>
<context value="src"/>
<element value="code"/>
<variable value="code"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="note"/>
<variable value="note"/>
</target>
<rule>
<name value="text"/>
<source>
<context value="code"/>
<element value="displayName"/>
<variable value="displayName"/>
</source>
<target>
<context value="note"/>
<contextType value="variable"/>
<element value="text"/>
<transform value="evaluate"/>
<parameter>
<valueString value="displayName"/>
</parameter>
</target>
</rule>
</rule>
</rule>
<rule>
<name value="procedureTrattamenti"/>
<source>
<context value="src"/>
<element value="templateId"/>
<condition value="root = '2.16.840.1.113883.2.9.10.1.4.3.11.1'"/>
</source>
<rule>
<name value="id"/>
<source>
<context value="src"/>
<element value="id"/>
<variable value="vvv"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="identifier"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
</rule>
<rule>
<name value="code"/>
<source>
<context value="src"/>
<element value="code"/>
<variable value="vvv"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="code"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
</rule>
<rule>
<name value="value1"/>
<source>
<context value="src"/>
<element value="effectiveTime"/>
<variable value="effectiveTime"/>
<condition value="(value.exists())"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="performed"/>
<variable value="value"/>
<transform value="create"/>
<parameter>
<valueString value="dateTime"/>
</parameter>
</target>
<dependent>
<name value="TSDateTime"/>
<variable value="effectiveTime"/>
<variable value="value"/>
</dependent>
</rule>
<rule>
<name value="valuePeriod"/>
<source>
<context value="src"/>
<element value="effectiveTime"/>
<variable value="effectiveTime"/>
<condition value="(low.exists())"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="performed"/>
<variable value="value"/>
<transform value="create"/>
<parameter>
<valueString value="Period"/>
</parameter>
</target>
<dependent>
<name value="IVLTSPeriod"/>
<variable value="effectiveTime"/>
<variable value="value"/>
</dependent>
</rule>
<rule>
<name value="entryRelProcedure"/>
<source>
<context value="src"/>
<element value="entryRelationship"/>
<variable value="entryR"/>
</source>
<rule>
<name value="observation"/>
<source>
<context value="entryR"/>
<element value="observation"/>
<variable value="observation"/>
</source>
<target>
<context value="bundle"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="e3"/>
</target>
<target>
<context value="e3"/>
<contextType value="variable"/>
<element value="request"/>
<variable value="request"/>
<transform value="create"/>
<parameter>
<valueString value="BackboneElement"/>
</parameter>
</target>
<target>
<context value="request"/>
<contextType value="variable"/>
<element value="method"/>
<transform value="copy"/>
<parameter>
<valueString value="POST"/>
</parameter>
</target>
<target>
<context value="e3"/>
<contextType value="variable"/>
<element value="resource"/>
<variable value="obs1"/>
<transform value="create"/>
<parameter>
<valueString value="Observation"/>
</parameter>
</target>
<target>
<context value="obs1"/>
<contextType value="variable"/>
<element value="id"/>
<variable value="uuid3"/>
<transform value="uuid"/>
</target>
<target>
<context value="e3"/>
<contextType value="variable"/>
<element value="fullUrl"/>
<transform value="append"/>
<parameter>
<valueString value="https://example/Observation/"/>
</parameter>
<parameter>
<valueId value="uuid3"/>
</parameter>
</target>
<target>
<context value="request"/>
<contextType value="variable"/>
<element value="url"/>
<transform value="copy"/>
<parameter>
<valueString value="Observation"/>
</parameter>
</target>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="reasonReference"/>
<variable value="reference"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<target>
<context value="reference"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="evaluate"/>
<parameter>
<valueString value="'https://example/Observation/' + %obs1.id"/>
</parameter>
</target>
<dependent>
<name value="Observation"/>
<variable value="observation"/>
<variable value="patient"/>
<variable value="encounter"/>
<variable value="obs1"/>
<variable value="bundle"/>
</dependent>
</rule>
</rule>
</rule>
</group>
<group>
<name value="Observation"/>
<typeMode value="none"/>
<input>
<name value="cda"/>
<mode value="source"/>
</input>
<input>
<name value="patient"/>
<type value="Patient"/>
<mode value="target"/>
</input>
<input>
<name value="encounter"/>
<type value="Encounter"/>
<mode value="target"/>
</input>
<input>
<name value="ob"/>
<type value="Observation"/>
<mode value="target"/>
</input>
<input>
<name value="bundle"/>
<type value="Bundle"/>
<mode value="target"/>
</input>
<rule>
<name value="reference"/>
<source>
<context value="cda"/>
</source>
<target>
<context value="ob"/>
<contextType value="variable"/>
<element value="subject"/>
<variable value="reference"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<target>
<context value="reference"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="evaluate"/>
<parameter>
<valueString value="'https://example/Patient/' + %patient.id"/>
</parameter>
</target>
</rule>
<rule>
<name value="id"/>
<source>
<context value="cda"/>
<element value="id"/>
<variable value="vvv"/>
</source>
<target>
<context value="ob"/>
<contextType value="variable"/>
<element value="identifier"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
<documentation
value="cda-> ob.encounter=create('Reference') as reference, reference.reference = ('https://example/Encounter/' + %encounter.id) "reference";"/>
</rule>
<rule>
<name value="code"/>
<source>
<context value="cda"/>
<element value="code"/>
<variable value="vvv"/>
</source>
<target>
<context value="ob"/>
<contextType value="variable"/>
<element value="code"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
</rule>
<rule>
<name value="Stats"/>
<source>
<context value="cda"/>
</source>
<target>
<context value="ob"/>
<contextType value="variable"/>
<element value="status"/>
<transform value="copy"/>
<parameter>
<valueString value="final"/>
</parameter>
</target>
</rule>
<rule>
<name value="value"/>
<source>
<context value="cda"/>
<type value="ST"/>
<element value="value"/>
<variable value="st"/>
</source>
<target>
<context value="ob"/>
<contextType value="variable"/>
<element value="value"/>
<transform value="create"/>
<parameter>
<valueString value="string"/>
</parameter>
</target>
<target>
<context value="ob"/>
<contextType value="variable"/>
<element value="value"/>
<transform value="evaluate"/>
<parameter>
<valueString value="st.dataString"/>
</parameter>
</target>
<documentation value="value datatype"/>
</rule>
<rule>
<name value="boolean"/>
<source>
<context value="cda"/>
<type value="BL"/>
<element value="value"/>
<variable value="boolean"/>
</source>
<target>
<context value="ob"/>
<contextType value="variable"/>
<element value="value"/>
<transform value="evaluate"/>
<parameter>
<valueString value="boolean.value"/>
</parameter>
</target>
</rule>
<rule>
<name value="intval"/>
<source>
<context value="cda"/>
<type value="INT"/>
<element value="value"/>
<variable value="int"/>
</source>
<target>
<context value="ob"/>
<contextType value="variable"/>
<element value="value"/>
<transform value="evaluate"/>
<parameter>
<valueString value="int.value"/>
</parameter>
</target>
</rule>
<rule>
<name value="val"/>
<source>
<context value="cda"/>
<type value="CE"/>
<element value="value"/>
<variable value="val"/>
</source>
<rule>
<name value="coding"/>
<source>
<context value="val"/>
</source>
<target>
<context value="ob"/>
<contextType value="variable"/>
<element value="value"/>
<variable value="ce"/>
<transform value="create"/>
<parameter>
<valueString value="CodeableConcept"/>
</parameter>
</target>
<rule>
<name value="originalText"/>
<source>
<context value="val"/>
<element value="originalText"/>
<variable value="originalText"/>
</source>
<rule>
<name value="reference"/>
<source>
<context value="originalText"/>
<element value="reference"/>
<variable value="reference"/>
</source>
<target>
<context value="ce"/>
<contextType value="variable"/>
<element value="text"/>
<transform value="evaluate"/>
<parameter>
<valueString value="reference.value"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="code"/>
<source>
<context value="val"/>
</source>
<target>
<context value="ce"/>
<contextType value="variable"/>
<element value="coding"/>
<variable value="coding"/>
</target>
<rule>
<name value="code"/>
<source>
<context value="val"/>
<element value="code"/>
<variable value="code"/>
</source>
<target>
<context value="coding"/>
<contextType value="variable"/>
<element value="code"/>
<transform value="cast"/>
<parameter>
<valueId value="code"/>
</parameter>
<parameter>
<valueString value="string"/>
</parameter>
</target>
</rule>
<rule>
<name value="codeSystem"/>
<source>
<context value="val"/>
<element value="codeSystem"/>
<variable value="system"/>
</source>
<target>
<context value="coding"/>
<contextType value="variable"/>
<element value="system"/>
<transform value="translate"/>
<parameter>
<valueId value="system"/>
</parameter>
<parameter>
<valueString
value="http://hl7.org/fhir/ConceptMap/special-oid2uri"/>
</parameter>
<parameter>
<valueString value="uri"/>
</parameter>
</target>
</rule>
<rule>
<name value="displayName"/>
<source>
<context value="val"/>
<element value="displayName"/>
<variable value="display"/>
</source>
<target>
<context value="coding"/>
<contextType value="variable"/>
<element value="display"/>
<transform value="cast"/>
<parameter>
<valueId value="display"/>
</parameter>
<parameter>
<valueString value="string"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="translation"/>
<source>
<context value="val"/>
<element value="translation"/>
<variable value="translation"/>
</source>
<target>
<context value="ce"/>
<contextType value="variable"/>
<element value="coding"/>
<variable value="coding"/>
</target>
<rule>
<name value="code"/>
<source>
<context value="translation"/>
<element value="code"/>
<variable value="code"/>
</source>
<target>
<context value="coding"/>
<contextType value="variable"/>
<element value="code"/>
<transform value="cast"/>
<parameter>
<valueId value="code"/>
</parameter>
<parameter>
<valueString value="string"/>
</parameter>
</target>
</rule>
<rule>
<name value="codeSystem"/>
<source>
<context value="translation"/>
<element value="codeSystem"/>
<variable value="system"/>
</source>
<target>
<context value="coding"/>
<contextType value="variable"/>
<element value="system"/>
<transform value="translate"/>
<parameter>
<valueId value="system"/>
</parameter>
<parameter>
<valueString
value="http://hl7.org/fhir/ConceptMap/special-oid2uri"/>
</parameter>
<parameter>
<valueString value="uri"/>
</parameter>
</target>
</rule>
<rule>
<name value="displayName"/>
<source>
<context value="translation"/>
<element value="displayName"/>
<variable value="display"/>
</source>
<target>
<context value="coding"/>
<contextType value="variable"/>
<element value="display"/>
<transform value="cast"/>
<parameter>
<valueId value="display"/>
</parameter>
<parameter>
<valueString value="string"/>
</parameter>
</target>
</rule>
<rule>
<name value="qualifier"/>
<source>
<context value="translation"/>
<element value="qualifier"/>
<variable value="qualifier"/>
</source>
<rule>
<name value="value"/>
<source>
<context value="qualifier"/>
<element value="value"/>
<variable value="value"/>
</source>
<target>
<context value="ce"/>
<contextType value="variable"/>
<element value="coding"/>
<variable value="coding"/>
</target>
<rule>
<name value="code"/>
<source>
<context value="value"/>
<element value="code"/>
<variable value="code"/>
</source>
<target>
<context value="coding"/>
<contextType value="variable"/>
<element value="code"/>
<transform value="cast"/>
<parameter>
<valueId value="code"/>
</parameter>
<parameter>
<valueString value="string"/>
</parameter>
</target>
</rule>
<rule>
<name value="codeSystem"/>
<source>
<context value="value"/>
<element value="codeSystem"/>
<variable value="system"/>
</source>
<target>
<context value="coding"/>
<contextType value="variable"/>
<element value="system"/>
<transform value="translate"/>
<parameter>
<valueId value="system"/>
</parameter>
<parameter>
<valueString
value="http://hl7.org/fhir/ConceptMap/special-oid2uri"/>
</parameter>
<parameter>
<valueString value="uri"/>
</parameter>
</target>
</rule>
<rule>
<name value="displayName"/>
<source>
<context value="value"/>
<element value="displayName"/>
<variable value="display"/>
</source>
<target>
<context value="coding"/>
<contextType value="variable"/>
<element value="display"/>
<transform value="cast"/>
<parameter>
<valueId value="display"/>
</parameter>
<parameter>
<valueString value="string"/>
</parameter>
</target>
</rule>
</rule>
</rule>
</rule>
</rule>
</rule>
<rule>
<name value="val"/>
<source>
<context value="cda"/>
<type value="CD"/>
<element value="value"/>
<variable value="val"/>
</source>
<rule>
<name value="coding"/>
<source>
<context value="val"/>
</source>
<target>
<context value="ob"/>
<contextType value="variable"/>
<element value="value"/>
<variable value="ce"/>
<transform value="create"/>
<parameter>
<valueString value="CodeableConcept"/>
</parameter>
</target>
<rule>
<name value="originalText"/>
<source>
<context value="val"/>
<element value="originalText"/>
<variable value="originalText"/>
</source>
<rule>
<name value="reference"/>
<source>
<context value="originalText"/>
<element value="reference"/>
<variable value="reference"/>
</source>
<target>
<context value="ce"/>
<contextType value="variable"/>
<element value="text"/>
<transform value="evaluate"/>
<parameter>
<valueString value="reference.value"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="code"/>
<source>
<context value="val"/>
</source>
<target>
<context value="ce"/>
<contextType value="variable"/>
<element value="coding"/>
<variable value="coding"/>
</target>
<rule>
<name value="code"/>
<source>
<context value="val"/>
<element value="code"/>
<variable value="code"/>
</source>
<target>
<context value="coding"/>
<contextType value="variable"/>
<element value="code"/>
<transform value="cast"/>
<parameter>
<valueId value="code"/>
</parameter>
<parameter>
<valueString value="string"/>
</parameter>
</target>
</rule>
<rule>
<name value="codeSystem"/>
<source>
<context value="val"/>
<element value="codeSystem"/>
<variable value="system"/>
</source>
<target>
<context value="coding"/>
<contextType value="variable"/>
<element value="system"/>
<transform value="translate"/>
<parameter>
<valueId value="system"/>
</parameter>
<parameter>
<valueString
value="http://hl7.org/fhir/ConceptMap/special-oid2uri"/>
</parameter>
<parameter>
<valueString value="uri"/>
</parameter>
</target>
</rule>
<rule>
<name value="displayName"/>
<source>
<context value="val"/>
<element value="displayName"/>
<variable value="display"/>
</source>
<target>
<context value="coding"/>
<contextType value="variable"/>
<element value="display"/>
<transform value="cast"/>
<parameter>
<valueId value="display"/>
</parameter>
<parameter>
<valueString value="string"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="translation"/>
<source>
<context value="val"/>
<element value="translation"/>
<variable value="translation"/>
</source>
<target>
<context value="ce"/>
<contextType value="variable"/>
<element value="coding"/>
<variable value="coding"/>
</target>
<rule>
<name value="code"/>
<source>
<context value="translation"/>
<element value="code"/>
<variable value="code"/>
</source>
<target>
<context value="coding"/>
<contextType value="variable"/>
<element value="code"/>
<transform value="cast"/>
<parameter>
<valueId value="code"/>
</parameter>
<parameter>
<valueString value="string"/>
</parameter>
</target>
</rule>
<rule>
<name value="codeSystem"/>
<source>
<context value="translation"/>
<element value="codeSystem"/>
<variable value="system"/>
</source>
<target>
<context value="coding"/>
<contextType value="variable"/>
<element value="system"/>
<transform value="translate"/>
<parameter>
<valueId value="system"/>
</parameter>
<parameter>
<valueString
value="http://hl7.org/fhir/ConceptMap/special-oid2uri"/>
</parameter>
<parameter>
<valueString value="uri"/>
</parameter>
</target>
</rule>
<rule>
<name value="displayName"/>
<source>
<context value="translation"/>
<element value="displayName"/>
<variable value="display"/>
</source>
<target>
<context value="coding"/>
<contextType value="variable"/>
<element value="display"/>
<transform value="cast"/>
<parameter>
<valueId value="display"/>
</parameter>
<parameter>
<valueString value="string"/>
</parameter>
</target>
</rule>
<rule>
<name value="qualifier"/>
<source>
<context value="translation"/>
<element value="qualifier"/>
<variable value="qualifier"/>
</source>
<rule>
<name value="value"/>
<source>
<context value="qualifier"/>
<element value="value"/>
<variable value="value"/>
</source>
<target>
<context value="ce"/>
<contextType value="variable"/>
<element value="coding"/>
<variable value="coding"/>
</target>
<rule>
<name value="code"/>
<source>
<context value="value"/>
<element value="code"/>
<variable value="code"/>
</source>
<target>
<context value="coding"/>
<contextType value="variable"/>
<element value="code"/>
<transform value="cast"/>
<parameter>
<valueId value="code"/>
</parameter>
<parameter>
<valueString value="string"/>
</parameter>
</target>
</rule>
<rule>
<name value="codeSystem"/>
<source>
<context value="value"/>
<element value="codeSystem"/>
<variable value="system"/>
</source>
<target>
<context value="coding"/>
<contextType value="variable"/>
<element value="system"/>
<transform value="translate"/>
<parameter>
<valueId value="system"/>
</parameter>
<parameter>
<valueString
value="http://hl7.org/fhir/ConceptMap/special-oid2uri"/>
</parameter>
<parameter>
<valueString value="uri"/>
</parameter>
</target>
</rule>
<rule>
<name value="displayName"/>
<source>
<context value="value"/>
<element value="displayName"/>
<variable value="display"/>
</source>
<target>
<context value="coding"/>
<contextType value="variable"/>
<element value="display"/>
<transform value="cast"/>
<parameter>
<valueId value="display"/>
</parameter>
<parameter>
<valueString value="string"/>
</parameter>
</target>
</rule>
</rule>
</rule>
</rule>
</rule>
</rule>
<rule>
<name value="valueQuantity"/>
<source>
<context value="cda"/>
<type value="PQ"/>
<element value="value"/>
<variable value="val"/>
</source>
<rule>
<name value="quantity"/>
<source>
<context value="val"/>
</source>
<target>
<context value="ob"/>
<contextType value="variable"/>
<element value="value"/>
<variable value="quantity"/>
<transform value="create"/>
<parameter>
<valueString value="Quantity"/>
</parameter>
</target>
<rule>
<name value="value"/>
<source>
<context value="val"/>
<element value="value"/>
<variable value="value"/>
</source>
<target>
<context value="quantity"/>
<contextType value="variable"/>
<element value="value"/>
<transform value="copy"/>
<parameter>
<valueId value="value"/>
</parameter>
</target>
</rule>
<rule>
<name value="unit"/>
<source>
<context value="val"/>
<element value="unit"/>
<variable value="unit"/>
</source>
<target>
<context value="quantity"/>
<contextType value="variable"/>
<element value="unit"/>
<transform value="copy"/>
<parameter>
<valueId value="unit"/>
</parameter>
</target>
</rule>
</rule>
</rule>
<rule>
<name value="value1"/>
<source>
<context value="cda"/>
<element value="effectiveTime"/>
<variable value="effectiveTime"/>
<condition value="(value.exists())"/>
</source>
<target>
<context value="ob"/>
<contextType value="variable"/>
<element value="effective"/>
<variable value="value"/>
<transform value="create"/>
<parameter>
<valueString value="dateTime"/>
</parameter>
</target>
<dependent>
<name value="TSDateTime"/>
<variable value="effectiveTime"/>
<variable value="value"/>
</dependent>
</rule>
<rule>
<name value="valuePeriod"/>
<source>
<context value="cda"/>
<element value="effectiveTime"/>
<variable value="effectiveTime"/>
<condition value="(low.exists())"/>
</source>
<target>
<context value="ob"/>
<contextType value="variable"/>
<element value="effective"/>
<variable value="value"/>
<transform value="create"/>
<parameter>
<valueString value="Period"/>
</parameter>
</target>
<dependent>
<name value="IVLTSPeriod"/>
<variable value="effectiveTime"/>
<variable value="value"/>
</dependent>
</rule>
<rule>
<name value="note"/>
<source>
<context value="cda"/>
<element value="text"/>
<variable value="text"/>
</source>
<target>
<context value="ob"/>
<contextType value="variable"/>
<element value="note"/>
<variable value="note"/>
</target>
<rule>
<name value="text"/>
<source>
<context value="text"/>
<element value="reference"/>
<variable value="reference"/>
</source>
<target>
<context value="note"/>
<contextType value="variable"/>
<element value="text"/>
<transform value="evaluate"/>
<parameter>
<valueString value="reference.value"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="status"/>
<source>
<context value="cda"/>
<element value="statusCode"/>
<variable value="s"/>
</source>
<rule>
<name value="codeS"/>
<source>
<context value="s"/>
<element value="code"/>
<variable value="cos"/>
</source>
<target>
<context value="ob"/>
<contextType value="variable"/>
<element value="status"/>
<transform value="translate"/>
<parameter>
<valueId value="cos"/>
</parameter>
<parameter>
<valueString value="#OBSstatus"/>
</parameter>
<parameter>
<valueString value="code"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="methodCode"/>
<source>
<context value="cda"/>
<element value="methodCode"/>
<variable value="vvv"/>
</source>
<target>
<context value="ob"/>
<contextType value="variable"/>
<element value="method"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
<documentation value="toASK è giusto siano invertiti?"/>
</rule>
<rule>
<name value="interpretationCode"/>
<source>
<context value="cda"/>
<element value="interpretationCode"/>
<variable value="vvv"/>
</source>
<target>
<context value="ob"/>
<contextType value="variable"/>
<element value="interpretation"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
</rule>
<rule>
<name value="targetSiteCode"/>
<source>
<context value="cda"/>
<element value="targetSiteCode"/>
<variable value="vvv"/>
</source>
<target>
<context value="ob"/>
<contextType value="variable"/>
<element value="bodySite"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
</rule>
<rule>
<name value="regrange"/>
<source>
<context value="cda"/>
<element value="referenceRange"/>
<variable value="refrange"/>
</source>
<rule>
<name value="obsrange"/>
<source>
<context value="refrange"/>
<element value="observationRange"/>
<variable value="obsrange"/>
</source>
<rule>
<name value="refFhir"/>
<source>
<context value="obsrange"/>
<element value="value"/>
<variable value="val"/>
</source>
<target>
<context value="ob"/>
<contextType value="variable"/>
<element value="referenceRange"/>
<variable value="refrangeFH"/>
<transform value="create"/>
<parameter>
<valueString value="BackboneElement"/>
</parameter>
</target>
<rule>
<name value="de"/>
<source>
<context value="val"/>
</source>
<target>
<context value="refrangeFH"/>
<contextType value="variable"/>
<element value="low"/>
<variable value="lowfhir"/>
<transform value="create"/>
<parameter>
<valueString value="SimpleQuantity"/>
</parameter>
</target>
<rule>
<name value="val"/>
<source>
<context value="val"/>
<element value="low"/>
<variable value="l"/>
</source>
<target>
<context value="lowfhir"/>
<contextType value="variable"/>
<element value="value"/>
<transform value="evaluate"/>
<parameter>
<valueString value="l.value"/>
</parameter>
</target>
</rule>
<rule>
<name value="val"/>
<source>
<context value="val"/>
<element value="low"/>
<variable value="l"/>
</source>
<target>
<context value="lowfhir"/>
<contextType value="variable"/>
<element value="unit"/>
<transform value="evaluate"/>
<parameter>
<valueString value="l.unit"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="de"/>
<source>
<context value="val"/>
</source>
<target>
<context value="refrangeFH"/>
<contextType value="variable"/>
<element value="high"/>
<variable value="highfhir"/>
<transform value="create"/>
<parameter>
<valueString value="SimpleQuantity"/>
</parameter>
</target>
<rule>
<name value="val"/>
<source>
<context value="val"/>
<element value="high"/>
<variable value="h"/>
</source>
<target>
<context value="highfhir"/>
<contextType value="variable"/>
<element value="value"/>
<transform value="evaluate"/>
<parameter>
<valueString value="h.value"/>
</parameter>
</target>
</rule>
<rule>
<name value="val"/>
<source>
<context value="val"/>
<element value="high"/>
<variable value="h"/>
</source>
<target>
<context value="highfhir"/>
<contextType value="variable"/>
<element value="unit"/>
<transform value="evaluate"/>
<parameter>
<valueString value="h.unit"/>
</parameter>
</target>
</rule>
</rule>
</rule>
</rule>
<documentation value="added"/>
</rule>
</group>
<group>
<name value="ObservationOrganizer"/>
<typeMode value="none"/>
<input>
<name value="section"/>
<type value="section"/>
<mode value="source"/>
</input>
<input>
<name value="cda"/>
<type value="organizer"/>
<mode value="source"/>
</input>
<input>
<name value="patient"/>
<type value="Patient"/>
<mode value="target"/>
</input>
<input>
<name value="encounter"/>
<type value="Encounter"/>
<mode value="target"/>
</input>
<input>
<name value="ob"/>
<type value="Observation"/>
<mode value="target"/>
</input>
<input>
<name value="bundle"/>
<type value="Bundle"/>
<mode value="target"/>
</input>
<rule>
<name value="reference"/>
<source>
<context value="cda"/>
</source>
<target>
<context value="ob"/>
<contextType value="variable"/>
<element value="subject"/>
<variable value="reference"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<target>
<context value="reference"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="evaluate"/>
<parameter>
<valueString value="'https://example/Patient/' + %patient.id"/>
</parameter>
</target>
</rule>
<rule>
<name value="id"/>
<source>
<context value="cda"/>
<element value="id"/>
<variable value="vvv"/>
</source>
<target>
<context value="ob"/>
<contextType value="variable"/>
<element value="identifier"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
<documentation
value="cda-> ob.encounter=create('Reference') as reference, reference.reference = ('https://example/Encounter/' + %encounter.id) "reference";"/>
</rule>
<rule>
<name value="code"/>
<source>
<context value="section"/>
<element value="code"/>
<variable value="vvv"/>
</source>
<target>
<context value="ob"/>
<contextType value="variable"/>
<element value="code"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
</rule>
<rule>
<name value="Stats"/>
<source>
<context value="cda"/>
</source>
<target>
<context value="ob"/>
<contextType value="variable"/>
<element value="status"/>
<transform value="copy"/>
<parameter>
<valueString value="final"/>
</parameter>
</target>
</rule>
<rule>
<name value="value1"/>
<source>
<context value="cda"/>
<element value="effectiveTime"/>
<variable value="effectiveTime"/>
<condition value="(value.exists())"/>
</source>
<target>
<context value="ob"/>
<contextType value="variable"/>
<element value="effective"/>
<variable value="value"/>
<transform value="create"/>
<parameter>
<valueString value="dateTime"/>
</parameter>
</target>
<dependent>
<name value="TSDateTime"/>
<variable value="effectiveTime"/>
<variable value="value"/>
</dependent>
</rule>
<rule>
<name value="valuePeriod"/>
<source>
<context value="cda"/>
<element value="effectiveTime"/>
<variable value="effectiveTime"/>
<condition value="(low.exists())"/>
</source>
<target>
<context value="ob"/>
<contextType value="variable"/>
<element value="effective"/>
<variable value="value"/>
<transform value="create"/>
<parameter>
<valueString value="Period"/>
</parameter>
</target>
<dependent>
<name value="IVLTSPeriod"/>
<variable value="effectiveTime"/>
<variable value="value"/>
</dependent>
</rule>
<rule>
<name value="note"/>
<source>
<context value="cda"/>
<element value="text"/>
<variable value="text"/>
</source>
<target>
<context value="ob"/>
<contextType value="variable"/>
<element value="note"/>
<variable value="note"/>
</target>
<rule>
<name value="text"/>
<source>
<context value="text"/>
<element value="reference"/>
<variable value="reference"/>
</source>
<target>
<context value="note"/>
<contextType value="variable"/>
<element value="text"/>
<transform value="evaluate"/>
<parameter>
<valueString value="reference.value"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="status"/>
<source>
<context value="cda"/>
<element value="statusCode"/>
<variable value="s"/>
</source>
<rule>
<name value="codeS"/>
<source>
<context value="s"/>
<element value="code"/>
<variable value="cos"/>
</source>
<target>
<context value="ob"/>
<contextType value="variable"/>
<element value="status"/>
<transform value="translate"/>
<parameter>
<valueId value="cos"/>
</parameter>
<parameter>
<valueString value="#OBSstatus"/>
</parameter>
<parameter>
<valueString value="code"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="component"/>
<source>
<context value="cda"/>
<element value="component"/>
<variable value="component"/>
</source>
<rule>
<name value="hasMember"/>
<source>
<context value="component"/>
<element value="observation"/>
<variable value="observation"/>
</source>
<target>
<context value="bundle"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="ei"/>
</target>
<target>
<context value="ei"/>
<contextType value="variable"/>
<element value="request"/>
<variable value="request"/>
<transform value="create"/>
<parameter>
<valueString value="BackboneElement"/>
</parameter>
</target>
<target>
<context value="request"/>
<contextType value="variable"/>
<element value="method"/>
<transform value="copy"/>
<parameter>
<valueString value="POST"/>
</parameter>
</target>
<target>
<context value="ei"/>
<contextType value="variable"/>
<element value="resource"/>
<variable value="obsi"/>
<transform value="create"/>
<parameter>
<valueString value="Observation"/>
</parameter>
</target>
<target>
<context value="obsi"/>
<contextType value="variable"/>
<element value="id"/>
<variable value="uuidi"/>
<transform value="uuid"/>
</target>
<target>
<context value="ei"/>
<contextType value="variable"/>
<element value="fullUrl"/>
<transform value="append"/>
<parameter>
<valueString value="https://example/Observation/"/>
</parameter>
<parameter>
<valueId value="uuidi"/>
</parameter>
</target>
<target>
<context value="request"/>
<contextType value="variable"/>
<element value="url"/>
<transform value="copy"/>
<parameter>
<valueString value="Observation"/>
</parameter>
</target>
<target>
<context value="ob"/>
<contextType value="variable"/>
<element value="hasMember"/>
<variable value="reference"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<target>
<context value="reference"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="evaluate"/>
<parameter>
<valueString value="'https://example/Observation/' + %obsi.id"/>
</parameter>
</target>
<dependent>
<name value="Observation"/>
<variable value="observation"/>
<variable value="patient"/>
<variable value="encounter"/>
<variable value="obsi"/>
<variable value="bundle"/>
</dependent>
</rule>
</rule>
</group>
<group>
<name value="Coverage"/>
<typeMode value="none"/>
<input>
<name value="src"/>
<type value="act"/>
<mode value="source"/>
</input>
<input>
<name value="patient"/>
<type value="Patient"/>
<mode value="target"/>
</input>
<input>
<name value="encounter"/>
<type value="Encounter"/>
<mode value="target"/>
</input>
<input>
<name value="tgt"/>
<type value="Coverage"/>
<mode value="target"/>
</input>
<input>
<name value="bundle"/>
<type value="Bundle"/>
<mode value="target"/>
</input>
<rule>
<name value="reference"/>
<source>
<context value="src"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="beneficiary"/>
<variable value="reference"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<target>
<context value="reference"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="evaluate"/>
<parameter>
<valueString value="'https://example/Patient/' + %patient.id"/>
</parameter>
</target>
</rule>
<rule>
<name value="reference"/>
<source>
<context value="src"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="payor"/>
<variable value="reference"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<target>
<context value="reference"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="evaluate"/>
<parameter>
<valueString value="'https://example/Patient/' + %patient.id"/>
</parameter>
</target>
</rule>
<rule>
<name value="id"/>
<source>
<context value="src"/>
<element value="id"/>
<variable value="id"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="identifier"/>
<variable value="idf"/>
</target>
<rule>
<name value="ID"/>
<source>
<context value="id"/>
</source>
<target>
<context value="idf"/>
<contextType value="variable"/>
<element value="value"/>
<transform value="evaluate"/>
<parameter>
<valueString value="id.root"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="code"/>
<source>
<context value="src"/>
<element value="code"/>
<variable value="vvv"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="type"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
</rule>
<rule>
<name value="sc"/>
<source>
<context value="src"/>
<element value="statusCode"/>
<variable value="statusCode"/>
</source>
<rule>
<name value="status"/>
<source>
<context value="statusCode"/>
<element value="code"/>
<variable value="s"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="status"/>
<transform value="translate"/>
<parameter>
<valueId value="s"/>
</parameter>
<parameter>
<valueString value="#FinancialStatus"/>
</parameter>
<parameter>
<valueString value="code"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="statusAbsent"/>
<source>
<context value="src"/>
<condition value="statusCode.exists().not()"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="status"/>
<transform value="copy"/>
<parameter>
<valueString value="active"/>
</parameter>
</target>
</rule>
<rule>
<name value="value1"/>
<source>
<context value="src"/>
<element value="effectiveTime"/>
<variable value="effectiveTime"/>
<condition value="(value.exists())"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="period"/>
<variable value="value"/>
<transform value="create"/>
<parameter>
<valueString value="dateTime"/>
</parameter>
</target>
<dependent>
<name value="TSDateTime"/>
<variable value="effectiveTime"/>
<variable value="value"/>
</dependent>
<documentation
value="src.effectiveTime as effectiveTime -> tgt.period as period then{"/>
</rule>
<rule>
<name value="valuePeriod"/>
<source>
<context value="src"/>
<element value="effectiveTime"/>
<variable value="effectiveTime"/>
<condition value="(low.exists())"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="period"/>
<variable value="value"/>
<transform value="create"/>
<parameter>
<valueString value="Period"/>
</parameter>
</target>
<dependent>
<name value="IVLTSPeriod"/>
<variable value="effectiveTime"/>
<variable value="value"/>
</dependent>
</rule>
<rule>
<name value="entryr"/>
<source>
<context value="src"/>
<element value="entryRelationship"/>
<variable value="entryRelationship"/>
</source>
<rule>
<name value="QUI"/>
<source>
<context value="entryRelationship"/>
<element value="act"/>
<variable value="ac"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="class"/>
<variable value="class"/>
</target>
<rule>
<name value="ref"/>
<source>
<context value="ac"/>
<element value="text"/>
<variable value="text"/>
</source>
<target>
<context value="class"/>
<contextType value="variable"/>
<element value="type"/>
<variable value="type"/>
</target>
<rule>
<name value="value"/>
<source>
<context value="text"/>
<element value="reference"/>
<variable value="reference"/>
</source>
<target>
<context value="type"/>
<contextType value="variable"/>
<element value="text"/>
<transform value="evaluate"/>
<parameter>
<valueString value="reference.value"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="note"/>
<source>
<context value="ac"/>
</source>
<target>
<context value="class"/>
<contextType value="variable"/>
<element value="value"/>
<transform value="copy"/>
<parameter>
<valueString value="commenti"/>
</parameter>
</target>
</rule>
</rule>
</rule>
</group>
<group>
<name value="allergyFunction"/>
<typeMode value="none"/>
<input>
<name value="src"/>
<type value="cdaElement"/>
<mode value="source"/>
</input>
<input>
<name value="tgt"/>
<type value="AllergyIntolerance"/>
<mode value="target"/>
</input>
<input>
<name value="patient"/>
<type value="Patient"/>
<mode value="target"/>
</input>
<input>
<name value="encounter"/>
<type value="Encounter"/>
<mode value="target"/>
</input>
<rule>
<name value="reference"/>
<source>
<context value="src"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="patient"/>
<variable value="reference"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<target>
<context value="reference"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="evaluate"/>
<parameter>
<valueString value="'https://example/Patient/' + %patient.id"/>
</parameter>
</target>
</rule>
<rule>
<name value="efftime"/>
<source>
<context value="src"/>
<element value="effectiveTime"/>
<variable value="effTime"/>
</source>
<rule>
<name value="value"/>
<source>
<context value="effTime"/>
<element value="low"/>
<variable value="l"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="recordedDate"/>
<variable value="r"/>
</target>
<dependent>
<name value="TSDateTime"/>
<variable value="l"/>
<variable value="r"/>
</dependent>
</rule>
<documentation
value="src -> tgt.encounter=create('Reference') as reference, reference.reference = ('https://example/Encounter/' + %encounter.id) "reference";"/>
</rule>
<rule>
<name value="entryrelationship"/>
<source>
<context value="src"/>
<element value="entryRelationship"/>
<variable value="entryRelationship1"/>
</source>
<rule>
<name value="observation"/>
<source>
<context value="entryRelationship1"/>
<element value="observation"/>
<variable value="observation1"/>
</source>
<rule>
<name value="id"/>
<source>
<context value="observation1"/>
<element value="id"/>
<variable value="vvv"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="identifier"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
</rule>
<rule>
<name value="Noallergy"/>
<source>
<context value="observation1"/>
<element value="templateId"/>
<condition value="root = '2.16.840.1.113883.2.9.10.1.4.3.1.4'"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="code"/>
<variable value="code"/>
</target>
<rule>
<name value="code"/>
<source>
<context value="observation1"/>
</source>
<target>
<context value="code"/>
<contextType value="variable"/>
<element value="coding"/>
<variable value="coding"/>
</target>
<rule>
<name value="code"/>
<source>
<context value="observation1"/>
</source>
<target>
<context value="coding"/>
<contextType value="variable"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="No known allergy"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="value1"/>
<source>
<context value="src"/>
<element value="effectiveTime"/>
<variable value="effectiveTime"/>
<condition value="(value.exists())"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="onset"/>
<variable value="value"/>
<transform value="create"/>
<parameter>
<valueString value="dateTime"/>
</parameter>
</target>
<dependent>
<name value="TSDateTime"/>
<variable value="effectiveTime"/>
<variable value="value"/>
</dependent>
</rule>
<rule>
<name value="valuePeriod"/>
<source>
<context value="src"/>
<element value="effectiveTime"/>
<variable value="effectiveTime"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="onset"/>
<variable value="value"/>
<transform value="create"/>
<parameter>
<valueString value="Period"/>
</parameter>
</target>
<dependent>
<name value="IVLTSPeriod"/>
<variable value="effectiveTime"/>
<variable value="value"/>
</dependent>
</rule>
</rule>
<rule>
<name value="value1"/>
<source>
<context value="observation1"/>
<element value="effectiveTime"/>
<variable value="effectiveTime"/>
<condition value="(value.exists())"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="onset"/>
<variable value="value"/>
<transform value="create"/>
<parameter>
<valueString value="dateTime"/>
</parameter>
</target>
<dependent>
<name value="TSDateTime"/>
<variable value="effectiveTime"/>
<variable value="value"/>
</dependent>
</rule>
<rule>
<name value="valuePeriod"/>
<source>
<context value="observation1"/>
<element value="effectiveTime"/>
<variable value="effectiveTime"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="onset"/>
<variable value="value"/>
<transform value="create"/>
<parameter>
<valueString value="Period"/>
</parameter>
</target>
<dependent>
<name value="IVLTSPeriod"/>
<variable value="effectiveTime"/>
<variable value="value"/>
</dependent>
</rule>
<rule>
<name value="code"/>
<source>
<context value="observation1"/>
<element value="value"/>
<variable value="code"/>
</source>
<rule>
<name value="type"/>
<source>
<context value="code"/>
<element value="code"/>
<variable value="code1"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="type"/>
<transform value="translate"/>
<parameter>
<valueId value="code1"/>
</parameter>
<parameter>
<valueString value="#AllergyTypeMap"/>
</parameter>
<parameter>
<valueString value="code"/>
</parameter>
</target>
</rule>
<rule>
<name value="category"/>
<source>
<context value="code"/>
<element value="code"/>
<variable value="code1"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="category"/>
<transform value="translate"/>
<parameter>
<valueId value="code1"/>
</parameter>
<parameter>
<valueString value="#AllergyCategoryMap"/>
</parameter>
<parameter>
<valueString value="code"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="value"/>
<source>
<context value="observation1"/>
<element value="value"/>
<variable value="vvv"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="code"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
<documentation value="toASK qui dovrei fare un controllo sul code"/>
</rule>
<rule>
<name value="participant"/>
<source>
<context value="observation1"/>
<element value="participant"/>
<variable value="participant"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="reaction"/>
<variable value="reaction"/>
</target>
<rule>
<name value="entryR2"/>
<source>
<context value="observation1"/>
<element value="entryRelationship"/>
<variable value="entryRelationship2"/>
<condition value="(typeCode = 'MFST')"/>
</source>
<rule>
<name value="observ2"/>
<source>
<context value="entryRelationship2"/>
<element value="observation"/>
<variable value="observation2"/>
</source>
<rule>
<name value="manifestation"/>
<source>
<context value="observation2"/>
<element value="value"/>
<variable value="vvv"/>
</source>
<target>
<context value="reaction"/>
<contextType value="variable"/>
<element value="manifestation"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
</rule>
<rule>
<name value="manifestation"/>
<source>
<context value="observation2"/>
<element value="code"/>
<variable value="vvv"/>
</source>
<target>
<context value="reaction"/>
<contextType value="variable"/>
<element value="manifestation"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
</rule>
<rule>
<name value="tx"/>
<source>
<context value="observation2"/>
<element value="text"/>
<variable value="tx"/>
</source>
<rule>
<name value="tx"/>
<source>
<context value="tx"/>
<element value="reference"/>
<variable value="reff"/>
</source>
<target>
<context value="reaction"/>
<contextType value="variable"/>
<element value="description"/>
<transform value="evaluate"/>
<parameter>
<valueString value="reff.value"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="low"/>
<source>
<context value="observation2"/>
<element value="effectiveTime"/>
<variable value="effectiveTime"/>
</source>
<rule>
<name value="valuePeriodLow"/>
<source>
<context value="effectiveTime"/>
<element value="low"/>
<variable value="low"/>
</source>
<target>
<context value="reaction"/>
<contextType value="variable"/>
<element value="onset"/>
<variable value="value"/>
<transform value="create"/>
<parameter>
<valueString value="dateTime"/>
</parameter>
</target>
<dependent>
<name value="TSDateTime"/>
<variable value="low"/>
<variable value="value"/>
</dependent>
</rule>
<rule>
<name value="valuePeriodHigh"/>
<source>
<context value="effectiveTime"/>
<element value="high"/>
<variable value="high"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="lastOccurrence"/>
<variable value="value"/>
<transform value="create"/>
<parameter>
<valueString value="dateTime"/>
</parameter>
</target>
<dependent>
<name value="TSDateTime"/>
<variable value="high"/>
<variable value="value"/>
</dependent>
</rule>
</rule>
</rule>
</rule>
<rule>
<name value="participantRole"/>
<source>
<context value="participant"/>
<element value="participantRole"/>
<variable value="participantRole"/>
</source>
<rule>
<name value="playingEntity"/>
<source>
<context value="participantRole"/>
<element value="playingEntity"/>
<variable value="playingEntity"/>
</source>
<rule>
<name value="reaction"/>
<source>
<context value="playingEntity"/>
<element value="code"/>
<variable value="vvv"/>
</source>
<target>
<context value="reaction"/>
<contextType value="variable"/>
<element value="substance"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
</rule>
</rule>
</rule>
</rule>
<rule>
<name value="entryR2"/>
<source>
<context value="observation1"/>
<element value="entryRelationship"/>
<variable value="entryRelationship2"/>
<condition value="(typeCode = 'MFST')"/>
</source>
<rule>
<name value="observ2"/>
<source>
<context value="entryRelationship2"/>
<element value="observation"/>
<variable value="observation2"/>
<condition value="observation1.participant.exists().not()"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="reaction"/>
<variable value="reaction"/>
</target>
<rule>
<name value="manifestation"/>
<source>
<context value="observation2"/>
<element value="value"/>
<variable value="vvv"/>
</source>
<target>
<context value="reaction"/>
<contextType value="variable"/>
<element value="manifestation"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
</rule>
<rule>
<name value="tx"/>
<source>
<context value="observation2"/>
<element value="text"/>
<variable value="tx"/>
</source>
<rule>
<name value="tx"/>
<source>
<context value="tx"/>
<element value="reference"/>
<variable value="reff"/>
</source>
<target>
<context value="reaction"/>
<contextType value="variable"/>
<element value="description"/>
<transform value="evaluate"/>
<parameter>
<valueString value="reff.value"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="low"/>
<source>
<context value="observation2"/>
<element value="effectiveTime"/>
<variable value="effectiveTime"/>
</source>
<rule>
<name value="valuePeriodLow"/>
<source>
<context value="effectiveTime"/>
<element value="low"/>
<variable value="low"/>
</source>
<target>
<context value="reaction"/>
<contextType value="variable"/>
<element value="onset"/>
<variable value="value"/>
<transform value="create"/>
<parameter>
<valueString value="dateTime"/>
</parameter>
</target>
<dependent>
<name value="TSDateTime"/>
<variable value="low"/>
<variable value="value"/>
</dependent>
</rule>
</rule>
</rule>
</rule>
<rule>
<name value="entryR3"/>
<source>
<context value="observation1"/>
<element value="entryRelationship"/>
<variable value="entryRelationship3"/>
<condition value="(typeCode = 'SUBJ')"/>
</source>
<rule>
<name value="observ3"/>
<source>
<context value="entryRelationship3"/>
<element value="observation"/>
<variable value="observation3"/>
</source>
<rule>
<name value="criticality"/>
<source>
<context value="observation3"/>
<element value="value"/>
<variable value="value"/>
</source>
<rule>
<name value="value"/>
<source>
<context value="value"/>
<element value="code"/>
<variable value="c"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="criticality"/>
<transform value="translate"/>
<parameter>
<valueId value="c"/>
</parameter>
<parameter>
<valueString value="#CricalityMap"/>
</parameter>
<parameter>
<valueString value="code"/>
</parameter>
</target>
</rule>
</rule>
</rule>
<rule>
<name value="act"/>
<source>
<context value="entryRelationship3"/>
<element value="act"/>
<variable value="act"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="note"/>
<variable value="note"/>
</target>
<rule>
<name value="note"/>
<source>
<context value="act"/>
<element value="text"/>
<variable value="text"/>
</source>
<rule>
<name value="reference"/>
<source>
<context value="text"/>
<element value="reference"/>
<variable value="reference"/>
</source>
<target>
<context value="note"/>
<contextType value="variable"/>
<element value="text"/>
<transform value="evaluate"/>
<parameter>
<valueString value="reference.value"/>
</parameter>
</target>
</rule>
</rule>
</rule>
</rule>
<rule>
<name value="entryR4"/>
<source>
<context value="observation1"/>
<element value="entryRelationship"/>
<variable value="entryRelationship4"/>
<condition value="(typeCode = 'REFR')"/>
</source>
<rule>
<name value="observ4"/>
<source>
<context value="entryRelationship4"/>
<element value="observation"/>
<variable value="observation4"/>
</source>
<rule>
<name value="clinicalStatus"/>
<source>
<context value="observation4"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="clinicalStatus"/>
<variable value="clinicalStatus"/>
</target>
<rule>
<name value="value"/>
<source>
<context value="observation4"/>
<element value="value"/>
<variable value="value"/>
</source>
<rule>
<name value="coding"/>
<source>
<context value="value"/>
<variable value="valu"/>
</source>
<target>
<context value="clinicalStatus"/>
<contextType value="variable"/>
<element value="coding"/>
<variable value="coding"/>
<transform value="create"/>
<parameter>
<valueString value="Coding"/>
</parameter>
</target>
<rule>
<name value="code"/>
<source>
<context value="valu"/>
<condition value="(code = 'LA9041-0')"/>
</source>
<target>
<context value="coding"/>
<contextType value="variable"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="resolved"/>
</parameter>
</target>
</rule>
<rule>
<name value="code"/>
<source>
<context value="valu"/>
<condition value="(code = 'LA18632-2')"/>
</source>
<target>
<context value="coding"/>
<contextType value="variable"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="inactive"/>
</parameter>
</target>
</rule>
<rule>
<name value="code"/>
<source>
<context value="valu"/>
<condition value="(code = 'LA16666-2')"/>
</source>
<target>
<context value="coding"/>
<contextType value="variable"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="active"/>
</parameter>
</target>
</rule>
<rule>
<name value="system"/>
<source>
<context value="valu"/>
</source>
<target>
<context value="coding"/>
<contextType value="variable"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString
value="http://terminology.hl7.org/CodeSystem/allergyintolerance-clinical"/>
</parameter>
</target>
</rule>
<rule>
<name value="display"/>
<source>
<context value="valu"/>
<element value="displayName"/>
<variable value="display"/>
</source>
<target>
<context value="coding"/>
<contextType value="variable"/>
<element value="display"/>
<transform value="cast"/>
<parameter>
<valueId value="display"/>
</parameter>
<parameter>
<valueString value="string"/>
</parameter>
</target>
</rule>
</rule>
</rule>
<rule>
<name value="tx"/>
<source>
<context value="observation4"/>
<element value="text"/>
<variable value="tx"/>
</source>
<rule>
<name value="reference"/>
<source>
<context value="tx"/>
<element value="reference"/>
<variable value="ref"/>
</source>
<target>
<context value="clinicalStatus"/>
<contextType value="variable"/>
<element value="text"/>
<transform value="evaluate"/>
<parameter>
<valueString value="ref.value"/>
</parameter>
</target>
</rule>
</rule>
</rule>
</rule>
</rule>
</rule>
</rule>
</group>
<group>
<name value="MedicationStatement"/>
<typeMode value="none"/>
<input>
<name value="src"/>
<type value="substanceAdministration"/>
<mode value="source"/>
</input>
<input>
<name value="tgt"/>
<type value="MedicationStatement"/>
<mode value="target"/>
</input>
<input>
<name value="patient"/>
<type value="Patient"/>
<mode value="target"/>
</input>
<input>
<name value="encounter"/>
<type value="Encounter"/>
<mode value="target"/>
</input>
<input>
<name value="bundle"/>
<type value="Bundle"/>
<mode value="target"/>
</input>
<rule>
<name value="reference"/>
<source>
<context value="src"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="subject"/>
<variable value="reference"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<target>
<context value="reference"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="evaluate"/>
<parameter>
<valueString value="'https://example/Patient/' + %patient.id"/>
</parameter>
</target>
</rule>
<rule>
<name value="status"/>
<source>
<context value="src"/>
<element value="statusCode"/>
<variable value="vvv"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="status"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
<documentation
value="src -> tgt.context = create('Reference') as reference, reference.reference = ('https://example/Encounter/' + %encounter.id) "reference";"/>
</rule>
<rule>
<name value="id"/>
<source>
<context value="src"/>
<element value="id"/>
<variable value="vvv"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="identifier"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
</rule>
<rule>
<name value="note"/>
<source>
<context value="src"/>
<element value="text"/>
<variable value="text"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="note"/>
<variable value="note"/>
</target>
<rule>
<name value="text"/>
<source>
<context value="text"/>
<element value="reference"/>
<variable value="reference"/>
</source>
<target>
<context value="note"/>
<contextType value="variable"/>
<element value="text"/>
<transform value="evaluate"/>
<parameter>
<valueString value="reference.value"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="value1"/>
<source>
<context value="src"/>
<element value="effectiveTime"/>
<variable value="eff"/>
<condition value="(value.exists())"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="effective"/>
<variable value="value"/>
<transform value="create"/>
<parameter>
<valueString value="dateTime"/>
</parameter>
</target>
<dependent>
<name value="TSDateTime"/>
<variable value="eff"/>
<variable value="value"/>
</dependent>
</rule>
<rule>
<name value="valuePeriod"/>
<source>
<context value="src"/>
<type value="IVL_TS"/>
<element value="effectiveTime"/>
<variable value="eff"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="effective"/>
<variable value="value"/>
<transform value="create"/>
<parameter>
<valueString value="Period"/>
</parameter>
</target>
<dependent>
<name value="IVLTSPeriod"/>
<variable value="eff"/>
<variable value="value"/>
</dependent>
</rule>
<rule>
<name value="dos"/>
<source>
<context value="src"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="dosage"/>
<variable value="dosage"/>
<transform value="create"/>
<parameter>
<valueString value="Dosage"/>
</parameter>
</target>
<rule>
<name value="eff"/>
<source>
<context value="src"/>
<type value="PIVL_TS"/>
<element value="effectiveTime"/>
<variable value="eff"/>
</source>
<rule>
<name value="cod"/>
<source>
<context value="eff"/>
</source>
<target>
<context value="dosage"/>
<contextType value="variable"/>
<element value="timing"/>
<variable value="timing"/>
<transform value="create"/>
<parameter>
<valueString value="Timing"/>
</parameter>
</target>
<dependent>
<name value="periodTiming"/>
<variable value="eff"/>
<variable value="timing"/>
</dependent>
</rule>
</rule>
<rule>
<name value="route"/>
<source>
<context value="src"/>
<condition
value="(src.doseQuantity.exists() or src.rateQuantity.exists() or src.routeCode.exists() or src.approachSiteCode.exists())"/>
</source>
<rule>
<name value="doseQuantity"/>
<source>
<context value="src"/>
<element value="doseQuantity"/>
<variable value="doseQuant"/>
</source>
<rule>
<name value="ot"/>
<source>
<context value="doseQuant"/>
<element value="originalText"/>
<variable value="ot"/>
</source>
<rule>
<name value="reference"/>
<source>
<context value="ot"/>
<element value="reference"/>
<variable value="vvv"/>
</source>
<target>
<context value="dosage"/>
<contextType value="variable"/>
<element value="text"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
</rule>
</rule>
<rule>
<name value="dosageRate"/>
<source>
<context value="doseQuant"/>
</source>
<target>
<context value="dosage"/>
<contextType value="variable"/>
<element value="doseAndRate"/>
<variable value="dosageRate"/>
</target>
<rule>
<name value="d"/>
<source>
<context value="doseQuant"/>
</source>
<target>
<context value="dosageRate"/>
<contextType value="variable"/>
<element value="dose"/>
<variable value="d"/>
<transform value="create"/>
<parameter>
<valueString value="Range"/>
</parameter>
</target>
<rule>
<name value="low"/>
<source>
<context value="doseQuant"/>
</source>
<target>
<context value="d"/>
<contextType value="variable"/>
<element value="low"/>
<variable value="l"/>
<transform value="create"/>
<parameter>
<valueString value="SimpleQuantity"/>
</parameter>
</target>
<rule>
<name value="low"/>
<source>
<context value="doseQuant"/>
<element value="low"/>
<variable value="lo"/>
</source>
<target>
<context value="l"/>
<contextType value="variable"/>
<element value="value"/>
<transform value="evaluate"/>
<parameter>
<valueString value="lo.value"/>
</parameter>
</target>
</rule>
<rule>
<name value="low"/>
<source>
<context value="doseQuant"/>
<element value="low"/>
<variable value="lo"/>
</source>
<target>
<context value="l"/>
<contextType value="variable"/>
<element value="unit"/>
<transform value="evaluate"/>
<parameter>
<valueString value="lo.unit"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="low"/>
<source>
<context value="doseQuant"/>
</source>
<target>
<context value="d"/>
<contextType value="variable"/>
<element value="high"/>
<variable value="h"/>
<transform value="create"/>
<parameter>
<valueString value="SimpleQuantity"/>
</parameter>
</target>
<rule>
<name value="high"/>
<source>
<context value="doseQuant"/>
<element value="high"/>
<variable value="hi"/>
</source>
<target>
<context value="h"/>
<contextType value="variable"/>
<element value="value"/>
<transform value="evaluate"/>
<parameter>
<valueString value="hi.value"/>
</parameter>
</target>
</rule>
<rule>
<name value="high"/>
<source>
<context value="doseQuant"/>
<element value="high"/>
<variable value="hi"/>
</source>
<target>
<context value="h"/>
<contextType value="variable"/>
<element value="unit"/>
<transform value="evaluate"/>
<parameter>
<valueString value="hi.unit"/>
</parameter>
</target>
</rule>
</rule>
</rule>
</rule>
</rule>
<rule>
<name value="rate"/>
<source>
<context value="src"/>
<element value="rateQuantity"/>
<variable value="rateQuantity"/>
</source>
<rule>
<name value="ot"/>
<source>
<context value="rateQuantity"/>
<element value="originalText"/>
<variable value="ot"/>
</source>
<rule>
<name value="reference"/>
<source>
<context value="ot"/>
<element value="reference"/>
<variable value="vvv"/>
</source>
<target>
<context value="dosage"/>
<contextType value="variable"/>
<element value="text"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
</rule>
</rule>
<rule>
<name value="dosageRate"/>
<source>
<context value="rateQuantity"/>
</source>
<target>
<context value="dosage"/>
<contextType value="variable"/>
<element value="doseAndRate"/>
<variable value="dosageRate"/>
</target>
<rule>
<name value="r"/>
<source>
<context value="rateQuantity"/>
</source>
<target>
<context value="dosageRate"/>
<contextType value="variable"/>
<element value="rate"/>
<variable value="d"/>
<transform value="create"/>
<parameter>
<valueString value="Range"/>
</parameter>
</target>
<rule>
<name value="low"/>
<source>
<context value="rateQuantity"/>
</source>
<target>
<context value="d"/>
<contextType value="variable"/>
<element value="low"/>
<variable value="l"/>
<transform value="create"/>
<parameter>
<valueString value="SimpleQuantity"/>
</parameter>
</target>
<rule>
<name value="low"/>
<source>
<context value="rateQuantity"/>
<element value="low"/>
<variable value="lo"/>
</source>
<target>
<context value="l"/>
<contextType value="variable"/>
<element value="value"/>
<transform value="evaluate"/>
<parameter>
<valueString value="lo.value"/>
</parameter>
</target>
</rule>
<rule>
<name value="low"/>
<source>
<context value="rateQuantity"/>
<element value="low"/>
<variable value="lo"/>
</source>
<target>
<context value="l"/>
<contextType value="variable"/>
<element value="unit"/>
<transform value="evaluate"/>
<parameter>
<valueString value="lo.unit"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="high"/>
<source>
<context value="rateQuantity"/>
</source>
<target>
<context value="d"/>
<contextType value="variable"/>
<element value="high"/>
<variable value="h"/>
<transform value="create"/>
<parameter>
<valueString value="SimpleQuantity"/>
</parameter>
</target>
<rule>
<name value="high"/>
<source>
<context value="rateQuantity"/>
<element value="high"/>
<variable value="hi"/>
</source>
<target>
<context value="h"/>
<contextType value="variable"/>
<element value="value"/>
<transform value="evaluate"/>
<parameter>
<valueString value="hi.value"/>
</parameter>
</target>
</rule>
<rule>
<name value="high"/>
<source>
<context value="rateQuantity"/>
<element value="high"/>
<variable value="hi"/>
</source>
<target>
<context value="h"/>
<contextType value="variable"/>
<element value="unit"/>
<transform value="evaluate"/>
<parameter>
<valueString value="hi.unit"/>
</parameter>
</target>
</rule>
</rule>
</rule>
</rule>
</rule>
<rule>
<name value="route"/>
<source>
<context value="src"/>
<element value="routeCode"/>
<variable value="vvv"/>
</source>
<target>
<context value="dosage"/>
<contextType value="variable"/>
<element value="route"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
</rule>
<rule>
<name value="site"/>
<source>
<context value="src"/>
<element value="approachSiteCode"/>
<variable value="vvv"/>
</source>
<target>
<context value="dosage"/>
<contextType value="variable"/>
<element value="site"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
</rule>
<rule>
<name value="site"/>
<source>
<context value="src"/>
<element value="targetSiteCode"/>
<variable value="vvv"/>
</source>
<target>
<context value="dosage"/>
<contextType value="variable"/>
<element value="site"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
</rule>
</rule>
</rule>
<rule>
<name value="consumable"/>
<source>
<context value="src"/>
<element value="consumable"/>
<variable value="consumable"/>
</source>
<rule>
<name value="medication"/>
<source>
<context value="consumable"/>
<element value="manufacturedProduct"/>
<variable value="manufacturedProduct"/>
</source>
<target>
<context value="bundle"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="e1"/>
</target>
<target>
<context value="e1"/>
<contextType value="variable"/>
<element value="request"/>
<variable value="request"/>
<transform value="create"/>
<parameter>
<valueString value="BackboneElement"/>
</parameter>
</target>
<target>
<context value="request"/>
<contextType value="variable"/>
<element value="method"/>
<transform value="copy"/>
<parameter>
<valueString value="POST"/>
</parameter>
</target>
<target>
<context value="e1"/>
<contextType value="variable"/>
<element value="resource"/>
<variable value="medication"/>
<transform value="create"/>
<parameter>
<valueString value="Medication"/>
</parameter>
</target>
<target>
<context value="medication"/>
<contextType value="variable"/>
<element value="id"/>
<variable value="uuid1"/>
<transform value="uuid"/>
</target>
<target>
<context value="e1"/>
<contextType value="variable"/>
<element value="fullUrl"/>
<transform value="append"/>
<parameter>
<valueString value="https://example/Medication/"/>
</parameter>
<parameter>
<valueId value="uuid1"/>
</parameter>
</target>
<target>
<context value="request"/>
<contextType value="variable"/>
<element value="url"/>
<transform value="copy"/>
<parameter>
<valueString value="Medication"/>
</parameter>
</target>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="medication"/>
<variable value="medref"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<target>
<context value="medref"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="evaluate"/>
<parameter>
<valueString
value="'https://example/Medication/' + %medication.id"/>
</parameter>
</target>
<dependent>
<name value="Medication"/>
<variable value="src"/>
<variable value="medication"/>
<variable value="patient"/>
<variable value="bundle"/>
</dependent>
</rule>
</rule>
</group>
<group>
<name value="periodTiming"/>
<typeMode value="none"/>
<input>
<name value="effectiveTime"/>
<type value="PIVL_TS"/>
<mode value="source"/>
</input>
<input>
<name value="timing"/>
<type value="Timing"/>
<mode value="target"/>
</input>
<rule>
<name value="repeat"/>
<source>
<context value="effectiveTime"/>
</source>
<target>
<context value="timing"/>
<contextType value="variable"/>
<element value="repeat"/>
<variable value="r"/>
</target>
<rule>
<name value="period"/>
<source>
<context value="effectiveTime"/>
<element value="period"/>
<variable value="p"/>
</source>
<target>
<context value="r"/>
<contextType value="variable"/>
<element value="period"/>
<transform value="evaluate"/>
<parameter>
<valueString value="p.value"/>
</parameter>
</target>
</rule>
<rule>
<name value="period"/>
<source>
<context value="effectiveTime"/>
<element value="period"/>
<variable value="p"/>
</source>
<target>
<context value="r"/>
<contextType value="variable"/>
<element value="periodUnit"/>
<transform value="evaluate"/>
<parameter>
<valueString value="p.unit"/>
</parameter>
</target>
</rule>
</rule>
</group>
<group>
<name value="Medication"/>
<typeMode value="none"/>
<input>
<name value="src"/>
<type value="substanceAdministration"/>
<mode value="source"/>
</input>
<input>
<name value="tgt"/>
<type value="Medication"/>
<mode value="target"/>
</input>
<input>
<name value="patient"/>
<type value="Patient"/>
<mode value="target"/>
</input>
<input>
<name value="bundle"/>
<type value="Bundle"/>
<mode value="target"/>
</input>
<rule>
<name value="consumable"/>
<source>
<context value="src"/>
<element value="consumable"/>
<variable value="consumable"/>
</source>
<rule>
<name value="product"/>
<source>
<context value="consumable"/>
<element value="manufacturedProduct"/>
<variable value="manufacturedProduct"/>
</source>
<rule>
<name value="material"/>
<source>
<context value="manufacturedProduct"/>
<element value="manufacturedMaterial"/>
<variable value="manufacturedMaterial"/>
</source>
<rule>
<name value="CE"/>
<source>
<context value="manufacturedMaterial"/>
<element value="code"/>
<variable value="vvv"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="code"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
</rule>
<rule>
<name value="form"/>
<source>
<context value="src"/>
<element value="administrationUnitCode"/>
<variable value="vvv"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="form"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
</rule>
</rule>
</rule>
</rule>
<rule>
<name value="entryR"/>
<source>
<context value="src"/>
<element value="entryRelationship"/>
<variable value="entryR"/>
</source>
<rule>
<name value="obs"/>
<source>
<context value="entryR"/>
<element value="observation"/>
<variable value="observation"/>
</source>
<rule>
<name value="ingredient"/>
<source>
<context value="observation"/>
<element value="code"/>
<condition value="displayName = 'Grammatura'"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="ingredient"/>
<variable value="ingredient"/>
</target>
<rule>
<name value="consumable"/>
<source>
<context value="src"/>
<element value="consumable"/>
<variable value="consumable"/>
</source>
<rule>
<name value="product"/>
<source>
<context value="consumable"/>
<element value="manufacturedProduct"/>
<variable value="manufacturedProduct"/>
</source>
<rule>
<name value="material"/>
<source>
<context value="manufacturedProduct"/>
<element value="manufacturedMaterial"/>
<variable value="manufacturedMaterial"/>
</source>
<rule>
<name value="CE"/>
<source>
<context value="manufacturedMaterial"/>
<element value="code"/>
<variable value="code"/>
</source>
<target>
<context value="ingredient"/>
<contextType value="variable"/>
<element value="item"/>
<variable value="value"/>
<transform value="create"/>
<parameter>
<valueString value="CodeableConcept"/>
</parameter>
</target>
<dependent>
<name value="CECodeableConcept"/>
<variable value="code"/>
<variable value="value"/>
</dependent>
</rule>
</rule>
</rule>
</rule>
<rule>
<name value="strenght"/>
<source>
<context value="observation"/>
<element value="value"/>
<variable value="value"/>
</source>
<target>
<context value="ingredient"/>
<contextType value="variable"/>
<element value="strength"/>
<variable value="strength"/>
</target>
<rule>
<name value="numerator"/>
<source>
<context value="value"/>
</source>
<target>
<context value="strength"/>
<contextType value="variable"/>
<element value="numerator"/>
<variable value="numerator"/>
</target>
<rule>
<name value="valueN"/>
<source>
<context value="value"/>
</source>
<target>
<context value="numerator"/>
<contextType value="variable"/>
<element value="value"/>
<transform value="evaluate"/>
<parameter>
<valueString value="value.value"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="denominator"/>
<source>
<context value="value"/>
</source>
<target>
<context value="strength"/>
<contextType value="variable"/>
<element value="denominator"/>
<variable value="denominator"/>
</target>
<rule>
<name value="valueD"/>
<source>
<context value="value"/>
</source>
<target>
<context value="denominator"/>
<contextType value="variable"/>
<element value="value"/>
<transform value="copy"/>
<parameter>
<valueInteger value="1"/>
</parameter>
</target>
</rule>
</rule>
</rule>
</rule>
<rule>
<name value="quantita"/>
<source>
<context value="observation"/>
<element value="code"/>
<condition value="displayName = 'Quantità nella Confezione'"/>
</source>
<rule>
<name value="amount"/>
<source>
<context value="observation"/>
<element value="value"/>
<variable value="value"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="amount"/>
<variable value="amount"/>
</target>
<rule>
<name value="numerator"/>
<source>
<context value="value"/>
</source>
<target>
<context value="amount"/>
<contextType value="variable"/>
<element value="numerator"/>
<variable value="numerator"/>
</target>
<rule>
<name value="valueN"/>
<source>
<context value="value"/>
</source>
<target>
<context value="numerator"/>
<contextType value="variable"/>
<element value="value"/>
<transform value="evaluate"/>
<parameter>
<valueString value="value.value"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="denominator"/>
<source>
<context value="value"/>
</source>
<target>
<context value="amount"/>
<contextType value="variable"/>
<element value="denominator"/>
<variable value="denominator"/>
</target>
<rule>
<name value="valueD"/>
<source>
<context value="value"/>
</source>
<target>
<context value="denominator"/>
<contextType value="variable"/>
<element value="value"/>
<transform value="copy"/>
<parameter>
<valueInteger value="1"/>
</parameter>
</target>
</rule>
</rule>
</rule>
</rule>
</rule>
</rule>
</group>
<group>
<name value="Immunization"/>
<typeMode value="none"/>
<input>
<name value="substance"/>
<type value="substanceAdministration"/>
<mode value="source"/>
</input>
<input>
<name value="patient"/>
<type value="Patient"/>
<mode value="target"/>
</input>
<input>
<name value="encounter"/>
<type value="Encounter"/>
<mode value="target"/>
</input>
<input>
<name value="tgt"/>
<type value="Immunization"/>
<mode value="target"/>
</input>
<input>
<name value="bundle"/>
<type value="Bundle"/>
<mode value="target"/>
</input>
<rule>
<name value="patientRef"/>
<source>
<context value="substance"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="patient"/>
<variable value="reference"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<target>
<context value="reference"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="evaluate"/>
<parameter>
<valueString value="'https://example/Patient/' + %patient.id"/>
</parameter>
</target>
</rule>
<rule>
<name value="id"/>
<source>
<context value="substance"/>
<element value="id"/>
<variable value="id"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="identifier"/>
<variable value="idf"/>
</target>
<rule>
<name value="root1"/>
<source>
<context value="id"/>
<element value="root"/>
<variable value="r"/>
</source>
<target>
<context value="idf"/>
<contextType value="variable"/>
<element value="system"/>
<transform value="translate"/>
<parameter>
<valueId value="r"/>
</parameter>
<parameter>
<valueString
value="http://hl7.org/fhir/ConceptMap/special-oid2uri"/>
</parameter>
<parameter>
<valueString value="uri"/>
</parameter>
</target>
</rule>
<documentation
value="substance -> tgt.encounter = create('Reference') as reference, reference.reference = ('https://example/Encounter/' + %encounter.id) "encounterRef";"/>
</rule>
<rule>
<name value="note"/>
<source>
<context value="substance"/>
<element value="text"/>
<variable value="text"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="note"/>
<variable value="note"/>
</target>
<rule>
<name value="text"/>
<source>
<context value="text"/>
<element value="reference"/>
<variable value="reference"/>
</source>
<target>
<context value="note"/>
<contextType value="variable"/>
<element value="text"/>
<transform value="evaluate"/>
<parameter>
<valueString value="reference.value"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="statusCode"/>
<source>
<context value="substance"/>
<element value="statusCode"/>
<variable value="statusc"/>
<condition value="(code = 'completed')"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="status"/>
<transform value="copy"/>
<parameter>
<valueString value="completed"/>
</parameter>
</target>
</rule>
<rule>
<name value="statusCode"/>
<source>
<context value="substance"/>
<element value="statusCode"/>
<variable value="statusc"/>
<condition value="(code = 'aborted')"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="status"/>
<transform value="copy"/>
<parameter>
<valueString value="final"/>
</parameter>
</target>
</rule>
<rule>
<name value="statusCode"/>
<source>
<context value="substance"/>
<element value="statusCode"/>
<variable value="statusc"/>
<condition value="(code = 'suspended')"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="status"/>
<transform value="copy"/>
<parameter>
<valueString value="enterer-in-error"/>
</parameter>
</target>
</rule>
<rule>
<name value="statusCode"/>
<source>
<context value="substance"/>
<element value="statusCode"/>
<variable value="statusc"/>
<condition value="(code = 'cancelled')"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="status"/>
<transform value="copy"/>
<parameter>
<valueString value="not-done"/>
</parameter>
</target>
</rule>
<rule>
<name value="efftime"/>
<source>
<context value="substance"/>
<element value="effectiveTime"/>
<variable value="time"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="occurrence"/>
<variable value="value"/>
<transform value="create"/>
<parameter>
<valueString value="dateTime"/>
</parameter>
</target>
<dependent>
<name value="TSDateTime"/>
<variable value="time"/>
<variable value="value"/>
</dependent>
</rule>
<rule>
<name value="routeCode"/>
<source>
<context value="substance"/>
<element value="routeCode"/>
<variable value="vvv"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="route"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
</rule>
<rule>
<name value="approachSiteCode"/>
<source>
<context value="substance"/>
<element value="approachSiteCode"/>
<variable value="vvv"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="site"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
</rule>
<rule>
<name value="q"/>
<source>
<context value="substance"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="doseQuantity"/>
<variable value="quantity"/>
<transform value="create"/>
<parameter>
<valueString value="SimpleQuantity"/>
</parameter>
</target>
<rule>
<name value="qua"/>
<source>
<context value="substance"/>
<element value="doseQuantity"/>
<variable value="q"/>
</source>
<rule>
<name value="val"/>
<source>
<context value="q"/>
</source>
<target>
<context value="quantity"/>
<contextType value="variable"/>
<element value="value"/>
<transform value="evaluate"/>
<parameter>
<valueString value="q.value"/>
</parameter>
</target>
</rule>
<rule>
<name value="uni"/>
<source>
<context value="q"/>
</source>
<target>
<context value="quantity"/>
<contextType value="variable"/>
<element value="unit"/>
<transform value="evaluate"/>
<parameter>
<valueString value="q.unit"/>
</parameter>
</target>
</rule>
</rule>
</rule>
<rule>
<name value="cons"/>
<source>
<context value="substance"/>
<element value="consumable"/>
<variable value="cons"/>
</source>
<rule>
<name value="manufact"/>
<source>
<context value="cons"/>
<element value="manufacturedProduct"/>
<variable value="manufact"/>
</source>
<rule>
<name value="manufactmat"/>
<source>
<context value="manufact"/>
<element value="manufacturedMaterial"/>
<variable value="manufactmat"/>
</source>
<rule>
<name value="code"/>
<source>
<context value="manufactmat"/>
<element value="code"/>
<variable value="vvv"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="vaccineCode"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
</rule>
<rule>
<name value="lotNumberText"/>
<source>
<context value="manufactmat"/>
<element value="lotNumberText"/>
<variable value="t"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="lotNumber"/>
<transform value="evaluate"/>
<parameter>
<valueString value="t.dataString"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="manufactOrg"/>
<source>
<context value="manufact"/>
<element value="manufacturerOrganization"/>
<variable value="manufactOrg"/>
</source>
<target>
<context value="bundle"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="e1"/>
</target>
<target>
<context value="e1"/>
<contextType value="variable"/>
<element value="request"/>
<variable value="request"/>
<transform value="create"/>
<parameter>
<valueString value="BackboneElement"/>
</parameter>
</target>
<target>
<context value="request"/>
<contextType value="variable"/>
<element value="method"/>
<transform value="copy"/>
<parameter>
<valueString value="PUT"/>
</parameter>
</target>
<target>
<context value="e1"/>
<contextType value="variable"/>
<element value="resource"/>
<variable value="organization"/>
<transform value="create"/>
<parameter>
<valueString value="Organization"/>
</parameter>
</target>
<rule>
<name value="identifier"/>
<source>
<context value="manufactOrg"/>
<element value="id"/>
<variable value="id"/>
</source>
<target>
<context value="organization"/>
<contextType value="variable"/>
<element value="identifier"/>
<variable value="identifier"/>
</target>
<rule>
<name value="root1"/>
<source>
<context value="id"/>
<element value="root"/>
<variable value="r"/>
</source>
<target>
<context value="identifier"/>
<contextType value="variable"/>
<element value="system"/>
<transform value="translate"/>
<parameter>
<valueId value="r"/>
</parameter>
<parameter>
<valueString
value="http://hl7.org/fhir/ConceptMap/special-oid2uri"/>
</parameter>
<parameter>
<valueString value="uri"/>
</parameter>
</target>
</rule>
<rule>
<name value="ext"/>
<source>
<context value="id"/>
<element value="extension"/>
<variable value="ext"/>
</source>
<target>
<context value="identifier"/>
<contextType value="variable"/>
<element value="value"/>
<transform value="copy"/>
<parameter>
<valueId value="ext"/>
</parameter>
</target>
<rule>
<name value="UUID"/>
<source>
<context value="manufactOrg"/>
</source>
<target>
<context value="request"/>
<contextType value="variable"/>
<element value="url"/>
<transform value="append"/>
<parameter>
<valueString value="Organization?identifier="/>
</parameter>
<parameter>
<valueId value="ext"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="assigningAuthorityName"/>
<source>
<context value="id"/>
<element value="assigningAuthorityName"/>
<variable value="s"/>
</source>
<target>
<context value="identifier"/>
<contextType value="variable"/>
<element value="assigner"/>
<variable value="a"/>
</target>
<target>
<context value="a"/>
<contextType value="variable"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueId value="s"/>
</parameter>
</target>
</rule>
<rule>
<name value="r"/>
<source>
<context value="id"/>
<element value="root"/>
<variable value="r"/>
</source>
<rule>
<name value="idasi"/>
<source>
<context value="id"/>
<element value="extension"/>
<variable value="ext"/>
</source>
<target>
<context value="organization"/>
<contextType value="variable"/>
<element value="id"/>
<variable value="uuid"/>
<transform value="evaluate"/>
<parameter>
<valueString value="r + '-' + ext"/>
</parameter>
</target>
<target>
<context value="e1"/>
<contextType value="variable"/>
<element value="fullUrl"/>
<transform value="append"/>
<parameter>
<valueString value="https://example/"/>
</parameter>
<parameter>
<valueId value="uuid"/>
</parameter>
</target>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="manufacturer"/>
<variable value="reference"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<target>
<context value="reference"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="evaluate"/>
<parameter>
<valueString
value="'https://example/' + %organization.id"/>
</parameter>
</target>
</rule>
</rule>
</rule>
<rule>
<name value="name"/>
<source>
<context value="manufactOrg"/>
<element value="name"/>
<variable value="n"/>
</source>
<target>
<context value="organization"/>
<contextType value="variable"/>
<element value="name"/>
<transform value="evaluate"/>
<parameter>
<valueString value="n.other"/>
</parameter>
</target>
</rule>
<rule>
<name value="meta"/>
<source>
<context value="manufactOrg"/>
</source>
<target>
<context value="organization"/>
<contextType value="variable"/>
<element value="meta"/>
<variable value="meta"/>
</target>
<rule>
<name value="coding"/>
<source>
<context value="manufactOrg"/>
</source>
<target>
<context value="meta"/>
<contextType value="variable"/>
<element value="tag"/>
<variable value="coding"/>
<transform value="create"/>
<parameter>
<valueString value="Coding"/>
</parameter>
</target>
<rule>
<name value="system"/>
<source>
<context value="manufactOrg"/>
</source>
<target>
<context value="coding"/>
<contextType value="variable"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString value="http://algoritmodiscoring"/>
</parameter>
</target>
</rule>
<rule>
<name value="code"/>
<source>
<context value="manufactOrg"/>
</source>
<target>
<context value="coding"/>
<contextType value="variable"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString
value="ClinicalDocument/body/Vaccinazioni/manufacturerOrganization"/>
</parameter>
</target>
</rule>
</rule>
</rule>
</rule>
</rule>
</rule>
<rule>
<name value="part"/>
<source>
<context value="substance"/>
<element value="participant"/>
<variable value="part"/>
</source>
<target>
<context value="bundle"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="e1"/>
</target>
<target>
<context value="e1"/>
<contextType value="variable"/>
<element value="request"/>
<variable value="request"/>
<transform value="create"/>
<parameter>
<valueString value="BackboneElement"/>
</parameter>
</target>
<target>
<context value="request"/>
<contextType value="variable"/>
<element value="method"/>
<transform value="copy"/>
<parameter>
<valueString value="PUT"/>
</parameter>
</target>
<target>
<context value="e1"/>
<contextType value="variable"/>
<element value="resource"/>
<variable value="location"/>
<transform value="create"/>
<parameter>
<valueString value="Location"/>
</parameter>
</target>
<target>
<context value="location"/>
<contextType value="variable"/>
<element value="id"/>
<variable value="uuid1"/>
<transform value="uuid"/>
</target>
<rule>
<name value="meta"/>
<source>
<context value="part"/>
</source>
<target>
<context value="location"/>
<contextType value="variable"/>
<element value="meta"/>
<variable value="meta"/>
</target>
<rule>
<name value="coding"/>
<source>
<context value="part"/>
</source>
<target>
<context value="meta"/>
<contextType value="variable"/>
<element value="tag"/>
<variable value="coding"/>
<transform value="create"/>
<parameter>
<valueString value="Coding"/>
</parameter>
</target>
<rule>
<name value="system"/>
<source>
<context value="part"/>
</source>
<target>
<context value="coding"/>
<contextType value="variable"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString value="http://algoritmodiscoring"/>
</parameter>
</target>
</rule>
<rule>
<name value="code"/>
<source>
<context value="part"/>
</source>
<target>
<context value="coding"/>
<contextType value="variable"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString
value="ClinicalDocument/body/Vaccinazione/participant"/>
</parameter>
</target>
</rule>
</rule>
</rule>
<rule>
<name value="role"/>
<source>
<context value="part"/>
<element value="participantRole"/>
<variable value="partRole"/>
</source>
<rule>
<name value="identifier"/>
<source>
<context value="partRole"/>
<element value="id"/>
<variable value="id"/>
</source>
<target>
<context value="location"/>
<contextType value="variable"/>
<element value="identifier"/>
<variable value="identifier"/>
</target>
<rule>
<name value="root1"/>
<source>
<context value="id"/>
<element value="root"/>
<variable value="r"/>
</source>
<target>
<context value="identifier"/>
<contextType value="variable"/>
<element value="system"/>
<transform value="translate"/>
<parameter>
<valueId value="r"/>
</parameter>
<parameter>
<valueString
value="http://hl7.org/fhir/ConceptMap/special-oid2uri"/>
</parameter>
<parameter>
<valueString value="uri"/>
</parameter>
</target>
</rule>
<rule>
<name value="ext"/>
<source>
<context value="id"/>
<element value="extension"/>
<variable value="ext"/>
</source>
<target>
<context value="identifier"/>
<contextType value="variable"/>
<element value="value"/>
<transform value="copy"/>
<parameter>
<valueId value="ext"/>
</parameter>
</target>
<rule>
<name value="UUID"/>
<source>
<context value="partRole"/>
</source>
<target>
<context value="request"/>
<contextType value="variable"/>
<element value="url"/>
<transform value="append"/>
<parameter>
<valueString value="Location?identifier="/>
</parameter>
<parameter>
<valueId value="ext"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="assigningAuthorityName"/>
<source>
<context value="id"/>
<element value="assigningAuthorityName"/>
<variable value="s"/>
</source>
<target>
<context value="identifier"/>
<contextType value="variable"/>
<element value="assigner"/>
<variable value="a"/>
</target>
<target>
<context value="a"/>
<contextType value="variable"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueId value="s"/>
</parameter>
</target>
</rule>
<rule>
<name value="r"/>
<source>
<context value="id"/>
<element value="root"/>
<variable value="r"/>
</source>
<rule>
<name value="idasi"/>
<source>
<context value="id"/>
<element value="extension"/>
<variable value="ext"/>
</source>
<target>
<context value="location"/>
<contextType value="variable"/>
<element value="id"/>
<variable value="uuid"/>
<transform value="evaluate"/>
<parameter>
<valueString value="r + '-' + ext"/>
</parameter>
</target>
<target>
<context value="e1"/>
<contextType value="variable"/>
<element value="fullUrl"/>
<transform value="append"/>
<parameter>
<valueString value="https://example/Location"/>
</parameter>
<parameter>
<valueId value="uuid"/>
</parameter>
</target>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="location"/>
<variable value="reference"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<target>
<context value="reference"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="evaluate"/>
<parameter>
<valueString value="'https://example/' + %location.id"/>
</parameter>
</target>
</rule>
</rule>
</rule>
</rule>
</rule>
<rule>
<name value="entrirel1"/>
<source>
<context value="substance"/>
<element value="entryRelationship"/>
<variable value="entrirel1"/>
</source>
<rule>
<name value="obs"/>
<source>
<context value="entrirel1"/>
<element value="observation"/>
<variable value="obs"/>
</source>
<rule>
<name value="codecontrol"/>
<source>
<context value="obs"/>
<element value="code"/>
<condition value="(code = '30973-2')"/>
</source>
<rule>
<name value="val"/>
<source>
<context value="obs"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="protocolApplied"/>
<variable value="prot"/>
<transform value="create"/>
<parameter>
<valueString value="BackboneElement"/>
</parameter>
</target>
<rule>
<name value="value"/>
<source>
<context value="obs"/>
<element value="value"/>
<variable value="v"/>
</source>
<rule>
<name value="value"/>
<source>
<context value="v"/>
<element value="value"/>
<variable value="int"/>
</source>
<target>
<context value="prot"/>
<contextType value="variable"/>
<element value="doseNumber"/>
<transform value="evaluate"/>
<parameter>
<valueString value="int.toString()"/>
</parameter>
</target>
</rule>
</rule>
</rule>
</rule>
</rule>
</rule>
<rule>
<name value="entrirel2"/>
<source>
<context value="substance"/>
<element value="entryRelationship"/>
<variable value="entrirel2"/>
</source>
<rule>
<name value="obs"/>
<source>
<context value="entrirel2"/>
<element value="observation"/>
<variable value="obs"/>
</source>
<rule>
<name value="codecontrol"/>
<source>
<context value="obs"/>
<element value="code"/>
<condition value="(code = '59781-5')"/>
</source>
<rule>
<name value="value"/>
<source>
<context value="obs"/>
<element value="value"/>
<variable value="value"/>
</source>
<rule>
<name value="val"/>
<source>
<context value="value"/>
<element value="high"/>
<variable value="h"/>
</source>
<rule>
<name value="value"/>
<source>
<context value="h"/>
<element value="value"/>
<variable value="value"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="expirationDate"/>
<transform value="truncate"/>
<parameter>
<valueId value="value"/>
</parameter>
<parameter>
<valueInteger value="10"/>
</parameter>
</target>
</rule>
</rule>
</rule>
</rule>
</rule>
</rule>
<rule>
<name value="entrirel4"/>
<source>
<context value="substance"/>
<element value="entryRelationship"/>
<variable value="entrirel4"/>
</source>
<rule>
<name value="obs"/>
<source>
<context value="entrirel4"/>
<element value="observation"/>
<variable value="obs"/>
</source>
<rule>
<name value="codecontrol"/>
<source>
<context value="obs"/>
<element value="code"/>
<condition value="(code = '59785-6')"/>
</source>
<target>
<context value="bundle"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="e1"/>
</target>
<target>
<context value="e1"/>
<contextType value="variable"/>
<element value="request"/>
<variable value="request"/>
<transform value="create"/>
<parameter>
<valueString value="BackboneElement"/>
</parameter>
</target>
<target>
<context value="request"/>
<contextType value="variable"/>
<element value="method"/>
<transform value="copy"/>
<parameter>
<valueString value="POST"/>
</parameter>
</target>
<target>
<context value="e1"/>
<contextType value="variable"/>
<element value="resource"/>
<variable value="observation"/>
<transform value="create"/>
<parameter>
<valueString value="Observation"/>
</parameter>
</target>
<target>
<context value="observation"/>
<contextType value="variable"/>
<element value="id"/>
<variable value="uuid1"/>
<transform value="uuid"/>
</target>
<target>
<context value="e1"/>
<contextType value="variable"/>
<element value="fullUrl"/>
<transform value="append"/>
<parameter>
<valueString value="https://example/Observation/"/>
</parameter>
<parameter>
<valueId value="uuid1"/>
</parameter>
</target>
<target>
<context value="request"/>
<contextType value="variable"/>
<element value="url"/>
<transform value="copy"/>
<parameter>
<valueString value="Observation"/>
</parameter>
</target>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="reasonReference"/>
<variable value="reference"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<target>
<context value="reference"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="evaluate"/>
<parameter>
<valueString
value="'https://example/Observation/' + %observation.id"/>
</parameter>
</target>
<rule>
<name value="observation"/>
<source>
<context value="obs"/>
</source>
<dependent>
<name value="Observation1"/>
<variable value="entrirel4"/>
<variable value="patient"/>
<variable value="tgt"/>
<variable value="bundle"/>
<variable value="enc"/>
<variable value="observation"/>
</dependent>
</rule>
</rule>
</rule>
</rule>
<rule>
<name value="entrirel5"/>
<source>
<context value="substance"/>
<element value="entryRelationship"/>
<variable value="entrirel5"/>
</source>
<rule>
<name value="obs"/>
<source>
<context value="entrirel5"/>
<element value="observation"/>
<variable value="obs"/>
</source>
<rule>
<name value="codecontrol"/>
<source>
<context value="obs"/>
<element value="code"/>
<condition value="(code = '75321-0') or (code = '5321-0')"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="reaction"/>
<variable value="reaction"/>
</target>
<rule>
<name value="observation"/>
<source>
<context value="obs"/>
</source>
<target>
<context value="bundle"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="e1"/>
</target>
<target>
<context value="e1"/>
<contextType value="variable"/>
<element value="request"/>
<variable value="request"/>
<transform value="create"/>
<parameter>
<valueString value="BackboneElement"/>
</parameter>
</target>
<target>
<context value="request"/>
<contextType value="variable"/>
<element value="method"/>
<transform value="copy"/>
<parameter>
<valueString value="POST"/>
</parameter>
</target>
<target>
<context value="e1"/>
<contextType value="variable"/>
<element value="resource"/>
<variable value="observation"/>
<transform value="create"/>
<parameter>
<valueString value="Observation"/>
</parameter>
</target>
<target>
<context value="observation"/>
<contextType value="variable"/>
<element value="id"/>
<variable value="uuid1"/>
<transform value="uuid"/>
</target>
<target>
<context value="e1"/>
<contextType value="variable"/>
<element value="fullUrl"/>
<transform value="append"/>
<parameter>
<valueString value="https://example/Observation/"/>
</parameter>
<parameter>
<valueId value="uuid1"/>
</parameter>
</target>
<target>
<context value="request"/>
<contextType value="variable"/>
<element value="url"/>
<transform value="copy"/>
<parameter>
<valueString value="Observation"/>
</parameter>
</target>
<target>
<context value="reaction"/>
<contextType value="variable"/>
<element value="detail"/>
<variable value="reference"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<target>
<context value="reference"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="evaluate"/>
<parameter>
<valueString
value="'https://example/Observation/' + %observation.id"/>
</parameter>
</target>
<dependent>
<name value="Observation"/>
<variable value="obs"/>
<variable value="patient"/>
<variable value="encounter"/>
<variable value="observation"/>
<variable value="bundle"/>
</dependent>
</rule>
</rule>
</rule>
</rule>
<rule>
<name value="entrirel5"/>
<source>
<context value="substance"/>
<element value="entryRelationship"/>
<variable value="entrirel5"/>
</source>
<rule>
<name value="obs"/>
<source>
<context value="entrirel5"/>
<element value="act"/>
<variable value="act"/>
</source>
<rule>
<name value="note"/>
<source>
<context value="act"/>
<element value="text"/>
<variable value="tx"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="note"/>
<variable value="note"/>
</target>
<rule>
<name value="text"/>
<source>
<context value="tx"/>
<element value="reference"/>
<variable value="reference"/>
</source>
<target>
<context value="note"/>
<contextType value="variable"/>
<element value="text"/>
<transform value="evaluate"/>
<parameter>
<valueString value="reference.value"/>
</parameter>
</target>
</rule>
</rule>
</rule>
</rule>
</group>
<group>
<name value="ConditionFunction"/>
<typeMode value="none"/>
<input>
<name value="src"/>
<type value="cdaElement"/>
<mode value="source"/>
</input>
<input>
<name value="tgt"/>
<type value="Condition"/>
<mode value="target"/>
</input>
<input>
<name value="patient"/>
<type value="patient"/>
<mode value="target"/>
</input>
<input>
<name value="encounter"/>
<type value="encounter"/>
<mode value="target"/>
</input>
<input>
<name value="bundle"/>
<type value="Bundle"/>
<mode value="target"/>
</input>
<rule>
<name value="id"/>
<source>
<context value="src"/>
<element value="id"/>
<variable value="vvv"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="identifier"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
</rule>
<rule>
<name value="reference"/>
<source>
<context value="src"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="subject"/>
<variable value="reference"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<target>
<context value="reference"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="evaluate"/>
<parameter>
<valueString value="'https://example/Patient/' + %patient.id"/>
</parameter>
</target>
</rule>
<rule>
<name value="verifstatus"/>
<source>
<context value="src"/>
<element value="statusCode"/>
<variable value="stscode"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="verificationStatus"/>
<variable value="verifstatus"/>
</target>
<rule>
<name value="coding"/>
<source>
<context value="stscode"/>
<variable value="codeS"/>
</source>
<target>
<context value="verifstatus"/>
<contextType value="variable"/>
<element value="coding"/>
<variable value="coding"/>
<transform value="create"/>
<parameter>
<valueString value="Coding"/>
</parameter>
</target>
<rule>
<name value="code"/>
<source>
<context value="codeS"/>
<element value="code"/>
</source>
<target>
<context value="coding"/>
<contextType value="variable"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="confirmed"/>
</parameter>
</target>
</rule>
<rule>
<name value="system"/>
<source>
<context value="codeS"/>
</source>
<target>
<context value="coding"/>
<contextType value="variable"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString
value="http://terminology.hl7.org/CodeSystem/condition-ver-status"/>
</parameter>
</target>
</rule>
<rule>
<name value="display"/>
<source>
<context value="codeS"/>
</source>
<target>
<context value="coding"/>
<contextType value="variable"/>
<element value="display"/>
<transform value="cast"/>
<parameter>
<valueString value="Confirmed"/>
</parameter>
<parameter>
<valueString value="string"/>
</parameter>
</target>
</rule>
</rule>
<documentation
value="src -> tgt.encounter=create('Reference') as reference, reference.reference = ('https://example/Encounter/' + %encounter.id) "reference";"/>
</rule>
<rule>
<name value="onset"/>
<source>
<context value="src"/>
<condition value="entryRelationship.exists().not()"/>
</source>
<rule>
<name value="value1"/>
<source>
<context value="src"/>
<element value="effectiveTime"/>
<variable value="effectiveTime"/>
<condition value="(value.exists())"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="onset"/>
<variable value="value"/>
<transform value="create"/>
<parameter>
<valueString value="dateTime"/>
</parameter>
</target>
<dependent>
<name value="TSDateTime"/>
<variable value="effectiveTime"/>
<variable value="value"/>
</dependent>
</rule>
<rule>
<name value="valuePeriod"/>
<source>
<context value="src"/>
<element value="effectiveTime"/>
<variable value="effectiveTime"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="onset"/>
<variable value="value"/>
<transform value="create"/>
<parameter>
<valueString value="Period"/>
</parameter>
</target>
<dependent>
<name value="IVLTSPeriod"/>
<variable value="effectiveTime"/>
<variable value="value"/>
</dependent>
</rule>
</rule>
<rule>
<name value="entryR"/>
<source>
<context value="src"/>
<element value="entryRelationship"/>
<variable value="entryRelationship"/>
</source>
<rule>
<name value="EntryRelObsevation"/>
<source>
<context value="entryRelationship"/>
<element value="observation"/>
<variable value="obsentry"/>
</source>
<rule>
<name value="value"/>
<source>
<context value="obsentry"/>
<element value="value"/>
<variable value="vvv"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="code"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
<documentation value="toASK"/>
</rule>
<rule>
<name value="code"/>
<source>
<context value="obsentry"/>
<element value="code"/>
<variable value="vvv"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="category"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
</rule>
<rule>
<name value="value1"/>
<source>
<context value="obsentry"/>
<element value="effectiveTime"/>
<variable value="effectiveTime"/>
<condition value="(value.exists())"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="onset"/>
<variable value="value"/>
<transform value="create"/>
<parameter>
<valueString value="dateTime"/>
</parameter>
</target>
<dependent>
<name value="TSDateTime"/>
<variable value="effectiveTime"/>
<variable value="value"/>
</dependent>
</rule>
<rule>
<name value="valuePeriod"/>
<source>
<context value="obsentry"/>
<element value="effectiveTime"/>
<variable value="effectiveTime"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="onset"/>
<variable value="value"/>
<transform value="create"/>
<parameter>
<valueString value="Period"/>
</parameter>
</target>
<dependent>
<name value="IVLTSPeriod"/>
<variable value="effectiveTime"/>
<variable value="value"/>
</dependent>
</rule>
<rule>
<name value="note"/>
<source>
<context value="obsentry"/>
<element value="text"/>
<variable value="text"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="note"/>
<variable value="note"/>
</target>
<rule>
<name value="text"/>
<source>
<context value="text"/>
<element value="reference"/>
<variable value="reference"/>
</source>
<target>
<context value="note"/>
<contextType value="variable"/>
<element value="text"/>
<transform value="evaluate"/>
<parameter>
<valueString value="reference.value"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="entryR"/>
<source>
<context value="obsentry"/>
<element value="entryRelationship"/>
<variable value="entryR2"/>
</source>
<rule>
<name value="observation"/>
<source>
<context value="entryR2"/>
<element value="observation"/>
<variable value="obsentry2"/>
</source>
<rule>
<name value="observation"/>
<source>
<context value="obsentry2"/>
<element value="code"/>
<condition value="code = '89261-2'"/>
</source>
<rule>
<name value="observation"/>
<source>
<context value="obsentry2"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="evidence"/>
<variable value="evidence"/>
</target>
<target>
<context value="bundle"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="e1"/>
</target>
<target>
<context value="e1"/>
<contextType value="variable"/>
<element value="request"/>
<variable value="request"/>
<transform value="create"/>
<parameter>
<valueString value="BackboneElement"/>
</parameter>
</target>
<target>
<context value="request"/>
<contextType value="variable"/>
<element value="method"/>
<transform value="copy"/>
<parameter>
<valueString value="POST"/>
</parameter>
</target>
<target>
<context value="e1"/>
<contextType value="variable"/>
<element value="resource"/>
<variable value="obsy"/>
<transform value="create"/>
<parameter>
<valueString value="Observation"/>
</parameter>
</target>
<target>
<context value="obsy"/>
<contextType value="variable"/>
<element value="id"/>
<variable value="uuid1"/>
<transform value="uuid"/>
</target>
<target>
<context value="e1"/>
<contextType value="variable"/>
<element value="fullUrl"/>
<transform value="append"/>
<parameter>
<valueString value="https://example/Observation/"/>
</parameter>
<parameter>
<valueId value="uuid1"/>
</parameter>
</target>
<target>
<context value="request"/>
<contextType value="variable"/>
<element value="url"/>
<transform value="copy"/>
<parameter>
<valueString value="Observation"/>
</parameter>
</target>
<target>
<context value="evidence"/>
<contextType value="variable"/>
<element value="detail"/>
<variable value="reference"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<target>
<context value="reference"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="evaluate"/>
<parameter>
<valueString
value="'https://example/Observation/' + %obsy.id"/>
</parameter>
</target>
<dependent>
<name value="Observation"/>
<variable value="obsentry2"/>
<variable value="patient"/>
<variable value="encounter"/>
<variable value="obsy"/>
<variable value="bundle"/>
</dependent>
</rule>
</rule>
<rule>
<name value="clinicalStatus2"/>
<source>
<context value="obsentry2"/>
<element value="code"/>
<condition value="code = '33999-4'"/>
</source>
<rule>
<name value="clinicalstatus"/>
<source>
<context value="obsentry2"/>
<element value="value"/>
<variable value="value"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="clinicalStatus"/>
<variable value="clinicalstatus"/>
</target>
<rule>
<name value="coding"/>
<source>
<context value="value"/>
<variable value="val"/>
</source>
<target>
<context value="clinicalstatus"/>
<contextType value="variable"/>
<element value="coding"/>
<variable value="coding"/>
<transform value="create"/>
<parameter>
<valueString value="Coding"/>
</parameter>
</target>
<rule>
<name value="code"/>
<source>
<context value="val"/>
<condition value="(code = 'LA9041-0')"/>
</source>
<target>
<context value="coding"/>
<contextType value="variable"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="resolved"/>
</parameter>
</target>
</rule>
<rule>
<name value="code"/>
<source>
<context value="val"/>
<condition value="(code = 'LA18632-2')"/>
</source>
<target>
<context value="coding"/>
<contextType value="variable"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="inactive"/>
</parameter>
</target>
</rule>
<rule>
<name value="code"/>
<source>
<context value="val"/>
<condition value="(code = 'LA16666-2')"/>
</source>
<target>
<context value="coding"/>
<contextType value="variable"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString value="active"/>
</parameter>
</target>
</rule>
<rule>
<name value="system"/>
<source>
<context value="val"/>
</source>
<target>
<context value="coding"/>
<contextType value="variable"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString
value="http://terminology.hl7.org/CodeSystem/condition-clinical"/>
</parameter>
</target>
</rule>
<rule>
<name value="display"/>
<source>
<context value="val"/>
<element value="displayName"/>
<variable value="display"/>
</source>
<target>
<context value="coding"/>
<contextType value="variable"/>
<element value="display"/>
<transform value="cast"/>
<parameter>
<valueId value="display"/>
</parameter>
<parameter>
<valueString value="string"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="text"/>
<source>
<context value="obsentry2"/>
<element value="text"/>
<variable value="text"/>
</source>
<rule>
<name value="text"/>
<source>
<context value="text"/>
<element value="reference"/>
<variable value="reference"/>
</source>
<target>
<context value="clinicalstatus"/>
<contextType value="variable"/>
<element value="text"/>
<transform value="evaluate"/>
<parameter>
<valueString value="reference.value"/>
</parameter>
</target>
</rule>
</rule>
</rule>
</rule>
<rule>
<name value="severity"/>
<source>
<context value="obsentry2"/>
<element value="code"/>
<condition value="code = 'SEV'"/>
</source>
<rule>
<name value="value"/>
<source>
<context value="obsentry2"/>
<element value="value"/>
<variable value="vvv"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="severity"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
</rule>
</rule>
</rule>
<rule>
<name value="act"/>
<source>
<context value="entryR2"/>
<element value="act"/>
<variable value="act"/>
</source>
<rule>
<name value="note"/>
<source>
<context value="act"/>
<element value="text"/>
<variable value="text"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="note"/>
<variable value="note"/>
</target>
<rule>
<name value="text"/>
<source>
<context value="text"/>
<element value="reference"/>
<variable value="reference"/>
</source>
<target>
<context value="note"/>
<contextType value="variable"/>
<element value="text"/>
<transform value="evaluate"/>
<parameter>
<valueString value="reference.value"/>
</parameter>
</target>
</rule>
</rule>
</rule>
</rule>
</rule>
</rule>
</group>
<group>
<name value="FamilyMemberFunction"/>
<typeMode value="none"/>
<input>
<name value="src"/>
<type value="organizer"/>
<mode value="source"/>
</input>
<input>
<name value="tgt"/>
<type value="FamilyMemberHistory"/>
<mode value="target"/>
</input>
<input>
<name value="patient"/>
<type value="patient"/>
<mode value="target"/>
</input>
<rule>
<name value="patReference"/>
<source>
<context value="src"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="patient"/>
<variable value="reference"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<target>
<context value="reference"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="evaluate"/>
<parameter>
<valueString value="'https://example/Patient/' + %patient.id"/>
</parameter>
</target>
</rule>
<rule>
<name value="id"/>
<source>
<context value="src"/>
<element value="id"/>
<variable value="vvv"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="identifier"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
</rule>
<rule>
<name value="statusCode"/>
<source>
<context value="src"/>
<element value="statusCode"/>
<variable value="vvv"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="status"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
</rule>
<rule>
<name value="date"/>
<source>
<context value="src"/>
<element value="effectiveTime"/>
<variable value="effectiveTime"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="date"/>
<variable value="value"/>
<transform value="create"/>
<parameter>
<valueString value="date"/>
</parameter>
</target>
<dependent>
<name value="TSDate"/>
<variable value="effectiveTime"/>
<variable value="value"/>
</dependent>
</rule>
<rule>
<name value="relationship"/>
<source>
<context value="src"/>
<element value="subject"/>
<variable value="subject"/>
</source>
<rule>
<name value="relatedSub"/>
<source>
<context value="subject"/>
<element value="relatedSubject"/>
<variable value="relatedSubject"/>
</source>
<rule>
<name value="relationshipCode"/>
<source>
<context value="relatedSubject"/>
<element value="code"/>
<variable value="vvv"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="relationship"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
</rule>
<rule>
<name value="subject"/>
<source>
<context value="relatedSubject"/>
<element value="subject"/>
<variable value="subject"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="sex"/>
<variable value="sex"/>
</target>
<rule>
<name value="coding"/>
<source>
<context value="subject"/>
<element value="administrativeGenderCode"/>
<variable value="administrativeGenderCode"/>
</source>
<target>
<context value="sex"/>
<contextType value="variable"/>
<element value="coding"/>
<variable value="coding"/>
</target>
<rule>
<name value="gender"/>
<source>
<context value="administrativeGenderCode"/>
<element value="code"/>
<variable value="sexCode"/>
</source>
<target>
<context value="coding"/>
<contextType value="variable"/>
<element value="code"/>
<transform value="translate"/>
<parameter>
<valueId value="sexCode"/>
</parameter>
<parameter>
<valueString value="#cm-v3-administrative-gender"/>
</parameter>
<parameter>
<valueString value="code"/>
</parameter>
</target>
</rule>
<rule>
<name value="system"/>
<source>
<context value="administrativeGenderCode"/>
</source>
<target>
<context value="coding"/>
<contextType value="variable"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString
value="http://hl7.org/fhir/administrative-gender"/>
</parameter>
</target>
</rule>
<rule>
<name value="displayName"/>
<source>
<context value="administrativeGenderCode"/>
<element value="displayName"/>
<variable value="dn"/>
</source>
<target>
<context value="coding"/>
<contextType value="variable"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueId value="dn"/>
</parameter>
</target>
</rule>
</rule>
</rule>
</rule>
</rule>
<rule>
<name value="component"/>
<source>
<context value="src"/>
<element value="component"/>
<variable value="component"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="condition"/>
<variable value="condition"/>
</target>
<rule>
<name value="observation"/>
<source>
<context value="component"/>
<element value="observation"/>
<variable value="observation"/>
</source>
<rule>
<name value="code"/>
<source>
<context value="observation"/>
<element value="code"/>
<variable value="vvv"/>
</source>
<target>
<context value="condition"/>
<contextType value="variable"/>
<element value="code"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
</rule>
<rule>
<name value="reference"/>
<source>
<context value="observation"/>
<element value="text"/>
<variable value="text"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="note"/>
<variable value="note"/>
</target>
<rule>
<name value="value"/>
<source>
<context value="text"/>
<element value="reference"/>
<variable value="reference"/>
</source>
<target>
<context value="note"/>
<contextType value="variable"/>
<element value="text"/>
<transform value="evaluate"/>
<parameter>
<valueString value="reference.value"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="statusCode"/>
<source>
<context value="observation"/>
<element value="statusCode"/>
<variable value="vvv"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="status"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
</rule>
<rule>
<name value="codeable"/>
<source>
<context value="observation"/>
<element value="value"/>
<variable value="vvv"/>
</source>
<target>
<context value="condition"/>
<contextType value="variable"/>
<element value="outcome"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
<documentation
value="observation.effectiveTime as effectiveTime -> condition.onset = create('Period') as value then IVLTSPeriod(effectiveTime, value) "valuePeriod";"/>
</rule>
<rule>
<name value="EntryRel"/>
<source>
<context value="observation"/>
<element value="entryRelationship"/>
<variable value="entryR"/>
</source>
<rule>
<name value="obser"/>
<source>
<context value="entryR"/>
<element value="observation"/>
<variable value="obs"/>
</source>
<rule>
<name value="insorgenza"/>
<source>
<context value="obs"/>
<condition value="(code.code = '35267-4')"/>
</source>
<rule>
<name value="value"/>
<source>
<context value="obs"/>
<element value="value"/>
<variable value="value"/>
</source>
<target>
<context value="condition"/>
<contextType value="variable"/>
<element value="onset"/>
<variable value="Age"/>
<transform value="create"/>
<parameter>
<valueString value="Age"/>
</parameter>
</target>
<rule>
<name value="age"/>
<source>
<context value="value"/>
<element value="value"/>
<variable value="valueAge"/>
</source>
<target>
<context value="Age"/>
<contextType value="variable"/>
<element value="value"/>
<transform value="copy"/>
<parameter>
<valueId value="valueAge"/>
</parameter>
</target>
</rule>
<rule>
<name value="unit"/>
<source>
<context value="value"/>
<element value="unit"/>
<variable value="unit"/>
</source>
<target>
<context value="Age"/>
<contextType value="variable"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueId value="unit"/>
</parameter>
</target>
</rule>
<rule>
<name value="unit"/>
<source>
<context value="value"/>
<element value="unit"/>
<variable value="unit"/>
</source>
<target>
<context value="Age"/>
<contextType value="variable"/>
<element value="unit"/>
<transform value="copy"/>
<parameter>
<valueId value="unit"/>
</parameter>
</target>
</rule>
<rule>
<name value="system"/>
<source>
<context value="value"/>
</source>
<target>
<context value="Age"/>
<contextType value="variable"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString value="http://unitsofmeasure.org"/>
</parameter>
</target>
</rule>
</rule>
</rule>
<rule>
<name value="death"/>
<source>
<context value="obs"/>
<condition value="(code.code = '39016-1')"/>
</source>
<rule>
<name value="value"/>
<source>
<context value="obs"/>
<element value="value"/>
<variable value="value"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="deceased"/>
<variable value="Age"/>
<transform value="create"/>
<parameter>
<valueString value="Age"/>
</parameter>
</target>
<rule>
<name value="age"/>
<source>
<context value="value"/>
<element value="value"/>
<variable value="valueAge"/>
</source>
<target>
<context value="Age"/>
<contextType value="variable"/>
<element value="value"/>
<transform value="copy"/>
<parameter>
<valueId value="valueAge"/>
</parameter>
</target>
</rule>
<rule>
<name value="unit"/>
<source>
<context value="value"/>
<element value="unit"/>
<variable value="unit"/>
</source>
<target>
<context value="Age"/>
<contextType value="variable"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueId value="unit"/>
</parameter>
</target>
</rule>
<rule>
<name value="unit"/>
<source>
<context value="value"/>
<element value="unit"/>
<variable value="unit"/>
</source>
<target>
<context value="Age"/>
<contextType value="variable"/>
<element value="unit"/>
<transform value="copy"/>
<parameter>
<valueId value="unit"/>
</parameter>
</target>
</rule>
<rule>
<name value="system"/>
<source>
<context value="value"/>
</source>
<target>
<context value="Age"/>
<contextType value="variable"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString value="http://unitsofmeasure.org"/>
</parameter>
</target>
</rule>
</rule>
</rule>
</rule>
</rule>
</rule>
</rule>
</group>
<group>
<name value="Practitioner"/>
<typeMode value="none"/>
<input>
<name value="src"/>
<type value="performer"/>
<mode value="source"/>
</input>
<input>
<name value="tgt"/>
<type value="Encounter"/>
<mode value="target"/>
</input>
<input>
<name value="bundle"/>
<type value="Bundle"/>
<mode value="target"/>
</input>
<rule>
<name value="resurceCreation"/>
<source>
<context value="src"/>
</source>
<target>
<context value="bundle"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="e22"/>
</target>
<target>
<context value="e22"/>
<contextType value="variable"/>
<element value="request"/>
<variable value="request"/>
<transform value="create"/>
<parameter>
<valueString value="BackboneElement"/>
</parameter>
</target>
<target>
<context value="request"/>
<contextType value="variable"/>
<element value="method"/>
<transform value="copy"/>
<parameter>
<valueString value="PUT"/>
</parameter>
</target>
<target>
<context value="e22"/>
<contextType value="variable"/>
<element value="resource"/>
<variable value="practitioner1"/>
<transform value="create"/>
<parameter>
<valueString value="Practitioner"/>
</parameter>
</target>
<rule>
<name value="participant"/>
<source>
<context value="src"/>
<element value="assignedEntity"/>
<variable value="assignedEntity"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="participant"/>
<variable value="participant"/>
</target>
<rule>
<name value="value1"/>
<source>
<context value="src"/>
<element value="time"/>
<variable value="time"/>
<condition value="(value.exists())"/>
</source>
<target>
<context value="participant"/>
<contextType value="variable"/>
<element value="period"/>
<variable value="value"/>
<transform value="create"/>
<parameter>
<valueString value="dateTime"/>
</parameter>
</target>
<dependent>
<name value="TSDateTime"/>
<variable value="time"/>
<variable value="value"/>
</dependent>
</rule>
<rule>
<name value="valuePeriod"/>
<source>
<context value="src"/>
<element value="time"/>
<variable value="time"/>
<condition value="(low.exists())"/>
</source>
<target>
<context value="participant"/>
<contextType value="variable"/>
<element value="period"/>
<variable value="value"/>
<transform value="create"/>
<parameter>
<valueString value="Period"/>
</parameter>
</target>
<dependent>
<name value="IVLTSPeriod"/>
<variable value="time"/>
<variable value="value"/>
</dependent>
</rule>
<rule>
<name value="identifier"/>
<source>
<context value="assignedEntity"/>
<element value="id"/>
<variable value="id"/>
</source>
<target>
<context value="practitioner1"/>
<contextType value="variable"/>
<element value="identifier"/>
<variable value="identifier"/>
</target>
<rule>
<name value="root1"/>
<source>
<context value="id"/>
<element value="root"/>
<variable value="r"/>
</source>
<target>
<context value="identifier"/>
<contextType value="variable"/>
<element value="system"/>
<transform value="translate"/>
<parameter>
<valueId value="r"/>
</parameter>
<parameter>
<valueString
value="http://hl7.org/fhir/ConceptMap/special-oid2uri"/>
</parameter>
<parameter>
<valueString value="uri"/>
</parameter>
</target>
</rule>
<rule>
<name value="ext"/>
<source>
<context value="id"/>
<element value="extension"/>
<variable value="ext"/>
</source>
<target>
<context value="identifier"/>
<contextType value="variable"/>
<element value="value"/>
<transform value="copy"/>
<parameter>
<valueId value="ext"/>
</parameter>
</target>
</rule>
<rule>
<name value="assigningAuthorityName"/>
<source>
<context value="id"/>
<element value="assigningAuthorityName"/>
<variable value="s"/>
</source>
<target>
<context value="identifier"/>
<contextType value="variable"/>
<element value="assigner"/>
<variable value="a"/>
</target>
<target>
<context value="a"/>
<contextType value="variable"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueId value="s"/>
</parameter>
</target>
</rule>
<rule>
<name value="r"/>
<source>
<context value="id"/>
<element value="root"/>
<variable value="r"/>
</source>
<rule>
<name value="id"/>
<source>
<context value="id"/>
<element value="extension"/>
<variable value="ext"/>
</source>
<target>
<context value="practitioner1"/>
<contextType value="variable"/>
<element value="id"/>
<variable value="uuid22"/>
<transform value="evaluate"/>
<parameter>
<valueString value="r + '-' + ext"/>
</parameter>
</target>
<target>
<context value="e22"/>
<contextType value="variable"/>
<element value="fullUrl"/>
<transform value="append"/>
<parameter>
<valueString value="https://example/Practitioner/"/>
</parameter>
<parameter>
<valueId value="uuid22"/>
</parameter>
</target>
<target>
<context value="participant"/>
<contextType value="variable"/>
<element value="individual"/>
<variable value="reference"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<target>
<context value="reference"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="evaluate"/>
<parameter>
<valueString
value="'https://example/Practitioner/' + %practitioner1.id"/>
</parameter>
</target>
</rule>
</rule>
<documentation
value="src.time as time -> participant.period as period then{"/>
</rule>
<rule>
<name value="2.16.840.1.113883.2.9.4.3.2"/>
<source>
<context value="assignedEntity"/>
<element value="id"/>
<variable value="id"/>
<condition value="(root = '2.16.840.1.113883.2.9.4.3.2')"/>
</source>
<rule>
<name value="UUID"/>
<source>
<context value="id"/>
<element value="extension"/>
<variable value="ext"/>
</source>
<target>
<context value="request"/>
<contextType value="variable"/>
<element value="url"/>
<transform value="append"/>
<parameter>
<valueString value="Practitioner?identifier="/>
</parameter>
<parameter>
<valueId value="ext"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="diverso"/>
<source>
<context value="assignedEntity"/>
<element value="id"/>
<variable value="id"/>
<condition value="(root != '2.16.840.1.113883.2.9.4.3.2')"/>
</source>
<rule>
<name value="UUID"/>
<source>
<context value="id"/>
<element value="extension"/>
<variable value="ext"/>
</source>
<target>
<context value="request"/>
<contextType value="variable"/>
<element value="url"/>
<transform value="append"/>
<parameter>
<valueString value="Practitioner?identifier="/>
</parameter>
<parameter>
<valueId value="ext"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="meta"/>
<source>
<context value="assignedEntity"/>
</source>
<target>
<context value="practitioner1"/>
<contextType value="variable"/>
<element value="meta"/>
<variable value="meta"/>
</target>
<rule>
<name value="coding"/>
<source>
<context value="src"/>
</source>
<target>
<context value="meta"/>
<contextType value="variable"/>
<element value="tag"/>
<variable value="coding"/>
<transform value="create"/>
<parameter>
<valueString value="Coding"/>
</parameter>
</target>
<rule>
<name value="system"/>
<source>
<context value="src"/>
</source>
<target>
<context value="coding"/>
<contextType value="variable"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString value="http://algoritmodiscoring"/>
</parameter>
</target>
</rule>
<rule>
<name value="code"/>
<source>
<context value="src"/>
</source>
<target>
<context value="coding"/>
<contextType value="variable"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString
value="ClinicalDocument/body/VisiteRicoveri/performer/"/>
</parameter>
</target>
</rule>
</rule>
</rule>
<rule>
<name value="addr"/>
<source>
<context value="assignedEntity"/>
<element value="addr"/>
<variable value="vvv"/>
</source>
<target>
<context value="practitioner1"/>
<contextType value="variable"/>
<element value="address"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
</rule>
<rule>
<name value="telecom"/>
<source>
<context value="assignedEntity"/>
<element value="telecom"/>
<variable value="vvv"/>
</source>
<target>
<context value="practitioner1"/>
<contextType value="variable"/>
<element value="telecom"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
</rule>
<rule>
<name value="partname"/>
<source>
<context value="assignedEntity"/>
<element value="assignedPerson"/>
<variable value="person"/>
</source>
<rule>
<name value="name"/>
<source>
<context value="person"/>
<element value="name"/>
<variable value="vvv"/>
</source>
<target>
<context value="practitioner1"/>
<contextType value="variable"/>
<element value="name"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
</rule>
<rule>
<name value="birthTime"/>
<source>
<context value="person"/>
<element value="birthTime"/>
<variable value="vvv"/>
</source>
<target>
<context value="practitioner1"/>
<contextType value="variable"/>
<element value="birthDate"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
</rule>
</rule>
</rule>
</rule>
</group>
<group>
<name value="CarePlanFunction"/>
<typeMode value="none"/>
<input>
<name value="src"/>
<type value="entry"/>
<mode value="source"/>
</input>
<input>
<name value="tgt"/>
<type value="CarePlan"/>
<mode value="target"/>
</input>
<input>
<name value="patient"/>
<type value="Patient"/>
<mode value="target"/>
</input>
<input>
<name value="encounter"/>
<type value="Encounter"/>
<mode value="target"/>
</input>
<input>
<name value="bundle"/>
<type value="Bundle"/>
<mode value="target"/>
</input>
<rule>
<name value="reference"/>
<source>
<context value="src"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="subject"/>
<variable value="reference"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<target>
<context value="reference"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="evaluate"/>
<parameter>
<valueString value="'https://example/Patient/' + %patient.id"/>
</parameter>
</target>
</rule>
<rule>
<name value="status"/>
<source>
<context value="src"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="status"/>
<transform value="copy"/>
<parameter>
<valueString value="unknown"/>
</parameter>
</target>
</rule>
<rule>
<name value="intent"/>
<source>
<context value="src"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="intent"/>
<transform value="copy"/>
<parameter>
<valueString value="plan"/>
</parameter>
</target>
</rule>
<rule>
<name value="activityIni"/>
<source>
<context value="src"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="activity"/>
<variable value="activity"/>
</target>
<rule>
<name value="detail"/>
<source>
<context value="src"/>
</source>
<target>
<context value="activity"/>
<contextType value="variable"/>
<element value="detail"/>
<variable value="detail"/>
</target>
<rule>
<name value="entryObs"/>
<source>
<context value="src"/>
<element value="observation"/>
<variable value="observation"/>
</source>
<rule>
<name value="activity"/>
<source>
<context value="observation"/>
</source>
<rule>
<name value="status"/>
<source>
<context value="observation"/>
</source>
<target>
<context value="detail"/>
<contextType value="variable"/>
<element value="status"/>
<transform value="copy"/>
<parameter>
<valueString value="unknown"/>
</parameter>
</target>
</rule>
<rule>
<name value="obs1"/>
<source>
<context value="observation"/>
</source>
<target>
<context value="bundle"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="e1"/>
</target>
<target>
<context value="e1"/>
<contextType value="variable"/>
<element value="request"/>
<variable value="request"/>
<transform value="create"/>
<parameter>
<valueString value="BackboneElement"/>
</parameter>
</target>
<target>
<context value="request"/>
<contextType value="variable"/>
<element value="method"/>
<transform value="copy"/>
<parameter>
<valueString value="POST"/>
</parameter>
</target>
<target>
<context value="e1"/>
<contextType value="variable"/>
<element value="resource"/>
<variable value="obs1"/>
<transform value="create"/>
<parameter>
<valueString value="Observation"/>
</parameter>
</target>
<target>
<context value="obs1"/>
<contextType value="variable"/>
<element value="id"/>
<variable value="uuid1"/>
<transform value="uuid"/>
</target>
<target>
<context value="e1"/>
<contextType value="variable"/>
<element value="fullUrl"/>
<transform value="append"/>
<parameter>
<valueString value="https://example/Observation/"/>
</parameter>
<parameter>
<valueId value="uuid1"/>
</parameter>
</target>
<target>
<context value="request"/>
<contextType value="variable"/>
<element value="url"/>
<transform value="copy"/>
<parameter>
<valueString value="Observation"/>
</parameter>
</target>
<target>
<context value="detail"/>
<contextType value="variable"/>
<element value="reasonReference"/>
<variable value="reference"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<target>
<context value="reference"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="evaluate"/>
<parameter>
<valueString
value="'https://example/Observation/' + %obs1.id"/>
</parameter>
</target>
<dependent>
<name value="Observation"/>
<variable value="observation"/>
<variable value="patient"/>
<variable value="encounter"/>
<variable value="obs1"/>
<variable value="bundle"/>
</dependent>
</rule>
</rule>
</rule>
<rule>
<name value="entrySub"/>
<source>
<context value="src"/>
<element value="substanceAdministration"/>
<variable value="substanceAdministration"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="activity"/>
<variable value="activity"/>
</target>
<rule>
<name value="Terapie"/>
<source>
<context value="substanceAdministration"/>
</source>
<target>
<context value="bundle"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="e2"/>
</target>
<target>
<context value="e2"/>
<contextType value="variable"/>
<element value="request"/>
<variable value="request"/>
<transform value="create"/>
<parameter>
<valueString value="BackboneElement"/>
</parameter>
</target>
<target>
<context value="request"/>
<contextType value="variable"/>
<element value="method"/>
<transform value="copy"/>
<parameter>
<valueString value="POST"/>
</parameter>
</target>
<target>
<context value="e2"/>
<contextType value="variable"/>
<element value="resource"/>
<variable value="medre1"/>
<transform value="create"/>
<parameter>
<valueString value="MedicationRequest"/>
</parameter>
</target>
<target>
<context value="medre1"/>
<contextType value="variable"/>
<element value="id"/>
<variable value="uuid2"/>
<transform value="uuid"/>
</target>
<target>
<context value="e2"/>
<contextType value="variable"/>
<element value="fullUrl"/>
<transform value="append"/>
<parameter>
<valueString value="https://example/MedicationRequest/"/>
</parameter>
<parameter>
<valueId value="uuid2"/>
</parameter>
</target>
<target>
<context value="request"/>
<contextType value="variable"/>
<element value="url"/>
<transform value="copy"/>
<parameter>
<valueString value="MedicationRequest"/>
</parameter>
</target>
<target>
<context value="activity"/>
<contextType value="variable"/>
<element value="reference"/>
<variable value="reference"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<target>
<context value="reference"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="evaluate"/>
<parameter>
<valueString
value="'https://example/MedicationRequest/' + %medre1.id"/>
</parameter>
</target>
<dependent>
<name value="MedicationRequest"/>
<variable value="substanceAdministration"/>
<variable value="patient"/>
<variable value="encounter"/>
<variable value="medre1"/>
<variable value="bundle"/>
</dependent>
</rule>
</rule>
<rule>
<name value="proc"/>
<source>
<context value="src"/>
<element value="procedure"/>
<variable value="procedureC"/>
</source>
<target>
<context value="bundle"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="e8"/>
</target>
<target>
<context value="e8"/>
<contextType value="variable"/>
<element value="request"/>
<variable value="request"/>
<transform value="create"/>
<parameter>
<valueString value="BackboneElement"/>
</parameter>
</target>
<target>
<context value="request"/>
<contextType value="variable"/>
<element value="method"/>
<transform value="copy"/>
<parameter>
<valueString value="POST"/>
</parameter>
</target>
<target>
<context value="e8"/>
<contextType value="variable"/>
<element value="resource"/>
<variable value="procedure"/>
<transform value="create"/>
<parameter>
<valueString value="Procedure"/>
</parameter>
</target>
<target>
<context value="procedure"/>
<contextType value="variable"/>
<element value="id"/>
<variable value="uuid8"/>
<transform value="uuid"/>
</target>
<target>
<context value="e8"/>
<contextType value="variable"/>
<element value="fullUrl"/>
<transform value="append"/>
<parameter>
<valueString value="https://example/Procedure/"/>
</parameter>
<parameter>
<valueId value="uuid8"/>
</parameter>
</target>
<target>
<context value="request"/>
<contextType value="variable"/>
<element value="url"/>
<transform value="copy"/>
<parameter>
<valueString value="Procedure"/>
</parameter>
</target>
<target>
<context value="activity"/>
<contextType value="variable"/>
<element value="outcomeReference"/>
<variable value="reference"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<target>
<context value="reference"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="evaluate"/>
<parameter>
<valueString
value="'https://example/Procedure/' + %procedure.id"/>
</parameter>
</target>
<dependent>
<name value="Procedure"/>
<variable value="procedureC"/>
<variable value="patient"/>
<variable value="encounter"/>
<variable value="procedure"/>
<variable value="bundle"/>
</dependent>
</rule>
<rule>
<name value="viste"/>
<source>
<context value="src"/>
<element value="encounter"/>
<variable value="encounterCDA"/>
</source>
<target>
<context value="bundle"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="e3"/>
</target>
<target>
<context value="e3"/>
<contextType value="variable"/>
<element value="request"/>
<variable value="request"/>
<transform value="create"/>
<parameter>
<valueString value="BackboneElement"/>
</parameter>
</target>
<target>
<context value="request"/>
<contextType value="variable"/>
<element value="method"/>
<transform value="copy"/>
<parameter>
<valueString value="POST"/>
</parameter>
</target>
<target>
<context value="e3"/>
<contextType value="variable"/>
<element value="resource"/>
<variable value="encounterFHIR"/>
<transform value="create"/>
<parameter>
<valueString value="Encounter"/>
</parameter>
</target>
<target>
<context value="encounterFHIR"/>
<contextType value="variable"/>
<element value="id"/>
<variable value="uuid3"/>
<transform value="uuid"/>
</target>
<target>
<context value="e3"/>
<contextType value="variable"/>
<element value="fullUrl"/>
<transform value="append"/>
<parameter>
<valueString value="https://example/Encounter/"/>
</parameter>
<parameter>
<valueId value="uuid3"/>
</parameter>
</target>
<target>
<context value="request"/>
<contextType value="variable"/>
<element value="url"/>
<transform value="copy"/>
<parameter>
<valueString value="Encounter"/>
</parameter>
</target>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="encounter"/>
<variable value="reference"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<target>
<context value="reference"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="evaluate"/>
<parameter>
<valueString
value="'https://example/Encounter/' + %encounterFHIR.id"/>
</parameter>
</target>
<rule>
<name value="refPatient"/>
<source>
<context value="encounterCDA"/>
</source>
<target>
<context value="encounterFHIR"/>
<contextType value="variable"/>
<element value="subject"/>
<variable value="reference"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<target>
<context value="reference"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="evaluate"/>
<parameter>
<valueString
value="'https://example/Patient/' + %patient.id"/>
</parameter>
</target>
<documentation
value="encounterCDA -> encounterFHIR.partOf = create('Reference') as reference, reference.reference = ('https://example/Encounter/' + %encounter.id) "encounterHeader";"/>
</rule>
<rule>
<name value="id"/>
<source>
<context value="encounterCDA"/>
<element value="id"/>
<variable value="vvv"/>
</source>
<target>
<context value="encounterFHIR"/>
<contextType value="variable"/>
<element value="identifier"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
</rule>
<rule>
<name value="statusCode"/>
<source>
<context value="encounterCDA"/>
<element value="statusCode"/>
<variable value="vvv"/>
</source>
<target>
<context value="encounterFHIR"/>
<contextType value="variable"/>
<element value="status"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
</rule>
<rule>
<name value="status"/>
<source>
<context value="encounterCDA"/>
<condition value="statusCode.exists().not()"/>
</source>
<target>
<context value="encounterFHIR"/>
<contextType value="variable"/>
<element value="status"/>
<transform value="copy"/>
<parameter>
<valueString value="unknown"/>
</parameter>
</target>
</rule>
<rule>
<name value="class"/>
<source>
<context value="encounterCDA"/>
<element value="code"/>
<variable value="code"/>
</source>
<target>
<context value="encounterFHIR"/>
<contextType value="variable"/>
<element value="class"/>
<variable value="class"/>
</target>
<rule>
<name value="code"/>
<source>
<context value="code"/>
<element value="code"/>
<variable value="code"/>
</source>
<target>
<context value="class"/>
<contextType value="variable"/>
<element value="code"/>
<transform value="cast"/>
<parameter>
<valueId value="code"/>
</parameter>
<parameter>
<valueString value="string"/>
</parameter>
</target>
</rule>
<rule>
<name value="codeSystem"/>
<source>
<context value="code"/>
<element value="codeSystem"/>
<variable value="system"/>
</source>
<target>
<context value="class"/>
<contextType value="variable"/>
<element value="system"/>
<transform value="translate"/>
<parameter>
<valueId value="system"/>
</parameter>
<parameter>
<valueString
value="http://hl7.org/fhir/ConceptMap/special-oid2uri"/>
</parameter>
<parameter>
<valueString value="uri"/>
</parameter>
</target>
</rule>
<rule>
<name value="displayName"/>
<source>
<context value="code"/>
<element value="displayName"/>
<variable value="display"/>
</source>
<target>
<context value="class"/>
<contextType value="variable"/>
<element value="display"/>
<transform value="cast"/>
<parameter>
<valueId value="display"/>
</parameter>
<parameter>
<valueString value="string"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="text"/>
<source>
<context value="encounterCDA"/>
<element value="text"/>
<variable value="text"/>
</source>
<target>
<context value="encounterFHIR"/>
<contextType value="variable"/>
<element value="type"/>
<variable value="type"/>
</target>
<rule>
<name value="value"/>
<source>
<context value="text"/>
<element value="reference"/>
<variable value="reference"/>
</source>
<target>
<context value="type"/>
<contextType value="variable"/>
<element value="text"/>
<transform value="evaluate"/>
<parameter>
<valueString value="reference.value"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="efft"/>
<source>
<context value="encounterCDA"/>
<element value="effectiveTime"/>
<variable value="effectiveTime"/>
</source>
<target>
<context value="encounterFHIR"/>
<contextType value="variable"/>
<element value="period"/>
<variable value="period"/>
<transform value="create"/>
<parameter>
<valueString value="Period"/>
</parameter>
</target>
<rule>
<name value="val"/>
<source>
<context value="effectiveTime"/>
</source>
<target>
<context value="period"/>
<contextType value="variable"/>
<element value="start"/>
<variable value="start"/>
<transform value="create"/>
<parameter>
<valueString value="dateTime"/>
</parameter>
</target>
<dependent>
<name value="TSDateTime"/>
<variable value="effectiveTime"/>
<variable value="start"/>
</dependent>
</rule>
</rule>
</rule>
<rule>
<name value="act"/>
<source>
<context value="src"/>
<element value="act"/>
<variable value="act"/>
</source>
<rule>
<name value="id"/>
<source>
<context value="act"/>
<element value="id"/>
<variable value="vvv"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="identifier"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
</rule>
<rule>
<name value="code"/>
<source>
<context value="act"/>
<element value="code"/>
<variable value="vvv"/>
</source>
<target>
<context value="activity"/>
<contextType value="variable"/>
<element value="outcomeCodeableConcept"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
</rule>
<rule>
<name value="text"/>
<source>
<context value="act"/>
<element value="text"/>
<variable value="text"/>
</source>
<target>
<context value="activity"/>
<contextType value="variable"/>
<element value="progress"/>
<variable value="progress"/>
<transform value="create"/>
<parameter>
<valueString value="Annotation"/>
</parameter>
</target>
<rule>
<name value="value"/>
<source>
<context value="text"/>
<element value="reference"/>
<variable value="reference"/>
</source>
<target>
<context value="progress"/>
<contextType value="variable"/>
<element value="text"/>
<transform value="evaluate"/>
<parameter>
<valueString value="reference.value"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="efft"/>
<source>
<context value="act"/>
<element value="effectiveTime"/>
<variable value="effectiveTime"/>
</source>
<target>
<context value="detail"/>
<contextType value="variable"/>
<element value="scheduled"/>
<variable value="period"/>
<transform value="create"/>
<parameter>
<valueString value="Period"/>
</parameter>
</target>
<rule>
<name value="val"/>
<source>
<context value="effectiveTime"/>
</source>
<target>
<context value="period"/>
<contextType value="variable"/>
<element value="start"/>
<variable value="start"/>
<transform value="create"/>
<parameter>
<valueString value="dateTime"/>
</parameter>
</target>
<dependent>
<name value="TSDateTime"/>
<variable value="effectiveTime"/>
<variable value="start"/>
</dependent>
</rule>
</rule>
<rule>
<name value="status"/>
<source>
<context value="act"/>
</source>
<target>
<context value="detail"/>
<contextType value="variable"/>
<element value="status"/>
<transform value="copy"/>
<parameter>
<valueString value="completed"/>
</parameter>
</target>
</rule>
</rule>
</rule>
</rule>
</group>
<group>
<name value="MedicationRequest"/>
<typeMode value="none"/>
<input>
<name value="src"/>
<type value="substanceAdministration"/>
<mode value="source"/>
</input>
<input>
<name value="patient"/>
<type value="Patient"/>
<mode value="target"/>
</input>
<input>
<name value="encounter"/>
<type value="Encounter"/>
<mode value="target"/>
</input>
<input>
<name value="tgt"/>
<type value="MedicationRequest"/>
<mode value="target"/>
</input>
<input>
<name value="bundle"/>
<type value="Bundle"/>
<mode value="target"/>
</input>
<rule>
<name value="reference"/>
<source>
<context value="src"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="subject"/>
<variable value="reference"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<target>
<context value="reference"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="evaluate"/>
<parameter>
<valueString value="'https://example/Patient/' + %patient.id"/>
</parameter>
</target>
<documentation value="default + mandatory"/>
</rule>
<rule>
<name value="intent"/>
<source>
<context value="src"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="intent"/>
<transform value="copy"/>
<parameter>
<valueString value="order"/>
</parameter>
</target>
<documentation
value="src -> tgt.encounter = create('Reference') as reference, reference.reference = ('https://example/Encounter/' + %encounter.id) "reference";"/>
</rule>
<rule>
<name value="st"/>
<source>
<context value="src"/>
<condition value="statusCode.exists().not()"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="status"/>
<transform value="copy"/>
<parameter>
<valueString value="unknown"/>
</parameter>
</target>
</rule>
<rule>
<name value="status"/>
<source>
<context value="src"/>
<element value="statusCode"/>
<variable value="sc"/>
</source>
<rule>
<name value="codeS"/>
<source>
<context value="sc"/>
<element value="code"/>
<variable value="cos"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="status"/>
<transform value="translate"/>
<parameter>
<valueId value="cos"/>
</parameter>
<parameter>
<valueString value="#MedicationStatusMap"/>
</parameter>
<parameter>
<valueString value="code"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="id"/>
<source>
<context value="src"/>
<element value="id"/>
<variable value="vvv"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="identifier"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
</rule>
<rule>
<name value="note"/>
<source>
<context value="src"/>
<element value="text"/>
<variable value="txt"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="note"/>
<variable value="note"/>
</target>
<rule>
<name value="text"/>
<source>
<context value="txt"/>
<element value="reference"/>
<variable value="reference"/>
</source>
<target>
<context value="note"/>
<contextType value="variable"/>
<element value="text"/>
<transform value="evaluate"/>
<parameter>
<valueString value="reference.value"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="period"/>
<source>
<context value="src"/>
<type value="IVL_TS"/>
<element value="effectiveTime"/>
<variable value="eff"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="dosageInstruction"/>
<variable value="dosage"/>
<transform value="create"/>
<parameter>
<valueString value="Dosage"/>
</parameter>
</target>
<rule>
<name value="timing"/>
<source>
<context value="eff"/>
</source>
<target>
<context value="dosage"/>
<contextType value="variable"/>
<element value="timing"/>
<variable value="timing"/>
<transform value="create"/>
<parameter>
<valueString value="Timing"/>
</parameter>
</target>
<rule>
<name value="rep"/>
<source>
<context value="eff"/>
</source>
<target>
<context value="timing"/>
<contextType value="variable"/>
<element value="repeat"/>
<variable value="rep"/>
</target>
<rule>
<name value="valuePeriod"/>
<source>
<context value="eff"/>
</source>
<target>
<context value="rep"/>
<contextType value="variable"/>
<element value="bounds"/>
<variable value="value"/>
<transform value="create"/>
<parameter>
<valueString value="Period"/>
</parameter>
</target>
<dependent>
<name value="IVLTSPeriod"/>
<variable value="eff"/>
<variable value="value"/>
</dependent>
</rule>
</rule>
</rule>
</rule>
<rule>
<name value="period"/>
<source>
<context value="src"/>
<type value="EIVL_TS"/>
<element value="effectiveTime"/>
<variable value="effe"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="dosageInstruction"/>
<variable value="dosage"/>
<transform value="create"/>
<parameter>
<valueString value="Dosage"/>
</parameter>
</target>
<rule>
<name value="timing"/>
<source>
<context value="effe"/>
</source>
<target>
<context value="dosage"/>
<contextType value="variable"/>
<element value="timing"/>
<variable value="timing"/>
<transform value="create"/>
<parameter>
<valueString value="Timing"/>
</parameter>
</target>
<rule>
<name value="rep"/>
<source>
<context value="effe"/>
</source>
<target>
<context value="timing"/>
<contextType value="variable"/>
<element value="repeat"/>
<variable value="rep"/>
</target>
<rule>
<name value="eventCode"/>
<source>
<context value="effe"/>
<element value="eventCode"/>
<variable value="ev"/>
</source>
<target>
<context value="rep"/>
<contextType value="variable"/>
<element value="when"/>
<transform value="evaluate"/>
<parameter>
<valueString value="ev.code"/>
</parameter>
</target>
</rule>
</rule>
</rule>
</rule>
<rule>
<name value="tim"/>
<source>
<context value="src"/>
<type value="IVL_TS"/>
<element value="effectiveTime"/>
<variable value="eff"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="dosageInstruction"/>
<variable value="dosage"/>
<transform value="create"/>
<parameter>
<valueString value="Dosage"/>
</parameter>
</target>
<target>
<context value="dosage"/>
<contextType value="variable"/>
<element value="timing"/>
<variable value="timing"/>
<transform value="create"/>
<parameter>
<valueString value="Timing"/>
</parameter>
</target>
<target>
<context value="timing"/>
<contextType value="variable"/>
<element value="event"/>
<transform value="evaluate"/>
<parameter>
<valueString value="eff.value"/>
</parameter>
</target>
</rule>
<rule>
<name value="eff"/>
<source>
<context value="src"/>
<type value="PIVL_TS"/>
<element value="effectiveTime"/>
<variable value="eff"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="dosageInstruction"/>
<variable value="dosage"/>
<transform value="create"/>
<parameter>
<valueString value="Dosage"/>
</parameter>
</target>
<rule>
<name value="cod"/>
<source>
<context value="eff"/>
</source>
<target>
<context value="dosage"/>
<contextType value="variable"/>
<element value="timing"/>
<variable value="timing"/>
<transform value="create"/>
<parameter>
<valueString value="Timing"/>
</parameter>
</target>
<dependent>
<name value="periodTiming"/>
<variable value="eff"/>
<variable value="timing"/>
</dependent>
</rule>
</rule>
<rule>
<name value="condition"/>
<source>
<context value="src"/>
<condition
value="(src.doseQuantity.exists() or src.rateQuantity.exists())"/>
</source>
<rule>
<name value="dosageIn"/>
<source>
<context value="src"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="dosageInstruction"/>
<variable value="dosageInstruction"/>
<transform value="create"/>
<parameter>
<valueString value="Dosage"/>
</parameter>
</target>
<rule>
<name value="doseQuantity"/>
<source>
<context value="src"/>
<element value="doseQuantity"/>
<variable value="doseQuant"/>
</source>
<rule>
<name value="ot"/>
<source>
<context value="doseQuant"/>
<element value="originalText"/>
<variable value="ot"/>
</source>
<rule>
<name value="reference"/>
<source>
<context value="ot"/>
<element value="reference"/>
<variable value="vvv"/>
</source>
<target>
<context value="dosageInstruction"/>
<contextType value="variable"/>
<element value="text"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
</rule>
</rule>
<rule>
<name value="dosageRate"/>
<source>
<context value="doseQuant"/>
</source>
<target>
<context value="dosageInstruction"/>
<contextType value="variable"/>
<element value="doseAndRate"/>
<variable value="dosageRate"/>
</target>
<rule>
<name value="d"/>
<source>
<context value="doseQuant"/>
</source>
<target>
<context value="dosageRate"/>
<contextType value="variable"/>
<element value="dose"/>
<variable value="d"/>
<transform value="create"/>
<parameter>
<valueString value="Range"/>
</parameter>
</target>
<rule>
<name value="low"/>
<source>
<context value="doseQuant"/>
</source>
<target>
<context value="d"/>
<contextType value="variable"/>
<element value="low"/>
<variable value="l"/>
<transform value="create"/>
<parameter>
<valueString value="SimpleQuantity"/>
</parameter>
</target>
<rule>
<name value="low"/>
<source>
<context value="doseQuant"/>
<element value="low"/>
<variable value="lo"/>
</source>
<target>
<context value="l"/>
<contextType value="variable"/>
<element value="value"/>
<transform value="evaluate"/>
<parameter>
<valueString value="lo.value"/>
</parameter>
</target>
</rule>
<rule>
<name value="low"/>
<source>
<context value="doseQuant"/>
<element value="low"/>
<variable value="lo"/>
</source>
<target>
<context value="l"/>
<contextType value="variable"/>
<element value="unit"/>
<transform value="evaluate"/>
<parameter>
<valueString value="lo.unit"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="low"/>
<source>
<context value="doseQuant"/>
</source>
<target>
<context value="d"/>
<contextType value="variable"/>
<element value="high"/>
<variable value="h"/>
<transform value="create"/>
<parameter>
<valueString value="SimpleQuantity"/>
</parameter>
</target>
<rule>
<name value="high"/>
<source>
<context value="doseQuant"/>
<element value="high"/>
<variable value="hi"/>
</source>
<target>
<context value="h"/>
<contextType value="variable"/>
<element value="value"/>
<transform value="evaluate"/>
<parameter>
<valueString value="hi.value"/>
</parameter>
</target>
</rule>
<rule>
<name value="high"/>
<source>
<context value="doseQuant"/>
<element value="high"/>
<variable value="hi"/>
</source>
<target>
<context value="h"/>
<contextType value="variable"/>
<element value="unit"/>
<transform value="evaluate"/>
<parameter>
<valueString value="hi.unit"/>
</parameter>
</target>
</rule>
</rule>
</rule>
</rule>
</rule>
<rule>
<name value="rate"/>
<source>
<context value="src"/>
<element value="rateQuantity"/>
<variable value="rateQuantity"/>
</source>
<rule>
<name value="ot"/>
<source>
<context value="rateQuantity"/>
<element value="originalText"/>
<variable value="ot"/>
</source>
<rule>
<name value="reference"/>
<source>
<context value="ot"/>
<element value="reference"/>
<variable value="vvv"/>
</source>
<target>
<context value="dosageInstruction"/>
<contextType value="variable"/>
<element value="text"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
</rule>
</rule>
<rule>
<name value="dosageRate"/>
<source>
<context value="rateQuantity"/>
</source>
<target>
<context value="dosageInstruction"/>
<contextType value="variable"/>
<element value="doseAndRate"/>
<variable value="dosageRate"/>
</target>
<rule>
<name value="r"/>
<source>
<context value="rateQuantity"/>
</source>
<target>
<context value="dosageRate"/>
<contextType value="variable"/>
<element value="rate"/>
<variable value="d"/>
<transform value="create"/>
<parameter>
<valueString value="Range"/>
</parameter>
</target>
<rule>
<name value="low"/>
<source>
<context value="rateQuantity"/>
</source>
<target>
<context value="d"/>
<contextType value="variable"/>
<element value="low"/>
<variable value="l"/>
<transform value="create"/>
<parameter>
<valueString value="SimpleQuantity"/>
</parameter>
</target>
<rule>
<name value="low"/>
<source>
<context value="rateQuantity"/>
<element value="low"/>
<variable value="lo"/>
</source>
<target>
<context value="l"/>
<contextType value="variable"/>
<element value="value"/>
<transform value="evaluate"/>
<parameter>
<valueString value="lo.value"/>
</parameter>
</target>
</rule>
<rule>
<name value="low"/>
<source>
<context value="rateQuantity"/>
<element value="low"/>
<variable value="lo"/>
</source>
<target>
<context value="l"/>
<contextType value="variable"/>
<element value="unit"/>
<transform value="evaluate"/>
<parameter>
<valueString value="lo.unit"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="high"/>
<source>
<context value="rateQuantity"/>
</source>
<target>
<context value="d"/>
<contextType value="variable"/>
<element value="high"/>
<variable value="h"/>
<transform value="create"/>
<parameter>
<valueString value="SimpleQuantity"/>
</parameter>
</target>
<rule>
<name value="high"/>
<source>
<context value="rateQuantity"/>
<element value="high"/>
<variable value="hi"/>
</source>
<target>
<context value="h"/>
<contextType value="variable"/>
<element value="value"/>
<transform value="evaluate"/>
<parameter>
<valueString value="hi.value"/>
</parameter>
</target>
</rule>
<rule>
<name value="high"/>
<source>
<context value="rateQuantity"/>
<element value="high"/>
<variable value="hi"/>
</source>
<target>
<context value="h"/>
<contextType value="variable"/>
<element value="unit"/>
<transform value="evaluate"/>
<parameter>
<valueString value="hi.unit"/>
</parameter>
</target>
</rule>
</rule>
</rule>
</rule>
</rule>
<rule>
<name value="route"/>
<source>
<context value="src"/>
<element value="routeCode"/>
<variable value="vvv"/>
</source>
<target>
<context value="dosageInstruction"/>
<contextType value="variable"/>
<element value="route"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
</rule>
<rule>
<name value="site"/>
<source>
<context value="src"/>
<element value="approachSiteCode"/>
<variable value="vvv"/>
</source>
<target>
<context value="dosageInstruction"/>
<contextType value="variable"/>
<element value="site"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
</rule>
<rule>
<name value="site"/>
<source>
<context value="src"/>
<element value="targetSiteCode"/>
<variable value="vvv"/>
</source>
<target>
<context value="dosageInstruction"/>
<contextType value="variable"/>
<element value="site"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
</rule>
</rule>
</rule>
<rule>
<name value="medication"/>
<source>
<context value="src"/>
<element value="consumable"/>
<variable value="consumable"/>
</source>
<target>
<context value="bundle"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="e1"/>
</target>
<target>
<context value="e1"/>
<contextType value="variable"/>
<element value="request"/>
<variable value="request"/>
<transform value="create"/>
<parameter>
<valueString value="BackboneElement"/>
</parameter>
</target>
<target>
<context value="request"/>
<contextType value="variable"/>
<element value="method"/>
<transform value="copy"/>
<parameter>
<valueString value="POST"/>
</parameter>
</target>
<target>
<context value="e1"/>
<contextType value="variable"/>
<element value="resource"/>
<variable value="medication"/>
<transform value="create"/>
<parameter>
<valueString value="Medication"/>
</parameter>
</target>
<target>
<context value="medication"/>
<contextType value="variable"/>
<element value="id"/>
<variable value="uuid1"/>
<transform value="uuid"/>
</target>
<target>
<context value="e1"/>
<contextType value="variable"/>
<element value="fullUrl"/>
<transform value="append"/>
<parameter>
<valueString value="https://example/Medication/"/>
</parameter>
<parameter>
<valueId value="uuid1"/>
</parameter>
</target>
<target>
<context value="request"/>
<contextType value="variable"/>
<element value="url"/>
<transform value="copy"/>
<parameter>
<valueString value="Medication"/>
</parameter>
</target>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="medication"/>
<variable value="medref"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<target>
<context value="medref"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="evaluate"/>
<parameter>
<valueString
value="'https://example/Medication/' + %medication.id"/>
</parameter>
</target>
<dependent>
<name value="Medication"/>
<variable value="src"/>
<variable value="medication"/>
<variable value="patient"/>
<variable value="bundle"/>
</dependent>
</rule>
<rule>
<name value="entryR"/>
<source>
<context value="src"/>
<element value="entryRelationship"/>
<variable value="entryRelationship"/>
</source>
<rule>
<name value="supply"/>
<source>
<context value="entryRelationship"/>
<element value="supply"/>
<variable value="supply"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="dispenseRequest"/>
<variable value="dispenseRequest"/>
</target>
<rule>
<name value="quantity"/>
<source>
<context value="supply"/>
<element value="quantity"/>
<variable value="quantityCDA"/>
</source>
<target>
<context value="dispenseRequest"/>
<contextType value="variable"/>
<element value="quantity"/>
<variable value="quantityFHIR"/>
</target>
<rule>
<name value="value"/>
<source>
<context value="quantityCDA"/>
</source>
<target>
<context value="quantityFHIR"/>
<contextType value="variable"/>
<element value="value"/>
<transform value="evaluate"/>
<parameter>
<valueString value="quantityCDA.value"/>
</parameter>
</target>
</rule>
</rule>
</rule>
</rule>
<rule>
<name value="Partecipant"/>
<source>
<context value="src"/>
<element value="participant"/>
<variable value="participant"/>
</source>
<rule>
<name value="function"/>
<source>
<context value="participant"/>
</source>
<dependent>
<name value="Practitioner"/>
<variable value="participant"/>
<variable value="tgt"/>
<variable value="bundle"/>
</dependent>
</rule>
<rule>
<name value="autor"/>
<source>
<context value="participant"/>
<element value="effectiveTime"/>
<variable value="vvv"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="authoredOn"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
</rule>
</rule>
</group>
<group>
<name value="OrganizationAffiliation"/>
<typeMode value="none"/>
<input>
<name value="src"/>
<type value="act"/>
<mode value="source"/>
</input>
<input>
<name value="patient"/>
<type value="Patient"/>
<mode value="target"/>
</input>
<input>
<name value="enc"/>
<type value="Encounter"/>
<mode value="target"/>
</input>
<input>
<name value="tgt"/>
<type value="OrganizationAffiliation"/>
<mode value="target"/>
</input>
<input>
<name value="bundle"/>
<type value="Bundle"/>
<mode value="target"/>
</input>
<rule>
<name value="id"/>
<source>
<context value="src"/>
<element value="id"/>
<variable value="vvv"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="identifier"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
</rule>
<rule>
<name value="statusCode"/>
<source>
<context value="src"/>
<element value="statusCode"/>
<condition value="code = 'active'"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="active"/>
<transform value="copy"/>
<parameter>
<valueBoolean value="true"/>
</parameter>
</target>
<documentation value="src.code -> tgt.specialty as specialty then{"/>
</rule>
<rule>
<name value="statusCode"/>
<source>
<context value="src"/>
<element value="statusCode"/>
<condition value="(code = 'active').not()"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="active"/>
<transform value="copy"/>
<parameter>
<valueBoolean value="false"/>
</parameter>
</target>
</rule>
<rule>
<name value="effectiveTime"/>
<source>
<context value="src"/>
<element value="effectiveTime"/>
<variable value="eff"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="period"/>
</target>
</rule>
<rule>
<name value="a"/>
<source>
<context value="src"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="specialty"/>
<variable value="spec"/>
<transform value="create"/>
<parameter>
<valueString value="CodeableConcept"/>
</parameter>
</target>
<rule>
<name value="spec"/>
<source>
<context value="src"/>
<element value="code"/>
<variable value="code"/>
</source>
<rule>
<name value="cd"/>
<source>
<context value="code"/>
</source>
<target>
<context value="spec"/>
<contextType value="variable"/>
<element value="coding"/>
<variable value="cd"/>
<transform value="create"/>
<parameter>
<valueString value="Coding"/>
</parameter>
</target>
<rule>
<name value="code"/>
<source>
<context value="code"/>
</source>
<target>
<context value="cd"/>
<contextType value="variable"/>
<element value="code"/>
<transform value="evaluate"/>
<parameter>
<valueString value="code.code"/>
</parameter>
</target>
</rule>
<rule>
<name value="code"/>
<source>
<context value="code"/>
</source>
<target>
<context value="cd"/>
<contextType value="variable"/>
<element value="display"/>
<transform value="evaluate"/>
<parameter>
<valueString value="code.displayName"/>
</parameter>
</target>
</rule>
<rule>
<name value="root1"/>
<source>
<context value="code"/>
<element value="codeSystem"/>
<variable value="r"/>
</source>
<target>
<context value="cd"/>
<contextType value="variable"/>
<element value="system"/>
<transform value="translate"/>
<parameter>
<valueId value="r"/>
</parameter>
<parameter>
<valueString
value="http://hl7.org/fhir/ConceptMap/special-oid2uri"/>
</parameter>
<parameter>
<valueString value="uri"/>
</parameter>
</target>
</rule>
</rule>
</rule>
<rule>
<name value="entry"/>
<source>
<context value="src"/>
<element value="entryRelationship"/>
<variable value="entry"/>
</source>
<rule>
<name value="act"/>
<source>
<context value="entry"/>
<element value="act"/>
<variable value="a"/>
</source>
<rule>
<name value="ref"/>
<source>
<context value="a"/>
<element value="text"/>
<variable value="tx"/>
</source>
<rule>
<name value="reference"/>
<source>
<context value="tx"/>
<element value="reference"/>
<variable value="reff"/>
</source>
<target>
<context value="spec"/>
<contextType value="variable"/>
<element value="text"/>
<transform value="evaluate"/>
<parameter>
<valueString value="reff.value"/>
</parameter>
</target>
</rule>
</rule>
</rule>
</rule>
<documentation value="src.code -> tgt.specialty;"/>
</rule>
</group>
<group>
<name value="DiagnosticReportFunction"/>
<typeMode value="none"/>
<input>
<name value="src"/>
<type value="organizer"/>
<mode value="source"/>
</input>
<input>
<name value="patient"/>
<type value="Patient"/>
<mode value="target"/>
</input>
<input>
<name value="enc"/>
<type value="Encounter"/>
<mode value="target"/>
</input>
<input>
<name value="tgt"/>
<type value="DiagnosticReport"/>
<mode value="target"/>
</input>
<input>
<name value="bundle"/>
<type value="Bundle"/>
<mode value="target"/>
</input>
<rule>
<name value="reference"/>
<source>
<context value="src"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="subject"/>
<variable value="reference"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<target>
<context value="reference"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="evaluate"/>
<parameter>
<valueString value="'https://example/Patient/' + %patient.id"/>
</parameter>
</target>
</rule>
<rule>
<name value="code"/>
<source>
<context value="src"/>
<element value="code"/>
<variable value="vvv"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="code"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
<documentation
value="src -> tgt.encounter=create('Reference') as reference, reference.reference = ('https://example/Encounter/' + %enc.id) "reference";"/>
</rule>
<rule>
<name value="statusCode"/>
<source>
<context value="src"/>
<element value="statusCode"/>
<condition value="code = 'completed'"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="status"/>
<transform value="copy"/>
<parameter>
<valueString value="final"/>
</parameter>
</target>
</rule>
<rule>
<name value="value1"/>
<source>
<context value="src"/>
<element value="effectiveTime"/>
<variable value="eff"/>
<condition value="(value.exists())"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="effective"/>
<variable value="value"/>
<transform value="create"/>
<parameter>
<valueString value="dateTime"/>
</parameter>
</target>
<dependent>
<name value="TSDateTime"/>
<variable value="eff"/>
<variable value="value"/>
</dependent>
</rule>
<rule>
<name value="valuePeriod"/>
<source>
<context value="src"/>
<element value="effectiveTime"/>
<variable value="eff"/>
<condition value="(low.exists())"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="effective"/>
<variable value="value"/>
<transform value="create"/>
<parameter>
<valueString value="Period"/>
</parameter>
</target>
<dependent>
<name value="IVLTSPeriod"/>
<variable value="effectiveTime"/>
<variable value="value"/>
</dependent>
</rule>
<rule>
<name value="component"/>
<source>
<context value="src"/>
<element value="component"/>
<variable value="component"/>
</source>
<rule>
<name value="hasMember"/>
<source>
<context value="component"/>
<element value="observation"/>
<variable value="observation"/>
</source>
<target>
<context value="bundle"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="ei"/>
</target>
<target>
<context value="ei"/>
<contextType value="variable"/>
<element value="request"/>
<variable value="request"/>
<transform value="create"/>
<parameter>
<valueString value="BackboneElement"/>
</parameter>
</target>
<target>
<context value="request"/>
<contextType value="variable"/>
<element value="method"/>
<transform value="copy"/>
<parameter>
<valueString value="POST"/>
</parameter>
</target>
<target>
<context value="ei"/>
<contextType value="variable"/>
<element value="resource"/>
<variable value="obsi"/>
<transform value="create"/>
<parameter>
<valueString value="Observation"/>
</parameter>
</target>
<target>
<context value="obsi"/>
<contextType value="variable"/>
<element value="id"/>
<variable value="uuidi"/>
<transform value="uuid"/>
</target>
<target>
<context value="ei"/>
<contextType value="variable"/>
<element value="fullUrl"/>
<transform value="append"/>
<parameter>
<valueString value="https://example/Observation/"/>
</parameter>
<parameter>
<valueId value="uuidi"/>
</parameter>
</target>
<target>
<context value="request"/>
<contextType value="variable"/>
<element value="url"/>
<transform value="copy"/>
<parameter>
<valueString value="Observation"/>
</parameter>
</target>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="result"/>
<variable value="reference"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<target>
<context value="reference"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="evaluate"/>
<parameter>
<valueString value="'https://example/Observation/' + %obsi.id"/>
</parameter>
</target>
<dependent>
<name value="Observation"/>
<variable value="observation"/>
<variable value="patient"/>
<variable value="enc"/>
<variable value="obsi"/>
<variable value="bundle"/>
</dependent>
</rule>
</rule>
</group>
<group>
<name value="EncounterFunction"/>
<typeMode value="none"/>
<input>
<name value="src"/>
<type value="cdaElement"/>
<mode value="source"/>
</input>
<input>
<name value="patient"/>
<type value="Patient"/>
<mode value="target"/>
</input>
<input>
<name value="encounter"/>
<type value="Encounter"/>
<mode value="target"/>
</input>
<input>
<name value="tgt"/>
<type value="Encounter"/>
<mode value="target"/>
</input>
<input>
<name value="bundle"/>
<type value="Bundle"/>
<mode value="target"/>
</input>
<rule>
<name value="id"/>
<source>
<context value="src"/>
<element value="id"/>
<variable value="vvv"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="identifier"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
</rule>
<rule>
<name value="statusCode"/>
<source>
<context value="src"/>
<element value="statusCode"/>
<variable value="vvv"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="status"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
</rule>
<rule>
<name value="status"/>
<source>
<context value="src"/>
<condition value="statusCode.exists().not()"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="status"/>
<transform value="copy"/>
<parameter>
<valueString value="unknown"/>
</parameter>
</target>
</rule>
<rule>
<name value="co"/>
<source>
<context value="src"/>
<element value="code"/>
<variable value="code"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="class"/>
<variable value="class"/>
</target>
<rule>
<name value="code"/>
<source>
<context value="code"/>
</source>
<target>
<context value="class"/>
<contextType value="variable"/>
<element value="code"/>
<transform value="evaluate"/>
<parameter>
<valueString value="code.code"/>
</parameter>
</target>
</rule>
<rule>
<name value="display"/>
<source>
<context value="code"/>
</source>
<target>
<context value="class"/>
<contextType value="variable"/>
<element value="display"/>
<transform value="evaluate"/>
<parameter>
<valueString value="code.displayName"/>
</parameter>
</target>
</rule>
<rule>
<name value="root1"/>
<source>
<context value="code"/>
<element value="codeSystem"/>
<variable value="r"/>
</source>
<target>
<context value="class"/>
<contextType value="variable"/>
<element value="system"/>
<transform value="translate"/>
<parameter>
<valueId value="r"/>
</parameter>
<parameter>
<valueString
value="http://hl7.org/fhir/ConceptMap/special-oid2uri"/>
</parameter>
<parameter>
<valueString value="uri"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="where"/>
<source>
<context value="src"/>
<condition
value="effectiveTime.low.exists() or effectiveTime.high.exists()"/>
</source>
<rule>
<name value="effectiveTime"/>
<source>
<context value="src"/>
<element value="effectiveTime"/>
<variable value="eff"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="period"/>
<variable value="period"/>
<transform value="create"/>
<parameter>
<valueString value="Period"/>
</parameter>
</target>
<dependent>
<name value="IVLTSPeriod"/>
<variable value="eff"/>
<variable value="period"/>
</dependent>
</rule>
<documentation
value="src.effectiveTime as effective -> tgt.period as period then{"/>
</rule>
<rule>
<name value="where"/>
<source>
<context value="src"/>
<condition
value="effectiveTime.low.exists().not() or effectiveTime.high.exists().not()"/>
</source>
<rule>
<name value="efft"/>
<source>
<context value="src"/>
<element value="effectiveTime"/>
<variable value="effectivetime1"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="period"/>
<variable value="period"/>
<transform value="create"/>
<parameter>
<valueString value="Period"/>
</parameter>
</target>
<rule>
<name value="val"/>
<source>
<context value="effectivetime1"/>
</source>
<target>
<context value="period"/>
<contextType value="variable"/>
<element value="start"/>
<variable value="start"/>
<transform value="create"/>
<parameter>
<valueString value="dateTime"/>
</parameter>
</target>
<dependent>
<name value="TSDateTime"/>
<variable value="effectivetime1"/>
<variable value="start"/>
</dependent>
</rule>
</rule>
<documentation value="effectiveTime = time-stamp"/>
</rule>
<rule>
<name value="text"/>
<source>
<context value="src"/>
<element value="text"/>
<variable value="tx"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="type"/>
<variable value="ty"/>
</target>
<rule>
<name value="textType"/>
<source>
<context value="tx"/>
<element value="reference"/>
<variable value="reff"/>
</source>
<target>
<context value="ty"/>
<contextType value="variable"/>
<element value="text"/>
<transform value="evaluate"/>
<parameter>
<valueString value="reff.value"/>
</parameter>
</target>
</rule>
<documentation
value="src.effectiveTime as eff where (value.exists()) -> tgt.period = create('dateTime') as value then TSDateTime(eff, value) "value1";"/>
</rule>
<rule>
<name value="01"/>
<source>
<context value="src"/>
<element value="performer"/>
<variable value="performer"/>
</source>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="participant"/>
<variable value="part"/>
</target>
<rule>
<name value="period"/>
<source>
<context value="performer"/>
</source>
<target>
<context value="part"/>
<contextType value="variable"/>
<element value="period"/>
<variable value="period"/>
</target>
<rule>
<name value="val"/>
<source>
<context value="performer"/>
<element value="time"/>
<variable value="time"/>
</source>
<target>
<context value="period"/>
<contextType value="variable"/>
<element value="start"/>
<variable value="start"/>
</target>
<dependent>
<name value="TSDateTime"/>
<variable value="time"/>
<variable value="start"/>
</dependent>
</rule>
</rule>
<rule>
<name value="performer"/>
<source>
<context value="performer"/>
<element value="assignedEntity"/>
<variable value="assentity"/>
</source>
<target>
<context value="bundle"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="e1"/>
</target>
<target>
<context value="e1"/>
<contextType value="variable"/>
<element value="request"/>
<variable value="request"/>
<transform value="create"/>
<parameter>
<valueString value="BackboneElement"/>
</parameter>
</target>
<target>
<context value="request"/>
<contextType value="variable"/>
<element value="method"/>
<transform value="copy"/>
<parameter>
<valueString value="POST"/>
</parameter>
</target>
<target>
<context value="e1"/>
<contextType value="variable"/>
<element value="resource"/>
<variable value="practitionerRole"/>
<transform value="create"/>
<parameter>
<valueString value="PractitionerRole"/>
</parameter>
</target>
<target>
<context value="practitionerRole"/>
<contextType value="variable"/>
<element value="id"/>
<variable value="uuid1"/>
<transform value="uuid"/>
</target>
<target>
<context value="e1"/>
<contextType value="variable"/>
<element value="fullUrl"/>
<transform value="append"/>
<parameter>
<valueString value="https://example/PractitionerRole/"/>
</parameter>
<parameter>
<valueId value="uuid1"/>
</parameter>
</target>
<target>
<context value="request"/>
<contextType value="variable"/>
<element value="url"/>
<transform value="copy"/>
<parameter>
<valueString value="PractitionerRole"/>
</parameter>
</target>
<target>
<context value="tgt"/>
<contextType value="variable"/>
<element value="participant"/>
<variable value="participant1"/>
<transform value="create"/>
<parameter>
<valueString value="BackboneElement"/>
</parameter>
</target>
<target>
<context value="participant1"/>
<contextType value="variable"/>
<element value="individual"/>
<variable value="referencepart"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<target>
<context value="referencepart"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="evaluate"/>
<parameter>
<valueString
value="'https://example/PractitionerRole/' + %practitionerRole.id"/>
</parameter>
</target>
<rule>
<name value="code"/>
<source>
<context value="assentity"/>
<element value="code"/>
<variable value="vvv"/>
</source>
<target>
<context value="practitionerRole"/>
<contextType value="variable"/>
<element value="code"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
</rule>
<rule>
<name value="assignedEntity"/>
<source>
<context value="assentity"/>
</source>
<target>
<context value="bundle"/>
<contextType value="variable"/>
<element value="entry"/>
<variable value="e2"/>
</target>
<target>
<context value="e2"/>
<contextType value="variable"/>
<element value="request"/>
<variable value="request"/>
<transform value="create"/>
<parameter>
<valueString value="BackboneElement"/>
</parameter>
</target>
<target>
<context value="request"/>
<contextType value="variable"/>
<element value="method"/>
<transform value="copy"/>
<parameter>
<valueString value="PUT"/>
</parameter>
</target>
<target>
<context value="e2"/>
<contextType value="variable"/>
<element value="resource"/>
<variable value="practitioner"/>
<transform value="create"/>
<parameter>
<valueString value="Practitioner"/>
</parameter>
</target>
<rule>
<name value="meta"/>
<source>
<context value="assentity"/>
</source>
<target>
<context value="practitioner"/>
<contextType value="variable"/>
<element value="meta"/>
<variable value="meta"/>
</target>
<rule>
<name value="coding"/>
<source>
<context value="assentity"/>
</source>
<target>
<context value="meta"/>
<contextType value="variable"/>
<element value="tag"/>
<variable value="coding"/>
<transform value="create"/>
<parameter>
<valueString value="Coding"/>
</parameter>
</target>
<rule>
<name value="system"/>
<source>
<context value="assentity"/>
</source>
<target>
<context value="coding"/>
<contextType value="variable"/>
<element value="system"/>
<transform value="copy"/>
<parameter>
<valueString value="http://algoritmodiscoring"/>
</parameter>
</target>
</rule>
<rule>
<name value="code"/>
<source>
<context value="assentity"/>
</source>
<target>
<context value="coding"/>
<contextType value="variable"/>
<element value="code"/>
<transform value="copy"/>
<parameter>
<valueString
value="ClinicalDocument/body/encounter/performer"/>
</parameter>
</target>
</rule>
</rule>
</rule>
<rule>
<name value="identifier"/>
<source>
<context value="assentity"/>
<element value="id"/>
<variable value="id"/>
</source>
<target>
<context value="practitioner"/>
<contextType value="variable"/>
<element value="identifier"/>
<variable value="identifier"/>
</target>
<rule>
<name value="root1"/>
<source>
<context value="id"/>
<element value="root"/>
<variable value="r"/>
</source>
<target>
<context value="identifier"/>
<contextType value="variable"/>
<element value="system"/>
<transform value="translate"/>
<parameter>
<valueId value="r"/>
</parameter>
<parameter>
<valueString
value="http://hl7.org/fhir/ConceptMap/special-oid2uri"/>
</parameter>
<parameter>
<valueString value="uri"/>
</parameter>
</target>
</rule>
<rule>
<name value="ext"/>
<source>
<context value="id"/>
<element value="extension"/>
<variable value="ext"/>
</source>
<target>
<context value="identifier"/>
<contextType value="variable"/>
<element value="value"/>
<transform value="copy"/>
<parameter>
<valueId value="ext"/>
</parameter>
</target>
<rule>
<name value="UUID"/>
<source>
<context value="assentity"/>
</source>
<target>
<context value="request"/>
<contextType value="variable"/>
<element value="url"/>
<transform value="append"/>
<parameter>
<valueString value="Practitioner?identifier="/>
</parameter>
<parameter>
<valueId value="ext"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="assigningAuthorityName"/>
<source>
<context value="id"/>
<element value="assigningAuthorityName"/>
<variable value="s"/>
</source>
<target>
<context value="identifier"/>
<contextType value="variable"/>
<element value="assigner"/>
<variable value="a"/>
</target>
<target>
<context value="a"/>
<contextType value="variable"/>
<element value="display"/>
<transform value="copy"/>
<parameter>
<valueId value="s"/>
</parameter>
</target>
</rule>
<rule>
<name value="r"/>
<source>
<context value="id"/>
<element value="root"/>
<variable value="r"/>
</source>
<rule>
<name value="performer"/>
<source>
<context value="id"/>
<element value="extension"/>
<variable value="ext"/>
</source>
<target>
<context value="practitioner"/>
<contextType value="variable"/>
<element value="id"/>
<variable value="uuid2"/>
<transform value="evaluate"/>
<parameter>
<valueString value="r + '-' + ext"/>
</parameter>
</target>
<target>
<context value="e2"/>
<contextType value="variable"/>
<element value="fullUrl"/>
<transform value="append"/>
<parameter>
<valueString value="https://example/Practitioner/"/>
</parameter>
<parameter>
<valueId value="uuid2"/>
</parameter>
</target>
<target>
<context value="practitionerRole"/>
<contextType value="variable"/>
<element value="practitioner"/>
<variable value="reference"/>
<transform value="create"/>
<parameter>
<valueString value="Reference"/>
</parameter>
</target>
<target>
<context value="reference"/>
<contextType value="variable"/>
<element value="reference"/>
<transform value="evaluate"/>
<parameter>
<valueString
value="'https://example/Practitioner/' + %practitioner.id"/>
</parameter>
</target>
</rule>
</rule>
</rule>
<rule>
<name value="2.16.840.1.113883.2.9.4.3.2"/>
<source>
<context value="assentity"/>
<element value="id"/>
<variable value="id"/>
<condition value="(root = '2.16.840.1.113883.2.9.4.3.2')"/>
</source>
<rule>
<name value="UUID"/>
<source>
<context value="id"/>
<element value="extension"/>
<variable value="ext"/>
</source>
<target>
<context value="request"/>
<contextType value="variable"/>
<element value="url"/>
<transform value="append"/>
<parameter>
<valueString value="Practitioner?identifier="/>
</parameter>
<parameter>
<valueId value="ext"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="2.16.840.1.113883.2.9.4.3.2"/>
<source>
<context value="assentity"/>
<element value="id"/>
<variable value="id"/>
<condition value="(root != '2.16.840.1.113883.2.9.4.3.2')"/>
</source>
<rule>
<name value="UUID"/>
<source>
<context value="id"/>
<element value="extension"/>
<variable value="ext"/>
</source>
<target>
<context value="request"/>
<contextType value="variable"/>
<element value="url"/>
<transform value="append"/>
<parameter>
<valueString value="Practitioner?identifier="/>
</parameter>
<parameter>
<valueId value="ext"/>
</parameter>
</target>
</rule>
</rule>
<rule>
<name value="addr"/>
<source>
<context value="assentity"/>
<element value="addr"/>
<variable value="vvv"/>
</source>
<target>
<context value="practitioner"/>
<contextType value="variable"/>
<element value="address"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
</rule>
<rule>
<name value="telecom"/>
<source>
<context value="assentity"/>
<element value="telecom"/>
<variable value="vvv"/>
</source>
<target>
<context value="practitioner"/>
<contextType value="variable"/>
<element value="telecom"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
</rule>
<rule>
<name value="name"/>
<source>
<context value="assentity"/>
<element value="assignedPerson"/>
<variable value="person"/>
</source>
<rule>
<name value="name"/>
<source>
<context value="person"/>
<element value="name"/>
<variable value="vvv"/>
</source>
<target>
<context value="practitioner"/>
<contextType value="variable"/>
<element value="name"/>
<variable value="vvv"/>
<transform value="create"/>
</target>
</rule>
<rule>
<name value="birth"/>
<source>
<context value="person"/>
<element value="birthTime"/>
<variable value="birthTime"/>
</source>
<rule>
<name value="value"/>
<source>
<context value="birthTime"/>
<element value="value"/>
<variable value="date"/>
</source>
<target>
<context value="practitioner"/>
<contextType value="variable"/>
<element value="birthDate"/>
<transform value="truncate"/>
<parameter>
<valueId value="date"/>
</parameter>
<parameter>
<valueInteger value="10"/>
</parameter>
</target>
</rule>
</rule>
</rule>
</rule>
</rule>
</rule>
</group>
</StructureMap>