@@ -7,9 +7,9 @@ Patient-facing tool for consolidating personal health data from multiple EHR (El
77## Features
88
99- ** Multi-EHR data consolidation** — Import from Epic MyChart, MEDITECH Expanse, and athenahealth
10- - ** SQLite database** — 16 clinical tables with full audit trail
11- - ** MCP server** — 22 tools for LLM-assisted analysis with Claude
12- - ** Export formats** — Markdown, self-contained HTML with charts , Hugo static sites, JSON
10+ - ** SQLite database** — 17 clinical tables with full audit trail
11+ - ** MCP server** — 25 tools for LLM-assisted analysis with Claude
12+ - ** Export formats** — Markdown, self-contained HTML SPA , Hugo static sites, JSON, Arkiv
1313- ** Personal notes** — Tag and annotate any clinical record
1414- ** Visit preparation** — Generate visit diffs and clinical summaries
1515
@@ -100,6 +100,7 @@ chartfold notes search --ref-table lab_results
100100| Source | Format | Description |
101101| --------| --------| -------------|
102102| ** Epic MyChart** | CDA R2 XML | IHE XDM exports from Epic MyChart |
103+ | ** Epic MyChart (MHTML)** | MHTML | Visit notes and genomic test results (e.g., Tempus XF) |
103104| ** MEDITECH Expanse** | CCDA XML + FHIR JSON | Dual-format bulk exports (merged and deduplicated) |
104105| ** athenahealth** | FHIR R4 XML | Ambulatory summary exports |
105106
@@ -123,15 +124,16 @@ chartfold stores data in 16 clinical tables:
123124| ** Medications** | ` medications ` , ` allergies ` |
124125| ** Conditions** | ` conditions ` |
125126| ** Procedures** | ` procedures ` , ` pathology_reports ` , ` imaging_reports ` |
127+ | ** Genomics** | ` genetic_variants ` |
126128| ** Notes** | ` clinical_notes ` |
127129| ** History** | ` immunizations ` , ` social_history ` , ` family_history ` , ` mental_status ` |
128- | ** System** | ` load_log ` (audit), ` notes ` , ` note_tags ` (personal), ` source_assets ` |
130+ | ** System** | ` load_log ` (audit), ` notes ` , ` note_tags ` (personal), ` source_assets ` , ` analyses ` , ` analysis_tags ` |
129131
130132All dates are stored as ISO ` YYYY-MM-DD ` strings. Every record carries a ` source ` field for provenance tracking.
131133
132134## MCP Server
133135
134- chartfold includes an MCP (Model Context Protocol) server with 22 tools for LLM-assisted health data analysis:
136+ chartfold includes an MCP (Model Context Protocol) server with 25 tools for LLM-assisted health data analysis:
135137
136138``` bash
137139chartfold serve-mcp --db chartfold.db
@@ -141,14 +143,32 @@ chartfold serve-mcp --db chartfold.db
141143
142144| Category | Tools |
143145| ----------| -------|
144- | ** SQL & Schema** | ` run_sql ` , ` get_schema ` |
146+ | ** SQL & Schema** | ` run_sql ` , ` get_schema ` , ` get_database_summary ` |
145147| ** Labs** | ` query_labs ` , ` get_lab_series_tool ` , ` get_available_tests_tool ` , ` get_abnormal_labs_tool ` |
146148| ** Medications** | ` get_medications ` , ` reconcile_medications_tool ` |
147149| ** Clinical** | ` get_timeline ` , ` search_notes ` , ` get_pathology_report ` |
148- | ** Analysis ** | ` get_visit_diff ` , ` get_visit_prep ` , ` get_surgical_timeline ` |
150+ | ** Visit Prep ** | ` get_visit_diff ` , ` get_visit_prep ` , ` get_surgical_timeline ` |
149151| ** Cross-source** | ` match_cross_source_encounters ` , ` get_data_quality_report ` |
150- | ** Summary ** | ` get_database_summary ` |
152+ | ** Source Assets ** | ` get_source_files ` , ` get_asset_summary ` |
151153| ** Personal Notes** | ` save_note ` , ` get_note ` , ` search_notes_personal ` , ` delete_note ` |
154+ | ** Analyses** | ` save_analysis ` , ` get_analysis ` , ` search_analyses ` , ` list_analyses ` , ` delete_analysis ` |
155+
156+ Clinical data is read-only (` ?mode=ro ` enforced at the SQLite engine level). Write operations are limited to personal notes and structured analyses.
157+
158+ ### Claude Code Configuration
159+
160+ Drop a ` .mcp.json ` in any directory where you run Claude Code:
161+
162+ ``` json
163+ {
164+ "mcpServers" : {
165+ "chartfold" : {
166+ "command" : " python" ,
167+ "args" : [" -m" , " chartfold" , " serve-mcp" , " --db" , " /path/to/chartfold.db" ]
168+ }
169+ }
170+ }
171+ ```
152172
153173### Claude Desktop Configuration
154174
@@ -212,7 +232,7 @@ Raw EHR files (XML/FHIR)
212232## Testing
213233
214234``` bash
215- # Run all tests (700 + tests)
235+ # Run all tests (1000 + tests)
216236python -m pytest tests/
217237
218238# Run a single test file
0 commit comments