x12 835 and 837 parser into JSON format (sqlite or mongodb) and export into any relational database with appropriate relationships
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
Steve L. Nyemba c0763f1015
...
4 years ago
healthcareio healthcare io parser bug fixes 4 years ago
LICENSE Initial commit 5 years ago
README.md Update 'README.md' 5 years ago
setup.py ... 4 years ago

README.md

About Parse-Edi

parse-edi 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.

Installation

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

Usage

Commandline :

    python edi --config <path> --folder <path> --store <[mongo|disk|couch]> --<db|path]> <id|path>

    with :
        --scope     <claims|remits>
        --config    path of the x12 to be parsed i.e it could be 835, or 837
        --folder    location of the files (they must be decompressed)
        --store     data store could be disk, mongodb, couchdb
        --db|path    name of the folder to store the output or the database name

Embedded in Code :

Use parse-edi within your code base as a library and handle storing data in a data store of choice

import edi.parser
import json
import os


ROOT = 'data'
CLAIMS_FOLDER = os.sep.join([ROOT,'837'])   #-- data/837    contains all 837 formatted files
CONFIG_FOLDER = os.sep.join([ROOT,'config'])#-- data/config contains 837.json or 835.json


files       = os.listdir(CLAIMS_FOLDER)
filename    = os.sep.join([CLAIM_FOLDER,files[0]]) #-- selecting the first file in the folder (it's an example)
conf        = json.loads(open( os.sep.join([CONFIG_FOLDER,'837.json']) ).read())
info        = edi.parser.get_content(file,conf) #-- array of objects claims/remits

Credits