[go: up one dir, main page]

HK1240423B - Access control for encrypted data in machine-readable identifiers - Google Patents

Access control for encrypted data in machine-readable identifiers Download PDF

Info

Publication number
HK1240423B
HK1240423B HK17113442.8A HK17113442A HK1240423B HK 1240423 B HK1240423 B HK 1240423B HK 17113442 A HK17113442 A HK 17113442A HK 1240423 B HK1240423 B HK 1240423B
Authority
HK
Hong Kong
Prior art keywords
data
client device
cryptographic key
machine
client
Prior art date
Application number
HK17113442.8A
Other languages
Chinese (zh)
Other versions
HK1240423A1 (en
Inventor
肯尼思.希尔
K.S.希尔
Original Assignee
旺德海尔斯有限责任公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 旺德海尔斯有限责任公司 filed Critical 旺德海尔斯有限责任公司
Publication of HK1240423A1 publication Critical patent/HK1240423A1/en
Publication of HK1240423B publication Critical patent/HK1240423B/en

Links

Description

机器可读标识符中加密数据的访问控制Access control for encrypted data in machine-readable identifiers

相关申请的交叉引用CROSS-REFERENCE TO RELATED APPLICATIONS

本申请要求于2015年3月3日提交的、序列号为62/127,404、题目为“用编码的健康信息生成标识符”的共同未决美国临时专利申请的权益和优先权,其内容特此通过引用被整体合并至此。This application claims the benefit of and priority to co-pending U.S. Provisional Patent Application Serial No. 62/127,404, filed on March 3, 2015, and entitled “Generating Identifiers Using Encoded Health Information,” the contents of which are hereby incorporated by reference herein in their entirety.

背景技术Background Art

机器可读标识符可被用于格式化读出装置(诸如条形码或矩阵码扫描器)可识别的介质中的数据。然而,具有合适的读出器的任何人可获得机器可读标识符中体现的数据,除非底层数据被加密。管理哪一装置可以访问机器可读标识符中的加密数据仍存在问题。Machine-readable identifiers can be used to format data on a medium that can be read by a reader device (such as a barcode or matrix code scanner). However, anyone with a suitable reader can access the data embodied in the machine-readable identifier unless the underlying data is encrypted. Managing which devices can access the encrypted data in the machine-readable identifier remains a problem.

技术领域Technical Field

本公开涉及密码学、机器可读标识符技术、数据安全,以及在某种程度上涉及计算机视觉。This disclosure relates to cryptography, machine-readable identifier technology, data security, and to some extent, computer vision.

附图说明BRIEF DESCRIPTION OF THE DRAWINGS

参考以下附图,可更好地理解本公开的多个方面。附图中的部件并非成比例的,而重点是在于清楚地示出本公开的原理。然而,在附图中,相同的附图标记指示多个视图中相应的部分。Various aspects of the present disclosure may be better understood with reference to the following drawings. The components in the drawings are not to scale, with emphasis placed on clearly illustrating the principles of the present disclosure. However, in the drawings, like reference numerals indicate corresponding parts throughout the various views.

图1示出了根据各个实施例的用于向由客户端应用程序收集的信息提供访问控制的网络化环境的一个示例。FIG. 1 illustrates an example of a networked environment for providing access control to information collected by client applications, according to various embodiments.

图2示出了根据各个实施例用于通过加密的机器可读标识符扩增和更新内容数据的网络化环境的另一示例。FIG. 2 illustrates another example of a networked environment for augmenting and updating content data via encrypted machine-readable identifiers, according to various embodiments.

图3示出了根据各个实施例的用于生成机器可读标识符的数据结构,其部分数据用多个密钥加密。FIG3 illustrates a data structure for generating a machine-readable identifier, with portions of the data encrypted using multiple keys, according to various embodiments.

图4包括示出了40-L版本的矩阵编码的容量的表格。FIG4 includes a table showing the capacity of the 40-L version of the matrix code.

图5包括示出了用于编码数据模式的模式指示符二进制数字的表格。FIG5 includes a table showing mode indicator binary digits used for encoding data modes.

图6是示出了根据各个实施例的用于机器可读标识符中加密和编码数据的一个示例的流程图。6 is a flow chart illustrating one example of a process for encrypting and encoding data in a machine-readable identifier, according to various embodiments.

图7A至图7N示出了根据各个实施例的客户端应用程序生成的用户界面的各个示例。7A-7N illustrate various examples of user interfaces generated by a client application according to various embodiments.

图8是示出了根据各个实施例的用于配置计算装置或客户端装置以生成机器可读标识符的代码一个示例的伪代码。FIG8 is a pseudocode diagram illustrating one example of code for configuring a computing device or client device to generate a machine-readable identifier, according to various embodiments.

图9示出了根据各个实施例的使用另一装置生成的机器可读标识符在客户端装置上更新或扩增数据的一个示例。FIG9 illustrates one example of updating or augmenting data on a client device using a machine-readable identifier generated by another device, according to various embodiments.

图10-图12是示出了根据各个实施例的在客户端装置中执行的客户端应用程序的功能的流程图。10-12 are flow diagrams illustrating functionality of a client application executing in a client device according to various embodiments.

图13和图14是示出了根据各个实施例的在计算环境中执行的远程应用程序的功能的流程图。13 and 14 are flow diagrams illustrating the functionality of remote application programs executed in a computing environment according to various embodiments.

图15至图17是提供根据各个实施例的图1和图2的网络化环境中使用的计算环境、客户端装置以及读出装置的例证的示意方框图。15-17 are schematic block diagrams providing illustrations of computing environments, client devices, and reader devices for use in the networked environments of FIGs. 1 and 2 according to various embodiments.

具体实施方式DETAILED DESCRIPTION

本公开涉及用于机器可读标识符中分段数据的访问控制。机器可读标识符,诸如条形码、矩阵码或其它类似的标识符,可被用于格式化读出装置(诸如条形码或矩阵码扫描器)可识别的介质中的数据。尽管机器可读标识符可被用于将数据从一个装置传递到另一个装置,而不使用有线或无线网络,但是具有合适读出器的任何人可获得体现在机器可读标识符中的数据,除非底层数据被加密。由于底层数据可能是敏感的,所以用户会希望控制哪一部分底层数据能够被各种装置读出。The present disclosure relates to access control for segmented data in machine-readable identifiers. Machine-readable identifiers, such as barcodes, matrix codes, or other similar identifiers, can be used to format data on a medium that is readable by a reader device, such as a barcode or matrix code scanner. Although machine-readable identifiers can be used to transfer data from one device to another without using a wired or wireless network, anyone with a suitable reader can access the data embodied in the machine-readable identifier unless the underlying data is encrypted. Because the underlying data can be sensitive, users may wish to control which portions of the underlying data can be read by various devices.

例如,在一些示例中,医疗信息可被编码在机器可读标识符中。人们有时被要求来生成他/她希望保密的敏感数据,诸如,在访问诊所的过程中提供病史。脊椎按摩师、整体医疗提供者、兽医、紧急或急诊医学中心、牙医诊所、保险公司等通常需要病例以及其它个人标识信息。如果人们无法提供这种信息,则家庭成员会承担代表他们的亲属向健康护理提供者提供这种信息的责任。For example, in some instances, medical information may be encoded in a machine-readable identifier. People are sometimes asked to provide sensitive data that they wish to keep confidential, such as providing a medical history during a visit to a clinic. Chiropractors, holistic healthcare providers, veterinarians, urgent or emergency medical centers, dental offices, insurance companies, and the like often require medical records and other personally identifying information. If a person is unable to provide this information, family members may assume the responsibility of providing this information to healthcare providers on their relative's behalf.

尽管一个人可能会希望向他或她的全科医生提供完整的病历,但这个人可能不希望向另一个提供者(诸如脊椎按摩师或牙医)提供完整的病例。替代地,他们会希望将数据限制为与健康护理专业人士相关。因此,在各个实施例中,单个机器可读标识符可由数据编码,其中不同装置能够读出该数据的不同部分。例如,一个人可以授权他或她的全科医生从矩阵码中获得完整的病例,而脊椎按摩师在使用同样的矩阵码时可仅能够获得病例的一个被用户授权的子集。While a person may wish to provide their complete medical history to their general practitioner, they may not wish to provide the complete history to another provider, such as a chiropractor or dentist. Instead, they may wish to limit the data to that relevant to the healthcare professional. Thus, in various embodiments, a single machine-readable identifier may be encoded with data, with different devices being able to read different portions of the data. For example, a person may authorize their general practitioner to obtain the complete history from a matrix code, while a chiropractor, using the same matrix code, may only be able to obtain a user-authorized subset of the history.

根据各个实施例,与使用纸和笔填写医疗表格的标准实践相反地,用户可使用他的或她的电子装置(诸如智能手机或平板电脑)来提供医疗摄入信息。由于用户通过电子装置提供的医疗、个人以及其它微妙信息可能是敏感的,因此通过网络发送信息会引起担心。例如,信息可被数据包侦听软件或未授权访问点拦截。此外,存储信息的数据库可被侵入。正因为如此,机器可读标识符(诸如条形码或矩阵码)可被用于在邻近装置之间传递信息,无不使用网络。According to various embodiments, in contrast to the standard practice of filling out medical forms using paper and pencil, a user can use their electronic device (such as a smartphone or tablet) to provide medical intake information. Because the medical, personal, and other delicate information provided by a user via an electronic device can be sensitive, sending this information over a network can raise concerns. For example, the information can be intercepted by packet sniffing software or unauthorized access points. Furthermore, databases storing the information can be hacked. Because of this, machine-readable identifiers (such as barcodes or matrix codes) can be used to transmit information between nearby devices without using a network.

然而,机器可读标识符通常依赖于开源或透明标准,这使得机器可读标识符中体现的数据的解释易遭到未经授权的访问。例如,如果医疗信息被嵌入到矩阵码中,则任何可商业获得的矩阵码读出器都能够获得该医疗信息。虽然底层数据可被加密,使得仅有权使用合适密钥的装置能够解密该数据,但是,因为人们可能意识到具有密钥的所有装置均能够访问他们的信息,所以在多个装置之间共享该一个密钥会阻止人们提供完整数量的信息。However, machine-readable identifiers often rely on open-source or transparent standards, which makes the interpretation of the data embodied in the machine-readable identifier vulnerable to unauthorized access. For example, if medical information is embedded in a matrix code, any commercially available matrix code reader can access the medical information. While the underlying data can be encrypted so that only devices with access to the appropriate key can decrypt it, sharing a single key across multiple devices prevents people from providing the full amount of information, as they may realize that any device with the key can access their information.

因此,在此处所述实施例中,提供了对机器可读标识符中分段数据的访问控制。在一个实施例中,可在客户端装置上执行的客户端应用程序可被配置为通过网络接收与第一装置配置文件相关的第一密码密钥(cryptographic key),以及与第二装置配置文件相关的第二密码密钥。客户端应用程序可便于通过摄取过程从用户收集输入数据,该摄取过程可以包括提示用户输入各种数据的一系列用户界面。一旦接收到数据,客户端应用程序会将输入数据分割或以其它方式格式化成至少第一数据部分和第二数据部分。例如,第一数据部分能够被全科医生的读出装置解释,而第二数据部分能够被脊椎按摩师的读出装置解释。Thus, in embodiments described herein, access control for segmented data in a machine-readable identifier is provided. In one embodiment, a client application executable on a client device may be configured to receive, over a network, a first cryptographic key associated with a first device profile and a second cryptographic key associated with a second device profile. The client application may facilitate collecting input data from a user through an ingestion process that may include a series of user interfaces prompting the user to enter various data. Upon receiving the data, the client application may segment or otherwise format the input data into at least a first data portion and a second data portion. For example, the first data portion may be interpretable by a general practitioner's readout device, while the second data portion may be interpretable by a chiropractor's readout device.

客户端应用程序可用第一密码密钥加密第一数据部分,用第二密码密钥加密第二数据部分。远程应用程序,此处称为密钥管理应用程序,可在用户的授权下,在诸如服务器的远程计算装置中执行并监督能够解密数据的密钥的传送和收到。可替代地,在其它实施例中,接收装置可与远程计算环境中的密钥相关联。远程应用程序可向客户端应用程序提供用于接收装置的密钥,使得信息被加密以被接收装置访问。最终,客户端应用程序可使用加密的第一数据部分和加密的第二数据部分生成机器可读标识符,以呈现在客户端装置可访问的显示器中。接收装置可捕捉机器可读标识符的一幅或多幅图像,以使用自动图像分析和计算机视觉访问底层数据。The client application may encrypt the first data portion with a first cryptographic key and the second data portion with a second cryptographic key. A remote application, referred to herein as a key management application, may, with the authorization of a user, execute on a remote computing device, such as a server, and oversee the transmission and receipt of a key capable of decrypting the data. Alternatively, in other embodiments, the receiving device may be associated with a key in the remote computing environment. The remote application may provide the client application with the key for the receiving device, so that the information is encrypted for access by the receiving device. Ultimately, the client application may use the encrypted first data portion and the encrypted second data portion to generate a machine-readable identifier for presentation on a display accessible to the client device. The receiving device may capture one or more images of the machine-readable identifier to access the underlying data using automated image analysis and computer vision.

作为非限制性示例,客户端应用程序的用户可将他或她的全科医生与高等级访问相关联,在该等级中,全科医生能够使用他或她的装置访问客户端应用程序的用户提供的所有输入数据。密钥管理应用程序可向全科医生的装置以及用户的装置发送密钥。类似地,密钥管理应用程序可向脊椎按摩师或其它医疗提供者的装置以及用户的装置发送密钥。客户端应用程序可将授权数据编码,以供全科医生使用相应密钥接收,同时将授权数据编码,以供脊椎按摩师使用对于脊椎按摩师不同的的密钥接收。为此,提供了使用单个机器可读标识符,对机器可读标识符的底层数据的访问控制。As a non-limiting example, a user of a client application may associate their general practitioner with a high level of access, where the general practitioner can access all input data provided by the user of the client application using their device. The key management application may send keys to the general practitioner's device as well as the user's device. Similarly, the key management application may send keys to the chiropractor's or other medical provider's device as well as the user's device. The client application may encode authorization data for the general practitioner to receive using a corresponding key, while encoding authorization data for the chiropractor to receive using a key different from the chiropractor's. Thus, access control is provided to the underlying data of a machine-readable identifier using a single machine-readable identifier.

可以理解的是,因为存在多种拦截通过网络传输的数据的方法,所以存在在装置间传递敏感数据的技术问题,而不使用网络。此外,存在的技术问题是有多种方式可以无授权地获得网络存储数据(存储在网络装置上的数据)。因此,本文所述的实施例通过提出在装置之间传输敏感数据的方式而解决了该技术问题,而不使用网络来传输和接收敏感数据。It is understood that because there are many ways to intercept data transmitted over a network, there is a technical problem of transferring sensitive data between devices without using the network. In addition, there is a technical problem that there are many ways to obtain network-stored data (data stored on network devices) without authorization. Therefore, the embodiments described herein address this technical problem by proposing a method for transferring sensitive data between devices without using the network to transmit and receive sensitive data.

尽管该公开提供了健康护理数据情况下的多个示例,但此处所附实施例可被应用在许多行业。此外,本公开提供了矩阵码和其它类似的机器可读标识符的情况中的示例。然而,在一些实施例中,视觉图像识别可被用于辨识以不同图像形式编码的数据,诸如被用于销售的Clickable PaperTM(可点击纸张)应用程序中。While this disclosure provides several examples in the context of healthcare data, the embodiments described herein can be applied to many industries. Furthermore, this disclosure provides examples in the context of matrix codes and other similar machine-readable identifiers. However, in some embodiments, visual image recognition can be used to identify data encoded in various image formats, such as in Clickable Paper applications for marketing.

在下文描述中,提供了对系统及其部件的整体说明,然后是对系统及其部件的操作的描述。In the following description, an overall description of the system and its components is provided, followed by a description of the operation of the system and its components.

参考图1,其示出了根据各个实施例的网络化环境100。网络化环境100包括计算环境103、客户端装置106以及读出装置109,它们通过网络112相互数据通信。在各个实施例中,如下文将要描述的,除了密码密钥,客户端装置106和读出装置109通过网络112相互之间可不传达任何信息。网络112包括,例如因特网、内联网、外联网、广域网(WANs)、局域网(LANs)、有线网络、无线网络或其它适合的网络等、或者两个或多个这种网络的任意组合。例如,这种网络可包括卫星网络、电缆网络、以太网以及其它类型的网络。Referring to FIG. 1 , a networked environment 100 is shown according to various embodiments. Networked environment 100 includes a computing environment 103, a client device 106, and a reader device 109, which are in data communication with each other via a network 112. In various embodiments, as will be described below, client device 106 and reader device 109 may not communicate any information with each other via network 112, except for cryptographic keys. Network 112 may include, for example, the Internet, an intranet, an extranet, wide area networks (WANs), local area networks (LANs), a wired network, a wireless network, or other suitable networks, or any combination of two or more such networks. For example, such networks may include satellite networks, cable networks, Ethernet networks, and other types of networks.

计算环境103可包括例如服务器计算机或提供计算能力的任何其它系统。可替代地,计算环境103可使用多个计算装置,这些计算装置可例如被布置为一个或多个服务器库、计算机库、或其它布置方式。这种计算装置可被放置在单个安装处,或者可被分布在多个不同的地理位置。例如,计算环境103可包括多个计算装置,这些计算装置一起可包括托管计算资源、网格计算资源和/或任何其它分布式计算配置。在一些情况中,计算环境103可对应于弹性计算资源,其中处理、网络、存储或其它计算相关资源所分配的容量可随时间变化。The computing environment 103 may include, for example, a server computer or any other system that provides computing power. Alternatively, the computing environment 103 may use multiple computing devices, which may be arranged, for example, as one or more server banks, computer banks, or other arrangements. Such computing devices may be placed in a single installation or may be distributed across multiple different geographical locations. For example, the computing environment 103 may include multiple computing devices, which together may include managed computing resources, grid computing resources, and/or any other distributed computing configuration. In some cases, the computing environment 103 may correspond to elastic computing resources, wherein the capacity allocated to processing, network, storage, or other computing-related resources may vary over time.

根据各种实施例,可在计算环境103中执行各种应用程序和/或其它功能。另外,各种数据被存储在数据存储115中,计算环境103可进入该数据存储115。可以理解的是,数据存储115可代表多个数据存储115。例如,数据存储115中存储的数据与下文描述的各种应用程序和/或功能实体的操作相关。According to various embodiments, various applications and/or other functions may be executed in the computing environment 103. In addition, various data is stored in the data store 115, which is accessible to the computing environment 103. It will be appreciated that the data store 115 may represent a plurality of data stores 115. For example, the data stored in the data store 115 may be related to the operation of various applications and/or functional entities described below.

例如,计算环境103上执行的部件可包括密钥管理应用程序118、翻译服务120、直接消息传递服务122以及本文未详细描述的其他应用程序、服务、进程、系统、引擎或功能。可以执行密钥管理应用程序118,以监督存储在数据存储115中的各种密码密钥121a...121c的传输和接收,如下文所述。For example, components executing on the computing environment 103 may include a key management application 118, a translation service 120, a direct messaging service 122, and other applications, services, processes, systems, engines, or functions not described in detail herein. The key management application 118 may be executed to oversee the transmission and receipt of various cryptographic keys 121a...121c stored in the data store 115, as described below.

可以执行翻译服务120,以将用户输入从第一语言(诸如西班牙语)翻译成第二语言(诸如英语)。在一些实施例中,翻译服务120可被用于将存储在计算环境103中的、用于摄取过程的问题从第一语言翻译成第二语言。The translation service 120 may be executed to translate user input from a first language, such as Spanish, into a second language, such as English. In some embodiments, the translation service 120 may be used to translate questions stored in the computing environment 103 for the ingestion process from a first language into a second language.

直接消息传递服务122可被用于将加密的直接消息通过网络从一个客户端装置106发送到另一个。在一个实施例中,可在客户端装置106上执行的应用程序对客户端装置106的用户生成的消息加密并将该加密的消息通过网络112发送到直接消息传递服务122,然后该直接消息传递服务122将该加密的消息传输到接收方客户端装置106。在一个示例中,直接消息传递服务122允许患者与他或她的健康提供者直接交流。在其它实施例中,如下文将要描述的,可使用机器可读标识符在客户端装置106之间传递消息。The direct messaging service 122 can be used to send encrypted direct messages from one client device 106 to another over a network. In one embodiment, an application executable on a client device 106 encrypts a message generated by a user of the client device 106 and sends the encrypted message over the network 112 to the direct messaging service 122, which then transmits the encrypted message to the recipient client device 106. In one example, the direct messaging service 122 allows a patient to communicate directly with their health provider. In other embodiments, as will be described below, machine-readable identifiers can be used to transmit messages between client devices 106.

在其它实施例中,计算环境103可包括提供加密信息(诸如加密的健康信息)的基于云存储的应用程序或服务,尽管在其它实施例中,加密信息可不存储在计算环境103中。In other embodiments, the computing environment 103 may include an application or service that provides cloud-based storage of encrypted information, such as encrypted health information, although in other embodiments, the encrypted information may not be stored in the computing environment 103 .

客户端装置106代表可被耦接到网络112的多个客户端装置。客户端装置106可包括例如基于处理器的系统,诸如计算机系统。这种计算机系统的具体形式可为台式电脑、笔记本电脑、个人数字助理、移动电话、智能手机、机顶盒、音乐播放器、上网平板、平板电脑系统、游戏机、电子图书阅读器、智能手表或具有相似功能的其它装置。客户端装置106可包括客户端装置显示器124,读出装置109可包括读出器装置显示器127。客户端装置显示器124和读出装置127可包括例如一个或多个装置,诸如液晶显示(LCD)显示器、基于气体等离子体的平板显示器、有机发光二极管(OLED)显示器、电泳墨水(E墨水)显示器、LCD投影仪或其它类型的显示装置等。Client device 106 represents a plurality of client devices that may be coupled to network 112. Client device 106 may comprise, for example, a processor-based system, such as a computer system. Such a computer system may take the form of a desktop computer, a laptop computer, a personal digital assistant, a mobile phone, a smartphone, a set-top box, a music player, a web-tablet, a tablet computer system, a game console, an electronic book reader, a smartwatch, or other devices with similar functionality. Client device 106 may comprise a client device display 124, and readout device 109 may comprise a reader device display 127. Client device display 124 and readout device 127 may comprise, for example, one or more devices such as a liquid crystal display (LCD) display, a gas plasma-based flat panel display, an organic light emitting diode (OLED) display, an electrophoretic ink (E-ink) display, an LCD projector, or other types of display devices.

客户端装置106可被配置为执行各种应用程序,诸如客户端应用程序130和/或其它应用程序。可以在客户端装置106中执行客户端应用程序130,例如,以执行摄取过程,从而在客户端装置显示器124中呈现一系列用户界面131a,以提示用户进行用户输入。在一个示例中,一个或多个问题被提供给用户,以获得个人信息、医疗信合或其它适当的信息。一个或多个问题可从计算环境103获得,或被硬编码在客户端应用程序130中。The client device 106 can be configured to execute various applications, such as a client application 130 and/or other applications. The client application 130 can be executed on the client device 106, for example, to perform an acquisition process, thereby presenting a series of user interfaces 131a on the client device display 124 to prompt the user for user input. In one example, one or more questions are presented to the user to obtain personal information, medical information, or other appropriate information. The one or more questions can be obtained from the computing environment 103 or hard-coded in the client application 130.

客户端应用程序130可对用户输入进行加密并用加密的用户输入生成机器可读标识符133。可以理解的是,读出装置109使用读出应用程序136解释机器可读标识符133并访问加密的用户输入。使用一个或多个密码密钥121,读出应用程序136可解密被加密的用户输入,以供读出装置109上的本地存储或远程存储。The client application 130 can encrypt the user input and generate a machine-readable identifier 133 using the encrypted user input. It will be appreciated that the reader 109 uses a reader application 136 to interpret the machine-readable identifier 133 and access the encrypted user input. Using one or more cryptographic keys 121, the reader application 136 can decrypt the encrypted user input for local storage on the reader 109 or for remote storage.

在一些实施例中,客户端应用程序130和读出应用程序136可包括例如浏览器、专用应用程序等,客户端应用程序130生成的用户界面131a或读出应用程序136生成的用户界面131b可包括网络页面、应用程序屏幕等。客户端装置106可被配置为执行客户端应用程序130以外的应用程序,诸如,例如电子邮件应用程序、社交网络应用程序、文字处理器、电子表格和/或其它应用程序。In some embodiments, the client application 130 and the reader application 136 may include, for example, a browser, a dedicated application, etc., and the user interface 131 a generated by the client application 130 or the user interface 131 b generated by the reader application 136 may include a web page, an application screen, etc. The client device 106 may be configured to execute applications other than the client application 130, such as, for example, an email application, a social networking application, a word processor, a spreadsheet, and/or other applications.

读出装置109可包括前置成像装置139或后置成像装置(未示出),诸如照相机或能够解释机器可读标识符133的其它装置。可在读出装置109中执行读出应用程序136,以捕捉客户端应用程序130生成的机器可读标识符133的一幅或多幅图像。类似地,客户端装置106可包括一个或多个成像装置,诸如前置或后置照相机。在各个实施例中,读出应用程序136还被执行为解密从机器可读标识符133获得的加密的用户输入,并在读出装置显示器127中呈现健康信息。The reader 109 may include a front-facing imaging device 139 or a rear-facing imaging device (not shown), such as a camera or other device capable of interpreting the machine-readable identifier 133. A reader application 136 may be executed in the reader 109 to capture one or more images of the machine-readable identifier 133 generated by the client application 130. Similarly, the client device 106 may include one or more imaging devices, such as a front-facing or rear-facing camera. In various embodiments, the reader application 136 is also executed to decrypt encrypted user input obtained from the machine-readable identifier 133 and present the health information on the reader display 127.

读出应用程序136可被配置为保留用户提供的多个版本的数据并生成便于特定类型数据或不同版本之间浏览(navigate)的适合界面。尽管客户端应用程序130可被配置为禁止在网络112上传输医疗或其它类型的信息,但在一些实施例中,读出应用程序136可以将数据传达到远程或基于云的服务(诸如符合HIPAA的电子健康档案系统)。尽管客户端应用程序130可以不通过网络112发送健康或其它类型的信息,但计算环境103可在数据存储115中备份或存储各个版本的机器可读标识符133。当用户升级或替换他或她的客户端装置106时,机器可读标识符133可被用于在新的客户端装置106上填充数据。The readout application 136 can be configured to retain multiple versions of data provided by the user and generate an appropriate interface to facilitate navigating between specific types of data or different versions. Although the client application 130 can be configured to prohibit the transmission of medical or other types of information over the network 112, in some embodiments, the readout application 136 can communicate the data to a remote or cloud-based service (such as a HIPAA-compliant electronic health record system). Although the client application 130 may not send health or other types of information over the network 112, the computing environment 103 can back up or store the machine-readable identifier 133 of each version in the data store 115. When the user upgrades or replaces his or her client device 106, the machine-readable identifier 133 can be used to populate the data on the new client device 106.

可理解的是,数据存储115中存储的数据可包括装置数据142和其它数据。装置数据142可包括与一个或多个客户端装置106和读出装置109相关联的信息。在一个示例中,每个读出装置109可与唯一的密码密钥121相关联,其中密钥管理应用程序118向客户端应用程序130发送密码密钥121。然后客户端应用程序130可为读出装置109生成包括被密码密钥121加密的用户输入数据的机器可读标识符133。由于读出装置109也保留其密码密钥121的副本,因此其能够解密并解释用户输入数据。As will be appreciated, the data stored in the data store 115 may include device data 142 and other data. The device data 142 may include information associated with one or more client devices 106 and reader devices 109. In one example, each reader device 109 may be associated with a unique cryptographic key 121, with the key management application 118 sending the cryptographic key 121 to the client application 130. The client application 130 may then generate a machine-readable identifier 133 for the reader device 109 that includes the user input data encrypted by the cryptographic key 121. Because the reader device 109 also retains its copy of the cryptographic key 121, it is able to decrypt and interpret the user input data.

在另一个示例中,每个客户端装置106可与一个或多个密码密钥121相关联,其中密钥管理应用程序118根据客户端应用程序130的用户的指令向读出装置109发送密码密钥121。客户端应用程序130可生成包括被一个或多个密码密钥121加密的用户输入数据的机器可读标识符133。例如,密钥管理应用程序118可以根据客户端应用程序130的用户的指令向读出装置109发送密码密钥121,使得其能够解密并解释用户输入数据。In another example, each client device 106 can be associated with one or more cryptographic keys 121, where the key management application 118 sends the cryptographic keys 121 to the reader device 109 upon instruction by a user of the client application 130. The client application 130 can generate a machine-readable identifier 133 that includes user input data encrypted by the one or more cryptographic keys 121. For example, the key management application 118 can send the cryptographic keys 121 to the reader device 109 upon instruction by a user of the client application 130 so that the reader device 109 can decrypt and interpret the user input data.

装置数据142可包括装置标识符145,其唯一地标识客户端装置106或读出装置109。装置数据142还可包括装置配置文件148,而该装置配置文件148可包括访问等级152。在一些实施例中,客户端应用程序130的用户可将某一读出装置109与特定访问等级152相关联。在一个示例中,一个人可将用于他或她的全科医生的第一读出装置109与第一访问等级相关联,将用于他或她的牙医的第二读出装置109与第二等级相关联。为此,客户端应用程序130的用户可基于访问等级指定哪些数据可以被哪一读出装置109访问。如将要描述的,用户输入可被每个读出装置109可获得的信息分段或划分。为此,读出应用程序136可为由用户指定的、或由计算环境103预定的信息提供不同的访问等级。The device data 142 may include a device identifier 145 that uniquely identifies the client device 106 or reader 109. The device data 142 may also include a device profile 148, which may include an access level 152. In some embodiments, a user of the client application 130 may associate a particular reader 109 with a particular access level 152. In one example, a person may associate a first reader 109 for their general practitioner with a first access level and a second reader 109 for their dentist with a second access level. To this end, the user of the client application 130 may specify which data is accessible to which reader 109 based on the access level. As will be described, user input may be segmented or divided by the information available to each reader 109. To this end, the reader application 136 may provide different access levels for information specified by the user or predetermined by the computing environment 103.

密码密钥121可包括用于加密数据的数字、二进制或字母数字字符串。在各个实施例中,密码密钥121可包括对称密码密钥121、非对称密码密钥121或其组合。The cryptographic key 121 may include a numeric, binary, or alphanumeric string used to encrypt data. In various embodiments, the cryptographic key 121 may include a symmetric cryptographic key 121, an asymmetric cryptographic key 121, or a combination thereof.

参考图2,其示出了根据各个实施例的网络化环境100的另一个示例。在一些情形下,可在读出装置109或能够访问解密信息的其它装置上操作客户端应用程序130的用户提供的输入数据。例如,医生可将用户提供的数据修改成包括最新的血压、体重或其它信息。用户可能希望将该信息存储在他或她的客户端装置106上,以保持更完整和精确的病例。Referring to FIG. 2 , another example of a networked environment 100 is shown according to various embodiments. In some cases, user-provided input data for a client application 130 may be manipulated on a readout device 109 or other device capable of accessing decrypted information. For example, a physician may modify the user-provided data to include updated blood pressure, weight, or other information. The user may wish to store this information on his or her client device 106 to maintain a more complete and accurate medical record.

为此,在一些实施例中,读出应用程序136可使用其密码密钥121(或客户端装置106可获得的其它密码密钥121),以向客户端装置106提供更新的、修改的、补充的或以其它方式操作的数据。客户端应用程序130可便于捕捉在读出装置109上生成的、并呈现在读出装置显示器127中的机器可读标识符133的一幅或多幅图像。To this end, in some embodiments, the reader application 136 may use its cryptographic key 121 (or other cryptographic keys 121 available to the client device 106) to provide updated, modified, supplemented, or otherwise manipulated data to the client device 106. The client application 130 may facilitate capturing one or more images of the machine-readable identifier 133 generated on the reader device 109 and presented in the reader device display 127.

在各个实施例中,使用密码密钥121来加密由读出应用程序136产生的机器可读标识符133的底层数据,仅客户端装置106和读出装置109可获得该密码密钥121。客户端应用程序130可解密底层数据并将数据本地存储在客户端装置106上。如果用户执行了部分摄取过程,则更新后的数据可被提供在用户界面131中的自动填充字段中。通过扫描机器可读标识符133并使适合的密码密钥121访问底层数据,读出应用程序136可本地更新存储的数据,并且可与其他应用程序(诸如调度应用程序、预约管理应用程序、药物重配(refill)应用程序或EHR应用程序)交互,以更新与其相关联的信息。In various embodiments, the underlying data of the machine-readable identifier 133 generated by the reader application 136 is encrypted using a cryptographic key 121, which is accessible only to the client device 106 and the reader device 109. The client application 130 can decrypt the underlying data and store the data locally on the client device 106. If the user performs a partial ingestion process, the updated data can be provided in an auto-fill field in the user interface 131. By scanning the machine-readable identifier 133 and accessing the underlying data using the appropriate cryptographic key 121, the reader application 136 can update the stored data locally and can interact with other applications (such as a scheduling application, an appointment management application, a medication refill application, or an EHR application) to update information associated therewith.

接下来参考图3,示出了数据结构300的一个示例,该数据结构300包括用于生成机器可读标识符133a...133c的图像的数据。可以理解的是,数据结构300可包括例如纠错等级303、字符计数指示符306、模式指示符309、有效载荷312、纠错315和/或其它数据。3 , an example of a data structure 300 is shown that includes data used to generate an image of a machine-readable identifier 133 a ... 133 c. It will be appreciated that the data structure 300 may include, for example, an error correction level 303, a character count indicator 306, a mode indicator 309, a payload 312, error correction 315, and/or other data.

矩阵码,也被称为快速响应(QR)码,通常使用Reed-Solomon纠错,其被用于基于编码的数据产生纠错代码字(字节)。读出应用程序136a...136b可使用这些纠错等级303来确定数据是否被错误地读出,如果是,则使用纠错代码字纠正数据中的错误。对于矩阵码,有四个等级的纠错等级303,被命名为L、M、Q和H,其纠错能力分别为7%、15%、25%和30%。Matrix codes, also known as Quick Response (QR) codes, typically use Reed-Solomon error correction, which is used to generate error-correcting codewords (bytes) based on the encoded data. Reading applications 136a...136b can use these error correction levels 303 to determine whether the data was read incorrectly and, if so, use the error correction codewords to correct the errors in the data. For matrix codes, there are four levels of error correction 303, designated L, M, Q, and H, with error correction capabilities of 7%, 15%, 25%, and 30%, respectively.

矩阵码具有不同的尺寸,一个特定尺寸的矩阵码被称为一个版本。可用的版本有四十个,但是其它的版本也是可以的并且被包括在本公开的范围内。例如,版本1是最小版本的矩阵码,尺寸为21像素乘21像素。每个版本比前一版本大4个像素。版本4是最大的版本,其为177像素乘177像素。最大的版本具有最大的字符容量,如图4的表格所示。Matrix codes come in different sizes, with a matrix code of a particular size being referred to as a version. There are 40 available versions, but other versions are also possible and are within the scope of this disclosure. For example, version 1 is the smallest version of the matrix code, measuring 21 pixels by 21 pixels. Each version is 4 pixels larger than the previous version. Version 4 is the largest version, measuring 177 pixels by 177 pixels. The largest version has the largest character capacity, as shown in the table in Figure 4.

可根据模式指示符309设置的不同模式来编码有效载荷312。模式指示符309可包括四位字符串,如图5所示。编码的数据可从合适的模式指示符开始,其描述了被用于后续位的模式。最大的版本的矩阵码具有最高的字符容量,如图4的表格所示。字符计数指示符306包括被编码的字符的个数。The payload 312 can be encoded according to different modes set by the mode indicator 309. The mode indicator 309 can include a four-bit string, as shown in Figure 5. The encoded data can begin with the appropriate mode indicator, which describes the pattern to be used for the subsequent bits. The largest version of the matrix code has the highest character capacity, as shown in the table of Figure 4. The character count indicator 306 includes the number of characters being encoded.

为了生成机器可读标识符133,客户端应用程序130(或读出应用程序136)可访问摄取过程中接收的用户输入,并用密码密钥121加密该数据。在密码密钥121是非对称的实施例中,可采用RSA或其它适合的加密算法。在密码密钥121是对称的实施例中,可采用高级加密标准(AES)或其它适合的加密算法。可根据模式指示符309来编码被加密的用户输入。例如,假设加密的用户输入为一串字母数字字符,则模式指示符309可被设置为0010。字母数字编码可包括将串分成多个对,并为每个对创建二进制数字。To generate the machine-readable identifier 133, the client application 130 (or reader application 136) may access the user input received during the ingestion process and encrypt the data using the cryptographic key 121. In embodiments where the cryptographic key 121 is asymmetric, RSA or other suitable encryption algorithms may be used. In embodiments where the cryptographic key 121 is symmetric, the Advanced Encryption Standard (AES) or other suitable encryption algorithms may be used. The encrypted user input may be encoded according to a pattern indicator 309. For example, assuming the encrypted user input is a string of alphanumeric characters, the pattern indicator 309 may be set to 0010. Alphanumeric encoding may include dividing the string into pairs and creating a binary number for each pair.

用于第一读出装置109a的数据可被第一读出装置109a可访问的密码密钥121(如图3所示,密码密钥121A)加密并被编码为有效载荷A。类似地,用于第二读出装置109b的数据可被第二读出装置109b可访问的密码密钥121(如图3所示,密码密钥121B)加密并被编码为有效载荷B。当被读出装置109扫描时,仅一部分有效载荷Total可被读出装置109解释。Data intended for the first reader 109a may be encrypted using a cryptographic key 121 accessible to the first reader 109a (as shown in FIG3 , cryptographic key 121A ) and encoded as payload A. Similarly, data intended for the second reader 109b may be encrypted using a cryptographic key 121 accessible to the second reader 109b (as shown in FIG3 , cryptographic key 121B ) and encoded as payload B. When scanned by reader 109, only a portion of payload Total may be interpreted by reader 109.

接下来参考图6,其所示的流程图示出了输入数据至矩阵码或其它机器可读标识符133的转换。从步骤603开始,用户输入被访问。用户输入可以包括例如健康信息、紧急联系信息或摄取过程中或者从客户端应用程序130呈现的用户界面131获得的其它类型的数据。在图6的示例中,出于解释的目的,一串用户输入包括“Hello world”。Referring next to FIG6 , a flow chart illustrating the conversion of input data into a matrix code or other machine-readable identifier 133 is shown. Beginning at step 603 , user input is accessed. The user input may include, for example, health information, emergency contact information, or other types of data obtained during the ingestion process or from the user interface 131 presented by the client application 130. In the example of FIG6 , for purposes of explanation, a string of user input includes "Hello world."

在步骤606中,基于读出装置109标识密码密钥121,其中数据被用于该读出装置109。例如,用户可指定他或她的病例的特定部分,以供他或她的全科医生使用。用于全科医生的一个或多个读出装置109的密码密钥121可被标识。在步骤609中,使用步骤606中标识的密码密钥121来加密用户输入。使用AES加密和密钥“exampleencryptionkey”,一串加密数据包括“BBd2iHwO/gy+xnFUg6HeAA==”。In step 606, a cryptographic key 121 is identified based on the reader 109 for which the data is to be used. For example, a user may designate a particular portion of their medical history for use by their general practitioner. The cryptographic keys 121 for one or more of the general practitioner's readers 109 may be identified. In step 609, the user input is encrypted using the cryptographic key 121 identified in step 606. Using AES encryption and the key "exampleencryptionkey," the encrypted data string includes "BBd2iHwO/gy+xnFUg6HeAA==".

接下来,在步骤612中,使用字母数字模式或其它合适的模式(诸如数字、字节、日本汉字或ECI)对加密的数据进行编码。对于加密数据的前两个字符“BB”,使用字母数字编码生成二进制数字,以得到“111111010”。这可以继续进行,直到所有的加密数据被以合适的模式编码。最终,在步骤615,根据矩阵码标准,使用编码数据作为有效载荷生成矩阵码的图像。Next, in step 612, the encrypted data is encoded using an alphanumeric pattern or other suitable pattern (such as numbers, bytes, Japanese kanji, or ECI). For the first two characters of the encrypted data, "BB," the alphanumeric encoding is used to generate the binary digits "111111010." This process can continue until all the encrypted data has been encoded using the appropriate pattern. Finally, in step 615, a matrix code image is generated using the encoded data as the payload according to the matrix code standard.

在各个实施例中,AES-256加密算法可被用于对底层数据加密。初始矢量(IV)或开始变量(SV)可被采用,以供随机化加密并产生不同密文的模式使用,即使相同的明文被加密多次。(AES CBC Pkcs7)。一些模式,诸如电子密码本(ECB)和密码块链接(CBC),可能会要求在加密之前对最后一块进行填充,因此可采用适合的填充。In various embodiments, the AES-256 encryption algorithm may be used to encrypt the underlying data. An initialization vector (IV) or starting variable (SV) may be used to randomize the encryption and produce different ciphertexts even when the same plaintext is encrypted multiple times (AES CBC Pkcs7). Some modes, such as Electronic Codebook (ECB) and Cipher Block Chaining (CBC), may require padding of the final block before encryption, so appropriate padding may be used.

在采用AES-256的实施例中,密码密钥121可包括256比特(32字节),其中IV为128比特(16字节)。对于客户端应用程序130或读出应用程序136执行的每次加密,可随机生成IV,以提供不同的加密结果(与之前的加密不同),即使待加密的数据并未改变。考虑到将来的解密,生成的IV可以与加密的数据一起本地存储在客户端装置106或读出装置109上,如此处所述。In an embodiment employing AES-256, the cryptographic key 121 may comprise 256 bits (32 bytes), with the IV being 128 bits (16 bytes). For each encryption performed by the client application 130 or the reader application 136, a randomly generated IV may be generated to provide a different encryption result (different from the previous encryption), even if the data to be encrypted has not changed. The generated IV may be stored locally on the client device 106 or the reader device 109 along with the encrypted data for future decryption purposes, as described herein.

在一些实施例中,加密数据被本地存储在与密码、生物数据或PIN码相关联的客户端装置106或读出装置109上。此外,每个用户或为其提供数据的实体(例如,患者、亲戚、宠物)可具有他或她自己的密码密钥121(即,加密密钥)。因此,被加密在特定装置上的任何数据只可在提供了适合的密码、生物数据或PIN码时在该装置上被解密。In some embodiments, the encrypted data is stored locally on the client device 106 or reader 109 in association with the password, biometric data, or PIN code. In addition, each user or entity for which data is provided (e.g., patient, relative, pet) may have his or her own cryptographic key 121 (i.e., encryption key). Thus, any data encrypted on a particular device can only be decrypted on that device when the appropriate password, biometric data, or PIN code is provided.

由于AES加密算法需要密码密钥121和IV以加密或解密数据,因此IV可与加密数据联合存储,从而在将来被成功解密。在一些实施例中,密钥管理服务115管理IV向客户端装置106或读出装置109的存储和传输以及密码密钥121。IV密钥可包括16个字节或其它合适的长度。在一些实施例中,IV密钥可被拆分并存储在沿密码密钥121的预定义位置中。例如,IV密钥的第一数量的字节可被放置在密码密钥121中的第一位置处,而IV密钥的第二数量的字节可被放置在密码密钥121中的第二位置处,等等。在使用密码密钥121之前,可从密码密钥121中移走IV密钥。该特征在加密数据中增加了额外的安全等级。例如,即使密码密钥121被拦截、被蛮力地成功猜中等,而不知道如何从数据中恢复IV,如果有可能解密被加密的数据的话,也将是很困难的。Because the AES encryption algorithm requires cryptographic key 121 and the IV to encrypt or decrypt data, the IV can be stored in conjunction with the encrypted data to facilitate successful decryption in the future. In some embodiments, key management service 115 manages the storage and transmission of the IV and cryptographic key 121 to client device 106 or reader 109. The IV key may comprise 16 bytes or another suitable length. In some embodiments, the IV key can be split and stored in predefined locations along cryptographic key 121. For example, a first number of bytes of the IV key may be placed at a first location in cryptographic key 121, while a second number of bytes of the IV key may be placed at a second location in cryptographic key 121, and so on. The IV key can be removed from cryptographic key 121 before use. This feature adds an additional level of security to the encrypted data. For example, even if cryptographic key 121 is intercepted, successfully guessed by brute force, or otherwise, without knowing how to recover the IV from the data, decrypting the encrypted data would be difficult, if not impossible.

图7A至图7N示出了用于通过利用各种类型的用户输入提示用户而执行摄取过程的客户端应用程序130的用户界面131的各种示例。可以理解的是,在执行摄取过程之前,要求用户提供用户名、密码、生物计量信息、或适当地鉴定客户端装置106的用户的其它信息。在图7A中,示出了用于客户端应用程序130的示例性主屏幕,其中用户可为个体输入基本信息。这可不包括医疗信息,而包括用于标识目的的信息。这可被用于标识个体(例如,所有者、被抚养人、宠物或其它个体)的名字。7A through 7N illustrate various examples of a user interface 131 for a client application 130 for executing an ingestion process by prompting the user with various types of user input. It will be appreciated that prior to executing the ingestion process, the user may be required to provide a username, password, biometric information, or other information that appropriately identifies the user of the client device 106. In FIG7A , an exemplary home screen for the client application 130 is shown, where the user may enter basic information for an individual. This may not include medical information, but rather information for identification purposes. This may be used to identify the name of an individual (e.g., an owner, dependent, pet, or other individual).

接续,客户端应用程序130可提示用户输入基本信息,诸如出生日期、紧急联系信息、初级护理医师联系信息、或其它基本信息。用户界面131还可允许用户改变为其提供信息的个体。例如,用户可将个体从他自己或她自己更改为另一个体,诸如孩子、被抚养人、宠物等。这些二级配置文件也将具有数据字段,以放置关于初级护理医师、紧急联系信息、病历等的信息。Next, the client application 130 may prompt the user to enter basic information, such as date of birth, emergency contact information, primary care physician contact information, or other basic information. The user interface 131 may also allow the user to change the individual for whom information is being provided. For example, the user may change the individual from themselves to another individual, such as a child, dependent, pet, etc. These secondary profiles will also have data fields for information about primary care physicians, emergency contact information, medical records, etc.

图7B示出了符合健康保险携带和责任法案(HIPAA)合规性以及文档用户界面131的实施例。根据该用户界面131,示出与各种法规(诸如HIPPA)相关的信息,其后跟随适合的解释,以获得必要的准许。在各个实施例中,可生成链接或其它用户界面部件,其使得另一应用程序(诸如浏览器应用程序)为那些需要关于合规性细节进一步解释的人显示信息。查阅后,可出现电子签名和日期或时间戳的提示,以核实用户已经查阅该材料并获得必要的准许。FIG7B illustrates an embodiment of a Health Insurance Portability and Accountability Act (HIPAA) compliance and document user interface 131. According to this user interface 131, information related to various regulations (such as HIPAA) is presented, followed by appropriate explanations for obtaining necessary approvals. In various embodiments, a link or other user interface component may be generated that causes another application (such as a browser application) to display the information for those who require further explanation of the compliance details. After review, a prompt for an electronic signature and a date or time stamp may appear to verify that the user has reviewed the material and obtained the necessary approvals.

现在转而参见图7C,用户界面131示出了专用于获得个体的过往医疗信息的屏幕的一个实施例。图7C的用户界面131使得用户能够提供医学专业人士在过去给他们做出的医疗诊断。在各个实施例中,可包括智能文本、自动填充、下拉式建议和/或其它类似组成,以便于纠正最常见病症和/或疾病的拼写。客户端应用程序130还可获得与给出诊断的日期相关的数据。然后可以基于日期,按数字顺序对这些进行排列。在诊断未被列出的情形下,可获得自由文本选项。可为额外的、可能重要的信息创建额外的文本框。Turning now to FIG. 7C , a user interface 131 illustrates one embodiment of a screen dedicated to obtaining an individual's past medical information. The user interface 131 of FIG. 7C enables a user to provide medical diagnoses that medical professionals have given them in the past. In various embodiments, smart text, auto-fill, drop-down suggestions, and/or other similar components may be included to correct spellings for the most common conditions and/or diseases. The client application 130 may also obtain data related to the date the diagnosis was given. These may then be arranged in numerical order based on the date. In the event that a diagnosis is not listed, a free text option may be available. Additional text boxes may be created for additional, potentially important information.

图7D示出了用户界面131,其中通过提示用户提供所有之前的手术经历可获得过往手术信息。如上文所提示的,在各个实施例中,可包括智能文本、自动填充、下拉式建议和/或其它类似组成,以便于纠正大多数普通手术或医疗程序的拼写。如果知晓的话,也可获得这些手术程序的日期和机构。然后以具有手术程序被执行的日期和机构的相关数据字段的时间顺序来排列手术程序。在手术程序未被列出的情况中,可获得自由文本的选项。FIG7D illustrates a user interface 131 in which past surgical information is available by prompting the user to provide all previous surgical records. As noted above, in various embodiments, smart text, auto-fill, drop-down suggestions, and/or other similar features may be included to facilitate correct spelling for most common surgical or medical procedures. The dates and institutions of these procedures, if known, may also be available. The procedures are then arranged in chronological order with associated data fields for the date and institution where the procedure was performed. In the event that a procedure is not listed, a free text option may be provided.

接续参考图7E,其示出了用户界面131,该用户界面131示出了专用于获得当前和过往药物治疗的屏幕的实施例,其能够使用户提供当前或之前的药物。在各个实施例中,可包括智能文本、自动填充、下拉式建议和/或其它类似组成,以便于纠正大多数普通药物的拼写。可包括所提供药物开始时的日期、用药原因以及服药的剂量和频率。在用户不再服用的旧药的情况下,将包括用于药物停止的日期的字段并具有为何停止服用的原因。在药物未被列出的情况中,可获得自由文本的选项。7E , which shows a user interface 131 , which shows an embodiment of a screen dedicated to obtaining current and past medications, enabling a user to provide current or previous medications. In various embodiments, smart text, auto-fill, drop-down suggestions, and/or other similar components may be included to facilitate correct spelling of most common medications. The date when the medication was started, the reason for taking the medication, and the dosage and frequency of taking the medication may be included. In the case of an old medication that the user is no longer taking, a field for the date the medication was stopped will be included with the reason why it was stopped. In the case where a medication is not listed, a free text option may be available.

图7F示出了用户可提供当前和过往过敏、药物治疗、环境触发、动物和其它相关信息的用户界面131。在各个实施例中,可包括智能文本、自动填充、下拉式建议和/或其它类似组成,以便于纠正大多数普通药物和过敏原的拼写。还将包括对过敏原的反应的类型。将以具有对每个过敏原的反应类型的相关字段的数字顺序来放置这些。FIG7F shows a user interface 131 where a user can provide current and past allergies, medications, environmental triggers, animals, and other related information. In various embodiments, smart text, auto-fill, drop-down suggestions, and/or other similar features can be included to facilitate correct spelling for most common medications and allergens. The type of reaction to the allergen will also be included. These will be arranged in numerical order with a corresponding field for the type of reaction to each allergen.

在图7G的非限制示例中,示出了用户界面131,其使得用户能够提供与她或她的家族病史相关的信息。在一些实施例中,详细的常见临床问题可被呈现给用户,以建议其是否适用于家族病史。合适的数据字段可被用于非常见疾病。此外,可包括智能文本、自动填充、下拉式建议和/或其它类似组成,以便于纠正常见病症和/或疾病的拼写。如果适用,用户还可用年龄和去世年份来描述哪一家族成员具有该诊断。In the non-limiting example of Fig. 7G, user interface 131 is shown, which enables a user to provide information related to her or his family medical history. In some embodiments, detailed common clinical questions can be presented to the user to suggest whether they are applicable to family medical history. Suitable data fields can be used for uncommon diseases. In addition, smart text, automatic filling, drop-down suggestions and/or other similar components can be included to correct the spelling of common diseases and/or diseases. If applicable, the user can also describe which family member has the diagnosis by age and year of death.

图7H示出了专用于从用户获得社会历史的用户界面131的实施例。例如,一个表格可被呈现给用户,以提供与个人社会历史相关的信息。在一些实施例中,表格包括覆盖吸烟史、饮酒、国外旅行、教育程度等的数据字段。基于根据之前提供的出生日期推算的年龄,这还可包括详细的儿科信息,诸如家庭居住成员、家庭枪支、家庭宠物、铅和结核病接触等。FIG7H illustrates an embodiment of a user interface 131 specifically for obtaining a social history from a user. For example, a form may be presented to the user providing information related to an individual's social history. In some embodiments, the form includes fields for data covering smoking history, alcohol consumption, foreign travel, education, etc. Based on the age estimated from the previously provided date of birth, this may also include detailed pediatric information such as household members, household firearms, household pets, and exposure to lead and tuberculosis.

下面参考图7I,用户界面131示出了从用户获得免疫的实施例。可采用智能文本辅助用户正确地拼写免疫。可为出国旅行可能需要的通常不给予的免疫提供开放文本字段。在一些实施例中,提供免疫的日期可以为必填字段。可基于免疫的日期,以年月日次序来排列该信息。Referring now to FIG. 7I , user interface 131 illustrates an embodiment of obtaining immunizations from a user. Smart text may be employed to assist the user in correctly spelling immunizations. Open text fields may be provided for immunizations not typically administered that may be required for international travel. In some embodiments, the date the immunizations were provided may be a required field. The information may be arranged in chronological order based on the date of the immunization.

图7J示出了用户界面131一个实施例,其使得用户能够提供杂项笔记,该杂项笔记可仅本地保存用于用户访问,或者可被包括在机器可读标识符133中。例如,笔记可包括关于特定医疗经历的提醒。在各个实施例中,这可被限制为100个字符或其它适合的量,这并不是症状列表,而仅仅是特定访问的提醒。与任意其它部分一样,如果无需更新该信息,则该笔记页可保留为空。在一些实施例中,可从机器可读标识符133的数据中排除笔记字段中提供的数据。FIG7J illustrates one embodiment of a user interface 131 that enables a user to provide miscellaneous notes that may be saved locally only for user access, or may be included in the machine-readable identifier 133. For example, a note may include a reminder about a particular medical experience. In various embodiments, this may be limited to 100 characters or another suitable amount, and is not a list of symptoms, but merely a reminder of a particular visit. As with any other section, if the information does not need to be updated, the note page may be left empty. In some embodiments, the data provided in the note field may be excluded from the data in the machine-readable identifier 133.

图7K示出了在客户端装置显示器124中生成用户界面131的客户端装置106的另一附图。在图7K的非限制示例中,所示实施例中为用户提供之前提供给用户的信息。可以理解的是,在获得健康信息的实施例中,可理想地获得关于十一个器官系统中的一个或多个的信息。用户界面131可便于向医生或其它相关人员以用户、管理员预定义的格式或健康护理提供者指定的格式打印或传递信息包。这能够以医生更喜欢的格式来关联信息,且对于所有者和医生都是易读的。在其它示例中,用户界面131可接收与患者的药房、保险或其它相关对象有关的信息。该摄取过程可包括身体系统的核查以及健康筛查。FIG7K shows another diagram of a client device 106 generating a user interface 131 in the client device display 124. In the non-limiting example of FIG7K , the illustrated embodiment provides the user with information previously provided to the user. It will be appreciated that in embodiments where health information is obtained, information about one or more of eleven organ systems may be ideally obtained. The user interface 131 may facilitate printing or delivering an information package to a physician or other relevant personnel in a format predefined by the user, administrator, or specified by a healthcare provider. This allows information to be associated in a format that is more preferred by the physician and is easily readable by both the owner and the physician. In other examples, the user interface 131 may receive information related to the patient's pharmacy, insurance, or other relevant entities. This intake process may include a review of the body systems as well as health screenings.

此外,客户端应用程序130可以预定义格式组织在摄取过程中提供的信息。在一个示例中,信息可被以按年月日次序并且按主题(诸如过敏或药物)分类。对于信息为医疗数据的实施例,对健康护理提供者常见的按时间排列的格式提供了一种高效地呈现适用客户端应用程序130获得的数据的方式。其将提供健康护理提供者指定要求的所有健康信息。由于所提供的信息可为完整、准确的,因此其有助于通过正确地标识药物和过敏来限制医疗差错,以及提供被证明为对医生和提供者必要的完整的病例。Furthermore, the client application 130 can organize the information provided during the ingestion process in a predefined format. In one example, the information can be sorted by date and time and categorized by subject matter (such as allergies or medications). For embodiments in which the information is medical data, a chronological format common to healthcare providers provides an efficient way to present the data obtained by the client application 130. This will provide all the health information specified by the healthcare provider. Because the information provided can be complete and accurate, it helps limit medical errors by correctly identifying medications and allergies, as well as providing a complete medical record that is proven necessary for doctors and providers.

在被客户端应用程序130加密之前,数据可被格式化和/或压缩,或者读出应用程序136可在被解密和/或解压缩时格式化数据。因此,客户端应用程序130或读出应用程序136均可将数据格式化成预定义格式,诸如临床文档架构(CDA)格式,其包括由HealthLevel 7International开发的灵活的标记标准。CDA格式包括某些医疗记录的预定义结构,诸如出院小结和病程记录,以在患者和医疗专业人士之间交换信息。CDA格式允许包括文本、图像以及其他类型的多媒体(诸如音频和视频)。在另一实施例中,可由健康护理提供者通过读出应用程序136来指定格式。Prior to being encrypted by the client application 130, the data may be formatted and/or compressed, or the reader application 136 may format the data while being decrypted and/or decompressed. Thus, either the client application 130 or the reader application 136 may format the data into a predefined format, such as the Clinical Document Architecture (CDA) format, which includes a flexible tagging standard developed by HealthLevel 7 International. The CDA format includes predefined structures for certain medical records, such as discharge summaries and progress notes, to facilitate the exchange of information between patients and healthcare professionals. The CDA format allows for the inclusion of text, images, and other types of multimedia (such as audio and video). In another embodiment, the format may be specified by a healthcare provider via the reader application 136.

在各个实施例中,客户端应用程序130可将信息总结导出到Microsoft或其它适合的格式,用于用户在健康护理提供者的办公室中或访问之前打印。在一些实施例中,机器可读标识符133可被放置在所生成文档的角落中或另一合适的位置。使用读出装置109,根据具体实践的习惯,健康护理提供者可扫描来自客户端装置显示器124或文档的机器可读标识符133,以将该信息导入到图表或电子健康档案(EHR)。可以理解的是,当客户端应用程序130可被配置为在生成机器可读标识符133之前加密健康信息时,健康护理提供者的读出装置109能够解密机器可读标识符133提供的信息。因此,例如在坐在办公室时,客户端应用程序130的用户可绕开填写医疗摄取表格的漫长过程。由于用户提供的信息可被医疗专业人士更新,因此其有助于通过正确地标识药物和过敏来限制医疗差错,以及提供被证明为对医生必要的完整的病例。In various embodiments, the client application 130 can export the information summary to a Microsoft or other suitable format for the user to print at the healthcare provider's office or prior to a visit. In some embodiments, the machine-readable identifier 133 can be placed in a corner of the generated document or in another suitable location. Using the reader 109, the healthcare provider can scan the machine-readable identifier 133 from the client device display 124 or document, depending on the practices of the particular practice, to import the information into a chart or electronic health record (EHR). It will be appreciated that while the client application 130 can be configured to encrypt the health information before generating the machine-readable identifier 133, the healthcare provider's reader 109 can decrypt the information provided by the machine-readable identifier 133. Thus, for example, while sitting in an office, a user of the client application 130 can bypass the lengthy process of filling out a medical intake form. Because the information provided by the user can be updated by the healthcare professional, it helps limit medical errors by correctly identifying medications and allergies, and provides a complete medical record that is proven necessary for the physician.

客户端应用程序130可包括移动应用程序或通过浏览器应用程序访问的基于网页的应用程序。使用基于网页的应用程序的个体能够为所有者将总结信息转换为或格式,以在访问之前打印,且当会面结束时可以删除信息。在打印输出的角落,可示出相关的机器可读标识符133。The client application 130 may include a mobile application or a web-based application accessed through a browser application. An individual using the web-based application can convert the summary information into a format for the owner to print before the visit and delete the information when the visit is over. In the corner of the printout, the relevant machine-readable identifier 133 may be shown.

基于健康护理提供者的判定和能力,另一个实施例指定客户端应用程序130生成具有信息和/或机器可读标识符133的附件的电子邮件,以给健康护理提供者、职员或健康系统发送邮件并与其电子分享。所有者在访问之前在家里或当在健康护理提供者的等待室中时可将其完成。信息的格式将是健康护理提供者更喜欢的格式。从这点来看,其能够被打印以被添加到患者的纸质表中、被扫描或手动输入到电子医疗记录中。最后,其可被电链接到EHR或专有的电子医疗记录(EMR)系统。在电子分享该信息之前,可以再次要求所有者审核HIPAA法规以及电子签名和日期/时间戳,以审核该信息。Based on the judgment and ability of the health care provider, another embodiment specifies that the client application 130 generates an email with an attachment of information and/or machine-readable identifier 133 to send an email to the health care provider, staff or health system and share it electronically. The owner can complete it at home or when in the waiting room of the health care provider before the visit. The format of the information will be the format that the health care provider prefers. From this point of view, it can be printed to be added to the patient's paper table, scanned or manually entered into the electronic medical record. Finally, it can be electrically linked to an EHR or proprietary electronic medical record (EMR) system. Before electronically sharing this information, the owner can be required to review HIPAA regulations and electronic signatures and date/time stamps again to review this information.

此时转向图7L,示出了具有摄取过程中提供的用户输入的机器可读标识符133。通过将加密图像保存到读出装置109的镜头或照相机,加密的健康信息可被转移,以供读出装置109解释。在一些实施例中,被抚养人可通过捕捉机器可读标识符133的图像而将他或她的信息传递到父母的客户端装置106,反之亦然。当获得必要的准许时,密钥管理应用程序118便于适合的密码密钥121的传递。Turning now to FIG7L , a machine-readable identifier 133 is shown with user input provided during the capture process. By saving the encrypted image to the lens or camera of the reader 109, the encrypted health information can be transferred for interpretation by the reader 109. In some embodiments, a dependent can transfer his or her information to a parent's client device 106, or vice versa, by capturing an image of the machine-readable identifier 133. When the necessary permissions are obtained, the key management application 118 facilitates the transfer of the appropriate cryptographic key 121.

参考图7M,客户端应用程序130的用户可指定密码密钥121和数据的接收方(诸如读出装置109或不同的客户端装置106的所有者)。在其它实施例中,可由客户端应用程序130或密钥管理应用程序118伪随机地生成密码密钥121。如果由客户端应用程序130生成,则密码密钥121被传送到密钥管理应用程序118,该密钥管理应用程序118转而根据客户端应用程序130的用户的指示将密码密钥121传达给读出装置109或其它客户端装置106。例如,客户端装置106的用户可将传送给一个或多个读出装置109的密码密钥121与“AtlantaHealth”提供者相关联。在其它实施例中,基于提供者的选择而使用预定义的密码密钥121。例如,密钥管理应用程序118可为“Atlanta Health”提供者存储一个或多个密码密钥121。当“Atlanta Health”被选择时,客户端应用程序130可使用相关联于“Atlanta Health”提供者而存储的一个或多个密码密钥121,来加密用于机器可读标识符133中的信息。7M , a user of a client application 130 can specify a recipient of the cryptographic key 121 and the data (such as the owner of a reader device 109 or a different client device 106). In other embodiments, the cryptographic key 121 can be pseudo-randomly generated by the client application 130 or the key management application 118. If generated by the client application 130, the cryptographic key 121 is transmitted to the key management application 118, which in turn communicates the cryptographic key 121 to the reader device 109 or other client devices 106 according to the instructions of the user of the client application 130. For example, a user of a client device 106 can associate the cryptographic key 121 transmitted to one or more reader devices 109 with the "Atlanta Health" provider. In other embodiments, predefined cryptographic keys 121 are used based on the selection of a provider. For example, the key management application 118 can store one or more cryptographic keys 121 for the "Atlanta Health" provider. When “Atlanta Health” is selected, the client application 130 may encrypt information for use in the machine-readable identifier 133 using one or more cryptographic keys 121 stored in association with the “Atlanta Health” provider.

在其它实施例中,密码密钥121可被设置为出生日期、社会保险号码或不会被广泛地或公共地获得的其它常数。然后,可允许获得对于读出和传递以加密的QR图像代表的信息所必需的软件的任何健康护理提供者电子地、无线地即刻提取用户输入。在一些实施例中,可采用额外的安全层,其中可能要求信息的接收方在信息将被解密之前,输入针对初始用户的另一标识符,诸如出生日期或社会保险号码。In other embodiments, the cryptographic key 121 may be set to a date of birth, a social security number, or other constant that is not widely or publicly available. Any healthcare provider with access to the software necessary to read and transmit the information represented by the encrypted QR image may then be allowed to instantly extract the user input electronically and wirelessly. In some embodiments, an additional layer of security may be employed in which the recipient of the information may be required to enter another identifier for the original user, such as a date of birth or a social security number, before the information will be decrypted.

可通过将机器可读标识符133保存至健康护理提供者或其它相关人员拥有的读出装置109或另一客户端装置106的照相机镜头来完成提取信息的过程。可以理解的是,这可通过管理部门中的人员在一分钟内或更短时间内完成。然后,所获得的信息可被读出应用程序136或读出装置109上的其它应用程序使用,以被添加到患者的纸质图中或电子医疗记录系统中。此外,读出应用程序136可被配置为自动地填充第三方EMR系统中的字段。The process of extracting information can be accomplished by saving the machine-readable identifier 133 to a reader device 109 or a camera lens of another client device 106 owned by a healthcare provider or other relevant personnel. It will be appreciated that this can be accomplished by personnel in the administrative department in a minute or less. The obtained information can then be used by a reader application 136 or other applications on the reader device 109 to be added to the patient's paper chart or electronic medical record system. Furthermore, the reader application 136 can be configured to automatically populate fields in a third-party EMR system.

下面参考图7N,客户端应用程序130可便于从一个客户端装置106向另一个发送加密的消息。在一个示例中,客户端应用程序130允许患者直接与他或她的健康提供者交流。客户端应用程序130可加密由客户端装置106的用户生成的消息,并通过网络112将该加密的消息发送到直接消息传递服务122。然后,直接消息传递服务122可将加密的信息传送到接收方客户端装置106。在其它实施例中,可使用机器可读标识符133在客户端装置106之间传递消息。客户端应用程序130还可便于机器可读标识符133通过直接消息传递服务122的传输。Referring now to FIG7N , the client application 130 can facilitate sending encrypted messages from one client device 106 to another. In one example, the client application 130 allows a patient to communicate directly with his or her health provider. The client application 130 can encrypt a message generated by a user of the client device 106 and send the encrypted message to the direct messaging service 122 via the network 112. The direct messaging service 122 can then transmit the encrypted message to the recipient client device 106. In other embodiments, a machine-readable identifier 133 can be used to transmit messages between client devices 106. The client application 130 can also facilitate the transmission of the machine-readable identifier 133 via the direct messaging service 122.

此时转至图8,其示出了伪代码800,在配置客户端应用程序130、读出应用程序136或用以生成矩阵码或其它类型的机器可读标识符133的其它合适应用程序时,可执行该伪代码800。例如,伪代码的行01中的功能可被以编程的方式调用,以生成矩阵码。行02接收将被包括在机器可读标识符133中的用户输入,诸如在通过呈现图7A至图7K的用户界面131而执行的摄取过程中提供的用户输入。由于用户输入被本地存储在客户端装置106上,因此其可被合适地查询。Turning now to FIG. 8 , pseudocode 800 is shown that can be executed when configuring the client application 130, the reader application 136, or other suitable application to generate a matrix code or other type of machine-readable identifier 133. For example, the function in line 01 of the pseudocode can be called programmatically to generate a matrix code. Line 02 receives user input to be included in the machine-readable identifier 133, such as user input provided during the ingestion process performed by presenting the user interface 131 of FIG. 7A through FIG. 7K . Because the user input is stored locally on the client device 106, it can be appropriately queried.

在行03中,使用合适的函数调用获得密码密钥121。在图8的实施例中,基于为特定读出装置109提供的标识符获得密码密钥121。例如,客户端应用程序130的用户可指定预期的数据接收方。在其它实施例中,用户可指定他或她自己的密码密钥121。在其它实施例中,可使用出生日期、社会保险号码或用户提供的其它信息来伪随机地生成或确定密码密钥121。In line 03, a cryptographic key 121 is obtained using an appropriate function call. In the embodiment of FIG8 , the cryptographic key 121 is obtained based on an identifier provided for a particular reader 109. For example, a user of the client application 130 may specify the intended recipient of the data. In other embodiments, the user may specify their own cryptographic key 121. In other embodiments, the cryptographic key 121 may be pseudo-randomly generated or determined using a date of birth, social security number, or other user-provided information.

在行04中,建立模式指示符309。在图8的示例中,模式指示符被设置为“0010”,其指示字母数字模式。在行05中,确定输入数据的字符计数。在行06中,进行函数调用,以实现合适的功能,该功能使用密码密钥121加密用户输入,返回加密字符串或其它合适的变量类型。在行07中,使用合适的函数调用确定Reed-Solomon错误代码。在行08-09中,数据被格式化。在行10中,格式化的数据被提供为可编程函数调用的变量,以生成以图像或其它合适格式的机器可读标识符133。In line 04, a mode indicator 309 is established. In the example of FIG8 , the mode indicator is set to "0010," which indicates alphanumeric mode. In line 05, the character count of the input data is determined. In line 06, a function call is made to implement an appropriate function that encrypts the user input using the cryptographic key 121 and returns an encrypted string or other appropriate variable type. In line 07, a Reed-Solomon error code is determined using an appropriate function call. In lines 08-09, the data is formatted. In line 10, the formatted data is provided as an argument to a programmable function call to generate a machine-readable identifier 133 in an image or other appropriate format.

现在转至图9,其示出了从外部来源导入数据的客户端应用程序130的另一个示例。如上文所述,在一些情形中,可在读出装置109或能够访问解密信息的其它装置上操作客户端应用程序130的用户提供的输入数据。例如,医生可将数据更新或修改成包括最新的血压读数、体重测量、血糖水平测量或其它信息。用户可能会希望将该更新后的信息存储在他或她的客户端装置106上,以保持更完整和精确的病例。在一些实施例中,读出应用程序136可生成能够打印的文档900,以插入实体医疗文件中。Turning now to FIG. 9 , another example of a client application 130 importing data from an external source is shown. As described above, in some cases, the input data provided by the user of the client application 130 can be manipulated on a reader device 109 or other device capable of accessing decrypted information. For example, a physician may update or modify the data to include the latest blood pressure reading, weight measurement, blood sugar level measurement, or other information. The user may wish to store this updated information on his or her client device 106 to maintain a more complete and accurate medical record. In some embodiments, the reader application 136 may generate a document 900 that can be printed for insertion into a physical medical file.

读出应用程序136可利用其密码密钥121生成具有机器可读标识符133a...133b的文档900。密钥管理应用程序118可基于读出装置109或生成机器可读标识符133的其它装置为客户端装置106提供合适的密码密钥121。客户端应用程序130可便于捕捉位于文档900上的机器可读标识符133的一幅或多幅图像。一旦机器可读标识符133的图像在客户端装置106上被获得并解密,客户端装置106可更新本地存储的信息和/或在用户界面中自动填充字段以供用户审核。The reader application 136 can use its cryptographic key 121 to generate a document 900 having machine-readable identifiers 133a...133b. The key management application 118 can provide the client device 106 with the appropriate cryptographic key 121 based on the reader device 109 or other device that generated the machine-readable identifier 133. The client application 130 can facilitate capturing one or more images of the machine-readable identifier 133 located on the document 900. Once the image of the machine-readable identifier 133 is obtained and decrypted on the client device 106, the client device 106 can update locally stored information and/or automatically populate fields in the user interface for user review.

在各个实施例中,使用密码密钥121来加密由读出应用程序136生成的机器可读标识符133的底层数据,仅客户端装置106和读出装置109可获得该密码密钥121。客户端应用程序130可解密底层数据并将数据本地存储在客户端装置106上。如果用户完成了部分摄取过程,则更新后数据可被提供在用户界面131中的自动填充字段中。In various embodiments, the underlying data of the machine-readable identifier 133 generated by the reader application 136 is encrypted using a cryptographic key 121, which is available only to the client device 106 and the reader device 109. The client application 130 can decrypt the underlying data and store the data locally on the client device 106. If the user completes a portion of the ingestion process, the updated data can be provided in an auto-fill field in the user interface 131.

多个安全机制被构建于代码和客户端应用程序130的执行中。因为潜在的关键信息的广度,在各个实施例中,该信息被本地存储在客户端装置106上。因此,该信息通过“云”的潜在损失可被减少或消除。在各个实施例中,客户端应用程序130可与基于云的系统结合,用于远程输入和更新信息。Multiple security mechanisms are built into the code and execution of the client application 130. Because of the breadth of potentially critical information, in various embodiments, this information is stored locally on the client device 106. Thus, the potential loss of this information via the "cloud" can be reduced or eliminated. In various embodiments, the client application 130 can integrate with cloud-based systems for remote input and updating of information.

除了在智能手机或其它类型的客户端装置106上提供的默认密码保护,还需要额外的密码或个人标识符号码(PIN),以访问客户端应用程序130的特征。连续预定义次数(例如5次)的错误密码会使客户端应用程序的使用失效预定义时间段,诸如24小时。在电子地分享该信息之前,需要表示所有者允许分享该信息的额外标识符。In addition to the default password protection provided on a smartphone or other type of client device 106, an additional password or personal identifier number (PIN) is required to access features of the client application 130. A predefined number of consecutive incorrect passwords (e.g., 5) will disable the use of the client application for a predefined period of time, such as 24 hours. Before the information can be shared electronically, an additional identifier is required indicating the owner's permission to share the information.

在各个实施例中,被允许从机器可读标识符133撤回信息的健康护理提供者还可被允许更新或扩增信息,并将更新的或扩增的信息以另一种机器可读标识符133的形式提供回所有者。因此,更新的信息可与已经存在于客户端装置106上的信息相协调。以这种方式,所有者将不必输入新的信息,因为这将被客户端应用程序130完成。这还可包括合并移动装置日历的对未来访问的提醒、药物填充的提醒等。在另一示例中,客户端应用程序130可与药房电子地协调药物治疗。In various embodiments, a healthcare provider who is permitted to withdraw information from a machine-readable identifier 133 may also be permitted to update or augment the information and provide the updated or augmented information back to the owner in the form of another machine-readable identifier 133. Thus, the updated information may be reconciled with information already present on the client device 106. In this manner, the owner will not have to enter new information, as this will be accomplished by the client application 130. This may also include incorporating reminders from the mobile device calendar for future visits, medication refills, and the like. In another example, the client application 130 may electronically coordinate medication therapy with a pharmacy.

客户端应用程序130可体现为多个版本,其中每个版本使用不同的语言,诸如英语、西班牙语、法语或其它语言。如果需要的话,翻译服务120可将用户输入从用户语言翻译到接收方语言。这可发生在对用于机器可读标识符133中的数据编码之前,或者读出应用程序136一解码信息,这就发生。对于当更高级的交流或英语医学术语未知的那些情况,该信息被用于辅助医疗或其它类型的评估。The client application 130 may be implemented in multiple versions, each in a different language, such as English, Spanish, French, or other languages. If necessary, the translation service 120 can translate user input from the user's language to the recipient's language. This can occur before encoding the data in the machine-readable identifier 133, or once the reader application 136 decodes the information. This information can be used to assist in medical or other types of assessments, for those situations where more advanced communication or English medical terminology is unknown.

在一个实施例中,机器可读标识符133可被编码在客户端装置106的“锁定屏幕”中,因此,无权访问电话的人可获得重要的标识、健康或联系信息的,而不必解锁客户端装置106。在其它实施例中可在客户端装置106上或读出装置109上定期地(例如,在所用会面结束时)擦除摄取过程中提供的信息。In one embodiment, the machine-readable identifier 133 may be encoded in a "lock screen" of the client device 106 so that a person without access to the phone can obtain important identification, health, or contact information without having to unlock the client device 106. In other embodiments, the information provided during the capture process may be periodically erased on the client device 106 or on the reader 109 (e.g., at the end of the session).

接续参考图10,其示出了一个流程图,该流程图提供了根据各个实施例的客户端应用程序130的一部分的操作的一个示例。可以理解的是,图10的流程图仅提供了可被用于执行如本文所述客户端应用程序130的部分的操作的多个不同类型功能布局中的一个示例。可替代地,图10的流程图可被视为描述根据一个或多个实施例的在客户端装置106中执行的方法的元素的示例。Continuing with FIG10 , a flowchart is shown that provides an example of the operation of a portion of the client application 130 according to various embodiments. It will be appreciated that the flowchart of FIG10 provides only one example of a plurality of different types of functional arrangements that may be used to perform the operation of the portion of the client application 130 as described herein. Alternatively, the flowchart of FIG10 may be viewed as an example of elements of a method performed in the client device 106 according to one or more embodiments.

从步骤1003开始,客户端应用程序130被执行为从用户为一个或多个个体(诸如被抚养人、宠物或其它动物等)获得信息,诸如健康信息。这可通过使用用户界面131来完成,用户界面131接下来被呈现在摄取过程中,在摄取过程中用户在一个或多个会面过程中循环访问用户界面131。然后,在步骤1006中,客户端应用程序130用户是否已经确收HIPPA通知。如果HIPPA通知没有被确收,则HIPAA通知可被描述给用户,步骤可返回1003或继续至结尾。如果用户已经确收HIPAA通知,则步骤行进至1009,其中根据一个或多个预定义加密标准和格式来加密用户提供的基本信息、健康信息或其它信息。Beginning at step 1003, the client application 130 is executed to obtain information, such as health information, from the user for one or more individuals (such as dependents, pets, or other animals). This may be accomplished using the user interface 131, which is then presented during an ingestion process, during which the user cycles through the user interface 131 during one or more sessions. Then, in step 1006, the client application 130 inquires with the user whether or not the HIPAA notification has been acknowledged. If the HIPAA notification has not been acknowledged, the HIPAA notification may be presented to the user, and the steps may return to 1003 or continue to the end. If the user has acknowledged the HIPAA notification, the steps proceed to 1009, where the basic information, health information, or other information provided by the user is encrypted according to one or more predefined encryption standards and formats.

在各个实施例中,使用一个或多个密码密钥121来加密数据。在各个实施例中,密码密钥121包括用户提供的信息,诸如出生日期、姓氏、名字、社会保险号码、它们的组合或其它潜在的独特信息。在1012中,加密的信息被用于生成机器可读标识符133,诸如二维码或矩阵码。参照图6和图8描述了用于生成机器可读标识符的步骤。In various embodiments, data is encrypted using one or more cryptographic keys 121. In various embodiments, cryptographic keys 121 include user-provided information, such as date of birth, first name, last name, social security number, a combination thereof, or other potentially unique information. At 1012, the encrypted information is used to generate a machine-readable identifier 133, such as a QR code or matrix code. The steps for generating a machine-readable identifier are described with reference to Figures 6 and 8.

返回至图10,在步骤1015中,可以利用询问用户是否希望在客户端装置显示器124上显示生成的机器可读标识符133的额外通知来提示用户。最后,在步骤1018中,机器可读标识符可被编码在用户界面131中,以呈现在客户端装置显示器124中。此时,用户能够提供机器可读标识符133以用于被读出装置109扫描,或者用户可打印含有信息且并其上具有机器可读标识符133的文档。10 , in step 1015, the user may be prompted with an additional notification asking if the user wishes to display the generated machine-readable identifier 133 on the client device display 124. Finally, in step 1018, the machine-readable identifier may be encoded in the user interface 131 for presentation on the client device display 124. At this point, the user can provide the machine-readable identifier 133 for scanning by the reader 109, or the user can print a document containing the information and having the machine-readable identifier 133 thereon.

接续参考图11,其示出了一个流程图,该流程图提供了根据各个实施例的客户端应用程序130的一部分的操作的另一个示例。可以理解的是,图11的流程图仅提供了可被用于执行如本文所述客户端应用程序130的部分的操作的多个不同类型功能布局中的一个示例。可替代地,图11的流程图可被视为描述根据一个或多个实施例的在客户端装置106中执行的方法的元素的示例。11 , a flowchart is shown that provides another example of the operation of a portion of the client application 130 according to various embodiments. It will be appreciated that the flowchart of FIG11 provides only one example of a plurality of different types of functional arrangements that may be used to perform the operation of the portion of the client application 130 as described herein. Alternatively, the flowchart of FIG11 may be viewed as an example of elements of a method performed in the client device 106 according to one or more embodiments.

从步骤1103开始,可在客户端装置106上执行的客户端应用程序130可被配置为访问与第一装置配置文件148a相关联的第一密码密钥121a。类似地,在步骤1106中,客户端应用程序130可访问通过网络112接收的、与第二装置配置文件148b相关联的第二密码密钥121b。可以理解的是,第一密码密钥121a和第二密码密钥121b可由密钥管理应用程序118或其它类似服务通过网络112发送到客户端装置106。第一密码密钥121a和第二密码密钥121b可响应于某一实体或组织(诸如医疗机构或医疗专业人士)的选择而被提供给客户端应用程序130。在一个示例中,第一密码密钥121a与第一医疗提供者相关联。第一医疗提供者可拥有或操作与第一装置配置文件148a相关联的并且其上存储有第一密码密钥121a的第一读出装置109a。类似地,第二密码密钥121b与第二医疗提供者相关联,由此,第二医疗提供者可拥有或操作与第二装置配置文件148b相关联的并且其上存储有第二密码密钥121b的第二读出装置109b。Beginning at step 1103, a client application 130 executable on a client device 106 may be configured to access a first cryptographic key 121a associated with a first device profile 148a. Similarly, at step 1106, the client application 130 may access a second cryptographic key 121b associated with a second device profile 148b, received via the network 112. It will be appreciated that the first and second cryptographic keys 121a, 121b may be sent to the client device 106 via the network 112 by a key management application 118 or other similar service. The first and second cryptographic keys 121a, 121b may be provided to the client application 130 in response to a selection by an entity or organization, such as a medical institution or medical professional. In one example, the first cryptographic key 121a is associated with a first medical provider. The first medical provider may own or operate a first reader device 109a associated with the first device profile 148a and having the first cryptographic key 121a stored thereon. Similarly, the second cryptographic key 121b is associated with a second medical provider, whereby the second medical provider may own or operate a second reader device 109b that is associated with a second device profile 148b and has the second cryptographic key 121b stored thereon.

因为客户端应用程序130便于通过摄取过程从用户收集输入数据,因此在步骤1109中,输入数据可被访问,用于包含在机器可读标识符133中。摄取过程可包括一些列用户界面131,这些用户界面131提示使用者输入各种数据,诸如图7A至图7K中所示的那些。在步骤1112中,客户端应用程序130会将输入数据分割、划分或以其它方式格式化成至少第一数据部分和第二数据部分。例如,第一数据部分能够被全科医生的装置解释,而第二数据部分能够被脊椎按摩师的装置解释。Because the client application 130 facilitates collecting input data from the user through an ingestion process, the input data can be accessed for inclusion in the machine-readable identifier 133 in step 1109. The ingestion process can include a series of user interfaces 131 that prompt the user to enter various data, such as those shown in Figures 7A through 7K. In step 1112, the client application 130 can segment, partition, or otherwise format the input data into at least a first data portion and a second data portion. For example, the first data portion can be interpreted by a general practitioner's device, while the second data portion can be interpreted by a chiropractor's device.

接下来,在步骤1115中,客户端应用程序130可使用第一密码密钥121a加密第一数据部分,同时在步骤1118中,客户端应用程序130可使用第二密码密钥121b加密第二数据部分。在计算环境103中操作的密钥管理应用程序118可监督能够在用户的授权下解密数据的密码密钥121的传送和接收。可替代地,在其它实施例中,读出装置109可与存储在计算环境103的数据存储115中的预定义密码密钥121相关联。密钥管理应用程序118可为特定读出装置109向客户端应用程序130提供密码密钥121,从而使信息被加密,以供读出装置109或其它客户端装置106访问。Next, in step 1115, the client application 130 may encrypt the first data portion using the first cryptographic key 121a, while in step 1118, the client application 130 may encrypt the second data portion using the second cryptographic key 121b. A key management application 118 operating in the computing environment 103 may oversee the transmission and receipt of cryptographic keys 121 capable of decrypting data with the user's authorization. Alternatively, in other embodiments, the reader 109 may be associated with a predefined cryptographic key 121 stored in the data store 115 of the computing environment 103. The key management application 118 may provide the client application 130 with the cryptographic key 121 for a particular reader 109, thereby encrypting the information for access by the reader 109 or other client devices 106.

在步骤1121中,客户端应用程序130可使用解密的第一数据部分和解密的第二数据部分生成机器可读标识符133,以呈现在客户端装置显示器124中。读出装置109可捕捉机器可读标识符133的一幅或多幅图像,以访问底层数据。In step 1121, client application 130 may use the decrypted first data portion and the decrypted second data portion to generate a machine-readable identifier 133 for presentation on client device display 124. Reading device 109 may capture one or more images of machine-readable identifier 133 to access the underlying data.

在其它实施例中,客户端应用程序的用户可将装置配置文件148(诸如与全科医生有关的一个)与高等级访问相关联,在该等级访问中,全科医生能够使用他或她的装置109,以访问客户端应用程序130的用户提供的所有或大量的输入数据。密钥管理应用程序118可向全科医生的读出装置109以及用户的客户端装置106发送密码密钥121。类似地,密钥管理应用程序118可向脊椎按摩师或其它医疗提供者的读出装置109发送不同的密码密钥121。客户端应用程序130可将授权数据编码,以供使用对应于全科医生的读出装置109的密码密钥121的全科医生接收,同时将授权数据编码,以供使用对于脊椎按摩师的读出装置109的不同密码密钥121的脊椎按摩师接收。为此,使用单个机器可读标识符133,提供了对机器可读标识符133的底层数据的访问控制。其后,程序行至终止。In other embodiments, a user of the client application may associate a device profile 148 (such as one associated with a general practitioner) with a high level of access, enabling the general practitioner to use his or her device 109 to access all or a substantial amount of input data provided by the user of the client application 130. The key management application 118 may send a cryptographic key 121 to the general practitioner's reading device 109 and the user's client device 106. Similarly, the key management application 118 may send a different cryptographic key 121 to the reading device 109 of a chiropractor or other medical provider. The client application 130 may encode authorization data for receipt by the general practitioner using the cryptographic key 121 corresponding to the general practitioner's reading device 109, while simultaneously encoding authorization data for receipt by the chiropractor using a different cryptographic key 121 for the chiropractor's reading device 109. To this end, a single machine-readable identifier 133 is used to provide access control to the data underlying the machine-readable identifier 133. The program then terminates.

在一些实施例中,可定义与第一数据部分相关联的第一访问等级152a。例如,用户可将所需的低访问等级152与他的个人信息相关联,同时将所需的高访问等级152与他的病例相关联。与高访问等级152相关联的读出装置109既可访问病例也可访问个人信息,而与低访问等级152相关联的读出装置109仅可访问个人信息。在一个示例中,根据运动员或父母的授权,儿童的教练可将低访问等级152授权给一客户端装置106,该客户端装置106用于访问运动员的紧急联系信息。In some embodiments, a first access level 152a associated with the first data portion can be defined. For example, a user can associate a desired low access level 152 with their personal information and a desired high access level 152 with their medical records. Reading devices 109 associated with the high access level 152 can access both the medical records and the personal information, while reading devices 109 associated with the low access level 152 can only access the personal information. In one example, based on authorization by the athlete or parent, a child's coach can grant a low access level 152 to a client device 106 for accessing the athlete's emergency contact information.

换句话说,访问等级152可被用于确定读出装置109可访问数据的哪一部分。用户还可通过客户端应用程序130定义哪个实体(诸如医疗机构)有权访问与各个访问等级152相关联的数据。为此,与第一数据部分相关联的第一访问等级152a和与第二数据部分相关联的第二访问等级152b可被标识,其中将至少部分地基于第一访问等级152a使用第一密码密钥121a来解密第一数据部分,并且将至少部分地基于第二访问等级152b使用第二密码密钥121b来解密第二数据部分。可以理解的是,第一访问等级152a可以与第二访问等级152b不同。In other words, the access level 152 can be used to determine which portion of the data the reader 109 can access. The user can also define, through the client application 130, which entity (such as a medical institution) has access to the data associated with each access level 152. To this end, a first access level 152a associated with a first portion of data and a second access level 152b associated with a second portion of data can be identified, where the first portion of data will be decrypted using the first cryptographic key 121a based at least in part on the first access level 152a, and the second portion of data will be decrypted using the second cryptographic key 121b based at least in part on the second access level 152b. It will be appreciated that the first access level 152a can be different from the second access level 152b.

接续参考图12,其示出了一个流程图,该流程图提供了根据各个实施例的客户端应用程序130的一部分的操作的另一个示例。可以理解的是,图12的流程图仅提供了可被用于执行如本文所述客户端应用程序130的部分的操作的多个不同类型功能布局中的一个示例。可替代地,图12的流程图可被视为描述根据一个或多个实施例的在客户端装置106中执行的方法的元素的示例。Continuing with FIG12 , a flowchart is shown that provides another example of the operation of a portion of the client application 130 according to various embodiments. It will be appreciated that the flowchart of FIG12 provides only one example of a plurality of different types of functional arrangements that may be used to perform the operation of the portion of the client application 130 as described herein. Alternatively, the flowchart of FIG12 may be viewed as an example of elements of a method performed in the client device 106 according to one or more embodiments.

从步骤1203开始,客户端应用程序130可标识与客户端装置106通信的照相机或其它成像装置捕捉的图像中的机器可读标识符133。例如,机器可读标识符133可以是读出装置109生成的一个机器可读标识符133,以提供更新的、补充的或其它操作数据,该数据最初由客户端应用程序130的用户使用摄取过程完成后生成的初始机器可读标识符133来提供。可以理解的是,可从客户端装置106上生成的初始机器可读标识符133获得被读出装置109修改的数据。可通过客户端装置106获得机器可读标识符133的图像,以更新其本地存储的数据。可从如图2所示的读出装置显示器127、从另一客户端装置106的显示器或从如图9所示的文档900中捕捉图像。Beginning at step 1203, the client application 130 may identify a machine-readable identifier 133 in an image captured by a camera or other imaging device in communication with the client device 106. For example, the machine-readable identifier 133 may be one generated by the reader 109 to provide updated, supplemental, or other operational data that was initially provided by a user of the client application 130 using an initial machine-readable identifier 133 generated after the capture process was complete. It will be appreciated that data modified by the reader 109 may be obtained from the initial machine-readable identifier 133 generated on the client device 106. An image of the machine-readable identifier 133 may be obtained by the client device 106 to update its locally stored data. The image may be captured from the reader display 127, as shown in FIG. 2 , from the display of another client device 106, or from a document 900, as shown in FIG. 9 .

接下来,在步骤1206中,机器可读标识符133被解码,以标识大量的加密数据。在步骤1209中,客户端应用程序130可使用与来自原始装置的装置配置文件148相关联的密码密钥121来解密所述大量的加密数据,从该原始装置获得机器可读标识符133。在一些实施例中,从机器可读标识符133读出的大量数据可为公开的(非加密的),其标识从中获得机器可读标识符133的读出装置109,其中任何装置可解码所述大量的数据。所述大量数据可包括装置标识符145和/或标识被授权访问加密数据的人或客户端装置106的唯一标识符。如果客户端装置106被这样授权,则客户端应用程序130可将装置标识符145传达到计算环境103,以获得密码密钥121。Next, in step 1206, the machine-readable identifier 133 is decoded to identify the volume of encrypted data. In step 1209, the client application 130 may decrypt the volume of encrypted data using the cryptographic key 121 associated with the device configuration file 148 from the original device from which the machine-readable identifier 133 was obtained. In some embodiments, the volume of data read from the machine-readable identifier 133 may be public (unencrypted) and identify the reading device 109 from which the machine-readable identifier 133 was obtained, wherein any device may decode the volume of data. The volume of data may include the device identifier 145 and/or a unique identifier that identifies a person or client device 106 authorized to access the encrypted data. If the client device 106 is so authorized, the client application 130 may communicate the device identifier 145 to the computing environment 103 to obtain the cryptographic key 121.

在步骤1212中,从机器可读标识符133获得的解密数据可被用于更新或补充本地存储在客户端装置106上的数据。在一些情形中,解密的数据可能与用户提供的数据冲突。例如,用户通过第一机器可读标识符133向读出装置109提供的部分数据可能已经被改变了。可替代地,可利用医生读取的、之前用户未知的读数来扩增用户提供的数据。In step 1212, the decrypted data obtained from the machine-readable identifier 133 can be used to update or supplement the data stored locally on the client device 106. In some cases, the decrypted data may conflict with the user-provided data. For example, some of the data provided by the user to the readout device 109 via the first machine-readable identifier 133 may have been altered. Alternatively, the user-provided data can be augmented with a reading taken by a physician that was previously unknown to the user.

因此,在步骤1215中,例如通过摄取过程,客户端应用程序130确定解密数据与用户提供的数据之间是否存在冲突。例如,如果用户使用他或她的客户端装置106提供的数据在任何方面均不同于读出装置106返回的数据,则数据可能冲突。例如,使用读出装置109,医生或护士可更新用户提供的数据,以反映最近的读数或测量。可替代地,使用读出装置109,医生或护士可扩增用户提供的数据。在任一情况中,当两组数据不同时,数据之间的冲突被标识。DIFF功能或类似的功能可被采用,以标识数据中存在冲突的具体部分。Thus, in step 1215, client application 130 determines, for example, through an ingestion process, whether there is a conflict between the decrypted data and the user-provided data. For example, if the data provided by the user using his or her client device 106 differs in any way from the data returned by reader 106, the data may conflict. For example, using reader 109, a doctor or nurse can update the user-provided data to reflect the most recent reading or measurement. Alternatively, using reader 109, a doctor or nurse can augment the user-provided data. In either case, when the two sets of data differ, a conflict between the data is identified. A DIFF function or similar function can be employed to identify the specific portion of the data where the conflict exists.

如果数据之间的冲突存在,则程序行进至步骤1218,以协调或以其它方式解决数据冲突。在一些实施例中,关于冲突的信息可被呈现给用户,其中用户可选择保留用户提供的原始数据还是用读出装置109提供的数据更新数据。在其它实施例中,读出装置109提供的数据可自动地替换用户提供的数据,或被自动地添加到客户端装置106的存储器中以扩增用户在摄取过程中提供的数据。If a conflict exists between the data, the process proceeds to step 1218 to reconcile or otherwise resolve the data conflict. In some embodiments, information regarding the conflict may be presented to the user, where the user may choose to retain the original data provided by the user or update the data with the data provided by the reader 109. In other embodiments, the data provided by the reader 109 may automatically replace the data provided by the user or be automatically added to the memory of the client device 106 to augment the data provided by the user during the ingestion process.

在一些示例中,数据的一些部分可与不同的访问等级152相关联,不同的访问等级与特定类型的数据相关。例如,如果医疗提供者更新存储在客户端装置106上的医疗数据,因为医疗提供者可被用户(或默认)分配高的访问等级152,所以相对于用户会更顺从医疗提供者。在另一示例中,如果医疗提供者为客户端装置106的用户更新了个人信息(诸如电话号码或地址),则因为用户可能更加熟悉他或她自己的电话号码和地址,所以更顺从用户。换句话说,医疗提供者可对于医疗信息具有高的访问等级152,而对个人信息具有低的访问等级152。In some examples, portions of the data may be associated with different access levels 152, with different access levels being associated with specific types of data. For example, if a medical provider updates medical data stored on a client device 106, the user may be more compliant with the medical provider because the medical provider may have been assigned a high access level 152 by the user (or by default). In another example, if the medical provider updates personal information (such as a phone number or address) for a user of the client device 106, the user may be more compliant because the user may be more familiar with their own phone number and address. In other words, the medical provider may have a high access level 152 for medical information and a low access level 152 for personal information.

可替代地,如果数据冲突不存在,则程序进行至步骤1221,其中在将来的摄取过程中,可用从机器可读标识符133获得的数据自动地填充用户界面131中的字段。其后,程序行至终止。Alternatively, if no data conflicts exist, the process proceeds to step 1221, where, during future ingestion processes, the fields in the user interface 131 may be automatically populated with data obtained from the machine-readable identifier 133. Thereafter, the process terminates.

参考图13,其示出了根据各个实施例的密钥管理应用程序118的一部分的操作的示例的流程图。可以理解的是,如本文所述,图13的流程图仅提供了可被用于执行密钥管理应用程序118的部分的操作的多个不同类型功能布局中的一个示例。可替代地,图13的流程图可被视为描述根据一个或多个实施例的在计算环境103中执行的方法的元素的示例。Referring to FIG13 , a flowchart illustrating an example of the operation of a portion of the key management application 118 according to various embodiments is shown. It will be appreciated that the flowchart of FIG13 provides only one example of a plurality of different types of functional arrangements that may be used to perform the operation of the portion of the key management application 118, as described herein. Alternatively, the flowchart of FIG13 may be viewed as an example of describing elements of a method performed in the computing environment 103 according to one or more embodiments.

从步骤1303开始,从客户端装置106接收一个实体(诸如医疗提供者)的选择,其中在客户端应用程序130中做出该选择。例如,用户可指定他或她希望分享摄取过程中提供的输入数据的实体。在一个示例中,用户可在客户端应用程序130生成的用户界面131中选择“Atlanta Health”提供者。“Atlanta Health”可拥有或操作一个或多个读出装置109,该读出装置109与存储在数据存储115中的一个或多个装置配置文件148相关联。Beginning at step 1303, a selection of an entity (such as a healthcare provider) is received from the client device 106, where the selection is made in the client application 130. For example, a user may specify an entity with which he or she wishes to share input data provided during an intake process. In one example, the user may select the "Atlanta Health" provider in the user interface 131 generated by the client application 130. "Atlanta Health" may own or operate one or more readout devices 109 associated with one or more device profiles 148 stored in the data store 115.

在一些示例中,实体或与该实体操作的读出装置109对应的装置配置文件148可具有存储在数据存储115中预定义密码密钥121。然而,在步骤1306中,可为装置配置文件148生成密码密钥121,例如,以创建对于用户-实体关系而言唯一的密码密钥121。可以理解的是,步骤1306是可选的。在一些示例中,使用用户提供的信息或其组合,伪随机地生成密码密钥121。In some examples, the device profile 148 corresponding to the entity or the reader 109 operated by the entity may have a predefined cryptographic key 121 stored in the data store 115. However, in step 1306, a cryptographic key 121 may be generated for the device profile 148, for example, to create a cryptographic key 121 unique to the user-entity relationship. It will be appreciated that step 1306 is optional. In some examples, the cryptographic key 121 is pseudo-randomly generated using information provided by the user or a combination thereof.

接下来,在步骤1309中,密码密钥121被发送到客户端装置106,从而使客户端应用程序130能够为了与装置配置文件148相关联的读出装置109的接收而编码输入数据。如果读出装置109不具有存储于其上的密码密钥121,则在步骤1312中,密码密钥121可被发送到读出装置109(如果需要的话)。Next, in step 1309, the cryptographic key 121 is sent to the client device 106, thereby enabling the client application 130 to encode the input data for receipt by the reader device 109 associated with the device profile 148. If the reader device 109 does not have the cryptographic key 121 stored thereon, then in step 1312, the cryptographic key 121 may be sent to the reader device 109 (if necessary).

参考图14,其示出了一个流程图,该流程图示出了根据各个实施例的一个密钥管理应用程序118的操作的另一个示例。可以理解的是,如本文所述,图14的流程图仅提供了可被用于执行密钥管理应用程序118的部分的操作的多个不同类型功能布局中的一个示例。可替代地,图14的流程图可被视为描述根据一个或多个实施例的在计算环境103中执行的方法的元素的示例。Referring to FIG14 , a flowchart illustrating another example of the operation of a key management application 118 according to various embodiments is shown. It will be appreciated that the flowchart of FIG14 provides only one example of a variety of different types of functional arrangements that may be used to perform the operation of portions of the key management application 118, as described herein. Alternatively, the flowchart of FIG14 may be viewed as an example of elements of a method performed in the computing environment 103 according to one or more embodiments.

在一些实施例中,机器可读标识符133可包括非加密数据或可使用全局或分享密码密钥121进行解密的数据。数据可包括用于原始装置的第一装置标识符145a以及用于预期接收方的第二装置标识符145b。例如,客户端应用程序130可生成机器可读标识符133,该机器可读标识符133包括用于生成了机器可读标识符133a的客户端装置106的第一装置标识符145a和用于与特定实体(诸如选定的医疗提供者)相关联的预期接收方的读出装置109的第二装置标识符145b。In some embodiments, the machine-readable identifier 133 may include unencrypted data or data that can be decrypted using a global or shared cryptographic key 121. The data may include a first device identifier 145a for the originating device and a second device identifier 145b for the intended recipient. For example, the client application 130 may generate a machine-readable identifier 133 that includes a first device identifier 145a for the client device 106 that generated the machine-readable identifier 133a and a second device identifier 145b for the intended recipient's reader device 109 that is associated with a particular entity, such as a selected medical provider.

当读出装置109扫描机器可读标识符133时,其可通过分析第一装置标识符145a或预期接收方的第二装置标识符145b,而确定其是否能够访问底层数据。在其它示例中,读出装置109可为了远程授权,将装置标识符145传达到密钥管理应用程序118。为此,在步骤1403中,密钥管理应用程序118可接收生成了机器可读标识符133的装置的第一装置标识符145a。类似地,在步骤1406中,密钥管理应用程序118可接收预期访问机器可读标识符133的底层数据的装置的第二装置标识符145b。When the reader device 109 scans the machine-readable identifier 133, it can determine whether it can access the underlying data by analyzing the first device identifier 145a or the second device identifier 145b of the intended recipient. In other examples, the reader device 109 can communicate the device identifier 145 to the key management application 118 for remote authorization. To this end, in step 1403, the key management application 118 can receive the first device identifier 145a of the device that generated the machine-readable identifier 133. Similarly, in step 1406, the key management application 118 can receive the second device identifier 145b of the device that is intended to access the underlying data of the machine-readable identifier 133.

使用第一装置标识符145a和第二装置标识符145b,密钥管理应用程序118可在步骤1409中确定初始用户(例如,客户端应用程序130的用户或医疗提供者)是否授权请求密码密钥121来解密机器可读标识符133的底层数据的装置访问底层数据。如果请求装置被授权访问底层数据,则在步骤1412中,密钥管理应用程序118可向该装置发送密码密钥121,其中密码密钥121能够解密被编码在机器可读标识符133中的数据。其后,程序行至终止。返回参考步骤1409,如果请求装置未被授权访问机器可读标识符133的底层数据,则程序行至终止。Using the first device identifier 145a and the second device identifier 145b, the key management application 118 may determine in step 1409 whether the initial user (e.g., the user of the client application 130 or a medical provider) has authorized the device requesting the cryptographic key 121 to decrypt the underlying data of the machine-readable identifier 133 to access the underlying data. If the requesting device is authorized to access the underlying data, then in step 1412, the key management application 118 may send the cryptographic key 121 to the device, where the cryptographic key 121 is capable of decrypting the data encoded in the machine-readable identifier 133. Thereafter, the process terminates. Referring back to step 1409, if the requesting device is not authorized to access the underlying data of the machine-readable identifier 133, the process terminates.

本文描述的应用程序,诸如客户端应用程序130、读出应用程序136和密钥管理应用程序118,提供了有效获得、存储和复制重要信息(诸如在初次访问或随后访问健康护理提供者时所需的信息)的能力。特别地,本公开描述了一种客户端应用程序130,其用于以容易使用的方式获得病历并生成机器可读标识符133,该机器可读标识符133包括作为编码和加密数据的所得病历。在各个实施例中,用户通过客户端应用程序130提供的信息可被本地存储在客户端装置106上。存储在客户端装置106上的信息可被加密以供本地存储。此外,在复诊时,对健康史的任何改变都可被容易地标识并被提供给提供者。The applications described herein, such as the client application 130, the readout application 136, and the key management application 118, provide the ability to efficiently obtain, store, and copy important information, such as information needed during an initial or subsequent visit to a healthcare provider. In particular, the present disclosure describes a client application 130 for obtaining medical records in an easy-to-use manner and generating a machine-readable identifier 133 that includes the resulting medical record as encoded and encrypted data. In various embodiments, information provided by a user through the client application 130 can be stored locally on the client device 106. Information stored on the client device 106 can be encrypted for local storage. In addition, any changes to the health history can be easily identified and provided to the provider during follow-up visits.

如今,现有的健康相关应用程序集中在帮助个体提高他们对于他们自己的护理负责的能力、促进健康生活、以及链接到针对提供者或机构的电子病历记录系统以获得检测和实验室结果。这些应用程序包括不同程度的每天、或最好是每周数据点,这些数据点需要被更新,以证明客户端应用程序130的用处。Today, existing health-related applications focus on helping individuals improve their ability to take responsibility for their own care, promote healthy living, and link to electronic medical record systems for providers or institutions to obtain test and laboratory results. These applications include varying degrees of daily, or preferably weekly, data points that need to be updated to demonstrate the usefulness of the client application 130.

可在和/或其它合适的操作系统上执行客户端应用程序130和读出应用程序136。客户端应用程序130获得的信息只需要被用户提供一次,且只更新重大的和相关的改变(例如药物改变、手术程序),这对大部分患者而言仅很少时候是必要的。此外,客户端应用程序130允许用户为被抚养人或该用户对其负有责任的人提供重要信息。可以理解的是,容易地且正确地提供的基本信息的值是巨大的。The client application 130 and the reader application 136 can be executed on the Microsoft Windows® and/or other suitable operating systems. The information obtained by the client application 130 only needs to be provided once by the user and is only updated for major and relevant changes (e.g., medication changes, surgical procedures), which are only necessary infrequently for most patients. In addition, the client application 130 allows the user to provide important information to dependents or others for whom the user is responsible. As can be appreciated, the value of basic information provided easily and correctly is enormous.

根据各个实施例,获得了基本医疗信息的专注的、易维护的、专有的账户,健康护理提供者和其他实体需要该账户提供必要的常规护理。该信息通过医生记在心里而由医生生成,但为了系统的易于浏览而被创建。以仅具有基本文字水平的所有个体均可完成浏览的方式来创建工作流程。在各个实施例中,用户所需的信息幅度可围绕对所有的对任意健康护理提供者的最初访问是重要的预定数量(例如,7个问题或其它数量)的问题。在各个实施例中,这些问题可以是特定的并且不是无限多的。According to various embodiments, a focused, easily maintained, proprietary account of basic medical information is obtained that is needed by healthcare providers and other entities to provide necessary routine care. This information is generated by the physician with the physician in mind, but is created for easy navigation of the system. The workflow is created in a way that any individual with only a basic literacy level can complete the navigation. In various embodiments, the breadth of information required by the user can be centered around a predetermined number of questions (e.g., 7 questions or other number) that are important for all initial visits to any healthcare provider. In various embodiments, these questions can be specific and not infinite.

客户端应用程序130生成一系列的一个或多个用户界面131,以从用户获得信息。此外,客户端应用程序130将信息关联于对于医生和患者都容易且可阅的形式。这还允许基本医疗信息在各种提供者(诸如普通医生和专家)之间的高效传递。客户端应用程序130便于用于亲属或其它个体(诸如父母、子女、宠物等)的病历或其它信息的关联。例如,在患者由于疼痛、压力、困惑、意识丧失等不能够提供他们自己的病历的情况中、以及父母因紧急情况而心烦意乱的时候,另一个人提供的信息可能是有利的。在这些情况中,该重要信息可被快速、容易且准确地有效传达,由此防止因缺乏准确和完整信息而导致的医疗错误。此外,客户端应用程序130被配置为为了具有沟通障碍的个体(诸如听觉受损的人或哑人)改进健康护理。The client application 130 generates a series of one or more user interfaces 131 to obtain information from the user. In addition, the client application 130 associates the information in a form that is easy and readable for both doctors and patients. This also allows for efficient transmission of basic medical information between various providers (such as general practitioners and specialists). The client application 130 facilitates the association of medical records or other information for relatives or other individuals (such as parents, children, pets, etc.). For example, in cases where a patient is unable to provide their own medical records due to pain, stress, confusion, loss of consciousness, etc., and when a parent is distracted by an emergency, information provided by another person may be beneficial. In these cases, this important information can be effectively communicated quickly, easily and accurately, thereby preventing medical errors caused by a lack of accurate and complete information. In addition, the client application 130 is configured to improve health care for individuals with communication disorders (such as hearing-impaired people or mute people).

在各个实施例中,医生办公室或其它健康护理提供者可在客户端摄取过程中指定信息作为必须的或可选的。客户端应用程序130被执行为收集被指定为健康护理提供者需要的数据点。该信息可根据HIPAA和用于经济与临床卫生法案的健康信息技术(“HITECH”)的规定而被加密,且可被用户或特定健康护理提供者使用密钥或密码访问。In various embodiments, a doctor's office or other healthcare provider may specify information as required or optional during the client intake process. The client application 130 is executed to collect the data points specified as required by the healthcare provider. This information may be encrypted in accordance with HIPAA and the Health Information Technology for Economic and Clinical Health Act ("HITECH") regulations and may be accessed by the user or a specific healthcare provider using a key or password.

根据各个实施例,收集的信息可被限制为:过往病历、过往手术史、过敏、药物、家族史、社会史以及免疫,尽管在其它实施例中,可收集额外的信息。客户端应用程序130可辅助用户提供基本医疗术语和药物的正确拼写,以防止可能导致医疗错误的混淆和错误文档。According to various embodiments, the information collected may be limited to: past medical history, past surgical history, allergies, medications, family history, social history, and immunizations, although in other embodiments, additional information may be collected. The client application 130 may assist the user in providing the correct spelling of basic medical terms and medications to prevent confusion and incorrect documentation that may lead to medical errors.

客户端应用程序130收集的信息可被组织在概要屏幕中,其在用户界面131示出,在填写新的患者信息包时以供参考。在各种实施例中,该信息可被转换成Microsoft或PDF格式,以在访问健康护理提供者之前打印。最后,该信息可被加密,加密的信息可被转换成矩阵码或其它机器可读标识符133,以无纸化和无线地直接向健康护理提供者传递信息。在各个实施例中,机器可读标识符133的扫描使底层信息自动填充到各种电子医疗记录系统的数据库中。The information collected by the client application 130 can be organized in a summary screen, which is displayed in the user interface 131 and is used for reference when filling out a new patient information packet. In various embodiments, this information can be converted into Microsoft or PDF format for printing before visiting a healthcare provider. Finally, this information can be encrypted, and the encrypted information can be converted into a matrix code or other machine-readable identifier 133 for paperless and wireless delivery directly to the healthcare provider. In various embodiments, scanning the machine-readable identifier 133 causes the underlying information to be automatically populated into the database of various electronic medical record systems.

除了收集个人信息,客户端应用程序130可被配置为为被抚养者、家庭成员、宠物等获得健康信息。当被扶养人和家庭成员由于年龄、丧失能力等原因不能够自己提供该信息时,这可有助于向健康护理专业人士提供完整、准确的信息。这可帮助健康护理提供者准确地评估患者、合理化护理、避免因不完整病历导致的医疗失误。如上所述,因为宠物的病历对所有者和兽医也是有价值的,所以客户端应用程序130可被配置为获得关于它们的信息。通过能够简单地参考在与客户端应用程序130的用户相同平台中的该信息,该信息可被用于学校、大学、国际旅行、紧急事件或其它情况中。In addition to collecting personal information, client application 130 can be configured to obtain health information for dependents, family members, pets, and the like. This can help provide complete and accurate information to healthcare professionals when dependents and family members are unable to provide this information themselves due to age, disability, or the like. This can help healthcare providers accurately assess patients, optimize care, and avoid medical errors caused by incomplete medical records. As mentioned above, because pets' medical records are also valuable to owners and veterinarians, client application 130 can be configured to obtain information about them. By being able to easily reference this information in the same platform as the user of client application 130, this information can be used in schools, universities, international travel, emergencies, or other situations.

尽管该公开提供了医疗保健数据情况下的多个示例,但本文所附实施例可被应用在许多行业。例如,健康信息可包括关于汽车的信息。修理工可通过扫描呈现在客户端装置106(可包括个人的智能手机或汽车的计算装置)上的机器可读标识符133查阅服务记录。While this disclosure provides several examples in the context of healthcare data, the embodiments described herein can be applied to many industries. For example, health information may include information about a car. A mechanic can access service records by scanning a machine-readable identifier 133 displayed on a client device 106 (which may include a person's smartphone or a car's computing device).

参考图15,其示出了根据本公开实施例的计算环境103的示意性方框图。计算环境103包括一个或多个计算装置1500。每个计算装置1500包括至少一个处理器电路,例如,具有处理器1503和存储器1506,它们都被耦接到本地接口1509。为此,每个计算装置1500可包括例如至少一个服务器计算机或类似装置。可以理解的是,本地接口1509可包括例如具有附带地址/控制总线的数据总线或其它总线结构。Referring to FIG. 15 , a schematic block diagram of a computing environment 103 according to an embodiment of the present disclosure is shown. The computing environment 103 includes one or more computing devices 1500. Each computing device 1500 includes at least one processor circuit, for example, having a processor 1503 and a memory 1506, both of which are coupled to a local interface 1509. To this end, each computing device 1500 may include, for example, at least one server computer or similar device. It will be appreciated that the local interface 1509 may include, for example, a data bus or other bus structure with an accompanying address/control bus.

处理器1503可执行的数据和若干部件均存储在存储器1506中。特别地,密钥管理应用程序118、翻译服务120、直接消息传递服务122和其它计算环境应用程序存储在存储器1506中并且可被处理器1503执行。是数据存储115和其它数据也可以存储在存储器1506中。此外,操作系统1512可被存储在存储器1506中并可被处理器1503执行。可以理解的是,还可以有其它应用程序存储在存储器1506中且可被处理器1503执行。Data and several components executable by processor 1503 are stored in memory 1506. In particular, key management application 118, translation service 120, direct messaging service 122, and other computing environment applications are stored in memory 1506 and can be executed by processor 1503. Data storage 115 and other data may also be stored in memory 1506. Furthermore, operating system 1512 may be stored in memory 1506 and can be executed by processor 1503. It will be appreciated that other applications may also be stored in memory 1506 and can be executed by processor 1503.

参考图16,其示出了根据本公开的实施例的客户端装置106的示意性方框图。每个客户端装置106包括至少一个处理器电路,例如,具有处理器1603和存储器1606,它们都被耦接到本地接口1609。为此,每个客户端装置106可包括例如智能手机、平板电脑、个人计算机或其它类似装置。可以理解的是,本地接口1609可包括例如具有附带地址/控制总线的数据总线或其它总线结构。Referring to FIG16 , a schematic block diagram of a client device 106 according to an embodiment of the present disclosure is shown. Each client device 106 includes at least one processor circuit, for example, a processor 1603 and a memory 1606, both of which are coupled to a local interface 1609. To this end, each client device 106 may include, for example, a smartphone, a tablet computer, a personal computer, or other similar device. It will be appreciated that the local interface 1609 may include, for example, a data bus with an accompanying address/control bus or other bus structure.

处理器1603可执行的数据和若干部件均存储在存储器1606中。特别地,客户端应用程序130和其他应用程序存储在存储器1606中且可被处理器1603执行。客户端数据存储1612(此处也被称为本地数据存储)和其它数据也可以存储在存储器1606中。此外,客户端操作系统1615可被存储在存储器1606中并可被处理器1603执行。可以理解的是,还可以有其它应用程序存储在存储器1606中且可被处理器1603执行。Data and several components executable by processor 1603 are stored in memory 1606. In particular, client application 130 and other applications are stored in memory 1606 and can be executed by processor 1603. Client data storage 1612 (also referred to herein as local data storage) and other data can also be stored in memory 1606. In addition, client operating system 1615 can be stored in memory 1606 and can be executed by processor 1603. It will be appreciated that other applications can also be stored in memory 1606 and can be executed by processor 1603.

参考图17,其示出了根据本公开实施例的读出装置109的示意性方框图。每个读出装置109包括至少一个处理器电路,例如,具有处理器1703和存储器1706,它们都被耦接到本地接口1709。为此,每个读出装置109可包括例如智能手机、平板电脑、个人计算机或其它类似装置。可以理解的是,本地接口1709可包括例如具有附带地址/控制总线的数据总线或其它总线结构。Referring to FIG. 17 , a schematic block diagram of a reader device 109 according to an embodiment of the present disclosure is shown. Each reader device 109 includes at least one processor circuit, for example, having a processor 1703 and a memory 1706, both of which are coupled to a local interface 1709. To this end, each reader device 109 may include, for example, a smartphone, tablet computer, personal computer, or other similar device. It will be appreciated that the local interface 1709 may include, for example, a data bus with an accompanying address/control bus or other bus structure.

处理器1703可执行的数据和若干部件均存储在存储器1706中。特别地,读出应用程序136和其它应用程序存储在存储器1706中且可被处理器1703执行。读出装置数据存储1712和其它数据也可以存储在存储器1706中。此外,客户端操作系统1715可被存储在存储器1706中并可被处理器1703执行。可以理解的是,还可以有其它应用程序存储在存储器1706中且可被处理器1703执行。Data and several components executable by the processor 1703 are stored in the memory 1706. In particular, the reader application 136 and other applications are stored in the memory 1706 and can be executed by the processor 1703. The reader device data storage 1712 and other data can also be stored in the memory 1706. In addition, the client operating system 1715 can be stored in the memory 1706 and can be executed by the processor 1703. It will be appreciated that other applications can also be stored in the memory 1706 and can be executed by the processor 1703.

当此处描述的任意部件以软件的形式被执行时,可采用多种编程语言中的任一种,诸如C、C++、C#、Objective C、Perl、PHP、VisualRuby、或者其它编程语言。When any component described herein is implemented in software, it may be implemented in any of a variety of programming languages, such as C, C++, C#, Objective C, Perl, PHP, Visual Ruby, or other programming languages.

多个软件部件被存储在处理器可执行的存储器中。在这方面,术语“可执行的”指程序文件是以可最终被处理器运行的形式。可执行程序的示例可为,例如,以下编译程序,该编译程序可被转化成以能够被加载到存储器的随机存取部分的形式、且被处理器运行的机器代码;可被以合适的形式表达的源代码(诸如能够被加载到存储器的随机存取部分且被处理器执行的目标代码);以下源代码,该源代码可被另一可执行程序解释,以在存储器的随机存取部分中生成将被处理器执行的指令,等等。可执行的程序可被存储在存储器的任何部分或部件中,存储器例如包括随机存取存储器(RAM)、只读存储器(ROM)、硬盘驱动器、固态驱动器、USB闪存驱动器、存储卡、诸如光盘(CD)或数字通用盘(DVD)的光盘、软盘、磁带或其它存储部件。A plurality of software components are stored in a memory executable by a processor. In this regard, the term "executable" refers to a program file that is in a form that can ultimately be run by a processor. Examples of executable programs may be, for example, a compiler that can be converted into machine code that can be loaded into a random access portion of a memory and run by a processor; a source code that can be expressed in a suitable form (such as an object code that can be loaded into a random access portion of a memory and executed by a processor); a source code that can be interpreted by another executable program to generate instructions to be executed by a processor in a random access portion of a memory, and the like. An executable program may be stored in any part or component of a memory, such as a random access memory (RAM), a read-only memory (ROM), a hard drive, a solid-state drive, a USB flash drive, a memory card, an optical disk such as a compact disk (CD) or a digital versatile disk (DVD), a floppy disk, a magnetic tape, or other storage component.

此处存储器被限定为包括易失和非易失存储器和数据存储部件。当断电时,易失部件不保留数据值。当断电时,非易失部件会保留数据值。因此,存储器可包括例如随机存取存储器(RAM)、只读存储器(ROM)、硬盘驱动器、固态驱动器、USB闪存驱动器、通过存储卡读卡器访问的存储卡、通过相关联的软盘驱动器访问的软盘、通过光盘驱动器访问的光盘、通过适当的磁带驱动器访问的磁带和/或其它存储部件、或这些存储部件中的任意两种或更多种的组合。此外,RAM可包括例如静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)或磁随机存取存储器(MRAM)以及其它这种装置。ROM可包括例如可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)或其它类似存储装置。Here, memory is defined as including volatile and non-volatile memory and data storage components. When the power is off, the volatile component does not retain the data value. When the power is off, the non-volatile component can retain the data value. Therefore, the memory may include, for example, random access memory (RAM), read-only memory (ROM), hard disk drive, solid-state drive, USB flash drive, memory card accessed by a memory card reader, floppy disk accessed by an associated floppy disk drive, optical disk accessed by an optical disk drive, magnetic tape accessed by an appropriate tape drive and/or other storage components, or any two or more combinations of these storage components. In addition, RAM may include, for example, static random access memory (SRAM), dynamic random access memory (DRAM) or magnetic random access memory (MRAM) and other such devices. ROM may include, for example, programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM) or other similar storage devices.

