《Fabric 云存储的电子健康病历系统》病历结构体 Records

Posted thefist11

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了《Fabric 云存储的电子健康病历系统》病历结构体 Records相关的知识,希望对你有一定的参考价值。

1. 对病历结构体 Records 进行操作的接口包括

  • 初始化
  • 查询
  • 状态修改

1.1 病历结构体 Records

  • 病历 ID
    病历ID 作为病历的 key 值,用于在账本中检索病历;
  • 患者 name
  • 文件路径
    文件路径path 表示病历在 HDFS 中存储的路径,用于查找和获取病历文件。
  • 拥有者
  • 数字摘要 hashcode,
    hashcode 是云端存储的病历经过哈希函数计算产生的哈希值,在文件传输过程中会根据数字摘要判断云端病历是否发生修改或变动;
 type Records struct {
    ObjectType    string `json:"objectType"`      /*对象类型*/
    Recordsid     int `json:"recordsid"`          /*病历 ID*/
    Recordsname   string `json:"recordsname"` 
    Path        string `json:"path"` 
    Owner        string `json:"owner"` 
    HashCode     int `json:"hashcode"`          /*数字摘要*/
}

1.2. 编写智能合约入口函数 main,并重写 Init()和 Invoke()方法。

 
func main() {
   err := shim.Start(new(recordsChaincode))
   if err != nil {
     fmt.Printf("Error starting Records chaincode: %s", err)
   }
}
func (t *recordsChaincode) Init(stub shim.ChaincodeStubInterface) pb.Response {
   fmt.Println("Records Init Success")
   return shim.Success(nil)
}

func (t *recordsChaincode) Invoke(stub shim.ChaincodeStubInterface) pb.Response {
   fmt.Println("Records Invoke")
   function,args := stub.GetFunctionAndParameters()
   if ( function == ‘initRecords’){          /* initRecords 方法示例*/
      return t.initRecords(stub,args)
   }
   ...
}

参考:
【1】“基于Hyperledger Fabric和云存储的电子健康病历系统的研究与实现”.西安电子科技大学.杨洲 2019.6

以上是关于《Fabric 云存储的电子健康病历系统》病历结构体 Records的主要内容,如果未能解决你的问题,请参考以下文章

《Fabric 云存储的电子健康病历系统》系统介绍

基于云计算的电子病历全文检索系统

基于区块链/Hyperledger Fabric与IPFS的电子病历数据传输系统搭建流程

发展电子病历的意义

电子病历管理系统参考论文(改)

基于大数据HBase的电子病历智能全文检索系统研究