Compare commits
1 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
314e904b34 |
|
@ -2,4 +2,4 @@ __pycache__/
|
|||
*.pyc
|
||||
logs
|
||||
venv
|
||||
src/log/session.log
|
||||
data
|
|
@ -4,7 +4,11 @@
|
|||
<content url="file://$MODULE_DIR$">
|
||||
<excludeFolder url="file://$MODULE_DIR$/venv" />
|
||||
</content>
|
||||
<orderEntry type="jdk" jdkName="Python 3.12 (web_arxivorg_script)" jdkType="Python SDK" />
|
||||
<orderEntry type="jdk" jdkName="private" jdkType="Python SDK" />
|
||||
<orderEntry type="sourceFolder" forTests="false" />
|
||||
</component>
|
||||
<component name="PyDocumentationSettings">
|
||||
<option name="format" value="PLAIN" />
|
||||
<option name="myDocStringFormat" value="Plain" />
|
||||
</component>
|
||||
</module>
|
|
@ -3,5 +3,5 @@
|
|||
<component name="Black">
|
||||
<option name="sdkName" value="private" />
|
||||
</component>
|
||||
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.12 (web_arxivorg_script)" project-jdk-type="Python SDK" />
|
||||
<component name="ProjectRootManager" version="2" project-jdk-name="private" project-jdk-type="Python SDK" />
|
||||
</project>
|
|
@ -1,134 +1,92 @@
|
|||
from flask import Blueprint, jsonify, request
|
||||
from ..models import Session, Message
|
||||
from .. import db
|
||||
from . import globals
|
||||
import json,ast
|
||||
# from .report_routes import consultation
|
||||
|
||||
message_routes = Blueprint('message', __name__)
|
||||
|
||||
|
||||
def filter_data(data):
|
||||
return {
|
||||
"content": data.get("content"),
|
||||
"remark": data.get("remark"),
|
||||
"role": data.get("role"),
|
||||
"sessionId": data.get("sessionId")
|
||||
}
|
||||
|
||||
|
||||
def validate_session_id(sessionId):
|
||||
"""验证sessionId是否提供且存在于Session表中"""
|
||||
if not sessionId:
|
||||
return jsonify({"error": "sessionId is required"}), 400
|
||||
session = Session.query.filter_by(id=sessionId).first()
|
||||
if not session:
|
||||
return jsonify({"error": "Session not found"}), 404
|
||||
return None
|
||||
|
||||
|
||||
@message_routes.route('/get-message/<int:sessionId>', methods=['GET'])
|
||||
def get_message(sessionId):
|
||||
"""获取当前用户的所有会话"""
|
||||
validation_result = validate_session_id(sessionId)
|
||||
if validation_result:
|
||||
return validation_result
|
||||
messages = Message.query.filter_by(sessionId=sessionId).all()
|
||||
return jsonify(messages=[message.to_dict() for message in messages]), 200
|
||||
|
||||
|
||||
@message_routes.route('/add-message', methods=['POST'])
|
||||
def add_message():
|
||||
"""添加会话"""
|
||||
data = request.get_json()
|
||||
print("22222222request",request)
|
||||
result = filter_data(data)
|
||||
validation_result = validate_session_id(result["sessionId"]) # 修改为字典访问方式
|
||||
if validation_result:
|
||||
return validation_result
|
||||
if not result["role"]: # 修改为字典访问方式
|
||||
return jsonify({"error": "role is required"}), 400
|
||||
|
||||
new_message = Message(**result)
|
||||
db.session.add(new_message)
|
||||
db.session.commit()
|
||||
return jsonify({'message': 'message added successfully', 'data': new_message.to_dict()}), 201
|
||||
|
||||
|
||||
@message_routes.route('/update-message/<int:messageId>/<int:sessionId>', methods=['PUT'])
|
||||
def update_message(messageId, sessionId):
|
||||
"""更新会话"""
|
||||
print("1111111111111111111request",request)
|
||||
data = request.get_json()
|
||||
remark = data.get("remark") # 修改为字典访问方式
|
||||
validation_result = validate_session_id(sessionId) # 修改为字典访问方式
|
||||
if validation_result:
|
||||
return validation_result # 修改为字典访问方式
|
||||
message = Message.query.filter_by(id=messageId).first() # 修改为字典访问方式
|
||||
if not message: # 修改为字典访问方式
|
||||
return jsonify({"error": "message not found"}), 404 # 修改为字典访问方式
|
||||
if remark:
|
||||
message.remark = remark # 修改为字典访问方式
|
||||
db.session.commit() # 修改为字典访问方式
|
||||
return jsonify({'message': 'message updated successfully'})
|
||||
|
||||
|
||||
@message_routes.route('/to-chat', methods=['POST'])
|
||||
def to_chat():
|
||||
print("请求头:", dict(request.headers)) # 检查Content-Type
|
||||
print("原始字节数据:", request.get_data()) # 检查数据是否合法
|
||||
print("1111111111111111111request",request)
|
||||
# if not request.is_json:
|
||||
# return jsonify({"error": "Content-Type must be application/json"}), 401
|
||||
|
||||
# # 2. 获取外层JSON数据
|
||||
# try:
|
||||
# data = request.json
|
||||
# print("外层JSON数据:", data)
|
||||
# except Exception as e:
|
||||
# return jsonify({"error": f"外层JSON解析失败: {str(e)}"}), 402
|
||||
|
||||
# # 3. 解析嵌套的JSON字符串(msgList和patientInfo)
|
||||
# try:
|
||||
# # 解析msgList(字符串 -> 列表)
|
||||
# msg_list = json.loads(data["msgList"])
|
||||
# print("解析后的msgList:", msg_list)
|
||||
|
||||
# # 解析patientInfo(字符串 -> 字典)
|
||||
# patient_info = json.loads(data["patientInfo"])
|
||||
# print("解析后的patientInfo:", patient_info)
|
||||
|
||||
# except json.JSONDecodeError as e:
|
||||
# return jsonify({"error": f"嵌套JSON解析失败: {str(e)}"}), 403
|
||||
# except KeyError as e:
|
||||
# return jsonify({"error": f"缺少必要字段: {str(e)}"}), 404
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
data = request.json
|
||||
print("1111111111111111111data",data)
|
||||
patientId = data['patientId']
|
||||
msgList = data['msgList']
|
||||
patient_info = data['patientInfo']
|
||||
print("222222222patient_info",patient_info)
|
||||
if len(msgList) == 0:
|
||||
globals.consultation.init_session(patientId,case_data=patient_info)
|
||||
content = None
|
||||
else:
|
||||
content = data['msgList'][-1]['content']
|
||||
print("333333333content",type(content))
|
||||
value, option, system = None, None, None
|
||||
|
||||
cur_card, answer = globals.consultation.qa_chat(patientId, content, msgList)
|
||||
|
||||
if cur_card and cur_card[0] and cur_card[0]['status'] == 'success':
|
||||
value, option, system = cur_card[0]['option_value'], cur_card[1], cur_card[2]
|
||||
|
||||
return jsonify({
|
||||
'answer': answer,
|
||||
'analysis': {
|
||||
'value': value, 'option': option, 'system': system
|
||||
}
|
||||
}), 201
|
||||
from flask import Blueprint, jsonify, request
|
||||
from ..models import Session, Message
|
||||
from .. import db
|
||||
from . import globals
|
||||
# from .report_routes import consultation
|
||||
|
||||
message_routes = Blueprint('message', __name__)
|
||||
|
||||
|
||||
def filter_data(data):
|
||||
return {
|
||||
"content": data.get("content"),
|
||||
"remark": data.get("remark"),
|
||||
"role": data.get("role"),
|
||||
"sessionId": data.get("sessionId")
|
||||
}
|
||||
|
||||
|
||||
def validate_session_id(sessionId):
|
||||
"""验证sessionId是否提供且存在于Session表中"""
|
||||
if not sessionId:
|
||||
return jsonify({"error": "sessionId is required"}), 400
|
||||
session = Session.query.filter_by(id=sessionId).first()
|
||||
if not session:
|
||||
return jsonify({"error": "Session not found"}), 404
|
||||
return None
|
||||
|
||||
|
||||
@message_routes.route('/get-message/<int:sessionId>', methods=['GET'])
|
||||
def get_message(sessionId):
|
||||
"""获取当前用户的所有会话"""
|
||||
validation_result = validate_session_id(sessionId)
|
||||
if validation_result:
|
||||
return validation_result
|
||||
messages = Message.query.filter_by(sessionId=sessionId).all()
|
||||
return jsonify(messages=[message.to_dict() for message in messages]), 200
|
||||
|
||||
|
||||
@message_routes.route('/add-message', methods=['POST'])
|
||||
def add_message():
|
||||
"""添加会话"""
|
||||
data = request.get_json()
|
||||
result = filter_data(data)
|
||||
validation_result = validate_session_id(result["sessionId"]) # 修改为字典访问方式
|
||||
if validation_result:
|
||||
return validation_result
|
||||
if not result["role"]: # 修改为字典访问方式
|
||||
return jsonify({"error": "role is required"}), 400
|
||||
|
||||
new_message = Message(**result)
|
||||
db.session.add(new_message)
|
||||
db.session.commit()
|
||||
return jsonify({'message': 'message added successfully', 'data': new_message.to_dict()}), 201
|
||||
|
||||
|
||||
@message_routes.route('/update-message/<int:messageId>/<int:sessionId>', methods=['PUT'])
|
||||
def update_message(messageId, sessionId):
|
||||
"""更新会话"""
|
||||
data = request.get_json()
|
||||
remark = data.get("remark") # 修改为字典访问方式
|
||||
validation_result = validate_session_id(sessionId) # 修改为字典访问方式
|
||||
if validation_result:
|
||||
return validation_result # 修改为字典访问方式
|
||||
message = Message.query.filter_by(id=messageId).first() # 修改为字典访问方式
|
||||
if not message: # 修改为字典访问方式
|
||||
return jsonify({"error": "message not found"}), 404 # 修改为字典访问方式
|
||||
if remark:
|
||||
message.remark = remark # 修改为字典访问方式
|
||||
db.session.commit() # 修改为字典访问方式
|
||||
return jsonify({'message': 'message updated successfully'})
|
||||
|
||||
|
||||
@message_routes.route('/to-chat/<int:sessionId>', methods=['POST'])
|
||||
def to_chat(sessionId):
|
||||
data = request.get_json()
|
||||
print("33333request.json",request.json)
|
||||
print("对话内容", data)
|
||||
value, option, system = None, None, None
|
||||
print("55555sessionId",sessionId)
|
||||
# globals.consultation.init_session(sessionId, case_data=data)
|
||||
|
||||
|
||||
cur_card, answer = globals.consultation.qa_chat(sessionId, data['content'])
|
||||
if cur_card and cur_card[0] and cur_card[0]['status'] == 'success':
|
||||
value, option, system = cur_card[0]['option_value'], cur_card[1], cur_card[2]
|
||||
|
||||
return jsonify({
|
||||
'answer': answer,
|
||||
'analysis': {
|
||||
'value': value, 'option': option, 'system': system
|
||||
}
|
||||
}), 201
|
||||
|
|
|
@ -27,20 +27,18 @@ import tqdm
|
|||
# open(os.path.join(dir_path, 'basic_info.json'), 'w', encoding='utf-8').write(
|
||||
# json.dumps(basic_info, ensure_ascii=False))
|
||||
|
||||
|
||||
def format_to_report(case_info):
|
||||
convert_info = {}
|
||||
case_path = os.path.dirname(os.path.abspath(__file__))
|
||||
basic_info_json = os.path.join(case_path, "data",'field_name.json')
|
||||
for field, name in json.load(open(basic_info_json, 'r', encoding='utf-8')).items():
|
||||
for field, name in json.load(open('/data1/lingyun/duyongzhe/huaxi-backend-master/src/data/field_name.json', 'r', encoding='utf-8')).items():
|
||||
if name in case_info.keys():
|
||||
convert_info[field] = case_info[name]
|
||||
print(convert_info)
|
||||
value_format_path = os.path.join(case_path, "data",'value_format.json')
|
||||
value_format = json.load(
|
||||
open(value_format_path, 'r', encoding='utf-8'))
|
||||
report_format_path = os.path.join(case_path, "data",'report_format.json')
|
||||
open('/data1/lingyun/duyongzhe/huaxi-backend-master/src/data/value_format.json', 'r', encoding='utf-8'))
|
||||
|
||||
report_format = json.load(
|
||||
open(report_format_path, 'r', encoding='utf-8'))
|
||||
open('/data1/lingyun/duyongzhe/huaxi-backend-master/src/data/report_format.json', 'r', encoding='utf-8'))
|
||||
option_dict = report_format['data']['visitJson']
|
||||
|
||||
for title, sub_title_dict in option_dict.items():
|
||||
|
@ -63,17 +61,6 @@ def format_to_report(case_info):
|
|||
return report_format
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
record_info = json.load(
|
||||
open('data/cases/case1/ai_record.json', 'r', encoding='utf-8'))
|
||||
print(record_info)
|
||||
print(format_to_report(record_info))
|
||||
|
||||
# report_format['data']['visitJson'] = option_dict
|
||||
# report_format['data']['applyId'] = str(uuid.uuid4())
|
||||
# return report_format
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
record_info = json.load(
|
||||
open('data/cases/case1/ai_record.json', 'r', encoding='utf-8'))
|
||||
|
|
|
@ -1,15 +0,0 @@
|
|||
{
|
||||
"患者姓名": "陈勇",
|
||||
"性别": "1",
|
||||
"年龄": "65.0",
|
||||
"身高": "168.0",
|
||||
"体重": "70.0",
|
||||
"术前诊断": "1:脑出血 2:脑出血 3:消化道出血",
|
||||
"拟行手术": "颅内血肿清除术",
|
||||
"血压/收缩压": "108",
|
||||
"血压/舒张压": "79",
|
||||
"呼吸频率": "16.0",
|
||||
"心率": "85.0",
|
||||
"体温": "36.3",
|
||||
"血氧饱和度": "96"
|
||||
}
|
|
@ -1,46 +0,0 @@
|
|||
{
|
||||
"head_p_name": "患者姓名",
|
||||
"head_sex": "性别",
|
||||
"head_age": "年龄",
|
||||
"head_heigth": "身高",
|
||||
"head_weigth": "体重",
|
||||
"head_pd": "术前诊断",
|
||||
"head_po": "拟行手术",
|
||||
"head_bp": "血压/收缩压",
|
||||
"head_bp_after": "血压/舒张压",
|
||||
"head_r": "呼吸频率",
|
||||
"head_hr": "心率",
|
||||
"head_t": "体温",
|
||||
"head_spo2": "血氧饱和度",
|
||||
"cv_cf": "心功能分级",
|
||||
"cv_eq": "运动当量",
|
||||
"cv_hy_grad": "高血压_分级",
|
||||
"cv_hy_tre": "高血压_治疗",
|
||||
"cv_hypo": "高血压_特殊降压药",
|
||||
"cv_hypo_date": "高血压_利血平停药时间",
|
||||
"cv_ihd_ms": "缺血性心脏病_病史",
|
||||
"cv_ihd_zj": "缺血性心脏病_手术",
|
||||
"cv_ihd_check": "缺血性心脏病_检查",
|
||||
"cv_chd": "先天性心脏病",
|
||||
"cv_dc": "扩张性心肌病",
|
||||
"cv_hc": "肥厚性心肌病",
|
||||
"cv_hochf_is": "充血性心力衰竭病史",
|
||||
"cv_pp": "安置起搏器",
|
||||
"cv_ad": "主动脉夹层",
|
||||
"cv_pd": "心包疾病",
|
||||
"rs_vm_bht": "屏气试验分级",
|
||||
"rs_db_grad": "呼吸困难分级",
|
||||
"rs_db_rwbp": "呼吸困难_与体位的关系",
|
||||
"rs_history": "周内呼吸道感染",
|
||||
"rs_copd": "copd",
|
||||
"rs_asthma_scfzrq": "哮喘上次发作日期",
|
||||
"rs_asthma_th": "哮喘_治疗",
|
||||
"rs_pt": "气胸",
|
||||
"rs_pe_is": "胸腔积液",
|
||||
"rs_si": "吸烟指数(每天吸烟支数x吸烟年数)",
|
||||
"rs_ss": "戒烟",
|
||||
"ns_hos": "卒中病史",
|
||||
"ns_hotia_time": "短暂脑缺血发作病史时间",
|
||||
"ns_ib": "颅内出血",
|
||||
"ns_dianxian": "癫痫"
|
||||
}
|
|
@ -1,778 +0,0 @@
|
|||
{
|
||||
"bs_code": "",
|
||||
"data": {
|
||||
"applyId": "61a0ba93bc2f65e102da",
|
||||
"userId": "85f0fd4436dfddef0038",
|
||||
"ipiNo": " ",
|
||||
"status": 8,
|
||||
"templateId": "8bde1d0ca44805360001",
|
||||
"viewType": "BZ",
|
||||
"clientType": "web",
|
||||
"visitJson": {
|
||||
"head": {
|
||||
"head_tzwc": 1,
|
||||
"head_pcly": "",
|
||||
"head_sche_date": "2025-03-22",
|
||||
"head_p_name": "未知",
|
||||
"head_sex": 9,
|
||||
"head_birthday": "",
|
||||
"head_age": "",
|
||||
"head_hn": " 111",
|
||||
"head_heigth": "",
|
||||
"head_sgwc": 1,
|
||||
"head_weigth": "",
|
||||
"head_bn": "",
|
||||
"head_dm": " ",
|
||||
"head_bp": "",
|
||||
"head_bp_after": "",
|
||||
"head_r": "",
|
||||
"head_hr": "",
|
||||
"head_t": "",
|
||||
"head_twwc": 0,
|
||||
"head_spo2": "",
|
||||
"head_pd": " ",
|
||||
"head_po": "",
|
||||
"head_mzfs": "",
|
||||
"head_po_mz_text": "",
|
||||
"head_add": [],
|
||||
"head_add_other": "",
|
||||
"head_jiorze": 1,
|
||||
"head_sfysf": "",
|
||||
"head_sfyz": "",
|
||||
"head_pfzb": 0,
|
||||
"head_kss": 0,
|
||||
"head_lastfeedtime": "",
|
||||
"head_jybs": "",
|
||||
"head_buxiang": 1,
|
||||
"head_idcard": "",
|
||||
"head_national": "",
|
||||
"head_national_other": "",
|
||||
"head_my_phone": "",
|
||||
"head_one_phone": "",
|
||||
"head_two_phone": "",
|
||||
"head_relation1": "",
|
||||
"head_relation2": "",
|
||||
"head_relation1_other": "",
|
||||
"head_relation2_other": "",
|
||||
"head_vsa_no": "",
|
||||
"head_rvsa": "",
|
||||
"head_mvsa": "",
|
||||
"ifAge": 1,
|
||||
"head_persId": "",
|
||||
"head_career": "",
|
||||
"head_education": "",
|
||||
"deptId": "",
|
||||
"ipiId": ""
|
||||
},
|
||||
"child": {
|
||||
"child_renchen_is": "",
|
||||
"child_renchen_text": "",
|
||||
"child_fenmian": "",
|
||||
"child_fenmian_kunnan": 1,
|
||||
"child_yunzhou": "",
|
||||
"child_yunzhou_text": "",
|
||||
"child_weight": "",
|
||||
"child_apgar": "",
|
||||
"child_apgar_unknown": 1,
|
||||
"child_icu": 1,
|
||||
"child_icu_text": "",
|
||||
"child_fayu_is": 1,
|
||||
"child_fayu_text": "",
|
||||
"child_mental_state": "",
|
||||
"child_mental_state_descript": "",
|
||||
"child_intelligence_defects": "",
|
||||
"child_bs": [],
|
||||
"child_bs_text": ""
|
||||
},
|
||||
"yb": {
|
||||
"yb_generally": "",
|
||||
"yb_generally_sm1": "",
|
||||
"yb_generally_sm2": "",
|
||||
"yb_generally_sm3": "",
|
||||
"yb_weak_state": [],
|
||||
"yb_sqhbjb": "",
|
||||
"yb_otherDescribe": ""
|
||||
},
|
||||
"cv": {
|
||||
"cv_hy_no": 1,
|
||||
"cv_cf_no": 1,
|
||||
"cv_cf": "",
|
||||
"cv_eq_no": 1,
|
||||
"cv_eq": "",
|
||||
"cv_edg_nocheck": 2,
|
||||
"cv_edg": "",
|
||||
"cv_edg_text": "",
|
||||
"cv_ac_lv": "",
|
||||
"cv_ac_rv": "",
|
||||
"cv_ac_sv": "",
|
||||
"cv_ac_ef": "",
|
||||
"cv_ac_pas": "",
|
||||
"cv_ac_co": "",
|
||||
"cv_ac_other_discript": "",
|
||||
"cv_hy_is": "",
|
||||
"cv_hy_grad": "",
|
||||
"cv_hy_tre": "",
|
||||
"cv_hypo": [],
|
||||
"cv_hypo_date": "",
|
||||
"cv_hypo_other_discript": "",
|
||||
"cv_ihd_ms": "",
|
||||
"cv_ihd_zj": [],
|
||||
"cv_ihd_yw": "",
|
||||
"cv_ihd_yw_y": "",
|
||||
"cv_ihd_xgbs": "",
|
||||
"cv_ihd_zjsh": "",
|
||||
"cv_ihd_plzj": "",
|
||||
"cv_ihd_fzjc": "",
|
||||
"cv_hvd_zlfs": "",
|
||||
"cv_hochf_zlsj": "",
|
||||
"cv_hochf_yyqk": "",
|
||||
"cv_ihd_check": "",
|
||||
"cv_hvd_che": 1,
|
||||
"cv_chdoth": "",
|
||||
"cv_chdkq": "",
|
||||
"cv_chdkq_zz": "",
|
||||
"cv_chdkq_zl": "",
|
||||
"cv_dcth": "",
|
||||
"cv_hcth": "",
|
||||
"cv_hvd": [],
|
||||
"cv_chd": "",
|
||||
"cv_dc_is": 1,
|
||||
"cv_hc": "",
|
||||
"cv_hckq": "",
|
||||
"cv_hckq_zz": "",
|
||||
"cv_hochf_is": 1,
|
||||
"cv_hochf_scfzrq": "",
|
||||
"cv_hochf_zz": [],
|
||||
"cv_hochf_jcb": [],
|
||||
"cv_hochf_zz_hxkn": [],
|
||||
"cv_hochf_fzjc": "",
|
||||
"cv_hochf_zlqk": "",
|
||||
"cv_arr_d": [],
|
||||
"cv_arr_z": [],
|
||||
"cv_arr_g": [],
|
||||
"cv_arr_xyx": "",
|
||||
"cv_arr_is": "",
|
||||
"cv_pp": "",
|
||||
"cv_pdate": "",
|
||||
"cv_jqcj": "",
|
||||
"cv_jqcjdate": "",
|
||||
"cv_ad": "",
|
||||
"cv_adqk": "",
|
||||
"cv_emb_ss_dm": [],
|
||||
"cv_emb_ss_gdmzy": [],
|
||||
"cv_emb_ss_dm_other": "",
|
||||
"cv_emb_ss_jm": [],
|
||||
"cv_emb_ss_jnjmzy": [],
|
||||
"cv_emb_ss_gjmzy": [],
|
||||
"cv_emb_ss_jm_other": "",
|
||||
"cv_emb_xy_dm": [],
|
||||
"cv_emb_xy_dm_other": "",
|
||||
"cv_emb_xy_jdmzy": [],
|
||||
"cv_emb_xy_sdmzy": [],
|
||||
"cv_emb_xy_jm": [],
|
||||
"cv_emb_xy_jm_other": "",
|
||||
"cv_pd": "",
|
||||
"cv_xjy": 1,
|
||||
"cv_xbts": 1,
|
||||
"cv_xztzjg": "",
|
||||
"cv_otherDescribe": "",
|
||||
"cv_arr_jcbw": [],
|
||||
"cv_jcbw_other": "",
|
||||
"cv_aad": "",
|
||||
"cv_ac_la": "",
|
||||
"cv_ac_ra": "",
|
||||
"cv_ac_ivs": "",
|
||||
"cv_ac_lvpw": "",
|
||||
"cv_ex_lv": "",
|
||||
"cv_dw_lv": "",
|
||||
"cv_ef_ra": "",
|
||||
"cv_fd_my": "",
|
||||
"cv_pf": "",
|
||||
"cv_embqk": "",
|
||||
"cv_emb_ssqk": "",
|
||||
"cv_ie": 1,
|
||||
"cv_iabp": 1,
|
||||
"cv_hld": 1,
|
||||
"cv_hld_input": "",
|
||||
"cv_cas": "",
|
||||
"cv_is_csi": "",
|
||||
"cv_csi": [],
|
||||
"cv_csi_other": "",
|
||||
"cv_oc_hour": "",
|
||||
"cv_oc_day": "",
|
||||
"cv_oc_week": "",
|
||||
"cv_Oral_bleeding": "",
|
||||
"cv_squatting": "",
|
||||
"cv_sweat": "",
|
||||
"cv_murmur": "",
|
||||
"cv_murmur_parts": "",
|
||||
"cv_murmur_nature": "",
|
||||
"cv_rtcp": "",
|
||||
"cv_xztz": [],
|
||||
"cv_xztz_other": "",
|
||||
"cv_dc": ""
|
||||
},
|
||||
"rs": {
|
||||
"rs_vm": 1,
|
||||
"rs_vm_bht_no": 1,
|
||||
"rs_vm_bht": "",
|
||||
"rs_db_grad": "",
|
||||
"rs_db_rwbp": "",
|
||||
"rs_db_bj": "",
|
||||
"rs_history": 1,
|
||||
"rs_othString": "",
|
||||
"rs_copd": "",
|
||||
"rs_asthma_scfzrq": "",
|
||||
"rs_asthma_th": "",
|
||||
"rs_asthma_thqk": "",
|
||||
"rs_asthma_szqk": [],
|
||||
"rs_pt": [],
|
||||
"rs_pe_is": 1,
|
||||
"rs_pe": [],
|
||||
"rs_si": "",
|
||||
"rs_siy": "",
|
||||
"rs_siz": "",
|
||||
"rs_ss": "",
|
||||
"rs_pf_fvc": "",
|
||||
"rs_pf_fev1": "",
|
||||
"rs_fgnString": "",
|
||||
"rs_bga_pao2": "",
|
||||
"rs_bga_paco2": "",
|
||||
"rs_bga_sao2": "",
|
||||
"rs_bga_ph": "",
|
||||
"rs_bga_la": "",
|
||||
"rs_bga_fio2": 21,
|
||||
"rs_liangzhou": 1,
|
||||
"rs_shxdgr": 1,
|
||||
"rs_feiyan": 1,
|
||||
"rs_feibuzhang": 1,
|
||||
"rs_qgsgl": 1,
|
||||
"rs_zqgxml": 1,
|
||||
"rs_fbtzjg": "",
|
||||
"rs_otherDescribe": "",
|
||||
"rs_lu_boh": 1,
|
||||
"rs_num": "",
|
||||
"rs_onset": "",
|
||||
"rs_breathRegular_is": "",
|
||||
"rs_breathSoundsNormal": "",
|
||||
"rs_rale": "",
|
||||
"rs_rale_location": "",
|
||||
"rs_coughOrRunnyNose": "",
|
||||
"rs_bph": "",
|
||||
"rs_pulmonary_cyst": "",
|
||||
"rs_pst": "",
|
||||
"rs_fbtz": [],
|
||||
"rs_fbtz_other": ""
|
||||
},
|
||||
"ns": {
|
||||
"ns_state": 0,
|
||||
"ns_gcs": 15,
|
||||
"ns_statebx": 0,
|
||||
"ns_hos": "",
|
||||
"ns_ssqk": "",
|
||||
"ns_hotia_time": "",
|
||||
"ns_ib": [],
|
||||
"ns_cxssqk": "",
|
||||
"ns_ih": 1,
|
||||
"ns_isol": "",
|
||||
"ns_phs": "",
|
||||
"ns_spine": [],
|
||||
"ns_sshistory_descript": "",
|
||||
"ns_st_descript": "",
|
||||
"ns_lsis_descript": "",
|
||||
"ns_bp": 1,
|
||||
"ns_mca": [],
|
||||
"ns_mca_other": "",
|
||||
"ns_zlqk": "",
|
||||
"ns_syyw": "",
|
||||
"ns_mqqk": "",
|
||||
"ns_jt": "",
|
||||
"ns_other": [],
|
||||
"ns_dianxian": 1,
|
||||
"ns_dianxian_other": "",
|
||||
"ns_lngr": 1,
|
||||
"ns_otherDescribe": "",
|
||||
"ns_calm_state": 0,
|
||||
"ns_hpg": "",
|
||||
"ns_prs": "",
|
||||
"ns_msl_left": "",
|
||||
"ns_msl_right": "",
|
||||
"ns_dystonia": "",
|
||||
"ns_dystonia_descript": "",
|
||||
"ns_barriers": "",
|
||||
"ns_barriers_descript": "",
|
||||
"ns_epilepsy": "",
|
||||
"ns_epilepsy_hz": "",
|
||||
"ns_epilepsy_treat": "",
|
||||
"ns_epilepsy_cp": "",
|
||||
"ns_nmsdisease": "",
|
||||
"ns_nmsdisease_descript": "",
|
||||
"ns_vims": ""
|
||||
},
|
||||
"ems": {
|
||||
"ems_hyp_other": "",
|
||||
"ems_hyp_tsh": "",
|
||||
"ems_dia_no": 1,
|
||||
"ems_hyp_se": "",
|
||||
"ems_hyp_ft3": "",
|
||||
"ems_hyp_ft4": "",
|
||||
"ems_hyp_tre": "",
|
||||
"ems_dia_contrl": [],
|
||||
"ems_pct": "",
|
||||
"ems_pct_status": "",
|
||||
"ems_szjsqfz": 1,
|
||||
"ems_otherDescribe": "",
|
||||
"ems_hyp_trh": "",
|
||||
"ems_dia_is": "",
|
||||
"ems_dia_treat": "",
|
||||
"ems_dia_treatplan": "",
|
||||
"ems_cortin": "",
|
||||
"ems_cortisol": "",
|
||||
"ems_Aldo": "",
|
||||
"ems_cortin_treat": "",
|
||||
"ems_cortin_treatplan": "",
|
||||
"ems_dia_hba1c": "",
|
||||
"ems_dia_bsl": ""
|
||||
},
|
||||
"abli": {
|
||||
"abli_gz_sl": "",
|
||||
"abli_gz_sl_other": "",
|
||||
"abli_hbyh_is": 1,
|
||||
"abli_al": "",
|
||||
"abli_bl": "",
|
||||
"abli_ppt": "",
|
||||
"abli_ascites": "",
|
||||
"abre_sz_sl": "",
|
||||
"abre_sz_sl_other": "",
|
||||
"abre_staging": "",
|
||||
"abre_dialysis": "",
|
||||
"abre_law": "",
|
||||
"abli_otherDescribe": "",
|
||||
"abli_urea": "",
|
||||
"abli_uti": "",
|
||||
"abli_portalHypertension": "",
|
||||
"abli_biat": "",
|
||||
"abli_cyst": "",
|
||||
"abli_ihs": "",
|
||||
"abli_hdkd": ""
|
||||
},
|
||||
"ds": {
|
||||
"ds_ob_history": [],
|
||||
"ds_sg_is": 1,
|
||||
"ds_xhx_is": 1,
|
||||
"ds_jj_is": 1,
|
||||
"ds_jj_date": "",
|
||||
"ds_xtxsdbs": "",
|
||||
"ds_other": [],
|
||||
"ds_otherDescribe": "",
|
||||
"ds_yj_year": "",
|
||||
"ds_yj_avg": "",
|
||||
"ds_cxs_is": 1
|
||||
},
|
||||
"bs": {
|
||||
"bs_redca": "",
|
||||
"bs_whiteca": "",
|
||||
"bs_pa": "",
|
||||
"bs_ac": [],
|
||||
"bs_obd": [],
|
||||
"bs_obd_otherDescript": "",
|
||||
"bs_otherDescribe": "",
|
||||
"bs_lymphoma": "",
|
||||
"bs_vwd": "",
|
||||
"bs_tissuediseases": ""
|
||||
},
|
||||
"ah": {
|
||||
"ah_no": 1,
|
||||
"ah_bp": [],
|
||||
"ah_bp_other": "",
|
||||
"ah_drug": [],
|
||||
"ah_drug_other": "",
|
||||
"ah_food": [],
|
||||
"ah_food_other": "",
|
||||
"ah_other": [],
|
||||
"ah_other_other": "",
|
||||
"ah_gmbx": [],
|
||||
"ah_gmbx_other": "",
|
||||
"ah_mygnza": [],
|
||||
"ah_zsmyxjb": [],
|
||||
"ah_otherDescribe": ""
|
||||
},
|
||||
"preg": {
|
||||
"preg_week": "",
|
||||
"preg_hap": [],
|
||||
"preg_hap_other": "",
|
||||
"preg_otherDescribe": "",
|
||||
"preg_ispreg": "",
|
||||
"preg_week_other": ""
|
||||
},
|
||||
"aira": {
|
||||
"aira_ahi": "",
|
||||
"aira_pdvdih": 1,
|
||||
"aira_intub": 1,
|
||||
"aira_lower_no": 1,
|
||||
"aira_lower": 1,
|
||||
"aira_mall_is": 1,
|
||||
"aira_mall": "",
|
||||
"aira_me_no": 1,
|
||||
"aira_me": 1,
|
||||
"aira_na_no": 1,
|
||||
"aira_na": "",
|
||||
"aira_sas_hz": "",
|
||||
"aira_sas": "",
|
||||
"aira_sas_now": "",
|
||||
"aira_tro": [],
|
||||
"aira_tro_input": "",
|
||||
"aira_gjhdd": [],
|
||||
"aira_gjhdd_input": "",
|
||||
"aira_kqzl": [],
|
||||
"aira_kqzl_input": "",
|
||||
"aira_mbws": [],
|
||||
"aira_mbws_input": "",
|
||||
"aira_xtjx": [],
|
||||
"aira_xtjx_input": "",
|
||||
"aira_djxgr": [],
|
||||
"aira_djxgr_input": "",
|
||||
"aira_qt": [],
|
||||
"aira_lro": [],
|
||||
"aira_lro_input": "",
|
||||
"aira_zg": [],
|
||||
"aira_zg_zw": [],
|
||||
"aira_zg_nz": [],
|
||||
"aira_rog": "",
|
||||
"aira_da_no": 1,
|
||||
"aira_da_istrue": 1,
|
||||
"aira_da": [],
|
||||
"aira_yachi": [
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0
|
||||
],
|
||||
"aira_otherDescribe": "",
|
||||
"aira_gas": "",
|
||||
"aira_smd": "",
|
||||
"aira_harelip": "",
|
||||
"aira_na_zc": 1
|
||||
},
|
||||
"tumor": {
|
||||
"tumor_is": "",
|
||||
"tumor_character": "",
|
||||
"tumor_liveness": "",
|
||||
"tumor_liveness_descript": "",
|
||||
"tumor_chemo": "",
|
||||
"tumor_site": ""
|
||||
},
|
||||
"mzjz": {
|
||||
"mzjz_no": 1,
|
||||
"mzjz_scmzrq": "",
|
||||
"mzjz_scmzrq_opt": "",
|
||||
"mzjz_ssfs": "",
|
||||
"mzjz_sfxzss": "",
|
||||
"mzjz_mzfs": [],
|
||||
"mzjz_mzfs_other": "",
|
||||
"mzjz_shex": "",
|
||||
"mzjz_qita": [],
|
||||
"mzjz_qita_text": "",
|
||||
"mzjz_gaore": 1,
|
||||
"mzjz_otherDescribe": "",
|
||||
"mzjz_transplantation": "",
|
||||
"mzjz_scmzrq1": "",
|
||||
"mzjz_scmzrq_opt1": "",
|
||||
"mzjz_ssfs1": "",
|
||||
"mzjz_sfxzss1": "",
|
||||
"mzjz_mzfs1": [],
|
||||
"mzjz_mzfs_other1": "",
|
||||
"mzjz_shex1": "",
|
||||
"mzjz_qita1": [],
|
||||
"mzjz_qita_text1": "",
|
||||
"mzjz_scmzrq2": "",
|
||||
"mzjz_scmzrq_opt2": "",
|
||||
"mzjz_ssfs2": "",
|
||||
"mzjz_sfxzss2": "",
|
||||
"mzjz_mzfs2": [],
|
||||
"mzjz_mzfs_other2": "",
|
||||
"mzjz_shex2": "",
|
||||
"mzjz_qita2": [],
|
||||
"mzjz_qita_text2": ""
|
||||
},
|
||||
"spdg": {
|
||||
"spdg_kxlsj": [],
|
||||
"spdg_kxlsj_other": "",
|
||||
"spdg_knkx": [],
|
||||
"spdg_knkx_fhl_date": "",
|
||||
"spdg_knkx_aspl_date": "",
|
||||
"spdg_knkx_lbgl_date": "",
|
||||
"spdg_asthma_glu": 1,
|
||||
"spdg_dayhmyz": [],
|
||||
"spdg_dayhmyz_byj_date": "",
|
||||
"spdg_dayhmyz_xflm_date": "",
|
||||
"spdg_dayhmyz_tlst_date": "",
|
||||
"spdg_ywly": [],
|
||||
"spdg_zlzl": [],
|
||||
"spdg_otherDescribe": "",
|
||||
"spdg_diu": [],
|
||||
"spdg_diu_text": "",
|
||||
"spdg_diuji": [],
|
||||
"spdg_analgesic_drugs": [],
|
||||
"spdg_effect_antibiotic": "",
|
||||
"spdg_effect_antibiotic_other": "",
|
||||
"spdg_xsyz": [],
|
||||
"spdg_xsyz_fhl_date": "",
|
||||
"spdg_stjk": [],
|
||||
"spdg_stjk_fhl_date": "",
|
||||
"spdg_stjkt_aspl_date": "",
|
||||
"spdg_xxbjk": [],
|
||||
"spdg_xxbjk_fhl_date": "",
|
||||
"spdg_xxbjkt_fhl_date": "",
|
||||
"spdg_dbmjk": [],
|
||||
"spdg_dbmjk_fhl_date": "",
|
||||
"spdg_sdysw": [],
|
||||
"spdg_sdysw_fhl_date": "",
|
||||
"spdg_nyyzj": [],
|
||||
"spdg_nyyzj_fhl_date": "",
|
||||
"spdg_nyyzjt_fhl_date": ""
|
||||
},
|
||||
"gz": {
|
||||
"gz_is": "",
|
||||
"gz_baolu": [],
|
||||
"gz_linchuang": [],
|
||||
"gz_hesuan": "",
|
||||
"gz_kangti": "",
|
||||
"gz_jiancha": [],
|
||||
"gz_otherDescribe": "",
|
||||
"gz_his": [],
|
||||
"gz_wzz": "",
|
||||
"gz_lcbx": [],
|
||||
"gz_zlyy": []
|
||||
},
|
||||
"tsgr": {
|
||||
"tsgr_grbw": [],
|
||||
"tsgr_grbw_other": "",
|
||||
"tsgr_sfhd": 1,
|
||||
"tsgr_khzj": 1,
|
||||
"tsgr_hiv": "",
|
||||
"tsgr_text": "",
|
||||
"tsgr_rlgr": 1,
|
||||
"tsgr_psf": 1,
|
||||
"tsgr_nyjgr": [],
|
||||
"tsgr_nyjgr_other": "",
|
||||
"tsgr_othertext": ""
|
||||
},
|
||||
"other": {
|
||||
"other_text": "",
|
||||
"other_szjcjg": "",
|
||||
"other_jzjcjg": "",
|
||||
"other_fbjcjg": "",
|
||||
"other_qgjcjg": "",
|
||||
"other_ycjcjg": "",
|
||||
"other_summaryDescribe": ""
|
||||
},
|
||||
"nav": {
|
||||
"nav_woman_is": "",
|
||||
"nav_smoke_is": "",
|
||||
"nav_ponv_is": "",
|
||||
"nav_Opioids_used": "",
|
||||
"nav_yds_is": ""
|
||||
},
|
||||
"lck": {
|
||||
"lck_wy": "",
|
||||
"lck_os_is": 1,
|
||||
"lck_os_date": "",
|
||||
"lck_alb": "",
|
||||
"lck_ast": "",
|
||||
"lck_alt": "",
|
||||
"lck_tb": "",
|
||||
"lck_k": "",
|
||||
"lck_creat": "",
|
||||
"lck_bs": "",
|
||||
"lck_linba": "",
|
||||
"lck_hba1c": "",
|
||||
"lck_probnp": "",
|
||||
"lck_wbc": "",
|
||||
"lck_hct": "",
|
||||
"lck_pla": "",
|
||||
"lck_pt": "",
|
||||
"lck_abo": 5,
|
||||
"lck_aptt": "",
|
||||
"lck_rh": 3,
|
||||
"lck_inr": "",
|
||||
"lck_jgdb": "",
|
||||
"lck_lbxb": "",
|
||||
"lck_zxlxb": "",
|
||||
"lck_jgsy": "",
|
||||
"lck_sx_is": 1,
|
||||
"lck_hivcom": 3,
|
||||
"lck_tpclia": 3,
|
||||
"lck_trust": 3,
|
||||
"lck_ahcv": 3,
|
||||
"lck_hbsag": 3,
|
||||
"lck_hbsab": 3,
|
||||
"lck_hbeag": 3,
|
||||
"lck_hbeab": 3,
|
||||
"lck_hbcab": 3,
|
||||
"lck_erjuti": "",
|
||||
"lck_xcgjcjg": "",
|
||||
"lck_ncgjcjg": "",
|
||||
"lck_nxgnjcjg": "",
|
||||
"lck_ggnjcjg": "",
|
||||
"lck_xqfxjcjg": "",
|
||||
"lck_rbc": "",
|
||||
"lck_avn": "",
|
||||
"lck_fbg": "",
|
||||
"lck_cs": "",
|
||||
"lck_tc": "",
|
||||
"lck_ldi": "",
|
||||
"lck_hdi": "",
|
||||
"lck_dsc": "",
|
||||
"lck_crp": "",
|
||||
"lck_urea": "",
|
||||
"lck_egfr": ""
|
||||
},
|
||||
"imaging": {
|
||||
"imaging_xx": "",
|
||||
"imaging_ct": "",
|
||||
"imaging_cgz": "",
|
||||
"imaging_ultrasound": "",
|
||||
"imaging_hyx": ""
|
||||
},
|
||||
"zh": {
|
||||
"zh_is_icu": "",
|
||||
"zh_ara_asa": "",
|
||||
"zh_ara_e": 2,
|
||||
"zh_sra_bu": [],
|
||||
"zh_sra_xg": [],
|
||||
"zh_sra_xz": [],
|
||||
"zh_sra_tos": [],
|
||||
"zh_sra_eot": "",
|
||||
"zh_sra_sxl": "",
|
||||
"zh_sra_ebl": "",
|
||||
"zh_sra_sm": "",
|
||||
"zh_hxsra_score": 0,
|
||||
"zh_sra_mzjh": [
|
||||
1
|
||||
],
|
||||
"zh_sra_fzcs": [],
|
||||
"zh_sra_fzcsother": "",
|
||||
"zh_sra_nxyw": [],
|
||||
"zh_sra_nxywother": "",
|
||||
"zh_sra_jcxm": [],
|
||||
"zh_sra_jcxmother": "",
|
||||
"zh_sra_ywsb": [],
|
||||
"zh_sra_ywsbother": "",
|
||||
"zh_sra_mzjhqs": "",
|
||||
"zh_sra_mzjhzg": [],
|
||||
"zh_zt_apply": "",
|
||||
"zh_zt_hbz": [],
|
||||
"zh_zt_hbz_other": "",
|
||||
"zh_zt_gms": "",
|
||||
"zh_zt_sx": 1,
|
||||
"zh_zt_type": "",
|
||||
"zh_sra_orderICU": 1,
|
||||
"zh_sra_czjy1": "术后恶心呕吐发生风险较高。",
|
||||
"zh_sra_czjy2": "否",
|
||||
"zh_sra_czjyxx": "",
|
||||
"zh_sra_yy": "",
|
||||
"zh_sra_order": [],
|
||||
"zh_sqmzyz": "",
|
||||
"zh_mzsyz": "",
|
||||
"zh_sra_ops": ""
|
||||
},
|
||||
"bot": {
|
||||
"bot_ep": "测试授权",
|
||||
"bot_ep_date": "2025-03-22",
|
||||
"bot_ap": "测试授权",
|
||||
"bot_ap_date": "2025-03-22",
|
||||
"bot_report": "测试授权",
|
||||
"bot_report_date": "2025-03-22",
|
||||
"bot_mzysdm": ""
|
||||
},
|
||||
"jc": {
|
||||
"jc_xbxxjcjg": "",
|
||||
"jc_ctjcjg": "",
|
||||
"jc_bcjcjg": "",
|
||||
"jc_mrijcjg": "",
|
||||
"jc_fgnjcjg": "",
|
||||
"jc_ybzkjcjg": "",
|
||||
"back_up": ""
|
||||
},
|
||||
"anap": {
|
||||
"anap_zttype": "",
|
||||
"anap_ztywfyls1": "",
|
||||
"anap_ztywfyls2": ""
|
||||
},
|
||||
"qitaJC": {
|
||||
"qitaJC_01_01_history_text": ""
|
||||
},
|
||||
"hlqt": {
|
||||
"hlqt_pfzk": "",
|
||||
"hlqt_xgzk": "",
|
||||
"hlqt_tl": "",
|
||||
"hlqt_sl": "",
|
||||
"hlqt_yynl": "",
|
||||
"hlqt_ljnl": "",
|
||||
"hlqt_bqqx": "",
|
||||
"hlqt_hdzk": "",
|
||||
"hlqt_yszk": "",
|
||||
"hlqt_sss": "",
|
||||
"hlqt_sss_text": "",
|
||||
"hlqt_gms": "",
|
||||
"hlqt_gms_text": "",
|
||||
"hlqt_tnbs": "",
|
||||
"hlqt_tnbs_text": "",
|
||||
"hlqt_xzbs": "",
|
||||
"hlqt_xzbs_text": "",
|
||||
"hlqt_knj": "",
|
||||
"hlqt_knj_text": "",
|
||||
"hlqt_adyw": "",
|
||||
"hlqt_adyw_text": "",
|
||||
"hlqt_lnj": "",
|
||||
"hlqt_lnj_text": "",
|
||||
"hlqt_zthhw": "",
|
||||
"hlqt_zthhw_text": "",
|
||||
"hlqt_jyy": "",
|
||||
"hlqt_jyy_text": "",
|
||||
"hlqt_ssbw": [],
|
||||
"hlqt_sstw": [],
|
||||
"hlqt_dsszq": "",
|
||||
"hlqt_dttlj": "",
|
||||
"hlqt_ssjscd": "",
|
||||
"hlqt_jrzcqk": "",
|
||||
"hlqt_hzjjqk": "",
|
||||
"hlqt_hzfffs": "",
|
||||
"hlqt_smdf": "/"
|
||||
},
|
||||
"isxiangya": false
|
||||
},
|
||||
"remark": "{\"ztb_method\":\"\",\"ztbMethod\":\"\",\"ztb_type\":\"\",\"fhl\":\"\",\"cxl\":\"\",\"zkl\":\"\",\"min\":\"\",\"diluent\":\"\",\"diluentDose\":\"\",\"diluentCmc\":\"\",\"singleDoseUnitTxt\":\"\",\"diluentDoseMaxValue\":\"\"}",
|
||||
"hospital": "RSS20171211000000001",
|
||||
"personIdentId": " "
|
||||
}
|
||||
}
|
|
@ -1,233 +0,0 @@
|
|||
{
|
||||
"预问诊_高血压": {
|
||||
"必问": 1,
|
||||
"模板": [
|
||||
"您有高血压吗?"
|
||||
],
|
||||
"标准化样例": [
|
||||
"是",
|
||||
"否",
|
||||
"不清楚"
|
||||
]
|
||||
},
|
||||
"预问诊_胸痛": {
|
||||
"必问": 1,
|
||||
"模板": [
|
||||
"您常感觉胸痛或心跳不规则吗?"
|
||||
],
|
||||
"标准化样例": [
|
||||
"是",
|
||||
"否",
|
||||
"不清楚"
|
||||
]
|
||||
},
|
||||
"预问诊_心梗": {
|
||||
"必问": 1,
|
||||
"模板": [
|
||||
"您曾经有心梗吗?"
|
||||
],
|
||||
"标准化样例": [
|
||||
"是",
|
||||
"否",
|
||||
"不清楚"
|
||||
]
|
||||
},
|
||||
"预问诊_安放起搏器": {
|
||||
"必问": 1,
|
||||
"模板": [
|
||||
"您有安放心脏起搏器吗?"
|
||||
],
|
||||
"标准化样例": [
|
||||
"是",
|
||||
"否",
|
||||
"不清楚"
|
||||
]
|
||||
},
|
||||
"充血性心力衰竭病史": {
|
||||
"必问": 1,
|
||||
"模板": [
|
||||
"您曾经有心衰吗?"
|
||||
],
|
||||
"标准化样例": [
|
||||
"是",
|
||||
"否",
|
||||
"不清楚"
|
||||
]
|
||||
},
|
||||
"心功能分级": {
|
||||
"必问": 1,
|
||||
"模板": [
|
||||
"您平时活动时是否有胸口痛、胸闷、心慌、喘不上气来或容易疲劳?",
|
||||
"晚上睡觉的时候有没有突然憋醒,感觉喘不过气来?",
|
||||
"平常散步、做家务有没有感到疲劳或不适?",
|
||||
"休息后心累或呼吸困难是否缓解?"
|
||||
],
|
||||
"标准化样例": [
|
||||
"1级 体力活动不受限制。一般体力活动不引起过度续劳、心悸、气喘或心绞痛",
|
||||
"2级 体力活动轻度受限制。休息时无症状,一般体力活动引起过度疲劳、心悸、气喘或心绞痛",
|
||||
"3级 体力活动明显受限制。休息时无症状,但小于一般体力活动即可引过度疲劳、心悸、气喘或心绞痛",
|
||||
"4级 不能从事任何体力劳动,休息状态下也出现心衰症状,体力活动后加重"
|
||||
]
|
||||
},
|
||||
"运动当量": {
|
||||
"必问": 1,
|
||||
"模板": [
|
||||
"您一般走平路不休息能走多远? ",
|
||||
"您平时能轻松完成哪类活动?比如爬楼梯能爬几层?能跳广场舞或者做家务吗?"
|
||||
],
|
||||
"标准化样例": [
|
||||
">6MET 可耐受慢跑、跳绳等较高强度的身体训练",
|
||||
"3-6MET 可胜任日常家务工作或骑自行车",
|
||||
"<3MET 仅能从事文书工作或缓慢步行"
|
||||
]
|
||||
},
|
||||
"循环系统/心脏总体评估": {
|
||||
"必问": 1,
|
||||
"模板": [
|
||||
"您有没有心脏方面的问题?如高血压、冠心病、心衰、心脏瓣膜病、先天性心脏病这些?",
|
||||
"您做过心脏方面的检查如心电图、心脏彩超、冠脉造影等吗?您的心脏以前做过手术吗?",
|
||||
"您平时有没有发现双下肢或者其他部位容易出现水肿呢?",
|
||||
"您有无其他未提及的心脏病史例如扩张型心肌病、肥厚型心肌病或充血性心力衰竭等?"
|
||||
],
|
||||
"标准化样例": "高血压,缺血性心脏病,先天性心脏病,扩张性心肌病,肥厚性心肌病,充血性心力衰竭病史,心包疾病"
|
||||
},
|
||||
"高血压_分级": {
|
||||
"必问": 0,
|
||||
"模板": [
|
||||
"您平常有测过血压吗?",
|
||||
"您以前血压最高多高?您需要提供具体的数值"
|
||||
],
|
||||
"标准化样例": [
|
||||
"1级 140mmHg≤收缩压≤159mmHg,或90mmHg≤舒张压≤100mmHg",
|
||||
"2级160mmHg≤收缩压≤179mmHg,或100mmHg≤舒张压≤110mmHg",
|
||||
"3级 180mmHg≤收缩压,或110mmHg≤舒张压",
|
||||
"无"
|
||||
]
|
||||
},
|
||||
"高血压_治疗": {
|
||||
"必问": 0,
|
||||
"模板": [
|
||||
"有没有规律服用降压药?"
|
||||
],
|
||||
"标准化样例": [
|
||||
"规律控制",
|
||||
"未规律控制"
|
||||
]
|
||||
},
|
||||
"高血压_特殊降压药": {
|
||||
"必问": 0,
|
||||
"模板": [
|
||||
"您吃的是什么降压药?"
|
||||
],
|
||||
"标准化样例": [
|
||||
"ACEI类",
|
||||
"ARB类",
|
||||
"利血平",
|
||||
"其他"
|
||||
]
|
||||
},
|
||||
"高血压_利血平停药时间": {
|
||||
"必问": 0,
|
||||
"模板": [
|
||||
"您吃过利血平吗?如果吃的话,您现在停吃利血平了吗?",
|
||||
"停吃利血平多久了"
|
||||
],
|
||||
"标准化样例": [
|
||||
"≥7天",
|
||||
"<7天",
|
||||
"未停药"
|
||||
]
|
||||
},
|
||||
"缺血性心脏病_病史": {
|
||||
"必问": 0,
|
||||
"模板": [
|
||||
"您最近3个月有没有出现过胸口或心脏疼痛、胸口像压了一块石头一样发闷发紧?是休息的时候出现还是活动后出现的呢?",
|
||||
"您因为胸痛胸闷去看过医生吗?有没有告诉过您患有心肌梗死呢?如果有,是多久之前呢?"
|
||||
],
|
||||
"标准化样例": [
|
||||
"近3月无活动后胸痛、胸闷表现",
|
||||
"近3月有非心梗性胸痛史",
|
||||
"急性心肌梗死>3月",
|
||||
"急性心肌梗死<3月"
|
||||
]
|
||||
},
|
||||
"缺血性心脏病_手术": {
|
||||
"必问": 0,
|
||||
"模板": [
|
||||
"如果您既往诊断过缺血性心脏病,您因为这个问题接受过药物或者手术的治疗吗?",
|
||||
"如果做过手术您的心脏血管有没有安装支架?",
|
||||
"记不记得具体是什么手术方式?"
|
||||
],
|
||||
"标准化样例": [
|
||||
"支架植入",
|
||||
"旁路术后",
|
||||
"无"
|
||||
]
|
||||
},
|
||||
"缺血性心脏病_检查": {
|
||||
"必问": 0,
|
||||
"模板": [
|
||||
"您有没有做过相关检查,比如冠脉造影?",
|
||||
"检查结果/结论是什么?"
|
||||
],
|
||||
"标准化样例": [
|
||||
"冠脉造影示狭窄<50%或冠脉CT示轻度狭窄",
|
||||
"冠脉造影示狭窄50%~80%或冠脉CT示中度狭窄",
|
||||
"冠脉造影示狭窄>80%或冠脉CT示重度狭窄",
|
||||
"无"
|
||||
]
|
||||
},
|
||||
"先天性心脏病": {
|
||||
"必问": 0,
|
||||
"模板": [
|
||||
"您是否在活动后口唇、指甲或者皮肤出现青紫?",
|
||||
"您平常是不是喜欢蹲着,这样会感觉更舒服?"
|
||||
],
|
||||
"标准化样例": [
|
||||
"非紫绀型",
|
||||
"紫绀型"
|
||||
]
|
||||
},
|
||||
"扩张性心肌病": {
|
||||
"必问": 0,
|
||||
"模板": [
|
||||
"家里面有没有亲属有心脏病之类的?您有没有诊断过扩张性心肌病?"
|
||||
],
|
||||
"标准化样例": [
|
||||
"是",
|
||||
"否"
|
||||
]
|
||||
},
|
||||
"肥厚性心肌病": {
|
||||
"必问": 0,
|
||||
"模板": [
|
||||
"您有没有诊断过肥厚性心肌病?是非梗阻型还是梗阻型?"
|
||||
],
|
||||
"标准化样例": [
|
||||
"非梗阻型",
|
||||
"梗阻型",
|
||||
"无"
|
||||
]
|
||||
},
|
||||
"安置起搏器": {
|
||||
"必问": 0,
|
||||
"模板": [
|
||||
"您安置的心脏起搏器是临时还是永久的?"
|
||||
],
|
||||
"标准化样例": [
|
||||
"临时",
|
||||
"永久"
|
||||
]
|
||||
},
|
||||
"心包疾病": {
|
||||
"必问": 0,
|
||||
"模板": [
|
||||
"有没有得过缩窄性心包炎,有没有说过有心包积液之类的?"
|
||||
],
|
||||
"标准化样例": [
|
||||
"缩窄性心包炎",
|
||||
"心包积液",
|
||||
"无"
|
||||
]
|
||||
}
|
||||
}
|
|
@ -1,115 +0,0 @@
|
|||
{
|
||||
"预问诊_神经疾病": {
|
||||
"必问": 1,
|
||||
"模板": [
|
||||
"您是否有任何肌肉或神经疾病?"
|
||||
],
|
||||
"标准化样例": [
|
||||
"是",
|
||||
"否",
|
||||
"不清楚"
|
||||
]
|
||||
},
|
||||
"预问诊_晕倒": {
|
||||
"必问": 1,
|
||||
"模板": [
|
||||
"您是否之前有不明原因而晕倒?"
|
||||
],
|
||||
"标准化样例": [
|
||||
"是",
|
||||
"否",
|
||||
"不清楚"
|
||||
]
|
||||
},
|
||||
"预问诊_抽搐": {
|
||||
"必问": 1,
|
||||
"模板": [
|
||||
"您是否发生过全身抽搐?"
|
||||
],
|
||||
"标准化样例": [
|
||||
"是",
|
||||
"否",
|
||||
"不清楚"
|
||||
]
|
||||
},
|
||||
"预问诊_中风": {
|
||||
"必问": 1,
|
||||
"模板": [
|
||||
"您是否曾经诊断过脑血管疾病,或者曾经中风过?"
|
||||
],
|
||||
"标准化样例": [
|
||||
"是",
|
||||
"否",
|
||||
"不清楚"
|
||||
]
|
||||
},
|
||||
"预问诊_手脚麻木": {
|
||||
"必问": 1,
|
||||
"模板": [
|
||||
"您是否有手脚麻木的情形?"
|
||||
],
|
||||
"标准化样例": [
|
||||
"是",
|
||||
"否",
|
||||
"不清楚"
|
||||
]
|
||||
},
|
||||
"预问诊_肌无力": {
|
||||
"必问": 1,
|
||||
"模板": [
|
||||
"您是否曾诊断过重症肌无力?"
|
||||
],
|
||||
"标准化样例": [
|
||||
"是",
|
||||
"否",
|
||||
"不清楚"
|
||||
]
|
||||
},
|
||||
"卒中病史": {
|
||||
"必问": 1,
|
||||
"模板": [
|
||||
"您有过脑梗塞病史吗?大概有多久了?"
|
||||
],
|
||||
"标准化样例": [
|
||||
">12月",
|
||||
"6-12月",
|
||||
"1-6月",
|
||||
"<1月",
|
||||
"无"
|
||||
]
|
||||
},
|
||||
"短暂脑缺血发作病史时间": {
|
||||
"必问": 0,
|
||||
"模板": [
|
||||
"您近3个月内是否出现过眼前发黑、突发的晕倒、抽搐、肢体无力或麻木、拿不稳东西或说话困难、一侧面部麻木或口角歪斜、复视、视野缺损或瞳孔不等大?"
|
||||
],
|
||||
"标准化样例": [
|
||||
"近3月内无发作",
|
||||
"近3月内有发作"
|
||||
]
|
||||
},
|
||||
"颅内出血": {
|
||||
"必问": 0,
|
||||
"模板": [
|
||||
"您有过脑出血病史吗?",
|
||||
"您知不知道是哪个地方?/医生有没有说是哪个部位?"
|
||||
],
|
||||
"标准化样例": [
|
||||
"硬膜外腔出血",
|
||||
"硬膜下腔出血",
|
||||
"蛛网膜下腔出血",
|
||||
"脑内出血",
|
||||
"无"
|
||||
]
|
||||
},
|
||||
"癫痫": {
|
||||
"必问": 0,
|
||||
"模板": [
|
||||
"您有癫痫或者平常突然抽搐吗?"
|
||||
],
|
||||
"标准化样例": [
|
||||
"是",
|
||||
"否"
|
||||
]
|
||||
}
|
||||
}
|
|
@ -1,188 +0,0 @@
|
|||
{
|
||||
"预问诊_呼吸急促": {
|
||||
"必问": 1,
|
||||
"模板": [
|
||||
"您是否有呼吸急促、喘不过气来?"
|
||||
],
|
||||
"标准化样例": [
|
||||
"是",
|
||||
"否",
|
||||
"不清楚"
|
||||
]
|
||||
},
|
||||
"预问诊_咳嗽": {
|
||||
"必问": 1,
|
||||
"模板": [
|
||||
"您最近有咳嗽或感冒发烧、流感之类的吗?"
|
||||
],
|
||||
"标准化样例": [
|
||||
"是",
|
||||
"否",
|
||||
"不清楚"
|
||||
]
|
||||
},
|
||||
"预问诊_肺病": {
|
||||
"必问": 1,
|
||||
"模板": [
|
||||
"您患有慢性支气管炎或肺炎等肺病吗?"
|
||||
],
|
||||
"标准化样例": [
|
||||
"是",
|
||||
"否",
|
||||
"不清楚"
|
||||
]
|
||||
},
|
||||
"预问诊_哮喘": {
|
||||
"必问": 1,
|
||||
"模板": [
|
||||
"您是否患有哮喘、慢阻肺或存在任何其他呼吸问题?"
|
||||
],
|
||||
"标准化样例": [
|
||||
"是",
|
||||
"否",
|
||||
"不清楚"
|
||||
]
|
||||
},
|
||||
"预问诊_吸烟": {
|
||||
"必问": 1,
|
||||
"模板": [
|
||||
"您现在吸烟,或者曾经吸过烟吗?"
|
||||
],
|
||||
"标准化样例": [
|
||||
"是",
|
||||
"否",
|
||||
"不清楚"
|
||||
]
|
||||
},
|
||||
"屏气试验分级": {
|
||||
"必问": 1,
|
||||
"模板": [
|
||||
"您深吸一口气大概能憋多久?如果不知道的话,我们可以现场测试一下。"
|
||||
],
|
||||
"标准化样例": [
|
||||
"≥30s",
|
||||
"20s-29s",
|
||||
"10s-19s",
|
||||
"<10s"
|
||||
]
|
||||
},
|
||||
"呼吸困难分级": {
|
||||
"必问": 0,
|
||||
"模板": [
|
||||
"您日常活动会感到呼吸困难吗?",
|
||||
"走100米需要休息吗?",
|
||||
"一般休息多久后能继续活动?"
|
||||
],
|
||||
"标准化样例": [
|
||||
"1级 除非剧烈活动,无明显呼吸困难",
|
||||
"2级 当快走或上缓坡时有气短",
|
||||
"3级 由于呼吸困难比同龄人步行得慢,或者以自己的速度在平地上行走时需要停下来呼吸",
|
||||
"4级 在平地上步行100米或数分钟后需要停下来呼吸,明显的呼吸困难,难以耐受日常活动"
|
||||
]
|
||||
},
|
||||
"呼吸困难_与体位的关系": {
|
||||
"必问": 0,
|
||||
"模板": [
|
||||
"呼吸困难的时候有不有某种姿势会觉得更舒服?"
|
||||
],
|
||||
"标准化样例": [
|
||||
"严重程度与体位无关",
|
||||
"严重程度与体位有关"
|
||||
]
|
||||
},
|
||||
"周内呼吸道感染": {
|
||||
"必问": 0,
|
||||
"模板": [
|
||||
"最近一个月有没有咳嗽、咳痰、发热、全身乏力甚至发生呼吸困难等症状?",
|
||||
"近2周内有过咳嗽、咳痰或发热等症状吗?",
|
||||
"有去检查过或吃过感冒药吗?"
|
||||
],
|
||||
"标准化样例": [
|
||||
"是",
|
||||
"否"
|
||||
]
|
||||
},
|
||||
"copd": {
|
||||
"必问": 0,
|
||||
"模板": [
|
||||
"你是否有诊断为COPD?",
|
||||
"有没有进行任何相关治疗?",
|
||||
"近期有咳嗽、咳痰、喘息或发热等需要额外治疗?",
|
||||
"近一年内大约有几次这种情况发生?"
|
||||
],
|
||||
"标准化样例": [
|
||||
"稳定期",
|
||||
"急性加重期",
|
||||
"近1年反复急性发作≥3次",
|
||||
"无"
|
||||
]
|
||||
},
|
||||
"哮喘上次发作日期": {
|
||||
"必问": 0,
|
||||
"模板": [
|
||||
"您最近一次哮喘发作是什么时候?告诉我是几几年几月"
|
||||
],
|
||||
"标准化样例": "2020-09"
|
||||
},
|
||||
"哮喘_治疗": {
|
||||
"必问": 0,
|
||||
"模板": [
|
||||
"平常有规律用哮喘药吗? 用的什么药?"
|
||||
],
|
||||
"标准化样例": [
|
||||
"规律治疗",
|
||||
"未规律治疗"
|
||||
]
|
||||
},
|
||||
"气胸": {
|
||||
"必问": 0,
|
||||
"模板": [
|
||||
"您是否发生过气胸?",
|
||||
"有什么症状?",
|
||||
"是否因为发生气胸住院了呢?还记得采取了哪些措施?"
|
||||
],
|
||||
"标准化样例": [
|
||||
"安置引流",
|
||||
"呼吸受累",
|
||||
"循环受累",
|
||||
"无"
|
||||
]
|
||||
},
|
||||
"胸腔积液": {
|
||||
"必问": 0,
|
||||
"模板": [
|
||||
"您是否有呼吸困难?",
|
||||
"是否伴有心累、气促?"
|
||||
],
|
||||
"标准化样例": [
|
||||
"是",
|
||||
"否"
|
||||
]
|
||||
},
|
||||
"吸烟指数(每天吸烟支数x吸烟年数)": {
|
||||
"必问": 0,
|
||||
"模板": [
|
||||
"您每天吸烟几包,大概吸了几年?"
|
||||
],
|
||||
"标准化样例": [
|
||||
"0-500",
|
||||
"500-1000",
|
||||
"≥1000"
|
||||
]
|
||||
},
|
||||
"戒烟": {
|
||||
"必问": 0,
|
||||
"模板": [
|
||||
"戒烟了吗?戒烟了多久?"
|
||||
],
|
||||
"标准化样例": [
|
||||
"未戒烟",
|
||||
"<4周",
|
||||
"4-8周",
|
||||
"8周-1年",
|
||||
">1年"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -1,159 +0,0 @@
|
|||
{
|
||||
"head_sex": {
|
||||
"1": 1,
|
||||
"2": 2
|
||||
},
|
||||
|
||||
"cv_cf": {
|
||||
"1级 体力活动不受限制。一般体力活动不引起过度续劳、心悸、气喘或心绞痛": "1",
|
||||
"2级 体力活动轻度受限制。休息时无症状,一般体力活动引起过度疲劳、心悸、气喘或心绞痛": "2",
|
||||
"3级 体力活动明显受限制。休息时无症状,但小于一般体力活动即可引过度疲劳、心悸、气喘或心绞痛": "3",
|
||||
"4级 不能从事任何体力劳动,休息状态下也出现心衰症状,体力活动后加重": "4"
|
||||
},
|
||||
"cv_eq": {
|
||||
">6MET 可耐受慢跑、跳绳等较高强度的身体训练": "1",
|
||||
"3-6MET 可胜任日常家务工作或骑自行车": "2",
|
||||
"<3MET 仅能从事文书工作或缓慢步行": "3"
|
||||
},
|
||||
"cv_hy_grad": {
|
||||
"1级 140mmHg≤收缩压≤159mmHg,或90mmHg≤舒张压≤100mmHg": "1",
|
||||
"2级160mmHg≤收缩压≤179mmHg,或100mmHg≤舒张压≤110mmHg": "2",
|
||||
"3级 180mmHg≤收缩压,或110mmHg≤舒张压": "3",
|
||||
"无": ""
|
||||
},
|
||||
"cv_hy_tre": {
|
||||
"规律控制": "1",
|
||||
"未规律控制": "2"
|
||||
},
|
||||
"cv_hypo": {
|
||||
"ACEI类": "1",
|
||||
"ARB类": "2",
|
||||
"利血平": "3",
|
||||
"其他": "4"
|
||||
},
|
||||
"cv_hypo_date": {
|
||||
"≥7天": "1",
|
||||
"<7天": "2",
|
||||
"未停药": "3"
|
||||
},
|
||||
"cv_ihd_ms": {
|
||||
"近3月无活动后胸痛、胸闷表现": "1",
|
||||
"近3月有非心梗性胸痛史": "2",
|
||||
"急性心肌梗死>3月": "3",
|
||||
"急性心肌梗死<3月": "4"
|
||||
},
|
||||
"cv_ihd_zj": {
|
||||
"支架植入": "1",
|
||||
"旁路术后": "2",
|
||||
"无": ""
|
||||
},
|
||||
"cv_ihd_check": {
|
||||
"冠脉造影示狭窄<50%或冠脉CT示轻度狭窄": "1",
|
||||
"冠脉造影示狭窄50%~80%或冠脉CT示中度狭窄": "2",
|
||||
"冠脉造影示狭窄>80%或冠脉CT示重度狭窄": "3",
|
||||
"无法提供": ""
|
||||
},
|
||||
"cv_chd": {
|
||||
"非紫绀型": "1",
|
||||
"紫绀型": "2"
|
||||
},
|
||||
"cv_dc": {
|
||||
"是": "1",
|
||||
"否": "0"
|
||||
},
|
||||
"cv_hc": {
|
||||
"非梗阻型": "1",
|
||||
"梗阻型": "2",
|
||||
"无": ""
|
||||
},
|
||||
"cv_hochf_is": {
|
||||
"否": 1,
|
||||
"是": 2
|
||||
},
|
||||
"cv_pp": {
|
||||
"临时": "1",
|
||||
"永久": "2"
|
||||
},
|
||||
"cv_pd": {
|
||||
"缩窄性心包炎": "1",
|
||||
"心包积液": "2",
|
||||
"无": ""
|
||||
},
|
||||
"rs_vm_bht": {
|
||||
"≥30s": "1",
|
||||
"20s-29s": "2",
|
||||
"10s-19s": "3",
|
||||
"<10s": "4"
|
||||
},
|
||||
"rs_db_grad": {
|
||||
"1级 除非剧烈活动,无明显呼吸困难": "1",
|
||||
"2级 当快走或上缓坡时有气短": "2",
|
||||
"3级 由于呼吸困难比同龄人步行得慢,或者以自己的速度在平地上行走时需要停下来呼吸": "3",
|
||||
"4级 在平地上步行100米或数分钟后需要停下来呼吸,明显的呼吸困难,难以耐受日常活动": "4"
|
||||
},
|
||||
"rs_db_rwbp": {
|
||||
"严重程度与体位无关": "1",
|
||||
"严重程度与体位有关": "2"
|
||||
},
|
||||
"rs_history": {
|
||||
"否": 1,
|
||||
"是": 2
|
||||
},
|
||||
"rs_copd": {
|
||||
"稳定期": "1",
|
||||
"急性加重期": "2",
|
||||
"近1年反复急性发作≥3次": "3",
|
||||
"无": ""
|
||||
},
|
||||
"rs_asthma_scfzrq": {
|
||||
"2020-09": "2020-09"
|
||||
},
|
||||
"rs_asthma_th": {
|
||||
"规律治疗": "1",
|
||||
"未规律治疗": "2"
|
||||
},
|
||||
"rs_pt": {
|
||||
"安置引流": "1",
|
||||
"呼吸受累": "2",
|
||||
"循环受累": "3",
|
||||
"无": ""
|
||||
},
|
||||
"rs_pe_is": {
|
||||
"否": 1,
|
||||
"是": 2
|
||||
},
|
||||
"rs_si": {
|
||||
"0-500": "1",
|
||||
"500-1000": "2",
|
||||
"≥1000": "3"
|
||||
},
|
||||
"rs_ss": {
|
||||
">1年": "1",
|
||||
"8周-1年": "2",
|
||||
"4-8周": "3",
|
||||
"<4周": "4",
|
||||
"未戒烟": "5"
|
||||
},
|
||||
"ns_hos": {
|
||||
">12月": "1",
|
||||
"6-12月": "2",
|
||||
"1-6月": "3",
|
||||
"<1月": "4",
|
||||
"无": ""
|
||||
},
|
||||
"ns_hotia_time": {
|
||||
"近3月内无发作": "1",
|
||||
"近3月内有发作": "2"
|
||||
},
|
||||
"ns_ib": {
|
||||
"硬膜外腔出血": "1",
|
||||
"硬膜下腔出血": "2",
|
||||
"蛛网膜下腔出血": "3",
|
||||
"脑内出血": "4",
|
||||
"无": ""
|
||||
},
|
||||
"ns_dianxian": {
|
||||
"否": 1,
|
||||
"是": 2
|
||||
}
|
||||
}
|
|
@ -43355,49 +43355,3 @@ JSON输出:
|
|||
[{'role': 'assistant', 'content': '我是您的麻醉评估医生。我们接下来需要了解一些基本情况。您有高血压吗?'}, {'role': 'user', 'content': '有的'}, {'role': 'assistant', 'content': '您常感觉胸痛或心跳不规则吗?'}]
|
||||
|
||||
|
||||
2025-06-19 09:17:08,114 - logger - INFO - query: None
|
||||
2025-06-19 09:17:08,114 - logger - INFO - information in the query: None
|
||||
2025-06-19 09:17:08,114 - logger - INFO - chosen agent: circulatory_system
|
||||
2025-06-19 09:17:08,115 - logger - INFO - current option and question templates:
|
||||
预问诊_高血压 ['您有高血压吗?']
|
||||
2025-06-19 09:17:08,115 - logger - INFO - doctor statement: 我是您的麻醉评估医生。我们接下来需要了解一些基本情况。您有高血压吗?
|
||||
2025-06-19 09:17:08,115 - logger - INFO - HISTORY:
|
||||
[]
|
||||
|
||||
|
||||
2025-06-19 09:17:31,593 - logger - INFO - query: 没有
|
||||
2025-06-19 09:17:31,593 - logger - INFO - ***PROCESS QUERY【3】***:
|
||||
总体评估(False)请处理以下数据:
|
||||
患者信息:{'dbp': '98', 'doingSurgery': '异体肾移植术', 'gender': '1', 'height': '173.0', 'hr': '101.0', 'id': 2, 'name': '李四', 'respiratoryRate': '20.0', 'saO2': '99', 'sbp': '137', 'surgeryJudge': '1:肾功能不全 2:慢性肾脏病5期 3:肾性高血压', 'temperature': '37.2', 'weight': '78'}
|
||||
标准化样例:['是', '否', '不清楚']
|
||||
选项:预问诊_高血压
|
||||
医患问答:[{'content': '111', 'createdat': 1750131902000, 'id': 52, 'role': 'user', 'sessionid': 41}, {'content': '您有高血压吗?', 'createdat': 1750131902000, 'id': 53, 'role': 'assistant', 'sessionid': 41}, {'content': '没有', 'createdat': 1750131952000, 'id': 54, 'role': 'user', 'sessionid': 41}, {'content': '您有高血压吗?', 'createdat': 1750131953000, 'id': 55, 'role': 'assistant', 'sessionid': 41}, {'content': '', 'createdat': 1750295828000, 'id': 56, 'role': 'user', 'sessionid': 41}, {'content': '我是您的麻醉评估医生。我们接下来需要了解一些基本情况。您有高血压吗?', 'createdat': 1750295828000, 'id': 57, 'role': 'assistant', 'sessionid': 41}, {'content': '没有', 'createdat': 1750295851463, 'role': 'user', 'sessionid': 41}]
|
||||
|
||||
JSON输出:
|
||||
2025-06-19 09:17:32,632 - logger - INFO - information in the query: {'option_value': '否', 'status': 'success'}
|
||||
2025-06-19 09:17:32,632 - logger - INFO - chosen agent: circulatory_system
|
||||
2025-06-19 09:17:32,632 - logger - INFO - current option and question templates:
|
||||
预问诊_胸痛 ['您常感觉胸痛或心跳不规则吗?']
|
||||
2025-06-19 09:17:32,632 - logger - INFO - doctor statement: 您常感觉胸痛或心跳不规则吗?
|
||||
2025-06-19 09:17:32,632 - logger - INFO - HISTORY:
|
||||
[{'content': '111', 'createdat': 1750131902000, 'id': 52, 'role': 'user', 'sessionid': 41}, {'content': '您有高血压吗?', 'createdat': 1750131902000, 'id': 53, 'role': 'assistant', 'sessionid': 41}, {'content': '没有', 'createdat': 1750131952000, 'id': 54, 'role': 'user', 'sessionid': 41}, {'content': '您有高血压吗?', 'createdat': 1750131953000, 'id': 55, 'role': 'assistant', 'sessionid': 41}, {'content': '', 'createdat': 1750295828000, 'id': 56, 'role': 'user', 'sessionid': 41}, {'content': '我是您的麻醉评估医生。我们接下来需要了解一些基本情况。您有高血压吗?', 'createdat': 1750295828000, 'id': 57, 'role': 'assistant', 'sessionid': 41}, {'content': '没有', 'createdat': 1750295851463, 'role': 'user', 'sessionid': 41}]
|
||||
|
||||
|
||||
2025-06-19 09:17:49,539 - logger - INFO - query: 没有
|
||||
2025-06-19 09:17:49,539 - logger - INFO - ***PROCESS QUERY【3】***:
|
||||
总体评估(False)请处理以下数据:
|
||||
患者信息:{'dbp': '98', 'doingSurgery': '异体肾移植术', 'gender': '1', 'height': '173.0', 'hr': '101.0', 'id': 2, 'name': '李四', 'respiratoryRate': '20.0', 'saO2': '99', 'sbp': '137', 'surgeryJudge': '1:肾功能不全 2:慢性肾脏病5期 3:肾性高血压', 'temperature': '37.2', 'weight': '78', '预问诊_高血压': '否'}
|
||||
标准化样例:['是', '否', '不清楚']
|
||||
选项:预问诊_胸痛
|
||||
医患问答:[{'content': '111', 'createdat': 1750131902000, 'id': 52, 'role': 'user', 'sessionid': 41}, {'content': '您有高血压吗?', 'createdat': 1750131902000, 'id': 53, 'role': 'assistant', 'sessionid': 41}, {'content': '没有', 'createdat': 1750131952000, 'id': 54, 'role': 'user', 'sessionid': 41}, {'content': '您有高血压吗?', 'createdat': 1750131953000, 'id': 55, 'role': 'assistant', 'sessionid': 41}, {'content': '', 'createdat': 1750295828000, 'id': 56, 'role': 'user', 'sessionid': 41}, {'content': '我是您的麻醉评估医生。我们接下来需要了解一些基本情况。您有高血压吗?', 'createdat': 1750295828000, 'id': 57, 'role': 'assistant', 'sessionid': 41}, {'content': '没有', 'createdat': 1750295851000, 'id': 58, 'role': 'user', 'sessionid': 41}, {'content': '您常感觉胸痛或心跳不规则吗?', 'createdat': 1750295853000, 'id': 59, 'role': 'assistant', 'sessionid': 41}, {'content': '没有', 'createdat': 1750295869408, 'role': 'user', 'sessionid': 41}]
|
||||
|
||||
JSON输出:
|
||||
2025-06-19 09:17:51,689 - logger - INFO - information in the query: {'option_value': '否', 'status': 'success'}
|
||||
2025-06-19 09:17:51,689 - logger - INFO - chosen agent: circulatory_system
|
||||
2025-06-19 09:17:51,690 - logger - INFO - current option and question templates:
|
||||
预问诊_心梗 ['您曾经有心梗吗?']
|
||||
2025-06-19 09:17:51,690 - logger - INFO - doctor statement: 您曾经有心梗吗?
|
||||
2025-06-19 09:17:51,690 - logger - INFO - HISTORY:
|
||||
[{'content': '111', 'createdat': 1750131902000, 'id': 52, 'role': 'user', 'sessionid': 41}, {'content': '您有高血压吗?', 'createdat': 1750131902000, 'id': 53, 'role': 'assistant', 'sessionid': 41}, {'content': '没有', 'createdat': 1750131952000, 'id': 54, 'role': 'user', 'sessionid': 41}, {'content': '您有高血压吗?', 'createdat': 1750131953000, 'id': 55, 'role': 'assistant', 'sessionid': 41}, {'content': '', 'createdat': 1750295828000, 'id': 56, 'role': 'user', 'sessionid': 41}, {'content': '我是您的麻醉评估医生。我们接下来需要了解一些基本情况。您有高血压吗?', 'createdat': 1750295828000, 'id': 57, 'role': 'assistant', 'sessionid': 41}, {'content': '没有', 'createdat': 1750295851000, 'id': 58, 'role': 'user', 'sessionid': 41}, {'content': '您常感觉胸痛或心跳不规则吗?', 'createdat': 1750295853000, 'id': 59, 'role': 'assistant', 'sessionid': 41}, {'content': '没有', 'createdat': 1750295869408, 'role': 'user', 'sessionid': 41}]
|
||||
|
||||
|
||||
|
|
177
src/main.py
177
src/main.py
|
@ -1,119 +1,58 @@
|
|||
import os
|
||||
from dotenv import load_dotenv
|
||||
from src.session import SessionState
|
||||
from src.case_info import format_to_report
|
||||
import ast
|
||||
|
||||
class Consultation:
|
||||
def __init__(self):
|
||||
# initialize one patient and session state
|
||||
self.session_map = {}
|
||||
|
||||
def init_session(self, session_id, case_data):
|
||||
load_dotenv()
|
||||
self.session_map[session_id] = SessionState(case_data)
|
||||
|
||||
def qa_chat(self, session_id, content, msgList, question=None):
|
||||
session_state = self.session_map[session_id]
|
||||
print(777777,session_state.__dict__)
|
||||
session_state.history = msgList
|
||||
print("5555555session_state.option",session_state.option)
|
||||
if_overall = '总体评估' in session_state.option if session_state.option else False
|
||||
session_state.process_query_task(content, overall=if_overall)
|
||||
print(8888,session_state.__dict__)
|
||||
cur_card = [session_state.info, session_state.option, session_state.agent_names[session_state.agent_order]]
|
||||
print("66666cur_card",cur_card)
|
||||
if not session_state.info or session_state.info['status'] == 'success':
|
||||
# update recorded information and update agent's knowledge
|
||||
session_state.update()
|
||||
|
||||
# choose agent and
|
||||
session_state.choose_agent_and_option_task()
|
||||
if session_state.option == '无':
|
||||
session_state.choose_agent_and_option_task()
|
||||
|
||||
elif session_state.info['status'] == 'need_clarification':
|
||||
session_state.missing_info = session_state.info['missing_info']
|
||||
|
||||
# doctor asks the question
|
||||
stream_state = session_state.doctor_state_task()
|
||||
if session_state.if_end():
|
||||
pass
|
||||
|
||||
self.session_map[session_id] = session_state
|
||||
return cur_card, stream_state
|
||||
|
||||
def save_result(self, session_id):
|
||||
return self.session_map[session_id].patient.recorded_info
|
||||
|
||||
def format_report(self, session_id):
|
||||
return format_to_report(self.session_map[session_id].patient.recorded_info)
|
||||
|
||||
|
||||
# if __name__ == '__main__':
|
||||
# print(os.getenv('CASE'))
|
||||
# consultation = Consultation()
|
||||
# consultation.qa_chat()
|
||||
|
||||
"""import os
|
||||
from dotenv import load_dotenv
|
||||
from src.session import SessionState
|
||||
from src.case_info import format_to_report
|
||||
|
||||
# globals.consultation.init_session(case_data=data)
|
||||
|
||||
# import os
|
||||
# from dotenv import load_dotenv
|
||||
# from session import SessionState
|
||||
# from case_info import format_to_report
|
||||
|
||||
class Consultation:
|
||||
def __init__(self):
|
||||
# initialize one patient and session state
|
||||
self.session_map = {}
|
||||
|
||||
def init_session(self, case_data):
|
||||
load_dotenv()
|
||||
self.session_map = SessionState(case_data)
|
||||
|
||||
def qa_chat(self, question=None):
|
||||
session_state = self.session_map
|
||||
if_overall = '总体评估' in session_state.option if session_state.option else False
|
||||
session_state.process_query_task(question, overall=if_overall)
|
||||
cur_card = [session_state.info, session_state.option, session_state.agent_names[session_state.agent_order]]
|
||||
if not session_state.info or session_state.info['status'] == 'success':
|
||||
# update recorded information and update agent's knowledge
|
||||
session_state.update()
|
||||
|
||||
# choose agent and option
|
||||
session_state.choose_agent_and_option_task()
|
||||
if session_state.option == '无':
|
||||
session_state.choose_agent_and_option_task()
|
||||
|
||||
elif session_state.info['status'] == 'need_clarification':
|
||||
session_state.missing_info = session_state.info['missing_info']
|
||||
|
||||
# doctor asks the question
|
||||
stream_state = session_state.doctor_state_task()
|
||||
if session_state.if_end():
|
||||
pass
|
||||
self.session_map = session_state
|
||||
return cur_card, stream_state
|
||||
|
||||
def save_result(self):
|
||||
return self.session_map.patient.recorded_info
|
||||
|
||||
def format_report(self):
|
||||
return format_to_report(self.session_map.patient.recorded_info)
|
||||
|
||||
# def save_result(self):
|
||||
# return self.session_state.patient.recorded_info
|
||||
|
||||
# def format_report(self):
|
||||
# return format_to_report(self.session_state.patient.recorded_info)
|
||||
"""
|
||||
|
||||
if __name__ == '__main__':
|
||||
print(os.getenv('CASE'))
|
||||
consultation = Consultation()
|
||||
consultation.qa_chat()
|
||||
import os
|
||||
from dotenv import load_dotenv
|
||||
from src.session import SessionState
|
||||
from src.case_info import format_to_report
|
||||
import ast
|
||||
# import os
|
||||
# from dotenv import load_dotenv
|
||||
# from session import SessionState
|
||||
# from case_info import format_to_report
|
||||
class Consultation:
|
||||
def __init__(self):
|
||||
# initialize one patient and session state
|
||||
self.session_map = {}
|
||||
|
||||
def init_session(self, session_id, case_data):
|
||||
load_dotenv()
|
||||
self.session_map[session_id] = SessionState(case_data)
|
||||
|
||||
def qa_chat(self, session_id, question=None):
|
||||
session_state = self.session_map[session_id]
|
||||
print("22222self.session_map",self.session_map)
|
||||
|
||||
if_overall = '总体评估' in session_state.option if session_state.option else False
|
||||
session_state.process_query_task(question, overall=if_overall)
|
||||
print("1111111session_state",vars(session_state))
|
||||
cur_card = [session_state.info, session_state.option, session_state.agent_names[session_state.agent_order]]
|
||||
print("3333cur_card",cur_card)
|
||||
if not session_state.info or session_state.info['status'] == 'success':
|
||||
# update recorded information and update agent's knowledge
|
||||
session_state.update()
|
||||
|
||||
# choose agent and option
|
||||
session_state.choose_agent_and_option_task()
|
||||
if session_state.option == '无':
|
||||
session_state.choose_agent_and_option_task()
|
||||
|
||||
elif session_state.info['status'] == 'need_clarification':
|
||||
session_state.missing_info = session_state.info['missing_info']
|
||||
|
||||
# doctor asks the question
|
||||
stream_state = session_state.doctor_state_task()
|
||||
if session_state.if_end():
|
||||
pass
|
||||
|
||||
self.session_map[session_id] = session_state
|
||||
return cur_card, stream_state
|
||||
|
||||
def save_result(self, session_id):
|
||||
return self.session_map[session_id].patient.recorded_info
|
||||
|
||||
def format_report(self, session_id):
|
||||
return format_to_report(self.session_map[session_id].patient.recorded_info)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
print(os.getenv('CASE'))
|
||||
consultation = Consultation()
|
||||
consultation.qa_chat()
|
||||
|
|
175
src/session.py
175
src/session.py
|
@ -1,90 +1,85 @@
|
|||
from src.agents import doctor_state, choose_agent, init_multi_agents
|
||||
from src.utils import get_q_template, init_logger, process_stream
|
||||
from src.patient import Patient
|
||||
|
||||
# from agents import doctor_state, choose_agent, init_multi_agents
|
||||
# from utils import get_q_template, init_logger, process_stream
|
||||
# from patient import Patient
|
||||
|
||||
|
||||
class SessionState:
|
||||
def __init__(self, case):
|
||||
self.patient = Patient(case)
|
||||
self.agent_order = -1
|
||||
self.agent_names = ['circulatory_system', 'respiratory_system', 'nervous_system']
|
||||
self.cur_agent = None
|
||||
self.agents = init_multi_agents(self.agent_names)
|
||||
|
||||
self.query = None
|
||||
self.info = None
|
||||
self.option = None
|
||||
self.q_templates = None
|
||||
self.missing_info = None
|
||||
|
||||
self.history = []
|
||||
self.logger = init_logger()
|
||||
|
||||
def get_agent_name(self):
|
||||
return self.agent_names[self.agent_order]
|
||||
|
||||
def if_end(self):
|
||||
return self.option == '无' and self.agent_order == len(self.agent_names) - 1
|
||||
|
||||
def add_to_history(self, role, message):
|
||||
pass
|
||||
# self.history.append({"role": role, "content": message})
|
||||
# print("history:",self.history)
|
||||
|
||||
def process_query_task(self, cur_query, overall=False):
|
||||
|
||||
if cur_query:
|
||||
print(7777,cur_query)
|
||||
# self.add_to_history('user', cur_query)
|
||||
self.logger.info('query: ' + str(cur_query))
|
||||
else:
|
||||
self.logger.info('query: None')
|
||||
info = self.cur_agent.process_query(self.option, self.patient, self.history,
|
||||
self.logger, overall) if self.cur_agent else None
|
||||
self.query = cur_query
|
||||
self.info = info
|
||||
self.logger.info('information in the query: ' + str(info))
|
||||
|
||||
def choose_agent_and_option_task(self):
|
||||
# choose next system agent
|
||||
current_agent_order, chosen_agent = choose_agent(self.option, self.agent_order, self.agents)
|
||||
self.agent_order, self.cur_agent = current_agent_order, chosen_agent
|
||||
self.logger.info("chosen agent: " + self.agent_names[current_agent_order])
|
||||
|
||||
# choose option
|
||||
if self.cur_agent:
|
||||
print("!!!!!!!!!!!",self.cur_agent)
|
||||
self.option = self.cur_agent.choose_option(self.history, self.patient, self.logger)
|
||||
print("!!!!!!!!!!!self.option",self.option)
|
||||
self.q_templates = get_q_template(self.get_agent_name(), self.option)
|
||||
self.missing_info = None
|
||||
self.logger.info('current option and question templates:\n' + self.option + ' ' + str(self.q_templates))
|
||||
|
||||
|
||||
def doctor_state_task(self):
|
||||
n = 3
|
||||
stream_state = doctor_state(self.history, self.patient, self.option, self.q_templates, self.missing_info, self.logger)
|
||||
state_list = process_stream(stream_state) if type(stream_state) != str else [stream_state[i:i+3] for i in range(0, len(stream_state), 3)]
|
||||
|
||||
if len(self.history) == 0:
|
||||
s = '我是您的麻醉评估医生。我们接下来需要了解一些基本情况。'
|
||||
state = [s[i:i+3] for i in range(0, len(s), 3)] + state_list
|
||||
elif self.if_end():
|
||||
s = '谢谢你的配合,我们已经了解了你的整体情况,再见!'
|
||||
state = [s[i:i+3] for i in range(0, len(s), 3)]
|
||||
else:
|
||||
state = state_list
|
||||
# self.add_to_history('assistant', ''.join(state))
|
||||
self.missing_info = None
|
||||
self.logger.info('doctor statement: ' + ''.join(state))
|
||||
self.logger.info('HISTORY:\n' + str(self.history) + '\n\n')
|
||||
print('DOCTOR:', ''.join(state))
|
||||
return state
|
||||
|
||||
def update(self):
|
||||
if self.info: self.patient.update_info(self.option, self.info)
|
||||
if self.cur_agent: self.cur_agent.update_knowledge(self.option, self.info)
|
||||
from src.agents import doctor_state, choose_agent, init_multi_agents
|
||||
from src.utils import get_q_template, init_logger, process_stream
|
||||
from src.patient import Patient
|
||||
# from agents import doctor_state, choose_agent, init_multi_agents
|
||||
# from utils import get_q_template, init_logger, process_stream
|
||||
# from patient import Patient
|
||||
|
||||
|
||||
class SessionState:
|
||||
def __init__(self, case):
|
||||
self.patient = Patient(case)
|
||||
self.agent_order = -1
|
||||
self.agent_names = ['circulatory_system', 'respiratory_system', 'nervous_system']
|
||||
self.cur_agent = None
|
||||
self.agents = init_multi_agents(self.agent_names)
|
||||
|
||||
self.query = None
|
||||
self.info = None
|
||||
self.option = None
|
||||
self.q_templates = None
|
||||
self.missing_info = None
|
||||
|
||||
self.history = []
|
||||
self.logger = init_logger()
|
||||
|
||||
def get_agent_name(self):
|
||||
return self.agent_names[self.agent_order]
|
||||
|
||||
def if_end(self):
|
||||
return self.option == '无' and self.agent_order == len(self.agent_names) - 1
|
||||
|
||||
def add_to_history(self, role, message):
|
||||
self.history.append({"role": role, "content": message})
|
||||
|
||||
def process_query_task(self, cur_query, overall=False):
|
||||
if cur_query:
|
||||
self.add_to_history('user', cur_query)
|
||||
self.logger.info('query: ' + cur_query)
|
||||
else:
|
||||
self.logger.info('query: None')
|
||||
print(6666,self.option, self.patient, self.history)
|
||||
info = self.cur_agent.process_query(self.option, self.patient, self.history,
|
||||
self.logger, overall) if self.cur_agent else None
|
||||
print(888,info)
|
||||
self.query = cur_query
|
||||
self.info = info
|
||||
self.logger.info('information in the query: ' + str(info))
|
||||
|
||||
def choose_agent_and_option_task(self):
|
||||
# choose next system agent
|
||||
current_agent_order, chosen_agent = choose_agent(self.option, self.agent_order, self.agents)
|
||||
self.agent_order, self.cur_agent = current_agent_order, chosen_agent
|
||||
self.logger.info("chosen agent: " + self.agent_names[current_agent_order])
|
||||
|
||||
# choose option
|
||||
if self.cur_agent:
|
||||
self.option = self.cur_agent.choose_option(self.history, self.patient, self.logger)
|
||||
self.q_templates = get_q_template(self.get_agent_name(), self.option)
|
||||
self.missing_info = None
|
||||
self.logger.info('current option and question templates:\n' + self.option + ' ' + str(self.q_templates))
|
||||
|
||||
|
||||
def doctor_state_task(self):
|
||||
n = 3
|
||||
stream_state = doctor_state(self.history, self.patient, self.option, self.q_templates, self.missing_info, self.logger)
|
||||
state_list = process_stream(stream_state) if type(stream_state) != str else [stream_state[i:i+3] for i in range(0, len(stream_state), 3)]
|
||||
|
||||
if len(self.history) == 0:
|
||||
s = '我是您的麻醉评估医生。我们接下来需要了解一些基本情况。'
|
||||
state = [s[i:i+3] for i in range(0, len(s), 3)] + state_list
|
||||
elif self.if_end():
|
||||
s = '谢谢你的配合,我们已经了解了你的整体情况,再见!'
|
||||
state = [s[i:i+3] for i in range(0, len(s), 3)]
|
||||
else:
|
||||
state = state_list
|
||||
self.add_to_history('assistant', ''.join(state))
|
||||
self.missing_info = None
|
||||
self.logger.info('doctor statement: ' + ''.join(state))
|
||||
self.logger.info('HISTORY:\n' + str(self.history) + '\n\n')
|
||||
print('DOCTOR:', ''.join(state))
|
||||
return state
|
||||
|
||||
def update(self):
|
||||
if self.info: self.patient.update_info(self.option, self.info)
|
||||
if self.cur_agent: self.cur_agent.update_knowledge(self.option, self.info)
|
||||
|
|
15
src/utils.py
15
src/utils.py
|
@ -3,10 +3,13 @@ import os.path
|
|||
import logging
|
||||
from dotenv import load_dotenv
|
||||
|
||||
load_dotenv()
|
||||
case_path = os.getenv('CASE_PATH')
|
||||
system_path = os.getenv('SYSTEM_PATH')
|
||||
log_path = os.getenv('LOG_PATH')
|
||||
|
||||
|
||||
def read_basic_info_json(case):
|
||||
case_path = os.path.dirname(os.path.abspath(__file__))
|
||||
case_path = os.path.join(case_path, "data", "systems")
|
||||
basic_info_json = os.path.join(case_path, case, 'basic_info.json')
|
||||
basic_info = json.loads(open(basic_info_json, 'r', encoding='utf-8').read())
|
||||
return basic_info
|
||||
|
@ -18,9 +21,6 @@ def read_basic_info_json(case):
|
|||
|
||||
|
||||
def read_knowledge_json(agent_name):
|
||||
# print("1111111111111111111111111",os.path.abspath(__file__))
|
||||
system_path = os.path.dirname(os.path.abspath(__file__))
|
||||
system_path = os.path.join(system_path, "data", "systems")
|
||||
knowledge_json = os.path.join(system_path, '{}.json'.format(agent_name))
|
||||
knowledge = json.loads(open(knowledge_json, 'r', encoding='utf-8').read())
|
||||
return knowledge
|
||||
|
@ -43,9 +43,8 @@ def read_rule_json(agent_name):
|
|||
def init_logger():
|
||||
logger = logging.getLogger('logger')
|
||||
logger.setLevel(logging.INFO)
|
||||
log_path = os.path.dirname(os.path.abspath(__file__))
|
||||
log_path = os.path.join(log_path, "log","session.log")
|
||||
file_handler = logging.FileHandler(log_path, encoding='utf-8')
|
||||
|
||||
file_handler = logging.FileHandler('/data1/lingyun/duyongzhe/huaxi-backend-master/src/log/session.log', encoding='utf-8')
|
||||
file_handler.setLevel(logging.INFO)
|
||||
|
||||
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
|
||||
|
|
Loading…
Reference in New Issue
Block a user