A secure, web-based clinical records management system designed for healthcare professionals. This full-stack application is built with Spring Boot on the backend and React on the frontend, leveraging a PostgreSQL relational database for persistent data storage.
Key features include:
Implements JWT-based authentication and role-based access control (RBAC) to ensure only authorized users (e.g., doctors, administrators) can access or modify patient data.
Supports creating, reading, updating, and viewing patient clinical records, including personal details, diagnoses, medical history, and clinical notes.
Tracks all modifications to clinical records, logging the author, timestamp, and type of change, ensuring traceability and accountability.
Includes a searchable and filterable dashboard for quick access to patient records based on attributes such as diagnosis, hospital, or status.
Provides real-time statistical views over the registered data, enabling aggregation by diagnosis category, hospital, or patient status.
Sensitive fields (e.g., name, diagnosis) encrypted using AES on the backend, and pseudonymization available for testing and reporting use cases.
Backend: Spring Boot, Spring Security, JPA, JWT
Frontend: React, Material UI
Database: PostgreSQL
Tooling: Maven, Node.js
Screencast.From.2025-06-13.22-26-58.webm
Java 17+
Node.js 18+
Maven
Postgres
Recommended IDE: IntelliJ IDEA or VSCode
Clone the repository
$ git clone https://github.com/danimnunes/clinic_registry.git
$ cd clinic_registry/clinic-registry-server
Configure the database connection Edit the clinic-registry-server/src/main/resources/application.properties with your db credentials
Run
$ docker compose up --build
$ mvn clean install
$ mvn spring-boot:run
Navigate to the frontend folder
$ cd clinic_registry/clinic-registry-frontend
Install dependencies
$ npm install
Run the application
$ npm start
The frontend will be available at: http://localhost:3000/login