Git Product home page Git Product logo

hc_reimbursement's Introduction

hc_reimbursement

CS253 project: Built a web app that will allow users to apply for reimbursement claims online by simply filling an online form and providing required details. The system would also help users view already submitted forms and their status. The HC staff can scrutinize and verify the applications. They can approve and send the details to the Accounts department or reject the claims and update the status of the form.

Directory Structure

. ├── README.md
├── requirements.txt
└── src
├── db.sqlite3
├── dummyData
│ ├── db.json
│ ├── readme.md
│ └── user_password.txt
├── manage.py
├── src
│ ├── asgi.py
│ ├── init.py
│ ├── settings.py
│ ├── urls.py
│ ├── views.py
│ └── wsgi.py
└── user
├── admin.py
├── apps.py
├── init.py
├── migrations
│ ├── 0001_initial.py
│ ├── init.py
├── models.py
├── static
│ ├── css
│ │ ├── bootstrap.css
│ │ ├── bootstrap.css.map
│ │ ├── bootstrap.min.css
│ │ ├── bootstrap.min.css.map
│ │ ├── bootstrap-theme.css
│ │ ├── bootstrap-theme.css.map
│ │ ├── bootstrap-theme.min.css
│ │ ├── bootstrap-theme.min.css.map
│ │ └── index.css
│ ├── fonts
│ │ ├── glyphicons-halflings-regular.eot
│ │ ├── glyphicons-halflings-regular.svg
│ │ ├── glyphicons-halflings-regular.ttf
│ │ ├── glyphicons-halflings-regular.woff
│ │ └── glyphicons-halflings-regular.woff2
│ └── js
│ ├── bootstrap.js
│ ├── bootstrap.min.js
│ ├── jquery-3.5.1.min.js
│ └── npm.js
├── templates
│ ├── accounts_dashboard.html
│ ├── accounts_profile.html
│ ├── doctor_dashboard.html
│ ├── doctor_profile.html
│ ├── form.html
│ ├── hcadmin_dashboard.html
│ ├── hcadmin_profile.html
│ ├── index.html
│ ├── login.html
│ ├── patient_dashboard.html
│ ├── patient_profile.html
│ ├── signin.html
│ ├── signup_admin.html
│ └── signup.html
├── tests.py
├── urls.py
├── utils.py
└── views.py

Description

  • ./manage.py- Script that helps with management of the site i.e. making migrations and running the server

  • ./dummyData/db.json- Stores dummy data that can be loaded for testing the application

  • ./db.sqlite3- Database in sqlite3, storing data in tables based on different models defined in model.py

  • ./user/settings.py- Contains the configuration of our website, i.e. database settings, logging configuration and location of static files.

  • ./user/model.py- Stores all the models for our project i.e. an object which is stored in the database. The properties and methods for each object are defined in the class.

  • ./user/admin.py- Manages the Django admin interface by registering the models defined.

  • ./user/views.py- Contains the main logic of the application which requests information from the models created and pass it to the template

  • ./user/urls.py- All the paths for the views and to access the application are configured.

  • ./user/templates- Contain the frontend files to present the site in HTML.

./static- Static css and bootstrap files

How to run ?

Running locally

  • A virtual environment is create using the following command: python -m venv myvenv which needs to be activated using myvenv\Scripts\activate
  • The software requirements for the given application are installed using- pip install -r requirements.txt which installs dependencies like django
  • The database is created and the migrations are applied using: python manage.py migrate
  • To login as admin, a superuser account is created which has control overall control of the site by running: python manage.py createsuperuser
  • The web server is started by running: python manage.py runserver
  • Register a hcadmin user using the admin page provided by django and explore the application further

Running using deployed site

  • Open https://hc-reimbursement-portal.herokuapp.com
  • You have been provided with the followng user details
Name username password roll no role
Sanchit Sinha sanchits sanchits 190753 patient
Test hcadmin test_hcadmin test_hcadmin 111111 hcadmin
Test doctor test_doctor test_doctor 134567 doctor
Test Accounts test_accounts test_accounts 112234 accounts

Explore the application

To load some dummy data into the database

Run python3 manage.py loaddata dummyData/db.json from the src folder

Future Development Plans

  • Update UI: Make changes in the UI to make the system more user friendly and fluid by providing intuitive animations and a uniform colour code to represent specific information without discrepancies.
  • Useful Links: Provide a page with useful links related to HC. Provide a page with just info on Offline Reimbursement Plan. Change Password Option: Allows the user to change the password by providing the current password, and then asking for the new password and its retype. This changes the user password in the database.
  • Notification by Mail (whenever Status Change or Feedback received): Whenever the reimbursement status changes, the patient user who filled the form is automatically notified through their mail.
  • Manage Notification: Provides the option to toggle the notifications ON or OFF, or even selectively enable the notifications.
  • Provide a multiple feedback system: A feedback system which allows users with any roles to discuss by multiple comments on a transaction.
  • Create a Draft Form: Allows the user to temporarily save the form details without having to discard the already written data.
  • Categorized Document Upload: Allows different categories for the documents, like prescription, medicine bill, lab test bill, etc.

hc_reimbursement's People

Contributors

sanchit-sinha avatar shoryak avatar phoenix-23 avatar atreya221 avatar gaukm01 avatar nakulaneeraje avatar priyankaj01 avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar Subhrojyoti avatar  avatar

hc_reimbursement's Issues

Sign up done even without IITK Email ID

The email field specifies that IITK email ID is compulsory for signing up. But still, a user is able to sign up with a non-IITK email ID.

Here is a screenshot:
image
image
image

As seen in the last one, the account was created successfully.

Frontend work that is left to address

  • Profile section
  • Update Profile section ( to set the profile related fields in the database)
  • Add new user page access to the hc admin to add doctor/hc_admin user roles
    @Gaukm01 @prianka01

Upload , Store & View Documents

This is a major part of our software and we need to update our code & fix the issue and add this function to store and view the uploaded documents from each profile as part of the View Form and View Transaction.

The previous inputs remain on reloading page

On the profile page, on reloading the page after updating the profile form, the information filled in the update form before realoding is not erased and same previous input is displayed.
Screenshot (218)

Admin signup minor frontend issues

Rollnumber is asking for exactly 6 digits in admin signup for doctor/admin and message of getting account created is displayed in red in adminsignup.

Bug in updation of patient profile

While updating the profile of a patient, if any field except "Contact" was updated, the page showed a warning prompt with the message "Please match the requested format", and the profile was not updated.

Steps to reproduce the behavior:

  1. Go to the "Update Profile" section under the "Profile" tab.
  2. Update any field except "Contact".
  3. The warning prompt is seen.

image

Desktop specifications:

  • OS: Windows 11
  • Browser: Chrome

Future work

  1. Adding role based restrictions (https://github.com/sanchit-sinha/hc_reimbursement/pull/2#issuecomment-1073186497)
  2. Adding doctor specialisation and other roles specific things in admin signup page
  3. fix add/delete button issue in user form :currently we need to manually enter and fix the number of medicines and tests entered to prevent any issue
  4. Add UI to add medicine/tests at hcadmin_dashboard
  5. blank feedback and comments are displayed as disabled in current web app
  6. Adding confirm Password option (#15 (comment))
  7. Add cancel button and few other changes(#13 (comment), #13 (comment))
  8. Document Upload issues

Add more items.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.