## About Healthcare/IO Parser

The Healthcare/IO **parser** is an Electronic Data Interchange (EDI) parser developed at Vanderbilt University Medical Center during Khanhly Nguyen's summer internship 2019. Built in a healthcare setting, the parser focuses (for now) on x12 claims (837) and remittances (835)

This code is intended to extract x12 837 and 835 and format them into portable and human readable format (JSON). This allows the claims to be stored in document data stores such as Mongodb, couchdb or databases that have support for JSON like PostgreSQL

We wrote this frame to be used in both command line or as a library within in your code. The framework is driven by configurations that derviced from X12 standards.

## Features

| Features | |
| -------- | --- |
|X12 claims/remits| parsing of {x12} claims/remittances into JSON format with human readible attributes|
|Multi Processing| capable of processing multiple files simultaneously to speed up processing|
|Analytics support| descriptive statistical analytics : distribution, various counts|
|Process Recovery| capable of recovering interrupted runs|



## Installation

    pip install --upgrade git+https://hiplab.mc.vanderbilt.edu/git/lab/parse-edi.git

## Usage 
 
**cli :**

1. signup to get parsing configuration

    The parser is driven by a configuration, file you need by signing up. 

        healthcare-io.py --signup <email> [--store <mongo|sqlite>]

2. check version       

    Occasionally the attributes in the configuration file may change, This function will determine if there is a new version available.

        healthcare-io.py --check-update

3. parsing data in a folder

    The parser will recursively traverse a directory with claims and or remittances

        healthcare-io.py --parse --folder <path> [--batch <n>] [--resume]
        
        with :
            --parse     tells the engine what to parse claims or remits
            --folder    location of the claims|remits
            --batch     number of processes to spawn to parse the files
            --resume    tells the parser to resume parsing 
                        if all files weren't processed or new files were added into the folder
        
**Embedded in Code   :**

The Healthcare/IO **parser** can be used within your code base as a library and handle storing data in a data store of choice

    import healthcareio
    

## Credits


* [Khanhly Nguyen] (<khanhly.t.nguyen@gmail.com>)
* [Gaylon Stanley] (<gaylon.stanley@vumc.org>)
* [Cheng Gao] (<cheng.gao@vanderbilt.edu>)
* [Brad Malin] (brad.malin@vanderbilt.edu)
* [Steve L. Nyemba] (<steve.l.nyemba@vumc.org>)



