亚马逊AWS官方博客

通过 Amazon Connect 与医生轻松沟通并简化患者的计费

COVID-19 疫情迫使许多服务行业提供远程替代方案。联络中心已成为其客户的宝贵资源。对于医疗保健服务提供者而言,远程医疗就诊是一项核心服务,可能由联络中心提供支持。但是,传统的联络中心通常会使患者难以以高效、个性化和安全的方式与医疗保健服务提供者建立联系。实施诸如简化计费之类的解决方案可能需要复杂的集成和多个供应商。随着越来越多的公司提供基于语音的服务,他们必须快速启用这些安全的解决方案。借助 Amazon Connect,公司可以轻松实现与其联络中心的自定义集成,并能够构建针对其使用场景量身定制的远程医疗解决方案。 举个例子,我们的团队帮助 MedStar Health 实施了一项解决方案,将支付流程与他们在疫情期间启动的联络中心整合在一起。这篇博文介绍了如何部署该解决方案。 MedStar Health

MedStar Health 是马里兰州和华盛顿特区的大型非营利性患者医疗保健服务提供商。为了支持临床工作人员为患者提供远程护理,MedStar Health 使用 Amazon Connect 建立了一个远程医疗联络中心。

对于该联络中心,MedStar Health 使患者能够直接与特定的临床工作人员联系并获得一般医疗援助。患者可以在拨打电话时指定分机号码,以联系为其指定的医疗保健服务提供者。此外,如果该医疗保健服务提供者无法接听电话,患者可以留下语音信箱。此功能由名为 Amazon Connect 语音信箱的现有解决方案提供。

务必将远程医疗支持解决方案与医疗保健合作伙伴生态系统的其他部分集成,因为远程医疗账单由第三方处理。每个联系人都需要自定义账单记录,包括医疗保健提供者的分机号码等数据字段。该解决方案将收集有关患者在其医疗保健提供者处就诊的元数据,以便准确计算账单。

先决条件

此解决方案具有以下先决条件:

解决方案概览

生成账单所需的元数据的解决方案围绕 Amazon Connect 联系人跟踪记录(CTR),因为每个联系人都会生成一个 CTR 记录。通过将记录流式传输到 Amazon Kinesis,Lambda 函数可将每条记录转换为第三方计费平台所需的格式。

连接架构

这可以通过在 Amazon Connect 流程中设置用户定义的联系人属性,使其成为 CTR 的一部分来实现。

在此示例解决方案中,将生成包含以下字段的逗号分隔值(CSV)文件:

  • 呼叫类型(呼入或呼出)
  • 呼叫发起日期和时间
  • 通话持续时间(秒)
  • 患者电话号码
  • 医疗保健提供者分机
  • 通话保持总时长(秒)

通过修改 Lambda 函数,可以轻松自定义此文件的格式和内容。这些文件存储在可与第三方账单供应商共享的 S3 存储桶中。

CSV 记录是为患者连接到医疗保健提供者的远程医疗就诊创建的,而不是在他们留下语音信箱时创建。这是有意为之,因为患者只应为与医疗保健提供者的远程医疗互动付费。

由于医疗保健数据非常敏感,因此该解决方案是使用符合 HIPAA 标准的服务构建的。此外,所有传输中数据和静态数据都使用由 AWS Key Management Service (AWS KMS) 管理的密钥进行加密。最低权限是通过使用 AWS Identity and Access Management (IAM) 策略使用的,该策略会限制为人工和系统交互授予的权限。

部署

