Surgence is a patient management system designed to assist administrators in managing patient records efficiently. The system allows for the creation, retrieval, updating, and searching of patient information, providing a centralized platform for healthcare data management. It also includes robust user authentication to ensure secure access to sensitive patient data.
- Backend: Python, FastAPI
- Frontend: JavaScript, NextJS, TailwindCSS
- Database: PostgreSQL (hosted on Neon.tech)
- ORM: SQLModel
- Authentication: JWT
- Python
- JavaScript
-
FastAPI - High-performance Python web framework for building APIs.
-
SQLModel - ORM library for interacting with SQL databases, built on SQLAlchemy and Pydantic.
-
Pydantic - Data validation and settings management using Python type annotations.
-
uvicorn - Lightning-fast ASGI server for running FastAPI applications.
-
asyncpg - Fast PostgreSQL database client library for Python/asyncio.
-
python-dotenv - Loads environment variables from
.envfiles. -
Google Gemini API - AI model for powering the chatbot feature.
-
Next.js - React framework for server-side rendering and static site generation.
-
React - JavaScript library for building user interfaces.
-
Tailwind CSS - Utility-first CSS framework for rapid UI development.
-
styled-jsx - Full, scoped and component-friendly CSS support for JSX.
-
tw-animate-css - A collection of Tailwind CSS utilities for creating animations.
-
uv - Fast Python package installer and resolver.
-
pre-commit - Framework for managing and maintaining multi-language pre-commit hooks.
-
ruff - Extremely fast Python linter and code formatter.
-
black - Uncompromising Python code formatter.
-
mypy - Static type checker for Python.
-
pytest - Framework for writing and running Python tests.
-
ESLint - Pluggable JavaScript linter for identifying and fixing problems in code.
-
Prettier - Opinionated code formatter for JavaScript, CSS, and more.
-
Jest - JavaScript testing framework for ensuring code correctness.
-
Favicon.io - A tool for generating favicons for your website.
-
REST Client - VS Code extension for testing HTTP requests.
- User Authentication: Secure user login and registration with JWT-based authentication.
- Patient Management:
- Create, Read, Update, and Delete (CRUD) operations for patient records.
- Search for patients by name, status, scheduled date, or surgeon.
- Role-based access control to restrict access to patient data.
- Chatbot: An AI-powered chatbot to assist with data interaction and provide information.
- Status Tracking: Track the status of patients and view logs of status changes.
The chatbot is an integral part of the Surgence platform, designed to provide quick and intuitive access to patient information and system functionalities. It leverages a sophisticated inference engine to understand natural language queries and respond with accurate data or perform requested actions.
- Natural Language Queries: Interact with the system using everyday language. Instead of navigating complex menus, you can simply ask the chatbot what you need.
- Data Retrieval: Quickly fetch patient records by asking for them by name, ID, or other identifiers. For example, "Find patient John Doe" or "Show me the details for patient #12345."
- Information Summarization: Get concise summaries of patient information, such as their current status, upcoming appointments, or medical history highlights.
- Action Execution: Perform actions like scheduling appointments or updating patient statuses through simple commands. For instance, "Schedule a check-up for Jane Smith next Tuesday" or "Update John Doe's status to 'discharged'."
- Guided Assistance: The chatbot can guide you through various processes, such as registering a new patient or generating a report, by asking for the necessary information step-by-step.
The chatbot is designed to be a powerful assistant, streamlining workflows and making the management of patient data more efficient and user-friendly.
The Surgence application is deployed and accessible via the following links:
- Frontend (Vercel): https://surgence-mu.vercel.app
- Backend (Render): https://surgence.onrender.com
For more detailed deployment information, please refer to the README.md files in the frontend and backend directories of this repository.
-
NHS Love - Photo by Nicolas J Leclercq on Unsplash
-
Ambulance - Photo by Ian Taylor on Unsplash
