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) ...
SE230001~
GE11~
IEA1*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:
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) ...
SE230001~
GE11~
IEA1*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: