设置连接器以导入 Epic EHR 审核数据 (预览)
可以设置数据连接器,在组织的 Epic 电子医疗保健记录 (EHR) 系统中导入用户活动的审核记录。 Epic EHR 系统中的审核记录包括与访问患者健康记录相关的事件的记录。 Microsoft Purview Insider Risk Management 解决方案 可以使用 Epic EHR 审核记录来帮助保护组织免受对患者信息的未经授权的访问。
设置 Epic 连接器包括以下任务:
在 Microsoft Entra ID 中创建应用以访问 API 终结点,该终结点接受包含 Epic EHR 审核记录的制表符分隔文本文件。
创建包含连接器架构中定义的所有必需字段的文本文件。
在 Microsoft Purview 门户或Microsoft Purview 合规门户中创建 Epic 连接器实例。
运行脚本以将 Epic EHR 审核记录推送到 API 终结点。
(可选)将脚本计划为自动运行以导入审核记录。
若要参与预览版,请通过 dcfeedback@microsoft.com联系团队。
提示
如果你不是 E5 客户,请使用为期 90 天的 Microsoft Purview 解决方案试用版来探索其他 Purview 功能如何帮助组织管理数据安全性和合规性需求。 立即从Microsoft Purview 合规门户试用中心开始。 了解有关 注册和试用条款的详细信息。
设置连接器之前
必须在步骤 3 中创建 Epic 连接器的用户分配数据连接器管理员角色。 需要此角色才能在 Microsoft Purview 门户或合规性门户的“ 数据连接器 ”页上添加连接器。 默认情况下,此角色将添加到多个角色组。 有关这些角色组的列表,请参阅 Microsoft Defender for Office 365 中的角色和 Microsoft Purview 合规性。 或者,组织中的管理员可以创建自定义角色组,分配数据连接器管理员角色,然后将相应的用户添加为成员。 有关说明,请参阅以下内容:
你需要确定如何每天) 从组织的 Epic EHR 系统 (检索或导出数据,并创建步骤 2 中所述的文本文件。 在步骤 4 中运行的脚本会将文本文件中的数据推送到 API 终结点。
步骤 4 中运行的示例脚本将 Epic EHR 审核记录从文本文件推送到连接器 API,以便内部风险管理解决方案可以使用它。 任何 Microsoft 标准支持计划或服务都不支持此示例脚本。 示例脚本“原样”提供,不提供任何形式的保证。 Microsoft 进一步拒绝所有默示保证,包括但不限于针对特定用途的适销性或适用性的任何默示保证。 由于示例脚本及文档的使用或性能所引起的全部风险均由你承担。 在任何情况下,对于由于使用或者无法使用示例脚本或文档所引起的任何损失(包括但不限于商业利润损失、业务中断、商业信息丢失或者其他经济损失),Microsoft、其作者或者参与创建、制作或交付脚本的任何人概不负责,即使 Microsoft 已被告知可能会出现此类损失。
步骤 1:在 Microsoft Entra ID 中创建应用
第一步是在 Microsoft Entra ID 中创建和注册新应用。 该应用将与你在步骤 3 中创建的 Epic 连接器相对应。 创建此应用允许Microsoft Entra ID对包含 Epic EHR 审核记录的文本文件的推送请求进行身份验证。 创建此Microsoft Entra应用期间,请务必保存以下信息。 这些值将在后续步骤中使用。
- Microsoft Entra应用程序 ID (也称为应用 ID 或客户端 ID)
- Microsoft Entra应用程序机密 (也称为客户端机密)
- 租户 ID (也称为 目录 ID)
有关在 Microsoft Entra ID 中创建应用的分步说明,请参阅向Microsoft 标识平台注册应用程序。
步骤 2:使用 Epic EHR 审核记录准备文本文件
下一步是创建一个文本文件,其中包含有关员工访问组织的 Epic EHR 系统中患者健康记录的信息。 如前所述,需要确定如何从 Epic EHR 系统生成此文本文件。 Epic 连接器工作流需要一个包含制表符分隔值的文本文件,以在具有所需连接器架构的文本文件中映射该数据。 支持的文件格式是管道或制表符分隔的 .txt 文件。
注意
包含审核数据的文本文件的最大大小为 3 GB。 最大行数为 500 万。 此外,请确保仅包含医疗保健 EHR 系统中的相关审核数据。
下表列出了启用内部风险管理方案所需的字段。 这些字段的子集是必需的。 这些字段以星号 (*) 突出显示。 如果文本文件中缺少任何必填字段,则不会验证该文件,并且不会导入该文件中的数据。
字段 | 类别 |
---|---|
ACCESS_LOG。ACCESS_TIME* ACCESS_LOG_METRIC。METRIC_NAME* ACCESS_LOG。WORKSTATION_ID ZC_METRIC_GROUP.NAME ZC_ACCESS_ACTION.NAME |
这些字段用于标识 Epic EHR 系统中的访问活动事件。 |
病人。PAT_MRN_ID 病人。PAT_FIRST_NAME* 病人。PAT_MIDDLE_NAME 病人。PAT_LAST_NAME* 病人。ADD_LINE_1* 病人。ADD_LINE_2 病人。城市* PATIENT.ZIP* ZC_STATE.NAME ZC_COUNTRY.NAME CLARITY_DEP。DEPARTMENT_NAME |
这些字段用于标识患者个人资料信息。 |
ZC_BTG_REASON.NAME* PAT_BTG_AUDIT。BTG_EXPLANATION |
这些字段用于标识对受限记录的访问。 |
Emp。SYSTEM_LOGIN* CLARITY_EMP。USER_ID employee_last_name1 employee_first_name1 |
这些字段用于标识确定对家庭/邻居/员工记录的访问权限所需的地址和姓名匹配的员工个人资料信息。 |
注意
请确保仅从 Epic 导出相关的日志指标。 1默认情况下,此字段在 Epic 中不可用。 需要配置导出,以确保文本文件包含此字段。
步骤 3:创建 Epic 连接器
下一步是在 Microsoft Purview 门户或合规性门户中创建 Epic 连接器。 在步骤 4 中运行脚本后,将在步骤 2 中创建的文本文件进行处理,并将其推送到在步骤 1 中设置的 API 终结点。 在此步骤中,请务必复制创建连接器时生成的 JobId。 运行脚本时,将使用 JobId。
为正在使用的门户选择相应的选项卡。 若要了解有关 Microsoft Purview 门户的详细信息,请参阅 Microsoft Purview 门户。 若要了解有关合规性门户的详细信息,请参阅 Microsoft Purview 合规门户。
登录到 Microsoft Purview 门户。
选择 “设置”>“数据连接器”。
选择 “我的连接器”,然后选择“ 添加连接器”。
从列表中选择“ Epic 连接器”。
在 “设置连接” 页上,执行以下操作,然后选择“ 下一步”:
- 键入或粘贴在步骤 2 中创建的 Azure 应用的Microsoft Entra应用程序 ID。
- 键入 Epic 连接器的名称。
在“ 审阅 ”页上,查看设置,然后选择“ 完成 ”以创建连接器。
将显示一个状态页,确认已创建连接器。 此页包含完成下一步以运行示例脚本以上传 Epic EHR 审核记录数据的两个重要事项。
查看包含作业 ID 和 GitHub 链接的“查看”页面,以获取示例脚本
- 作业 ID。 在下一步中,需要使用此作业 ID 来运行脚本。 可以从此页或连接器浮出控件页复制它。
- 引用架构。 请参阅架构以了解连接器接受 Epic 系统中的哪些字段。 这将帮助你创建包含所有必需 Epic 数据库字段的文件。
- 示例脚本的链接。 选择 此处 的链接,转到 GitHub 站点以访问示例脚本, (链接) 打开一个新窗口。 使此窗口保持打开状态,以便复制步骤 4 中的脚本。 或者,可以为目标添加书签或复制 URL,以便在运行脚本时再次访问它。 连接器浮出控件页上也提供了此链接。
选择“完成”。
新连接器显示在“ 连接器 ”选项卡上的列表中。
选择刚刚创建的 Epic 连接器以显示浮出控件页,其中包含有关连接器的属性和其他信息。
如果尚未这样做,可以复制Azure 应用 ID 和连接器作业 ID 的值。 在下一步中,你将需要这些脚本来运行脚本。 还可以从浮出控件页下载脚本, (或使用下一步中的链接下载脚本。)
还可以选择“编辑”,更改在“文件映射”页上定义的Azure 应用 ID 或列标题名称。
步骤 4:运行示例脚本以上传 Epic EHR 审核记录
设置 Epic 连接器的最后一步是运行示例脚本,该脚本会将 Epic EHR 审核记录数据上传到在步骤 1) 中创建的文本文件 (到 Microsoft 云。 具体而言,该脚本将数据上传到 Epic 连接器。 运行脚本后,在步骤 3 中创建的 Epic 连接器会将 Epic EHR 审核记录数据导入到 Microsoft 365 组织,其他合规性工具(例如预览体验成员风险管理解决方案)可以访问这些数据。 运行脚本后,请考虑计划每天自动运行任务,以便将最新的员工离职数据上传到 Microsoft 云。 请参阅 (可选) 步骤 6:计划脚本以自动运行。
注意
如前所述,包含审核数据的文本文件的最大大小为 3 GB。 最大行数为 500 万。 此步骤中运行的脚本需要大约 30 到 40 分钟才能从大型文本文件导入审核数据。 此外,脚本会将大型文本文件划分为 100K 行的较小块,然后按顺序导入这些块。
转到在上一步中保持打开状态的窗口,使用示例脚本访问 GitHub 站点。 或者,打开带书签的网站或使用复制的 URL。 还可以 在此处访问脚本。
选择“ 原始 ”按钮,在文本视图中显示脚本。
复制示例脚本中的所有行,然后将其保存到文本文件中。
如有必要,请修改组织的示例脚本。
使用文件名后缀
.ps1
将文本文件另存为Windows PowerShell脚本文件,EpicConnector.ps1
例如 。在本地计算机上打开命令提示符,并转到保存脚本的目录。
运行以下命令,将文本文件中的 Epic 审核数据上传到 Microsoft 云:例如:
.\EpicConnector.ps1 -tenantId <tenantId> -appId <appId> -appSecret <appSecret> -jobId <jobId> -filePath '<filePath>'
下表介绍了要用于此脚本的参数及其所需值。 在前面的步骤中获取的信息用于这些参数的值中。
参数 | 说明 |
---|---|
tenantId | 这是你在步骤 1 中获取的 Microsoft 365 组织的 ID。 还可以在Microsoft Entra 管理中心的“概述”边栏选项卡上获取组织的租户 ID。 这用于标识组织。 |
appId | 这是在步骤 1 Microsoft Entra ID 中创建的应用Microsoft Entra应用程序 ID。 当脚本尝试访问 Microsoft 365 组织时,Microsoft Entra ID使用此脚本进行身份验证。 |
appSecret | 这是在步骤 1 Microsoft Entra ID 中创建的应用Microsoft Entra应用程序机密。 这还用于身份验证。 |
jobId | 这是在步骤 3 中创建的 Epic 连接器的作业 ID。 这用于将上传到 Microsoft 云的 Epic EHR 审核记录与 Epic 连接器相关联。 |
filePath | 这是存储在与步骤 2 中创建的脚本) 相同的系统上的文本文件 (的文件路径。 尽量避免文件路径中的空格;否则,请使用单引号。 |
下面是使用每个参数的实际值的 Epic 连接器脚本的语法示例:
.\EpicConnector.ps1 -tenantId d5723623-11cf-4e2e-b5a5-01d1506273g9 -appId 29ee526e-f9a7-4e98-a682-67f41bfd643e -appSecret MNubVGbcQDkGCnn -jobId b8be4a7d-e338-43eb-a69e-c513cd458eba -filePath 'C:\Users\contosoadmin\Desktop\Data\epic_audit_records.txt'
如果上传成功,脚本将显示 “上传成功” 消息。
注意
如果由于执行策略而运行上一命令时遇到问题,请参阅 关于执行策略 和 Set-ExecutionPolicy ,了解有关设置执行策略的指导。
步骤 5:监视 Epic 连接器
创建 Epic 连接器并推送 EHR 审核记录后,可以在 Microsoft Purview 门户或合规性门户中查看连接器和上传状态。 如果将脚本计划为定期自动运行,还可以在上次运行脚本后查看当前状态。
为正在使用的门户选择相应的选项卡。 若要了解有关 Microsoft Purview 门户的详细信息,请参阅 Microsoft Purview 门户。 若要了解有关合规性门户的详细信息,请参阅 Microsoft Purview 合规门户。
登录到 Microsoft Purview 门户。
选择 “设置”>“数据连接器”。
选择“ 我的连接器”,然后选择创建的 Epic 连接器以显示浮出控件页。 此页包含有关连接器的属性和信息。
在“ 上次导入”下,选择“ 下载日志 ”链接以打开 (或保存) 连接器的状态日志。 此日志包含有关每次运行脚本并将文本文件中的数据上传到 Microsoft 云的信息。
Epic 连接器日志文件显示已上传的文本文件中的行数
字段
RecordsSaved
指示上传的文本文件中的行数。 例如,如果文本文件包含四行,则如果脚本成功上传了文本文件中的所有行,则字段的值为RecordsSaved
4。
如果尚未在步骤 4 中运行脚本,则会在 “上次导入”下显示用于下载脚本的链接。 可以下载脚本,然后按照步骤运行脚本。
(可选) 步骤 6:计划脚本以自动运行
若要确保 Epic EHR 系统的最新审核记录可用于内部风险管理解决方案等工具,建议将脚本计划为每天自动运行。 这还要求你更新相同文本文件中的 Epic 审核记录数据(如果不是相同的) 计划)上类似的 (,以便包含有关员工访问患者记录活动的最新信息。 目标是上传最新的审核记录,以便 Epic 连接器可用于内部风险管理解决方案。
可以使用 Windows 中的任务计划程序应用每天自动运行脚本。
在本地计算机上,选择“Windows 开始” 按钮,然后键入 “任务计划程序”。
选择 “任务计划程序” 应用将其打开。
在 “操作” 部分中,选择“ 创建任务”。
在“ 常规 ”选项卡上,键入计划任务的描述性名称;例如 Epic 连接器脚本。 还可以添加可选说明。
在 “安全选项”下,执行以下操作:
- 确定是仅在登录到计算机时运行脚本,还是在登录与否时运行脚本。
- 确保选中“ 使用最高权限运行 ”复选框。
选择“ 触发器 ”选项卡,选择“ 新建”,然后执行以下操作:
- 在 “设置”下,选择“ 每日 ”选项,然后选择首次运行脚本的日期和时间。 该脚本将每天在同一指定时间运行。
- 在 “高级设置”下,确保选中“ 已启用 ”复选框。
- 选择“确定”。
选择“ 操作 ”选项卡,选择“ 新建”,然后执行以下操作:
- 在 “操作” 下拉列表中,确保已选择 “启动程序 ”。
- 在“ 程序/脚本 ”框中,选择“ 浏览”,转到以下位置并选择它,以便在框中显示路径:C:.0.exe。
- 在 “添加参数 (可选) ”框中,粘贴在步骤 4 中运行的相同脚本命令。 例如,
.\EpicConnector.ps1 -tenantId "d5723623-11cf-4e2e-b5a5-01d1506273g9" -appId "c12823b7-b55a-4989-faba-02de41bb97c3" -appSecret "MNubVGbcQDkGCnn" -jobId "e081f4f4-3831-48d6-7bb3-fcfab1581458" -filePath "C:\Epic\audit\records.txt"
- 在“ (可选) ”框中,粘贴步骤 4 中运行的脚本的文件夹位置。 例如,C:\Epic\audit。
- 选择 “确定” 以保存新操作的设置。
在 “创建任务” 窗口中,选择“ 确定” 以保存计划的任务。 系统可能会提示输入用户帐户凭据。
新任务显示在任务计划程序库中。
显示上次运行脚本的时间和下次计划运行的时间。 可以双击任务进行编辑。
还可以验证脚本上次在合规中心相应 Epic 连接器的浮出控件页上运行的时间。