体外诊断试剂供应链管理平台研究
2019-07-25莫远明
王 毅 莫远明
(中山大学附属第一医院信息数据中心 广州 510080)
1 引言
随着检验医学的快速发展,临床检验在疾病的预防、诊断、治疗等多个领域发挥着越来越重要的作用[1-2]。试剂的质量是医疗安全的关键,直接影响检验结果。体外诊断试剂存在品种繁多、规格不一、采购周期短、供货商较多等特点,传统试剂是以手工和纸质媒介为基础,生产商、代理商、销售商、用户、监管者等多角色共同参与,监管难度较高,工作效率较低。为此,采用物联网思路,引入布比区块链技术,探索体外诊断试剂供应链管理平台建设,实现稳定、安全、防篡改、高效、全流程追溯的试剂管理。
2 区块链技术
2.1 概念
区块链技术由中本聪于2008年发表的奠基性论文“比特币:一种点对点电子现金系统”(Bitcoin:a peer-to-peer eletronic cash system)所提出[2]。区块链是利用防篡改、防抵赖的密码学技术将数据进行加密,然后按照一定的顺序将数据以链条的方式进行组合、存储,使用智能合约脚本代码生成和操作数据,每个参与者都是一个节点,所有节点以共识算法生成和更新数据,是一种全新的去中化基础与分布式计算范式。
2.2 原理
区块链是由多个使用密码学方法产生的数据块串联组成的分布式账簿系统,包括数据块和链接。每个区块的区块头引用前一区块的哈希值[3],即前一块“区块号”。每个区块主体记录前一区块信息,相连接的区块构成链条,每个区块主体上的记录内容是前一区块创建后发生交换或变化的活动信息。将某个事物的活动以时间或业务发展的顺序进行记录,记录不可被改变[4]。
2.3 系统架构
由数据层、网络层、共识层、激励层、合约层和应用层组成[5]。数据层封装底层数据区块以及相关数据加密和时间戳等技术;网络层包括分布式组网、数据传播和验证机制等;共识层主要封装网络节点的各类共识算法;激励层主要包括经济激励和分配机制等;合约层主要封装各类脚本、算法和智能合约,是区块链可编程特性的基础;应用层则封装区块链的各种应用场景和案例。
2.4 特点
区块链模型中基于时间戳的链式区块结构、分布式节点的共识机制、基于共识算力的经济激励和灵活可编程的智能合约是最具代表性的创新点。核心是所有参与的节点共同维护交易及数据库,交易是基于密码学原理而不是基于信任的中心,使得任何达成一致的双方能够直接进行支付交易而不需要第3方参与,它具有以下特点:开放性、去中心化、不可篡改、可追溯。
3 体外诊断试剂供应链管理体系
3.1 层次模型
为确保试剂的安全性、可靠性、可溯源性,按照区块链技术架构的基础框架模型(数据层、网络层、共识层、智能合约、应用层)对管理平台进行试剂供应链体系层次模型构建,见图1。数据层和网络层作为基础层,负责区块链的产生与传递。数据层将数据封装、加密、加时间戳并加入到区块链中,数据来源于生产商、代理商、物流商、用户对试剂的完整生命周期信息记录。网络层基于TCP/IP通信协议,与传统集中式不同,不依赖集中式服务器节点来转发消息,而是每节点都可进行消息转发。网络层按数据验证、分布式组网、传播机制将数据发布到节点数据库。共识层引入相关共识机制,生成商、代理商、销售商、物流商等各机构作为成员节点加入区块链,主要封装网络节点的各类共识算法。合约层作为区块链可编程的基础,将国家监管条例、法律、标准、行动纲要等内容以智能合约的形式嵌入在区块链中,实现试剂质量的规范化、标准化管理。应用层的供应链管理平台向生成商、代理商、销售商、医院提供试剂信息增删改、查询、质量追溯等服务支撑。
图1 试剂供应链体系层次模型
3.2 效用
基于区块链技术的体外诊断试剂供应链管理体系采用非对称密码加密、时间戳、区块头+区块体封装等方式对数据进行处理,为各节点建立可靠节点数据库,依托共识机制,借助所有节点组成的强大算力保证数据库安全,同时改变以往的中心统一认证模式,确保数据不可篡改或伪造。时间戳为数据的可验证性、可追溯性提供依据。多签名复杂权限设置功能为数据管理提供最佳方案。试剂全生命周期信息涵盖生产、流通、使用所有环节。实验室、医院通过管理平台唯一码即可辨认货源真伪。生产商、代理商也能通过管理平台全面掌握商品流向和数量,防止串货行为,一旦试剂出现问题还能紧急召回。政府部门、社会组织可按照国家相关管理条例对试剂销售、使用进行有效监管。
4 基于布比区块链技术的体外诊断试剂供应链管理平台设计
4.1 架构
4.1.1 布比区块链平台架构 布比区块链由布比(北京)网络技术有限公司创立,广泛应用于数字资产、贸易金融、股权债券、供应链溯源、商业积分、联合征信、公示公证、电子发票、数据安全等领域,与交易所、银行等主流金融机构开展应用试验和测试[6]。布比区块链技术具有以下特点[7]:采用两层结构,包括布比区块链基础服务和区块链适配器,实现业务逻辑与平台解耦,互相独立。布比产品体系架构由3部分组成,包括账号中心、分布式账本服务、策略与管理。布比区块链平台架构,见图2。经过大量的数据测试分析,布比区块链在性能方面可达到秒级交易验证、海量数据存储、高吞吐量、节点数据快速同步;在扩展方面可满足多业务区块结构、权限控制策略,同时提供安全的私钥服务以及隐私保护方案。布比区块链支持跨平台编译,除以PC/服务器方式编译外还可WinXP以上平台编译,推荐使用 Win10,能够以交叉方式编译,部署在移动便携系统,为区块链实现物联化提供支撑。为满足不同业务需求,提供支持多种主流开发语言(C++/JAVA/node-js/PHP)的软件开发工具包(Software Development Kit,SDK)。布比区块链接口通讯基于传输控制协议(Transmission Control Protocol,TCP),采用超文本传输协议(Hyper Text Transport Protocol,HTTP)/1.1(RFC2616),接口调用包含完整的请求和响应,请求与响应都可传输XML、JSON格式数据信息。接口调用结果可通过HTTP状态码(200为成功,其他代码表示失败)进行标识[7]。
图2 布比区块链平台架构
4.1.2 供应链管理平台架构 依托布比区块链技术,将试剂基本信息、流转信息(流转对象、时间、状态)加入到链中,以便所有参与节点进行共享、共识,包括生产商、物流商、代理商、医疗机构、政府部门,有效衔接供应链权属关系、直接或间接上下游关系,以促进试剂供应链溯源。利用布比区块底层应用程序接口(Application Program Interface,API)进行封装、集成,既能避免业务层的代码耦合,又能快速进行功能模块的开发。供应链管理平台架构,见图3。
图3 供应链管理平台架构
4.2 功能
4.2.1 概述 平台主要分为两大子系统,管理子系统包括用户、角色、权限、试剂分类、试剂品牌、公告管理等功能;用户子系统包括新增试剂、运送、销售、使用以及试剂查询、统计与分析等功能。4.2.2 用户管理 政府部门使用系统填写用户信息,包括用户账号、密码、名称、税号、联系电话、地址、角色类型、产品品牌、有效期等信息。用户信息使用国密算法SM3加密,以防数据库被攻击,导致信息泄露。
4.2.3 新增试剂 生产商输入账号、密码,经过系统审核、认证后,点击新增试剂,录入试剂编号、批次号、名称、规格、生成日期、品牌、生产商编码及生产商名称等信息,提交时系统对提交者身份进行审核。审核通过后将试剂信息加入到区块链中,公开不可篡改的区块链属性,防止数据伪造。
4.2.4 试剂运送 生产商、代理商、医疗机构共同维护试剂物流信息。用户在系统上使用扫码枪扫描试剂二维码,快速输入试剂编号,获取试剂信息,然后使用系统填写物流信息,包括试剂编号、名称、生产商基本信息、发货信息(发货商基本信息、时间、地址、联系方式等)、收货信息(销售商基本信息、地址、邮编、联系方式等)、状态、其他物流信息(物流方式、责任人等)。提交时系统核实用户权限。拥有试剂所属权的用户可以添加试剂的物流信息。
4.2.5 试剂销售 生产商、代理商、销售商共同维护试剂销售信息,实现试剂权属信息的变更。试剂生产商/代理商/销售商销售试剂时在系统输入试剂编号,获取试剂信息,然后填写销售信息,包括购买者编号、名称、时间等,点击提交后系统审核操作者权限和试剂权属。审核通过后向对应的区块增加试剂采购和更新权属信息,操作完成后系统自动打印出库单。
4.2.6 试剂使用 医疗机构、实验室维护试剂使用信息,使用过的试剂无法再进行流转。试剂使用者在系统输入试剂编号,获取试剂基本信息,包括生产商、有效期、状态等,然后在系统填写试剂使用信息,包括检验患者门诊/住院号、姓名、身份证号、使用时间等,点击提交后系统审核操作者权限和试剂权属。审核通过后向对应的区块增加试剂使用信息并更新权属、试剂状态。
4.2.7 试剂查询 政府部门、医疗机构、实验室可以查询所有试剂信息与状态;生产商能够查询所有其生成的试剂信息与状态。
4.3 系统实现
4.3.1 底层区块链部署 在体外诊断试剂供应链管理平台实现过程中部署两台安装有bubichain-x版本区块链底层程序的Windwos10 服务器,作为区块链中的节点。安装步骤如下[8]:在https://github.com/bubicn/bubichain-x下载bubichain-x;在https://en.softonic.com/s/microsoft-visual-studio-2013下载 Visual Studio 2013并安装;打开 bubichain-x/build/win32/Chain.vs12.sln, 使用 VS 自带编译器编译即可。生成的可执行文件在bubichain-x/build/win32/dbin 目录下,首次下载代码后需要初始化开发环境,从服务器下载相关依赖库,进入build目录,双击执行 install-build-deps-win32.bat 脚本。安装完成后将系统设置为开机启动,修改配置文件达成共识。修改两个节点的配置文件,对等网络(Per to Peer,P2P)配置填写两个节点的IP地址,使两个节点建立P2P。
4.3.2 应用程序部署 系统基于Windows,使用Microsoft Visual Studio 2013作为编程工具,.net作为开发语言。实现后将Web系统部署在计算机上,其硬件环境的处理器是Intel 酷睿i5 7200U,8GB内存和500GB硬盘空间,满足系统正常运行。
5 结语
区块链技术具有去中心化、去信任化、共同维护、可靠数据库4大特点,将引领人类互联网进入第3次巨变,引发世界性的普遍关注,各国开始从国家层面设计区块链发展道路,我国也将其纳入《“十三五”国家信息化规划》统筹布局[9]。本文采用国内较为成熟的区块链技术之一布比区块链底层,建立体外诊断试剂从生成、流通到使用的全程闭环试剂供应链管理平台,实现试剂信息记录、质量溯源、防串货等功能,从而保障体外诊断试剂质量安全,推动我国诊断试剂现代化与国际化进程。区块链基础理论和技术研究仍处于起步阶段,目前在安全、效率、资源和博弈4个方面存在需解决的问题,特别是安全问题,随着密码学、计算技术(量子计算机)的发展,未来可能会变得更加突出[7]。这些本质性对区块链产业发展至关重要的科学问题亟待研究跟进与解决,以进一步推进区块链技术的成熟、快速、稳定发展。