Skip to content

Dental 837 (5010 X224A2) cannot be parsed , no map shipped #185

Description

@xuzahn

pyx12 ships 5010 maps for Professional (005010X222A1) and Institutional (005010X223A2) health-care claims, but not Dental (005010X224A2 / 837D). When a transaction with GS01=HC / GS08=005010X224A2 is processed, no map resolves, so the engine raises EngineError and aborts — it doesn't even produce a 999 acknowledgement.

Environment
pyx12 4.0.0
Python 3.11
Steps to reproduce
Run any 5010 Dental claim through x12n_document (minimal envelope):

ISA00 00 ZZSUBMITTER123 ZZRECEIVER456 2606191430*^005010000000010P*:~
GSHCSUBMITTER123RECEIVER4562026061914301X005010X224A2~
ST8370001005010X224A2~
... (dental claim body) ...
SE
230001~
GE
11~
IEA
1*000000001~
Actual behavior

pyx12.errors.EngineError: Map not found. icvn=00501, fic=HC, vriic=005010X224A2
Raised at pyx12/x12n_document.py:169 (lookup miss originates in pyx12/x12context.py:969). Validation aborts; no 999 is generated.

Root cause
pyx12/map/maps.xml has no icvn="00501" entry for vriic="005010X224A2" fic="HC". The only 5010 HC maps registered are X223A2 (Institutional) and X222A1 (Professional); there is no 837.5010.X224.A2.xml file under pyx12/map/.

Expected behavior
A 5010 Dental claim (005010X224A2 / HC) should resolve to a Dental map and validate / generate a 999 like the Professional and Institutional variants.

Proposed fix
Add the X224A2 Dental map and register it in maps.xml:

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions