MediDoc: What Got Done Till Now
Tags: dohackathon, django
Published: 2020-12-28 16:26:55


A couple of months ago I came across this thread by DHH:

{% twitter 1324000909886545920 %}

A similar thing I have also noticed here in India and a considerable amount of time is wasted on these paperwork activities! So in this hackathon, I am trying to build a web app that addresses this issue!

## Introducing MediDoc: Paperless and Efficient Healthcare Management Software

### Tech Stack

I am using Django in the backend and MaterializeCSS in the frontend. A `superuser` is required to access the admin panel.

### Workflow

A typical treatment case in hospital -
- Take admission in a hospital
- Hospital prescribes some medicines in a paper, and the patient (or the family of the patient) has to buy it from a pharmacy
- Hospital asks the patient to get some diagnosis (say, MRI, X-ray, etc.), and it is performed in a diagnosis center. The patient gets the scanning done and finally brings the result back to the hospital. S/he may have to wait quite some time in the diagnosis center to get paper-works done and get those scanning results.

So as we can see, there are quite a few manual steps in the flow of work, and in many places, paperwork is involved.

MediDoc is a web app that tries to get rid of this paperwork and thus making the whole process much more efficient.

In this web app, there are 4 types of users:

- Normal user (or patient)
- Hospital
- Pharmacy
- Diagnosis Center

Only admins can add hospital, pharmacy, and diagnosis type of users. Admins ideally should be the government-appointed personnel, who can approve hospitals, pharmacies, and diagnosis centers after checking their license.

- Sign in as admin (`superuser`).
- Add a new user to the page http://localhost:port_number/add-user

![](https://dev-to-uploads.s3.amazonaws.com/i/hadmmv2uy91irbv71kp7.png)

Admin can add different types of users - hospital, pharmacy, and diagnosis center.

- We can now sign in as a hospital user. The first page is a list of recent cases. As we have signed in as a new user, we'll see an empty cases list.

![](https://dev-to-uploads.s3.amazonaws.com/i/vyadk25nqozvz7kl4h2x.png)

- We can now a case by clicking on the + button at the bottom right corner. Note that the patient must exist, otherwise we'll encounter an internal server error. We can also add media in the description box.

![](https://dev-to-uploads.s3.amazonaws.com/i/uuj2eahfoyagsllqs5iv.png)

- After adding the case we can view it, and add some comments.

![](https://dev-to-uploads.s3.amazonaws.com/i/j1p39quehl38rcb3u0hh.png)

Check how neatly the comments are organized. We can also upload a file and add different types of users. Again, users must exist. Add the users using the `ADD USER` tab below. The comments and case description can be edited as well.

- **Access Level:** Once a user is added, they will see their kind of data only. For example, a pharmacy can see only prescription-related comments and files. In this way, they only get to see what is relevant to them. It is up to the hospital to provide relevant information to different types of users.
- **My Library**: If we think a file will be useful later, we can add it to our library by clicking on the + button on the file. It can be accessed library by clicking on the profile icon in the top right and then clicking on the library. One can remove files from the library as well.

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/xsgw4dqcrnakyhg4a2mw.png)

- **Mark a case as inactive:** Once a case is resolved, it can be marked as inactive by clicking on the `EDIT` button in the description panel, and unchecking the `active` checkbox. The case will no longer show up on the recent cases list.
- **All cases:** All cases can be accessed by clicking on `All Cases` in the navbar.

### Advantages

- Zero paperwork, a patient fills the required information (blood group, allergies, etc.) during sign up
- No paperwork for prescriptions as well
- Documents (e.g., x-ray scan) can be saved in my library and referenced later
- Past case histories can be referenced for similar cases in future

## Try It Out
To try it out, please create a patient account [here](https://medi-doc-njgqo.ondigitalocean.app/accounts/signup) and a medical account [here](https://medi-doc-njgqo.ondigitalocean.app/accounts/signup/medical) (note that admin has to approve the medical accounts, so please wait a bit!).

Alternatively, you can use the following demo medical accounts:
- devto-hospital
- devto-diag
- devto-pharmacy

And the patient account:
- devto-patient

Password for all of them is: medidocpass@abc

Let me know what you think!

<small> <i>Cover photo by <a href="https://unsplash.com/@luvqs?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Lucas Vasques</a> on <a href="https://unsplash.com/s/photos/medical?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Unsplash</a></span></i></small>

<small><i>Chest X-Ray <span>photo by <a href="https://unsplash.com/@cdc?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">CDC</a> on <a href="https://unsplash.com/s/photos/x-ray?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Unsplash</a></span></i></small>