软件测试如何遵守HIPAA?
已发表: 2022-12-19免责声明——本文仅涵盖主要的 HIPAA 合规性软件测试领域,不包括物理保护等元素,例如在打开屏幕的工作站上未部署软件。 另外请注意,该策略将取决于应用程序的要求,这意味着它不会适用于所有应用程序。
医疗保健组织正以惊人的速度成为大规模数据泄露事件的受害者。 一个值得注意的例子是尤马地区医疗中心勒索软件攻击事件,该事件早在 2022 年 4 月就暴露了超过 700,000 人的数据。下图也表明数据泄露案例的数量不断增加。
随着这些数字与去年同期相比变得越来越令人担忧,医疗机构正在转向使用具有牢不可破的数据保护措施的软件来存储和传输他们的医疗数据。 这些组织遵守所有HIPAA 合规性要求,并花费大量时间确保构建的医疗保健软件的稳健性和安全性。
这将很多重点放在符合 HIPAA 的软件测试上。 如果您不以 HIPAA 合规性为重点来测试医疗保健软件,会发生什么情况? 不遵守 HIPAA 软件测试将使应用程序面临数据泄露和非法使用的风险。 除此之外,还会招致美国卫生与公众服务部的严厉处罚。
这就是为什么您的医疗保健软件开发团队有必要花时间构建符合 HIPAA 标准的应用程序并更加关注软件测试的原因。
在 Appinventiv,作为一家医疗保健软件开发公司,我们已经成功开发、测试和部署了涉及多个利益相关者的医疗保健应用程序,没有发生任何违规事件。
在本文中,我们将讨论通过测试检查应用程序中 HIPAA 合规性的各种方法。 但首先让我们看看为什么构建符合 HIPAA 标准的软件变得越来越困难。
为什么构建符合 HIPAA 标准的软件很困难?
虽然每个医疗保健服务提供商都将安全放在首位以确保 HIPAA 合规性,但该行业的复杂性有时会导致某些要素仍未得到解决。 以下是在没有 HIPAA 合规性软件清单的情况下通常会发生的情况。
大量数据需要保护
在围绕数据保护构建结构之前,开发人员需要全面了解什么是敏感信息。 在医疗保健系统中,评估这一点可能很困难,因为数据以不同格式存储在多个位置,如物理存储位置、EHR 系统、数据中心、移动设备、供应商办公室等。
缺乏有关 HIPAA 合规性的资源
构建真正符合 HIPAA 标准的软件需要在团队中增加律师、系统架构师、网络安全专家和医学专家。 他们都在项目中贡献了广泛的知识和时间——由于固定的医疗保健应用程序开发成本和时间表,这并不总是可能的。
多个数据访问平台
医疗保健系统中的所有平台都必须采用统一的安全措施进行保护。 然而,医院基础设施由真实和数字用户端点、数据中心、服务器、云资源等组成,要形成统一的安全基础设施,有必要研究 MDM 开发以保护敏感数据。
灵活性降低
考虑到多种安全要求而构建的软件本质上可能会变得僵化,但是,医疗保健组织需要灵活性才能管理患者和医生的体验。 这导致开发人员必须在不影响医疗保健体验的情况下管理灵活性和 HIPAA 合规性。
需要重新评估 HIPAA 的实施
HIPAA 合规性测试不会随着应用程序的部署而结束。 网络安全威胁、HIPAA 要求和医疗保健组织的 IT 需求等多种因素在不断变化,为确保您的软件保持合规性,您需要进行定期审计和文档更新。
现在我们已经研究了使构建符合 HIPAA 标准的应用程序变得困难的因素,现在是时候通过研究 HIPAA 合规性软件测试的领域以及回答的方式来研究解决方案,过程是什么HIPAA 合规性测试?
HIPAA 软件测试的策略和领域
为了便于理解,我们通常将 HIPAA 合规性软件测试分为 5 个关键领域。 了解这些领域是什么对于回答问题很重要。您如何确保软件符合 HIPAA 标准?
用户认证
通常,用户身份验证可以是其中任何一种——基于所有权的身份验证(如身份证)、基于知识的身份验证(如用户 ID/密码)以及基于生物识别的身份验证(如指纹或面部扫描)。 这方面的软件测试不仅限于确保每个角色的成功登录路径,还包括 –
- 登录失败由于 –
- 清空用户 ID 和密码
- 无效的用户 ID 和密码
- 过期或冻结的帐户
- 锁定帐户
- 登录成功后修改密码
- 登录空闲超时
- 登录数据未存储在应用程序内存中
除此之外,它还有助于创建测试数据的标准结构,例如 <PatientFirstName><PatientLastName><TestName><Date><Time>。 这将有助于无缝识别用户。
信息披露
信息披露通常适用于两类——基于角色的访问和患者分配。 在前者下,用户按具有特定访问级别的逻辑类别分组,在后者的情况下,主管将患者分配给特定时间的医疗服务提供者。
这将有助于设计测试用例,指定谁可以查看/修改/添加/删除他们未访问过的信息。 此外,您应该创建一种做法,一旦应用程序被卸载,所有 EPHI 信息都应该从系统中删除。 适当的信息披露应该是 HIPAA 合规软件清单的关键部分。
审计跟踪
在查看 HIPAA 软件测试的审计跟踪部分时,应考虑以下因素。
- 每个审计跟踪条目必须包含以下信息 –
- 行动日期和时间
- 执行操作的用户的 ID 或名称
- 用户访问级别
- 发生操作的患者记录 ID
- 执行或尝试的操作
- 执行它的特定事件(例如,付款或患者图表)
- 发生操作的位置或系统 ID
- 条目必须符合软件的安全要求,并且审计跟踪应该易于跟踪以供将来调查。
- 不得从审计追踪中删除条目。
- 审计跟踪应设计为供特定用户帐户查看。
- 所有破坏安全的企图都应该在审计追踪中被监控。
- 审计跟踪必须加密。
数据传输
数据传输是 HIPAA 合规性测试的另一个关键领域,必须在以下期间确保安全性:
- 安装应用程序的物理设备和移动设备之间的数据访问
- 数据传输到外部设备和位置
- 将数据移动到离线存储位置。
在数据传输期间,同样重要的是要注意通常数据将被加密(只有授权用户才能解密)。 以下是应成为 HIPAA 合规要求一部分的数据加密最佳实践。
- 保护加密密钥以防止未经授权的用户使用系统数据。
- 加密敏感数据,无论它在系统中的存储位置如何。
- 定期分析数据加密过程中的算法性能。
正确数据使用的信息
最后,应用程序应在访问数据之前提供数据使用的详细信息。 根据应用程序,它可以采用包含 EPHI 的每个操作的帮助页面形式,或者创建应用程序的培训版本,允许用户在访问应计 EPHI 之前查看软件的工作原理。
下面是 HIPAA 合规性软件测试的 5 个关键领域,但我们如何确保它应用于医疗保健应用程序开发过程?
在软件测试中实现和维护 HIPAA 合规性的步骤是什么?
让我们在下一节中找出答案。
在软件测试中实现和维护 HIPAA 合规性的步骤
在 Appinventiv,当我们构建医疗保健应用程序时,我们将 HIPAA 软件要求作为端到端开发周期的一部分,特别是测试。 以下是我们确保相同的一些方法。
1.访问控制
根据 HIPAA 合规性要求,任何用户都应该只被允许访问他们完成特定任务所需的信息。 可以通过以下七种方式实现这种严格级别的访问控制:
- 允许用户访问特定模块/应用程序/区域的访问控制列表。
- 一个独特的名称和号码,用于识别和跟踪系统内每个用户的身份。
- 用户驱动的访问,需要双因素身份验证才能进入系统。
- 角色驱动的访问取决于用户的角色来查找和决定访问权限。
- 限制访问特定网络或信息系统中特定时间或日期的上下文驱动访问。
- 针对紧急情况收集关键 ePHI 的专用流程。
- 在预定的不活动时间后强制自动注销电子会话的电子过程。
- 加密和解密 ePHI。
2.健全性测试
我们遵循的 HIPAA 软件测试协议的第一部分是运行健全性测试,我们在其中寻找应用程序的 HIPAA 合规性标准中的缺陷。 它涉及研究领域,例如 –
- 对于每个高风险角色或关系,我们验证特定角色的用户是否能够轻松进行身份验证,是否被授予查看、修改和删除访问权限,或对特定应用程序组件操作的零访问权限。 执行所有操作后,它们将记录在审计跟踪中。
- 对数据库中的审计跟踪条目和 EPHI 等区域进行加密验证。
3.角色矩阵
假设应用程序使用基于角色的访问,那么识别系统中的角色以及他们在应用程序中可以拥有的访问级别就变得很重要。 这一步通常是通过与客户交谈来执行的,客户告诉我们基于信息披露的风险级别、使用频率、出错几率和出错影响。
当我们运行健全性测试时,这样的图表有助于识别与每个关系相关的风险级别,并确保主动发现并修复问题。
4.测试用例
我们在 HIPAA 合规性软件测试中遵循的第三步是构建详细的测试用例,其中将用户移动分解为操作和结果级别。 让我们以医生预约应用程序为例对其进行详细说明。
测试用例 | 事件 |
---|---|
登入 | 登录屏幕带有多个身份验证选项。 |
主屏幕 | 医生可以通过仪表板查看他们的预约。 |
管理可用性槽 | 医生获得可修改的日历视图以添加可用时段。 |
查看预约 | 屏幕上有一个预定的约会列表。 |
接受/拒绝/修改预约 | 在已安排的约会旁边,医生可以选择接受、拒绝或重新安排约会。 |
加入虚拟咨询会议 | 医生可以通过聊天/通话/视频加入虚拟咨询会议。 |
上传处方 | 医生可以通过单击他们的处方垫的照片来上传屏幕截图。 |
管理资料 | 屏幕打开,医生可以在其中查看约会、付款摘要并编辑他们的详细信息。 |
关闭应用 | 当医生关闭应用程序时,会话结束。 |
5.负载均衡
故障转移或负载平衡计划是任何医疗保健组织的重要组成部分,因为患者数据的丢失可能会使他们的生命搁置。
他们需要验证软件继续日常操作的能力,同时进行备份以实现顺畅的工作流程。 它们还有助于确定软件是否能够在需要时分配资源,以及它是否能够识别需要/紧急情况。 一个强大的故障转移计划在正确实施并在由内而外的级别上进行测试时,必须提供近乎完整的数据保护、几乎为零的数据丢失以及在发生错误时的即时恢复。
我们遵循的 HIPAA 合规性测试流程
测试健康应用程序是否符合 HIPAA 合规性的过程不同于常规应用程序测试方法。 以下是我们为确保您的应用程序经过良好测试而遵循的方法。
1.文档分析
我们的 QA 专家会查看包含其功能和非功能要求的软件文档,以构建您的软件所需的技术保障清单,然后我们会制定 HIPAA 合规性测试计划。
2. 角色矩阵创建
我们构建了一个角色矩阵图,帮助识别当前用户角色和与执行多个操作(如查看、添加、删除和修改 ePHI)相关联的风险级别。
3. 测试规划与设计
- 该过程从定义检查软件是否符合 HIPAA 技术保障(如漏洞评估、功能测试和渗透测试)所需的测试事件开始。
- 接下来,我们定义测试组的团队构成——测试工程师、自动化专家、安全测试人员等的人数。
- 在此之后,构建相关的测试场景和测试用例。
- 接下来,我们决定测试自动化的份额。
- 然后我们围绕测试自动化编写脚本,选择和配置相关的测试自动化工具。
- 最后,我们准备了强制性的测试环境和测试数据。
4. 测试的执行和报告
- 我们根据预定义的测试场景运行手动和自动测试。
- 报告已确定的 HIPAA 合规性差距。
- 最后,我们建议必要的补救措施。
有了这个,除了我们测试应用程序所遵循的过程之外,我们还研究了测试满足所有 HIPAA 要求的应用程序的多个方面。 在我们结束本文时,让我们看看所有这些如何转化为成本。
HIPAA 合规性测试的成本
在个人层面上选择 HIPAA 测试的成本取决于以下因素 –
- 医疗保健软件的类型和复杂性
- 不同用户角色的数量。
- 适用的 HIPAA 技术测试保障措施。
- 所需的测试类型。
- 测试自动化所需的工作量。
- 测试用例的复杂性和数量。
- 选择的软件测试外包模型(内部或外包)。
- 安全测试工具的成本
通过这五个HIPAA 软件测试实践和我们遵循的 HIPAA 合规性测试流程,我们确保构建合规就绪的应用程序,该应用程序已准备好改变数字世界,同时始终保持防破坏。 我们如何做到这一点是通过将HIPAA 合规性软件清单作为设计、开发和维护工作的基础。
如果您正在寻求构建或测试已开发的 HIPAA 就绪应用程序的支持,请立即与我们联系。