另外,处理器可表示多个处理器和/或多个处理器内核,存储器可表示多个在平行处理电路中分别操作的多个存储器。在这种情况下,本地接口可为便于多个处理器中任意两个之间、任意处理器与任意存储器之间、或者任意两个存储器之间等通信的合适网络。本地接口可包括被设计为协调通信(例如,执行负载平衡)的额外系统。处理器可以为电的或一些其它可利用的结构。In addition, the processor may represent multiple processors and/or multiple processor cores, and the memory may represent multiple memories operating separately in parallel processing circuits. In this case, the local interface may be a suitable network that facilitates communication between any two of the multiple processors, between any processor and any memory, or between any two memories. The local interface may include additional systems designed to coordinate communications (e.g., perform load balancing). The processor may be electronic or some other available structure.

尽管客户端应用程序130、读出应用程序136、密钥管理应用程序118和此处描述的其它各个系统可被具体化为上文所述的可被通用硬件执行的软件或代码,但是可替代地,上述还可被具体化为专用硬件或软件/通用硬件和专用硬件的组合。如果具体化为专用硬件,则每个可被被实施为采用多种技术中任意一种或组合的电路或状态机器。这些技术可包括但不限于,当应用一个或多个数据信号时,具有用于执行各种逻辑功能的逻辑门的离散逻辑电路、具有合适的逻辑门的专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它部件等。这种技术通常被本领域技术人员所熟知,因此此处不再赘述。Although the client application 130, the reader application 136, the key management application 118, and the various other systems described herein may be embodied as software or code executable by general-purpose hardware as described above, alternatively, the above may also be embodied as dedicated hardware or a combination of software/general-purpose hardware and dedicated hardware. If embodied as dedicated hardware, each may be implemented as a circuit or state machine using any one or a combination of a variety of technologies. These technologies may include, but are not limited to, discrete logic circuits having logic gates for performing various logic functions when one or more data signals are applied, application-specific integrated circuits (ASICs) having suitable logic gates, field-programmable gate arrays (FPGAs), or other components. Such technologies are generally well known to those skilled in the art and are not described in detail here.

