Skip to main content

Claim

Insurance claims — one per visit and one per prescription. Each carries its diagnosis codes, its coverage and its rolled-up charges. Reached from a patient or a visit rather than by search: its diagnosis codes are already searchable as diagnoses.

1,131,522 records · 17 data fields · 4 relationships

Explore records
Relationship map — Claim highlighted
Has visit Attended by At care site Recorded diagnosis Prescribed Included procedure Has care plan Addresses diagnosis Practices at Started care plan Billed as Has claim Billed to Primary Secondary Has expense year Covered by Has diagnosis Has medication Has procedure PatientDIM · ACTOR GRAIN VisitFACT · EVENT GRAIN Diagnosis conceptDIM · CODE GRAIN DiagnosisFACT · EVENT GRAIN Medication conceptDIM · CODE GRAIN MedicationFACT · EVENT GRAIN Procedure conceptDIM · CODE GRAIN ProcedureFACT · EVENT GRAIN ProviderDIM · ACTOR GRAIN Care planFACT · EVENT GRAIN Care siteDIM · ACTOR GRAIN ClaimFACT · EVENT GRAIN PayerDIM · ACTOR GRAIN Expense yearFACT · YEAR ROLLUP Coded as Coded as Coded as

Click any node to explore its schema. Highlighted relationships connect to or from Claim.

Field definitions

opens the record when pasted into search points at another record, named under Links to

Field Type Description Links to
patient_id Billed for string Foreign key to the Patient. Each claim has exactly one patient; each patient has one or many claims. Patient
primary_payer_id Covered by (primary) option<string> Foreign key to the primary Payer; blank on a self-pay claim. Each claim has zero or one payer; each payer has zero or many claims. Payer
secondary_payer_id Covered by (secondary) option<string> Foreign key to the secondary Payer, where the claim names one. Each claim has zero or one payer; each payer has zero or many claims. Payer
encounter_id Billed for visit string Foreign key to the Encounter. Each claim has exactly one visit; each visit has one or many claims. Visit
diagnosis_codes array<string> The claim's diagnosis codes from SNOMED-CT, collapsed from the source's four DIAGNOSIS1–DIAGNOSIS4 columns into one ordered list. Computed at import time, not one CSV column.
current_illness_date datetime The date the patient experienced symptoms.
service_date datetime The date of the services on the claim.
status_primary string Status of the claim from the Primary payer — BILLED or CLOSED.
outstanding_primary option<float> Total amount of money owed by Primary Insurance.
outstanding_patient option<float> Total amount of money owed by the Patient.
last_billed_date_primary datetime Date the claim was sent to Primary Insurance.
claim_type_primary string Type of claim: 1 is professional, 2 is institutional.
charge_total option<float> Sum of every CHARGE line on this claim's ledger. Computed at import time, not one source column.
payment_total option<float> Sum of every PAYMENT line on this claim's ledger. Computed at import time, not one source column.
line_item_count int The number of charge lines on this claim's source ledger, counted at import time. Not shown in the app: the claim's page shows the money these charge lines add up to, and a bare count of them read as a count of ledger rows, which the store does not hold.
procedure_codes option<array<string>> The distinct procedure codes billed across this claim's ledger lines. Computed at import time, not one source column.
record_id string This claim's source id, stored verbatim — the single value that opens this record when pasted into search.

Provenance where this row came from · 7 fields

Field Type Description
source_table string Synthea CSV this row was read from.
source_snapshot_id string Corpus generation this row belongs to.
ingest_run_id string Import run that wrote the row.
generation_run_id string Synthea run that produced the source CSV.
load_timestamp datetime When the row was written.
source_role string Role this source played for the record.
contributing_sources option<array<string>> Other rows that contributed to this record.

Collapsed here because a reader came for what claim means, not where one row came from — that question is the substance of every claim record's own Provenance page, reachable from any claim record.

Types are SurrealDB's own: option<T> means the value may be absent. Full reference: SurrealDB data types.

Not searchable

Claims carry no search index, by design — the diagnosis codes on one are already searchable at finer grain on the condition table, though not for all: 30,120 of 131,327 claims (22.9%) reference a diagnosis code with no matching condition row. Reach a claim from the records browser, from the patient it belongs to, or by pasting its id into search.

Beyond text search

unpaid claims for patients with dementia

Answering this means walking claim → patient → has diagnosis concept → condition. The three shipped search arms — BM25, HNSW, RRF fusion — match text inside one table, so none can.