
1) 【一句话结论】:依据《医疗健康数据安全管理条例》及《个人信息保护法》要求,通过构建分层数据分类体系、动态访问控制策略、全链路审计机制,确保医疗系统在数据全生命周期中满足合规性,保护患者隐私并降低违规风险。
2) 【原理/概念讲解】:老师会解释:
3) 【对比与适用场景】:访问控制策略对比:
| 策略类型 | 定义 | 特性 | 使用场景 | 注意点 |
|---|---|---|---|---|
| 基于角色的访问控制(RBAC) | 按用户所属角色分配权限,角色与岗位绑定 | 静态权限,角色固定,管理简单 | 医院科室人员(医生、护士、管理员),按岗位分配基础权限 | 角色定义需与实际岗位严格匹配,避免权限冗余或遗漏 |
| 基于属性的访问控制(ABAC) | 按用户属性(如部门、角色)、数据属性(如敏感级别)、环境条件(如时间、位置)动态判断权限 | 动态权限,灵活性强,能适应复杂业务场景 | 高敏感数据(如患者隐私数据),需根据实时条件调整权限(如跨科室访问需审批) | 属性定义复杂,需确保属性数据准确且实时更新,避免权限误判 |
4) 【示例】:数据分类与访问控制伪代码(结合具体实现逻辑):
# 数据分类函数(依据《条例》第11条)
def classify_data(data_type, content):
if data_type == "patient_record":
# 正则匹配核心敏感字段(身份证号、主诊断)
if re.search(r'\d{18}', content) or re.search(r'主诊断:[^;]+', content):
return "核心敏感数据"
else:
return "敏感数据"
elif data_type == "clinical_notes":
return "内部数据"
else:
return "公开数据"
# 访问控制示例(ABAC策略)
def check_access(user_dept, user_role, data_classification, env_condition):
# 用户属性:部门(如内科、外科)、角色(医生、护士)
# 数据属性:敏感级别(核心/敏感)
# 环境条件:是否在院内网络(True/False)
if user_role == "doctor":
if data_classification == "核心敏感数据":
if user_dept == "内科" and env_condition: # 仅院内且本部门
return True
else:
return False
elif data_classification == "敏感数据":
return True
elif user_role == "nurse":
if data_classification == "敏感数据":
return True
else:
return False
return False
# 权限动态调整流程(调岗后权限变更)
def update_permissions(user_id, new_role, new_dept):
# 步骤1:审批调岗申请(HR部门)
# 步骤2:系统自动更新角色(如医生→护士)
# 步骤3:同步权限(如删除医生权限,添加护士权限)
# 步骤4:记录权限变更日志(审计)
pass
5) 【面试口播版答案】(约90秒):
“面试官您好,针对医疗数据合规性,我主要从数据分类、访问控制、审计三个维度来阐述。首先,数据分类依据《医疗健康数据安全管理条例》第11条,将数据分为公开、内部、敏感、核心敏感等层级,比如患者身份证号、病历主诊断属于核心敏感数据,需最高级别保护。然后,访问控制采用RBAC与ABAC结合策略:RBAC按医生、护士、管理员分配基础权限,ABAC根据用户部门、数据敏感级别动态调整,比如某医生仅能访问自己科室的患者核心敏感数据。接着,审计机制全流程覆盖,记录所有数据操作,存储在加密的审计日志中,保留至少3年,用于事后追溯。通过这些措施,确保系统在数据采集、存储、处理、传输等全生命周期中符合法规要求,保护患者隐私,同时满足医院业务需求。”
6) 【追问清单】:
7) 【常见坑/雷区】: