201805 Questionnaire Track
Track Name
Submitting WG/Project/Implementer Group
Structured Data Capture/FHIR Infrastructure
Justification
Questionnaires (and the ability to easily get data into and out of them) seems likely to be a key part of the solution to data capture and presentation of a number of "complex" structures for clinical care, claims management, research and other areas. The SDC project has made several updates to the IG that we'd like to test and we also want to prepare for additional testing in conjunction with Boston DevDays.
Proposed Track Lead
Lloyd McKenzie
- Skype ID: lmckenzi
- Email: lmckenzie@gevityinc.com
Expected participants
Grahame Grieve, Brian Postlethwaite, NLM, ???
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
Form Receiver
Serves as a repository for completed forms
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 includes conditional display
- Bonus Point: Define a Questionnaire that includes special rendering/style requirements
- 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 special rendering/style requirements
- 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 C-CDA instance
- Precondition:SDC Form Filler has retrieved an SDC Form referencing DataElements which contain xpath mappings to a C-CDA document where the specified paths exist in the test C-CDA instance
- 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
Dynamic forms
Objective: Test use of CDS Hooks to guide Questionnaire completion
1. Dynamically complete form
- Action: SDC Form Filler triggers CDS Hook while completing questionnaire. CDS Hook triggers Form Manager passing partially-competed QuestionnaireResponse to return an adjusted Questionnaire containing additional questions based on answers completed thus far. This process may be iterated several times
- Precondition: Form Manager is subscribed to necessary hooks
- Success Criteria: QuestionnaireResponse is fully submitted against a "custom" Questionnaire designed based on answers
TestScript(s)
Not yet decided
Security and Privacy Considerations
- No expectation of secure connection, authentication, audit, etc. as part of this track