I like understanding how things work. Occasionally this becomes everyone else’s problem in the form of a pull request.
I'm a founding engineer at Sparx, doing a bit of everything across backend, frontend, data, and infrastructure. My work includes healthcare data and Medicare claims. Before that: healthcare ML, computer vision, and assistive robotics.
I also help maintain dbt-duckdb.
Twenty-five projects, more than fifty merged fixes. The links go to the actual changes.
Tuva · Medicare claims
Missing denial codes were causing claim lines to disappear. Kept those lines, corrected procedure-code mappings, and fixed a provider-key join for Part A revenue lines in the CCLF connector.
dbt-duckdb · the DuckDB adapter
Contracted models quote their column names, external write options match case-insensitively, and attachments declared as type: ducklake are recognised as DuckLake.
OHDSI · the OMOP stack
In WebAPI, the drug concept hierarchy only counts standard ingredients and the condition treemap shows the right level-1 names. SqlRender translates DATEDIFF with time units for DuckDB and SQLite.
OHDSI DatabaseConnector · transaction cleanup
A query, insert, or batch-fetch error could leave the JDBC connection in a broken transaction. Restored auto-commit after those failures, so the next operation can proceed.
highdicom · DICOM structured reports
SR content items with WAVEFORM references and NUM items without a value parse again, and Key Object Selection documents reject evidence from more than one study, as the standard requires.
Phileas · PHI redaction
Day-first dates with a comma are detected, and the ABA, Verhoeff and Damm check-digit validators are implemented instead of stubbed.
Pandera · decimal precision
Polars decimal coercion was silently losing precision through an unnecessary Float64 intermediate. Removed that conversion. The digits were there for a reason.
Synthea · complete synthetic claims exports
Historical synthetic claims referenced payer records that weren't being exported. Included the referenced pre-1970 insurance-plan history, keeping those references intact.
Apache PyIceberg · partitioned writes
Arrow string and binary view types worked until partitioning got involved. Enabled partitioned writes with those types, including nested columns from Polars/Arrow.
I made a movie. Not everything needs to be a repo.
Real Madrid. That part isn’t open for discussion.
Driving, traveling, and turning a five-minute question into an unreasonable amount of research. I could get a more normal hobby, but here we are.




