Platform
Engineered against the standards your hospital is surveyed against.
Pneuma Enterprise RPM is one Express + Postgres stack with a tight enterprise service layer. Multi-tenant strict by default. Hospital-scoped on every read and every write. Multilingual, PDPA-compliant, JCI-aligned.
Vitals ingestion
- SpO₂, HR, RR, temperature, BP, pain score, wound photo, sleep duration + fragmentation
- Bluetooth pulse-ox, cellular pulse-ox, manual entry, or pulled from HIS
- Composite primary key on (taken_at, id) — TimescaleDB-hypertable-ready
Threshold engine
- Pathway-specific profiles — orthopedic / cardiac / cosmetic / bariatric / spine / dental / IVF / oncology
- Composite rules — sepsis, PE, bleeding — evaluated over a 4h window
- Cardiac, bariatric, spine overrides on top of the baseline profile
SBAR clinician handoffs
- JCI IPSG.2-aligned Situation / Background / Assessment / Recommendation
- Structured form serialized into the audit log
- No silent acknowledgements — note OR sbar required
Multilingual at launch
- Thai (primary), English, Mandarin, Arabic — 4 BCP-47 locales
- Patient preferred-language captured at intake
- Translation strings require clinician review per locale
PDPA compliance
- Purpose-bounded consent ledger with audit metadata (IP, UA, timestamp)
- Append-only — withdrawals preserve the trail
- requireRpmTenant middleware enforces hospital-scope on every endpoint
HIS integration
- OpenAPI 3.1 spec covers patient enroll, case, vitals, alerts, consent, webhooks
- Designed for InterSystems TrakCare, HOSxP / HOSxP XE, Hospital OS
- Thai FHIR Implementation Guide compatible
Bangkok data residency
- EXPECTED_DB_REGION soft-check at boot — warns on drift
- Iteration plan: Azure Thailand North when GA, Neon Singapore as documented interim
- Cross-border to home-country PCP only with explicit patient consent
Medical-tourism intake
- Passport country, number (encryption-ready), expiry
- Cost estimate in THB satang + USD cents — never floats
- FX rate snapshot at intake — reproducible estimates
JCI-anchored
- IPSG.1 — two patient identifiers
- IPSG.6 — 11-flag vulnerable-population enum (elderly, pregnancy, fall risk, etc.)
- MOI.8 — ICD-10-TM diagnosis coding native
Stack
Boring tech where it matters.
The platform is built on tools your hospital's IT team already trusts. No exotic dependencies, no novel runtimes. Engineering boredom is a feature when the alternative is teaching procurement what a new framework is.
| Layer | Technology | Hosting |
|---|---|---|
| Frontend | Next.js 15 · React 19 · Tailwind v4 | Vercel |
| API | Express 4 · TypeScript · Zod | Render |
| Database | PostgreSQL 16 · Drizzle ORM | Neon (interim) → Azure Thailand North |
| Cache / queue | Redis · BullMQ | Upstash · Render |
| Video | Daily.co (telehealth) | — |
| SendGrid | — | |
| Storage | AWS S3 (Bangkok Local Zone planned) | — |
| Monitoring | Sentry · Pino structured logs | — |
Engineering state
What ships today, what's gated on a design partner.
The platform is honest about its phase. Listed below is what's in the repo today, with green markers for "ready to integrate" and amber for "gated on first signed partner."
Ready to integrate
- API surface (vitals · cases · alerts · consent · withdraw)
- PostgreSQL schemas with composite-PK time-series tables
- OpenAPI 3.1 spec for HIS adapter teams
- PDPA consent ledger + audit trail
- JCI compliance map → code-surface
- 4-locale i18n scaffold (no content)
- Hospital target list + outreach drafts
Gated on first signed partner
- Production database provisioning (Azure Thailand North / Neon SG)
- Hospital admin · clinician · intake-coordinator portals
- Thai HIS adapter bindings (TrakCare · HOSxP · Hospital OS)
- Clinician-reviewed translation strings per locale
- Webhook alert dispatcher
- PDPA retention sweep + RTBF worker
- AES-256-GCM at-rest encryption helper