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

FHIR IG Statistics: StructureMap/DataRequirement5to4B

Packagehl7.fhir.uv.xver
Resource TypeStructureMap
IdDataRequirement5to4B
FHIR VersionR5
Sourcehttp://hl7.org/fhir/extensions/https://build.fhir.org/ig/HL7/fhir-cross-version/StructureMap-DataRequirement5to4B.html
URLhttp://hl7.org/fhir/StructureMap/DataRequirement5to4B
Version0.1.0
Statusactive
Date2024-02-22T03:16:50+00:00
NameDataRequirement5to4B
TitleDataRequirement Transforms: R5 to R4B
Realmuv
Authorityhl7
DescriptionDataRequirementTransformsR5toR4B

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/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');
}


Source

{
  "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"
                }
              ]
            }
          ]
        }
      ]
    }
  ]
}