跳转到主要内容
工程的博客

构建一个现代临床医疗数据与三角洲湖湖

分享这篇文章

医疗行业是最大的生产商的数据。事实上,一般的医疗组织正坐在近9 pb的医疗数据。电子健康记录(EHR)的兴起,数字医学图像,这套可导致这个数据爆炸。例如,EHR系统大型目录提供者可以数以百万计的医学测试,临床交互和规定的治疗方法。从这个人口规模和潜在学习数据是巨大的。通过构建分析仪表盘和机器学习模型最重要的这些数据集,医疗组织可以改善病人的经验和驱动更好的健康结果。这里有几个实际的例子:

现实世界的例子医疗组织利用分析和机器学习与自己的健康数据改善病人的经验,推动改进成果。

预防新生儿败血症

BOB低频彩

现实世界的例子医疗组织利用分析和机器学习与自己的健康数据改善病人的经验,推动改进成果。

慢性疾病的早期检测

BOB低频彩

现实世界的例子医疗组织利用分析和机器学习与自己的健康数据改善病人的经验,推动改进成果。

跟踪疾病在人群

BOB低频彩

现实世界的例子医疗组织利用分析和机器学习与自己的健康数据改善病人的经验,推动改进成果。

防止欺诈和滥用

BOB低频彩

得到的早期预览O ' reilly的新电子书一步一步的指导你需要开始使用三角洲湖。

对医疗组织前三大数据的挑战

尽管机会改善与分析和机器学习的病人护理,医疗组织面临着古典大数据挑战:

  • 各种——医疗服务的交付产生大量的多维数据从不同的数据源。医疗团队需要运行查询病人,治疗,设施和时间窗口来构建一个整体查看病人的经验。这是计算密集型为遗留分析平台。bob体育客户端下载最重要的是,80%的医疗数据是非结构化(如临床讲义、医学成像、基因组学等)。不幸的是,传统的数据仓库,作为分析骨干对于大多数医疗组织,不支持非结构化数据。
  • 体积,一些组织已经开始投资于健康数据湖泊将他们一起pb级的结构化和非结构化数据。不幸的是,传统的查询引擎的数据量大小。一个简单的特别分析可以花几小时或几天。这是太长时间等待当病人需要实时调整。
  • 速度病人总是进入诊所或医院。以一个恒定的数据流,EHR记录可能需要更新修复编码错误。它是至关重要的,一个事务处理模式存在,以便更新。

仿佛这挑战性不够,数据存储也必须支持数据的科学家们需要运行特别转换,就像创建一个纵向视图的一个病人,或与机器学习技术建立预测的见解。

幸运的是,三角洲湖一个开源存储层,为大数据带来了ACID事务工作负载,以及Apache火花TM可以帮助解决这些挑战提供事务支持快速多维查询存储在不同的数据以及丰富的数据科学功能。三角洲湖和Apache火花,医疗组织可以构建一个可伸缩的临床资料分析和ML的湖。

在这个博客系列中,我们将开始,走过一个简单的示例,展示了如何三角洲湖可用于特别的关于健康和临床数据的分析。在未来的博客,我们将看看如何三角洲湖和火花可以是耦合在一起的过程流HL7 / FHIR数据集。最后,我们将看看一些数据科学的用例可以运行的健康数据与三角洲湖湖了。

使用构建疾病仪表板三角洲湖

为了演示三角洲湖使它容易使用大型临床数据集,我们将开始一个简单但强大的用例。我们会建立一个仪表板,允许我们识别并存状况(一个或多个疾病或条件发生在与另一个条件在同一人在同一时间)在人口的病人。要做到这一点,我们将使用一个模拟电子健康档案数据集,生成的Synthea模拟器通过数据砖数据集(AWS|Azure)。这个数据集代表了一群来自马萨诸塞州的大约11000名患者,并存储在12 CSV文件。之前,我们将负载的CSV文件屏蔽保护健康信息(φ)和加入表一起为我们的下游获取我们需要的数据表示查询。一旦数据被提炼,我们将使用SparkR构建一个仪表板,使我们能够交互式地探索和计算常见的卫生统计在我们的数据集。

例临床健康数据架构,湖演示三角洲湖可以提高勘探和分析大量的临床数据。

这个用例是一种很常见的起点。在临床中,我们也可以看并存病作为一种理解患者的疾病严重程度增加的风险。从医疗编码和财务的角度来看,并存疾病可能会让我们看确定共同的医疗编码问题影响报销。在医药研究,观察共病疾病遗传学证据可能给我们共享更深的了解基因的功能

然而,当我们考虑底层的分析架构,我们还在一个起点。而不是在一个大型批量装载数据,我们可以寻求负载流电子健康档案数据,以便实时分析。而不是使用仪表板,给我们简单的见解,我们可以提前机器学习用例,如培训机器学习模型,使用数据从近期病人遇到来预测疾病的进展。这可以在一个ER设置强大的流数据和毫升可以用来预测病人的可能性提高实时或下降。

