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

FHIR IG Statistics: StructureMap/Questionnaire2to3

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

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/Questionnaire2to3'
/// name = 'Questionnaire2to3'
/// title = 'Questionnaire Transforms: R2 to R3'
/// status = 'active'

uses "http://hl7.org/fhir/1.0/Questionnaire" alias QuestionnaireR2 as source
uses "http://hl7.org/fhir/3.0/Questionnaire" alias Questionnaire as target

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

group Questionnaire(source src : QuestionnaireR2, target tgt : Questionnaire) extends DomainResource <<type+>> {
  src.identifier -> tgt.identifier "Questionnaire-identifier";
  src.version -> tgt.version "Questionnaire-version";
  src.status as v -> tgt.status = translate(v, 'http://hl7.org/fhir/ConceptMap/Questionnaire.status-R2toR3', 'code') "Questionnaire-status";
  src.date -> tgt.date "Questionnaire-date";
  src.publisher -> tgt.publisher "Questionnaire-publisher";
  src.telecom as v ->  tgt.contact as d,  d.telecom as v "Questionnaire-telecom";
  src.subjectType -> tgt.subjectType "Questionnaire-subjectType";
  src.group as vs0 -> tgt.item as vt0 then qstGroup(vs0, vt0) "Questionnaire-group";
}

group qstGroup(source src, target tgt) extends BackboneElement {
  src -> tgt.type = 'group' "group-type";
  src.linkId -> tgt.linkId "group-linkId";
  src.title -> tgt.text "group-title";
  src.concept -> tgt.code "group-concept";
  src.text as t where src.title.exists() and src.linkId.exists() ->  tgt.item as i,  i.linkId = (src.linkId + '-' + 'display'),  i.text = t "group-text";
  src.text where src.title.empty() -> tgt.text "group-text";
  src.required -> tgt.required "group-required";
  src.repeats -> tgt.repeats "group-repeats";
  src.group as vs0 -> tgt.item as vt0 then qstGroup(vs0, vt0) "group-group";
  src.question as vs0 -> tgt.item as vt0 then qstQuestion(vs0, vt0) "group-question";
}

group qstQuestion(source src, target tgt) extends BackboneElement {
  src.type -> tgt.type "question-type";
  src.linkId -> tgt.linkId "question-linkId";
  src.concept -> tgt.code "question-concept";
  src.text -> tgt.text "question-text";
  src.required -> tgt.required "question-required";
  src.repeats -> tgt.repeats "question-repeats";
  src.options -> tgt.options "question-options";
  src.option as v ->  tgt.option as o,  o.value as v "question-option";
  src.group as vs0 -> tgt.item as vt0 then qstGroup(vs0, vt0) "question-group";
}


Source

