|
@@ -64,17 +64,27 @@ def get_config(config,row):
|
|
|
|
|
|
return _info
|
|
|
def format_date(value) :
|
|
|
- year = value[:4]
|
|
|
- month = value[4:6]
|
|
|
- day = value[6:]
|
|
|
- return "-".join([year,month,day])[:10] #{"year":year,"month":month,"day":day}
|
|
|
+ if len(value) == 8 :
|
|
|
+ year = value[:4]
|
|
|
+ month = value[4:6]
|
|
|
+ day = value[6:]
|
|
|
+ return "-".join([year,month,day])[:10] #{"year":year,"month":month,"day":day}
|
|
|
+ elif len(value) == 6 :
|
|
|
+ year = '20' + value[:2]
|
|
|
+ month = value[2:4]
|
|
|
+ day = value[4:]
|
|
|
+ return "-".join([year,month,day])
|
|
|
def format_time(value):
|
|
|
return ":".join([value[:2],value[2:] ])[:5]
|
|
|
def format_proc(value):
|
|
|
- if ':' in value :
|
|
|
- return {"type":value.split(':')[0].strip(),"code":value.split(':')[1].strip()}
|
|
|
- else:
|
|
|
- return value
|
|
|
+ for xchar in [':','<']
|
|
|
+ if xchar in value and len(value.split(xchar)) == 2
|
|
|
+ _value = {"type":value.split(':')[0].strip(),"code":value.split(':')[1].strip()}
|
|
|
+ break
|
|
|
+ else
|
|
|
+ _value = str(value)
|
|
|
+
|
|
|
+ return _value
|
|
|
def format_diag(value):
|
|
|
|
|
|
return [ {"code":item[2], "type":item[1]} for item in value if len(item) > 1]
|
|
@@ -151,6 +161,7 @@ def get_content(filename,config,section=None) :
|
|
|
|
|
|
# VERSION = x12_file[2].split('*')[3].replace('~','')
|
|
|
TOP_ROW = x12_file[1].split('*')
|
|
|
+ CATEGORY= x12_file[2].split('*')[1].strip()
|
|
|
VERSION = x12_file[1].split('*')[-1].replace('~','')
|
|
|
SUBMITTED_DATE = format_date(TOP_ROW[4])
|
|
|
SENDER_ID = TOP_ROW[2]
|
|
@@ -176,7 +187,7 @@ def get_content(filename,config,section=None) :
|
|
|
# print (pointer(row))
|
|
|
tmp = get_map(row,_info,VERSION)
|
|
|
except Exception as e:
|
|
|
- if sys.verion_info[0] > 2 :
|
|
|
+ if sys.version_info[0] > 2 :
|
|
|
logs.append ({"version":VERSION,"filename":filename,"msg":e.args[0],"X12":x12_file[beg:end]})
|
|
|
else:
|
|
|
logs.append ({"version":VERSION,"filename":filename,"msg":e.message,"X12":x12_file[beg:end]})
|
|
@@ -188,9 +199,11 @@ def get_content(filename,config,section=None) :
|
|
|
tmp['submitted'] = SUBMITTED_DATE
|
|
|
if TOP_ROW[1] == 'HP' :
|
|
|
tmp['payer_id'] = SENDER_ID
|
|
|
- else:
|
|
|
+
|
|
|
+ elif TOP_ROW[1] == 'HC':
|
|
|
tmp['provider_id'] = SENDER_ID
|
|
|
-
|
|
|
+
|
|
|
+ tmp['category'] = {"setid": CATEGORY,"version":'X'+VERSION.split('X')[1],"id":VERSION.split('X')[0].strip()}
|
|
|
claim = dict(claim, **tmp)
|
|
|
|
|
|
|