-
-
Home Page of Application
-
Features of API
-
Patient Data Entry
-
Medalysis Id
-
Authorization of Doctors by Government
-
Worldwide Data Visualization of affected patients
-
The Medalysis Workspace
-
Mock Server
-
A sample request
-
Monitors
-
Environments
-
API Health Check Results
-
Runner results - Production Endpoints
-
Medalysis API Overview
-
Runner results - Test/ Mock Examples
Inspiration
The latest pandemic has completely shaken the world beyond limits. It has left such a scar that will probably take a lifetime to get over and heal from. One of the most impacted sectors/industries that were majorly affected is the medical and hospital sector. Going back to when it was first identified in China, one can only imagine what it would have looked like handling the sudden outpour of patients with respiratory disease symptoms, as far as the doctors' point of view was concerned.
What if, back during those days, the doctor fraternity as a whole would be able to analyze and overview the scale of diseases occurring at large based on categories like organs affected, symptoms, countries, age-span, and gender from any corner of the world. It would help them get a much better picture at a glance and work towards identifying and analyzing the causes of a particular disease.
Considering these issues, we thought of innovating a solution, that would help not only doctors but also data science developers, researchers, scientists, or anyone who wishes to gain insights into the ongoing trends and patterns of illness or disorders prevailing around the world. In this way, they would be able to use this precious data to their own advantage and hopefully work towards the prevention of another possible pandemic.
Thus we bring to you Medalysis, an API that serves its purpose solely towards tracking locations, figuring out patterns of symptoms, and helping one observe the growing trends of diseases and epidemics worldwide, thus identify an incoming pandemic at an early stage.
What it does
1. The website revolves around enabling doctors/nurses/hospital personnel to post relevant data of each of their patients regularly and anonymously thus preserving privacy and avoiding leakage of sensitive data. This data is usually to help identify common trends of diseases such as symptoms, organs affected, age of the patient, etc.
2. In order to make sure that no one but official doctors/hospital staff are posting, we let them enter an ID specifically to be used on the portal known as the "Medalysis ID", in-turn generated by entering their Practioner IDs and National IDs. This is to ensure that the whole data of the portal is reliable and trustworthy.
3. The Doctor's data shall be stored on the Medalysis Database by Government Officials for enabling a seamless process and authorize the doctors to use the application.
4. Once the patient data is being fed on the database, we can categorically filter out the data pertaining to various attributes such as symptoms, organs affected, severity, age range, gender, country, and year of occurrence
5. This filtered data is then visualized on a marked world map, thus helping the observer identify the worldwide population patterns and trends of affected patients in general, based on the specific applied categories.
How we built it
- The website frontend was made using HTML, CSS, and JS.
- The website backend was made using Node JS and MongoDB as the database. The backend is deployed on Heroku and is up and live at https://medalysis.herokuapp.com
- We integrated the HERE Maps API in the frontend to pick out the exact locations for developing the trends of the illnesses.
- The application is live at https://medalysis.netlify.app/
- Working with a postman required some heavy behind the scenes understanding and documenting the backend.
Here's the workflow of how we worked on a public postman workspace as follows:-
- After creating a workspace, and forming a team we created two collections namely Production Endpoints and Test/ Mock examples.
- We then created two environments for both the collections.
- Up next, we divided both the collections into four folders namely Government, Doctors, Developers, and Open
- For each and every GET and POST request, we configured environment variables, wrote test scripts, and also configured the parameters, headers, and body content as per the requirements of each request.
- Mock examples were created from Production Endpoints collection requests in order to make the Mock server run properly. Then we integrated the monitoring in the production environment and scheduled weekly tests.
- Then we also tested both the collection using Runner.
- Lastly, we documented the Production Endpoint collection at the end of the process.
Challenges we ran into
Working on various high-level tech stacks was a challenging yet satisfying experience for all of Integrating a dynamic world map on the website for tracking and pointing out the exact location of using the HERE Maps API was time-consuming and challenging since we were doing it for the first time.
- Learning how to create mock servers and examples for the same was a tough task but we did eventually manage to achieve the goal.
- We could not figure out how to write the test scripts exactly at first and integrate the monitoring feature of the postman but felt great on discovering and learning the same.
- We wanted to ensure the proper planning and dividing collections into proper request bundles for ease of developers, thus being purposeful and easily accessible.
Accomplishments that we're proud of
Our main aim was to create an API that not only does it serve its purpose to make developer's lives technically sound and easy but also helps in the community's growth as a whole.
We are immensely proud that our API will be serving an enormous number of stakeholders, in many different ways:
1. Data Scientists - They can gain insights and perform statistical analysis on various patterns of illness and come up with accurate data for further research.
2. Travelers and Travel Agencies - Travellers can be made aware and cautioned by travel websites, flight booking sites, and agencies about the ongoing sickness cases in particular areas overtime, thus alerting them to avoid planning trips around those areas.
3. Doctors - Doctors can note down the condition of patients in and around areas, thus they'll immediately come to know once a particular pattern of illness follows, thus becoming alert immediately about a possible occurrence of epidemic/pandemic, and taking appropriate actions.
4. Governments - Country government can be in the loop about the health conditions and prevailing diseases of the citizens residing in that nation at any point in time.
5. Pharmaceutical companies - This precious data can be sold to pharmaceutical companies and help them gain insight into their future production scope after analyzing the database, thus helping them in reaching new heights in business.
6. Technical Developers - Integrating our API can help developers build applications that require such sort of detailed worldwide statistical data in their endeavors.
We ended up building a project that would help create a huge difference in difficult times like these and of course, we ended up getting acquainted with some great development experience which was a bit frustrating but fruitful at the same time.
After overcoming numerous hurdles, we are now much more confident as web developers and proud of being able to contribute to society in an efficient way.
What we learned
We learned the important fundamentals behind the creation of an API and the parameters that make an API the most useful and efficient. We tried making it extremely simple, understandable, and as much self-explanatory as possible.
We kept into account neat documentation which is the most mandatory practice while building an API. This was achieved by incorporating all the functions, methods, endpoints, requests, and responses and converting the same into postman documentation. Adequate use of examples time and again will help our readers at every step.
We ensured stability and internal consistency throughout the API so that it becomes extremely user-friendly for all the developers out there using our API. We learned to handle common parameters globally within our API and use inheritance or a shared architecture to reuse the same naming conventions and data handling consistently throughout the API.
Security, one of the most important aspect was taken care of by token-based authentication, where the token is a random hash assigned to the user and they can reset it at any point if it has been stolen. Allow the token to be passed in through POST or an HTTP header.
What's next for Medalysis
As far as future enhancements are concerned, we have planned to incorporate several advanced features pertaining to our user’s experience, and benefit.
1.Identification of Hotspots: We have thought of implementing a feature that shall showcase Hotspot areas that highlight the highest number of affected patients in a particular area.
2. Using blockchain for storing data: For security concerns, we are planning of incorporating blockchain for storing central data. This will ensure that the database is encrypted such that only authorized parties can access the data.
3. Featuring real-time data: Using WebSockets, we have thought of implementing and displaying real-time live data right from the time when the doctors enter the data to the statistical analysis page.
The above features, once incorporated and intertwined, can lead to a one-stop application that would consist of everything one can need when it comes to visualizing and analyzing live trends and statistical data of affected patients and diseases throughout the world based on various categories.
Log in or sign up for Devpost to join the conversation.