Skip to content
forked from azoner/pyx12

HIPAA X12 document validator and converter

License

Notifications You must be signed in to change notification settings

CloverHealth/pyx12

 
 

Repository files navigation

clover-pyx12

This is a fork of pyx12 that provides Python3 support. It is published to Gemfury as cloverhealth-pyx12.

NOTE - The default branch on this fork is pyx12_python3 instead of master because there are some changes in master that we have not used in quite a long time. The pyx12_python3 branch has been used consistently without problem.

If one wishes to publish a change to this library, do the following steps:

  1. Update the version in pyx12/version.py
  2. Run python setup.py sdist
  3. Copy the tarred gzipped distribution under the dist folder to Gemfury

The rest of the README remains in tact from the original fork

Pyx12

Build Status

Pyx12 is a HIPAA X12 document validator and converter. It parses an ANSI X12N data file and validates it against a representation of the Implementation Guidelines for a HIPAA transaction. By default, it creates a 997 response for 4010 and a 999 response for 5010. It can create an html representation of the X12 document or can translate to and from an XML representation of the data file.

Usage

As a command line tool

x12valid <filename>

To fix common X12 structural errors

x12norm --fix --eol <filename>

Code Examples

Iterate over a loop.  Alter children. Show changes
    src = pyx12.x12context.X12ContextReader(param, errh, fd_in)
    for datatree in src.iter_segments('2300'):
        # do something with a 2300 claim loop
        # we have access to the 2300 loop and all its children
        for loop2400 in datatree.select('2400'):
            print(loop2400.get_value('SV101'))
            # update something
            loop2400.set_value('SV102', 'xx')
            # delete something
            if loop2400.exists('PWK'):
                loop2400.delete('PWK')
        # iterate over all the child segments
        for seg_node in datatree.iterate_segments():
            print(seg_node.format())

Prerequisites

Pyx12 uses some runtime features of setuptools / distribute. If you use pip to install, all is good. If not, install setuptools first.

Get setuptools http://pypi.python.org/pypi/setuptools/

Get pip http://www.pip-installer.org/en/latest/installing.html

Install

Install system-wide

pip install pyx12

Or install in a virtual environment

virtualenv my_env
pip -E my_env install pyx12

Licensing

Pyx12 has a BSD license. The full license text is included with the source code for the package.

About

HIPAA X12 document validator and converter

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 94.2%
  • XSLT 4.1%
  • Makefile 1.7%