A clinic management system prototype built for Zambian clinical settings, designed as a lightweight complement to DHIS2 at the facility level. It was built as a final-year project for my BSc Computing program at Cavendish University Zambia.
ClinIQ helps front-line clinic staff track patients, visits, and medications in one place, with rule-based clinical decision support that automatically flags patients who need follow-up - missed appointments, frequent medication changes, chronic conditions with no recent visits, and patients with no visit history at all.
- Patient records - create, update, and browse patient profiles
- Visit tracking - log clinic visits with diagnosis, clinician, and notes
- Medication tracking - record prescriptions and status (active/changed/stopped)
- Clinical decision support alerts - rule-based flags surfaced per patient and on a dedicated alerts view, e.g.:
- Missed last scheduled appointment → follow-up required
- Two or more medications stopped/changed → treatment plan review recommended
- Chronic condition with no attended visits in 6 months → risk flag
- No visit history → prompt initial consultation
- REST API backing the frontend, with full CRUD on patients, visits, and medications
- Frontend: HTML, CSS, JavaScript (vanilla, no frameworks)
- Backend: Node.js, Express
- Database: MongoDB (via Mongoose)
- Node.js v14+
- MongoDB (local) or a MongoDB Atlas connection string
-
Clone the repo and install dependencies:
git clone https://github.com/YOUR_USERNAME/cliniq-system.git cd cliniq-system npm install -
Create a
.envfile in the project root:MONGODB_URI=mongodb://localhost:27017/cliniq PORT=3000 NODE_ENV=development -
Start MongoDB locally (or point
MONGODB_URIat an Atlas cluster). -
Start the server:
npm start
-
Seed demo data (first run only) by visiting:
http://localhost:3000/api/seed -
Open
index.htmlin your browser, or serve the frontend:npx http-server
Full setup details and troubleshooting are in SETUP.md; API reference is in API.md.
Full endpoint documentation lives in API.md. Summary:
| Resource | Endpoints |
|---|---|
| Patients | GET/POST /api/patients, GET/PUT/DELETE /api/patients/:id |
| Visits | GET/POST /api/visits, GET/PUT/DELETE /api/visits/:id, GET /api/patients/:id/visits |
| Medications | GET/POST /api/medications, GET/PUT/DELETE /api/medications/:id, GET /api/patients/:id/medications |
Academic prototype developed as a final-year project. Scoped for simplicity and academic defensibility, using mock Zambian patient data - not intended for real clinical use without further security, privacy, and compliance work.
Academic project - for educational/portfolio purposes.