Sandbox/ModelFork/Prod/AcmeCare/PatientModel
From OHC Network Wiki
More languages
More actions
ℹ️ Downstream fork
This is a production fork of the DevEntity PatientModel. It started from v1.0.0 and has diverged with custom fields. Upstream has since evolved to v2.0.0 — this fork has not yet synced.
AcmeCare Medical Center is a downstream consumer of the DevEntity PatientModel. It maintains its own fork to support organization-specific workflows while retaining the ability to sync improvements from upstream.
Ownership
- Entity: AcmeCare Medical Center
- Type: Production (downstream fork)
- Upstream: DevEntity PatientModel
- Forked from: v1.0.0
- Last synced: v1.0.0 (never synced — behind by 1 major version)
Fields
| Field | Type | Origin |
|---|---|---|
patient_id |
UUID |
Inherited from upstream v1.0.0 |
first_name |
String(100) |
Inherited from upstream v1.0.0 |
last_name |
String(100) |
Inherited from upstream v1.0.0 |
date_of_birth |
Date |
Inherited from upstream v1.0.0 |
gender |
String(1) |
Kept — upstream removed in v2.0.0; AcmeCare still requires it |
phone |
String(20) |
Kept as optional — upstream made required in v2.0.0 |
email |
String(254) |
Inherited from upstream v1.0.0 |
address |
Text |
Inherited from upstream v1.0.0 |
insurance_provider |
String(100) |
Custom — AcmeCare-specific |
insurance_id |
String(50) |
Custom — AcmeCare-specific |
primary_care_physician |
String(100) |
Custom — AcmeCare-specific |
Upstream v2.0.0 — sync decision table
When AcmeCare decides to sync from upstream v2.0.0, each change would be evaluated independently:
| Upstream change | Decision | Rationale |
|---|---|---|
blood_type (new) |
ADOPT | Valuable clinical field, no conflict with existing fields |
preferred_language (new) |
ADOPT | Needed for patient communications, no conflict |
gender (removed) |
DECLINE | AcmeCare's billing system requires gender — declining upstream removal |
phone → required |
PARTIAL | Make required for new patients; existing patients grandfathered |
This demonstrates the selective sync model: downstream consumers are not forced to accept every upstream change. They cherry-pick what works for their context and keep their own customizations.
Diff summary vs upstream v2.0.0
| Count | Type |
|---|---|
| 8 | Shared fields (inherited from upstream, potentially modified) |
| 3 | Custom fields (AcmeCare-only: insurance_provider, insurance_id, primary_care_physician) |
| 1 | Retained field (gender — removed by upstream) |
| 1 | Modified constraint (phone — optional here, required upstream) |