DIPROMES medical equipment management system — platform for a medical products distributor in the Dominican Republic
Case study Python · FastAPI · JavaScript Health · Medical management Santo Domingo, DR 2025 – 2026

DIPROMES — Comprehensive management for therapeutic medical equipment

A complete web platform for Distribuidora de Productos Médicos y Servicios, a Dominican therapeutic-equipment rental company. It covers patients, equipment assignment, GPS tracking, clinical notes, and invoicing — all in one system.

View live demo
8
Devices monitored in real time
GPS
Patient mapping with Leaflet.js
PDF
Delivery receipts generated
HMO
Health insurance integration
360°
Clinical history per patient
REST
Documented FastAPI (Swagger) API

The problem: medical operations with no system

DIPROMES operates by renting therapeutic equipment (ventilators, oxygen concentrators, compression devices) to patients in clinics, hospitals, and homes in the DR. Without a system, the operation depended on disconnected spreadsheets and WhatsApp — impossible to scale.

⚠ Without DIPROMES
  • Equipment location unknown — WhatsApp and memory
  • Patient clinical history scattered across paper
  • Manual invoicing with risk of double billing
  • No visibility into which equipment is free or in use
  • No traceability when a returned device is picked up
  • Remote tracking of placements was impossible
✓ With DIPROMES
  • Real-time GPS map with the location of every device
  • Digital clinical record per patient with full history
  • Delivery receipts (invoices) generated automatically
  • Availability dashboard for all 8 devices
  • Digital delivery/pickup log with device condition
  • Placement tracking by phone or tablet

Screenshots of the system

dipromes.onrender.com / dashboard
🗺️ Dashboard with GPS map Leaflet.js map with markers for active patients,
operational-equipment KPIs, and period revenue

Main dashboard — map of active patients and equipment fleet status

dipromes.onrender.com / pacientes / [id]
🏥 Patient clinical record History of placements, assigned equipment, clinical notes,
and informed consent agreements

Patient profile — complete history of placements, equipment, and clinical follow-up

dipromes.onrender.com / equipos
⚙️ Equipment inventory Real-time status of all 8 devices: free, assigned,
under maintenance. Serial number and condition.

Fleet control — availability, status, and assignment of every medical device

System architecture

DIPROMES uses a decoupled client-server architecture: the backend in Python FastAPI exposes a REST API with automatically generated Swagger documentation, and the JavaScript frontend consumes that API. This makes future mobile clients possible without changing the backend.

Frontend (client)
Vanilla JavaScript (ES6+)
Leaflet.js · GPS maps
CSS Grid / Flexbox
localStorage · cache
↕ REST API (JSON)
Backend — Python FastAPI
FastAPI · Routers
Pydantic · validation
SQLAlchemy ORM
Auth · sessions
CORS middleware
Data and generation layer
PostgreSQL (Render)
ReportLab · PDF receipts
openpyxl · Excel
Backup / Restore

Main modules

👤
Patient registration
Complete profile with demographics, diagnosis, health insurance, GPS location, and emergency contact.
🗺️
Patient GPS map
Interactive Leaflet.js map showing the location of every active patient, clinic, or home.
⚙️
Equipment inventory
Real-time status of all 8 devices: available, assigned, under maintenance. Serial number and condition.
📋
Placements (assignments)
Full delivery flow: equipment parameters, delivery photo, condition, and informed-consent agreement.
🏥
Clinical notes
Clinical follow-up per placement: treatment modality, next visit, progress, and observations.
🧾
Invoicing (receipts)
Delivery-receipt generation, monthly reconciliation, outstanding balances, and Excel/PDF export.
📊
KPI dashboard
Active placements, operational equipment, monthly revenue, and a real-time geographic distribution map.
💾
Backup / Restore
Full database export and import. Disaster recovery with no loss of clinical history.

Tech stack

Backend

Python 3 FastAPI SQLAlchemy ORM Pydantic v2 PostgreSQL uvicorn

Frontend and maps

JavaScript (ES6+) Leaflet.js · GPS CSS Grid / Flexbox localStorage · cache Fetch API

Document generation and infrastructure

ReportLab (PDF) openpyxl (Excel) Render.com (deploy) Swagger UI (docs)

How it was built

  1. 1
    Analysis of the real operational flow Before writing code, I documented the full cycle of a placement: from patient intake to equipment pickup. That flow determined the data models and the views needed.
  2. 2
    API-first with FastAPI I started with the backend: designed the REST API with FastAPI, defined the Pydantic schemas, and built the endpoints. FastAPI generates Swagger docs automatically — the team can test every endpoint with no extra code.
  3. 3
    Map integration with Leaflet.js The map layer was the module with the highest visual impact. Leaflet.js is open-source and requires no API key — ideal for production with no usage costs. Markers load dynamically from the API when the map opens.
  4. 4
    PDF receipt generation Delivery receipts are the business's central commercial document. ReportLab generates the PDF with logo, patient details, assigned equipment, period, and totals — ready to sign and send to the insurer or client.
  5. 5
    Built-in backup system For medical operations, data loss is critical. I implemented a backup/restore module that exports the entire database to JSON and re-imports it with no loss — with no dependency on external tools.

What I learned

FastAPI is the right framework when you need a well-documented, high-performance API. The combination of strict typing with Pydantic and automatic Swagger docs removes all ambiguity between frontend and backend — the API contract is the code itself.

The most important lesson: in health systems, data integrity beats every other metric. The backup module was what built the most trust with the client, even though it's not "visible" in the UI. A system that can recover from any failure is a system you can use with peace of mind.

Second lesson: Leaflet.js is a better choice than Google Maps for internal-use projects. No map-load costs, no API key to manage, and all the functionality the real use case required.

Need a management system for your company?

I build custom web platforms with Python FastAPI and PostgreSQL for businesses in the Dominican Republic. Health, logistics, inventory, or whatever your operation needs — we start with real process analysis.