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

FHIR IG Statistics: StructureMap/Dosage3to4

Packagehl7.fhir.uv.xver
Resource TypeStructureMap
IdDosage3to4
FHIR VersionR5
Sourcehttp://hl7.org/fhir/extensions/https://build.fhir.org/ig/HL7/fhir-cross-version/StructureMap-Dosage3to4.html
URLhttp://hl7.org/fhir/StructureMap/Dosage3to4
Version0.1.0
Statusactive
Date2024-02-22T03:16:50+00:00
NameDosage3to4
TitleDosage Transforms: R3 to R4
Realmuv
Authorityhl7
DescriptionDosageTransformsR3toR4

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/Dosage3to4'
/// name = 'Dosage3to4'
/// title = 'Dosage Transforms: R3 to R4'
/// status = 'active'

uses "http://hl7.org/fhir/3.0/Dosage" alias DosageR3 as source
uses "http://hl7.org/fhir/4.0/Dosage" alias Dosage as target

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

group Dosage(source src : DosageR3, target tgt : Dosage) extends BackboneElement <<type+>> {
  src.sequence -> tgt.sequence;
  src.text -> tgt.text;
  src.additionalInstruction -> tgt.additionalInstruction;
  src.patientInstruction -> tgt.patientInstruction;
  src.timing -> tgt.timing;
  src.asNeeded : boolean as vs -> tgt.asNeeded = create('boolean') as vt then boolean(vs, vt);
  src.asNeeded : CodeableConcept as vs -> tgt.asNeeded = create('CodeableConcept') as vt then CodeableConcept(vs, vt);
  src.site -> tgt.site;
  src.route -> tgt.route;
  src.method -> tgt.method;
  src where dose.exists() or rate.exists() -> tgt.doseAndRate as vt0 then doseAndRate(src, vt0) "doserate";
  src.maxDosePerPeriod -> tgt.maxDosePerPeriod;
  src.maxDosePerAdministration -> tgt.maxDosePerAdministration;
  src.maxDosePerLifetime -> tgt.maxDosePerLifetime;
}

group doseAndRate(source src, target tgt) {
  src.dose : Range as vs -> tgt.dose = create('Range') as vt then Range(vs, vt);
  src.dose : Quantity as vs -> tgt.dose = create('Quantity') as vt then Quantity(vs, vt);
  src.rate : Ratio as vs -> tgt.rate = create('Ratio') as vt then Ratio(vs, vt);
  src.rate : Range as vs -> tgt.rate = create('Range') as vt then Range(vs, vt);
  src.rate : Quantity as vs -> tgt.rate = create('Quantity') as vt then Quantity(vs, vt);
}


Source

