Promotion contract
1
Validate locally
Run the affected automated tests, build the frontend, and exercise the changed workflow with synthetic data.
2
Deploy the exact commit to staging
Run migrations, targeted seeders, smoke tests, and any laboratory or radiology acceptance cycle required by the change.
3
Approve the release
Record the commit, migration status, backup identifier, acceptance evidence, operator, rollback owner, and maintenance window.
4
Promote to production
Deploy the approved commit without rebuilding from an unreviewed branch. Follow the release runbook.
Separation requirements
- Use different databases, volumes, domains, API tokens, APP_KEY values, mail destinations, and device credentials in every environment.
- Do not restore production data into local or staging unless the data is irreversibly de-identified and the transfer is approved.
- Prevent staging mail and notifications from reaching real patients or staff.
- Give staging integrations distinct facility, instrument, PACS, and OIE identifiers.
- Preserve the production
APP_KEY; losing or replacing it can make encrypted application data unreadable.
Release evidence
Retain the following with each production deployment:- Approved commit or image identifier
- Database migration status before and after deployment
- Pre-release backup identifier and restore status
- Automated test and staging acceptance results
- Production smoke-test results
- Known issues and rollback decision point
- Names of the release operator and clinical approver