64 lines
2.0 KiB
Python
64 lines
2.0 KiB
Python
"""
|
|
(c) 2019 EDI Parser Toolkit,
|
|
Health Information Privacy Lab, Vanderbilt University Medical Center
|
|
|
|
Steve L. Nyemba <steve.l.nyemba@vanderbilt.edu>
|
|
Khanhly Nguyen <khanhly.t.nguyen@gmail.com>
|
|
|
|
|
|
This code is intended to process and parse healthcare x12 837 (claims) and x12 835 (remittances) into human readable JSON format.
|
|
The claims/outpout can be forwarded to a NoSQL Data store like couchdb and mongodb
|
|
Usage :
|
|
Commandline :
|
|
python xreader.py --parse claims|remits --config <path>
|
|
Embedded :
|
|
|
|
"""
|
|
import healthcareio
|
|
import os
|
|
import requests
|
|
import platform
|
|
import sqlite3 as lite
|
|
from transport import factory
|
|
import json
|
|
#import healthcareio.params as params
|
|
PATH = os.sep.join([os.environ['HOME'],'.healthcareio'])
|
|
OUTPUT_FOLDER = os.sep.join([os.environ['HOME'],'healthcare-io'])
|
|
|
|
def register (**args) :
|
|
"""
|
|
This function will reset/register a user i.e they will download the configuration
|
|
:email user's email address
|
|
:url url of the provider to register
|
|
"""
|
|
URL = "https://healthcareio.the-phi.com" if 'url' not in args else args['url']
|
|
|
|
args['out_folder'] = os.sep.join([args['path'],args['out_folder']])
|
|
email = args['email']
|
|
url = args['url'] if 'url' in args else URL
|
|
folders = [PATH,OUTPUT_FOLDER]
|
|
for path in folders :
|
|
if not os.path.exists(path) :
|
|
os.mkdir(path)
|
|
|
|
#
|
|
#
|
|
headers = {"email":email,"client":platform.node()}
|
|
http = requests.session()
|
|
r = http.post(url,headers=headers)
|
|
|
|
#
|
|
# store = {"type":"disk.DiskWriter","args":{"path":OUTPUT_FOLDER}}
|
|
# if 'store' in args :
|
|
# store = args['store']
|
|
filename = (os.sep.join([PATH,'config.json']))
|
|
info = r.json() #{"parser":r.json(),"store":store}
|
|
info = dict({"owner":email},**info)
|
|
info['store']['args']['path'] =os.sep.join([OUTPUT_FOLDER,'healthcare-io.db3']) #-- sql
|
|
info['out-folder'] = OUTPUT_FOLDER
|
|
|
|
file = open( filename,'w')
|
|
file.write( json.dumps(info))
|
|
file.close()
|
|
|