AI 代理需要知道“早上服用 Nolvadex 20 mg”指的是他莫昔芬,一种抗雌激素药物,ATC 代码为 L02BA01,并且这是每日口服剂量,而不是一次性剂量。这些知识从何而来,以及药物如何存储以便下一个系统能够以相同的方式读取它们,这才是“我应该使用哪个药物数据库”背后真正的问题。本指南将为 Anpheros 平台解答这个问题,并诚实地说明平台提供和不提供的内容。
面向开发者的技术版本: AI 代理的药物数据 · developers.anpheros.com 上的 FHIR 代码系统,包含请求、响应和限制。本页面为通俗易懂的版本。
先代码:ATC
世界卫生组织的解剖学治疗化学分类系统为每种活性物质分配一个代码,该代码按其作用对象和作用方式进行组织:C09AA02 是依那普利(C 心血管,C09 肾素-血管紧张素,C09AA ACE 抑制剂)。ATC 是免费的、国际通用的且稳定的,因此 Anpheros 为每种药物都分配了 ATC 代码。产品名称保留在 code.text 中,因此用户仍然可以看到“Nolvadex”,而代理可以看到 L02BA01。
ATC 不提供的信息:剂型、包装规格、国家产品标识符、价格或药物相互作用。这些信息是国家特有的,并且通常需要授权。需要这些信息的代理需要第二个数据源。
平台提供的内容
- 捆绑的 ATC 子集,用于查找,足以覆盖欧洲用户实际使用的药物,包含显示名称,可通过
GET /v1/terminology/atc?q=进行搜索,也可通过代码GET /v1/terminology/atc/{code}进行搜索。相同的子集也支持 MCP 工具lookup_code。子集之外的代码仍可在资源中使用;查找功能仅不显示其显示名称。 - 捆绑的 LOINC 子集,用于测量和实验室结果,在
/v1/terminology/loinc下具有相同的端点。 - 形状正确的 FHIR 资源:
MedicationStatement用于治疗计划(用户服用什么药物、何时开始服用、多久服用一次),MedicationAdministration用于记录每次服用的剂量,并链接到其声明,Immunization包含 ATC J07 疫苗代码,以及AllergyIntolerance包含用于药物过敏的 ATC 代码。
平台不提供的内容:完整的药物数据库、药物相互作用检查、剂量范围检查或临床决策支持。这些内容是故意排除在外的,因为它们会使平台成为医疗器械。如果您的代理需要这些功能,请使用授权服务,并将平台作为记录。
代理如何读取药物信息
上下文 API 返回活性药物及其 ATC 代码、文本、剂量和来源(由谁录入:用户、医生、导入),在令牌预算内,以便模型看到一个清晰的列表而不是一堆资源。通过 MCP,相同的功能是 get_patient_context,而使用 MedicationStatement?patient=…&status=active 进行 search_fhir 可以获取原始资源。
curl "$BASE/v1/patients/$PID/medications?status=active" -H "Authorization: Bearer $TOKEN"
代理如何写入药物信息
代理不直接写入,而是提出建议。由注册为 AI 代理的应用程序在用户同意的情况下发送的 MedicationStatement 会被验证并作为建议保存。用户会看到“助手 X 希望添加每日服用他莫昔芬 20 mg”,然后选择接受或拒绝,只有被接受的建议才会进入记录,并标记为 AI 生成。代理应在确信时发送 ATC 代码,并在 code.text 中始终包含产品名称;即使是仅包含人类可读文本而没有代码的条目,也会被接受,并可在之后进行编码。
在发送之前,validate_fhir_resource(或 POST /fhir/R4/MedicationStatement/$validate)会告知代理该资源是否格式正确,从而避免用户被要求批准格式错误的条目。
选择第二个数据源(如果需要)
如果代理必须回答“这个药物是否与那个药物相互作用”,请根据国家(相互作用数据和产品标识符因国家而异)和许可(大多数是商业性的)选择数据源。将结果作为您自己的注释保留,而不是作为用户记录中的资源,除非有临床医生确认。记录应包含实际服用的药物;建议层由您负责。
常见问题
Anpheros 是否有完整的药物数据库?
没有。它有一个捆绑的 ATC 子集用于编码和查找,并将药物存储为带有 ATC 代码的 FHIR 资源。不包含药物相互作用、剂量检查和国家产品目录。
为什么选择 ATC 而不是 RxNorm 或国家列表?
ATC 是国际通用的且免费的,这对于一个跟随用户跨越国界的记录非常重要。RxNorm 以美国为中心;国家列表仅限于本国。应用程序可以在同一个资源上添加第二个编码(例如国家产品代码)在 ATC 代码旁边。
代理可以向用户的记录添加药物吗?
只能作为用户批准的建议。未经用户批准,AI 代理发送的任何内容都不会被应用。
代理如何知道是谁录入了药物信息?
上下文 API 中的每个条目都包含 author_type 和来源,每个资源都有一个 Provenance。由医生录入的药物和由用户输入的药物对模型来说看起来是不同的,这就是重点。
有免费的试用方式吗?
是的:沙盒是免费的,其 30 名合成患者拥有真实的 ATC 编码药物。请参阅 免费 FHIR 服务器:沙盒。
把健康档案随身带着
Anpheros Daily 把症状、化验、药物和文件集中保存在一个地方,采用标准格式,由你掌控。Basic 方案免费。