Output schema¶
run_pipeline.py writes dashboard_data.json, one JSON object holding the whole bundle. This page lists its keys and the fields of each record. The field lists were taken from a run on the invented ALS cohort on 9 November 2026; run examples/make_synthetic_cohort.py and run_pipeline.py to reproduce them. A table that is empty in your data may have no rows at all.
Top-level keys¶
{
"metadata": {"generated_at": "...", "pipeline": "Registry Forge", "total_patients": 58, "warnings": []},
"patients": [], "documents": [], "notes": [],
"encounters": [], "problems": [], "medications": [], "procedures": [],
"labs": [], "vitals": [], "labs_vitals": [],
"allergies": [], "immunizations": [], "careplans": [], "goals": [],
"diagnostic_reports": [], "document_references": []
}
metadata.warnings lists identity and input problems found during the run, such as name and birth date matches left unmerged and attachments that were not delivered.
Fields shared by clinical records¶
| Field | Contents |
|---|---|
patient_id |
Joins to patients[].patient_id |
code, code_system, display_name |
The code chosen for display (see Stage 3) and its system and name |
all_codings |
Every coding on the source element, each with code, system_name, system_oid and display |
effective_date, effective_datetime |
The record's main date |
status |
Status from the source, where present |
source |
fhir or ccda |
source_file |
The file the record came from |
Tables¶
| Table | Fields beyond the shared ones |
|---|---|
patients |
first_name, last_name, dob, gender, race, ethnicity, mrn, source_patient_id, source_patient_ids, source_system, deceased, deceased_date_time, num_documents (no shared clinical fields) |
documents |
document_uuid, document_title, document_date, source_format (ccda_xml, pdf, rtf, html_fragment, unknown), source_type (rtf_note for RTF; fhir_attachment for text from FHIR resources; otherwise as source_format), fhir_resource_type, plain_text (up to 1,000,000 characters; longer text is cut and text_truncated is set), source_file |
notes |
document_id, document_date, section_title (for example "Problems" or "Plan of Care"), narrative_text, character_count; one row per C-CDA section |
problems |
clinical_status, onset_datetime |
medications |
fhir_resource_type (MedicationRequest, MedicationDispense, MedicationAdministration or MedicationStatement), medication_subtype, authored_on, start_date |
labs, vitals, labs_vitals |
value, value_text, unit, category |
procedures |
performed_datetime |
encounters |
type, visit_type, visit_type_display, start_date, end_date |
diagnostic_reports |
conclusion |
document_references |
type_display |
allergies |
allergen, allergen_code, allergen_system, recorded_date, clinical_status |
immunizations |
vaccine, vaccine_code, vaccine_system, occurrence_datetime, recorded_date |
careplans, goals |
Title or description, status and date from the source |
Aliases such as start_date and authored_on hold the same value as the canonical field; see Stage 4.
Example record¶
A medication from the single-patient sample data:
{
"patient_id": "demo-patient-001",
"code": "35623",
"code_system": "RxNorm",
"display_name": "Riluzole",
"all_codings": [
{"code": "35623", "system_oid": "http://www.nlm.nih.gov/research/umls/rxnorm",
"system_name": "RxNorm", "display": "Riluzole"}
],
"effective_date": "2023-06-01",
"effective_datetime": "2023-06-01",
"authored_on": "2023-06-01",
"start_date": "2023-06-01",
"status": "active",
"source": "fhir",
"source_file": "demo-fhir-001.json",
"fhir_resource_type": "MedicationRequest",
"medication_subtype": "MedicationRequest"
}
RxNorm 35623 is the riluzole ingredient, checked against RxNorm in November 2026.