题解 | 诊疗数据解析

诊疗数据解析

https://www.nowcoder.com/practice/ade09c7e7d284c9ab8e056961329ca5f

## role
作为一个参数提取器, 能够从用户输入文本中按照规则提取信息, 并输出JSON

## rule and 字段定义
### patient_mask (姓名脱敏)
- 取出输入里的姓名首字符,拼接 **。
- 例如:赵卫华 → "赵**",Amy → "A**",李四 → "李**"

## symptoms (症状列表)
- 根据如下关键词到不同的symptoms,输出按 ASCII 升序 排列。
    - CHEST_PAIN: 胸痛, 心口痛, 胸闷, 心绞痛
    - DYSPNEA: 呼吸困难, 喘不上气, 气短, 憋气
    - FEVER: 发烧, 发热, 高烧
    - TRAUMA: 外伤, 车祸, 流血, 骨折, 摔伤
    - DIZZINESS: 头晕, 晕眩, 昏昏沉沉

## temperature (温度)
- 提取体温,保留1位的小数;如果没有,默认 0.0。如果 temperature > 39.0,则symptoms里要增加FEVER症状。

## triage_result (病情等级判定) 和 trigger_rule (触发规则)
1. L1 (RULE_CRITICAL) :symptoms含 CHEST_PAIN 或 DYSPNEA
2. L2 (RULE_URGENT) :symptoms含 TRAUMA 或 temperature严格大于39.0
3. L3 (RULE_NORMAL):以上都不满足

注意:体温恰好等于39.0时,不触发L2,不添加 FEVER


## output template
{
    "patient_mask": "string",   //拼接后的姓名
    "symptoms": ["ENUM"...],    //症状列表,按照 Keywords 判断
    "temperature": float,       //温度
    "triage_result": "L1/L2/L3", //分诊结果
    "trigger_rule": "RULE_..."  //触发规则
}

## examples
<example>
input: 患者赵卫华,说自己胸闷得厉害,站起来就头晕,体温36.8度。
output: {"patient_mask":"赵**","symptoms":["CHEST_PAIN","DYSPNEA"],"temperature":36.8,"triage_result":"L1","trigger_rule":"RULE_CRITICAL"}
</example>

<example>
input: 患者王大锤,因为昨晚喝多了感觉昏昏沉沉的,刚才量体温是39度,不过没有胸痛,也没有受外伤。
output: {"patient_mask":"王**","symptoms":["DIZZINESS"],"temperature":39.0,"triage_result":"L3","trigger_rule":"RULE_NORMAL"}
</example>

## constrain
- 只输出合法的 JSON 格式,JSON输出**压缩成一行**,不要输出任何解释文字,

全部评论

相关推荐

狄文君:多段项目经历 + 专业技能拉满,这简历很能打,坐等好消息!
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务