Healthcare Revenue Cycle Management
AidMe Medical Solutions
A revenue cycle management platform connecting clinics, medical aid funders and patients around claims, authorisations and payments.
- Django
- Django REST Framework
- React
- PostgreSQL
- Tailwind CSS
- Celery
- Redis
- Recharts
- Vite
- Type
- Healthcare Revenue Cycle Management
- My role
- Architecture, development & delivery
- Core stack
- Django, Django REST Framework, React

Context
The Problem
Clinics in Zimbabwe bill several medical aid societies, each with its own rules, tariffs, payment terms and remittance formats. Claims are often tracked in spreadsheets, so it is hard to know what has been submitted, what was paid short and what is still outstanding.
Shortfalls and co-pays that patients owe get lost, remittances have to be checked line by line by hand, and funders have no simple way to manage members, packages and pre-authorisations with the clinics in their network.
What I built
The Solution
I built a multi-tenant platform with separate portals for clinics, funders and patients. Clinics capture visits and claims, and a payer rules engine applies authorisation automatically. Uploaded remittance advice is matched to claims, and any shortpayment becomes a tracked patient debt.
Funders configure benefit packages, enrol members and review claims and pre-authorisations, while patients see their cover, benefit balances and claim history. Reports such as age analysis, recovery rate and rejection analysis show managers where money is stuck.
Capabilities
Key Features
Claims management
Capture visits, prepare claims and submit them to medical aid societies.
Rules-based authorisation
A payer rules engine applies authorisation automatically on new claims.
Pre-authorisations
Request and review authorised services across the provider network.
Remittance reconciliation
Upload remittance advice and match it to claims, with shortpays becoming debts.
Debts & receivables
Track co-pays, shortfalls and cash balances in USD and ZWG, with ageing.
Members & benefits
Patient profiles with annual limits, used and remaining benefits per category.
Benefit packages
Funders configure packages with limits, waiting periods and exclusions.
Reports
Age analysis, top owing funders, rejection analysis and recovery rate, with Excel export.
Alerts & SMS
Notification templates and scheduled alerts by email, SMS and WhatsApp (simulated in the demo).
Multi-tenant
Each clinic and funder works in its own isolated workspace.
Who uses it
User Roles
Service Provider
Clinic manager: claims, patients, debts, remittances, reports and alerts.
Billing Clerk
Front desk: day-to-day claim capture, visits and eligibility checks.
Funder
Medical aid admin: packages, members, claims adjudication and authorisations.
Client
Patient: cover, benefit balances, claim history and pre-authorisations.
User experience
Interface & Screenshots
Clinic dashboard Claims management Remittance reconciliation Patient debts & ageing Age analysis report Patients & benefit usage Funder dashboard Pre-authorisations Benefit package builder Members by package Patient portal: cover & benefits Patient portal on mobile
Engineering
System Architecture
01Clients
- Clinic portalManagers and billing clerks
- Funder portalMedical aid administrators
- Client portalPatients and members
02Frontend
- React + Vite SPATailwind CSS, Recharts dashboards
03Application
- Django REST APIJWT auth, tenant scoping, role permissions
- Domain modulesClaims, payers, remittances, debts, pre-auth
04Data & Jobs
- PostgreSQLTenants, members, claims, payments
- Celery + RedisScheduled alerts and background jobs
Tools
Technology Stack
- Backend
- PythonDjangoDjango REST FrameworkJWT authPostgreSQL
- Frontend
- ReactViteTailwind CSSRechartsAxios
- Background jobs
- CeleryRedis
- Documents & data
- pdfplumberopenpyxlRapidFuzzReportLab
- Infrastructure
- LinuxNginxSentry
Engineering decisions
Challenges & How I Solved Them
01Every funder has different rules
The challenge
Medical aid societies differ in tariffs, payment terms and what needs authorisation, so one fixed workflow does not fit.
How I solved it
Modelled each payer's rules as data in a rules engine, so authorisation and expected payment dates are applied per funder without code changes.
02Matching remittances to claims
The challenge
Remittance advice arrives as PDFs and spreadsheets whose names and references rarely match the clinic's records exactly.
How I solved it
Parsed remittance files and used fuzzy matching to pair lines with claims, turning any shortpayment into a tracked debt automatically.
03Three audiences, one source of truth
The challenge
Clinics, funders and patients all need to see the same claims and benefits, but each must only see their own data.
How I solved it
Built separate portals on one API, with tenant scoping and role permissions enforced on the server.
04Multiple currencies
The challenge
Clinics bill and collect in both US dollars and Zimbabwe Gold (ZWG).
How I solved it
Stored currency on every amount and reported debts and receivables per currency instead of mixing them.
Ownership
My Contribution
Designed and developed the platform end to end: data model, Django REST API, React portals, background jobs and deployment.
- Mapped the claim lifecycle between clinics, funders and patients
- Designed the multi-tenant data model and payer rules engine
- Built the Django REST API with JWT authentication and role permissions
- Built the clinic, funder and patient portals in React with Tailwind CSS and Recharts
- Implemented remittance parsing, fuzzy matching and debt tracking
- Deployed the platform with a public one-click demo
Outcomes
Results
- Deployed to production with a public live demo at aidme-medicalsolutions.co.zw
- [Add verified project metric here]
Live demo available
Try the Live Demo
Explore the system yourself. Pick a role on the demo page and you are signed in instantly, with no credentials needed, to see how each role experiences the platform.
One-click demo roles
NO LOGIN NEEDEDService Provider
Clinic manager: claims, members, debts, remittances, reports and alerts.
Billing Clerk
Front desk: day-to-day claim capture, visits and eligibility checks.
Funder
Medical aid admin: packages, members, claims adjudication and authorisations.
Client
Patient: cover, benefit balances, claim history and pre-auths.
Demo accounts use sample data. Notifications are simulated.