FHIR © HL7.org  |  Server Home  |  XIG Home  |  XIG Stats  |  Server Source  |  FHIR  

FHIR IG Statistics: StructureMap/Medication3to2

Packagehl7.fhir.uv.xver
Resource TypeStructureMap
IdMedication3to2
FHIR VersionR5
Sourcehttp://hl7.org/fhir/extensions/https://build.fhir.org/ig/HL7/fhir-cross-version/StructureMap-Medication3to2.html
URLhttp://hl7.org/fhir/StructureMap/Medication3to2
Version0.1.0
Statusactive
Date2024-02-22T03:16:50+00:00
NameMedication3to2
TitleMedication Transforms: R3 to R2
Realmuv
Authorityhl7
DescriptionMedicationTransformsR3toR2

Resources that use this resource

No resources found


Resources that this resource uses

No resources found


Narrative

Note: links and images are rebased to the (stated) source

/// url = 'http://hl7.org/fhir/StructureMap/Medication3to2'
/// name = 'Medication3to2'
/// title = 'Medication Transforms: R3 to R2'
/// status = 'active'

uses "http://hl7.org/fhir/3.0/Medication" alias Medication as source
uses "http://hl7.org/fhir/1.0/Medication" alias MedicationR2 as target

imports "http://hl7.org/fhir/StructureMap/*3to2"

group Medication(source src : Medication, target tgt : MedicationR2) extends DomainResource <<type+>> {
  src.code -> tgt.code "Medication-code";
  src.isBrand -> tgt.isBrand "Medication-isBrand";
  src.manufacturer -> tgt.manufacturer "Medication-manufacturer";
  src.form as v ->  tgt.product as vt0,  vt0.form as v "product-form";
  src.ingredient as vs0 ->  tgt.product as vt0,  vt0.ingredient as vt1 then medIngredient(vs0, vt1) "product-ingredient";
  src.package as vs0 -> tgt.package as vt0 then medPackage(vs0, vt0, tgt) "Medication-package";
}

group medProduct(source src, target tgt) extends BackboneElement {
  src.form -> tgt.form "product-form";
  src.ingredient as vs0 -> tgt.ingredient as vt0 then medIngredient(vs0, vt0) "product-ingredient";
}

group medIngredient(source src, target tgt) extends BackboneElement {
  src.item where $this is Reference -> tgt.item "batch-item";
  src.amount -> tgt.amount "batch-amount";
}

group medBatch(source src, target tgt) extends BackboneElement {
  src.lotNumber -> tgt.lotNumber "batch-lotNumber";
  src.expirationDate -> tgt.expirationDate "batch-expirationDate";
}

group medPackage(source src, target tgt, target res) extends BackboneElement {
  src.container -> tgt.container "package-container";
  src.content as vs0 -> tgt.content as vt0 then medContent(vs0, vt0) "package-content";
  src.batch as vs0 ->  res.product as vt1,  vt1.batch as vt0 then medBatch(vs0, vt0) "product-batch";
}

group medContent(source src, target tgt) extends BackboneElement {
  src.item where $this is Reference -> tgt.item "content-item";
  src.amount -> tgt.amount "content-amount";
}


Source