图6和图10-图14的流程图示出了客户端应用程序130、读出应用程序136和密钥管理应用程序118的部分的执行的功能和操作。如果具体化为软件,则每个方块可代表包括执行特定逻辑功能的程序指令的模块、片段或一部分代码。程序指令可具体化为源代码的形式,该源代码包括由程序语言或机器代码写成的人可读语句,其中程序语言或机器代码包括可由合适的执行系统(诸如计算机系统或其它系统中的处理器)识别的数字指令。机器代码可从源代码等转化而来。如果具体化为硬件,则每个方块可代表执行特定逻辑功能的电路或多个互联电路。The flowcharts of Figures 6 and 10-14 illustrate the functions and operations of the execution of portions of the client application 130, the reader application 136, and the key management application 118. If embodied as software, each block may represent a module, a fragment, or a portion of code that includes program instructions that perform a specific logical function. The program instructions may be embodied in the form of source code, which includes human-readable statements written in a programming language or machine code, wherein the programming language or machine code includes digital instructions that can be recognized by a suitable execution system (such as a processor in a computer system or other system). Machine code can be converted from source code, etc. If embodied as hardware, each block may represent a circuit or multiple interconnected circuits that perform a specific logical function.

尽管图6和图10-图14的流程图示出了特定执行顺序,但是可以理解的是执行顺序可与所示的不同。例如,两个或更多个方块的执行顺序可相对于所示的顺序被打乱。另外,图6和图10-图14中连续示出的两个或更多方块可同时被执行或部分同时地被执行。此外,在一些实施例中,图6和图10-图14中所示的一个或更多方块可被跳过或省略。此外,任意数量的计数器、状态变量、警告信号或消息可被添加到本文所述的逻辑流程中,用以提高效用、解释、性能测量或提高故障排除帮助等。可以理解的是,所有这种变化都落入本公开的范围。Although the flowcharts of Figures 6 and 10-14 show a specific execution order, it is understandable that the execution order may be different from that shown. For example, the execution order of two or more blocks may be disrupted relative to the order shown. In addition, two or more blocks shown continuously in Figures 6 and 10-14 may be executed simultaneously or partially simultaneously. In addition, in some embodiments, one or more blocks shown in Figures 6 and 10-14 may be skipped or omitted. In addition, any number of counters, state variables, warning signals or messages may be added to the logic flow described herein to improve utility, explanation, performance measurement or improve troubleshooting help, etc. It is understandable that all such variations fall within the scope of this disclosure.

