Medplum AWS Dev Environment — Project Overview¶
Objective¶
Create VIM-controlled Medplum environments on AWS while keeping Dev, Stage, and Prod app-agnostic. Medplum launches first, but these environments will also host the Patient app, Doctor UI, and future VIM applications.
What Medplum is¶
Medplum is an open source healthcare development platform with FHIR-native capabilities. For VIM, it may be relevant to product infrastructure, clinical workflows, integrations, and health data modeling.
Environment boundary¶
This first environment is for development/evaluation only:
- Synthetic data only.
- No PHI.
- No production integrations.
- No patient-impacting workflows.
Confirmed environment model¶
| Environment | Account ID | AWS profile | Purpose |
|---|---|---|---|
| Dev | 342624924188 |
vim-dev / legacy vim-medplum-dev |
Shared development for all apps |
| Stage | 349348221665 |
vim-stage |
Shared production rehearsal / release validation |
| Prod | 310858751630 |
vim-prod |
Shared production workloads |
DNS model¶
vimmedicine.appis the internal/non-prod/platform parent domain.dev.vimmedicine.appis delegated to the Dev account.stage.vimmedicine.appis delegated to the Stage account.- Production internal app zones should be delegated to Prod as needed, starting with
medplum.vimmedicine.appwhen Medplum prod is ready. - Customer-facing production apps should generally use
vimmedicine.com.
Current/legacy Medplum dev work also uses medplum-dev.vimmedicine.app, delegated to Dev, with api, app, and storage subdomains. Future naming should prefer the shared environment pattern (medplum.dev.vimmedicine.app) unless migration cost or CDK constraints argue otherwise.
Deployment approach¶
Use Medplum's official AWS CDK deployment path. AWS is Medplum's recommended self-hosting option.
External record retrieval direction¶
VIM plans to use hosted Metriport as the initial external clinical record retrieval layer, with retrieved/normalized data flowing into Medplum. The expected pattern is a large upfront historical pull followed by appointment-based refreshes. See metriport-record-retrieval-decision.md for the decision, rationale, alternatives considered, and validation checklist.
Expected AWS components¶
The deployment may create or use: VPC/networking, ECS/Fargate, load balancing, CloudFront, S3 storage, RDS/Aurora PostgreSQL, Redis/ElastiCache, IAM roles, CloudWatch Logs, Secrets Manager, SSM Parameter Store, Route 53, WAF, and SES email setup.
Current state¶
Local docs and the local CDK config repo are ready. Documentation now reflects the latest Medplum/platform architecture decisions: shared Dev/Stage/Prod accounts, shared non-prod environment zones, app-specific internal prod delegated zones, and hosted Metriport feeding Medplum.