FHIR IG analytics| Package | hl7.fhir.it.cda2fhir |
| Resource Type | StructureMap |
| Id | StructureMap-cda2fhirMedPrescription.json |
| FHIR Version | R4 |
| Source | https://build.fhir.org/ig/hl7-it/cda2fhir/StructureMap-cda2fhirMedPrescription.html |
| URL | http://hl7.it/fhir/cda2fhir/StructureMap/cda2fhirMedPrescription |
| Version | 0.1.0 |
| Status | draft |
| Date | 2026-05-21T10:21:02+00:00 |
| Name | cda2fhirMedPrescription |
| Realm | it |
| Authority | hl7 |
No resources found
No resources found
Note: links and images are rebased to the (stated) source
map "http://hl7.it/fhir/cda2fhir/StructureMap/cda2fhirMedPrescription" = "cda2fhirMedPrescription"
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/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 e5, e5.request = create('BackboneElement') as request, request.method = 'POST', e5.resource = create('DocumentReference') as DocumentReference, DocumentReference.id = uuid() as uuid5, e5.fullUrl = append('https://example/DocumentReference/', uuid5), 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 ext -> identifier.value = ext;
id.assigningAuthorityName as s -> identifier.assigner as a, a.display = s;
} "record";
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 -> bundle.id = uuid() "id";
cda.id -> bundle.identifier "identifier";
cda -> bundle.type = 'transaction' "type";
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 -> bundle.entry as e1, e1.request = create('BackboneElement') as request, request.method = 'POST', e1.resource = create('Coverage') as coverage, coverage.id = uuid() as uuid1, e1.fullUrl = append('https://example/Coverage/', uuid1), request.url = 'Coverage' then {
body -> bundle.entry as e2, e2.request = create('BackboneElement') as request, request.method = 'POST', e2.resource = create('MedicationRequest') as medRq, medRq.id = uuid() as uuid1, e2.fullUrl = append('https://example/MedicationRequest/', uuid1), request.url = 'MedicationRequest' then {
body.component as component then {
// discretizzi il primo livello di component
component.section as srcSection then {
srcSection.code where (code = '57827-8') -> composition.section as tgtSection then ClinicalDocumentSectionEsenzioni(cda, srcSection, patient, tgtSection, bundle, encounter, coverage) "esenz";
srcSection.code where (code = '57828-6') -> composition.section as tgtSection then ClinicalDocumentSectionPrescrizioneFarmaceutica(cda, srcSection, patient, tgtSection, bundle, encounter, coverage, medRq) "prescfarm";
srcSection.code where (code = '48767-8') -> composition.section as tgtSection then ClinicalDocumentSectionAnnotazioni(cda, srcSection, patient, tgtSection, bundle, encounter, medRq) "annot";
srcSection.code where (code = '51851-4') -> composition.section as tgtSection then ClinicalDocumentSectionMessaggioRegionale(cda, srcSection, patient, tgtSection, bundle, encounter, medRq) "messregg";
srcSection.code where (code = '8716-3') -> composition.section as tgtSection then ClinicalDocumentSectionParametriVitali(cda, srcSection, patient, tgtSection, bundle, encounter) "paramvit";
srcSection.code where (code = '48765-2') -> composition.section as tgtSection then ClinicalDocumentSectionAllergieaiFarmaci(cda, srcSection, patient, tgtSection, bundle, encounter) "allergfarm";
srcSection.code where (code = '47420-5') -> composition.section as tgtSection then ClinicalDocumentSectionStatoClinicoPaziente(cda, srcSection, patient, tgtSection, bundle, encounter) "statclinpaz";
} "cov";
};
} "medreq";
} "coverage";
} "body";
};
}
group ClinicalDocumentSectionEsenzioni(source cda : ClinicalDocument, source src : Section, target patient : Patient, target tgt, target bundle : Bundle, target enc : Encounter, target coverage : Coverage) {
src.title as t -> tgt.title = (t.dataString);
src.code -> tgt.code;
src.text as cdaText -> tgt.entry = create('Reference') as reference, reference.reference = ('https://example/Coverage/' + %coverage.id), tgt.text as fhirText then {
cdaText -> fhirText.status = 'generated' "narrativeStatus";
cdaText as t -> fhirText.div = t "narrativeText";
src.entry as srcse then {
srcse.act as srcsec then {
srcsec.code -> coverage.type;
srcsec.code as srctxt then {
srctxt -> coverage.type as typetxt then {
srctxt.originalText as ref then {
ref.reference as t then {
t.value as l -> typetxt.text = l "reference";
} "tcf";
} "rfde";
} "reftxt";
} "origtxt";
srcsec where coverage.status.exists().not() then {
srcsec -> coverage.status = 'active' "status";
} "statuscode";
srcsec -> coverage.beneficiary = create('Reference') as reference, reference.reference = ('https://example/Patient/' + %patient.id) "reference";
srcsec -> coverage.payor = create('Reference') as reference, reference.reference = ('https://example/Patient/' + %patient.id) "reference";
} "cdaText";
} "secact";
} "cff";
}
group ClinicalDocumentSectionPrescrizioneFarmaceutica(source cda : ClinicalDocument, source src : Section, target patient : Patient, target tgt, target bundle : Bundle, target enc : Encounter, target coverage : Coverage, target medRq : MedicationRequest) {
src.title as t -> tgt.title = (t.dataString);
src.code -> tgt.code;
src.text as cdaText -> tgt.entry = create('Reference') as reference, reference.reference = ('https://example/MedicationRequest/' + %medRq.id), tgt.text as fhirText then {
src.id -> medRq.identifier;
cdaText -> fhirText.status = 'generated' "narrativeStatus";
cdaText as t -> fhirText.div = t "narrativeText";
cdaText -> medRq.subject = create('Reference') as reference, reference.reference = ('https://example/Patient/' + %patient.id) "reference";
cdaText -> medRq.encounter = create('Reference') as reference, reference.reference = ('https://example/Encounter/' + %enc.id) "reference";
cdaText -> medRq.status = 'active' "status";
cdaText -> medRq.intent = 'order' "intent";
src.entry as srcent then {
srcent.substanceAdministration as subAdm then {
subAdm.effectiveTime : IVL_TS as eff -> medRq.dosageInstruction = create('Dosage') as dosage then {
subAdm -> dosage.timing = create('Timing') as tim then {
subAdm -> tim.repeat as repeat then {
eff -> repeat.bounds = create('Period') as period then IVLTSPeriod(eff, period) "boundsperiod";
eff.width as width then {
width.value as v -> repeat.duration = v;
width.unit as u -> repeat.durationUnit = u;
};
} "repeat";
} "timing";
} "dosage";
subAdm.effectiveTime as eff -> medRq.dosageInstruction = create('Dosage') as dosage then {
subAdm -> dosage.timing = create('Timing') as tim then {
eff where eff.low.exists().not() and eff.high.exists().not() then {
eff.value as v -> tim.event = create('dateTime') as event then TSDateTime(v, event) "evnt";
} "effct1";
} "timing1";
} "dosage1";
subAdm.effectiveTime : PIVL_TS as effp -> medRq.dosageInstruction = create('Dosage') as dosage then {
effp -> dosage.timing = create('Timing') as timing then {
effp -> timing then periodTiming(effp, timing) "cod";
effp where effp.phase.exists() then {
effp.phase as phase -> timing.repeat as r then {
phase.low -> r.bounds = create('Period') as period then {
phase.low -> period.start "lo";
};
phase.width as wid then {
wid.value as v -> r.duration = v "vals";
wid.unit as u -> r.durationUnit = u;
} "dur";
} "rep";
} "phase";
} "timing";
} "eff";
subAdm.effectiveTime : EIVL_TS as effe -> medRq.dosageInstruction = create('Dosage') as dosage then {
effe -> dosage.timing = create('Timing') as timing then {
effe -> timing.repeat as r then {
effe.event -> r.when;
effe.offset as offset then {
offset.low as v then {
v.value as o -> r.offset = o "barabar";
} "offs";
} "poi";
} "lkj";
} "ghj";
} "eff";
subAdm.doseQuantity as doseQuant -> medRq.dosageInstruction = create('Dosage') as dosage 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";
} "doseQuant";
subAdm -> 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', medRq.medication = create('Reference') as reference, reference.reference = ('https://example/Medication/' + %medication.id) then {
subAdm.consumable as cons then {
cons.manufacturedProduct as manuprod then {
manuprod.manufacturedLabeledDrug as manudrug then {
manudrug.code -> medication.code;
manudrug -> medication.identifier as medid then {
manudrug.name -> medid.value;
} "idmedname";
manudrug.code as srctxt then {
srctxt -> medication.code as typetxt then {
srctxt.originalText as ref then {
ref.reference as reference then {
reference.value as l -> typetxt.text = l "reference";
} "tcf";
} "tcfg";
} "reftxtd";
} "origtxtd";
} "manudrug";
manuprod.manufacturedMaterial as manufact then {
manufact.code -> medication.code;
manufact.code as srctxt then {
srctxt -> medication.code as typetxt then {
srctxt.originalText as ref then {
ref.reference as reference then {
reference.value as l -> typetxt.text = l "reference";
} "tcf";
} "tcfg";
} "reftxt";
} "origtxt";
manufact.ingredient as ingredient -> medication.ingredient as ing then {
ingredient.quantity as quantity -> ing.strength = create('Ratio') as strength then EmedRTOPQPQRatio(quantity, strength) "strength";
manufact -> ing.item = create('CodeableConcept') as ingcode, ingcode.text = (%manufact.name.other) "ingredientCode";
} "ingr";
manufact.formCode -> medication.form;
manufact -> medication.identifier as medid "transl";
} "manuFact";
} "manumat";
} "cons";
subAdm.entryRelationship as entryrel1 then {
entryrel1.supply as sup -> medRq.dispenseRequest as dispreq then {
sup -> dispreq.quantity = create('SimpleQuantity') as quantity then {
sup.quantity as q -> quantity.value = (q.value);
} "quantity";
};
} "entry1";
subAdm.entryRelationship as entryrel2 where (typeCode = 'REFR') then {
subAdm -> medRq.insurance = create('Reference') as reference, reference.reference = ('https://example/Coverage/' + %coverage.id) then {
entryrel2.act as act2 -> coverage.costToBeneficiary as cost then {
act2 -> cost.value = create('SimpleQuantity') as val then {
act2 -> val.value = '0' "bnm";
} "beneficmoney";
act2 -> cost.exception as except then {
act2.code -> except.type;
} "exept";
} "act2";
} "Cover";
} "entry2";
subAdm.entryRelationship as entryrel3 where (typeCode = 'RSON') then {
entryrel3.observation as obs3 where (classCode = 'OBS') then {
obs3.code -> medRq.reasonCode;
obs3.text as text then {
text -> medRq.reasonCode as ce then {
// text.reference as reference-> ce.text=reference;
text.reference as reference then {
reference.value as l -> ce.text = l "reference";
} "tcf";
} "originltext";
} "txt";
} "obs3";
} "entry2";
subAdm.entryRelationship as entryrel4 where (typeCode = 'SUBJ') then {
entryrel4.observation as obs3 -> medRq.substitution as sub then {
obs3.code as Code -> sub.allowed = create('CodeableConcept') as allowed then CECodeableConcept(Code, allowed);
obs3.entryRelationship as entry then {
entry.observation as obs4 then {
obs4.code -> sub.reason;
} "obs4";
} "entry";
} "obs";
} "code";
subAdm.entryRelationship as entryrel2 where (typeCode = 'SUBJ') then {
entryrel2.act as act2 where (classCode = 'ACT') then {
act2.text as text -> medRq.note as note then {
text.reference as t then {
t.value as l -> note.text = l "reference";
} "tcx";
} "reference";
} "obs3";
} "entry2";
} "subsadm";
} "subadm";
} "hnjh";
} "xxx";
}
// ------------Sezione Annotazioni-----------------------------------------------------------------------------------------------------------------------------------------
group ClinicalDocumentSectionAnnotazioni(source cda : ClinicalDocument, source src : Section, target patient : Patient, target tgt, target bundle : Bundle, target enc : Encounter, target medRq : MedicationRequest) {
src.title as t -> tgt.title = (t.dataString);
src.code -> tgt.code;
src.text as cdaText -> tgt.entry = create('Reference') as reference, reference.reference = ('https://example/MedicationRequest/' + %medRq.id), tgt.text as fhirText then {
cdaText -> fhirText.status = 'generated' "narrativeStatus";
cdaText as t -> fhirText.div = t "narrativeText";
src.entry as entry then {
entry.act as act then {
act.text as text -> medRq.note as note then {
text.reference as t then {
t.value as l -> note.text = l "reference";
} "tcx";
} "reference";
};
};
} "entry";
}
// ------------Sezione Messaggio Regionale-----------------------------------------------------------------------------------------------------------------------------------------
group ClinicalDocumentSectionMessaggioRegionale(source cda : ClinicalDocument, source src : Section, target patient : Patient, target tgt, target bundle : Bundle, target enc : Encounter, target medRq : MedicationRequest) {
src.title as t -> tgt.title = (t.dataString);
src.code -> tgt.code;
src.text as cdaText -> tgt.entry = create('Reference') as reference, reference.reference = ('https://example/MedicationRequest/' + %medRq.id) then {
cdaText as text -> medRq.note as note then {
text as t -> note.text = t "reference";
} "nota";
} "entry";
}
// ------------Sezione Parametri Vitali-----------------------------------------------------------------------------------------------------------------------------------------
group ClinicalDocumentSectionParametriVitali(source cda : ClinicalDocument, source src : Section, target patient : Patient, target tgt, target bundle : Bundle, target enc : Encounter) {
src.title as t -> tgt.title = (t.dataString);
src.code -> tgt.code;
src.text as cdaText -> bundle.entry as e8, e8.request = create('BackboneElement') as request, request.method = 'POST', e8.resource = create('Observation') as Observation, Observation.id = uuid() as uuid8, e8.fullUrl = append('https://example/Observation/', uuid8), request.url = 'Observation', tgt.entry = create('Reference') as reference, reference.reference = ('https://example/Observation/' + %Observation.id) then {
src -> Observation.subject = create('Reference') as reference, reference.reference = ('https://example/Patient/' + %patient.id) "reference";
src -> Observation.encounter = create('Reference') as reference, reference.reference = ('https://example/Encounter/' + %enc.id) "reference";
src.code -> Observation.code;
src where Observation.statusCode.exists().not() then {
src -> Observation.status = 'final' "status";
} "statuscode";
cdaText -> Observation.note as note then {
cdaText as t -> note.text = t "reference";
} "reference";
} "nota";
}
// ------------Sezione Allergie_Intolleranze-----------------------------------------------------------------------------------------------------------------------------------------
group ClinicalDocumentSectionAllergieaiFarmaci(source cda : ClinicalDocument, source src : Section, target patient : Patient, target tgt, target bundle : Bundle, target enc : Encounter) {
src.title as t -> tgt.title = (t.dataString);
src.code -> tgt.code;
src -> bundle.entry as e9, e9.request = create('BackboneElement') as request, request.method = 'POST', e9.resource = create('AllergyIntolerance') as allergyIntolerance, allergyIntolerance.id = uuid() as uuid9, e9.fullUrl = append('https://example/AllergyIntolerance/', uuid9), request.url = 'AllergyIntolerance', tgt.entry = create('Reference') as reference, reference.reference = ('https://example/AllergyIntolerance/' + %allergyIntolerance.id) then {
src -> allergyIntolerance.patient = create('Reference') as reference, reference.reference = ('https://example/Patient/' + %patient.id) "reference";
src -> allergyIntolerance.clinicalStatus = create('CodeableConcept') as status then {
src -> status.text = 'string' "text";
src -> status.coding = create('Coding') as coding then {
src -> coding.code = 'active' "active";
src -> coding.system = 'http://terminology.hl7.org/CodeSystem/allergyintolerance-clinical' "system";
} "coding";
} "allergy";
src.text as cdaText -> allergyIntolerance.note as note then {
cdaText as t -> note.text = t "reference";
} "reference";
} "nota";
}
// ------------Sezione Stato Clinico del Paziente----------------------------------------------------------------------------------------------------------------------------------------
group ClinicalDocumentSectionStatoClinicoPaziente(source cda : ClinicalDocument, source src : Section, target patient : Patient, target tgt, target bundle : Bundle, target enc : Encounter) {
src.title as t -> tgt.title = (t.dataString);
src.code -> tgt.code;
src.text as cdaText -> bundle.entry as e7, e7.request = create('BackboneElement') as request, request.method = 'POST', e7.resource = create('Observation') as Observation, Observation.id = uuid() as uuid7, e7.fullUrl = append('https://example/Observation/', uuid7), request.url = 'Observation', tgt.entry = create('Reference') as reference, reference.reference = ('https://example/Observation/' + %Observation.id) then {
src -> Observation.subject = create('Reference') as reference, reference.reference = ('https://example/Patient/' + %patient.id) "reference";
src -> Observation.encounter = create('Reference') as reference, reference.reference = ('https://example/Encounter/' + %enc.id) "reference";
src.code -> Observation.code;
src where Observation.statusCode.exists().not() then {
src -> Observation.status = 'final' "status";
} "statuscode";
cdaText -> Observation.note as note then {
cdaText as t -> note.text = t "reference";
} "reference";
} "nota";
}
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 EmedRTOPQPQRatio(source src : RTO_PQ_PQ, target tgt : Ratio) {
src.numerator as numerator -> tgt.numerator as targetNumerator then EmedPQQuantity(numerator, targetNumerator);
src.denominator as denominator -> tgt.denominator as targetDenominator then EmedPQQuantity(denominator, targetDenominator);
}
group EmedPQQuantity(source src : PQ, target tgt : Quantity) {
src.value as value -> tgt.value = value;
src.unit as unit -> tgt.code = unit;
src.unit as unit -> tgt.system = ('http://fhir.ch/ig/ch-emed/ValueSet/UnitCode'.resolve().compose.include.where(concept.where(code = %unit)).system);
src.unit as unit -> tgt.unit = ('http://fhir.ch/ig/ch-emed/ValueSet/UnitCode'.resolve().compose.include.concept.where(code = %unit).display);
}
{
"resourceType": "StructureMap",
"id": "cda2fhirMedPrescription",
"text": {
"status": "generated",
"div": "<!-- snip (see above) -->"
},
"url": "http://hl7.it/fhir/cda2fhir/StructureMap/cda2fhirMedPrescription",
"version": "0.1.0",
"name": "cda2fhirMedPrescription",
"status": "draft",
"date": "2026-05-21T10:21:02+00:00",
"publisher": "HL7 Italy",
"contact": [
{
"name": "HL7 Italy",
"telecom": [
{
"system": "url",
"value": "http://hl7.it"
}
]
}
],
"jurisdiction": [
{
"coding": [
{
"system": "urn:iso:std:iso:3166",
"code": "IT",
"display": "Italy"
}
]
}
],
"structure": [
{
"url": "http://hl7.org/fhir/cda/StructureDefinition/ClinicalDocument",
"mode": "source",
"alias": "ClinicalDocument"
},
{
"url": "http://hl7.org/fhir/cda/StructureDefinition/AssignedAuthor",
"mode": "queried",
"alias": "AssignedAuthor"
},
{
"url": "http://hl7.org/fhir/cda/StructureDefinition/AssignedEntity",
"mode": "queried",
"alias": "AssignedEntity"
},
{
"url": "http://hl7.org/fhir/cda/StructureDefinition/AssociatedEntity",
"mode": "queried",
"alias": "AssociatedEntity"
},
{
"url": "http://hl7.org/fhir/cda/StructureDefinition/CustodianOrganization",
"mode": "queried",
"alias": "CustodianOrganization"
},
{
"url": "http://hl7.org/fhir/cda/StructureDefinition/OrganizationPartOf",
"mode": "queried",
"alias": "OrganizationPartOf"
},
{
"url": "http://hl7.org/fhir/cda/StructureDefinition/Organization",
"mode": "queried",
"alias": "rapresentedOrganization"
},
{
"url": "http://hl7.org/fhir/cda/StructureDefinition/Section",
"mode": "queried",
"alias": "Section"
},
{
"url": "http://hl7.org/fhir/cda/StructureDefinition/PatientRole",
"mode": "queried",
"alias": "PatientRole"
},
{
"url": "http://hl7.org/fhir/cda/StructureDefinition/AD",
"mode": "source",
"alias": "AD"
},
{
"url": "http://hl7.org/fhir/StructureDefinition/Bundle",
"mode": "target",
"alias": "Bundle"
},
{
"url": "http://hl7.org/fhir/StructureDefinition/Composition",
"mode": "produced",
"alias": "Composition"
},
{
"url": "http://hl7.org/fhir/StructureDefinition/Patient",
"mode": "produced",
"alias": "Patient"
},
{
"url": "http://hl7.org/fhir/StructureDefinition/Encounter",
"mode": "produced",
"alias": "Encounter"
},
{
"url": "http://hl7.org/fhir/StructureDefinition/Person",
"mode": "produced",
"alias": "Patient"
},
{
"url": "http://hl7.org/fhir/StructureDefinition/Practitioner",
"mode": "produced",
"alias": "Practitioner"
},
{
"url": "http://hl7.org/fhir/StructureDefinition/Organization",
"mode": "produced",
"alias": "Organization"
},
{
"url": "http://hl7.org/fhir/cda/StructureDefinition/Act",
"mode": "produced",
"alias": "Act"
},
{
"url": "http://hl7.org/fhir/cda/StructureDefinition/IVL-PQ",
"mode": "source",
"alias": "IVL_PQ"
},
{
"url": "http://hl7.org/fhir/cda/StructureDefinition/PQ",
"mode": "source",
"alias": "PQ"
},
{
"url": "http://hl7.org/fhir/StructureDefinition/SimpleQuantity",
"mode": "target",
"alias": "SimpleQuantity"
}
],
"import": [
"http://hl7.it/fhir/cda2fhir/StructureMap/cda2fhirDataTypes",
"http://hl7.it/fhir/cda2fhir/StructureMap/cda2fhirHeader"
],
"group": [
{
"name": "CdaToBundle",
"typeMode": "none",
"input": [
{
"name": "cda",
"type": "ClinicalDocument",
"mode": "source"
},
{
"name": "bundle",
"type": "Bundle",
"mode": "target"
}
],
"rule": [
{
"name": "ClinicalDocumentToBody",
"source": [
{
"context": "cda"
}
],
"target": [
{
"context": "bundle",
"contextType": "variable",
"element": "entry",
"variable": "e"
},
{
"context": "e",
"contextType": "variable",
"element": "request",
"variable": "request",
"transform": "create",
"parameter": [
{
"valueString": "BackboneElement"
}
]
},
{
"context": "request",
"contextType": "variable",
"element": "method",
"transform": "copy",
"parameter": [
{
"valueString": "POST"
}
]
},
{
"context": "e",
"contextType": "variable",
"element": "resource",
"variable": "composition",
"transform": "create",
"parameter": [
{
"valueString": "Composition"
}
]
},
{
"context": "composition",
"contextType": "variable",
"element": "id",
"variable": "uuid1",
"transform": "uuid"
},
{
"context": "e",
"contextType": "variable",
"element": "fullUrl",
"transform": "append",
"parameter": [
{
"valueString": "https://example/Composition/"
},
{
"valueId": "uuid1"
}
]
},
{
"context": "request",
"contextType": "variable",
"element": "url",
"transform": "copy",
"parameter": [
{
"valueString": "Composition"
}
]
},
{
"context": "bundle",
"contextType": "variable",
"element": "entry",
"variable": "e2"
},
{
"context": "e2",
"contextType": "variable",
"element": "request",
"variable": "requestPAT",
"transform": "create",
"parameter": [
{
"valueString": "BackboneElement"
}
]
},
{
"context": "requestPAT",
"contextType": "variable",
"element": "method",
"transform": "copy",
"parameter": [
{
"valueString": "PUT"
}
]
},
{
"context": "e2",
"contextType": "variable",
"element": "resource",
"variable": "patient",
"transform": "create",
"parameter": [
{
"valueString": "Patient"
}
]
},
{
"context": "patient",
"contextType": "variable",
"element": "id",
"variable": "uuid2",
"transform": "uuid"
},
{
"context": "e2",
"contextType": "variable",
"element": "fullUrl",
"transform": "append",
"parameter": [
{
"valueString": "https://example/Patient/"
},
{
"valueId": "uuid2"
}
]
},
{
"context": "bundle",
"contextType": "variable",
"element": "entry",
"variable": "e3"
},
{
"context": "e3",
"contextType": "variable",
"element": "request",
"variable": "request",
"transform": "create",
"parameter": [
{
"valueString": "BackboneElement"
}
]
},
{
"context": "request",
"contextType": "variable",
"element": "method",
"transform": "copy",
"parameter": [
{
"valueString": "POST"
}
]
},
{
"context": "e3",
"contextType": "variable",
"element": "resource",
"variable": "encounter",
"transform": "create",
"parameter": [
{
"valueString": "Encounter"
}
]
},
{
"context": "encounter",
"contextType": "variable",
"element": "id",
"variable": "uuid3",
"transform": "uuid"
},
{
"context": "e3",
"contextType": "variable",
"element": "fullUrl",
"transform": "append",
"parameter": [
{
"valueString": "https://example/Encounter/"
},
{
"valueId": "uuid3"
}
]
},
{
"context": "request",
"contextType": "variable",
"element": "url",
"transform": "copy",
"parameter": [
{
"valueString": "Encounter"
}
]
},
{
"context": "bundle",
"contextType": "variable",
"element": "entry",
"variable": "e5"
},
{
"context": "e5",
"contextType": "variable",
"element": "request",
"variable": "request",
"transform": "create",
"parameter": [
{
"valueString": "BackboneElement"
}
]
},
{
"context": "request",
"contextType": "variable",
"element": "method",
"transform": "copy",
"parameter": [
{
"valueString": "POST"
}
]
},
{
"context": "e5",
"contextType": "variable",
"element": "resource",
"variable": "DocumentReference",
"transform": "create",
"parameter": [
{
"valueString": "DocumentReference"
}
]
},
{
"context": "DocumentReference",
"contextType": "variable",
"element": "id",
"variable": "uuid5",
"transform": "uuid"
},
{
"context": "e5",
"contextType": "variable",
"element": "fullUrl",
"transform": "append",
"parameter": [
{
"valueString": "https://example/DocumentReference/"
},
{
"valueId": "uuid5"
}
]
},
{
"context": "request",
"contextType": "variable",
"element": "url",
"transform": "copy",
"parameter": [
{
"valueString": "DocumentReference"
}
]
}
],
"rule": [
{
"name": "cdatobundle",
"source": [
{
"context": "cda"
}
],
"dependent": [
{
"name": "ClinicalDocumentToBundle",
"variable": [
"cda",
"patient",
"composition",
"encounter",
"bundle",
"DocumentReference"
]
}
]
},
{
"name": "patient",
"source": [
{
"context": "cda",
"element": "recordTarget",
"variable": "recordTarget"
}
],
"rule": [
{
"name": "recPat",
"source": [
{
"context": "recordTarget",
"element": "patientRole",
"variable": "patient"
}
],
"rule": [
{
"name": "record",
"source": [
{
"context": "patient",
"element": "id",
"variable": "id"
}
],
"target": [
{
"context": "patient",
"contextType": "variable",
"element": "identifier",
"variable": "identifier"
}
],
"rule": [
{
"name": "root1",
"source": [
{
"context": "id",
"element": "root",
"variable": "r"
}
],
"target": [
{
"context": "identifier",
"contextType": "variable",
"element": "system",
"transform": "translate",
"parameter": [
{
"valueId": "r"
},
{
"valueString": "http://hl7.org/fhir/ConceptMap/special-oid2uri"
},
{
"valueString": "uri"
}
]
}
]
},
{
"name": "extension",
"source": [
{
"context": "id",
"element": "extension",
"variable": "ext"
}
],
"target": [
{
"context": "identifier",
"contextType": "variable",
"element": "value",
"transform": "copy",
"parameter": [
{
"valueId": "ext"
}
]
}
]
},
{
"name": "assigningAuthorityName",
"source": [
{
"context": "id",
"element": "assigningAuthorityName",
"variable": "s"
}
],
"target": [
{
"context": "identifier",
"contextType": "variable",
"element": "assigner",
"variable": "a"
},
{
"context": "a",
"contextType": "variable",
"element": "display",
"transform": "copy",
"parameter": [
{
"valueId": "s"
}
]
}
]
}
]
},
{
"name": "ext",
"source": [
{
"context": "patient",
"element": "id",
"variable": "id",
"condition": "(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')"
}
],
"rule": [
{
"name": "UUID",
"source": [
{
"context": "id",
"element": "extension",
"variable": "ext"
}
],
"target": [
{
"context": "requestPAT",
"contextType": "variable",
"element": "url",
"transform": "append",
"parameter": [
{
"valueString": "Patient?identifier="
},
{
"valueId": "ext"
}
]
}
]
}
]
}
]
}
]
}
]
}
]
},
{
"name": "ClinicalDocumentToBundle",
"typeMode": "none",
"input": [
{
"name": "cda",
"type": "ClinicalDocument",
"mode": "source"
},
{
"name": "patient",
"type": "Patient",
"mode": "target"
},
{
"name": "composition",
"type": "Composition",
"mode": "target"
},
{
"name": "encounter",
"type": "Encounter",
"mode": "target"
},
{
"name": "bundle",
"type": "Bundle",
"mode": "target"
},
{
"name": "DocumentReference",
"type": "DocumentReference",
"mode": "target"
}
],
"rule": [
{
"name": "id",
"source": [
{
"context": "cda"
}
],
"target": [
{
"context": "bundle",
"contextType": "variable",
"element": "id",
"transform": "uuid"
}
]
},
{
"name": "identifier",
"source": [
{
"context": "cda",
"element": "id",
"variable": "vvv"
}
],
"target": [
{
"context": "bundle",
"contextType": "variable",
"element": "identifier",
"variable": "vvv",
"transform": "create"
}
]
},
{
"name": "type",
"source": [
{
"context": "cda"
}
],
"target": [
{
"context": "bundle",
"contextType": "variable",
"element": "type",
"transform": "copy",
"parameter": [
{
"valueString": "transaction"
}
]
}
]
},
{
"name": "date",
"source": [
{
"context": "cda"
}
],
"target": [
{
"context": "bundle",
"contextType": "variable",
"element": "timestamp",
"transform": "evaluate",
"parameter": [
{
"valueString": "timestamp.now()"
}
]
}
]
},
{
"name": "composition",
"source": [
{
"context": "cda"
}
],
"dependent": [
{
"name": "ClinicalDocumentComposition",
"variable": [
"cda",
"composition",
"patient",
"encounter",
"bundle",
"DocumentReference"
]
}
]
},
{
"name": "component",
"source": [
{
"context": "cda",
"element": "component",
"variable": "component"
}
],
"rule": [
{
"name": "body",
"source": [
{
"context": "component",
"element": "structuredBody",
"variable": "body"
}
],
"rule": [
{
"name": "coverage",
"source": [
{
"context": "body"
}
],
"target": [
{
"context": "bundle",
"contextType": "variable",
"element": "entry",
"variable": "e1"
},
{
"context": "e1",
"contextType": "variable",
"element": "request",
"variable": "request",
"transform": "create",
"parameter": [
{
"valueString": "BackboneElement"
}
]
},
{
"context": "request",
"contextType": "variable",
"element": "method",
"transform": "copy",
"parameter": [
{
"valueString": "POST"
}
]
},
{
"context": "e1",
"contextType": "variable",
"element": "resource",
"variable": "coverage",
"transform": "create",
"parameter": [
{
"valueString": "Coverage"
}
]
},
{
"context": "coverage",
"contextType": "variable",
"element": "id",
"variable": "uuid1",
"transform": "uuid"
},
{
"context": "e1",
"contextType": "variable",
"element": "fullUrl",
"transform": "append",
"parameter": [
{
"valueString": "https://example/Coverage/"
},
{
"valueId": "uuid1"
}
]
},
{
"context": "request",
"contextType": "variable",
"element": "url",
"transform": "copy",
"parameter": [
{
"valueString": "Coverage"
}
]
}
],
"rule": [
{
"name": "medreq",
"source": [
{
"context": "body"
}
],
"target": [
{
"context": "bundle",
"contextType": "variable",
"element": "entry",
"variable": "e2"
},
{
"context": "e2",
"contextType": "variable",
"element": "request",
"variable": "request",
"transform": "create",
"parameter": [
{
"valueString": "BackboneElement"
}
]
},
{
"context": "request",
"contextType": "variable",
"element": "method",
"transform": "copy",
"parameter": [
{
"valueString": "POST"
}
]
},
{
"context": "e2",
"contextType": "variable",
"element": "resource",
"variable": "medRq",
"transform": "create",
"parameter": [
{
"valueString": "MedicationRequest"
}
]
},
{
"context": "medRq",
"contextType": "variable",
"element": "id",
"variable": "uuid1",
"transform": "uuid"
},
{
"context": "e2",
"contextType": "variable",
"element": "fullUrl",
"transform": "append",
"parameter": [
{
"valueString": "https://example/MedicationRequest/"
},
{
"valueId": "uuid1"
}
]
},
{
"context": "request",
"contextType": "variable",
"element": "url",
"transform": "copy",
"parameter": [
{
"valueString": "MedicationRequest"
}
]
}
],
"rule": [
{
"name": "component",
"source": [
{
"context": "body",
"element": "component",
"variable": "component"
}
],
"rule": [
{
"name": "cov",
"source": [
{
"context": "component",
"element": "section",
"variable": "srcSection"
}
],
"rule": [
{
"name": "esenz",
"source": [
{
"context": "srcSection",
"element": "code",
"condition": "(code = '57827-8')"
}
],
"target": [
{
"context": "composition",
"contextType": "variable",
"element": "section",
"variable": "tgtSection"
}
],
"dependent": [
{
"name": "ClinicalDocumentSectionEsenzioni",
"variable": [
"cda",
"srcSection",
"patient",
"tgtSection",
"bundle",
"encounter",
"coverage"
]
}
]
},
{
"name": "prescfarm",
"source": [
{
"context": "srcSection",
"element": "code",
"condition": "(code = '57828-6')"
}
],
"target": [
{
"context": "composition",
"contextType": "variable",
"element": "section",
"variable": "tgtSection"
}
],
"dependent": [
{
"name": "ClinicalDocumentSectionPrescrizioneFarmaceutica",
"variable": [
"cda",
"srcSection",
"patient",
"tgtSection",
"bundle",
"encounter",
"coverage",
"medRq"
]
}
]
},
{
"name": "annot",
"source": [
{
"context": "srcSection",
"element": "code",
"condition": "(code = '48767-8')"
}
],
"target": [
{
"context": "composition",
"contextType": "variable",
"element": "section",
"variable": "tgtSection"
}
],
"dependent": [
{
"name": "ClinicalDocumentSectionAnnotazioni",
"variable": [
"cda",
"srcSection",
"patient",
"tgtSection",
"bundle",
"encounter",
"medRq"
]
}
]
},
{
"name": "messregg",
"source": [
{
"context": "srcSection",
"element": "code",
"condition": "(code = '51851-4')"
}
],
"target": [
{
"context": "composition",
"contextType": "variable",
"element": "section",
"variable": "tgtSection"
}
],
"dependent": [
{
"name": "ClinicalDocumentSectionMessaggioRegionale",
"variable": [
"cda",
"srcSection",
"patient",
"tgtSection",
"bundle",
"encounter",
"medRq"
]
}
]
},
{
"name": "paramvit",
"source": [
{
"context": "srcSection",
"element": "code",
"condition": "(code = '8716-3')"
}
],
"target": [
{
"context": "composition",
"contextType": "variable",
"element": "section",
"variable": "tgtSection"
}
],
"dependent": [
{
"name": "ClinicalDocumentSectionParametriVitali",
"variable": [
"cda",
"srcSection",
"patient",
"tgtSection",
"bundle",
"encounter"
]
}
]
},
{
"name": "allergfarm",
"source": [
{
"context": "srcSection",
"element": "code",
"condition": "(code = '48765-2')"
}
],
"target": [
{
"context": "composition",
"contextType": "variable",
"element": "section",
"variable": "tgtSection"
}
],
"dependent": [
{
"name": "ClinicalDocumentSectionAllergieaiFarmaci",
"variable": [
"cda",
"srcSection",
"patient",
"tgtSection",
"bundle",
"encounter"
]
}
]
},
{
"name": "statclinpaz",
"source": [
{
"context": "srcSection",
"element": "code",
"condition": "(code = '47420-5')"
}
],
"target": [
{
"context": "composition",
"contextType": "variable",
"element": "section",
"variable": "tgtSection"
}
],
"dependent": [
{
"name": "ClinicalDocumentSectionStatoClinicoPaziente",
"variable": [
"cda",
"srcSection",
"patient",
"tgtSection",
"bundle",
"encounter"
]
}
]
}
],
"documentation": "discretizzi il primo livello di component"
}
]
}
]
}
]
}
]
}
]
}
]
},
{
"name": "ClinicalDocumentSectionEsenzioni",
"typeMode": "none",
"input": [
{
"name": "cda",
"type": "ClinicalDocument",
"mode": "source"
},
{
"name": "src",
"type": "Section",
"mode": "source"
},
{
"name": "patient",
"type": "Patient",
"mode": "target"
},
{
"name": "tgt",
"mode": "target"
},
{
"name": "bundle",
"type": "Bundle",
"mode": "target"
},
{
"name": "enc",
"type": "Encounter",
"mode": "target"
},
{
"name": "coverage",
"type": "Coverage",
"mode": "target"
}
],
"rule": [
{
"name": "title",
"source": [
{
"context": "src",
"element": "title",
"variable": "t"
}
],
"target": [
{
"context": "tgt",
"contextType": "variable",
"element": "title",
"transform": "evaluate",
"parameter": [
{
"valueString": "t.dataString"
}
]
}
]
},
{
"name": "code",
"source": [
{
"context": "src",
"element": "code",
"variable": "vvv"
}
],
"target": [
{
"context": "tgt",
"contextType": "variable",
"element": "code",
"variable": "vvv",
"transform": "create"
}
]
},
{
"name": "cff",
"source": [
{
"context": "src",
"element": "text",
"variable": "cdaText"
}
],
"target": [
{
"context": "tgt",
"contextType": "variable",
"element": "entry",
"variable": "reference",
"transform": "create",
"parameter": [
{
"valueString": "Reference"
}
]
},
{
"context": "reference",
"contextType": "variable",
"element": "reference",
"transform": "evaluate",
"parameter": [
{
"valueString": "'https://example/Coverage/' + %coverage.id"
}
]
},
{
"context": "tgt",
"contextType": "variable",
"element": "text",
"variable": "fhirText"
}
],
"rule": [
{
"name": "narrativeStatus",
"source": [
{
"context": "cdaText"
}
],
"target": [
{
"context": "fhirText",
"contextType": "variable",
"element": "status",
"transform": "copy",
"parameter": [
{
"valueString": "generated"
}
]
}
]
},
{
"name": "narrativeText",
"source": [
{
"context": "cdaText",
"variable": "t"
}
],
"target": [
{
"context": "fhirText",
"contextType": "variable",
"element": "div",
"transform": "copy",
"parameter": [
{
"valueId": "t"
}
]
}
]
},
{
"name": "secact",
"source": [
{
"context": "src",
"element": "entry",
"variable": "srcse"
}
],
"rule": [
{
"name": "cdaText",
"source": [
{
"context": "srcse",
"element": "act",
"variable": "srcsec"
}
],
"rule": [
{
"name": "code",
"source": [
{
"context": "srcsec",
"element": "code",
"variable": "vvv"
}
],
"target": [
{
"context": "coverage",
"contextType": "variable",
"element": "type",
"variable": "vvv",
"transform": "create"
}
]
},
{
"name": "origtxt",
"source": [
{
"context": "srcsec",
"element": "code",
"variable": "srctxt"
}
],
"rule": [
{
"name": "reftxt",
"source": [
{
"context": "srctxt"
}
],
"target": [
{
"context": "coverage",
"contextType": "variable",
"element": "type",
"variable": "typetxt"
}
],
"rule": [
{
"name": "rfde",
"source": [
{
"context": "srctxt",
"element": "originalText",
"variable": "ref"
}
],
"rule": [
{
"name": "tcf",
"source": [
{
"context": "ref",
"element": "reference",
"variable": "t"
}
],
"rule": [
{
"name": "reference",
"source": [
{
"context": "t",
"element": "value",
"variable": "l"
}
],
"target": [
{
"context": "typetxt",
"contextType": "variable",
"element": "text",
"transform": "copy",
"parameter": [
{
"valueId": "l"
}
]
}
]
}
]
}
]
}
]
}
]
},
{
"name": "statuscode",
"source": [
{
"context": "srcsec",
"condition": "coverage.status.exists().not()"
}
],
"rule": [
{
"name": "status",
"source": [
{
"context": "srcsec"
}
],
"target": [
{
"context": "coverage",
"contextType": "variable",
"element": "status",
"transform": "copy",
"parameter": [
{
"valueString": "active"
}
]
}
]
}
]
},
{
"name": "reference",
"source": [
{
"context": "srcsec"
}
],
"target": [
{
"context": "coverage",
"contextType": "variable",
"element": "beneficiary",
"variable": "reference",
"transform": "create",
"parameter": [
{
"valueString": "Reference"
}
]
},
{
"context": "reference",
"contextType": "variable",
"element": "reference",
"transform": "evaluate",
"parameter": [
{
"valueString": "'https://example/Patient/' + %patient.id"
}
]
}
]
},
{
"name": "reference",
"source": [
{
"context": "srcsec"
}
],
"target": [
{
"context": "coverage",
"contextType": "variable",
"element": "payor",
"variable": "reference",
"transform": "create",
"parameter": [
{
"valueString": "Reference"
}
]
},
{
"context": "reference",
"contextType": "variable",
"element": "reference",
"transform": "evaluate",
"parameter": [
{
"valueString": "'https://example/Patient/' + %patient.id"
}
]
}
]
}
]
}
]
}
]
}
]
},
{
"name": "ClinicalDocumentSectionPrescrizioneFarmaceutica",
"typeMode": "none",
"input": [
{
"name": "cda",
"type": "ClinicalDocument",
"mode": "source"
},
{
"name": "src",
"type": "Section",
"mode": "source"
},
{
"name": "patient",
"type": "Patient",
"mode": "target"
},
{
"name": "tgt",
"mode": "target"
},
{
"name": "bundle",
"type": "Bundle",
"mode": "target"
},
{
"name": "enc",
"type": "Encounter",
"mode": "target"
},
{
"name": "coverage",
"type": "Coverage",
"mode": "target"
},
{
"name": "medRq",
"type": "MedicationRequest",
"mode": "target"
}
],
"rule": [
{
"name": "title",
"source": [
{
"context": "src",
"element": "title",
"variable": "t"
}
],
"target": [
{
"context": "tgt",
"contextType": "variable",
"element": "title",
"transform": "evaluate",
"parameter": [
{
"valueString": "t.dataString"
}
]
}
]
},
{
"name": "code",
"source": [
{
"context": "src",
"element": "code",
"variable": "vvv"
}
],
"target": [
{
"context": "tgt",
"contextType": "variable",
"element": "code",
"variable": "vvv",
"transform": "create"
}
]
},
{
"name": "xxx",
"source": [
{
"context": "src",
"element": "text",
"variable": "cdaText"
}
],
"target": [
{
"context": "tgt",
"contextType": "variable",
"element": "entry",
"variable": "reference",
"transform": "create",
"parameter": [
{
"valueString": "Reference"
}
]
},
{
"context": "reference",
"contextType": "variable",
"element": "reference",
"transform": "evaluate",
"parameter": [
{
"valueString": "'https://example/MedicationRequest/' + %medRq.id"
}
]
},
{
"context": "tgt",
"contextType": "variable",
"element": "text",
"variable": "fhirText"
}
],
"rule": [
{
"name": "id",
"source": [
{
"context": "src",
"element": "id",
"variable": "vvv"
}
],
"target": [
{
"context": "medRq",
"contextType": "variable",
"element": "identifier",
"variable": "vvv",
"transform": "create"
}
]
},
{
"name": "narrativeStatus",
"source": [
{
"context": "cdaText"
}
],
"target": [
{
"context": "fhirText",
"contextType": "variable",
"element": "status",
"transform": "copy",
"parameter": [
{
"valueString": "generated"
}
]
}
]
},
{
"name": "narrativeText",
"source": [
{
"context": "cdaText",
"variable": "t"
}
],
"target": [
{
"context": "fhirText",
"contextType": "variable",
"element": "div",
"transform": "copy",
"parameter": [
{
"valueId": "t"
}
]
}
]
},
{
"name": "reference",
"source": [
{
"context": "cdaText"
}
],
"target": [
{
"context": "medRq",
"contextType": "variable",
"element": "subject",
"variable": "reference",
"transform": "create",
"parameter": [
{
"valueString": "Reference"
}
]
},
{
"context": "reference",
"contextType": "variable",
"element": "reference",
"transform": "evaluate",
"parameter": [
{
"valueString": "'https://example/Patient/' + %patient.id"
}
]
}
]
},
{
"name": "reference",
"source": [
{
"context": "cdaText"
}
],
"target": [
{
"context": "medRq",
"contextType": "variable",
"element": "encounter",
"variable": "reference",
"transform": "create",
"parameter": [
{
"valueString": "Reference"
}
]
},
{
"context": "reference",
"contextType": "variable",
"element": "reference",
"transform": "evaluate",
"parameter": [
{
"valueString": "'https://example/Encounter/' + %enc.id"
}
]
}
]
},
{
"name": "status",
"source": [
{
"context": "cdaText"
}
],
"target": [
{
"context": "medRq",
"contextType": "variable",
"element": "status",
"transform": "copy",
"parameter": [
{
"valueString": "active"
}
]
}
]
},
{
"name": "intent",
"source": [
{
"context": "cdaText"
}
],
"target": [
{
"context": "medRq",
"contextType": "variable",
"element": "intent",
"transform": "copy",
"parameter": [
{
"valueString": "order"
}
]
}
]
},
{
"name": "hnjh",
"source": [
{
"context": "src",
"element": "entry",
"variable": "srcent"
}
],
"rule": [
{
"name": "subadm",
"source": [
{
"context": "srcent",
"element": "substanceAdministration",
"variable": "subAdm"
}
],
"rule": [
{
"name": "dosage",
"source": [
{
"context": "subAdm",
"type": "IVL_TS",
"element": "effectiveTime",
"variable": "eff"
}
],
"target": [
{
"context": "medRq",
"contextType": "variable",
"element": "dosageInstruction",
"variable": "dosage",
"transform": "create",
"parameter": [
{
"valueString": "Dosage"
}
]
}
],
"rule": [
{
"name": "timing",
"source": [
{
"context": "subAdm"
}
],
"target": [
{
"context": "dosage",
"contextType": "variable",
"element": "timing",
"variable": "tim",
"transform": "create",
"parameter": [
{
"valueString": "Timing"
}
]
}
],
"rule": [
{
"name": "repeat",
"source": [
{
"context": "subAdm"
}
],
"target": [
{
"context": "tim",
"contextType": "variable",
"element": "repeat",
"variable": "repeat"
}
],
"rule": [
{
"name": "boundsperiod",
"source": [
{
"context": "eff"
}
],
"target": [
{
"context": "repeat",
"contextType": "variable",
"element": "bounds",
"variable": "period",
"transform": "create",
"parameter": [
{
"valueString": "Period"
}
]
}
],
"dependent": [
{
"name": "IVLTSPeriod",
"variable": [
"eff",
"period"
]
}
]
},
{
"name": "width",
"source": [
{
"context": "eff",
"element": "width",
"variable": "width"
}
],
"rule": [
{
"name": "value",
"source": [
{
"context": "width",
"element": "value",
"variable": "v"
}
],
"target": [
{
"context": "repeat",
"contextType": "variable",
"element": "duration",
"transform": "copy",
"parameter": [
{
"valueId": "v"
}
]
}
]
},
{
"name": "unit",
"source": [
{
"context": "width",
"element": "unit",
"variable": "u"
}
],
"target": [
{
"context": "repeat",
"contextType": "variable",
"element": "durationUnit",
"transform": "copy",
"parameter": [
{
"valueId": "u"
}
]
}
]
}
]
}
]
}
]
}
]
},
{
"name": "dosage1",
"source": [
{
"context": "subAdm",
"element": "effectiveTime",
"variable": "eff"
}
],
"target": [
{
"context": "medRq",
"contextType": "variable",
"element": "dosageInstruction",
"variable": "dosage",
"transform": "create",
"parameter": [
{
"valueString": "Dosage"
}
]
}
],
"rule": [
{
"name": "timing1",
"source": [
{
"context": "subAdm"
}
],
"target": [
{
"context": "dosage",
"contextType": "variable",
"element": "timing",
"variable": "tim",
"transform": "create",
"parameter": [
{
"valueString": "Timing"
}
]
}
],
"rule": [
{
"name": "effct1",
"source": [
{
"context": "eff",
"condition": "eff.low.exists().not() and eff.high.exists().not()"
}
],
"rule": [
{
"name": "evnt",
"source": [
{
"context": "eff",
"element": "value",
"variable": "v"
}
],
"target": [
{
"context": "tim",
"contextType": "variable",
"element": "event",
"variable": "event",
"transform": "create",
"parameter": [
{
"valueString": "dateTime"
}
]
}
],
"dependent": [
{
"name": "TSDateTime",
"variable": [
"v",
"event"
]
}
]
}
]
}
]
}
]
},
{
"name": "eff",
"source": [
{
"context": "subAdm",
"type": "PIVL_TS",
"element": "effectiveTime",
"variable": "effp"
}
],
"target": [
{
"context": "medRq",
"contextType": "variable",
"element": "dosageInstruction",
"variable": "dosage",
"transform": "create",
"parameter": [
{
"valueString": "Dosage"
}
]
}
],
"rule": [
{
"name": "timing",
"source": [
{
"context": "effp"
}
],
"target": [
{
"context": "dosage",
"contextType": "variable",
"element": "timing",
"variable": "timing",
"transform": "create",
"parameter": [
{
"valueString": "Timing"
}
]
}
],
"rule": [
{
"name": "cod",
"source": [
{
"context": "effp"
}
],
"target": [
{
"contextType": "variable",
"transform": "copy",
"parameter": [
{
"valueId": "timing"
}
]
}
],
"dependent": [
{
"name": "periodTiming",
"variable": [
"effp",
"timing"
]
}
]
},
{
"name": "phase",
"source": [
{
"context": "effp",
"condition": "effp.phase.exists()"
}
],
"rule": [
{
"name": "rep",
"source": [
{
"context": "effp",
"element": "phase",
"variable": "phase"
}
],
"target": [
{
"context": "timing",
"contextType": "variable",
"element": "repeat",
"variable": "r"
}
],
"rule": [
{
"name": "low",
"source": [
{
"context": "phase",
"element": "low"
}
],
"target": [
{
"context": "r",
"contextType": "variable",
"element": "bounds",
"variable": "period",
"transform": "create",
"parameter": [
{
"valueString": "Period"
}
]
}
],
"rule": [
{
"name": "lo",
"source": [
{
"context": "phase",
"element": "low",
"variable": "vvv"
}
],
"target": [
{
"context": "period",
"contextType": "variable",
"element": "start",
"variable": "vvv",
"transform": "create"
}
]
}
]
},
{
"name": "dur",
"source": [
{
"context": "phase",
"element": "width",
"variable": "wid"
}
],
"rule": [
{
"name": "vals",
"source": [
{
"context": "wid",
"element": "value",
"variable": "v"
}
],
"target": [
{
"context": "r",
"contextType": "variable",
"element": "duration",
"transform": "copy",
"parameter": [
{
"valueId": "v"
}
]
}
]
},
{
"name": "unit",
"source": [
{
"context": "wid",
"element": "unit",
"variable": "u"
}
],
"target": [
{
"context": "r",
"contextType": "variable",
"element": "durationUnit",
"transform": "copy",
"parameter": [
{
"valueId": "u"
}
]
}
]
}
]
}
]
}
]
}
]
}
]
},
{
"name": "eff",
"source": [
{
"context": "subAdm",
"type": "EIVL_TS",
"element": "effectiveTime",
"variable": "effe"
}
],
"target": [
{
"context": "medRq",
"contextType": "variable",
"element": "dosageInstruction",
"variable": "dosage",
"transform": "create",
"parameter": [
{
"valueString": "Dosage"
}
]
}
],
"rule": [
{
"name": "ghj",
"source": [
{
"context": "effe"
}
],
"target": [
{
"context": "dosage",
"contextType": "variable",
"element": "timing",
"variable": "timing",
"transform": "create",
"parameter": [
{
"valueString": "Timing"
}
]
}
],
"rule": [
{
"name": "lkj",
"source": [
{
"context": "effe"
}
],
"target": [
{
"context": "timing",
"contextType": "variable",
"element": "repeat",
"variable": "r"
}
],
"rule": [
{
"name": "event",
"source": [
{
"context": "effe",
"element": "event",
"variable": "vvv"
}
],
"target": [
{
"context": "r",
"contextType": "variable",
"element": "when",
"variable": "vvv",
"transform": "create"
}
]
},
{
"name": "poi",
"source": [
{
"context": "effe",
"element": "offset",
"variable": "offset"
}
],
"rule": [
{
"name": "offs",
"source": [
{
"context": "offset",
"element": "low",
"variable": "v"
}
],
"rule": [
{
"name": "barabar",
"source": [
{
"context": "v",
"element": "value",
"variable": "o"
}
],
"target": [
{
"context": "r",
"contextType": "variable",
"element": "offset",
"transform": "copy",
"parameter": [
{
"valueId": "o"
}
]
}
]
}
]
}
]
}
]
}
]
}
]
},
{
"name": "doseQuant",
"source": [
{
"context": "subAdm",
"element": "doseQuantity",
"variable": "doseQuant"
}
],
"target": [
{
"context": "medRq",
"contextType": "variable",
"element": "dosageInstruction",
"variable": "dosage",
"transform": "create",
"parameter": [
{
"valueString": "Dosage"
}
]
}
],
"rule": [
{
"name": "ot",
"source": [
{
"context": "doseQuant",
"element": "originalText",
"variable": "ot"
}
],
"rule": [
{
"name": "reference",
"source": [
{
"context": "ot",
"element": "reference",
"variable": "vvv"
}
],
"target": [
{
"context": "dosage",
"contextType": "variable",
"element": "text",
"variable": "vvv",
"transform": "create"
}
]
}
]
},
{
"name": "dosageRate",
"source": [
{
"context": "doseQuant"
}
],
"target": [
{
"context": "dosage",
"contextType": "variable",
"element": "doseAndRate",
"variable": "dosageRate"
}
],
"rule": [
{
"name": "d",
"source": [
{
"context": "doseQuant"
}
],
"target": [
{
"context": "dosageRate",
"contextType": "variable",
"element": "dose",
"variable": "d",
"transform": "create",
"parameter": [
{
"valueString": "Range"
}
]
}
],
"rule": [
{
"name": "low",
"source": [
{
"context": "doseQuant"
}
],
"target": [
{
"context": "d",
"contextType": "variable",
"element": "low",
"variable": "l",
"transform": "create",
"parameter": [
{
"valueString": "SimpleQuantity"
}
]
}
],
"rule": [
{
"name": "low",
"source": [
{
"context": "doseQuant",
"element": "low",
"variable": "lo"
}
],
"target": [
{
"context": "l",
"contextType": "variable",
"element": "value",
"transform": "evaluate",
"parameter": [
{
"valueString": "lo.value"
}
]
}
]
},
{
"name": "low",
"source": [
{
"context": "doseQuant",
"element": "low",
"variable": "lo"
}
],
"target": [
{
"context": "l",
"contextType": "variable",
"element": "unit",
"transform": "evaluate",
"parameter": [
{
"valueString": "lo.unit"
}
]
}
]
}
]
},
{
"name": "low",
"source": [
{
"context": "doseQuant"
}
],
"target": [
{
"context": "d",
"contextType": "variable",
"element": "high",
"variable": "h",
"transform": "create",
"parameter": [
{
"valueString": "SimpleQuantity"
}
]
}
],
"rule": [
{
"name": "high",
"source": [
{
"context": "doseQuant",
"element": "high",
"variable": "hi"
}
],
"target": [
{
"context": "h",
"contextType": "variable",
"element": "value",
"transform": "evaluate",
"parameter": [
{
"valueString": "hi.value"
}
]
}
]
},
{
"name": "high",
"source": [
{
"context": "doseQuant",
"element": "high",
"variable": "hi"
}
],
"target": [
{
"context": "h",
"contextType": "variable",
"element": "unit",
"transform": "evaluate",
"parameter": [
{
"valueString": "hi.unit"
}
]
}
]
}
]
}
]
}
]
}
]
},
{
"name": "subsadm",
"source": [
{
"context": "subAdm"
}
],
"target": [
{
"context": "bundle",
"contextType": "variable",
"element": "entry",
"variable": "e1"
},
{
"context": "e1",
"contextType": "variable",
"element": "request",
"variable": "request",
"transform": "create",
"parameter": [
{
"valueString": "BackboneElement"
}
]
},
{
"context": "request",
"contextType": "variable",
"element": "method",
"transform": "copy",
"parameter": [
{
"valueString": "POST"
}
]
},
{
"context": "e1",
"contextType": "variable",
"element": "resource",
"variable": "medication",
"transform": "create",
"parameter": [
{
"valueString": "Medication"
}
]
},
{
"context": "medication",
"contextType": "variable",
"element": "id",
"variable": "uuid1",
"transform": "uuid"
},
{
"context": "e1",
"contextType": "variable",
"element": "fullUrl",
"transform": "append",
"parameter": [
{
"valueString": "https://example/Medication/"
},
{
"valueId": "uuid1"
}
]
},
{
"context": "request",
"contextType": "variable",
"element": "url",
"transform": "copy",
"parameter": [
{
"valueString": "Medication"
}
]
},
{
"context": "medRq",
"contextType": "variable",
"element": "medication",
"variable": "reference",
"transform": "create",
"parameter": [
{
"valueString": "Reference"
}
]
},
{
"context": "reference",
"contextType": "variable",
"element": "reference",
"transform": "evaluate",
"parameter": [
{
"valueString": "'https://example/Medication/' + %medication.id"
}
]
}
],
"rule": [
{
"name": "cons",
"source": [
{
"context": "subAdm",
"element": "consumable",
"variable": "cons"
}
],
"rule": [
{
"name": "manumat",
"source": [
{
"context": "cons",
"element": "manufacturedProduct",
"variable": "manuprod"
}
],
"rule": [
{
"name": "manudrug",
"source": [
{
"context": "manuprod",
"element": "manufacturedLabeledDrug",
"variable": "manudrug"
}
],
"rule": [
{
"name": "code",
"source": [
{
"context": "manudrug",
"element": "code",
"variable": "vvv"
}
],
"target": [
{
"context": "medication",
"contextType": "variable",
"element": "code",
"variable": "vvv",
"transform": "create"
}
]
},
{
"name": "idmedname",
"source": [
{
"context": "manudrug"
}
],
"target": [
{
"context": "medication",
"contextType": "variable",
"element": "identifier",
"variable": "medid"
}
],
"rule": [
{
"name": "name",
"source": [
{
"context": "manudrug",
"element": "name",
"variable": "vvv"
}
],
"target": [
{
"context": "medid",
"contextType": "variable",
"element": "value",
"variable": "vvv",
"transform": "create"
}
]
}
]
},
{
"name": "origtxtd",
"source": [
{
"context": "manudrug",
"element": "code",
"variable": "srctxt"
}
],
"rule": [
{
"name": "reftxtd",
"source": [
{
"context": "srctxt"
}
],
"target": [
{
"context": "medication",
"contextType": "variable",
"element": "code",
"variable": "typetxt"
}
],
"rule": [
{
"name": "tcfg",
"source": [
{
"context": "srctxt",
"element": "originalText",
"variable": "ref"
}
],
"rule": [
{
"name": "tcf",
"source": [
{
"context": "ref",
"element": "reference",
"variable": "reference"
}
],
"rule": [
{
"name": "reference",
"source": [
{
"context": "reference",
"element": "value",
"variable": "l"
}
],
"target": [
{
"context": "typetxt",
"contextType": "variable",
"element": "text",
"transform": "copy",
"parameter": [
{
"valueId": "l"
}
]
}
]
}
]
}
]
}
]
}
]
}
]
},
{
"name": "manuFact",
"source": [
{
"context": "manuprod",
"element": "manufacturedMaterial",
"variable": "manufact"
}
],
"rule": [
{
"name": "code",
"source": [
{
"context": "manufact",
"element": "code",
"variable": "vvv"
}
],
"target": [
{
"context": "medication",
"contextType": "variable",
"element": "code",
"variable": "vvv",
"transform": "create"
}
]
},
{
"name": "origtxt",
"source": [
{
"context": "manufact",
"element": "code",
"variable": "srctxt"
}
],
"rule": [
{
"name": "reftxt",
"source": [
{
"context": "srctxt"
}
],
"target": [
{
"context": "medication",
"contextType": "variable",
"element": "code",
"variable": "typetxt"
}
],
"rule": [
{
"name": "tcfg",
"source": [
{
"context": "srctxt",
"element": "originalText",
"variable": "ref"
}
],
"rule": [
{
"name": "tcf",
"source": [
{
"context": "ref",
"element": "reference",
"variable": "reference"
}
],
"rule": [
{
"name": "reference",
"source": [
{
"context": "reference",
"element": "value",
"variable": "l"
}
],
"target": [
{
"context": "typetxt",
"contextType": "variable",
"element": "text",
"transform": "copy",
"parameter": [
{
"valueId": "l"
}
]
}
]
}
]
}
]
}
]
}
]
},
{
"name": "ingr",
"source": [
{
"context": "manufact",
"element": "ingredient",
"variable": "ingredient"
}
],
"target": [
{
"context": "medication",
"contextType": "variable",
"element": "ingredient",
"variable": "ing"
}
],
"rule": [
{
"name": "strength",
"source": [
{
"context": "ingredient",
"element": "quantity",
"variable": "quantity"
}
],
"target": [
{
"context": "ing",
"contextType": "variable",
"element": "strength",
"variable": "strength",
"transform": "create",
"parameter": [
{
"valueString": "Ratio"
}
]
}
],
"dependent": [
{
"name": "EmedRTOPQPQRatio",
"variable": [
"quantity",
"strength"
]
}
]
},
{
"name": "ingredientCode",
"source": [
{
"context": "manufact"
}
],
"target": [
{
"context": "ing",
"contextType": "variable",
"element": "item",
"variable": "ingcode",
"transform": "create",
"parameter": [
{
"valueString": "CodeableConcept"
}
]
},
{
"context": "ingcode",
"contextType": "variable",
"element": "text",
"transform": "evaluate",
"parameter": [
{
"valueString": "%manufact.name.other"
}
]
}
]
}
]
},
{
"name": "formCode",
"source": [
{
"context": "manufact",
"element": "formCode",
"variable": "vvv"
}
],
"target": [
{
"context": "medication",
"contextType": "variable",
"element": "form",
"variable": "vvv",
"transform": "create"
}
]
},
{
"name": "transl",
"source": [
{
"context": "manufact"
}
],
"target": [
{
"context": "medication",
"contextType": "variable",
"element": "identifier",
"variable": "medid"
}
]
}
]
}
]
}
]
},
{
"name": "entry1",
"source": [
{
"context": "subAdm",
"element": "entryRelationship",
"variable": "entryrel1"
}
],
"rule": [
{
"name": "supply",
"source": [
{
"context": "entryrel1",
"element": "supply",
"variable": "sup"
}
],
"target": [
{
"context": "medRq",
"contextType": "variable",
"element": "dispenseRequest",
"variable": "dispreq"
}
],
"rule": [
{
"name": "quantity",
"source": [
{
"context": "sup"
}
],
"target": [
{
"context": "dispreq",
"contextType": "variable",
"element": "quantity",
"variable": "quantity",
"transform": "create",
"parameter": [
{
"valueString": "SimpleQuantity"
}
]
}
],
"rule": [
{
"name": "quantity",
"source": [
{
"context": "sup",
"element": "quantity",
"variable": "q"
}
],
"target": [
{
"context": "quantity",
"contextType": "variable",
"element": "value",
"transform": "evaluate",
"parameter": [
{
"valueString": "q.value"
}
]
}
]
}
]
}
]
}
]
},
{
"name": "entry2",
"source": [
{
"context": "subAdm",
"element": "entryRelationship",
"variable": "entryrel2",
"condition": "(typeCode = 'REFR')"
}
],
"rule": [
{
"name": "Cover",
"source": [
{
"context": "subAdm"
}
],
"target": [
{
"context": "medRq",
"contextType": "variable",
"element": "insurance",
"variable": "reference",
"transform": "create",
"parameter": [
{
"valueString": "Reference"
}
]
},
{
"context": "reference",
"contextType": "variable",
"element": "reference",
"transform": "evaluate",
"parameter": [
{
"valueString": "'https://example/Coverage/' + %coverage.id"
}
]
}
],
"rule": [
{
"name": "act2",
"source": [
{
"context": "entryrel2",
"element": "act",
"variable": "act2"
}
],
"target": [
{
"context": "coverage",
"contextType": "variable",
"element": "costToBeneficiary",
"variable": "cost"
}
],
"rule": [
{
"name": "beneficmoney",
"source": [
{
"context": "act2"
}
],
"target": [
{
"context": "cost",
"contextType": "variable",
"element": "value",
"variable": "val",
"transform": "create",
"parameter": [
{
"valueString": "SimpleQuantity"
}
]
}
],
"rule": [
{
"name": "bnm",
"source": [
{
"context": "act2"
}
],
"target": [
{
"context": "val",
"contextType": "variable",
"element": "value",
"transform": "copy",
"parameter": [
{
"valueString": "0"
}
]
}
]
}
]
},
{
"name": "exept",
"source": [
{
"context": "act2"
}
],
"target": [
{
"context": "cost",
"contextType": "variable",
"element": "exception",
"variable": "except"
}
],
"rule": [
{
"name": "code",
"source": [
{
"context": "act2",
"element": "code",
"variable": "vvv"
}
],
"target": [
{
"context": "except",
"contextType": "variable",
"element": "type",
"variable": "vvv",
"transform": "create"
}
]
}
]
}
]
}
]
}
]
},
{
"name": "entry2",
"source": [
{
"context": "subAdm",
"element": "entryRelationship",
"variable": "entryrel3",
"condition": "(typeCode = 'RSON')"
}
],
"rule": [
{
"name": "obs3",
"source": [
{
"context": "entryrel3",
"element": "observation",
"variable": "obs3",
"condition": "(classCode = 'OBS')"
}
],
"rule": [
{
"name": "code",
"source": [
{
"context": "obs3",
"element": "code",
"variable": "vvv"
}
],
"target": [
{
"context": "medRq",
"contextType": "variable",
"element": "reasonCode",
"variable": "vvv",
"transform": "create"
}
]
},
{
"name": "txt",
"source": [
{
"context": "obs3",
"element": "text",
"variable": "text"
}
],
"rule": [
{
"name": "originltext",
"source": [
{
"context": "text"
}
],
"target": [
{
"context": "medRq",
"contextType": "variable",
"element": "reasonCode",
"variable": "ce"
}
],
"rule": [
{
"name": "tcf",
"source": [
{
"context": "text",
"element": "reference",
"variable": "reference"
}
],
"rule": [
{
"name": "reference",
"source": [
{
"context": "reference",
"element": "value",
"variable": "l"
}
],
"target": [
{
"context": "ce",
"contextType": "variable",
"element": "text",
"transform": "copy",
"parameter": [
{
"valueId": "l"
}
]
}
]
}
],
"documentation": "text.reference as reference-> ce.text=reference;"
}
]
}
]
}
]
}
]
},
{
"name": "code",
"source": [
{
"context": "subAdm",
"element": "entryRelationship",
"variable": "entryrel4",
"condition": "(typeCode = 'SUBJ')"
}
],
"rule": [
{
"name": "obs",
"source": [
{
"context": "entryrel4",
"element": "observation",
"variable": "obs3"
}
],
"target": [
{
"context": "medRq",
"contextType": "variable",
"element": "substitution",
"variable": "sub"
}
],
"rule": [
{
"name": "code",
"source": [
{
"context": "obs3",
"element": "code",
"variable": "Code"
}
],
"target": [
{
"context": "sub",
"contextType": "variable",
"element": "allowed",
"variable": "allowed",
"transform": "create",
"parameter": [
{
"valueString": "CodeableConcept"
}
]
}
],
"dependent": [
{
"name": "CECodeableConcept",
"variable": [
"Code",
"allowed"
]
}
]
},
{
"name": "entry",
"source": [
{
"context": "obs3",
"element": "entryRelationship",
"variable": "entry"
}
],
"rule": [
{
"name": "obs4",
"source": [
{
"context": "entry",
"element": "observation",
"variable": "obs4"
}
],
"rule": [
{
"name": "code",
"source": [
{
"context": "obs4",
"element": "code",
"variable": "vvv"
}
],
"target": [
{
"context": "sub",
"contextType": "variable",
"element": "reason",
"variable": "vvv",
"transform": "create"
}
]
}
]
}
]
}
]
}
]
},
{
"name": "entry2",
"source": [
{
"context": "subAdm",
"element": "entryRelationship",
"variable": "entryrel2",
"condition": "(typeCode = 'SUBJ')"
}
],
"rule": [
{
"name": "obs3",
"source": [
{
"context": "entryrel2",
"element": "act",
"variable": "act2",
"condition": "(classCode = 'ACT')"
}
],
"rule": [
{
"name": "reference",
"source": [
{
"context": "act2",
"element": "text",
"variable": "text"
}
],
"target": [
{
"context": "medRq",
"contextType": "variable",
"element": "note",
"variable": "note"
}
],
"rule": [
{
"name": "tcx",
"source": [
{
"context": "text",
"element": "reference",
"variable": "t"
}
],
"rule": [
{
"name": "reference",
"source": [
{
"context": "t",
"element": "value",
"variable": "l"
}
],
"target": [
{
"context": "note",
"contextType": "variable",
"element": "text",
"transform": "copy",
"parameter": [
{
"valueId": "l"
}
]
}
]
}
]
}
]
}
]
}
]
}
]
}
]
}
]
}
]
}
]
},
{
"name": "ClinicalDocumentSectionAnnotazioni",
"typeMode": "none",
"documentation": "------------Sezione Annotazioni-----------------------------------------------------------------------------------------------------------------------------------------",
"input": [
{
"name": "cda",
"type": "ClinicalDocument",
"mode": "source"
},
{
"name": "src",
"type": "Section",
"mode": "source"
},
{
"name": "patient",
"type": "Patient",
"mode": "target"
},
{
"name": "tgt",
"mode": "target"
},
{
"name": "bundle",
"type": "Bundle",
"mode": "target"
},
{
"name": "enc",
"type": "Encounter",
"mode": "target"
},
{
"name": "medRq",
"type": "MedicationRequest",
"mode": "target"
}
],
"rule": [
{
"name": "title",
"source": [
{
"context": "src",
"element": "title",
"variable": "t"
}
],
"target": [
{
"context": "tgt",
"contextType": "variable",
"element": "title",
"transform": "evaluate",
"parameter": [
{
"valueString": "t.dataString"
}
]
}
]
},
{
"name": "code",
"source": [
{
"context": "src",
"element": "code",
"variable": "vvv"
}
],
"target": [
{
"context": "tgt",
"contextType": "variable",
"element": "code",
"variable": "vvv",
"transform": "create"
}
]
},
{
"name": "entry",
"source": [
{
"context": "src",
"element": "text",
"variable": "cdaText"
}
],
"target": [
{
"context": "tgt",
"contextType": "variable",
"element": "entry",
"variable": "reference",
"transform": "create",
"parameter": [
{
"valueString": "Reference"
}
]
},
{
"context": "reference",
"contextType": "variable",
"element": "reference",
"transform": "evaluate",
"parameter": [
{
"valueString": "'https://example/MedicationRequest/' + %medRq.id"
}
]
},
{
"context": "tgt",
"contextType": "variable",
"element": "text",
"variable": "fhirText"
}
],
"rule": [
{
"name": "narrativeStatus",
"source": [
{
"context": "cdaText"
}
],
"target": [
{
"context": "fhirText",
"contextType": "variable",
"element": "status",
"transform": "copy",
"parameter": [
{
"valueString": "generated"
}
]
}
]
},
{
"name": "narrativeText",
"source": [
{
"context": "cdaText",
"variable": "t"
}
],
"target": [
{
"context": "fhirText",
"contextType": "variable",
"element": "div",
"transform": "copy",
"parameter": [
{
"valueId": "t"
}
]
}
]
},
{
"name": "entry",
"source": [
{
"context": "src",
"element": "entry",
"variable": "entry"
}
],
"rule": [
{
"name": "act",
"source": [
{
"context": "entry",
"element": "act",
"variable": "act"
}
],
"rule": [
{
"name": "reference",
"source": [
{
"context": "act",
"element": "text",
"variable": "text"
}
],
"target": [
{
"context": "medRq",
"contextType": "variable",
"element": "note",
"variable": "note"
}
],
"rule": [
{
"name": "tcx",
"source": [
{
"context": "text",
"element": "reference",
"variable": "t"
}
],
"rule": [
{
"name": "reference",
"source": [
{
"context": "t",
"element": "value",
"variable": "l"
}
],
"target": [
{
"context": "note",
"contextType": "variable",
"element": "text",
"transform": "copy",
"parameter": [
{
"valueId": "l"
}
]
}
]
}
]
}
]
}
]
}
]
}
]
}
]
},
{
"name": "ClinicalDocumentSectionMessaggioRegionale",
"typeMode": "none",
"documentation": "------------Sezione Messaggio Regionale-----------------------------------------------------------------------------------------------------------------------------------------",
"input": [
{
"name": "cda",
"type": "ClinicalDocument",
"mode": "source"
},
{
"name": "src",
"type": "Section",
"mode": "source"
},
{
"name": "patient",
"type": "Patient",
"mode": "target"
},
{
"name": "tgt",
"mode": "target"
},
{
"name": "bundle",
"type": "Bundle",
"mode": "target"
},
{
"name": "enc",
"type": "Encounter",
"mode": "target"
},
{
"name": "medRq",
"type": "MedicationRequest",
"mode": "target"
}
],
"rule": [
{
"name": "title",
"source": [
{
"context": "src",
"element": "title",
"variable": "t"
}
],
"target": [
{
"context": "tgt",
"contextType": "variable",
"element": "title",
"transform": "evaluate",
"parameter": [
{
"valueString": "t.dataString"
}
]
}
]
},
{
"name": "code",
"source": [
{
"context": "src",
"element": "code",
"variable": "vvv"
}
],
"target": [
{
"context": "tgt",
"contextType": "variable",
"element": "code",
"variable": "vvv",
"transform": "create"
}
]
},
{
"name": "entry",
"source": [
{
"context": "src",
"element": "text",
"variable": "cdaText"
}
],
"target": [
{
"context": "tgt",
"contextType": "variable",
"element": "entry",
"variable": "reference",
"transform": "create",
"parameter": [
{
"valueString": "Reference"
}
]
},
{
"context": "reference",
"contextType": "variable",
"element": "reference",
"transform": "evaluate",
"parameter": [
{
"valueString": "'https://example/MedicationRequest/' + %medRq.id"
}
]
}
],
"rule": [
{
"name": "nota",
"source": [
{
"context": "cdaText",
"variable": "text"
}
],
"target": [
{
"context": "medRq",
"contextType": "variable",
"element": "note",
"variable": "note"
}
],
"rule": [
{
"name": "reference",
"source": [
{
"context": "text",
"variable": "t"
}
],
"target": [
{
"context": "note",
"contextType": "variable",
"element": "text",
"transform": "copy",
"parameter": [
{
"valueId": "t"
}
]
}
]
}
]
}
]
}
]
},
{
"name": "ClinicalDocumentSectionParametriVitali",
"typeMode": "none",
"documentation": "------------Sezione Parametri Vitali-----------------------------------------------------------------------------------------------------------------------------------------",
"input": [
{
"name": "cda",
"type": "ClinicalDocument",
"mode": "source"
},
{
"name": "src",
"type": "Section",
"mode": "source"
},
{
"name": "patient",
"type": "Patient",
"mode": "target"
},
{
"name": "tgt",
"mode": "target"
},
{
"name": "bundle",
"type": "Bundle",
"mode": "target"
},
{
"name": "enc",
"type": "Encounter",
"mode": "target"
}
],
"rule": [
{
"name": "title",
"source": [
{
"context": "src",
"element": "title",
"variable": "t"
}
],
"target": [
{
"context": "tgt",
"contextType": "variable",
"element": "title",
"transform": "evaluate",
"parameter": [
{
"valueString": "t.dataString"
}
]
}
]
},
{
"name": "code",
"source": [
{
"context": "src",
"element": "code",
"variable": "vvv"
}
],
"target": [
{
"context": "tgt",
"contextType": "variable",
"element": "code",
"variable": "vvv",
"transform": "create"
}
]
},
{
"name": "nota",
"source": [
{
"context": "src",
"element": "text",
"variable": "cdaText"
}
],
"target": [
{
"context": "bundle",
"contextType": "variable",
"element": "entry",
"variable": "e8"
},
{
"context": "e8",
"contextType": "variable",
"element": "request",
"variable": "request",
"transform": "create",
"parameter": [
{
"valueString": "BackboneElement"
}
]
},
{
"context": "request",
"contextType": "variable",
"element": "method",
"transform": "copy",
"parameter": [
{
"valueString": "POST"
}
]
},
{
"context": "e8",
"contextType": "variable",
"element": "resource",
"variable": "Observation",
"transform": "create",
"parameter": [
{
"valueString": "Observation"
}
]
},
{
"context": "Observation",
"contextType": "variable",
"element": "id",
"variable": "uuid8",
"transform": "uuid"
},
{
"context": "e8",
"contextType": "variable",
"element": "fullUrl",
"transform": "append",
"parameter": [
{
"valueString": "https://example/Observation/"
},
{
"valueId": "uuid8"
}
]
},
{
"context": "request",
"contextType": "variable",
"element": "url",
"transform": "copy",
"parameter": [
{
"valueString": "Observation"
}
]
},
{
"context": "tgt",
"contextType": "variable",
"element": "entry",
"variable": "reference",
"transform": "create",
"parameter": [
{
"valueString": "Reference"
}
]
},
{
"context": "reference",
"contextType": "variable",
"element": "reference",
"transform": "evaluate",
"parameter": [
{
"valueString": "'https://example/Observation/' + %Observation.id"
}
]
}
],
"rule": [
{
"name": "reference",
"source": [
{
"context": "src"
}
],
"target": [
{
"context": "Observation",
"contextType": "variable",
"element": "subject",
"variable": "reference",
"transform": "create",
"parameter": [
{
"valueString": "Reference"
}
]
},
{
"context": "reference",
"contextType": "variable",
"element": "reference",
"transform": "evaluate",
"parameter": [
{
"valueString": "'https://example/Patient/' + %patient.id"
}
]
}
]
},
{
"name": "reference",
"source": [
{
"context": "src"
}
],
"target": [
{
"context": "Observation",
"contextType": "variable",
"element": "encounter",
"variable": "reference",
"transform": "create",
"parameter": [
{
"valueString": "Reference"
}
]
},
{
"context": "reference",
"contextType": "variable",
"element": "reference",
"transform": "evaluate",
"parameter": [
{
"valueString": "'https://example/Encounter/' + %enc.id"
}
]
}
]
},
{
"name": "code",
"source": [
{
"context": "src",
"element": "code",
"variable": "vvv"
}
],
"target": [
{
"context": "Observation",
"contextType": "variable",
"element": "code",
"variable": "vvv",
"transform": "create"
}
]
},
{
"name": "statuscode",
"source": [
{
"context": "src",
"condition": "Observation.statusCode.exists().not()"
}
],
"rule": [
{
"name": "status",
"source": [
{
"context": "src"
}
],
"target": [
{
"context": "Observation",
"contextType": "variable",
"element": "status",
"transform": "copy",
"parameter": [
{
"valueString": "final"
}
]
}
]
}
]
},
{
"name": "reference",
"source": [
{
"context": "cdaText"
}
],
"target": [
{
"context": "Observation",
"contextType": "variable",
"element": "note",
"variable": "note"
}
],
"rule": [
{
"name": "reference",
"source": [
{
"context": "cdaText",
"variable": "t"
}
],
"target": [
{
"context": "note",
"contextType": "variable",
"element": "text",
"transform": "copy",
"parameter": [
{
"valueId": "t"
}
]
}
]
}
]
}
]
}
]
},
{
"name": "ClinicalDocumentSectionAllergieaiFarmaci",
"typeMode": "none",
"documentation": "------------Sezione Allergie_Intolleranze-----------------------------------------------------------------------------------------------------------------------------------------",
"input": [
{
"name": "cda",
"type": "ClinicalDocument",
"mode": "source"
},
{
"name": "src",
"type": "Section",
"mode": "source"
},
{
"name": "patient",
"type": "Patient",
"mode": "target"
},
{
"name": "tgt",
"mode": "target"
},
{
"name": "bundle",
"type": "Bundle",
"mode": "target"
},
{
"name": "enc",
"type": "Encounter",
"mode": "target"
}
],
"rule": [
{
"name": "title",
"source": [
{
"context": "src",
"element": "title",
"variable": "t"
}
],
"target": [
{
"context": "tgt",
"contextType": "variable",
"element": "title",
"transform": "evaluate",
"parameter": [
{
"valueString": "t.dataString"
}
]
}
]
},
{
"name": "code",
"source": [
{
"context": "src",
"element": "code",
"variable": "vvv"
}
],
"target": [
{
"context": "tgt",
"contextType": "variable",
"element": "code",
"variable": "vvv",
"transform": "create"
}
]
},
{
"name": "nota",
"source": [
{
"context": "src"
}
],
"target": [
{
"context": "bundle",
"contextType": "variable",
"element": "entry",
"variable": "e9"
},
{
"context": "e9",
"contextType": "variable",
"element": "request",
"variable": "request",
"transform": "create",
"parameter": [
{
"valueString": "BackboneElement"
}
]
},
{
"context": "request",
"contextType": "variable",
"element": "method",
"transform": "copy",
"parameter": [
{
"valueString": "POST"
}
]
},
{
"context": "e9",
"contextType": "variable",
"element": "resource",
"variable": "allergyIntolerance",
"transform": "create",
"parameter": [
{
"valueString": "AllergyIntolerance"
}
]
},
{
"context": "allergyIntolerance",
"contextType": "variable",
"element": "id",
"variable": "uuid9",
"transform": "uuid"
},
{
"context": "e9",
"contextType": "variable",
"element": "fullUrl",
"transform": "append",
"parameter": [
{
"valueString": "https://example/AllergyIntolerance/"
},
{
"valueId": "uuid9"
}
]
},
{
"context": "request",
"contextType": "variable",
"element": "url",
"transform": "copy",
"parameter": [
{
"valueString": "AllergyIntolerance"
}
]
},
{
"context": "tgt",
"contextType": "variable",
"element": "entry",
"variable": "reference",
"transform": "create",
"parameter": [
{
"valueString": "Reference"
}
]
},
{
"context": "reference",
"contextType": "variable",
"element": "reference",
"transform": "evaluate",
"parameter": [
{
"valueString": "'https://example/AllergyIntolerance/' + %allergyIntolerance.id"
}
]
}
],
"rule": [
{
"name": "reference",
"source": [
{
"context": "src"
}
],
"target": [
{
"context": "allergyIntolerance",
"contextType": "variable",
"element": "patient",
"variable": "reference",
"transform": "create",
"parameter": [
{
"valueString": "Reference"
}
]
},
{
"context": "reference",
"contextType": "variable",
"element": "reference",
"transform": "evaluate",
"parameter": [
{
"valueString": "'https://example/Patient/' + %patient.id"
}
]
}
]
},
{
"name": "allergy",
"source": [
{
"context": "src"
}
],
"target": [
{
"context": "allergyIntolerance",
"contextType": "variable",
"element": "clinicalStatus",
"variable": "status",
"transform": "create",
"parameter": [
{
"valueString": "CodeableConcept"
}
]
}
],
"rule": [
{
"name": "text",
"source": [
{
"context": "src"
}
],
"target": [
{
"context": "status",
"contextType": "variable",
"element": "text",
"transform": "copy",
"parameter": [
{
"valueString": "string"
}
]
}
]
},
{
"name": "coding",
"source": [
{
"context": "src"
}
],
"target": [
{
"context": "status",
"contextType": "variable",
"element": "coding",
"variable": "coding",
"transform": "create",
"parameter": [
{
"valueString": "Coding"
}
]
}
],
"rule": [
{
"name": "active",
"source": [
{
"context": "src"
}
],
"target": [
{
"context": "coding",
"contextType": "variable",
"element": "code",
"transform": "copy",
"parameter": [
{
"valueString": "active"
}
]
}
]
},
{
"name": "system",
"source": [
{
"context": "src"
}
],
"target": [
{
"context": "coding",
"contextType": "variable",
"element": "system",
"transform": "copy",
"parameter": [
{
"valueString": "http://terminology.hl7.org/CodeSystem/allergyintolerance-clinical"
}
]
}
]
}
]
}
]
},
{
"name": "reference",
"source": [
{
"context": "src",
"element": "text",
"variable": "cdaText"
}
],
"target": [
{
"context": "allergyIntolerance",
"contextType": "variable",
"element": "note",
"variable": "note"
}
],
"rule": [
{
"name": "reference",
"source": [
{
"context": "cdaText",
"variable": "t"
}
],
"target": [
{
"context": "note",
"contextType": "variable",
"element": "text",
"transform": "copy",
"parameter": [
{
"valueId": "t"
}
]
}
]
}
]
}
]
}
]
},
{
"name": "ClinicalDocumentSectionStatoClinicoPaziente",
"typeMode": "none",
"documentation": "------------Sezione Stato Clinico del Paziente----------------------------------------------------------------------------------------------------------------------------------------",
"input": [
{
"name": "cda",
"type": "ClinicalDocument",
"mode": "source"
},
{
"name": "src",
"type": "Section",
"mode": "source"
},
{
"name": "patient",
"type": "Patient",
"mode": "target"
},
{
"name": "tgt",
"mode": "target"
},
{
"name": "bundle",
"type": "Bundle",
"mode": "target"
},
{
"name": "enc",
"type": "Encounter",
"mode": "target"
}
],
"rule": [
{
"name": "title",
"source": [
{
"context": "src",
"element": "title",
"variable": "t"
}
],
"target": [
{
"context": "tgt",
"contextType": "variable",
"element": "title",
"transform": "evaluate",
"parameter": [
{
"valueString": "t.dataString"
}
]
}
]
},
{
"name": "code",
"source": [
{
"context": "src",
"element": "code",
"variable": "vvv"
}
],
"target": [
{
"context": "tgt",
"contextType": "variable",
"element": "code",
"variable": "vvv",
"transform": "create"
}
]
},
{
"name": "nota",
"source": [
{
"context": "src",
"element": "text",
"variable": "cdaText"
}
],
"target": [
{
"context": "bundle",
"contextType": "variable",
"element": "entry",
"variable": "e7"
},
{
"context": "e7",
"contextType": "variable",
"element": "request",
"variable": "request",
"transform": "create",
"parameter": [
{
"valueString": "BackboneElement"
}
]
},
{
"context": "request",
"contextType": "variable",
"element": "method",
"transform": "copy",
"parameter": [
{
"valueString": "POST"
}
]
},
{
"context": "e7",
"contextType": "variable",
"element": "resource",
"variable": "Observation",
"transform": "create",
"parameter": [
{
"valueString": "Observation"
}
]
},
{
"context": "Observation",
"contextType": "variable",
"element": "id",
"variable": "uuid7",
"transform": "uuid"
},
{
"context": "e7",
"contextType": "variable",
"element": "fullUrl",
"transform": "append",
"parameter": [
{
"valueString": "https://example/Observation/"
},
{
"valueId": "uuid7"
}
]
},
{
"context": "request",
"contextType": "variable",
"element": "url",
"transform": "copy",
"parameter": [
{
"valueString": "Observation"
}
]
},
{
"context": "tgt",
"contextType": "variable",
"element": "entry",
"variable": "reference",
"transform": "create",
"parameter": [
{
"valueString": "Reference"
}
]
},
{
"context": "reference",
"contextType": "variable",
"element": "reference",
"transform": "evaluate",
"parameter": [
{
"valueString": "'https://example/Observation/' + %Observation.id"
}
]
}
],
"rule": [
{
"name": "reference",
"source": [
{
"context": "src"
}
],
"target": [
{
"context": "Observation",
"contextType": "variable",
"element": "subject",
"variable": "reference",
"transform": "create",
"parameter": [
{
"valueString": "Reference"
}
]
},
{
"context": "reference",
"contextType": "variable",
"element": "reference",
"transform": "evaluate",
"parameter": [
{
"valueString": "'https://example/Patient/' + %patient.id"
}
]
}
]
},
{
"name": "reference",
"source": [
{
"context": "src"
}
],
"target": [
{
"context": "Observation",
"contextType": "variable",
"element": "encounter",
"variable": "reference",
"transform": "create",
"parameter": [
{
"valueString": "Reference"
}
]
},
{
"context": "reference",
"contextType": "variable",
"element": "reference",
"transform": "evaluate",
"parameter": [
{
"valueString": "'https://example/Encounter/' + %enc.id"
}
]
}
]
},
{
"name": "code",
"source": [
{
"context": "src",
"element": "code",
"variable": "vvv"
}
],
"target": [
{
"context": "Observation",
"contextType": "variable",
"element": "code",
"variable": "vvv",
"transform": "create"
}
]
},
{
"name": "statuscode",
"source": [
{
"context": "src",
"condition": "Observation.statusCode.exists().not()"
}
],
"rule": [
{
"name": "status",
"source": [
{
"context": "src"
}
],
"target": [
{
"context": "Observation",
"contextType": "variable",
"element": "status",
"transform": "copy",
"parameter": [
{
"valueString": "final"
}
]
}
]
}
]
},
{
"name": "reference",
"source": [
{
"context": "cdaText"
}
],
"target": [
{
"context": "Observation",
"contextType": "variable",
"element": "note",
"variable": "note"
}
],
"rule": [
{
"name": "reference",
"source": [
{
"context": "cdaText",
"variable": "t"
}
],
"target": [
{
"context": "note",
"contextType": "variable",
"element": "text",
"transform": "copy",
"parameter": [
{
"valueId": "t"
}
]
}
]
}
]
}
]
}
]
},
{
"name": "periodTiming",
"typeMode": "none",
"input": [
{
"name": "effectiveTime",
"type": "PIVL_TS",
"mode": "source"
},
{
"name": "timing",
"type": "Timing",
"mode": "target"
}
],
"rule": [
{
"name": "repeat",
"source": [
{
"context": "effectiveTime"
}
],
"target": [
{
"context": "timing",
"contextType": "variable",
"element": "repeat",
"variable": "r"
}
],
"rule": [
{
"name": "period",
"source": [
{
"context": "effectiveTime",
"element": "period",
"variable": "p"
}
],
"target": [
{
"context": "r",
"contextType": "variable",
"element": "period",
"transform": "evaluate",
"parameter": [
{
"valueString": "p.value"
}
]
}
]
},
{
"name": "period",
"source": [
{
"context": "effectiveTime",
"element": "period",
"variable": "p"
}
],
"target": [
{
"context": "r",
"contextType": "variable",
"element": "periodUnit",
"transform": "evaluate",
"parameter": [
{
"valueString": "p.unit"
}
]
}
]
}
]
}
]
},
{
"name": "EmedRTOPQPQRatio",
"typeMode": "none",
"input": [
{
"name": "src",
"type": "RTO_PQ_PQ",
"mode": "source"
},
{
"name": "tgt",
"type": "Ratio",
"mode": "target"
}
],
"rule": [
{
"name": "numerator",
"source": [
{
"context": "src",
"element": "numerator",
"variable": "numerator"
}
],
"target": [
{
"context": "tgt",
"contextType": "variable",
"element": "numerator",
"variable": "targetNumerator"
}
],
"dependent": [
{
"name": "EmedPQQuantity",
"variable": [
"numerator",
"targetNumerator"
]
}
]
},
{
"name": "denominator",
"source": [
{
"context": "src",
"element": "denominator",
"variable": "denominator"
}
],
"target": [
{
"context": "tgt",
"contextType": "variable",
"element": "denominator",
"variable": "targetDenominator"
}
],
"dependent": [
{
"name": "EmedPQQuantity",
"variable": [
"denominator",
"targetDenominator"
]
}
]
}
]
},
{
"name": "EmedPQQuantity",
"typeMode": "none",
"input": [
{
"name": "src",
"type": "PQ",
"mode": "source"
},
{
"name": "tgt",
"type": "Quantity",
"mode": "target"
}
],
"rule": [
{
"name": "value",
"source": [
{
"context": "src",
"element": "value",
"variable": "value"
}
],
"target": [
{
"context": "tgt",
"contextType": "variable",
"element": "value",
"transform": "copy",
"parameter": [
{
"valueId": "value"
}
]
}
]
},
{
"name": "unit",
"source": [
{
"context": "src",
"element": "unit",
"variable": "unit"
}
],
"target": [
{
"context": "tgt",
"contextType": "variable",
"element": "code",
"transform": "copy",
"parameter": [
{
"valueId": "unit"
}
]
}
]
},
{
"name": "unit",
"source": [
{
"context": "src",
"element": "unit",
"variable": "unit"
}
],
"target": [
{
"context": "tgt",
"contextType": "variable",
"element": "system",
"transform": "evaluate",
"parameter": [
{
"valueString": "'http://fhir.ch/ig/ch-emed/ValueSet/UnitCode'.resolve().compose.include.where(concept.where(code = %unit)).system"
}
]
}
]
},
{
"name": "unit",
"source": [
{
"context": "src",
"element": "unit",
"variable": "unit"
}
],
"target": [
{
"context": "tgt",
"contextType": "variable",
"element": "unit",
"transform": "evaluate",
"parameter": [
{
"valueString": "'http://fhir.ch/ig/ch-emed/ValueSet/UnitCode'.resolve().compose.include.concept.where(code = %unit).display"
}
]
}
]
}
]
}
]
}