| Package | hl7.fhir.uv.sdc.r4b |
| Resource Type | StructureMap |
| Id | questionnaire-population-transform |
| FHIR Version | R4B |
| Source | http://hl7.org/fhir/uv/sdc/http://hl7.org/fhir/uv/sdc/STU3/StructureMap-questionnaire-population-transform.html |
| URL | http://hl7.org/fhir/uv/sdc/StructureMap/questionnaire-population-transform |
| Version | 3.0.0 |
| Status | draft |
| Date | 2022-03-08T18:37:19+00:00 |
| Name | QuestionnairePopulationTransform |
| Title | Questionnaire Population Transform |
| Realm | uv |
| Authority | hl7 |
| Description | Sample stricture map showing process for auto-populating a QuestionnaireResponse from a query bundle |
No resources found
No resources found
Note: links and images are rebased to the (stated) source
Generated Narrative
Resource "questionnaire-population-transform"
url: http://hl7.org/fhir/uv/sdc/StructureMap/questionnaire-population-transform
version: 3.0.0
name: QuestionnairePopulationTransform
title: Questionnaire Population Transform
status: draft
experimental: true
date: 2022-03-08 06:37:19+0000
publisher: HL7 International - FHIR Infrastructure Work Group
contact: http://hl7.org/Special/committees/fiwg
description: Sample stricture map showing process for auto-populating a QuestionnaireResponse from a query bundle
jurisdiction: World (m49.htm#001)
structure
url: Bundle
mode: source
structure
mode: target
group
name: main
typeMode: none
input
name: src
type: Bundle
mode: source
input
name: qr
type: QuestionnaireResponse
mode: target
rule
name: questionnaire
Sources
- Context * src target
context: qr
contextType: variable
element: questionnaire
transform: copy
Parameters
- Value[x] * http://hl7.org/fhir/uv/sdc/Questionnaire/questionnaire-sdc-test-fhirpath-prepop-source-query rule
name: status
Sources
- Context * src target
context: qr
contextType: variable
element: status
transform: copy
Parameters
- Value[x] * in-progress rule
name: authored
Sources
- Context * src target
context: qr
contextType: variable
element: authored
transform: evaluate
Parameters
- Value[x] * now() rule
name: subject
Sources
- Context Element ListMode Variable * src entry first patient target
context: qr
contextType: variable
element: subject
variable: subject
target
context: subject
contextType: variable
element: reference
transform: evaluate
Parameters
- Value[x] * patient.resource.entry.fullUrl rule
name: grp
Sources
- Context * src target
context: qr
contextType: variable
element: item
variable: grp
target
context: grp
contextType: variable
element: linkId
transform: copy
Parameters
- Value[x] * grp rule
name: part-details
rule
name: meds
{
"resourceType": "StructureMap",
"id": "questionnaire-population-transform",
"text": {
"status": "generated",
"div": "<!-- snip (see above) -->"
},
"url": "http://hl7.org/fhir/uv/sdc/StructureMap/questionnaire-population-transform",
"version": "3.0.0",
"name": "QuestionnairePopulationTransform",
"title": "Questionnaire Population Transform",
"status": "draft",
"experimental": true,
"date": "2022-03-08T18:37:19+00:00",
"publisher": "HL7 International - FHIR Infrastructure Work Group",
"contact": [
{
"telecom": [
{
"system": "url",
"value": "http://hl7.org/Special/committees/fiwg"
}
]
}
],
"description": "Sample stricture map showing process for auto-populating a QuestionnaireResponse from a query bundle",
"jurisdiction": [
{
"coding": [
{
"system": "http://unstats.un.org/unsd/methods/m49/m49.htm",
"code": "001"
}
]
}
],
"structure": [
{
"url": "http://hl7.org/fhir/StructureDefinition/Bundle",
"mode": "source"
},
{
"url": "http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse",
"mode": "target"
}
],
"group": [
{
"name": "main",
"typeMode": "none",
"input": [
{
"name": "src",
"type": "Bundle",
"mode": "source"
},
{
"name": "qr",
"type": "QuestionnaireResponse",
"mode": "target"
}
],
"rule": [
{
"name": "questionnaire",
"source": [
{
"context": "src"
}
],
"target": [
{
"context": "qr",
"contextType": "variable",
"element": "questionnaire",
"transform": "copy",
"parameter": [
{
"valueString": "http://hl7.org/fhir/uv/sdc/Questionnaire/questionnaire-sdc-test-fhirpath-prepop-source-query"
}
]
}
]
},
{
"name": "status",
"source": [
{
"context": "src"
}
],
"target": [
{
"context": "qr",
"contextType": "variable",
"element": "status",
"transform": "copy",
"parameter": [
{
"valueString": "in-progress"
}
]
}
]
},
{
"name": "authored",
"source": [
{
"context": "src"
}
],
"target": [
{
"context": "qr",
"contextType": "variable",
"element": "authored",
"transform": "evaluate",
"parameter": [
{
"valueString": "now()"
}
]
}
]
},
{
"name": "subject",
"source": [
{
"context": "src",
"element": "entry",
"listMode": "first",
"variable": "patient"
}
],
"target": [
{
"context": "qr",
"contextType": "variable",
"element": "subject",
"variable": "subject"
},
{
"context": "subject",
"contextType": "variable",
"element": "reference",
"transform": "evaluate",
"parameter": [
{
"valueString": "patient.resource.entry.fullUrl"
}
]
}
]
},
{
"name": "grp",
"source": [
{
"context": "src"
}
],
"target": [
{
"context": "qr",
"contextType": "variable",
"element": "item",
"variable": "grp"
},
{
"context": "grp",
"contextType": "variable",
"element": "linkId",
"transform": "copy",
"parameter": [
{
"valueString": "grp"
}
]
}
],
"rule": [
{
"name": "part-details",
"source": [
{
"context": "src"
}
],
"target": [
{
"context": "grp",
"contextType": "variable",
"element": "item",
"variable": "partDetails"
},
{
"context": "partDetails",
"contextType": "variable",
"element": "linkId",
"transform": "copy",
"parameter": [
{
"valueString": "part-details"
}
]
}
],
"rule": [
{
"name": "patientDetails",
"source": [
{
"context": "src",
"element": "entry",
"listMode": "first",
"variable": "patient"
}
],
"target": [
{
"contextType": "variable",
"transform": "copy",
"parameter": [
{
"valueId": "partDetails"
}
]
}
],
"rule": [
{
"name": "participantId",
"source": [
{
"context": "patient",
"element": "resource",
"variable": "patientRes"
}
],
"target": [
{
"context": "partDetails",
"contextType": "variable",
"element": "item",
"variable": "participantId"
},
{
"context": "participantId",
"contextType": "variable",
"element": "linkId",
"transform": "copy",
"parameter": [
{
"valueString": "participant-id"
}
]
}
],
"rule": [
{
"name": "participantIdValue",
"source": [
{
"context": "patientRes",
"element": "entry",
"variable": "patientResEntry"
}
],
"target": [
{
"context": "participantId",
"contextType": "variable",
"element": "answer",
"variable": "participantIdAnswer"
},
{
"context": "participantIdAnswer",
"contextType": "variable",
"element": "value",
"transform": "evaluate",
"parameter": [
{
"valueString": "patientResEntry.resource.id"
}
]
}
]
}
]
},
{
"name": "familyName",
"source": [
{
"context": "patient",
"element": "resource",
"variable": "patientRes"
}
],
"target": [
{
"context": "partDetails",
"contextType": "variable",
"element": "item",
"variable": "familyName"
},
{
"context": "familyName",
"contextType": "variable",
"element": "linkId",
"transform": "copy",
"parameter": [
{
"valueString": "family-name"
}
]
}
],
"rule": [
{
"name": "familyNameValue",
"source": [
{
"context": "patientRes",
"element": "entry",
"variable": "patientResEntry"
}
],
"target": [
{
"context": "familyName",
"contextType": "variable",
"element": "answer",
"variable": "familyNameAnswer"
},
{
"context": "familyNameAnswer",
"contextType": "variable",
"element": "value",
"transform": "evaluate",
"parameter": [
{
"valueString": "patientResEntry.resource.name.first().family"
}
]
}
]
}
]
},
{
"name": "familyName",
"source": [
{
"context": "patient",
"element": "resource",
"variable": "patientRes"
}
],
"target": [
{
"context": "partDetails",
"contextType": "variable",
"element": "item",
"variable": "givenName"
},
{
"context": "givenName",
"contextType": "variable",
"element": "linkId",
"transform": "copy",
"parameter": [
{
"valueString": "given-name"
}
]
}
],
"rule": [
{
"name": "givenNameValue",
"source": [
{
"context": "patientRes",
"element": "entry",
"variable": "patientResEntry"
}
],
"target": [
{
"context": "givenName",
"contextType": "variable",
"element": "answer",
"variable": "givenNameAnswer"
},
{
"context": "givenNameAnswer",
"contextType": "variable",
"element": "value",
"transform": "evaluate",
"parameter": [
{
"valueString": "patientResEntry.resource.name.first().given.aggregate(iif($total.empty(), $this, $total & ' ' & $this))"
}
]
}
]
}
]
},
{
"name": "familyName",
"source": [
{
"context": "patient",
"element": "resource",
"variable": "patientRes"
}
],
"target": [
{
"context": "partDetails",
"contextType": "variable",
"element": "item",
"variable": "dob"
},
{
"context": "dob",
"contextType": "variable",
"element": "linkId",
"transform": "copy",
"parameter": [
{
"valueString": "dob"
}
]
}
],
"rule": [
{
"name": "dobValue",
"source": [
{
"context": "patientRes",
"element": "entry",
"variable": "patientResEntry"
}
],
"target": [
{
"context": "dob",
"contextType": "variable",
"element": "answer",
"variable": "dobAnswer"
},
{
"context": "dobAnswer",
"contextType": "variable",
"element": "value",
"transform": "evaluate",
"parameter": [
{
"valueString": "patientResEntry.resource.birthDate"
}
]
}
]
}
]
}
]
},
{
"name": "condition-count",
"source": [
{
"context": "src",
"element": "entry",
"variable": "conditions",
"condition": "(resource.link.url.contains('/Condition?'))"
}
],
"target": [
{
"context": "partDetails",
"contextType": "variable",
"element": "item",
"variable": "conditionItem"
},
{
"context": "conditionItem",
"contextType": "variable",
"element": "linkId",
"transform": "copy",
"parameter": [
{
"valueString": "condition-count"
}
]
}
],
"rule": [
{
"name": "conditionCountAnswer",
"source": [
{
"context": "conditions"
}
],
"target": [
{
"context": "conditionItem",
"contextType": "variable",
"element": "answer",
"variable": "conditionCountAnswer"
},
{
"context": "conditionCountAnswer",
"contextType": "variable",
"element": "value",
"transform": "evaluate",
"parameter": [
{
"valueString": "conditions.resource.entry.count()"
}
]
}
]
}
]
}
]
},
{
"name": "meds",
"source": [
{
"context": "src",
"element": "entry",
"variable": "medications",
"condition": "(resource.link.url.contains('/MedicationStatement?'))"
}
],
"target": [
{
"contextType": "variable",
"transform": "copy",
"parameter": [
{
"valueId": "grp"
}
]
}
],
"rule": [
{
"name": "medEntry",
"source": [
{
"context": "medications",
"element": "resource",
"variable": "medRes"
}
],
"target": [
{
"contextType": "variable",
"transform": "copy",
"parameter": [
{
"valueId": "grp"
}
]
}
],
"rule": [
{
"name": "medItem",
"source": [
{
"context": "medRes",
"element": "entry",
"variable": "med",
"condition": "(resource is MedicationStatement)"
}
],
"target": [
{
"context": "grp",
"contextType": "variable",
"element": "item",
"variable": "medsItem"
},
{
"context": "medsItem",
"contextType": "variable",
"element": "linkId",
"transform": "copy",
"parameter": [
{
"valueString": "meds"
}
]
}
],
"rule": [
{
"name": "medsName",
"source": [
{
"context": "med",
"element": "resource",
"variable": "medResource"
}
],
"target": [
{
"context": "medsItem",
"contextType": "variable",
"element": "item",
"variable": "medsName"
},
{
"context": "medsName",
"contextType": "variable",
"element": "linkId",
"transform": "copy",
"parameter": [
{
"valueString": "meds-name"
}
]
}
],
"rule": [
{
"name": "medsNameAnswer",
"source": [
{
"context": "medResource",
"element": "medication",
"variable": "medMedication"
}
],
"target": [
{
"context": "medsName",
"contextType": "variable",
"element": "answer",
"variable": "medsNameAnswer"
},
{
"context": "medsNameAnswer",
"contextType": "variable",
"element": "value",
"transform": "evaluate",
"parameter": [
{
"valueString": "medMedication.select(iif(text, text, coding.display.first()))"
}
]
}
]
}
]
},
{
"name": "medsStatus",
"source": [
{
"context": "med",
"element": "resource",
"variable": "medResource"
}
],
"target": [
{
"context": "medsItem",
"contextType": "variable",
"element": "item",
"variable": "medsStatus"
},
{
"context": "medsStatus",
"contextType": "variable",
"element": "linkId",
"transform": "copy",
"parameter": [
{
"valueString": "med-status"
}
]
}
],
"rule": [
{
"name": "medsStatusAnswer",
"source": [
{
"context": "medResource",
"variable": "medsMedication"
}
],
"target": [
{
"context": "medsStatus",
"contextType": "variable",
"element": "answer",
"variable": "medsStatusAnswer"
},
{
"context": "medsStatusAnswer",
"contextType": "variable",
"element": "value",
"transform": "evaluate",
"parameter": [
{
"valueString": "medResource.status"
}
]
}
]
}
]
},
{
"name": "medsCategory",
"source": [
{
"context": "med",
"element": "resource",
"variable": "medResource",
"condition": "(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/medicationrequest-category').exists())"
}
],
"target": [
{
"context": "medsItem",
"contextType": "variable",
"element": "item",
"variable": "medsCategory"
},
{
"context": "medsCategory",
"contextType": "variable",
"element": "linkId",
"transform": "copy",
"parameter": [
{
"valueString": "meds-category"
}
]
}
],
"rule": [
{
"name": "medsCategoryAnswer",
"source": [
{
"context": "medResource"
}
],
"target": [
{
"context": "medsCategory",
"contextType": "variable",
"element": "answer",
"variable": "medsCategoryAnswer"
},
{
"context": "medsCategoryAnswer",
"contextType": "variable",
"element": "value",
"transform": "evaluate",
"parameter": [
{
"valueString": "medResource.category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/medicationrequest-category').code.aggregate(iif($total.empty(), $this, $total & ' ' & $this))"
}
]
}
]
}
]
}
]
}
]
}
]
}
]
}
]
}
]
}