57 知情同意书列表
来源: e:/jupterlab/mrqc/智能病历质控.ipynb
58 获取病人EHRID
59 参数需要”IN_DEPT_CODE”
import requests
import json
import pandas as pd
= 'http://200.100.101.109:8090/consultationapi/center/orgCodeDepartment/124409004564080633/Api/search/patients'
url
= {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36',
headers 'Authorization' :'Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6ImF0K2p3dCJ9.eyJuYmYiOjE3MDE2NTQ2NzIsImV4cCI6MTczMjc1ODY3MiwiaXNzIjoiaHR0cDovLzIwMC4xMDAuMTAxLjEwOTo4MDkwL2NvbnN1bHRhdGlvbmFwaSIsImF1ZCI6WyJseXl5IiwiaHR0cDovLzIwMC4xMDAuMTAxLjEwOTo4MDkwL2NvbnN1bHRhdGlvbmFwaS9yZXNvdXJjZXMiXSwiY2xpZW50X2lkIjoiRnhsVXQ4WDRaaiIsInN1YiI6IjIwNjUiLCJhdXRoX3RpbWUiOjE3MDE2NTQ2NzIsImlkcCI6ImxvY2FsIiwiTG9naW5XYXkiOiIwIiwiVGhpcmRwYXJ0eUlkIjoiLTEiLCJTb3VyY2VUZXJtaW5hbCI6IjEiLCJPcGVhcnRpb25JZCI6IjM2NzAxMDMiLCJyb2xlIjoi5Li05bqK5LiT5a62IiwibmFtZSI6IjEyNDQwOTAwNDU2NDA4MDYzM18xNjk5IiwianRpIjoiOEFEOTI4QjI0NDlEMjYxRUY2QkIxMkQ1NDU5NzMxMDgiLCJpYXQiOjE3MDE2NTQ2NzIsInNjb3BlIjpbImx5eXkiXSwiYW1yIjpbInB3ZCJdfQ.kLomge8qIEUXPER88g0KGRa6fBuZws9Re8ZnGWgG8IT6eon0qC_UvshqXHuCsSeV8L6h-LfCIS6NbkiOpUXDVjqlLYvyBZXEtwEvsc2xApD2G3icspxyrR2XWwlZMPMJzDL7mzZpoalu_sGlZTFxnjXyWwexPvq9R4JiI0pWCSYqyHMLDGq5bVy9Nvl1Ygtkv-phMHJijSFIKrup0n3m97qN1GZ-ing66IhHDbkQP8I8DXxSyWxylGQvTz-bCxirKTm6hLLQG5SbuaTSOdrRY0kLqU_cvLLD0wGHd0ciB7s64i3K709ENU59aemwSAp-XBfOLzISZV6DfCfg8vxk9A'
}
# 在payload的source查看,
## 把false和true,改为Python中的False和True
= {"searchInput":"","ORG_CODE":"124409004564080633","IN_STATE":"I","IN_DEPT_CODE":"703","Org_Area_Code":"","NURSE_LEVEL":[],"NURSE_LEVEL1":"","CURRENTDATE":"","MASTER_DOCTOR_NAME":[],"MASTER_DOCTOR_NAME1":"","MasterDoctorCodes":[],"SEX":"","BED_NO":"","NAME_PYHEADER":"","SNO":"","NAME":"","IN_CAUSE":"","DIS_STATUS":"","AGE_MIN":0,"AGE_MAX":100,"ADMIT_DATE":"","SKIP":0,"TAKE":24,"SORTTYPE":1,"SORT":1,"PatientType":"inpatient","START_DATE":"","END_DATE":"","Ehrids":[],"IsSearchWardNo":False,"WARD_NO":[""],"SuptDec":True}
params
= requests.post(url, headers=headers, data=json.dumps(params))
res
= {'EHRIDs':[],
patientDict '床号':[],
'管床医生' :[]
}
for patient in json.loads(res.text)['data']:
'EHRIDs'].append(patient['EHRID'])
patientDict['床号'].append(patient['BED_NO'])
patientDict['管床医生'].append(patient['MASTER_DOCTOR_NAME'])
patientDict[
# json.loads(res.text)['data']还有其他一些丰富信息
= pd.DataFrame(patientDict)
patientDF
patientDF
60 查看签署知情同意书
61 > 参数需要EHRID
# 来源: e:/jupterlab/mrqc/智能病历质控.ipynb
import requests
import json
import pandas as pd
# 获取病人EHRID
# > 参数需要"IN_DEPT_CODE"
= 'http://200.100.101.109:8090/consultationapi/center/orgCodeDepartment/124409004564080633/Api/search/patients'
url
= {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36',
headers 'Authorization' :'Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6ImF0K2p3dCJ9.eyJuYmYiOjE3MDE2NTQ2NzIsImV4cCI6MTczMjc1ODY3MiwiaXNzIjoiaHR0cDovLzIwMC4xMDAuMTAxLjEwOTo4MDkwL2NvbnN1bHRhdGlvbmFwaSIsImF1ZCI6WyJseXl5IiwiaHR0cDovLzIwMC4xMDAuMTAxLjEwOTo4MDkwL2NvbnN1bHRhdGlvbmFwaS9yZXNvdXJjZXMiXSwiY2xpZW50X2lkIjoiRnhsVXQ4WDRaaiIsInN1YiI6IjIwNjUiLCJhdXRoX3RpbWUiOjE3MDE2NTQ2NzIsImlkcCI6ImxvY2FsIiwiTG9naW5XYXkiOiIwIiwiVGhpcmRwYXJ0eUlkIjoiLTEiLCJTb3VyY2VUZXJtaW5hbCI6IjEiLCJPcGVhcnRpb25JZCI6IjM2NzAxMDMiLCJyb2xlIjoi5Li05bqK5LiT5a62IiwibmFtZSI6IjEyNDQwOTAwNDU2NDA4MDYzM18xNjk5IiwianRpIjoiOEFEOTI4QjI0NDlEMjYxRUY2QkIxMkQ1NDU5NzMxMDgiLCJpYXQiOjE3MDE2NTQ2NzIsInNjb3BlIjpbImx5eXkiXSwiYW1yIjpbInB3ZCJdfQ.kLomge8qIEUXPER88g0KGRa6fBuZws9Re8ZnGWgG8IT6eon0qC_UvshqXHuCsSeV8L6h-LfCIS6NbkiOpUXDVjqlLYvyBZXEtwEvsc2xApD2G3icspxyrR2XWwlZMPMJzDL7mzZpoalu_sGlZTFxnjXyWwexPvq9R4JiI0pWCSYqyHMLDGq5bVy9Nvl1Ygtkv-phMHJijSFIKrup0n3m97qN1GZ-ing66IhHDbkQP8I8DXxSyWxylGQvTz-bCxirKTm6hLLQG5SbuaTSOdrRY0kLqU_cvLLD0wGHd0ciB7s64i3K709ENU59aemwSAp-XBfOLzISZV6DfCfg8vxk9A'
}
# 在payload的source查看,
## 把false和true,改为Python中的False和True
= {"searchInput":"","ORG_CODE":"124409004564080633","IN_STATE":"I","IN_DEPT_CODE":"703","Org_Area_Code":"","NURSE_LEVEL":[],"NURSE_LEVEL1":"","CURRENTDATE":"","MASTER_DOCTOR_NAME":[],"MASTER_DOCTOR_NAME1":"","MasterDoctorCodes":[],"SEX":"","BED_NO":"","NAME_PYHEADER":"","SNO":"","NAME":"","IN_CAUSE":"","DIS_STATUS":"","AGE_MIN":0,"AGE_MAX":100,"ADMIT_DATE":"","SKIP":0,"TAKE":24,"SORTTYPE":1,"SORT":1,"PatientType":"inpatient","START_DATE":"","END_DATE":"","Ehrids":[],"IsSearchWardNo":False,"WARD_NO":[""],"SuptDec":True}
params
= requests.post(url, headers=headers, data=json.dumps(params))
res
= {'EHRIDs':[],
patientDict '床号':[],
'管床医生' :[]
}
for patient in json.loads(res.text)['data']:
'EHRIDs'].append(patient['EHRID'])
patientDict['床号'].append(patient['BED_NO'])
patientDict['管床医生'].append(patient['MASTER_DOCTOR_NAME'])
patientDict[
# json.loads(res.text)['data']还有其他一些丰富信息
= pd.DataFrame(patientDict)
patientDF
patientDF
# 查看签署知情同意书
# > 参数需要EHRID
def fetchICFbyEHRID(EHRID):
= 'http://200.100.101.109:8090/consultationapi/center/orgCode/124409004564080633/Api/GetData/EmrAgreement'
url
= {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36',
headers 'Authorization' :'Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6ImF0K2p3dCJ9.eyJuYmYiOjE3MDE2NTQ2NzIsImV4cCI6MTczMjc1ODY3MiwiaXNzIjoiaHR0cDovLzIwMC4xMDAuMTAxLjEwOTo4MDkwL2NvbnN1bHRhdGlvbmFwaSIsImF1ZCI6WyJseXl5IiwiaHR0cDovLzIwMC4xMDAuMTAxLjEwOTo4MDkwL2NvbnN1bHRhdGlvbmFwaS9yZXNvdXJjZXMiXSwiY2xpZW50X2lkIjoiRnhsVXQ4WDRaaiIsInN1YiI6IjIwNjUiLCJhdXRoX3RpbWUiOjE3MDE2NTQ2NzIsImlkcCI6ImxvY2FsIiwiTG9naW5XYXkiOiIwIiwiVGhpcmRwYXJ0eUlkIjoiLTEiLCJTb3VyY2VUZXJtaW5hbCI6IjEiLCJPcGVhcnRpb25JZCI6IjM2NzAxMDMiLCJyb2xlIjoi5Li05bqK5LiT5a62IiwibmFtZSI6IjEyNDQwOTAwNDU2NDA4MDYzM18xNjk5IiwianRpIjoiOEFEOTI4QjI0NDlEMjYxRUY2QkIxMkQ1NDU5NzMxMDgiLCJpYXQiOjE3MDE2NTQ2NzIsInNjb3BlIjpbImx5eXkiXSwiYW1yIjpbInB3ZCJdfQ.kLomge8qIEUXPER88g0KGRa6fBuZws9Re8ZnGWgG8IT6eon0qC_UvshqXHuCsSeV8L6h-LfCIS6NbkiOpUXDVjqlLYvyBZXEtwEvsc2xApD2G3icspxyrR2XWwlZMPMJzDL7mzZpoalu_sGlZTFxnjXyWwexPvq9R4JiI0pWCSYqyHMLDGq5bVy9Nvl1Ygtkv-phMHJijSFIKrup0n3m97qN1GZ-ing66IhHDbkQP8I8DXxSyWxylGQvTz-bCxirKTm6hLLQG5SbuaTSOdrRY0kLqU_cvLLD0wGHd0ciB7s64i3K709ENU59aemwSAp-XBfOLzISZV6DfCfg8vxk9A'
}
# 在payload的source查看
= {"EMR_SNO":"","ORG_CODE":["124409004564080633"],"EHRID": EHRID,"MDT_DATE":"","SKIP":0,"TAKE":100}
params
= requests.post(url, headers=headers, data=json.dumps(params))
res
= {'日期':[],
icfDict '知情同意书' :[],
'EHRIDs':[]}
for icf in json.loads(res.text)['data']:
= icf['RECORD_DATE']
RECORD_DATE = icf['RECORD_TOPIC']
RECORD_TOPIC
'日期'].append(RECORD_DATE)
icfDict['知情同意书'].append(RECORD_TOPIC)
icfDict['EHRIDs'].append(EHRID)
icfDict[
= pd.DataFrame(icfDict)
icfDF
return icfDF
if __name__ == "__main__":
= {'EHRIDs':[],
kangfuicfDict '康复治疗同意书':[]
}for EHRID in patientDF.EHRIDs:
= fetchICFbyEHRID(EHRID)
icfDF 'EHRIDs'].append(EHRID)
kangfuicfDict['康复治疗同意书'].append("有" if icfDF.知情同意书.str.contains('康复').sum() > 0 else "无")
kangfuicfDict[
= pd.DataFrame(kangfuicfDict)
kangfuicfDF
kangfuicfDF
# 拼接
= patientDF.merge(kangfuicfDF).drop('EHRIDs', axis=1)
kangfuicfDF_Final '康复治疗同意书签署情况.csv', index=False) kangfuicfDF_Final.to_csv(