{
  "resourceType": "StructureMap",
  "id": "Questionnaire2to3",
  "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/Questionnaire2to3",
  "version": "0.1.0",
  "name": "Questionnaire2to3",
  "title": "Questionnaire Transforms: R2 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": "QuestionnaireTransformsR2toR3",
  "jurisdiction": [
    {
      "coding": [
        {
          "system": "http://unstats.un.org/unsd/methods/m49/m49.htm",
          "code": "001"
        }
      ]
    }
  ],
  "structure": [
    {
      "url": "http://hl7.org/fhir/1.0/Questionnaire",
      "mode": "source",
      "alias": "QuestionnaireR2"
    },
    {
      "url": "http://hl7.org/fhir/3.0/Questionnaire",
      "mode": "target",
      "alias": "Questionnaire"
    }
  ],
  "import": [
    "http://hl7.org/fhir/StructureMap/*2to3"
  ],
  "group": [
    {
      "name": "Questionnaire",
      "extends": "DomainResource",
      "typeMode": "type-and-types",
      "input": [
        {
          "name": "src",
          "type": "QuestionnaireR2",
          "mode": "source"
        },
        {
          "name": "tgt",
          "type": "Questionnaire",
          "mode": "target"
        }
      ],
      "rule": [
        {
          "name": "Questionnaire-identifier",
          "source": [
            {
              "context": "src",
              "element": "identifier",
              "variable": "vvv"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "identifier",
              "variable": "vvv",
              "transform": "create"
            }
          ],
          "dependent": [
            {
              "name": "DefaultMappingGroupAnonymousAlias",
              "parameter": [
                {
                  "valueId": "vvv"
                },
                {
                  "valueId": "vvv"
                }
              ]
            }
          ]
        },
        {
          "name": "Questionnaire-version",
          "source": [
            {
              "context": "src",
              "element": "version",
              "variable": "vvv"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "version",
              "variable": "vvv",
              "transform": "create"
            }
          ],
          "dependent": [
            {
              "name": "DefaultMappingGroupAnonymousAlias",
              "parameter": [
                {
                  "valueId": "vvv"
                },
                {
                  "valueId": "vvv"
                }
              ]
            }
          ]
        },
        {
          "name": "Questionnaire-status",
          "source": [
            {
              "context": "src",
              "element": "status",
              "variable": "v"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "status",
              "transform": "translate",
              "parameter": [
                {
                  "valueId": "v"
                },
                {
                  "valueString": "http://hl7.org/fhir/ConceptMap/Questionnaire.status-R2toR3"
                },
                {
                  "valueString": "code"
                }
              ]
            }
          ]
        },
        {
          "name": "Questionnaire-date",
          "source": [
            {
              "context": "src",
              "element": "date",
              "variable": "vvv"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "date",
              "variable": "vvv",
              "transform": "create"
            }
          ],
          "dependent": [
            {
              "name": "DefaultMappingGroupAnonymousAlias",
              "parameter": [
                {
                  "valueId": "vvv"
                },
                {
                  "valueId": "vvv"
                }
              ]
            }
          ]
        },
        {
          "name": "Questionnaire-publisher",
          "source": [
            {
              "context": "src",
              "element": "publisher",
              "variable": "vvv"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "publisher",
              "variable": "vvv",
              "transform": "create"
            }
          ],
          "dependent": [
            {
              "name": "DefaultMappingGroupAnonymousAlias",
              "parameter": [
                {
                  "valueId": "vvv"
                },
                {
                  "valueId": "vvv"
                }
              ]
            }
          ]
        },
        {
          "name": "Questionnaire-telecom",
          "source": [
            {
              "context": "src",
              "element": "telecom",
              "variable": "v"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "contact",
              "variable": "d"
            },
            {
              "context": "d",
              "element": "telecom",
              "variable": "v"
            }
          ]
        },
        {
          "name": "Questionnaire-subjectType",
          "source": [
            {
              "context": "src",
              "element": "subjectType",
              "variable": "vvv"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "subjectType",
              "variable": "vvv",
              "transform": "create"
            }
          ],
          "dependent": [
            {
              "name": "DefaultMappingGroupAnonymousAlias",
              "parameter": [
                {
                  "valueId": "vvv"
                },
                {
                  "valueId": "vvv"
                }
              ]
            }
          ]
        },
        {
          "name": "Questionnaire-group",
          "source": [
            {
              "context": "src",
              "element": "group",
              "variable": "vs0"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "item",
              "variable": "vt0"
            }
          ],
          "dependent": [
            {
              "name": "qstGroup",
              "parameter": [
                {
                  "valueId": "vs0"
                },
                {
                  "valueId": "vt0"
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "name": "qstGroup",
      "extends": "BackboneElement",
      "input": [
        {
          "name": "src",
          "mode": "source"
        },
        {
          "name": "tgt",
          "mode": "target"
        }
      ],
      "rule": [
        {
          "name": "group-type",
          "source": [
            {
              "context": "src"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "type",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "group"
                }
              ]
            }
          ]
        },
        {
          "name": "group-linkId",
          "source": [
            {
              "context": "src",
              "element": "linkId",
              "variable": "vvv"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "linkId",
              "variable": "vvv",
              "transform": "create"
            }
          ],
          "dependent": [
            {
              "name": "DefaultMappingGroupAnonymousAlias",
              "parameter": [
                {
                  "valueId": "vvv"
                },
                {
                  "valueId": "vvv"
                }
              ]
            }
          ]
        },
        {
          "name": "group-title",
          "source": [
            {
              "context": "src",
              "element": "title",
              "variable": "vvv"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "text",
              "variable": "vvv",
              "transform": "create"
            }
          ],
          "dependent": [
            {
              "name": "DefaultMappingGroupAnonymousAlias",
              "parameter": [
                {
                  "valueId": "vvv"
                },
                {
                  "valueId": "vvv"
                }
              ]
            }
          ]
        },
        {
          "name": "group-concept",
          "source": [
            {
              "context": "src",
              "element": "concept",
              "variable": "vvv"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "code",
              "variable": "vvv",
              "transform": "create"
            }
          ],
          "dependent": [
            {
              "name": "DefaultMappingGroupAnonymousAlias",
              "parameter": [
                {
                  "valueId": "vvv"
                },
                {
                  "valueId": "vvv"
                }
              ]
            }
          ]
        },
        {
          "name": "group-text",
          "source": [
            {
              "context": "src",
              "element": "text",
              "variable": "t",
              "condition": "src.title.exists() and src.linkId.exists()"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "item",
              "variable": "i"
            },
            {
              "context": "i",
              "element": "linkId",
              "transform": "evaluate",
              "parameter": [
                {
                  "valueString": "src.linkId + '-' + 'display'"
                }
              ]
            },
            {
              "context": "i",
              "element": "text",
              "transform": "copy",
              "parameter": [
                {
                  "valueId": "t"
                }
              ]
            }
          ]
        },
        {
          "name": "group-text",
          "source": [
            {
              "context": "src",
              "element": "text",
              "variable": "vvv",
              "condition": "src.title.empty()"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "text",
              "variable": "vvv",
              "transform": "create"
            }
          ],
          "dependent": [
            {
              "name": "DefaultMappingGroupAnonymousAlias",
              "parameter": [
                {
                  "valueId": "vvv"
                },
                {
                  "valueId": "vvv"
                }
              ]
            }
          ]
        },
        {
          "name": "group-required",
          "source": [
            {
              "context": "src",
              "element": "required",
              "variable": "vvv"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "required",
              "variable": "vvv",
              "transform": "create"
            }
          ],
          "dependent": [
            {
              "name": "DefaultMappingGroupAnonymousAlias",
              "parameter": [
                {
                  "valueId": "vvv"
                },
                {
                  "valueId": "vvv"
                }
              ]
            }
          ]
        },
        {
          "name": "group-repeats",
          "source": [
            {
              "context": "src",
              "element": "repeats",
              "variable": "vvv"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "repeats",
              "variable": "vvv",
              "transform": "create"
            }
          ],
          "dependent": [
            {
              "name": "DefaultMappingGroupAnonymousAlias",
              "parameter": [
                {
                  "valueId": "vvv"
                },
                {
                  "valueId": "vvv"
                }
              ]
            }
          ]
        },
        {
          "name": "group-group",
          "source": [
            {
              "context": "src",
              "element": "group",
              "variable": "vs0"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "item",
              "variable": "vt0"
            }
          ],
          "dependent": [
            {
              "name": "qstGroup",
              "parameter": [
                {
                  "valueId": "vs0"
                },
                {
                  "valueId": "vt0"
                }
              ]
            }
          ]
        },
        {
          "name": "group-question",
          "source": [
            {
              "context": "src",
              "element": "question",
              "variable": "vs0"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "item",
              "variable": "vt0"
            }
          ],
          "dependent": [
            {
              "name": "qstQuestion",
              "parameter": [
                {
                  "valueId": "vs0"
                },
                {
                  "valueId": "vt0"
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "name": "qstQuestion",
      "extends": "BackboneElement",
      "input": [
        {
          "name": "src",
          "mode": "source"
        },
        {
          "name": "tgt",
          "mode": "target"
        }
      ],
      "rule": [
        {
          "name": "question-type",
          "source": [
            {
              "context": "src",
              "element": "type",
              "variable": "vvv"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "type",
              "variable": "vvv",
              "transform": "create"
            }
          ],
          "dependent": [
            {
              "name": "DefaultMappingGroupAnonymousAlias",
              "parameter": [
                {
                  "valueId": "vvv"
                },
                {
                  "valueId": "vvv"
                }
              ]
            }
          ]
        },
        {
          "name": "question-linkId",
          "source": [
            {
              "context": "src",
              "element": "linkId",
              "variable": "vvv"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "linkId",
              "variable": "vvv",
              "transform": "create"
            }
          ],
          "dependent": [
            {
              "name": "DefaultMappingGroupAnonymousAlias",
              "parameter": [
                {
                  "valueId": "vvv"
                },
                {
                  "valueId": "vvv"
                }
              ]
            }
          ]
        },
        {
          "name": "question-concept",
          "source": [
            {
              "context": "src",
              "element": "concept",
              "variable": "vvv"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "code",
              "variable": "vvv",
              "transform": "create"
            }
          ],
          "dependent": [
            {
              "name": "DefaultMappingGroupAnonymousAlias",
              "parameter": [
                {
                  "valueId": "vvv"
                },
                {
                  "valueId": "vvv"
                }
              ]
            }
          ]
        },
        {
          "name": "question-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": "question-required",
          "source": [
            {
              "context": "src",
              "element": "required",
              "variable": "vvv"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "required",
              "variable": "vvv",
              "transform": "create"
            }
          ],
          "dependent": [
            {
              "name": "DefaultMappingGroupAnonymousAlias",
              "parameter": [
                {
                  "valueId": "vvv"
                },
                {
                  "valueId": "vvv"
                }
              ]
            }
          ]
        },
        {
          "name": "question-repeats",
          "source": [
            {
              "context": "src",
              "element": "repeats",
              "variable": "vvv"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "repeats",
              "variable": "vvv",
              "transform": "create"
            }
          ],
          "dependent": [
            {
              "name": "DefaultMappingGroupAnonymousAlias",
              "parameter": [
                {
                  "valueId": "vvv"
                },
                {
                  "valueId": "vvv"
                }
              ]
            }
          ]
        },
        {
          "name": "question-options",
          "source": [
            {
              "context": "src",
              "element": "options",
              "variable": "vvv"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "options",
              "variable": "vvv",
              "transform": "create"
            }
          ],
          "dependent": [
            {
              "name": "DefaultMappingGroupAnonymousAlias",
              "parameter": [
                {
                  "valueId": "vvv"
                },
                {
                  "valueId": "vvv"
                }
              ]
            }
          ]
        },
        {
          "name": "question-option",
          "source": [
            {
              "context": "src",
              "element": "option",
              "variable": "v"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "option",
              "variable": "o"
            },
            {
              "context": "o",
              "element": "value",
              "variable": "v"
            }
          ]
        },
        {
          "name": "question-group",
          "source": [
            {
              "context": "src",
              "element": "group",
              "variable": "vs0"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "item",
              "variable": "vt0"
            }
          ],
          "dependent": [
            {
              "name": "qstGroup",
              "parameter": [
                {
                  "valueId": "vs0"
                },
                {
                  "valueId": "vt0"
                }
              ]
            }
          ]
        }
      ]
    }
  ]
}