FHIR

FHIR 就诊 详解:类别、状态、参与者、诊断和地点,附带示例

就诊(Encounter)是 FHIR 中用于记录一次就诊、入院、远程医疗或居家访问的资源:记录发生时间、地点、参与人员、原因以及诊断。内容包括状态生命周期、类别代码(门诊、住院、急诊、虚拟)、住院详情、有效的 R4 示例,以及 R5 的变化。

作者 发布于 阅读约 1 分钟

简而言之: Encounter(就诊记录)是指患者与医疗系统的一次互动:门诊就诊、住院、急诊就诊、视频咨询、居家访视。它记录了何时(period)、在什么场景下(class:门诊、住院、急诊、居家医疗、虚拟)、其状态(计划 → 进行中 → 已完成)、谁参与了、原因(reasonCode)以及诊断了什么(diagnosis,链接到 Conditions)。观察结果、手术、用药医嘱和文件都指向它们所属的 Encounter,这样就可以按次就诊来阅读记录。

一个有效的 FHIR R4 示例

一个有效的 FHIR R4 Encounter 资源仅需要 status(状态)和 class(类别),但一个有用的 Encounter 还会包含 subject(患者)、period(时间段)、type(类型)、participants(参与者)、reason(原因)以及它确立的诊断。下面的示例是一个已完成的 2 型糖尿病的门诊就诊记录,包含主要执行者、排名第一的主诉诊断、就诊地点和负责的组织。

{
  "resourceType": "Encounter",
  "id": "visit-2026-03-14",
  "status": "finished",
  "class": {"system": "http://terminology.hl7.org/CodeSystem/v3-ActCode", "code": "AMB", "display": "ambulatory"},
  "type": [{"coding": [{"system": "http://snomed.info/sct", "code": "11429006", "display": "Consultation"}]}],
  "serviceType": {"coding": [{"system": "http://terminology.hl7.org/CodeSystem/service-type", "code": "165", "display": "Diabetes Education"}]},
  "subject": {"reference": "Patient/example"},
  "participant": [{
    "type": [{"coding": [{"system": "http://terminology.hl7.org/CodeSystem/v3-ParticipationType", "code": "PPRF", "display": "primary performer"}]}],
    "individual": {"reference": "Practitioner/gp-42"}
  }],
  "period": {"start": "2026-03-14T09:00:00+01:00", "end": "2026-03-14T09:25:00+01:00"},
  "reasonCode": [{"coding": [{"system": "http://snomed.info/sct", "code": "44054006", "display": "Type 2 diabetes mellitus"}]}],
  "diagnosis": [{
    "condition": {"reference": "Condition/t2dm"},
    "use": {"coding": [{"system": "http://terminology.hl7.org/CodeSystem/diagnosis-role", "code": "CC", "display": "Chief complaint"}]},
    "rank": 1
  }],
  "location": [{"location": {"reference": "Location/clinic-3"}, "status": "completed"}],
  "serviceProvider": {"reference": "Organization/hospital"}
}

状态:生命周期

FHIR Encounter 的状态会经历 planned(计划中)、arrived(已到达)、triaged(已分诊)、in-progress(进行中)、onleave(暂离)和 finished(已完成),其他退出状态包括 cancelled(已取消)、entered-in-error(录入错误)和 unknown(未知)。statusHistory(状态历史)元素会记录每个早期状态及其时间段,因此一次住院会显示患者何时到达、何时入院以及何时出院。Encounter 指的是互动本身,而不是预订它的 Appointment(预约)。

planned(已预约,尚未开始) → arrived → triaged(急诊科) → in-progress → onleave(住院患者临时离院) → finished。cancelled 和 entered-in-error 会以其他方式结束;unknown 用于导入。statusHistory 保留了之前的状态及其时间段,因此住院记录会显示患者何时到达、何时入院以及何时出院。请注意,Encounter 不是 Appointment(预约):Appointment 是预约;当患者到达时,会创建一个 Encounter,并通过 appointment 引用它。

类型:场景

Encounter 的 class 来自 HL7 v3 ActCode 系统:AMB ambulatory(门诊)、IMP inpatient(住院)、EMER emergency(急诊)、HH home health(家庭健康)、VR virtual(虚拟/远程医疗)、ACUTE 和 NONAC 用于住院子类型、OBSENC observation(观察)、PRENC pre-admission(入院前)、SS short stay(短期住院)。classHistory 记录转诊,例如一次急诊就诊转为入院。

其他元素