按照本节中的步骤,将解决方案部署到您的 AWS 账户。

  1. 部署语音信箱解决方案。
    1. 如果您之前没有执行此操作,请按照说明将语音邮件解决方案部署到您的 AWS 账户。
  2. 为 Amazon Connect AWS CloudFormation 堆栈部署 CTR 处理器
    1. 登录 AWS 管理控制台。
    2. 要启动堆栈,请单击以下按钮。
      启动堆栈
    3. 指定模板页面上,模板应该为默认设置。选择下一步
    4. 指定堆栈详细信息页面上,设置描述性的堆栈名称。为由 Amazon Connect 语音邮件堆栈创建的 DynamoDB 表指定 Amazon 资源名称(ARN)。然后,选择下一步CloudFormation 堆栈详细信息
    5. 配置堆栈选项页面上,根据需要添加标签,并将所有其他值保留为默认值。选择下一步
    6. 审查页面上,选中复选框以确认创建 IAM 角色。然后,单击创建堆栈
      启动 CloudFormation 堆栈
    7. 您可以在 AWS CloudFormation 控制台的状态列中查看堆栈的状态。状态将在大约 5 分钟后更改为 CREATE_COMPLETE。
    8. 查看 CloudFormation 堆栈的 输出选项卡。记下这些值以备将来参考:
      1. ContactTraceRecordsBucket:存储原始 CTR 的 S3 存储桶
      2. ContactTraceRecordsCSVBucket:存储 CSV 文件的 S3 存储桶
      3. ContactTraceRecordsStream:CTR 记录的 Kinesis 数据流
      4. ProcessCTRLambda:用于转换 CTR 的 Lambda 函数
  3. 启用 Amazon Connect 以查找座席分机
    1. 导航到 Amazon Connect 控制台并选择您在步骤 1 中部署的实例。
    2. 联系流设置页面中,滚动到 AWS Lambda 部分。选择名称中带有 GetAgentExtensionByAgentId 的函数:
      连接 Lambda 函数
      选择添加 Lambda 函数以允许从联系流调用该函数。
  4. 将 Amazon Connect 配置为使用新的 CTR 处理器 Kinesis 数据流。
    1. 导航到 Amazon Connect 控制台并选择您在步骤 1 中部署的实例。
    2. 数据流设置页面中,选择名称中包含 ContactTraceRecordsStream 的数据流。此流是由 Amazon Connect AWS CloudFormation 堆栈的 CTR 处理器创建的。
    3. 导航至 AWS Lambda 控制台
    4. 找到名称中带有 KvsProcessRecording 的函数。
    5. 导航到权限选项卡,然后选择与该函数关联的 IAM 角色
    6. 展开 KvsProcessRecordingPolicy,然后选择编辑策略以修改 JSON 策略。用 ContactTraceRecords Kinesis 数据流替换堆栈创建的 Kinesis 数据流 ARN。
      Kinesis 的 IAM 角色
    7. 返回到 Lambda 函数的配置选项卡。
    8. 设计器部分,选择 Kinesis 触发器并将其删除。
    9. 选择添加触发器,然后选择 ContactTraceRecords Kinesis 数据流,保留所有默认值,然后选择添加

联系流配置

Amazon Connect 中包含几个联系流示例。语音信箱解决方案也安装了联系流。这些联系流可以定制,以满足特定的要求。以下是远程医疗就诊的示例。

如果患者知道其医疗保健提供者的分机,则可以输入分机并直接转接到提供者。否则,患者的呼叫将被路由到下一个空闲的医疗保健提供者的普通队列。如果没有空闲的医疗保健提供者,患者可以留下语音信箱消息。以下示例显示了修改为相应地提示患者的 VM 问候流。

连接流

要在 CTR 记录中捕获座席的分机号码,必须将其设置为带有 extensionNumber 键的联系人属性。设置分机号码的方法有两种:

  • 由呼叫者指定分机号码作为输入的呼入流
  • 从队列连接时,通过座席的呼出流 ARN,从座席私语流查找分机

在联系流中配置调用 AWS Lambda 函数步骤以获取座席的分机。

查找分机流

  1. 函数 ARN 部分中,选择名称中带有 GetAgentExtensionByAgentId 的函数。
  2. 函数输入参数部分中,选择使用属性
    1. 输入 AgentArn 作为目标密钥。
    2. 选择座席作为类型。
    3. 选择 ARN 作为属性。
  3. 选择“保存”。
    调用 Lambda 函数

配置设置联系人属性步骤以存储座席的分机。

  1. 要保存的属性部分中,选择使用属性
    1. 输入 extensionNumber 作为目标密钥。
    2. 选择外部作为类型。
    3. 输入分机作为属性。
  2. 选择“保存”。
    设置联系人属性

使用此配置将为每个呼叫生成 CTR 记录,并将其存储在 ContactTraceRecordsBucket 中。对于已完成的联系,相应的 CSV 记录(包括座席的分机号码)将存储在 ContactTraceRecordsCSVBucket

清理

为避免将来产生费用,请通过删除 CloudFormation 堆栈来移除所有创建的资源。请注意,为避免数据意外丢失,CloudFormation 堆栈创建的 S3 存储桶不会自动删除。因此,必须手动清理这些 S3 存储桶。

小结

这篇博文演示了如何将外部账单解决方案与您的联络中心集成。这篇博文中的解决方案举例说明了远程医疗就诊联系流可能的情况。通过这种方法,可以与下游系统共享有关远程医疗就诊的信息。电子病历(EMR)、护理协调系统和医疗保健数据湖就是此类下游系统的例子。