ibm-watson - 如何通过 IBM Watson Annotator for Clinical Data (ACD) 将药物注释限制在特定文档部分
问题描述
我正在使用 IBM Cloud 中托管的 IBM Watson Annotator for Clinical Data (ACD) API 来检测出院摘要临床记录中提到的药物。我正在使用随 ACD 提供的开箱即用的药物注释器。我能够检测和提取药物提及,但我只想要在“出院药物”或“出院说明”部分提及的药物。有没有办法可以限制 ACD 只返回出现在这两个部分中的药物提及?我只对出院药物感兴趣。例如,给定以下人为的(非 PHI)文本:“患者之前曾给患者开过顺铂。出院药物:1. 阿司匹林 81 毫克,每天口服一次。” 我收到两种药物提及:一种是“顺铂”,另一种是“阿司匹林”——我只想要后者,因为它出现在“出院药物”部分。
解决方案
由于 ACD药物注释器将节标题作为出现在节中的提及注释的一部分捕获,因此您可以定义一个包含过滤器来检查 (1) 所需的规范化节标题以及 (2) 检查如果提及出现在任何部分之外并且不包括部分标题字段作为注释的一部分,则通常存在部分标题字段。这将从 ACD 响应中过滤掉任何未出现在“出院药物”部分中的药物提及。我添加了几个其他相关的规范化部分标题,以便您了解它是如何完成的。随意修改下面的示例以满足您的需求。
这是一个示例流程,您可以通过POST /flows持久化,然后在分析调用中引用为POST /analyze/{flow_id} - 例如 POST /analyze/discharge_med_flow
{
"id": "discharge_med_flow",
"name": "Disharge Medications Flow",
"description": "Detect medication mentions within DISCHARGE MEDICATIONS sections",
"annotatorFlows": [
{
"flow": {
"elements": [
{
"annotator": {
"name": "medication",
"configurations": [
{
"filter": {
"target": "unstructured.data.MedicationInd",
"condition": {
"type": "all",
"conditions": [
{
"type": "all",
"conditions": [
{
"type": "match",
"field": "sectionNormalizedName",
"values": [
"Discharge medication",
"Discharge instructions",
"Medications on discharge"
],
"not": false,
"caseInsensitive": true,
"operator": "equals"
},
{
"type": "match",
"field": "sectionNormalizedName",
"operator": "fieldExists"
}
]
}
]
}
}
}
]
}
}
],
"async": false
}
}
]
}
有关更多详细信息,请参阅IBM Watson Annotator for Clinical Data 过滤文档。
谢谢
推荐阅读
- laravel - 我可以扩展主要内容区域的网格吗?
- jenkins - 詹金斯无法执行 make
- angular - Angular(2+):SCSS 中的图像引用被复制到 dist 的根目录(构建)
- python - 在 scikit-learn 中使用 GridSearch 确定要删除/选择的功能
- html - Bootstrap 与行中的表单内联右对齐
- javascript - 如何使用 QWebEngineView 和 qtwebchannel.js 逐步加载 javascript?
- nginx - NGINX 作为 Wowza 前 HLS 实时流的暖缓存 - 获取每个流数据的持续时间和传输的数据?
- javascript - Javascript Datatable 动态数据
- database - 如何用 VueJS 修复这个提交?
- pdf-generation - 启动 chrome 失败!spawn ...node_modules/puppeteer/.../chrome ENOENT TROUBLESHOOTING 使用 Puppeteer