此外,本文所描述的任何逻辑或应用包括客户端应用程序130、读出应用程序136以及密钥管理应用程序118,其含有可体现在任何非暂时性计算机可读介质中以被指令执行系统使用或与指令执行系统(诸如例如计算机系统或其它系统中的处理器)相关的软件或代码。从这个意义上来说,逻辑可包括例如含有指令和声明的语句,其中该指令和声明可从计算机可读介质中取得并可被指令执行系统执行。在本公开的上下文中,“计算机可读介质”可以是可含有、存储或保持本文所述的逻辑或应用程序的、用于或关联于指令执行系统的任何介质。Furthermore, any logic or application described herein, including client application 130, reader application 136, and key management application 118, comprises software or code that may be embodied in any non-transitory computer-readable medium for use by or in connection with an instruction execution system, such as, for example, a processor in a computer system or other system. In this sense, logic may include, for example, statements comprising instructions and statements that may be retrieved from a computer-readable medium and executed by an instruction execution system. In the context of this disclosure, a "computer-readable medium" may be any medium for use in or in connection with an instruction execution system that may contain, store, or retain the logic or application described herein.

计算机可读介质可包括多个物理介质中的任意一个,诸如例如磁、光或半导体介质。合适的计算机可读介质的更多具体示例可包括但不限于磁带、磁软盘、磁硬盘驱动器、存储卡、固态驱动器、USB闪存驱动器或光盘。计算机可读介质还可为随机存取存储器(RAM),其包括例如静态随机存取存储器(SRAM)和动态随机存取存储器(DRAM)或磁随机存取存储器(MRAM)。此外,计算机可读介质可为只读存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)或其它类似存储装置。The computer-readable medium may include any one of a plurality of physical media, such as, for example, magnetic, optical, or semiconductor media. More specific examples of suitable computer-readable media may include, but are not limited to, magnetic tape, magnetic floppy disk, magnetic hard drive, memory card, solid-state drive, USB flash drive, or optical disk. The computer-readable medium may also be a random access memory (RAM), including, for example, static random access memory (SRAM) and dynamic random access memory (DRAM) or magnetic random access memory (MRAM). In addition, the computer-readable medium may be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or other similar storage devices.

