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

FHIR IG Statistics: StructureMap/Provenance4to3

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

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

uses "http://hl7.org/fhir/4.0/Provenance" alias Provenance as source
uses "http://hl7.org/fhir/3.0/Provenance" alias ProvenanceR3 as target

imports "http://hl7.org/fhir/StructureMap/*4to3"

group Provenance(source src : Provenance, target tgt : ProvenanceR3) extends DomainResource <<type+>> {
  src.target -> tgt.target;
  src.occurred : Period as vs0 -> tgt.period as vt0 then Period(vs0, vt0) "period";
  src.occurred : dateTime as vs0 ->  tgt.period as vt0,  vt0.start = vs0,  vt0.end = vs0 "period";
  src.recorded -> tgt.recorded;
  src.policy -> tgt.policy;
  src.location -> tgt.location;
  src.reason -> tgt.reason;
  src.activity -> tgt.activity;
  src.agent as vs0 -> tgt.agent as vt0 then agent(vs0, vt0);
  src.entity as vs0 -> tgt.entity as vt0 then entity(vs0, vt0);
  src.signature -> tgt.signature;
}

group agent(source src : ProvenanceR3, target tgt : Provenance) extends BackboneElement {
  src.role -> tgt.role;
  src.who as vs0 where extension('http://hl7.org/fhir/3.0/StructureDefinition/BaseType').empty() -> tgt.who = create('Reference') as vt0 then Reference(vs0, vt0);
  src.who as vs0 where extension('http://hl7.org/fhir/3.0/StructureDefinition/BaseType').exists() -> tgt.who = create('uri') as vt0 then {
    vs0.reference as vs1 then uri(vs1, vt0);
  };
  src.onBehalfOf as vs0 where extension('http://hl7.org/fhir/3.0/StructureDefinition/BaseType').empty() -> tgt.onBehalfOf = create('Reference') as vt0 then Reference(vs0, vt0);
  src.onBehalfOf as vs0 where extension('http://hl7.org/fhir/3.0/StructureDefinition/BaseType').exists() -> tgt.onBehalfOf = create('uri') as vt0 then {
    vs0.reference as vs1 then uri(vs1, vt0);
  };
  src.type -> tgt.relatedAgentType;
}

group entity(source src : ProvenanceR3, target tgt : Provenance) extends BackboneElement {
  src.role -> tgt.role;
  src.what as vs0 where extension('http://hl7.org/fhir/3.0/StructureDefinition/BaseType').empty() and identifier.empty() -> tgt.what = create('Reference') as vt0 then Reference(vs0, vt0);
  src.what as vs0 where extension('http://hl7.org/fhir/3.0/StructureDefinition/BaseType').exists() -> tgt.what = create('uri') as vt0 then {
    vs0.reference as vs1 then uri(vs1, vt0);
  };
  src.what as vs0 where identifier.exists() -> tgt.what = create('Identifier') as vt0 then Reference2Identifier(vs0, vt0);
  src.agent as vs0 -> tgt.agent as vt0 then agent(vs0, vt0);
}


Source

