蓝茂英,朱 皓,许文伟,杨 波,伍 锐,张 震,王 恒,孙建聪
(1.广州医科大学附属第一医院放疗科,广东 广州 510120;2.瓦里安医疗系统公司临床应用部,北京 102600)
放疗设计的环节众多,流程相对复杂,整个放疗期间会产生大量的放疗数据[1]。以往各环节间主要依靠手工开具的纸质单据为主,但纸质单据不方便查询和检索相关信息;另外,大量的纸质单据也不易保存和归档。为实现标准化放疗流程以及提升流程信息化水平,目前市面上出现了多种放疗信息管理系统。国外厂商主要有瓦里安公司的ARIA[2]、医科达公司的MOSAIQ 等[3,4];国内厂商如东方瑞云、医诺、全域等公司也推出了相应的网络信息系统[5]。此外,也有医院根据自身需求自主研发相关的放疗信息系统[6-9]。通常,网络信息系统都会提供相关的报表统计功能。瓦里安公司的ARIA 系统自带了AURA 报表功能[10],通过SSRS 允许用户抓取、调用、存储、导出所需临床数据。AURA 本身提供约11 类报表,拥有超过130 个自带报表,可以实现多种临床统计需求。但由于AURA 自带的报表是基于国外临床环境开发的,有些国内的临床统计无法满足,因此需要科室人员通过修改报表或者创建新的报表来满足科室需求。目前我科配置了两台瓦里安直线加速器,使用ARIA 网络系统进行放疗流程管理。为进一步提高我科放疗无纸化水平,现基于AURA 对相关报表进行二次开发,总结如下。
1.1 需求分析 针对放疗各环节,统计科室各环节工作人员的需求,见图1。医生的需求主要包括计划处方单、患者进度统计、4DCT 患者统计、SBRT 患者统计;物理师需求为计划统计、PD 结果统计;技术员需求为放疗单首页、放疗记录单、CBCT 统计、完成放疗患者统计;护士需求主要为新入科患者统计、新治疗患者统计和收费核对单统计;管理员需求为加速器工作负荷统计、流程任务统计、任务统计和加速器治疗量统计。
图1 需求分析
1.2 数据库和数据模型 放疗信息系统的核心是数据库。目前较为常见的数据库主要有MSSQLServer、Oracle、DB2、PostgreSQL、Infomix、MySQL 等[11]。ARIA网络系统主要基于MS SQLServer,见图2。主要包括VARIAN 和VarianDw 两个数据库,其中VARIAN数据库是实时生产数据库,为防止频繁访问生产数据库,AURA 有单独的报表数据库VarianDw,通过SSIS 服务进行提取生产数据库,一般半小时同步一次。为了快速开发报表,AURA 提供了15 个现成的数据模型。数据模型是多个数据表的整合,可以基于数据模型快速设计报表。
图2 ARIA 和AURA 数据库
1.3 开发路线与开发平台 为了提高开发效率,针对前期统计的报表需求,采用不同的开发路线,见图3。首先查看是否有自带报表,满足需求的报表可直接使用,不完全满足需求的可基于现有报表进行修改;如果没有相应报表,则查看AURA 是否有相应模型,有相应模型则基于现有模型进行报表开发;没有模型则通过SQL 创建相应的模型,再进行相关设计。本次报表设计数据库系统采用SQLServer2014,报表界面设计采用ReportBuilder。
图3 报表开发路线
1.4 设计思路
1.4.1 加速器工作负荷统计 科室管理员以及技术员需要随时统计每台加速器的工作负荷,以便合理分配加速器资源,提高治疗效率。需要统计的内容包括开始治疗时间、结束治疗时间、运行时长、出束累计时间、患者数、射野数和总MU。通过分析,AURA 自带的数据模型可以满足数据要求,所以直接采用治疗模型进行设计。采用ReportBuilder 设计该报表的界面,见图4。报表模型采用AURA 自带的dw 治疗历史记录型号,交互式参数主要为治疗记录的开始时间和结束时间。按照需求设计机器行组和日期行组,按所需格式显示数据。统计的各项参数通过数据模型的相关字段和ReportBuilder 自带函数可以完成统计需求。
图4 加速器工作量统计ReportBuilder 设计界面
1.4.2 电子处方 为改变以往手写纸质计划处方单,实现计划处方单无纸化,在本科室ARIA 系统升级后,科室日常采用ARIA的电子处方功能。一方面,ARIA电子处方工作区只能填写和查看电子处方单,打印则需到Reporting 工作区界面;另一方面,虽然系统提供了电子处方报表,但格式较为杂乱,显示不够清晰。因此,需要创建数据模型以解决此问题。为保证电子处方单的实时性,选择VARIAN 数据库进行数据统计,所需数据见图5,主要包括患者基本信息、医生信息、诊断信息和具体处方信息。其中,图中右侧虚线框为处方信息,数据存储于多个数据表,而Prescription 表主要包含处方基本信息,靶区和危及器官具体限量信息 在 PrescriptionPropertyItem、PrescriptionProperty、PrescriptionAnatomy 和PrescriptionAnatomyItem 四个表中,通过相应的主键和外键连接。
图5 电子处方数据模型构建
1.4.3 PD 结果统计 Portal Dosimetry 是瓦里安自带的EPID 患者计划验证模块,广泛用于患者计划验证[12],可以快速分析计划验证结果,但每位患者的通过率结果需要在PortalDosimetry 界面单独打开,较为耗时,且PD 一次只能查看一位患者的计划验证信息,不适合上级物理师进行批量查看与分析。为此,需要开发PD 结果统计报表,使其可以统计任何时间段内所有患者的PD 验证结果(若计划不通过时可自动提示),并用一个饼状图显示所有患者总的射野通过率占比。而AURA 自带报表没有类似的功能,也没有相关的数据模型,需要重新构建数据模型。该模型所有数据均来自于VARIAN 数据库,其中患者基本信息来自于Patient 数据表,疗程信息来自Course 数据表,计划信息来自PlanSetup 数据表,加速器信息来自Machine 数据表,PD 分析结果来自PortalDoseAnalysis 数据表。通过相关的主键和外键进行表之间的连接,具体的数据结构逻辑关系见图6。PD 结果以xml 格式存储于数据库中,通过SQL 编写函数进行提取相应的数据信息,比如通过率通过如下函数进行抓取:
图6 PD 结果数据模型构建
2.1 报表开发情况 自2020 年7 月网络系统升级为ARIAV15.6 后,随着ARIA 在科室的深入应用,根据需求相应开发了以下17 个报表,每个报表对应的功能见表1。其中,放疗单首页替换之前的手写单,患者ID 条形码可同步打印,无需再用特定条码打印机额外打印条码。计划统计表可实现任何时间段内各机器、各物理师的计划量统计。PD 结果统计表用于统计患者的各射野和总的通过率,如果没有通过报表则会出现红色提醒,方便物理师审核。计划处方单替换手写处方单,并可自定义格式以显示更清晰的限量信息。放疗记录单则根据患者的疗程和计划信息自动生成,便于技术员进行工作记录。加速器工作量负荷表统计每台加速器每天的运行负荷。治疗量表统计科室每月每年等任何时间段内的各机器各技术的射野量、治疗人次数和患者数。部分报表的运行结果见图7、图8。
图7 计划处方单报表运行结果
图8 治疗量统计报表运行结果
表1 基于AURA 开发的报表及功能说明
2.2 耗时分析 系统升级后,相关业务耗时明显缩短,各个报表的统计时间均少于相应的人工统计时间,见表2。其中AURA 报表统计时间为打开报表至运行完的时间,人工统计时间为手动登记、查找相关信息的时间。项目1、项目8、项目9、项目10、项目11、项目12、项目13、项目14 及项目16 统计的是科室一个月的数据;项目4、项目5、项目7、项目15 统计的是科室一周的数据;其余项目统计的是某一患者的数据。结果显示,AURA 报表运行的时间为4~19 s,同一个报表所统计的时间跨度越大,运行时间相应较长。而对应项目的人工统计时间为3~175 min,不同的项目统计时间差异较大。可以看出,AURA 报表统计时间远小于人工统计时间。
表2 报表运行时间和人工统计时间比较
随着放射治疗技术的快速发展,从3DCRT 到IMRT 再到RapidArc,以及如今应用越来越广泛的SBRT、IGRT、呼吸门控等技术,如何通过准确高效的数据化统计来辅助科室更好地合理利用各种技术越来越受到人们重视,如何快速提取放疗中产生大量数据亦是亟待解决的问题。本文基于科室临床需求,基于瓦里安ARIA 肿瘤网络系统和AURA 报表环境开发了17 项数据统计报表。所设计的报表目前在科室日常临床工作中运行无误,效率高,极大减轻了人工统计的工作量。如新登记患者统计解决了护士每周每月的统计需求;计划处方单替代了原来的手写处方单,进一步实现了无纸化;放疗单首页替代了原来的手写单,且自动生成患者ID 条形码。
对于科室的放疗数据统计、管理,国内已有商用的东方瑞云、医诺等第三方信息管理系统。虽然第三方系统也可以实现多种临床统计管理功能,但相较于Eclipse 自带的AURA 报表系统主要有以下不同:①第三方系统报表往往需要单独购买;②不同数据接口以及TPS 与网络系统之间的兼容和连接可能会导致存在一定的数据安全风险;③由于需要科室定制化,往往投入时间周期长、成本大。
AURA 系统不仅自带了大量的统计报表,同时也支持自定义报表功能,且不涉及数据的导入导出和传输兼容等问题。利用现有的数据模型可以快速设计出所需的报表,部分数据亦可从数据库构建数据模型进行开发。基于AURA 所设计的报表可以无缝整合于ARIA 系统,并且通过设置Quick Report使得报表可以在ARIA/Eclipse 任何工作区界面运行。为保证生产数据库的实时性,AURA 拥有单独的数据库,且每半小时会自动同步一次生产数据库。AURA 还提供了LiveData 选项,只需在运行报表时勾选即可获取实时数据。此外,报表运行结果可以导出为Word、Excel、PDF 等不同格式,方便后续进一步分析,亦可以直接打印运行结果。
本文方法虽然是基于瓦里安ARIA 网络信息系统、Eclipse 计划系统和AURA 报表系统,但类似的开发方法同样可以应用到其他网络系统和计划系统。除了本文方法之外,罗传文等[13]通过Eclipse Scripting API 脚本采用Visual C# 进行设计放疗病例检索,也可以实现类似的病例统计功能,但是通过API的方法编程量更大,开发成本较高,周期较长,不适于普遍推广。
本次设计的相关报表为基于科室现有的ARIA肿瘤信息系统进行开发,无需增加硬件,解决了科室相关放疗临床数据统计的需求。同时,开发的相关数据报表目前已在科室应用,大幅度提高了科室统计工作效率以及放疗无纸化水平,提升了科室的放疗信息化水平。