Industry solution for healthcare and health-tech

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.

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.

AES-256 at restSPEC
TLS 1.2+ in transitSPEC
RBACSPEC
Audit logSPEC

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.

TENANT BSELECT * FROM patients
RLS
0 rowscross-tenant read blocked

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.

BEHAVIOR PRESERVED

HOSPITAL FIREWALL
UDP 3478
DROP
UDP 10000+
DROP
TCP 443 TLS
PASS

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.

EPIC FHIR R4SMART on FHIR
SchedulePatientAppointmentEncounterDocumentReference
mapped before implementation

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.

NO-SHOW RATETARGET 14%
23%14%
acceptance criterion, not aspiration

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.

97 WORK ORDERS
REQ-014
WO-001
commit
every change answers to a requirement

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 shift is more than syntax. Paradigms, data access, and runtime assumptions all move, and each one needs an explicit mapping.

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 actually worksFrom approved intent to generated test suites, every stage is reviewed and signed off before the next begins.
Intent
PRD
Architecture
UI
Work orders
Testing
01IntentPersonas, workflows, and compliance constraints are captured and signed off before anything downstream is generated.
Intent
02PRDQuantified outcomes and priority-ranked features, with P0 covering self-scheduling, video visits, and the clinician dashboard.
PRD
03ArchitectureStack, tenancy model, EHR integration, video topology, and security controls decided and recorded as binding requirements.
Architecture
04UIPatient portal and staff dashboard specified against WCAG 2.1 AA, with the responsive strategy set per persona.
UI
05Work orders97 dependency-ordered work orders, each with acceptance criteria and a traceable link to its requirement.
Work orders
06TestingFunctional, smoke, regression, and performance suites generated from the same user stories that drive implementation.
Testing

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 gate

Spec readiness

7/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.

All checks cleared

Telehealth work order

WO-001 · Provision HIPAA-ready VPC and network segmentation

Build

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.

270/271 ELIGIBILITY
Availity
Emdeon
Trizetto
vendor undecided

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.

RECORD VISITS?
NO
YES
+ encrypted store+ retention+ consent log

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.

LAST SLOT · 09:30
Patient A
Patient B
UNIQUE (slot_id) — one winner

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.

UNSET BEFORE PROVISIONING
RTO
— —
RPO
— —
BACKUP TEST
— —

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?

Which EHR systems does it integrate with?

How does video work on restrictive hospital networks?

How is one tenant's patient data kept separate from another's?

What does Forge actually produce for a build like this?