The YediPy manifesto
Healthcare technology is evolving, but not fast enough.
YediPy is free, open-source EDI parsing and tooling for Python.
- Pre-release
- MIT License
- Python 3.11+
- 32 X12 transaction sets
The manifesto
Why YediPy exists
The story
Nearly 80 years ago, U.S. military logisticians running the Berlin Airlift developed a data protocol that eventual standard-bearers adopted across multiple global industries: Electronic Data Interchange (EDI).
Today, ANSI X12 EDI quietly runs the backbone of the economy—from supply chains and logistics to banking, insurance, and healthcare.
The problem
Impending CMS mandates will soon require FHIR🔥 interoperability across hospital systems, but adoption won't happen overnight. The biggest hurdle? Accessibility. Standard EDI documentation remains locked behind steep $10,000+ paywalls for what is functionally an "open" protocol. To make matters worse, most existing software toolkits and .NET EDI libraries are tied up in expensive, recurring commercial subscription models that lock developers out of open innovation.
The mission
Years ago, visionaries tried to break this open with TigerShark.
Now, it’s time to finish what was started and spike the ball in the end zone.
I am making EDI parser specs and tooling—across all industries, versions, and errata—100% free and open-source software: YediPy 🫈.
Beyond X12
Beyond X12, the roadmap extends directly to support legacy healthcare standard specifications: full coverage for HL7 v2 through version 2.6. While FHIR Release 6 (R6) represents the modern target, legacy integrations aren't disappearing anytime soon, and we need open, reliable bridge tools to backfill the gap.
The invitation
This is a massive effort, and I can't do it alone. If you're passionate about open-source developer tooling, health tech interoperability, or EDI parsing, I'm looking for contributors, testers, and maintainers to help build and refine these spec models.
Open an issue or reach out directly if you want to help tear down these paywalls once and for all.
Available now
What works today
YediPy is pre-release software, but its X12 foundation already works: lossless lexing, envelope validation, typed transaction models and a JSON CLI.
Lossless X12 lexing
Separators are detected from the fixed-width ISA header, and the original bytes, segment order, elements and byte offsets are preserved. Envelope validation checks ISA/IEA, GS/GE and ST/SE nesting, control numbers and counts, then slices each interchange into ordered ST/SE transactions.
Typed transaction models
Generated Pydantic models for 32 healthcare transaction sets across X12 004010, 005010 and 005010 pre-errata: 270, 271, 276, 277, 277A, 278, 820, 820 HIX, 834, 835, 837D, 837I, 837P and 999. Attributes are snake_case, with the OpenFoo names kept as aliases.
JSON CLI
yedipy x12 inspect prints structural JSON. yedipy x12 validate returns JSON diagnostics and an exit code your scripts can check. Diagnostics never include source values.
Install
Install today from GitHub (requires Git and Python 3.11 or newer):
python -m pip install git+https://github.com/PatrickArronLee/yedipy
First PyPI release coming soon:
python -m pip install yedipy
Then inspect a file:
yedipy x12 inspect claims.edi
Parse a claim in Python
from pathlib import Path
from yedipy.x12 import parse_x12
from yedipy.x12.transactions import parse_transaction
parsed = parse_x12(Path("claims.edi").read_bytes())
parsed.raise_for_errors()
interchange = parsed.interchange
assert interchange is not None
raw = interchange.transactions[0]
result = parse_transaction(raw, interchange.delimiters)
result.errors # structural diagnostics
result.transaction # e.g. TS837P, a typed Pydantic model
Pre-release also means limits: YediPy is not a payer-ready eligibility workflow, a FHIR mapper, or a complete X12 implementation.
Where it is headed
Roadmap
Only the first stage is available today. Everything after it is work still to be done, and a good place to help.
-
X12 healthcare
Available
Typed models for 32 healthcare transaction sets across X12
004010,005010and005010pre-errata. -
All of X12
Next
X12 across all industries, versions and errata, not just healthcare.
-
HL7 v2
Planned
Full coverage for HL7 v2 through version 2.6. Not implemented yet.
-
FHIR R6 bridge
Target
Open bridge tools from legacy EDI to FHIR Release 6 (R6). Not implemented yet.
Join in
Help build YediPy
YediPy is looking for contributors, testers and maintainers. Pick the role that fits you.
Contributors
Build and refine spec models, parsers and docs, from today's X12 transaction sets to the HL7 v2 work on the roadmap.
Testers
Run YediPy against synthetic or de-identified X12 files and report what breaks. Never share real patient data.
Maintainers
Review pull requests, triage issues and help steer releases and the roadmap.