Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FI-3584: Allow User Provided Questionnaire Package Responses #44

Open
wants to merge 16 commits into
base: main
Choose a base branch
from

Conversation

vanessuniq
Copy link
Contributor

@vanessuniq vanessuniq commented Jan 7, 2025

Summary

This update introduces the ability for users to provide a custom questionnaire package response for the Static Questionnaire workflow test, applicable to both Full EHR and SMART APP Suite. The test logic has been updated to handle the validation of the provided QuestionnaireResponse, and the attestation statements have been adjusted to reflect these changes.

Test Guidance

  • Presets for Testing: Presets include examples like the respiratory device and dinner order questionnaires.
  • Scenarios to Test:
    1. No Custom Response Provided: All four validation tests for the custom response should result in "omit."
    2. Invalid Custom Response Provided: If the custom response has no bundle or is of the wrong resource type, the first custom validation should be "fail," and the subsequent three should be "skip."
    3. QuestionnaireResponse Validation with Custom Response: If a custom response is provided but the referenced questionnaire (QuestionnaireResponse.questionnaire) is not in the custom response package, the validation should be skipped.

…as provided or not. mainly validating origin source and required answers

Signed-off-by: Vanessa Fotso <[email protected]>
Signed-off-by: Vanessa Fotso <[email protected]>
@karlnaden
Copy link
Contributor

Do you have an example questionnaire package response that you've used with this functionality? Walking through an example of how to use it would help with the review.

@vanessuniq
Copy link
Contributor Author

Do you have an example questionnaire package response that you've used with this functionality? Walking through an example of how to use it would help with the review.

I tested with the bundle we use for the Respiratory Assist Device workflow and also this output parameter from the IG

Signed-off-by: Vanessa Fotso <[email protected]>
@tstrass
Copy link
Contributor

tstrass commented Jan 8, 2025

I think I mostly know what I need to do, but any testing guidance for this? Edit: I guess Karl asked a related question above so I'll just go off of that if there's nothing else.

Signed-off-by: Vanessa Fotso <[email protected]>
Signed-off-by: Vanessa Fotso <[email protected]>
…n, ensuring it can be retrieved

Signed-off-by: Vanessa Fotso <[email protected]>
Signed-off-by: Vanessa Fotso <[email protected]>
Signed-off-by: Vanessa Fotso <[email protected]>
@vanessuniq vanessuniq requested a review from tstrass January 10, 2025 05:26
lib/davinci_dtr_test_kit/cql_test.rb Show resolved Hide resolved
lib/davinci_dtr_test_kit/cql_test.rb Outdated Show resolved Hide resolved
Signed-off-by: Vanessa Fotso <[email protected]>
Signed-off-by: Vanessa Fotso <[email protected]>
Signed-off-by: Vanessa Fotso <[email protected]>
@karlnaden
Copy link
Contributor

Seeing this in practice, I don’t think that changing the dinner static tests to accommodate user-specified $questionnapire-package responses is the right approach. In the SMART tests in particular, we’re able to verify significantly more detail when we know the Questionnaire and the data available to pre-populate it and changing the tests to assume that we don’t know that level of detail is a big step back. I think instead, we should make these completely new tests that test the smaller scope in the basic workflows section and move the dinner static ones elsewhere, like into the Questionnaire Functionality Coverage section.

In addition to that, I think that even though we can’t validate that the client does things like pre-populate correctly, I think we can and should change that all of the “source” values are present: auto, manual, and override.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants