{
"description": null,
"_filename": "StructureMap-DVCLMToIPS.json",
"package_name": "smart.who.int.icvp",
"date": "2024-10-07T07:28:50+00:00",
"group": [ {
"name": "DVCLMToIPS",
"rule": [ {
"name": "setIPSType",
"source": [ {
"context": "lm"
} ],
"target": [ {
"context": "ips",
"element": "type",
"parameter": [ {
"valueString": "document"
} ],
"transform": "copy",
"contextType": "variable"
} ]
}, {
"name": "setId",
"source": [ {
"context": "lm"
} ],
"target": [ {
"variable": "bid",
"transform": "uuid",
"contextType": "variable"
}, {
"context": "ips",
"element": "identifier",
"variable": "id",
"contextType": "variable"
}, {
"context": "id",
"element": "value",
"parameter": [ {
"valueId": "bid"
} ],
"transform": "copy",
"contextType": "variable"
}, {
"context": "id",
"element": "system",
"parameter": [ {
"valueString": "urn:oid:2.16.724.4.8.10.200.10"
} ],
"transform": "copy",
"contextType": "variable"
} ]
}, {
"name": "setEntries",
"rule": [ {
"name": "mapCompositionResource",
"rule": [ {
"name": "set LmToComposition",
"source": [ {
"context": "lm"
} ],
"dependent": [ {
"name": "LmToComposition",
"variable": [ "lm", "ips", "composition", "cid", "pid", "mid", "aid", "proid", "immid" ]
} ]
}, {
"name": "mapPatientResource",
"rule": [ {
"name": "createPatient",
"source": [ {
"context": "lm"
} ],
"dependent": [ {
"name": "DemographicsToPatient",
"variable": [ "lm", "patient", "pid" ]
} ]
}, {
"name": "setPatientEntry",
"source": [ {
"context": "lm"
} ],
"target": [ {
"context": "entry",
"element": "resource",
"parameter": [ {
"valueId": "patient"
} ],
"transform": "copy",
"contextType": "variable"
} ]
} ],
"source": [ {
"context": "lm"
} ],
"target": [ {
"context": "ips",
"element": "entry",
"variable": "entry",
"contextType": "variable"
}, {
"context": "entry",
"element": "fullUrl",
"parameter": [ {
"valueString": "urn:uuid:"
}, {
"valueId": "pid"
} ],
"transform": "append",
"contextType": "variable"
}, {
"variable": "patient",
"parameter": [ {
"valueString": "Patient"
} ],
"transform": "create",
"contextType": "variable"
} ]
}, {
"name": "ss",
"rule": [ {
"name": "mapOrganizationResource",
"rule": [ {
"name": "createOrganization",
"source": [ {
"context": "lm"
} ],
"target": [ {
"context": "organization",
"contextType": "variable"
} ],
"dependent": [ {
"name": "createAuthor",
"variable": [ "issuer", "organization" ]
} ]
}, {
"name": "setOrganizationEntry",
"source": [ {
"context": "lm"
} ],
"target": [ {
"context": "entry",
"element": "resource",
"parameter": [ {
"valueId": "organization"
} ],
"transform": "copy",
"contextType": "variable"
} ]
} ],
"source": [ {
"context": "issuer",
"element": "reference",
"variable": "id"
} ],
"target": [ {
"context": "ips",
"element": "entry",
"variable": "entry",
"contextType": "variable"
}, {
"context": "entry",
"element": "fullUrl",
"parameter": [ {
"valueString": "urn:uuid:"
}, {
"valueId": "id"
} ],
"transform": "append",
"contextType": "variable"
}, {
"variable": "organization",
"parameter": [ {
"valueString": "Organization"
} ],
"transform": "create",
"contextType": "variable"
} ]
} ],
"source": [ {
"context": "lm",
"element": "issuer",
"variable": "issuer"
} ]
} ],
"source": [ {
"context": "lm"
} ],
"target": [ {
"context": "ips",
"element": "entry",
"variable": "entry",
"contextType": "variable"
}, {
"context": "entry",
"element": "resource",
"variable": "composition",
"parameter": [ {
"valueString": "Composition"
} ],
"transform": "create",
"contextType": "variable"
}, {
"context": "entry",
"element": "fullUrl",
"parameter": [ {
"valueString": "urn:uuid:"
}, {
"valueId": "cid"
} ],
"transform": "append",
"contextType": "variable"
} ]
} ],
"source": [ {
"context": "lm"
} ],
"target": [ {
"variable": "cid",
"transform": "uuid",
"contextType": "variable"
}, {
"variable": "pid",
"transform": "uuid",
"contextType": "variable"
}, {
"variable": "mid",
"transform": "uuid",
"contextType": "variable"
}, {
"variable": "aid",
"transform": "uuid",
"contextType": "variable"
}, {
"variable": "proid",
"transform": "uuid",
"contextType": "variable"
}, {
"variable": "immid",
"transform": "uuid",
"contextType": "variable"
} ]
} ],
"input": [ {
"mode": "source",
"name": "lm",
"type": "DVCLogicalModel"
}, {
"mode": "target",
"name": "ips",
"type": "IPS"
} ],
"typeMode": "none",
"documentation": "create Bundle"
}, {
"name": "LmToComposition",
"rule": [ {
"name": "setCid",
"source": [ {
"context": "cid"
} ],
"target": [ {
"context": "composition",
"element": "id",
"parameter": [ {
"valueId": "cid"
} ],
"transform": "copy",
"contextType": "variable"
} ]
}, {
"name": "setStatus",
"source": [ {
"context": "lm"
} ],
"target": [ {
"context": "composition",
"element": "status",
"parameter": [ {
"valueString": "final"
} ],
"transform": "copy",
"contextType": "variable"
} ]
}, {
"name": "setTitle",
"source": [ {
"context": "lm"
} ],
"target": [ {
"context": "composition",
"element": "title",
"parameter": [ {
"valueString": "International Patient Summary"
} ],
"transform": "copy",
"contextType": "variable"
} ]
}, {
"name": "setType",
"source": [ {
"context": "lm"
} ],
"target": [ {
"variable": "coding",
"parameter": [ {
"valueString": "Coding"
} ],
"transform": "create",
"contextType": "variable"
}, {
"context": "coding",
"element": "code",
"parameter": [ {
"valueString": "60591-5"
} ],
"transform": "copy",
"contextType": "variable"
}, {
"context": "coding",
"element": "system",
"parameter": [ {
"valueString": "http://loinc.org"
} ],
"transform": "copy",
"contextType": "variable"
}, {
"variable": "code",
"parameter": [ {
"valueString": "CodeableConcept"
} ],
"transform": "create",
"contextType": "variable"
}, {
"context": "code",
"element": "coding",
"parameter": [ {
"valueId": "coding"
} ],
"transform": "copy",
"contextType": "variable"
}, {
"context": "composition",
"element": "type",
"parameter": [ {
"valueId": "code"
} ],
"transform": "copy",
"contextType": "variable"
} ]
}, {
"name": "setSubject",
"rule": [ {
"name": "setSubject",
"source": [ {
"context": "lm"
} ],
"target": [ {
"context": "subject",
"element": "reference",
"parameter": [ {
"valueString": "urn:uuid:"
}, {
"valueId": "pid"
} ],
"transform": "append",
"contextType": "variable"
} ]
} ],
"source": [ {
"context": "lm"
} ],
"target": [ {
"context": "composition",
"element": "subject",
"variable": "subject",
"contextType": "variable"
} ]
}, {
"name": "setid",
"rule": [ {
"name": "setauthr",
"rule": [ {
"name": "setAuthor",
"source": [ {
"context": "id"
} ],
"target": [ {
"context": "author",
"element": "reference",
"parameter": [ {
"valueString": "urn:uuid:"
}, {
"valueId": "id"
} ],
"transform": "append",
"contextType": "variable"
} ]
} ],
"source": [ {
"context": "issuer",
"element": "reference",
"variable": "id"
} ],
"target": [ {
"context": "composition",
"element": "author",
"variable": "author",
"contextType": "variable"
} ]
} ],
"source": [ {
"context": "lm",
"element": "issuer",
"variable": "issuer"
} ]
}, {
"name": "createMedication",
"source": [ {
"context": "lm"
} ],
"target": [ {
"context": "composition",
"element": "section",
"variable": "medication",
"contextType": "variable"
} ],
"dependent": [ {
"name": "createSectionMedications",
"variable": [ "lm", "medication", "mid" ]
} ]
}, {
"name": "createAllergies",
"source": [ {
"context": "lm"
} ],
"target": [ {
"context": "composition",
"element": "section",
"variable": "allergies",
"contextType": "variable"
} ],
"dependent": [ {
"name": "createSectionAllergies",
"variable": [ "lm", "allergies", "aid" ]
} ]
}, {
"name": "createProblems",
"source": [ {
"context": "lm"
} ],
"target": [ {
"context": "composition",
"element": "section",
"variable": "problems",
"contextType": "variable"
} ],
"dependent": [ {
"name": "createSectionProblems",
"variable": [ "lm", "problems", "proid" ]
} ]
}, {
"name": "createImmunizations",
"source": [ {
"context": "lm"
} ],
"dependent": [ {
"name": "createSectionImmunizations",
"variable": [ "lm", "ips", "composition", "immid", "pid" ]
} ]
} ],
"input": [ {
"mode": "source",
"name": "lm",
"type": "DVCLogicalModel"
}, {
"mode": "target",
"name": "ips",
"type": "Bundle"
}, {
"mode": "target",
"name": "composition",
"type": "Composition"
}, {
"mode": "source",
"name": "cid"
}, {
"mode": "source",
"name": "pid"
}, {
"mode": "source",
"name": "mid"
}, {
"mode": "source",
"name": "aid"
}, {
"mode": "source",
"name": "proid"
}, {
"mode": "source",
"name": "immid"
} ],
"typeMode": "none",
"documentation": "create Composition"
}, {
"name": "DemographicsToPatient",
"rule": [ {
"name": "setPatientId",
"source": [ {
"context": "pid"
} ],
"target": [ {
"context": "patient",
"element": "id",
"parameter": [ {
"valueId": "pid"
} ],
"transform": "copy",
"contextType": "variable"
} ]
}, {
"name": "Setname",
"source": [ {
"context": "lm",
"element": "name",
"variable": "sourceName"
} ],
"target": [ {
"context": "patient",
"element": "name",
"variable": "targetName",
"contextType": "variable"
} ],
"dependent": [ {
"name": "nameToHumanName",
"variable": [ "sourceName", "targetName" ]
} ]
}, {
"name": "setDateofBirth",
"source": [ {
"context": "lm",
"element": "dob",
"variable": "dob"
} ],
"target": [ {
"context": "patient",
"element": "birthDate",
"parameter": [ {
"valueId": "dob"
} ],
"transform": "copy",
"contextType": "variable"
} ]
}, {
"name": "Patient Gender",
"source": [ {
"context": "lm",
"element": "sex",
"variable": "sex"
} ],
"dependent": [ {
"name": "ExtractGender",
"variable": [ "sex", "patient" ]
} ]
}, {
"name": "setNationalIdentifier",
"source": [ {
"context": "lm",
"element": "nid",
"variable": "id"
} ],
"target": [ {
"context": "patient",
"element": "identifier",
"variable": "identifier",
"contextType": "variable"
}, {
"context": "identifier",
"element": "value",
"parameter": [ {
"valueId": "id"
} ],
"transform": "copy",
"contextType": "variable"
} ]
}, {
"name": "setGuardianName",
"source": [ {
"context": "lm",
"element": "guardian",
"variable": "guardian"
} ],
"target": [ {
"context": "patient",
"element": "contact",
"variable": "parentContact",
"contextType": "variable"
}, {
"context": "parentContact",
"element": "name",
"variable": "parentName",
"contextType": "variable"
} ],
"dependent": [ {
"name": "nameToHumanName",
"variable": [ "guardian", "parentName" ]
} ]
} ],
"input": [ {
"mode": "source",
"name": "lm",
"type": "DVCLogicalModel"
}, {
"mode": "target",
"name": "patient",
"type": "Patient"
}, {
"mode": "source",
"name": "pid"
} ],
"typeMode": "none",
"documentation": "create Patient"
}, {
"name": "ExtractGender",
"rule": [ {
"name": "set male",
"source": [ {
"context": "sex",
"condition": "(sex = 'M')"
} ],
"target": [ {
"context": "patient",
"element": "gender",
"parameter": [ {
"valueString": "male"
} ],
"transform": "copy",
"contextType": "variable"
} ]
}, {
"name": "set female",
"source": [ {
"context": "sex",
"condition": "(sex = 'F')"
} ],
"target": [ {
"context": "patient",
"element": "gender",
"parameter": [ {
"valueString": "female"
} ],
"transform": "copy",
"contextType": "variable"
} ]
}, {
"name": "set male",
"source": [ {
"context": "sex",
"condition": "(sex = 'm')"
} ],
"target": [ {
"context": "patient",
"element": "gender",
"parameter": [ {
"valueString": "male"
} ],
"transform": "copy",
"contextType": "variable"
} ]
}, {
"name": "set female",
"source": [ {
"context": "sex",
"condition": "(sex = 'f')"
} ],
"target": [ {
"context": "patient",
"element": "gender",
"parameter": [ {
"valueString": "female"
} ],
"transform": "copy",
"contextType": "variable"
} ]
}, {
"name": "set male",
"source": [ {
"context": "sex",
"condition": "(sex = 'Male')"
} ],
"target": [ {
"context": "patient",
"element": "gender",
"parameter": [ {
"valueString": "male"
} ],
"transform": "copy",
"contextType": "variable"
} ]
}, {
"name": "set female",
"source": [ {
"context": "sex",
"condition": "(sex = 'Female')"
} ],
"target": [ {
"context": "patient",
"element": "gender",
"parameter": [ {
"valueString": "female"
} ],
"transform": "copy",
"contextType": "variable"
} ]
}, {
"name": "set male",
"source": [ {
"context": "sex",
"condition": "(sex = 'male')"
} ],
"target": [ {
"context": "patient",
"element": "gender",
"parameter": [ {
"valueString": "male"
} ],
"transform": "copy",
"contextType": "variable"
} ]
}, {
"name": "set female",
"source": [ {
"context": "sex",
"condition": "(sex = 'female')"
} ],
"target": [ {
"context": "patient",
"element": "gender",
"parameter": [ {
"valueString": "female"
} ],
"transform": "copy",
"contextType": "variable"
} ]
} ],
"input": [ {
"mode": "source",
"name": "sex"
}, {
"mode": "target",
"name": "patient",
"type": "Patient"
} ],
"typeMode": "none",
"documentation": "deals with short and case sensitive codes"
}, {
"name": "createAuthor",
"rule": [ {
"name": "setID",
"source": [ {
"context": "issuer",
"element": "reference",
"variable": "id"
} ],
"target": [ {
"context": "org",
"element": "id",
"parameter": [ {
"valueId": "id"
} ],
"transform": "copy",
"contextType": "variable"
} ]
} ],
"input": [ {
"mode": "source",
"name": "issuer"
}, {
"mode": "target",
"name": "org",
"type": "Organization"
} ],
"typeMode": "none",
"documentation": "create author"
}, {
"name": "createSectionMedications",
"rule": [ {
"name": "setmedicationid",
"source": [ {
"context": "mid"
} ],
"target": [ {
"context": "med",
"element": "id",
"parameter": [ {
"valueId": "mid"
} ],
"transform": "copy",
"contextType": "variable"
} ]
}, {
"name": "setMedicationTitle",
"source": [ {
"context": "lm"
} ],
"target": [ {
"context": "med",
"element": "title",
"parameter": [ {
"valueString": "Medication Summary Section"
} ],
"transform": "copy",
"contextType": "variable"
} ]
}, {
"name": "setText",
"source": [ {
"context": "lm"
} ],
"target": [ {
"context": "med",
"element": "text",
"variable": "text",
"contextType": "variable"
} ],
"dependent": [ {
"name": "generateNarrativeText",
"variable": [ "med", "text" ]
} ]
}, {
"name": "setCode",
"source": [ {
"context": "lm"
} ],
"target": [ {
"variable": "coding",
"parameter": [ {
"valueString": "Coding"
} ],
"transform": "create",
"contextType": "variable"
}, {
"context": "coding",
"element": "code",
"parameter": [ {
"valueString": "10160-0"
} ],
"transform": "copy",
"contextType": "variable"
}, {
"context": "coding",
"element": "system",
"parameter": [ {
"valueString": "http://loinc.org"
} ],
"transform": "copy",
"contextType": "variable"
}, {
"variable": "code",
"parameter": [ {
"valueString": "CodeableConcept"
} ],
"transform": "create",
"contextType": "variable"
}, {
"context": "code",
"element": "coding",
"parameter": [ {
"valueId": "coding"
} ],
"transform": "copy",
"contextType": "variable"
}, {
"context": "med",
"element": "code",
"parameter": [ {
"valueId": "code"
} ],
"transform": "copy",
"contextType": "variable"
} ]
}, {
"name": "setCode",
"source": [ {
"context": "lm"
} ],
"target": [ {
"variable": "coding",
"parameter": [ {
"valueString": "Coding"
} ],
"transform": "create",
"contextType": "variable"
}, {
"context": "coding",
"element": "code",
"parameter": [ {
"valueString": "unavailable"
} ],
"transform": "copy",
"contextType": "variable"
}, {
"context": "coding",
"element": "system",
"parameter": [ {
"valueString": "http://hl7.org/fhir/ValueSet/list-empty-reason"
} ],
"transform": "copy",
"contextType": "variable"
}, {
"variable": "code",
"parameter": [ {
"valueString": "CodeableConcept"
} ],
"transform": "create",
"contextType": "variable"
}, {
"context": "code",
"element": "coding",
"parameter": [ {
"valueId": "coding"
} ],
"transform": "copy",
"contextType": "variable"
}, {
"context": "med",
"element": "emptyReason",
"parameter": [ {
"valueId": "code"
} ],
"transform": "copy",
"contextType": "variable"
} ]
} ],
"input": [ {
"mode": "source",
"name": "lm",
"type": "DVCLogicalModel"
}, {
"mode": "target",
"name": "med",
"type": "BackboneElement"
}, {
"mode": "source",
"name": "mid"
} ],
"typeMode": "none",
"documentation": "create sectionMedications"
}, {
"name": "createSectionAllergies",
"rule": [ {
"name": "setAllergyId",
"source": [ {
"context": "aid"
} ],
"target": [ {
"context": "all",
"element": "id",
"parameter": [ {
"valueId": "aid"
} ],
"transform": "copy",
"contextType": "variable"
} ]
}, {
"name": "setAllergyTitle",
"source": [ {
"context": "lm"
} ],
"target": [ {
"context": "all",
"element": "title",
"parameter": [ {
"valueString": "Allergies Section"
} ],
"transform": "copy",
"contextType": "variable"
} ]
}, {
"name": "setText",
"source": [ {
"context": "lm"
} ],
"target": [ {
"context": "all",
"element": "text",
"variable": "text",
"contextType": "variable"
} ],
"dependent": [ {
"name": "generateNarrativeText",
"variable": [ "all", "text" ]
} ]
}, {
"name": "setCode",
"source": [ {
"context": "lm"
} ],
"target": [ {
"variable": "coding",
"parameter": [ {
"valueString": "Coding"
} ],
"transform": "create",
"contextType": "variable"
}, {
"context": "coding",
"element": "code",
"parameter": [ {
"valueString": "48765-2"
} ],
"transform": "copy",
"contextType": "variable"
}, {
"context": "coding",
"element": "system",
"parameter": [ {
"valueString": "http://loinc.org"
} ],
"transform": "copy",
"contextType": "variable"
}, {
"variable": "code",
"parameter": [ {
"valueString": "CodeableConcept"
} ],
"transform": "create",
"contextType": "variable"
}, {
"context": "code",
"element": "coding",
"parameter": [ {
"valueId": "coding"
} ],
"transform": "copy",
"contextType": "variable"
}, {
"context": "all",
"element": "code",
"parameter": [ {
"valueId": "code"
} ],
"transform": "copy",
"contextType": "variable"
} ]
}, {
"name": "setCode",
"source": [ {
"context": "lm"
} ],
"target": [ {
"variable": "coding",
"parameter": [ {
"valueString": "Coding"
} ],
"transform": "create",
"contextType": "variable"
}, {
"context": "coding",
"element": "code",
"parameter": [ {
"valueString": "unavailable"
} ],
"transform": "copy",
"contextType": "variable"
}, {
"context": "coding",
"element": "system",
"parameter": [ {
"valueString": "http://hl7.org/fhir/ValueSet/list-empty-reason"
} ],
"transform": "copy",
"contextType": "variable"
}, {
"variable": "code",
"parameter": [ {
"valueString": "CodeableConcept"
} ],
"transform": "create",
"contextType": "variable"
}, {
"context": "code",
"element": "coding",
"parameter": [ {
"valueId": "coding"
} ],
"transform": "copy",
"contextType": "variable"
}, {
"context": "all",
"element": "emptyReason",
"parameter": [ {
"valueId": "code"
} ],
"transform": "copy",
"contextType": "variable"
} ]
} ],
"input": [ {
"mode": "source",
"name": "lm",
"type": "DVCLogicalModel"
}, {
"mode": "target",
"name": "all",
"type": "BackboneElement"
}, {
"mode": "source",
"name": "aid"
} ],
"typeMode": "none",
"documentation": "create sectionAllergies"
}, {
"name": "createSectionProblems",
"rule": [ {
"name": "setProblemsId",
"source": [ {
"context": "proid"
} ],
"target": [ {
"context": "prb",
"element": "id",
"parameter": [ {
"valueId": "proid"
} ],
"transform": "copy",
"contextType": "variable"
} ]
}, {
"name": "setProblemTitle",
"source": [ {
"context": "lm"
} ],
"target": [ {
"context": "prb",
"element": "title",
"parameter": [ {
"valueString": "Problems Section"
} ],
"transform": "copy",
"contextType": "variable"
} ]
}, {
"name": "setText",
"source": [ {
"context": "lm"
} ],
"target": [ {
"context": "prb",
"element": "text",
"variable": "text",
"contextType": "variable"
} ],
"dependent": [ {
"name": "generateNarrativeText",
"variable": [ "prb", "text" ]
} ]
}, {
"name": "setCode",
"source": [ {
"context": "lm"
} ],
"target": [ {
"variable": "coding",
"parameter": [ {
"valueString": "Coding"
} ],
"transform": "create",
"contextType": "variable"
}, {
"context": "coding",
"element": "code",
"parameter": [ {
"valueString": "11450-4"
} ],
"transform": "copy",
"contextType": "variable"
}, {
"context": "coding",
"element": "system",
"parameter": [ {
"valueString": "http://loinc.org"
} ],
"transform": "copy",
"contextType": "variable"
}, {
"variable": "code",
"parameter": [ {
"valueString": "CodeableConcept"
} ],
"transform": "create",
"contextType": "variable"
}, {
"context": "code",
"element": "coding",
"parameter": [ {
"valueId": "coding"
} ],
"transform": "copy",
"contextType": "variable"
}, {
"context": "prb",
"element": "code",
"parameter": [ {
"valueId": "code"
} ],
"transform": "copy",
"contextType": "variable"
} ]
}, {
"name": "setCode",
"source": [ {
"context": "lm"
} ],
"target": [ {
"variable": "coding",
"parameter": [ {
"valueString": "Coding"
} ],
"transform": "create",
"contextType": "variable"
}, {
"context": "coding",
"element": "code",
"parameter": [ {
"valueString": "unavailable"
} ],
"transform": "copy",
"contextType": "variable"
}, {
"context": "coding",
"element": "system",
"parameter": [ {
"valueString": "http://hl7.org/fhir/ValueSet/list-empty-reason"
} ],
"transform": "copy",
"contextType": "variable"
}, {
"variable": "code",
"parameter": [ {
"valueString": "CodeableConcept"
} ],
"transform": "create",
"contextType": "variable"
}, {
"context": "code",
"element": "coding",
"parameter": [ {
"valueId": "coding"
} ],
"transform": "copy",
"contextType": "variable"
}, {
"context": "prb",
"element": "emptyReason",
"parameter": [ {
"valueId": "code"
} ],
"transform": "copy",
"contextType": "variable"
} ]
} ],
"input": [ {
"mode": "source",
"name": "lm",
"type": "DVCLogicalModel"
}, {
"mode": "target",
"name": "prb",
"type": "BackboneElement"
}, {
"mode": "source",
"name": "proid"
} ],
"typeMode": "none",
"documentation": "create sectionProblems"
}, {
"name": "createSectionImmunizations",
"rule": [ {
"name": "set",
"rule": [ {
"name": "setImmunizationsId",
"source": [ {
"context": "immid"
} ],
"target": [ {
"context": "imm",
"element": "id",
"parameter": [ {
"valueId": "immid"
} ],
"transform": "copy",
"contextType": "variable"
} ]
}, {
"name": "setImmunizationTitle",
"source": [ {
"context": "lm"
} ],
"target": [ {
"context": "imm",
"element": "title",
"parameter": [ {
"valueString": "Immunizations Section"
} ],
"transform": "copy",
"contextType": "variable"
} ]
}, {
"name": "setText",
"source": [ {
"context": "lm"
} ],
"target": [ {
"context": "imm",
"element": "text",
"variable": "text",
"contextType": "variable"
} ],
"dependent": [ {
"name": "generateNarrativeText",
"variable": [ "imm", "text" ]
} ]
}, {
"name": "setCode",
"source": [ {
"context": "lm"
} ],
"target": [ {
"variable": "coding",
"parameter": [ {
"valueString": "Coding"
} ],
"transform": "create",
"contextType": "variable"
}, {
"context": "coding",
"element": "code",
"parameter": [ {
"valueString": "11369-6"
} ],
"transform": "copy",
"contextType": "variable"
}, {
"context": "coding",
"element": "system",
"parameter": [ {
"valueString": "http://loinc.org"
} ],
"transform": "copy",
"contextType": "variable"
}, {
"variable": "code",
"parameter": [ {
"valueString": "CodeableConcept"
} ],
"transform": "create",
"contextType": "variable"
}, {
"context": "code",
"element": "coding",
"parameter": [ {
"valueId": "coding"
} ],
"transform": "copy",
"contextType": "variable"
}, {
"context": "imm",
"element": "code",
"parameter": [ {
"valueId": "code"
} ],
"transform": "copy",
"contextType": "variable"
} ]
}, {
"name": "setImmz",
"source": [ {
"context": "lm",
"element": "vaccineDetails",
"variable": "vax"
} ],
"target": [ {
"variable": "id",
"transform": "uuid",
"contextType": "variable"
}, {
"context": "bundle",
"element": "entry",
"variable": "entry",
"contextType": "variable"
}, {
"context": "entry",
"element": "fullUrl",
"parameter": [ {
"valueString": "urn:uuid:"
}, {
"valueId": "id"
} ],
"transform": "append",
"contextType": "variable"
}, {
"context": "imm",
"element": "entry",
"variable": "sectionEntry",
"contextType": "variable"
}, {
"context": "sectionEntry",
"element": "reference",
"parameter": [ {
"valueString": "urn:uuid:"
}, {
"valueId": "id"
} ],
"transform": "append",
"contextType": "variable"
}, {
"context": "entry",
"element": "resource",
"variable": "immunization",
"parameter": [ {
"valueString": "Immunization"
} ],
"transform": "create",
"contextType": "variable"
}, {
"context": "immunization",
"element": "id",
"parameter": [ {
"valueId": "id"
} ],
"transform": "copy",
"contextType": "variable"
} ],
"dependent": [ {
"name": "createImmunizationResource",
"variable": [ "vax", "immunization", "pid" ]
} ]
} ],
"source": [ {
"context": "lm"
} ],
"target": [ {
"context": "composition",
"element": "section",
"variable": "imm",
"contextType": "variable"
} ]
} ],
"input": [ {
"mode": "source",
"name": "lm",
"type": "DVCLogicalModel"
}, {
"mode": "target",
"name": "bundle",
"type": "Bundle"
}, {
"mode": "target",
"name": "composition",
"type": "Composition"
}, {
"mode": "source",
"name": "immid"
}, {
"mode": "source",
"name": "pid"
} ],
"typeMode": "none",
"documentation": "create sectionImmunizations"
}, {
"name": "createImmunizationResource",
"rule": [ {
"name": "setStatus",
"source": [ {
"context": "vax"
} ],
"target": [ {
"context": "immunization",
"element": "status",
"parameter": [ {
"valueString": "completed"
} ],
"transform": "copy",
"contextType": "variable"
} ]
}, {
"name": "setvaccinecode",
"source": [ {
"context": "vax",
"element": "vaccineClassification",
"variable": "vaccine"
} ],
"target": [ {
"context": "immunization",
"element": "vaccineCode",
"parameter": [ {
"valueId": "vaccine"
} ],
"transform": "copy",
"contextType": "variable"
} ]
}, {
"name": "setDate",
"source": [ {
"context": "vax",
"element": "date",
"variable": "date"
} ],
"target": [ {
"context": "immunization",
"element": "occurrence",
"parameter": [ {
"valueId": "date"
}, {
"valueString": "T00:00:00.000Z"
} ],
"transform": "append",
"contextType": "variable"
} ]
}, {
"name": "setBatchNo",
"source": [ {
"context": "vax",
"element": "batchNo",
"variable": "batchNo"
} ],
"target": [ {
"context": "immunization",
"element": "lotNumber",
"parameter": [ {
"valueId": "batchNo"
} ],
"transform": "copy",
"contextType": "variable"
} ]
}, {
"name": "setProtocolApplied",
"rule": [ {
"name": "setDoseNo",
"rule": [ {
"name": "setDoseNo",
"rule": [ {
"name": "setDoseNo",
"source": [ {
"context": "coding",
"element": "code",
"variable": "code"
} ],
"target": [ {
"context": "protocol",
"element": "doseNumber",
"parameter": [ {
"valueId": "code"
} ],
"transform": "copy",
"contextType": "variable"
} ]
} ],
"source": [ {
"context": "doseNo",
"element": "coding",
"variable": "coding"
} ]
} ],
"source": [ {
"context": "vax",
"element": "doseNumber",
"variable": "doseNo"
} ]
}, {
"name": "setTargetDisease",
"source": [ {
"context": "vax",
"element": "disease",
"variable": "disease"
} ],
"target": [ {
"variable": "code",
"parameter": [ {
"valueString": "CodeableConcept"
} ],
"transform": "create",
"contextType": "variable"
}, {
"context": "code",
"element": "coding",
"parameter": [ {
"valueId": "disease"
} ],
"transform": "copy",
"contextType": "variable"
}, {
"context": "protocol",
"element": "targetDisease",
"parameter": [ {
"valueId": "code"
} ],
"transform": "copy",
"contextType": "variable"
} ]
} ],
"source": [ {
"context": "vax"
} ],
"target": [ {
"context": "immunization",
"element": "protocolApplied",
"variable": "protocol",
"contextType": "variable"
} ]
}, {
"name": "setSubject",
"source": [ {
"context": "vax"
} ],
"target": [ {
"context": "immunization",
"element": "patient",
"variable": "subject",
"contextType": "variable"
}, {
"context": "subject",
"element": "reference",
"parameter": [ {
"valueString": "urn:uuid:"
}, {
"valueId": "pid"
} ],
"transform": "append",
"contextType": "variable"
} ]
}, {
"name": "set Manufacturer",
"source": [ {
"context": "vax",
"element": "manufacturerId",
"variable": "maId"
} ],
"target": [ {
"variable": "maRef",
"parameter": [ {
"valueString": "Reference"
} ],
"transform": "create",
"contextType": "variable"
}, {
"context": "maRef",
"element": "identifier",
"parameter": [ {
"valueId": "maId"
} ],
"transform": "copy",
"contextType": "variable"
}, {
"context": "immunization",
"element": "manufacturer",
"parameter": [ {
"valueId": "maRef"
} ],
"transform": "copy",
"contextType": "variable"
} ]
} ],
"input": [ {
"mode": "source",
"name": "vax",
"type": "vaccineDetails"
}, {
"mode": "target",
"name": "immunization",
"type": "Immunization"
}, {
"mode": "source",
"name": "pid"
} ],
"typeMode": "none"
}, {
"name": "generateNarrativeText",
"rule": [ {
"name": "setstatus",
"source": [ {
"context": "src"
} ],
"target": [ {
"context": "text",
"element": "status",
"parameter": [ {
"valueString": "empty"
} ],
"transform": "copy",
"contextType": "variable"
} ]
}, {
"name": "setdiv",
"source": [ {
"context": "src"
} ],
"target": [ {
"context": "text",
"element": "div",
"parameter": [ {
"valueString": "Narrative not available
"
} ],
"transform": "copy",
"contextType": "variable"
} ]
} ],
"input": [ {
"mode": "source",
"name": "src",
"type": "Section"
}, {
"mode": "target",
"name": "text",
"type": "string"
} ],
"typeMode": "none",
"documentation": "helper function"
}, {
"name": "nameToHumanName",
"rule": [ {
"name": "Patient Name",
"source": [ {
"context": "sourceName",
"variable": "patientName"
} ],
"target": [ {
"context": "targetName",
"element": "text",
"parameter": [ {
"valueId": "patientName"
} ],
"transform": "copy",
"contextType": "variable"
} ]
} ],
"input": [ {
"mode": "source",
"name": "sourceName"
}, {
"mode": "target",
"name": "targetName",
"type": "HumanName"
} ],
"typeMode": "none"
}, {
"name": "humanNameToHumanName",
"rule": [ {
"name": "CopyUse",
"source": [ {
"context": "sourceName",
"element": "use",
"variable": "use"
} ],
"target": [ {
"context": "targetName",
"element": "use",
"parameter": [ {
"valueId": "use"
} ],
"transform": "copy",
"contextType": "variable"
} ]
}, {
"name": "CopyText",
"source": [ {
"context": "sourceName",
"element": "text",
"variable": "text"
} ],
"target": [ {
"context": "targetName",
"element": "text",
"parameter": [ {
"valueId": "text"
} ],
"transform": "copy",
"contextType": "variable"
} ]
}, {
"name": "CopyFamily",
"source": [ {
"context": "sourceName",
"element": "family",
"variable": "family"
} ],
"target": [ {
"context": "targetName",
"element": "family",
"parameter": [ {
"valueId": "family"
} ],
"transform": "copy",
"contextType": "variable"
} ]
}, {
"name": "CopyGiven",
"source": [ {
"context": "sourceName",
"element": "given",
"variable": "given"
} ],
"target": [ {
"context": "targetName",
"element": "given",
"parameter": [ {
"valueId": "given"
} ],
"transform": "copy",
"contextType": "variable"
} ]
}, {
"name": "CopyPrefix",
"source": [ {
"context": "sourceName",
"element": "prefix",
"variable": "prefix"
} ],
"target": [ {
"context": "targetName",
"element": "prefix",
"parameter": [ {
"valueId": "prefix"
} ],
"transform": "copy",
"contextType": "variable"
} ]
}, {
"name": "CopySuffix",
"source": [ {
"context": "sourceName",
"element": "suffix",
"variable": "suffix"
} ],
"target": [ {
"context": "targetName",
"element": "suffix",
"parameter": [ {
"valueId": "suffix"
} ],
"transform": "copy",
"contextType": "variable"
} ]
}, {
"name": "copyPeriod",
"rule": [ {
"name": "CopyPeriod",
"source": [ {
"context": "sourcePeriod"
} ],
"dependent": [ {
"name": "periodToPeriod",
"variable": [ "sourcePeriod", "targetPeriod" ]
} ]
} ],
"source": [ {
"context": "sourceName",
"element": "period",
"variable": "sourcePeriod"
} ],
"target": [ {
"context": "targetName",
"element": "period",
"variable": "targetPeriod",
"contextType": "variable"
} ]
} ],
"input": [ {
"mode": "source",
"name": "sourceName"
}, {
"mode": "target",
"name": "targetName",
"type": "HumanName"
} ],
"typeMode": "none"
}, {
"name": "periodToPeriod",
"rule": [ {
"name": "set period start",
"source": [ {
"context": "sourcePeriod",
"element": "start",
"variable": "start"
} ],
"target": [ {
"context": "targetPeriod",
"element": "start",
"parameter": [ {
"valueId": "start"
} ],
"transform": "copy",
"contextType": "variable"
} ]
}, {
"name": "set period end",
"source": [ {
"context": "sourcePeriod",
"element": "end",
"variable": "end"
} ],
"target": [ {
"context": "targetPeriod",
"element": "end",
"parameter": [ {
"valueId": "end"
} ],
"transform": "copy",
"contextType": "variable"
} ]
} ],
"input": [ {
"mode": "source",
"name": "sourcePeriod"
}, {
"mode": "target",
"name": "targetPeriod",
"type": "Period"
} ],
"typeMode": "none"
} ],
"publisher": "WHO",
"name": "DVCLMToIPS",
"type": null,
"experimental": null,
"resourceType": "StructureMap",
"title": null,
"package_version": "0.1.0",
"structure": [ {
"url": "http://smart.who.int/icvp/StructureDefinition/ModelDVC",
"mode": "source",
"alias": "DVCLogicalModel"
}, {
"url": "http://hl7.org/fhir/StructureDefinition/Bundle",
"mode": "target",
"alias": "IPS"
} ],
"status": "draft",
"id": "478bc3c1-d806-4904-9f35-4c436b720ac3",
"kind": null,
"url": "http://smart.who.int/icvp/StructureMap/DVCLMToIPS",
"version": "0.1.0",
"contact": [ {
"name": "WHO",
"telecom": [ {
"value": "http://who.int",
"system": "url"
} ]
} ]
}