Package | hl7.fhir.uv.xver |
Resource Type | StructureMap |
Id | DataRequirement5to4B |
FHIR Version | R5 |
Source | http://hl7.org/fhir/extensions/https://build.fhir.org/ig/HL7/fhir-cross-version/StructureMap-DataRequirement5to4B.html |
URL | http://hl7.org/fhir/StructureMap/DataRequirement5to4B |
Version | 0.1.0 |
Status | active |
Date | 2024-02-22T03:16:50+00:00 |
Name | DataRequirement5to4B |
Title | DataRequirement Transforms: R5 to R4B |
Realm | uv |
Authority | hl7 |
Description | DataRequirementTransformsR5toR4B |
No resources found
No resources found
Note: links and images are rebased to the (stated) source
/// url = 'http://hl7.org/fhir/StructureMap/DataRequirement5to4B' /// name = 'DataRequirement5to4B' /// title = 'DataRequirement Transforms: R5 to R4B' /// status = 'active' uses "http://hl7.org/fhir/5.0/DataRequirement" alias DataRequirementR5 as source uses "http://hl7.org/fhir/4.0/DataRequirement" alias DataRequirementR4B as target imports "http://hl7.org/fhir/StructureMap/*5to4B" group DataRequirement(source src : DataRequirementR5, target tgt : DataRequirementR4B) extends Element <<type+>> { src.type as v -> tgt.type = translate(v, 'http://hl7.org/fhir/cross-version/types5to4B', 'code'); src.profile -> tgt.profile; src.subject : CodeableConcept -> tgt.subject; src.subject : Reference -> tgt.subject; src.mustSupport -> tgt.mustSupport; src.codeFilter as s -> tgt.codeFilter as t then DataRequirementCodeFilter(s, t); src.dateFilter as s -> tgt.dateFilter as t then DataRequirementDateFilter(s, t); src.limit -> tgt.limit; src.sort as s -> tgt.sort as t then DataRequirementSort(s, t); } group DataRequirementCodeFilter(source src, target tgt) extends Element { src.path -> tgt.path; src.searchParam -> tgt.searchParam; src.valueSet -> tgt.valueSet; src.code -> tgt.code; } group DataRequirementDateFilter(source src, target tgt) extends Element { src.path -> tgt.path; src.searchParam -> tgt.searchParam; src.value : dateTime -> tgt.value; src.value : Period -> tgt.value; src.value : Duration -> tgt.value; } // - not in R4B // group DataRequirementValueFilter(source src, target tgt) extends Element { // src.path -> tgt.path; // src.searchParam -> tgt.searchParam; // src.comparator -> tgt.comparator; // src.value : dateTime -> tgt.value; // src.value : Period -> tgt.value; // src.value : Duration -> tgt.value; // } group DataRequirementSort(source src, target tgt) extends Element { src.path -> tgt.path; src.direction as v -> tgt.direction = translate(v, 'http://hl7.org/fhir/ConceptMap/DataRequirement.sort.direction-R5toR4', 'code'); }
{ "resourceType": "StructureMap", "id": "DataRequirement5to4B", "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/DataRequirement5to4B", "version": "0.1.0", "name": "DataRequirement5to4B", "title": "DataRequirement Transforms: R5 to R4B", "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": "DataRequirementTransformsR5toR4B", "jurisdiction": [ { "coding": [ { "system": "http://unstats.un.org/unsd/methods/m49/m49.htm", "code": "001" } ] } ], "structure": [ { "url": "http://hl7.org/fhir/5.0/DataRequirement", "mode": "source", "alias": "DataRequirementR5" }, { "url": "http://hl7.org/fhir/4.0/DataRequirement", "mode": "target", "alias": "DataRequirementR4B" } ], "import": [ "http://hl7.org/fhir/StructureMap/*5to4B" ], "group": [ { "name": "DataRequirement", "extends": "Element", "typeMode": "type-and-types", "input": [ { "name": "src", "type": "DataRequirementR5", "mode": "source" }, { "name": "tgt", "type": "DataRequirementR4B", "mode": "target" } ], "rule": [ { "name": "type", "source": [ { "context": "src", "element": "type", "variable": "v" } ], "target": [ { "context": "tgt", "element": "type", "transform": "translate", "parameter": [ { "valueId": "v" }, { "valueString": "http://hl7.org/fhir/cross-version/types5to4B" }, { "valueString": "code" } ] } ] }, { "name": "profile", "source": [ { "context": "src", "element": "profile", "variable": "vvv" } ], "target": [ { "context": "tgt", "element": "profile", "variable": "vvv", "transform": "create" } ], "dependent": [ { "name": "DefaultMappingGroupAnonymousAlias", "parameter": [ { "valueId": "vvv" }, { "valueId": "vvv" } ] } ] }, { "name": "subjectCodeableConcept", "source": [ { "context": "src", "type": "CodeableConcept", "element": "subject", "variable": "vvv" } ], "target": [ { "context": "tgt", "element": "subject", "variable": "vvv", "transform": "create" } ], "dependent": [ { "name": "DefaultMappingGroupAnonymousAlias", "parameter": [ { "valueId": "vvv" }, { "valueId": "vvv" } ] } ] }, { "name": "subjectReference", "source": [ { "context": "src", "type": "Reference", "element": "subject", "variable": "vvv" } ], "target": [ { "context": "tgt", "element": "subject", "variable": "vvv", "transform": "create" } ], "dependent": [ { "name": "DefaultMappingGroupAnonymousAlias", "parameter": [ { "valueId": "vvv" }, { "valueId": "vvv" } ] } ] }, { "name": "mustSupport", "source": [ { "context": "src", "element": "mustSupport", "variable": "vvv" } ], "target": [ { "context": "tgt", "element": "mustSupport", "variable": "vvv", "transform": "create" } ], "dependent": [ { "name": "DefaultMappingGroupAnonymousAlias", "parameter": [ { "valueId": "vvv" }, { "valueId": "vvv" } ] } ] }, { "name": "codeFilter", "source": [ { "context": "src", "element": "codeFilter", "variable": "s" } ], "target": [ { "context": "tgt", "element": "codeFilter", "variable": "t" } ], "dependent": [ { "name": "DataRequirementCodeFilter", "parameter": [ { "valueId": "s" }, { "valueId": "t" } ] } ] }, { "name": "dateFilter", "source": [ { "context": "src", "element": "dateFilter", "variable": "s" } ], "target": [ { "context": "tgt", "element": "dateFilter", "variable": "t" } ], "dependent": [ { "name": "DataRequirementDateFilter", "parameter": [ { "valueId": "s" }, { "valueId": "t" } ] } ] }, { "name": "limit", "source": [ { "context": "src", "element": "limit", "variable": "vvv" } ], "target": [ { "context": "tgt", "element": "limit", "variable": "vvv", "transform": "create" } ], "dependent": [ { "name": "DefaultMappingGroupAnonymousAlias", "parameter": [ { "valueId": "vvv" }, { "valueId": "vvv" } ] } ] }, { "name": "sort", "source": [ { "context": "src", "element": "sort", "variable": "s" } ], "target": [ { "context": "tgt", "element": "sort", "variable": "t" } ], "dependent": [ { "name": "DataRequirementSort", "parameter": [ { "valueId": "s" }, { "valueId": "t" } ] } ] } ] }, { "name": "DataRequirementCodeFilter", "extends": "Element", "input": [ { "name": "src", "mode": "source" }, { "name": "tgt", "mode": "target" } ], "rule": [ { "name": "path", "source": [ { "context": "src", "element": "path", "variable": "vvv" } ], "target": [ { "context": "tgt", "element": "path", "variable": "vvv", "transform": "create" } ], "dependent": [ { "name": "DefaultMappingGroupAnonymousAlias", "parameter": [ { "valueId": "vvv" }, { "valueId": "vvv" } ] } ] }, { "name": "searchParam", "source": [ { "context": "src", "element": "searchParam", "variable": "vvv" } ], "target": [ { "context": "tgt", "element": "searchParam", "variable": "vvv", "transform": "create" } ], "dependent": [ { "name": "DefaultMappingGroupAnonymousAlias", "parameter": [ { "valueId": "vvv" }, { "valueId": "vvv" } ] } ] }, { "name": "valueSet", "source": [ { "context": "src", "element": "valueSet", "variable": "vvv" } ], "target": [ { "context": "tgt", "element": "valueSet", "variable": "vvv", "transform": "create" } ], "dependent": [ { "name": "DefaultMappingGroupAnonymousAlias", "parameter": [ { "valueId": "vvv" }, { "valueId": "vvv" } ] } ] }, { "name": "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": "DataRequirementDateFilter", "extends": "Element", "input": [ { "name": "src", "mode": "source" }, { "name": "tgt", "mode": "target" } ], "rule": [ { "name": "path", "source": [ { "context": "src", "element": "path", "variable": "vvv" } ], "target": [ { "context": "tgt", "element": "path", "variable": "vvv", "transform": "create" } ], "dependent": [ { "name": "DefaultMappingGroupAnonymousAlias", "parameter": [ { "valueId": "vvv" }, { "valueId": "vvv" } ] } ] }, { "name": "searchParam", "source": [ { "context": "src", "element": "searchParam", "variable": "vvv" } ], "target": [ { "context": "tgt", "element": "searchParam", "variable": "vvv", "transform": "create" } ], "dependent": [ { "name": "DefaultMappingGroupAnonymousAlias", "parameter": [ { "valueId": "vvv" }, { "valueId": "vvv" } ] } ] }, { "name": "valueDateTime", "source": [ { "context": "src", "type": "dateTime", "element": "value", "variable": "vvv" } ], "target": [ { "context": "tgt", "element": "value", "variable": "vvv", "transform": "create" } ], "dependent": [ { "name": "DefaultMappingGroupAnonymousAlias", "parameter": [ { "valueId": "vvv" }, { "valueId": "vvv" } ] } ] }, { "name": "valuePeriod", "source": [ { "context": "src", "type": "Period", "element": "value", "variable": "vvv" } ], "target": [ { "context": "tgt", "element": "value", "variable": "vvv", "transform": "create" } ], "dependent": [ { "name": "DefaultMappingGroupAnonymousAlias", "parameter": [ { "valueId": "vvv" }, { "valueId": "vvv" } ] } ] }, { "name": "valueDuration", "source": [ { "context": "src", "type": "Duration", "element": "value", "variable": "vvv" } ], "target": [ { "context": "tgt", "element": "value", "variable": "vvv", "transform": "create" } ], "dependent": [ { "name": "DefaultMappingGroupAnonymousAlias", "parameter": [ { "valueId": "vvv" }, { "valueId": "vvv" } ] } ] } ] }, { "name": "DataRequirementSort", "extends": "Element", "documentation": "- not in R4B\r\ngroup DataRequirementValueFilter(source src, target tgt) extends Element {\r\nsrc.path -> tgt.path;\r\nsrc.searchParam -> tgt.searchParam;\r\nsrc.comparator -> tgt.comparator;\r\nsrc.value : dateTime -> tgt.value;\r\nsrc.value : Period -> tgt.value;\r\nsrc.value : Duration -> tgt.value;\r\n}", "input": [ { "name": "src", "mode": "source" }, { "name": "tgt", "mode": "target" } ], "rule": [ { "name": "path", "source": [ { "context": "src", "element": "path", "variable": "vvv" } ], "target": [ { "context": "tgt", "element": "path", "variable": "vvv", "transform": "create" } ], "dependent": [ { "name": "DefaultMappingGroupAnonymousAlias", "parameter": [ { "valueId": "vvv" }, { "valueId": "vvv" } ] } ] }, { "name": "direction", "source": [ { "context": "src", "element": "direction", "variable": "v" } ], "target": [ { "context": "tgt", "element": "direction", "transform": "translate", "parameter": [ { "valueId": "v" }, { "valueString": "http://hl7.org/fhir/ConceptMap/DataRequirement.sort.direction-R5toR4" }, { "valueString": "code" } ] } ] } ] } ] }