1. 简介

上次更新时间:2022 年 9 月 22 日
此 Codelab 实现了一个解决方案,用于使用 Looker 访问和直观呈现在 BigQuery 中汇总的临床数据。本实验将演示如何使用 Looker 探索大型医疗保健数据集。Looker 可与 Google Cloud BigQuery 无缝集成,因此您可以快速轻松地开始在 Google Cloud 上构建人口和患者级信息中心。
在此 Codelab 中,您将学习如何完成以下操作:
- 在预配置的 Looker 实例中探索现有的 LookML 项目。
- 在 Looker 中创建 Look。
- 在 Looker 中创建人口级信息中心。
- 在 Looker 中创建患者级信息中心。
- 将信息中心关联在一起。
- 安排通过电子邮件发送 Look 和信息中心,并附带 PDF 附件。
运行此 Codelab 需要哪些条件?
- 您需要有权访问 Looker 实例。此 Codelab 已预配 Looker 实例。您可以提交表单来申请 Looker 实例的访问权限。访问权限会立即配置。
- 我们的 Looker 实例可访问 BigQuery 中的数据。我们已为此 Codelab 预先创建了 BigQuery 中的测试数据集 (hcls-public-data:fhir_20k_patients_analytics)。
2. 申请 Looker 访问权限
在本部分中,您将提交注册表单以获取 Looker 实例的访问权限。注册 Looker 并获得访问权限后,您就可以登录 Looker 并构建报告和信息中心了。
用户注册
- 填写此表单,注册新的 Looker 账号。您提交表单后,会收到一封电子邮件,其中包含用于激活账号、设置密码和完成注册的链接。

- 收到 Looker 发送的欢迎电子邮件后,请点击激活您的账号。

- 接下来,系统会显示激活表单。填写激活表单以设置密码并激活您的账号。然后,系统会将您带到 Looker 的主屏幕。
登录 Looker
使用此链接登录 Looker。

3. 探索现有 LookML 项目
- 在 Looker 中,前往开发下拉菜单。选择现有的 bqlooker_codelab LookML 项目,开始探索。系统会显示 LookML 项目的“模型和视图文件”窗口。

- 点击再次验证以检查是否存在错误。绿色“No LookML Issues”(没有 LookML 问题)表示成功!

- 点击探索下拉菜单,即可查看所有现有探索。探索是报告(Look)的基本 SQL 查询构建块。

4. 尺寸和测量
通过修改 LookML xxx.view 文件添加自定义维度和度量
- 点击开发下拉菜单。
- 滑动紫色的开发模式按钮,将其开启。

- 点击探索下拉菜单,然后选择患有特定疾病并服用特定药物的患者。
- 点击“数量”旁边的齿轮符号,然后选择前往 LookML 以打开“patients_with_conditions_and_medications.view”。

- 您还可以通过以下方式访问此视图:Develop>bqlooker_codelab>Expand the view。
- 在“patients_with_conditions_and_medications.view”视图文件中添加以下代码段,以将“number_of_patients”添加为新的度量。
measure: number_of_patients {
type: count
drill_fields: [lastname]
}
以下屏幕截图显示了文件 patients_with_conditions_and_medications.view 中的代码段

- 点击保存。返回到探索 -> 患有特定(健康)状况且服用特定药物的患者窗口,然后刷新屏幕,验证是否添加了新的度量“患者数量”。

- 点击探索下拉菜单,然后选择患者生命体征信息。
- 点击“数量”字段旁边的齿轮符号,然后选择“前往 LookML”以打开“patient_vital_info.view”。
- 在 patient_vital_info.view 文件中添加以下代码段,以将 RoundedValue 添加为维度,并将 DIA 和 SYS 添加为指标。
dimension: RoundedValue {
type: number
sql: round(${value},2);;
}
measure: DIA {
type: average
sql:
CASE
WHEN ${patient_vital_info.measurement} like "%Diastolic%"
THEN round(${value},0)
END;;
}
measure: SYS {
type: average
sql:
CASE
WHEN ${patient_vital_info.measurement} like "%Systolic%"
THEN round(${value},0)
END;;
}
以下屏幕截图显示了文件中的代码段:

- 点击保存。返回到探索 -> 患者生命体征信息窗口,然后刷新屏幕以验证是否已添加新字段。

