parser/README.md

134 lines
5.2 KiB
Markdown
Raw Normal View History

2020-10-02 03:24:23 +00:00
## About Healthcare/IO Parser
2019-11-06 20:36:32 +00:00
2020-10-02 04:30:55 +00:00
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)
2019-11-06 20:38:13 +00:00
2019-11-07 07:55:52 +00:00
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
2019-11-12 17:51:22 +00:00
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.
2020-10-02 04:30:55 +00:00
## Features
2022-02-10 19:13:26 +00:00
| Features | Description|
2020-10-02 04:30:55 +00:00
| -------- | --- |
|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|
2022-02-10 19:13:26 +00:00
|Export to RDBMS| exports data to relational format (NoSQL -> SQL) 7 supported databases <br> * PostgreSQL,<br> * Redshift, <br>* Neteeza, <br>* Mysql, <br>* Mariadb, <br>* bigquery, <br>* sqlite3 |
|**Issues and Bug reports**| info@the-phi.com
2020-10-02 04:30:55 +00:00
2022-02-10 19:13:26 +00:00
For advanced features visit [Healthcare/IO::Parser](https://healthcareio.the-phi.com/parser) homepage
2020-10-02 04:30:55 +00:00
2019-11-06 20:38:13 +00:00
## Installation
2022-02-10 19:13:26 +00:00
**System requirements**
- git (latest cli)
- python3+ (with virtualenv)
- mongodb (optional)
**Installation command**
2020-10-02 03:24:23 +00:00
pip install --upgrade git+https://hiplab.mc.vanderbilt.edu/git/lab/parse-edi.git
2019-11-06 20:38:13 +00:00
## Usage
2022-02-10 19:13:26 +00:00
Healthcare/IO is primarily intended to be used as a command line parser (for now). It is fully written in python 3+
**CLI :**
2019-11-06 20:38:13 +00:00
2020-10-02 04:30:55 +00:00
1. signup to get parsing configuration
The parser is driven by a configuration file that specifies fields to parse and how to parse them. You need by signing up, to get a copy of the configuration file.
2022-02-10 19:13:26 +00:00
#
# Use sqlite as data-store
2020-10-02 03:24:23 +00:00
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
2022-02-10 19:13:26 +00:00
3. parsing data stored in a folder
The parser will recursively traverse a directory with claims and or remittances
2020-10-02 04:30:55 +00:00
healthcare-io.py --parse --folder <path> [--batch <n>] [--resume]
2019-11-07 07:40:16 +00:00
2019-11-06 20:38:13 +00:00
with :
2020-10-02 03:24:23 +00:00
--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
4. export data to a relational data-store
The parser will export data into other data-stores as a relational tables allowing users to construct views to support a variety of studies.
2022-02-10 19:13:26 +00:00
healthcare-io.py --export <835|837> --export-config <path-export.json>
with:
2022-02-10 19:13:26 +00:00
--export-config configuration to support data-store
**example**
1. Exporting to PostgreSQL
{"provider":"postgresql","database":"healthcareio","schema":"foo"}
2021-02-07 22:02:35 +00:00
**NOTE**
The output generates a set of tables that are the result of transforming unstructured data to relational structure. The tables can be bound with the attribute **_id**
2021-01-12 20:03:59 +00:00
The configuration file needed to implement export is modelled after the following template:
{
"provider":"<postgresql|redshift|mysql|mariadb>",
2022-02-10 19:13:26 +00:00
"database":"<name>",["host":"server-name"],["port":5432],
["user":"me"],["password":"!@#z4qm"],["schema":"target-schema"]
2021-01-12 20:03:59 +00:00
}
2021-01-12 19:48:04 +00:00
**parameters:**
provider postgresql,redshift,mysql or mariadb (supported providers)
2022-02-10 19:13:26 +00:00
database name of the database
2021-01-12 19:48:04 +00:00
**optional:**
2022-02-10 19:13:26 +00:00
2021-01-12 19:48:04 +00:00
schema name of the target schema. If not provided we will assume the default
host host of the database. If not provided assuming localhost
port port value of the database if not provided the default will be used
user database user name. If not provided we assume security settings to trust
password password of database user. If not set we assume security settings to trust
2022-02-10 19:13:26 +00:00
**Known Limitations**
2019-11-06 20:38:13 +00:00
2022-02-10 19:13:26 +00:00
1. By default it does NOT come with all {X12} Segments.
2. Does not support an easy way to rename attributes it parses
3. For now can only read {x12} from disk
2019-11-06 20:38:13 +00:00
2022-02-10 19:13:26 +00:00
There is support for additional features and attributes available at [Healthcare/IO::Parser](https://healthcareio.the-phi.com/parser).
**In development**
1. Wizard/UI to enable attribute renaming
2. Dashboard for quick overview
3. Reading {x12} from s3 and other cloud buckets
4. Docker Image
2019-11-07 07:40:16 +00:00
## Credits
2022-02-10 19:13:26 +00:00
This project was realized thanks largely to the effort of Vanderbilt University Medical Center and
2019-11-07 07:50:55 +00:00
2022-02-10 19:13:26 +00:00
| | | |
|--|--|--|
|- Khanhly Nguyen<br>- Heather Dunn<br>- Nina Thousand|- Byun Kang<br>- Gaylon Stanley<br>- Cheng Gao|- Thomas Brown<br>- Brad Malin<br>- Steve Nyemba
2019-11-12 17:47:44 +00:00
2019-11-07 07:40:16 +00:00