201901 Questionnaire
Questionnaire / Structured Data Capture
Submitting WG/Project/Implementer Group
FHIR Infrastructure - Structured Data Capture (SDC) project
Justification
The new release of SDC has defined a number of additional capabilities around questionnaire that need to be exercised
Clinical input requested
This track will primarily be focused on technical testing, not clinical issues
Related tracks
Argonaut (they will be executing some Questionnaire-related tests). Clinical Research and CDS will have some affiliation
Proposed Track Lead
Lloyd McKenzie
- Skype ID: lmckenzi
- Email: lmckenzie@gevityinc.com
FHIR Version
This track will use the frozen version of the SDC IG included in the 2018Sep ballot, based on FHIR R4 draft
Zulip Chat
The Zulip Chat will be used to coordinate among participants during the connectathon:
Expected participants
Grahame Grieve? Lloyd McKenzie, Brian Postlethwaite, 2-3 people from NLM, others?
Roles
Form Designer
Creates, submits, and revises Questionnaires
Form Filler
Captures user form input
Form Manager
Serves as the repository for form definitions and may also perform pre-population and data extraction
Scenarios
Forms
Objective: Test the form creation language defined by the SDC specification
1. Create an SDC-conformant form
- Action: SDC Form Designer creates a new Questionnaire instance that is conformant with the SDC Questionnaire profile
- Precondition: none
- Success Criteria: Form passes validation against the Questionnaire schema and is identified as valid against the SDC Questionnaire profile by the FHIR profile validation tool
- Bonus Point: Define a Questionnaire that makes use of all "must support" extensions
- Bonus Point: Define a Questionnaire that makes use of all "optional" extensions
- Bonus Point: Define contained or independently persisted value sets
2. Submit form
- Action: SDC Form Designer submits Questionnaire to an SDC Form Manager for storage
- Precondition: Questionnaire has been defined, Form Designer knows base URL for form manager
- Success Criteria: Questionnaire is stored on Form Manager Server
3. Query forms
- Action: SDC Form Filler or SDC Form Designer searches an SDC Form Manager for Questionnaires using one or more of the SDC-supported search criteria
- Precondition: Questionnaires are available on the SDC Form Manager
- Success Criteria: Set of matching Questionnaires is returned
- Bonus Point: Make use of sorting and paging parameters
4. Update form
- Action: the SDC Form Designer revises an existing Questionnaire previously stored in the SDC Form Manager and submits an update
- Precondition: A version of the Questionnaire exists on the SDC Form Manager and the Form Designer
- Success Criteria: A new version of the Questionnaire exists on the SDC Form Manager. The original version remains accessible via a history query
- Bonus Point: Hand collision detection using e-tags
Completed Forms
Objective: Test the ability to render, navigate, and capture data based on forms defined using SDC syntax
1. Render SDC form for input
- Action: SDC Form Filler converts the definition of an SDC Questionnaire into a user interface that can solicit data from a human
- Precondition: SDC Questionnaire has been retrieved
- Success Criteria: Human can fill out the form populating the questions and groups within the Questionnaire
- Bonus Point: Enforce conditional display while the user populates the Questionnaire
- Bonus Point: Render the Questionnaire taking into account the must-support extensions defined in FHIR
- Bonus Point: Render the Questionnaire taking into account the optional extensions defined in FHIR
- Bonus Point: Provider appropriate interfaces to select from a referenced ValueSet
2. Record answers
- Action: SDC Form Filler submits completed QuestionnaireResponse to an SDC Form Receiver
- Precondition: SDC Questionnaire has been received and populated
- Success Criteria: QuestionnaireAnswers instance is available for query on the SDC Form Filler
- Bonus Point: Store a partially-completed QuestionnaireResponse
- Bonus Point: Validate that the QuestionnaireResponse instance is valid against the Questionnaire and referenced ValueSets
3. Update answers
- Action: SDC Form Filler retrieves QuestionnaireResponse instance and associated Questionnaire and displays the Questionnaire with data populated for update
- Precondition: SDC Questionnaire and QuestionnaireResponse instances are available for query
- Success Criteria: Revised QuestionnaireResponse instance is stored on SDC Form Receiver reflecting user's edits
- Bonus Point: Ensure conditional display rules are enforced based on already populated data
Form Population
Objective: Test ability to pre-populate/auto-populate forms
1. Pre-populate a form
- Action: SDC Form Filler invokes the $populate operation on an SDC Form Manager passing a Questionnaire id and a FHIR instance
- Precondition:SDC Form Filler has retrieved an SDC Form with queries and XPaths that define popualation expectations
- Success Criteria: The SDC Form Filler receives a QuestionnaireResponse instance with the matching questions populated
- Bonus Point: SDC Form Filler renders content appropriately following conditional display values - including hiding the populated elements that aren't allowed to be displayed
Form Extraction
Objective: Test ability to extract information from a completed form into other FHIR resources
1. Pre-populate a form
- Action: SDC Form Filler invokes the $extract operation on an SDC Form Manager passing a QuestionnaireResponse id
- Precondition:QuestionnaireResponse references an accessible Questionnaire that includes mappings for extraction
- Success Criteria: The SDC Form Filler receives a Bundle instance with data extracted from the QuestionnaireResponse
TestScript(s)
Not yet decided
Security and Privacy Considerations
- No expectation of secure connection, authentication, audit, etc. as part of this track