Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Sandbox/ModelFork/Prod/AcmeCare/PatientModel: Difference between revisions

From OHC Network Wiki
Content deleted Content added
Automated edit (via create-page on MediaWiki MCP Server)
 
Automated edit (via update-page on MediaWiki MCP Server)
Line 23: Line 23:


{| class="wikitable"
{| class="wikitable"
! Field !! Type !! Required !! Origin
! Field !! Type !! Origin
{{Field|model=PatientModel_AcmeCare|section=Identity|name=patient_id|type=UUID|notes=Inherited from upstream v1.0.0}}
{{Field|model=PatientModel_AcmeCare|section=Identity|name=patient_id|type=UUID|notes=Inherited from upstream v1.0.0}}
{{Field|model=PatientModel_AcmeCare|section=Identity|name=first_name|type=String(100)|notes=Inherited from upstream v1.0.0}}
{{Field|model=PatientModel_AcmeCare|section=Identity|name=first_name|type=String(100)|notes=Inherited from upstream v1.0.0}}
{{Field|model=PatientModel_AcmeCare|section=Identity|name=last_name|type=String(100)|notes=Inherited from upstream v1.0.0}}
{{Field|model=PatientModel_AcmeCare|section=Identity|name=last_name|type=String(100)|notes=Inherited from upstream v1.0.0}}
{{Field|model=PatientModel_AcmeCare|section=Identity|name=date_of_birth|type=Date|notes=Inherited from upstream v1.0.0}}
{{Field|model=PatientModel_AcmeCare|section=Identity|name=date_of_birth|type=Date|notes=Inherited from upstream v1.0.0}}
{{Field|model=PatientModel_AcmeCare|section=Identity|name=gender|type=String(1)|notes='''Kept''' — upstream removed in v2.0.0, AcmeCare still requires it}}
{{Field|model=PatientModel_AcmeCare|section=Identity|name=gender|type=String(1)|notes='''Kept''' — upstream removed in v2.0.0; AcmeCare still requires it}}
{{Field|model=PatientModel_AcmeCare|section=Contact|name=phone|type=String(20)|notes='''Kept as optional''' — upstream made required in v2.0.0}}
{{Field|model=PatientModel_AcmeCare|section=Contact|name=phone|type=String(20)|notes='''Kept as optional''' — upstream made required in v2.0.0}}
{{Field|model=PatientModel_AcmeCare|section=Contact|name=email|type=String(254)|notes=Inherited from upstream v1.0.0}}
{{Field|model=PatientModel_AcmeCare|section=Contact|name=email|type=String(254)|notes=Inherited from upstream v1.0.0}}
Line 44: Line 44:
! Upstream change !! Decision !! Rationale
! Upstream change !! Decision !! Rationale
|-
|-
| <code>blood_type</code> (new) || {{yes|'''Adopt'''}} || Valuable clinical field, no conflict with existing fields
| <code>blood_type</code> (new) || '''ADOPT''' || Valuable clinical field, no conflict with existing fields
|-
|-
| <code>preferred_language</code> (new) || {{yes|'''Adopt'''}} || Needed for patient communications, no conflict
| <code>preferred_language</code> (new) || '''ADOPT''' || Needed for patient communications, no conflict
|-
|-
| <code>gender</code> (removed) || {{no|'''Keep'''}} || AcmeCare's billing system requires gender — declining upstream removal
| <code>gender</code> (removed) || '''DECLINE''' || AcmeCare's billing system requires gender — declining upstream removal
|-
|-
| <code>phone</code> → required || {{partial|'''Partial'''}} || Make required for new patients; existing patients grandfathered
| <code>phone</code> → required || '''PARTIAL''' || Make required for new patients; existing patients grandfathered
|}
|}



Revision as of 10:47, 6 July 2026

guideplatformCARE 1.0+
ℹ️ 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)