5. 外观
创建文件夹结构以整理 Look
- 点击“浏览” -> 选择您的个人文件夹(例如 Codelab 用户的文件夹)
- 点击新建按钮,然后选择文件夹

- 提供文件夹名称:‘Population Management’,然后点击创建文件夹按钮

- 重复执行步骤 1、2 和 3,在您的个人文件夹下创建另一个名为 ‘Patient Level Visualization’ 的文件夹。
- 您的个人文件夹下应有两个文件夹。

为人口管理构建 Look
在 Looker 中,点击探索下拉菜单,然后选择患有某种(健康)状况并服用某种药物的患者,以构建报告和视图(也称为 Look)。
按条件和药物数量构建患者名单:请按以下步骤操作:
- 点击“Condition Desc”(条件说明)和“Med Count”(中位数)维度旁边的过滤按钮,以添加过滤条件。在此 Codelab 中,我们将按以下两个条件过滤数据:
- Condition Desc 等于 Diabetes、Diabetes_Hypertension、Hypertension。
- 中位数数量大于或等于 13。

- 突出显示“患者 ID”“药物数量”和“病情说明”维度,以在结果部分中添加“患者 ID”“药物数量”和“病情说明”数据元素。

- 点击可视化图表标签页中的“表格”图标,将“患者 ID”“药物数量”和“病情说明”数据元素添加到视图中。

- 点击运行以获取结果。

- 点击可视化图表标签页中的修改“向下箭头”,即可在视图中添加和更新信息。将光标置于每个文本框中,然后输入所需的文字以覆盖默认文字。

- 点击“运行”按钮旁边的“齿轮”符号,然后选择“另存为 Look”。

- 选择“Population Management”(人口管理)文件夹。
- 提供标题和说明。

- 点击保存并查看 Look 或保存按钮以保存 Look。
- 如果点击保存并查看 Look 按钮,系统会显示 Look 视图。

- 如果点击保存按钮,探索视图顶部会显示绿色横幅。点击“按病情和药物数量列出的患者名单”链接,打开 Look(显示效果与点击“保存并查看 Look”按钮时相同)。点击“Population Management”(人口管理)链接以打开相应文件夹。然后,您可以选择相应 Look 以将其打开。

构建按病情划分的患者总数 Look,请按以下步骤操作:
- 点击“Condition Desc”(条件说明)和“Med Count”(媒体数量)维度旁边的过滤按钮,以添加过滤条件。在此 Codelab 中,我们将按以下两个条件过滤数据:
- Condition Desc 等于 Diabetes、Diabetes_Hypertension、Hypertension。
- 中位数数量大于或等于 13。
- 突出显示“患者人数”字段,以在结果部分添加“患者人数”数据元素,从而选择“患者人数”指标。
- 点击可视化图表标签页中的“单值图”图标,将“患者人数”数据元素添加到视图中。
- 点击运行以获取结果。

- 点击可视化图表标签页中的修改“向下箭头”,即可在视图中添加和更新信息。将光标置于每个文本框中,然后输入所需的文字以覆盖默认文字。
- 点击“运行”按钮旁边的“齿轮”符号,然后选择“另存为 Look”。
- 选择“Population Management”(人口管理)文件夹。提供名称和说明。
- 点击保存并查看 Look 或保存按钮以保存 Look。
- 如果点击保存并查看 Look 按钮,系统会显示 Look 视图。
- 如果点击保存按钮,探索视图顶部会显示绿色横幅。点击“按病症划分的患者总数”链接,打开相应 Look(显示效果与点击“保存并查看 Look”按钮时相同)。点击“Population Management”(人口管理)链接以打开相应文件夹。然后,您可以选择相应 Look 以将其打开。
按照以下步骤构建按药物数量统计的患者数量 Look:
- 点击“Condition Desc”(条件说明)和“Med Count”(媒体数量)维度旁边的过滤按钮,以添加过滤条件。在此 Codelab 中,我们将按以下两个条件过滤数据:
- Condition Desc 等于 Diabetes、Diabetes_Hypertension、Hypertension。
- 中位数数量大于或等于 13。
- 突出显示“Med Count”(中位数)维度和“Number of Patients”(患者人数)度量,以在结果部分中添加“Med Count”和“Number of Patients”数据元素。
- 点击可视化图表标签页中的“列”图标,将“Med Count”(药物数量)和“Number of Patients”(患者人数)数据元素添加到视图中。
- 点击运行以获取结果。

