设置连接器以导入 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 合规门户

  1. 登录到 Microsoft Purview 门户

  2. 选择 “设置”>“数据连接器”。

  3. 选择 “我的连接器”,然后选择“ 添加连接器”。

  4. 从列表中选择“ Epic 连接器”。

  5. “设置连接” 页上,执行以下操作,然后选择“ 下一步”:

    1. 键入或粘贴在步骤 2 中创建的 Azure 应用的Microsoft Entra应用程序 ID。
    2. 键入 Epic 连接器的名称。
  6. 在“ 审阅 ”页上,查看设置,然后选择“ 完成 ”以创建连接器。

    将显示一个状态页,确认已创建连接器。 此页包含完成下一步以运行示例脚本以上传 Epic EHR 审核记录数据的两个重要事项。

    查看包含作业 ID 和 GitHub 链接的“查看”页面,以获取示例脚本

    1. 作业 ID。 在下一步中,需要使用此作业 ID 来运行脚本。 可以从此页或连接器浮出控件页复制它。
    2. 引用架构。 请参阅架构以了解连接器接受 Epic 系统中的哪些字段。 这将帮助你创建包含所有必需 Epic 数据库字段的文件。
    3. 示例脚本的链接。 选择 此处 的链接,转到 GitHub 站点以访问示例脚本, (链接) 打开一个新窗口。 使此窗口保持打开状态,以便复制步骤 4 中的脚本。 或者,可以为目标添加书签或复制 URL,以便在运行脚本时再次访问它。 连接器浮出控件页上也提供了此链接。
  7. 选择“完成”。

    新连接器显示在“ 连接器 ”选项卡上的列表中。

  8. 选择刚刚创建的 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 行的较小块,然后按顺序导入这些块。

  1. 转到在上一步中保持打开状态的窗口,使用示例脚本访问 GitHub 站点。 或者,打开带书签的网站或使用复制的 URL。 还可以 在此处访问脚本。

  2. 选择“ 原始 ”按钮,在文本视图中显示脚本。

  3. 复制示例脚本中的所有行,然后将其保存到文本文件中。

  4. 如有必要,请修改组织的示例脚本。

  5. 使用文件名后缀.ps1将文本文件另存为Windows PowerShell脚本文件,EpicConnector.ps1例如 。

  6. 在本地计算机上打开命令提示符,并转到保存脚本的目录。

  7. 运行以下命令,将文本文件中的 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 合规门户

  1. 登录到 Microsoft Purview 门户

  2. 选择 “设置”>“数据连接器”。

  3. 选择“ 我的连接器”,然后选择创建的 Epic 连接器以显示浮出控件页。 此页包含有关连接器的属性和信息。

  4. 在“ 上次导入”下,选择“ 下载日志 ”链接以打开 (或保存) 连接器的状态日志。 此日志包含有关每次运行脚本并将文本文件中的数据上传到 Microsoft 云的信息。

    Epic 连接器日志文件显示已上传的文本文件中的行数

    字段 RecordsSaved 指示上传的文本文件中的行数。 例如,如果文本文件包含四行,则如果脚本成功上传了文本文件中的所有行,则字段的值为 RecordsSaved 4。

如果尚未在步骤 4 中运行脚本,则会在 “上次导入”下显示用于下载脚本的链接。 可以下载脚本,然后按照步骤运行脚本。

(可选) 步骤 6:计划脚本以自动运行

若要确保 Epic EHR 系统的最新审核记录可用于内部风险管理解决方案等工具,建议将脚本计划为每天自动运行。 这还要求你更新相同文本文件中的 Epic 审核记录数据(如果不是相同的) 计划)上类似的 (,以便包含有关员工访问患者记录活动的最新信息。 目标是上传最新的审核记录,以便 Epic 连接器可用于内部风险管理解决方案。

可以使用 Windows 中的任务计划程序应用每天自动运行脚本。

  1. 在本地计算机上,选择“Windows 开始” 按钮,然后键入 “任务计划程序”。

  2. 选择 “任务计划程序” 应用将其打开。

  3. “操作” 部分中,选择“ 创建任务”。

  4. 在“ 常规 ”选项卡上,键入计划任务的描述性名称;例如 Epic 连接器脚本。 还可以添加可选说明。

  5. “安全选项”下,执行以下操作:

    1. 确定是仅在登录到计算机时运行脚本,还是在登录与否时运行脚本。
    2. 确保选中“ 使用最高权限运行 ”复选框。
  6. 选择“ 触发器 ”选项卡,选择“ 新建”,然后执行以下操作:

    1. “设置”下,选择“ 每日 ”选项,然后选择首次运行脚本的日期和时间。 该脚本将每天在同一指定时间运行。
    2. “高级设置”下,确保选中“ 已启用 ”复选框。
    3. 选择“确定”
  7. 选择“ 操作 ”选项卡,选择“ 新建”,然后执行以下操作:

    用于为史诗连接器脚本创建新的计划任务的操作设置。

    1. “操作” 下拉列表中,确保已选择 “启动程序 ”。
    2. 在“ 程序/脚本 ”框中,选择“ 浏览”,转到以下位置并选择它,以便在框中显示路径:C:.0.exe。
    3. “添加参数 (可选) ”框中,粘贴在步骤 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. 在“ (可选) ”框中,粘贴步骤 4 中运行的脚本的文件夹位置。 例如,C:\Epic\audit。
    5. 选择 “确定” 以保存新操作的设置。
  8. “创建任务” 窗口中,选择“ 确定” 以保存计划的任务。 系统可能会提示输入用户帐户凭据。

    新任务显示在任务计划程序库中。

    医疗保健连接器脚本的新任务显示在任务计划程序库中。

    显示上次运行脚本的时间和下次计划运行的时间。 可以双击任务进行编辑。

    还可以验证脚本上次在合规中心相应 Epic 连接器的浮出控件页上运行的时间。