HAD Digital's infrastructure blueprint for scaling home hospitalization care across France β from a single-patient pilot to a national platform serving hospitals, nurses, doctors, and patients.
Each layer is independently scalable, monitored, and replaceable. The design prioritizes patient data isolation, regulatory compliance (RGPD/HDS), and sub-second response times.
From a single-server MVP to a multi-region deployment serving every hospital in France. Each phase is designed to be self-funding from the previous phase's revenue.
| Component | Phase 1: MVP 0β10K | Phase 2: Growth 10Kβ500K | Phase 3: Enterprise 500Kβ10M+ |
|---|---|---|---|
| Compute | Single VM (4 vCPU, 16GB RAM) Docker Compose |
Kubernetes cluster (3β10 nodes) Auto-scaling pods |
Multi-region K8s (20β100 nodes) Spot instances + reserved capacity |
| Database | PostgreSQL (single instance) Read replica for reporting |
PostgreSQL (primary + 2 replicas) Connection pooling (PgBouncer) |
Citus distributed PostgreSQL Sharded by tenant (hospital_id) |
| Cache | Redis (single instance, 2GB) | Redis Sentinel (3 nodes, 16GB) | Redis Cluster (6+ nodes, 64GB) Per-service cache namespaces |
| File Storage | Local disk + daily backup | S3-compatible storage CDN for static assets |
Multi-region S3 Geo-replicated + encrypted at rest |
| Search | PostgreSQL full-text search | Elasticsearch (3-node cluster) | Elasticsearch (10+ nodes) Dedicated search microservice |
| Auth | JWT + bcrypt Session-based fallback |
OAuth2 / OIDC provider MFA (TOTP + SMS) |
Enterprise SSO (SAML) Provisioning (SCIM) |
| Monitoring | Docker logs + basic metrics | Prometheus + Grafana PagerDuty alerts |
Full observability stack APM (Datadog / New Relic) |
| CI/CD | GitHub Actions Manual deploy |
GitHub Actions + ArgoCD Staging + production |
GitOps (Flux/ArgoCD) Canary deployments |
| Backup | Daily pg_dump S3 offsite copy |
Continuous WAL archiving Point-in-time recovery |
Cross-region replication RPO < 1 min, RTO < 15 min |
| Cost/month | β¬200β500 | β¬2,000β8,000 | β¬20,000β80,000 |
Every component listed here is required for production deployment. The MVP currently runs as a single-process Python server; this is what the production version looks like.
OAuth2/OIDC provider with role-based access control. Supports MFA, session management, and audit logging. HDS-compliant password policies.
PostgreSQL with read replicas, connection pooling, and automated backups. Encrypted at rest (AES-256) and in transit (TLS 1.3).
Traffic management with rate limiting, request validation, circuit breaking, and health checks. Routes to healthy service instances.
Multi-channel notifications: push (FCM/APNs), SMS (Twilio), email (SendGrid), and in-app WebSocket. Priority-based routing for critical alerts.
Secure file upload for lab results, imaging, and reports. Virus scanning, format validation, and thumbnail generation. GDPR-compliant retention policies.
Full-stack monitoring: infrastructure metrics, application traces, log aggregation, and alerting. SLO tracking for uptime and latency.
Symptom pattern recognition, risk prediction, and clinical decision support. Runs inference on patient data to predict adverse events 24β48h early.
Standard interoperability with hospitalδΏ‘ζ―η³»η» (HIS), electronic health records (EHR), and lab systems. Supports ADT, ORM, ORU messages.
From a patient tapping "Report Symptom" on their phone to a doctor receiving a graded alert β the complete journey through the system.
Projected capacity requirements for serving 10 million users across France. Based on typical healthcare usage patterns: 2β3 readings/day per patient, peak hours 8amβ10am and 6pmβ8pm.
| Resource | Calculation | Phase 2 | Phase 3 |
|---|---|---|---|
| API Servers | 500K req/s Γ· 5K req/s per pod = 100 pods | 20 pods (8 vCPU, 16GB each) | 100+ pods across 3 regions |
| Database | 10M patients Γ 3 readings/day Γ 500 bytes = 15GB/day | Primary: 32 vCPU, 256GB RAM 2 read replicas |
Citus cluster: 8 nodes Sharded by hospital |
| Redis Cache | 10M sessions Γ 2KB = 20GB Hot data: 100GB |
3-node Sentinel, 32GB | 6-node Cluster, 128GB |
| File Storage | 10M patients Γ 5 reports Γ 2MB = 100TB | S3 Standard: 10TB | S3 Intelligent Tiering: 100TB+ |
| Bandwidth | 500K req/s Γ 10KB avg = 5GB/s | 1 Gbps sustained | 10 Gbps + CDN offload |
Monthly cloud costs for each phase. Prices based on AWS eu-west-3 (Paris) region. Includes compute, storage, networking, and managed services.
A pragmatic 18-month path from the current MVP to a production-ready platform serving real patients in real hospitals.