Last updated
Was this helpful?
Last updated
Was this helpful?
Observation-based extraction are widely used extraction method and the simpliest one.
To extract data from item to Observation, you just need to add code to item and enable Observation extraction.
Fill item code (this code will go into Observation code)
Enable Observation-extraction by clicking "Data extraction" -> "Observation"
Minimal Questionnaire that uses that approach:
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:
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.
Create in builder group called Patient and three items, so your form in item tree should look like this:
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.
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:
Now let's call $extract
operation again or click "Extract" in Debug panel in Extraction tab:
In response you will find two entries in Bundle resource: one updating Patient resource and one for creating Provenance resource.
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
Aidbox forms supports Observation-based extraction and Definition-based extraction