PackagesCanonicalsLogsProblems
    Packages
    smart.who.int.icvp@0.1.0
    http://smart.who.int/icvp/StructureMap/DVCLMToIPS
{
  "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" } ] } ] }