You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
66 lines
2.0 KiB
66 lines
2.0 KiB
import asyncio
|
|
import sys
|
|
import os
|
|
|
|
# 将当前目录加入路径以便导入 qc_engine
|
|
sys.path.append(os.path.dirname(__file__))
|
|
|
|
from qc_engine import qc_manager
|
|
|
|
async def run_test(name, report_data):
|
|
print("\n" + "="*50)
|
|
print(f"🚀 测试案例: {name}")
|
|
print("="*50)
|
|
try:
|
|
result = await qc_manager.run_qc(report_data)
|
|
print("\n【质控分析结果】:")
|
|
print("-" * 20)
|
|
print(result)
|
|
print("-" * 20)
|
|
except Exception as e:
|
|
print(f"❌ 分析失败: {e}")
|
|
|
|
async def test_all():
|
|
# 案例1: 用户提供的正常(高质量)产前报告
|
|
report_1 = """
|
|
【字段:超声所见】:
|
|
I级产前彩色多普勒超声检查:
|
|
胎头位置:右中腹部,双顶径: 81 mm 头围: 296 mm 腹围:284 mm 股骨长: 61 mm。
|
|
胎方位:横位。
|
|
胎儿腹部胃泡旁可见一大小约18x16mm的囊性暗区,胃泡大小约48x21mm。
|
|
胎盘位于子宫后壁,羊水暗区:80 mm,指数:246 mm 。
|
|
|
|
【字段:超声提示】:
|
|
宫内晚期妊娠,单活胎,如孕32周大小。
|
|
胎儿腹部双泡征,十二指肠闭锁不排除,建议上级医院产前诊断检查。
|
|
羊水量多。
|
|
"""
|
|
|
|
# 案例2: 故意构造的错误报告(性别冲突 + 逻辑矛盾)
|
|
report_2 = """
|
|
【字段:超声所见】:
|
|
患者性别: 男
|
|
检查部位: 子宫
|
|
子宫增大,宫腔内可见一胎儿,双顶径 90mm。
|
|
【字段:超声提示】:
|
|
1. 宫内妊娠(男)。
|
|
2. 子宫肥大。
|
|
"""
|
|
|
|
data_1 = {
|
|
"report": report_1,
|
|
"examinePart": "产前超声",
|
|
"patient_info": {"sex": "女", "age": "28"}
|
|
}
|
|
|
|
data_2 = {
|
|
"report": report_2,
|
|
"examinePart": "盆腔超声",
|
|
"patient_info": {"sex": "男", "age": "45"}
|
|
}
|
|
|
|
await run_test("用户产前报告(应当无质量问题)", data_1)
|
|
await run_test("错误报告(应当发现性别冲突)", data_2)
|
|
|
|
if __name__ == "__main__":
|
|
asyncio.run(test_all())
|
|
|