- 点击可视化图表标签页中的修改“向下箭头”,即可在视图中添加和更新信息。将光标置于每个文本框中,然后输入所需的文字以覆盖默认文字。
- 点击“运行”按钮旁边的“齿轮”符号,然后选择“另存为 Look”。
- 选择“人口管理”文件夹。提供名称和说明。
- 点击保存并查看 Look 或保存按钮以保存 Look。
- 如果点击保存并查看 Look 按钮,系统会显示 Look 视图。
- 如果点击保存按钮,探索视图顶部会显示绿色横幅。点击“按药物数量统计的患者人数”链接,打开相应 Look(显示为点击“保存并查看 Look”按钮后的状态)。点击“Population Management”(人口管理)链接以打开相应文件夹。然后,您可以选择相应 Look 以将其打开。
按照以下步骤构建按条件统计的患者人数 Look:
- 点击“Condition Desc”(条件说明)和“Med Count”(媒体数量)维度旁边的过滤按钮,以添加过滤条件。在此 Codelab 中,我们将按以下两个条件过滤数据:
- Condition Desc 等于 Diabetes、Diabetes_Hypertension、Hypertension。
- 中位数数量大于或等于 13。
- 通过突出显示每个字段来选择“Condition Desc”维度和“Number of Patients”度量,以便在结果部分中添加“Condition Desc”和“Number of Patients”数据元素。
- 点击可视化图表标签页中的“饼图”图标,将“Condition Desc”(病情描述)和“Number of Patients”(患者人数)数据元素添加到视图中。
- 点击运行以获取结果。

- 点击可视化图表标签页中的修改“向下箭头”,即可在视图中添加和更新信息。
- 点击“运行”按钮旁边的“齿轮”符号,然后选择“另存为 Look”。
- 选择“人口管理”文件夹。提供标题和说明。
- 点击保存并查看 Look 或保存按钮以保存 Look。
- 如果点击保存并查看 Look 按钮,系统会显示 Look 视图。
- 如果点击保存按钮,探索视图顶部会显示绿色横幅。点击“按病症统计的患者人数”链接,打开相应 Look(显示为点击“保存并查看 Look”按钮后的状态)。点击“Population Management”(人口管理)链接以打开相应文件夹。然后,您可以选择相应 Look 以将其打开。
患者人群报告摘要
在 Looker 中,点击浏览下拉菜单,选择 <<个人文件夹>>,然后选择“人口管理”文件夹,以验证是否已创建 4 份报告(也称为 Look)。

构建 Look 来显示患者的生命体征信息
在 Looker 中,点击探索下拉菜单,然后选择患者生命体征信息以构建报告和视图(也称为 Look)。
按照以下步骤构建患者的血压测量效果:
- 点击测量日期、测量和患者 ID 维度旁边的过滤按钮,添加过滤条件。在此 Codelab 中,我们将按以下三个条件过滤数据:
- 测量日期在过去 10 年内。
- 测量包含血压。
- 患者 ID 等于 287b4723-9c8d-495a-9915-54386d8dcc31。

- 选择“Dateofmeasurement Date”(测量日期)维度,以及“Dia”(舒张压)和“Sys”(收缩压)指标,方法是突出显示每个字段,以在结果部分中添加“Dateofmeasurement Date”(测量日期)、“Dia”(舒张压)和“Sys”(收缩压)数据元素。

- 点击可视化图表标签页中的“折线图”图标,将“Dateofmeasurement Date”(测量日期)、“Dia”(舒张压)和“Sys”(收缩压)数据元素添加到视图中。

- 点击运行以获取结果。

- 点击可视化图表标签页中的修改“下拉箭头”,即可在视图中添加或更新信息。将光标置于每个文本框中,然后输入所需的文字以覆盖默认文字。

- 将过滤条件“Dateofmeasurement Date”(测量日期)更改为 2015-04-02 至(不含)2015-08-02 范围,以扩大血压测量值的聚类。

- 点击“运行”按钮旁边的“齿轮”符号,然后选择“另存为 Look”。
- 选择“Patient Level Visualization”(患者级可视化图表)文件夹。提供标题和说明。

