Skip to content

SidWorks01/TinkerQuest-24

 
 

Repository files navigation

logo

⛑️ DocAI


💻 About DocAI

Features

DocAI streamlines the report-making process by automating key tasks while ensuring the authenticity of medical information. Here's how our application addresses these challenges:

  1. Automated Report Generation: DocAI leverages natural language processing (NLP) techniques to automate report creation. Doctors can focus on patient care while our system generates accurate and concise reports.

  2. User-Friendly Interface: Our intuitive web interface, built using Django and Ajax, provides a seamless experience for both doctors and patients. Users can easily input data, view reports, and access relevant information.

  3. Enhanced Readability: We use Plotly and Plotly Express to create interactive visualizations within reports. Graphs, charts, and diagrams help convey complex medical data in a clear and digestible format.

  4. Secure Authentication: Google OAuth3 integration ensures secure access for authorized users. Doctors can log in securely and manage patient data.

  5. Virtual Assistant Bot: DocAI introduces an NLP-powered chatbot that educates users about minor symptoms, preventive measures, and general health awareness. This innovative feature enhances patient engagement and promotes well-being.

📫 Run Locally

To use DocAI, follow these steps:

  1. Clone this repository.
  git clone https://github.com/sajji18/TinkerQuest-24.git
  1. Create a virtual environment using python -m venv .env.
  2. Activate the virtual environment using source .env/Scripts/activate on bash OR .env\Scripts\activate on cmd.
  3. Install the required dependencies using pip install -r requirements.txt.
  4. Run the Django development server: python manage.py runserver.
  5. To create an admin user run python manage.py createsuperuser.
  6. To create a doctor account run python manage.py create_user.
  7. Set up your Google OAuth credentials. For this, go to localhost:8000/admin and log in using the superuser credentials. In the social applications menu on the left, set up the Google OAuth Service using the client_id, secret_key from the secret.json in the base directory. (Also, don't forget to change the domain name and site URL in the site settings in admin panel to localhost instead of 127.0.0.1).
  8. Create a customer account.
  9. To create and apply for test, use Test group in the admin panel to create the test with the doctor account as creator and Test Application group to create the test application for the required customer with the concerned test.
  10. Access the application at http://localhost:8000.

📖 Video Demonstration and Presentation

🛠️ Tech Stack

Client/FrontEnd:

  • Django: Our web application framework of choice for building the frontend.

  • Ajax: Used for asynchronous communication between the client and server, enhancing the user experience.

  • Sqllite3: The lightweight database engine, suitable for development and testing purposes.

  • Google OAuth2: For secure authentication and authorization of users.

ML/Data:

  • Dash: Utilized for creating interactive, web-based data visualizations to enhance report readability.

  • Django all-auth: Provides authentication and authorization features, ensuring secure access to the application.

  • Plotly: A powerful visualization library used for creating dynamic and engaging charts within the reports.

  • Plotly Express: Simplifies the creation of complex visualizations, further enhancing the report's clarity.

  • torch: PyTorch is employed for machine learning tasks, aiding in the automation of report generation.

  • nltk: Natural Language Toolkit used for processing natural language, facilitating the integration of text-based features like the chatbot.

🛠️ Challenges Faced

Problem and Approach

Problems Approach Status
Database Design Hit and Trial Decent
Ajax Dynamic Updates Planned Good
Chatbot Integration Research Good
Chart Integration Research Decent
Database and Chart Compatibility Hit and Trial Poor
Route Protection Planned Decent
Chat Utility Planned Good
Dark Mode Theme Unplanned Could be Better
NLP/bot optimization Research Could be Better
Bearable Value Visualisation Unplanned Didnt Apply
Report Generation and export Planned Didnt apply

📃 Future Strategic Objectives

  • Database and Chart Compatibility: Designing the database beforehand can often be found a good practice and we found it the hard way.
  • Chart Integration: Dash was the first time we used , hence the integration of the Chart utility could have been better if we had known its use better
  • Route Protection: We could have used React to enhance the UI but integration seemed a bit tiresome since we wanted to use django
  • Dark Mode theme: An Additional utility like this could be easily added using React
  • NLP Optimization: could be easier with the use of newer methods or by using llama 7b however , we wanted to work it out from scratch
  • Bearable Value Visualisation: Customisable Values to have a better showcase of limited or range of values that are normal for health could be added , customising this would be easier in react
  • Report generation : Due to loss of time , pdf was not generated from the HTML , this can be added later

✨ Contributors-

Releases

No releases published

Packages

No packages published

Languages

  • Python 48.8%
  • HTML 33.2%
  • CSS 16.9%
  • JavaScript 1.1%