进一步地,可以多种方式来执行和结构化本文所述的任何逻辑或应用程序、客户端应用程序130、读出应用程序136以及密钥管理应用程序118。例如,所描述的一个或多个应用程序可被执行为单个应用程序的模块或部件。进一步地,可在共享的或分离的计算装置中或其组合中执行本文所描述的一个或多个应用程序。例如,此处所描述的多个应用程序可在同样的计算装置1500中或在同样计算环境103中的多个计算装置中执行。此外,可理解的是,诸如“应用程序”、“服务”、“系统”、“引擎”、“模块”等的术语是可互换的,且并非旨在限制。Further, any logic or application described herein, the client application 130, the reader application 136, and the key management application 118 can be implemented and structured in a variety of ways. For example, one or more of the applications described can be implemented as modules or components of a single application. Further, one or more of the applications described herein can be executed in shared or separate computing devices, or in a combination thereof. For example, multiple applications described herein can be executed in the same computing device 1500 or in multiple computing devices in the same computing environment 103. Furthermore, it will be understood that terms such as "application," "service," "system," "engine," "module," etc., are interchangeable and are not intended to be limiting.

析取语言,诸如短语“X、Y或Z中的至少一个”,除非另外指定,否则根据上下文应被理解为像通常所使用的表示一项、一个术语等,可为X、Y或Z中的任何一个或它们的任意组合(例如X、Y和/或Z)。因此,这种析取语言通常并不旨在、也不应该意指特定实施例需要X中的至少一个、Y中的至少一个或者Z中的至少一个中的每个都出现。Disjunctive language, such as the phrase "at least one of X, Y, or Z," unless otherwise specified, should be understood as generally used to indicate that an item, a term, etc., can be any one of X, Y, or Z, or any combination thereof (e.g., X, Y, and/or Z), depending on the context. Thus, such disjunctive language is generally not intended to, and should not, imply that a particular embodiment requires that each of at least one of X, at least one of Y, or at least one of Z be present.