- 点击保存并查看 Look 或保存按钮以保存 Look。
- 如果点击保存并查看 Look 按钮,系统会显示 Look 视图。

- 如果点击保存按钮,探索视图顶部会显示绿色横幅。点击“血压”链接,打开 Look(显示效果与点击“保存并查看 Look”按钮相同)。点击“Patient Level Visualization”(患者级可视化图表)链接以打开相应文件夹。然后,您可以选择相应 Look 以将其打开。

按照以下步骤构建患者的身体质量指数测量 Look:
- 点击 Dateofmeasurement Date(测量日期)、Measurement(测量)和 Patient ID(患者 ID)维度旁边的 FILTER(过滤)按钮,以添加过滤条件。在此 Codelab 中,我们将按以下三个条件过滤数据:
- 测量日期在过去 10 年内。
- 测量数据包含身体质量指数。
- 患者 ID 等于 287b4723-9c8d-495a-9915-54386d8dcc31。
- 突出显示“Roundedvalue”“Dateofmeasurement Date”和“Measurement”字段,以在结果部分中添加“Roundedvalue”“Dateofmeasurement Date”和“Measurement”数据元素,从而选择“Roundedvalue”“Dateofmeasurement Date”和“Measurement”维度。
- 点击可视化图表标签页中的“折线图”图标,将“Roundedvalue”“Dateofmeasurement Date”和“度量”数据元素添加到视图中。
- 点击运行以获取结果。

- 点击可视化图表标签页中的修改“向下箭头”,即可在视图中添加和更新信息。
- 点击“运行”按钮旁边的“齿轮”符号,然后选择“另存为 Look”。
- 选择“Patient Level Visualization”(患者级可视化图表)文件夹。提供标题和说明。
- 点击保存并查看 Look 或保存按钮以保存 Look。
- 如果点击保存并查看 Look 按钮,系统会显示 Look 视图。
- 如果点击保存按钮,探索视图顶部会显示绿色横幅。点击“身体质量指数”链接,打开 Look(显示效果如同点击了“保存并查看 Look”按钮)。点击“Patient Level Visualization”(患者级可视化图表)链接以打开相应文件夹。然后,您可以选择相应 Look 以将其打开。
按照以下步骤构建患者的糖化血红蛋白 A1c 测量结果外观:
- 点击 Dateofmeasurement Date(测量日期)、Measurement(测量)和 Patient ID(患者 ID)维度旁边的 FILTER(过滤)按钮,以添加过滤条件。在此 Codelab 中,我们将按以下三个条件过滤数据:
- 测量日期在过去 10 年内。
- 测量结果包含糖化血红蛋白 A1c。
- 患者 ID 等于 287b4723-9c8d-495a-9915-54386d8dcc31。
- 突出显示“Roundedvalue”“Dateofmeasurement Date”和“Measurement”字段,以在结果部分中添加“Roundedvalue”“Dateofmeasurement Date”和“Measurement”数据元素,从而选择“Roundedvalue”“Dateofmeasurement Date”和“Measurement”维度。
- 点击可视化图表标签页中的“折线图”图标,将“Roundedvalue”“Dateofmeasurement Date”和“度量”数据元素添加到视图中。
- 点击运行以获取结果。

- 点击可视化图表标签页中的修改“向下箭头”,即可在视图中添加或更新信息。
- 点击“运行”按钮旁边的“齿轮”符号,然后选择“另存为 Look”。
- 选择“Patient Level Visualization”(患者级可视化图表)文件夹。提供标题和说明。
- 点击保存并查看 Look 或保存按钮以保存 Look。
- 如果点击保存并查看 Look 按钮,系统会显示 Look 视图。
- 如果点击保存按钮,探索视图顶部会显示绿色横幅。点击“糖化血红蛋白”链接,打开 Look(显示效果与点击“保存并查看 Look”按钮相同)。点击“Patient Level Visualization”(患者级可视化图表)链接以打开相应文件夹。然后,您可以选择相应 Look 以将其打开。
按照以下步骤构建患者的测量结果表外观:
- 点击 "Dateofmeasurement Date"(测量日期)和 "Patient ID"(患者 ID)维度旁边的 FILTER(过滤)按钮,以添加过滤条件。在此 Codelab 中,我们将按以下两个条件过滤数据:
- 测量日期在过去 10 年内。
- 患者 ID 等于 287b4723-9c8d-495a-9915-54386d8dcc31。
- 突出显示“Dateofmeasurement Date”(测量日期)、“Measurement”(测量值)、“Roundedvalue”(四舍五入后的值)和“Unit”(单位)维度,以在结果部分添加“Dateofmeasurement Date”“Measurement”“Roundedvalue”和“Unit”数据元素。
- 在可视化图表标签页中,点击“表格”图标,将“Dateofmeasurement Date”“Measurement”“Roundedvalue”和“Unit”数据元素添加到视图中。
- 点击运行以获取结果。

