一、理論重點
二、案例分享
2017 年,愛沙尼亞(Estonia)成為全球第一個將區塊鏈技術應用在國家醫療紀錄系統的國家。該國透過區塊鏈確保所有醫療資料(例如病歷、處方、檢查結果)都能被追蹤與驗證,避免任何單位未經授權修改病歷。醫師、病人及醫療機構可以透過加密授權方式安全共享資料,並留下完整的存取紀錄,這讓醫療體系大幅提升透明度與安全性,也讓病人能真正掌控自己的健康數據。
三、簡單程式示範
import hashlib
import time
# 區塊類別
class Block:
def __init__(self, index, timestamp, patient_name, diagnosis, previous_hash):
self.index = index
self.timestamp = timestamp
self.patient_name = patient_name
self.diagnosis = diagnosis
self.previous_hash = previous_hash
self.hash = self.calculate_hash()
def calculate_hash(self):
record = str(self.index) + str(self.timestamp) + self.patient_name + self.diagnosis + self.previous_hash
return hashlib.sha256(record.encode()).hexdigest()
# 區塊鏈類別
class Blockchain:
def __init__(self):
self.chain = [self.create_genesis_block()]
def create_genesis_block(self):
return Block(0, time.time(), "Genesis", "First Block", "0")
def get_latest_block(self):
return self.chain[-1]
def add_block(self, patient_name, diagnosis):
latest_block = self.get_latest_block()
new_block = Block(len(self.chain), time.time(), patient_name, diagnosis, latest_block.hash)
self.chain.append(new_block)
def is_chain_valid(self):
for i in range(1, len(self.chain)):
current_block = self.chain[i]
prev_block = self.chain[i - 1]
if current_block.hash != current_block.calculate_hash():
return False
if current_block.previous_hash != prev_block.hash:
return False
return True
# 建立病歷區塊鏈
medical_chain = Blockchain()
medical_chain.add_block("Alice", "Diabetes Type 2")
medical_chain.add_block("Bob", "Hypertension")
medical_chain.add_block("Charlie", "Asthma")
# 顯示病歷區塊
for block in medical_chain.chain:
print(f"區塊 {block.index} | 病人: {block.patient_name} | 診斷: {block.diagnosis}")
print(f"雜湊: {block.hash}\n")
print("區塊鏈有效性:", medical_chain.is_chain_valid())
這段程式碼主要是用 Python 模擬區塊鏈在病歷共享的運作方式,讓你看到「病歷如何被安全保存與驗證」。病歷被加到區塊鏈後,每筆都會連結前一筆 hash,因此能保證資料不可竄改,讓病歷共享更安全透明。執行結果如下