Skip to content

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.

  1. X12 healthcare

    Available

    Typed models for 32 healthcare transaction sets across X12 004010, 005010 and 005010 pre-errata.

  2. All of X12

    Next

    X12 across all industries, versions and errata, not just healthcare.

  3. HL7 v2

    Planned

    Full coverage for HL7 v2 through version 2.6. Not implemented yet.

  4. 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.

Browse open issues

Testers

Run YediPy against synthetic or de-identified X12 files and report what breaks. Never share real patient data.

Report a problem

Maintainers

Review pull requests, triage issues and help steer releases and the roadmap.

Reach out on GitHub

Contribute on GitHub Read the docs