Inspiration
One of Canada's most challenging problems is the human healthcare resource shortage. This means less approachable healthcare for those living in cities and a severe health hazard to those living in rural areas. The most fundamental solution would of course be to increase the number of healthcare staff, especially doctors, but the execution is always more difficult than plain words. It would take various years of discussion at a national level of politics to decide on a solution. On the other hand, not all the work has to be done by the government or the Parliament, the private sector can help resolve this issue too. Private companies such as Phreesia develop tools that can increase the efficiency of the low number of healthcare staff we have. Our team wanted to follow on their journey in building a tool that will increase the efficiency of healthcare staff to decrease the damage to the public as much as possible.
What it does
Our Patient Medical History Portal further strengthens and shortens the communication between healthcare staff and patients. The program intends to achieve its goal via two effective methods.
Firstly, we intend to reduce the waiting times for various test results. Usually, after taking a medical examination, we not only need to wait for the result to be released but also to be communicated to us by physicians. The extra days waiting for the busy physicians to just pass on the results from the lab seemed very unnecessary to us. The Patient Medical History Portal allows physicians to input their opinion and diagnosis directly into the portal along with the lab results. This can then be viewed by the patient right away, without having to get another appointment with the physician.
Secondly, we intend to assist the physicians in their decision-making process by integrating an AI that can predict certain diseases the patient may have from analyzing their lab result data. As AI goes through more ML, its accuracy will reach a level where it can help physicians reduce medical accidents that may have a direct effect on patients.
How we built it
The Patient Medical History Portal is a web-based application that incorporated various technologies. At the core, it runs using NodeJS and ExpressJS to allow efficient data flow to happen between the clients and the RESTfully structured server. To ensure the security of our data while allowing efficient querying, we decided on using a relational database, PostgreSQL to be exact. This allows our web application to search, update, and insert to happen in a well-structured manner even while scaling. To aid medical practitioners in efficient diagnosis we planned for our web app to provide models which predict the health of a patient from given patient tests and observational facts. For each disease, three separate models were trained to classify whether or not a person is likely to have a certain disease given a set of features. Each model was trained using a publicly available dataset. A Naive Bayes classifier is a machine learning algorithm that uses Bayes' Theorem to predict the class of a new data point. It is called "naive" because it makes a strong assumption about the independence of the features, which is often not true in real-world data. Logistic Regression is another type of supervised learning algorithm used for binary classification that we used for our ML algorithm. Finally, a Multi-layer Perceptron (MLP) is a type of artificial neural network that can be used for classification tasks. The output of the MLP is a class prediction based on the input data. During the training process, the MLP learns to make better predictions by adjusting the weights and biases of the neurons. The MLP continues to learn and refine its predictions through multiple iterations of the training process until it reaches a satisfactory level of accuracy. We used the following methods to predict the three most common fatal diseases: Diabetes, heart disease, and stroke. These models were trained as proof of concept. The idea is to give a practitioner an efficient way to see red flags in a patient’s health.
Challenges we ran into
We absolutely wanted to include and showcase our machine-learning technology, so we had to scrap an entire project during our development.
Accomplishments that we're proud of
By working together effectively, we were able to build a full-stack application with machine-learning capability in less than 12 hours.
What we learned
We learned how effectively we can work in a high-performing team where the team's collective effort outputs multiplicative results. We also learned the importance of planning and communication during the development. Finally, we learned how in a fast solution-based work environment, operations can be turned down and switched around unexpectedly due to stakeholders' needs and wants during the development cycle.
What's next for Patient Medical History Portal
With the increased prevalence of cyberattacks post-pandemic, healthcare practitioners, administrators, and businesses should absolutely account for security vulnerabilities in sensitive client information like medical history and records. In fact, Canada has the federal privacy law, Personal Information Protection and Electronic Documents Act (PIPEDA), that exists to protect all Canadians and their personal health information. As an application dealing with the aforementioned data sensitivity, we here at Patient Medical History Portal plan to comply and go beyond expectations to ensure the security of our clients and patients.
Built With
- bootstrap
- css
- express.js
- html
- javascript
- machine-learning
- mathplotlib
- node.js
- numpy
- pandas
- pickle
- postgresql
- python
- sklearn

Log in or sign up for Devpost to join the conversation.