今天的目標是理解如何把前面建立的醫療 IoT + API 系統,延伸到更大的架構:
一方面透過區塊鏈確保病歷不可竄改,另一方面利用雲端(AWS / GCP)讓醫療資料更方便共享、備份與分析。
一、理論重點
區塊鏈應用:病人病歷上鏈,確保紀錄完整性與不可竄改,醫師查詢時能驗證資料真實性。
雲端應用:利用 AWS (如 DynamoDB, S3, KMS) 或 GCP (Cloud SQL, BigQuery) 儲存並分析大規模醫療數據,具備高可用性與彈性擴展能力。
混合架構:敏感資料(例如診斷內容)經過加密後存在雲端,驗證雜湊(hash)存在區塊鏈,既保護隱私,又能確保真實性。
二、案例分享
2021 年,愛沙尼亞的國家電子健康系統成功將病歷管理與區塊鏈技術整合,所有醫療紀錄存放於雲端伺服器,但每筆存取與修改紀錄都上鏈保存,避免未經授權的竄改,這樣的架構讓醫療資料同時具備透明性與安全性。
三、簡單程式示範
import hashlib
import time
import json
# 模擬 IoT 醫療數據
device_data = {
"device_id": "bp-001",
"systolic": 120,
"diastolic": 80,
"timestamp": time.time()
}
# --- 區塊鏈處理 (簡單雜湊鏈結) ---
class Block:
def __init__(self, index, data, previous_hash):
self.index = index
self.timestamp = time.time()
self.data = data
self.previous_hash = previous_hash
self.hash = self.calculate_hash()
def calculate_hash(self):
record = str(self.index) + str(self.timestamp) + json.dumps(self.data) + self.previous_hash
return hashlib.sha256(record.encode()).hexdigest()
# 建立鏈並新增一個區塊
genesis_block = Block(0, {"msg": "Genesis Block"}, "0")
new_block = Block(1, device_data, genesis_block.hash)
# --- 模擬雲端上傳 (寫進本地檔案) ---
cloud_file = "cloud_storage.json"
with open(cloud_file, "w") as f:
json.dump({"block_index": new_block.index,
"data": new_block.data,
"hash": new_block.hash}, f, indent=4)
print("IoT 數據已加到區塊鏈並同步到雲端 (模擬)!")
print("雜湊:", new_block.hash)
今天的範例把 IoT 醫療數據先寫入區塊鏈(防竄改),再將其「同步」到雲端(這裡用 JSON 檔模擬雲端儲存)。實際應用時,雲端可能是 AWS S3 或 GCP Cloud Storage,而區塊鏈可以用 Hyperledger 或 Ethereum。執行結果如下