《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的主要内容,如果未能解决你的问题,请参考以下文章