Back to CARE RCM
This plan covers the production CARE RCM application, hosted on Amazon Web Services (AWS), including the application server, database, file storage, and supporting infrastructure. It defines the procedures, responsible parties, and recovery targets for restoring service after a disruptive event — ranging from a single-server failure to data corruption or accidental deletion.
This plan does not cover third-party service outages (e.g., AWS regional outages affecting multiple customers, clearinghouse downtime, payment processor outages) beyond documenting how CARE RCM responds to and communicates about them — those events are outside IMFUTECH's direct control to remediate.
As of this document's last update, CARE RCM runs on a single-instance architecture:
| Component | Configuration |
|---|---|
| Compute | Single Amazon EC2 instance (t3.medium), Ubuntu 24.04 LTS, region us-east-2 (Ohio) |
| Web/App server | Nginx + PHP-FPM 8.2, serving the CARE RCM Laravel application |
| Database | MySQL 8.0, self-hosted on the same EC2 instance |
| File storage | Amazon S3 (bucket: carercm-prod-files), versioning enabled, encrypted at rest (SSE-S3) |
| DNS | Amazon Route 53, hosted zone for carercm.com |
| SSL/TLS | Let's Encrypt certificates via Certbot, auto-renewing |
| Backup | Amazon EBS snapshots via Data Lifecycle Manager (DLM), daily, 7-day rolling retention |
| Monitoring | Amazon CloudWatch (CPU, memory, disk, instance status checks) with SNS email alerting |
| Scenario | Likelihood | Impact |
|---|---|---|
| EC2 instance failure or unresponsiveness | Low | High — full outage until restored |
| EBS volume corruption or failure | Low | High — data loss back to last snapshot |
| Accidental data deletion (application-level) | Medium | Medium — recoverable via snapshot restore |
| Disk space exhaustion | Medium | Medium — detected via CloudWatch alarm before failure |
| SSL certificate expiry | Low | Medium — auto-renewal in place, manual fallback documented |
| AWS regional outage (us-east-2) | Very Low | High — outside IMFUTECH control; see Section 9 |
| S3 bucket misconfiguration / accidental deletion | Low | Medium — versioning enabled, reduces permanent loss risk |
The EBS root volume (containing the operating system, application code, and MySQL database files) is backed up daily via AWS Data Lifecycle Manager. Snapshots are incremental, encrypted, and retained on a 7-day rolling basis. This means at any point in time, IMFUTECH can restore the entire server state — application, configuration, and database — to any point within the last 7 days.
All patient-facing file uploads (medical records, claim batch files, EDI files) are stored in Amazon S3 rather than on the EC2 instance's local disk, with versioning enabled. This means these files are durable independently of the EC2 instance's health — an instance failure does not put uploaded documents at risk, and accidental overwrites/deletes can be reversed via S3's version history.
CloudWatch alarms continuously monitor the production instance and notify the on-call team via email (Amazon SNS) when thresholds are breached:
| Alarm | Trigger Condition | Purpose |
|---|---|---|
| Instance status check failed | Status check fails for 1 evaluation period | Detects instance unresponsiveness or underlying AWS hardware issues |
| High CPU utilization | >80% for 3 consecutive 5-minute periods | Detects sustained load issues before they cause downtime |
| High disk usage | >80% utilization | Prevents MySQL write failures and audit log interruption from disk exhaustion |
| High memory usage | >85% utilization | Detects memory pressure before out-of-memory failures occur |
These alarms have been tested and confirmed functional, including end-to-end email delivery, as of this document's last update.
Let's Encrypt certificates auto-renew via Certbot's scheduled renewal task. If auto-renewal fails, certificates can be manually renewed via sudo certbot renew, with a 30-day advance expiry warning built into Certbot's standard behavior.
| Role | Responsibility |
|---|---|
| Incident lead | [NAME/ROLE] — coordinates response, makes go/no-go recovery decisions |
| Infrastructure operator | [NAME/ROLE] — executes AWS console/CLI recovery steps |
| Customer communication | [NAME/ROLE] — notifies affected practices of outages or data issues |
The current single-instance architecture was chosen for initial production launch simplicity and cost. As CARE RCM scales, the following improvements are under consideration to reduce RTO/RPO and eliminate single points of failure:
These are documented here as a roadmap, not a current commitment with a fixed date — IMFUTECH will update this section as these improvements are implemented.