医疗保健行业正在经历一场变革。在一个受到严格监管且历史悠久的行业中,免费和开源软件的使用使其能够独一无二地取得巨大进步。
我在一家以节约成本为首要任务的 小型医疗保健初创公司 工作。我们面临的主要挑战是如何在 1996 年《健康保险流通与责任法案》(HIPAA)的法规下,安全有效地管理个人身份信息 (PII)(如姓名、地址、保险信息等)和个人健康信息 (PHI)(如最近就诊的原因)。HIPAA 于 2003 年在美国强制实施。
简而言之,HIPAA 是一套美国法规,旨在响应医疗保健数据传输和安全方面的安全需求而制定。第 1、3、4 和 5 章与医疗保健行业和保险监管相关,第 2 章保护患者隐私以及 PHI/PII 的安全。第 2 章规定了医疗信息可以向谁以及如何披露(患者、医疗服务提供者和相关工作人员),并且还大致描述了必须使用的技术安全措施,并提出了许多建议。
该法律的制定旨在管理一段时间内的数字数据可移植性(尽管原始立法中增加了一些更新),但它无法预料到已经引入的各种技术进步,因此在如何确保患者数据安全方面常常缺乏细节。审计师希望看到尽最大努力、真实可靠且受尊重的文档——这是一个通常模糊但引人注目且始终存在的挑战。但没有任何法规规定我们不能使用开源软件,这让我们的工作变得轻松得多。
我们的技术栈由 Python 组成,其中包含现成的开源安全和密码学软件包,这些软件包通常已经内置于 Python Web 框架的要求中(在我们的例子中是 Klein,这是一个使用 Twisted 构建的框架,Twisted 是一个用于 Python 的异步网络框架)。在前端,我们使用了 AngularJS。我们使用的一些免费安全 Python 软件包包括 cryptography、itsdangerous、pycrypto,以及略微不相关的 magic-wormhole,这是一个相当密码安全的 文件发送工具,我和我的团队都很喜欢,它基于 Twisted 和 Python 密码学软件包构建。
正如下面的示例中所述,这些工具对于我们在前端和服务器端遵守 HIPAA 法规至关重要。随着 FOSS 的成熟和资金投入(感谢 Mozilla 基金会资助 PyPI 项目,PyPI 项目是所有 Python 开发人员都依赖的软件包存储库),营利性企业不仅可以使用和贡献大量的开源软件,而且还可以使其安全可靠。
我们早期的挑战之一是如何使用 Amazon Web Services (AWS) 的消息队列服务 SQS(简单队列服务)将数据从我们的应用程序服务器传输到我们的数据接口服务器(在 SQS 对流量进行端到端加密之前)。我们将数据接收/发送实例与 Web 应用程序实例分离,以使数据和应用程序彼此无法通信。这减少了攻击者获得访问权限时的安全风险面。SQS 的目的在于传输我们从合作伙伴处收到的用于持续护理的数据并将其临时存储在应用程序内存中,以及将我们从应用程序发送回数据和接口引擎的数据添加到医疗保健网络的医疗记录系统中的患者图表中。
典型的符合 HIPAA 法规的安装要求对传输中的所有数据进行加密,但当时 SQS 没有符合 HIPAA 法规的选项。因此,我们使用 GNU Privacy Guard (GnuPG),它可能难以使用,但在正确应用时是可靠且密码安全的。这确保了应用程序服务器上存储的任何时间段的任何数据都使用我们为该服务创建的密钥进行加密。当数据从应用程序传输到数据接口时,我们使用仅存在于两个组件上的密钥对其进行加密和解密。
虽然现在比以往任何时候都更容易使用开源软件,但我们仍在努力回馈社区。即使公司律师和营销人员正在确定宣传我们的 OSS 项目的最佳和最安全方式,我们已经收到一些人对我们的 pip 软件包和存储库的关注,他们正在寻找我们提供的确切解决方案。我很高兴能够让我们发布的项目更加为人所知,将我们更多的开源代码管理给需要它的人,并鼓励其他人以同样的方式回馈社区。
医疗保健领域的这项创新面临许多障碍,我推荐优秀的 EMR & HIPAA 博客,该博客提供了一份非常棒且易于理解的每日新闻通讯,内容涉及许多组织如何在技术上、后勤上和人际关系上应对这些障碍。
1 条评论