eiupanther96 / vaccine-traceability-blockchain

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

基于区块链的疫苗溯源解决方案

项目的代码使用solidity语言写的,部署的平台是FISCO BCOS,值得注意的是,该平台中区块链中的数据主要是以表结构的KEY-VALUE形式存储的,所以项目中创建了很多不同的表。
FISCO BCOS建链教程请参考 https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/index.html。
以下是简要的项目介绍。

1.我们项目将实现以下目标功能:

(1)实现单支疫苗的追溯,用户可以查询到单支疫苗流通的生产厂商、疾控中心、接种单位,以及疫苗信息,实现“一物一码”,对于伪造的疫苗数据,一定会出现系统数据冲突(重复使用或者对应的接种单位不匹配)。
(2)监管机构拥有疫苗流通全过程的数据,包括生产环节,运输环节,接种环节与接种信息反馈。如果发现问题疫苗,监管机构将可以通过问题疫苗的批次,查询到所有该批次疫苗流通到的疾控中心和接种单位,能够快速的反应并实施有效的应对措施。

2. 代码的使用

系统有五种角色,监管机构、生产厂商、疾控中心、接种单位和物流企业。这里不包含接种用户,接种用户直接从监管机构提供的接口查询数据。
监管机构:负责监管疫苗供应链全过程,授权生产厂商生产,分配溯源码,保存疫苗流通数据,并向接种用户提供疫苗溯源数据。(由于疫苗由国药局直接管理,所以这里的监管机构只有国药局)
生产厂商:生产疫苗,贴溯源码,向疾控中心提供疫苗,并且将数据上传到区块链系统,供监管机构审计。
疾控中心:有省级、市级、县级疾控中心,向生产厂商购买疫苗,配送给下级疾控中心和接种单位,并且将数据上传到区块链系统。
接种单位:疫苗接种,上传疫苗接种信息。
物流企业:负责从生产厂商到疾控中心和疾控中心到接种单位的疫苗运输。

(1)ProducerTContract.sol:主要负责管理生产厂商表。
(2)ProducerContract.sol:主要负责记录生产厂商的生产计划,进而向监管机构申请分配防伪码。
(3)CdcTContract.sol:主要负责管理疾控中心表。
(4)LogTContract.sol:主要负责管理物流企业表。
(5)InoTContract.sol:主要负责管理接种单位表。
(6)BuyContract.sol:主要功能为疾控中心与生产厂商的疫苗订单协商与数据上链。
(7)TransportContract.sol:主要监控从生产厂商到疾控中心和疾控中心到接种单位的疫苗运输。
(8)Sup1Contract.sol、Sup2Contract.sol:主要功能为以每批疫苗为单位,保存流通过程存证,且与生产厂商和疾控中心核对。

About