简短回答: DiagnosticReport 是 FHIR 中的 报告 资源:实验室、影像科或病理科出具的一组发现,包含状态、类别、签发者和签发时间、结论、它所包含的结果 Observations、它所描述的影像研究以及呈现形式(签名的 PDF)。一次血常规检查就是一个 DiagnosticReport,包含十几个 Observations;一次 CT 扫描就是一个 DiagnosticReport,包含一段文字结论和指向影像的链接。Observation 是一个单一数值;DiagnosticReport 是传递多个数值的文档。
有效的 FHIR R4 示例
一个有效的 FHIR R4 DiagnosticReport 需要状态(status)和代码(code),在实际应用中通常还包含患者(subject)、类别(category)、生效时间(effective time)、发布时间(issued time)、执行者(performer)以及它所包含的结果(Observations)。下面的示例是一个完整的血常规报告,状态为最终(final),使用 LOINC 面板代码进行编码,链接了三个 Observations,一个 SNOMED CT 代码的结论,以及签名的 PDF。
{
"resourceType": "DiagnosticReport",
"id": "cbc-2026-03-14",
"identifier": [{"system": "https://lab.example.org/reports", "value": "RPT-2026-77812"}],
"basedOn": [{"reference": "ServiceRequest/order-778812"}],
"status": "final",
"category": [{"coding": [{"system": "http://terminology.hl7.org/CodeSystem/v2-0074", "code": "HM", "display": "Hematology"}]}],
"code": {"coding": [{"system": "http://loinc.org", "code": "58410-2", "display": "CBC panel - Blood by Automated count"}]},
"subject": {"reference": "Patient/example"},
"encounter": {"reference": "Encounter/visit-2026-03-14"},
"effectiveDateTime": "2026-03-14T08:40:00+01:00",
"issued": "2026-03-14T13:05:00+01:00",
"performer": [{"reference": "Organization/central-lab"}],
"resultsInterpreter": [{"reference": "Practitioner/haematologist-7"}],
"specimen": [{"reference": "Specimen/edta-1"}],
"result": [
{"reference": "Observation/hgb-2026-03-14"},
{"reference": "Observation/wbc-2026-03-14"},
{"reference": "Observation/plt-2026-03-14"}
],
"conclusion": "Mild normocytic anaemia; other parameters within reference ranges.",
"conclusionCode": [{"coding": [{"system": "http://snomed.info/sct", "code": "271737000", "display": "Anemia"}]}],
"presentedForm": [{"contentType": "application/pdf", "url": "https://lab.example.org/reports/RPT-2026-77812.pdf", "title": "CBC report"}]
}
result 中引用的每个 Observation 都有其自己的 LOINC 代码、值、单位和参考范围,如 FHIR Observation 详解 中所述。
状态:报告的生命周期
FHIR DiagnosticReport 的状态反映了报告的生命周期:报告被订购时为已注册(registered),结果陆续到达时为部分(partial),完成后但未验证时为初步(preliminary),签名后为最终(final),之后如果发生更改则会被修订(amended)、更正(corrected)或补充(appended);否则,报告会被取消(cancelled)或标记为录入错误(entered-in-error)。用户需要关注修订和更正的报告,因为上周的最终值可能已经发生变化。
registered(已订购,尚无内容)→ partial(部分结果已录入)→ preliminary(所有结果已录入,未验证)→ final(已签名)→ amended 或 corrected(签名后更改,原因在备注中说明)或 appended(添加了更多内容)。否则,cancelled 和 entered-in-error 会结束报告。消费者必须关注 amended 和 corrected:上周还是最终结果的值可能已更改,并且报告的 issued 时间也会随之更新。
类别和代码
DiagnosticReport.category 指明了出具报告的诊断服务,使用 HL7 v2 表 0074 中的代码,例如 LAB(实验室)、HM(血液学)、CH(化学)、MB(微生物学)、RAD(放射学)和 PAT(病理学)。DiagnosticReport.code 说明了报告的内容,通常是实验室报告的 LOINC 面板代码,影像和病理报告的 LOINC 放射学或病理学研究代码,或本地的检查代码。
category 使用 HL7 v2 表 0074 诊断服务部分:LAB(实验室)、HM(血液学)、CH(化学)、MB(微生物学)、RAD(放射学)、PAT(病理学)、CG(细胞遗传学)等;US Core 要求实验室报告使用 LAB。code 说明报告的内容:对于实验室,使用 LOINC 面板代码(全血细胞计数 58410-2、综合代谢面板 24323-8、血脂面板 57698-3);对于影像,使用 LOINC 放射学代码或本地手术代码;对于病理学,使用 LOINC 病理学研究代码。请参阅 什么是 LOINC 代码?。
实验室、影像和病理报告
实验室、影像和病理报告使用相同的 FHIR DiagnosticReport 资源,但侧重于不同的元素。实验室报告会为每个分析物(analyte)包含一个 Observation 和 Specimen 资源;影像报告包含放射科医生的结论、对 ImagingStudy 的引用以及关键图像;病理报告包含诊断文本、分级(grading)的 Observations 和组织标本。这三类报告都会在 presentedForm 中附加签名的 PDF。
| 实验室 | 影像 | 病理 | |
|---|---|---|---|
| result | 每个分析物一个 Observation | 通常没有;有时有测量值 | 分级、标记、切缘的 Observations |
| conclusion | 可选评论 | 放射科医师的印象 | 诊断文本 |
| imagingStudy | — | 指向 ImagingStudy | 数字化的全切片图像 |
| media | — | 关键图像 | 代表性切片图像 |
| presentedForm | 签名 PDF | 签名 PDF | 签名 PDF |
| specimen | 血液、尿液… Specimen 资源 | — | 组织 Specimen 资源 |
对于影像,图像本身保留在 DICOM 中;请参阅 FHIR ImagingStudy 与 DICOMweb。关于这些报告面向患者的含义,请参阅 如何阅读您的实验室结果 和 CT 扫描报告详解。
DiagnosticReport 与 DocumentReference
FHIR DiagnosticReport 是一个结构化报告,其发现(findings)是或可以是编码的 Observations,而 DocumentReference 是指向任何类型文档的指针,包含元数据和文件。结构化的实验室结果会成为一个 DiagnosticReport;没有结构化数据的扫描 PDF 会成为一个 DocumentReference,许多系统会为同一份报告同时创建两者。
DiagnosticReport 是一个结构化报告,其发现是(或可以是)编码的 Observations;DocumentReference 是指向任何类型文档的指针,包含元数据和文件。以 HL7 v2 ORU 格式收到的实验室报告会成为一个包含 Observations 的 DiagnosticReport。来自其他国家的报告的扫描 PDF,如果没有结构化数据,则是一个 DocumentReference。许多系统会同时创建两者:DiagnosticReport 用于数据,presentedForm 或 DocumentReference 用于签名文件。请参阅 DocumentReference 与 DiagnosticReport 与 Binary。
导致报告出错的常见错误
最常导致 FHIR DiagnosticReports 出错的常见错误包括:发送了没有报告来分组的 Observations;将报告标记为最终(final),但其 Observations 仍处于初步(preliminary)状态;将结论重复录入到一个使用自定义代码的 Observation 中;省略发布时间戳(issued timestamp),导致无法检测到更正;以及在已存在 LOINC 面板代码的情况下,创建本地面板代码。
- 结果被写成 Observations 而没有 DiagnosticReport,导致消费者无法区分哪些值是同时发布的,或者哪个报告被修改了。
- 报告的
status: final与其 Observations 的preliminary状态不符。 - 结论被复制到具有虚构代码的 Observation 中。
- 缺少
issued时间,导致消费者无法排序报告或检测更正。 - 在存在 LOINC 面板代码的情况下,本地发明了面板代码。
在 Anpheros 中
Anpheros 平台将通过其实验室连接器以 HL7 v2 ORU、CSV 或 JSON 格式接收的实验室结果,转换为 FHIR Observations,并将其分组在 DiagnosticReport 下,将实验室设为执行者(performer),并在可用时将原始文件作为 presentedForm。在应用中由用户扫描的报告,会作为一份报告保留,包含其单独的结果和原始图像。
(实验室连接器)文档中说明了支持的格式。由于扫描的原始报告会与报告一起保存,医生可以对照原始文件检查任何数值。修订后的报告通过资源版本(resource versions)保留其历史记录。
相关页面
- FHIR Observation 详解
- DocumentReference 与 DiagnosticReport 与 Binary
- FHIR ImagingStudy 与 DICOMweb
- 实验室连接器:HL7 v2、CSV 或 JSON 转 FHIR
- 什么是 LOINC 代码?
- 开发者网站上的 DiagnosticReport 示例
来源
- HL7 FHIR R4: DiagnosticReport
- HL7 Terminology: v2-0074 diagnostic service section
- HL7 US Core: DiagnosticReport for laboratory results
- HL7 IPS: DiagnosticReport profile
- LOINC: panels and forms
常见问题
单个检测需要 DiagnosticReport 吗?
严格来说,单个 Observation 可以独立存在,家庭测量通常也是如此。由实验室出具的任何报告,即使只有一个结果,最好也封装在 DiagnosticReport 中,以便状态、签发者和签名形式都能随之携带。
如何表示修改后的结果?
更新 Observation(其版本会改变),将 DiagnosticReport 的状态设置为 amended 或 corrected,更新 issued 时间,并在备注中记录原因。切勿创建具有相同标识符的第二个报告。
参考范围放在哪里?
放在每个 Observation 的 referenceRange 中,因为参考范围因分析物和实验室而异。报告本身没有参考范围。
DiagnosticReport 可以包含其他报告吗?
在 R4 中不能直接包含;相关报告通过 basedOn 或扩展相互引用,面板的子面板通常建模为具有 hasMember 的 Observations。R5 保持相同的方法。
在沙盒中免费试用
5 分钟完成第一次 FHIR 调用. 一个内置患者授权的 HL7 FHIR R4 API:先在沙盒中试用,然后连接您自己的应用或诊所系统。
免费 · 30 位合成患者 · 无需信用卡

