Stream: questionnaire
Topic: advantages of HAPI
Diane (Aug 29 2019 at 03:30):
I am building a web site that will feature some FHIR Questionnaires with the data collected as FHIR Questionnaire Responses. This is a prototype using HTML and Python.
According to the documentation at https://www.hl7.org/fhir/questionnaire.html, it appears that it might be difficult to retrieve the data out of the Questionnaire Resource as noted in the statement "However, data captured only in Questionnaires can be difficult to query after-the-fact. Queries against other Resources will not return data captured only in Questionnaires and querying against Questionnaires directly might not find all desired data".
Is this because the Questionnaire and Questionnaire Response do not have all of the search parameters enabled? If using HAPI, is it possible to enable more search parameters above what the HAPI server provides by default?
Another approach that I was considering is storing the data in a MongoDB and then accessing it via the RESTFUL API. Will that turn out to be more work in the end as I will need to manually expose all of the Resources myself?
Does HAPI come with enough "built-in" functionality in support of the Questionnaire and Questionnaire Response to make the HAPI server the easiest implementation?
Lloyd McKenzie (Aug 29 2019 at 03:43):
The difficulty is that the meaning of data inside questionnaire responses is never consistent. How do you query a particular question inside a particular group with a particular other question answer? QuestionnaireResponses are mechanisms for raw data capture, but if you want standardized data query/comparison/analysis, you need to extract the information from the QuestionnaireResponses into the appropriate other resources (Observations, MedicationStatements, etc.) You can take a look at the SDC implementation guide for information on how to do that.
Lloyd McKenzie (Aug 29 2019 at 03:44):
http://build.fhir.org/ig/HL7/sdc/
Paul Lynch (Aug 29 2019 at 14:47):
@Diane On the other hand, if you don't care about combining/comparing data from two Questionnaires that are asking the same question (i.e. if the responses from each Questionnaire are going to be analyzed independently), then just storing the data as a QuestionnaireResponse is probably sufficient.
If you do need to extract data into Observations, LHC-Forms has support for that via the observationLinkPeriod extension. I appears that I haven't updated the documentation on that; let me know if that is what you want to use & do.
The question of where to store it has more to do with what you do with the data once you have it. If FHIR's RESTFUL API is sufficient, then I would recommend setting up a HAPI FHIR server. (You could experiment with fake data at http://hapi.fhir.org/, and see if it meets your needs before investing the time of setting up your own.)
Lloyd McKenzie (Aug 29 2019 at 16:10):
Storing it is easy. Searching against it, not so much.
Lloyd McKenzie (Aug 29 2019 at 16:11):
(Unless you're only storing one type of questionnaire)
Last updated: Apr 12 2022 at 19:14 UTC