Epic data contract
This page intentionally does not claim vendor fields that have not been observed in a real sandbox response.
| Resource | FHIR | DenialOS mapping | Source-truth identifiers | Current validation |
|---|---|---|---|---|
| Patient | R4 | PatientReference | <code>Patient.id</code>, version metadata | NOT SANDBOX-VALIDATED |
| Encounter | R4 | Encounter | <code>Encounter.id</code>, version metadata | NOT SANDBOX-VALIDATED |
| Coverage | R4 | Coverage | <code>Coverage.id</code>, version metadata | NOT SANDBOX-VALIDATED |
| Claim | R4 | Claim | <code>Claim.id</code>, version metadata | NOT SANDBOX-VALIDATED |
| DocumentReference | R4 | ClinicalDocument | <code>DocumentReference.id</code>, version metadata | NOT SANDBOX-VALIDATED |
| Organization | R4 | Facility | <code>Organization.id</code>, version metadata | NOT SANDBOX-VALIDATED |
| Practitioner | R4 | Provider | <code>Practitioner.id</code>, version metadata | NOT SANDBOX-VALIDATED |
The normalization layer also contains mappings for Procedure and Condition at the broader connector-profile level, but they are not claimed here as Epic adapter-pack capabilities.
Lineage preserved
Canonical records preserve organization, client, connection, vendor, source system, source ID, source version, source hash, observed/effective timestamps, provenance, and authorization context.
Unsupported / unverified vendor fields
Any vendor-specific field not explicitly mapped by the current canonical model is retained only inside the source-layer payload/envelope where the ingestion path permits it. The core denial model should consume canonical fields, not raw vendor payload structure.
Write-back
The generic EHR write-back path remains governed/disabled. The current Epic integration is read-only.
Production difference
Production availability requires Epic app/customer authorization and real environment validation. This document does not claim that the sandbox contract is identical to every production customer environment.