本专利申请要求2018年1月30日提交的名称为“Techniques for BuildingMedical Provider Databases”的美国非临时专利申请No.15/884,115的优先权,该美国非临时专利申请要求2017年9月29日提交的名称为“Techniques for Building MedicalProvider Databases”的美国临时申请No.62/566,104的权益和优先权。这些申请的公开内容全文以引用方式并入本文。
本申请与2017年12月20日提交的名称为“On-Device Searching Using MedicalTerm Expressions”的共同未决美国专利申请No.15/849,310相关,该共同未决美国专利申请要求2017年9月29日提交的名称为“On-Device Searching Using Medical TermExpressions”的美国临时专利申请No.62/565,956的权益和优先权;并且与2018年4月6日提交的名称为“Techniques for Anonymized Searching of Medical Providers”的共同未决美国专利申请No.15/947,478相关,该共同未决美国专利申请要求2017年9月29日提交的名称为“Techniques for Anonymized Searching of Medical Providers”的美国临时专利申请No.62/566,051的权益和优先权;并且与2018年1月30日提交的名称为“Techniques for Managing Access of User Devices to Third-Party Resources”的共同未决美国专利申请No.15/884,023相关,该共同未决美国专利申请要求2017年9月29日提交的名称为“Techniques for Managing Access of User Devices to Third-PartyResources”的美国临时专利申请No.62/566,014的权益和优先权;并且与2018年6月26日提交的名称为“Normalization of Medical Terms”的共同未决美国专利申请No.16/019,497以及2018年6月26日提交的名称为“Index-Based Deidentification”的共同未决美国专利申请No.16/019,501相关,这两者都要求2017年9月29日提交的名称为“Normalization ofMedical Terms”的美国临时专利申请No.62/565,847的权益和优先权。
具体实施方式
在以下描述中,将描述各种示例。为了解释的目的,阐述了很多具体配置和细节以便提供对示例的彻底理解。但是,对本领域的技术人员也将显而易见的是,一些示例可在没有这些具体细节的情况下被实施。此外,可省略或简化熟知的特征部以防止对本文所述的示例造成混淆。
除了其他方面,本公开的示例涉及用于从各种不同来源获得电子健康记录,处理电子健康记录以实现有效的存储和检索,以及使用用户设备的健康应用程序以统一方式呈现来自电子健康记录的医疗信息的方法、系统、设备和计算机可读介质。电子健康记录所属的用户通常拜访不同的医疗提供方作为获得治疗的一部分。这些医疗提供方可以是相同提供方组织的部分(例如,相同实体所拥有的诊所和医院),或者可以是不同组织的部分(例如,第一实体所拥有的透析诊所和第二实体所拥有的成像中心)。这些医疗提供方中的每一个可以使用EHR系统来维护特定用户的电子健康记录的部分。
一些医疗提供方可以提供允许用户查看其相应电子健康记录和/或以其他方式与其相应电子健康记录进行交互的web门户网站(例如,患者门户网站)。然而,因为医疗行业由许多不同的组织组成,并且因为用户倾向于从不同的组织获得护理,所以单个门户网站不太可能为每个用户提供完整的电子健康记录。相反,用户可能必须访问多个web门户网站;然而,一些医疗提供方甚至可能不提供web门户网站功能。因此,用户在他们尝试查看其医疗历史的完整图片时面临挑战。
托管web门户网站的EHR系统可能彼此不同地进行配置。例如,数据存储格式、用户和管理员功能以及编码模式可能对于每一者是独特的。本文所述的系统使得能够与这些不同来源中的每一个建立单独的、正在进行的数据管线。一旦连接了管线,所描述的系统提供用于归一化来自这些不同来源的数据存储格式、用户和管理员功能以及编码模式的平台。因此,一旦已经连接了每个管线,就可以将数据以统一格式、通过一组预定义用户功能并根据单个编码方案存储在用户设备上。这样做不仅对计算设备进行了技术改进,而且以优化方式存储来自不同来源的数据。数据针对存储容量和存储访问进行优化。因此,与访问电子健康记录的其他设备相比,计算设备更有效地操作。这有效地释放了其他计算资源以执行其他过程。
本文所述的系统允许用户搜索相关的医疗提供方并将其相应的电子健康记录从医疗提供方下载到其智能手机或其他用户设备。在一些示例中,该连接可以表示与医疗提供方的数据管线连接。提供方订阅系统作为用户设备和EHR系统的网关之间的中间体进行操作。网关实际上是由EHR系统提供的出口或端点。这些端点可用于从EHR系统下载数据。
通常,提供方订阅系统提供了将新医疗提供方加入系统的过程。这包括将提供方信息存储在可由用户设备搜索的数据库中。提供方信息可以包括例如关于医疗提供方的位置信息和针对与医疗提供方相关联的一个或多个网关的配置信息。用户可以使用其用户设备来搜索数据库以找到其医疗提供方。为了维护用户隐私,以向提供方订阅系统混淆医疗提供方和搜索用户之间的关系的方式执行此搜索。一旦已经通过搜索识别出医疗提供方,则用户设备接收与所识别的医疗提供方相关联的提供方信息。用户设备使用该提供方信息来建立与和所识别的医疗提供方相关联的网关的连接。网关使用行业标准格式(诸如由Health Level Seven(HL7)国际标准组织创建的快速保健互操作性资源(FHIR))来与用户设备共享电子健康记录。本文描述的技术还管理用户设备最初和将来连接到网关的频率以检查在EHR系统中注册的电子健康记录的更新。
一旦电子健康记录已经下载到用户设备,就使用第一数据模型来存储该电子健康记录。还使用索引算法来处理电子健康记录以索引每个医疗术语(例如,包括一个或多个单词的文本字符串)作为医疗术语表达(例如,包括一个或多个表达基元的索引)。使用第二数据模型将可为医疗术语的序列化计算形式的医疗术语表达存储在用户设备上。与医疗术语和医疗术语表达相关联的信息也被保存在用户设备上。医疗术语表达可用于呈现、组织、搜索和/或增强来自电子健康记录的健康记录信息。可能期望归一化由许多不同医疗专业人员输入的电子健康记录中的医疗条目。这些医疗专业人员可使用不同的格式、缩写、顺序、单词、同义词和其他改变来描述相同事物。例如,第一医生可以写如“每日口服500mg的Tylenol”的处方,并且第二医生可以写如“每日口服500MG的对乙酰氨基酚”的处方。在医学上,这两个处方可以是相同的。然而,常规索引系统可能无法识别这种相似性。使用本文所述的医疗术语表达,可能以统一方式呈现用户电子健康记录中可能存在的这两个处方(例如,“每日口服500MG的Tylenol”)。以这种方式,可以将电子健康记录中的类似记录条目分组在一起,在搜索期间识别这些类似记录条目,并且另外将其用于比较。
相对于使用医疗术语表达以进行分组,跨电子健康记录的许多不同实例的“Tylenol”或“500MG的Tylenol”的所有实例可以被分组在一起并呈现在用户界面中。使用常规技术,可能只会看到在电子健康记录的相关实例中找到的那些实例。在该示例中,可以向用户提供其医疗历史的更丰富和更完整的图片。当做出关于用户的未来护理的决定时,这可能被证明对于用户和/或医疗专业人员而言是有用的。
相对于使用医疗术语表达以进行搜索,用户可以在其医疗历史(例如,其电子健康记录的集合实例)中搜索关于其心脏的信息。为了执行该搜索,关键字心脏可以被转换成医疗术语表达并且用于从电子健康记录中搜索包括其他医疗术语表达的数据库。所识别的结果可能以任何合适的方式呈现。结果可以包括电子健康记录中的提到用户心脏的实例(例如,与用户心脏相关的医疗事件的时间线)。
以元数据形式的上下文信息也可以与医疗术语表达相关联。此上下文信息可用于增强基本医疗术语。例如,继续上面讨论的处方,成分、药丸图像、使用说明等(例如,元数据的类型)可以与医疗术语表达相关联,并且在向患者提供“每日口服500MG的Tylenol”时呈现给用户。
现在转到附图,图1示出了根据至少一个示例的示出用于使得能够在用户设备上存储和检索电子健康记录的过程100的框图102和流程图。图102包括用户设备104,该用户设备可以是能够通过网络(诸如互联网)与其他电子设备通信的任何合适的电子用户设备。在一些示例中,用户设备104可以是智能电话或专用应用程序可以在其上操作的其他用户设备。用户设备104与用户106相关联或以其他方式由用户操作。用户106是其电子健康记录是本说明书的主题的患者的示例。
图102还包括提供方用户设备108。提供方用户设备108可以是能够通过网络(诸如互联网)与其他电子设备通信的任何合适的电子用户设备。在一些示例中,提供方用户设备108可以是膝上型计算机、个人计算机、或提供方用户110可以在其上进行交互的其他用户设备。提供方用户110是使用提供方用户设备108以便与提供方订阅系统112进行交互的医疗提供方的代表的示例。与医疗提供方相关联的医疗信息(例如,医疗提供方的患者的电子健康记录)被存储在EHR系统114处。EHR系统114可以与一个或多个医疗提供方(例如,组织实体、品牌实体和/或位置实体)相关联。具体地,EHR系统114可以存储、组织和/或以其他方式管理由医疗提供方的医疗专业人员生成的健康记录数据。EHR系统114可以包括一个或多个网关,每个网关包括一个或多个端点以实现EHR系统114和其他电子设备之间的多个连接。在一些示例中,用户设备(诸如用户设备104)可以使用诸如网关应用程序编程接口(API)的任何合适接口来与EHR系统114进行交互。网关API可以限定用于EHR系统114和用户设备104之间的通信的一组功能调用。
图1、图3、图18、图19、图20、图35、图36、图38、图39、图40、图41、图43、图44、图45、图46、图47、图48、图50和图51示出了根据至少一些示例的示出过程100、300、1800、1900、2000、3500、3600、3800、3900、4000、4100、4300(图43和44所示)、4500、4600、4700、4800、5000和5100的示例性流程图。这些过程及本文所述的任何其他过程被示为逻辑流程图,其每个操作表示一系列能够在硬件、计算机指令或它们的组合中实现的操作。在计算机指令的上下文下,操作可表示存储在一个或多个非暂态计算机可读存储介质上的计算机可执行指令,这些计算机可执行指令由一个或多个处理器执行时执行所述操作。一般来讲,计算机可执行指令包括执行特定功能或实现特定数据类型的例程、程序、对象、部件、数据结构等。描述操作的顺序并非旨在被理解为限制,并且任何数量的所述操作均可按照任意顺序和/或平行组合以实现所述过程。
另外,本文所述的过程的一部分、任一者或全部可在一种或多种计算机系统的控制下执行,所述一种或多种计算机系统被配置为带有具体的可执行指令并且可实现为代码(例如,可执行指令、一种或多种计算机程序或一种或多种应用程序),该代码由硬件或它们的组合在一种或多种处理器上共同执行。如上所述,代码可存储在非暂态计算机可读存储介质上,例如以计算机程序的形式存储,该计算机程序包括可由一种或多种处理器执行的多个指令。
过程100可以在116处通过建立提供方数据库118来开始。这可以由提供方订阅系统112基于从提供方用户设备108接收的信息来执行。例如,提供方用户110可以使用提供方用户设备108来与提供方订阅系统112共享有关提供方实体的信息。如本文所述,可能以在组织实体、品牌实体、位置实体和网关实体之间创建和维护复杂关系的方式来接收和处理该信息。维护这些关系可以证明对于实现医疗提供方的有效搜索以及对于识别与已识别的医疗提供方相对应的适当网关而言是有用的。
在120处,过程100可以包括使得用户设备(例如,用户设备104)能够搜索提供方数据库118。这可以由提供方订阅系统112基于从用户设备104接收的搜索查询来执行。例如,用户106可以使用用户设备104来制定针对医疗提供方的搜索查询。这些查询可以被传输到提供方订阅系统112。如本文所述,可能以从提供方订阅系统112混淆用户106感兴趣的医疗提供方的方式来执行后续搜索步骤。取决于所使用的混淆技术,用户设备104可以管理混淆和/或提供方订阅系统112可以管理混淆。一旦已经识别了适当的医疗提供方,就将有关与该医疗提供方相关联的EHR系统114的信息提供给用户设备104。
在122处,过程100可以包括使得用户设备104能够连接到网关(例如,EHR系统114的网关)并下载健康记录数据。用户设备104可以使用从提供方订阅系统112接收的有关EHR系统114的信息来连接到EHR系统114。下载健康记录数据可以包括使用FHIR标准来下载电子健康记录。在一些示例中,用户设备104可以连接到多于一个EHR系统114并从其进行下载。
在124处,过程100可以包括处理来自健康记录数据的医疗术语以索引医疗术语。这可以由用户设备104执行。在一些示例中,如本文所述,对医疗术语进行索引可以包括生成与医疗术语相对应的医疗术语表达。医疗术语表达可以是医疗术语的序列化形式,其可以适合于存储在位于用户设备104上的术语库中。
在126处,过程100可以包括基于索引的医疗术语呈现健康记录数据。这可以由用户设备104执行。如本文所述,呈现健康记录数据可以包括使用索引的医疗术语来以统一方式呈现健康记录数据。这也可以包括使用索引的医疗术语来呈现上下文信息以及健康记录数据。
在128处,过程100可以包括提供有关索引的医疗术语的反馈。这可以由用户设备104执行。如本文所述,提供有关索引的医疗术语的反馈可以被发送到术语管理系统130。术语管理系统130可以与提供方订阅系统112相关联。在一些示例中,两个系统112、130可以由同一组计算设备来实现。如本文所述,术语管理系统130可以包括用于更新术语库132的自动和手动工作流,用户设备104在执行124处的处理时依赖该术语库的版本。
图2示出了根据至少一个示例的示出用于使得能够在用户设备上存储和检索电子健康记录的示例性架构或系统200的框图。系统200包括图1中介绍的几个元件。具体地,系统200包括提供方订阅系统112、一个或多个用户设备104a-104n、与一个或多个医疗提供方202a-202n相关联的一个或多个EHR系统114a-114n、术语管理系统130、更新器服务204和业务订阅系统206。适当地并如箭头所示,系统200的元件可以经由一个或多个网络通信地耦接。
从业务订阅系统206开始,业务订阅系统206可以是被配置为收集、存储、更新和以其他方式管理业务位置(包括医疗提供方202的业务位置)的硬件和软件部件的任何合适集合。例如,业务订阅系统206可以包括业务数据库208和订阅服务210以启用医疗提供方202的订阅。当医疗提供方202被订阅并且处于活动状态时,可以允许用户设备104连接到相关联的EHR系统114(例如,EHR系统114的网关)并从该EHR系统下载健康记录数据。
作为订阅和管理订阅的一部分,订阅服务210可以包括收集、存储、更新和以其他方式管理业务位置的功能。在一些示例中,订阅服务210提供一个或多个用户界面,授权用户可以通过该一个或多个用户界面输入有关其位置的信息。该信息可以包括地理信息(例如,地图上的实际地址和识别符)、图像信息(例如,徽标)、联系人信息(例如,业务、法律、技术等)、以及与业务相关的任何其他信息。订阅服务210还可以被配置为基于接收的信息来创建和/或更新业务数据库208中的记录条目。例如,与医疗提供方202相关联的授权用户可以与业务订阅系统206共享业务信息。一旦已经共享并验证了该信息,就可以发布业务信息以供公众消费(例如,为搜索建立索引、在地图平台上可用、直接与用户共享等)。
业务数据库208可以维护收集的业务信息以及由业务信息表示的实体之间的任何关系。在一些示例中,业务数据库208包括存储在提供方数据库118中的一些或全部信息。例如,因为业务订阅系统206可以用于注册所有业务(而不仅是医疗提供方202),所以可以在业务数据库208和提供方数据库118中维护医疗提供方202的记录。在一些示例中,业务订阅系统206以任何合适的方式与提供方订阅系统112共享业务信息。
现在转到提供方订阅系统112,提供方订阅系统112可以包括这里介绍的提供方数据库118、提供方服务209和测试工具211。通常,提供方订阅系统112可以验证EHR系统114,维护有关医疗提供方202和相关联EHR系统114的信息,使得能够搜索与EHR系统114相关联的医疗提供方202,以及管理用户设备104对EHR系统114的访问。
在已订阅与EHR系统114相关联的医疗提供方202之后,提供方订阅系统112的测试工具211可以用于测试和/或以其他方式验证使用测试用户设备104的测试用户可以连接到EHR系统114并从该EHR系统下载数据。以这种方式,测试工具211可以模拟用户设备104中的一个可执行以连接到EHR系统114的动作。在一些示例中,测试工具211可以在首次订阅医疗提供方202时以及在初始订阅之后的其他时间测试该连接。例如,可以在满足某些条件时以及在任何其他情况下定期测试连接。如果测试是肯定的,则可以更新与医疗提供方202相关联的提供方数据库118、EHR系统114和/或与EHR系统114相关联的网关中的一个或多个状态指示符以反映EHR系统114或网关处于活动状态。如果测试是否定的,则可以更新一个或多个状态指示符以反映EHR系统114是不活动的。当活动时,用户设备104可以能够连接到EHR系统114的网关。当不活动时,用户设备104可能无法连接到EHR系统114的网关。
提供方服务209可以在提供方数据库118中维护有关医疗提供方202和相关联EHR系统114的信息,使得能够搜索与EHR系统114相关联的医疗提供方202,以及管理用户设备104对EHR系统114的访问。在一些示例中,用户设备104向提供方服务209发送搜索医疗提供方202的请求。提供方服务209处理这些请求并返回结果。在一些示例中,作为与EHR系统114中的一个建立连接的一部分,用户设备104将向提供方服务209登记以确定与EHR系统114相关联的任何配置信息是否已经改变。可存储在提供方数据库118中的配置信息可以包括API信息、提供方标识符、状态指示符信息、以及和EHR系统114和/或与EHR系统114相关联的其他实体的配置相关的任何其他合适信息。
用户设备104可以包括健康应用程序212和术语库214。通常,用户设备104可以与不同的用户(例如,医疗提供方202的患者)相关联并由该用户操作。在功能上,健康应用程序212可以使得用户设备104能够与提供方订阅系统112通信(例如,以搜索医疗提供方202,获得有关医疗提供方202的配置信息,以及执行其他技术),与医疗提供方202的EHR系统114通信(例如,以下载包括电子健康记录和/或对电子健康记录的更新的数据包,以及执行其他此类技术),与术语管理系统130通信(例如,以上传某些医疗术语以用于细化),以及与更新器服务204通信(例如,以接收对术语库214的更新、索引规则、以及与索引医疗术语相关的其他此类信息)。
在一些示例中,术语库214可以包括一个或多个关系数据库或其他合适的存储方案以用于存储表达基元和/或医疗术语表达。例如,术语库214可以用来自术语库132的表达基元作为种子。当根据医疗术语生成新的医疗术语表达时(例如,当索引来自电子健康记录的医疗术语时),这些新的医疗术语表达可以存储在术语库214中。随时间推移,术语库214可以开始表示表达基元和特定于用户设备104的用户的电子健康记录的医疗术语表达之间的关系。以这种方式,术语库214可以维护表示用户的电子健康记录的个性化关系图。
术语库214可以包括术语库132的复制部分。如本文所述,更新器服务204可以基于术语库132的内容向用户设备104发送更新,包括例如对术语库214的更新。更新器服务204可以被配置为向用户设备104发送规则集。例如,这些规则可以是以属性列表(plists)、其他XML文件的形式,以及任何其他合适形式。这些规则可用作索引医疗术语的一部分。
给定存储考虑,使术语库214包括在术语库132中找到的所有信息可能是不切实际的。因此,在一些示例中,术语管理系统130(其可为基于云的系统)可以托管可用于访问术语库132以分页来自术语库132的附加信息(例如,元数据)的一个或多个API。以这种方式,用户设备104可以选择性地将信息从术语库132下载到术语库214以便增强已经存储在用户设备104上的健康记录数据。在一些示例中,除了元数据之外,还可以使用API从术语库132下载表示医疗概念、医疗类别、医疗项目的新医疗术语表达。
为了维护患者隐私,对术语管理系统130的API调用可以包括随机术语库标识符和混淆术语索引以从术语管理系统130检索信息。
术语管理系统130可以被配置为管理本文描述的医疗术语的方面。具体地,术语管理系统130可以从用户设备104接收医疗术语并解析其索引,这可以包括手动和/或自动过程。例如,如果用户设备104(例如,健康应用程序212和术语库214)无法索引医疗术语或无法基于索引分数与一个或多个阈值的比较来索引术语,则用户设备104可以将医疗术语和任何其他相关联信息上传到术语管理系统130。在一些示例中,实施术语解析工作流216以解析有问题的医疗术语。例如,术语解析工作流216可以包括一组手动过程以供受过训练的用户查看输入的医疗术语、建议的医疗术语表达等,以便改善健康应用程序212和/或索引医疗术语的其他部件。当术语解析工作流216解析医疗术语时,可以对术语库132进行更新,然后该术语库可以被推送或以其他方式由用户设备104下载。术语管理服务218可以被配置为管理对术语库132的更新并与本文描述的其他服务进行交互。
图3示出了根据至少一个示例的示出用于将医疗提供方实体加入使得能够在用户设备和EHR系统114的网关之间共享电子健康记录的系统的过程300的框图302和流程图。
过程300可以在304处开始接收有关多个实体的信息308。在一些示例中,信息308可以由提供方订阅系统112接收并且从提供方用户设备108和/或业务订阅系统206接收。例如,提供方用户110可以使用提供方用户设备108来将信息308直接提供给提供方订阅系统112。作为附加示例,提供方用户110可以使用提供方用户设备108来将信息308提供给业务订阅系统206。无论如何,信息308可以被转移到提供方订阅系统112。有关多个实体的信息308可以包括限定组织实体310、一个或多个品牌实体312、一个或多个位置实体314和/或一个或多个网关实体316的信息。图5至图17更详细地示出了提供方订阅系统112可以通过其接收信息308的过程。
在318处,过程300可以包括在由信息308识别的多个实体之间创建关系。在一些示例中,这可以由提供方订阅系统112执行。可以基于信息308和/或限定关系的规则集来创建关系。图4示出了实体之间的示例性关系。
在320处,过程300可以包括在数据库中存储实体标识符和实体之间的关系。在一些示例中,这可以由提供方订阅系统112执行,该提供方订阅系统可以将信息存储在提供方数据库118中。在一些示例中,实体可以通过组织而被组织为主要类别,其中子类别涉及与组织相关的其他实体(例如,品牌、位置和/或网关)。在一些示例中,在320处执行的存储可以包括在提供方数据库118中为包括实体标识符和相关联关系的数据对象创建记录条目。
在322处,过程300可以包括生成用于搜索数据库(例如,提供方数据库118)中的实体的搜索索引。在一些示例中,这可以由提供方订阅系统112执行。搜索索引可以是可用于搜索数据库的任何合适索引。
在324处,过程300可以包括使得用户设备(例如,由用户106操作的用户设备104)能够使用搜索索引来搜索数据库(例如,提供方数据库118)。在一些示例中,这可以由提供方订阅系统112执行。启用用户设备104可以包括提供用户106可通过其输入用于搜索实体的搜索查询的用户界面。用户106可能期望搜索实体以便找到用户106在其中获得医疗护理的实体(例如,品牌和/或位置)。提供方数据库118中的信息将这些实体与实际存储电子健康记录的其相应网关实体相关联。以此方式,用户106能够搜索提供方实体并将其用户设备104连接到与提供方实体相关联的网关。这可能是期望的,因为搜索提供方实体(例如,用户106接受护理的位置)可能比搜索为用户106接受护理的那些位置托管数据的网关和/或EHR系统114更自然。
图4示出了根据至少一个示例的示出用于存储组织实体402的实体之间的关系的数据结构400的框图。数据结构400可以包括数据对象,该数据对象表示并关联品牌实体404a和404b-404n、位置实体406a、406b和406c-406n、以及网关实体408a-408c和408d-408n,所有这些实体与相同组织实体402相关联。如图所示,组织实体402可以与任何合适数量的品牌实体404、位置实体406和/或网关实体408相关联。使用连接线来示出实体404、406和408之间的关系。
组织实体402是拥有和操作医疗护理设施的组织(例如,非营利、大学、公司、或其他业务实体)的示例。例如,组织实体402可以是保健公司(诸如梅奥诊所)。组织实体402可以是可描述任何其他实体的最高粒度级别。在一些示例中,组织实体402本身是部门和/或分支机构在其下操作的保护伞。以允许用户容易地搜索并找到其获得护理的“地方”的方式来组织数据结构400。因为组织实体402可能实际上不是施用护理的地方,所以使用品牌实体404和/或位置实体406来更好地表示这些地方。
品牌实体404是上述部门和/或分支机构的示例。例如,组织实体Mayo Clinic可以包括多个部门,诸如Mayo School of Health Sciences、Mayo Medical Laboratory和MayoClinic Health System。这些部分可以由品牌实体404表示。当用户搜索这些“地方”中的任何一个时,该用户将找到数据结构400。品牌实体404a和404b-404n全部是落入组织实体402内的品牌的所有示例。
位置实体406是品牌实体404所位于的物理位置的示例。在一些示例中,位置实体406可能以不同的名称来被了解和/或包括多个物理位置。因此,数据结构400中的品牌实体404和位置实体406之间存在区别。例如,品牌实体404a可以与两个位置实体406a、406b相关联。两个位置实体406a、406b可以是位于品牌实体404a名下的医疗园区上的建筑物的示例。位置实体406c与单个品牌实体404b相关联。
网关实体408是用于存储拜访品牌实体404和/或位置实体406的患者的健康记录的EHR系统的示例。此外,EHR系统可以提供患者门户网站、日程安排、联系人管理、计费、记账、成像管理、以及与保健领域有关的其他服务。EHR系统的示例包括由以下销售:CPSITM、等。
网关实体408可以与多于一个位置实体406、多于一个品牌实体404、单个品牌实体404和/或单个位置实体406相关联。例如,网关实体408a、408b都与位置实体406a相关联。网关实体408也可以跨多于一个品牌实体404和/或多于一个位置实体406共享。例如,网关实体408b、408c在位置实体406a、406b之间共享。网关实体408a-40bc全部与品牌实体404a相关联(例如,经由位置实体406a-406c)。网关实体408也可以直接与品牌实体404(例如,网关实体408d和品牌实体404n)相关联。网关实体408也可以专用于位置实体406和/或品牌实体404。例如,网关实体408n专用于位置实体406n。在一些示例中,单个网关实体408与许多位置实体406相关联,所述位置实体可以与单个品牌实体404和单个组织实体402相关联。例如,沃尔格林药房可以利用单个网关实体408来为数百甚至数千个不同的位置实体406提供服务,所有这些实体都可以位于不同的位置,但是共享相同的沃尔格林名称(例如,具有相同的品牌实体404)。
数据结构400可以维护组织实体402、品牌实体404、位置实体406和网关实体408之间的这些复杂关系。维护这些关系可以证明对于实现医疗提供方的有效搜索以及对于识别与已识别的医疗提供方相对应的适当网关而言是有用的。
图5至图16示出了根据至少一个示例的用于将提供方实体加入使得能够在用户设备和电子健康记录系统的网关之间共享电子健康记录的系统的用户界面500的示例性视图502a-502m。具体地,图5至图16示出了用户界面500的视图502a-502m。视图502a-502m可以被呈现为用户设备上的网页或以任何其他合适方式呈现。在一些示例中,提供方订阅系统112和/或业务订阅系统206可以提供由提供方用户110操作的提供方用户设备108。
在图5中示出的视图502a可以包括用于跟踪一系列动作(例如,介绍、有关您自己、业务类型等)的进展的进展区域504a。每个动作可以在系统接收和处理信息时完成。可以通过用户在当前动作区域506a内的一个或多个字段中输入文本或通过以某种其他方式上传数据来接收该信息。在视图502a中,当前动作区域506a包括供用户输入联系人信息和/或有关正在提供信息的人的其他信息的字段。在一些示例中,这可以是由组织实体授权以与订阅系统112、206建立关系的用户。
在图6中示出的视图502b可以包括用于跟踪一系列动作(例如,介绍、有关您自己、业务类型等)的进展的进展区域504b。每个动作可以在系统接收和处理信息时完成。可以通过用户在当前动作区域506b内的一个或多个字段中输入文本或通过以某种其他方式上传数据来接收该信息。在图6中,正在考虑的当前动作是“业务类型”动作。作为该动作的一部分,用户可以从当前动作区域506b中选择表示组织的业务类型。这是因为用户界面500和关联系统可以用于预订许多不同类型的实体。取决于在当前动作区域506b中选择的实体,可以调整稍后的数据收集步骤。例如,在视图502b中,用户已选择保健提供方508。因此,稍后的数据收集步骤可针对作为保健提供方508的实体进行调制。具体地,可以收集有关电子健康记录系统的网关的数据。
进展区域504b中显示的其余操作用于收集有关业务的业务信息、有关总部或总公司的信息、地址和其他地理位置信息、web链接、电子邮件地址、技术联系人、法律联系人、以及其他类似联系人。
图7中示出的视图502c可以包括基于将保健提供方508较早识别作为实体类型的推荐702。推荐702包括向用户推荐其启用EHR网关访问的消息。启用EHR网关访问可以允许保健提供方508的患者将健康记录下载到其用户设备(例如,移动电话、智能电话)。为了进行提供用于启用EHR网关的信息的步骤,用户可以选择切换开关704。
图8中示出的视图502d可以包括用于跟踪一系列动作(例如,健康提供方应用程序、健康提供方信息)的进展的进展区域504d。每个动作可以在系统接收和处理由用户输入的信息时完成。可以通过用户在当前动作区域506d内的一个或多个字段中输入文本或通过以某种其他方式上传信息来接收该信息。在图8中,如进展区域504d所示,用户当前正在输入与“健康提供方申请人”动作相关的信息。因此,当前动作区域506d包括用于输入“健康公司”的联系人信息的字段。在该示例中,已经请求了法律联系人的信息。
图9中示出的视图502e可以包括用于跟踪一系列动作(例如,健康提供方应用程序、健康提供方信息)的进展的进展区域504e。每个动作可以在系统接收和处理由用户输入的信息时完成。可以通过用户在当前动作区域506e内的一个或多个字段中输入文本或通过以某种其他方式上传信息来接收该信息。在图9中,如进展区域504e所示,用户当前正在输入与“健康提供方信息”动作相关的信息。因此,当前动作区域506e包括用于输入有关由健康提供方操作的EHR网关的信息的字段。这些字段与EHR网关是否符合FHIR以及EHR供应商(如果符合)相关。当EHR网关能够使用FHIR来标准输出信息时,这些EHR网关符合FHIR。稍后在此工作流中请求的信息类型可以取决于所选的EHR供应商。不受支持的EHR供应商可以被显示为灰色,可未包括在列表中,或者可以被提供。当被提供时,可以显示指示为什么不支持EHR供应商的消息。一旦已经选择了EHR供应商,就呈现视图502f。
图10中示出的视图502f可以包括用于跟踪一系列动作(例如,EHR网关配置、EHR联系人、FHIR端点配置、FHIR测试患者账户、患者门户网站配置、患者门户网站显示和EHR系统位置)的进展的进展区域504f。每个动作可以在系统接收和处理由用户输入的信息时完成。可以通过用户在当前动作区域506f内的一个或多个字段中输入文本或通过以某种其他方式上传信息来接收该信息。在图10中,如进展区域504f所示,用户当前正在输入与“EHR网关配置”动作有关的信息。因此,当前动作区域506f包括用于输入具体有关在视图502e中选择的EHR网关的信息的字段。当前动作区域506f中示出的动作可以包括为网关分配名称(例如“健康产品”),识别EHR供应商和版本(其可以是预先填充的),识别是否已经部署患者FHIR端点,识别由EHR网关存储的一系列活动患者记录,以及识别EHR供应商组织标识符。一旦使用视图502f接收到信息,就呈现视图502g。
图11中示出的视图502g可以包括用于跟踪一系列动作(例如,EHR网关配置、EHR联系人、FHIR端点配置、FHIR测试患者帐户、患者门户网站配置、患者门户网站显示、以及EHR系统位置)的进展的进展区域504g。每个动作可以在系统接收和处理由用户输入的信息时完成。可以通过用户在当前动作区域506g内的一个或多个字段中输入文本或通过以某种其他方式上传信息来接收该信息。在图11中,如进展区域504g所示,用户当前正在输入与“EHR联系人”动作有关的信息。因此,当前动作区域506g包括用于输入EHR网关的联系人信息的字段。这可以包括管理联系人、技术联系人和其他此类联系人。一旦使用视图502g接收到信息,就呈现视图502h。
图12中示出的视图502h可以包括用于跟踪一系列动作(例如,EHR网关配置、EHR联系人、FHIR端点配置、FHIR测试患者账户、患者门户网站配置、患者门户网站显示和EHR系统位置)的进展的进展区域504h。每个动作可以在系统接收和处理由用户输入的信息时完成。可以通过用户在当前动作区域506h内的一个或多个字段中输入文本或通过以某种其他方式上传信息来接收该信息。在图12中,如进展区域504h所示,用户当前正在输入与“FHIR端点配置”动作有关的信息。因此,当前动作区域506h包括用于输入特定于FHIR端点的信息的字段。用户使用这些字段来输入特定于EHR网关的URL。在一些示例中,可以基于先前输入的其他信息来预先填充URL。无论如何,URL将被其他系统用于测试用户连接以及连接到EHR网关以下载健康数据。一旦使用视图502h接收到信息,就呈现视图502i。
图13中示出的视图502i可以包括用于跟踪一系列动作(例如,EHR网关配置、EHR联系人、FHIR端点配置、FHIR测试患者账户、患者门户网站配置、患者门户网站显示和EHR系统位置)的进展的进展区域504i。每个动作可以在系统接收和处理由用户输入的信息时完成。可以通过用户在当前动作区域506i内的一个或多个字段中输入文本或通过以某种其他方式上传信息来接收该信息。在图13中,如进展区域504i所示,用户当前正在输入与“FHIR测试患者账户”动作有关的信息。因此,当前动作区域506i包括用于用户名和密码的字段。用户名和密码可属于EHR网关维护的测试简档。可以周期性地使用用户名和密码来测试与EHR网关的连接(例如,通过测试工具211)。一旦使用视图502i接收到信息,就呈现视图502j。
图14中示出的视图502j可以包括用于跟踪一系列动作(例如,EHR网关配置、EHR联系人、FHIR端点配置、FHIR测试患者账户、患者门户网站配置、患者门户网站显示和EHR系统位置)的进展的进展区域504j。每个动作可以在系统接收和处理由用户输入的信息时完成。可以通过用户在当前动作区域506j内的一个或多个字段中输入文本或通过以某种其他方式上传信息来接收该信息。在图14中,如进展区域504j所示,用户当前正在输入与“患者门户网站配置”动作有关的信息。因此,当前动作区域506j包括用于接收用于配置患者门户网站的信息的字段。患者门户网站可以使得用户能够使用web浏览器来连接到EHR以查看EHR网关和/或与EHR网关进行交互。例如,由系统提供的/>是患者门户网站的示例。本文描述的系统可以使用已建立的患者门户网站来认证希望连接到EHR网关的用户。因此,当前动作区域506j中的字段与患者门户网站相关。这些字段用于收集患者门户网站的配置信息,其包括大小范围、注册用户范围、登录URL、家庭URL、注册URL和忘记的用户名/密码URL。当用户设备用于连接到EHR网关时,可以在健康应用程序212内使用这些URL。例如,即使用户先前未向患者门户网站进行注册,患者门户网站注册屏幕仍可以被呈现给用户。一旦使用视图502j接收到信息,就呈现视图502k。
图15中示出的视图502k可以包括用于跟踪一系列动作(例如,EHR网关配置、EHR联系人、FHIR端点配置、FHIR测试患者账户、患者门户网站配置、患者门户网站显示和EHR系统位置)的进展的进展区域504k。每个动作可以在系统接收和处理由用户输入的信息时完成。可以通过用户在当前动作区域506k内的一个或多个字段中输入文本或通过以某种其他方式上传信息来接收该信息。在图15中,如进展区域504k所示,用户当前正在输入与“患者门户网站显示”动作有关的信息。因此,当前动作区域506k包括用于接收EHR网关的特定品牌信息的字段。这可以包括与品牌/商品名、患者门户网站标题、患者门户网站描述、图像、以及EHR网关在健康应用程序212中的外观的示例性表示1502相关的信息。一旦使用视图502k接收到信息,就呈现视图502l。
图16中示出的视图502l可以包括用于跟踪一系列动作(例如,EHR网关配置、EHR联系人、FHIR端点配置、FHIR测试患者帐户、患者门户网站配置、患者门户网站显示、以及EHR系统位置)的进展的进展区域504l。每个动作可以在系统接收和处理由用户输入的信息时完成。可以通过用户在当前动作区域506l内的一个或多个字段中输入文本或通过以某种其他方式上传信息来接收该信息。在图16中,如进展区域504l所示,用户当前正在输入与“EHR系统位置”动作有关的信息。因此,当前动作区域506l包括用于添加另一个位置的切换按钮。例如,如果提供方“健康公司”包括多于一个EHR系统,则用户可以使用切换按钮来添加有关此EHR系统的信息。在一些示例中,这可导致进展区域504l中示出的进展动作的重复。一旦使用视图502l接收到信息,就呈现视图502m。
图17中示出的视图502m可以包括用于跟踪一系列动作(例如,完成应用、查看完成、测试FHIR配置等)的进展的进展区域504m。每个动作可以在系统接收和处理由用户输入的信息时完成。在图17中,如进展区域504m所示,用户当前处于“测试FHIR端点连接”动作。先前相对于图7至图16执行“完成应用”动作。“查看完成”动作可能已经由操作提供方订阅系统112和/或业务订阅系统206的实体执行。在一些示例中,“查看”动作是手动过程和/或自动化过程。在当前动作区域506m中,示出了有关EHR网关的FHIR端点的信息。当前动作区域506m还可以包括测试按钮1702和查看按钮1704。选择测试按钮1702使得系统能够进行预定义测试(例如,模拟)例程以测试FHIR端点。该测试例程可以包括尝试使用在视图502i中输入的测试患者用户名和测试患者密码来连接到FHIR端点处的EHR网关。如果连接成功,系统还将尝试从FHIR端点下载健康记录数据作为FHIR数据包。一旦已经成功运行了测试,就可以选择查看按钮1704以便提交FHIR端点以在发布并可供用户搜索之前进行最终查看。在一些示例中,使用视图502a-504m来输入的信息可以用于生成数据结构400。
图18示出了根据至少一个示例的示出用于管理用户认证的过程1800的示例流程图,该过程作为建立与EHR系统114的网关的连接以从医疗提供方实体下载电子健康记录的一部分。过程1800可以由提供方订阅系统112、用户设备104和/或EHR系统114(包括网关实体)执行。
过程1800可以在1802处开始维护客户端机密。这可以由提供方订阅系统112执行。客户端机密可以特定于特定的EHR系统和/或特定品牌的EHR系统。
在1804处,过程1800可以包括周期性地更新客户端机密。这可以由提供方订阅系统112执行。在一些示例中,更新客户端机密可以包括生成新的客户端机密。周期性地更新客户端机密可以包括响应于某些条件的满足以及在任何其他时间以设定间隔(例如,每月)更新客户端机密。在一些示例中,当担心客户端机密可能已经被泄露时,可以执行更新客户端机密。
在1806处,过程1800可以包括提供客户端机密和客户端标识符。这可以由提供方订阅系统112执行。客户端标识符可以特定于用户设备104和/或与用户设备104的用户相关联的用户帐户。在一些示例中,可以将客户端机密和客户端标识符提供给用户设备104。
在1808处,过程1800可以包括提供客户端机密和客户端标识符。这可以由用户设备104执行。在一些示例中,用户设备将客户端机密和客户端标识符提供给EHR系统114。
在1810处,过程1800可以包括提供客户端凭据。这可以由用户设备104执行。客户端凭据可以特定于与用户设备104相关联的用户。客户端凭据可以与EHR系统114的患者门户网站相关联。用户设备104可以将客户端凭据提供给EHR系统114。以这种方式,用户可以登录到EHR系统114处的用户门户网站。
在1812处,过程1800可以包括提供代码。这可以由EHR系统114执行。代码可以由EHR系统114生成以用于与用户设备104连接的目的。EHR系统可以将代码提供给用户设备104。
在1814处,过程1800可以包括提供客户端机密、客户端标识符和代码。这可以由用户设备104执行。可以响应于接收到代码而将这些项目提供给EHR系统114。
在1816处,过程1800可以包括提供访问令牌和刷新令牌。这可以由EHR系统114执行。这些项目可以被提供给用户设备104。用户设备104可以在稍后时间使用一个或多个这些项目来访问EHR系统114。当来自用户设备104的稍后通信包括一个或多个这些项目,以及在一些示例中包括其他信息时,EHR系统114可以处理该通信(例如,将数据下载到用户设备104)。
在1818处,过程1800可以包括提供刷新令牌、客户端标识符和客户端机密。这可以由用户设备104执行。这些项目可以被提供给EHR系统114。在一些示例中,提供该信息可以使得能够在用户设备104和EHR系统114之间建立连接。
在1820处,过程1800可以包括与用户设备建立数据连接。这可以由EHR系统114执行。在一些示例中,建立数据连接可以部分取决于接收刷新令牌、客户端标识符和客户端密钥。
在1822处,过程1800可以包括从EHR系统114下载第一健康记录数据。这可以由用户设备104执行。像本文描述的其他通信一样,这种下载可以在任何合适的网络或网络的组合上进行。第一健康记录数据可以与用户设备104的用户的电子健康记录相关联。
在1824处,过程1800可以包括提供访问令牌和新的刷新令牌。这可以由EHR系统114执行。这些项目可以被提供给用户设备104。
在1826处,过程1800可以包括从EHR系统114下载第二健康记录数据。这可以基于访问令牌和新的刷新令牌来实现。
图19示出了根据至少一个示例的示出用于管理实体关系的过程1900的示例性流程图。过程1900可以由提供方订阅系统112和/或业务订阅服务206执行。
过程1900可以在1902处通过接收有关多个位置实体和至少一个网关实体的信息开始。可以从第一用户设备,诸如由提供方用户(例如,授权用户)操作的提供方用户设备接收信息。多个位置实体和至少一个网关实体可以与相应的实体标识符相关联。实体标识符可能以任何合适的方式分配给实体并且可以唯一地识别实体。
在一些示例中,接收信息可以包括接收来自从第一用户设备上传到服务器的配置文件的信息的至少第一部分。在该示例中,配置文件可以包括可由第二用户设备使用以连接到至少一个网关的配置信息。
在一些示例中,信息包括可由第二用户设备用于连接到该至少一个网关的配置信息。配置信息可以包括解析到至少一个网关的多个链接。
在1904处,过程1900可以包括将多个位置实体与至少一个网关实体相关联。这可以至少部分地基于在1902处接收的信息。在一些示例中,将多个位置实体与至少一个网关实体相关联创建了位置-网关关系的集合。至少一个网关可以在多个位置实体中的至少两个之间共享。在一些示例中,网关可以专用于单个位置实体。
在1906处,过程1900可以包括在数据库中存储相应实体标识符和位置-网关关系的集合。可以被称为提供方数据库的数据库可以包括表示多个组织的多个数据对象,每个组织包括位置、品牌和网关。
在1908处,过程1900可以包括使得第二用户设备能够搜索数据库。第二用户设备可以是对下载健康记录数据感兴趣的患者或其他用户的设备。这种搜索可以是针对多个位置实体中的至少一个实体或针对至少一个网关实体。
在一些示例中,过程1900还可以包括在接收信息之前,在用户设备处提供用户界面,该用户界面包括多个文本字段。在该示例中,在1902处接收信息可以包括经由输入到多个文本字段中的文本来接收信息的至少第一部分。在图5至图17中示出了示例性用户界面。
在一些示例中,过程1900还可以包括在数据库中存储相应实体标识符和位置-网关关系的集合之前,使用从信息中识别出的测试用户凭据来模拟与至少一个网关的用户连接。
在一些示例中,信息可以包括有关多个品牌实体的信息。在该示例中,过程1900还可以包括至少部分地基于该信息将多个品牌实体与多个位置实体相关联以创建品牌-位置关系的集合。多个位置实体中的至少两个位置实体可以在多个位置实体中的至少一个位置实体之间共享。在该示例中,过程1900还可以包括在数据库中存储相应实体标识符和品牌-位置关系的集合。相应实体标识符、位置-网关关系的集合、以及品牌-位置关系的集合可以被存储在与组织实体相关联的数据对象中。
图20示出了根据至少一个示例的示出用于医疗提供方实体的匿名用户搜索的过程2000的框图2002和流程图。图2002包括可由用户106操作的用户设备104,以及包括提供方数据库118的提供方订阅系统112。
过程2000可以在2004处通过提供包括搜索术语的搜索查询来开始。这可以由用户设备104执行。在一些示例中,用户106可以操作用户设备104以输入搜索术语,然后可以将其提供给提供方订阅系统112。搜索术语可以与用户106期望找到的医疗提供方相关。一旦找到,用户106就可以操作用户设备104以连接到医疗提供方的EHR系统的网关并下载其电子健康记录。
在2006处,过程2000可以包括接收包括最小数量的实体的搜索结果。这可以由用户设备104执行。提供方订阅系统112可以处理搜索查询以从提供方数据库118中识别最小数量的实体。最小数量的实体可以是位置实体、品牌实体和/或网关实体,所有这些实体可以被视为医疗提供方实体。最小数量可以对应于某个固定值,诸如五个、十个、二十个、五十个等。如果仅处理搜索查询并没有导致最小数量(例如,如果搜索术语太窄),则提供方订阅系统112可以自动向该集合添加附加实体以达到最小数量。
在2008处,过程2000可以包括从最小数量的实体接收对实体的用户选择。这可以由用户设备104执行。例如,用户106可以使用用户设备104来从包括最小数量的实体的列表中选择实体。这可以是用户106有兴趣连接到的实体(例如,用户106获得医疗护理的位置)。
在2010处,过程2000可以包括存储该实体和最小数量的实体中的其他实体的识别实体标识符。这可以由用户设备104执行。例如,当从列表中选择实体时(例如,在2008处),用户设备104可以自动存储来自最小数量的实体的实体标识符。标识符可以是通用唯一标识符,其可以由提供方订阅系统112生成或以某种其他方式分配。
在2012处,过程2000可以包括提供对有关第一实体的信息的请求。请求可以包括实体标识符和其他实体标识符。这可以由用户设备104执行。例如,用户设备104可以将请求提供给提供方订阅系统112。因此,即使用户106仅对第一实体感兴趣,用户设备104仍然可以将第一实体的标识符与其他实体标识符一起发送。以这种方式,从提供方订阅系统112混淆用户106实际感兴趣的实体。当用户设备104随后对提供方订阅系统112进行调用以获取有关第一实体的信息时,可以使用相同的标识符集合。
在2014处,过程2000可以包括接收有关实体和最小数量的实体中的其他实体的信息。这可以由用户设备104执行。例如,提供方订阅系统112可以例如从提供方数据库118或其他位置收集信息,并将该信息发送给用户设备104。同样,即使用户106仅对第一实体感兴趣,用户设备104也接收有关来自最小数量的实体的所有实体的信息。然而,因为用户设备104知道第一实体是用户106实际感兴趣的内容,所以用户设备104可以对所接收的信息进行分类以识别有关第一实体的相关信息并丢弃有关其他实体的其他信息。
在2016处,过程2000可以包括使用有关实体的信息。这可以由用户设备104执行。使用信息可以包括使用信息来连接到与实体相关联的网关实体以将健康记录数据下载到用户设备104。
图21至图33示出了根据各种示例的与用户操作用户设备的健康应用程序以连接到网关实体以便下载健康记录数据相关的一系列过程、决策点和用户界面(UI)视图。具体地,图21至图24包括过程(a)、(b)、(c)、(d)的决策点(A)、(B)、(C)、(D)、(E)、(F)、(G)和(H),以及由过程(a)-(d)和决策点(A)-(H)生成的标记为(1)至(25)的用户界面(UI)视图。示出了在第一图和第二图之间进行的UI视图处做出的选择,例如,使用以下形式的图形来示出:其中(2)唯一地识别该选择。示出了在第一图和第二图之间进行的过程,例如,使用以下形式的图形来示出:/>其中“1”表示UI视图(1)并且“d”表示过程(d)。示出了在第一图和第二图之间进行的决策点处的选择,例如,使用以下形式的图形来示出:/>其中“B”表示决策点(B)并且“a”表示决策点(B)处的选项(a)。示出了针对决策点并在第一图和第二图之间进行的选择,例如,使用以下形式的图形来示出:/>其中“A”表示目标决策点(例如,决策点(A))。
图21示出了识别过程(a)-(d)的用户开始点(1)和UI视图(2)。当用户首次访问健康应用程序并且已经添加了健康记录(例如,“(a)健康记录添加帐户”)时,可以呈现UI视图(2)。当前,已经添加单个记录,由于所有类别(除所有记录之外)都包含零值,因此其显示为不完整。随着添加更多的健康记录,类别中的记录条目的数量将开始增加。用户可以通过选择“添加帐户”UI元素来添加更多帐户。该选择导致如图23所示的决策点(A)。
图22示出了分别作为UI视图(3)(“健康记录欢迎UI”)和(4)(“来源添加帐户用户界面”)的过程(c)(“来源标签添加帐户”)和(b)(“健康记录开始”)的用户开始点(1)。当用户访问健康应用程序并选择针对开始于健康记录的选项(这对应于过程(b))时,可以呈现UI视图(3)。因此,UI视图(3)可包括欢迎消息,该欢迎消息包括有关访问用户健康记录的信息,包括使用用户的患者门户网站将健康记录下载到用户设备。用户可以通过选择“开始”UI元素来开始用于添加健康记录的过程。该选择导致如图23所示的决策点(A)。
当用户访问健康应用程序并选择针对添加账户的选项(这对应于过程(c))时,可以呈现UI视图(4)。因此,UI视图(4)可以包括可选择以“添加账户”的与医疗提供方相关联的UI元素。UI视图(4)还可以呈现与健康应用程序相关的一组其他应用程序。用户可以通过选择“添加帐户”UI元素来开始用于添加健康记录的过程。该选择导致如图23所示的决策点(A)。
图23示出了UI视图(5)(“电子邮件深层链接”)、UI视图(6)(“特征位置UI”)、决策点(A)和决策点(B)。在决策点(A)处,确定位置是否被启用,例如,用户是否已授权健康应用程序访问有关用户设备的位置数据。如果启用了位置,则在UI视图(6)中,将基于位置提供提供方列表。如果未启用位置,则在UI视图(6)中,按字母顺序(例如,如图23所示)提供提供方列表。响应于用户将搜索术语输入到视图(6)中的搜索框中,可以由提供方订阅系统112将提供方列表提供给用户设备。UI视图(6)可以包括提醒用户搜索他们过去曾经拜访的保健位置的提示。UI视图(6)中包括的提供方的列表可以包括各种不同的保健提供方。如图25所示,选择包括在UI视图(6)中的提供方中的一个可以导致UI视图(9)的呈现。
当用户访问健康应用程序并选择针对通过电子邮件发送深层链接以连接到网关的选项(这对应于图21的过程(d))时,可以呈现UI视图(5)。因此,UI视图(5)是示例性电子邮件应用程序,包括来自医疗提供方“New York-Presbyterian.”的示例电子邮件。在一些示例中,深层链接可以由提供方订阅系统生成并与医疗提供方共享。在一些示例中,医疗提供方生成深层链接。在任何情况下,作为邀请患者连接到医疗提供方的一部分,医疗提供方可以与其患者共享深层链接(例如,经由电子邮件或以某种其他方式)。电子邮件的正文可向用户说明如何连接以及使用哪些凭据(例如“使用您的myNYP凭据”)。这些凭据可对应于NYP的患者门户网站。UI视图(5)包括可选择以开始与健康应用程序的连接过程的UI元素。该选择导致如图23所示的决策点(B)。
在决策点(B)处,确定是否在支持的设备上打开电子邮件(例如,UI视图(5)所示)。如果在支持的设备(例如,可用于下载健康记录的移动用户设备,而不是台式计算机)上打开电子邮件(b),则在(Bb)之后呈现UI视图(7),如图24所示。如果在不支持的设备上打开电子邮件(a),则在(Ba)之后呈现UI视图(8),如图24所示。
图24示出了UI视图(7)(“来自电子邮件的欢迎UI”)和UI视图(8)(“yourhealth.com”)。可以在健康应用程序内呈现UI视图(7)。UI视图(7)可包括欢迎消息,该欢迎消息包括有关访问用户健康记录的信息,包括使用用户的患者门户网站将健康记录下载到用户设备。UI视图(7)还可以包括可选择以开始访问人健康记录的UI元素。该选择导致呈现如图26所示的UI视图(14)。
可以在用户设备上的web浏览器内呈现UI视图(8)。UI视图(8)可以推荐用户在其用户设备上下载健康应用程序。例如,如果用户从其膝上型计算机上的UI视图(5)打开电子邮件,则可以呈现UI视图(8),其解释健康应用程序并提示用户打开其用户设备和下载或以其他方式访问健康应用程序。
图25示出了UI视图(9)(“搜索UI”)、UI视图(10)(“提供方细节UI-多个位置”)以及决策点(C)。可以在健康应用程序内呈现UI视图(9)。UI视图(9)可以包括基于搜索查询“NewYork-Presbyterian.”的医疗提供方的列表。结果由(a)、(b)、(c)和(d)识别。列表中的每个医疗提供方可以包括有关医疗提供方的详细信息,其足以使得用户能够对每个医疗提供方做出明智的决策(例如,决定哪个医疗提供方是其获得护理的医疗提供方)。选择医疗提供方(a)(“NewYork-Presbyterian Lower Manhattan Hospital”)将导致决策点(C)。
在决策点(C)处,可以确定所选择的医疗提供方是否具有一个或多个网关。例如,一些医疗提供方可具有支持许多位置的单个网关(例如,沃尔格林)。其他医疗提供方可具有支持单个位置的多个网关。可以在决策点(C)处访问数据结构400。如果医疗提供方具有一个网关(a),则在(Ca)之后呈现UI视图(14),如图26所示。如果医疗提供方具有多于一个网关(b),则在(Cb)之后呈现UI视图(15),如图27所示。
在UI视图(9)中选择医疗提供方(c)(“CUMC/Columbia Doctors”)导致显示UI视图(10)。可以显示呈现UI视图(10),因为所选择的医疗提供方(c)与多于一个位置相关联。因此,在UI视图(10)中,可以提示用户选择附属于CUMC/Columbia Doctors的特定位置,在该位置处用户获得护理。
在UI视图(9)中选择医疗提供方(d)(“CUMC/New-York Presbyterian MorganStanley Children’s Hospital”)导致在(9d)之后呈现UI视图(11),如图26所示。当健康应用程序不支持所选择的位置时,可以显示UI视图(11)。
图26示出了UI视图(11)(“提供方详细UI-不支持”)和UI视图(14)(“提供方详细UI-支持”)。在UI视图(9)中选择不支持的医疗提供方之后,可以在健康应用程序内呈现UI视图(11),如(9d)所示。UI视图(11)包括用于不支持的医疗提供方的联系人信息和提示用户联系不支持的医疗提供方并请求支持的消息。
在UI视图(9)中选择支持的医疗提供方并且该医疗提供方具有单个网关之后,可以在健康应用程序内呈现UI视图(14),显示为从决策点(C)的(Ca)。UI视图(14)包括有关医疗提供方以及有关医疗提供方可连接到的网关的信息。可以选择识别“myNYP”患者门户网站的UI元素来继续连接到网关的过程。如图27所示,选择识别“myNYP”患者门户网站的UI元素导致决策点(D)。
图27示出了UI视图(15)(“提供方细节UI多个网关”)和决策点(D)。在UI视图(9)中选择支持的医疗提供方(该医疗提供方具有多于一个网关)之后,可以在健康应用程序内呈现UI视图(15),显示为从决策点(C)的(Cb)。因此,UI视图(15)包括有关与可连接到的医疗提供方相关联的三个可能网关(例如,“myColumbiDoctors”、“Weill Cornell CONNECT”和“myNYP”)的信息。在一些示例中,可要求用户连接到所有三个网关以便从医疗提供方获取其全部健康记录。可以选择识别“myNYP”患者门户网站的UI元素来继续连接到网关的过程。选择识别“myNYP”患者门户网站的UI元素导致呈现UI视图(17),如图29所示。
在决策点(D)处,可以确定所选择的网关是否可用。例如,一些网关在提供方数据库中注册时可能在某些时间段期间不可用。提供方数据库中的与网关相关联的记录可以指示网关的可用性。在一些示例中,可以使用网关的周期性测试来更新记录(例如,从可用到不可用)。如果网关不可用(a),则在(Da)之后呈现UI视图(12),如图28所示。如果网关可用(b),则在(Db)之后呈现UI视图(13),如图28所示。
图28示出了UI视图(12)(“网关细节UI不可用”)、UI视图(13)(“网关细节UI可用”)和UI视图(16)(“登录”)。在决策点(D)处确定网关不可用之后,可以在健康应用程序内呈现UI视图(12)。因此,UI视图(12)包括通知用户由于网关不可用而引起连接不可用的消息。UI视图(12)还可以包括网关和/或与网关相关联的医疗提供方的链接和/或联系人信息。以这种方式,用户可以直接联系医疗提供方以解决问题。
在决策点(D)处确定网关可用之后,可以在健康应用程序内呈现UI视图(13)。因此,UI视图(13)包括可由用户选择以连接到可用网关的UI元素(例如,连接按钮)。如果用户在此过程中已经做到了这一点,但忘记了其密码或想注册患者门户网站,则用户可以单击UI视图(13)中提供的链接。在一些示例中,可以如参考图5至图17所描述的那样收集所呈现的该信息(例如,消息和链接)。如果用户选择连接按钮,则可以在健康应用程序内呈现UI视图(16)。UI视图(16)可以包括用于使用户输入凭据(包括用户名和密码)的字段。这些凭据可能特定于用户正连接到的网关(例如,New-York Presbyterian–The UniversityHospital of Columbia and Cornell相关联的myNYP)。可选择允许用户登录的UI元素(例如,登录按钮)以继续连接到网关的过程。选择登录按钮导致呈现UI视图(18),如图29所示。
图29示出了UI视图(17)(“网关细节UI已连接”)和UI视图(18)(“允许访问”)。在UI视图(15)中选择“myNYP”项目之后,可以在健康应用程序内呈现UI视图(17)。UI视图(17)可以包括通知用户在该网关与用户设备之间已经建立连接的消息。在UI视图(16)中选择登录按钮之后,可以在健康应用程序内呈现UI视图(18)。UI视图(18)可以包括有关将用户设备连接到网关的提示。当多于一个用户与用户设备和/或网关相关联时,UI视图(18)可以用于选择适当的用户(例如,John Lane或Jill Appleseed)。可选择允许用户授予访问权限的UI元素(例如,允许访问按钮)以继续连接到网关的过程。选择允许访问按钮导致呈现UI视图(19),如图30所示。
图30示出了UI视图(19)(“瞬态连接UI”)、UI视图(20)(“成功连接”)以及决策点(E)。在通过选择UI视图(18)中的允许访问按钮来授予访问之后,可以在健康应用程序内呈现UI视图(19)。在决策点(E)处,可以确定与网关的连接是否成功。如果连接成功(a),则呈现UI视图(20),如图30所示。如果连接不成功(b),则在(Eb)之后呈现UI视图(21),如图31所示。当在决策点(E)处确定连接成功时,可以在健康应用程序内呈现UI视图(20)。UI视图(20)可以包括通知用户一旦已经下载其记录就将得到警报的消息。从这一点开始,记录的下载可以或多或少是自动的。在一些示例中,用户设备可以周期性地联系网关以确定是否存在更新。在一些示例中,网关可以定期发送更新。
图31示出了UI视图(21)(“无法连接”)和决策点(F)。当在决策点€处确定用户设备无法连接到网关时,可以在健康应用程序内呈现UI视图(21)。因此,UI视图(21)可以包括通知用户无法连接到网关的消息。在决策点(F)处,可以确定用户是否已经选择与订阅提供方系统共享数据。如果用户尚未选择共享(a),则在(Fa)之后呈现UI视图(22),如图32所示。如果用户已选择共享(b),则在(Fb)之后遍历决策点(H),如图32所示。
图32示出了UI视图(22)(“确认下载”)、UI视图(23)(“健康记录收件箱-已连接”)以及决策点(H)。当在决策点(F)处确定用户尚未选择共享时,可以在健康应用程序内呈现UI视图(22)。在一些示例中,选择共享可能意味着用户同意与提供方订阅系统的操作者共享某些数据。系统可以使用该数据来改善健康应用程序的功能。如果用户同意共享数据,则将不会与系统共享识别数据。相反,数据将被匿名化和/或以其他方式与用户断开连接。UI视图(22)还可以包括链接以了解更多有关隐私的信息。
如上所述,本技术的一个方面是收集和使用可从各种来源获得的数据以改善索引医疗术语的设备的运行。本公开预期,在一些实例中,这些所采集的数据可包括唯一地识别或可用于联系或定位特定人员的个人信息数据。此类个人信息数据可包括人口数据、基于位置的数据、电话号码、电子邮件地址、健康记录数据、家庭地址、或任何其他识别信息。
本公开认识到在本发明技术中使用此类个人信息数据可用于使用户受益。本公开还设想负责此类个人信息数据的收集、分析、公开、传输、存储或其他用途的实体将遵守已确立的隐私政策和/或隐私做法。具体地,此类实体应当实行并坚持使用被公认为满足或超出对维护个人信息数据的隐私性和安全性的行业或政府要求的隐私政策和实践。例如,来自用户的个人信息应当被收集用于实体的合法且合理的用途,并且不在这些合法用途之外共享或出售。另外,此类收集应当仅在用户知情同意之后进行。另外,此类实体应采取任何所需的步骤,以保障和保护对此类个人信息数据的访问,并且确保能够访问个人信息数据的其他人遵守他们的隐私政策和程序。另外,这种实体可使其本身经受第三方评估以证明其遵守广泛接受的隐私政策和实践。
不管前述情况如何,本公开还设想用户选择性地阻止使用或访问个人信息数据的示例。即本公开预期可提供硬件元件和/或软件元件,以防止或阻止对此类个人信息数据的访问。例如,就医疗数据项共享而言,本发明的技术可被配置为在注册服务期间允许用户选择“加入”或“退出”参与对个人信息数据的收集。
因此,虽然本公开广泛地覆盖了使用个人信息数据来实现一个或多个各种所公开的示例,但本公开还设想各种示例也可在无需访问此类个人信息数据的情况下被实现。即,本发明技术的各种示例不会由于缺乏此类个人信息数据的全部或一部分而无法正常进行。
无论用户在UI视图(22)处的选择如何,都可以考虑决策点(H)。在决策点(H)处,可以基于用户首先在哪里开始连接过程来确定下一步要去哪里,例如(a)、(b)或(c)。如果(a),则将呈现UI视图(23)。如果(b),则将呈现UI视图(24),如图33所示。如果(c),则将呈现UI视图(25),如图33所示。
当在决策点(E)处确定用户从HR摘要-添加帐户按钮开始时,可以在健康应用程序内呈现UI视图(23)。UI视图(23)可以包括用户设备上包括的所有健康记录的摘要以及所连接的那些网关(例如,“New York Presbyterian”和“Columbia University Medical”)的列表。
图33示出了UI视图(24)(“HR摘要-下载数据”)和UI视图(25)(“来源添加帐户UI-已连接”)。当在决策点(F)处确定用户从HR摘要-开始按钮开始时,可以在健康应用程序内呈现UI视图(24)。当在决策点(F)处确定用户从来源标签-添加帐户按钮开始时,可以在健康应用程序内呈现UI视图(25)。在UI视图(25)中,用户可以选择将更新新记录的更新间隔。
图34示出了根据至少一个示例的描绘用于构造一批次3402的医疗提供方实体以使得能够对医疗提供方实体进行匿名用户搜索的地理方法的图3400。批次3402与数据结构400的类似之处在于它包括品牌实体404、位置实体406和网关实体408之间的关系。然而,批次3402可以不与组织实体相关联。这是因为,批次3402不是由组织实体来组织,而是基于起始医疗提供方(该起始医疗提供方在该示例中是医疗提供方3404a)在地理上进行组织,并且对于医疗提供方3404a是唯一的。批次3402可以由唯一批次标识符来识别。
医疗提供方3404a是患者可在其处获得护理的物理位置(例如,地址)。医疗提供方3404a还可以与患者通过其识别医疗提供方3404a的品牌(例如,诊所名称、经营实体名称等)相关联。
图3400还包括向外扩展的地理搜索3406的图形描绘。向外扩展的地理搜索3406可以包括多个带3408a-3408d。多个带3408中的每一个以医疗提供方3404a为中心,向外扩展,并由此直径从3408a-3408d增加。带3408的面积对应于实际陆地面积(例如,在地图上)。例如,医疗提供方3404a可以位于市中心,并且带3408可以向郊区(例如,城市的外围)延伸。
向外扩展的地理搜索3406描述对应于构建批次3402的过程。例如,过程可以通过选择医疗提供方3404a来开始。在该示例中,可以为医疗提供方3404a唯一地创建批次3402。稍后当用户请求有关医疗提供方3404a的信息时(例如,作为搜索提供方数据库118的一部分),用户将接收有关批次3402中的全部或部分实体的信息,包括医疗提供方3404a。以这种方式,医疗提供方3404a的真实身份可以从启用搜索的服务器中混淆。
从医疗提供方3404a开始,可以如带3408a所表示的那样执行第一向外扩展搜索。在该第一向外扩展搜索期间,识别出医疗提供方3404a和医疗提供方3404b。一旦已经识别出任何医疗提供方3404,就将所识别的医疗提供方3404的品牌信息、位置信息和网关信息添加到批次3402(例如,包括由批次3402表示的信息的数据对象)。因此,如使用类似的对象填充所示,由带3408a表示的第一向外扩展的搜索揭示了品牌实体404a、位置实体406a、406b和网关实体408a。在该示例中,两个医疗提供方3404a、3404b对应于相同的品牌实体(例如,品牌实体404a),其各自对应于位置实体406a、406b中的一个,并且对应于相同的网关实体(例如,网关实体408a)。品牌实体404、位置实体406和网关实体408之间的关系由连接线表示。这些关系可能已经预先限定和/或可以使用本文描述的技术来限定。
向外扩展搜索可以递增地增加(例如,将搜索半径增加1英里),直到达到阈值数量的品牌实体、位置实体和/或网关实体为止。阈值数量可以是不同值或相同值。因此,在该示例中,在第一搜索之后执行了三个搜索。下面讨论的这三个其他搜索对应于带3408b、3408c和3408d。取决于具体实施,也可以执行更多或更少的搜索。
可以如带3408b所表示的那样执行第二向外扩展搜索。在该第二向外扩展搜索期间,识别出医疗提供方3404c。一旦被识别,就将品牌信息、位置信息和网关信息添加到批次3402。因此,如使用类似的对象填充所示,品牌实体404b、位置实体406c和网关实体408b已添加到批次3402。在该示例中,医疗提供方3404c由品牌实体404b、位置实体406c和网关实体408b表示。
可以如带3408c所表示的那样执行第三向外扩展搜索。在该第三向外扩展搜索期间,识别出医疗提供方3404d。一旦被识别,就将品牌信息、位置信息和网关信息添加到批次3402。因此,如使用类似的对象填充所示,品牌实体404c和位置实体406d已添加到批次3402。因为已经识别了由医疗提供方3404d使用的网关实体408b,所以不会将新网关添加到批次3402。而是创建位置实体406d和网关实体408b之间的关系。在该示例中,医疗提供方3404d由品牌实体404c、位置实体406d和网关实体408b表示。
可以如带3408d所表示的那样执行第四向外扩展搜索。在该第四向外扩展搜索期间,识别出医疗提供方3404e、3404f。一旦被识别,就将品牌信息、位置信息和网关信息添加到批次3402。因此,如使用类似的对象填充所示,品牌实体404d、位置实体406e、406f和网关实体408c已添加到批次3402。在该示例中,医疗提供方3404e由位置实体406e和网关实体408b表示。医疗提供方3404f由品牌实体404d、位置实体406f和网关实体408c表示。
图35示出了根据至少一个示例的示出用于使得能够对医疗提供方实体进行匿名用户搜索的过程3500的示例性流程图。过程3500可以由提供方订阅系统112执行。
过程3500可以在3502处通过生成医疗实体批次(例如,批次3402)来开始。在一些示例中,批次可以包括品牌实体集合、位置实体集合和网关实体集合。例如相对于图34所讨论的,生成医疗实体批次可以包括选择与第一地理位置相关联的第一位置实体,至少部分基于第一地理位置开始对其他实体进行向外扩展的地理搜索,当已为品牌实体集合、位置实体集合和网关实体集合中的每一个识别了阈值数量的实体时,停止向外扩展的地理搜索。
在一些示例中,生成实体批次至少部分基于生成多个其他实体批次。在一些示例中,生成多个其他实体批次和该实体批次可以包括将每个医疗实体的每个实体标识符转换为介于一与对应于每个实体批次中的间隙数的预定义数字之间的整数值,以及至少部分基于相应整数值将每个医疗实体分配给相应实体批次,相应整数值等于相应批次标识符。
在3504处,过程3500可以包括将批次标识符分配给医疗实体批次。在一些示例中,医疗实体批次中的单独实体可以与相应实体标识符相关联。
在3506处,过程3500可以包括(例如,从用户设备)接收搜索查询。搜索查询可以包括一个或多个搜索术语。
在3508处,过程3500可以包括提供包括医疗实体列表的搜索结果。可以至少部分地基于一个或多个搜索术语将列表提供给用户设备。
在3510处,过程3500可以包括接收有关来自医疗实体列表的特定医疗实体的请求。可以从用户设备接收该请求。特定医疗实体可以属于医疗实体批次。请求可以包括批次标识符和识别特定医疗实体的特定实体标识符。
在3512处,过程3500可以包括将有关特定医疗实体的信息以及有关医疗实体批次中的其他实体的其他信息一起提供给用户设备。在一些示例中,提供有关特定医疗实体的信息以及有关实体批次中的其他医疗实体的其他信息混淆了特定医疗实体的身份。
在一些示例中,过程3500还可以包括从用户设备接收针对有关特定医疗实体的其他信息的第二请求。第二请求可以包括批次标识符和特定实体标识符。
在一些示例中,实体的阈值数量针对品牌实体集合、位置实体集合和网关实体集合中的每一个是不同值。
在一些示例中,网关实体集合中的至少一个网关实体与位置实体集合的多于一个位置实体相关联。
在一些示例中,提供方数据库被提供并且被配置为存储有关医疗实体的信息。在该示例中,过程3500还可以包括在分配批次标识符之后,在提供方数据库中存储有关与批次标识符相关联的医疗实体批次的信息。
在一些示例中,过程3500还可以包括使得用户设备能够与和特定医疗实体相关联的网关实体建立连接。在一些示例中,关于特定医疗实体的信息包括与网关实体相关联的配置信息。用户设备可使用该配置信息来对网关实体进行一个或多个预定义方法调用。
图36示出了根据至少一个示例的示出用于使得能够对医疗提供方实体进行匿名用户搜索的过程3600的示例性流程图。过程3600可以由用户设备1400执行。
过程3600可以在3602处通过向服务器提供搜索查询来开始。搜索查询可以包括一个或多个搜索术语。用户可以使用任何适当的输入方式来输入搜索术语。
在3604处,过程3600可以包括接收包括最小数量的医疗实体的搜索结果。在一些示例中,可以从服务器(例如,提供方订阅系统112)接收搜索结果。可以至少部分地基于一个或多个搜索术语来选择搜索结果。在一些示例中,医疗实体中的每个医疗实体与实体标识符相关联。
在3606处,过程3600可以包括接收从最小数量的医疗实体的对第一医疗实体的用户选择。
在3608处,过程3600可以包括以与来自最小数量的医疗实体的其他医疗实体相关联的其他实体标识符相关联的方式存储与第一医疗实体相关联的第一实体标识符。
在3608处,过程3600可以包括提供对有关第一医疗实体的信息的请求。请求可以被发送到服务器并且可以包括第一实体标识符和其他实体标识符。
在3610处,过程3600可以包括接收有关第一医疗实体的信息以及有关其他医疗实体的其他信息。在一些示例中,可以从服务器并且响应于提供请求而接收该信息。在一些示例中,从服务器接收有关第一医疗实体的信息以及有关其他医疗实体的其他信息混淆了作为受用户选择的医疗实体的第一医疗实体的身份。
在一些示例中,过程3600还可以包括与和第一医疗实体相关联的网关实体建立连接。
在一些示例中,有关第一医疗实体的信息包括与网关实体相关联的配置信息。用户设备可使用该配置信息来对网关实体进行一个或多个预定义方法调用以建立与网关的连接。
在一些示例中,至少在存在与网关的连接的时间段期间,执行以与其他医疗实体相关联的其他实体标识符相关联的方式存储与第一医疗实体相关联的第一实体标识符。
图37示出了根据至少一个示例的描绘用于管理用户设备对EHR系统的多个网关的访问的基于服务器的方法的框图3700。图3700包括服务器(例如,提供方订阅系统112)、由用户操作的用户设备(例如,用户设备104和用户106)以及多个EHR系统114a-114n(例如,网关实体408a-408n)。使用本文描述的技术,可以在用户设备104和EHR系统114a-114n之间建立多个单独连接。使用这些连接,用户设备104可以为用户106下载电子健康记录数据。EHR系统114、提供方订阅系统112和用户设备104都可以由单独实体操作。在一些示例中,EHR系统114处的联网设备可能仅能够在任何给定时间处理一定数量的网络请求。在任何给定时间的太多请求可能致使EHR系统114发生故障或以其他方式变得不可用。为了解决这个问题,提供方订阅系统112可以管理用户106尝试连接到EHR系统114的时间和频率。这种管理可以基于EHR系统114的特定特性和/或可以基于由多于一个EHR系统114共享的通用特性。例如,作为将EHR系统114添加到由提供方订阅系统112操作的系统的一部分,可以从EHR系统114收集网络容量配置信息。提供方订阅系统112以后可以使用此信息来确定用户设备104可以联系EHR系统114的时间和频率。在一些示例中,提供方订阅系统112可以估计EHR系统114的特征以做出该确定,这可以基于更新值。
图38示出了根据至少一个示例的示出用于管理用户设备对网关实体的访问的基于服务器的方法的过程3800的示例性流程图。过程3800可以由提供方订阅系统112、用户设备104和/或EHR系统114(例如,EHR系统114的网关实体)执行。
过程3800可以在3802处通过发送针对访问网关的信息请求而开始。这可以由用户设备104执行。信息请求可以被发送到服务器(例如,提供方订阅系统112)。信息请求可以请求有关访问EHR系统114的网关的信息。
在3804处,过程3800可以包括至少部分地基于信息请求来生成更新值。这可以由提供方订阅系统112执行。更新值可以表示时间段(例如,一个小时、一天、一周、一个月等),并且可以至少部分地基于EHR系统114的特性来生成。在一些示例中,时间段以秒表示。EHR系统114的相关特性可以包括与EHR系统114的网络负载能力相关的那些。
在3806处,过程3800可以包括访问与EHR系统114的网关相关联的数据对象。这可以由提供方订阅系统112执行。数据对象可以包括可由用户设备104使用以访问网关的配置信息。例如,配置信息可以包括特定于网关的应用编程接口(API)信息。稍后,用户设备104可以使用API信息来连接到EHR系统114的网关并下载健康记录数据。数据对象可以包括网关的通用用户标识符。
在3808处,过程3800可以包括提供更新值和数据对象。这可以由提供方订阅系统112执行。在一些示例中,响应于信息请求,将更新值和数据对象提供给用户设备104。
在3810处,过程3800可以包括接收更新值和数据对象。这可以由用户设备104执行。可以从提供方订阅系统112接收更新值和数据对象。
在3812处,过程3800可以包括确定随机时钟值。这可以由用户设备104执行。这可以由用户设备104执行。随机时钟值可以是介于零和更新值之间的值。随机时钟值可以对应于该时间段内的时钟时间。例如,更新值可以是86,400秒,其对应于一个小时的时段。给定例如13:22:00的当前时钟时间,可以确定在13:22:00的86,400秒内的随机时钟值。例如,如果确定随机时钟值为43,200秒,则时钟时间可以为13:52:00,例如半小时后。时钟时间可以用于将未来请求(例如,请求下载的访问请求)调度到EHR系统114的网关。
在3814处,过程3800可以包括在与时钟值相对应的时钟时间并且根据数据对象向网关发送访问请求。这可以由用户设备104执行。访问请求可以请求下载由EHR系统114维护的健康记录数据。在一些示例中,数据对象可以存储用于访问EHR系统114的网关的配置信息。该配置信息可以包括API信息、URL、认证信息等。
在3816处,过程3800可以包括接收访问请求。这可以由EHR系统114执行。假设访问请求由用户设备104在时钟时间发送,则访问请求可以在时钟时间之后不久被EHR系统114接收。
在3818处,过程3800可以包括生成包括健康记录数据的数据包。这可以由EHR系统114执行。可以使用快速保健互操作性资源(FHIR)标准或任何其他合适的标准(诸如HL7标准机构和/或其他标准机构发布的标准)来生成健康记录数据。
在3820处,过程3800可以包括根据请求发送数据包。这可以由EHR系统114执行。发送数据包可以包括将数据包发送到用户设备104。如本文所述,用户设备104可以与健康记录数据所属的用户(例如,患者)相关联。
在3822处,过程3800可以包括存储健康记录数据的一部分。这可以由用户设备104执行。用户设备104可能以任何合适的格式存储健康记录数据。存储健康记录数据的一部分可以包括索引来自健康记录的医疗术语。
在一些示例中,过程3800还可以包括从用户设备104并向提供方订阅系统112发送附加信息请求,以准备向EHR系统114的网关发送附加访问请求。在该示例中,过程3800还可以包括从提供方订阅系统112接收附加通信。附加通信可以包括网关的状态指示器。当状态指示符指示网关可用时,用户设备104可以向EHR系统114的网关发送附加访问请求。当状态指示符指示网关不可用时,用户设备104可以避免发送附加访问请求。
图39示出了根据至少一个示例的示出用于管理对网关实体的访问的基于用户设备的方法的过程3900的示例性流程图。过程3900可以由提供方订阅系统112和用户设备104执行。
过程3900可以在3902处通过发送针对访问例如EHR系统114的网关的信息请求而开始。这可以由用户设备104执行。请求可以被发送到服务器(例如,提供方订阅系统112)。信息请求可以请求有关访问电子健康记录系统(例如,EHR系统114)的网关的信息。在一些示例中,信息请求包括识别与EHR系统114相关联的医疗提供方以及与EHR系统114或不同EHR系统中的至少一个相关联的多个其他医疗提供方的信息。
在3904处,过程3900可以包括访问与例如EHR系统114的网关相关联的数据对象。数据对象可以包括网关的访问信息和配置信息。
在3906处,过程3900可以包括提供数据对象。这可以由提供方订阅系统112执行。提供数据对象可以包括将数据对象提供给用户设备104。
在3908处,过程3900可以包括接收数据对象。这可以由用户设备104执行。可以在通信中从提供方订阅系统112接收数据对象。配置信息可以由用户设备104使用以访问网关。例如,配置信息可以包括特定于网关的应用编程接口(API)信息。
在3910处,过程3900可以包括发送针对健康记录数据的第一访问请求。这可以由用户设备104执行。可以将第一访问请求发送到提供方订阅系统112。第一访问请求可以具体地请求下载由EHR系统114维护的用户设备104的用户的健康记录数据。
在3912处,过程3900可以确定下载是否成功。这可以包括确定用户设备104是否能够连接到网关和/或用户设备104是否接收到所请求的健康记录数据。在一些示例中,这可以至少部分地基于从网关接收连接超时错误。
如果在3912处的答案为是,则过程3900行进到3914,其中过程3900可以包括存储健康记录数据的一部分。在一些示例中,这可以由用户设备104执行。用户设备可以使用第一数据模型来存储健康记录数据的部分。存储健康记录数据的部分可以包括接收FHIR数据包,解压缩数据,以及存储数据。
如果在3912处的答案为否,则过程3900进行到3916,其中过程3900可以包括确定发送下一个访问请求的未来时间。这可以由用户设备104执行。第二访问请求可以是要发送到网关的访问请求。该确定可以基于用户设备104上可用的预定义途径。例如,预定义例程可以被配置为确定在其下用户设备104可以尝试连接到网关和/或其他远程设备的情况。在一些示例中,确定未来时间可以至少部分地基于用户设备的特性。例如,用户设备的特性可以包括锁定状态、电池寿命、网络连接性、可用处理能力、可用存储和/或任何其他合适特性中的至少一个。
在3918处,过程3900可以包括发送下一个访问请求。这可以由用户设备104执行。发送下一个访问请求可以包括在3916处确定的未来时间发送到网关。
在一些示例中,过程3900还可以包括向提供方订阅系统112发送附加信息请求,以准备向网关发送附加访问请求。在该示例中,过程3900还可以包括从提供方订阅系统112接收附加通信。附加通信可以包括网关的状态指示器。在该示例中,过程3900还可包括当状态指示符指示网关不可用时,避免发送附加访问请求。以这种方式,用户设备104可以登录提供方订阅系统112以获得网关的更新的状态信息。这可以最小化用户设备104尝试联系网关但是由于网关不可用而无法获得信息的情况。如果网关可用,则用户设备104可以联系网关。
图40示出了根据至少一个示例的示出用于模拟用户与电子健康记录系统网关的连接的过程4000的示例性流程图。过程4000可以由提供方订阅系统112执行。
过程4000可以在4002处通过模拟与多个网关的用户连接而开始。可以在第一时段期间执行模拟。多个网关可以与被配置为维护多个用户(例如,患者)的电子健康记录的多个电子健康记录系统相关联。在一些示例中,模拟与多个网关的用户连接可以包括使用测试用户凭据来连接到由多个EHR系统维护的测试用户简档。过程4000还可包括向网关发短信。
在4004处,过程4000可以包括确定与多个网关中的第一网关的第一用户连接的模拟状况。可以在4002处模拟与多个网关的用户连接的同时识别模拟状况。模拟状况包括部分故障状况、完全故障状况或成功状况中的至少一个。
在4006处,过程4000可以包括当模拟状况指示部分故障时执行第一动作。第一动作可以包括在第二时段期间模拟与第一网关的第二用户连接。第一动作还可以包括至少部分地基于第二用户连接在第二时间段期间失败来确定第一网关是不活动的。第一动作还可以包括通知一组用户设备第一网关不活动。例如,提供方订阅系统112可以维护会维持与第一网关的连接的用户设备的注册表。使用该注册表,提供方订阅系统112可以将状态消息发送到用户设备。在一些示例中,通知用户设备可以包括将第一网关的状态发布到用户设备可访问的网络位置。例如,提供方订阅系统112可以更新提供方数据库118中的其中保存了有关第一网关的信息的记录。当用户设备在连接到第一网关之前“登录”提供方订阅系统112时,提供方订阅系统112可以共享更新的状态信息。
在4008处,过程4000可以包括当模拟状况指示完全失败时执行第二动作。在该示例中,第二动作可以包括在不模拟第二用户连接的情况下向该组用户设备通知第一网关不活动。例如,模拟状况可能非常严重,以至于用户设备甚至都不应尝试连接到第一网关。通知该组用户设备可以如参考框4006所讨论的那样执行。
在4010处,过程4000可以包括当模拟状况指示成功时执行第三动作。在该示例中,第三动作可以包括使得该组用户设备能够连接到第一网关。这可以包括更新网关的可用性状态并允许用户设备访问可用性状态。在一些示例中,第三动作可以包括使得该组用户设备能够根据更新值连接到第一网关。更新值可以被限定为其中该组用户设备随机地连接到第一网关的未来时间窗口。
图41示出了根据至少一个示例的示出用于从电子健康记录索引医疗术语的过程4100的框图4102和流程图。框图4102可以包括用户设备104、EHR系统114和术语管理系统130。在一些示例中,术语管理系统130执行过程4100的至少一部分。例如,术语管理系统130可能以与用户设备104类似的方式索引术语。在一些示例中,术语管理系统130可以获得对许多电子健康记录的访问(例如,从临床数据仓库或其他存储位置)。使用电子健康记录,术语管理系统130可以建立术语库132。
过程4100可以在4104处通过从EHR系统114的网关下载包括健康记录数据的数据包而开始。这可以由用户设备104执行。健康记录数据可能以任何合适的格式,包括例如标准、临床文档体系结构/>由/>项目发布的其他标准、或任何其他合适的标准。健康记录数据可以包括与和EHR系统114相关联的医疗提供方相关联的患者的个人电子健康记录。在一些示例中,个人电子健康记录代表用户106个人健康记录的一部分。下载数据包可以包括根据第一数据模型存储电子健康记录数据。
在4106处,过程4100可以包括在健康记录数据中索引医疗术语。这可以由用户设备104执行。医疗术语可以是健康记录数据中的描述用户106的健康状况的文本。例如,医疗术语可以是描述医生就诊、处方、实验室测试结果、图像测试结果、生命体征数据、以及电子健康中的任何其他合适的结构或非结构化数据项的文本串记录。作为另一个示例,医疗术语可以是行业标准代码(例如,RxNormTM、SNOMEDTM和其他合适的标准代码)。索引医疗术语可以包括生成医疗术语的医疗术语表达。医疗术语表达由表示医疗术语的部分的医疗术语基元组成。当索引医疗术语时,可以保存对应的医疗术语表达并将其用于本文所述的许多不同目的。可以保存允许基于医疗术语表达来复制原始医疗术语的其他信息。索引医疗术语将在本文中更详细地描述(例如,图43至图44)。在一些示例中,医疗术语表达可以使用行业标准代码来生成。
在4108处,过程4100可以包括确定医疗术语是否是可索引的。这可以由用户设备104执行。如果用户设备可以生成医疗术语的医疗术语表达,则术语是可索引的。如果医疗术语是不可索引的,则在4110处,过程4100可包括上传不可索引的医疗术语以用于解析。这可以包括将不可索引的医疗术语上传到术语管理系统130。术语管理系统130对不可索引的医疗术语的接收可以触发用于解析医疗术语的工作流。该工作流可以包括将医疗术语呈现给医疗专业人员以确定每个医疗术语的含义。在一些示例中,医疗专业人员可以将医疗术语与提议的索引术语进行比较以查看关联是否不正确。
一旦术语管理系统130已经解析不可索引的医疗术语,就可以使用更新器服务204将这些术语发送到用户设备104。例如,更新器服务204可以将解析的术语作为空中更新发送给用户设备104。用户设备204然后可以将解析的术语添加到术语库214。在一些示例中,可以将解析的术语作为操作系统更新的部分提供给用户设备104。在此示例中,用户可以执行某种动作来启动操作系统更新。在空中更新示例中,当满足某些设备状况(例如,连接到WiFi网络、插入等)时,更新可以在后台发生,但用户无需执行动作。
如果该术语是可索引的,则过程4100可以行进到4112,在此,过程4100可以包括计算索引医疗术语的分数。这可以由用户设备104执行作为完成过程的一部分。分数可以表示对术语的索引程度。分数可以包括表示特定医疗术语与理想医疗术语相对应的程度的完成分数。完成分数可以至少部分地基于索引医疗术语所属的医疗类别。分数还可以包括表示被索引的特定医疗术语的比率的覆盖率分数(例如,来自特定医疗术语的75%的单词由索引医疗术语表示)。索引医疗术语的分数可以与术语管理系统130共享。
在4114处,过程4100可以包括存储索引医疗术语。这可以由用户设备104执行。可以根据与第一数据模型不同的第二数据模型将索引的术语存储在术语库中。
在4116处,过程4100可以包括使用索引医疗术语来呈现医疗信息。这可以由用户设备104执行。这可以包括以统一或另外归一化的方式呈现医疗信息,分类和组织个人健康记录,在其他数据库中搜索医疗数据,用增强用户与其个人健康记录进行交互的体验的元数据补充个人健康记录。例如,可以索引源自许多不同医疗提供方的医疗术语。为了使数据的组织和呈现方式保持一致,可以使用索引医疗术语。这样做实质上允许用户设备104比较来自不同医疗提供方的原始医疗术语以确定医疗提供方指的是相同事物,即使他们可能使用不同的语言。
图42示出了根据至少一个示例的描绘可用于从电子健康记录索引医疗术语的用户设备104的框图4200。如本文中所介绍的,用户设备104可以包括健康应用程序212和术语库214。健康应用程序212可以包括索引引擎4202,该索引引擎包括多个部件4202-4214。通常,索引引擎4202可以包括适于实现本文描述的功能的索引算法。这些部件的功能将参考图43和图44中的流程图和相关描述进行讨论。图43和图44中的流程示出了根据至少一个示例的与索引医疗术语有关的过程4300。
索引引擎4202相对于包括多种数据类型的信息模型进行操作,该多种数据类型包括例如医疗主题、医疗类别、术语和同义词。此外,可以使用三种不同的数据类型将元数据与医疗术语相关联,该三种不同的数据类型包括例如分类、事实和表达。
有时被称为医疗语法的医疗主题可以限定特定医疗主题所独有的数据特性(例如,医疗类别)。医疗主题的示例包括,例如,过敏、状况、免疫、实验室、药物、规程、单位、生命体征、以及其他类似的描述性医疗主题。
医疗类别是可从术语中提取的可量化值的分类,并且与一个或多个类别相关联。因此,医疗类别进一步限定医疗主题。以下分别在表1、2、3、4、5、6、7和8中呈现了针对过敏、状况、免疫、实验室、药物、规程、单位和生命体征的医疗主题的示例性医疗类别。以下还示出了医疗类别的示例。例如,“超敏”是表1所示的“过敏”医疗主题的中“倾向”医疗类别的示例。
表1-医疗主题:过敏
医疗类别 |
实例 |
倾向 |
“超敏” |
物质 |
“狗毛” |
反应 |
“麻疹” |
严重程度 |
“轻微” |
忽视 |
“过敏” |
表2-医疗主题:状况
表3-医疗主题:免疫
医疗类别 |
实例 |
品牌名称 |
“Fluvax” |
疫苗 |
“流感” |
制剂 |
“助剂”,“2015-16” |
途径 |
“鼻腔” |
年龄范围 |
“青春期”,“>10岁” |
忽视 |
“透析” |
表4-医疗主题:实验室
医疗类别 |
实例 |
分析物 |
“Advil” |
分析物限定符 |
“布洛芬” |
分析物子限定符 |
“150MG” |
挑战 |
“20M后收集” |
调整 |
“白蛋白校正” |
属性 |
“分数” |
时间方面 |
“时间点” |
标本 |
“尿” |
身体部位 |
“宫颈” |
值类型 |
“定量” |
方法 |
“琼脂扩散” |
忽视 |
“结果”,“详细信息请参见电子医疗记录” |
表5-医疗主题:药物
表6-医疗主题:规程
医疗类别 |
实例 |
规程 |
“EKG” |
设备 |
“起搏器” |
物质 |
|
表7-医疗主题:单位
表8-医疗主题:生命体征
医疗类别 |
实例 |
生命体征 |
“心率” |
忽视 |
“口服” |
医疗数据项可以是可从医疗项目中提取的可量化值(例如,对于药物主题中的品牌名称类别,医疗项目可以包括Motrin、Advil、Tylenol等)。因此,医疗数据项可以按照它们所属的医疗类别来分组。医疗数据项对于其相关联类别可能始终是唯一的。在一些示例中,医疗数据项可以表示描述其所表示的可量化值的最精确方法,其通常不是缩写或同义词。在与医疗数据项关联的符号对多个医疗类别(例如,Motrin)有效的情况下,在所有相关医疗类别中都可能存在具有相同符号的唯一医疗项目。
同义词可以是可替代其对应医疗项目的可量化值(例如,“Mot.”可以是“Motrin”的同义词)。在与同义词相关联的符号(例如,Mot.)对于多个医疗项目和/或医疗类别有效的情况下,同义词可以与特定医疗项目相关联。在一些示例中,在所有相关医疗项目和/或医疗类别内可能存在具有相同符号的唯一同义词。
除了上面的核心本体之外,可以使用三种不同的数据类型将元数据与医疗术语相关联,该三种不同的数据类型包括例如分类、事实和表达。分类可以限定谓词(例如,分类[止痛药、抗炎药、抗癌药]、颜色、用法/指导等)。事实可能是web本体语言(OWL)三元组并且其将分类、医疗术语表达和值相关联。表达将医疗术语(例如Motrin 200Mg的口服片剂)指定为索引(例如[100、101、102、2000])。本文描述的技术涉及将医疗术语转换为表达并且使用那些表达来执行各种其他操作。
在一些示例中,另一种数据类型用于索引。例如,规则描述了在索引过程期间要执行的特定于上下文的操作。规则通常局限于医疗主题,并且细分局限于医疗类别。以这种方式,可以针对特定医疗主题和医疗类别触发规则,而对于其他主题/类别组合则不触发规则。使用规则可以允许索引引擎4202产生定制结果。在一些示例中,规则包括范围和子范围、评估顺序(在针对步骤/阶段限定多个规则的情况下)、以及特定于操作的参数。
通常,索引引擎4202可以被配置为实现将原始医疗术语转换成非常适合存储在数据库中的可量化值(例如,包括表达基元的医疗术语表达)的过程。可能以对本技术的用户产生独特利益的方式来查询和/或以其他方式操纵这些可量化值。在对原始医疗术语进行索引之后,来自索引引擎4202的输出可以包括医疗术语的术语索引和随附的数据结构,其详细描述了在原始医疗术语中标识的每个医疗类别、医疗数据项、同义词等。术语索引是医疗术语的特征,称为术语表达。术语表达由多个表达基元组成,每个基元都映射到术语库中的医疗数据项或医疗数据项的同义词。以这种方式,术语索引表示原始医疗术语。
即使每个医疗术语的结构和内容不同,也可以将导致相同医疗术语表达的两个原始医疗术语视为等同的。例如,使用索引引擎4202对术语“Motrin 200mg口服片剂”和“mot.or.tab.200mg”进行索引将产生相同的医疗术语表达,因此即使它们在视觉上不同,但也会是等效的。从医疗术语中提取的信息越多,医疗术语表达将越长。例如,“MotrinIbuprofen200mg口服片剂”将具有比上面的示例更长的医疗术语表达,因为Ibuprofen映射到药物主题(例如,医疗主题)中的成分(例如,医疗类别)。
多个部件4202-4214可以包括解析部件4204、符号化部件4206、句法部件4208、语义部件4210、汇编部件4212和终结部件4214。通常,索引医疗术语的过程可以包括预处理、处理中和后处理。例如,在这些阶段中的任何阶段,可以实施本文所述的规则以改变该阶段。因为规则可以应用于数据中,所以它们可能以有效且敏捷的方式应用。可以在任何时间添加新规则类型,而不会影响构成多个部件4202-4214的基础算法。例如,当在多个医疗记录中识别出新模式或某些内容未正确显示时,可以在下面描述的过程中的任何时候添加新规则类型以调整医疗术语的索引。
如图43所示,过程4300可以在4304处通过使用解析部件4204而开始。这可以由索引引擎4202执行。解析部件4204可以被配置为从健康记录数据(例如,包括电子健康记录的FHIR数据包)中提取和解析原始的最初医疗术语。例如,解析部件4204可以解析原始医疗术语4306。该解析将医疗术语4360细分为多个单独单词,称为医疗数据部分4308或更简单的部分。
在此阶段应用的规则可能集中在字符串操作上。例如,规则可以调整字符串中的单词的顺序,忽略某些单词等。在一些示例中,规则可以包括预处理定界规则。这些规则可以设置特定于主题的定界符以用于分割原始医疗定界符。特定于主题的定界符可用于将原始医疗术语4306分割为单独的医疗数据部分4308。在一些示例中,规则可以包括预处理替换规则。这些规则可以限定用于将原始医疗术语4306中的内容替换为其他内容的正则表达。在一些示例中,该规则可导致下游的简化处理,因为它可用于归一化其他复杂的字符序列。
在4310处,过程4300可以包括使用符号化部件4206。这可以由索引引擎4202执行。符号化部件4206可以被配置为将医疗数据部分4308转换成多个复合医疗数据部分4312或简单地转换为复合部分。多个复合医疗数据部分4312包括医疗数据部分4308以及在原始医疗术语4306中发现的医疗数据部分4308的多字序列的可能组合。
在该阶段内应用的规则可以集中于对复合医疗数据部分4312的操纵。例如,规则可以调整多单词序列,添加和/或删除某些单词,并且致使对复合医疗数据部分4312的其他改变。在一些示例中,规则可以包括后处理扩展规则。这些规则可用于识别和添加基于已扩展为包括前后定界符的现有复合医疗数据部分4312的复合医疗数据部分4312。在一些示例中,该规则的目的可以是为了适应术语库中包括该标点的医疗数据项的存储。在一些示例中,规则可以包括后处理替换规则。这些规则可用于识别和添加新的复合医疗数据部分4312,这些新的复合医疗数据部分基于已被转换为排除与特定模式匹配的文本的现有复合医疗数据部分4312。
在4314处,过程4300可以包括使用句法部件4314。这可以由索引引擎4202执行。句法部件4314可以被配置为识别原始医疗术语4306(例如,Motrin、200MG、片剂、口服)中存在的候选医疗数据项和同义词。在表4316中,这些医疗数据项与有关已识别部分的其他信息一起呈现。例如,表4316可以包括来自原始医疗术语4306(例如,motrin、200mg、片剂、口服)的原始部分、分配给每个原始部分的医疗类别(例如,品牌、成分、强度、剂型、途径)、原始医疗术语4306中原始部分的位置(例如0-5、7-12、14-19和21-24)。候选医疗数据项和同义词可以被表示为项目描述符。
在此阶段应用的规则可能集中在包括和/或排除其他医疗类别以及添加、改变和/或移除项目描述符上。在一些示例中,规则可以包括基于医疗类别的预处理规则。这些规则可用于指定在搜索医疗数据项和/或同义词时要使用的附加类别。
在4318处,过程4300可以包括使用语义部件4210。这可以由索引引擎4202执行。语义部件4210可以被配置为确定在统一医疗术语4320(例如,Motrin、200MG、片剂、口服)中应当包括哪些项目描述符(例如,项目和同义词)。在此示例中,语义部件4210识别要包括在统一医疗术语4320中的相同项目描述符,因为没有标识出重叠的单词或短语。
语义部件4210还可以被配置为基于规则确定项目描述符的最佳组合。例如,规则可以限定完全限定药物的必要元素(例如,品牌、成分、强度、剂型和途径)。规则可以指示何时应通过通用名称或成分替换品牌名称,并且可以指示任何其他合适的区别。
在一些示例中,规则可以包括与未分类的医疗数据部分相关的预处理。这些规则可以包括添加没有对应医疗类别的项目描述符。例如,这可能意味着单词/短语不在术语库/数据库中。这可能会影响索引项的评分。
在一些示例中,规则可以包括按类别移除重叠的预处理。这些规则可以起作用以移除与较小表达基元重叠的大项目描述符,为此存在另一个替代的较小项目描述符,其占据原始术语的相同部分并且具有相同的医疗类别。
在一些示例中,规则可以包括根据大小移除重叠的预处理规则。这些规则可以起作用以从原始医疗术语中提取的项目描述符的列表移除重叠项目描述符。如果文本的任何部分在医疗术语表达内占据相同位置,则项目描述符可以与另一个项目描述符重叠。
在4324处,过程4300可以包括使用汇编部件4212。这可以由索引引擎4202执行。汇编部件4212可以被配置为生成与先前识别的每个医疗数据项目(例如,项目描述符)相对应的表达基元4326。例如,“Motrin”的表达基元可以是“3218”,200MG的表达基元可以是“8875”,依此类推等。汇编部件4212还可已被配置为生成医疗术语表达4328,该医疗术语表达包括表达基元4326并且对应于统一医疗术语4320。医疗术语表达4328可以用作表示统一医疗术语4320的解析树。
在此阶段应用的规则可能集中在更改解析树上。在一些示例中,规则可以包括处理中规则以排除类别。项目描述符可以与医疗术语表达4328中的医疗类别相关联。
在一些示例中,规则可以包括预处理规则以对项目进行分组。例如,这些规则可以在解析树中对项目描述符进行分组。例如,分组可用于明确地对药物医疗术语表达内的成分和强度分组。在一些示例中,这些规则可以用于创建包含多个单独医疗主题的解析树(例如,可以对医生或护士输入的注释进行索引,从而得到包括诊断和治疗在内的多种数据类型)。
在一些示例中,规则可以包括后处理分类。这些规则可以按医疗类别和位置对解析树进行分类。例如,此规则可用于对术语索引进行排序以使得更重要的医疗类别在术语索引中排在第一位。
在4330处,过程4300可以包括使用终结部件4214。这可以由索引引擎4202执行。终结部件4214可以被配置为根据在4324生成的解析树中包含的数据生成附加信息。在该示例中,该附加信息可以包括统一医疗术语4320、术语标识符4332和一个或多个分数。在一些示例中,分数4334可以包括覆盖分数和完成分数。覆盖分数可以表示对原始医疗术语4306中的多少进行了索引。在该示例中,覆盖分数可以是100,因为整个原始医疗术语4306由医疗术语表达4328和统一医疗术语4320表示。完成分数可以表示统一医疗术语4320与限定完成分数相比的完成程度。在该示例中,完成分数可以是100,因为医疗术语表达4328和统一医疗术语4320包括药物的必要成分。
如本文所述,索引引擎4202可以用于量化/特征化从下载到用户设备上的健康记录中提取的原始医疗术语。与这些术语相关联的术语索引可以存储在健康应用程序212和/或术语库214中。在一些示例中,术语索引可以存储在其他位置,例如与健康应用程序212相关联的数据库。第一和第三方应用程序可以访问该数据库中的信息。索引引擎4202可以从由用户设备明确发送给服务器的原始术语识别和移除个人可识别信息(PII)。在一些示例中,索引引擎4202可以将术语索引与术语库元数据组合。该信息可以暴露给API以允许数字助理向用户传达保健相关信息。在一些示例中,索引引擎4202可以在其他领域中使用,其中用户提出需要以上下文相关方式进行精确解释的问题,并且对于这些问题,通常可以使用将丰富查询结果的其他事实和/或元数据。
图45示出了根据至少一个示例的示出用于从电子健康记录索引医疗术语的过程4500的示例性流程图。过程4500可以由用户设备104执行。在一些示例中,提供方订阅系统112可以执行过程4500。
过程4500可以在4502处通过访问来自电子健康记录的医疗术语而开始。电子健康记录可以存储在用户设备上。
在4504处,过程4500可以包括使用术语库对医疗术语进行索引以生成医疗术语表达。在一些示例中,索引医疗术语可以包括解析医疗术语以识别医疗术语中存在的一个或多个医疗数据部分。每个医疗数据部分可以表示医疗术语的组成部分。在一些示例中,对医疗术语进行索引可以包括将一个或多个医疗数据部分分配给术语库中表示的多个医疗类别中的一个或多个医疗类别。在一些示例中,每个医疗类别可以包括医疗数据部分的逻辑分组。在一些示例中,对医疗术语进行索引可以包括至少部分基于与该一个或多个医疗类别相关联的信息来生成包括一个或多个表达基元的医疗术语表达。医疗术语表达可以用于生成与医疗术语相对应的统一医疗术语。
在4506处,过程4500可以包括将医疗术语表达存储在用户设备上。在一些示例中,术语库可以被存储在用户设备上。在该示例中,在用户设备上存储医疗术语表达可以包括在术语库中存储医疗术语表达。
在一些示例中,医疗术语表达可以构成用于访问术语库的术语索引。
在一些示例中,医疗术语表达可以包括计算机可量化的表达。
在一些示例中,过程4500还可以包括至少部分地基于一种或多种医疗类别来确定与一个或多个医疗数据项部分相对应的一个或多个统一项描述符。在该示例中,生成一个或多个表达基元可以至少部分地基于一个或多个统一项目描述符。
在一些示例中,过程4500还可以包括由用户设备并且从电子健康记录系统的端点接收包括电子健康记录的数据包。
在一些示例中,过程4500还可以包括至少部分地基于医疗术语表达所属的医疗类别来计算表示医疗术语表达的完整性的完成分数。
在一些示例中,过程4500还可以包括计算表示一个或多个医疗数据项部分相对于一个或多个表达基元的比率的覆盖率分数。在该示例中,过程4500还可以包括:当覆盖分数低于覆盖阈值时,将有关医疗术语表达的信息发送给术语管理系统。术语管理系统可以配置为解析术语并改善未来索引。
图46示出了根据至少一个示例的示出用于从电子健康记录索引医疗术语的过程4600的示例性流程图。过程4600可以由用户设备104执行。在一些示例中,提供方订阅系统112可以执行过程4600。
过程4600可以在4602处通过接收包括电子健康记录的数据包而开始。电子健康记录可以包括原始医疗数据。可以通过用户设备并且从电子健康记录系统的网关进行接收。
在4604处,过程4600可以包括根据第一数据模型将电子健康记录存储在用户设备上。
在4606处,过程4600可以包括从原始健康数据提取原始医疗术语。在一些示例中,每个原始医疗术语可以包括文本串。
在4608处,过程4600可以包括将原始医疗术语中的原始医疗术语分解成原始医疗术语中存在的多个医疗数据部分。
在4610处,过程4600可以包括确定原始医疗术语所属的医疗主题。在一些示例中,医疗主题可以包括多个医疗类别。
在4612处,过程4600可以包括,对于多个医疗数据部分中的医疗数据部分,至少部分地基于医疗数据项与医疗类别中表示的其他医疗数据项的比较将医疗数据部分分配给多个医疗类别中的医疗类别。
在4614处,过程4600可以包括至少部分地基于医疗类别来确定与医疗数据项相对应的统一项目描述符。
在4616处,过程4600可以包括至少部分基于统一项目描述符来生成医疗数据项目的表达基元。
在4618处,过程4600可以包括生成医疗术语表达。在一些示例中,这可以至少部分地基于表达基元。医疗术语表达可能以可量化的格式表示原始医疗术语,并且可以由该表达基元和多个其他表达基元形成。
在一些示例中,表达基元可以是表示存储在用户设备上的术语库中的术语的术语库标识符。医疗术语表达可以是包括多于一个的术语库标识符的医疗术语索引。
在4620处,过程4600可以包括根据第二数据模型将医疗术语表达存储在用户设备上。第二数据模型可以不同于第一数据模型。
在一些示例中,过程4600还可以包括生成将原始医疗术语的组成部分与医疗术语表达相关联的数据结构。数据结构可以用于根据医疗术语表达再现原始医疗术语。
在一些示例中,过程4600还可以包括标记化多个医疗数据部分以创建表示多个医疗数据部分的序列分组的多个复合医疗数据部分。在该示例中,过程4600还可以包括至少部分地基于多个复合医疗数据部分来生成医疗术语表达。
在一些示例中,过程4600还可以包括使用医疗术语表达来生成与原始医疗术语相对应的统一医疗术语。
在一些示例中,第二数据模型可以包括关系图。
在一些示例中,过程4600还可以包括识别医疗类别中存在的多个项目描述符。在该示例中,每个项目描述符可以对应于一个部分。
在一些示例中,多个其他表达基元对应于多个医疗数据部分中的医疗数据项部分中的至少一些。
图47示出了根据至少一个示例的示出用于使用索引引擎来移除个人识别信息的过程4700的示例性流程图。过程4700可以由提供方订阅系统112或其他合适系统执行。在一些示例中,用户设备104可以执行过程4700。
过程4700可以在4702处通过从用户设备接收第一医疗术语而开始。第一医疗术语可以包括识别用户(例如,用户设备的用户或其他合适的用户)的个人识别信息。
在一些示例中,从用户设备接收第一医疗术语可以包括结合存储在用户设备上并且与用户相关联的电子健康记录中找到的其他医疗术语来接收第一医疗术语。
在4704处,过程4700可以包括使用第一术语库来索引第一医疗术语。在一些示例中,可以通过至少解析第一医疗术语以识别第一医疗术语中存在的医疗数据部分来执行索引。医疗数据部分可以描述第一医疗术语的医疗方面。
在4706处,过程4700可以包括从第一医疗术语移除医疗数据部分。
在4708处,过程4700可以包括使用第二术语库来索引第一医疗术语。在一些示例中,可以通过至少解析第一医疗术语以识别第一医疗术语中存在的识别数据部分来执行这种索引。识别数据部分可以包括个人识别信息的一部分。
在4710处,过程4700可以包括生成以计算形式表示第一医疗术语的术语表达。术语表达可以包括与医疗数据部分相对应的医疗术语基元和与识别数据部分相对应的识别基元。
在一些示例中,生成术语表达可以包括将医疗数据部分和识别数据部分分配给一个或多个类别。在该示例中,生成术语表达还可以包括至少部分地基于一个或多个类别来生成医疗术语基元和识别基元。
在4712处,过程4700可以包括生成包括去标识的信息代替标识数据项的第二医疗术语。这可以至少部分地基于术语表达来执行。
在4714处,过程4700可以包括使用第二医疗术语代替第一医疗术语。
在一些示例中,医疗术语基元是与第一术语库相对应的第一术语库标识符。在一些示例中,标识基元是与第二术语库相对应的第二术语库标识符。在一些示例中,术语表达是包括第一术语库标识符和第二术语库标识符的术语索引。
图48示出了根据至少一个示例的示出用于使用索引的医疗术语来增强健康记录的过程4800的框图4802和流程图。框图4802包括用户设备104和EHR系统114。过程4800可以由用户设备104执行。
过程4800可以在4804处通过从网关下载包括健康记录的数据包而开始。网关可以与EHR系统114相关联。在一些示例中,健康记录可以与用户106相关联。
在4806处,过程4800可以包括使用第一数据模型来存储健康记录。第一数据模型可以是被配置为或多或少地以健康记录的原始形式存储健康记录的模型。例如,可以使用FHIR标准以XML、JSON、Turtle或任何其他合适的格式下载数据包。第一数据模型可以对应于依赖四种类别的数据类型的FHIR标准数据模型:简单/基元类型(例如,具有基元值的单个元素)、通用复杂类型(例如,元素的可重用簇)、元数据的复杂数据类型、以及特殊用途的数据类型(例如,引用、叙述、扩展、元、和剂量)。
在4808处,过程4800可以包括索引在健康记录中存在的医疗术语。这可以包括为每个医疗术语生成医疗术语表达(例如,术语索引)。参照图41至图47讨论该过程的示例。
在一些示例中,提供了其中存储医疗术语表达的设备上术语库。设备上术语可以预先填充有第一数量的医疗概念。例如,当用户设备104作为操作系统更新的一部分或通过空中首次发送时,可以将前一千个医疗概念添加到设备上术语库。这样,设备上的术语库就预先填充了医疗术语之间的关系。这可以被认为是通用或基本关系图。当如本文所述对医疗术语进行索引时,将它们添加到该基本关系图,这开始将基本关系图转换为对于用户106是唯一的个性化关系图。随着时间推移,个性化关系图不仅能够表示用户106的电子健康记录,而且可提供对电子健康记录的附加见解,而用户106仅使用患者门户网站来查看其记录不可能提供此类附加见解。例如,如在4810处所述,可以将元数据添加到增强基本关系图的记录。类似地,可以在请求时和/或作为推送更新从基于云的服务(例如术语管理服务130和/或提供方订阅系统112)下载附加医疗概念。考虑到来自其他术语库的整体关系图可能太大而无法存储在设备上,因此可能期望在用户设备104上存储个性化关系图。
在4810处,过程4800可以包括将元数据与索引医疗术语相关联。在一些示例中,元数据可以从提供方订阅系统112、术语管理系统130获得,或者可以在用户设备104本地。元数据可能以使得能够有效地汇编与索引医疗术语相关的用户界面元素的方式与索引医疗术语相关联。元数据的类型可以取决于索引医疗术语所属的医疗主题。例如,如果医疗主题是药物,则示例性元数据可以包括药物图像、一般剂量说明、化学成分、颜色、有关药物信息的链接、与药物相关的处方的链接和/或图像、以及任何其他合适的信息。该元数据可以被标记或以其他方式被识别为与索引医疗术语相关。
在4812处,过程4800可以包括使用第二数据模型来存储与元数据相关联的索引医疗术语。该数据可以存储在用户设备104的术语库中。在一些示例中,索引医疗术语以其索引形式(例如,作为医疗术语表达)进行存储,并且元数据也被与其一起存储。
在4814处,过程4800可以包括使用索引医疗术语来识别健康记录中的特定条目。在4814处使用的索引医疗术语可以对应于来自健康记录的医疗术语之一。在该示例中,索引医疗术语可以用于基于索引医疗术语来过滤、分类或以其他方式组织健康记录。例如,用户可以从药物类型列表中选择索引术语“β阻滞剂”。通过在术语库中搜索β阻滞剂,该选择可以识别健康记录中与β阻滞剂有关的所有条目。具体地,该搜索将通过在术语库中搜索医疗术语表达来执行,而不是在原始健康记录数据中进行搜索。可以从用户106的电子健康记录的实例中提取条目,这些实例从多个不同源(例如,EHR系统114的不同网关)下载到用户设备104。
在4814处使用的索引医疗术语还可以对应于由用户106输入的新搜索术语。例如,可以提供用户界面以允许用户106搜索其电子健康记录(例如,已经从EHR系统114的多个不同的网关下载到用户设备104的其电子健康记录的一个或多个实例)。可以使用本文描述的技术来对此类查询进行索引以生成搜索术语表达。然后可以使用搜索术语表达来轻松识别包括与搜索术语表达中的基元类似的基元的任何医疗术语表达。以这种方式,在术语库中执行这种搜索,而不必访问也保存在用户设备104上的电子健康记录的原始版本。在一些示例中,搜索医疗术语表达可以证明比常规搜索方法更有效。
图49示出了根据至少一个示例的描绘与图44的医疗术语表达4328相关的关系图4900的示例图。关系图4900可以对应于药物类型医疗主题。关系图4900可以包括医疗术语表达主节点4902。主节点4902可以表示术语标识符4332,其表示医疗术语表达4328。子节点4904a-4904d可以与主节点4902相关联。子节点4904a-4904d表示医疗术语表达4328的表达基元4326。例如,子节点4904a表示与品牌类别相关并且其值为“Motrin”的表达基元4326。子节点4904b表示与强度类别相关并且其值为“200MG”的表达基元4326。子节点4904c表示与剂型类别相关其值为“片剂”的表达基元4326。子节点4904d表示与途径类别相关并且其值为“口服”的表达基元4326。在一些示例中,主节点4902也与类节点4908相关联。类节点4908可以关联参考抗炎剂药物的其他关系图。类节点4908可以包括对于类节点4908是唯一的类节点标识符。
图50示出了根据至少一个示例的示出用于使用医疗术语表达来搜索电子健康记录的过程5000的示例性流程图。过程5000可以由用户设备104执行。提供方订阅系统112还可以执行过程5000。
过程5000可以在5002处通过接收搜索查询以搜索健康记录而开始。健康记录可以与用户帐户相关联。搜索查询可以包括至少一个搜索术语。在一些示例中,健康记录的至少一部分可以存储在用户设备(例如,用户设备104)上。在一些示例中,健康记录可以包括源自一个或多个电子健康记录系统的一个或多个网关的多个医疗子记录。
在5004处,过程5000可以包括处理搜索查询以生成医疗术语表达。医疗术语表达可以表示搜索查询,并且可以包括与至少一个搜索术语相对应的至少一个表达基元。在一些示例中,医疗术语表达可以是可用于访问其中存储至少一个表达基元的数据库的医疗术语索引。在一些示例中,处理搜索查询以生成医疗术语表达可以包括使用索引算法对至少一个搜索术语进行索引。
在5006处,过程5000可以包括识别与医疗术语表达相对应的医疗概念。在一些示例中,识别与医疗术语表达相对应的医疗概念可以包括至少部分基于至少一个表达基元来识别医疗概念。
在5008处,过程5000可以包括识别与健康记录中的多个记录条目相对应的多个其他医疗表达基元。在一些示例中,这可以至少部分地基于至少一个表达基元和医疗概念。多个记录条目可以与医疗概念相关联。在一些示例中,识别与健康记录中的多个记录条目相对应的多个其他医疗表达基元可以包括使用至少一个表达基元作为索引来访问其中存储有关健康记录的信息的数据库。
在5010处,过程5000可以包括提供有关多个记录条目的信息在用户设备处的呈现。在一些示例中,提供有关多个记录条目的呈现信息可以包括在与医疗概念相对应的标题下将有关多个记录条目的信息分组。
在一些示例中,过程5000还可以包括使用医疗术语表达来生成与至少一个搜索术语相对应的统一医疗术语。
在一些示例中,过程5000还可以包括在存储在用户设备上的数据库中将元数据与表示来自健康记录的医疗术语的医疗术语表达相关联。在该示例中,元数据可以描述由医疗术语表达表示的医疗术语。在该示例中,过程5000还可以包括生成将医疗术语表达与来自电子健康记录的医疗术语的参考标识符相关联的索引。在该示例中,过程5000还可以包括接收对有关在电子健康记录中找到的特定医疗术语的信息的请求。在该示例中,过程5000还可以包括响应于接收到请求,使用与特定医疗术语和索引相关联的特定医疗术语表达和索引来访问数据库以检索有关特定医疗术语的信息。有关特定医疗术语的信息可以包括描述特定医疗术语的某些元数据。在该示例中,过程5000还可以包括提供有关特定医疗术语的信息以在用户设备处呈现。有关特定医疗术语的信息可以提供有关最初在电子健康记录中不存在的特定医疗术语的上下文信息。
图51示出了根据至少一个示例的示出用于搜索代表医疗概念的关系图的过程5100的示例性流程图。过程5100可以由用户设备104执行。提供方订阅系统112还可以执行过程5100。
过程5100可以在5102处通过访问根据第一数据模型存储的健康记录而开始。健康记录可以存储在与用户帐户相关联的用户设备上。用户帐户可以属于用户设备的用户。
在5104处,过程5100可以包括对于健康记录的条目,识别条目中存在的医疗概念。这可以至少部分地基于被生成以表示条目的至少一部分的医疗术语表达来执行。
在5106处,过程5100可以包括在关系图中创建表示医疗概念的节点。关系图对于用户帐户而言可以是唯一的。以这种方式,每个用户可以包括存储在其用户设备上的其自身的个性化关系图。
在5108处,过程5100可以包括将一个或多个子节点添加到关系图中的节点。这可以至少部分地基于与医疗概念相关的附加信息来执行。在一些示例中,将一个或多个子节点添加到关系图中的节点可以包括接收附加健康记录,索引在附加健康记录中找到的医疗术语以生成医疗术语表达,至少部分基于医疗术语表达来识别一个或多个医疗概念,以及对于具有与该医疗概念相同的医疗概念的医疗术语表达,向节点添加附加子节点。
在5110处,过程5100可以包括根据第二数据模型将包括一个或多个子节点的关系图存储在用户设备上。
在5112处,过程5100可以包括响应于请求,提供由一个或多个子节点中的至少一个表示的信息以在用户设备处呈现。在一些示例中,请求可以是搜索请求或过滤请求中的至少一个。搜索请求可以请求搜索健康记录。过滤请求可以请求过滤健康记录的一部分。
在一些示例中,过程5100还可以包括至少部分地基于检测到对全局术语库的更新来向节点添加附加子节点。全局术语库可以由服务器计算机存储。
在一些示例中,过程5100还可以包括至少部分地基于在远程数据库中识别与医疗概念相关联的元数据来向节点添加附加子节点。
图52示出了根据至少一个示例的示出根据医疗概念组织的电子健康记录的一部分的示例性用户界面(UI)视图5200。可以呈现在用户设备104上的UI视图5200是UI视图(1)-(25)的示例。具体地,可以在用户已经将至少一个电子健康记录下载到其设备之后(例如,已经建立了与EHR网关的一种连接)呈现UI视图5200。
UI视图5200包括多个医疗概念5202a-5202e,根据其组织了多个医疗记录条目5204a-5204e。如本文所述,医疗概念5202可以是固定的。表示医疗术语的医疗记录条目5204可以与医疗概念5202相关联,作为本文描述的索引过程的一部分。具体地,可以将来自用户电子健康记录的医疗术语与医疗概念之间的这些关联存储在设备上术语库中的用户个性化关系图中。
医疗记录条目5204可以源自一个或多个电子健康记录,但可以在相同UI视图5200中呈现。默认情况下,可以基于任何合适的因素对医疗记录条目5204进行分类。例如,可以基于状况是“活动”还是“非活动”对医疗记录条目5204a进行分类。类似地,可以基于规程日期对医疗记录条目5204d进行分类。
在任何医疗概念5202上的“查看全部>”UI元素的选择可以揭示与相关医疗概念5202相关联的其他医疗记录条目5204。例如,除了列出的三个之外,与医疗概念5202a(状况)相关联的“查看全部”UI元素的选择还可以揭示附加医疗记录条目5204a。在一些示例中,这可以提供用户健康记录的更完整图片。
在标签之一(例如,活动、非活动、日期等)之后选择“>”UI元素可以揭示有关特定医疗记录条目5204的附加信息。例如,选择“Zestril”的医疗记录条目5204b可以揭示有关此处方的附加信息。附加信息的第一部分可能已经源自医疗记录(例如,开处方的医生、填写其的药房等)。附加信息的第二部分可能已经使用本文描述的技术来添加。例如,附加信息可以包括从设备外术语库下载的与处方Zestril相关联的元数据(例如,药丸图像、成分等)。
在一些示例中,本文描述的技术可以用于关联跨不同医疗类别5202的医疗记录条目5204。例如,假定第一医疗术语识别针对高血压的医疗记录条目5204a,并且第二医疗术语识别针对Zestril的医疗记录条目5204b。设备上的关系图可以包括高血压状况和Zestril处方之间的关联。这可能是因为Zestril被规定用于治疗高血压。如果从其获得状况和处方的医疗记录尚未包括该关联,则本文描述的技术可以添加该关联并呈现有关其的信息。例如,继续上面的示例,选择“Zestril”可以揭示指示其正用于治疗高血压状况的其他信息。
图53示出了根据至少一个示例的示例性架构或环境5300,该示例性架构或环境被配置为实施本文描述的技术。在一些示例中,示例性架构5300可被进一步配置为使得用户设备104、服务提供方计算机5302能够共享信息。服务提供方计算机5302是业务订阅系统206、提供方订阅系统112、EHR系统114和术语管理系统130的示例。在一些示例中,设备可经由一种或多种网络5308(例如,经由蓝牙、WiFi、互联网等)连接。在一些示例中,服务提供方计算机5302可以被配置为实现本文中参考用户设备104描述的技术中的至少一些。
在一些示例中,网络5308可包括许多不同类型的网络中的任一种或组合,诸如有线网络、互联网、无线网络、蜂窝网络、卫星网络、其他专用网络和/或公共网络或者它们的任意组合。尽管所示的示例表示用户设备104经由网络5308访问服务提供方计算机5302,但是所述的技术可同样适用于用户设备104通过陆线电话、经由服务亭或以任何其他方式与服务提供方计算机5302进行交互的情况。还需要指出,所述技术可应用于其他客户端/服务器布置(例如,机顶盒等)中以及非客户端/服务器布置(例如,本地存储的应用程序、对等配置等)中。
如上所述,用户设备104可为任何类型的计算设备,诸如但不限于移动电话、智能电话、个人数字助理(PDA)、膝上型计算机、台式计算机、瘦客户端设备、平板电脑、可穿戴设备等。在一些示例中,用户设备104可经由网络5308或经由其他网络连接与服务提供方计算机5302进行通信。
在一种例示性配置中,用户设备104可包括至少一个存储器5314和一个或多个处理单元(或处理器)5316。处理器5316可根据适当情况在硬件、计算机可执行指令、固件或它们的组合中实现。处理器5316的计算机可执行指令或固件具体实施可包括以任何合适的编程语言编写的计算机可执行指令或机器可执行指令,以执行所述的各种功能。用户设备104还可包括用于提供和/或记录与用户设备104相关联的地理位置信息的地理位置设备(例如,全球定位系统(GPS)设备等)。
存储器5314可存储能够在处理器5316上加载和执行的程序指令以及在执行这些程序期间生成的数据。根据用户设备104的配置和类型,存储器5314可为易失性存储器(诸如随机存取存储器(RAM))和/或非易失性存储器(诸如只读存储器(ROM)、闪存存储器等)。用户设备104还可包括附加可移除存储装置和/或不可移除存储装置5326,包括但不限于磁存储装置、光盘和/或磁带存储装置。磁盘驱动器及其相关联的非暂态计算机可读介质可为计算设备提供计算机可读指令、数据结构、程序模块及其他数据的非易失性存储装置。在一些具体实施中,存储器5314可包括多种不同类型的存储器,诸如静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)或ROM。虽然本文所述的易失性存储器可以被称为RAM,但是从主机和/或电源拔下后将不会保留其中所存储的数据的任何易失性存储器都是适当的。
可移除及不可移除的存储器5314和附加存储装置5326均为非暂态计算机可读存储介质的示例。例如,非暂态计算机可读存储介质可包括易失性或非易失性、可移除或不可移除介质,其通过任何方法或技术实现为用于存储信息诸如计算机可读指令、数据结构、程序模块或其他数据。存储器5314和附加存储装置5326均为非暂态计算机存储介质的示例。可存在于用户设备104中的附加类型的计算机存储介质可包括但不限于:相变RAM(PRAM)、SRAM、DRAM、RAM、ROM、电可擦除可编程只读存储器(EEPROM)、闪存存储器或其他存储器技术、光盘只读存储器(CD-ROM)、数字视频光盘(DVD)或其他光学存储装置、磁带盒、磁带、磁盘存储装置或其他磁存储设备,或者任何其他可用于存储所需信息并可被用户设备104访问的介质。上述任意组合也应该包括在非暂态计算机可读存储介质的范围内。另选地,计算机可读通信介质可包括计算机可读指令、程序模块或在数据信号诸如载波或其他传输手段内传输的其他数据。然而,如本文所用,计算机可读存储介质不包括计算机可读通信介质。
用户设备104还可包含通信连接5328,该通信连接允许用户设备104经由网络5308与数据存储库、另一种计算设备或服务器、用户终端和/或其他设备进行通信。用户设备104还可包括I/O设备5330,诸如键盘、鼠标、笔、语音输入设备、触摸输入设备、显示器、扬声器、打印机等。
更详细地转到存储器5314的内容,存储器5314可包括操作系统5332和/或用于实现本文所公开的特征的一种或多种应用程序或服务,所述特征包括索引引擎4202。服务提供方计算机5302还可以包括存储器5342,该存储器包括索引引擎4202b。通过这种方式,本文所述的技术可由计算设备(例如,用户设备104或服务提供方计算机5302)中任一种或多于一种的组合来实现。
服务提供方计算机5302还可为任何类型的计算设备,诸如但不限于移动电话、智能电话、PDA、膝上型计算机、台式计算机、瘦客户端设备、平板电脑、可穿戴设备、服务器计算机、虚拟机实例等。在一些示例中,服务提供方计算机5302可经由网络5308或经由其他网络连接与用户设备104进行通信。
在一种例示性配置中,服务提供方计算机5302可包括至少一个存储器5342和一个或多个处理单元(或处理器)5344。处理器5344可根据适当情况在硬件、计算机可执行指令、固件或它们的组合中实现。处理器5344的计算机可执行指令或固件具体实施包括以任何合适的编程语言编写的计算机可执行指令或机器可执行指令,以执行所述的各种功能。
存储器5342可存储能够在处理器5344上加载和执行的程序指令以及在执行这些程序期间生成的数据。根据服务提供方计算机5302的配置和类型,存储器5342可为易失性存储器(诸如RAM)和/或非易失性存储器(诸如ROM、闪存存储器等)。服务提供方计算机5302还可包括附加可移除存储装置和/或不可移除存储装置5346,包括但不限于磁存储装置、光盘和/或磁带存储装置。磁盘驱动器及其相关联的非暂态计算机可读介质可为计算设备提供计算机可读指令、数据结构、程序模块及其他数据的非易失性存储装置。在一些具体实施中,存储器5342可包括多种不同类型的存储器,诸如SRAM、DRAM或ROM。虽然本文所述的易失性存储器可以被称为RAM,但是从主机和/或电源拔下后将不会保留其中所存储的数据的任何易失性存储器都是适当的。可移除和不可移除的存储器5342和附加存储装置5346均为非暂态计算机可读存储介质的附加示例。
服务提供方计算机5302还可包含通信连接5348,该通信连接允许服务提供方计算机5302经由网络5308与数据存储库、另一种计算设备或服务器、用户终端和/或其他设备进行通信。服务提供方计算机5302还可包括I/O设备5350,诸如键盘、鼠标、笔、语音输入设备、触摸输入设备、显示器、扬声器、打印机等。
更详细地转到存储器5342的内容,存储器5342可包括操作系统5352和/或用于实现本文所公开的特征的一种或多种应用程序或服务,所述特征包括索引引擎4224b。
可进一步在各种各样的操作环境中实施各种示例,在一些情况下,操作环境可包括可用于操作多个应用程序中的任一个应用程序的一个或多个用户计算机、计算设备或处理设备。用户设备或客户端设备可包括许多通用个人计算机中的任何一个,诸如运行标准操作系统的台式计算机或膝上型计算机,以及运行移动软件并能够支持多个联网协议和即时消息协议的蜂窝设备、无线设备和手持设备。此系统还可包括运行各种可商购获得的操作系统和用于目的诸如开发和数据库管理等的其他已知应用程序中的任何一者的多个工作站。这些设备还可包括其他电子设备,诸如虚拟终端、瘦客户端、游戏系统以及能够经由网络进行通信的其他设备。
大多数示例利用本领域技术人员熟悉的至少一个网络来支持使用各种商用协议(诸如TCP/IP、OSI、FTP、UPnP、NFS、CIFS和AppleTalk)中的任何协议的通信。网络可以是例如局域网、广域网、虚拟专用网络、互联网、内联网、外联网、公共交换电话网、红外网络、无线网络及其任何组合。
在利用网络服务器的示例中,网络服务器可运行各种服务器或中间层应用中的任何一者,包括HTTP服务器、FTP服务器、CGI服务器、数据服务器、Java服务器和业务应用服务器。服务器还能够执行程序或脚本以响应来自用户设备的请求,诸如通过执行一个或多个应用程序,所述一个或多个应用程序可被实现为一个或多个脚本或用任何编程语言编写的程序,所述编程语言诸如C、C#或C++或任何脚本语言诸如Perl、Python或TCL以及它们的组合。一个或多个服务器还可包括数据库服务器,包括但不限于可从和/>商购获得的那些。
环境可包括各种数据存储库和其他存储器和存储介质,如上所述。这些可驻留在各个位置,诸如在一个或多个计算机本地的存储介质上或者远离网络上的任何或全部计算机的存储介质上(和/或驻留在一个或多个计算机中)。在特定的一组示例中,信息可驻留在本领域的技术人员熟悉的存储区域网络(SAN)中。类似地,用于执行归属于计算机、服务器或其他网络设备的功能的任何必要文件可以根据需要本地存储以及/或者远程存储。在系统包括计算机化设备的情况下,每个此类设备可包括可经由总线电耦合的硬件元件,这些元件包括例如至少一个中央处理单元(CPU)、至少一个输入设备(例如,鼠标、键盘、控制器、触摸屏或键盘)和至少一个输出设备(例如,显示设备、打印机或扬声器)。此类系统还可包括一个或多个存储设备,诸如磁盘驱动器、光存储设备和固态存储设备诸如RAM或ROM,以及可移除媒体设备、存储卡、闪存卡,等等。
此类设备还可包括如上所述的计算机可读存储介质读取器、通信设备(例如,调制解调器、网卡(无线或有线)、红外通信设备等)和工作存储器。计算机可读存储介质读取器可连接至或配置为接收表示远程、本地、固定和/或可移除的存储设备的非暂态计算机可读存储介质,以及用于临时和/或更永久地包含、存储、传输和检索计算机可读信息的存储介质。系统和各种设备通常还包括位于至少一个工作存储器设备内的多个软件应用程序、模块、服务或其他元件,包括操作系统和应用程序诸如客户端应用程序或浏览器。应当理解,另选的示例可具有上文所述的许多变型形式。例如,还可使用定制硬件,和/或可在硬件、软件(包括便携式软件,诸如小应用程序)或两者中实现特定元件。此外,可使用与其他计算设备诸如网络输入/输出设备的连接。
用于包含代码或代码的部分的非暂态存储介质和计算机可读介质可包括本领域中已知的或使用的任何适当的介质,包括存储介质,诸如但不限于易失性和非易失性、可移除和不可移除介质,这些介质可在任何方法或技术中实现以用于存储信息如计算机可读指令、数据结构、程序模块或其他数据,包括RAM、ROM、EEPROM、闪存存储器或其他存储器技术、CD-ROM、DVD或其他光学存储装置、磁带盒、磁带、磁盘存储装置或其他磁存储设备,或者可用于存储所需信息并可由系统设备访问的任何其他介质。至少部分地基于本文所提供的公开和教导内容,本领域的普通技术人员将理解用于实现各种示例的其他方式和/或方法。
在下文中,描述了另外的实施例,以促进理解本公开。
实施例1.在该示例中,提供了一种系统,该系统包括:
存储器,所述存储器被配置为存储计算机可执行指令;和
处理器,所述处理器与所述存储器通信并且被配置为执行所述计
算机可执行指令以至少:
从由组织实体的授权用户操作的用户设备接收关于多个品牌实体、多个位置实体和至少一个网关的信息,该多个品牌实体、该多个位置实体和该至少一个网关实体与相应实体标识符相关联;
至少部分地基于该信息将该多个品牌实体与该多个位置实体相关联以形成第一组关系,该多个品牌实体经由该组织实体彼此相关;
至少部分地基于该信息将该多个位置实体与该至少一个网关实体相关联以生成第二组关系,该至少一个网关实体在该多个位置实体中的至少两个位置实体之间共享;
将相应实体标识符、第一组关系和第二组关系存储在数据库中;
生成表示存储在该数据库中的相应实体标识符、第一组关系和第二组关系的搜索索引;和
使得第二用户设备能够使用搜索索引来在数据库中搜索组织实体、该多个品牌实体、该多个位置实体或该至少一个网关实体中的至少一个实体。
实施例2.在该实施例中,提供了根据前述或后续实施例中任一项的系统,其中该多个位置实体包括用户获得医疗治疗的物理位置。
实施例3.在该实施例中,提供了根据前述或后续实施例中任一项的系统,其中网关实体与被配置为维护多个用户的电子健康记录的电子健康记录系统相关联。
实施例4.在该实施例中,提供了根据前述或后续实施例中任一项的系统,其中将相应实体标识符、第一组关系和第二组关系存储在数据库中包括存储表示组织实体、该多个品牌实体、该多个位置实体、该至少一个网关实体、第一组关系和第二组关系的数据对象。
实施例5.在该实施例中,提供了根据前述或后续实施例中任一项的系统,其中处理器被进一步配置为执行计算机可执行指令,以至少向由第二用户操作的第二用户设备发送可由第二用户设备用于连接到该至少一个网关以下载与第二用户相关联的健康记录数据的通信。
实施例6.在该实施例中,提供了一种计算机实现的方法,该方法包括:
从第一用户设备接收关于多个位置实体和至少一个网关实体的信息,该多个位置实体和该至少一个网关实体与相应实体标识符相关联;
至少部分地基于该信息将该多个位置实体与该至少一个网关实体相关联以形成一组位置-网关关系,该至少一个网关在该多个位置实体中的至少两个位置实体之间共享;
将相应实体标识符和这组位置-网关关系存储在数据库中;和
使得第二用户设备能够在数据库中搜索该多个位置实体或该至少一个网关实体中的至少一个实体。
实施例7.在该实施例中,提供了根据前述或后续实施例中任一项的计算机实现的方法,该方法还包括在接收信息之前,在第二用户设备处提供用户界面,该用户界面包括多个文本字段。
实施例8.在该实施例中,提供了根据前述或后续实施例中任一项的计算机实现的方法,其中接收信息包括经由到该多个文本字段中的文本输入来接收信息的至少第一部分。
实施例9.在该实施例中,提供了根据前述或后续实施例中任一项的计算机实现的方法,其中接收信息包括从由第一用户设备上传到服务器的配置文件中接收信息的至少第一部分,该配置文件包括可由第二用户设备用于连接到该至少一个网关实体的配置信息。
实施例10.在该实施例中,提供了根据前述或后续实施例中任一项的计算机实现的方法,其中该信息包括可由第二用户设备用于连接到该至少一个网关实体的配置信息。
实施例11.在该实施例中,提供了根据前述或后续实施例中任一项的计算机实现的方法,其中配置信息包括解析到该至少一个网关实体的多个链接。
实施例12.在该实施例中,提供了根据前述或后续实施例中任一项的计算机实现的方法,还包括将相应实体标识符和这组位置-网关关系存储在数据库中之前,使用从信息中识别出的测试用户凭据来模拟与该至少一个网关实体的用户连接。
实施例13.在该实施例中,提供了根据前述或后续实施例中任一项的计算机实现的方法,其中信息还包括关于多个品牌实体的信息。
实施例14.在该实施例中,提供了根据前述或后续实施例中任一项的计算机实现的方法,该方法还包括:
至少部分地基于该信息将该多个品牌实体与该多个位置实体相关联以形成一组品牌-位置关系,该多个位置实体中的至少两个位置实体在该多个品牌实体中的至少一个品牌实体之间共享;和
将相应实体标识符和这组品牌-位置关系存储在数据库中。
实施例15.在该实施例中,提供了根据前述或后续实施例中任一项的计算机实现的方法,其中相应实体标识符、这组位置-网关关系以及这组品牌-位置关系存储在与组织实体相关联的数据对象中。
实施例16.在该实施例中,提供了一种计算机实现的方法,该方法包括:
在用户设备处和从服务器接收标识该用户设备的客户端机密和客户端标识符,该客户端机密最初由服务器生成并且由服务器周期性地改变并与用户设备共享;
至少部分地基于在用户设备处的用户输入来提供与用户帐户相关联的客户端凭据,这些客户端凭据至少部分地启用与网关实体的连接,以从网关实体下载与用户帐户相关联的电子健康记录数据;
响应于来自网关实体的第一通信而向网关实体提供客户端标识符和客户端机密;
至少部分地基于提供客户端标识符和客户端机密来从网关实体接收第一访问令牌和第一刷新令牌,第一访问令牌至少部分地启用与网关实体的连接以下载电子健康记录数据;
向网关实体提供第一刷新令牌、客户端标识符和客户端机密;和
响应于来自网关实体的第二通信而连接到网关实体并从网关实体下载电子健康记录数据。
实施例17.在该实施例中,提供了根据前述或后续实施例中任一项的计算机实现的方法,其中客户端机密特定于网关实体。
实施例18.在该实施例中,提供了根据前述或后续实施例中任一项的计算机实现的方法,其中客户端机密特定于包括网关实体的多个网关实体,该多个网关实体由组织操作。
实施例19.在该实施例中,提供了根据前述或后续实施例中任一项的计算机实现的方法,其中更新客户端机密使得通知被发送到依赖于客户端机密的用户设备。
实施例20.在该实施例中,提供了根据前述或后续实施例中任一项的计算机实现的方法,其中客户端机密由服务器的所有者维护。
相应地,说明书和附图应被视为具有例示性的而非限制性的意义。然而,显而易见的是,在不脱离权利要求中阐述的本公开的更广泛的实质和范围的情况下,可对其进行各种修改和改变。
其他变型形式在本公开的实质内。因此,尽管所公开的技术容易受到各种修改和另选构造的影响,但是其某些例示的示例在附图中示出并且已经在上文详细描述。然而,应当理解,并不旨在将本公开限制于所公开的特定形式,相反,其目的在于覆盖落入由所附权利要求所限定的本公开的实质和范围内的所有修改、另选构造和等同形式。
在描述所公开的示例的上下文中(特别是在下面的权利要求书的上下文中)使用术语“一”和“一个”和“该”以及类似的指示词将被解释为覆盖单数和复数,除非另有说明或与上下文明显矛盾。除非另外指出,否则术语“包含”、“具有”、“包括”和“含有”应被理解为开放性术语(即,意指“包括但不限于”)。术语“连接”被解释为即使有干预的东西,也被部分或全部地包含在内、附接或接合在一起。除非本文另有说明,否则本文中对数值范围的叙述仅仅旨在用作单独提及落入该范围内的每个单独值的简单方法,并且每个单独的值被并入说明书中,如同在本文中单独引用。本文描述的所有方法能够以任何合适的顺序执行,除非本文另有说明或以其他方式与上下文明显矛盾。除非另有声明,否则本文提供的任何和所有示例或示例性语言(例如,“诸如”)的使用仅仅旨在更好地说明本公开的示例,并且不会限制本公开的范围。说明书中的任何语言都不应被解释为指示任何未声明的元素对于本公开的实践是必不可少的。
除非另外特别说明,否则析取语言诸如短语“X、Y或Z中的至少一者”在上下文中被理解为通常用于呈现项目、术语等,其可以是X、Y或Z,或它们的任何组合(例如,X、Y和/或Z)。因此,此类析取语言通常不旨在并且不应该暗示某些示例要求X中的至少一个、Y中的至少一个或者Z中的至少一个均各自存在。
本文描述了本公开的优选示例,包括发明人已知的用于执行本公开的最佳模式。在阅读前面的描述之后,那些优选示例的变型形式对于本领域的普通技术人员来说可变得显而易见。发明人期望技术人员适当地采用此类变型形式,并且发明人旨在以不同于本文具体描述的方式来实践本公开。因此,如适用法律所允许的,本公开包括所附权利要求中记载的主题的所有修改和等同形式。此外,除非在本文中另外指出或者明显与上下文矛盾,否则本公开包含上述元素的所有可能变型形式的任何组合。
本文引用的所有参考文献,包括出版物、专利申请和专利,均据此以引用方式并入本文,正如每篇参考文献被单独且具体地指示为以引用方式并入并且在本文全文阐述。
如上所述,本技术的一个方面在于采集和使用得自各种来源的数据,以提供访问用户的个人健康记录的全面且完整的窗口。本公开预期,在一些实例中,这些所采集的数据可包括唯一地识别或可用于联系或定位特定人员的个人信息数据。此类个人信息数据可包括人口统计数据、基于位置的数据、电话号码、电子邮件地址、推特ID、家庭地址、与用户的健康或健身等级相关的数据或记录(例如,生命体征测量、药物信息、锻炼信息)、出生日期、或任何其他识别信息或个人或健康信息。
本公开认识到在本发明技术中使用此类个人信息数据可用于使用户受益。例如,个人信息数据可以用于提供对用户的个人健康记录的增强。此外,本公开还预期个人信息数据有益于用户的其他用途。例如,健康和健身数据可用于向用户的总体健康状况提供见解,或者可用作使用技术来追求健康目标的个人的积极反馈。
本公开设想负责采集、分析、公开、传输、存储或其他使用此类个人信息数据的实体将遵守既定的隐私政策和/或隐私实践。具体地,此类实体应当实行并坚持使用被公认为满足或超出对维护个人信息数据的隐私性和安全性的行业或政府要求的隐私政策和实践。此类政策应该能被用户方便地访问,并应随着数据的采集和/或使用变化而被更新。来自用户的个人信息应当被收集用于实体的合法且合理的用途,并且不在这些合法使用之外共享或出售。此外,应在收到用户知情同意后进行此类采集/共享。此外,此类实体应考虑采取任何必要步骤,保卫和保障对此类个人信息数据的访问,并确保有权访问个人信息数据的其他人遵守其隐私政策和流程。另外,这种实体可使其本身经受第三方评估以证明其遵守广泛接受的隐私政策和实践。此外,应当调整政策和实践,以便采集和/或访问的特定类型的个人信息数据,并适用于包括管辖范围的具体考虑的适用法律和标准。例如,在美国,对某些健康数据的收集或获取可能受联邦和/或州法律的管辖,诸如健康保险流通和责任法案(HIPAA);而其他国家的健康数据可能受到其他法规和政策的约束并应相应处理。因此,在每个国家应为不同的个人数据类型保持不同的隐私实践。
不管前述情况如何,本公开还预期用户选择性地阻止使用或访问个人信息数据的实施方案。即本公开预期可提供硬件元件和/或软件元件,以防止或阻止对此类个人信息数据的访问。例如,就广告递送服务或与健康记录管理相关的其他服务而言,本发明技术可被配置为在注册服务期间或之后任何时候允许用户选择“选择加入”或“选择退出”参与对个人信息数据的收集。除了提供“选择加入”和“选择退出”选项外,本公开设想提供与访问或使用个人信息相关的通知。例如,可在下载应用时向用户通知其个人信息数据将被访问,然后就在个人信息数据被应用访问之前再次提醒用户。
此外,本公开的目的是应管理和处理个人信息数据以最小化无意或未经授权访问或使用的风险。一旦不再需要数据,通过限制数据收集和删除数据可最小化风险。此外,并且当适用时,包括在某些健康相关应用程序中,数据去标识可用于保护用户的隐私。可在适当时通过移除特定标识符(例如,出生日期等)、控制所存储数据的量或特异性(例如,在城市级别而不是在地址级别收集位置数据)、控制数据如何被存储(例如,在用户之间聚合数据)、和/或其他方法来促进去标识。
因此,虽然本公开广泛地覆盖了使用个人信息数据来实现一个或多个各种所公开的实施方案,但本公开还预期各种实施方案也可在无需访问此类个人信息数据的情况下被实现。即,本发明技术的各种实施方案不会由于缺少此类个人信息数据的全部或一部分而无法正常进行。