{
  "resourceType": "StructureMap",
  "id": "Medication3to2",
  "text": {
    "status": "generated",
    "div": "<!-- snip (see above) -->"
  },
  "extension": [
    {
      "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
      "valueCode": "fhir"
    },
    {
      "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
      "valueInteger": 1,
      "_valueInteger": {
        "extension": [
          {
            "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-conformance-derivedFrom",
            "valueCanonical": "http://hl7.org/fhir/extensions/ImplementationGuide/hl7.fhir.uv.xver"
          }
        ]
      }
    },
    {
      "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status",
      "valueCode": "draft",
      "_valueCode": {
        "extension": [
          {
            "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-conformance-derivedFrom",
            "valueCanonical": "http://hl7.org/fhir/extensions/ImplementationGuide/hl7.fhir.uv.xver"
          }
        ]
      }
    }
  ],
  "url": "http://hl7.org/fhir/StructureMap/Medication3to2",
  "version": "0.1.0",
  "name": "Medication3to2",
  "title": "Medication Transforms: R3 to R2",
  "status": "active",
  "date": "2024-02-22T03:16:50+00:00",
  "publisher": "HL7 International / FHIR Infrastructure",
  "contact": [
    {
      "telecom": [
        {
          "system": "url",
          "value": "http://www.hl7.org/Special/committees/fiwg"
        }
      ]
    }
  ],
  "description": "MedicationTransformsR3toR2",
  "jurisdiction": [
    {
      "coding": [
        {
          "system": "http://unstats.un.org/unsd/methods/m49/m49.htm",
          "code": "001"
        }
      ]
    }
  ],
  "structure": [
    {
      "url": "http://hl7.org/fhir/3.0/Medication",
      "mode": "source",
      "alias": "Medication"
    },
    {
      "url": "http://hl7.org/fhir/1.0/Medication",
      "mode": "target",
      "alias": "MedicationR2"
    }
  ],
  "import": [
    "http://hl7.org/fhir/StructureMap/*3to2"
  ],
  "group": [
    {
      "name": "Medication",
      "extends": "DomainResource",
      "typeMode": "type-and-types",
      "input": [
        {
          "name": "src",
          "type": "Medication",
          "mode": "source"
        },
        {
          "name": "tgt",
          "type": "MedicationR2",
          "mode": "target"
        }
      ],
      "rule": [
        {
          "name": "Medication-code",
          "source": [
            {
              "context": "src",
              "element": "code",
              "variable": "vvv"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "code",
              "variable": "vvv",
              "transform": "create"
            }
          ],
          "dependent": [
            {
              "name": "DefaultMappingGroupAnonymousAlias",
              "parameter": [
                {
                  "valueId": "vvv"
                },
                {
                  "valueId": "vvv"
                }
              ]
            }
          ]
        },
        {
          "name": "Medication-isBrand",
          "source": [
            {
              "context": "src",
              "element": "isBrand",
              "variable": "vvv"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "isBrand",
              "variable": "vvv",
              "transform": "create"
            }
          ],
          "dependent": [
            {
              "name": "DefaultMappingGroupAnonymousAlias",
              "parameter": [
                {
                  "valueId": "vvv"
                },
                {
                  "valueId": "vvv"
                }
              ]
            }
          ]
        },
        {
          "name": "Medication-manufacturer",
          "source": [
            {
              "context": "src",
              "element": "manufacturer",
              "variable": "vvv"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "manufacturer",
              "variable": "vvv",
              "transform": "create"
            }
          ],
          "dependent": [
            {
              "name": "DefaultMappingGroupAnonymousAlias",
              "parameter": [
                {
                  "valueId": "vvv"
                },
                {
                  "valueId": "vvv"
                }
              ]
            }
          ]
        },
        {
          "name": "product-form",
          "source": [
            {
              "context": "src",
              "element": "form",
              "variable": "v"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "product",
              "variable": "vt0"
            },
            {
              "context": "vt0",
              "element": "form",
              "variable": "v"
            }
          ]
        },
        {
          "name": "product-ingredient",
          "source": [
            {
              "context": "src",
              "element": "ingredient",
              "variable": "vs0"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "product",
              "variable": "vt0"
            },
            {
              "context": "vt0",
              "element": "ingredient",
              "variable": "vt1"
            }
          ],
          "dependent": [
            {
              "name": "medIngredient",
              "parameter": [
                {
                  "valueId": "vs0"
                },
                {
                  "valueId": "vt1"
                }
              ]
            }
          ]
        },
        {
          "name": "Medication-package",
          "source": [
            {
              "context": "src",
              "element": "package",
              "variable": "vs0"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "package",
              "variable": "vt0"
            }
          ],
          "dependent": [
            {
              "name": "medPackage",
              "parameter": [
                {
                  "valueId": "vs0"
                },
                {
                  "valueId": "vt0"
                },
                {
                  "valueId": "tgt"
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "name": "medProduct",
      "extends": "BackboneElement",
      "input": [
        {
          "name": "src",
          "mode": "source"
        },
        {
          "name": "tgt",
          "mode": "target"
        }
      ],
      "rule": [
        {
          "name": "product-form",
          "source": [
            {
              "context": "src",
              "element": "form",
              "variable": "vvv"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "form",
              "variable": "vvv",
              "transform": "create"
            }
          ],
          "dependent": [
            {
              "name": "DefaultMappingGroupAnonymousAlias",
              "parameter": [
                {
                  "valueId": "vvv"
                },
                {
                  "valueId": "vvv"
                }
              ]
            }
          ]
        },
        {
          "name": "product-ingredient",
          "source": [
            {
              "context": "src",
              "element": "ingredient",
              "variable": "vs0"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "ingredient",
              "variable": "vt0"
            }
          ],
          "dependent": [
            {
              "name": "medIngredient",
              "parameter": [
                {
                  "valueId": "vs0"
                },
                {
                  "valueId": "vt0"
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "name": "medIngredient",
      "extends": "BackboneElement",
      "input": [
        {
          "name": "src",
          "mode": "source"
        },
        {
          "name": "tgt",
          "mode": "target"
        }
      ],
      "rule": [
        {
          "name": "batch-item",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "vvv",
              "condition": "$this is Reference"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "item",
              "variable": "vvv",
              "transform": "create"
            }
          ],
          "dependent": [
            {
              "name": "DefaultMappingGroupAnonymousAlias",
              "parameter": [
                {
                  "valueId": "vvv"
                },
                {
                  "valueId": "vvv"
                }
              ]
            }
          ]
        },
        {
          "name": "batch-amount",
          "source": [
            {
              "context": "src",
              "element": "amount",
              "variable": "vvv"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "amount",
              "variable": "vvv",
              "transform": "create"
            }
          ],
          "dependent": [
            {
              "name": "DefaultMappingGroupAnonymousAlias",
              "parameter": [
                {
                  "valueId": "vvv"
                },
                {
                  "valueId": "vvv"
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "name": "medBatch",
      "extends": "BackboneElement",
      "input": [
        {
          "name": "src",
          "mode": "source"
        },
        {
          "name": "tgt",
          "mode": "target"
        }
      ],
      "rule": [
        {
          "name": "batch-lotNumber",
          "source": [
            {
              "context": "src",
              "element": "lotNumber",
              "variable": "vvv"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "lotNumber",
              "variable": "vvv",
              "transform": "create"
            }
          ],
          "dependent": [
            {
              "name": "DefaultMappingGroupAnonymousAlias",
              "parameter": [
                {
                  "valueId": "vvv"
                },
                {
                  "valueId": "vvv"
                }
              ]
            }
          ]
        },
        {
          "name": "batch-expirationDate",
          "source": [
            {
              "context": "src",
              "element": "expirationDate",
              "variable": "vvv"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "expirationDate",
              "variable": "vvv",
              "transform": "create"
            }
          ],
          "dependent": [
            {
              "name": "DefaultMappingGroupAnonymousAlias",
              "parameter": [
                {
                  "valueId": "vvv"
                },
                {
                  "valueId": "vvv"
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "name": "medPackage",
      "extends": "BackboneElement",
      "input": [
        {
          "name": "src",
          "mode": "source"
        },
        {
          "name": "tgt",
          "mode": "target"
        },
        {
          "name": "res",
          "mode": "target"
        }
      ],
      "rule": [
        {
          "name": "package-container",
          "source": [
            {
              "context": "src",
              "element": "container",
              "variable": "vvv"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "container",
              "variable": "vvv",
              "transform": "create"
            }
          ],
          "dependent": [
            {
              "name": "DefaultMappingGroupAnonymousAlias",
              "parameter": [
                {
                  "valueId": "vvv"
                },
                {
                  "valueId": "vvv"
                }
              ]
            }
          ]
        },
        {
          "name": "package-content",
          "source": [
            {
              "context": "src",
              "element": "content",
              "variable": "vs0"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "content",
              "variable": "vt0"
            }
          ],
          "dependent": [
            {
              "name": "medContent",
              "parameter": [
                {
                  "valueId": "vs0"
                },
                {
                  "valueId": "vt0"
                }
              ]
            }
          ]
        },
        {
          "name": "product-batch",
          "source": [
            {
              "context": "src",
              "element": "batch",
              "variable": "vs0"
            }
          ],
          "target": [
            {
              "context": "res",
              "element": "product",
              "variable": "vt1"
            },
            {
              "context": "vt1",
              "element": "batch",
              "variable": "vt0"
            }
          ],
          "dependent": [
            {
              "name": "medBatch",
              "parameter": [
                {
                  "valueId": "vs0"
                },
                {
                  "valueId": "vt0"
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "name": "medContent",
      "extends": "BackboneElement",
      "input": [
        {
          "name": "src",
          "mode": "source"
        },
        {
          "name": "tgt",
          "mode": "target"
        }
      ],
      "rule": [
        {
          "name": "content-item",
          "source": [
            {
              "context": "src",
              "element": "item",
              "variable": "vvv",
              "condition": "$this is Reference"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "item",
              "variable": "vvv",
              "transform": "create"
            }
          ],
          "dependent": [
            {
              "name": "DefaultMappingGroupAnonymousAlias",
              "parameter": [
                {
                  "valueId": "vvv"
                },
                {
                  "valueId": "vvv"
                }
              ]
            }
          ]
        },
        {
          "name": "content-amount",
          "source": [
            {
              "context": "src",
              "element": "amount",
              "variable": "vvv"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "amount",
              "variable": "vvv",
              "transform": "create"
            }
          ],
          "dependent": [
            {
              "name": "DefaultMappingGroupAnonymousAlias",
              "parameter": [
                {
                  "valueId": "vvv"
                },
                {
                  "valueId": "vvv"
                }
              ]
            }
          ]
        }
      ]
    }
  ]
}