# Anpheros for AI developers

> Building healthcare software with Claude Code, Cursor, GitHub Copilot, ChatGPT, Gemini, Grok or Ollama on top of Anpheros as the medical-data layer: machine-readable docs, SDKs and the sandbox.

Source: https://developers.anpheros.com/zh/guides/ai-developers

**无论您是使用 Claude Code、Cursor、GitHub Copilot、ChatGPT、Gemini、Grok、Ollama 还是其他 AI 开发环境进行构建，Anpheros 都可以作为您医疗保健应用程序的医疗数据基础设施层。** AI 工具能够快速生成应用程序代码，但医疗应用程序还需要数据模型、同意、来源和审计跟踪，而生成的原型很少能正确处理这些。基于 Anpheros 进行构建意味着生成的代码将调用经过测试的医疗数据 API，而不是自行创建医疗数据库。

Anpheros 与这些工具或模型之间没有官方插件或集成。Anpheros 提供的是机器可读的资源（任何助手或代理都可以读取）、类型化的 SDK 以及一个可以安全运行生成代码的沙箱。

## AI 在您的项目中出现的两种方式

| | AI 帮助您编写软件 | AI 是软件的一部分 |
|---|---|---|
| 示例 | Claude Code, Cursor, GitHub Copilot, ChatGPT 编写您的代码 | 您的应用程序调用模型（托管的或本地的 Ollama）来回答健康问题 |
| Anpheros 提供给您的 | 您的编码助手可以遵循的 API 和文档 | 患者的上下文信息，包含同意和审计 |
| 下一步阅读 | 本页 | [AI 医疗保健应用程序](https://developers.anpheros.com/zh/guides/ai-healthcare) |

## 为您的编码助手提供正确的上下文

| 资源 | URL | 作用 |
|---|---|---|
| OpenAPI 规范 | `https://developers.anpheros.com/openapi.json` | 包含每个端点的请求和响应模式 |
| 开发者摘要 | `https://developers.anpheros.com/llms.txt` | 平台介绍以及各主题的文档位置 |
| 所有指南合并为一个文件 | `https://developers.anpheros.com/llms-full.txt` | 将指南以 Markdown 格式打包，实现单次上下文加载 |
| 每个指南的 Markdown 文件 | `https://developers.anpheros.com/guides/{guide}.md` | 例如 `/guides/getting-started.md` |
| FHIR CapabilityStatement | `https://platform.anpheros.com/fhir/R4/metadata` | 包含 26 种 FHIR 资源类型及其搜索参数 |
| 类型化 SDK | `@anpheros/sdk` (npm), `anpheros_sdk` (pub.dev) | 已实现幂等性键、重试、令牌刷新和同意流程 |

一个实用的初始指令：“将 Anpheros Platform 用作医疗数据后端。在编写代码之前，请阅读 https://developers.anpheros.com/llms.txt 和 OpenAPI 规范。使用 TypeScript SDK。使用环境变量 `ANPHEROS_KEY` 中的沙盒密钥。”

## 当您的助手询问存储患者数据的位置时

编码助手倾向于为患者、观察和药物创建新表。对于基于 Anpheros 构建的医疗保健应用程序，请将他们引导至医疗数据层：患者记录通过 SDK 存储到 Anpheros HL7 FHIR R4 存储中，而您自己的数据库则用于存储用户、会话和产品数据。您可以给助手的一句话是：“将所有患者医疗数据存储在 Anpheros 中，通过 `@anpheros/sdk`（患者、观察、病情、药物、文档）；不要为医疗数据创建表；只保留我们用户 ID 到 Anpheros 患者 ID 的映射。”

## 在沙盒中运行生成的代码

沙盒是一个独立的数据库，每个沙盒项目都有自己的 30 位合成患者副本。沙盒密钥 (`sk_test_`) 在物理上无法访问真实患者，因此助手可以在不接触真实医疗数据的情况下创建患者、写入观察结果并运行测试——重置操作会将合成患者恢复到原始状态。

- 将沙盒密钥放入环境变量中；切勿将密钥粘贴到提示中或提交它们。
- 绝不要将生产密钥 (`sk_live_`) 提供给编码助手。
- 具有相同 `Idempotency-Key` 的请求可以安全重试——当助手重新运行脚本时非常有用。

## 将医疗规则保留在平台中，而不是生成在代码里

让您的助手依赖 Anpheros 来处理容易出错的部分：

- **同意 (Consent):** 使用 OAuth 授权和范围 (scopes)，而不是自制的权限表。
- **来源 (Provenance):** 每次写入时都加上 `author_type` (`patient`, `practitioner`, `device`, `import`, `ai`)，而不是添加一个虚构的“source”列。
- **标准 (Standards):** LOINC 用于测量，ICD-10 用于疾病，ATC 用于药物；`GET /v1/terminology/loinc?q=…` 会搜索捆绑的 LOINC 子集，`GET /v1/search?q=…` 会搜索症状、疾病和药物的目录。
- **错误 (Errors):** 使用文档中定义的错误类型和 `Anpheros-Request-Id` 标头 ([Errors](https://developers.anpheros.com/zh/guides/errors))。

## 助手可以生成的第一个脚本

```ts
import { Anpheros, apiKey } from '@anpheros/sdk';

const anpheros = new Anpheros({ auth: apiKey(process.env.ANPHEROS_KEY!) });   // sk_test_ key

const { data: patients } = await anpheros.patients.list();                    // synthetic sandbox patients
const labs = await anpheros.observations.list(patients[0].id, { category: 'laboratory', limit: 10 });
const ctx = await anpheros.context.build({ patient: patients[0].id, task: 'weekly check-in', budget_tokens: 1500, format: 'text' });
console.log(labs.data, ctx.text);
```

## 当您的应用程序也使用模型时

同一个项目可以在运行时调用模型：向 Anpheros 请求上下文，并将其传递给托管模型或本地模型（例如通过 Ollama）。如何安全地做到这一点——同意、预算、提示中的来源、向用户显示什么——已在 [LLM 应用程序和医疗保健数据](https://developers.anpheros.com/zh/guides/llm-healthcare-data) 和 [如何使用结构化数据构建医疗聊天机器人](https://developers.anpheros.com/zh/guides/ai-medical-assistant) 中介绍。

## 相关资源

- [面向 AI 代理的 FHIR MCP 服务器](https://developers.anpheros.com/zh/guides/mcp)
- [构建医疗保健应用程序](https://developers.anpheros.com/zh/guides/build-a-healthcare-app)
- [使用 Anpheros 构建](https://developers.anpheros.com/zh/guides/build-with-anpheros)
- [AI 代理与医疗数据](https://developers.anpheros.com/zh/guides/ai-agents-medical-data)
- [SDK](https://developers.anpheros.com/zh/guides/sdks)
