Skip to main content

Patient

People from Synthea with demographics, location, visits, care plans, and provenance.

11,313 records · 22 data fields · 10 relationships

Explore records
Relationship map — Patient 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 Patient.

Field definitions

searched as a name searched as an address searched as an identifier searched as prose feeds the semantic embedding

Field Type Description
first folded into this row’s embedding string First name of the patient.
last folded into this row’s embedding string Last or surname of the patient.
birth_date datetime The date the patient was born.
death_date option<datetime> The date the patient died.
prefix string Name prefix, such as Mr., Mrs., Dr., etc.
middle option<string> Middle name of the patient.
name_search_text string Computed at import time from the name fields — the single column the proper-noun name search index reads. Not a Synthea column.
suffix option<string> Name suffix, such as PhD, MD, JD, etc.
maiden option<string> Maiden name of the patient.
marital folded into this row’s embedding option<string> Marital status. M is married, S is single.
race folded into this row’s embedding string Description of the patient's primary race.
ethnicity folded into this row’s embedding string Description of the patient's primary ethnicity.
gender folded into this row’s embedding string Gender. M is male, F is female.
birthplace string Name of the town where the patient was born.
address Folded into this row’s embedding as the street only — city, county and state are left out because every patient lives in Minneapolis, so they would make all patients look alike string Patient's street address without commas or newlines.
city string Patient's address city.
state string Patient's address state.
county string Patient's address county.
fips string Patient's FIPS county code.
zip string Patient's zip code.
location option<geometry<point>> Latitude and longitude of the patient's address, collapsed into one point.
record_id string This patient's source id, stored verbatim — the record's identity. Not a search term — find patients by name. Not shown on the record's own page: the page's address already carries this id.

Referenced by

Records that hold this record’s id, or are linked through an edge table

  • Each patient has one or many visits; each visit has exactly one patient. Visit foreign key encounter.patient_id on each visit
  • Each patient has zero or many care plans; each care plan has exactly one patient. Care plan foreign key careplan.patient_id on each care plan
  • Each patient has one or many diagnosis concepts; each diagnosis concept has one or many patients. Diagnosis concept edge table has_condition — one row per patient and diagnosis concept
  • Each patient has zero or many medication concepts; each medication concept has one or many patients. Medication concept edge table has_medication — one row per patient and medication concept
  • Each patient has zero or many procedure concepts; each procedure concept has one or many patients. Procedure concept edge table has_procedure — one row per patient and procedure concept
  • Each patient has one or many claims; each claim has exactly one patient. Claim foreign key claim.patient_id on each claim
  • Each patient has zero or many expense years; each expense year has exactly one patient. Expense year foreign key patient_expense.patient_id on each expense year
  • Each patient has one or many diagnoses; each diagnosis has exactly one patient. Diagnosis foreign key diagnosis.patient_id on each diagnosis
  • Each patient has zero or many medications; each medication has exactly one patient. Medication foreign key prescription.patient_id on each medication
  • Each patient has zero or many procedures; each procedure has exactly one patient. Procedure foreign key procedure_record.patient_id on each procedure

Semantic search

Each patient stores embedding: a vector of 384 numbers computed at import from first, last, gender, address, race, ethnicity and marital — the fields marked as folded into the embedding above. Search’s Vector and Hybrid tabs match a query against it by meaning, through the index hnsw_patient.

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 patient means, not where one row came from — that question is the substance of every patient record's own Provenance page, reachable from any patient record.

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

Try asking

Real values from Patient records. Click to search.

Beyond text search

patients diagnosed with type 2 diabetes

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