Stream: implementers
Topic: CQIF-Questionnaire
Lorraine Constable (Mar 08 2018 at 23:41):
Documentation Template knowledge artifacts from the current standard are intended to be represented by the CQIF profile of Questionnaire. I am trying to create a FHIR example of a current template that supports data collection for a cardiac referral. The first issue I hit was how to achieve the external data retrieval functions. It seems the reasonable approach is to define a CQL library with the appropriate definitions (equivalent to the external data definitions in the KAS schema), and then bind them to a question somehow. Is the item extension cqif-initialValue the appropriate way to do this? Thoughts @Bryn Rhodes ?
Lorraine Constable (Mar 08 2018 at 23:44):
Follow on question. The other Clinical Reasoning resources have a means to capture RelatedResources, SupportingEvidence, Contributors, etc. These elements are missing from the metadata sections of Questionnaire. Should they be added to this profile?
Lloyd McKenzie (Mar 09 2018 at 00:12):
We should probably have extensions to support those elements. It's not clear they're part of core for Questionnaires - Questionnaires are used in a whole lot of places that aren't nearly as concerned about that sort of metadata as folks tend to be in the CDS space.
Lloyd McKenzie (Mar 09 2018 at 00:13):
In terms of external data retrieval, that's one of the things we're working on with the SDC project - though we probabaly won't get into deep discussions about it for about a month or so.
Lloyd McKenzie (Mar 09 2018 at 00:13):
If you want to keep up-to-date on discussions, you might follow #questionnaire
Lorraine Constable (Mar 09 2018 at 03:55):
I was suggesting we add them to the profile, not the base resource, so they would be extensions. My deliverable will have to deal with the issue (and I assume it will be using the CQIF extensions) long before a month from now, so I will have to work out an approach
Bryn Rhodes (Mar 09 2018 at 15:37):
@Lorraine Constable , yes, the intent is to use the CQIF extensions to provide those types of values. So you would define a CQL Library with the data you wanted, and you would use cqif-library and cqif-initialValue to provide link the questions to the external data.
Bryn Rhodes (Mar 09 2018 at 15:39):
For the follow on question, yes, especially relatedArtifact for supporting documentation. They haven't been defined thus far because extensions didn't support using those data types as values, but I think that's allowed now so those extensions could be defined.
Lorraine Constable (Mar 09 2018 at 23:09):
@Bryn Rhodes Do you want me to add a tracker item for the additional extensions? if so, all in one, or one per?
Bryn Rhodes (Mar 10 2018 at 15:12):
@Lorraine Constable yes please, one tracker is fine.
Lorraine Constable (Mar 12 2018 at 21:05):
@Bryn Rhodes - when would you use the cqif-initialValue extension on Item in Questionnaire versus the Initial element in the base resource?
Bryn Rhodes (Mar 12 2018 at 21:07):
When you want the initial value to be provided by the evaluation of an expression, rather than statically specified in the resource.
Lorraine Constable (Mar 12 2018 at 21:14):
Thanks @Bryn Rhodes
Bryn Rhodes (Mar 12 2018 at 21:29):
You're welcome!
Lloyd McKenzie (Mar 12 2018 at 23:31):
Have we thought about just moving to an "expression" extension - which we could put on any resource wherever we needed/wanted it?
Grahame Grieve (Mar 12 2018 at 23:38):
i have, and decided not to - the semantics of the expression might be portable, but in each case , you need to say something about the binding - how the outcome of evaluating the expression is is interpreted - and how the expression connects to data from the context
Bryn Rhodes (Mar 13 2018 at 02:46):
Well, we do that in Clinical Reasoning, with cqif-cqlExpression and cqif-fhirPathExpression, but the semantics are always "the value of this element is the result of evaluating this expression". And as Grahame says, the semantics for this case are variable enough that it made sense to keep the specific initialValue and calculatedValue for use with Questionnaire.
Lorraine Constable (Mar 15 2018 at 00:34):
@Bryn Rhodes I have a situation where I want to "enableWhen" a question based on a boolean expression that relies on 4 previous questions. Do I have to create a item with a calculated value and then reference that item from the enableWhen? If so, is there a way to say "don't display this"? or can enableWhen reference an expression that uses responses from previous questions?
Bryn Rhodes (Mar 15 2018 at 02:49):
Is it only enabled if all 4 of the previous questions are answered, or is there some calculation?
Lorraine Constable (Mar 15 2018 at 02:52):
sorry was on a plane @Bryn Rhodes Here is the logic:
<condition>
<logic xsi:type="elm:Or">
<elm:operand xsi:type="elm:And">
<elm:operand xsi:type="elm:Property" path="ongoingRestingChestPain">
<elm:source xsi:type="elm:ParameterRef" name="Responses"/>
</elm:operand>
<elm:operand xsi:type="elm:Property" path="onsetOfNewRestingChestPain">
<elm:source xsi:type="elm:ParameterRef" name="Responses"/>
</elm:operand>
</elm:operand>
<elm:operand xsi:type="elm:And">
<elm:operand xsi:type="elm:Property" path="onsetOfRecurrentChestPain">
<elm:source xsi:type="elm:ParameterRef" name="Responses"/>
</elm:operand>
<elm:operand xsi:type="elm:Property" path="previouslyStableExertionalAngina">
<elm:source xsi:type="elm:ParameterRef" name="Responses"/>
</elm:operand>
</elm:operand>
</logic>
<conditionRole/>
</condition>
Lorraine Constable (Mar 15 2018 at 02:52):
lost the indenting, sorry
Last updated: Apr 12 2022 at 19:14 UTC