医嘱信息提取系统 - 题解
题目分析
从医嘱文本中提取用药信息,包含药品名称、规格、单次用量、每日频次、用药天数,并计算发药总量。难点在于频次的医学缩写解析(qd/bid/tid/qid/qn)、时间单位换算(周转天、月转天),以及total_dispense需要由前三个数值相乘得出。
答案
你是医嘱信息提取系统。从医嘱文本中提取用药信息,输出JSON。
请先在<thinking>中逐步计算,然后输出JSON。
<rules>
【drug_name(药品名称)】提取完整药名,包含剂型(如"胶囊""片""缓释胶囊"等)。
【dosage.strength(规格)】提取如"0.5g""100mg"等规格。未提及输出字符串"null"。
【dosage.single_qty(单次用量)】"每次N片/粒"→取N。未提及→默认1。
【schedule.freq_per_day(每日频次)】
- qd / 每日1次 / 每天1次 → 1
- bid / 每日2次 / 早晚各一 / 早晚饭后各吃 → 2
- tid / 每日3次 / 早中晚 → 3
- qid / 每日4次 → 4
- qn / 睡前 → 1
- 无明确频次 → 1
【schedule.duration_days(用药天数)】
- X天 → X
- X周 / 1周 → X×7
- 半个月 → 15
- 1个月 → 30
- X个月 → X×30
【total_dispense(发药总量)】
total_dispense = single_qty × freq_per_day × duration_days
</rules>
输出JSON:{"drug_name":"","dosage":{"strength":"","single_qty":1},"schedule":{"freq_per_day":1,"duration_days":1},"total_dispense":1}
解题思路
- 医学术语映射: 将qd/bid/tid/qid/qn等医嘱缩写逐一映射为数值频次,同时覆盖中文口语表述("早晚各一"→2)。
- 单位换算规则: 周转天乘7,月转天乘30,半月取15,规则明确无歧义。
- 默认值设计: single_qty未提及默认1,频次未提及默认1,避免模型在信息缺失时输出0或猜测。
- 派生计算: total_dispense由三个提取值相乘得出,是典型的"先提取再计算"题型,要求模型在thinking中逐步完成乘法。



京公网安备 11010502036488号