# 症状数据 API：概念、FHIR 术语和患者报告的症状

> 稳定的症状标识符映射到 ICD-10，作为 REST 和 FHIR CodeSystem、ValueSet 和 ConceptMap 提供；患者报告的症状 Observation 的外观以及如何验证一个。

Source: https://developers.anpheros.com/zh/guides/symptom-data-api

**Anpheros 为每个症状提供一个稳定的标识符（`SYM-0047` 是头痛），将其映射到 ICD-10，并通过 REST 端点以及 FHIR R4 术语（`CodeSystem`、`ValueSet`、`ConceptMap`、`$lookup`）提供列表。患者报告的症状存储为 FHIR `Observation`，其中包含代码、患者自己的描述、强度，以及已知时症状的开始和结束时间。** 本页展示了如何查找概念、患者报告的症状的外观、如何检查您自己编写的症状，以及数据故意不包含的内容。

## 版本内容

| | |
|---|---|
| 版本 | `2026.10.4` (所有响应都会说明) |
| 概念 | 274：197 种症状 (ICD-10 R00–R69 及其非残留子类别，如 R06.0 呼吸困难或 R43.0 嗅觉缺失，以及 WHO 在其他地方分类症状的代码：G47, H53.2, H53.8, H93.1, K59.0, L29.9, M25.5, M54) 和 77 种体征 (R65, R70–R94) |
| 标识符系统 | `https://anpheros.com/fhir/CodeSystem/symptom` |
| 代码 | 根据 WHO ICD-10 2019 版 (2026 年 10 月 15 日) 及其包含和排除说明进行检查；WHO ICD-10 标题在 WHO 确认许可之前不提供 (`icd10.display: null`)，英文官方标题是 ICD-11 的标题 |
| ICD-11 | 每个概念都映射到一个 ICD-11 MMS 2025-01 代码 (第 21 章症状代码) 和一个身体系统 |
| 提供的标签 | WHO ICD-11 英文标题 (`source`)，Anpheros Daily 使用的罗马尼亚语标签和匹配词 (`in_use`)，以及 19 种其他语言的通俗标签 (`ai_reviewed`：机器翻译，经过 AI 辅助审查，非专业医学翻译员；对于 2026.10.3 版本新增的 188 个概念，罗马尼亚语名称也是 AI 翻译) |
| 临床审查 | `clinical_review: false` — 没有临床医生审查过此版本；没有病因或疾病关联 |
| 警告标志 | 32 个，涉及 14 个概念，直接引用自 CDC 和 NIDDK 页面 (`review: source_quoted`) |

标识符永不重复使用。已撤回的概念将保留在列表中，并带有 `status: deprecated`。

## 查找概念 (REST)

```bash
export API=https://platform.anpheros.com/v1
export KEY=sk_test_…

curl "$API/terminology/symptoms?q=headache" -H "Authorization: Bearer $KEY"
```

`q` 匹配概念 ID、ICD-10 和 ICD-11 代码、标签和匹配术语。其他参数：`icd10=R51`（用于单个代码的概念）、`icd11=MB4D`、`body_system=nervous`、`kind=symptom|finding|all`、`lang=de`（`display` 的语言：首选标签，否则为普通标签，否则为英语）、`limit` 和 `offset`。

```json
{
  "data": [{
    "concept_id": "SYM-0047",
    "system": "https://anpheros.com/fhir/CodeSystem/symptom",
    "kind": "symptom",
    "status": "active",
    "display": "Headache, not elsewhere classified",
    "display_lang": "en",
    "icd10": {"system": "http://hl7.org/fhir/sid/icd-10", "code": "R51", "display": null, "equivalence": "equivalent"},
    "icd11": {"system": "http://id.who.int/icd/release/11/mms", "code": "MB4D", "display": "Headache, not elsewhere classified", "equivalence": "equivalent"},
    "body_system": {"code": "nervous", "display": "Symptoms, signs or clinical findings of the nervous system", "icd11_block": "BlockL1-MB4"},
    "labels": [
      {"lang": "ro", "use": "preferred", "text": "Durere de cap (cefalee)", "review": "in_use"},
      {"lang": "de", "use": "lay", "text": "Kopfschmerzen", "review": "ai_reviewed"}
    ],
    "match_terms": [{"lang": "ro", "text": "durere de cap"}, {"lang": "ro", "text": "cefalee"}],
    "clinical_review": false,
    "release": "2026.10.2"
  }],
  "total": 1,
  "release": "2026.10.2"
}
```

`labels` 列出了所有提供的标签（20 种语言；此处已缩短）。一个概念：`GET $API/terminology/symptoms/SYM-0047`。

## 与 FHIR 术语相同的列表

```bash
export BASE=https://platform.anpheros.com/fhir/R4

curl "$BASE/CodeSystem/anpheros-symptom" -H "Authorization: Bearer $KEY"
curl "$BASE/CodeSystem/\$lookup?system=https://anpheros.com/fhir/CodeSystem/symptom&code=SYM-0047&displayLanguage=ro" -H "Authorization: Bearer $KEY"
curl "$BASE/ValueSet/\$expand?url=https://anpheros.com/fhir/ValueSet/anpheros-symptoms&filter=cough" -H "Authorization: Bearer $KEY"
curl "$BASE/ConceptMap/anpheros-symptom-to-icd10" -H "Authorization: Bearer $KEY"
curl "$BASE/ConceptMap/anpheros-symptom-to-icd11" -H "Authorization: Bearer $KEY"
```