- 点击可视化图表标签页中的修改“向下箭头”,即可在视图中添加和更新信息。
- 点击“运行”按钮旁边的“齿轮”符号,然后选择“另存为 Look”。
- 选择“Patient Level Visualization”(患者级可视化图表)文件夹。提供标题和说明。
- 点击保存并查看 Look 或保存按钮以保存 Look。
- 如果点击保存并查看 Look 按钮,系统会显示 Look 视图。
- 如果点击保存按钮,探索视图顶部会显示绿色横幅。点击“测量表”链接以打开 Look(显示方式与点击“保存并查看 Look”按钮时相同)。点击“Patient Level Visualization”(患者级可视化图表)链接以打开相应文件夹。然后,您可以选择相应 Look 以将其打开。
“患者的重要信息”报告摘要
在 Looker 中,点击浏览下拉菜单,选择 <<个人文件夹>>,然后选择“患者级可视化图表”文件夹,以验证是否已创建 4 份报告(也称为 Look)。

6. 信息中心
您可以通过多种方式在 Looker 中创建信息中心:
- 从头开始
- 从已保存的造型中
- 在“探索”页面上通过查询。
此 Codelab 将向您展示如何从已保存的 Look 创建信息中心。
构建人口 信息中心
- 浏览到包含 Look 的个人文件夹或子文件夹(例如“人口管理”)。
- 选择要打开的 Look(例如“按病症和药物数量列出的患者名单”)。
- 点击“齿轮”符号,选择“保存到信息中心”,或点击“添加到信息中心”链接,将 Look 添加到信息中心。

- 点击新信息中心按钮。提供信息中心名称,然后点击确定。或者,选择现有信息中心。
- 点击向信息中心添加 Look 或保存到信息中心按钮。无论选择哪个选项,都会将 Look 添加到信息中心。
- 如果点击向信息中心添加 Look 按钮,信息中心链接将显示在 Look 视图的“位于信息中心内”部分。此符号
也会显示在“文件夹”视图中。

- 如果点击保存到信息中心按钮,Look 视图的“在信息中心中”部分将显示“否”。

- 重复第 1 步到第 5 步,向信息中心添加更多 Look。
- 点击浏览下拉菜单,选择 <<个人文件夹>>,然后选择“人口管理”文件夹。验证所有四个 Look 是否已添加到新的“人口信息中心”。

- 点击“人口统计信息概览”即可打开该概览。
- 点击修改按钮,然后根据需要重新排列功能块。
- 点击过滤条件菜单,向“人群”信息中心添加过滤条件。
- 点击新建过滤条件按钮。
- 提供过滤条件名称(例如“服药次数”),然后选择类型(例如“字段”)。
- 在“选择要与此过滤条件关联的字段”部分中,选择“模型”(例如“Bqlooker Codelab”)、“探索”(例如“患有某种疾病并服用某种药物的患者”)和“字段”(例如“药物数量”)。
- 设置默认值(例如,中等数量 >= 13)。
- 点击全部按钮或滑动每个图块的紫色按钮,选择要在此过滤条件发生更改时更新的信息中心图块。
- 点击保存。

- 点击完成修改,然后再次运行信息中心,确保所有过滤条件均按预期运行。

构建患者 信息中心
- 浏览到包含 Look 的个人文件夹或子文件夹(例如“患者级可视化图表”)。
- 点击右上角的新建按钮,选择信息中心,然后提供一个名称(例如“患者信息中心”)。

- 点击创建信息中心按钮。

- 方法 1:点击新功能块,选择一项探索,然后开始构建功能块(与 Look 相同)。
- 方法 2:点击添加外观链接,然后点击 +添加按钮以添加外观(或点击移除以移除外观),最后点击更新信息中心按钮。此 Codelab 使用了选项 2。

