FHIR IG analytics| Package | hl7.fhir.it.cda2fhir |
| Resource Type | StructureMap |
| Id | StructureMap-cda2fhirVaccination.json |
| FHIR Version | R4 |
| Source | https://build.fhir.org/ig/hl7-it/cda2fhir/StructureMap-cda2fhirVaccination.html |
| URL | http://hl7.it/fhir/cda2fhir/StructureMap/cda2fhirVaccination |
| Version | 0.1.0 |
| Status | draft |
| Date | 2026-05-21T10:21:02+00:00 |
| Name | cda2fhirVaccination |
| 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/cda2fhirVaccination" = "cda2fhirVaccination"
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
uses "http://hl7.org/fhir/StructureDefinition/Immunization" alias Immunization 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 ext1 -> identifier.value = ext1 "value";
id.assigningAuthorityName as s -> identifier.assigner as a, a.display = s;
} "idfr";
patient.id as id where (root = '2.16.840.1.113883.2.9.4.3.2') or (root = '2.16.840.1.113883.2.9.4.3.7') or (root = '2.16.840.1.113883.2.9.4.3.3') or (root = '2.16.840.1.113883.2.9.4.3.17') or (root = '2.16.840.1.113883.2.9.4.3.18') or (root = '2.16.840.1.113883.2.9.2.10.4.1.1') or (root = '2.16.840.1.113883.2.9.2.20.4.1.1') or (root = '2.16.840.1.113883.2.9.2.30.4.1.1') or (root = '2.16.840.1.113883.2.9.2.41.4.1.1') or (root = '2.16.840.1.113883.2.9.2.42.4.1.1') or (root = '2.16.840.1.113883.2.9.2.50.4.1.1') or (root = '2.16.840.1.113883.2.9.2.60.4.1.1') or (root = '2.16.840.1.113883.2.9.2.70.4.1.1') or (root = '2.16.840.1.113883.2.9.2.80.4.1.1') or (root = '2.16.840.1.113883.2.9.2.90.4.1.1') or (root = '2.16.840.1.113883.2.9.2.100.4.1.1') or (root = '2.16.840.1.113883.2.9.2.110.4.1.1') or (root = '2.16.840.1.113883.2.9.2.120.4.1.1') or (root = '2.16.840.1.113883.2.9.2.130.4.1.1') or (root = '2.16.840.1.113883.2.9.2.140.4.1.1') or (root = '2.16.840.1.113883.2.9.2.150.4.1.1') or (root = '2.16.840.1.113883.2.9.2.160.4.1.1') or (root = '2.16.840.1.113883.2.9.2.170.4.1.1') or (root = '2.16.840.1.113883.2.9.2.180.4.1.1') or (root = '2.16.840.1.113883.2.9.2.190.4.1.1') or (root = '2.16.840.1.113883.2.9.2.200.4.1.1') or (root = '2.16.840.1.113883.2.9.2.10.4.1') or (root = '2.16.840.1.113883.2.9.2.20.4.1') or (root = '2.16.840.1.113883.2.9.2.30.4.1') or (root = '2.16.840.1.113883.2.9.2.41.4.1') or (root = '2.16.840.1.113883.2.9.2.42.4.1') or (root = '2.16.840.1.113883.2.9.2.50.4.1') or (root = '2.16.840.1.113883.2.9.2.60.4.1') or (root = '2.16.840.1.113883.2.9.2.70.4.1') or (root = '2.16.840.1.113883.2.9.2.80.4.1') or (root = '2.16.840.1.113883.2.9.2.90.4.1') or (root = '2.16.840.1.113883.2.9.2.100.4.1') or (root = '2.16.840.1.113883.2.9.2.110.4.1') or (root = '2.16.840.1.113883.2.9.2.120.4.1') or (root = '2.16.840.1.113883.2.9.2.130.4.1') or (root = '2.16.840.1.113883.2.9.2.140.4.1') or (root = '2.16.840.1.113883.2.9.2.150.4.1') or (root = '2.16.840.1.113883.2.9.2.160.4.1') or (root = '2.16.840.1.113883.2.9.2.170.4.1') or (root = '2.16.840.1.113883.2.9.2.180.4.1') or (root = '2.16.840.1.113883.2.9.2.190.4.1') or (root = '2.16.840.1.113883.2.9.2.200.4.1') or (root = '2.16.840.1.113883.2.9.4.3.15') then {
id.extension as ext -> requestPAT.url = append('Patient?identifier=', ext) "UUID";
} "ext";
} "record";
} "recPat";
} "ClinicalDocumentToBody";
}
group ClinicalDocumentToBundle(source cda : ClinicalDocument, target patient : Patient, target composition : Composition, target encounter : Encounter, target bundle : Bundle, target DocumentReference : DocumentReference) {
cda -> encounter.status = 'finished' "finished";
cda -> encounter.class = create('Coding') as coding then {
cda -> coding.code = 'AMB' "amb";
} "coding";
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.component as component then {
component.section as srcSection then {
srcSection -> composition.section as tgtSection then ClinicalDocumentSection(cda, srcSection, patient, tgtSection, bundle, encounter) "TerapiaFarmacologicaAllaDimissione";
};
};
} "body";
};
}
// --------------------------------
group ClinicalDocumentSection(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 -> tgt.text as fhirText then {
cdaText -> fhirText.status = 'generated' "narrativeStatus";
cdaText as t -> fhirText.div = t "narrativeText";
} "cdaText";
src.entry as entry1 then {
entry1.substanceAdministration as substance then {
substance.templateId where (root = '2.16.840.1.113883.2.9.10.1.11.4.1') -> bundle.entry as e1, e1.request = create('BackboneElement') as request, request.method = 'POST', e1.resource = create('Immunization') as immunization, immunization.id = uuid() as uuid1, e1.fullUrl = append('https://example/Immunization/', uuid1), request.url = 'Immunization', tgt.entry = create('Reference') as reference, reference.reference = ('https://example/Immunization/' + %immunization.id) then {
substance -> immunization.patient = create('Reference') as reference, reference.reference = ('https://example/Patient/' + %patient.id) "patientRef";
// substance.templateId as tid -> immunization.identifier as idf then{
substance.statusCode as statusc where (code = 'completed') -> immunization.status = 'completed';
substance.statusCode as statusc where (code = 'aborted') -> immunization.status = 'final';
substance.statusCode as statusc where (code = 'suspended') -> immunization.status = 'enterer-in-error';
substance.statusCode as statusc where (code = 'cancelled') -> immunization.status = 'not-done';
substance.effectiveTime as eff where (value.exists()) -> immunization.occurrence = create('dateTime') as value then TSDateTime(eff, value) "value1";
substance.effectiveTime as eff where (low.exists()) -> immunization.occurrence = create('Period') as value then IVLTSPeriod(eff, value) "valuePeriod";
substance.routeCode -> immunization.route "route";
substance.approachSiteCode -> immunization.site "site";
substance -> immunization.doseQuantity = create('SimpleQuantity') as quantity then {
substance.doseQuantity as q then {
q -> quantity.value = (q.value) "val";
q -> quantity.unit = (q.unit) "uni";
} "qua";
} "q";
substance.consumable as cons then {
cons.manufacturedProduct as manufact then {
manufact.manufacturedMaterial as manufactmat then {
manufactmat.code -> immunization.vaccineCode;
manufactmat.lotNumberText as t -> immunization.lotNumber = (t.dataString);
} "manufactmat";
manufact.manufacturerOrganization as manufactOrg -> bundle.entry as e1, e1.request = create('BackboneElement') as request, request.method = 'PUT', e1.resource = create('Organization') as organization then {
manufactOrg -> organization.meta as meta then {
manufactOrg -> meta.tag = create('Coding') as coding then {
manufactOrg -> coding.system = 'http://algoritmodiscoring' "system";
manufactOrg -> coding.code = 'ClinicalDocument/body/manufacturerOrganization' "code";
} "coding";
} "meta";
manufactOrg.id as id -> organization.identifier as identifier then {
id.root as r -> identifier.system = translate(r, 'http://hl7.org/fhir/ConceptMap/special-oid2uri', 'uri') "root1";
id.extension as ext -> identifier.value = ext then {
ext -> request.url = append('Organization?identifier=', ext) "UUID";
} "ext";
id.assigningAuthorityName as s -> identifier.assigner as a, a.display = s;
id.root as r then {
id.extension as ext -> organization.id = (r + '-' + ext) as uuid5, e1.fullUrl = append('https://example/Organization/', uuid5), immunization.manufacturer = create('Reference') as reference, reference.reference = ('https://example/Organization/' + %uuid5);
} "r";
} "identifier";
// manufactOrg.id as id then{
manufactOrg.name as n -> organization.name = (n.other);
} "manufactOrg";
} "manufact";
} "cons";
substance.participant as part -> bundle.entry as e1, e1.request = create('BackboneElement') as request, request.method = 'PUT', e1.resource = create('Location') as location then {
part -> location.meta as meta then {
part -> meta.tag = create('Coding') as coding then {
part -> coding.system = 'http://algoritmodiscoring' "system";
part -> coding.code = 'ClinicalDocument/body/participant' "code";
} "coding";
} "meta";
part.participantRole as partRole then {
partRole.id as id -> location.identifier as identifier then {
id.root as r -> identifier.system = translate(r, 'http://hl7.org/fhir/ConceptMap/special-oid2uri', 'uri') "root1";
id.extension as ext -> identifier.value = ext then {
ext -> request.url = append('Location?identifier=', ext) "UUID";
} "ext";
id.assigningAuthorityName as s -> identifier.assigner as a, a.display = s;
id.root as r then {
id.extension as ext -> location.id = (r + '-' + ext) as uuid6, e1.fullUrl = append('https://example/Location/', uuid6), immunization.location = create('Reference') as reference, reference.reference = ('https://example/Location/' + %uuid6) "ref";
} "r";
} "identifier";
} "role";
} "part";
cda -> immunization.protocolApplied as prot then {
substance.entryRelationship as entrirel4 then {
entrirel4.observation as obs then {
obs.code where (code = '75323-6') then {
obs.value -> prot.targetDisease;
} "codeControl";
} "entrirel2";
entrirel4.observation as obsdosenumber then {
obsdosenumber.code where (code = '30973-2') then {
obsdosenumber.value as v then {
v.value as int -> prot.doseNumber = (int.toString());
} "v";
} "codeControl";
} "entrirel2";
} "entrirel4";
} "protocolAp";
substance.entryRelationship as entrirel2 then {
entrirel2.observation as obs then {
obs.code where ((code = '59778-1') or (code = '30981-5') or (code = '30980-7') or (code = '59777-3')) then {
obs.value as value then {
value.high as h then {
h.value as date -> immunization.expirationDate = truncate(date, 10);
} "da";
};
} "codeControl";
} "obs";
} "entrirel2";
substance.entryRelationship as entrirel3 then {
entrirel3.observation as obs then {
obs.code where (code = '95715-9') -> bundle.entry as e1, e1.request = create('BackboneElement') as request, request.method = 'POST', e1.resource = create('Observation') as observation, observation.id = uuid() as uuid1, e1.fullUrl = append('https://example/Observation/', uuid1), request.url = 'Observation', immunization.reasonReference = create('Reference') as reference, reference.reference = ('https://example/Observation/' + %observation.id) then {
obs then Observation(entrirel3, patient, tgt, bundle, enc, observation) "observation";
} "codeControl";
} "obs";
} "entrirel2";
substance.entryRelationship as entrirel4 then {
entrirel4.observation as obs then {
obs.code where (code = '59785-6') -> bundle.entry as e1, e1.request = create('BackboneElement') as request, request.method = 'POST', e1.resource = create('Observation') as observation, observation.id = uuid() as uuid1, e1.fullUrl = append('https://example/Observation/', uuid1), request.url = 'Observation', immunization.reasonReference = create('Reference') as reference, reference.reference = ('https://example/Observation/' + %observation.id) then {
obs then Observation1(entrirel4, patient, tgt, bundle, enc, observation) "observation";
} "codeControl";
} "obs";
} "entrirel2";
substance.entryRelationship as entrirel4 then {
entrirel4.observation as obs then {
obs.code where (code = '31044-1') -> bundle.entry as e1, e1.request = create('BackboneElement') as request, request.method = 'POST', e1.resource = create('Observation') as observation, observation.id = uuid() as uuid1, e1.fullUrl = append('https://example/Observation/', uuid1), request.url = 'Observation', immunization.reasonReference = create('Reference') as reference, reference.reference = ('https://example/Observation/' + %observation.id) then {
obs then Observation1(entrirel4, patient, tgt, bundle, enc, observation) "observation";
} "codeControl";
} "obs";
} "entrirel2";
} "ControlloImmunization";
substance.templateId where (root = '2.16.840.1.113883.2.9.10.1.11.4.2') -> bundle.entry as e1, e1.request = create('BackboneElement') as request, request.method = 'POST', e1.resource = create('Immunization') as immunization, immunization.id = uuid() as uuid1, e1.fullUrl = append('https://example/Immunization/', uuid1), request.url = 'Immunization', tgt.entry = create('Reference') as reference, reference.reference = ('https://example/Immunization/' + %immunization.id) then {
substance -> immunization.patient = create('Reference') as reference, reference.reference = ('https://example/Patient/' + %patient.id) "patientRef";
// substance.templateId as tid -> immunization.identifier as idf then{
substance.statusCode as statusc where (code = 'completed') -> immunization.status = 'completed';
substance.statusCode as statusc where (code = 'aborted') -> immunization.status = 'final';
substance.statusCode as statusc where (code = 'suspended') -> immunization.status = 'enterer-in-error';
substance.statusCode as statusc where (code = 'cancelled') -> immunization.status = 'not-done';
substance.effectiveTime as eff where (value.exists()) -> immunization.occurrence = create('dateTime') as value then TSDateTime(eff, value) "value1";
substance.effectiveTime as eff where (low.exists()) -> immunization.occurrence = create('Period') as value then IVLTSPeriod(eff, value) "valuePeriod";
substance.consumable as cons then {
cons.manufacturedProduct as manufact then {
manufact.manufacturedMaterial as manufactmat then {
manufactmat.code -> immunization.vaccineCode;
manufactmat.lotNumberText as t -> immunization.lotNumber = (t.dataString);
} "manufactmat";
manufact.manufacturerOrganization as manufactOrg -> bundle.entry as e1, e1.request = create('BackboneElement') as request, request.method = 'PUT', e1.resource = create('Organization') as organization then {
manufactOrg -> organization.meta as meta then {
manufactOrg -> meta.tag = create('Coding') as coding then {
manufactOrg -> coding.system = 'http://algoritmodiscoring' "system";
manufactOrg -> coding.code = 'ClinicalDocument/body/manufacturerOrganization' "code";
} "coding";
} "meta";
manufactOrg.id as id -> organization2.identifier as identifier then {
id.root as r -> identifier.system = translate(r, 'http://hl7.org/fhir/ConceptMap/special-oid2uri', 'uri') "root1";
id.extension as ext -> identifier.value = ext then {
manufactOrg -> request.url = append('Organization?identifier=', ext) "UUID";
} "ext";
id.assigningAuthorityName as s -> identifier.assigner as a, a.display = s;
id.root as r then {
id.extension as ext -> organization1.id = (r + '-' + ext) as uuid23, e1.fullUrl = append('https://example/Organization/', uuid23), immunization.manufacturer = create('Reference') as reference, reference.reference = ('https://example/Organization/' + %uuid23) "org";
} "r";
} "identifier";
manufactOrg.name as n -> organization.name = (n.other);
} "manufactOrg";
} "manufact";
} "cons";
cda -> immunization.protocolApplied as prot then {
substance.entryRelationship as entrirel4 then {
entrirel4.observation as obs then {
obs.code where (code = '75323-6') then {
obs.value -> prot.targetDisease;
} "codeControl";
} "entrirel2";
entrirel4.observation as obsdosenumber then {
obsdosenumber.code where (code = '30973-2') then {
obsdosenumber.value as v then {
v.value as int -> prot.doseNumber = (int.toString());
} "v";
} "codeControl";
} "entrirel2";
} "entrirel4";
} "protocolAp";
substance.entryRelationship as entrirel1 then {
entrirel1.observation as obs then {
obs.code where (code = '85714-4') then {
obs.code -> immunization.statusReason;
} "codeControl";
obs.code where (code = '59784-9') then {
obs.value as val then {
val.originalText as original -> immunization.statusReason = create('CodeableConcept') as cod then {
original.reference as reff -> cod.text = (reff.value);
} "cod";
} "val";
} "codeControl";
} "obs";
} "entrirel1";
substance.participant as part -> bundle.entry as e1, e1.request = create('BackboneElement') as request, request.method = 'PUT', e1.resource = create('Location') as location then {
part -> location.meta as meta then {
part -> meta.tag = create('Coding') as coding then {
part -> coding.system = 'http://algoritmodiscoring' "system";
part -> coding.code = 'ClinicalDocument/body/participant' "code";
} "coding";
} "meta";
part.participantRole as partRole then {
partRole.id as id -> location.identifier as identifier then {
id.root as r -> identifier.system = translate(r, 'http://hl7.org/fhir/ConceptMap/special-oid2uri', 'uri') "root1";
id.extension as ext -> identifier.value = ext then {
ext -> request.url = append('Location?identifier=', ext) "UUID";
} "ext";
id.assigningAuthorityName as s -> identifier.assigner as a, a.display = s;
id.root as r then {
id.extension as ext -> location.id = (r + '-' + ext) as uuid7, e1.fullUrl = append('https://example/Location/', uuid7), immunization.location = create('Reference') as reference, reference.reference = ('https://example/Location/' + %uuid7) "ref";
} "r";
} "identifier";
} "role";
} "location";
} "sub2";
} "substance";
};
}
group Observation(source entrirel2 : entryRelationship, target patient : Patient, target tgt, target bundle : Bundle, target enc : Encounter, target obs : Observation) {
entrirel2.observation as observation then {
// observation.templateId as tid -> obs.identifier as idf then{
observation.code -> obs.code;
observation.statusCode as statusc where (code = 'completed') -> obs.status = 'final';
observation.statusCode as statusc where (code = 'active') -> obs.status = 'registered';
observation.statusCode as statusc where (code = 'aborted') -> obs.status = 'cancelled';
observation.statusCode as statusc where (code = 'suspended') -> obs.status = 'partial';
observation -> obs.subject = create('Reference') as reference, reference.reference = ('https://example/Patient/' + %patient.id) "reference";
observation -> obs.encounter = create('Reference') as reference, reference.reference = ('https://example/Encounter/' + %enc.id) "reference";
observation -> obs.referenceRange as refRange then {
observation.value -> refRange.appliesTo;
observation -> refRange.text = 'string' "text";
} "refRange";
} "obs";
}
group Observation1(source entrirel4 : entryRelationship, target patient : Patient, target tgt, target bundle : Bundle, target enc : Encounter, target obs : Observation) {
entrirel4.observation as observation then {
// observation.templateId as tid -> obs.identifier as idf then{
observation.code -> obs.code;
observation.statusCode as statusc where (code = 'completed') -> obs.status = 'final';
observation.statusCode as statusc where (code = 'active') -> obs.status = 'registered';
observation.statusCode as statusc where (code = 'aborted') -> obs.status = 'cancelled';
observation.statusCode as statusc where (code = 'suspended') -> obs.status = 'partial';
observation -> obs.subject = create('Reference') as reference, reference.reference = ('https://example/Patient/' + %patient.id) "reference";
observation -> obs.encounter = create('Reference') as reference, reference.reference = ('https://example/Encounter/' + %enc.id) "reference";
observation.effectiveTime as eff where (value.exists()) -> obs.effective = create('dateTime') as value then TSDateTime(eff, value) "value1";
observation.effectiveTime as eff -> obs.effective = create('Period') as period then IVLTSPeriod(eff, period) "period";
observation -> obs.value = create('CodeableConcept') as concept then {
observation.value -> concept.coding = create('Coding') as coding then {
observation.value as v -> coding.code = (v.code);
observation.value as v then {
v.codeSystem as system -> coding.system = translate(system, 'http://hl7.org/fhir/ConceptMap/special-oid2uri', 'uri');
} "vv";
observation.value as v -> coding.display = (v.displayName);
} "coding";
observation.value as valu then {
valu.originalText as txt then {
txt.reference as ref -> concept.text = (ref.value);
} "txt";
};
} "refRange";
} "obs";
}
{
"resourceType": "StructureMap",
"id": "cda2fhirVaccination",
"text": {
"status": "generated",
"div": "<!-- snip (see above) -->"
},
"url": "http://hl7.it/fhir/cda2fhir/StructureMap/cda2fhirVaccination",
"version": "0.1.0",
"name": "cda2fhirVaccination",
"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"
},
{
"url": "http://hl7.org/fhir/StructureDefinition/Immunization",
"mode": "target",
"alias": "Immunization"
}
],
"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": "recPat",
"source": [
{
"context": "cda",
"element": "recordTarget",
"variable": "recordTarget"
}
],
"rule": [
{
"name": "record",
"source": [
{
"context": "recordTarget",
"element": "patientRole",
"variable": "patient"
}
],
"rule": [
{
"name": "idfr",
"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": "value",
"source": [
{
"context": "id",
"element": "extension",
"variable": "ext1"
}
],
"target": [
{
"context": "identifier",
"contextType": "variable",
"element": "value",
"transform": "copy",
"parameter": [
{
"valueId": "ext1"
}
]
}
]
},
{
"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": "finished",
"source": [
{
"context": "cda"
}
],
"target": [
{
"context": "encounter",
"contextType": "variable",
"element": "status",
"transform": "copy",
"parameter": [
{
"valueString": "finished"
}
]
}
]
},
{
"name": "coding",
"source": [
{
"context": "cda"
}
],
"target": [
{
"context": "encounter",
"contextType": "variable",
"element": "class",
"variable": "coding",
"transform": "create",
"parameter": [
{
"valueString": "Coding"
}
]
}
],
"rule": [
{
"name": "amb",
"source": [
{
"context": "cda"
}
],
"target": [
{
"context": "coding",
"contextType": "variable",
"element": "code",
"transform": "copy",
"parameter": [
{
"valueString": "AMB"
}
]
}
]
}
]
},
{
"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": "component",
"source": [
{
"context": "body",
"element": "component",
"variable": "component"
}
],
"rule": [
{
"name": "section",
"source": [
{
"context": "component",
"element": "section",
"variable": "srcSection"
}
],
"rule": [
{
"name": "TerapiaFarmacologicaAllaDimissione",
"source": [
{
"context": "srcSection"
}
],
"target": [
{
"context": "composition",
"contextType": "variable",
"element": "section",
"variable": "tgtSection"
}
],
"dependent": [
{
"name": "ClinicalDocumentSection",
"variable": [
"cda",
"srcSection",
"patient",
"tgtSection",
"bundle",
"encounter"
]
}
]
}
]
}
]
}
]
}
]
}
]
},
{
"name": "ClinicalDocumentSection",
"typeMode": "none",
"documentation": "--------------------------------",
"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": "cdaText",
"source": [
{
"context": "src",
"element": "text",
"variable": "cdaText"
}
],
"target": [
{
"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": "entry1"
}
],
"rule": [
{
"name": "substance",
"source": [
{
"context": "entry1",
"element": "substanceAdministration",
"variable": "substance"
}
],
"rule": [
{
"name": "ControlloImmunization",
"source": [
{
"context": "substance",
"element": "templateId",
"condition": "(root = '2.16.840.1.113883.2.9.10.1.11.4.1')"
}
],
"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": "immunization",
"transform": "create",
"parameter": [
{
"valueString": "Immunization"
}
]
},
{
"context": "immunization",
"contextType": "variable",
"element": "id",
"variable": "uuid1",
"transform": "uuid"
},
{
"context": "e1",
"contextType": "variable",
"element": "fullUrl",
"transform": "append",
"parameter": [
{
"valueString": "https://example/Immunization/"
},
{
"valueId": "uuid1"
}
]
},
{
"context": "request",
"contextType": "variable",
"element": "url",
"transform": "copy",
"parameter": [
{
"valueString": "Immunization"
}
]
},
{
"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/Immunization/' + %immunization.id"
}
]
}
],
"rule": [
{
"name": "patientRef",
"source": [
{
"context": "substance"
}
],
"target": [
{
"context": "immunization",
"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": "statusCode",
"source": [
{
"context": "substance",
"element": "statusCode",
"variable": "statusc",
"condition": "(code = 'completed')"
}
],
"target": [
{
"context": "immunization",
"contextType": "variable",
"element": "status",
"transform": "copy",
"parameter": [
{
"valueString": "completed"
}
]
}
],
"documentation": "substance.templateId as tid -> immunization.identifier as idf then{"
},
{
"name": "statusCode",
"source": [
{
"context": "substance",
"element": "statusCode",
"variable": "statusc",
"condition": "(code = 'aborted')"
}
],
"target": [
{
"context": "immunization",
"contextType": "variable",
"element": "status",
"transform": "copy",
"parameter": [
{
"valueString": "final"
}
]
}
]
},
{
"name": "statusCode",
"source": [
{
"context": "substance",
"element": "statusCode",
"variable": "statusc",
"condition": "(code = 'suspended')"
}
],
"target": [
{
"context": "immunization",
"contextType": "variable",
"element": "status",
"transform": "copy",
"parameter": [
{
"valueString": "enterer-in-error"
}
]
}
]
},
{
"name": "statusCode",
"source": [
{
"context": "substance",
"element": "statusCode",
"variable": "statusc",
"condition": "(code = 'cancelled')"
}
],
"target": [
{
"context": "immunization",
"contextType": "variable",
"element": "status",
"transform": "copy",
"parameter": [
{
"valueString": "not-done"
}
]
}
]
},
{
"name": "value1",
"source": [
{
"context": "substance",
"element": "effectiveTime",
"variable": "eff",
"condition": "(value.exists())"
}
],
"target": [
{
"context": "immunization",
"contextType": "variable",
"element": "occurrence",
"variable": "value",
"transform": "create",
"parameter": [
{
"valueString": "dateTime"
}
]
}
],
"dependent": [
{
"name": "TSDateTime",
"variable": [
"eff",
"value"
]
}
]
},
{
"name": "valuePeriod",
"source": [
{
"context": "substance",
"element": "effectiveTime",
"variable": "eff",
"condition": "(low.exists())"
}
],
"target": [
{
"context": "immunization",
"contextType": "variable",
"element": "occurrence",
"variable": "value",
"transform": "create",
"parameter": [
{
"valueString": "Period"
}
]
}
],
"dependent": [
{
"name": "IVLTSPeriod",
"variable": [
"eff",
"value"
]
}
]
},
{
"name": "route",
"source": [
{
"context": "substance",
"element": "routeCode",
"variable": "vvv"
}
],
"target": [
{
"context": "immunization",
"contextType": "variable",
"element": "route",
"variable": "vvv",
"transform": "create"
}
]
},
{
"name": "site",
"source": [
{
"context": "substance",
"element": "approachSiteCode",
"variable": "vvv"
}
],
"target": [
{
"context": "immunization",
"contextType": "variable",
"element": "site",
"variable": "vvv",
"transform": "create"
}
]
},
{
"name": "q",
"source": [
{
"context": "substance"
}
],
"target": [
{
"context": "immunization",
"contextType": "variable",
"element": "doseQuantity",
"variable": "quantity",
"transform": "create",
"parameter": [
{
"valueString": "SimpleQuantity"
}
]
}
],
"rule": [
{
"name": "qua",
"source": [
{
"context": "substance",
"element": "doseQuantity",
"variable": "q"
}
],
"rule": [
{
"name": "val",
"source": [
{
"context": "q"
}
],
"target": [
{
"context": "quantity",
"contextType": "variable",
"element": "value",
"transform": "evaluate",
"parameter": [
{
"valueString": "q.value"
}
]
}
]
},
{
"name": "uni",
"source": [
{
"context": "q"
}
],
"target": [
{
"context": "quantity",
"contextType": "variable",
"element": "unit",
"transform": "evaluate",
"parameter": [
{
"valueString": "q.unit"
}
]
}
]
}
]
}
]
},
{
"name": "cons",
"source": [
{
"context": "substance",
"element": "consumable",
"variable": "cons"
}
],
"rule": [
{
"name": "manufact",
"source": [
{
"context": "cons",
"element": "manufacturedProduct",
"variable": "manufact"
}
],
"rule": [
{
"name": "manufactmat",
"source": [
{
"context": "manufact",
"element": "manufacturedMaterial",
"variable": "manufactmat"
}
],
"rule": [
{
"name": "code",
"source": [
{
"context": "manufactmat",
"element": "code",
"variable": "vvv"
}
],
"target": [
{
"context": "immunization",
"contextType": "variable",
"element": "vaccineCode",
"variable": "vvv",
"transform": "create"
}
]
},
{
"name": "lotNumberText",
"source": [
{
"context": "manufactmat",
"element": "lotNumberText",
"variable": "t"
}
],
"target": [
{
"context": "immunization",
"contextType": "variable",
"element": "lotNumber",
"transform": "evaluate",
"parameter": [
{
"valueString": "t.dataString"
}
]
}
]
}
]
},
{
"name": "manufactOrg",
"source": [
{
"context": "manufact",
"element": "manufacturerOrganization",
"variable": "manufactOrg"
}
],
"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": "PUT"
}
]
},
{
"context": "e1",
"contextType": "variable",
"element": "resource",
"variable": "organization",
"transform": "create",
"parameter": [
{
"valueString": "Organization"
}
]
}
],
"rule": [
{
"name": "meta",
"source": [
{
"context": "manufactOrg"
}
],
"target": [
{
"context": "organization",
"contextType": "variable",
"element": "meta",
"variable": "meta"
}
],
"rule": [
{
"name": "coding",
"source": [
{
"context": "manufactOrg"
}
],
"target": [
{
"context": "meta",
"contextType": "variable",
"element": "tag",
"variable": "coding",
"transform": "create",
"parameter": [
{
"valueString": "Coding"
}
]
}
],
"rule": [
{
"name": "system",
"source": [
{
"context": "manufactOrg"
}
],
"target": [
{
"context": "coding",
"contextType": "variable",
"element": "system",
"transform": "copy",
"parameter": [
{
"valueString": "http://algoritmodiscoring"
}
]
}
]
},
{
"name": "code",
"source": [
{
"context": "manufactOrg"
}
],
"target": [
{
"context": "coding",
"contextType": "variable",
"element": "code",
"transform": "copy",
"parameter": [
{
"valueString": "ClinicalDocument/body/manufacturerOrganization"
}
]
}
]
}
]
}
]
},
{
"name": "identifier",
"source": [
{
"context": "manufactOrg",
"element": "id",
"variable": "id"
}
],
"target": [
{
"context": "organization",
"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": "ext",
"source": [
{
"context": "id",
"element": "extension",
"variable": "ext"
}
],
"target": [
{
"context": "identifier",
"contextType": "variable",
"element": "value",
"transform": "copy",
"parameter": [
{
"valueId": "ext"
}
]
}
],
"rule": [
{
"name": "UUID",
"source": [
{
"context": "ext"
}
],
"target": [
{
"context": "request",
"contextType": "variable",
"element": "url",
"transform": "append",
"parameter": [
{
"valueString": "Organization?identifier="
},
{
"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": "r",
"source": [
{
"context": "id",
"element": "root",
"variable": "r"
}
],
"rule": [
{
"name": "extension",
"source": [
{
"context": "id",
"element": "extension",
"variable": "ext"
}
],
"target": [
{
"context": "organization",
"contextType": "variable",
"element": "id",
"variable": "uuid5",
"transform": "evaluate",
"parameter": [
{
"valueString": "r + '-' + ext"
}
]
},
{
"context": "e1",
"contextType": "variable",
"element": "fullUrl",
"transform": "append",
"parameter": [
{
"valueString": "https://example/Organization/"
},
{
"valueId": "uuid5"
}
]
},
{
"context": "immunization",
"contextType": "variable",
"element": "manufacturer",
"variable": "reference",
"transform": "create",
"parameter": [
{
"valueString": "Reference"
}
]
},
{
"context": "reference",
"contextType": "variable",
"element": "reference",
"transform": "evaluate",
"parameter": [
{
"valueString": "'https://example/Organization/' + %uuid5"
}
]
}
]
}
]
}
]
},
{
"name": "name",
"source": [
{
"context": "manufactOrg",
"element": "name",
"variable": "n"
}
],
"target": [
{
"context": "organization",
"contextType": "variable",
"element": "name",
"transform": "evaluate",
"parameter": [
{
"valueString": "n.other"
}
]
}
],
"documentation": "manufactOrg.id as id then{"
}
]
}
]
}
]
},
{
"name": "part",
"source": [
{
"context": "substance",
"element": "participant",
"variable": "part"
}
],
"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": "PUT"
}
]
},
{
"context": "e1",
"contextType": "variable",
"element": "resource",
"variable": "location",
"transform": "create",
"parameter": [
{
"valueString": "Location"
}
]
}
],
"rule": [
{
"name": "meta",
"source": [
{
"context": "part"
}
],
"target": [
{
"context": "location",
"contextType": "variable",
"element": "meta",
"variable": "meta"
}
],
"rule": [
{
"name": "coding",
"source": [
{
"context": "part"
}
],
"target": [
{
"context": "meta",
"contextType": "variable",
"element": "tag",
"variable": "coding",
"transform": "create",
"parameter": [
{
"valueString": "Coding"
}
]
}
],
"rule": [
{
"name": "system",
"source": [
{
"context": "part"
}
],
"target": [
{
"context": "coding",
"contextType": "variable",
"element": "system",
"transform": "copy",
"parameter": [
{
"valueString": "http://algoritmodiscoring"
}
]
}
]
},
{
"name": "code",
"source": [
{
"context": "part"
}
],
"target": [
{
"context": "coding",
"contextType": "variable",
"element": "code",
"transform": "copy",
"parameter": [
{
"valueString": "ClinicalDocument/body/participant"
}
]
}
]
}
]
}
]
},
{
"name": "role",
"source": [
{
"context": "part",
"element": "participantRole",
"variable": "partRole"
}
],
"rule": [
{
"name": "identifier",
"source": [
{
"context": "partRole",
"element": "id",
"variable": "id"
}
],
"target": [
{
"context": "location",
"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": "ext",
"source": [
{
"context": "id",
"element": "extension",
"variable": "ext"
}
],
"target": [
{
"context": "identifier",
"contextType": "variable",
"element": "value",
"transform": "copy",
"parameter": [
{
"valueId": "ext"
}
]
}
],
"rule": [
{
"name": "UUID",
"source": [
{
"context": "ext"
}
],
"target": [
{
"context": "request",
"contextType": "variable",
"element": "url",
"transform": "append",
"parameter": [
{
"valueString": "Location?identifier="
},
{
"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": "r",
"source": [
{
"context": "id",
"element": "root",
"variable": "r"
}
],
"rule": [
{
"name": "ref",
"source": [
{
"context": "id",
"element": "extension",
"variable": "ext"
}
],
"target": [
{
"context": "location",
"contextType": "variable",
"element": "id",
"variable": "uuid6",
"transform": "evaluate",
"parameter": [
{
"valueString": "r + '-' + ext"
}
]
},
{
"context": "e1",
"contextType": "variable",
"element": "fullUrl",
"transform": "append",
"parameter": [
{
"valueString": "https://example/Location/"
},
{
"valueId": "uuid6"
}
]
},
{
"context": "immunization",
"contextType": "variable",
"element": "location",
"variable": "reference",
"transform": "create",
"parameter": [
{
"valueString": "Reference"
}
]
},
{
"context": "reference",
"contextType": "variable",
"element": "reference",
"transform": "evaluate",
"parameter": [
{
"valueString": "'https://example/Location/' + %uuid6"
}
]
}
]
}
]
}
]
}
]
}
]
},
{
"name": "protocolAp",
"source": [
{
"context": "cda"
}
],
"target": [
{
"context": "immunization",
"contextType": "variable",
"element": "protocolApplied",
"variable": "prot"
}
],
"rule": [
{
"name": "entrirel4",
"source": [
{
"context": "substance",
"element": "entryRelationship",
"variable": "entrirel4"
}
],
"rule": [
{
"name": "entrirel2",
"source": [
{
"context": "entrirel4",
"element": "observation",
"variable": "obs"
}
],
"rule": [
{
"name": "codeControl",
"source": [
{
"context": "obs",
"element": "code",
"condition": "(code = '75323-6')"
}
],
"rule": [
{
"name": "value",
"source": [
{
"context": "obs",
"element": "value",
"variable": "vvv"
}
],
"target": [
{
"context": "prot",
"contextType": "variable",
"element": "targetDisease",
"variable": "vvv",
"transform": "create"
}
]
}
]
}
]
},
{
"name": "entrirel2",
"source": [
{
"context": "entrirel4",
"element": "observation",
"variable": "obsdosenumber"
}
],
"rule": [
{
"name": "codeControl",
"source": [
{
"context": "obsdosenumber",
"element": "code",
"condition": "(code = '30973-2')"
}
],
"rule": [
{
"name": "v",
"source": [
{
"context": "obsdosenumber",
"element": "value",
"variable": "v"
}
],
"rule": [
{
"name": "value",
"source": [
{
"context": "v",
"element": "value",
"variable": "int"
}
],
"target": [
{
"context": "prot",
"contextType": "variable",
"element": "doseNumber",
"transform": "evaluate",
"parameter": [
{
"valueString": "int.toString()"
}
]
}
]
}
]
}
]
}
]
}
]
}
]
},
{
"name": "entrirel2",
"source": [
{
"context": "substance",
"element": "entryRelationship",
"variable": "entrirel2"
}
],
"rule": [
{
"name": "obs",
"source": [
{
"context": "entrirel2",
"element": "observation",
"variable": "obs"
}
],
"rule": [
{
"name": "codeControl",
"source": [
{
"context": "obs",
"element": "code",
"condition": "((code = '59778-1') or (code = '30981-5') or (code = '30980-7') or (code = '59777-3'))"
}
],
"rule": [
{
"name": "value",
"source": [
{
"context": "obs",
"element": "value",
"variable": "value"
}
],
"rule": [
{
"name": "da",
"source": [
{
"context": "value",
"element": "high",
"variable": "h"
}
],
"rule": [
{
"name": "value",
"source": [
{
"context": "h",
"element": "value",
"variable": "date"
}
],
"target": [
{
"context": "immunization",
"contextType": "variable",
"element": "expirationDate",
"transform": "truncate",
"parameter": [
{
"valueId": "date"
},
{
"valueInteger": 10
}
]
}
]
}
]
}
]
}
]
}
]
}
]
},
{
"name": "entrirel2",
"source": [
{
"context": "substance",
"element": "entryRelationship",
"variable": "entrirel3"
}
],
"rule": [
{
"name": "obs",
"source": [
{
"context": "entrirel3",
"element": "observation",
"variable": "obs"
}
],
"rule": [
{
"name": "codeControl",
"source": [
{
"context": "obs",
"element": "code",
"condition": "(code = '95715-9')"
}
],
"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": "observation",
"transform": "create",
"parameter": [
{
"valueString": "Observation"
}
]
},
{
"context": "observation",
"contextType": "variable",
"element": "id",
"variable": "uuid1",
"transform": "uuid"
},
{
"context": "e1",
"contextType": "variable",
"element": "fullUrl",
"transform": "append",
"parameter": [
{
"valueString": "https://example/Observation/"
},
{
"valueId": "uuid1"
}
]
},
{
"context": "request",
"contextType": "variable",
"element": "url",
"transform": "copy",
"parameter": [
{
"valueString": "Observation"
}
]
},
{
"context": "immunization",
"contextType": "variable",
"element": "reasonReference",
"variable": "reference",
"transform": "create",
"parameter": [
{
"valueString": "Reference"
}
]
},
{
"context": "reference",
"contextType": "variable",
"element": "reference",
"transform": "evaluate",
"parameter": [
{
"valueString": "'https://example/Observation/' + %observation.id"
}
]
}
],
"rule": [
{
"name": "observation",
"source": [
{
"context": "obs"
}
],
"dependent": [
{
"name": "Observation",
"variable": [
"entrirel3",
"patient",
"tgt",
"bundle",
"enc",
"observation"
]
}
]
}
]
}
]
}
]
},
{
"name": "entrirel2",
"source": [
{
"context": "substance",
"element": "entryRelationship",
"variable": "entrirel4"
}
],
"rule": [
{
"name": "obs",
"source": [
{
"context": "entrirel4",
"element": "observation",
"variable": "obs"
}
],
"rule": [
{
"name": "codeControl",
"source": [
{
"context": "obs",
"element": "code",
"condition": "(code = '59785-6')"
}
],
"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": "observation",
"transform": "create",
"parameter": [
{
"valueString": "Observation"
}
]
},
{
"context": "observation",
"contextType": "variable",
"element": "id",
"variable": "uuid1",
"transform": "uuid"
},
{
"context": "e1",
"contextType": "variable",
"element": "fullUrl",
"transform": "append",
"parameter": [
{
"valueString": "https://example/Observation/"
},
{
"valueId": "uuid1"
}
]
},
{
"context": "request",
"contextType": "variable",
"element": "url",
"transform": "copy",
"parameter": [
{
"valueString": "Observation"
}
]
},
{
"context": "immunization",
"contextType": "variable",
"element": "reasonReference",
"variable": "reference",
"transform": "create",
"parameter": [
{
"valueString": "Reference"
}
]
},
{
"context": "reference",
"contextType": "variable",
"element": "reference",
"transform": "evaluate",
"parameter": [
{
"valueString": "'https://example/Observation/' + %observation.id"
}
]
}
],
"rule": [
{
"name": "observation",
"source": [
{
"context": "obs"
}
],
"dependent": [
{
"name": "Observation1",
"variable": [
"entrirel4",
"patient",
"tgt",
"bundle",
"enc",
"observation"
]
}
]
}
]
}
]
}
]
},
{
"name": "entrirel2",
"source": [
{
"context": "substance",
"element": "entryRelationship",
"variable": "entrirel4"
}
],
"rule": [
{
"name": "obs",
"source": [
{
"context": "entrirel4",
"element": "observation",
"variable": "obs"
}
],
"rule": [
{
"name": "codeControl",
"source": [
{
"context": "obs",
"element": "code",
"condition": "(code = '31044-1')"
}
],
"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": "observation",
"transform": "create",
"parameter": [
{
"valueString": "Observation"
}
]
},
{
"context": "observation",
"contextType": "variable",
"element": "id",
"variable": "uuid1",
"transform": "uuid"
},
{
"context": "e1",
"contextType": "variable",
"element": "fullUrl",
"transform": "append",
"parameter": [
{
"valueString": "https://example/Observation/"
},
{
"valueId": "uuid1"
}
]
},
{
"context": "request",
"contextType": "variable",
"element": "url",
"transform": "copy",
"parameter": [
{
"valueString": "Observation"
}
]
},
{
"context": "immunization",
"contextType": "variable",
"element": "reasonReference",
"variable": "reference",
"transform": "create",
"parameter": [
{
"valueString": "Reference"
}
]
},
{
"context": "reference",
"contextType": "variable",
"element": "reference",
"transform": "evaluate",
"parameter": [
{
"valueString": "'https://example/Observation/' + %observation.id"
}
]
}
],
"rule": [
{
"name": "observation",
"source": [
{
"context": "obs"
}
],
"dependent": [
{
"name": "Observation1",
"variable": [
"entrirel4",
"patient",
"tgt",
"bundle",
"enc",
"observation"
]
}
]
}
]
}
]
}
]
}
]
},
{
"name": "sub2",
"source": [
{
"context": "substance",
"element": "templateId",
"condition": "(root = '2.16.840.1.113883.2.9.10.1.11.4.2')"
}
],
"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": "immunization",
"transform": "create",
"parameter": [
{
"valueString": "Immunization"
}
]
},
{
"context": "immunization",
"contextType": "variable",
"element": "id",
"variable": "uuid1",
"transform": "uuid"
},
{
"context": "e1",
"contextType": "variable",
"element": "fullUrl",
"transform": "append",
"parameter": [
{
"valueString": "https://example/Immunization/"
},
{
"valueId": "uuid1"
}
]
},
{
"context": "request",
"contextType": "variable",
"element": "url",
"transform": "copy",
"parameter": [
{
"valueString": "Immunization"
}
]
},
{
"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/Immunization/' + %immunization.id"
}
]
}
],
"rule": [
{
"name": "patientRef",
"source": [
{
"context": "substance"
}
],
"target": [
{
"context": "immunization",
"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": "statusCode",
"source": [
{
"context": "substance",
"element": "statusCode",
"variable": "statusc",
"condition": "(code = 'completed')"
}
],
"target": [
{
"context": "immunization",
"contextType": "variable",
"element": "status",
"transform": "copy",
"parameter": [
{
"valueString": "completed"
}
]
}
],
"documentation": "substance.templateId as tid -> immunization.identifier as idf then{"
},
{
"name": "statusCode",
"source": [
{
"context": "substance",
"element": "statusCode",
"variable": "statusc",
"condition": "(code = 'aborted')"
}
],
"target": [
{
"context": "immunization",
"contextType": "variable",
"element": "status",
"transform": "copy",
"parameter": [
{
"valueString": "final"
}
]
}
]
},
{
"name": "statusCode",
"source": [
{
"context": "substance",
"element": "statusCode",
"variable": "statusc",
"condition": "(code = 'suspended')"
}
],
"target": [
{
"context": "immunization",
"contextType": "variable",
"element": "status",
"transform": "copy",
"parameter": [
{
"valueString": "enterer-in-error"
}
]
}
]
},
{
"name": "statusCode",
"source": [
{
"context": "substance",
"element": "statusCode",
"variable": "statusc",
"condition": "(code = 'cancelled')"
}
],
"target": [
{
"context": "immunization",
"contextType": "variable",
"element": "status",
"transform": "copy",
"parameter": [
{
"valueString": "not-done"
}
]
}
]
},
{
"name": "value1",
"source": [
{
"context": "substance",
"element": "effectiveTime",
"variable": "eff",
"condition": "(value.exists())"
}
],
"target": [
{
"context": "immunization",
"contextType": "variable",
"element": "occurrence",
"variable": "value",
"transform": "create",
"parameter": [
{
"valueString": "dateTime"
}
]
}
],
"dependent": [
{
"name": "TSDateTime",
"variable": [
"eff",
"value"
]
}
]
},
{
"name": "valuePeriod",
"source": [
{
"context": "substance",
"element": "effectiveTime",
"variable": "eff",
"condition": "(low.exists())"
}
],
"target": [
{
"context": "immunization",
"contextType": "variable",
"element": "occurrence",
"variable": "value",
"transform": "create",
"parameter": [
{
"valueString": "Period"
}
]
}
],
"dependent": [
{
"name": "IVLTSPeriod",
"variable": [
"eff",
"value"
]
}
]
},
{
"name": "cons",
"source": [
{
"context": "substance",
"element": "consumable",
"variable": "cons"
}
],
"rule": [
{
"name": "manufact",
"source": [
{
"context": "cons",
"element": "manufacturedProduct",
"variable": "manufact"
}
],
"rule": [
{
"name": "manufactmat",
"source": [
{
"context": "manufact",
"element": "manufacturedMaterial",
"variable": "manufactmat"
}
],
"rule": [
{
"name": "code",
"source": [
{
"context": "manufactmat",
"element": "code",
"variable": "vvv"
}
],
"target": [
{
"context": "immunization",
"contextType": "variable",
"element": "vaccineCode",
"variable": "vvv",
"transform": "create"
}
]
},
{
"name": "lotNumberText",
"source": [
{
"context": "manufactmat",
"element": "lotNumberText",
"variable": "t"
}
],
"target": [
{
"context": "immunization",
"contextType": "variable",
"element": "lotNumber",
"transform": "evaluate",
"parameter": [
{
"valueString": "t.dataString"
}
]
}
]
}
]
},
{
"name": "manufactOrg",
"source": [
{
"context": "manufact",
"element": "manufacturerOrganization",
"variable": "manufactOrg"
}
],
"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": "PUT"
}
]
},
{
"context": "e1",
"contextType": "variable",
"element": "resource",
"variable": "organization",
"transform": "create",
"parameter": [
{
"valueString": "Organization"
}
]
}
],
"rule": [
{
"name": "meta",
"source": [
{
"context": "manufactOrg"
}
],
"target": [
{
"context": "organization",
"contextType": "variable",
"element": "meta",
"variable": "meta"
}
],
"rule": [
{
"name": "coding",
"source": [
{
"context": "manufactOrg"
}
],
"target": [
{
"context": "meta",
"contextType": "variable",
"element": "tag",
"variable": "coding",
"transform": "create",
"parameter": [
{
"valueString": "Coding"
}
]
}
],
"rule": [
{
"name": "system",
"source": [
{
"context": "manufactOrg"
}
],
"target": [
{
"context": "coding",
"contextType": "variable",
"element": "system",
"transform": "copy",
"parameter": [
{
"valueString": "http://algoritmodiscoring"
}
]
}
]
},
{
"name": "code",
"source": [
{
"context": "manufactOrg"
}
],
"target": [
{
"context": "coding",
"contextType": "variable",
"element": "code",
"transform": "copy",
"parameter": [
{
"valueString": "ClinicalDocument/body/manufacturerOrganization"
}
]
}
]
}
]
}
]
},
{
"name": "identifier",
"source": [
{
"context": "manufactOrg",
"element": "id",
"variable": "id"
}
],
"target": [
{
"context": "organization2",
"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": "ext",
"source": [
{
"context": "id",
"element": "extension",
"variable": "ext"
}
],
"target": [
{
"context": "identifier",
"contextType": "variable",
"element": "value",
"transform": "copy",
"parameter": [
{
"valueId": "ext"
}
]
}
],
"rule": [
{
"name": "UUID",
"source": [
{
"context": "manufactOrg"
}
],
"target": [
{
"context": "request",
"contextType": "variable",
"element": "url",
"transform": "append",
"parameter": [
{
"valueString": "Organization?identifier="
},
{
"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": "r",
"source": [
{
"context": "id",
"element": "root",
"variable": "r"
}
],
"rule": [
{
"name": "org",
"source": [
{
"context": "id",
"element": "extension",
"variable": "ext"
}
],
"target": [
{
"context": "organization1",
"contextType": "variable",
"element": "id",
"variable": "uuid23",
"transform": "evaluate",
"parameter": [
{
"valueString": "r + '-' + ext"
}
]
},
{
"context": "e1",
"contextType": "variable",
"element": "fullUrl",
"transform": "append",
"parameter": [
{
"valueString": "https://example/Organization/"
},
{
"valueId": "uuid23"
}
]
},
{
"context": "immunization",
"contextType": "variable",
"element": "manufacturer",
"variable": "reference",
"transform": "create",
"parameter": [
{
"valueString": "Reference"
}
]
},
{
"context": "reference",
"contextType": "variable",
"element": "reference",
"transform": "evaluate",
"parameter": [
{
"valueString": "'https://example/Organization/' + %uuid23"
}
]
}
]
}
]
}
]
},
{
"name": "name",
"source": [
{
"context": "manufactOrg",
"element": "name",
"variable": "n"
}
],
"target": [
{
"context": "organization",
"contextType": "variable",
"element": "name",
"transform": "evaluate",
"parameter": [
{
"valueString": "n.other"
}
]
}
]
}
]
}
]
}
]
},
{
"name": "protocolAp",
"source": [
{
"context": "cda"
}
],
"target": [
{
"context": "immunization",
"contextType": "variable",
"element": "protocolApplied",
"variable": "prot"
}
],
"rule": [
{
"name": "entrirel4",
"source": [
{
"context": "substance",
"element": "entryRelationship",
"variable": "entrirel4"
}
],
"rule": [
{
"name": "entrirel2",
"source": [
{
"context": "entrirel4",
"element": "observation",
"variable": "obs"
}
],
"rule": [
{
"name": "codeControl",
"source": [
{
"context": "obs",
"element": "code",
"condition": "(code = '75323-6')"
}
],
"rule": [
{
"name": "value",
"source": [
{
"context": "obs",
"element": "value",
"variable": "vvv"
}
],
"target": [
{
"context": "prot",
"contextType": "variable",
"element": "targetDisease",
"variable": "vvv",
"transform": "create"
}
]
}
]
}
]
},
{
"name": "entrirel2",
"source": [
{
"context": "entrirel4",
"element": "observation",
"variable": "obsdosenumber"
}
],
"rule": [
{
"name": "codeControl",
"source": [
{
"context": "obsdosenumber",
"element": "code",
"condition": "(code = '30973-2')"
}
],
"rule": [
{
"name": "v",
"source": [
{
"context": "obsdosenumber",
"element": "value",
"variable": "v"
}
],
"rule": [
{
"name": "value",
"source": [
{
"context": "v",
"element": "value",
"variable": "int"
}
],
"target": [
{
"context": "prot",
"contextType": "variable",
"element": "doseNumber",
"transform": "evaluate",
"parameter": [
{
"valueString": "int.toString()"
}
]
}
]
}
]
}
]
}
]
}
]
}
]
},
{
"name": "entrirel1",
"source": [
{
"context": "substance",
"element": "entryRelationship",
"variable": "entrirel1"
}
],
"rule": [
{
"name": "obs",
"source": [
{
"context": "entrirel1",
"element": "observation",
"variable": "obs"
}
],
"rule": [
{
"name": "codeControl",
"source": [
{
"context": "obs",
"element": "code",
"condition": "(code = '85714-4')"
}
],
"rule": [
{
"name": "code",
"source": [
{
"context": "obs",
"element": "code",
"variable": "vvv"
}
],
"target": [
{
"context": "immunization",
"contextType": "variable",
"element": "statusReason",
"variable": "vvv",
"transform": "create"
}
]
}
]
},
{
"name": "codeControl",
"source": [
{
"context": "obs",
"element": "code",
"condition": "(code = '59784-9')"
}
],
"rule": [
{
"name": "val",
"source": [
{
"context": "obs",
"element": "value",
"variable": "val"
}
],
"rule": [
{
"name": "cod",
"source": [
{
"context": "val",
"element": "originalText",
"variable": "original"
}
],
"target": [
{
"context": "immunization",
"contextType": "variable",
"element": "statusReason",
"variable": "cod",
"transform": "create",
"parameter": [
{
"valueString": "CodeableConcept"
}
]
}
],
"rule": [
{
"name": "reference",
"source": [
{
"context": "original",
"element": "reference",
"variable": "reff"
}
],
"target": [
{
"context": "cod",
"contextType": "variable",
"element": "text",
"transform": "evaluate",
"parameter": [
{
"valueString": "reff.value"
}
]
}
]
}
]
}
]
}
]
}
]
}
]
},
{
"name": "location",
"source": [
{
"context": "substance",
"element": "participant",
"variable": "part"
}
],
"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": "PUT"
}
]
},
{
"context": "e1",
"contextType": "variable",
"element": "resource",
"variable": "location",
"transform": "create",
"parameter": [
{
"valueString": "Location"
}
]
}
],
"rule": [
{
"name": "meta",
"source": [
{
"context": "part"
}
],
"target": [
{
"context": "location",
"contextType": "variable",
"element": "meta",
"variable": "meta"
}
],
"rule": [
{
"name": "coding",
"source": [
{
"context": "part"
}
],
"target": [
{
"context": "meta",
"contextType": "variable",
"element": "tag",
"variable": "coding",
"transform": "create",
"parameter": [
{
"valueString": "Coding"
}
]
}
],
"rule": [
{
"name": "system",
"source": [
{
"context": "part"
}
],
"target": [
{
"context": "coding",
"contextType": "variable",
"element": "system",
"transform": "copy",
"parameter": [
{
"valueString": "http://algoritmodiscoring"
}
]
}
]
},
{
"name": "code",
"source": [
{
"context": "part"
}
],
"target": [
{
"context": "coding",
"contextType": "variable",
"element": "code",
"transform": "copy",
"parameter": [
{
"valueString": "ClinicalDocument/body/participant"
}
]
}
]
}
]
}
]
},
{
"name": "role",
"source": [
{
"context": "part",
"element": "participantRole",
"variable": "partRole"
}
],
"rule": [
{
"name": "identifier",
"source": [
{
"context": "partRole",
"element": "id",
"variable": "id"
}
],
"target": [
{
"context": "location",
"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": "ext",
"source": [
{
"context": "id",
"element": "extension",
"variable": "ext"
}
],
"target": [
{
"context": "identifier",
"contextType": "variable",
"element": "value",
"transform": "copy",
"parameter": [
{
"valueId": "ext"
}
]
}
],
"rule": [
{
"name": "UUID",
"source": [
{
"context": "ext"
}
],
"target": [
{
"context": "request",
"contextType": "variable",
"element": "url",
"transform": "append",
"parameter": [
{
"valueString": "Location?identifier="
},
{
"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": "r",
"source": [
{
"context": "id",
"element": "root",
"variable": "r"
}
],
"rule": [
{
"name": "ref",
"source": [
{
"context": "id",
"element": "extension",
"variable": "ext"
}
],
"target": [
{
"context": "location",
"contextType": "variable",
"element": "id",
"variable": "uuid7",
"transform": "evaluate",
"parameter": [
{
"valueString": "r + '-' + ext"
}
]
},
{
"context": "e1",
"contextType": "variable",
"element": "fullUrl",
"transform": "append",
"parameter": [
{
"valueString": "https://example/Location/"
},
{
"valueId": "uuid7"
}
]
},
{
"context": "immunization",
"contextType": "variable",
"element": "location",
"variable": "reference",
"transform": "create",
"parameter": [
{
"valueString": "Reference"
}
]
},
{
"context": "reference",
"contextType": "variable",
"element": "reference",
"transform": "evaluate",
"parameter": [
{
"valueString": "'https://example/Location/' + %uuid7"
}
]
}
]
}
]
}
]
}
]
}
]
}
]
}
]
}
]
}
]
},
{
"name": "Observation",
"typeMode": "none",
"input": [
{
"name": "entrirel2",
"type": "entryRelationship",
"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": "obs",
"type": "Observation",
"mode": "target"
}
],
"rule": [
{
"name": "obs",
"source": [
{
"context": "entrirel2",
"element": "observation",
"variable": "observation"
}
],
"rule": [
{
"name": "code",
"source": [
{
"context": "observation",
"element": "code",
"variable": "vvv"
}
],
"target": [
{
"context": "obs",
"contextType": "variable",
"element": "code",
"variable": "vvv",
"transform": "create"
}
],
"documentation": "observation.templateId as tid -> obs.identifier as idf then{"
},
{
"name": "statusCode",
"source": [
{
"context": "observation",
"element": "statusCode",
"variable": "statusc",
"condition": "(code = 'completed')"
}
],
"target": [
{
"context": "obs",
"contextType": "variable",
"element": "status",
"transform": "copy",
"parameter": [
{
"valueString": "final"
}
]
}
]
},
{
"name": "statusCode",
"source": [
{
"context": "observation",
"element": "statusCode",
"variable": "statusc",
"condition": "(code = 'active')"
}
],
"target": [
{
"context": "obs",
"contextType": "variable",
"element": "status",
"transform": "copy",
"parameter": [
{
"valueString": "registered"
}
]
}
]
},
{
"name": "statusCode",
"source": [
{
"context": "observation",
"element": "statusCode",
"variable": "statusc",
"condition": "(code = 'aborted')"
}
],
"target": [
{
"context": "obs",
"contextType": "variable",
"element": "status",
"transform": "copy",
"parameter": [
{
"valueString": "cancelled"
}
]
}
]
},
{
"name": "statusCode",
"source": [
{
"context": "observation",
"element": "statusCode",
"variable": "statusc",
"condition": "(code = 'suspended')"
}
],
"target": [
{
"context": "obs",
"contextType": "variable",
"element": "status",
"transform": "copy",
"parameter": [
{
"valueString": "partial"
}
]
}
]
},
{
"name": "reference",
"source": [
{
"context": "observation"
}
],
"target": [
{
"context": "obs",
"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": "observation"
}
],
"target": [
{
"context": "obs",
"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": "refRange",
"source": [
{
"context": "observation"
}
],
"target": [
{
"context": "obs",
"contextType": "variable",
"element": "referenceRange",
"variable": "refRange"
}
],
"rule": [
{
"name": "value",
"source": [
{
"context": "observation",
"element": "value",
"variable": "vvv"
}
],
"target": [
{
"context": "refRange",
"contextType": "variable",
"element": "appliesTo",
"variable": "vvv",
"transform": "create"
}
]
},
{
"name": "text",
"source": [
{
"context": "observation"
}
],
"target": [
{
"context": "refRange",
"contextType": "variable",
"element": "text",
"transform": "copy",
"parameter": [
{
"valueString": "string"
}
]
}
]
}
]
}
]
}
]
},
{
"name": "Observation1",
"typeMode": "none",
"input": [
{
"name": "entrirel4",
"type": "entryRelationship",
"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": "obs",
"type": "Observation",
"mode": "target"
}
],
"rule": [
{
"name": "obs",
"source": [
{
"context": "entrirel4",
"element": "observation",
"variable": "observation"
}
],
"rule": [
{
"name": "code",
"source": [
{
"context": "observation",
"element": "code",
"variable": "vvv"
}
],
"target": [
{
"context": "obs",
"contextType": "variable",
"element": "code",
"variable": "vvv",
"transform": "create"
}
],
"documentation": "observation.templateId as tid -> obs.identifier as idf then{"
},
{
"name": "statusCode",
"source": [
{
"context": "observation",
"element": "statusCode",
"variable": "statusc",
"condition": "(code = 'completed')"
}
],
"target": [
{
"context": "obs",
"contextType": "variable",
"element": "status",
"transform": "copy",
"parameter": [
{
"valueString": "final"
}
]
}
]
},
{
"name": "statusCode",
"source": [
{
"context": "observation",
"element": "statusCode",
"variable": "statusc",
"condition": "(code = 'active')"
}
],
"target": [
{
"context": "obs",
"contextType": "variable",
"element": "status",
"transform": "copy",
"parameter": [
{
"valueString": "registered"
}
]
}
]
},
{
"name": "statusCode",
"source": [
{
"context": "observation",
"element": "statusCode",
"variable": "statusc",
"condition": "(code = 'aborted')"
}
],
"target": [
{
"context": "obs",
"contextType": "variable",
"element": "status",
"transform": "copy",
"parameter": [
{
"valueString": "cancelled"
}
]
}
]
},
{
"name": "statusCode",
"source": [
{
"context": "observation",
"element": "statusCode",
"variable": "statusc",
"condition": "(code = 'suspended')"
}
],
"target": [
{
"context": "obs",
"contextType": "variable",
"element": "status",
"transform": "copy",
"parameter": [
{
"valueString": "partial"
}
]
}
]
},
{
"name": "reference",
"source": [
{
"context": "observation"
}
],
"target": [
{
"context": "obs",
"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": "observation"
}
],
"target": [
{
"context": "obs",
"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": "value1",
"source": [
{
"context": "observation",
"element": "effectiveTime",
"variable": "eff",
"condition": "(value.exists())"
}
],
"target": [
{
"context": "obs",
"contextType": "variable",
"element": "effective",
"variable": "value",
"transform": "create",
"parameter": [
{
"valueString": "dateTime"
}
]
}
],
"dependent": [
{
"name": "TSDateTime",
"variable": [
"eff",
"value"
]
}
]
},
{
"name": "period",
"source": [
{
"context": "observation",
"element": "effectiveTime",
"variable": "eff"
}
],
"target": [
{
"context": "obs",
"contextType": "variable",
"element": "effective",
"variable": "period",
"transform": "create",
"parameter": [
{
"valueString": "Period"
}
]
}
],
"dependent": [
{
"name": "IVLTSPeriod",
"variable": [
"eff",
"period"
]
}
]
},
{
"name": "refRange",
"source": [
{
"context": "observation"
}
],
"target": [
{
"context": "obs",
"contextType": "variable",
"element": "value",
"variable": "concept",
"transform": "create",
"parameter": [
{
"valueString": "CodeableConcept"
}
]
}
],
"rule": [
{
"name": "coding",
"source": [
{
"context": "observation",
"element": "value"
}
],
"target": [
{
"context": "concept",
"contextType": "variable",
"element": "coding",
"variable": "coding",
"transform": "create",
"parameter": [
{
"valueString": "Coding"
}
]
}
],
"rule": [
{
"name": "value",
"source": [
{
"context": "observation",
"element": "value",
"variable": "v"
}
],
"target": [
{
"context": "coding",
"contextType": "variable",
"element": "code",
"transform": "evaluate",
"parameter": [
{
"valueString": "v.code"
}
]
}
]
},
{
"name": "vv",
"source": [
{
"context": "observation",
"element": "value",
"variable": "v"
}
],
"rule": [
{
"name": "codeSystem",
"source": [
{
"context": "v",
"element": "codeSystem",
"variable": "system"
}
],
"target": [
{
"context": "coding",
"contextType": "variable",
"element": "system",
"transform": "translate",
"parameter": [
{
"valueId": "system"
},
{
"valueString": "http://hl7.org/fhir/ConceptMap/special-oid2uri"
},
{
"valueString": "uri"
}
]
}
]
}
]
},
{
"name": "value",
"source": [
{
"context": "observation",
"element": "value",
"variable": "v"
}
],
"target": [
{
"context": "coding",
"contextType": "variable",
"element": "display",
"transform": "evaluate",
"parameter": [
{
"valueString": "v.displayName"
}
]
}
]
}
]
},
{
"name": "value",
"source": [
{
"context": "observation",
"element": "value",
"variable": "valu"
}
],
"rule": [
{
"name": "txt",
"source": [
{
"context": "valu",
"element": "originalText",
"variable": "txt"
}
],
"rule": [
{
"name": "reference",
"source": [
{
"context": "txt",
"element": "reference",
"variable": "ref"
}
],
"target": [
{
"context": "concept",
"contextType": "variable",
"element": "text",
"transform": "evaluate",
"parameter": [
{
"valueString": "ref.value"
}
]
}
]
}
]
}
]
}
]
}
]
}
]
}
]
}