应强调的是,本公开的上述实施例仅仅是为了清楚的理解本公开的原理所描述的执行的可能示例。在基本不背离本公开的精神和原理的情形下,可对上述实施例做出各种变形和修改。It should be emphasized that the above embodiments of the present disclosure are merely possible examples of implementation described for a clear understanding of the principles of the present disclosure. Various variations and modifications may be made to the above embodiments without departing from the spirit and principles of the present disclosure.

条款1.一种系统,包括:客户端装置,包括至少一个硬件处理器;可在所述客户端装置中执行的客户端应用程序,包括以下程序指令,该程序指令在被执行时使得所述客户端装置:通过网络接收与第一装置配置文件相关联的第一密码密钥以及与第二装置配置文件相关联的第二密码密钥;从所述客户端装置的数据存储中访问输入数据,通过由所述客户端应用程序生成的至少一个用户界面提供所述输入数据;将所述输入数据格式化成第一数据部分和第二数据部分;使用所述第一密码密钥加密所述第一数据部分,以及使用所述第二密码密钥加密所述第二数据部分;以及,使用加密的所述第一数据部分和加密的所述第二数据部分生成机器可读标识符,以呈现在所述客户端装置可访问的显示器中。Clause 1. A system comprising: a client device comprising at least one hardware processor; a client application executable in the client device comprising program instructions that, when executed, cause the client device to: receive, over a network, a first cryptographic key associated with a first device profile and a second cryptographic key associated with a second device profile; access input data from a data store of the client device and provide the input data through at least one user interface generated by the client application; format the input data into a first data portion and a second data portion; encrypt the first data portion using the first cryptographic key and encrypt the second data portion using the second cryptographic key; and generate a machine-readable identifier using the encrypted first data portion and the encrypted second data portion for presentation on a display accessible to the client device.