- 系统会以修改模式显示患者信息中心。根据需要重新排列板块。
- 点击过滤条件菜单,将“患者”和“日期”过滤条件添加到“患者信息中心”。
- 点击新建过滤条件按钮。
- 提供过滤条件名称(例如“患者”),然后选择类型(例如“字段”)。
- 在“选择要与此过滤条件关联的字段”部分中,依次选择“模型”(例如 Bqlooker Codelab)、“探索”(例如“患者生命体征信息”)和“字段”(例如“患者 ID”)。
- 设置默认值(例如,患者 ID = 287b4723-9c8d-495a-9915-54386d8dcc31)。
- 点击全部按钮或滑动每个图块的紫色按钮,选择要在此过滤条件发生更改时更新的信息中心图块。
- 点击保存。
- 重复第 5 步,添加“日期”过滤条件(选择“字段”=“Dateofmeasurement”,默认值为“过去 10 年内”)。

- 点击完成修改,然后再次运行信息中心,确保所有过滤条件均按预期运行。

- 将日期过滤条件更改为 2015-04-02 至(不含)2015-08-02 范围,以展开血压测量值的“聚类”。
- 点击完成修改,然后再次运行信息中心,确保所有过滤条件均按预期运行。

- 点击浏览下拉菜单,选择 <<个人文件夹>>,然后选择“患者级可视化图表”文件夹,验证所有 4 个 Look 是否已添加到新的“患者信息中心”。

7. 关联信息中心
在此 Codelab 中,我们将按照以下步骤创建从人口信息中心到患者信息中心的链接:
- 点击浏览下拉菜单,选择 <<个人文件夹>>,然后选择“患者级可视化图表”文件夹。
- 打开“患者信息中心”,然后复制 网址(例如,https://googlecodelabs.gw1.cloud.looker.com/dashboards/9?Patient)。

- 点击开发下拉菜单,滑动紫色按钮以开启开发模式,然后选择 bqlooker_codelab LookML 项目。

- 选择以在个人分支中打开“patients_with_conditions_and_medications.view”,然后在 dimension: patient_id{} 中添加以下代码段,以创建从“人群”信息中心到“患者”信息中心的链接。
link: {
label: "View key vitals"
url: "https://googlecodelabs.gw1.cloud.looker.com/dashboards/9?Patient={{value}}"
}
以下屏幕截图显示了文件中的代码段:

- 点击右上角的保存按钮。
- 浏览并打开人口信息中心。
- 点击患者 ID 旁边的 “...” 符号。
- 选择“查看关键生命体征”以打开患者信息中心。


8. 安排通过电子邮件发送 Look 和信息中心
- 前往开发下拉菜单,然后滑动紫色按钮以关闭开发模式。
- 浏览到您的信息中心,然后选择一个信息中心。
- 点击“三个竖点”符号,然后选择添加日程。

- 填写所有信息。
- 根据需要选择选项。
- 添加电子邮件地址(点击添加)。
- 点击全部保存。
- 点击发送测试按钮,测试信息中心能否正常发送。在此示例中,系统每 5 分钟发送一封电子邮件,时间范围为上午 6 点到下午 6 点。

- 检查您的邮箱,看看是否收到了 Looker 发送的电子邮件,其中附有以 PDF 文件形式呈现的信息中心。

- 点击“3 个垂直点”符号,然后随时选择修改日程来修改日程。

- 应用类似机制(步骤 1 至 10)来安排发送 Look。

9. 清理
Looker 账号
您的 Looker 账号可能会在 10 天后被删除。
10. 恭喜
恭喜,您已成功完成本 Codelab,学会了如何使用 Looker 访问、查询和可视化 FHIR 格式的临床数据。
您在 GCP 中访问了公共 BigQuery 数据集。
您在预配置的 Looker 实例中探索了现有的 LookML 项目。
您在 Looker 中创建了 Look 和信息中心。
您将信息中心关联在一起。
您已安排通过电子邮件发送 Look 和信息中心,并附上 PDF 附件。
现在,您已经了解了使用 BigQuery 和 Looker 开启医疗保健数据分析之旅所需的主要步骤。
©Google, Inc. 或其关联公司。保留所有权利。请勿分发。