除了 status 和 class,FHIR Encounter 还包含 type(类型)和 serviceType(服务类型)(就诊的种类和所属的服务线)、participant(参与者)(包含角色和时间段的临床医生)、reasonCode 或 reasonReference(原因代码或原因引用)、diagnosis(诊断)(关联的 Condition(病情)及其使用情况和排名)、hospitalization(住院)(入院和出院详情)、随时间变化的 location(地点)条目、length(时长)、serviceProvider(服务提供者)以及 partOf(属于)用于子 Encounter。

  • type 和 serviceType 说明就诊的类型和服务的线路(心脏病学、糖尿病教育),代码因国家而异。
  • participant 列出了临床医生和其他人员,并说明了他们的参与类型(入院医生、就诊医生、主要执行者、顾问、转诊医生)以及他们参与的时间段。
  • reasonCode / reasonReference 说明就诊原因;diagnosis 链接已确立或处理的 Conditions,并带有 use(入院诊断 AD、出院诊断 DD、主诉 CC、合并症 CM、计费)和 rank。请参阅 FHIR Condition 解释。
  • hospitalization 包含入院详情:admitSource(全科医生转诊、急诊、转院)、dischargeDisposition(回家、另一家医院、死亡)、preAdmissionIdentifier、饮食和特殊安排。
  • location 列出了地点及其随时间变化的状态(计划、活动、保留、完成);病房转入会添加新条目。
  • length 是持续时间;serviceProvider 是负责的组织;partOf 链接子就诊(病房留观)到其所属的入院。

R5 中的变化

FHIR R5 将 Encounter.hospitalization 重命名为 admission,将 reasonCode 和 reasonReference 合并为 reason,将 class 改为 CodeableConcept 的列表(一个 Encounter 可以包含多个分类),将 participant.individual 移至 actor,并引入了 EncounterHistory 作为单独的资源来记录状态和类别历史。R4 仍然是 US Core 和大多数国家指南的版本;请参阅 FHIR R4 vs R5。

从 HL7 v2 映射

HL7 v2 ADT 消息通过事件类型映射到 FHIR Encounter:A01 admit(入院)创建一个进行中的 inpatient Encounter,A03 discharge(出院)用 period.end(结束时间)和 discharge disposition(出院处置)完成它,A02 transfer(转诊)添加一个 location 条目,A04 注册一个 ambulatory Encounter,A08 更新它。大部分数据来自 PV1 段,其 visit number(就诊号)成为 Encounter.identifier。

ADT^A01(入院)创建一个具有 IMP 类型和 in-progress 状态的 Encounter;A03(出院)设置 finished 状态并填写 period.end 和 dischargeDisposition;A02(转院)添加一个 location 条目;A04(登记门诊)创建一个 AMB Encounter;A08 更新它。PV1 包含大部分数据(PV1-2 中的患者类型、PV1-3 中的位置、PV1-7 中的就诊医生、PV1-19 中的就诊编号,后者成为 Encounter.identifier)。请参阅 HL7 v2 消息解释。

在 Anpheros 中

Anpheros Platform 通过两种方式创建 FHIR Encounter 资源:诊所通过 API 写入,以及个人登录的就诊在预约发生后成为一个已完成的 Encounter。该就诊的结果、文件和笔记会引用该 Encounter,因此个人和任何他们共享的诊所都可以逐次就诊地读取记录。

在 Anpheros 应用中预订的预约在发生前是 Appointment 资源。

相关页面

来源

常见问题

Encounter 和 Appointment 有什么区别?

Appointment 是对未来某个时间段的预约;Encounter 是实际发生(或正在发生)的互动。当患者到达时,会创建一个 Encounter 并引用该 Appointment。

住院算一个 Encounter 还是多个?

通常是一个 Encounter 代表入院,其中包含每个病房的位置条目以及用于记录设置变化的 classHistory。有些系统会创建通过 partOf 链接的病房留观子就诊;国家指南会说明具体情况。

出院总结放在哪里?

作为 DocumentReference 或 FHIR 文档,其 Composition 引用 Encounter。Encounter 本身包含出院处置和日期,但不包含叙述性内容。

每个 Observation 都需要 Encounter 吗?

不是。患者在家中记录的 Observation,或者来自可穿戴设备的 Observation,没有 Encounter。在就诊期间进行的 Observation 应引用 Encounter,以便按次就诊来阅读记录。

Anpheros Platform

在沙盒中免费试用

5 分钟完成第一次 FHIR 调用. 一个内置患者授权的 HL7 FHIR R4 API:先在沙盒中试用,然后连接您自己的应用或诊所系统。

免费 · 30 位合成患者 · 无需信用卡

本指南仅供参考,不能替代医生诊疗。涉及健康的决定请咨询医生。紧急情况下,请拨打当地急救电话(欧洲为 112)。
撰写人
Anpheros 团队

Anpheros 致力于打造一个由患者掌控的医疗记录,并可在欧盟的 HL7 FHIR R4 平台上与任何诊所共享。这些指南旨在帮助您理解和整理您的健康信息,但不能替代您的医生。

关于 Anpheros →