条款2.条款1的系统,其中所述机器可读标识符为第一机器可读标识符,并且所述客户端应用程序还包括以下程序指令,该程序指令在被执行时使得所述客户端装置:标识由与客户端装置通信的照相机捕捉的图像中的第二机器可读标识符,所述第二机器可读标识符由不同于所述客户端装置的装置生成;根据所述第二机器可读标识符标识大量的加密数据;用所述第一密码密钥或所述第二密码密钥解密大量的加密数据以标识解密的数据;以及将所述解密的数据存储在所述数据存储中,供所述客户端应用程序访问。Clause 2. The system of clause 1, wherein the machine-readable identifier is a first machine-readable identifier and the client application further comprises program instructions that, when executed, cause the client device to: identify a second machine-readable identifier in an image captured by a camera in communication with the client device, the second machine-readable identifier being generated by a device different from the client device; identify a volume of encrypted data based on the second machine-readable identifier; decrypt the volume of encrypted data using the first cryptographic key or the second cryptographic key to identify the decrypted data; and store the decrypted data in the data store for access by the client application.

条款3.条款2的系统,其中将所述解密的数据存储在所述数据存储中还包括:识别存储在所述数据存储中的所述输入数据与所述解密的数据之间是否存在冲突;以及存储所述解密的数据替代存储在所述数据存储中的所述输入数据。Clause 3. The system of clause 2, wherein storing the decrypted data in the data store further comprises: identifying whether there is a conflict between the input data stored in the data store and the decrypted data; and storing the decrypted data in place of the input data stored in the data store.

条款4.条款1的系统,还包括:与所述第一装置配置文件相关联的其上存储有第一密码密钥的第一读出装置;与所述第二装置配置文件相关联的其上存储有第二密码密钥的第二读出装;以及其中所述第一读出装置被配置为使用所述第一密码密钥根据所述机器可读标识符访问所述第一数据部分,第二读出装置被配置为使用所述第二密码密钥根据所述机器可读标识符访问所述第二数据部分。Clause 4. The system of Clause 1 further includes: a first reader associated with the first device profile and having a first cryptographic key stored thereon; a second reader associated with the second device profile and having a second cryptographic key stored thereon; and wherein the first reader is configured to access the first data portion based on the machine-readable identifier using the first cryptographic key, and the second reader is configured to access the second data portion based on the machine-readable identifier using the second cryptographic key.

条款5.条款4的系统,其中所述第一读出装置包括第一成像装置,所述第二读出装置包括第二成像装置,由所述第一成像装置或所述第二成像装置捕捉所述机器可读标识符。Clause 5. The system of clause 4, wherein the first reader comprises a first imaging device, the second reader comprises a second imaging device, and the machine-readable identifier is captured by either the first imaging device or the second imaging device.

条款6.条款1的系统,其中所述客户端应用程序还包括以下程序指令,该程序指令在被执行时使得所述客户端装置向与所述客户端装置不同的另一客户端装置发送机器可读标识符。Clause 6. The system of clause 1, wherein the client application further comprises program instructions that, when executed, cause the client device to send a machine-readable identifier to another client device that is different from the client device.

条款7.条款1的系统,其中根据所述输入数据使用大量解密的数据生成所述机器可读标识符。Clause 7. The system of clause 1, wherein the machine-readable identifier is generated using a plurality of decrypted data based on the input data.

条款8.条款1的系统,其中响应于所述客户端装置上做出的所述第一装置配置文件的选择,由所述客户端装置从至少一个远程计算装置通过所述网络接收与所述第一装置配置文件相关联的所述第一密码密钥;以及,其中响应于所述客户端装置上做出的所述第二装置配置文件的选择,由所述客户端装置从至少一个远程计算装置通过所述网络接收与所述第二装置配置文件相关联的所述第二密码密钥。Clause 8. The system of clause 1, wherein in response to selection of the first device profile made on the client device, the first cryptographic key associated with the first device profile is received by the client device from at least one remote computing device over the network; and wherein in response to selection of the second device profile made on the client device, the second cryptographic key associated with the second device profile is received by the client device from at least one remote computing device over the network.

条款9.条款1的系统,其中使用所述第一密码密钥加密所述第一数据部分以及使用所述第二密码密钥加密所述第二数据部分还包括:标识与所述第一数据部分相关联的第一访问等级;标识与所述第二数据部分相关联的第二访问等级;使用所述第一密码密钥至少部分地基于所述第一访问等级加密所述第一数据部分;以及使用所述第二密码密钥至少部分地基于所述第二访问等级加密所述第二数据部分,其中所述第一访问等级与所述第二访问等级不同。Clause 9. The system of clause 1, wherein encrypting the first data portion using the first cryptographic key and encrypting the second data portion using the second cryptographic key further comprises: identifying a first access level associated with the first data portion; identifying a second access level associated with the second data portion; encrypting the first data portion using the first cryptographic key at least in part based on the first access level; and encrypting the second data portion using the second cryptographic key at least in part based on the second access level, wherein the first access level is different from the second access level.

条款10.条款1的系统,其中所述机器可读标识符为快速响应(QR)码或二维码。Clause 10. The system of clause 1, wherein the machine-readable identifier is a Quick Response (QR) code or a Two-Dimensional code.

条款11.一种计算机执行方法,包括:由包括至少一个硬件处理器的客户端装置通过网络接收与第一装置配置文件相关联的第一密码密钥以及与第二装置配置文件相关联的第二密码密钥;由所述客户端装置从所述客户端装置的数据存储中访问输入数据,所述输入数据由至少一个用户界面提供,所述用户界面由可在所述客户端装置上执行的客户端应用程序生成;通过所述客户端装置将所述输入数据格式化成至少第一数据部分和第二数据部分;由所述客户端装置使用所述第一密码密钥加密所述第一数据部分,以及使用所述第二密码密钥加密所述第二数据部分;以及,由所述客户端装置使用加密的所述第一数据部分和加密的所述第二数据部分生成机器可读标识符,以呈现在所述客户端装置可访问的显示器中。Clause 11. A computer-implemented method comprising: receiving, by a client device comprising at least one hardware processor, a first cryptographic key associated with a first device profile and a second cryptographic key associated with a second device profile over a network; accessing, by the client device, input data from a data store of the client device, the input data provided by at least one user interface generated by a client application executable on the client device; formatting, by the client device, the input data into at least a first data portion and a second data portion; encrypting, by the client device, the first data portion using the first cryptographic key and encrypting the second data portion using the second cryptographic key; and generating, by the client device, a machine-readable identifier using the encrypted first data portion and the encrypted second data portion for presentation on a display accessible to the client device.

条款12.条款11的计算机执行方法,其中所述机器可读标识符为第一机器可读标识符,所述方法还包括:通过所述客户端装置标识由与所述客户端装置通信的照相机捕捉的图像中的第二机器可读标识符,所述第二机器可读标识符由不同于所述客户端装置的装置生成;通过所述客户端装置从所述第二机器可读标识符标识大量的加密数据;使用所述第一密码密钥或所述第二密码密钥,通过所述客户端装置解密所述大量的加密数据,以标识解密的数据;以及,通过所述客户端装置将所述解密的数据存储在所述数据存储中,供客户端应用程序访问。Clause 12. A computer-implemented method of clause 11, wherein the machine-readable identifier is a first machine-readable identifier, the method further comprising: identifying, by the client device, a second machine-readable identifier in an image captured by a camera communicating with the client device, the second machine-readable identifier being generated by a device different from the client device; identifying, by the client device, a large amount of encrypted data from the second machine-readable identifier; decrypting, by the client device, the large amount of encrypted data using the first cryptographic key or the second cryptographic key to identify the decrypted data; and storing, by the client device, the decrypted data in the data store for access by a client application.

条款13.条款12的计算机执行方法,其中将所述解密的数据存储在所述数据存储中还包括:通过所述客户端装置识别存储在所述数据存储中的所述输入数据与所述解密的数据之间是否存在冲突;以及通过所述客户端装置存储所述解密的数据替代存储在所述数据存储中的所述输入数据。Clause 13. A computer-implemented method of clause 12, wherein storing the decrypted data in the data storage further comprises: identifying, by the client device, whether there is a conflict between the input data stored in the data storage and the decrypted data; and storing, by the client device, the decrypted data in place of the input data stored in the data storage.

条款14.条款11的计算机执行方法,还包括:通过第一读出装置使用所述第一密码密钥从所述机器可读标识符访问所述第一数据部分,所述第一读出装置与所述第一装置配置文件相关联且具有存储于其上的第一密码密钥;以及通过第二读出装置使用所述第二密码密钥从所述机器可读标识符访问所述第二数据部分,所述第二读出装置与所述第二装置配置文件相关联且具有存储于其上的第二密码密钥。Clause 14. The computer-implemented method of Clause 11 further includes: accessing the first data portion from the machine-readable identifier using the first cryptographic key via a first reader, the first reader being associated with the first device profile and having the first cryptographic key stored thereon; and accessing the second data portion from the machine-readable identifier using the second cryptographic key via a second reader, the second reader being associated with the second device profile and having the second cryptographic key stored thereon.

条款15.条款14的计算机执行方法,其中所述第一读出装置包括第一成像装置,所述第二读出装置包括第二成像装置,由所述第一成像装置或所述第二成像装置捕捉所述机器可读标识符。Clause 15. The computer-implemented method of clause 14, wherein the first reading device comprises a first imaging device, the second reading device comprises a second imaging device, and the machine-readable identifier is captured by the first imaging device or the second imaging device.

条款16.条款11的计算机执行方法,还包括由所述客户端装置通过所述网络向与所述客户端装置不同的另一客户端装置发送所述机器可读标识符。Clause 16. The computer-implemented method of Clause 11, further comprising sending, by the client device, the machine-readable identifier to another client device different from the client device over the network.

条款17.条款11的计算机执行方法,其中根据所述输入数据使用大量解密的数据生成所述机器可读标识符。Clause 17. The computer-implemented method of clause 11, wherein the machine-readable identifier is generated using a plurality of decrypted data based on the input data.

条款18.条款11的计算机执行方法,其中响应于所述客户端装置上做出的所述第一装置配置文件的选择,由所述客户端装置从至少一个远程计算装置通过所述网络接收与所述第一装置配置文件相关联的所述第一密码密钥;以及,其中响应于所述客户端装置上做出的所述第二装置配置文件的选择,由所述客户端装置从至少一个远程计算装置通过所述网络接收与所述第二装置配置文件相关联的所述第二密码密钥。Clause 18. The computer-implemented method of clause 11, wherein in response to selection of the first device profile made on the client device, the first cryptographic key associated with the first device profile is received by the client device from at least one remote computing device over the network; and wherein in response to selection of the second device profile made on the client device, the second cryptographic key associated with the second device profile is received by the client device from at least one remote computing device over the network.

