""" (c) 2019 EDI Parser Toolkit, Health Information Privacy Lab, Vanderbilt University Medical Center Steve L. Nyemba Khanhly Nguyen 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 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()