Three deployment models for three different hospital realities. Detailed architecture, network requirements, hardware specifications and tenant isolation for each. Save as PDF (⌘P / Ctrl+P) for your IT team to review. There's a shorter, customer-facing comparison at /deployment.
Document version: 2026-05-14 · Latest version always at medicarehis.com/deployment-architecture
Which model is right depends on three procurement-committee questions: where does PHI live (cloud vs your data centre vs your IT room), who maintains the infrastructure (us vs your IT team vs shared), and what's your data-residency requirement (Frankfurt EU default, on-prem in-country, or air-gapped).
Default option. Hosted by us on Fly.io (Frankfurt by default; region pin available). PHI in EU-region encrypted storage. We manage everything. No infrastructure work for you.
One Linux server in your IT room. One tenant on it (your hospital, your data). Optional air-gap from the public internet. Your data never leaves your premises. We install, you operate (with our support).
We deploy MediCare HIS into your existing infrastructure (your data centre, your private cloud, your colocation). You own the hardware lifecycle. We deliver, maintain, support.
Each customer gets a tenant subdomain at yourhospital.medicarehis.com. Tenants are isolated at the application layer via hospitalId scoping enforced in every database query. The whole platform runs on Fly.io machines in Frankfurt (region pin available for jurisdictional reasons). Cloudflare sits in front as the edge.
INTERNET
│
▼
┌────────────────────────────────────┐
│ Cloudflare (edge) │
│ - TLS 1.3 termination │
│ - WAF + Bot Fight Mode + DDoS │
│ - Authenticated Origin Pulls │
│ - Rate limiting │
└─────────────┬──────────────────────┘
│ TLS 1.3 + X-Origin-Auth
▼
┌────────────────────────────────────┐
│ Fly.io Frankfurt (origin) │
│ - Express + Node.js app │
│ - Immediate deploy strategy │
│ - Health-check guarded │
│ - LUKS-encrypted volume │
└─────────────┬──────────────────────┘
│
┌─────┴─────┬───────────┬─────────┐
▼ ▼ ▼ ▼
┌────────┐ ┌──────────┐ ┌───────┐ ┌────────┐
│ Tenant │ │ Audit │ │ Local │ │ Sub- │
│ DB │ │ chain │ │ back- │ │ proc. │
│ files │ │ + mirror │ │ ups │ │ ───── │
│ │ │ to B2 │ │ │ │ Resend │
└────────┘ └────┬─────┘ └──┬────┘ │ Sentry │
│ │ │ UR │
▼ ▼ └────────┘
┌──────────────────┐
│ Backblaze B2 │
│ - Object Lock │
│ Compliance │
│ (7-yr ret) │
│ - Client-side │
│ AES-256-GCM │
└──────────────────┘
*.medicarehis.com (port 443)A single dedicated Linux server, installed in your facility, runs your tenant of MediCare HIS. No other hospitals share the server. PHI never leaves your premises. We deploy via a hardened install script; you provide the hardware; we provide remote support via a tunnel that you can shut off at any time.
Some hospitals require complete network isolation. The per-hospital server can run fully air-gapped — no outbound internet at all. Trade-offs: no automatic Cloudflare-edge protection (replaced with your firewall), no automatic backup to off-host storage (replaced with weekly USB-drive rotation), no automatic DHIMS2 submission (replaced with manual CSV export). Updates delivered via signed offline package. We document this option for procurement teams who need it.
The middle ground: server runs on your LAN, outbound HTTPS to *.medicarehis.com for updates and backup, inbound limited to your hospital's LAN. PHI never leaves your premises during operation; backup goes off-host (client-side encrypted; your encryption key) for disaster recovery. This is what we'd suggest for most facilities.
For enterprise / group / ministry-scale customers who already operate their own data centre or private cloud (VMware, Proxmox, OpenStack, AWS GovCloud-equivalent in-country, etc.). We deliver MediCare HIS as a containerised application that runs on your infrastructure. You own the hardware lifecycle; we own the application lifecycle.
hospitalId. Cross-tenant access attempts return 404 (not 403) to defeat enumeration. Pinned by 21+ cross-tenant unit tests.yourhospital.medicarehis.com (cloud) or your own domain (on-prem). Session cookies are host-scoped; no cross-tenant cookie bleed possible.Cloud → per-hospital server and the reverse are both supported. Cloud → private cloud is supported. Migration is a flat fee (scoped to your data volume) — not a percentage of your contract. Full data export is one click at any time regardless of deployment model.
Companion documents: Procurement evidence pack · Brochure · Security whitepaper · Compliance roadmap · SLA · Support · Onboarding
Enter the subdomain your IT team gave you. We'll redirect you to your hospital's secure login.