- Discussed the preferred projects and submitted them ranked through top 3
- Prioritized the health projects because of our preference to work with a 4th member
- Wanted to be able to branch out on different technologies / areas of development -Patrick wanted to be able to learn more backend!
- Discussed preferred meeting times and locations for both the TA weekly meetings and to begin work on assignment 1
- Completed primer for FIHR and took notes on it for future reference
- Learned that back-end development will likely center around the conversion of FHIR Questionnaire data into forms, and then converting the answers into QuestionnaireResponse format
- We noticed that because of the type of work we’re doing, we will need to validate our solutions more.
- Started work on Assignment 1:
- Talked about team expectactions and roles
- Discussed what the project is about and how we plan to solve the problem presented to us
- Discussed a development plan that will feature three milestones that we will attempt to meet
- Discussed a tech stack that the team is comfortable with and that will work well with the expectations of the project
- Decided that we will meet once a week to discuss team progress so that we can all align eachother on what we are each working on
-
Reassessing and confirming goals/features discussed in a1
-
Took a look at Formik docs, confirmed that it fits our use case
-
Next steps:
- Rishab will read up on FHIR
- Complete by: Oct 20
- Rish/Pat setup query to get Questionnaires and pass to frontend
- Validate response from server
- Test
- Complete by: Oct 25
- Kevin setup initial landing page and search bar/dropdown so user can select a questionnaire
- Hardcode list of questionnaires at first until step 2 is complete
- Complete by: Oct 27
- Kevin: Integrate Questionnaire list using id’s from step 2
- Test
- Complete by: Oct 28
- Rish/Pat setup query to get questionnaire based on ID selected by user in frontend
- Can be a hardcoded ID in beginning so not blocked
- Complete once step 4 is done
- Complete by: Oct 31
- Tiago: setup page to render form components based on questionnaire Object selected
- Wait until 5 is completed
- Complete by: Nov 4
- Rishab will read up on FHIR
-
Set up github issues for next steps: https://github.com/TiagoF99/CSC302-Patient-Questionnaire/issues
-
Potentially important resources we found: https://docs.smarthealthit.org/client-js/ https://github.com/Vermonster/fhir-kit-client
-
Weekly Updates:
- Tiago:
- Completed:
- All Questionnaire types: https://www.hl7.org/fhir/valueset-item-type.html
- PR:
- Added button to switch between page where you search for a questionnaire and page that renders questionnaire in form
- Added basic formik form
- PR:
- Added frontend API methods to get a questionnaire based on its ID
- Added error message components if the above fails
- Added components to render a form based on a questionnaire and get inputted values for most questionnaire item types
- Next Steps:
- Finish questionnaire to form integrations for the rest of the questionnaire types
- Completed:
- Patrick
- Completed:
- Next Steps:
- Kevin
- Completed:
- Started working landing page with search button
- Next Steps:
- Need more time to complete current task
- Completed:
- Rishab
- Completed:
- Built diagram of entire system to validate and explain scope to the team.
- PR
- Added backend support to pull questionnaires and specific questionnaires by id.
- Tested out different libraries.
- Next Steps:
- Investigate fhirformjs
- Completed:
- Tiago:
-
Important findings:
- Need further Investigation
- Send a questionnaire as a schema from the BE to FE using https://github.com/dermatologist/fhirformjs
- Render the questionnaire schema using https://github.com/dermatologist/fhir-questionnaire-render-react/ on the front end
- Validation will have to be done by us without use of library
- Need further Investigation
-
System diagram we came up with:
- Weekly Updates:
- Tiago:
- Completed:
- PR:
- Integrated Group item type properly and updated styling and added a global header
- Added some more item value verifications
- Added some additional styling to the UI
- PR:
- Next Steps:
- Integrate open-choice, question types for form
- Completed:
- Patrick
- Completed:
- No Updates
- Next Steps:
- Completed:
- Kevin
- Completed:
- Commit
- Add prototype for landing page and adding routing to the project to easily transfer through pages
- Commit
- Next Steps:
- Currently user questionnaire selection is hardcoded so update to add search functionality with backend pulled questionnaires
- Completed:
- Rishab
- Completed:
- Investigated the following and concluded that the libraries do not fully support all fhir questionnaire functionality. Will stick with current team implementation which is working better and can be configured much easier.
- Send a questionnaire as a schema from the BE to FE using https://github.com/dermatologist/fhirformjs
- Render the questionnaire schema using https://github.com/dermatologist/fhir-questionnaire-render-react/ on the front end
- Investigated the following and concluded that the libraries do not fully support all fhir questionnaire functionality. Will stick with current team implementation which is working better and can be configured much easier.
- Next Steps:
- Aid with questionnaire to form integrations
- begin setting up form validation in the backend
- Completed:
- Tiago:
- Weekly Updates:
- Tiago:
- Completed:
- PR:
- Updated form to integrate question and quantity types
- Added integrations for questionnaire enableWhen, enableBehaviour, maxLength fields
- Added testing configurations and tests for these changes
- Updated all documentation and organized it better
- PR:
- Next Steps:
- Work on post mortem and other A2 related things before the deadline
- Completed:
- Patrick
- No updates
- Kevin
- No updates
- Rishab
- Tiago:
- Weekly Updates:
- Tiago:
- Completed:
- PR:
- added tests for our frontend based api requests and components
- Updated some of the configurations to allow for this
- PR:
- Added a modal in the frontend to display if a form submission was successful or not and the errors if it was not
- Added tests for all frontend based components that were missing tests
- Updated other small things like allowing for correct enableWhen data submission validation
- Updated some front end styling
- PR:
- Next Steps:
- Focus on presentation, A3 documents, and other small fixes and updates to application
- Completed:
- Patrick
- No updates
- Kevin
- No updates
- Rishab
- No updates
- Tiago:
Team Decisions: Team as a whole decided to forego trying to cover 100% of the Questionnaire validation edge cases and instead to focus on ensuring the validation we have built so far that covers the vast majority of Questionnaires works well by adding tests for a better end-product. Team also agreed to skip adding an expansive search to the UI and instead adding a ID search to ensure the project could be properly documented and tested instead.
These decisions were also made in the light of our discussion with our industry partner, Alex, on November 29th in perhaps running our own HAPI FHIR server instead of relying on the public one due to the unreliability of the public HAPI FHIR server and the amount of invalid data on it. Thus we instead decided to prioritize to ensure our own HAPI FHIR server works well with the project.
Weekly Updates:
- Tiago:
- Completed:
- Worked on the A3 docs for the feature implementations and post mortem of A2
- Helped work on the presentation
- Completed:
- Patrick
- Completed:
- Led the completion of the presentation
- Added backend testing for the validation and error checking methods
- Completed:
- Kevin
- Completed:
- PR
- Added infinite scrolling to the landing page so that users can look through a list of questionnaires that they can select to fill out
- Added a field where users can manually input a Questionnaire ID to complete
- Updated the frontend UI to make it look more appealing
- PR
- Completed:
- Rishab
- Completed:
- PR
- Added the integration for a local FHIR server that can be run through docker
- Added backend testing for the API requests in the backend
- PR
- Completed:
- Next steps includes finihsing up any necessary changes and polishing the A3 documents and presentation