{
  "resourceType": "StructureMap",
  "id": "Provenance4to3",
  "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/Provenance4to3",
  "version": "0.1.0",
  "name": "Provenance4to3",
  "title": "Provenance Transforms: R4 to R3",
  "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": "ProvenanceTransformsR4toR3",
  "jurisdiction": [
    {
      "coding": [
        {
          "system": "http://unstats.un.org/unsd/methods/m49/m49.htm",
          "code": "001"
        }
      ]
    }
  ],
  "structure": [
    {
      "url": "http://hl7.org/fhir/4.0/Provenance",
      "mode": "source",
      "alias": "Provenance"
    },
    {
      "url": "http://hl7.org/fhir/3.0/Provenance",
      "mode": "target",
      "alias": "ProvenanceR3"
    }
  ],
  "import": [
    "http://hl7.org/fhir/StructureMap/*4to3"
  ],
  "group": [
    {
      "name": "Provenance",
      "extends": "DomainResource",
      "typeMode": "type-and-types",
      "input": [
        {
          "name": "src",
          "type": "Provenance",
          "mode": "source"
        },
        {
          "name": "tgt",
          "type": "ProvenanceR3",
          "mode": "target"
        }
      ],
      "rule": [
        {
          "name": "target",
          "source": [
            {
              "context": "src",
              "element": "target",
              "variable": "vvv"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "target",
              "variable": "vvv",
              "transform": "create"
            }
          ],
          "dependent": [
            {
              "name": "DefaultMappingGroupAnonymousAlias",
              "parameter": [
                {
                  "valueId": "vvv"
                },
                {
                  "valueId": "vvv"
                }
              ]
            }
          ]
        },
        {
          "name": "period",
          "source": [
            {
              "context": "src",
              "type": "Period",
              "element": "occurred",
              "variable": "vs0"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "period",
              "variable": "vt0"
            }
          ],
          "dependent": [
            {
              "name": "Period",
              "parameter": [
                {
                  "valueId": "vs0"
                },
                {
                  "valueId": "vt0"
                }
              ]
            }
          ]
        },
        {
          "name": "period",
          "source": [
            {
              "context": "src",
              "type": "dateTime",
              "element": "occurred",
              "variable": "vs0"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "period",
              "variable": "vt0"
            },
            {
              "context": "vt0",
              "element": "start",
              "transform": "copy",
              "parameter": [
                {
                  "valueId": "vs0"
                }
              ]
            },
            {
              "context": "vt0",
              "element": "end",
              "transform": "copy",
              "parameter": [
                {
                  "valueId": "vs0"
                }
              ]
            }
          ]
        },
        {
          "name": "recorded",
          "source": [
            {
              "context": "src",
              "element": "recorded",
              "variable": "vvv"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "recorded",
              "variable": "vvv",
              "transform": "create"
            }
          ],
          "dependent": [
            {
              "name": "DefaultMappingGroupAnonymousAlias",
              "parameter": [
                {
                  "valueId": "vvv"
                },
                {
                  "valueId": "vvv"
                }
              ]
            }
          ]
        },
        {
          "name": "policy",
          "source": [
            {
              "context": "src",
              "element": "policy",
              "variable": "vvv"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "policy",
              "variable": "vvv",
              "transform": "create"
            }
          ],
          "dependent": [
            {
              "name": "DefaultMappingGroupAnonymousAlias",
              "parameter": [
                {
                  "valueId": "vvv"
                },
                {
                  "valueId": "vvv"
                }
              ]
            }
          ]
        },
        {
          "name": "location",
          "source": [
            {
              "context": "src",
              "element": "location",
              "variable": "vvv"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "location",
              "variable": "vvv",
              "transform": "create"
            }
          ],
          "dependent": [
            {
              "name": "DefaultMappingGroupAnonymousAlias",
              "parameter": [
                {
                  "valueId": "vvv"
                },
                {
                  "valueId": "vvv"
                }
              ]
            }
          ]
        },
        {
          "name": "reason",
          "source": [
            {
              "context": "src",
              "element": "reason",
              "variable": "vvv"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "reason",
              "variable": "vvv",
              "transform": "create"
            }
          ],
          "dependent": [
            {
              "name": "DefaultMappingGroupAnonymousAlias",
              "parameter": [
                {
                  "valueId": "vvv"
                },
                {
                  "valueId": "vvv"
                }
              ]
            }
          ]
        },
        {
          "name": "activity",
          "source": [
            {
              "context": "src",
              "element": "activity",
              "variable": "vvv"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "activity",
              "variable": "vvv",
              "transform": "create"
            }
          ],
          "dependent": [
            {
              "name": "DefaultMappingGroupAnonymousAlias",
              "parameter": [
                {
                  "valueId": "vvv"
                },
                {
                  "valueId": "vvv"
                }
              ]
            }
          ]
        },
        {
          "name": "agent",
          "source": [
            {
              "context": "src",
              "element": "agent",
              "variable": "vs0"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "agent",
              "variable": "vt0"
            }
          ],
          "dependent": [
            {
              "name": "agent",
              "parameter": [
                {
                  "valueId": "vs0"
                },
                {
                  "valueId": "vt0"
                }
              ]
            }
          ]
        },
        {
          "name": "entity",
          "source": [
            {
              "context": "src",
              "element": "entity",
              "variable": "vs0"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "entity",
              "variable": "vt0"
            }
          ],
          "dependent": [
            {
              "name": "entity",
              "parameter": [
                {
                  "valueId": "vs0"
                },
                {
                  "valueId": "vt0"
                }
              ]
            }
          ]
        },
        {
          "name": "signature",
          "source": [
            {
              "context": "src",
              "element": "signature",
              "variable": "vvv"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "signature",
              "variable": "vvv",
              "transform": "create"
            }
          ],
          "dependent": [
            {
              "name": "DefaultMappingGroupAnonymousAlias",
              "parameter": [
                {
                  "valueId": "vvv"
                },
                {
                  "valueId": "vvv"
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "name": "agent",
      "extends": "BackboneElement",
      "input": [
        {
          "name": "src",
          "type": "ProvenanceR3",
          "mode": "source"
        },
        {
          "name": "tgt",
          "type": "Provenance",
          "mode": "target"
        }
      ],
      "rule": [
        {
          "name": "role",
          "source": [
            {
              "context": "src",
              "element": "role",
              "variable": "vvv"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "role",
              "variable": "vvv",
              "transform": "create"
            }
          ],
          "dependent": [
            {
              "name": "DefaultMappingGroupAnonymousAlias",
              "parameter": [
                {
                  "valueId": "vvv"
                },
                {
                  "valueId": "vvv"
                }
              ]
            }
          ]
        },
        {
          "name": "who",
          "source": [
            {
              "context": "src",
              "element": "who",
              "variable": "vs0",
              "condition": "extension('http://hl7.org/fhir/3.0/StructureDefinition/BaseType').empty()"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "who",
              "variable": "vt0",
              "transform": "create",
              "parameter": [
                {
                  "valueString": "Reference"
                }
              ]
            }
          ],
          "dependent": [
            {
              "name": "Reference",
              "parameter": [
                {
                  "valueId": "vs0"
                },
                {
                  "valueId": "vt0"
                }
              ]
            }
          ]
        },
        {
          "name": "who",
          "source": [
            {
              "context": "src",
              "element": "who",
              "variable": "vs0",
              "condition": "extension('http://hl7.org/fhir/3.0/StructureDefinition/BaseType').exists()"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "who",
              "variable": "vt0",
              "transform": "create",
              "parameter": [
                {
                  "valueString": "uri"
                }
              ]
            }
          ],
          "rule": [
            {
              "name": "reference",
              "source": [
                {
                  "context": "vs0",
                  "element": "reference",
                  "variable": "vs1"
                }
              ],
              "dependent": [
                {
                  "name": "uri",
                  "parameter": [
                    {
                      "valueId": "vs1"
                    },
                    {
                      "valueId": "vt0"
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "name": "onBehalfOf",
          "source": [
            {
              "context": "src",
              "element": "onBehalfOf",
              "variable": "vs0",
              "condition": "extension('http://hl7.org/fhir/3.0/StructureDefinition/BaseType').empty()"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "onBehalfOf",
              "variable": "vt0",
              "transform": "create",
              "parameter": [
                {
                  "valueString": "Reference"
                }
              ]
            }
          ],
          "dependent": [
            {
              "name": "Reference",
              "parameter": [
                {
                  "valueId": "vs0"
                },
                {
                  "valueId": "vt0"
                }
              ]
            }
          ]
        },
        {
          "name": "onBehalfOf",
          "source": [
            {
              "context": "src",
              "element": "onBehalfOf",
              "variable": "vs0",
              "condition": "extension('http://hl7.org/fhir/3.0/StructureDefinition/BaseType').exists()"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "onBehalfOf",
              "variable": "vt0",
              "transform": "create",
              "parameter": [
                {
                  "valueString": "uri"
                }
              ]
            }
          ],
          "rule": [
            {
              "name": "reference",
              "source": [
                {
                  "context": "vs0",
                  "element": "reference",
                  "variable": "vs1"
                }
              ],
              "dependent": [
                {
                  "name": "uri",
                  "parameter": [
                    {
                      "valueId": "vs1"
                    },
                    {
                      "valueId": "vt0"
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "name": "type",
          "source": [
            {
              "context": "src",
              "element": "type",
              "variable": "vvv"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "relatedAgentType",
              "variable": "vvv",
              "transform": "create"
            }
          ],
          "dependent": [
            {
              "name": "DefaultMappingGroupAnonymousAlias",
              "parameter": [
                {
                  "valueId": "vvv"
                },
                {
                  "valueId": "vvv"
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "name": "entity",
      "extends": "BackboneElement",
      "input": [
        {
          "name": "src",
          "type": "ProvenanceR3",
          "mode": "source"
        },
        {
          "name": "tgt",
          "type": "Provenance",
          "mode": "target"
        }
      ],
      "rule": [
        {
          "name": "role",
          "source": [
            {
              "context": "src",
              "element": "role",
              "variable": "vvv"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "role",
              "variable": "vvv",
              "transform": "create"
            }
          ],
          "dependent": [
            {
              "name": "DefaultMappingGroupAnonymousAlias",
              "parameter": [
                {
                  "valueId": "vvv"
                },
                {
                  "valueId": "vvv"
                }
              ]
            }
          ]
        },
        {
          "name": "what",
          "source": [
            {
              "context": "src",
              "element": "what",
              "variable": "vs0",
              "condition": "extension('http://hl7.org/fhir/3.0/StructureDefinition/BaseType').empty() and identifier.empty()"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "what",
              "variable": "vt0",
              "transform": "create",
              "parameter": [
                {
                  "valueString": "Reference"
                }
              ]
            }
          ],
          "dependent": [
            {
              "name": "Reference",
              "parameter": [
                {
                  "valueId": "vs0"
                },
                {
                  "valueId": "vt0"
                }
              ]
            }
          ]
        },
        {
          "name": "what",
          "source": [
            {
              "context": "src",
              "element": "what",
              "variable": "vs0",
              "condition": "extension('http://hl7.org/fhir/3.0/StructureDefinition/BaseType').exists()"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "what",
              "variable": "vt0",
              "transform": "create",
              "parameter": [
                {
                  "valueString": "uri"
                }
              ]
            }
          ],
          "rule": [
            {
              "name": "reference",
              "source": [
                {
                  "context": "vs0",
                  "element": "reference",
                  "variable": "vs1"
                }
              ],
              "dependent": [
                {
                  "name": "uri",
                  "parameter": [
                    {
                      "valueId": "vs1"
                    },
                    {
                      "valueId": "vt0"
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "name": "what",
          "source": [
            {
              "context": "src",
              "element": "what",
              "variable": "vs0",
              "condition": "identifier.exists()"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "what",
              "variable": "vt0",
              "transform": "create",
              "parameter": [
                {
                  "valueString": "Identifier"
                }
              ]
            }
          ],
          "dependent": [
            {
              "name": "Reference2Identifier",
              "parameter": [
                {
                  "valueId": "vs0"
                },
                {
                  "valueId": "vt0"
                }
              ]
            }
          ]
        },
        {
          "name": "agent",
          "source": [
            {
              "context": "src",
              "element": "agent",
              "variable": "vs0"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "agent",
              "variable": "vt0"
            }
          ],
          "dependent": [
            {
              "name": "agent",
              "parameter": [
                {
                  "valueId": "vs0"
                },
                {
                  "valueId": "vt0"
                }
              ]
            }
          ]
        }
      ]
    }
  ]
}