在这个博客的其余部分,我们将实现我们的仪表板。我们将首先开始使用Apache火花和三角洲湖ETL模拟电子健康档案数据集。一旦数据已经准备分析,我们将创建一个笔记本,标识并存状况在我们的数据集。通过使用内置功能在砖(AWS|Azure),我们就可以直接把笔记本变成一个仪表板。

etl临床数据为三角洲湖

开始,我们需要加载CSV数据转储到一个一致的表示对我们的分析,我们可以使用工作负载。通过使用三角洲湖,我们可以加速很多下游查询,我们将运行。三角洲湖支持z值,我们可以高效地查询数据跨多个维度。这是处理电子健康档案数据的关键,因为我们可能想切割数据的患者,按日期,由护理设施,或条件,在其他的事情。此外,在砖三角洲湖发行提供了额外的优化管理,加快探索查询到我们的数据集。三角洲湖也不会过时的工作:目前我们没有处理流数据时,我们可以使用EHR直播流在未来,和三角洲湖的酸语义(AWS|Azure)使处理流的简单和可靠。

我们的工作流如下几个步骤显示在下面的图。我们将开始通过加载原始/青铜数据从我们的八个不同的CSV文件,我们将任何φ面具出现在表,我们会写出一组银表。我们将我们的银色的表联接在一起,从而得到一个更容易表现为下游处理查询。

我们的原始CSV文件加载到三角洲湖表是一个简单的过程。Apache火花原生支持加载CSV,我们能够加载文件每一行代码文件。而火花没有内置支持掩蔽φ,我们可以用火花丰富的支持用户定义函数(udf,AWS|Azure)来定义一个任意函数,确定性PIIφ和面具字段。在我们的示例中笔记本,我们使用Python函数计算SHA1哈希。最后,将数据保存到三角洲湖是一行代码。

生的CSV文件加载到三角洲湖表是一个简单的过程。

一旦数据被加载到三角洲,我们可以优化表通过运行一个简单的SQL命令。在我们的示例中并发症预测引擎,我们需要快速查询在病人ID和他们评估的条件。通过使用三角洲湖z值的命令,我们可以优化表可以快速查询维度。我们做过的一个最后的黄金表,已加入了几个我们的银表一起实现数据表示我们需要为我们的仪表板。

例子使用三角洲湖的z值命令,快速优化表,因此它可以查询通过维度。

建立一个疾病仪表板

现在我们已经准备好了,我们的数据集,我们将构建仪表盘并存状况让我们去探索,或者更简单地说,通常同时发生在一个病人的条件。有些时候,这些可以前体/风险因素,例如,高血压是一个众所周知的中风和其他心血管疾病的危险因素。通过发现和监控并存状况,和其他健康统计数据,我们可以通过识别风险和提高护理建议病人在他们可以采取的预防措施。最终,确定并发症是计数锻炼!我们需要确定患者的不同情况和条件B,这意味着它可以做所有的完全使用火花SQL SQL。在仪表板中,我们将遵循一个简单的三个步骤:

    1. 首先,我们创建一个数据帧,有条件,在患者发生的数量。这允许用户可视化最常见的条件的相对频率的数据集。

例子使用火花的SQL来创建一个数据帧,健康状况,在患者发生的数量。这允许用户可视化最常见的条件的相对频率的数据集。

    1. 然后我们给用户小部件(AWS|Azure)指定两个条件比较感兴趣。通过使用SQL火花,我们确定病人的全套发生状况。

例子使用火花的SQL来创建小部件,指定两个卫生条件比较。

  1. 因为我们在使用SparkR火花SQL,我们可以很容易地收集病人的计数和使用χ2测试计算的意义。我们打印这两个条件之间的关系是否具有统计学意义。

而数据科学家正在迅速迭代了解趋势躺在他们的数据集可能是快乐的工作在一个笔记本,我们会遇到许多用户(医生、公共卫生官员和研究人员,业务分析师、计费分析师)谁不感兴趣看到代码的分析。通过使用内置的仪表盘函数,我们可以隐藏的代码和关注我们生成的可视化。因为我们小部件添加到我们的笔记本,用户仍然可以提供输入疾病比较的笔记本和改变。

例子在SQL中使用SparkR火花收集计数的患者和χ2测试适用于计算的意义。

开始建立你的临床数据

在这个博客中,我们制定了构建一个可伸缩的基本面健康数据湖三角洲湖和一个简单的合并症仪表板。了解更BOB低频彩多关于使用三角洲湖存储和处理健康和临床数据集:

免费试着砖

相关的帖子

看到所有工程的博客的帖子