简而言之: 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 资源。
相关页面
- FHIR Condition 解释
- FHIR Patient 资源解释
- HL7 v2 消息解释:ADT 和 ORU
- FHIR R4 vs R5
- FHIR DiagnosticReport 解释
- 开发者网站上的 Encounter 示例
来源
- HL7 FHIR R4: Encounter
- HL7 FHIR R5: Encounter
- HL7 Terminology: v3 ActCode (就诊类型)
- HL7 Terminology: diagnosis-role 代码系统
- HL7 US Core: Encounter profile
常见问题
Encounter 和 Appointment 有什么区别?
Appointment 是对未来某个时间段的预约;Encounter 是实际发生(或正在发生)的互动。当患者到达时,会创建一个 Encounter 并引用该 Appointment。
住院算一个 Encounter 还是多个?
通常是一个 Encounter 代表入院,其中包含每个病房的位置条目以及用于记录设置变化的 classHistory。有些系统会创建通过 partOf 链接的病房留观子就诊;国家指南会说明具体情况。
出院总结放在哪里?
作为 DocumentReference 或 FHIR 文档,其 Composition 引用 Encounter。Encounter 本身包含出院处置和日期,但不包含叙述性内容。
每个 Observation 都需要 Encounter 吗?
不是。患者在家中记录的 Observation,或者来自可穿戴设备的 Observation,没有 Encounter。在就诊期间进行的 Observation 应引用 Encounter,以便按次就诊来阅读记录。
在沙盒中免费试用
5 分钟完成第一次 FHIR 调用. 一个内置患者授权的 HL7 FHIR R4 API:先在沙盒中试用,然后连接您自己的应用或诊所系统。
免费 · 30 位合成患者 · 无需信用卡