条款19.条款11的计算机执行方法,其中使用所述第一密码密钥加密所述第一数据部分以及使用所述第二密码密钥加密所述第二数据部分还包括:通过所述客户端装置标识与所述第一数据部分相关联的第一访问等级;通过所述客户端装置标识与所述第二数据部分相关联的第二访问等级;通过所述客户端装置,使用所述第一密码密钥至少部分地基于所述第一访问等级加密所述第一数据部分;以及,通过所述客户端装置,使用所述第二密码密钥至少部分地基于所述第二访问等级加密所述第二数据部分,其中所述第一访问等级与所述第二访问等级不同。Clause 19. A computer-implemented method of clause 11, wherein encrypting the first data portion using the first cryptographic key and encrypting the second data portion using the second cryptographic key further comprises: identifying, by the client device, a first access level associated with the first data portion; identifying, by the client device, a second access level associated with the second data portion; encrypting, by the client device, the first data portion based at least in part on the first access level using the first cryptographic key; and encrypting, by the client device, the second data portion based at least in part on the second access level using the second cryptographic key, wherein the first access level is different from the second access level.

条款20.条款11的计算机执行方法,其中所述机器可读标识符为快速响应(QR)码或二维码。Clause 20. The computer-implemented method of clause 11, wherein the machine-readable identifier is a Quick Response (QR) code or a Two-Dimensional code.

条款21.一种系统,包括:客户端装置,包括至少一个硬件处理器;可在所述客户端装置中执行的客户端应用程序,包括以下程序指令,该程序指令在被执行时使得所述客户端装置:使用由至少一个密码密钥加密的第一数量数据生成第一机器可读标识符,以呈现在所述客户端装置的显示器中,其中,具有存储于其上的所述至少一个密码密钥的读出装置被配置为解密所述数据;在由所述客户端装置捕捉的至少一幅图像中标识第二机器可读标识符;解码所述第二机器可读标识符,以标识由读出装置使用所述至少一个密码密钥加密的第二数量数据;使用所述至少一个密码密钥解密所述第二数量数据;以及识别所述第一数量数据与所述第二数量数据之间是否存在冲突。Clause 21. A system comprising: a client device comprising at least one hardware processor; a client application executable in the client device comprising program instructions that, when executed, cause the client device to: generate a first machine-readable identifier using first quantity data encrypted by at least one cryptographic key for presentation on a display of the client device, wherein a reader having the at least one cryptographic key stored thereon is configured to decrypt the data; identify a second machine-readable identifier in at least one image captured by the client device; decode the second machine-readable identifier to identify second quantity data encrypted by the reader using the at least one cryptographic key; decrypt the second quantity data using the at least one cryptographic key; and identify whether there is a conflict between the first quantity data and the second quantity data.

条款22.条款21的系统,其中所述客户端应用程序还包括以下程序指令,该程序指令在被执行时使得所述客户端装置响应于所述第一数量数据与所述第二数量数据之间存在的冲突而执行任务从而解决该冲突。Clause 22. The system of clause 21, wherein the client application further comprises program instructions that, when executed, cause the client device to perform a task in response to a conflict between the first quantity data and the second quantity data to resolve the conflict.

条款23.条款21的系统,其中响应于所述读出装置改变所述第一数量数据以产生所述第二数量数据的而标识所述冲突。Clause 23. The system of clause 21, wherein the conflict is identified in response to the reading device changing the first quantity data to produce the second quantity data.

条款24.条款22的系统,其中所述任务还包括:在所述客户端应用程序的用户界面中显示与所述冲突相关联的信息;在所述用户界面中接收所述第一数量数据或所述第二数量数据中的选择;以及响应于所述选择,用所选择的所述第一数量数据或所选择的所述第二数量数据更新所述客户端装置的数据存储。Clause 24. The system of clause 22, wherein the task further comprises: displaying information associated with the conflict in a user interface of the client application; receiving a selection of the first quantity data or the second quantity data in the user interface; and in response to the selection, updating the data storage of the client device with the selected first quantity data or the selected second quantity data.

条款25.条款22的系统,其中所述任务包括用所述第二数量数据更新所述客户端装置的数据存储。Clause 25. The system of clause 22, wherein the task comprises updating a data store of the client device with the second quantity data.

条款26.条款21的系统,其中所述客户端应用程序还包括以下程序指令,该程序指令在被执行时使得所述客户端装置用所述第二数量数据中的至少一部分填充所述客户端应用程序中的用户界面的至少一个字段。Clause 26. The system of clause 21, wherein the client application further comprises program instructions that, when executed, cause the client device to populate at least one field of a user interface in the client application with at least a portion of the second quantity data.

条款27.条款21的系统,其中由至少一个密码密钥加密的所述第一数量数据还包括摄取过程中获得的第一用户输入部分和第二用户输入部分,由可被所述读出装置访问的第一密码密钥加密所述第一用户输入部分,由所述读出装置不可访问的第二密码密钥加密所述第二用户输入部分。Clause 27. The system of Clause 21, wherein the first quantity data encrypted by at least one cryptographic key also includes a first user input part and a second user input part obtained during the acquisition process, the first user input part is encrypted by a first cryptographic key accessible to the reading device, and the second user input part is encrypted by a second cryptographic key inaccessible to the reading device.

条款28.条款21的系统,其中所述机器可读标识符为快速响应(QR)码或二维码。Clause 28. The system of clause 21, wherein the machine-readable identifier is a Quick Response (QR) code or a Two-Dimensional code.

条款29.条款21的系统,其中所述客户端应用程序还包括以下程序指令,该程序指令在被执行时使得所述客户端装置通过网络从远程计算环境中执行的远程应用程序接收至少一个密码密钥。Clause 29. The system of clause 21, wherein the client application further comprises program instructions that, when executed, cause the client device to receive at least one cryptographic key from a remote application executing in a remote computing environment over a network.

条款30.条款29的系统,其中在所述远程计算环境中执行的所述远程应用程序被配置为通过网络向所述读出装置发送至少一个密码密钥。Clause 30. The system of clause 29, wherein the remote application executing in the remote computing environment is configured to send at least one cryptographic key to the reader device over a network.

条款31.一种计算机执行方法,包括:通过包括至少一个硬件处理器的客户端装置,使用由至少一个密码密钥加密的第一数量数据生成第一机器可读标识符,以呈现在所述客户端装置的显示器中,其中,具有其上存储有所述至少一个加密密钥的读出装置被配置为解密所述数据;通过所述客户端装置,在由所述客户端装置捕捉的至少一幅图像中标识第二机器可读标识符;通过所述客户端装置,解码所述第二机器可读标识符,以标识由读出装置使用所述至少一个密码密钥加密的第二数量数据;通过所述客户端装置,使用所述至少一个密码密钥解密所述第二数量数据;以及,通过所述客户端装置识别所述第一数量数据与所述第二数量数据之间是否存在冲突。Clause 31. A computer-implemented method comprising: generating, by a client device comprising at least one hardware processor, a first machine-readable identifier using first quantity data encrypted by at least one cryptographic key for presentation on a display of the client device, wherein a readout device having the at least one encryption key stored thereon is configured to decrypt the data; identifying, by the client device, a second machine-readable identifier in at least one image captured by the client device; decoding, by the client device, the second machine-readable identifier to identify second quantity data encrypted by the readout device using the at least one cryptographic key; decrypting, by the client device, the second quantity data using the at least one cryptographic key; and identifying, by the client device, whether there is a conflict between the first quantity data and the second quantity data.

条款32.条款31的计算机执行方法,还包括,响应于所述第一数量数据与所述第二数量数据之间存在冲突,所述客户端装置执行任务从而解决该冲突。Clause 32. The computer-implemented method of clause 31, further comprising, in response to a conflict between the first quantity data and the second quantity data, the client device performing a task to resolve the conflict.

条款33.条款31的计算机执行方法,其中响应于所述读出装置改变所述第一数量数据以产生所述第二数量数据,而标识所述冲突。Clause 33. The computer-implemented method of clause 31, wherein the conflict is identified in response to the reading device changing the first quantity data to produce the second quantity data.

条款34.条款32的计算机执行方法,其中所述任务包括:通过所述客户端装置,在所述客户端应用程序的用户界面中显示与所述冲突相关联的信息;通过所述客户端装置,标识在所述用户界面中做出的所述第一数量数据或所述第二数量数据中的选择;以及响应于所述选择被标识的,通过所述客户端装置,使用所选择的所述第一数量数据或所选择的所述第二数量数据更新所述客户端装置的数据存储。Clause 34. A computer-implemented method of clause 32, wherein the task comprises: displaying, via the client device, information associated with the conflict in a user interface of the client application; identifying, via the client device, a selection of the first quantity data or the second quantity data made in the user interface; and updating, via the client device, a data storage of the client device using the selected first quantity data or the selected second quantity data in response to the selection being identified.

条款35.条款32的计算机执行方法,其中所述任务包括,通过客户端装置,使用所述第二数量数据更新所述客户端装置的数据存储。Clause 35. The computer-implemented method of clause 32, wherein the task comprises, by a client device, updating a data store of the client device with the second quantity data.

条款36.条款31的计算机执行方法,还包括,通过所述客户端装置,使用所述第二数量数据中的至少一部分填充客户端应用程序中的用户界面的至少一个字段。Clause 36. The computer-implemented method of clause 31, further comprising, by the client device, populating at least one field of a user interface in a client application using at least a portion of the second quantity data.

条款37.条款31的计算机执行方法,其中由至少一个密码密钥加密的所述第一数量数据还包括摄取过程中获得的第一用户输入部分和第二用户输入部分,由可被所述读出装置访问的第一密码密钥加密所述第一用户输入部分,由所述读出装置不可访问的第二密码密钥加密所述第二用户输入部分。Clause 37. A computer-implemented method of clause 31, wherein the first quantity data encrypted by at least one cryptographic key also includes a first user input part and a second user input part obtained during the ingestion process, the first user input part is encrypted by a first cryptographic key accessible to the reading device, and the second user input part is encrypted by a second cryptographic key inaccessible to the reading device.

条款38.条款31的计算机执行方法,其中所述机器可读标识符为快速响应(QR)码或二维码。Clause 38. The computer-implemented method of clause 31, wherein the machine-readable identifier is a Quick Response (QR) code or a Two-Dimensional code.

条款39.条款31的计算机执行方法,还包括,通过所述客户端装置,通过网络从远程计算环境中执行的远程应用程序接收至少一个密码密钥。Clause 39. The computer-implemented method of clause 31, further comprising receiving, by the client device, at least one cryptographic key from a remote application executing in a remote computing environment over a network.

条款40.条款39的计算机执行方法,其中在所述远程计算环境中执行的所述远程应用程序被配置为通过网络向所述读出装置发送至少一个密码密钥。Clause 40. The computer-implemented method of clause 39, wherein the remote application executing in the remote computing environment is configured to send at least one cryptographic key to the reader over a network.

Claims (15)

1.一种系统,包括:1. A system comprising: 客户端装置,包括至少一个硬件处理器;A client device, including at least one hardware processor; 在所述客户端装置中可执行的客户端应用程序,包括程序指令,该程序指令在被执行时使得所述客户端装置:A client application executable in the client device includes program instructions that, when executed, cause the client device to: 使用由至少一个密码密钥加密的第一数量数据生成第一机器可读标识符,以呈现在所述客户端装置的显示器中,其中,具有其上存储有所述至少一个密码密钥的读出装置被配置为解密第一数量数据,所述第一数量数据包括第一用户输入部分和第二用户输入部分,使用所述读出装置可访问的第一密码密钥加密所述第一用户输入部分,使用所述读出装置不可访问的第二密码密钥加密所述第二用户输入部分;A first machine-readable identifier is generated using a first quantity of data encrypted with at least one cryptographic key to be displayed on the display of the client device, wherein a readout device having the at least one cryptographic key stored thereon is configured to decrypt the first quantity of data, the first quantity of data including a first user input portion and a second user input portion, the first user input portion being encrypted using a first cryptographic key accessible to the readout device, and the second user input portion being encrypted using a second cryptographic key inaccessible to the readout device. 在由所述客户端装置捕捉的至少一幅图像中标识第二机器可读标识符,所述第二机器可读标识由所述读出装置生成;A second machine-readable identifier is identified in at least one image captured by the client device, the second machine-readable identifier being generated by the readout device; 至少基于使用所述至少一个密码密钥由所述读出装置加密的所述第一数量数据,使用所述至少一个密码密钥,在解密所述第一数量数据之后,解码所述第二机器可读标识符,以标识由所述读出装置创建的第二数量数据;Based at least on the first quantity of data encrypted by the reading device using the at least one cryptographic key, after decrypting the first quantity of data using the at least one cryptographic key, the second machine-readable identifier is decoded to identify the second quantity of data created by the reading device; 使用所述至少一个密码密钥解密所述第二数量数据;以及Decrypt the second quantity data using the at least one cryptographic key; and 标识所述第一数量数据和所述第二数量数据之间是否存在冲突。Identify whether there is a conflict between the first quantity data and the second quantity data. 2.根据权利要求1所述的系统,其中所述客户端应用程序还包括程序指令,该程序指令在被执行时使得所述客户端装置响应于所述第一数量数据与所述第二数量数据之间存在的冲突而执行任务从而解决所述冲突。2. The system of claim 1, wherein the client application further includes program instructions that, when executed, cause the client device to perform a task to resolve a conflict between the first quantity data and the second quantity data. 3.根据权利要求2所述的系统,其中所述任务包括以下中的至少一个:3. The system of claim 2, wherein the task includes at least one of the following: 在所述客户端应用程序的用户界面中呈现与所述冲突相关联的信息;Information related to the conflict is presented in the user interface of the client application; 在所述用户界面中接收所述第一数量数据或所述第二数量数据的选择;以及The user interface receives a selection of the first quantity data or the second quantity data; and 响应于所述选择,使用所选择的所述第一数量数据或所选择的所述第二数量数据更新所述客户端装置的数据存储。In response to the selection, the data storage of the client device is updated using either the selected first quantity of data or the selected second quantity of data. 4.根据权利要求3所述的系统,其中所述任务还包括使用所述第二数量数据更新所述客户端装置的数据存储。4. The system of claim 3, wherein the task further includes updating the data storage of the client device using the second quantity data. 5.根据权利要求1所述的系统,其中所述客户端应用程序还包括程序指令,该程序指令在被执行时,使得所述客户端装置使用所述第二数量数据中的至少一部分填充所述客户端应用程序中的用户界面的至少一个字段。5. The system of claim 1, wherein the client application further comprises program instructions that, when executed, cause the client device to populate at least one field of the user interface in the client application with at least a portion of the second quantity data. 6.根据权利要求1所述的系统,其中在摄取过程中获得所述第一用户输入部分和所述第二用户输入部分。6. The system of claim 1, wherein the first user input portion and the second user input portion are obtained during the ingestion process. 7.根据权利要求1所述的系统,其中所述客户端应用程序还包括程序指令,所述程序指令在被执行时使得所述客户端装置通过网络从远程计算环境中执行的远程应用程序接收至少一个密码密钥。7. The system of claim 1, wherein the client application further comprises program instructions that, when executed, cause the client device to receive at least one cryptographic key from a remote application executing in a remote computing environment via a network. 8.一种计算机执行方法,包括:8. A computer-executed method, comprising: 通过包括至少一个硬件处理器的客户端装置,使用由至少一个密码密钥加密的第一数量数据生成第一机器可读标识符,以呈现在所述客户端装置的显示器中,其中,其上存储有所述至少一个密码密钥的读出装置被配置为解密第一数量数据,所述第一数量数据包括第一用户输入部分和第二用户输入部分,使用所述读出装置可访问的第一密码密钥加密所述第一用户输入部分,使用所述读出装置不可访问的第二密码密钥加密所述第二用户输入部分;A first machine-readable identifier is generated using a first quantity of data encrypted with at least one cryptographic key through a client device including at least one hardware processor, and is presented on the display of the client device, wherein a readout device storing the at least one cryptographic key thereon is configured to decrypt the first quantity of data, the first quantity of data including a first user input portion and a second user input portion, the first user input portion being encrypted using a first cryptographic key accessible to the readout device, and the second user input portion being encrypted using a second cryptographic key inaccessible to the readout device; 通过所述客户端装置,在由所述客户端装置捕捉的至少一幅图像中标识第二机器可读标识符,所述第二机器可读标识由所述读出装置生成;The client device identifies a second machine-readable identifier in at least one image captured by the client device, the second machine-readable identifier being generated by the readout device; 至少基于使用所述至少一个密码密钥由所述读出装置加密的所述第一数量数据,使用所述至少一个密码密钥,在解密所述第一数量数据之后,通过所述客户端装置解码所述第二机器可读标识符,以标识由所述读出装置创建的第二数量数据;Based at least on the first quantity of data encrypted by the reading device using the at least one cryptographic key, after decrypting the first quantity of data using the at least one cryptographic key, the client device decodes the second machine-readable identifier to identify the second quantity of data created by the reading device; 通过所述客户端装置,使用所述至少一个密码密钥解密所述第二数量数据;以及The second quantity of data is decrypted using the at least one cryptographic key via the client device; and 通过所述客户端装置标识所述第一数量数据与所述第二数量数据之间是否存在冲突。The client device identifies whether there is a conflict between the first quantity data and the second quantity data. 9.根据权利要求8所述的计算机执行方法,还包括,响应于所述第一数量数据与所述第二数量数据之间存在的冲突,由所述客户端装置执行任务从而解决所述冲突。9. The computer execution method of claim 8 further includes, in response to a conflict between the first quantity data and the second quantity data, the client device performing a task to resolve the conflict. 10.根据权利要求9所述的计算机执行方法,其中所述任务包括以下中的至少一个:10. The computer execution method of claim 9, wherein the task comprises at least one of the following: 在所述客户端应用程序的用户界面中呈现与所述冲突相关联的信息;Information related to the conflict is presented in the user interface of the client application; 在所述用户界面中接收所述第一数量数据或所述第二数量数据的选择;以及The user interface receives a selection of the first quantity data or the second quantity data; and 响应于所述选择,使用所选择的所述第一数量数据或所选择的所述第二数量数据更新所述客户端装置的数据存储。In response to the selection, the data storage of the client device is updated using either the selected first quantity of data or the selected second quantity of data. 11.权利要求10所述的计算机执行方法,其中所述任务还包括使用所述第二数量数据更新所述客户端装置的数据存储。11. The computer-executed method of claim 10, wherein the task further includes updating the data storage of the client device using the second quantity data. 12.根据权利要求8所述的计算机执行方法,还包括,通过所述客户端装置,使用所述第二数量数据中的至少一部分填充所述客户端应用程序中的用户界面的至少一个字段。12. The computer execution method of claim 8, further comprising, via the client device, populating at least one field of a user interface in the client application with at least a portion of the second quantity data. 13.根据权利要求8所述的计算机执行方法,其中在摄取过程中获得所述第一用户输入部分和所述第二用户输入部分。13. The computer execution method of claim 8, wherein the first user input portion and the second user input portion are obtained during the ingestion process. 14.根据权利要求8所述的计算机执行方法,还包括,通过所述客户端装置,通过网络从远程计算环境中执行的远程应用程序接收至少一个密码密钥。14. The computer execution method of claim 8, further comprising receiving at least one cryptographic key via a network from a remote application executing in a remote computing environment through the client device. 15.根据权利要求8所述的计算机执行方法,其中所述机器可读标识符为快速响应QR码或二维码。15. The computer-executed method of claim 8, wherein the machine-readable identifier is a quick-response QR code or a two-dimensional code.
HK17113442.8A 2015-03-03 2016-03-02 Access control for encrypted data in machine-readable identifiers HK1240423B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US62/127,404 2015-03-03

Publications (2)

Publication Number Publication Date
HK1240423A1 HK1240423A1 (en) 2018-05-18
HK1240423B true HK1240423B (en) 2021-07-16

Family

ID=

Similar Documents

Publication Publication Date Title
US11948029B2 (en) Access control for encrypted data in machine-readable identifiers
US12229520B2 (en) Secure data translation using machine-readable identifiers
US10380379B2 (en) Selectively encrypting and displaying machine-readable identifiers in a device lock screen
US20200008051A1 (en) Secure data translation using a low-energy wireless communication link
HK1240423B (en) Access control for encrypted data in machine-readable identifiers
HK1240423A1 (en) Access control for encrypted data in machine-readable identifiers
JP7702153B2 (en) Data entry support system
Ogoe et al. Continuity of care in Ghana: the promise of smart-med