Case study · VizzitMD
Run the whole house-call practice from one screen
The complete CRM and EHR for practices that see patients at home — patients, charting, e-prescribing, orders, referrals and billing in one system, with smart routing built in.
- EHR & CRM
- Full-Stack Development
- Route Optimization
- React
- NestJS
- Keycloak
- Industry
- House-call and home-health medicine
- Engagement
- Product design and full-stack development
- Stack
- React · NestJS · MongoDB · Keycloak · KrakenD · AWS
The client
VizzitMD
VizzitMD is the EHR for house-call medicine — built for mobile practices that treat patients at home rather than retrofitted from software that assumes the patient travels to the clinic. It runs the whole day end to end: intake and referrals, drive-time scheduling, in-home charting, orders and e-prescribing, and billing through to the submitted claim. VizzitMD reports 10 to 30 minutes of drive time saved per day.
- 3
- product planes — practitioner, home health and admin — over one backend
- 12
- encounter templates, from wellness visits to home health certs
- 54
- home-visit billing codes in the coding rules table
Architecture
Three product planes, one multi-tenant backend
Practitioners, home-health partners and administrators each get their own single-page app, and all three run on the same services. Tenancy is a Keycloak realm: every plane authenticates into its own realm and every patient record belongs to one, so practices can share a deployment without sharing data. Permission checks live only at the KrakenD gateway and never inside the services, which leaves one generated config to read for what any role may do. Patient health information is encrypted at rest with AES-256-GCM, and geocoding and routing run server-side on Amazon Location Service under an executed AWS BAA.
Frontend
React + Vite
Three Carbon Design System apps — practitioner, home health and admin — sharing one component language.
Gateway
KrakenD + Keycloak
466 endpoint definitions generating 990 routes across three realms, with JWT validation, rate limiting and the permission model living only here, never in the services.
Services & data
NestJS + MongoDB
Auth, platform, logger and mailer over realm-isolated MongoDB, with AWS Location Service for BAA-covered geocoding and routing.
01 · Scheduling & routing
The day planned around the drive, not the calendar
A clinic EHR treats the schedule as a calendar and ignores distance; for a practice that sees patients at home, distance is the constraint that decides how many patients get seen. Scheduling in VizzitMD starts from the drive instead. Every open slot is ranked by how much travel it adds to the day, measured from the provider's previous stop, so a slot six minutes away is offered ahead of one that costs a 38-minute detour. The booked day then renders as a single route map with distance and drive time for every leg and a running total. Each waiting patient gets a browser link — no app, no account — showing the provider's live position and arrival estimate.
- Drive-time slots
- Live route map
- Patient ETA links
02 · Clinical documentation
Chart the visit once, in the patient's home
Documentation is built for a laptop on a kitchen table rather than a clinic workstation. Dynamic multi-step templates cover the twelve encounter types a house-call practice actually bills — new-patient and follow-up visits, Annual Wellness Visits, Welcome to Medicare, home health certification and recertification, transitional and chronic care management, wound care, cognitive assessment and more — each capturing structured findings, vitals, ICD-10 diagnoses and the resulting orders in a single pass, with electronic signatures collected on site. Medication, DME, laboratory, diet and supply orders run through one queue, drawn from an FDA National Drug Code catalog rather than typed free-hand, and an encounter performed by a nurse practitioner or physician assistant holds for the supervising physician's co-signature before release.
- 12 encounter templates
- ICD-10 & NDC
- Co-signature workflow
03 · Billing & claims
Coded at the point of care, tracked through to the claim
Coding happens while the clinical detail is still fresh. A suggestion engine proposes the CPT and HCPCS codes that fit the encounter from a rules table of 54 home-visit codes across 14 encounter categories — including the 99341–99345 new-patient and 99347–99350 established-patient home and domiciliary E&M families house-call practices live on. The same rules carry frequency limits, so a once-per-lifetime code cannot quietly be billed twice. Eligibility is checked against the payer before the visit rather than after the denial, each practice applies its own price overrides, and completed claims are submitted electronically from one worklist that tracks every visit from coded to submitted to accepted.
- CPT & HCPCS suggestion
- Eligibility checks
- Claim tracking
How we worked
Assisted Vibe Coding, step by step
The engineers who build the product own it from discovery to delivery. AI drafts; they review, test and rewrite where it matters. The client sees progress weekly.
-
Insight & understanding
Product & business review, requirements extraction.
-
Vision framing
Architecture outline, success metrics, feature priorities.
-
Assisted ideation
AI-generated drafts, human review, feasibility check.
-
Structured roadmapping
Project timeline, resource planning, risk strategy.
-
Guided execution
Assisted coding, continuous validation, final delivery.