{
  "resourceType": "StructureMap",
  "id": "Dosage3to4",
  "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/Dosage3to4",
  "version": "0.1.0",
  "name": "Dosage3to4",
  "title": "Dosage Transforms: R3 to R4",
  "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": "DosageTransformsR3toR4",
  "jurisdiction": [
    {
      "coding": [
        {
          "system": "http://unstats.un.org/unsd/methods/m49/m49.htm",
          "code": "001"
        }
      ]
    }
  ],
  "structure": [
    {
      "url": "http://hl7.org/fhir/3.0/Dosage",
      "mode": "source",
      "alias": "DosageR3"
    },
    {
      "url": "http://hl7.org/fhir/4.0/Dosage",
      "mode": "target",
      "alias": "Dosage"
    }
  ],
  "import": [
    "http://hl7.org/fhir/StructureMap/*3to4"
  ],
  "group": [
    {
      "name": "Dosage",
      "extends": "BackboneElement",
      "typeMode": "type-and-types",
      "input": [
        {
          "name": "src",
          "type": "DosageR3",
          "mode": "source"
        },
        {
          "name": "tgt",
          "type": "Dosage",
          "mode": "target"
        }
      ],
      "rule": [
        {
          "name": "sequence",
          "source": [
            {
              "context": "src",
              "element": "sequence",
              "variable": "vvv"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "sequence",
              "variable": "vvv",
              "transform": "create"
            }
          ],
          "dependent": [
            {
              "name": "DefaultMappingGroupAnonymousAlias",
              "parameter": [
                {
                  "valueId": "vvv"
                },
                {
                  "valueId": "vvv"
                }
              ]
            }
          ]
        },
        {
          "name": "text",
          "source": [
            {
              "context": "src",
              "element": "text",
              "variable": "vvv"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "text",
              "variable": "vvv",
              "transform": "create"
            }
          ],
          "dependent": [
            {
              "name": "DefaultMappingGroupAnonymousAlias",
              "parameter": [
                {
                  "valueId": "vvv"
                },
                {
                  "valueId": "vvv"
                }
              ]
            }
          ]
        },
        {
          "name": "additionalInstruction",
          "source": [
            {
              "context": "src",
              "element": "additionalInstruction",
              "variable": "vvv"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "additionalInstruction",
              "variable": "vvv",
              "transform": "create"
            }
          ],
          "dependent": [
            {
              "name": "DefaultMappingGroupAnonymousAlias",
              "parameter": [
                {
                  "valueId": "vvv"
                },
                {
                  "valueId": "vvv"
                }
              ]
            }
          ]
        },
        {
          "name": "patientInstruction",
          "source": [
            {
              "context": "src",
              "element": "patientInstruction",
              "variable": "vvv"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "patientInstruction",
              "variable": "vvv",
              "transform": "create"
            }
          ],
          "dependent": [
            {
              "name": "DefaultMappingGroupAnonymousAlias",
              "parameter": [
                {
                  "valueId": "vvv"
                },
                {
                  "valueId": "vvv"
                }
              ]
            }
          ]
        },
        {
          "name": "timing",
          "source": [
            {
              "context": "src",
              "element": "timing",
              "variable": "vvv"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "timing",
              "variable": "vvv",
              "transform": "create"
            }
          ],
          "dependent": [
            {
              "name": "DefaultMappingGroupAnonymousAlias",
              "parameter": [
                {
                  "valueId": "vvv"
                },
                {
                  "valueId": "vvv"
                }
              ]
            }
          ]
        },
        {
          "name": "asNeededBoolean",
          "source": [
            {
              "context": "src",
              "type": "boolean",
              "element": "asNeeded",
              "variable": "vs"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "asNeeded",
              "variable": "vt",
              "transform": "create",
              "parameter": [
                {
                  "valueString": "boolean"
                }
              ]
            }
          ],
          "dependent": [
            {
              "name": "boolean",
              "parameter": [
                {
                  "valueId": "vs"
                },
                {
                  "valueId": "vt"
                }
              ]
            }
          ]
        },
        {
          "name": "asNeededCodeableConcept",
          "source": [
            {
              "context": "src",
              "type": "CodeableConcept",
              "element": "asNeeded",
              "variable": "vs"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "asNeeded",
              "variable": "vt",
              "transform": "create",
              "parameter": [
                {
                  "valueString": "CodeableConcept"
                }
              ]
            }
          ],
          "dependent": [
            {
              "name": "CodeableConcept",
              "parameter": [
                {
                  "valueId": "vs"
                },
                {
                  "valueId": "vt"
                }
              ]
            }
          ]
        },
        {
          "name": "site",
          "source": [
            {
              "context": "src",
              "element": "site",
              "variable": "vvv"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "site",
              "variable": "vvv",
              "transform": "create"
            }
          ],
          "dependent": [
            {
              "name": "DefaultMappingGroupAnonymousAlias",
              "parameter": [
                {
                  "valueId": "vvv"
                },
                {
                  "valueId": "vvv"
                }
              ]
            }
          ]
        },
        {
          "name": "route",
          "source": [
            {
              "context": "src",
              "element": "route",
              "variable": "vvv"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "route",
              "variable": "vvv",
              "transform": "create"
            }
          ],
          "dependent": [
            {
              "name": "DefaultMappingGroupAnonymousAlias",
              "parameter": [
                {
                  "valueId": "vvv"
                },
                {
                  "valueId": "vvv"
                }
              ]
            }
          ]
        },
        {
          "name": "method",
          "source": [
            {
              "context": "src",
              "element": "method",
              "variable": "vvv"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "method",
              "variable": "vvv",
              "transform": "create"
            }
          ],
          "dependent": [
            {
              "name": "DefaultMappingGroupAnonymousAlias",
              "parameter": [
                {
                  "valueId": "vvv"
                },
                {
                  "valueId": "vvv"
                }
              ]
            }
          ]
        },
        {
          "name": "doserate",
          "source": [
            {
              "context": "src",
              "condition": "dose.exists() or rate.exists()"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "doseAndRate",
              "variable": "vt0"
            }
          ],
          "dependent": [
            {
              "name": "doseAndRate",
              "parameter": [
                {
                  "valueId": "src"
                },
                {
                  "valueId": "vt0"
                }
              ]
            }
          ]
        },
        {
          "name": "maxDosePerPeriod",
          "source": [
            {
              "context": "src",
              "element": "maxDosePerPeriod",
              "variable": "vvv"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "maxDosePerPeriod",
              "variable": "vvv",
              "transform": "create"
            }
          ],
          "dependent": [
            {
              "name": "DefaultMappingGroupAnonymousAlias",
              "parameter": [
                {
                  "valueId": "vvv"
                },
                {
                  "valueId": "vvv"
                }
              ]
            }
          ]
        },
        {
          "name": "maxDosePerAdministration",
          "source": [
            {
              "context": "src",
              "element": "maxDosePerAdministration",
              "variable": "vvv"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "maxDosePerAdministration",
              "variable": "vvv",
              "transform": "create"
            }
          ],
          "dependent": [
            {
              "name": "DefaultMappingGroupAnonymousAlias",
              "parameter": [
                {
                  "valueId": "vvv"
                },
                {
                  "valueId": "vvv"
                }
              ]
            }
          ]
        },
        {
          "name": "maxDosePerLifetime",
          "source": [
            {
              "context": "src",
              "element": "maxDosePerLifetime",
              "variable": "vvv"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "maxDosePerLifetime",
              "variable": "vvv",
              "transform": "create"
            }
          ],
          "dependent": [
            {
              "name": "DefaultMappingGroupAnonymousAlias",
              "parameter": [
                {
                  "valueId": "vvv"
                },
                {
                  "valueId": "vvv"
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "name": "doseAndRate",
      "input": [
        {
          "name": "src",
          "mode": "source"
        },
        {
          "name": "tgt",
          "mode": "target"
        }
      ],
      "rule": [
        {
          "name": "doseRange",
          "source": [
            {
              "context": "src",
              "type": "Range",
              "element": "dose",
              "variable": "vs"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "dose",
              "variable": "vt",
              "transform": "create",
              "parameter": [
                {
                  "valueString": "Range"
                }
              ]
            }
          ],
          "dependent": [
            {
              "name": "Range",
              "parameter": [
                {
                  "valueId": "vs"
                },
                {
                  "valueId": "vt"
                }
              ]
            }
          ]
        },
        {
          "name": "doseQuantity",
          "source": [
            {
              "context": "src",
              "type": "Quantity",
              "element": "dose",
              "variable": "vs"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "dose",
              "variable": "vt",
              "transform": "create",
              "parameter": [
                {
                  "valueString": "Quantity"
                }
              ]
            }
          ],
          "dependent": [
            {
              "name": "Quantity",
              "parameter": [
                {
                  "valueId": "vs"
                },
                {
                  "valueId": "vt"
                }
              ]
            }
          ]
        },
        {
          "name": "rateRatio",
          "source": [
            {
              "context": "src",
              "type": "Ratio",
              "element": "rate",
              "variable": "vs"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "rate",
              "variable": "vt",
              "transform": "create",
              "parameter": [
                {
                  "valueString": "Ratio"
                }
              ]
            }
          ],
          "dependent": [
            {
              "name": "Ratio",
              "parameter": [
                {
                  "valueId": "vs"
                },
                {
                  "valueId": "vt"
                }
              ]
            }
          ]
        },
        {
          "name": "rateRange",
          "source": [
            {
              "context": "src",
              "type": "Range",
              "element": "rate",
              "variable": "vs"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "rate",
              "variable": "vt",
              "transform": "create",
              "parameter": [
                {
                  "valueString": "Range"
                }
              ]
            }
          ],
          "dependent": [
            {
              "name": "Range",
              "parameter": [
                {
                  "valueId": "vs"
                },
                {
                  "valueId": "vt"
                }
              ]
            }
          ]
        },
        {
          "name": "rateQuantity",
          "source": [
            {
              "context": "src",
              "type": "Quantity",
              "element": "rate",
              "variable": "vs"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "rate",
              "variable": "vt",
              "transform": "create",
              "parameter": [
                {
                  "valueString": "Quantity"
                }
              ]
            }
          ],
          "dependent": [
            {
              "name": "Quantity",
              "parameter": [
                {
                  "valueId": "vs"
                },
                {
                  "valueId": "vt"
                }
              ]
            }
          ]
        }
      ]
    }
  ]
}