基于区块链医疗电子票据打印的方法、系统和装置
技术领域
本申请涉及电子票据
技术领域
,特别是涉及基于区块链医疗电子票据打印的方法、系统和装置。背景技术
在实际生活中,普遍存在两种打印方式,其中一种是对电子文档的版式文件进行直接打印,如电子发票,一般直接将其打印在A4纸上;而另一种俗称“套打”,即在纸面上已经印制了相关的防伪信息,只需将电子文档的部分或全部内容打印在前述纸张上。在打印过程中,除了电子式样和机打式样的差异外,还面临一个更具风险性的挑战。
通常,在医院一般都安置有自助打印机,包括打印医疗票据、检验报告单、出院小结等,而不论票据还是报告单均可能涉及患者的隐私。比如,门诊收费票据中的某一种药品,根据其药名可以轻易的通过互联网检索到其治疗何种疾病,再加上票据上所记录的患者名字、社保号等,即可轻松获取相关用户的隐私信息。
目前针对相关技术中用户在打印电子票据时,隐私信息容易被窃取和泄漏,以及未能进行有效监管的问题尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种基于区块链医疗电子票据打印的方法、系统和装置,以至少解决相关技术中用户在打印电子票据时,隐私信息容易被窃取和泄漏,以及未能进行有效监管的问题。
第一方面,本申请提供了一种基于区块链医疗电子票据打印的方法,所述方法包括:
通过自助打印终端获取用户的身份标识信息,并发起目标交易;
通过区块链响应所述自助打印终端发送的所述目标交易,并发起打印请求;
调用部署在所述区块链上的智能合约中的校验逻辑,对所述打印请求进行合法性校验;
若所述打印请求通过所述合法性校验,则调用所述智能合约中的打印逻辑,获取所述区块链上待打印的电子票据;
通过所述智能合约中的打印逻辑根据打印所需的字段进行重构,向自助打印终端发起打印指令;
通过自助打印终端响应所述区块链发送的所述打印指令,并执行打印操作。
在其中一些实施例中,调用所述智能合约中的打印逻辑,获取所述区块链上待打印的电子票据包括:
调用所述智能合约中的打印逻辑,获取预先存储在区块链账本上待打印的电子票据。
在其中一些实施例中,调用所述智能合约中的打印逻辑,获取所述区块链上待打印的电子票据包括:
通过所述区块链向财政电子票据管理平台请求获取待打印的电子票据;
调用所述智能合约中的打印逻辑,获取所述区块链上的所述电子票据。
在其中一些实施例中,通过区块链响应所述自助打印终端发送的所述目标交易,并发起打印请求包括:
通过自助打印终端向区块链节点请求用户的票据信息列表;
根据输入设备获取的操作信息或按照预设的处理逻辑,选择待打印的电子票据后发起打印请求。
在其中一些实施例中,在通过自助打印终端响应所述区块链发送的所述打印指令,并执行打印操作之前,所述方法还包括:
通过所述自助打印终端获取纸张仓中票据的起始和截止号码,并将所述号码写入区块链账本中,每次打印按所述纸张仓中票据的叠放顺序进行取号。
在其中一些实施例中,在通过自助打印终端响应所述区块链发送的所述打印指令,并执行打印操作之后,所述方法还包括:
对于联式的财政电子票据,通过自助打印终端向切割设备发出指令,对已打印的纸张进行切割分段。
在其中一些实施例中,所述方法还包括:
在执行所述打印操作之前,通过自助打印终端向盖章设备发出指令,对待打印的纸张进行盖章;
或者,在执行所述打印操作之后,通过自助打印终端向盖章设备发出指令,对已打印的纸张进行盖章。
在其中一些实施例中,通过所述智能合约中的打印逻辑根据打印所需的字段进行重构,向自助打印终端发起打印指令包括:
通过所述智能合约中的打印逻辑根据打印所需的字段进行重构;
根据所述区块链的SDK与所述智能合约的交互,通过所述区块链的SDK向自助打印终端发起打印指令。
第二方面,本申请实施例提供了一种基于区块链医疗电子票据打印的系统,所述系统包括自助打印模块、区块链模块和医院信息模块;
所述自助打印模块获取用户的身份标识信息,并发起目标交易;
所述区块链模块响应所述自助打印模块发送的所述目标交易,并发起打印请求;
所述区块链模块调用部署在所述区块链模块上的智能合约中的校验逻辑,对所述打印请求进行合法性校验;
若所述打印请求通过所述合法性校验,则调用所述智能合约中的打印逻辑,获取所述区块链模块上待打印的电子票据;
所述区块链模块通过所述智能合约中的打印逻辑根据打印所需的字段进行重构,向所述自助打印模块发起打印指令;
所述自助打印模块响应所述区块链模块发送的所述打印指令,并执行打印操作;
所述医院信息模块用于生成和存储待打印的电子票据。
第三方面,本申请实施例提供了一种基于区块链医疗电子票据打印的装置,所述装置用于执行上述第一方面中所述的基于区块链医疗电子票据打印的方法,所述装置包括可触摸的操作屏幕、计算处理设备、识别器、票据打印机、切割设备和盖章设备;
所述可触摸的操作屏幕,用于引导用户操作打印步骤;
所述计算处理设备,用于接收用户的输入,并输出至所述可触摸的操作屏幕,能够调用所述票据打印机;
所述识别器,用于读取用户的身份识别信息,所述身份标识信息包括身份证号、社保卡号、人脸图像信息、指纹信息、预设二维码和预设条形码;
所述票据打印机,根据票据的类型自动采用对应的打印方式,所述打印方式包括喷墨打印和针式打印;
所述切割设备,用于将联式的票据切割开来;
所述盖章设备,用于将印章盖在票据的指定位置。
相比于相关技术,本申请实施例提供的一种基于区块链医疗电子票据打印的方法、系统和装置,通过自助打印终端获取用户的身份标识信息,并发起目标交易,区块链响应该目标交易,并发起打印请求,调用部署在区块链上的智能合约中的校验逻辑,对打印请求进行合法性校验,若打印请求通过合法性校验,则调用智能合约中的打印逻辑,获取区块链上待打印的电子票据,通过智能合约中的打印逻辑根据打印所需的字段进行重构,向自助打印终端发起打印指令,自助打印终端响应该打印指令,并执行打印操作,解决了用户在打印电子票据时,隐私信息容易被窃取和泄漏,以及未能进行有效监管的问题,实现了在财政电子票据打印过程中对打印人、打印机和数据源的行为管控和追溯,保证用户隐私安全和预防打印数据被篡改。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是一种创建智能合约的方法示意图;
图2是一种调用智能合约的方法示意图;
图3是一种创建智能合约和调用智能合约的方法示意图;
图4是根据相关技术中医疗电子票据打印方法的时序示意图;
图5是根据本申请实施例的基于区块链医疗电子票据打印方法的步骤流程图;
图6是根据本申请具体实施例的基于区块链医疗电子票据打印方法的时序示意图;
图7是根据本申请实施例的基于区块链医疗电子票据打印系统的结构框图;
图8是根据本申请实施例的电子设备的内部结构示意图。
附图说明
:71、自助打印模块;72、区块链模块;73、医院信息模块。具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行描述和说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。基于本申请提供的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
显而易见地,下面描述中的附图仅仅是本申请的一些示例或实施例,对于本领域的普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图将本申请应用于其他类似情景。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本申请公开的内容相关的本领域的普通技术人员而言,在本申请揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本申请公开的内容不充分。
在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域普通技术人员显式地和隐式地理解的是,本申请所描述的实施例在不冲突的情况下,可以与其它实施例相结合。
除非另作定义,本申请所涉及的技术术语或者科学术语应当为本申请所属技术领域内具有一般技能的人士所理解的通常意义。本申请所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本申请所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;例如包含了一系列步骤或模块(单元)的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本申请所涉及的“连接”、“相连”、“耦接”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电气的连接,不管是直接的还是间接的。本申请所涉及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本申请所涉及的术语“第一”、“第二”、“第三”等仅仅是区别类似的对象,不代表针对对象的特定排序。
区块链一般被划分为三种类型:公有链(Public Blockchain),私有链(PrivateBlockchain)和联盟链(Consortium Blockchain)。此外,还可以有上述多种类型的结合,比如私有链+联盟链、联盟链+公有链等。
其中,去中心化程度最高的是公有链。公有链以比特币、以太坊为代表,加入公有链的参与者(也可称为区块链中的节点)可以读取链上的数据记录、参与交易、以及竞争新区块的记账权等。而且,各节点可自由加入或者退出网络,并进行相关操作。
私有链则相反,该网络的写入权限由某个组织或者机构控制,数据读取权限受组织规定。简单来说,私有链可以为一个弱中心化系统,其对节点具有严格限制且节点数量较少。这种类型的区块链更适合于特定机构内部使用。
联盟链则是介于公有链以及私有链之间的区块链,可实现“部分去中心化”。联盟链中各个节点通常有与之相对应的实体机构或者组织;节点通过授权加入网络并组成利益相关联盟,共同维护区块链运行。
基于区块链的基本特性,区块链通常是由若干个区块构成。在这些区块中分别记录有与该区块的创建时刻对应的时间戳,所有的区块严格按照区块中记录的时间戳,构成一条在时间上有序的数据链条。
对于物理世界产生的真实数据,可以将其构建成区块链所支持的标准的交易(transaction)格式,然后发布至区块链,由区块链中的节点设备对收到的交易进行共识处理,并在达成共识后,由区块链中作为记账节点的节点设备,将这笔交易打包进区块,在区块链中进行持久化存证。
其中,区块链中支持的共识算法可以包括:
第一类共识算法,即节点设备需要争夺每一轮的记账周期的记账权的共识算法;例如,工作量证明(Proof of Work,POW)、股权证明(Proof of Stake,POS)、委任权益证明(Delegated Proof of Stake,DPOS)等共识算法;
第二类共识算法,即预先为每一轮记账周期选举记账节点(不需要争夺记账权)的共识算法;例如,实用拜占庭容错(Practical Byzantine Fault Tolerance,PBFT)等共识算法。
在采用第一类共识算法的区块链网络中,争夺记账权的节点设备,都可以在接收到交易后执行该笔交易。争夺记账权的节点设备中可能有一个节点设备在本轮争夺记账权的过程中胜出,成为记账节点。记账节点可以将收到的交易与其它交易一起打包以生成最新区块,并将生成的最新区块或者该最新区块的区块头发送至其它节点设备进行共识。
在采用第二类共识算法的区块链网络中,具有记账权的节点设备在本轮记账前已经商定好。因此,节点设备在接收到交易后,如果自身不是本轮的记账节点,则可以将该交易发送至记账节点。对于本轮的记账节点,在将该交易与其它交易一起打包以生成最新区块的过程中或者之前,可以执行该交易。记账节点在生成最新区块后,可以将该最新区块或者该最新区块的区块头发送至其它节点设备进行共识。
如上所述,无论区块链采用以上示出的哪种共识算法,本轮的记账节点都可以将接收到的交易打包以生成最新区块,并将生成的最新区块或者该最新区块的区块头发送至其它节点设备进行共识验证。如果其它节点设备接收到最新区块或者该最新区块的区块头后,经验证没有问题,可以将该最新区块追加到原有的区块链末尾,从而完成区块链的记账过程。其它节点验证记账节点发来的新的区块或区块头的过程中,也可以执行该区块中的包含的交易。
在区块链领域,有一个重要的概念就是账户(Account);以以太坊为例,以太坊通常将账户划分为外部账户和合约账户两类;外部账户就是由用户直接控制的账户,也称之为用户账户;而合约账户则是由用户通过外部账户创建的,包含合约代码的账户(即智能合约)。当然,对于一些基于以太坊的架构而衍生出的区块链项目(比如蚂蚁区块链),还可以对区块链支持的账户类型,进行进一步的扩展,在本说明书中不进行特别限定。
对于区块链中的账户而言,通常会通过一个结构体,来维护账户的账户状态。当区块中的交易被执行后,区块链中与该交易相关的账户的状态通常也会发生变化。
以以太坊为例,账户的结构体通常包括Balance,Nonce,Code和Storage等字段。其中:
Balance字段,用于维护账户目前的账户余额;
Nonce字段,用于维护该账户的交易次数;它是用于保障每笔交易能且只能被处理一次的计数器,有效避免重放攻击;
Code字段,用于维护该账户的合约代码;在实际应用中,Code字段中通常仅维护合约代码的hash值;因而,Code字段通常也称之为Codehash字段。
Storage字段,用于维护该账户的存储内容(默认字段值为空);对于合约账户而言,通常会分配一个独立的存储空间,用以存储该合约账户的存储内容;该独立的存储空间通常称之为该合约账户的账户存储。合约账户的存储内容通常会构建成MPT(MerklePatriciaTrie)树的数据结构存储在上述独立的存储空间之中;其中,基于合约账户的存储内容构建成的MPT树,通常也称之为Storage树。而Storage字段通常仅维护该Storage树的根节点;因此,Storage字段通常也称之为StorageRoot字段。
其中,对于外部账户而言,以上示出的Code字段和Storage字段的字段值均为空值。
此外,在实际应用中,不论是公有链、私有链还是联盟链,都可能提供智能合约(Smart contract)的功能。区块链上的智能合约是在区块链上可以被交易触发执行的合约。智能合约可以通过代码的形式定义。
以以太坊为例,支持用户在以太坊网络中创建并调用一些复杂的逻辑。以太坊作为一个可编程区块链,其核心是以太坊虚拟机(EVM),每个以太坊节点都可以运行EVM。EVM是一个图灵完备的虚拟机,通过它可以实现各种复杂的逻辑。用户在以太坊中发布和调用智能合约就是在EVM上运行的。实际上,EVM直接运行的是虚拟机代码(虚拟机字节码,下简称“字节码”),所以部署在区块链上的智能合约可以是字节码。
图1是一种创建智能合约的方法示意图,如图1所示,Bob将一笔包含创建智能合约信息的交易(Transaction)发送到以太坊网络后,各节点均可以在EVM中执行这笔交易。其中,图中1中交易的From字段用于记录发起创建智能合约的账户的地址,交易的Data字段的字段值保存的合约代码可以是字节码,交易的To字段的字段值为一个null(空)的账户。当节点间通过共识机制达成一致后,这个智能合约成功创建,后续用户可以调用这个智能合约。
智能合约创建后,区块链上出现一个与该智能合约对应的合约账户,并拥有一个特定的地址;比如,图1中各节点中的“0x68e12cf284…”就代表了创建的这个合约账户的地址;合约代码(Code)和账户存储(Storage)将保存在该合约账户的账户存储中。智能合约的行为由合约代码控制,而智能合约的账户存储则保存了合约的状态。换句话说,智能合约使得区块链上产生包含合约代码和账户存储的虚拟账户。
前述提到,包含创建智能合约的交易的Data字段保存的可以是该智能合约的字节码。字节码由一连串的字节组成,每一字节可以标识一个操作。基于开发效率、可读性等多方面考虑,开发者可以不直接书写字节码,而是选择一门高级语言编写智能合约代码。例如,高级语言可以采用诸如Solidity、Serpent、LLL语言等。对于采用高级语言编写的智能合约代码,可以经过编译器编译,生成可以部署到区块链上的字节码。
以Solidity语言为例,用其编写的合约代码与面向对象编程语言中的类(Class)很相似,在一个合约中可以声明多种成员,包括状态变量、函数、函数修改器、事件等。状态变量是永久存储在智能合约的账户存储(Storage)字段中的值,用于保存合约的状态。
图2是一种调用智能合约的方法示意图,如图2所示,仍以以太坊为例,Bob将一笔包含调用智能合约信息的交易发送到以太坊网络后,各节点均可以在EVM中执行这笔交易。其中,图2中交易的From字段用于记录发起调用智能合约的账户的地址,To字段用于记录被调用的智能合约的地址,交易的Data字段用于记录调用智能合约的方法和参数。调用智能合约后,合约账户的账户状态可能改变。后续,某个客户端可以通过接入的区块链节点(例如图2中的节点1)查看合约账户的账户状态。
智能合约可以以规定的方式在区块链网络中每个节点独立的执行,所有执行记录和数据都保存在区块链上,所以当这样的交易执行完毕后,区块链上就保存了无法篡改、不会丢失的交易凭证。
图3是一种创建智能合约和调用智能合约的方法示意图,如图3所示。以太坊中要创建一个智能合约,需要经过编写智能合约、变成字节码、部署到区块链等过程。以太坊中调用智能合约,是发起一笔指向智能合约地址的交易,各个节点的EVM可以分别执行该交易,将智能合约代码分布式的运行在以太坊网络中每个节点的虚拟机中。
在相关技术中,医院场景下用户的医疗电子票据的打印,除了电子式样和机打式样的差异外,还面临一个更具风险性的挑战,那就是用户信息容易被窃取,为了防止用户隐私泄漏,图4是根据相关技术中医疗电子票据打印方法的时序示意图,如图4所示,该方法包括:
用户在自助打印机上通过识别器读取用户识别信息;
自助打印机通过内网与HIS(Hospital Information System)连接;
用户选择需要打印的电子票据,自助打印机向HIS发送获取电子票据的请求;
HIS返回电子票据到自动打印机,自动打印机接收并进行打印。
由此可见,为了防止用户隐私泄漏,医院普遍采取的措施是,只允许自助打印机通过内网与HIS连接,从网络上隔绝外网。但实际情况下,自助打印机有独立的处理器和存储设备,在接收到HIS的打印数据后,本身就可以在本地存储一份数据,而后在由运维人员进行拷贝,因此用户隐私安全问题依旧存在。
此外,还有一个问题,印制用于打印的纸张,本身需要一些安全机制进行保障。举个例子,原本是一张1万元的医疗门诊票据,其中某药品是8千元的乙类药,患者所投的保险项中只报销甲类药而不报销乙类药。出于某种目的,自助打印机厂商可以在打印时,将接收到的乙类药篡改为甲类药。而整个行为将无法追溯和定责,自助机厂商可以推诿是完全按照HIS传过来的数据打印的,而HIS厂商则可坚称是据实传输的。不论是HIS还是自助打印机,其内部处理逻辑对外都是“黑盒”,而且处理逻辑和存储的数据均可轻易进行篡改,且可以做到耗不留痕。一旦发生纠纷时,谁也无法证明自己没有篡改数据,从而加大了定责的难度。
在上述相关技术所带来的问题的基础上,发明人发现,这一系列问题主要是由各中心化系统造成的。
因此,用户需要一种去中心化的电子票据打印方法,来解决上述隐私信息易泄露、打印过程无监管和追溯的问题。
本申请提供了一种基于区块链医疗电子票据打印的方法,图5是根据本申请实施例的基于区块链医疗电子票据打印方法的步骤流程图,该方法包括以下步骤:
S502,通过自助打印终端获取用户的身份标识信息,并发起目标交易,其中,身份标识信息包括身份证号、社保卡号、人脸图像信息、指纹信息、预设二维码和预设条形码;
S504,通过区块链响应自助打印终端发送的目标交易,并发起打印请求,目标交易包括待打印的电子票据的识别信息,如票据号码、票据代码等信息;
S506,调用部署在区块链上的智能合约中的校验逻辑,对打印请求进行合法性校验;
S508,若打印请求通过合法性校验,则调用智能合约中的打印逻辑,获取区块链上待打印的电子票据;
S510,通过智能合约中的打印逻辑根据打印所需的字段进行重构,向自助打印终端发起打印指令;
S512,通过自助打印终端响应区块链发送的打印指令,并执行打印操作。
需要说明的是,在上述流程中或者附图的流程图中示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
通过本申请实施例中的步骤S502至步骤S512,解决了用户在打印电子票据时,隐私信息容易被窃取和泄漏,以及未能进行有效监管的问题,实现了在财政电子票据打印过程中对打印人、打印机和数据源的行为管控和追溯,保证用户隐私安全和预防打印数据被篡改。
在其中一些实施例中,步骤S508,调用智能合约中的打印逻辑,获取区块链上待打印的电子票据包括:
调用智能合约中的打印逻辑,获取预先存储在区块链账本上待打印的电子票据。
在其中一些实施例中,步骤S508,调用智能合约中的打印逻辑,获取区块链上待打印的电子票据包括:
通过区块链向财政电子票据管理平台请求获取待打印的电子票据;
调用智能合约中的打印逻辑,获取区块链上的电子票据。
在其中一些实施例中,步骤S504,通过区块链响应自助打印终端发送的目标交易,并发起打印请求包括:
通过自助打印终端向区块链节点请求用户的票据信息列表;
根据输入设备获取的操作信息或按照预设的处理逻辑,选择待打印的电子票据后发起打印请求。
在其中一些实施例中,在步骤S512,通过自助打印终端响应区块链发送的打印指令,并执行打印操作之前,基于区块链医疗电子票据打印的方法还包括:
通过自助打印终端获取纸张仓中票据的起始和截止号码,并将号码写入区块链账本中,每次打印按纸张仓中票据的叠放顺序进行取号。
在其中一些实施例中,在步骤S512,通过自助打印终端响应区块链发送的打印指令,并执行打印操作之后,基于区块链医疗电子票据打印的方法还包括:
对于联式的财政电子票据,通过自助打印终端向切割设备发出指令,对已打印的纸张进行切割分段。
在其中一些实施例中,基于区块链医疗电子票据打印的方法还包括:
在执行打印操作之前,通过自助打印终端向盖章设备发出指令,对待打印的纸张进行盖章;
或者,在执行打印操作之后,通过自助打印终端向盖章设备发出指令,对已打印的纸张进行盖章。
在其中一些实施例中,步骤S510,通过所述智能合约中的打印逻辑根据打印所需的字段进行重构,向自助打印终端发起打印指令包括:
通过所述智能合约中的打印逻辑根据打印所需的字段进行重构;
根据所述区块链的SDK与所述智能合约的交互,通过所述区块链的SDK向自助打印终端发起打印指令。
在其中一些实施例中,具体到步骤S506和步骤S508,
可选的,无需通过调用部署在区块链上的智能合约中的校验逻辑,进行合法性校验;
直接通过区块链向财政电子票据管理平台请求获取电子票据,并进行后续的打印步骤,财政电子票据管理平台记录该打印行为。
本申请具体实施例提供了一种基于区块链医疗电子票据打印的方法,图6是根据本申请具体实施例的基于区块链医疗电子票据打印方法的时序示意图,如图6所示该方法包括:
步骤一,自助打印终端通过识别器获取患者的身份标识。例如,使用读卡器读取患者身份证号码和/或社保卡号,又或使用人脸识别等生物识别技术识别患者,再或使用扫描仪对患者出示的二维码和/或条形码进行扫码识别。
步骤二,区块链节点响应于自助打印终端发送的目标交易;所述目标交易包括用户待打印的电子票据的识别信息,例如,票据号码、代码等信息。
可选的,所述目标交易中待打印的电子票据,可以通过自助机向区块链节点请求用户的票据信息列表,由用户操作屏幕或按照一定的处理逻辑,选择待打印的电子票据后发起打印请求。
步骤三,调用部署在所述区块链上的智能合约中的校验逻辑,对打印请求进行合法性校验。
步骤四,如果所述合法性校验通过,进一步调用所述智能合约中的打印逻辑,从HIS上获取待打印的电子票据;
可选的,所述区块链上待打印的电子票据,可以是之前就已存储在区块链账本中的电子票据,也可以是打印请求发起后,通过区块链向业务系统和/或票据系统请求获取的。
步骤五,HIS返回电子票据到区块链;
步骤六,前述智能合约中的打印逻辑根据打印所需的字段进行重构,然后向指定的自助打印机发起打印请求。
步骤七,前述自助打印终端响应于打印控制指令,执行打印操作。
可选的,对于联式的财政电子票据,需要向切刀等切割设备发出指令,对已打印的纸张进行切割分段。
可选的,如果需要自助设备对已打印的纸张进行盖章,需要向盖章设备发出指令,对已打印的纸张进行盖章。当然,也可以提供将印章盖在待打印的纸张上,或者印制在纸张上。
步骤八,自助打印机通过出纸口将已打印的票据交付给患者。
可选的,另一种更健全的实施案例,可以对套打的纸张进行更好的管控;
在将套打的纸张放入自助打印机纸仓的同时,将放入纸张仓中票据的起始号码和截止号码输入区块链中,区块链调用打印逻辑时,按纸张叠放的顺序取号打印。
通过本申请实施例中的步骤一至步骤八,解决了用户在打印电子票据时,隐私信息容易被窃取和泄漏,以及未能进行有效监管的问题,实现了在财政电子票据打印过程中对打印人、打印机和数据源的行为管控和追溯,保证用户隐私安全和预防打印数据被篡改。
需要注意的是,上述实施例所提供的基于区块链医疗电子票据打印的方法不仅适用于医疗收费电子票据的打印,还适用于各行业中收费电子票据的打印,以及各财政部门中电子票据的打印。
本申请实施例提供了一种基于区块链医疗电子票据打印的系统,图7是根据本申请实施例的基于区块链医疗电子票据打印系统的结构框图,该系统包括自助打印模块71、区块链模块72和医院信息模块73;
自助打印模块71获取用户的身份标识信息,并发起目标交易,其中,身份标识信息包括身份证号、社保卡号、人脸图像信息、指纹信息、预设二维码和预设条形码;
区块链模块72响应自助打印模块71发送的目标交易,并发起打印请求,目标交易包括待打印的电子票据的识别信息,如票据号码、票据代码等信息;
区块链模块72调用部署在区块链模块72上的智能合约中的校验逻辑,对打印请求进行合法性校验;
若打印请求通过合法性校验,则调用智能合约中的打印逻辑,获取区块链模块72上待打印的电子票据;
区块链模块72通过智能合约中的打印逻辑根据打印所需的字段进行重构,向自助打印模块71发起打印指令;
自助打印模块71响应区块链模块72发送的打印指令,并执行打印操作;
医院信息模块73用于生成和存储待打印的电子票据。
通过本申请实施例,自助打印模块71获取用户的身份标识信息,并发起目标交易,区块链模块72响应自助打印模块71发送的目标交易,并发起打印请求,调用智能合约中的校验逻辑,对打印请求进行合法性校验,若打印请求通过合法性校验,则调用智能合约中的打印逻辑,获取待打印的电子票据,并根据打印所需的字段进行重构,向自助打印模块71发起打印指令,自助打印模块71响应区块链模块72发送的打印指令,并执行打印操作,此外,医院信息模块73用于生成和存储待打印的电子票据,解决了用户在打印电子票据时,隐私信息容易被窃取和泄漏,以及未能进行有效监管的问题,实现了在财政电子票据打印过程中对打印人、打印机和数据源的行为管控和追溯,保证用户隐私安全和预防打印数据被篡改。
需要说明的是,上述各个模块可以是功能模块也可以是程序模块,既可以通过软件来实现,也可以通过硬件来实现。对于通过硬件来实现的模块而言,上述各个模块可以位于同一处理器中;或者上述各个模块还可以按照任意组合的形式分别位于不同的处理器中。
本实施例所提供的基于区块链医疗电子票据打印的系统不仅适用于医疗收费电子票据的打印,还适用于各行业中收费电子票据的打印,以及各财政部门中电子票据的打印。
本申请实施例提供了一种基于区块链医疗电子票据打印的装置,装置用于执行上述实施例中的基于区块链医疗电子票据打印的方法,装置包括可触摸的操作屏幕、计算处理设备、识别器、票据打印机、切割设备和盖章设备;
可触摸的操作屏幕,用于引导用户操作打印步骤;
计算处理设备,用于接收用户的输入,并输出至可触摸的操作屏幕,能够调用票据打印机;
识别器,用于读取用户的身份识别信息,身份标识信息包括身份证号、社保卡号、人脸图像信息、指纹信息、预设二维码和预设条形码;
票据打印机,根据票据的类型自动采用对应的打印方式,打印方式包括喷墨打印和针式打印;
切割设备,用于将联式的票据切割开来;
盖章设备,用于将印章盖在票据的指定位置。
本实施例所提供的基于区块链医疗电子票据打印的装置不仅适用于医疗收费电子票据的打印,还适用于各行业中收费电子票据的打印,以及各财政部门中电子票据的打印。
另外,结合上述实施例中的基于区块链医疗电子票据打印的方法,本申请实施例可提供一种存储介质来实现。该存储介质上存储有计算机程序;该计算机程序被处理器执行时实现上述实施例中的任意一种基于区块链医疗电子票据打印的方法。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于区块链医疗电子票据打印的方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
在一个实施例中,图8是根据本申请实施例的电子设备的内部结构示意图,如图8所示,提供了一种电子设备,该电子设备可以是服务器,其内部结构图可以如图8所示。该电子设备包括通过内部总线连接的处理器、网络接口、内存储器和非易失性存储器,其中,该非易失性存储器存储有操作系统、计算机程序和数据库。处理器用于提供计算和控制能力,网络接口用于与外部的终端通过网络连接通信,内存储器用于为操作系统和计算机程序的运行提供环境,计算机程序被处理器执行时以实现一种基于区块链医疗电子票据打印的方法,数据库用于存储数据。
本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的电子设备的限定,具体的电子设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
本领域的技术人员应该明白,以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
- 上一篇:石墨接头机器人自动装卡簧、装栓机
- 下一篇:面向不平衡数据集的信用风险预测方法