To get some data from you need to call $extract operation. Also, you can use Debug panel in builder, choose Extraction and you will see result of calling this operation:
POST /fhir/QuestionnaireResponse/$extractcontent-type:application/jsonresourceType:Parametersparameter:- name:questionnaire-responseresource:resourceType:QuestionnaireResponsesubject:id:morganresourceType:Patientauthor:id:morganresourceType:Patientstatus:in-progressitem: - linkId:weighttext:Weightanswer: - valueQuantity:value:123123unit:Fquestionnaire:http://forms.aidbox.io/questionnaire/new-form
In response you will get resource Bundle with needed Observation:
Definiton-based extraction can be used to extract any type of resources. In this guide we will create form that updates Patient info.
Form setup
Let's create a form that updates Patient resource. Any item in Questionnaire that you want to extract using this approach must be placed inside a group with itemExtractionContext
Create in builder group called Patient and three items, so your form in item tree should look like this:
Patient [group]
- family name [string]
- given name [string]
- birth date [date]
1. Setting group extraction context
Select group in outline
Expand Data extraction section
Check Extract
Select Definition
Fill Group extraction context with Patient/{{%resource.subject.id}}
When aidbox mets this group during the extraction process, it will fetch Patient resource with id = subject.id of QuestionnaireResponse.
2. Setting item definitions
Once we have item extraction context (in our case it is a Patient resource), we can set where answers from items in this group should go.
For each item in "Patient" group enable data-extraction in builder and choose "Definition" and fill it with these values:
Patient.name.family for family name item
Patient.name.given for given name item
Patient.birthDate for birth date item
In the end your Questionnaire should look like this: