Replies: 2 comments
-
Definition-based extraction returning multiple resources (WIP)Scoping
An example of a Questionnaire used to extract multiple Resources {
"resourceType": "Questionnaire",
"id": "basic-child-registration",
"title": "Child Registration",
"status": "active",
"date": "2021-05-25T13:05:47.111Z",
"subjectType": [
"Patient",
"Observation"
],
"item": [
{
"linkId": "PR",
"type": "group",
"item": [
{
"linkId": "PR-name",
"type": "group",
"definition": "http://hl7.org/fhir/StructureDefinition/Patient#Patient.name",
"item": [
{
"linkId": "PR-name-text",
"definition": "http://hl7.org/fhir/StructureDefinition/Patient#Patient.name.given",
"type": "string",
"text": "First Name"
},
{
"linkId": "PR-name-family",
"definition": "http://hl7.org/fhir/StructureDefinition/datatypes#Patient.name.family",
"type": "string",
"text": "Family Name"
}
]
},
{
"linkId": "patient-0-birth-date",
"definition": "http://hl7.org/fhir/StructureDefinition/Patient#Patient.birthDate",
"type": "date",
"text": "Date of Birth"
},
{
"linkId": "patient-0-gender",
"definition": "http://hl7.org/fhir/StructureDefinition/Patient#Patient.gender",
"type": "choice",
"text": "Gender:",
"answerOption": [
{
"valueCoding": {
"code": "female",
"display": "Female"
},
"initialSelected": true
},
{
"valueCoding": {
"code": "male",
"display": "Male"
}
},
{
"valueCoding": {
"code": "other",
"display": "Other"
}
},
{
"valueCoding": {
"code": "unknown",
"display": "Unknown"
}
}
],
"extension": [
{
"url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl",
"valueCodeableConcept": {
"coding": [
{
"system": "http://hl7.org/fhir/questionnaire-item-control",
"code": "radio-button",
"display": "Radio Button"
}
],
"text": "A control where choices are listed with a button beside them. The button can be toggled to select or de-select a given choice. Selecting one item deselects all others."
}
}
]
},
{
"linkId": "PR-contact-party",
"definition": "http://hl7.org/fhir/StructureDefinition/Patient#Patient.contact",
"type": "group",
"item": [
{
"linkId": "PR-contact-party-name",
"definition": "http://hl7.org/fhir/StructureDefinition/Patient#Patient.contact.name",
"type": "group",
"item": [
{
"linkId": "PR-contact-party-name-given",
"definition": "http://hl7.org/fhir/StructureDefinition/Patient#Patient.contact.name.given",
"type": "string",
"text": "Guardian First Name"
},
{
"linkId": "PR-contact-party-name-family",
"definition": "http://hl7.org/fhir/StructureDefinition/datatypes#Patient.contact.name.family",
"type": "string",
"text": "Guardian Last Name"
}
]
}
]
}
],
"extension": [
{
"url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-itemExtractionContext",
"valueExpression": {
"language": "application/x-fhir-query",
"expression": "Patient",
"name": "patient"
}
}
]
},
{
"link": "Obs",
"type": "group",
"extension": [
{
"url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-itemExtractionContext",
"valueExpression": {
"language": "application/x-fhir-query",
"expression": "Observation",
"name": "observation"
}
}
],
"item": [
{
"linkId": "Obs-birth-weight",
"type": "group",
"definition": "http://hl7.org/fhir/StructureDefinition/Observation#valueQuantity",
"item": [
{
"linkId": "Obs-birth-weight-value",
"type": "decimal",
"text": "Birth weight (Kgs)",
"definition": "http://hl7.org/fhir/StructureDefinition/Observation#valueQuantity#value"
},
{
"linkId": "Obs-birth-weight-unit",
"type": "string",
"definition": "http://hl7.org/fhir/StructureDefinition/Observation#valueQuantity#unit",
"initial": {
"valueString": "Kg"
},
"extension": [
{
"url": "http://hl7.org/fhir/StructureDefinition/questionnaire-hidden",
"valueBoolean": true
}
]
}
]
}
]
}
]
}
|
Beta Was this translation helpful? Give feedback.
0 replies
-
StructureMap-based extraction returning multiple resourcesScoping
|
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Sample Questionnaires
- +1 Immunization
- Each Immunization referencing the Encounter
- Definition-based (Encounter generated before)
- +1 Patient
- +1 Observation ??
- Register child with birth weight, birth height, mother details, doses of TdV & mother's HIV status
- Observation (birth height)
- Observation (birth weight)
- RelatedPerson (Mother details with Patient reference to child)
- Patient (mother)
- Mother observations
- Multiple resources of similar type
- References between patient and observation resources
- https://www.hl7.org/fhir/patient.html#maternity
- OccupationData
- Extraction of 2 resources with a one resource having a reference to the other resource
Extraction types
1. Definition-based extraction
definition
property which helps map the question to the Resource property/element. If misalignment occurs, the processor does not easily handle ambiguity and the method does not allow defining enough details for easier mapping.2. Structure-map based extraction
questionnaire-targetStructureMap
extension on the questionnaireExamples of structure maps
QuestionnaireResponse
toPatient
using FHIR Path expressionQuestionnaireResponse
toPatient
using when.. then.. FHIR mapping language constructsFakeInpatientDrugChart
to aPatient
,Observation
andMedicationRequest
How to run extraction using StructureMap based extraction for R4
{your-strucure-map-here}
{your-source-resource-json}
This method only work for extracting
QuestionnaireResponse
to anObservation
References
Beta Was this translation helpful? Give feedback.
All reactions