Synthetic data prototype — no PHI. Numbers, names, and IDs are fabricated for design review only.
Admin · Implementation Planning
Data Quality & FHIR Mapping
Field-level inventory for BI, engineering, and integration teams. Classifies every dashboard field by FHIR fit and source-of-record owner.
Total fields catalogued
62
Direct FHIR fit
24
Partial FHIR fit
20
SPOC / Non-FHIR
18
Filter by owner:62 of 62 fields shown
Direct FHIR Fit
Fields that map 1:1 to a FHIR R4 element. Ingest from EHR FHIR API with minimal transformation.
| Table | Field | FHIR Resource / Element | Fit | Owner | Notes |
|---|---|---|---|---|---|
| dim_patient | date_of_birth | Patient.birthDate | Direct | USC/EHR | 1:1 mapping; ISO 8601 date. |
| dim_patient | sex | Patient.gender | Direct | USC/EHR | Map M/F → male/female; document handling of other/unknown. |
| dim_patient | mrn | Patient.identifier (USC system) | Direct | USC/EHR | Identifier with system=urn:oid:USC.MRN. |
| dim_patient | language | Patient.communication.language | Direct | USC/EHR | BCP-47 codes (en, es-US, zh, ko). |
| dim_patient | zip_code | Patient.address.postalCode | Direct | USC/EHR | Use most-recent home address. |
| dim_provider | npi | Practitioner.identifier (NPI) | Direct | USC/EHR | system=http://hl7.org/fhir/sid/us-npi. |
| dim_provider | specialty | PractitionerRole.specialty | Direct | USC/EHR | Use NUCC taxonomy codes. |
| dim_payer | payer_name | Coverage.payor → Organization.name | Direct | USC/EHR | Resolved via Coverage.payor reference. |
| fact_episode | surgery_date | Procedure.performedDateTime | Direct | USC/EHR | Index-procedure event time. |
| fact_outreach | outreach_datetime | Communication.sent | Direct | Arkos/SPOC | Outbound call/voicemail timestamp. |
| fact_tcm_encounter | encounter_date | Encounter.period.start | Direct | USC/EHR | FHIR Encounter for TCM visit. |
| fact_tcm_encounter | cpt_code | ChargeItem.code (99495/99496) | Direct | Billing | CPT for TCM management codes. |
| fact_tcm_encounter | encounter_type | Encounter.class | Direct | USC/EHR | Telehealth/In-Person/Phone → Encounter.class coding. |
| fact_pcm_enrollment | enrollment_date | EpisodeOfCare.period.start | Direct | Arkos/SPOC | PCM enrollment as EpisodeOfCare. |
| fact_pcm_enrollment | consent_signed | Consent.status | Direct | Arkos/SPOC | PCM-specific Consent resource (CMS rules). |
| fact_pcm_enrollment | care_plan_id | CarePlan.id | Direct | Arkos/SPOC | Reference to CarePlan resource. |
| fact_pcm_activity | activity_datetime | Task.executionPeriod.start | Direct | Arkos/SPOC | Each PCM touch as a Task with executionPeriod. |
| fact_billing | cpt_code | ChargeItem.code | Direct | Billing | CPT for TCM/PCM management codes. |
| fact_billing | claim_status | Claim.status | Direct | Billing | Aligned with FHIR Claim status codes. |
| fact_billing | paid_amount | ClaimResponse.payment.amount | Direct | Billing | Currency-denominated payment. |
| fact_steerage | service_category | ServiceRequest.category | Direct | USC/EHR | Lab/Imaging/Procedure/etc. |
| fact_satisfaction | overall_score | QuestionnaireResponse.item.answer | Direct | Arkos/SPOC | Likert 1–5 captured via PROM survey. |
| fact_satisfaction | recommend_score | QuestionnaireResponse.item.answer | Direct | Arkos/SPOC | NPS 0–10. |
| fact_satisfaction | free_text | QuestionnaireResponse.item.answer.valueString | Direct | Arkos/SPOC | Free-text comment. |
Partial FHIR Fit
Fields derived from FHIR but require SPOC enrichment, normalization, or compound logic.
| Table | Field | FHIR Resource / Element | Fit | Owner | Notes |
|---|---|---|---|---|---|
| dim_patient | risk_level | RiskAssessment.prediction | Partial | Arkos/SPOC | Derived score; SPOC stratification rules layered on EHR signals. |
| dim_patient | consent_on_file | Consent.status | Partial | Arkos/SPOC | PCM-specific consent; not always captured in EHR Consent resource. |
| fact_episode | discharge_date | Encounter.period.end / dischargeDisposition | Partial | USC/EHR | Need to pick correct inpatient Encounter; LOS derived. |
| fact_episode | los_days | Encounter.length | Partial | Analytics | Computed from period.start/end if length not present. |
| fact_episode | current_stage | Task.status / CarePlan.status | Partial | Arkos/SPOC | SPOC stage machine (Outreach→TCM→PCM→Closed) overlays FHIR statuses. |
| fact_outreach | outcome | Communication.status / statusReason | Partial | Arkos/SPOC | SPOC-specific outcome vocabulary (TCM Accepted, etc.) wider than FHIR. |
| fact_outreach | duration_minutes | Communication.extension (custom) | Partial | Arkos/SPOC | Captured by SPOC; modeled as duration extension. |
| fact_tcm_encounter | documentation_complete | DocumentReference.docStatus | Partial | Arkos/SPOC | Map to docStatus=final once all required sections present. |
| fact_tcm_encounter | note_sent_to_usc | Communication.status (transmit) | Partial | Arkos/SPOC | SPOC tracks transmission acknowledgement to EHR inbasket. |
| fact_pcm_activity | activity_type | Task.code | Partial | Arkos/SPOC | SPOC vocabulary (Phone, Med Rec, etc.) → Task.code with custom system. |
| fact_pcm_activity | minutes | Task.executionPeriod (derivative) | Partial | Arkos/SPOC | SPOC time ledger; derived from start/end of Task period. |
| fact_pcm_activity | notes_complete | DocumentReference.docStatus | Partial | Arkos/SPOC | Documentation completeness gate for billable month. |
| fact_billing | payment_status | PaymentReconciliation.outcome | Partial | Billing | Mapped from 835 ERA; SPOC normalization layer. |
| fact_billing | denial_reason | ClaimResponse.error | Partial | Billing | CARC/RARC codes from 835 mapped to friendly text. |
| fact_steerage | destination_type | ServiceRequest.performer (Org type) | Partial | Analytics | USC vs External determined by Organization.partOf relationship. |
| fact_utilization | event_type | Encounter.class (ED, IP) / Condition | Partial | USC/EHR | ED Visit, Readmission derived from Encounter.class; Complication from Condition. |
| fact_utilization | related_to_index_procedure | Condition.evidence / extension | Partial | Analytics | Clinical attribution rules; SPOC-defined relatedness. |
| fact_utilization | estimated_cost | ChargeItem.priceOverride (estimate) | Partial | Analytics | Cost estimate from rate schedule; not actual claim payment. |
| fact_exception_log | assigned_staff_id | Task.owner (analog) | Partial | Ops | Conceptually like Task.owner; SPOC routing engine drives assignment. |
| fact_exception_log | status | Task.status (analog) | Partial | Ops | Open/In Progress/Resolved overlays Task.status semantics. |
SPOC Operational / Non-FHIR
Pure SPOC fields — operational flags, analytic derivatives, billing gates. No FHIR equivalent; persisted in SPOC store.
| Table | Field | FHIR Resource / Element | Fit | Owner | Notes |
|---|---|---|---|---|---|
| dim_payer | reimburses_tcm | n/a | Non-FHIR | Billing | Internal payer rules table for billing routing. |
| dim_payer | reimburses_pcm | n/a | Non-FHIR | Billing | Internal payer rules table for billing routing. |
| fact_episode | pilot_period | n/a | Non-FHIR | Ops | Pilot eligibility flag — SPOC cohorting only. |
| fact_outreach | attempt_number | n/a | Non-FHIR | Ops | Sequence within an episode — SPOC operational counter. |
| fact_tcm_encounter | billing_ready_flag | n/a | Non-FHIR | Billing | SPOC billing gatekeeper — derived from documentation + transmission state. |
| fact_pcm_monthly_rollup | service_month | n/a | Non-FHIR | Analytics | SPOC-derived monthly bucket (YYYY-MM) for CMS PCM billing. |
| fact_pcm_monthly_rollup | total_minutes | n/a | Non-FHIR | Analytics | Aggregate of Task durations within a calendar month. |
| fact_pcm_monthly_rollup | billable | n/a | Non-FHIR | Billing | Boolean: meets CMS PCM threshold AND notes complete AND consent on file. |
| fact_pcm_monthly_rollup | meets_threshold | n/a | Non-FHIR | Billing | ≥ 30 minutes (99426) or ≥ 60 minutes (99427). |
| fact_steerage | is_leakage | n/a | Non-FHIR | Analytics | SPOC containment analytics flag — out-of-network without medical justification. |
| fact_steerage | leakage_reason | n/a | Non-FHIR | Analytics | SPOC-defined taxonomy (preference, capacity, geographic, etc.). |
| fact_steerage | recapture_attempted | n/a | Non-FHIR | Ops | Operational flag for navigator follow-up workflow. |
| fact_utilization | is_in_network | n/a | Non-FHIR | Analytics | Derived from Organization network attribution. |
| fact_rwe_completeness | domain | n/a | Non-FHIR | Analytics | SPOC RWE domain taxonomy (11 domains). |
| fact_rwe_completeness | completeness_pct | n/a | Non-FHIR | Analytics | SPOC analytics — populated/required field ratio. |
| fact_rwe_completeness | has_gap | n/a | Non-FHIR | Analytics | Derived gating flag for partner-grade data quality SLAs. |
| fact_exception_log | category | n/a | Non-FHIR | Ops | SPOC operational defect taxonomy (10 categories). |
| fact_exception_log | severity | n/a | Non-FHIR | Ops | SPOC SLA tiering (High/Medium/Low). |
How to use this page
- Direct rows are ingest-ready against the EHR FHIR R4 API — prioritize these in the integration MVP.
- Partial rows need a SPOC normalization or derivation step. Flag for engineering review and document the transform in the data dictionary.
- Non-FHIR rows live exclusively in the SPOC store. Define ownership, retention, and any RWE export contracts.