123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- """
- (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()
|