- `CodeSystem/anpheros-symptom` — `content: complete`, `status: draft` (该版本尚未经过临床医生审查); 属性 `kind`, `status`, `icd10`; 罗马尼亚语标签, 将术语和普通标签匹配为 `designation`。
- `ValueSet/anpheros-symptoms` — 活跃症状 (不包括检查结果); `$expand` 采用 `filter`, `displayLanguage`, `count` 和 `offset`。
- `ConceptMap/anpheros-symptom-to-icd10` — `equivalent`, 或在 ICD-10 代码涵盖的概念多于概念本身时使用 `wider` (H53.8 "其他视力障碍" 比视力模糊更广泛)。
- 所有这些都是只读的, 并在服务器的 `CapabilityStatement` (`GET $BASE/metadata`) 中列出。

## 患者报告的症状

这是 Anpheros Daily 记录的关于患者本人存在的症状的方式：

```json
{
  "resourceType": "Observation",
  "status": "final",
  "meta": {"profile": ["https://anpheros.com/fhir/StructureDefinition/anpheros-symptom-observation"]},
  "category": [{"coding": [{"system": "urn:anpheros:observation-category", "code": "symptom"}]}],
  "code": {
    "text": "Mă doare capul de 3 zile",
    "coding": [
      {"system": "http://hl7.org/fhir/sid/icd-10", "code": "R51"},
      {"system": "https://anpheros.com/fhir/CodeSystem/symptom", "code": "SYM-0047", "display": "Headache"}
    ]
  },
  "subject": {"reference": "Patient/…"},
  "effectivePeriod": {"start": "2026-10-11T08:00:00+03:00", "end": "2026-10-14T18:00:00+03:00"},
  "valueQuantity": {"value": 6, "unit": "1-10", "system": "http://unitsofmeasure.org", "code": "{score}"}
}
```

- `code.text` 始终是患者本人的原话，使用其语言（`Observation.language`）；代码紧随其后。
- 当患者说明症状开始或结束的时间时，使用 `effectivePeriod`；否则，使用 `effectiveDateTime` 表示记录症状的时刻。时间会保留记录它们的手机的时区偏移。
- `valueQuantity` 是 1-10 的强度评分；如果没有评分则没有该值。
- 当患者编辑症状时，同一个资源会获得一个新版本 — 使用 `GET $BASE/Observation/{id}/_history` 读取早期版本。
- 使用 `?category=symptom` 按类别过滤；同意范围（例如 `patient/Observation.rs?category=symptom`）的工作方式相同。

### 永不发布为症状的内容

只有**存在**且**关于患者本人**的症状才会成为 Observation，并且仅在自由文本被标准化之后。诸如“我头不再疼了”、“明天可能发烧”、“我母亲咳嗽了”或正常化器无法读取的文本，都不会成为患者的症状；如果已发布的症状后来被更正为以上任何一种，其 Observation 将被撤回（软删除 — 历史记录保留）。亲属的抱怨不会自动转化为家族史。

## 检查您输入的症状

```bash
curl -X POST "$BASE/Observation/\$validate?profile=anpheros-symptom" -H "Authorization: Bearer $KEY" \
  -H "Content-Type: application/fhir+json" -d @symptom.json
```

`anpheros-symptom` 配置文件（规范 `https://anpheros.com/fhir/StructureDefinition/anpheros-symptom-observation`）报告，作为 `OperationOutcome`：

| 规则 | 严重性 |
|---|---|
| Category `urn:anpheros:observation-category\|symptom` (HL7 `observation-category` 系统没有 `symptom` 代码) | error |
| `code.text` present | error |
| An Anpheros concept that exists and matches the ICD-10 code | error |
| `subject` is a Patient; `status` final, amended, corrected or entered-in-error; `effective[x]` present; `effectivePeriod.end` not before `start` | error |
| Intensity as UCUM `{score}` between 0 and 10 | error |
| Only free text, no codes | information (still valid) |

与其他配置文件一样，它会报告而不是拒绝写入。您发送的 `meta.profile` 会保留在存储的资源中。

## 限制

- 此版本未经临床医生审查；请仅用于编码和搜索，不得用于医疗决策。
- 警告标志逐字引用自公共领域的美国联邦页面（CDC：中风和心脏病发作迹象；NIDDK：腹泻和便秘），并于 2026 年 10 月 15 日与这些页面进行了核对。每项都包含来源本身的标题 (`context`)、建议 (`quote`)、适用人群 (`applies_to`)、带有许可和署名的来源 (`review: source_verified`) 以及非诊断且未经临床医生审查的说明。来源是美国的：如果引用中提到 9-1-1，则会添加说明欧洲的紧急电话号码是 112。
- 不提供任何病因或病情关联：在临床医生审查某项之前，`associations` 保持为空。关联始终为“可能与...相关”。
- SNOMED CT 代码仅在许可允许的情况下编写（参见 [FHIR 代码系统](https://developers.anpheros.com/zh/guides/fhir-code-systems)）。
- 较早的症状观察将在下次更新时接收 Anpheros 概念编码。

## 相关

- [Anpheros 症状引擎：方法论](https://developers.anpheros.com/zh/guides/symptom-engine)：概念的分配、检查和评估方式
- [Anpheros 搜索](https://developers.anpheros.com/zh/guides/anpheros-search)：一次性搜索症状、疾病和治疗方法，包含来源
- [FHIR 代码系统](https://developers.anpheros.com/zh/guides/fhir-code-systems)：每个资源类型的代码系统
- [纵向患者数据 API](https://developers.anpheros.com/zh/guides/longitudinal-patient-data-api)
- [如何使用 FHIR R4 存储病历](https://developers.anpheros.com/zh/guides/store-medical-records-fhir)
- [FHIR 平台](https://developers.anpheros.com/zh/guides/fhir)
