Package | hl7.fhir.uv.sdc.r4b |
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))" } ] } ] } ] } ] } ] } ] } ] } ] } ] }