Telehealth and patient engagement app development
A multi-tenant telehealth platform covering patient self-scheduling, WebRTC video visits, and clinician dashboards, specified and governed end to end before a line of code ships.
- 23% to 14%No-show reduction target
- 60%+Self-service booking
- 95%+Video visit completion
Six reasons healthcare teams build telehealth on a governed platform
Telehealth touches PHI, clinical workflow, and revenue at the same time. The constraints are known up front, which is exactly why they belong in the specification rather than in a code review three sprints later.
HIPAA controls specified before implementation
AES-256 at rest, TLS 1.2+ in transit, DTLS/SRTP for video, RBAC with minimum-necessary access, and immutable audit logging are captured as architecture requirements, not retrofitted after a security review.
Multi-tenant isolation at the database engine
PostgreSQL 16 Row-Level Security enforces tenant boundaries in the engine itself, so a cross-tenant read returns zero rows even if application code is wrong.
Video that works on hospital networks
LiveKit SFU with TURN-over-TLS on port 443, chosen because restrictive hospital firewalls block the ports a naive WebRTC setup depends on.
EHR integration decided at architecture time
Epic FHIR R4 via SMART on FHIR, with Schedule, Patient, Appointment, Encounter, and DocumentReference mapped before implementation rather than discovered during it.
Measurable outcomes, not vague goals
No-shows from 23% to 14%, 60% self-service booking within 90 days, 50% less clinician scheduling time, 95% video completion. Each one is an acceptance criterion.
Every work order traces to a requirement
97 work orders across six approved stages, each linked to the requirement that authorized it, so an auditor can follow production code back to a business objective.
What you get when the platform is specified first
The difference is not speed of code generation. It is that architecture, compliance, and acceptance criteria exist before an agent writes anything.
- 01
A confirmed stack, not a guess
Node.js 20 LTS with TypeScript strict mode, React 18, PostgreSQL 16 with RLS, LiveKit SFU, deployed to AWS EKS with Terraform and HashiCorp Vault.
- 02
Performance budgets as requirements
Video connect within 5 seconds, reads under 200ms and writes under 500ms at p95, dashboard sync within 2 seconds, 99.9% uptime.
- 03
Two interfaces, two design languages
A mobile-first patient portal and a desktop-first staff dashboard on shadcn/ui, split deliberately because patients join from phones and staff work at workstations.
- 04
Failure handling designed in
Circuit breakers at five failures per 60 seconds, exponential backoff, and dead-letter queues for clearinghouse, Twilio, and SendGrid outages.
How the build works
From approved intent to generated test suites, every stage is reviewed and signed off before the next begins.
Intent
Personas, workflows, and compliance constraints are captured and signed off before anything downstream is generated.
PRD
Quantified outcomes and priority-ranked features, with P0 covering self-scheduling, video visits, and the clinician dashboard.
Architecture
Stack, tenancy model, EHR integration, video topology, and security controls decided and recorded as binding requirements.
UI
Patient portal and staff dashboard specified against WCAG 2.1 AA, with the responsive strategy set per persona.
Work orders
97 dependency-ordered work orders, each with acceptance criteria and a traceable link to its requirement.
Testing
Functional, smoke, regression, and performance suites generated from the same user stories that drive implementation.
What Forge actually produces
There is no codebase to import on a new build, so the specification is the starting artifact: intent becomes a PRD, an architecture, and a UI spec, then breaks into 97 dependency-ordered Build work orders. Here is what one of those looks like.
Readiness gateAll checks cleared
Spec readiness7/7
Whether the specification is safe to build against. All seven readiness checks cleared, including the three intent gaps that had to be closed first: technology stack, deployment model, and EHR integration targets.
Telehealth work orderBuild
WO-001 · Provision HIPAA-ready VPC and network segmentation
Four-zone segmentation across public, DMZ, internal services, and data tiers, enforced by security groups and Kubernetes NetworkPolicies. Terraform must apply with zero tfsec and checkov findings at HIGH or CRITICAL. Blocked connections must time out within five seconds. Unblocks WO-002 (EKS) and WO-003 (PostgreSQL).
Common challenges
Forge surfaces the decisions a telehealth build tends to defer until they are expensive. These came out of the approved architecture as open questions.
Clearinghouse selection is still open
Real-time eligibility needs a 270/271 clearinghouse, but the vendor and the retry and escalation strategy remain unresolved. Flagged before implementation rather than discovered at integration.
Video recording policy needs a decision
Whether visits are recorded determines whether encrypted media storage, retention windows, and per-visit consent tracking exist at all. It is a stakeholder decision, not a technical default.
Booking races need engine-level guarantees
Two patients taking the last slot at once corrupts a schedule. Handled with atomic slot reservation and UNIQUE constraints rather than application-level checks.
Disaster recovery targets are unset
Region strategy, RTO and RPO targets, and backup testing cadence are called out as unresolved before infrastructure provisioning begins.
Frequently asked questions
Is the platform HIPAA compliant out of the box?
The architecture specifies the required controls: encryption at rest and in transit, RBAC, immutable audit logging with cryptographic chaining, consent logging, and BAAs with Twilio and SendGrid. Compliance is an organizational outcome, so certification and audit remain yours, but the technical controls are specified and traceable rather than assumed.
Which EHR systems does it integrate with?
Epic via FHIR R4 and SMART on FHIR is the confirmed primary target, with Schedule, Patient, Appointment, Encounter, and DocumentReference mapped. Supporting additional vendors through a vendor-agnostic FHIR layer is a scope decision made at architecture time.
How does video work on restrictive hospital networks?
LiveKit SFU with DTLS/SRTP encryption, and TURN-over-TLS on port 443 specifically so sessions establish through firewalls that block conventional WebRTC ports. The target is connection within five seconds and p95 latency under 200ms.
How is one tenant's patient data kept separate from another's?
PostgreSQL 16 Row-Level Security enforces isolation in the database engine rather than in application code, so a cross-tenant query returns zero rows. Isolation tests verifying this are part of the acceptance criteria.
What does Forge actually produce for a build like this?
An approved intent document, a PRD with quantified success metrics, an architecture specification, a UI design specification, 97 dependency-ordered work orders with acceptance criteria, and generated functional, smoke, regression, and performance test suites.
Other new application paths
Ship enterprise software at AI speed.
Every modernization path is spec-first and governed from Day 0.
