Nothing Special   »   [go: up one dir, main page]

KR20170110679A - Access control for encrypted data within machine-readable identifiers - Google Patents

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

Info

Publication number
KR20170110679A
KR20170110679A KR1020177024701A KR20177024701A KR20170110679A KR 20170110679 A KR20170110679 A KR 20170110679A KR 1020177024701 A KR1020177024701 A KR 1020177024701A KR 20177024701 A KR20177024701 A KR 20177024701A KR 20170110679 A KR20170110679 A KR 20170110679A
Authority
KR
South Korea
Prior art keywords
data
encryption key
client device
client
readable identifier
Prior art date
Application number
KR1020177024701A
Other languages
Korean (ko)
Other versions
KR102045023B1 (en
Inventor
케네스 힐
캐서린 에스. 힐
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 원더헬스, 엘엘씨.
Priority to KR1020197033230A priority Critical patent/KR102336845B1/en
Publication of KR20170110679A publication Critical patent/KR20170110679A/en
Application granted granted Critical
Publication of KR102045023B1 publication Critical patent/KR102045023B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/06009Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
    • G06K19/06037Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking multi-dimensional coding
    • G06F19/322
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/36User authentication by graphic or iconic representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/06009Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
    • G06K19/06018Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking one-dimensional coding
    • G06K19/06028Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking one-dimensional coding using bar codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/10544Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum
    • G06K7/10712Fixed beam scanning
    • G06K7/10722Photodetector array or CCD scanning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • G06K7/1439Methods for optical code recognition including a method step for retrieval of the optical code
    • G06K7/1443Methods for optical code recognition including a method step for retrieval of the optical code locating of the code in an image
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H10/00ICT specially adapted for the handling or processing of patient-related medical or healthcare data
    • G16H10/60ICT specially adapted for the handling or processing of patient-related medical or healthcare data for patient-specific data, e.g. for electronic patient records
    • G16H10/65ICT specially adapted for the handling or processing of patient-related medical or healthcare data for patient-specific data, e.g. for electronic patient records stored on portable record carriers, e.g. on smartcards, RFID tags or CD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/088Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2149Restricted operating environment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2151Time stamp
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H10/00ICT specially adapted for the handling or processing of patient-related medical or healthcare data
    • G16H10/60ICT specially adapted for the handling or processing of patient-related medical or healthcare data for patient-specific data, e.g. for electronic patient records
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/60Context-dependent security
    • H04W12/69Identity-dependent
    • H04W12/77Graphical identity

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Bioethics (AREA)
  • Electromagnetism (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Toxicology (AREA)
  • Databases & Information Systems (AREA)
  • Primary Health Care (AREA)
  • Public Health (AREA)
  • Epidemiology (AREA)
  • Computing Systems (AREA)
  • Medical Treatment And Welfare Office Work (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Storage Device Security (AREA)
  • Information Transfer Between Computers (AREA)
  • Measuring And Recording Apparatus For Diagnosis (AREA)
  • User Interface Of Digital Computer (AREA)
  • Telephonic Communication Services (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

다양한 판독기 기기들에 의해 판독될 때 단일 기계 판독 가능한 식별자의 기초가 되는 데이터에 대한 액세스 제어를 제공하기 위한 다양한 실시예들이 개시된다. 클라이언트 기기는 제1 기기 프로파일과 연관된 제1 암호화 키 및 제2 기기 프로파일과 연관된 제2 암호화 키를 수신할 수 있다. 수집 프로세스를 통해 제공된 데이터는 적어도 제1 데이터 부분 및 제2 데이터 부분으로 포맷팅되며, 이 경우 상기 제1 데이터 부분은 제1 판독기 기기를 위한 것이고, 상기 제2 데이터 부분은 제2 판독기 기기를 위한 것이다. 제1 데이터 부분은 제1 암호화 키를 사용하여 암호화될 수 있으며, 제2 데이터 부분은 제2 암호화 키를 사용하여 암호화된다. 기계 판독 가능한 식별자는 암호화된 제1 데이터 부분 및 암호화된 제2 데이터 부분을 사용하여 생성될 수 있다. Various embodiments are disclosed for providing access control for data that is the basis of a single machine-readable identifier when read by various reader devices. The client device may receive a first encryption key associated with the first device profile and a second encryption key associated with the second device profile. The data provided through the gathering process is formatted with at least a first data portion and a second data portion, wherein the first data portion is for a first reader device and the second data portion is for a second reader device . The first data portion may be encrypted using the first encryption key and the second data portion is encrypted using the second encryption key. The machine readable identifier may be generated using the encrypted first data portion and the encrypted second data portion.

Description

기계 판독 가능한 식별자들 내의 암호화된 데이터에 대한 액세스 제어Access control for encrypted data within machine-readable identifiers

관련 출원에 대한 상호 참조Cross-reference to related application

본 출원은 2015년 3월 3일에 출원된 미국 임시특허출원 제62/127,404호 "암호화된 건강 정보를 갖는 식별자를 생성하는 방법"의 우선권을 함유하며, 상기 임시특허출원의 내용은 그 전체가 본원에 참고로 편입된다. This application claims priority to U.S. Provisional Patent Application No. 62 / 127,404, filed Mar. 3, 2015, entitled " Method for Generating Identifiers Having Encrypted Health Information, " Incorporated herein by reference.

발명의 기술 분야TECHNICAL FIELD OF THE INVENTION

본 개시서는 암호 해독, 기계 판독 가능한 식별자 기술, 데이터 보안에 관한 것이며, 그리고 어느 정도는 컴퓨터 시각에 관련이 있다.The present disclosure relates to cryptanalysis, machine readable identifier technology, data security, and to some extent, computer vision.

기계 판독 가능 식별자들은 바코드 또는 매트릭스 코드 스캐너와 같은 판독기 기기에 의해 인식 가능한 매체로 데이터를 포맷팅하는데 사용될 수 있다. 그러나 적합한 판독기를 갖는 임의의 사람은 기초가 되는 데이터(underlying data)가 암호화되어 있지 않은 한 기계 판독 가능한 식별자로 구현된 데이터를 획득할 수 있다. 어느 기기들이 기계 판독 가능한 식별자들로 암호화된 데이터에 액세스할 수 있는지를 관리하는 것은 여전히 문제가 있다.The machine readable identifiers can be used to format data into a medium that is recognizable by a reader device, such as a barcode or matrix code scanner. However, any person with a suitable reader may obtain data embodied in a machine-readable identifier unless the underlying data is encrypted. It is still a problem to manage which devices can access encrypted data with machine readable identifiers.

본 개시서의 많은 양상들은 다음의 도면을 참조하여 더 잘 이해될 수 있다. 도면들 내의 컴포넌트들은 반드시 축척이 맞을 필요는 없으며, 대신에 본 발명의 원리를 명확하게 설명하는데 중점을 둔다. 또한, 도면에서, 동일한 참조번호는 여러 도면에서 대응하는 부분들을 나타낸다.
도 1은 다양한 실시예들에 따라 클라이언트 애플리케이션에 의해 수집된 정보에 대한 액세스 제어를 제공하기 위한 네트워크 환경의 예를 도시한다.
도 2는 다양한 실시예들에 따라 암호화된 기계 판독 가능한 식별자들을 사용하여 콘텐츠 데이터를 증대(augmenting) 및 업데이트하기 위한 네트워크 환경의 다른 예를 도시한다.
도 3은 다양한 실시예들에 따라 다수의 키들을 사용하여 암호화된 데이터의 일부분들을 갖는 기계 판독 가능한 식별자를 생성하는데 사용되는 데이터 구조를 도시한다.
도 4는 40-L 버전 매트릭스 코드의 용량을 나타내는 테이블을 포함한다.
도 5는 인코딩 데이터의 모드에 대한 모드 표시자 비트를 나타내는 표를 포함한다.
도 6은 다양한 실시예들에 따라 기계 판독 가능한 식별자에서 사용하기 위한 데이터의 암호화 및 인코딩의 일례를 나타내는 흐름도이다.
도 7a 내지 도 7n은 다양한 실시예들에 따른 클라이언트 애플리케이션에 의해 생성된 사용자 인터페이스들의 다양한 예들을 도시한다.
도 8은 다양한 실시예들에 따라 기계-판독 가능한 식별자를 생성하도록 컴퓨팅 기기 또는 클라이언트 기기를 구성하는데 사용되는 코드의 일례를 나타내는 의사 코드(pseudo-code)이다.
도 9는 다양한 실시예들에 따라 다른 기기에 의해 생성된 기계 판독 가능한 식별자를 사용하여 클라이언트 기기에서 데이터를 업데이트 및 증대하는 예를 도시한다.
도 10 내지 도 12는 다양한 실시예들에 따라 클라이언트 기기에서 실행되는 클라이언트 애플리케이션의 기능을 도시하는 흐름도들이다.
도 13 및 도 14는 다양한 실시예들에 따라 컴퓨팅 환경에서 실행되는 원격 애플리케이션의 기능을 도시하는 흐름도들이다.
도 15 내지 도 17은 다양한 실시예들에 따라 도 1 및 도 2의 네트워크 환경에서 사용되는 컴퓨팅 환경, 클라이언트 기기 및 판독기 기기의 예시적인 설명들을 제공하는 개략적인 블록도들이다.
Many aspects of the present disclosure may be better understood with reference to the following drawings. The components in the figures are not necessarily to scale, emphasis instead being placed upon clearly illustrating the principles of the invention. Also, in the drawings, like reference numbers indicate corresponding parts in the several views.
1 illustrates an example of a network environment for providing access control for information collected by a client application in accordance with various embodiments.
Figure 2 illustrates another example of a network environment for augmenting and updating content data using encrypted machine readable identifiers in accordance with various embodiments.
FIG. 3 illustrates a data structure used to create a machine-readable identifier having portions of encrypted data using multiple keys in accordance with various embodiments.
Figure 4 includes a table showing the capacity of the 40-L version matrix code.
Figure 5 includes a table showing the mode indicator bits for the mode of encoded data.
6 is a flow diagram illustrating an example of encryption and encoding of data for use in a machine readable identifier in accordance with various embodiments.
Figures 7A-7N illustrate various examples of user interfaces created by a client application in accordance with various embodiments.
8 is a pseudo-code illustrating an example of code used to configure a computing device or client device to generate a machine-readable identifier in accordance with various embodiments.
Figure 9 illustrates an example of updating and augmenting data at a client device using a machine-readable identifier generated by another device in accordance with various embodiments.
10-12 are flowcharts illustrating the functionality of a client application running on a client device in accordance with various embodiments.
Figures 13 and 14 are flow charts illustrating the functionality of a remote application running in a computing environment in accordance with various embodiments.
Figures 15-17 are schematic block diagrams that provide exemplary illustrations of computing environments, client devices, and reader devices used in the network environments of Figures 1 and 2, in accordance with various embodiments.

본 개시서는 기계 판독 가능한 식별자들 내의 세그먼트화된 데이터(segmented data)에 대한 액세스 제어에 관한 것이다. 바코드, 매트릭스 코드 또는 다른 유사한 식별자들과 같은 기계 판독 가능한 식별자들은 바코드 또는 매트릭스 코드 스캐너와 같은 판독기 기기에 의해 인식 가능한 매체로 데이터를 포맷팅하는데 사용될 수 있다. 유선 또는 무선 네트워크를 사용하지 않고 하나의 기기에서 다른 기기로 데이터를 전달하기 위해 기계 판독 가능한 식별자들이 사용될 수 있지만, 적합한 판독기를 가진 사람은 기초가 되는 데이터가 암호화되지 않는 한 기계 판독 가능 식별자로 구현된 데이터를 획득할 수 있다. 기초가 되는 데이터가 민감할 수 있으므로, 사용자는 기초가 되는 데이터의 어느 부분이 다양한 기기들에 의해 판독될 수 있는지를 제어하기를 원할 수 있다. The present disclosure relates to access control for segmented data in machine readable identifiers. Machine readable identifiers such as bar codes, matrix codes or other similar identifiers may be used to format the data into a medium that is recognizable by a reader device, such as a bar code or matrix code scanner. Although machine readable identifiers may be used to transfer data from one device to another without using a wired or wireless network, persons with suitable readers may implement the machine readable identifier unless the underlying data is encrypted Data can be obtained. Since the underlying data may be sensitive, the user may want to control which portions of the underlying data can be read by the various devices.

예를 들어, 일부 실시예들에서, 의료 정보는 기계 판독 가능한 식별자로 인코딩될 수 있다. 사람들은 비공개로 유지하고자 하는 민감한 데이터를 생성해야하는 경우가 있다(예를 들어, 진료소를 방문하는 동안 병력을 제공하는 것). 병력뿐만 아니라 다른 개인 식별 정보는 일반적으로 척추지압사(chiropractor), 종합 병원(holistic medicine provider), 수의사, 응급 센터, 치과의사, 보험 회사 등에서 필요하다. 가족 구성원들은 친척들이 이러한 정보를 제공할 수 없을 때 친척들을 대신하여 의료 제공자에게 이러한 정보를 제공할 책임이 있을 수 있다. For example, in some embodiments, the medical information may be encoded with a machine-readable identifier. People sometimes need to generate sensitive data that they want to keep private (for example, providing a medical force during a visit to a clinic). In addition to medical history, other personally identifiable information is usually needed in chiropractors, holistic medicine providers, veterinarians, emergency centers, dentists, insurance companies, and so on. Family members may be responsible for providing this information to health care providers on behalf of their relatives when relatives are unable to provide this information.

어떤 사람이 자신의 일반의(general practitioner; GP)에게 완전한 병력을 제공하기를 원할 수도 있지만, 그 사람은 지압사 또는 치과 의사와 같은 다른 제공자에게는 완전한 병력을 제공하기를 원하지 않을 수도 있다. 대신 의료 전문가와 관련이 있는 것으로 데이터를 제한하고자 할 수 있다. 이에 따라, 다양한 실시예들에서, 데이터를 이용하여 하나의 기계 판독 가능한 식별자가 인코딩될 수 있으며, 이 경우, 상이한 기기들은 데이터의 상이한 부분들을 판독할 수 있다. 예를 들어, 한 개인은 자신의 일반의가 매트릭스 코드로부터 완전한 병력을 획득하는 것을 허가할 수 있지만, 지압사는, 동일한 매트릭스 코드를 사용하여, 오직 사용자가 승인한 만큼의 병력의 하위 집합만을 획득할 수 있다.While a person may want to provide a full force to his general practitioner (GP), he may not want to provide a full force to other providers, such as a chiropractor or dentist. Instead, you might want to limit your data to something that is relevant to a healthcare professional. Thus, in various embodiments, one machine readable identifier may be encoded using the data, in which case the different instruments may read different portions of the data. For example, an individual may allow his or her generic to acquire a complete history from a matrix code, but a chiropractor uses the same matrix code to acquire only a subset of the troops as authorized by the user .

다양한 실시예들에 따르면, 사용자는, 펜 및 종이를 사용하여 예진표(medical form)를 작성하는 표준 관례와는 대조적으로, 스마트폰 또는 태플릿과 같은 자신의 전자 기기를 사용하여 예진 정보(medical intake information)를 제공할 수 있다. 전자 기기를 통해 사용자가 제공하는 의료, 개인 및 기타 주의가 필요한 정보는 민감할 수 있으므로, 네트워크를 통해 정보를 전송하면 우려가 제기된다. 예를 들어, 패킷 스니핑 소프트웨어 또는 비인증 액세스 포인트를 사용하여 정보가 누출될 수 있다. 또한, 정보가 저장되는 데이터베이스들이 해킹당할 수 있다. 이와 같이, 바코드 또는 매트릭스 코드와 같이 기계 판독 가능 식별자들은 네트워크를 사용하지 않고 주변 기기들 간에 정보를 전달하는데 사용될 수 있다.In accordance with various embodiments, a user may use his or her electronic device, such as a smartphone or a tablet, to create a medical intake, in contrast to the standard practice of creating a medical form using a pen and paper. information can be provided. Information that medical, personal, and other sensitive information that users provide through electronic devices can be sensitive, so transferring information over the network raises concerns. For example, information may be leaked using packet sniffing software or an unauthorized access point. In addition, databases in which information is stored may be hacked. As such, machine readable identifiers, such as bar code or matrix code, can be used to convey information between peripherals without using a network.

그러나 기계 판독 가능한 식별자들은 일반적으로 오픈 소스 또는 투명한 표준(transparent standards)에 의존하는데, 이러한 오픈 소스 또는 투명한 표준은 기계 판독 가능한 식별자들로 구현된 데이터의 해석을 권한 없는 액세스에 취약하게 만든다. 예를 들어, 의료 정보가 매트릭스 코드로구현되었다면, 모든 상업적으로 이용 가능한 매트릭스 코드 판독기는 상기 의료 정보를 획득할 수 있다. 기초가 되는 데이터가 암호화될 수 있지만, 오직 적합한 키로의 액세스를 갖는 기기들만 그 데이터를 해독할 수 있다. 그러나 여러 기기들이 단일 키를 공유하는 것은 사람이 전체 정보를 제공하는 것을 단념시킨다. 왜냐하면 그 사람은 키를 가진 모든 기기들이 자신의 정보에 액세스할 수 있다는 것을 인식할 수 있기 때문이다. However, machine-readable identifiers generally rely on open source or transparent standards, which open source or transparent standards make interpretation of data implemented with machine-readable identifiers vulnerable to unauthorized access. For example, if the medical information is implemented in a matrix code, all commercially available matrix code readers may obtain the medical information. The underlying data can be encrypted, but only those devices that have access to the appropriate key can decrypt the data. However, the sharing of a single key by several devices discourages a person from providing the entire information. Because he can recognize that all devices with keys can access his information.

이에 따라, 본원에 설명된 실시예들에서, 기계 판독 가능한 식별자들 내 세그먼트화된 데이터에 대한 액세스 제어가 제공될 수 있다. 일 실시예에서, 클라이언트 기기에서 실행 가능한 클라이언트 애플리케이션은 네트워크를 통해 제1 기기 프로파일과 연관된 제1 암호화 키 및 제2 기기 프로파일과 연관된 제2 암호화 키를 수신하도록 구성될 수 있다. 상기 클라이언트 애플리케이션은 사용자로 하여금 다양한 데이터를 입력하도록 하는 일련의 사용자 인터페이스들을 포함할 수 있는 수집(ingestion) 프로세스를 통해 사용자로부터의 입력 데이터의 수집을 용이하게 할 수 있다. 일단 수신되면, 클라이언트 애플리케이션은 입력 데이터를 적어도 제1 데이터 부분 및 제2 데이터 부분으로 분할하거나 그렇지 않으면 입력 데이터를 적어도 제1 데이터 부분 및 제2 데이터 부분으로 포맷팅할 수 있다. 예를 들어, 상기 제1 데이터 부분은 일반의용 판독기 기기에 의해 해석될 수 있지만, 상기 제2 데이터 부분은 지압사용 판독기 기기에 의해 해석될 수 있다.Thus, in the embodiments described herein, access control for segmented data in machine readable identifiers can be provided. In one embodiment, a client application executable on a client device can be configured to receive a first encryption key associated with a first device profile and a second encryption key associated with a second device profile over a network. The client application may facilitate collection of input data from a user through an ingestion process that may include a series of user interfaces that allow a user to enter various data. Once received, the client application may split the input data into at least a first data portion and a second data portion, 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 interpreted by a general purpose reader device, but the second data portion may be interpreted by an acupressure use reader device.

클라이언트 애플리케이션은 제1 암호화 키를 사용하여 제1 데이터 부분을 해석할 수 있고 제2 암호화 키를 사용하여 제2 데이터 부분을 해석할 수 있다. 본 명세서에서 키 관리 애플리케이션으로 지칭되는 원격 애플리케이션은 서버와 같은 원격 컴퓨팅 기기에서 실행될 수 있으며, 그리고 사용자에 의해 허가받은 대로 데이터를 해독할 수 있는 키들의 전송 및 수신을 감독할 수 있다. 대안적으로, 다른 실시예들에서, 수신기 기기는 원격 컴퓨팅 환경에서 키와 관련될 수 있다. 원격 애플리케이션은 클라이언트 애플리케이션에 수신기 기기에 대한 키를 제공할 수 있으며, 이로써, 정보는 수신기 기기에 의한 액세스를 위해 암호화된다. 마지막으로, 클라이언트 애플리케이션은 클라이언트 기기에 의해 액세스 가능한 디스플레이에서 렌더링하기 위해 암호화된 제1 데이터 부분 및 암호화된 제2 데이터 부분을 사용하여 기계 판독 가능 식별자를 생성할 수 있다. 상기 수신기 기기는 자동 이미지 분석 및 컴퓨터 시각을 사용하여 기초가 되는 데이터에 액세스하기 위해 기계 판독 가능한 식별자의 하나 이상의 이미지들을 캡처할 수 있다.The client application can interpret the first data portion using the first encryption key and interpret the second data portion using the second encryption key. A remote application, referred to herein as a key management application, may be executed on a remote computing device, such as a server, and may supervise the transmission and reception of keys capable of decrypting the data as authorized by the user. Alternatively, in other embodiments, the receiver device may be associated with a key in a remote computing environment. The remote application may provide the client application with a key for the receiver device, whereby the information is encrypted for access by the receiver device. Finally, the client application may generate the machine readable identifier using the encrypted first data portion and the encrypted second data portion for rendering on a display accessible by the client device. The receiver device may capture one or more images of the machine-readable identifier to access underlying data using automatic image analysis and computer vision.

비-제한적인 예로서, 클라이언트 애플리케이션의 사용자는 자신의 일반의에게 높은 수준의 액세스를 부여할 수 있으며, 이 경우, 일반의는 자신의 기기를 사용하여 클라이언트 애플리케이션의 사용자에 의해 제공된 모든 입력 데이터에 액세스할 수 있다. 키 관리 애플리케이션은 일반의용 기기에 뿐만 아니라 사용자용 기기에도 키를 발송할 수 있다. 이와 유사하게, 키 관리 애플리케이션은 지압사 또는 다른 의료 제공자용 기기에 그리고 사용자용 기기에 키를 발송할 수 있다. 클라이언트 애플리케이션은 대응 키를 사용하여 일반의에 의한 수신이 승인된 데이터를 인코딩하면서, 지압사를 위한 상이한 키를 사용하여 지압사에 의한 수신이 승인된 데이터를 인코딩할 수 있다. 이를 위해, 단일 기계 판독 가능 식별자를 사용하여, 기계 판독 가능한 식별자의 기초가 되는 데이터에 대한 액세스 제어가 제공된다. As a non-limiting example, a user of a client application may grant a high level of access to his or her general user, in which case the general user may use his or her device to access all input data provided by the user of the client application Access. Key management applications can send keys to not only general purpose devices but also user devices. Similarly, the key management application may send keys to a device for a chiropractor or other health care provider and to a user device. The client application may encode data approved for receipt by the acupressurist using a different key for the acupressurist while encoding the accepted receipt by the general public using the corresponding key. To this end, a single machine readable identifier is used to provide access control to the underlying data of the machine readable identifier.

이해될 수 있는 바와 같이, 네트워크를 통해 전송된 데이터를 가로채는 여러 가지 방법이 존재하기 때문에 네트워크를 사용하지 않고 기기들 간에 민감한 데이터를 전송하기 위해 기술적 문제가 존재한다. 추가적으로, 네트워크 저장 데이터(네트워크 기기에 저장된 데이터)가 허가 없이 획득될 수 있는 많은 방법이 존재하기 때문에 기술적인 문제가 존재한다. 이에 따라, 본원에 기술된 실시예들은 민감한 데이터를 전송 및 수신하기 위해 네트워크를 사용하지 않으면서 기기들 간에 민감한 데이터를 전송하는 방법을 제시함으로써 기술적인 문제를 해결한다. As can be appreciated, because there are several ways to intercept data transmitted over the network, there is a technical problem to transmit sensitive data between devices without using the network. Additionally, there are technical problems because there are many ways in which network stored data (data stored on a network device) can be obtained without permission. Accordingly, the embodiments described herein solve a technical problem by suggesting a method for transmitting sensitive data between devices without using a network to transmit and receive sensitive data.

본 개시서는 헬스케어 데이터와 관련된 다수의 예들을 제공하지만, 본원에 포함된 실시예들은 많은 산업 분야에 적용 가능하다. 추가적으로, 본 개시서는 매트릭스 코드 및 다른 유사한 기계 판독 가능한 식별자들과 관련된 예들을 제공한다. 그러나 일부 실시예들에서, RICOH®에 의해 시판되는 Clickable Paper™ 애플리케이션에서 사용되는 것과 같은 상이한 형태의 이미지들로 인코딩된 데이터를 식별하기 위해 시각 이미지 인식이 사용될 수 있다.While the present disclosure provides numerous examples relating to healthcare data, the embodiments contained herein are applicable to many industrial applications. Additionally, the present disclosure provides examples relating to matrix codes and other similar machine-readable identifiers. However, in some embodiments, visual image recognition may be used to identify data encoded in different types of images, such as those used in the Clickable Paper ™ application marketed by RICOH®.

다음 논의에서는, 시스템 및 해당 컴포넌트들에 대한 일반적인 설명이 제공되고, 이후에는 시스템 및 해당 구성 요소들의 작동에 대한 설명이 제공된다.In the following discussion, a general 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)은 네트워크(112)를 통해 서로 데이터 통신하는 컴퓨팅 환경(103), 클라이언트 기기(106) 및 판독기 기기(109)를 포함한다. 다양한 실시예들에서, 클라이언트 기기(106) 및 판독기 기기(109)는 암호화 키들을 이외에는 네트워크(112)를 통해 하나의 기기에서 다른 기기로 어떠한 정보도 전달하지 않을 수 있으며, 이에 관하여 후술될 것이다. 네트워크(112)는 예를 들어 인터넷, 인트라넷, 엑스트라넷, WAN(wide area network), LAN(local area network), 유선 네트워크, 무선 네트워크, 또는 다른 적절한 네트워크 등 또는 그러한 네트워크들의 하나 이상의 조합을 포함한다. 예를 들어, 그러한 네트워크는 위성 네트워크, 케이블 네트워크, 이더넷 네트워크 및 다른 유형의 네트워크를 포함할 수 있다.Referring to Figure 1, a network environment 100 in accordance with various embodiments is shown. The network environment 100 includes a computing environment 103, a client device 106, and a reader device 109 that are in data communication with one another via a network 112. In various embodiments, the client device 106 and the reader device 109 may not convey any information from one device to another via the network 112 other than the encryption keys, and will be described below. The network 112 includes, for example, the Internet, an intranet, an extranet, a wide area network (WAN), a local area network (LAN), a wired network, a wireless network, . 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 functionality. Alternatively, the computing environment 103 may use a number of computing devices that may be located, for example, in one or more server banks, computer banks, or other devices. Such computing devices may be deployed in a single facility, or may be distributed among many other geographic locations. For example, computing environment 103 may include a plurality of computing devices that may include hosted computing resources, grid computing resources, and / or any other distributed computing device. In some cases, the computing environment 103 may be responsive to resilient computing resources where the allocated capacity of processing, network, storage, or other computing related resources may change over time.

다양한 응용들 및/또는 다른 기능은 다양한 실시예들에 따라 컴퓨팅 환경(103)에서 실행될 수 있다. 또한, 다양한 데이터는 컴퓨팅 환경(103)에 액세스 가능한 데이터 저장소(115)에 저장된다. 데이터 저장소(115)는 이해될 수 있는 바와 같이 다수의 데이터 저장소들(115)을 나타낼 수 있다. 데이터 저장소(115)에 저장된 데이터는 예를 들어 이하에서 설명되는 다양한 애플리케이션들 및/또는 기능적 엔티티들의 동작과 관련된다.Various applications and / or other functions may be executed in the computing environment 103 in accordance with various embodiments. In addition, the various data are stored in a data store 115 that is accessible to the computing environment 103. The data store 115 may represent a plurality of data stores 115 as can be appreciated. The data stored in the data store 115 relates to the operation of the various applications and / or functional entities described below, for example.

컴퓨팅 환경(103) 상에서 실행되는 컴포넌트들은 예를 들어 키 관리 애플리케이션(118), 번역기 서비스(120), 다이렉스 메시징 서비스(122), 그리고 본 명세서에서 상세히 논의되지 않는 다른 애플리케이션들, 서비스들, 프로세스들, 시스템들, 엔진들 또는 기능을 포함할 수 있다. 키 관리 애플리케이션(118)은 데이터 저장소(115)에 저장된 다양한 암호화 키들(121a 내지 121c)의 전송 및 수신을 감독하도록 실행될 수 있으며, 이는 후술될 것이다.The components that run on the computing environment 103 may include other components such as, for example, a key management application 118, a translator service 120, a delegated messaging service 122, and other applications, services, Systems, engines, or functions. The key management application 118 may be executed to supervise the transmission and reception of the various encryption keys 121a-121c stored in the data store 115, which will be described later.

번역기 서비스(120)는 사용자 입력을 스페인어와 같은 제1 언어로부터 영어와 같은 제2 언어로 번역하도록 실행될 수 있다. 일부 실시예들에서, 번역기 서비스(120)는 수집 프로세스에서 사용하기 위해 컴퓨팅 환경(103)에 저장된 질문을 제1 언어에서 제2 언어로 번역하는데 사용될 수 있다. Translator service 120 may be implemented to translate user input from a first language such as Spanish to a second language such as English. In some embodiments, translator service 120 may be used to translate questions stored in computing environment 103 for use in the gathering process from a first language to a second language.

다이렉트 메시징 서비스(122)는 네트워크를 통해 클라이언트 기기(106)로부터 다른 기기에 암호화된 다이렉트 메시지들을 발송하는데 사용될 수 있다. 일 실시예에서, 클라이언트 기기(106)에서 실행 가능한 애플리케이션은 클라이언트 기기(106)의 사용자에 의해 생성된 메시지를 암호화하고 암호화된 메시지를 네트워크를 통해 다이렉트 메시징 서비스(122)에 발송하며, 그 다음 상기 다이렉트 메시징 서비스(122)는 상기 암호화된 메시지를 수신 클라이언트 기기(106)에 전송한다. 일례에서, 상기 다이렉트 메시징 서비스(122)는 환자가 자신의 의료 서비스 제공자와 직접 통신할 수 있게 한다. 다른 실시예들에서, 메시지들은 기계 판독 가능한 식별자를 사용하여 클라이언트 기기들(106) 간에 전달될 수 있으며, 이에 관해 후술될 것이다.The direct messaging service 122 may be used to send encrypted direct messages from the client device 106 to another device over the network. In one embodiment, an executable application on the client device 106 encrypts the message generated by the user of the client device 106 and forwards the encrypted message over the network to the direct messaging service 122, The direct messaging service 122 sends the encrypted message to the receiving client device 106. In one example, the direct messaging service 122 allows a patient to communicate directly with his or her health care provider. In other embodiments, the messages may be communicated between client devices 106 using a machine readable identifier, as will be described below.

추가 실시예들에서, 컴퓨팅 환경(103)은 암호화된 정보(예를 들어, 암호화된 건강 정보)의 클라우드 기반 저장소를 제공하는 애플리케이션들 또는 서비스들을 포함할 수 있지만, 다른 실시예들에서, 암호화된 정보는 컴퓨팅 환경(103)에 저장되지 않을 수 있다. In further embodiments, the computing environment 103 may include applications or services that provide a cloud-based repository of encrypted information (e.g., encrypted health information), but in other embodiments, Information may not be stored in the computing environment 103.

클라이언트 기기(106)는 네트워크(112)에 연결될 수 있는 다수의 클라이언트 기기들을 나타낸다. 클라이언트 기기(106)는 예를 들어 컴퓨터 시스템 같은 프로세서 기반 시스템을 포함할 수 있다. 그러한 컴퓨터 시스템은 데스크탑 컴퓨터, 랩탑 컴퓨터, PDA(personal digital assistant), 셀룰러폰, 스마트폰, 셋탑 박스, 뮤직 플레이어, 웹패드, 태블릿 컴퓨터 시스템, 게임 콘솔, 이북리더(electronic book reader), 스마트워치 또는 유사한 기능을 갖는 다른 기기들의 형태로 구현될 수 있다. 클라이언트 기기(106)는 클라이언트 기기 디스플레이(124)를 포함할 수 있으며, 판독기 기기(109)는 판독기 기기 디스플레이(127)를 포함할 수 있다. 클라이언트 기기 디스플레이(124) 및 판독기 기기 디스플레이(127)는 예를 들어 LCD(liquid crystal display) 디스플레이, 가스 플라즈마 기반 평면 패널 디스플레이, OLED(organic light emitting diode) 디스플레이, 전자 잉크(E ink) 디스플레이, LCD 프로젝터, 또는 다른 유형의 디스플레이 기기 등 같은 하나 이상의 기기들을 포함할 수 있다.The client device 106 represents a plurality of client devices that may be connected to the network 112. The client device 106 may comprise a processor-based system such as, for example, a computer system. Such a computer system may be a desktop computer, a laptop computer, a personal digital assistant (PDA), a cellular phone, a smart phone, a set top box, a music player, a web pad, a tablet computer system, a game console, an electronic book reader, And may be implemented in the form of other devices having similar functions. The client device 106 may include a client device display 124 and the reader device 109 may include a reader device display 127. The client device display 124 and the reader device display 127 may be any suitable display device such as, for example, a liquid crystal display (LCD) display, a gas plasma based flat panel display, an organic light emitting diode (OLED) A projector, or other type of display device, and the like.

클라이언트 기기(106)는 클라이언트 애플리케이션(130) 및/또는 다른 애플리케이션 같은 다양한 애플리케이션들을 실행하도록 구성될 수 있다. 클라이언트 애플리케이션(130)은 예를 들어 수집 프로세스를 수행하기 위해 클라이언트 기기(106)에서 실행될 수 있으며, 이에 의해, 클라이언트 기기 디스플레이(124)에 일련의 사용자 인터페이스들(131a)이 렌더링되어 사용자에게 사용자 입력을 프롬프트한다. 일례에서, 개인 정보, 의료 정보 또는 다른 적절한 정보를 획득하기 위해 하나 이상의 질문들이 사용자에게 제공된다. 하나 이상의 질문들은 컴퓨팅 환경(103)으로부터 획득되거나 클라이언트 애플리케이션(130)에서 하드코딩될 수 있다.The client device 106 may be configured to execute various applications, such as the client application 130 and / or other applications. The client application 130 may be executed on the client device 106 to perform, for example, a gathering process whereby a series of user interfaces 131a are rendered on the client device display 124, Prompt. In one example, one or more questions are provided to the user to obtain personal information, medical information, or other appropriate information. The one or more questions may 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 may encrypt the user input and may generate the machine readable identifier 133 with the encrypted user input. As can be appreciated, the reader device 109 uses the reader application 136 to interpret the machine-readable identifier 133 and access the encrypted user input. Using one or more encryption keys 121, the reader application 136 may decrypt the encrypted user input for local storage on the reader device 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, and the like, and may include a user interface 131a or a reader application 136 may include a network page, an application screen, and so on. 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)는 기계 판독 가능한 식별자(133)를 해석할 수 있는 카메라 또는 다른 기기와 같은 전-방향(front-facing) 이미징 기기(139) 또는 후-방향(rear-facing) 이미징 기기(미도시)를 포함할 수 있다. 판독기 애플리케이션(136)은 판독기 기기(109)에서 실행되어 클라이언트 애플리케이션(130)에 의해 생성된 기계 판독 가능한 식별자(133)의 하나 이상의 이미지들을 캡처할 수 있다. 이와 유사하게, 클라이언트 기기(106)는 전-방향 또는 후-방향 카메라와 같은 하나 이상의 이미징 기기들을 포함할 수 있다. 다양한 실시예들에서, 판독기 애플리케이션(136)은 기계 판독 가능한 식별자(133)로부터 획득된 암호화된 사용자 입력을 해독하고 판독기 기기 디스플레이(127)에 건강 정보를 제시하도록 추가 실행된다. The reader device 109 may be a front-facing imaging device 139 or a rear-facing imaging device, such as a camera or other device capable of interpreting the machine- Time). The reader application 136 may be executed on the reader device 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 full-direction or a back-direction camera. In various embodiments, the reader application 136 is further implemented to decrypt the encrypted user input obtained from the machine-readable identifier 133 and to present the health information to the reader device display 127.

판독기 애플리케이션(136)은 사용자에 의해 제공되는 데이터의 버전을 유지하고 특정 유형의 데이터 또는 다른 버전 사이의 네비게이팅(navigating)을 용이하게 하는 적절한 인터페이스를 생성하도록 구성될 수 있다. 클라이언트 애플리케이션(130)은 네트워크(112)를 통해 의학적 또는 다른 유형의 정보를 전송하는 것을 삼가도록 구성될 수 있지만, 일부 실시예들에서, 판독기 애플리케이션(136)은 데이터를 HIPAA-호환 전자 건강 기록 시스템과 같은 원격 또는 클라우드 기반 서비스에 전달할 수 있다. 클라이언트 애플리케이션(130)은 네트워크(112)를 통해 건강 또는 다른 유형의 정보를 발송하지 않을 수 있지만, 컴퓨팅 환경(103)은 기계 판독 가능한 식별자(133)의 버전을 데이터 저장소(115)에 백업하거나 저장할 수 있다. 사용자가 자신의 클라이언트 기기(106)를 업그레이드하거나 대체할 때, 기계 판독 가능한 식별자(133)는 새로운 클라이언트 기기(106) 상에 데이터를 채우기(populating) 위해 사용될 수 있다.The reader application 136 may be configured to maintain a version of the data provided by the user and to generate an appropriate interface that facilitates navigating between particular types of data or other versions. The client application 130 may be configured to refrain from transmitting medical or other types of information over the network 112 but in some embodiments the reader application 136 may send the data to a HIPAA- To a remote or cloud-based service such as < RTI ID = 0.0 > The computing environment 103 may be configured to back up or store the version of the machine-readable identifier 133 in the data store 115, although the client application 130 may not dispatch health or other types of information over the network 112 . When the user upgrades or replaces his or her client device 106, the machine-readable identifier 133 may be used to populate data on the new client device 106.

데이터 저장소(115)에 저장된 데이터는 기기 데이터(142)뿐만 아니라 이해될 수 있는 다른 데이터를 포함할 수 있다. 기기 데이터(142)는 하나 이상의 클라이언트 기기들(106) 및 판독기 기기들(109)과 연관된 정보를 포함할 수 있다. 일례에서, 각각의 판독기 기기(109)는 고유한 암호화 키(121)와 연관될 수 있으며, 이 경우, 키 관리 애플리케이션(118)은 상기 클라이언트 애플리케이션(130)에 상기 암호화 키(121)를 발송한다. 그 다음, 클라이언트 애플리케이션(130)은 판독기 기기(109)를 위해 상기 암호화 키(121)로 암호화된 사용자 입력 데이터를 포함하는 기계 판독 가능한 식별자(133)를 생성할 수 있다. 판독기 기기(109)는 또한 그것의 암호화 키(121)의 사본을 유지하므로, 사용자 입력 데이터를 해독하고 해석할 수 있다. The data stored in the data store 115 may include device data 142 as well as other data that may be understood. The device data 142 may include information associated with one or more of the client devices 106 and the reader devices 109. In one example, each reader device 109 may be associated with a unique encryption key 121, in which case the key management application 118 sends the encryption key 121 to the client application 130 . The client application 130 may then generate a machine readable identifier 133 containing user input data encrypted with the encryption key 121 for the reader device 109. [ The reader device 109 also maintains a copy of its encryption key 121, so that it can decrypt and interpret user input data.

다른 예에서, 각각의 클라이언트 기기(106)는 하나 이상의 암호화 키들(121)과 연관될 수 있으며, 이 경우, 키 관리 애플리케이션(118)은 클라이언트 애플리케이션(130)의 사용자의 지시에 따라 상기 판독기 기기들(109)에게 상기 암호화 키들(121)을 발송한다. 상기 클라이언트 애플리케이션(130)은 하나 이상의 암호화 키들(121)로 암호화된 사용자 입력 데이터를 포함하는 기계 판독 가능한 식별자(133)를 생성할 수 있다. 키 관리 애플리케이션(118)은, 예를 들어 클라이언트 애플리케이션(130)의 사용자의 지시에 따라, 판독기 기기(109)에게 암호화 키(121)를 발송할 수 있으며, 이로써, 판독기 기기(109)는 상기 사용자 입력 데이터를 해독하고 해석할 수 있다.In another example, each client device 106 may be associated with one or more encryption keys 121, in which case the key management application 118 may communicate with the reader devices < RTI ID = 0.0 > And sends the encryption keys 121 to the user terminal 109. The client application 130 may generate a machine-readable identifier 133 containing user input data encrypted with one or more encryption keys 121. [ The key management application 118 may dispatch the encryption key 121 to the reader device 109 in accordance with instructions from the user of the client application 130 such that the reader device 109 may send the encryption key 121 to the user input Data can be decoded and interpreted.

상기 기기 데이터(142)는 클라이언트 기기(106) 또는 판독기 기기(109)를 고유하게 식별하는 기기 식별자들(145)을 포함할 수 있다. 상기 기기 데이터(142)는 액세스 레벨들(152)을 포함할 수 있는 기기 프로파일들(148)을 더 포함할 수 있다. 일부 실시예들에서, 클라이언트 애플리케이션(130)의 사용자는 특정 판독기 기기들(109)을 특정 액세스 레벨들(152)과 연관시킬 수 있다. 일례에서, 사람은 자신의 일반의를 위한 제1 판독기 기기(109)를 제1 액세스 레벨과 연관시킬 수 있고, 자신의 치과의사를 위한 제2 판독기 기기(109)를 제2 액세스 레벨과 연관시킬 수 있다. 이를 위해, 클라이언트 애플리케이션(130)의 사용자는 액세스 레벨에 기초하여 어떤 데이터가 어느 판독기 기기(109)에 의해 액세스 가능한지를 지정할 수 있다. 설명될 바와 같이, 사용자 입력은 각 판독기 기기(109)에 이용 가능한 정보에 의해 세그먼트화되거나 분할(partitioned)될 수 있다. 이를 위해, 판독기 애플리케이션(136)은 사용자에 의해 특정되거나 컴퓨팅 환경(103)에 의해 미리 결정된 정보에 대한 상이한 액세스 레벨을 제공할 수 있다. The device data 142 may include device identifiers 145 that uniquely identify the client device 106 or the reader device 109. The device data 142 may further include device profiles 148 that may include access levels 152. In some embodiments, a user of the client application 130 may associate specific reader devices 109 with particular access levels 152. [ In one example, a person may associate a first reader device 109 for his or her general with a first access level and associate a second reader device 109 for his dentist with a second access level . To this end, the user of the client application 130 may specify which data is accessible by which reader device 109 based on the access level. As will be appreciated, the user input may be segmented or partitioned by information available to each reader device 109. To that end, the reader application 136 may provide a different level of access to information predetermined by the user or by the computing environment 103. [

암호화 키들(121)은 데이터를 암호하는데 사용되는 숫자, 이진 또는 영숫자 문자열을 포함할 수 있다. 다양한 실시예들에서, 암호화 키들(121)은 대칭 암호화 키들(121), 비대칭 암호키들(121), 또는 이들의 조합을 포함할 수 있다.The encryption keys 121 may include numeric, binary, or alphanumeric strings used to encrypt data. In various embodiments, the encryption keys 121 may include symmetric encryption keys 121, asymmetric encryption keys 121, or a combination thereof.

도 2를 참조하면, 다양한 실시예들에 따른 네트워크 환경(100)의 다른 예가 도시되어 있다. 일부 상황들에서, 클라이언트 애플리케이션(130)의 사용자에 의해 제공된 입력 데이터는 판독 기기(109) 상에서 또는 해독된 정보에 대한 액세스를 갖는 다른 기기 상에서 조작될 수 있다. 예를 들어, 의사는 최신 혈압, 체중 또는 다른 정보를 포함하도록 사용자에 의해 제공된 데이터를 변경할 수 있다. 사용자는 보다 완전하고 정확한 병력을 유지하기 위해 이러한 정보를 자신의 클라이언트 기기(106)에 저장하고자할 수 있다.Referring now to FIG. 2, another example of a network environment 100 in accordance with various embodiments is shown. In some situations, the input data provided by the user of the client application 130 may be manipulated on the reading device 109 or on another device having access to the decrypted information. For example, a physician may change data provided by a user to include the latest blood pressure, weight, or other information. The user may wish to store this information in his or her client device 106 to maintain a more complete and accurate history.

이를 위해, 일부 실시예들에서, 판독기 애플리케이션(136)은 클라이언트 기기(106)에 업데이트된 데이터, 수정된 데이터, 보충된 데이터, 또는 달리 조작된 데이터를 제공하기 위해 자신의 암호화 키(121)(또는 클라이언트 기기(106)에 이용 가능한 다른 암호화 키(121))를 사용할 수 있다. 클라이언트 애플리케이션(130)은 판독기 기기(109) 상에 생성되어 판독기 기기 디스플레이(127)에 렌더링되는 기계 판독 가능한 식별자(133)의 하나 이상의 이미지들의 캡처를 용이하게 할 수 있다.To that end, in some embodiments, the reader application 136 may use its encryption key 121 (e. G., ≪ / RTI > to provide updated data, modified data, supplemental data, or otherwise manipulated data to the client device 106 Or other encryption key 121 available to the client device 106). The client application 130 may facilitate capturing one or more images of the machine readable identifier 133 that is generated on the reader device 109 and rendered on the reader device display 127. [

다양한 실시예들에서, 판독기 애플리케이션(136)에 의해 생성된 기계 판독 가능한 식별자(133)의 기초가 되는 데이터는 클라이언트 기기(106) 및 판독기 기기(109)에서만 이용 가능한 암호화 키(121)를 사용하여 암호화된다. 클라이언트 애플리케이션(130)은 기초가 되는 데이터를 해독할 수 있으며, 그리고 상기 데이터를 상기 클라이언트 기기(106)에 국부적으로(locally) 저장할 수 있다. 사용자가 수집 프로세스의 일부를 수행한다면, 업데이트된 데이터는 사용자 인터페이스(131)의 자동으로 채워지는 필드(automatically populated field)에 제공될 수 있다. 기계 판독 가능한 식별자(133)를 스캐닝하고 그리고 기초가 되는 데이터에 액세스하기 위해 적절한 암호화 키들(121)을 가짐으로써, 판독기 애플리케이션(136)은 국부적으로 저장된 데이터를 업데이트할 수 있으며, 그리고 스케줄링 애플리케이션, 예약 관리 애플리케이션, 투약 리필 애플리케이션 또는 EHR 애플리케이션과 같은 다른 애플리케이션들과 인터페이스하여 이와 관련된 정보를 업데이트할 수 있다.In various embodiments, the data underlying the machine-readable identifier 133 generated by the reader application 136 is encrypted using the encryption key 121 available only on the client device 106 and the reader device 109 Is encrypted. The client application 130 can decrypt the underlying data and locally store the data in the client device 106. [ If the user performs a portion of the gathering process, the updated data may be provided in an automatically populated field of the user interface 131. By having the appropriate encryption keys 121 to scan the machine-readable identifier 133 and access the underlying data, the reader application 136 can update the locally stored data, and the scheduling application, You can interface with other applications such as management applications, medication refill applications, or EHR applications to update relevant information.

다음으로 도 3을 참조하면, 기계 판독 가능한 식별자(133a 내지 133c)의 이미지를 생성하는데 사용되는 데이터를 포함하는 데이터 구조(300)의 예가 도시되어 있다. 데이터 구조(300)는 예를 들어 오류 정정 레벨(303), 문자 카운트 표시자(306), 모드 표시자(309), 페이로드(312), 오류 정정(315) 및/또는 이해될 수 있는 다른 데이터를 포함할 수 있다.Referring now to FIG. 3, there is shown an example of a data structure 300 that includes data used to generate images of machine-readable identifiers 133a-133c. The data structure 300 may include other information such as, for example, an error correction level 303, a character count indicator 306, a mode indicator 309, a payload 312, an error correction 315, and / Data may be included.

QR(quick response) 코드라고도 하는 매트릭스 코드는 일반적으로 인코딩된 데이터를 기반으로 오류 정정 코드 워드(바이트)를 생성하는데 사용되는 Reed-Solomon 오류 정정을 사용한다. 판독기 애플리케이션(136a ... 136b)은 이러한 오류 정정 레벨(303)을 사용하여 데이터가 부정확하게 판독되었는지 여부를 판단할 수 있으며, 데이터가 부정확하게 판독되었다면, 오류 정정 코드워드를 사용하여 데이터의 오류를 정정할 수 있다. 매트릭스 코드의 경우, 각각 7%, 15%, 25% 및 30%의 오류 정정 기능을 갖는 L, M, Q 및 H로 지정된 네 개의 레벨의 오류 정정 레벨(303)이 존재한다. Matrix codes, also called quick response (QR) codes, use Reed-Solomon error correction, which is typically used to generate error corrected codewords (bytes) based on encoded data. The reader applications 136a ... 136b can use this error correction level 303 to determine whether data has been read incorrectly and if the data was read incorrectly, Can be corrected. In the case of the matrix code, there are four levels of error correction levels 303 designated as L, M, Q and H with error correcting functions of 7%, 15%, 25% and 30%, respectively.

매트릭스 코드는 상이한 크기를 가지며, 특정 크기의 매트릭스 코드는 버전이라고도 지칭된다. 40 가지 버전이 이용 가능하지만 추가 버전이 가능하며, 본 발명의 범위 내에 포함된다. 예를 들어, 버전 1은 매트릭스 코드의 최소 버전이며, 그리고 21 X 21 픽셀 크기이다. 각각의 버전은 이전 버전보다 4 픽셀 더 크다. 버전 40은 가장 큰 버전이며, 177 X 177 픽셀이다. 가장 큰 버전은 도 4의 표에 도시된 바와 같이 가장 큰 문자 용량을 갖는다.Matrix codes have different sizes, and matrix codes of a particular size are also referred to as versions. 40 versions are available, but additional versions are possible and are included within the scope of the present invention. For example, version 1 is the minimum version of the matrix code, and is 21 X 21 pixels in size. Each version is 4 pixels bigger than the previous version. Version 40 is the largest version, and is 177 X 177 pixels. The largest version has the largest character capacity as shown in the table of FIG.

페이로드(312)는 모드 표시자(309)에 의해 설정된 바와 같이 상이한 모드들에 따라 인코딩될 수 있다. 모드 표시자(309)는 도 5에 도시된 바와 같이 4 비트 스트링을 포함할 수 있다. 인코딩된 데이터는 후속 비트에 대해 사용되는 모드를 나타내는 적절한 모드 표시자로 시작할 수 있다. 가장 큰 버전의 매트릭스 코드는 도 4의 표에 도시된 바와 같이 가장 큰 문자 용량을 갖는다. 문자 카운트 표시자(306)는 인코딩되고 있는 문자들의 수를 포함한다.The payload 312 may be encoded according to different modes as set by the mode indicator 309. [ The mode indicator 309 may include a 4-bit string as shown in FIG. The encoded data may start with an appropriate mode indicator indicating the mode used for the next bit. The largest version of the matrix code has the largest character capacity as shown in the table of FIG. The character count indicator 306 contains the number of characters being encoded.

기계 판독 가능한 식별자(133)를 생성하기 위해, 클라이언트 애플리케이션(130)(또는 판독기 애플리케이션(136))은 수집 프로세스 동안 수신된 사용자 입력에 액세스하고 암호화 키(121)를 사용하여 데이터를 암호화할 수 있다. 암호화 키(121)가 비대칭인 실시예들에서, RSA 또는 다른 적절한 암호화 알고리즘이 사용될 수 있다. 암호화 키(121)가 대칭인 실시예들에서, AES(Advanced Encryption Standard) 또는 다른 적절한 암호화 알고리즘이 사용될 수 있다. 암호화된 사용자 입력은 모드 표시자(309)에 따라 암호화될 수 있다. 예를 들어, 암호화된 사용자 입력이 영숫자의 문자열이라고 가정하면, 모드 표시자(309)는 0010으로 설정될 수 있다. 영숫자 인코딩은 문자열을 쌍들로 분해하고 각 쌍에 대한 이진수를 만드는 것을 포함할 수 있다. To generate the machine-readable identifier 133, the client application 130 (or the reader application 136) may access the user input received during the collection process and encrypt the data using the encryption key 121 . In embodiments where the encryption key 121 is asymmetric, RSA or other suitable encryption algorithm may be used. In embodiments where the encryption key 121 is symmetric, an Advanced Encryption Standard (AES) or other suitable encryption algorithm may be used. The encrypted user input may be encrypted in accordance with the mode indicator 309. For example, if the encrypted user input is an alphanumeric string, the mode indicator 309 may be set to 0010. Alphanumeric encoding can involve breaking strings into pairs and making a binary number for each pair.

제1 판독기 기기(109a)를 위한 데이터는 제1 판독기 기기(109a)에 의해 액세스 가능한 암호화 키(121)(도 3에 도시된 암호화 키 121A)를 사용하여 암호화될 수 있으며, 그리고 payloadA로서 인코딩될 수 있다. 이와 유사하게, 제2 판독기 기기(109b)를 위한 데이터는 제2 판독기 기기(109b)에 의해 액세스 가능한 암호화 키(121)(도 3에 도시된 암호화 키 121B)를 사용하여 암호화될 수 있으며, 그리고 payloadB로서 인코딩될 수 있다. 판독기 기기(109)에 의해 스캐닝될 때, 오직 payloadTotal의 일부만이 판독기 기기(109)에 의해 해석될 수 있다. The data for the first reader device 109a can be encrypted using an encryption key 121 (encryption key 121 A shown in Figure 3) accessible by the first reader device 109a, and as payload A Lt; / RTI > Similarly, the data for a second reader device (109b) may be encrypted using a second reader device accessible cryptographic key by (109b) (121) (the encryption key 121 B shown in FIG. 3), And can be encoded as payload B. When scanned by the reader device 109, only a portion of the payload Total can be interpreted by the reader device 109.

도 6을 참조하면, 입력 데이터의 매트릭스 코드 또는 다른 기계 판독 가능한 식별자(133)로의 변환을 도시하는 흐름도가 도시되어 있다. 단계 603으로 시작하여, 사용자 입력이 액세스된다. 사용자 입력은 예를 들어 수집 프로세스 동안 또는 클라이언트 애플리케이션(130)에 의해 제시되는 사용자 인터페이스(131)로부터 획득되는 건강 정보, 긴급 연락처 정보, 또는 다른 유형의 정보를 포함할 수 있다. 도 6의 예에서, 사용자 입력 문자열은 설명을 위해 "Hello world"를 포함한다.Referring to FIG. 6, there is shown a flow chart illustrating the conversion of input data into a matrix code or other machine-readable identifier 133. Beginning at step 603, the user input is accessed. User input may include, for example, health information, emergency contact information, or other types of information obtained from the user interface 131 presented by the client application 130 or during the collection process. In the example of Fig. 6, the user input string includes "Hello world" for illustration.

단계 606에서, 암호화 키(121)는 데이터의 대상이 되는 판독기 기기(109)에 기초하여 식별된다. 예를 들어, 사용자는 자신의 일반의를 위한 자신의 병력의 특정 부분을 지정할 수 있다. 일반의를 위한 하나 이상의 판독기 기기들(109)에 대한 암호화 키(121)가 식별될 수 있다. 단계 609에서, 단계 606에서 식별된 암호화 키(121)를 사용하여 사용자 입력이 암호화된다. AES 암호화 및 "exampleencryptionkey"인 키를 사용하여 암호화된 데이터의 문자열은 "BBd2iHwO/gy+xnFUg6HeAA=="를 포함한다.In step 606, the encryption key 121 is identified based on the reader device 109 that is the subject of the data. For example, a user may specify a specific part of his or her history for his or her general. An encryption key 121 for one or more reader devices 109 for the general public can be identified. In step 609, the user input is encrypted using the encryption key 121 identified in step 606. The string of data encrypted using the key with AES encryption and "exampleencryptionkey" includes "BBd2iHwO / gy + xnFUg6HeAA ==".

다음, 단계 612에서, 암호화된 데이터는 영숫자 모드 또는 숫자, 바이트, 간지 또는 ECI와 같은 다른 적절한 모드를 사용하여 인코딩된다. 암호화된 데이터의 처음 두 문자 "BB"의 경우, 영숫자 코딩을 사용하여 이진수가 생성되어 "111111010"를 획득한다. 이는 모든 암호화된 데이터가 적절한 모드를 사용하여 인코딩될 때까지 계속될 수 있다. 마지막으로, 단계 612에서, 매트릭스 코드의 이미지는 매트릭스 코드 표준에 따라 페이로드로서 인코딩 데이터를 사용하여 생성된다.Next, in step 612, the encrypted data is encoded using an alphanumeric mode or other appropriate mode such as number, byte, kanji, or ECI. For the first two characters "BB" of the encrypted data, a binary number is generated using alphanumeric coding to obtain "111111010". This may continue until all encrypted data is encoded using the appropriate mode. Finally, at step 612, an image of the matrix code is generated using the encoded data as a payload according to a matrix code standard.

다양한 실시예들에서, AES-256 암호화 알고리즘은 기초가 되는 데이터를 암호화하는데 사용될 수 있다. 초기화 벡터(initialization vector; IV) 또는 시작 변수(starting variable; SV)는 동일한 평문이 여러번 암호화되더라도 암호화를 무작위화하고 별개의 암호문을 생성하는 모드에 의한 사용을 위해 채용될 수 있다. (AES CBC Pkcs7). ECB(Electronic Codebook) 및 CBC(Cipher Block Chaining) 같은 일부 모드들은 최종 블록이 암호화 전에 패딩될 것을 요구할 수 있기 때문에 적절한 패딩이 사용될 수 있다.In various embodiments, the AES-256 encryption algorithm can be used to encrypt the underlying data. An initialization vector (IV) or starting variable (SV) may be employed for use by a mode of randomizing encryption and generating separate ciphertexts even if the same plaintext is encrypted multiple times. (AES CBC Pkcs7). Some modes such as ECB (Electronic Codebook) and CBC (Cipher Block Chaining) may require proper padding because the last block may require padding before encryption.

AES-256이 사용되는 실시예에서, 암호화 키(121)는 128 비트(16 바이트)의 IV를 갖는 256 비트(32 비트)를 포함할 수 있다. IV는, 암호화될 데이터가 변경되지 않아도, 클라이언트 애플리케이션(130) 또는 판독기 애플리케이션(136)에 의해 수행되는 각각의 암호화 시에 랜덤하게 생성되어 (이전의 암호화와는 상이한) 별개의 암호화 결과를 제공할 수 있다. 생성된 IV는 클라이언트 기기(106) 또는 판독기 기기(109) 상에 상기 암호화된 데이터와 함께 국부적으로 저장되어, 본 명세서에서 논의된 바와 같이 장래의 해독을 가능하게 할 수 있다.In an embodiment where AES-256 is used, the encryption key 121 may comprise 256 bits (32 bits) with an IV of 128 bits (16 bytes). IV is randomly generated at each encryption performed by the client application 130 or reader application 136 to provide a separate encryption result (different from the previous encryption), even though the data to be encrypted is unaltered . The generated IV may be stored locally with the encrypted data on the client device 106 or the reader device 109 to enable future decryption as discussed herein.

일부 실시예들에서, 암호화된 데이터는 패스워드, 생체 데이터, 또는 PIN 코드와 관련하여 클라이언트 기기(106) 또는 판독기 기기(109)에 국부적으로 저장된다. 추가적으로, 각각의 사용자, 또는 데이터가 제공되는 엔티티(예를 들어, 환자, 친척, 애완동물)는 자신의 고유한 암호화 키(cryptographic key)(121)(즉, 암호 키(encryption key))를 가질 수 있다. 그 결과, 특정 기기에서 암호화된 임의의 데이터는 오직 적절한 패스워드, 생체 인식 데이터 또는 PIN 코드가 제공될 때 해당 기기에서 해독될 수 있다.In some embodiments, the encrypted data is stored locally in the client device 106 or the reader device 109 in association with a password, biometric data, or PIN code. Additionally, each user, or entity to which the data is provided (e.g., patient, relative, pet) has its own cryptographic key 121 (i.e., an encryption key) . As a result, any data encrypted in a particular device can be decrypted in the device only when appropriate password, biometric data or PIN code is provided.

AES 암호화 알고리즘은 데이터를 암호화 또는 해독하기 위해 암호화 키(121) 또는 IV를 필요로 하므로, IV는 암호화된 데이터와 관련하여 저장되어 향후에 성공적으로 해독될 수 있다. 일부 실시예들에서, 키 관리 서비스(115)는 IV를 저장하는 것, 그리고 암호화 키(121)와 함께 클라이언트 기기들(106) 또는 판독기 기기들(109)로 IV를 전송하는 것을 관리한다. IV 키는 16 바이트 또는 다른 적절한 길이를 포함할 수 있다. 일부 실시예들에서, IV 키는 분할되어 암호화 키(121)를 따라 미리 정해진 위치에 저장될 수 있다. 예를 들어, IV 키의 제1 개수의 바이트는 암호화 키(121) 내의 제1 위치에 배치될 수 있고, IV 키의 제2 개수의 바이트는 암호화 키(121) 내의 제2 위치에 배치될 수 있다. IV 키는 암호화 키(121)가 사용되기 전에 암호화 키(121)로부터 제거될 수 있다. 이 특징은 암호화된 데이터에 추가 레벨의 보안을 부가한다. 예를 들어, 암호화 키(121)가 가로채어지거나, 브루트 포스(brute-force)에 의해 성공적으로 추측된다 하더라도, 데이터에서 IV를 검색하는 방법을 모른 채로 암호화된 데이터를 해독하는 것은 불가능하지는 않더라도 어려울 것이다. Since the AES encryption algorithm requires an encryption key 121 or IV to encrypt or decrypt the data, the IV can be stored in association with the encrypted data and be decrypted successfully in the future. In some embodiments, the key management service 115 manages storing the IV and transmitting the IV to the client devices 106 or reader devices 109 along with the encryption key 121. The IV key may contain 16 bytes or some other suitable length. In some embodiments, the IV key may be partitioned and stored in a predetermined location along the encryption key 121. For example, a first number of bytes of the IV key may be placed at a first location in the encryption key 121, and a second number of bytes of the IV key may be located at a second location within the encryption key 121 have. The IV key may be removed from the encryption key 121 before the encryption key 121 is used. This feature adds an additional level of security to the encrypted data. For example, even though encryption key 121 is intercepted or successfully guessed by brute-force, it is not impossible to decrypt the encrypted data without knowing how to retrieve IV from the data It will be difficult.

도 7a 내지 도 7n은 다양한 유형의 사용자 입력을 사용자에게 프롬프트함으로써 수집 프로세스를 수행하는데 사용되는 클라이언트 애플리케이션(130)의 사용자 인터페이스(131)의 다양한 예들을 도시한다. 이해될 수 있는 바와 같이, 상기 수집 프로세스를 수행하기 전에, 사용자는 클라이언트 기기(106)의 사용자를 적절히 인증하기 위해 사용자 이름, 패스워드, 생체 정보 또는 다른 정보를 제공할 필요가 있을 수 있다. 도 7a에서, 클라이언트 애플리케이션(130)에 대한 예시적인 홈 스크린이 도시되어 있는데, 여기서 사용자는 개인에 대한 주요 정보를 입력 할 수 있다. 주요 정보에는 의료 정보는 포함되지 않지만 식별을 위한 정보는 포함될 수 있다. 이 정보는 개인(예를 들어, 소유자, 부양가족, 애완동물 또는 다른 개체)의 이름을 식별하는 데 사용될 수 있다.7A-7N illustrate various examples of the user interface 131 of the client application 130 used to perform the collection process by prompting the user for various types of user input. As can be appreciated, prior to performing the collection process, a user may need to provide a user name, password, biometric information, or other information to properly authenticate the user of the client device 106. In FIG. 7A, an exemplary home screen for client application 130 is shown, wherein a user can enter key information about an individual. Key information does not include medical information, but may include information for identification. This information can be used to identify the name of an individual (e.g., owner, dependent, pet, or other entity).

이어서, 클라이언트 애플리케이션(130)은 생년월일, 긴급 연락 정보, 1차 진료의(primary care physicain) 연락 정보 또는 다른 기본 정보와 같은 기본 정보를 입력하도록 사용자에게 프롬프트할 수 있다. 또한, 사용자 인터페이스(131)는 사용자가 정보가 제공되는 개체(individual)를 변경할 수 있게 할 수 있다. 예를 들어, 사용자는 개체를 그 자신으로부터 다른 개인, 예를 들어 자식, 부양가족, 애완동물 등으로 변경할 수 있다. 또한, 이러한 보조 프로파일들은 1차 진료의, 긴급 연락처 정보, 병력 등에 대한 정보를 입력 할 수 있는 데이터 필드를 가질 것이다.The client application 130 may then prompt the user to enter basic information such as date of birth, emergency contact information, primary care physicain contact information, or other basic information. In addition, the user interface 131 may allow a user to change an individual to which information is provided. For example, a user may change an object from itself to another person, such as a child, dependent family member, pet, or the like. These assistant profiles will also have a data field for entering information about the primary care, emergency contact information, medical history, and the like.

도 7b는 HIPAA(Health Insurance Portability and Accountability) 준수 및 문서화 사용자 인터페이스(131)의 실시예를 도시한다. 이 사용자 인터페이스(131)로부터, HIPAA와 같은 다양한 규정에 관한 정보가 도시되고, 필요한 동의를 얻기 위한 적절한 설명이 뒤따른다. 다양한 실시예들에서, 링크 또는 다른 사용자 인터페이스 컴포넌트가 생성되어 브라우저 애플리케이션과 같은 다른 애플리케이션이 준수(compliance)의 세부 사항에 대한 추가 설명이 필요한 사람들을 위해 정보를 표시하게 할 수 있다. 검토 후, 사용자가 자료를 검토하였는지 확인하기 위해 그리고 필요한 동의를 획득하기 위해 전자 서명과 날짜 또는 시간 스탬프에 대한 프롬프트가 표시될 수 있다. FIG. 7B illustrates an embodiment of Health Insurance Portability and Accountability (HIPAA) compliance and documentation user interface 131. FIG. From this user interface 131, information on various regulations, such as HIPAA, is shown and followed by appropriate explanations for obtaining the necessary consent. In various embodiments, a link or other user interface component may be created to allow other applications, such as a browser application, to display information for those who need further explanation of the details of compliance. After review, a prompt for an electronic signature and date or time stamp may be displayed to confirm that the user has reviewed the data and to obtain the necessary consent.

이제 도 7c를 참조하면, 사용자 인터페이스(131)는 개체에 대한 과거 의료 정보를 획득하기 위한 전용 스크린의 일 실시예를 도시한다. 도 7c의 사용자 인터페이스(131)는 사용자가 과거에 전문 의료진으로부터 제공받은 의료 진단을 제공할 수 있게 한다. 다양한 실시예들에서, 가장 일반적인 가벼운 질병(ailment) 및/또는 질병(disease)의 정확한 철자를 알기 쉽게 스마트 텍스트, 자동-채우기(auto-population), 드롭다운 제안 및/또는 기타 유사한 구성요소가 포함될 수 있다. 클라이언트 애플리케이션(130)은 또한 이 진단이 주어진 날짜에 관한 데이터를 얻을 수 있다. 그런 다음 이것들은 날짜를 기준으로 숫자 순서로 배치될 수 있다. 진단이 나열되지 않는 경우, 자유 텍스트 옵션이 사용될 수 있다. 중요할 수 있는 추가 정보를 위해 추가 텍스트 상자가 생성 될 수 있다.Referring now to FIG. 7C, user interface 131 illustrates one embodiment of a dedicated screen for obtaining past medical information for an entity. The user interface 131 of FIG. 7C allows a user to provide a medical diagnosis that was previously provided by a professional medical staff. In various embodiments, smart text, auto-population, drop-down suggestions, and / or other similar components are included to better identify the exact spelling of the most common ailment and / or disease . The client application 130 may also obtain data regarding the date the diagnosis was given. They can then be placed in numerical order by date. If diagnostics are not listed, the free text option can be used. Additional text boxes may be generated for additional information that may be important.

도 7d는 이전의 모든 수술 경험을 제공하도록 사용자에게 촉구함으로써 과거 수술 정보가 획득될 수 있는 사용자 인터페이스(131)를 도시한다. 상술된 바와 같이, 다양한 실시예들에서, 가장 일반적인 가벼운 수술 또는 의료 절차의 정확한 철자를 알기 쉽게 스마트 텍스트, 자동-채우기(auto-population), 드롭다운 제안 및/또는 기타 유사한 구성요소가 포함될 수 있다. 또한 이러한 수술 절차들의 날짜와 기관은 알 수 있다면 획득될 수도 있다. 그런 다음 수술 절차들은 그 절차가 수행되었던 날짜 및 기관에 대한 관련 데이터 필드와 함께 시간 순서대로 배치될 것이다. 절차가 나열되지 않는 경우에는 자유 텍스트를 위한 옵션이 사용될 것이다.Figure 7d shows a user interface 131 where past surgical information can be obtained by prompting the user to provide all previous surgical experience. As described above, in various embodiments, smart text, auto-population, drop-down suggestions, and / or other similar components may be included to better understand the exact spelling of the most common light surgery or medical procedure . The dates and institutions of these surgical procedures may also be obtained if known. The surgical procedures will then be placed in chronological order along with the relevant data fields for the dates and institutions for which the procedure was performed. If the procedure is not listed, the option for free text will be used.

다음으로 도 7e를 참조하면, 사용자가 현재 및 이전 투약정보(medication)를 제공할 수 있게 하는, 현재 및 과거 투약정보(medication)을 획득하기 위한 전용 스크린의 실시예를 나타내는 사용자 인터페이스(131)가 도시되어 있다. 다양한 실시예들에서, 가장 일반적인 약물의 정확한 철자를 알기 쉽게 스마트 텍스트, 자동-채우기(auto-population), 드롭다운 제안 및/또는 기타 유사한 구성요소가 포함될 수 있다. 제공된 투약물이 시작된 날짜, 투약의 이유, 복용량 및 투여 빈도가 포함될 수 있다. 사용자가 더 이상 복용하지 않는 오래된 약물인 경우, 투약이 중단된 날짜를 위한 필드에 중단된 이유가 포함될 것이다. 투약정보가 나열되지 않는 경우에는 자유 텍스트 옵션이 사용될 것이다.7e, a user interface 131 representing an embodiment of a dedicated screen for acquiring current and past medication, which allows the user to provide current and previous medication, Respectively. In various embodiments, smart text, auto-population, drop-down suggestions, and / or other similar components may be included to better identify the exact spelling of the most common drugs. The date of onset of the provided prodrug, the reason for the dosage, the dosage, and the frequency of administration. If the user is an older drug that he or she is no longer taking, the field for the discontinued date will include the reason for the interruption. If dosing information is not listed, the free text option will be used.

도 7f는 사용자가 현재 및 과거 알레르기, 투약정보, 환경적 트리거(environmental trigger), 동물 및 다른 관련 정보를 제공할 수 있는 사용자 인터페이스(131)를 도시한다. 다양한 실시예들에서, 가장 일반적인 약물 및 알레르겐의 정확한 철자를 알기 쉽게 스마트 텍스트, 자동-채우기, 드롭다운 제안 및/또는 기타 유사한 구성요소가 포함될 수 있다. 알레르겐에 대한 반응의 유형도 포함될 것이다. 이들은 각각의 알레르겐에 대한 반응 유형을 위한 관련 필드와 함께 숫자 순서로 배치될 것이다.Figure 7f illustrates a user interface 131 that allows a user to provide current and past allergies, medication information, environmental triggers, animals, and other pertinent information. In various embodiments, smart text, auto-fill, drop-down suggestions, and / or other similar components may be included to better understand the exact spelling of the most common drugs and allergens. The type of response to allergens will also be included. These will be placed in numerical order with the relevant fields for the reaction type for each allergen.

도 7g의 비 제한적 예에서, 사용자가 자신의 가족의 병력과 관련된 정보를 제공할 수 있게 하는 사용자 인터페이스(131)가 도시되어있다. 일부 실시예들에서, 사용자는 가족의 병력에 적용 가능한지 여부를 알려주는 일반적인 특정 질병을 제공받을 수 있다. 적절한 데이터 필드는 흔하지 않은 질병에 사용될 수 있다. 또한, 일반적인 가벼운 질병(ailment) 또는 질병(disease)의 정확한 철자를 알기 쉽게 스마트 텍스트, 자동-채우기, 드롭다운 제안 및/또는 기타 유사한 구성요소가 포함될 수 있다. 사용자는 또한 이 진단을 받은 가족 구성원을 나이, 그리고 해당되는 경우 "사망한" 연도로 파악할 수 있다.In a non-limiting example of FIG. 7g, a user interface 131 is shown that allows a user to provide information related to his family history. In some embodiments, the user may be provided with a general, specific disease that indicates whether it is applicable to the family history. Appropriate data fields can be used for uncommon diseases. Also, smart text, auto-fill, drop-down suggestions, and / or other similar components may be included to better identify the exact spelling of a common ailment or disease. The user can also identify the age of the family members who have been diagnosed and, if applicable, the "deceased" year.

도 7h는 사용자로부터 사회생활력(social history)을 얻기 위한 전용 사용자 인터페이스(131)의 일 실시예를 도시한다. 예를 들어, 사용자는 개인의 사회생활력과 관련된 정보를 제공하기 위한 양식을 제공받을 수 있다. 일부 실시예들에서, 양식에는 흡연 이력, 음주, 해외여행, 교육 수준 등을 다루는 데이터 필드가 포함된다. 여기에는 이전에 제공한 생년월일을 기준으로 계산된 나이를 기준으로 동료 거주민, 집에 있는 총기, 집에서 기르는 애완동물, 납 및 결핵 노출 등의 특정 소아과 정보가 포함될 수도 있다.7H illustrates an embodiment of a dedicated user interface 131 for obtaining a social history from a user. For example, a user may be provided with a form to provide information related to an individual's social performance. In some embodiments, the form includes data fields that address smoking history, drinking, travel abroad, education levels, and the like. This may include specific pediatric information, such as fellow inhabitants, home firearms, home-grown pets, lead and tuberculosis exposures based on age calculated based on the date of birth previously provided.

다음으로 도 7i를 참조하면, 사용자 인터페이스(131)는 사용자로부터 예방 접종을 획득하는 일 실시예를 도시한다. 스마트 텍스트는 사용자가 예방 접종의 철자를 정확히 쓰는데 도움이 되기 위해 사용될 수 있다. 외국 해외여행에 필요할 수 있는 것과 같이 일반적으로 제공되지 않는 예방 접종을 위해 오픈 텍스트 필드들이 제공될 수 있다. 일부 실시예들에서, 예방 접종이 제공된 날짜는 필수 필드일 수 있다. 이 정보는 예방 접종 날짜를 기준으로 시간 순서대로 배치될 수 있다.Referring next to Figure 7i, the user interface 131 illustrates one embodiment for obtaining a vaccination from a user. Smart text can be used to help users accurately spell vaccination spells. Open text fields may be provided for immunizations that are not generally available, such as may be needed for travel abroad. In some embodiments, the date on which the vaccination was provided may be a mandatory field. This information can be placed in chronological order based on the vaccination date.

도 7j는 사용자에 의한 액세스를 위해서만 국부적으로 유지될 수 있거나 기계 판독 가능 식별자(133)에 포함될 수 있는 잡다한 메모(miscellaneous note)를 사용자가 제공할 수 있게 하는 사용자 인터페이스(131)의 실시예를 도시한다. 예를 들어, 메모에는 특정 의료 서비스 만남(healthcare encounter)에 관한 리마인더가 포함될 수 있다. 다양한 실시예들에서, 이것은 증상의 목록이 아니고 단지 특정 방문에 대한 리마인더일 뿐이므로 100 자 또는 다른 적절한 양으로 제한될 수 있다. 임의의 다른 섹션과 마찬가지로, 이 정보를 업데이트할 필요가 없는 경우 메모 페이지를 빈 칸으로 비워 둘 수 있다. 일부 실시예들에서, 메모 필드에 제공된 데이터는 기계 판독 가능 식별자(133)의 데이터로부터 제외될 수 있다.7J illustrates an embodiment of a user interface 131 that allows a user to provide a miscellaneous note that may be maintained locally only for access by the user or may be included in the machine- do. For example, a note may include a reminder regarding a particular healthcare encounter. In various embodiments, this is not a list of symptoms, but may be limited to 100 characters or other appropriate amount, since it is merely a reminder for a particular visit. Like any other section, if you do not need to update this information, you can leave the memo page blank. In some embodiments, the data provided in the memo field may be excluded from the data in the machine readable identifier 133.

도 7k는 클라이언트 기기 디스플레이(124)에 사용자 인터페이스(131)를 생성하는 클라이언트 기기(106)의 다른 도면을 도시한다. 도 7k의 비-제한적 예에서, 사용자에게 사용자가 이전에 제공한 정보가 제공되는 실시예가 도시된다. 이해될 수 있는 바와 같이, 건강 정보가 획득되는 실시예들에서, 11 개의 기관계들 중 하나 이상에 관한 정보가 이상적으로 획득될 수 있다. 사용자 인터페이스(131)는 사용자, 관리자에 의해 미리 정의된 포맷으로, 또는 의료 서비스 제공자에 의해 지정된 포맷으로 의사 또는 다른 관심 있는 사람에게 정보 패킷을 인쇄 또는 전송하는 것을 용이하게 할 수 있다. 이것은 의사가 선호하는 포맷으로 그리고 소유자와 의사 모두가 읽을 수 있는 포맷으로 이 정보를 상관(correlating)시킬 수 있는 능력을 제공한다. 다른 예들에서, 사용자 인터페이스(131)는 환자의 약국, 보험 또는 기타 관련된 주제와 관련된 정보를 수신할 수 있다. 수집 프로세스에는 신체 검진 및 건강 검진이 포함될 수 있다.7K shows another view of the client device 106 that creates the user interface 131 on the client device display 124. The client device display 124 is shown in FIG. In the non-limiting example of FIG. 7k, an embodiment is shown in which the user is provided with information previously provided by the user. As can be appreciated, in embodiments in which health information is obtained, information about one or more of the eleven institutions can be ideally obtained. The user interface 131 may facilitate printing or transmitting information packets to a physician or other interested person in a format predefined by the user, the administrator, or in a format specified by the health care provider. This provides the ability to correlate this information in a format preferred by the physician and in a format that can be read by both the owner and the physician. In other instances, the user interface 131 may receive information related to the patient's pharmacy, insurance, or other related subject. The collection process may include physical examinations and health examinations.

또한, 클라이언트 애플리케이션(130)은 미리 정의된 포맷으로 수집 프로세스동안 제공된 정보를 정리(organizing)할 수 있다. 일례에서, 정보는 시간 순서대로 그리고 알레르기 또는 약물과 같은 주제별로 분류될 수 있다. 정보가 의료 데이터인 실시예들에서, 의료 서비스 제공자에게 공통적인 시간순 포맷은 클라이언트 애플리케이션(130)을 사용하여 획득된 데이터를 효율적으로 제공하는 방법을 제공한다. 그것은 의료 서비스 제공자에 의해 요구되는 바와 같이 지정된 모든 건강 정보를 제공할 것이다. 제공된 정보가 완전하고 정확할 수 있기 때문에, 약물이나 알레르기의 올바른 식별에 의해서 뿐만 아니라 의사 또는 제공자에게 필요한 것으로 입증될 수 있는 병력 전체를 제공함으로써 의료 사고를 제한하는 데 도움이 될 수 있다.In addition, the client application 130 may organize the information provided during the collection process in a predefined format. In one example, the information can be sorted in chronological order and by theme such as allergy or medication. In embodiments where the information is medical data, the chronological format common to the health care provider provides a way to efficiently provide the data obtained using the client application 130. [ It will provide all designated health information as required by the health care provider. Because the information provided can be complete and accurate, it can help limit medical accidents by providing the entire medical history that can be proven to be necessary to the physician or provider, as well as by proper identification of drugs or allergies.

데이터는 클라이언트 애플리케이션(130)에 의한 암호화 이전에 포맷팅 그리고/또는 압축될 수 있거나, 또는 판독기 애플리케이션(136)은 해독될 때 그리고/또는 압축 해제될 때 데이터를 포맷팅할 수 있다. 따라서, 클라이언트 애플리케이션(130) 또는 판독기 애플리케이션(136)은 Health Level 7 International에 의해 개발된 유연한 마크업 표준(flexible markup standard)을 포함하는 CDA(Clinical Document Architecture) 포맷과 같은 미리 정의된 포맷으로 데이터를 포맷팅할 수 있다. CDA 포맷은 환자와 전문 의료진 간의 정보 교환을 위한 퇴원 요약(discharge summaries) 및 경과 메모(progress note)와 같은 특정 의료 기록의 미리 정의된 구조를 포함한다. CDA 포맷은 텍스트, 이미지 및 오디오 또는 비디오와 같은 다른 유형의 멀티미디어를 포함할 수 있다. 다른 예들에서, 포맷은 판독기 애플리케이션(136)을 통해 의료 서비스 제공자에 의해 특정될 수 있다.The data may be formatted and / or compressed prior to encryption by the client application 130, or the reader application 136 may format the data when decrypted and / or decompressed. Accordingly, the client application 130 or reader application 136 may be capable of providing data in a predefined format, such as a Clinical Document Architecture (CDA) format, which includes a flexible markup standard developed by Health Level 7 International. Formatting. The CDA format includes predefined structures of specific medical records such as discharge summaries and progress notes for information exchange between the patient and professional medical personnel. The CDA format may include text, images, and other types of multimedia such as audio or video. In other instances, the format may be specified by the healthcare provider via the reader application 136. [

다양한 실시예들에서, 클라이언트 애플리케이션(130)은 정보의 요약을 사용자가 의료 서비스 제공자의 사무실에서 또는 방문 이전에 인쇄하도록 Microsoft Word®, PDF®, 또는 다른 적절한 포맷으로 익스포트 할 수 있다. 일부 실시예들에서, 기계 판독 가능 식별자(133)는 생성된 문서의 모퉁이에 또는 다른 적절한 위치에 배치될 수 있다. 판독기 기기(109)를 사용하여, 의료 서비스 제공자는 특정 관행의 관습에 따라, 클라이언트 기기 디스플레이(124) 또는 문서로부터 기계 판독 가능 식별자(133)를 스캔하여 이 정보를 차트 또는 전자 건강 기록(EHR)으로 가져올 수 있다. 이해될 수 있는 바와 같이, 클라이언트 애플리케이션(130)이 기계 판독 가능 식별자(133)를 생성하기 전에 건강 정보를 암호화하도록 구성될 수 있기 때문에, 의료 서비스 제공자용 판독기 기기(109)는 기계 판독 가능 식별자(133)에 의해 제공된 정보를 해독할 수 있을 것이다. 그 결과, 클라이언트 애플리케이션(130)의 사용자는, 예를 들어 사무실에 앉아있는 동안, 예진 서식(medical intake format)을 작성하는 긴 과정을 우회할 수 있다. 사용자에 의해 제공된 정보는 전문 의료진에 의해 업데이트될 수 있으므로, 이는 의사에게 필요한 것으로 입증될 수 있는 병력 전체를 제공할 뿐만 아니라 약물 및 알레르기의 정확한 식별을 통해 의료 사고를 제한하는 데 도움이 될 수 있다.In various embodiments, the client application 130 may export the summary of information to a Microsoft Word®, PDF®, or other suitable format for the user to print in the healthcare provider's office or prior to the visit. In some embodiments, the machine-readable identifier 133 may be placed at the corner of the generated document or at another suitable location. Using the reader device 109, the healthcare provider may scan the machine-readable identifier 133 from the client device display 124 or document and send this information to a chart or electronic health record (EHR) . As can be appreciated, because the client application 130 may be configured to encrypt health information before generating the machine readable identifier 133, the reader device 109 for the health care provider may include a machine readable identifier (e.g., Lt; RTI ID = 0.0 > 133). ≪ / RTI > As a result, a user of the client application 130 may bypass the lengthy process of creating a medical intake format, for example, while sitting in an office. Since the information provided by the user can be updated by a professional medical staff, this not only provides the entire medical history that can be proven to be necessary to the physician, but can also help to limit medical accidents through accurate identification of drugs and allergies .

클라이언트 애플리케이션(130)은 브라우저 애플리케이션을 통해 액세스되는 웹 기반 애플리케이션 또는 모바일 애플리케이션을 포함 할 수 있다. 웹 기반 애플리케이션을 사용하는 개인은 소유자가 방문 전에 인쇄할 수 있도록 요약 정보를 Word® 또는 PDF® 포맷으로 변환할 수 있으며, 정보는 세션 완료시 삭제될 수 있다. 인쇄물의 모퉁이에는 관련된 기계 판독 가능 식별자(133)가 도시될 수 있다.The client application 130 may include a web-based application or a mobile application accessed through a browser application. Individuals using web-based applications can convert summary information into Word® or PDF® format for owners to print before they visit, and information can be deleted at the end of the session. Corresponding machine readable identifiers 133 may be shown at the corners of the print.

의료 서비스 제공자의 재량과 능력에 기초하여, 또 다른 실시 예는 클라이언트 애플리케이션(130)이 정보 및/또는 기계 판독 가능 식별자(133)가 첨부된 전자 메일을 생성하여 의료 서비스 제공자, 사무실 직원 또는 건강 시스템에게 이메일을 보내서 전자적으로 공유하는 것을 명시한다. 이는 방문 전에 집에서 또는 의료 서비스 제공자의 대기실에서 소유자에 의해 완료될 수 있다. 정보의 포맷은 의료 서비스 제공자가 선호하는 포맷이 될 것이다. 이 시점부터 그것은 환자의 페이퍼 차트에 추가하기 위해 인쇄되거나 스캔되거나, 또는 전자 의료 기록에 수동으로 입력될 수 있다. 마지막으로 그것은 EHR 또는 독점 전자 의료 기록(EMR) 시스템에 전자적으로 연결될 수 있다. 이 정보를 전자적으로 공유하기 전에, 소유자는 HIPAA 규정을 다시 검토해야할 수 있으며, 그리고 이 정보의 검토에 대한 날짜/시간 스탬프 및 전자 서명이 다시 요구될 수 있다.Based on the discretion and capabilities of the healthcare provider, another embodiment is that client application 130 generates an e-mail with information and / or machine readable identifier 133 attached to the healthcare provider, By emailing them and electronically sharing them. This may be completed by the owner at home before the visit or in the waiting room of the health care provider. The format of the information will be the format preferred by the provider. From this point on it may be printed or scanned for addition to the patient's paper chart, or manually entered into the electronic medical record. Finally, it can be electronically linked to an EHR or proprietary electronic medical record (EMR) system. Before electronically sharing this information, the owner may need to review HIPAA regulations again, and date / time stamps and electronic signatures for review of this information may be required again.

이제 도 7l을 참조하면, 수집 프로세스 중에 제공된 사용자 입력을 갖는 기계 판독 가능 식별자(133)가 도시될 수 있다. 암호화된 이미지를 판독기 기기(109)의 렌즈 또는 카메라에 가져감으로써, 암호화된 건강 정보는 판독기 기기(109)에 의한 해석을 위해 전달될 수 있다. 일부 실시예들에서, 부양가족은 기계 판독 가능 식별자(133)의 이미지를 캡처함으로써 부모의 클라이언트 기기(106)로 또는 그 반대로 자신의 정보를 전송할 수 있다. 키 관리 애플리케이션(118)은 필요한 동의가 획득될 때 적절한 암호화 키들(121)의 전달을 용이하게 한다.Referring now to FIG. 71, a machine-readable identifier 133 with user input provided during the collection process may be shown. By bringing the encrypted image to the lens or camera of the reader device 109, the encrypted health information can be delivered for interpretation by the reader device 109. In some embodiments, the dependent can transmit his or her information to the parent client device 106, or vice versa, by capturing an image of the machine-readable identifier 133. The key management application 118 facilitates the transfer of the appropriate encryption keys 121 when the necessary consent is obtained.

도 7m을 참조하면, 클라이언트 애플리케이션(130)의 사용자는 판독기 기기(109) 또는 상이한 클라이언트 기기(106)의 소유자와 같은 데이터의 수신자 및 암호화 키(121)를 특정할 수 있다. 다른 실시예들에서, 암호화 키(121)는 클라이언트 애플리케이션(130) 또는 키 관리 애플리케이션(118)에 의해 의사 랜덤하게 생성될 수 있다. 클라이언트 애플리케이션(130)에 의해 생성되면, 암호화 키(121)는 키 관리 애플리케이션(118)에 전송되며, 그 다음 상기 키 관리 애플리케이션(118)은 클라이언트 애플리케이션(130)의 사용자에 의해 지시된 바와 같이 암호화 키(121)를 판독기 기기(109) 또는 다른 클라이언트 기기(106)에 전달한다. 예를 들어, 클라이언트 기기(106)의 사용자는 암호화 키(121)가 "Atlanta Health" 제공자와 연관된 하나 이상의 판독기 기기들(109)에 전송되게 할 수 있다. 다른 실시예들에서, 미리 정의된 암호화 키(121)는 제공자의 선택에 기초하여 사용된다. 예를 들어, 키 관리 애플리케이션(118)은 "Atlanta Health" 제공자를 위해 하나 이상의 암호화 키들(121)을 저장할 수 있다. "Atlanta Health"가 선택될 때, 클라이언트 애플리케이션(130)은 "Atlanta Health" 제공자와 관련하여 저장된 하나 이상의 암호 키(121)를 사용하여 기계 판독 가능 식별자(133)에서의 사용을 위해 정보를 암호화할 수 있다.7M, a user of the client application 130 may specify the recipient of data, such as the reader device 109 or the owner of a different client device 106, and the encryption key 121. [ In other embodiments, the encryption key 121 may be generated pseudo-randomly by the client application 130 or the key management application 118. The encryption key 121 is sent to the key management application 118 and the key management application 118 then sends the encryption key 121 to the client application 130, Key 121 to the reader device 109 or other client device 106. [ For example, a user of the client device 106 may cause the encryption key 121 to be transmitted to one or more reader devices 109 associated with the "Atlanta Health" provider. In other embodiments, the predefined encryption key 121 is used based on the provider's selection. For example, the key management application 118 may store one or more encryption keys 121 for the "Atlanta Health" provider. When "Atlanta Health" is selected, the client application 130 encrypts the 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 further embodiments, the encryption key 121 may be set as a date of birth, a social security number, or other constant that may or may not be widely or publicly available. All healthcare providers who then acquire the necessary software to read and transmit the information displayed in the encrypted QR image can then immediately extract the user input electronically and wirelessly. In some embodiments, an additional level of security may be used if the recipient of the information must enter another identifier (e.g., date of birth or social security number) that is unique to the originating user before the information is decrypted.

정보를 추출하는 프로세스는 의료 서비스 제공자 또는 다른 관심 있는 사람이 소유한 다른 클라이언트 기기(106) 또는 판독기 기기(109)의 카메라 렌즈에 기계 판독 가능 식별자(133)를 가져감으로써 달성될 수 있다. 이해될 수 있는 바와 같이, 이것은 프런트 오피스의 직원이 1 분 이내에 수행할 수 있다. 그 다음, 획득된 정보는 판독기 기기(109)상의 판독기 애플리케이션(136) 또는 다른 애플리케이션들에 의해 사용되어 환자의 페이퍼 차트 또는 전자 의료 기록 시스템에 부가될 수 있다. 또한, 판독기 애플리케이션(136)은 제3 자 EMR 시스템 내 필드들을 자동으로 채우도록 구성 될 수 있다.The process of extracting information may be accomplished by bringing the machine readable identifier 133 to the camera lens of the reader device 109 or other client device 106 owned by the health care provider or other interested person. As can be appreciated, this can be done by a front office employee within one minute. The acquired information may then be used by the 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. In addition, the reader application 136 may be configured to automatically populate the fields in the third-party EMR system.

다음으로 도 7n을 참조하면, 클라이언트 애플리케이션(130)은 암호화된 메시지들을 클라이언트 기기(106)로부터 다른 기기로 발송하는 것을 용이하게 할 수 있다. 일례에서, 클라이언트 애플리케이션(130)은 환자가 자신의 의료 서비스 제공자와 직접 통신할 수 있게 한다. 클라이언트 애플리케이션(130)은 클라이언트 기기(106)의 사용자에 의해 생성된 메시지를 암호화하고 암호화된 메시지를 네트워크(112)를 통해 다이렉트 메시징 서비스(122)에 전송할 수 있다. 그 다음, 다이렉트 메시징 서비스(122)는 암호화된 메시지를 수신 클라이언트 기기(106)에 전송할 수 있다. 다른 실시예들에서, 메시지들은 기계 판독 가능 식별자(133)를 사용하여 클라이언트 기기들(106) 간에 전달될 수 있다. 클라이언트 애플리케이션(130)은 다이렉트 메시징 서비스(122)를 통해 기계 판독 가능 식별자(133)의 전송을 더 용이하게 할 수 있다.7n, the client application 130 may facilitate sending encrypted messages from the client device 106 to another device. In one example, the client application 130 allows a patient to communicate directly with his or her health care provider. The client application 130 may encrypt the message generated by the user of the client device 106 and send the encrypted message to the direct messaging service 122 over the network 112. [ The direct messaging service 122 may then send the encrypted message to the receiving client device 106. In other embodiments, messages may be communicated between client devices 106 using a machine readable identifier 133. [ The client application 130 may facilitate transmission of the machine readable identifier 133 via the direct messaging service 122.

이제 도 8을 참조하면, 클라이언트 애플리케이션(130), 판독기 애플리케이션(136), 또는 다른 적절한 애플리케이션을 구성하여 매트릭스 코드 또는 다른 유형의 기계 판독 가능 식별자(133)를 생성하도록 구현될 수 있는 의사 코드(800)가 도시되어 있다. 예를 들어, 의사 코드의 라인 01에 있는 함수는 프로그래밍 방식으로 호출되어 매트릭스 코드를 생성할 수 있다. 라인 02는 도 7a 내지 도 7k의 사용자 인터페이스들(131)을 제시함으로써 수행되는 수집 프로세스에서 제공되는 사용자 입력과 같은, 기계 판독 가능 식별자(133)에 포함될 사용자 입력을 수신한다. 사용자 입력이 클라이언트 기기(106)에 국부적으로 저장되기 때문에, 그것은 적절하게 질의될 수 있다. 8, there is shown a pseudocode 800 that may be implemented to configure a client application 130, a reader application 136, or other suitable application to generate a matrix code or other type of machine readable identifier 133 Are shown. For example, a function at line 01 of a pseudo-code can be called programmatically to generate matrix code. Line 02 receives user input to be included in the machine readable identifier 133, such as a user input provided in an acquisition process performed by presenting the user interfaces 131 of Figures 7A-7K. Because the user input is stored locally on the client device 106, it can be properly queried.

라인 03에서, 적절한 함수 호출을 사용하여 암호화 키(121)가 획득된다. 도 8의 실시예에서, 암호화 키(121)는 특정 판독기 기기(109)를 위해 제공된 식별자에 기초하여 획득된다. 예를 들어, 클라이언트 애플리케이션(130)의 사용자는 데이터의 의도된 수신자를 지정할 수 있다. 다른 실시예들에서, 사용자는 자신의 암호화 키(121)를 지정할 수 있다. 추가 실시예들에서, 암호화 키(121)는 생년월일, 사회 보장 번호, 또는 사용자에 의해 제공된 다른 정보를 사용하여 의사 랜덤하게 생성되거나 결정될 수 있다.At line 03, an encryption key 121 is obtained using the appropriate function call. In the embodiment of Figure 8, the encryption key 121 is obtained based on the identifier provided for the particular reader device 109. For example, a user of the client application 130 may specify an intended recipient of the data. In other embodiments, the user may specify his or her encryption key 121. In further embodiments, the encryption key 121 may be pseudo-randomly generated or determined using the date of birth, the social security number, or other information provided by the user.

라인 04에서, 모드 지시자(309)가 설정된다. 도 8의 예에서, 모드 지시자는 영숫자 모드를 나타내는 "0010"으로 설정된다. Line 05에서 입력 데이터의 문자 수가 결정된다. 라인 06에서, 함수 호출은 암호화 키(121)를 사용하여 사용자 입력을 암호화하고, 암호화된 문자열 또는 다른 적절한 변수 유형을 반환하는 적절한 함수에 대해 이루어진다. 라인 07에서는 적절한 함수 호출을 사용하여 Reed-Solomon 오류 코드가 결정됩니다. 라인 08-09에서는 데이터가 포맷팅될 수 있다. 라인 10에서, 포맷팅된 데이터는 이미지 또는 다른 적절한 포맷의 기계 판독 가능 식별자(133)를 생성하기 위해 프로그래밍 방식의 함수 호출의 변수로서 제공된다.At line 04, the mode indicator 309 is set. In the example of Fig. 8, the mode indicator is set to "0010" indicating the alphanumeric mode. Line 05 determines the number of characters of the input data. At line 06, the function call is made to the appropriate function using the encryption key 121 to encrypt the user input and return the encrypted string or other appropriate variable type. Line 07 uses the appropriate function call to determine the Reed-Solomon error code. On line 08-09 the data can be formatted. In line 10, the formatted data is provided as a variable in a programmatic function call to generate an image or other suitable format machine readable identifier 133.

이제 도 9를 참조하면, 외부 소스로부터 데이터를 임포트하는 클라이언트 애플리케이션(130)의 다른 예가 도시되어 있다. 상술된 바와 같이, 일부 상황들에서, 클라이언트 애플리케이션(130)의 사용자에 의해 제공된 입력 데이터는 해독된 정보에 대한 액세스를 갖는 판독기 기기(109) 또는 다른 기기 상에서 조작 될 수 있다. 예를 들어, 의사는 최신 혈압 측정, 체중 측정, 혈당 측정 또는 기타 정보를 포함하도록 데이터를 업데이트하거나 변경할 수 있다. 사용자는 보다 완전하고 정확한 병력을 유지하기 위해 자신의 클라이언트 기기(106)에 이러한 업데이트된 정보를 저장하기를 원할 수 있다. 일부 실시예들에서, 판독기 애플리케이션(136)은 물리적 의료 파일에 삽입하기 위해 인쇄할 수 있는 문서(900)를 생성할 수 있다.Referring now to FIG. 9, another example of a client application 130 for importing data from an external source is shown. As discussed above, in some situations, input data provided by a user of the client application 130 may be manipulated on the reader device 109 or other device having access to the decrypted information. For example, a physician may update or change data to include the latest blood pressure measurements, weight measurements, blood glucose measurements, or other information. The user may want to store this updated information on his or her client device 106 to maintain a more complete and accurate history. 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)를 생성한 다른 기기에 기초하여 적절한 암호화 키(121)를 클라이언트 기기(106)에 제공할 수 있다. 클라이언트 애플리케이션(130)은 문서(900) 상에 배치된 기계 판독 가능 식별자(133)의 하나 이상의 이미지들의 캡처를 용이하게 할 수 있다. 기계 판독 가능 식별자(133)의 이미지가 클라이언트 기기(106)상에서 획득되어 해독되면, 클라이언트 기기(106)는 국부적으로 저장된 정보를 업데이트할 수 있고 그리고/또는 사용자에 의한 검토를 위해 사용자 인터페이스(131) 내 필드들을 자동으로 채울 수 있다.The reader application 136 may use its encryption key 121 to generate the document 900 with the machine readable identifiers 133a through 133b. The key management application 118 may provide the appropriate encryption key 121 to the client device 106 based on the reader device 109 or other device that generated the machine readable identifier 133. [ The client application 130 may facilitate capturing one or more images of the machine readable identifier 133 disposed on the document 900. If an image of the machine-readable identifier 133 is obtained and decrypted on the client device 106, the client device 106 may update the locally stored information and / or display the user interface 131 for review by the user. You can fill in my fields automatically.

다양한 실시예들에서, 판독기 애플리케이션(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 the encryption key 121 available only to the client device 106 and the reader device 109 Is encrypted. The client application 130 may decrypt the underlying data and store the data locally on the client device 106. If the user performs a portion of the gathering process, the updated data may be provided in an automatically populated field in the user interface 131. [

다수의 보안 메카니즘이 클라이언트 애플리케이션(130)의 코드 및 구현에 내장된다. 잠재적으로 중요한 정보의 폭 때문에, 다양한 실시예들에서, 이 정보는 클라이언트 기기(106)에 국부적으로 저장된다. 따라서, "클라우드"를 통한 이러한 정보의 잠재적 손실은 감소되거나 제거된다. 다양한 실시예들에서, 클라이언트 애플리케이션(130)은 정보의 원격 입력 및 업데이트를 위해 클라우드 기반 시스템과 통합될 수 있다.A number of security mechanisms are embedded in the code and implementation of the client application 130. Because of the potentially significant amount of information, in various embodiments, this information is stored locally on the client device 106. Thus, the potential loss of this information through the "cloud " is reduced or eliminated. In various embodiments, the client application 130 may be integrated with a cloud-based system for remote entry and updating of information.

스마트 폰 또는 다른 유형의 클라이언트 기기(106) 상에 제공되는 디폴트 패스워드 보호에 부가하여, 클라이언트 애플리케이션(130)의 기능들에 액세스하기 위해 추가적인 패스워드 또는 개인 식별 번호(PIN)가 요구될 수 있다. 연속적으로 미리 정의된 횟수(예를 들어, 5 번)만큼 잘못된 패스워드는 24 시간과 같이 미리 정의된 기간 동안 클라이언트 애플리케이션의 사용을 불가능하게 할 수 있다. 이 정보를 전자적으로 공유하기 전에, 이 정보를 공유하기 위한 소유자의 허가를 나타내는 추가 식별자가 필요할 수 있다.In addition to the default password protection provided on a smart phone or other type of client device 106, additional passwords or personal identification numbers (PINs) may be required to access the functions of the client application 130. A password that is incorrectly consecutively a predefined number of times (e.g., five) may disable the use of the client application for a predefined period of time, such as 24 hours. Before this information is electronically shared, additional identifiers may be required to indicate the owner's permission to share this information.

다양한 실시예들에서, 기계 판독 가능 식별자(133)로부터의 정보를 철회하는 것을 허가받은 의료 서비스 제공자는 또한 정보를 갱신 또는 보강하고 갱신되거나 증대된 정보를 또 다른 기계 판독 가능 식별자(133)의 형태로 소유자에게 제공하는 것도 허가받을 수 있다. 결과적으로, 갱신된 정보는 클라이언트 기기(106) 상에 이미 존재하는 정보와 일치(reconciling)될 수 있다. 이러한 방식으로, 소유자는 새로운 정보를 입력할 필요가 없을 것이다. 왜냐하면 이것은 클라이언트 애플리케이션(130)에 의해 완료될 것이기 때문이다. 이는 또한 모바일 기기 캘린더에 병합될 향후 방문에 대한 리마인더, 약물 재충전에 대한 리마인더 등을 포함할 수 있다. 다른 예에서, 클라이언트 애플리케이션(130)은 약국과 약품을 전자적으로 일치시킬 수 있다. In various embodiments, the medical service provider authorized to withdraw the information from the machine-readable identifier 133 may also update or augment the information and may provide updated or augmented information in the form of another machine-readable identifier 133 It is also possible to give permission to the owner. As a result, the updated information may be reconciling with information already present on the client device 106. In this way, the owner will not need to enter new information. Since it will be completed by the client application 130. This may also include a reminder for future visits to be merged into the mobile device calendar, a reminder for drug re-charging, and the like. In another example, the client application 130 may electronically match the drug with the pharmacy.

클라이언트 애플리케이션(130)은 다수의 버전으로 구현 될 수 있으며, 이 경우, 각 버전은 영어, 스페인어, 프랑스어 또는 다른 언어와 같은 상이한 언어를 사용한다. 필요한 경우, 사용자 입력은 번역기 서비스(120)에 의해 사용자의 언어로부터 수신자의 언어로 번역될 수 있다. 이는 기계 판독 가능 식별자(133)에서 사용하기 위해 데이터를 인코딩하기 전에 또는 판독기 애플리케이션(136)을 이용하여 정보를 디코딩할 때 발생할 수 있다. 높은 수준의 의사소통 또는 영어로 된 의학 용어가 알려지지 않은 상황에서, 이 정보는 의학적 또는 다른 유형의 평가를 돕기 위해 사용된다.The client application 130 may be implemented in multiple versions, where each version uses a different language such as English, Spanish, French or other languages. If desired, the user input may be translated by the translator service 120 from the user's language into the recipient's language. This may occur prior to encoding the data for use in the machine readable identifier 133 or when decoding the information using the reader application 136. [ In situations where a high level of communication or medical terminology in English is not known, this information is used to aid medical or other types of assessments.

일 실시예에서, 기계 판독 가능 식별자(133)는 클라이언트 기기(106)의 "잠금 화면"에서 인코딩될 수 있어서, 전화기에 대한 액세스 권한이 없는 사람은 클라이언트 기기(106)를 잠금 해제할 필요 없이 중요한 식별 정보, 건강 정보 또는 연락 정보에 액세스 할 수 있다. 다른 실시예들에서, 수집 프로세스 동안 제공된 정보는 예를 들어 사용 세션의 종료 시에 클라이언트 기기(106) 또는 판독기 기기(109)에서 주기적으로 지워질 수 있다.In one embodiment, the machine-readable identifier 133 can be encoded in the "lock screen" of the client device 106 such that a person without access to the phone can access the client device 106 without having to unlock the client device 106 Identification information, health information, or contact information. In other embodiments, the information provided during the collection process may be periodically cleared at the client device 106 or the reader device 109, for example, at the end of the usage session.

다음으로, 도 10을 참조하면, 다양한 실시예들에 따른 클라이언트 애플리케이션(130)의 일부의 동작의 일례를 제공하는 흐름도가 도시된다. 도 10의 흐름도는 본원에 기술된 바와 같이 클라이언트 애플리케이션(130)의 일부분의 동작을 구현하기 위해 사용될 수 있는 많은 상이한 유형들의 기능적 배열의 예를 제공할 뿐이라는 것이 이해되어야 한다. 대안으로서, 도 10의 흐름도는 하나 이상의 실시예들에 따라 클라이언트 기기(106)에서 구현된 방법의 구성요소들의 예를 묘사하는 것으로 볼 수 있다.Referring now to FIG. 10, a flow diagram is provided that provides an example of the operation of a portion of client application 130 in accordance with various embodiments. It should be understood that the flow diagram of FIG. 10 only provides examples of the many different types of functional arrangements that can be used to implement the operation of a portion of client application 130, as described herein. Alternatively, the flow diagram of FIG. 10 may be viewed as depicting exemplary components of a method implemented in a client device 106 in accordance with one or more embodiments.

단계 1003에서 시작하여, 클라이언트 애플리케이션(130)은 부양인, 애완동물 또는 다른 동물 등과 같은 하나 이상의 개체에 대해 사용자로부터 건강 정보와 같은 정보를 획득하도록 실행된다. 이는 사용자가 하나 이상의 세션 동안 사용자 인터페이스들(131)을 통해 반복하는 수집 프로세스에서 차후에 제시되는 사용자 인터페이스(131)를 사용하여 달성 될 수 있다. 다음으로, 단계 1006에서, 클라이언트 애플리케이션(130)은 HIPAA 통지가 사용자에 의해 확인 응답되었는지의 여부를 판단한다. HIPAA 통지가 확인 응답되지 않은 경우, HIPAA 통지는 사용자에게 표시될 수 있으며, 프로세스는 단계 1003으로 되돌아가거나 종료될 수 있다. HIPAA 통지가 사용자에 의해 확인 응답되었다면, 프로세스는 단계 1009로 진행할 수 있으며, 사용자에 의해 제공된 일반, 건강 또는 다른 정보가 하나 이상의 미리 정의된 암호화 표준 및 포맷에 따라 암호화된다.Beginning at step 1003, the client application 130 is executed to obtain information, such as health information, from a user for one or more entities such as a dependent, pet, or other animal. This may be accomplished using a user interface 131 that is presented later in a collection process in which the user repeats through the user interfaces 131 during one or more sessions. Next, at step 1006, the client application 130 determines whether the HIPAA notification has been acknowledged by the user. If the HIPAA notification is not acknowledged, the HIPAA notification may be displayed to the user, and the process may return to step 1003 or may be terminated. If the HIPAA notification has been acknowledged by the user, the process may proceed to step 1009 and the generic, health or other information provided by the user is encrypted according to one or more predefined cryptographic standards and formats.

다양한 실시예들에서, 데이터는 하나 이상의 암호화 키들(121)을 사용하여 암호화된다. 다양한 실시예들에서, 암호화 키(121)는 생년월일, 성, 이름, 사회 보장 번호, 이들의 조합 또는 잠재적으로 고유한 다른 정보 같은, 사용자에 의해 제공된 정보를 포함한다. 단계 1012에서, 암호화된 정보는 바코드 또는 매트릭스 코드와 같은 기계 판독 가능 식별자(133)를 생성하는데 사용된다. 기계 판독 가능 식별자를 생성하기 위해 취해진 단계들은 도 6 및 도 8과 관련하여 설명된다.In various embodiments, the data is encrypted using one or more encryption keys (121). In various embodiments, the encryption key 121 includes information provided by the user, such as date of birth, gender, name, social security number, a combination of these, or other potentially unique information. In step 1012, the encrypted information is used to generate a machine-readable identifier 133, such as a barcode or matrix code. The steps taken to create the machine-readable identifier are described with respect to Figs. 6 and 8. Fig.

도 10을 다시 참조하면, 단계 1015에서, 클라이언트 기기 디스플레이(124) 상에 상기 생성된 기계 판독 가능 식별자(133)를 보여주기를 원하는지 여부를 사용자에게 묻는 추가 통지가 사용자에게 표시될 수 있다. 마지막으로, 단계 1018에서, 기계 판독 가능 식별자는 클라이언트 기기 디스플레이(124)에서 렌더링하기 위해 사용자 인터페이스(131)에서 인코딩될 수 있다. 이 시점에서, 사용자는 판독기 기기(109)에 의한 스캐닝을 위해 기계 판독 가능 식별자(133)를 제공할 수 있거나, 또는 사용자는 정보를 포함하고 그 위에 기계 판독 가능 식별자(133)를 갖는 문서를 인쇄할 수 있다.10, at step 1015, a further notification may be displayed to the user asking the user whether he wants to show the generated machine-readable identifier 133 on the client device display 124. [ Finally, at step 1018, the machine-readable identifier may be encoded in the user interface 131 for rendering on the client device display 124. At this point, the user may provide the machine readable identifier 133 for scanning by the reader machine 109, or the user may print the document containing the information and having the machine readable identifier 133 thereon can do.

다음으로 도 11을 참조하면, 다양한 실시예들에 따른 클라이언트 애플리케이션(130)의 일부의 동작의 또 다른 예를 제공하는 흐름도가 도시된다. 도 11의 흐름도는 본 명세서에서 설명된 클라이언트 애플리케이션(130)의 일부의 동작을 구현하기 위해 사용될 수 있는 많은 상이한 유형의 기능적 배열의 예를 제공하는 것뿐이라는 것이 이해되어야 한다. 대안으로서, 도 11의 흐름도는 하나 이상의 실시예들에 따라 클라이언트 기기(106)에 구현된 방법의 구성요소들의 예를 묘사하는 것으로 볼 수 있다.Referring now to FIG. 11, a flowchart is provided that provides another example of the operation of a portion of the client application 130 in accordance with various embodiments. It should be understood that the flow diagram of FIG. 11 is merely to provide examples of many different types of functional arrangements that can be used to implement the operations of portions of the client application 130 described herein. Alternatively, the flow diagram of FIG. 11 may be seen as depicting an example of components of a method implemented in a client device 106 in accordance with one or more embodiments.

단계 1103에서 시작하여, 클라이언트 기기(106)상에서 실행 가능한 클라이언트 애플리케이션(130)은 제 1 기기 프로파일(148a)과 관련된 제 1 암호화 키(121a)에 액세스하도록 구성될 수 있다. 이와 유사하게, 단계 1106에서, 클라이언트 애플리케이션(130)은 네트워크(112)를 통해 수신된 제2 기기 프로파일(148b)과 연관된 제2 암호화 키(121b)에 액세스할 수 있다. 이해될 수 있는 바와 같이, 제1 암호화 키(121a) 및 제2 암호화 키(121b)는 네트워크(112)를 통해 키 관리 애플리케이션(118) 또는 다른 유사한 서비스에 의해 클라이언트 기기(106)에게 발송될 수 있다. 제1 암호화 키(121a) 및 제2 암호화 키(121b)는 의료 기관 또는 전문 의료진과 같은 특정 엔티티 또는 조직의 선택에 응답하여 클라이언트 애플리케이션(130)에 제공될 수 있다. 일례에서, 상기 제1 암호화 키(121a)는 제1 의료 제공자와 연관된다. 제1 의료 제공자는 제1 기기 프로파일(148a)과 관련되고 제1 암호화 키(121a)가 저장되어 있는 제1 판독기 기기(109a)를 소유하거나 동작시킬 수 있다. 이와 유사하게, 상기 제2 암호화 키(121b)는 제2 의료 제공자와 연관되며, 이로써, 제2 의료 제공자는 제2 기기 프로파일(148b)과 관련되고 제2 암호화 키(121b)가 저장되어 있는 제2 판독기 기기(109b)를 소유하거나 동작시킬 수 있다. Beginning at step 1103, the client application 130 executable on the client device 106 may be configured to access the first encryption key 121a associated with the first device profile 148a. Similarly, at step 1106, the client application 130 may access the second encryption key 121b associated with the second device profile 148b received via the network 112. [ As can be appreciated, the first encryption key 121a and the second encryption key 121b may be sent to the client device 106 by the key management application 118 or other similar service over the network 112 have. The first encryption key 121a and the second encryption key 121b may be provided to the client application 130 in response to a selection of a particular entity or organization, such as a medical institution or a professional medical staff. In one example, the first encryption key 121a is associated with a first healthcare provider. The first medical provider may own or operate the first reader device 109a associated with the first device profile 148a and in which the first encryption key 121a is stored. Similarly, the second encryption key 121b is associated with a second healthcare provider, whereby the second healthcare provider is associated with the second device profile 148b and stores the second encryption key 121b 2 reader device 109b.

클라이언트 애플리케이션(130)이 수집 프로세스를 통한 사용자로부터의 입력 데이터의 수집을 용이하게 함에 따라, 단계 1109에서, 입력 데이터는 기계 판독 가능 식별자(133)에 포함되도록 액세스될 수 있다. 수집 프로세스는, 도 7a 내지 도 7k에 도시된 것과 같은, 다양한 데이터를 입력하도록 사용자에게 촉구하는 일련의 사용자 인터페이스들(131)을 포함할 수 있다. 단계 1112에서, 클라이언트 애플리케이션(130)은 입력 데이터를 적어도 제1 데이터 부분 및 제2 데이터 부분으로 세그먼트화, 분할(partitioning) 또는 포맷팅할 수 있다. 예를 들어, 제1 데이터 부분은 일반의(general practitioner)를 위한 기기에 의해 해석될 수 있는 반면, 제2 데이터 부분은 지압사를 위한 기기에 의해 해석될 수 있다.As the client application 130 facilitates the collection of input data from the user via the gathering process, at step 1109, the input data may be accessed to be included in the machine readable identifier 133. The collection process may include a series of user interfaces 131 that prompt the user to enter various data, such as those shown in Figures 7A-7K. At step 1112, the client application 130 may segment, partition or format the input data into at least a first data portion and a second data portion. For example, the first data portion may be interpreted by a device for a general practitioner, while the second data portion may be interpreted by a device for a chiropractor.

다음으로, 단계 1115에서, 클라이언트 애플리케이션(130)은 제1 암호화 키(121a)를 사용하여 제1 데이터 부분을 암호화할 수 있는 반면, 단계 1118에서, 클라이언트 애플리케이션(130)은 제2 암호화 키(121b)를 사용하여 제2 데이터 부분을 암호화할 수 있다. 컴퓨팅 환경(103)에서 동작하는 키 관리 애플리케이션(118)은 사용자에 의해 허가된 바와 같이, 데이터를 해독할 수 있는 암호화 키(121)의 송신 및 수신을 감독할 수 있다. 대안적으로, 다른 실시예들에서, 판독기 기기(109)는 컴퓨팅 환경(103)의 데이터 저장소(115)에 저장된 미리 정의된 암호화 키(121)와 연관될 수 있다. 키 관리 애플리케이션(118)은 판독기 기기(109) 또는 다른 클라이언트 기기(106)에 의한 액세스를 위해 정보가 암호화되도록 특정 판독기 기기(109)에 대한 암호화 키(121)를 클라이언트 애플리케이션(130)에 제공할 수 있다.Next, in step 1115, the client application 130 may encrypt the first data portion using the first encryption key 121a, while in step 1118, the client application 130 encrypts the second encryption key 121b May be used to encrypt the second data portion. The key management application 118 operating in the computing environment 103 may supervise the transmission and reception of the encryption key 121 that can decrypt the data, as permitted by the user. Alternatively, in other embodiments, the reader device 109 may be associated with a predefined encryption 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 an encryption key 121 for a particular reader device 109 so that the information is encrypted for access by the reader device 109 or other client device 106 .

단계 1121에서, 클라이언트 애플리케이션(130)은 클라이언트 기기 디스플레이(124)에서의 렌더링을 위해 암호화된 제1 데이터 부분 및 암호화된 제 2 데이터 부분을 사용하여 기계 판독 가능 식별자(133)를 생성할 수 있다. 판독기 기기(109)는 기계 판독 가능 식별자(133)의 하나 이상의 이미지들을 캡처하여 기초가 되는 데이터에 액세스할 수 있다.In step 1121, the client application 130 may generate the machine readable identifier 133 using the encrypted first data portion and the encrypted second data portion for rendering on the client device display 124. The reader device 109 may capture one or more images of the machine readable identifier 133 to access the underlying data.

추가 실시예들에서, 클라이언트 애플리케이션(130)의 사용자는 일반의에 관한 것과 같은 기기 프로파일(148)을 높은 수준의 액세스와 연관시킬 수 있으며, 이 경우, 일반의는 자신의 판독기 기기(109)를 사용하여 클라이언트 애플리케이션(130)의 사용자에 의해 제공된 모든 또는 상당한 양의 입력 데이터에 액세스할 수 있다. 키 관리 애플리케이션(118)은 일반의를 위한 판독기 기기(109)에 뿐만 아니라 사용자의 클라이언트 기기(106)에 암호화 키(121)를 발송할 수 있다. 유사하게, 키 관리 애플리케이션(118)은 지압사 또는 다른 의료 제공자를 위한 판독기 기기(109)에 상이한 암호화 키(121)를 발송할 수 있다. 클라이언트 애플리케이션(130)은 일반의의 판독기 기기(109)에 대응하는 암호화 키(121)를 사용하여 일반의에 의한 수신이 허가된 데이터를 인코딩하면서 지압사의 판독기 기기(109)에 대한 상이한 암호화 키(121)를 사용하여 지압사에 의한 수신이 허가된 데이터를 인코딩할 수 있다. 이를 위해, 단일 기계 판독 가능 식별자(133)를 사용하여, 기계 판독 가능 식별자(133)의 기초가 되는 데이터에 대한 액세스 제어가 제공된다. 그 후, 프로세스는 종료로 진행한다.In further embodiments, a user of the client application 130 may associate a device profile 148, such as that of the generic, with a high level of access, in which case the generic user may use his or her own reader device 109 To access all or a significant amount of input data provided by a user of the client application 130. [ The key management application 118 may send the encryption key 121 to the user's client device 106 as well as to the reader device 109 for the general public. Similarly, the key management application 118 may dispatch a different encryption key 121 to the reader device 109 for the chiropractor or other medical provider. The client application 130 uses the encryption key 121 corresponding to the generic reader device 109 to encode data authorized to be received by the generic user while using a different encryption key for the reader device 109 of the acupressurist 121) can be used to encode data that is allowed to be received by the acupressurist. To this end, using a single machine-readable identifier 133, access control is provided on the data underlying the machine-readable identifier 133. The process then proceeds to termination.

일부 실시예들에서, 제1 데이터 부분과 연관된 제1 액세스 레벨(152a)이 정의될 수 있다. 예를 들어, 사용자는 자신의 병력과 요구되는 높은 액세스 레벨(152)을 연관시키면서, 자신의 개인 정보와 요구되는 낮은 액세스 레벨(152)을 연관시킬 수 있다. 높은 액세스 레벨(152)과 연관된 판독기 기기(109)는 병력 및 개인 정보 모두에 액세스 할 수 있지만, 낮은 액세스 레벨(152)과 연관된 판독기 기기(109)는 단지 개인 정보에만 액세스할 수 있다. 일례에서, 어린이의 코치는 플레이어 또는 부모에 의해 허가된 바와 같이, 플레이어에 대한 긴급 연락처 정보에 액세스하는데 사용되는 클라이언트 기기(106)에 부여된 낮은 액세스 레벨(152)을 가질 수 있다.In some embodiments, a first access level 152a associated with the first data portion may be defined. For example, a user may associate his personal information with a required low access level 152, associating his or her history with a high access level 152 that is required. The reader device 109 associated with the higher access level 152 may access both history and personal information but the reader device 109 associated with the lower access level 152 may only access private information. In one example, the child's coach may have a low access level 152 assigned to the client device 106 used to access emergency contact information for the player, as permitted by the player or parent.

즉, 액세스 레벨(152)은 판독기 기기들(109)이 액세스할 수 있는 데이터의 부분을 결정하는데 사용될 수 있다. 사용자는 또한 어느 엔티티들(예를 들어, 진료실)이 다양한 액세스 레벨들(152)과 연관된 데이터에 액세스할 수 있는지를 클라이언트 애플리케이션(130)을 통해 정의할 수 있다. 이를 위해, 제1 데이터 부분과 연관된 제1 액세스 레벨(152a) 및 제2 데이터 부분과 연관된 제2 액세스 레벨(152b)이 식별될 수 있으며, 이 경우, 제1 데이터 부분은 제1 액세스 레벨(152a)에 적어도 부분적으로 기초하여 제1 암호화 키(121a)를 사용하여 암호화될 것이며, 제2 데이터 부분은 제2 액세스 레벨(152b)에 적어도 부분적으로 기초하여 제2 암호화 키(121b)를 사용하여 암호화될 것이다. 이해될 수 있는 바와 같이, 제1 액세스 레벨(152a)은 제2 액세스 레벨(152b)과 상이할 수 있다.That is, the access level 152 may be used to determine the portion of data that the reader devices 109 can access. The user may also define through the client application 130 which entities (e. G., The clinic) can access data associated with the various access levels 152. To this end, a first access level 152a associated with the first data portion and a second access level 152b associated with the second data portion may be identified, in which case the first data portion is associated with a first access level 152a And the second data portion is encrypted using the second encryption key 121b based at least in part on the second access level 152b, Will be. As can be appreciated, the first access level 152a may be different from the second access level 152b.

다음으로 도 12를 참조하면, 다양한 실시예들에 따른 클라이언트 애플리케이션(130)의 일부의 동작의 또 다른 예를 제공하는 흐름도가 도시되어 있다. 도 12의 흐름도는 본 명세서에서 설명된 클라이언트 애플리케이션(130)의 일부의 동작을 구현하기 위해 사용될 수 있는 많은 상이한 유형의 기능적 배열의 예를 제공할 뿐이라는 것이 이해되어야 한다. 대안으로서, 도 12의 흐름도는 하나 이상의 실시예들에 따라 클라이언트 기기(106)에서 구현된 방법의 구성 요소들의 예를 나타낸 것으로 간주 될 수 있다.Referring now to FIG. 12, there is shown a flow chart that provides another example of the operation of a portion of the client application 130 in accordance with various embodiments. It should be appreciated that the flow diagram of FIG. 12 only provides examples of many different types of functional arrangements that can be used to implement the operations of portions of the client application 130 described herein. Alternatively, the flow diagram of FIG. 12 may be considered to represent an example of the components of the method implemented in client device 106 in accordance with one or more embodiments.

단계 1203에서 시작하여, 클라이언트 애플리케이션(130)은 클라이언트 기기(106)와 통신하는 카메라 또는 다른 이미징 기기에 의해 캡쳐된 이미지의 기계 판독 가능 식별자(133)를 식별할 수 있다. 예를 들어, 기계 판독 가능 식별자(133)는 수집 프로세스의 완료 후에 생성된 초기 기계 판독 가능 식별자(133)를 사용하여 클라이언트 애플리케이션(130)의 사용자에 의해 초기에 제공되는 업데이트된, 보완된 또는 다른 조작된 데이터를 제공하도록 판독기 기기(109)에 의해 생성되는 것일 수 있다. 이해될 수 있는 바와 같이, 판독기 기기(109)에 의해 수정된 데이터는 클라이언트 기기(106) 상에서 생성된 원래의 기계 판독 가능 식별자(133)로부터 획득될 수 있다. 기계 판독 가능 식별자(133)의 이미지는 클라이언트 기기(106)에 의해 획득되어 그것의 국부적으로 저장된 데이터를 업데이트할 수 있다. 이미지는 도 2에 도시된 바와 같이 판독기 기기 디스플레이(127)로부터, 또 다른 클라이언트 기기(106)의 디스플레이로부터, 또는 도 9에 도시된 바와 같이 문서(900)로부터 캡처될 수 있다.Beginning at step 1203, the client application 130 may identify the machine readable identifier 133 of the image captured by the camera or other imaging device communicating with the client device 106. For example, the machine-readable identifier 133 may be an updated, complementary, or other identifier that is initially provided by a user of the client application 130 using the initial machine-readable identifier 133 generated after completion of the collection process. Or may be generated by the reader device 109 to provide manipulated data. As can be appreciated, the data modified by the reader device 109 may be obtained from the original machine-readable identifier 133 created on the client device 106. [ An image of the machine-readable identifier 133 may be acquired by the client device 106 to update its locally stored data. The image may be captured from the reader device display 127 as shown in FIG. 2, from the display of another client device 106, or from the document 900 as shown in FIG.

다음으로, 단계 1206에서, 암호화된 데이터를 식별하기 위해 기계 판독 가능 식별자(133)가 디코딩된다. 단계 1209에서, 클라이언트 애플리케이션(130)은 기계 판독 가능 식별자(133)가 획득되는 발신 장치로부터의 기기 프로파일(148)과 연관된 암호화 키(121)를 사용하여 암호화된 데이터를 해독할 수 있다. 일부 실시예들에서, 기계 판독 가능 식별자(133)가 획득된 판독기 기기(109)를 식별하는 기계 판독 가능 식별자(133)로부터 판독된 데이터는 공개적일 수 있으며(암호화되지 않을 수 있으며), 이 경우 임의의 기기가 데이터를 디코딩할 수 있다. 데이터는 암호화된 데이터에 액세스하는 것을 허가받은 개인 또는 클라이언트 기기(106)를 식별하는 고유 식별자 및/또는 기기 식별자(145)를 포함할 수 있다. 클라이언트 애플리케이션(130)은 클라이언트 기기(106)가 그렇게 하도록 허가받은 경우에 암호화 키(121)를 획득하기 위해 기기 식별자(145)를 컴퓨팅 환경(103)에 전달할 수 있다.Next, at step 1206, the machine readable identifier 133 is decoded to identify the encrypted data. In step 1209, the client application 130 may decrypt the encrypted data using the encryption key 121 associated with the device profile 148 from the originating device from which the machine-readable identifier 133 is obtained. In some embodiments, the data read from the machine-readable identifier 133 that identifies the reader device 109 from which the machine-readable identifier 133 was obtained may be public (may not be encrypted) and in this case Any device can decode the data. The data may include a unique identifier and / or device identifier 145 that identifies the individual or client device 106 authorized to access the encrypted data. The client application 130 may communicate the device identifier 145 to the computing environment 103 to obtain the encryption key 121 if the client device 106 is authorized to do so.

단계 1212에서, 기계 판독 가능 식별자(133)로부터 획득된 해독된 데이터는 클라이언트 기기(106)상에 국부적으로 저장된 데이터를 업데이트하거나 보완하는데 사용될 수 있다. 경우에 따라, 해독된 데이터는 사용자가 제공한 데이터와 충돌할 수 있다. 예를 들어, 사용자가 제1 기계 판독 가능 식별자(133)를 통해 판독기 기기(109)에 제공한 데이터의 일부가 변경되었을 수 있다. 대안적으로, 사용자에 의해 제공된 데이터는 이전에 사용자에게 알려지지 않았던 의사에 의해 취해진 판독값들로 보강될 수 있다.At step 1212, the decrypted data obtained from the machine-readable identifier 133 may be used to update or supplement data stored locally on the client device 106. [ In some cases, the decrypted data may conflict with the data provided by the user. For example, some of the data the user has provided to the reader device 109 via the first machine readable identifier 133 may have changed. Alternatively, the data provided by the user may be augmented with readings taken by a physician that was not previously known to the user.

이에 따라, 단계 1215에서, 클라이언트 애플리케이션(130)은 해독된 데이터와 예를 들어 수집 프로세스를 통해 사용자에 의해 제공된 데이터 간에 충돌이 존재하는지를 판단한다. 예를 들어, 사용자가 자신의 클라이언트 기기(106)를 사용하여 제공한 데이터가 임의의 관점에서 판독기 기기(106)에 의해 반환된 데이터와 상이하다면, 데이터는 충돌할 수 있다. 예를 들어, 판독기 기기(109)를 사용하여, 의사 또는 간호사는 사용자에 의해 제공된 데이터를 업데이트하여 최근 판독값들 또는 측정값들을 반영할 수 있다. 대안적으로, 판독기 기기(109)를 사용하여, 의사 또는 간호사는 사용자에 의해 제공된 데이터를 보강할 수 있다. 어느 시나리오에서나 두 데이터 집합이 동일하지 않기 때문에 데이터 간의 충돌이 식별된다. 충돌이 존재하는 데이터의 특정 부분을 식별하기 위해 DIFF 기능 또는 유사한 기능이 사용될 수 있다.Thus, at step 1215, the client application 130 determines whether there is a conflict between the decrypted data and the data provided by the user, for example, through the gathering process. For example, if the data the user provided using his or her client device 106 is different from the data returned by the reader device 106 from any point of view, the data may collide. For example, using the reader device 109, the physician or nurse can update the data provided by the user to reflect recent readings or measurements. Alternatively, using the reader device 109, the physician or nurse may augment the data provided by the user. In both scenarios, conflicts between data are identified because the two sets of data are not identical. A DIFF function or similar function may be used to identify a particular portion of the data in which the collision is present.

데이터 간의 충돌이 존재한다면, 프로세스는 단계 1218로 진행하여 데이터 충돌을 조정하거나 해결한다. 일부 실시예들에서, 사용자는 충돌에 관한 정보를 제공받을 수 있으며, 이 경우 사용자는 사용자에 의해 제공된 원본 데이터를 유지할 것인지 또는 판독기 기기(109)로부터 제공된 데이터로 데이터를 업데이트할 것인지를 선택할 수 있다. 다른 실시예들에서, 판독기 기기(109)로부터 제공된 데이터는 사용자에 의해 제공된 데이터를 자동으로 대체하거나 또는 클라이언트 기기(106)의 메모리에 자동으로 추가되어 수집 프로세스 동안 사용자에 의해 제공된 데이터를 보강할 수 있다.If there is a conflict between the data, the process proceeds to step 1218 to adjust or resolve the data conflict. In some embodiments, the user may be provided with information about the conflict, in which case the user may choose to keep the original data provided by the user or update the data with data provided from the reader device 109 . In other embodiments, the data provided by the reader device 109 may be automatically replaced with data provided by the user or automatically added to the memory of the client device 106 to augment the data provided by the user during the acquisition process have.

일부 예들에서, 일부 데이터는 특정 유형의 데이터에 관하여 가변하는 액세스 레벨(152)과 연관될 수 있다. 예를 들어, 의료 제공자가 클라이언트 기기(106)에 저장된 의료 데이터를 업데이트한다면, 의료 제공자는 사용자에 의해 (또는 디폴트에 의해) 높은 액세스 레벨(152)을 할당받을 수 있으므로, 사용자를 통해 의료 제공자에 대한 복종(deference)이 보여질 수 있다. 다른 예에서, 의료 제공자가 클라이언트 기기(106)의 사용자에 대한 전화번호 또는 주소와 같은 개인 정보를 업데이트한다면, 사용자가 자신의 전화번호 또는 주소를 더 잘 이해할 가능성이 있기 때문에 사용자에 대한 복종(deference)이 보여질 수 있다. 즉, 의료 제공자는 의료 정보에 대하여는 높은 액세스 레벨(152)을, 그리고 개인 정보에 대하여는 낮은 액세스 레벨(152)을 가질 수 있다.In some instances, some data may be associated with an access level 152 that varies with respect to a particular type of data. For example, if the healthcare provider updates the healthcare data stored in the client device 106, the healthcare provider may be assigned a high access level 152 by the user (or by default) A deference to one can be seen. In another example, if a healthcare provider updates personal information, such as a telephone number or address for a user of the client device 106, it is possible that the user may be able to better understand his or her telephone number or address, ) Can be shown. That is, the healthcare provider may have a high access level 152 for medical information and a low access level 152 for personal information.

대안적으로, 데이터 충돌이 존재하지 않으면, 프로세스는 단계 1221로 진행하여, 이후의 수집 프로세스 동안, 사용자 인터페이스들(131) 내의 필드들은 기계 판독 가능 식별자(133)로부터 획득된 데이터로 자동으로 채워질 수 있다. 그 후, 프로세스는 종료로 진행한다.Alternatively, if there is no data conflict, the process proceeds to step 1221 where during the subsequent collection process, the fields in the user interfaces 131 may be automatically populated with data obtained from the machine-readable identifier 133 have. The process then proceeds to termination.

도 13을 참조하면, 다양한 실시예들에 따른 키 관리 애플리케이션(118)의 일부의 동작의 일례인 흐름도가 도시된다. 도 13의 흐름도는 단지 본원에 설명된 바와 같이 키 관리 애플리케이션(118)의 일부의 동작을 구현하는데 사용될 수 있는 많은 상이한 유형의 기능적 구성의 일례를 제공할 뿐인 것이 이해된다. 대안으로서, 도 13의 흐름도는 하나 이상의 실시예들에 따라 컴퓨팅 환경(103)에서 구현되는 방법의 구성요소들의 예를 나타내는 것으로 보여질 수 있다. Referring to FIG. 13, a flow chart is shown that is an example of the operation of a portion of the key management application 118 in accordance with various embodiments. It is appreciated that the flow diagram of FIG. 13 merely provides an example of many different types of functional configurations that can be used to implement the operation of a portion of the key management application 118 as described herein. Alternatively, the flow diagram of FIG. 13 may be seen as representing an example of the components of a method implemented in computing environment 103 in accordance with one or more embodiments.

단계 1303으로 시작하여, 클라이언트 애플리케이션(130)에서 선택이 이루어진 경우, 의료 제공자와 같은 엔티티의 선택은 클라이언트 기기(106)로부터 수신된다. 예를 들어, 사용자는 수집 프로세스 중에 제공된 입력 데이터를 공유하길 원하는 엔티티를 지정할 수 있다. 일례에서, 사용자는 클라이언트 애플리케이션(130)에 의해 생성된 사용자 인터페이스(131)에서 "Atlanta Health" 제공자를 선택할 수 있다. "Atlanta Health"는 데이터 저장소(115)에 저장된 하나 이상의 기기 프로파일들(148)과 연관된 하나 이상의 판독기 기기들(109)을 소유하거나 동작시킬 수 있다.Beginning at step 1303, when a selection is made in the client application 130, a selection of an entity, such as a healthcare provider, is received from the client device 106. For example, the user may specify entities that he wishes to share input data provided during the collection process. In one example, the user may select the "Atlanta Health" provider in the user interface 131 generated by the client application 130. [ The "Atlanta Health" may own or operate one or more reader devices 109 associated with one or more device profiles 148 stored in the data store 115.

일부 예들에서, 엔티티, 또는 엔티티에 의해 작동되는 판독기 기기(109)에 대응하는 기기 프로파일(148)은 데이터 저장소(115)에 저장된 미리 정의된 암호화 키(121)를 가질 수 있다. 그러나 단계 1306에서, 예를 들어, 사용자 대 엔티티 관계에 고유한 암호화 키(121)를 생성하기 위해, 기기 프로파일(148)에 대한 암호화 키(121)가 생성될 수 있다. 이해될 수 있는 바와 같이, 단계 1306은 옵션일 수 있다. 일부 예들에서, 암호화 키(121)는 의사 랜덤하게, 사용자에 의해 제공된 정보를 사용하여, 또는 이들의 조합을 사용하여 생성된다.In some instances, an appliance profile 148 corresponding to an entity, or a reader device 109 operated by an entity, may have a predefined encryption key 121 stored in the data store 115. However, at step 1306, an encryption key 121 for the device profile 148 may be generated, for example, to generate an encryption key 121 that is unique to a user-to-entity relationship. As can be appreciated, step 1306 may be optional. In some examples, the encryption key 121 is generated pseudo-randomly, using information provided by the user, or a combination thereof.

다음으로, 단계 1309에서, 암호화 키(121)가 클라이언트 기기(106)로 발송되며, 이로써, 클라이언트 애플리케이션(130)은 기기 프로파일(148)과 연관된 판독기 기기(109)에 의한 수신을 위해 입력 데이터를 인코딩할 수 있다. 판독기 기기(109)가 그곳에 저장된 암호화 키(121)를 갖지 않는다면, 단계 1312에서, 암호화 키(121)는, 필요하다면, 판독기 기기(109)로 발송될 수 있다.Next, at step 1309, the encryption key 121 is sent to the client device 106, whereby the client application 130 sends the input data for reception by the reader device 109 associated with the device profile 148 Can be encoded. If the reader device 109 does not have the encryption key 121 stored therein, then at step 1312, the encryption key 121 may be sent to the reader device 109, if necessary.

도 14를 참조하면, 다양한 실시예들에 따른 키 관리 애플리케이션(118)의 동작의 다른 예를 도시하는 흐름도가 도시된다. 도 14의 흐름도는 단지 본원에 설명된 바와 같이 키 관리 애플리케이션(118)의 일부분의 동작을 구현하는데 사용될 수 있는 많은 상이한 유형의 기능적 배열들의 일례를 제공할 뿐이라는 것이 이해된다. 대안으로서, 도 14의 흐름도는 하나 이상의 실시예들에 따라 컴퓨팅 환경(103)에서 구현되는 방법의 구성요소들의 예를 묘사하는 것으로 볼 수 있다. Referring to FIG. 14, a flow chart illustrating another example of the operation of the key management application 118 according to various embodiments is shown. It is appreciated that the flow diagram of FIG. 14 only provides an example of many different types of functional arrangements that can be used to implement the operation of a portion of the key management application 118 as described herein. Alternatively, the flow diagram of FIG. 14 may be viewed as depicting exemplary components of a method implemented in computing environment 103 in accordance with one or more embodiments.

일부 실시예들에서, 기계 판독 가능 식별자(133)는 비-암호화된 데이터 또는 글로벌 또는 공유 암호화 키(121)를 사용하여 해독될 수 있는 데이터를 포함할 수 있다. 데이터는 발신 기기에 대한 제1 기기 식별자(145a) 및 의도된 수신자에 대한 제2 기기 식별자(145b)를 포함할 수 있다. 예를 들어, 클라이언트 애플리케이션(130)은 기계 판독 가능한 식별자(133a)를 생성했던 클라이언트 기기(106)에 대한 제1 기기 식별자(145a) 및 선택된 의료 제공자와 같은 특정 엔티티와 연관된 의도된 수신자 판독기 기기(109)에 대한 제2 기기 식별자(145b)를 포함하는 기계 판독 가능한 식별자(133)를 생성할 수 있다.In some embodiments, the machine-readable identifier 133 may include non-encrypted data or data that can be decrypted using the global or shared encryption 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 include a first device identifier 145a for the client device 106 that created the machine-readable identifier 133a and an intended recipient reader device (e.g., Readable identifier 133 that includes a second device identifier 145b for the first device identifier 115a.

판독기 기기(109)가 기계 판독 가능 식별자(133)를 스캔할 때, 판독기 기기(109)는 제1 기기 식별자(145a) 또는 의도된 수신자에 대한 제2 기기 식별자(145b)를 분석함으로써 자신이 기초가 되는 데이터에 대한 액세스를 갖는지 여부를 결정할 수 있다. 다른 예들에서, 판독기 기기(109)는 원격 인증을 위해 기기 식별자들(145)을 키 관리 애플리케이션(118)에 전달할 수 있다. 이를 위해, 단계 1403에서, 키 관리 어플리케이션(118)은 기계 판독 가능 식별자(133)를 생성한 기기에 대한 제1 기기 식별자(145a)를 수신할 수 있다. 이와 유사하게, 단계 1406에서, 키 관리 애플리케이션(118)은 기계 판독 가능 식별자(133)의 기초가 되는 데이터에 액세스하고자 하는 기기에 대한 제2 기기 식별자(145b)를 수신할 수 있다.When the reader device 109 scans the machine-readable identifier 133, the reader device 109 analyzes the first device identifier 145a or the second device identifier 145b for the intended recipient, ≪ RTI ID = 0.0 > and / or < / RTI > In other instances, the reader device 109 may communicate device identifiers 145 to the key management application 118 for remote authentication. To this end, in step 1403, the key management application 118 may receive the first device identifier 145a for the device that created the machine-readable identifier 133. [ Similarly, at step 1406, the key management application 118 may receive a second device identifier 145b for a device that wishes to access data that is the basis of the machine-readable identifier 133. [

제1 기기 식별자(145a) 및 제2 기기 식별자(145b)를 사용하여, 단계 1409에서, 키 관리 애플리케이션(118)은 기계 판독 가능 식별자(133)의 기본이 되는 데이터를 해독하기 위해 암호화 키(121)를 요청하는 기기가 상기 기초가 되는 데이터에 액세스하는 것을 발신 사용자(예를 들어, 클라이언트 애플리케이션(130)의 사용자 또는 의료 제공자)로부터 허가받았는지 여부를 판단할 수 있다. 요청 기기가 기본이 되는 데이터에 액세스하는 것을 허가받았다면, 단계 1412에서, 키 관리 애플리케이션(118)은 그 기기에 암호화 키(121)를 발송할 수 있으며, 이 경우, 암호화 키(121)는 기계 판독 가능한 식별자(133)에 인코딩된 데이터를 해독할 수 있다. 그 후, 프로세스는 종료로 진행한다. 단계 1409로 돌아와서, 요청 기기가 기본이 되는 데이터에 액세스하는 것을 허가받지 않았다면, 프로세스는 종료로 진행한다.Using the first device identifier 145a and the second device identifier 145b, in step 1409, the key management application 118 generates an encryption key 121 (e.g., a secret key) to decrypt the underlying data of the machine- (E.g., a user or a healthcare provider of the client application 130) that the requesting device has access to the underlying data. If the requesting device is authorized to access the underlying data, then at step 1412, the key management application 118 may send the encryption key 121 to the device, Lt; RTI ID = 0.0 > 133 < / RTI > The process then proceeds to termination. Returning to step 1409, if the requesting device is not authorized to access the underlying data, the process proceeds to termination.

클라이언트 애플리케이션(130), 판독기 애플리케이션(136) 및 키 관리 애플리케이션(118)과 같은 본원에 기술된 애플리케이션들은 의료 서비스 제공자와의 초기 방문 시 또는 차후 방문 시 요구되는 정보와 같은 중요한 정보를 효과적으로 획득, 저장 및 재생할 수 있는 능력을 제공한다. 구체적으로, 본 개시서는 사용자 친화적인 방식으로 병력을 획득하고 획득된 병력을 포함하는 기계 판독 가능 식별자(133)를 인코딩되고 및 암호화된 데이터로서 생성하는 클라이언트 애플리케이션(130)을 설명한다. 다양한 실시예들에서, 클라이언트 애플리케이션(130)을 통해 사용자에 의해 제공된 정보는 클라이언트 기기(106)에 국부적으로 저장될 수 있다. 클라이언트 기기(106)에 저장된 정보는 로컬 저장을 위해 암호화될 수 있다. 또한 재방문 시, 건강 기록의 변경 사항은 쉽게 식별될 수 있으며 제공자에게 제공될 수 있다.Applications described herein, such as client application 130, reader application 136, and key management application 118, can effectively acquire, store, store and retrieve important information such as information required upon initial visit or subsequent visit with a health care provider And playback capabilities. Specifically, the present disclosure describes a client application 130 that acquires a history in a user-friendly manner and generates a machine-readable identifier 133 containing the history of the acquisition as encoded and encrypted data. In various embodiments, the information provided by the user via the client application 130 may be stored locally on the client device 106. [ The information stored in the client device 106 may be encrypted for local storage. Also, upon revisit, changes to the health record can be easily identified and provided to the provider.

오늘날, 기존의 건강 관련 애플리케이션들은 개인이 자신의 진료에 대한 책임을 지고, 건강한 생활을 증진하며, 검사 및 연구 결과를 획득하기 위해 제공자 또는 기관에 특유한 전자 의료 기록 시스템과 연결하는 능력을 향상시키는 데 도움이 된다. 이러한 애플리케이션들은 클라이언트 애플리케이션(130)의 사용을 정당화하기 위해 업데이트될 필요가 있는 일별 또는 기껏해야 주간별 데이터 포인트의 다양한 정도를 포함한다.Today, existing health-related applications are designed to improve the ability of individuals to be responsible for their own care, promote healthy living, and connect with provider or institution-specific electronic health record systems to obtain examinations and research results. It is helpful. These applications include varying degrees of day-to-day or at most weekly data points that need to be updated to justify the use of the client application 130.

클라이언트 애플리케이션(130) 및 판독기 애플리케이션(136)은 iOS®, Blackberry®, Linux®, Android®, Windows® 및/또는 다른 적절한 운영 체제에서 구현될 수 있다. 클라이언트 애플리케이션(130)에 의해 획득된 정보는 단지 한 번만 사용자에 의해 제공될 필요가 있으며, 대다수의 환자에게 드물게 필요할 수 있는 중대하고 적절한 변경사항들(예를 들어, 약물 변경, 외과 수술)로 업데이트될 필요가 있다. 또한, 클라이언트 애플리케이션(130)은 사용자가 부양가족 또는 사용자가 책임질 수 있는 사람들에 대한 중요한 정보를 제공할 수 있게 한다. 이해될 수 있는 바와 같이, 기본 정보를 쉽고 정확하게 제공하는 가치는 상당하다.The client application 130 and reader application 136 may be implemented in iOS, Blackberry, Linux, Android, Windows and / or other suitable operating systems. The information obtained by the client application 130 needs to be provided only once by the user and may be updated with significant and appropriate changes (e.g., drug changes, surgery) that may be rarely needed for the majority of patients Need to be. The client application 130 also allows the user to provide important information about the dependents or people the user may be responsible for. As can be appreciated, the value of providing basic information easily and accurately is substantial.

다양한 실시예들에 따르면, 일상적인 진료를 제공하기 위해 의료 서비스 제공자들 및 기타 엔티티들에 의해 요구되는 필수 의료 정보의 집중적이고 적은 유지보수만이 필요한 특수한 계정(account)이 획득된다. 이 정보는 의사들을 염두에 두고 의사들에 의해 생성되지만, 시스템의 쉬운 탐색(navigation)을 위해 형성된다. 작업 흐름은 기본적인 문해력 수준을 가진 모든 사람들이 탐색을 완료할 수 있도록 형성될 것이다. 다양한 실시예들에서, 사용자로부터 요구되는 정보의 폭은 임의의 의료 서비스 제공자에 대한 모든 초기 방문에 대해 중요할 수 있는 미리 정의된 수의 질문들(예를 들어, 7개의 질문 또는 다른 수의 질문)을 중심으로 나타날 수 있다. 다양한 실시예들에서, 이러한 질문들은 구체적일 수 있고 제한을 두지 않을 수 있다.According to various embodiments, a special account is obtained that requires only intensive, low maintenance maintenance of essential medical information required by healthcare providers and other entities to provide routine care. This information is generated by doctors with the physicians in mind, but is formed for easy navigation of the system. The workflow will be shaped so that everyone with a basic literacy level can complete the search. In various embodiments, the breadth of information requested from a user may be a predefined number of questions that may be important for every initial visit to any health care provider (e.g., 7 questions or a different number of questions ). In various embodiments, these questions may be specific and may not be limiting.

클라이언트 애플리케이션(130)은 사용자로부터 정보를 획득하기 위해 일련의 하나 이상의 사용자 인터페이스들(131)을 생성한다. 또한, 클라이언트 애플리케이션(130)은 의사 및 환자 모두를 위해 상기 정보를 용이하고 읽기 쉬운 형태로 상관시킨다. 또한 일반의 및 전문가와 같은 다양한 제공자들 간의 기본 의료 정보의 효율적 전송을 가능하게 한다. 클라이언트 애플리케이션(130)은 부모, 어린이, 애완동물 등과 같은 친척 또는 다른 개체에 대한 병력 또는 다른 정보의 상관을 용이하게 한다. 예를 들어, 통증, 스트레스, 혼란, 의식 상실 등으로 인해 환자가 자신의 병력을 제공할 수 없는 상황뿐만 아니라 부모가 응급 상황으로 혼란스러워져있는 상황에서 다른 사람에 의해 제공된 정보가 도움이 될 수 있다. 이러한 경우, 이 중요한 정보는 빠르고, 쉽고, 정확하게 전달될 수 있으므로 정확하고 완전한 정보의 부족으로 인한 의료 사고를 예방할 수 있다. 또한, 클라이언트 애플리케이션(130)은 청각 장애인 또는 언어 장애인과 같은 의사전달 장애를 가진 개인들을 위한 건강 관리를 향상시키도록 구성된다.The client application 130 creates a series of one or more user interfaces 131 to obtain information from the user. The client application 130 also correlates the information in an easy and readable form for both physicians and patients. It also enables efficient transmission of basic medical information between various providers such as general and specialists. The client application 130 facilitates the correlation of history or other information to relatives or other entities such as parents, children, pets, and the like. For example, information provided by another person may be helpful in situations where the patient is unable to provide his / her medical history due to pain, stress, confusion, loss of consciousness, etc., have. In this case, this important information can be delivered quickly, easily, and accurately, thus avoiding medical accidents due to lack of accurate and complete information. In addition, the client application 130 is configured to enhance healthcare for individuals with a communication disorder, such as the hearing impaired or the speech impaired.

다양한 실시예들에서, 의사의 진료소 또는 다른 의료 서비스 제공자는 고객접수 중 필요하거나 선택적인 정보를 지정할 수 있다. 클라이언트 애플리케이션(130)은 의료 서비스 제공자에 의해 요구되는 것으로 지정된 데이터 포인트들을 수집하도록 실행된다. 이러한 정보는 HIPAA 및 HITECH(Health Information Technology for Economic and Clinical Health Act) 규정에 따라 암호화될 수 있으며, 그리고 키 또는 패스워드를 사용하여 사용자 또는 지정된 의료 서비스 제공자에게 액세스 가능하게 만들어질 수 있다.In various embodiments, a physician's clinic or other health care provider may specify necessary or optional information during customer acceptance. The client application 130 is executed to collect data points designated as required by the health care provider. Such information may be encrypted in accordance with the HIPAA and HITECH (Health Information Technology for Economic and Clinical Health Act) regulations, and may be made accessible to the user or to a designated health care provider using keys or passwords.

다양한 실시예들에 따라, 수집된 정보는 과거의 병력, 과거의 수술 이력, 알레르기, 투약물, 가족력, 사회생활력 및 예방접종으로 제한될 수 있지만, 다른 실시예들에서, 추가 정보가 수집될 수 있다. 클라이언트 애플리케이션(130)은 사용자가 기본 의학 용어 및 약물에 대한 정확한 철자법을 제공하는 것을 도와서, 의료 사고를 유발할 수 있는 혼란 및 부정확한 문서화를 방지할 수 있다.According to various embodiments, the collected information may be limited to past history, past history of surgery, allergy, drug, family history, social status and vaccination, but in other embodiments, additional information may be collected have. The client application 130 helps the user provide accurate spelling of basic medical terminology and drugs, thereby preventing confusion and inaccurate documentation that could lead to a medical accident.

클라이언트 애플리케이션(130)에 의해 수집된 정보는 새로운 환자 정보 패키지들을 작성하는 동안 참조를 위해 사용자 인터페이스(131)에 도시된 요약 화면으로 구성될 수 있다. 다양한 실시예들에서, 이러한 정보는 의료 서비스 제공자와의 방문 전에 인쇄하기 위해 Microsoft Word® 또는 PDF 포맷으로 변환될 수 있다. 마지막으로, 이 정보는 암호화될 수 있고, 암호화된 정보는 매트릭스 코드 또는 다른 기계 판독 가능 식별자(133)로 변환되어, 상기 정보를 의료 서비스 제공자에게 직접 종이를 쓰지 않고 그리고 무선으로 전달할 수 있다. 다양한 실시예들에서, 기계 판독 가능 식별자(133)의 스캔은 다양한 전자 의료 기록 시스템의 데이터베이스에 기초가 되는 정보를 자동으로 채우는 것을 야기한다.The information collected by the client application 130 may comprise a summary screen shown in the user interface 131 for reference while creating new patient information packages. In various embodiments, this information may be converted to Microsoft Word® or PDF format for printing prior to visiting with a health care provider. Finally, this information can be encrypted and the encrypted information can be converted into a matrix code or other machine-readable identifier 133 to deliver the information directly to the health care provider, without paper, and wirelessly. In various embodiments, the scanning of the machine-readable identifier 133 results in automatically populating information based on a database of various electronic medical record systems.

개인 정보를 수집하는 것 이외에, 클라이언트 애플리케이션(130)은 피부양자, 가족 구성원, 애완동물 등에 대한 건강 정보를 획득하도록 구성될 수 있다. 이는 부양가족 및 가족 구성원들이 나이, 신체 능력 부족 등으로 인해 스스로 이러한 정보를 제공할 수 없을 때 의료 전문가에게 완전하고 정확한 정보를 제공하는 것을 도울 수 있다. 이것은 의료 서비스 제공자가 환자를 정확하게 평가하고, 능률적으로 간호하고, 불완전한 의료 기록으로 인한 의료 사고를 예방하는 데 도움이 될 수 있다. 상술한 바와 같이, 애완동물의 병력 또한 주인 및 수의사에게 중요하므로, 클라이언트 애플리케이션(130)은 애완동물에 관한 정보를 획득하도록 구성될 수 있다. 클라이언트 애플리케이션(130)의 사용자와 동일한 플랫폼에서 이 정보를 쉽게 참조할 수 있음으로써, 이러한 정보는 학교, 대학, 해외여행, 비상사태 및 다른 상황에 사용될 수 있다. In addition to collecting personal information, the client application 130 may be configured to obtain health information about a dependent, a family member, a pet, and the like. This can help provide accurate and complete information to health care professionals when dependents and family members are unable to provide this information on their own due to age, lack of physical abilities, and so on. This can help health care providers accurately assess, efficiently nurse, and prevent medical accidents from incomplete medical records. As described above, since the history of the pet is also important to the owner and the veterinarian, the client application 130 can be configured to obtain information about the pet. By being able to easily reference this information on the same platform as the user of the client application 130, this information can be used for schools, colleges, international travel, emergencies and other situations.

본 개시서는 의료 서비스 데이터의 맥락에서 다수의 예들을 제공하지만, 본원에 포함된 실시예들은 많은 산업 분야에 적용 가능하다. 예를 들어, 건강 정보는 자동차에 관한 정보를 포함할 수 있다. 정비사는 사람의 스마트 폰 또는 자동차의 컴퓨팅 기기를 포함할 수 있는 클라이언트 기기(106) 상에 제시된 기계 판독 가능 식별자(133)를 스캐닝함으로써 서비스 기록을 볼 수 있다.While the present disclosure provides numerous examples in the context of healthcare data, the embodiments contained herein are applicable to many industrial applications. For example, the health information may include information about the automobile. The mechanic can view the service record by scanning the machine readable identifier 133 presented on the client device 106, which may include a person's smartphone or an automotive computing device.

도 15를 참조하면, 본 개시서의 실시예에 따른 컴퓨팅 환경(103)의 개략적인 블록도가 도시되어있다. 컴퓨팅 환경(103)은 하나 이상의 컴퓨팅 기기들(1500)을 포함한다. 각각의 컴퓨팅 기기(1500)는 예를 들어 로컬 인터페이스(1509)에 연결된 프로세서(1503) 및 메모리(1506)를 갖는 적어도 하나의 프로세서 회로를 포함한다. 이를 위해, 각각의 컴퓨팅 기기(1500)는 예를 들어 적어도 하나의 서버 컴퓨터 또는 유사한 기기를 포함할 수 있다. 로컬 인터페이스(1509)는 수반하는 어드레스/제어 버스를 갖는 데이터 버스 또는 이해될 수 있는 다른 버스 구조를 포함할 수 있다.Referring to FIG. 15, a schematic block diagram of a computing environment 103 in accordance with 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 having a processor 1503 and a memory 1506 coupled to, for example, a local interface 1509. [ To this end, each computing device 1500 may include, for example, at least one server computer or similar device. Local interface 1509 may include a data bus with an accompanying address / control bus or other bus structure that may be understood.

프로세서(1503)에 의해 실행 가능한 몇몇 컴포넌트 및 데이터 모두 메모리(1506)에 저장된다. 특히, 메모리(1506)에 저장되고 프로세서(1503)에 의해 실행 가능한 것은 키 관리 애플리케이션(118), 번역기 서비스(120), 다이렉트 메시징 서비스(122) 및 다른 컴퓨팅 환경 애플리케이션들이다. 또한 메모리(1506)에는 데이터 저장소(115) 및 다른 데이터가 저장될 수 있다. 또한, 운영 체제(1512)는 메모리(1506)에 저장될 수 있고 프로세서(1503)에 의해 실행 가능할 수 있다. 이해될 수 있는 바와 같이, 메모리(1506)에 저장되고 프로세서(1503)에 의해 실행 가능한 다른 애플리케이션들이 존재할 수 있다는 것이 이해된다. All components and data executable by the processor 1503 are all stored in the memory 1506. In particular, key management application 118, translator service 120, direct messaging service 122 and other computing environment applications that are stored in memory 1506 and executable by processor 1503. The memory 1506 may also store the data store 115 and other data. Operating system 1512 may also be stored in memory 1506 and executable by processor 1503. It is understood that there may be other applications stored in the memory 1506 and executable by the processor 1503, as can be appreciated.

도 16을 참조하면, 본 개시서의 일 실시예에 따른 클라이언트 기기(106)의 개략적인 블록도가 도시되어 있다. 각각의 클라이언트 기기(106)는 예를 들어 프로세서(1603) 및 메모리(1606)를 갖는 적어도 하나의 프로세서 회로를 포함하며, 프로세서(1603) 및 메모리(1606) 모두 로컬 인터페이스(1609)에 결합된다. 이를 위해, 각각의 클라이언트 기기(106)는 예를 들어 스마트폰, 태블릿, 개인용 컴퓨터, 또는 다른 유사 기기를 포함할 수 있다. 로컬 인터페이스(1609)는 예를 들어 수반하는 어드레스/제어 버스를 갖는 데이터 버스 또는 이해될 수 있는 다른 버스 구조를 포함할 수 있다.Referring to Figure 16, a schematic block diagram of a client device 106 in accordance with one embodiment of the present disclosure is shown. Each client device 106 includes at least one processor circuit having a processor 1603 and a memory 1606 and both the processor 1603 and the memory 1606 are coupled to the local interface 1609. [ To this end, each client device 106 may include, for example, a smart phone, tablet, personal computer, or other similar device. Local interface 1609 may include, for example, a data bus with an accompanying address / control bus or other bus structure that may be understood.

프로세서(1603)에 의해 실행 가능한 몇몇 컴포넌트 및 데이터 모두 메모리 (1606)에 저장된다. 특히, 메모리(1606)에 저장되고 프로세서(1603)에 의해 실행 가능한 것은 클라이언트 애플리케이션(130) 및 다른 애플리케이션들이다. 또한 메모리(1606)에는 클라이언트 데이터 저장소(1612)(또한 본원에서는 로컬 데이터 저장소라고도 함) 및 다른 데이터가 저장될 수 있다. 또한, 클라이언트 운영체제(1615)는 메모리(1606)에 저장될 수 있고 프로세서(1603)에 의해 실행 가능할 수 있다. 이해될 수 있는 바와 같이, 메모리(1606)에 저장되고 프로세서(1603)에 의해 실행 가능한 다른 애플리케이션들이 존재할 수 있다는 것이 이해된다. All of the components and data executable by processor 1603 are stored in memory 1606. In particular, client application 130 and other applications that are stored in memory 1606 and executable by processor 1603. Also stored in the memory 1606 is a client data store 1612 (also referred to herein as a local data store) and other data. Also, client operating system 1615 may be stored in memory 1606 and executable by processor 1603. It is understood that there may be other applications stored in memory 1606 and executable by processor 1603, as can be appreciated.

도 17을 참조하면, 본 개시서의 실시예에 따른 판독기 기기(109)의 개략적인 블록도가 도시되어있다. 각각의 판독기 기기(109)는 예를 들어 프로세서(1703) 및 메모리(1706)를 갖는 적어도 하나의 프로세서 회로를 포함하며, 프로세서(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 having a processor 1703 and a memory 1706 and both the processor 1703 and the memory 1706 are coupled to the local interface 1709. [ To this end, each reader device 109 may include, for example, a smart phone, tablet, personal computer, or other similar device. Local interface 1709 may include, for example, a data bus having an accompanying address / control bus or other bus structure that may be understood.

프로세서(1703)에 의해 실행 가능한 몇몇 컴포넌트 및 데이터 모두 메모리 (1706)에 저장된다. 특히, 메모리(1706)에 저장되고 프로세서(1703)에 의해 실행 가능한 것은 판독기 애플리케이션(136) 및 다른 애플리케이션들이다. 또한 메모리(1706)에는 판독기 데이터 저장소(1712) 및 다른 데이터가 저장될 수 있다. 또한, 클라이언트 운영체제(1715)는 메모리(1706)에 저장될 수 있고 프로세서(1703)에 의해 실행 가능할 수 있다. 이해될 수 있는 바와 같이, 메모리(1706)에 저장되고 프로세서(1703)에 의해 실행 가능한 다른 애플리케이션들이 존재할 수 있다는 것이 이해된다. All components and data executable by the processor 1703 are all stored in the memory 1706. In particular, those that are stored in memory 1706 and executable by processor 1703 are reader application 136 and other applications. Also stored in memory 1706 is a reader data store 1712 and other data. In addition, the client operating system 1715 may be stored in memory 1706 and executable by processor 1703. It is understood that there may be other applications stored in memory 1706 and executable by processor 1703, as can be appreciated.

본 명세서에 논의된 임의의 컴포넌트가 소프트웨어 형태로 구현되는 경우, 예를 들어 C, C++, C#, Objective C, Java® , JavaScript® , Perl, PHP, Visual Basic®, Python®, Ruby, Flash®, Swift®, 또는 다른 프로그래밍 언어들과 같은 여러 프로그래밍 언어들 중 하나가 사용될 수 있다.Any of the components discussed herein may be implemented in software, for example, C, C ++, C #, Objective C, Java®, JavaScript®, Perl, PHP, Visual Basic®, Python®, Ruby, Flash®, Swift®, or some other programming language.

다수의 소프트웨어 컴포넌트들이 프로세서들에 의해 실행 가능한 메모리에 저장된다. 이 점에서 "실행 가능"이라는 용어는 프로세서에 의해 궁극적으로 실행될 수 있는 포맷의 프로그램 파일을 의미한다. 실행 가능한 프로그램들의 예들은, 예를 들어, 메모리의 랜덤 액세스 부분에 로딩되고 프로세서에 의해 실행될 수 있는 포맷의 기계 코드로 변환될 수 있는 컴파일된 프로그램, 메모리의 랜덤 액세스 부분에 로딩되고 프로세서에 의해 실행될 수 있는 객체 코드와 같은 적절한 포맷으로 표현될 수 있는 소스 코드, 프로세서에 의해 실행될 메모리의 랜덤 액세스 부분에 명령들을 생성하기 위해 다른 실행 가능 프로그램에 의해 해석될 수 있는 소스 코드 등을 포함할 수 있다. 실행 가능 프로그램은 예를 들어, RAM, ROM, 하드 드라이브, SSD, USB 플래시 드라이브, 메모리 카드, 광디스크(예를 들어, CD 또는 DVD), 플로피 디스크, 자기 테이프 또는 다른 메모리 컴포넌트들을 포함하는 메모리의 임의의 부분 또는 컴포넌트에 저장될 수 있다.A number of software components are stored in a memory executable by the processors. In this regard, the term "executable" means a program file in a format that can ultimately be executed by the processor. Examples of executable programs include, for example, compiled programs that are loaded into the random access portion of the memory and can be converted into machine code in a format that can be executed by the processor, programs that are loaded into the random access portion of the memory and executed by the processor Source code that may be represented in a suitable format, such as object code, which may be interpreted by another executable program to generate instructions in a random access portion of memory to be executed by the processor, and the like. An executable program may be stored in a memory including, for example, RAM, ROM, a hard drive, an SSD, a USB flash drive, a memory card, an optical disc (e.g., CD or DVD), a floppy disk, a magnetic tape, Lt; RTI ID = 0.0 > and / or < / RTI >

메모리는 본 명세서에서 휘발성 및 비 휘발성 메모리 및 데이터 저장소 컴포넌트들 모두를 포함하는 것으로 정의된다. 휘발성 컴포넌트들은 전력 손실 시 데이터 값을 보유하지 않는 컴포넌트들이다. 비휘발성 컴포넌트들은 전력 손실 시 데이터를 보유하는 컴포넌트들이다. 따라서, 메모리는 예를 들어 RAM, ROM, 하드 디스크 드라이브, SSD, USB 플래시 드라이브, 메모리 카드 판독기를 통해 액세스되는 메모리 카드, 연관 플로피 디스크 드라이브를 통해 액세스되는 플로피 디스크, 광 디스크 드라이브를 통해 액세스되는 광 디스크, 적절한 테이프 드라이브를 통해 액세스되는 자기 테이프 및/또는 다른 메모리 컴포넌트들, 또는 이러한 메모리 컴포넌트들 중 둘 이상의 임의의 조합을 포함할 수 있다. 또한, RAM은 예를 들어 SRAM(static random access memory), DRAM(dynamic random access memory), MRAM(magnetic random access memory) 및 다른 그러한 기기들을 포함할 수 있다. ROM은 예를 들어 PROM(programmable read-only memory), EPROM(erasable programmable read-only memory), EEPROM(electrically erasable programmable read-only memory), 또는 다른 유사한 메모리 기기를 포함할 수 있다.Memory is defined herein as including both volatile and non-volatile memory and data storage components. Volatile components are components that do not retain data values in the event of power loss. Non-volatile components are components that retain data in the event of power loss. Thus, the memory may be, for example, RAM, ROM, a hard disk drive, an SSD, a USB flash drive, a memory card accessed through a memory card reader, a floppy disk accessed through an associated floppy disk drive, Magnetic tape and / or other memory components accessed through a suitable tape drive, or any combination of two or more of such memory components. The RAM may also include, for example, static random access memory (SRAM), dynamic random access memory (DRAM), magnetic random access memory (MRAM), and other such devices. The ROM may include, for example, a programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM)

또한, 프로세서는 다수의 프로세서들 및/또는 다수의 프로세서 코어들을 나타낼 수 있고, 그리고 메모리는 병렬 프로세싱 회로들에서 각각 동작하는 다수의 메모리들을 나타낼 수 있다. 그러한 경우, 로컬 인터페이스는 임의의 2 개의 다중 프로세서들 사이, 임의의 프로세서와 임의의 메모리 사이, 또는 임의의 2 개의 메모리들 사이 등의 통신을 용이하게 하는 적절한 네트워크일 수 있다. 로컬 인터페이스는, 예를 들어 로드 밸런싱을 수행하는 것을 포함하여, 이러한 통신을 조정하도록 설계된 추가 시스템을 포함할 수 있다. 프로세서는 전기적 또는 기타 이용 가능한 구성일 수 있다.A processor may also represent multiple processors and / or multiple processor cores, and the memory may represent a plurality of memories, each operating in parallel processing circuits. In such a 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 such communications, including, for example, performing load balancing. The processor may be electrically or other available configuration.

본 명세서에 설명된 클라이언트 애플리케이션(130), 판독기 애플리케이션(136), 키 관리 애플리케이션(118) 및 기타 다양한 시스템은 상술한 바와 같이 범용 하드웨어에 의해 실행되는 소프트웨어 또는 코드로 구현될 수 있지만, 대안예로서, 전용 하드웨어 또는 소프트웨어/범용 하드웨어 및 전용 하드웨어의 조합으로 구성될 수도 있다. 전용 하드웨어로 구현된다면, 각각은 다수의 기술 중 임의의 하나 또는 그 조합을 사용하는 회로 또는 상태 기계로서 구현될 수 있다. 이러한 기술들은 하나 이상의 데이터 신호의 인가시 다양한 논리 기능들을 구현하기 위한 논리 게이트들을 갖는 이산 논리 회로들, 적절한 논리 게이트를 갖는 주문형 집적 회로(ASIC), FPGA(field-programmable gate array) 또는 다른 컴포넌트 등을 포함할 수 있지만 이에 제한되지는 않는다. 이러한 기술들은 일반적으로 당업자에게 잘 알려져 있으므로, 본 명세서에서 상세히 설명하지 않는다.The client application 130, reader application 136, key management application 118, and various other systems described herein may be implemented in software or code executed by general purpose hardware as described above, but as an alternative , Dedicated hardware, or a combination of software / general purpose hardware and dedicated hardware. If implemented in dedicated hardware, each may be implemented as a circuit or state machine using any one or a combination of the numerous techniques. These techniques include discrete logic circuits having logic gates for implementing various logic functions upon application of one or more data signals, an application specific integrated circuit (ASIC) with suitable logic gates, a field-programmable gate array (FPGA) But are not limited thereto. These techniques are generally well known to those skilled in the art and are not described in detail herein.

도 6 및 도 10 내지 도 14의 흐름도들은 클라이언트 애플리케이션(130), 판독기 애플리케이션(136) 및 키 관리 애플리케이션(118)의 일부분들의 구현의 기능 및 동작을 도시한다. 소프트웨어로 구현되는 경우, 각 블록은 특정 논리 기능(들)을 구현하기 위한 프로그램 명령어들을 포함하는 모듈, 세그먼트 또는 코드 부분을 나타낼 수 있다. 프로그램 명령들은 컴퓨터 시스템 또는 다른 시스템의 프로세서와 같은 적절한 실행 시스템에 의해 인식 가능한 수치적 명령들을 포함하는 프로그래밍 언어 또는 기계 코드로 기록된 사람이 읽을 수 있는 문장을 포함하는 소스 코드의 형태로 구현될 수 있다. 기계 코드는 소스 코드 등으로부터 변환될 수 있다. 하드웨어로 구현되는 경우, 각 블록은 특정 논리 기능(들)을 구현하기 위해 회로 또는 여러 상호 연결된 회로들을 나타낼 수 있다.6 and 10-14 illustrate the functionality and operation of an implementation of client application 130, reader application 136, and portions of key management application 118. [ When implemented in software, each block may represent a module, segment, or portion of code that includes program instructions for implementing a particular logical function (s). The program instructions may be embodied in the form of source code including a human-readable sentence written in a programming language or machine code containing numerical instructions recognizable by a suitable execution system, such as a computer system or a processor of another system have. The machine code can be converted from a source code or the like. When implemented in hardware, each block may represent a circuit or a plurality of interconnected circuits to implement a particular logic function (s).

도 6 및 도 10 내지 도 14의 흐름도들은 특정 실행 순서를 나타내지만, 실행 순서는 도시된 순서와 다를 수 있음이 이해되어야 한다. 예를 들어, 둘 이상의 블록들의 실행 순서는 도시된 순서에 관하여 스크램블링될 수 있다. 또한, 도 6 및 도 10 내지 도 14에 연속해서 도시된 2개 이상의 블록은 동시에 또는 부분적으로 동시에 실행될 수 있다. 추가로, 일부 실시예들에서, 도 6 및 도 10 내지 도 14에 도시된 하나 이상의 블록들은 건너뛰어지거나 생략될 수 있다. 추가로, 향상된 유틸리티, 어카운팅(accounting), 성능 측정 또는 문제 해결 도구 제공 등의 목적을 위해, 임의의 수의 카운터, 상태 변수, 경고 세마포르(warning semaphore) 또는 메시지들이 본원에 설명된 논리 흐름에 추가될 수 있다. 이러한 모든 변형들은 본 발명의 범위 내에 있음이 이해된다.It should be understood that although the flowcharts of FIGS. 6 and 10-14 show specific execution sequences, the order of execution may differ from the order shown. For example, the order of execution of two or more blocks may be scrambled with respect to the order shown. Further, two or more blocks shown successively in Fig. 6 and Fig. 10 to Fig. 14 can be executed simultaneously or partially at the same time. Additionally, in some embodiments, one or more of the blocks shown in Figures 6 and 10-14 may be skipped or omitted. In addition, any number of counters, status variables, warning semaphores, or messages may be used in the logic flow described herein for purposes such as providing improved utilities, accounting, performance measures, or troubleshooting tools. Can be added. It is understood that all such modifications are within the scope of the present invention.

또한, 소프트웨어 또는 코드를 포함하는 클라이언트 애플리케이션(130), 판독기 애플리케이션(136) 및 키 관리 애플리케이션(118)을 포함하여, 본원에 기술된 임의의 논리 또는 애플리케이션은 예를 들어 컴퓨터 시스템 또는 다른 시스템 내 프로세서 같은 명령 실행 시스템에 의해 또는 명령 실행 시스템과 관련하여 사용하기 위해 임의의 비 일시적인 컴퓨터 판독 가능 매체에 구현될 수 있다. 이러한 의미에서, 논리는 예를 들어 컴퓨터 판독 가능 매체로부터 패치될 수 있고 명령 실행 시스템에 의해 실행될 수 있는 명령(instruction) 및 선언(declaration)을 포함하는 명령문(statement)을 포함할 수 있다. 본 개시서의 내용에서, "컴퓨터 판독 가능 매체"는 명령 실행 시스템에 의해 또는 명령 실행 시스템과 관련하여 사용하기 위해 본 명세서에 기술된 로직 또는 애플리케이션을 포함, 저장 또는 유지할 수 있는 임의의 매체일 수 있다.In addition, any of the logic or applications described herein, including client application 130, reader application 136, and key management application 118, including software or code, may be, for example, And may be implemented in any non-transitory computer readable medium for use by or in connection with the instruction execution system. In this sense, the logic may include, for example, statements that may be fetched from a computer readable medium and include instructions and declarations that may be executed by the instruction execution system. In the context of this disclosure, "computer readable medium" means any medium capable of storing, storing, or maintaining the logic or applications described herein for use by or in connection with an instruction execution system have.

컴퓨터 판독 가능 매체는 예를 들어 자기, 광학 또는 반도체 매체와 같은 많은 물리적 매체 중 임의의 매체를 포함할 수 있다. 적절한 컴퓨터 판독 가능 매체의 보다 구체적인 예들은 자기 테이프, 자기 플로피 디스켓, 자기 하드 드라이브, 메모리 카드, SSD, USB 플래시 드라이브 또는 광학 디스크를 포함하지만 이에 한정되지는 않는다. 또한, 컴퓨터 판독 가능한 매체는 예를 들어 SRAM(static random access memory) 및 DRAM(dynamic random access memory), 또는 MRAM(magnetic random access memory)을 포함하는 RAM일 수 있다. 또한, 컴퓨터 판독 가능 매체는 ROM(read-only memory), PROM(programmable read-only memory), EPROM(erasable programmable read-only memory), EEPROM(electrically erasable programmable read-only memory), 또는 다른 유형의 메모리 기기일 수 있다.Computer readable media can include any of a number of physical media, such as magnetic, optical, or semiconductor media, for example. More specific examples of suitable computer readable media include, but are not limited to, magnetic tape, magnetic floppy diskette, magnetic hard drive, memory card, SSD, USB flash drive or optical disk. The computer-readable medium may also be, for example, a RAM including a static random access memory (SRAM) and a dynamic random access memory (DRAM), or a magnetic random access memory (MRAM). The computer-readable medium may also be embodied as read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM) Device.

또한, 본원에 설명된 임의의 로직 또는 애플리케이션, 클라이언트 애플리케이션(130), 판독기 애플리케이션(136) 및 키 관리 애플리케이션(118)은 다양한 방식으로 구현되고 구성될 수 있다. 예를 들어, 설명된 하나 이상의 애플리케이션들은 단일 애플리케이션의 모듈들 또는 컴포넌트들로서 구현될 수 있다. 또한, 본원에 설명된 하나 이상의 애플리케이션들은 공유 또는 별개의 컴퓨팅 기기들 또는 이들의 조합으로 실행될 수 있다. 예를 들어, 본 명세서에서 설명된 복수의 애플리케이션들은 동일한 컴퓨팅 기기(1500)에서 또는 동일한 컴퓨팅 환경(103) 내의 다수의 컴퓨팅 기기들에서 실행될 수 있다. 추가적으로, "애플리케이션", "서비스", "시스템", "엔진", "모듈" 등과 같은 용어는 상호 교환 가능할 수 있으며, 제한하려는 의도가 아니라는 것을 이해되어야 한다.In addition, any of the logic or applications described herein, the client application 130, the reader application 136, and the key management application 118 may be implemented and configured in various ways. For example, the one or more applications described may be implemented as modules or components of a single application. Additionally, one or more of the applications described herein may be implemented as shared or separate computing devices or a combination thereof. For example, the plurality of applications described herein may be executed in the same computing device 1500 or in multiple computing devices in the same computing environment 103. Additionally, it is to be understood that terms such as "application", "service", "system", "engine", "module" and the like are interchangeable and not intended to be limiting.

"X, Y 또는 Z 중 적어도 하나"라는 구절과 같은 이접적 언어(disjunctive language)는 다른 언급이 없는 한 일반적으로 항목, 용어 등이 X, Y 또는 Z 또는 이들의 임의의 조합(예를 들어, X, Y 및/또는 Z)일 수 있음을 나타내기 위해 일반적으로 사용되는 문맥으로 이해된다. 따라서, 이러한 이접적 언어는 어떤 실시예가 적어도 하나의 X, 적어도 하나의 Y, 또는 적어도 하나의 Z가 각각 존재할 것을 요구한다는 것을 일반적으로 의미하는 것이 아니며, 의미하여서는 안 된다.A disjunctive language, such as the phrase "at least one of X, Y, or Z ", is used to denote an item, term, etc., in general, unless otherwise stated, X, Y, or Z, or any combination thereof (e.g., X, Y, and / or Z). ≪ / RTI > Thus, this disjunctive language does not generally mean and should not mean that an embodiment requires that there be at least one X, at least one Y, or at least one Z, respectively.

전술된 본 발명의 실시예들은 본 발명의 원리들의 명확한 이해를 위해 설명된 가능한 구현 예들일 뿐이라는 것이 강조되어야 한다. 본 발명의 사상 및 원리를 실질적으로 벗어나지 않으면서 상술한 실시예(들)에 많은 변형 및 수정이 이루어질 수 있다.It should be emphasized that the embodiments of the present invention described above are only possible implementations for a clear understanding of the principles of the invention. Many variations and modifications may be made to the above-described embodiment (s) without substantially departing from the spirit and principles of the invention.

항목 1. 시스템으로서, 시스템은 :Item 1. As system, the system is:

적어도 하나의 하드웨어 프로세서를 포함하는 클라이언트 기기; 및A client device comprising at least one hardware processor; And

상기 클라이언트 기기에서 실행 가능한 클라이언트 애플리케이션을 포함하며,A client application executable on the client device,

상기 클라이언트 애플리케이션은 실행 시에 상기 클라이언트 기기로 하여금 :Wherein the client application, upon execution, causes the client device to:

네트워크를 통해 제1 기기 프로파일과 연관된 제1 암호화 키 및 제2 기기 프로파일과 연관된 제2 암호화 키를 수신하게 하며; Receive a first encryption key associated with a first device profile and a second encryption key associated with a second device profile over a network;

상기 클라이언트 기기의 데이터 저장소에서, 상기 클라이언트 애플리케이션에 의해 생성된 적어도 하나의 사용자 인터페이스를 통해 제공된 입력 데이터에 액세스하게 하며; In the data store of the client device, accessing input data provided via at least one user interface generated by the client application;

상기 입력 데이터를 적어도 제1 데이터 부분 및 제2 데이터 부분으로 포맷팅하게 하며; Format the input data into at least a first data portion and a second data portion;

상기 제1 암호화 키를 사용하여 상기 제1 데이터 부분을 암호화하고 상기 제2 암호화 키를 사용하여 상기 제2 데이터 부분을 암호화하게 하며; 그리고 Encrypt the first data portion using the first encryption key and encrypt the second data portion using the second encryption key; And

상기 클라이언트 기기에 의해 액세스 가능한 디스플레이에서 렌더링하기 위해, 상기 암호화된 제1 데이터 부분 및 암호화된 제2 데이터 부분을 사용하여 기계 판독 가능한 식별자를 생성하게 하는; 프로그램 명령들을 포함하는, 시스템. To generate a machine readable identifier using the encrypted first data portion and the encrypted second data portion to render on a display accessible by the client device; Program instructions.

항목 2. 항목 1에 있어서,Item 2. In Item 1,

상기 기계 판독 가능한 식별자는 제1 기계 판독 가능한 식별자이며, 그리고The machine readable identifier is a first machine readable identifier, and

상기 클라이언트 애플리케이션은 실행 시에 상기 클라이언트 기기로 하여금 :Wherein the client application, upon execution, causes the client device to:

상기 클라이언트 기기와 통신하는 카메라에 의해 캡처된 이미지에서, 상기 클라이언트 기기와 상이한 기기에 의해 생성된 제2 기계 판독 가능한 식별자를 식별하게 하며; Identify, in an image captured by a camera in communication with the client device, a second machine-readable identifier generated by a device different from the client device;

상기 제2 기계 판독 가능한 식별자로부터 암호화된 데이터를 식별하게 하며; Identify encrypted data from the second machine-readable identifier;

상기 제1 암호화 키 또는 상기 제2 암호화 키를 사용하여 상기 암호화된 데이터를 해독하여, 해독된 데이터를 식별하게 하며; 그리고 Decrypt the encrypted data using the first encryption key or the second encryption key to identify decrypted data; And

상기 클라이언트 애플리케이션에 의한 액세스를 위해 상기 데이터 저장소에 상기 해독된 데이터를 저장하게 하는; 프로그램 명령들을 더 포함하는, 시스템. Store the decrypted data in the data store for access by the client application; ≪ / RTI > further comprising program instructions.

항목 3. 항목 2에 있어서,Item 3. In item 2,

상기 데이터 저장소에 상기 해독된 데이터를 저장하는 것은 :Storing the decrypted data in the data store comprises:

상기 데이터 저장소에 저장된 입력 데이터와 상기 해독된 데이터 간에 충돌이 존재하는지 여부를 식별하는 것; 및 Identifying whether there is a conflict between the input data stored in the data store and the decrypted data; And

상기 데이터 저장소에 저장된 입력 데이터 대신에 상기 해독된 데이터를 저장하는 것;을 더 포함하는, 시스템. Further comprising storing the decrypted data instead of input data stored in the data store.

항목 4. 항목 1에 있어서,Item 4. In Item 1,

상기 제1 암호화 키가 저장된 상기 제1 기기 프로파일과 연관된 제1 판독기 기기; 및A first reader device associated with the first device profile in which the first encryption key is stored; And

상기 제2 암호화 키가 저장된 상기 제2 기기 프로파일과 연관된 제2 판독기 기기를 더 포함하며,And a second reader device associated with the second device profile in which the second encryption key is stored,

상기 제1 판독기 기기는 상기 제1 암호화 키를 사용하여 상기 기계 판독 가능한 식별자에서 상기 제1 데이터 부분에 액세스하도록 구성되며,Wherein the first reader device is configured to access the first data portion in the machine readable identifier using the first encryption key,

상기 제2 판독기 기기는 상기 제2 암호화 키를 사용하여 상기 기계 판독 가능한 식별자에서 상기 제2 데이터 부분에 액세스하도록 구성되는, 시스템.And the second reader device is configured to access the second data portion in the machine readable identifier using the second encryption key.

항목 5. 항목 4에 있어서,Item 5. In item 4,

상기 제1 판독기 기기는 제1 이미징 기기를 포함하며,Wherein the first reader device comprises a first imaging device,

상기 제2 판독기 기기는 제2 이미징 기기를 포함하고,Wherein the second reader device comprises a second imaging device,

상기 기계 판독 가능한 식별자는 상기 제1 이미징 기기 또는 상기 제2 이미징 기기에 의해 캡처되는, 시스템.Wherein the machine readable identifier is captured by the first imaging device or the second imaging device.

항목 6. 항목 1에 있어서,Item 6. In Item 1,

상기 클라이언트 애플리케이션은 실행 시에 상기 클라이언트 기기로 하여금 상기 클라이언트 기기와 상이한 다른 클라이언트 기기에게 상기 기계 판독 가능한 식별자를 발송하게 하는 프로그램 명령들을 더 포함하는, 시스템.Wherein the client application further comprises program instructions that, when executed, cause the client device to dispatch the machine readable identifier to another client device that is different than the client device.

항목 7. 항목 1에 있어서,Item 7. In Item 1,

상기 기계 판독 가능한 식별자는 상기 입력 데이터로부터 해독된 데이터를 사용하여 생성되는, 시스템.Wherein the machine readable identifier is generated using decrypted data from the input data.

항목 8. 항목 1에 있어서,Item 8. In Item 1,

상기 제1 기기 프로파일과 연관된 제1 암호화 키는 상기 클라이언트 기기에서 이루어진 제1 기기 프로파일의 선택에 응답하여, 네트워크를 통해 적어도 하나의 원격 컴퓨팅 기기로부터 상기 클라이언트 기기에 의해 수신되며, 그리고 상기 제2 기기 프로파일과 연관된 제2 암호화 키는 상기 클라이언트 기기에서 이루어진 제2 기기 프로파일의 선택에 응답하여, 네트워크를 통해 적어도 하나의 원격 컴퓨팅 기기로부터 상기 클라이언트 기기에 의해 수신되는, 시스템.Wherein a first encryption key associated with the first device profile is received by the client device from at least one remote computing device over the network in response to the selection of a first device profile made at the client device, Wherein the second encryption key associated with the profile is received by the client device from at least one remote computing device over the network in response to the selection of the second device profile made at the client device.

항목 9. 항목 1에 있어서,Item 9. In Item 1,

상기 제1 암호화 키를 사용하여 상기 제1 데이터 부분을 암호화하고 상기 제2 암호화 키를 사용하여 상기 제2 데이터 부분을 암호화하는 것은 :Encrypting the first data portion using the first encryption key and encrypting the second data portion using the second encryption key comprises:

상기 제1 데이터 부분과 연관된 제1 액세스 레벨을 식별하는 것; Identifying a first access level associated with the first data portion;

상기 제2 데이터 부분과 연관된 제2 액세스 레벨을 식별하는 것; Identifying a second access level associated with the second data portion;

상기 제1 액세스 레벨에 적어도 부분적으로 기초하여 상기 제1 암호화 키를 사용하여 상기 제1 데이터 부분을 암호화하는 것; 및 Encrypting the first data portion using the first encryption key based at least in part on the first access level; And

상기 제2 액세스 레벨에 적어도 부분적으로 기초하여 상기 제2 암호화 키를 사용하여 상기 제2 데이터 부분을 암호화하는 것;을 더 포함하며, Further comprising encrypting the second data portion using the second encryption key based at least in part on the second access level,

상기 제1 액세스 레벨은 상기 제2 액세스 레벨과 상이한, 시스템.The first access level being different from the second access level.

항목 10. 항목 1에 있어서,Item 10. In Item 1,

상기 기계 판독 가능한 식별자는 QR(quick-response) 코드 또는 바코드인, 시스템.Wherein the machine readable identifier is a quick-response (QR) code or bar code.

항목 11. 컴퓨터로 구현되는 방법으로서,Item 11. A computer-implemented method,

적어도 하나의 하드웨어 프로세서를 포함하는 클라이언트 기기에 의해, 네트워크를 통해 제1 기기 프로파일과 연관된 제1 암호화 키 및 제2 기기 프로파일과 연관된 제2 암호화 키를 수신하는 단계;Receiving, by a client device including at least one hardware processor, a first encryption key associated with a first device profile and a second encryption key associated with a second device profile over a network;

상기 클라이언트 기기에 의해 상기 클라이언트 기기의 데이터 저장소에서 입력 데이터에 액세스하는 단계로서, 상기 입력 데이터는 상기 클라이언트 기기 상에서 실행 가능한 클라이언트 애플리케이션에 의해 생성된 적어도 하나의 사용자 인터페이스를 통해 제공되는, 단계;Accessing input data in a data store of the client device by the client device, the input data being provided through at least one user interface generated by a client application executable on the client device;

상기 클라이언트 기기에 의해, 상기 입력 데이터를 적어도 제1 데이터 부분 및 제2 데이터 부분으로 포맷팅하는 단계;Formatting, by the client device, the input data into at least a first data portion and a second data portion;

상기 클라이언트 기기에 의해, 상기 제1 암호화 키를 사용하여 상기 제1 데이터 부분을 암호화하고 상기 제2 암호화 키를 사용하여 상기 제2 데이터 부분을 암호화하는 단계; 및Encrypting, by the client device, the first data portion using the first encryption key and the second data portion using the second encryption key; And

상기 클라이언트 기기에 의해, 상기 클라이언트 기기에 의해 액세스 가능한 디스플레이에서 렌더링하기 위해, 상기 암호화된 제1 데이터 부분 및 암호화된 제2 데이터 부분을 사용하여 기계 판독 가능한 식별자를 생성하는 단계;를 포함하는, 컴퓨터로 구현되는 방법.Generating by the client device a machine readable identifier using the encrypted first data portion and the encrypted second data portion to render on a display accessible by the client device, .

항목 12. 항목 11에 있어서,Item 12. The method according to item 11,

상기 기계 판독 가능한 식별자는 제1 기계 판독 가능한 식별자이며, 그리고The machine readable identifier is a first machine readable identifier, and

상기 방법은 :The method comprising:

상기 클라이언트 기기에 의해, 상기 클라이언트 기기와 통신하는 카메라에 의해 캡처된 이미지에서 제2 기계 판독 가능한 식별자를 식별하는 단계로서, 상기 제2 기계 판독 가능한 식별자는 상기 클라이언트 기기와 상이한 기기에 의해 생성되는 단계; Identifying, by the client device, a second machine-readable identifier in an image captured by a camera in communication with the client device, wherein the second machine-readable identifier is generated by a device different from the client device ;

상기 클라이언트 기기에 의해, 상기 제2 기계 판독 가능한 식별자로부터 암호화된 데이터를 식별하는 단계; Identifying, by the client device, encrypted data from the second machine-readable identifier;

상기 클라이언트 기기에 의해, 상기 제1 암호화 키 또는 상기 제2 암호화 키를 사용하여 상기 암호화된 데이터를 해독하여 해독된 데이터를 식별하는 단계; 그리고 Decrypting the encrypted data by the client device using the first encryption key or the second encryption key to identify decrypted data; And

상기 클라이언트 기기에 의해, 상기 클라이언트 애플리케이션에 의한 액세스를 위해 상기 데이터 저장소에 상기 해독된 데이터를 저장하는 단계;를 더 포함하는, 컴퓨터로 구현되는 방법. And storing the decrypted data in the data store for access by the client application by the client device.

항목 13. 항목 12에 있어서,Item 13. The method according to item 12,

상기 데이터 저장소에 상기 해독된 데이터를 저장하는 단계는 :Wherein storing the decrypted data in the data store comprises:

상기 클라이언트 기기에 의해, 상기 데이터 저장소에 저장된 입력 데이터와 상기 해독된 데이터 간에 충돌이 존재하는지 여부를 식별하는 단계; 및 Identifying, by the client device, whether there is a conflict between input data stored in the data store and the decrypted data; And

상기 클라이언트 기기에 의해, 상기 데이터 저장소에 저장된 입력 데이터 대신에 상기 해독된 데이터를 저장하는 단계;를 더 포함하는, 컴퓨터로 구현되는 방법. And storing, by the client device, the decrypted data instead of the input data stored in the data store.

항목 14. 항목 11에 있어서,Item 14. The method according to item 11,

제1 판독기 기기에 의해, 상기 제1 암호화 키를 사용하여 상기 기계 판독 가능한 식별자에서 상기 제1 데이터 부분에 액세스하는 단계로서, 상기 제1 판독기 기기는 상기 제1 기기 프로파일과 연관되며 상기 제1 암호화 키가 저장되어 있는, 단계; 및Accessing the first data portion from the machine readable identifier using the first encryption key by a first reader device, the first reader device being associated with the first device profile, The key is stored; And

제2 판독기 기기에 의해, 상기 제2 암호화 키를 사용하여 상기 기계 판독 가능한 식별자에서 상기 제2 데이터 부분에 액세스하는 단계로서, 상기 제2 판독기 기기는 상기 제2 기기 프로파일과 연관되며 상기 제2 암호화 키가 저장되어 있는, 단계;를 더 포함하는, 컴퓨터로 구현되는 방법.Accessing the second data portion from the machine readable identifier using the second encryption key by a second reader device, the second reader device being associated with the second device profile, And wherein the key is stored.

항목 15. 항목 14에 있어서,Item 15. The method according to item 14,

상기 제1 판독기 기기는 제1 이미징 기기를 포함하며,Wherein the first reader device comprises a first imaging device,

상기 제2 판독기 기기는 제2 이미징 기기를 포함하고,Wherein the second reader device comprises a second imaging device,

상기 기계 판독 가능한 식별자는 상기 제1 이미징 기기 또는 상기 제2 이미징 기기에 의해 캡처되는, 컴퓨터로 구현되는 방법.Wherein the machine readable identifier is captured by the first imaging device or the second imaging device.

항목 16. 항목 11에 있어서,Item 16. The method according to item 11,

상기 클라이언트 기기에 의해, 네트워크를 통해 상기 클라이언트 기기와 상이한 다른 클라이언트 기기에게 상기 기계 판독 가능한 식별자를 발송하는 단계를 더 포함하는, 컴퓨터로 구현되는 방법.Further comprising the step of sending the machine readable identifier by the client device to another client device that is different than the client device over the network.

항목 17. 항목 11에 있어서,Item 17. The method according to item 11,

상기 기계 판독 가능한 식별자는 상기 입력 데이터로부터 해독된 데이터를 사용하여 생성되는, 컴퓨터로 구현되는 방법.Wherein the machine readable identifier is generated using decrypted data from the input data.

항목 18. 항목 11에 있어서,Item 18. The method according to item 11,

상기 제1 기기 프로파일과 연관된 제1 암호화 키는 상기 클라이언트 기기에서 이루어진 제1 기기 프로파일의 선택에 응답하여, 네트워크를 통해 적어도 하나의 원격 컴퓨팅 기기로부터 상기 클라이언트 기기에 의해 수신되며, 그리고 Wherein a first encryption key associated with the first device profile is received by the client device from at least one remote computing device over the network in response to the selection of the first device profile made at the client device,

상기 제2 기기 프로파일과 연관된 제2 암호화 키는 상기 클라이언트 기기에서 이루어진 제2 기기 프로파일의 선택에 응답하여, 네트워크를 통해 적어도 하나의 원격 컴퓨팅 기기로부터 상기 클라이언트 기기에 의해 수신되는, 컴퓨터로 구현되는 방법.Wherein the second encryption key associated with the second device profile is received by the client device from at least one remote computing device over the network in response to the selection of the second device profile made at the client device, .

항목 19. 항목 11에 있어서,Item 19. The method according to item 11,

상기 제1 암호화 키를 사용하여 상기 제1 데이터 부분을 암호화하고 상기 제2 암호화 키를 사용하여 상기 제2 데이터 부분을 암호화하는 단계는 :Wherein encrypting the first data portion using the first encryption key and encrypting the second data portion using the second encryption key comprises:

상기 클라이언트 기기에 의해, 상기 제1 데이터 부분과 연관된 제1 액세스 레벨을 식별하는 단계; Identifying, by the client device, a first access level associated with the first data portion;

상기 클라이언트 기기에 의해, 상기 제2 데이터 부분과 연관된 제2 액세스 레벨을 식별하는 단계; Identifying, by the client device, a second access level associated with the second data portion;

상기 클라이언트 기기에 의해, 상기 제1 액세스 레벨에 적어도 부분적으로 기초하여 상기 제1 암호화 키를 사용하여 상기 제1 데이터 부분을 암호화하는 단계; 및 Encrypting, by the client device, the first data portion using the first encryption key based at least in part on the first access level; And

상기 클라이언트 기기에 의해, 상기 제2 액세스 레벨에 적어도 부분적으로 기초하여 상기 제2 암호화 키를 사용하여 상기 제2 데이터 부분을 암호화하는 단계;를 더 포함하며, Further comprising: encrypting, by the client device, the second data portion using the second encryption key based at least in part on the second access level,

상기 제1 액세스 레벨은 상기 제2 액세스 레벨과 상이한, 컴퓨터로 구현되는 방법.Wherein the first access level is different from the second access level.

항목 20. 항목 11에 있어서,Item 20. The method according to item 11,

상기 기계 판독 가능한 식별자는 QR(quick-response) 코드 또는 바코드인, 컴퓨터로 구현되는 방법.Wherein the machine readable identifier is a quick-response (QR) code or bar code.

항목 21. 시스템으로서, 상기 시스템은 :Item 21. A system, comprising:

적어도 하나의 하드웨어 프로세서를 포함하는 클라이언트 기기; 및A client device comprising at least one hardware processor; And

상기 클라이언트 기기에서 실행 가능한 클라이언트 애플리케이션;을 포함하며,And a client application executable on the client device,

상기 클라이언트 애플리케이션은 실행 시에 상기 클라이언트 기기로 하여금 :Wherein the client application, upon execution, causes the client device to:

상기 클라이언트 기기의 디스플레이에 렌더링하기 위해 적어도 하나의 암호화 키를 사용하여 암호화된 제1 양의 데이터를 사용하여 제1 기계 판독 가능한 식별자를 생성하게 하며, 상기 적어도 하나의 암호화 키가 저장된 판독기 기기는 상기 데이터를 해독하도록 구성되며; Wherein the at least one encryption key is used to generate a first machine readable identifier using a first amount of data encrypted using at least one encryption key to render on a display of the client device, Configured to decrypt the data;

상기 클라이언트 기기에 의해 캡처된 적어도 하나의 이미지에서 제2 기계 판독 가능한 식별자를 식별하게 하며; Identify a second machine-readable identifier in at least one image captured by the client device;

상기 적어도 하나의 암호화 키를 사용하여 상기 판독기 기기에 의해 암호화된 제2 양의 데이터를 식별하기 위해 상기 제2 기계 판독 가능한 식별자를 디코딩하게 하며; To decode the second machine-readable identifier to identify a second amount of data encrypted by the reader device using the at least one encryption key;

상기 적어도 하나의 암호화 키를 사용하여 상기 제2 양의 데이터를 해독하게 하며; 그리고 To decrypt the second amount of data using the at least one encryption key; And

상기 제1 양의 데이터 및 상기 제2 양의 데이터 간에 충돌이 존재하는지 여부를 식별하게 하는; 프로그램 명령들을 포함하는, 시스템. To identify whether there is a conflict between the first amount of data and the second amount of data; Program instructions.

항목 22. 항목 21에 있어서,Item 22. The method according to item 21,

상기 클라이언트 애플리케이션은 실행 시에 상기 클라이언트 기기로 하여금 상기 제1 양의 데이터 및 상기 제2 양의 데이터 간에 존재하는 충돌에 응답하여, 상기 충돌을 해결하는 작업을 수행하게 하는 프로그램 명령들을 더 포함하는, 시스템.Wherein the client application further comprises program instructions that, when executed, cause the client device to perform an operation to resolve the conflict in response to a conflict existing between the first amount of data and the second amount of data. system.

항목 23. 항목 21에 있어서,Item 23. The method according to item 21,

상기 충돌은 판독기 기기가 제1 양의 데이터를 변경하여 제2 양의 데이터를 생성하는 것에 응답하여 식별되는, 시스템.Wherein the collision is identified in response to the reader device modifying the first amount of data to generate a second amount of data.

항목 24. 항목 22에 있어서,Item 24. The method according to item 22,

상기 작업은 :The task is:

상기 충돌과 연관된 정보를 상기 클라이언트 애플리케이션의 사용자 인터페이스에 표시하는 것; Displaying information associated with the conflict on a user interface of the client application;

상기 사용자 인터페이스에서 상기 제1 양의 데이터 또는 상기 제2 양의 데이터의 선택을 수신하는 것; 및 Receiving a selection of the first amount of data or the second amount of data in the user interface; And

상기 선택에 응답하여, 선택된 제1 양의 데이터 또는 선택된 제2 양의 데이터를 이용하여 상기 클라이언트 기기의 데이터 저장소를 업데이트하는 것; 을 포함하는, 시스템. In response to the selection, updating the data store of the client device using the selected first amount of data or the selected second amount of data; . ≪ / RTI >

항목 25. 항목 22에 있어서,Item 25. The method according to item 22,

상기 작업은 상기 제2 양의 데이터를 이용하여 상기 클라이언트 기기의 데이터 저장소를 업데이트하는 것을 포함하는, 시스템. Wherein the operation comprises updating the data store of the client device using the second amount of data.

항목 26. 항목 21에 있어서,Item 26. The method according to item 21,

상기 클라이언트 애플리케이션은 실행 시에 상기 클라이언트 기기로 하여금 상기 제2 양의 데이터의 적어도 일부분을 이용하여 상기 클라이언트 애플리케이션 내의 사용자 인터페이스의 적어도 하나의 필드를 채우게 하는 프로그램 명령들을 더 포함하는, 시스템.Wherein the client application further comprises program instructions for causing the client device to fill at least one field of a user interface in the client application using at least a portion of the second amount of data at runtime.

항목 27. 항목 21에 있어서,Item 27. The method according to item 21,

적어도 하나의 암호화 키를 사용하여 암호화된 제1 양의 데이터는 수집 프로세스 동안 획득된 사용자 입력의 제1 부분 및 사용자 입력의 제2 부분을 더 포함하며,Wherein the first amount of data encrypted using at least one encryption key further comprises a first portion of user input obtained during the acquisition process and a second portion of user input,

상기 사용자 입력의 제1 부분은 상기 판독기 기기에 의해 액세스 가능한 제1 암호화 키를 사용하여 암호화되며,Wherein a first portion of the user input is encrypted using a first encryption key accessible by the reader device,

상기 사용자 입력의 제2 부분은 상기 판독기 기기에 의해 액세스 가능하지 않은 제2 암호화 키를 사용하여 암호화되는, 시스템.Wherein the second portion of the user input is encrypted using a second encryption key that is not accessible by the reader device.

항목 28. 항목 21에 있어서,Item 28. The method according to item 21,

상기 기계 판독 가능한 식별자는 QR(quick-response) 코드 또는 바코드인, 시스템.Wherein the machine readable identifier is a quick-response (QR) code or bar code.

항목 29. 항목 21에 있어서,Item 29. The method according to item 21,

상기 클라이언트 애플리케이션은 실행 시에 상기 클라이언트 기기로 하여금 네트워크를 통해 원격 컴퓨팅 환경에서 실행하는 원격 애플리케이션으로부터 적어도 하나의 암호화 키를 수신하게 하는 프로그램 명령들을 더 포함하는, 시스템.Wherein the client application further comprises program instructions for causing the client device, upon execution, to receive at least one encryption key from a remote application executing in a remote computing environment over the network.

항목 30. 항목 29에 있어서,Item 30. The method according to item 29,

상기 원격 컴퓨팅 환경에서 실행하는 원격 애플리케이션은 네트워크를 통해 상기 판독기 기기에게 상기 적어도 하나의 암호화 키를 발송하도록 구성되는, 시스템.Wherein the remote application executing in the remote computing environment is configured to send the at least one encryption key to the reader device via the network.

항목 31. 컴퓨터로 구현되는 방법으로서,Item 31. A computer-implemented method,

적어도 하나의 하드웨어 프로세서를 포함하는 클라이언트 기기에 의해, 상기 클라이언트 기기의 디스플레이에 렌더링하기 위해 적어도 하나의 암호화 키를 사용하여 암호화된 제1 양의 데이터를 사용하여 제1 기계 판독 가능한 식별자를 생성하는 단계로서, 상기 적어도 하나의 암호화 키가 저장된 판독기 기기는 상기 데이터를 해독하도록 구성되는, 단계;Generating a first machine readable identifier using a first amount of data encrypted using at least one encryption key for rendering on a display of the client device by a client device comprising at least one hardware processor, Wherein the reader device in which the at least one encryption key is stored is configured to decrypt the data;

상기 클라이언트 기기에 의해, 상기 클라이언트 기기에 의해 캡처된 적어도 하나의 이미지에서 제2 기계 판독 가능한 식별자를 식별하는 단계; Identifying, by the client device, a second machine-readable identifier in at least one image captured by the client device;

상기 클라이언트 기기에 의해, 상기 적어도 하나의 암호화 키를 사용하여 상기 판독기 기기에 의해 암호화된 제2 양의 데이터를 식별하기 위해 상기 제2 기계 판독 가능한 식별자를 디코딩하는 단계; Decoding, by the client device, the second machine-readable identifier to identify a second amount of data encrypted by the reader device using the at least one encryption key;

상기 클라이언트 기기에 의해, 상기 적어도 하나의 암호화 키를 사용하여 상기 제2 양의 데이터를 해독하는 단계; 및 Decrypting the second amount of data by the client device using the at least one encryption key; And

상기 클라이언트 기기에 의해, 상기 제1 양의 데이터 및 상기 제2 양의 데이터 간에 충돌이 존재하는지 여부를 식별하는 단계;를 포함하는, 컴퓨터로 구현되는 방법. And identifying, by the client device, whether a conflict exists between the first amount of data and the second amount of data.

항목 32. 항목 31에 있어서,Item 32. The method according to item 31,

상기 제1 양의 데이터 및 상기 제2 양의 데이터 간에 존재하는 충돌에 응답하여, 상기 클라이언트 기기에 의해, 상기 충돌을 해결하는 작업을 수행하는 단계를 더 포함하는, 컴퓨터로 구현되는 방법.Further comprising: performing, by the client device, an operation to resolve the conflict in response to a conflict existing between the first amount of data and the second amount of data.

항목 33. 항목 31에 있어서,Item 33. The method according to item 31,

상기 충돌은 판독기 기기가 제1 양의 데이터를 변경하여 제2 양의 데이터를 생성하는 것에 응답하여 식별되는, 컴퓨터로 구현되는 방법.Wherein the collision is identified in response to the reader device modifying the first amount of data to generate a second amount of data.

항목 34. 항목 32에 있어서,Item 34. The method according to item 32,

상기 작업은 :The task is:

상기 클라이언트 기기에 의해, 상기 충돌과 연관된 정보를 상기 클라이언트 애플리케이션의 사용자 인터페이스에 표시하는 것; Displaying, by the client device, information associated with the conflict in a user interface of the client application;

상기 클라이언트 기기에 의해, 상기 사용자 인터페이스에서 이루어진 상기 제1 양의 데이터 또는 상기 제2 양의 데이터의 선택을 수신하는 것; 및 Receiving, by the client device, the selection of the first amount of data or the second amount of data in the user interface; And

식별된 선택에 응답하여, 상기 클라이언트 기기에 의해, 선택된 제1 양의 데이터 또는 선택된 제2 양의 데이터를 이용하여 상기 클라이언트 기기의 데이터 저장소를 업데이트하는 것; 을 포함하는, 컴퓨터로 구현되는 방법. Updating, by the client device, the data store of the client device using the selected first amount of data or the selected second amount of data in response to the identified selection; ≪ / RTI >

항목 35. 항목 32에 있어서,Item 35. The method according to item 32,

상기 작업은 상기 클라이언트 기기에 의해, 상기 제2 양의 데이터를 이용하여 상기 클라이언트 기기의 데이터 저장소를 업데이트하는 것을 포함하는, 컴퓨터로 구현되는 방법.Wherein the operation comprises updating, by the client device, the data store of the client device using the second amount of data.

항목 36. 항목 31에 있어서,Item 36. The method of item 31,

상기 클라이언트 기기에 의해, 상기 제2 양의 데이터의 적어도 일부분을 이용하여 상기 클라이언트 애플리케이션 내의 사용자 인터페이스의 적어도 하나의 필드를 채우는 단계를 더 포함하는, 컴퓨터로 구현되는 방법.Further comprising: filling, by the client device, at least a portion of the user interface in the client application using at least a portion of the second amount of data.

항목 37. 항목 31에 있어서,Item 37. The method according to item 31,

적어도 하나의 암호화 키를 사용하여 암호화된 제1 양의 데이터는 수집 프로세스 동안 획득된 사용자 입력의 제1 부분 및 사용자 입력의 제2 부분을 더 포함하며,Wherein the first amount of data encrypted using at least one encryption key further comprises a first portion of user input obtained during the acquisition process and a second portion of user input,

상기 사용자 입력의 제1 부분은 상기 판독기 기기에 의해 액세스 가능한 제1 암호화 키를 사용하여 암호화되며,Wherein a first portion of the user input is encrypted using a first encryption key accessible by the reader device,

상기 사용자 입력의 제2 부분은 상기 판독기 기기에 의해 액세스 가능하지 않은 제2 암호화 키를 사용하여 암호화되는, 컴퓨터로 구현되는 방법.And wherein the second portion of the user input is encrypted using a second encryption key that is not accessible by the reader device.

항목 38. 항목 31에 있어서,Item 38. The method according to item 31,

상기 기계 판독 가능한 식별자는 QR(quick-response) 코드 또는 바코드인, 컴퓨터로 구현되는 방법.Wherein the machine readable identifier is a quick-response (QR) code or bar code.

항목 39. 항목 31에 있어서,Item 39. The method according to item 31,

상기 클라이언트 기기에 의해, 네트워크를 통해 원격 컴퓨팅 환경에서 실행하는 원격 애플리케이션으로부터 적어도 하나의 암호화 키를 수신하는 단계를 더 포함하는, 컴퓨터로 구현되는 방법.Further comprising receiving, by the client device, at least one encryption key from a remote application executing in a remote computing environment over the network.

항목 40. 항목 39에 있어서,Item 40. The method according to item 39,

상기 원격 컴퓨팅 환경에서 실행하는 원격 애플리케이션은 네트워크를 통해 상기 판독기 기기에게 상기 적어도 하나의 암호화 키를 발송하도록 구성되는, 컴퓨터로 구현되는 방법.Wherein the remote application executing in the remote computing environment is configured to send the at least one encryption key to the reader device via the network.

Claims (15)

적어도 하나의 하드웨어 프로세서를 포함하는 클라이언트 기기; 및
상기 클라이언트 기기에서 실행 가능한 클라이언트 애플리케이션;을 포함하며,
상기 클라이언트 애플리케이션은 실행 시에 상기 클라이언트 기기로 하여금 :
네트워크를 통해 제1 기기 프로파일과 연관된 제1 암호화 키 및 제2 기기 프로파일과 연관된 제2 암호화 키를 수신하는 단계;
상기 클라이언트 기기의 데이터 저장소에서 입력 데이터에 액세스하는 단계로서, 상기 입력 데이터는 상기 클라이언트 애플리케이션에 의해 생성된 적어도 하나의 사용자 인터페이스를 통해 제공되는, 단계;
상기 입력 데이터를 적어도 제1 데이터 부분 및 제2 데이터 부분으로 포맷팅하는 단계;
상기 제1 암호화 키를 사용하여 상기 제1 데이터 부분을 암호화하고 상기 제2 암호화 키를 사용하여 상기 제2 데이터 부분을 암호화하는 단계; 및
상기 클라이언트 기기에 의해 액세스 가능한 디스플레이에서 렌더링하기 위해, 상기 암호화된 제1 데이터 부분 및 암호화된 제2 데이터 부분을 사용하여 기계 판독 가능한 식별자를 생성하는 단계;를 수행하게 하는 프로그램 명령들을 포함하며,
상기 기계 판독 가능한 식별자는 QR(quick-response) 코드 또는 바코드인, 시스템.
A client device comprising at least one hardware processor; And
And a client application executable on the client device,
Wherein the client application, upon execution, causes the client device to:
Receiving a first encryption key associated with a first device profile and a second encryption key associated with a second device profile over a network;
Accessing input data in a data store of the client device, the input data being provided through at least one user interface generated by the client application;
Formatting the input data into at least a first data portion and a second data portion;
Encrypting the first data portion using the first encryption key and encrypting the second data portion using the second encryption key; And
Generating a machine readable identifier using the encrypted first data portion and the encrypted second data portion to render on a display accessible by the client device,
Wherein the machine readable identifier is a quick-response (QR) code or bar code.
청구항 1에 있어서,
상기 기계 판독 가능한 식별자는 제1 기계 판독 가능한 식별자이며,
상기 클라이언트 애플리케이션은 실행 시에 상기 클라이언트 기기로 하여금 :
상기 클라이언트 기기와 통신하는 카메라에 의해 캡처된 이미지에서 제2 기계 판독 가능한 식별자를 식별하는 단계로서, 상기 제2 기계 판독 가능한 식별자는 상기 클라이언트 기기와 상이한 기기에 의해 생성되는, 단계;
상기 제2 기계 판독 가능한 식별자로부터 암호화된 데이터를 식별하는 단계;
상기 제1 암호화 키 또는 상기 제2 암호화 키를 사용하여 상기 암호화된 데이터의 양을 해독하여, 해독된 데이터를 식별하는 단계; 및
상기 클라이언트 애플리케이션에 의한 액세스를 위해 상기 데이터 저장소에 상기 해독된 데이터를 저장하는 단계;를 수행하게 하는 프로그램 명령들을 더 포함하는, 시스템.
The method according to claim 1,
The machine readable identifier is a first machine readable identifier,
Wherein the client application, upon execution, causes the client device to:
Identifying 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;
Identifying encrypted data from the second machine readable identifier;
Decrypting the amount of the encrypted data using the first encryption key or the second encryption key to identify decrypted data; And
And storing the decrypted data in the data store for access by the client application.
청구항 2에 있어서,
상기 데이터 저장소에 상기 해독된 데이터를 저장하는 단계는 :
상기 데이터 저장소에 저장된 입력 데이터와 상기 해독된 데이터 간에 충돌이 존재하는지 여부를 식별하는 단계; 및
상기 데이터 저장소에 저장된 입력 데이터 대신에 상기 해독된 데이터를 저장하는 단계;를 더 포함하는, 시스템.
The method of claim 2,
Wherein storing the decrypted data in the data store comprises:
Identifying whether there is a conflict between input data stored in the data store and the decrypted data; And
And storing the decrypted data instead of the input data stored in the data repository.
청구항 1에 있어서,
상기 제1 암호화 키가 저장된 상기 제1 기기 프로파일과 연관된 제1 판독기 기기; 및
상기 제2 암호화 키가 저장된 상기 제2 기기 프로파일과 연관된 제2 판독기 기기;를 더 포함하며,
상기 제1 판독기 기기는 상기 제1 암호화 키를 사용하여 상기 기계 판독 가능한 식별자에서 상기 제1 데이터 부분에 액세스하도록 구성되며,
상기 제2 판독기 기기는 상기 제2 암호화 키를 사용하여 상기 기계 판독 가능한 식별자에서 상기 제2 데이터 부분에 액세스하도록 구성되는, 시스템.
The method according to claim 1,
A first reader device associated with the first device profile in which the first encryption key is stored; And
And a second reader device associated with the second device profile in which the second encryption key is stored,
Wherein the first reader device is configured to access the first data portion in the machine readable identifier using the first encryption key,
And the second reader device is configured to access the second data portion in the machine readable identifier using the second encryption key.
청구항 4에 있어서,
상기 제1 판독기 기기는 제1 이미징 기기를 포함하며,
상기 제2 판독기 기기는 제2 이미징 기기를 포함하고,
상기 기계 판독 가능한 식별자는 상기 제1 이미징 기기 또는 상기 제2 이미징 기기에 의해 캡처되는, 시스템.
The method of claim 4,
Wherein the first reader device comprises a first imaging device,
Wherein the second reader device comprises a second imaging device,
Wherein the machine readable identifier is captured by the first imaging device or the second imaging device.
청구항 1에 있어서,
상기 클라이언트 애플리케이션은 실행 시에 상기 클라이언트 기기로 하여금 상기 클라이언트 기기와 상이한 다른 클라이언트 기기에게 상기 기계 판독 가능한 식별자를 발송하는 단계를 수행하게 하는 프로그램 명령들을 더 포함하는, 시스템.
The method according to claim 1,
Wherein the client application further comprises program instructions that, when executed, cause the client device to perform the step of sending the machine-readable identifier to another client device that is different than the client device.
청구항 1에 있어서,
상기 기계 판독 가능한 식별자는 상기 입력 데이터로부터 해독된 데이터를 사용하여 생성되는, 시스템.
The method according to claim 1,
Wherein the machine readable identifier is generated using decrypted data from the input data.
청구항 1에 있어서,
상기 제1 기기 프로파일과 연관된 제1 암호화 키는 상기 클라이언트 기기에서 이루어진 제1 기기 프로파일의 선택에 응답하여, 네트워크를 통해 적어도 하나의 원격 컴퓨팅 기기로부터 상기 클라이언트 기기에 의해 수신되며,
상기 제2 기기 프로파일과 연관된 제2 암호화 키는 상기 클라이언트 기기에서 이루어진 제2 기기 프로파일의 선택에 응답하여, 네트워크를 통해 적어도 하나의 원격 컴퓨팅 기기로부터 상기 클라이언트 기기에 의해 수신되는, 시스템.
The method according to claim 1,
Wherein the first encryption key associated with the first device profile is received by the client device from at least one remote computing device over the network in response to the selection of the first device profile made at the client device,
Wherein a second encryption key associated with the second device profile is received by the client device from at least one remote computing device over the network in response to the selection of a second device profile made at the client device.
청구항 1에 있어서,
상기 제1 암호화 키를 사용하여 상기 제1 데이터 부분을 암호화하고 상기 제2 암호화 키를 사용하여 상기 제2 데이터 부분을 암호화하는 단계는 :
상기 제1 데이터 부분과 연관된 제1 액세스 레벨을 식별하는 단계;
상기 제2 데이터 부분과 연관된 제2 액세스 레벨을 식별하는 단계;
상기 제1 액세스 레벨에 적어도 부분적으로 기초하여 상기 제1 암호화 키를 사용하여 상기 제1 데이터 부분을 암호화하는 단계; 및
상기 제2 액세스 레벨에 적어도 부분적으로 기초하여 상기 제2 암호화 키를 사용하여 상기 제2 데이터 부분을 암호화하는 단계;를 더 포함하며,
상기 제1 액세스 레벨은 상기 제2 액세스 레벨과 상이한, 시스템.
The method according to claim 1,
Wherein encrypting the first data portion using the first encryption key and encrypting the second data portion using the second encryption key 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 encryption key based at least in part on the first access level; And
Further comprising encrypting the second data portion using the second encryption key based at least in part on the second access level,
The first access level being different from the second access level.
적어도 하나의 하드웨어 프로세서를 포함하는 클라이언트 기기; 및
상기 클라이언트 기기에서 실행 가능한 클라이언트 애플리케이션;을 포함하며,
상기 클라이언트 애플리케이션은 실행 시에 상기 클라이언트 기기로 하여금 :
상기 클라이언트 기기의 디스플레이에 렌더링하기 위해 적어도 하나의 암호화 키를 사용하여 암호화된 제1 양의 데이터를 사용하여 제1 기계 판독 가능한 식별자를 생성하는 단계로서, 상기 적어도 하나의 암호화 키가 저장된 판독기 기기는 상기 데이터를 해독하도록 구성되는, 단계;
상기 클라이언트 기기에 의해 캡처된 적어도 하나의 이미지에서 제2 기계 판독 가능한 식별자를 식별하는 단계;
상기 적어도 하나의 암호화 키를 사용하여 상기 판독기 기기에 의해 암호화된 제2 양의 데이터를 식별하기 위해 상기 제2 기계 판독 가능한 식별자를 디코딩하는 단계;
상기 적어도 하나의 암호화 키를 사용하여 상기 제2 양의 데이터를 해독하는 단계; 및
상기 제1 양의 데이터 및 상기 제2 양의 데이터 간에 충돌이 존재하는지 여부를 식별하는 단계;를 수행하게 하는 프로그램 명령들을 포함하는, 시스템.
A client device comprising at least one hardware processor; And
And a client application executable on the client device,
Wherein the client application, upon execution, causes the client device to:
Generating a first machine-readable identifier using a first amount of data encrypted using at least one encryption key to render on a display of the client device, wherein the reader device having the at least one encryption key stored therein The data being configured to decrypt the data;
Identifying a second machine-readable identifier in at least one image captured by the client device;
Decoding the second machine readable identifier to identify a second amount of data encrypted by the reader device using the at least one encryption key;
Decrypting the second amount of data using the at least one encryption key; And
And identifying whether there is a conflict between the first amount of data and the second amount of data.
청구항 10에 있어서,
상기 클라이언트 애플리케이션은 실행 시에 상기 클라이언트 기기로 하여금 상기 제1 양의 데이터 및 상기 제2 양의 데이터 간에 존재하는 충돌에 응답하여, 상기 충돌을 해결하는 작업을 수행하는 단계를 수행하게 하는 프로그램 명령들을 더 포함하며,
상기 작업은 :
상기 충돌과 연관된 정보를 상기 클라이언트 애플리케이션의 사용자 인터페이스에 표시하는 것;
상기 사용자 인터페이스에서 상기 제1 양의 데이터 또는 상기 제2 양의 데이터의 선택을 수신하는 것; 및
상기 선택에 응답하여, 선택된 제1 양의 데이터 또는 선택된 제2 양의 데이터를 이용하여 상기 클라이언트 기기의 데이터 저장소를 업데이트하는 것; 중 적어도 하나를 포함하는, 시스템.
The method of claim 10,
Wherein the client application comprises program instructions for causing the client device to perform a task of resolving the conflict in response to a conflict existing between the first amount of data and the second amount of data, Further,
The task is:
Displaying information associated with the conflict on a user interface of the client application;
Receiving a selection of the first amount of data or the second amount of data in the user interface; And
In response to the selection, updating the data store of the client device using the selected first amount of data or the selected second amount of data; ≪ / RTI >
청구항 11에 있어서,
상기 작업은 상기 제2 양의 데이터를 이용하여 상기 클라이언트 기기의 데이터 저장소를 업데이트하는 것을 더 포함하는, 시스템.
The method of claim 11,
Wherein the operation further comprises updating the data store of the client device using the second amount of data.
청구항 10에 있어서,
상기 클라이언트 애플리케이션은 실행 시에 상기 클라이언트 기기로 하여금 상기 제2 양의 데이터의 적어도 일부분을 이용하여 상기 클라이언트 애플리케이션 내의 사용자 인터페이스의 적어도 하나의 필드를 채우는 단계를 수행하게 하는 프로그램 명령들을 더 포함하는, 시스템.
The method of claim 10,
Wherein the client application further comprises program instructions that, when executed, cause the client device to perform the step of populating at least one field of the user interface in the client application using at least a portion of the second amount of data. .
청구항 10에 있어서,
적어도 하나의 암호화 키를 사용하여 암호화된 제1 양의 데이터는 수집 프로세스 동안 획득된 사용자 입력의 제1 부분 및 사용자 입력의 제2 부분을 더 포함하며,
상기 사용자 입력의 제1 부분은 상기 판독기 기기에 의해 액세스 가능한 제1 암호화 키를 사용하여 암호화되며,
상기 사용자 입력의 제2 부분은 상기 판독기 기기에 의해 액세스 가능하지 않은 제2 암호화 키를 사용하여 암호화되는, 시스템.
The method of claim 10,
Wherein the first amount of data encrypted using at least one encryption key further comprises a first portion of user input obtained during the acquisition process and a second portion of user input,
Wherein a first portion of the user input is encrypted using a first encryption key accessible by the reader device,
Wherein the second portion of the user input is encrypted using a second encryption key that is not accessible by the reader device.
청구항 10에 있어서,
상기 클라이언트 애플리케이션은 실행 시에 상기 클라이언트 기기로 하여금 네트워크를 통해 원격 컴퓨팅 환경에서 실행하는 원격 애플리케이션으로부터 적어도 하나의 암호화 키를 수신하는 단계를 수행하게 하는 프로그램 명령들을 더 포함하는, 시스템.
The method of claim 10,
Wherein the client application further comprises program instructions that, when executed, cause the client device to perform the step of receiving at least one encryption key from a remote application executing in a remote computing environment via the network.
KR1020177024701A 2015-03-03 2016-03-02 Control access to encrypted data in machine readable identifiers KR102045023B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020197033230A KR102336845B1 (en) 2015-03-03 2016-03-02 Access control for encrypted data in machine-readable identifiers

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201562127404P 2015-03-03 2015-03-03
US62/127,404 2015-03-03
PCT/US2016/020388 WO2016141029A1 (en) 2015-03-03 2016-03-02 Access control for encrypted data in machine-readable identifiers

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020197033230A Division KR102336845B1 (en) 2015-03-03 2016-03-02 Access control for encrypted data in machine-readable identifiers

Publications (2)

Publication Number Publication Date
KR20170110679A true KR20170110679A (en) 2017-10-11
KR102045023B1 KR102045023B1 (en) 2019-12-02

Family

ID=56848237

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020197033230A KR102336845B1 (en) 2015-03-03 2016-03-02 Access control for encrypted data in machine-readable identifiers
KR1020177024701A KR102045023B1 (en) 2015-03-03 2016-03-02 Control access to encrypted data in machine readable identifiers

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020197033230A KR102336845B1 (en) 2015-03-03 2016-03-02 Access control for encrypted data in machine-readable identifiers

Country Status (11)

Country Link
US (6) US10157339B2 (en)
EP (2) EP3266149B1 (en)
JP (2) JP6386680B2 (en)
KR (2) KR102336845B1 (en)
CN (2) CN112287389B (en)
AU (2) AU2016226334B2 (en)
BR (1) BR112017018890B1 (en)
CA (1) CA2978436C (en)
ES (2) ES2809698T3 (en)
NZ (3) NZ734791A (en)
WO (1) WO2016141029A1 (en)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10373409B2 (en) * 2014-10-31 2019-08-06 Intellicheck, Inc. Identification scan in compliance with jurisdictional or other rules
CN105654006B (en) * 2014-11-13 2018-05-29 阿里巴巴集团控股有限公司 A kind of Quick Response Code barcode scanning exchange method and device
GB2535183B (en) * 2015-02-11 2017-02-15 Livedrive Internet Ltd Methods and systems for virtual file storage and encryption
US10387577B2 (en) * 2015-03-03 2019-08-20 WonderHealth, LLC Secure data translation using machine-readable identifiers
US10157339B2 (en) 2015-03-03 2018-12-18 WonderHealth, LLC Access control for encrypted data in machine-readable identifiers
US20200008051A1 (en) * 2015-03-03 2020-01-02 WonderHealth, LLC Secure data translation using a low-energy wireless communication link
US10380379B2 (en) * 2015-03-03 2019-08-13 WonderHealth, LLC Selectively encrypting and displaying machine-readable identifiers in a device lock screen
ES2615815B1 (en) * 2015-06-08 2017-12-01 Conectate Soluciones Y Aplicaciones, S.L.U. Unified registration procedure and identification of blood donors
US9942747B2 (en) 2015-08-07 2018-04-10 At&T Mobility Ii Llc Dynamic utilization of services by a temporary device
US10171537B2 (en) * 2015-08-07 2019-01-01 At&T Intellectual Property I, L.P. Segregation of electronic personal health information
US10091025B2 (en) * 2016-03-31 2018-10-02 Damaka, Inc. System and method for enabling use of a single user identifier across incompatible networks for UCC functionality
US20180075213A1 (en) * 2016-09-12 2018-03-15 National Health Coalition, Inc. System for Processing in Real Time Healthcare Data Associated with Submission and Fulfillment of Prescription Drugs
JP7474051B2 (en) * 2016-09-23 2024-04-24 ベクトン・ディキンソン・アンド・カンパニー Encryption system for medical devices
US10002273B1 (en) 2016-10-08 2018-06-19 Allscripts Software, Llc Graphical user interface features for a mobile device coupled to a barcode scanner
IT201600112287A1 (en) * 2016-11-08 2018-05-08 Manzo Gennaro SYSTEM FOR THE PROTECTION OF CONSUMERS OF PRODUCTS OF SPECIFIC NATIONALITY AND PRODUCTION COMPANIES FROM FALSE
US10896749B2 (en) * 2017-01-27 2021-01-19 Shire Human Genetic Therapies, Inc. Drug monitoring tool
US11043293B1 (en) * 2017-12-07 2021-06-22 Board Of Regents Of The University Of Nebraska Healthcare provider interface for treatment option and authorization
CN107945843B (en) * 2017-12-20 2023-10-03 广州市宝比万像科技有限公司 User information management method, device, system, storage medium and computer equipment
KR102411604B1 (en) * 2018-03-22 2022-06-21 삼성전자주식회사 Access point and method for connecting communication with external device thereof
CN108960385A (en) * 2018-06-29 2018-12-07 苏州酷豆物联科技有限公司 Two dimensional code generation and verification method and system based on the encryption of multiple code key
US11055322B2 (en) * 2018-07-30 2021-07-06 Hewlett Packard Enterprise Development Lp Comparison of a part key to machine keys
JP7151779B2 (en) * 2018-10-15 2022-10-12 日本電気株式会社 Relief Information Providing System, Relief Information Providing Method, and Program
KR102050823B1 (en) * 2018-11-26 2019-12-03 주식회사 두빛나래소프트 System, an apparatus and a method for transmitting and receiving information using quick response code
US20200388380A1 (en) * 2019-06-06 2020-12-10 Ar Alliance Group, Inc. System and method for communicating medical data
CN110472200B (en) * 2019-07-29 2023-10-27 深圳市中兴新云服务有限公司 Form-based data processing method and device and electronic equipment
AU2020356529A1 (en) * 2019-09-25 2022-05-19 Janssen Pharmaceuticals, Inc. Interconnection of drug administration systems
US11345313B2 (en) * 2020-04-23 2022-05-31 Ford Global Technologies, Llc System for controlling operations of a vehicle using mobile devices and related methods thereof
WO2022175499A1 (en) 2021-02-18 2022-08-25 Conectate Soluciones Y Aplicaciones S L System and process for the global unified registration and universal identification of donors
US20220378520A1 (en) * 2021-05-28 2022-12-01 Cilag Gmbh International Adaptive control of operating room systems
CN113935060B (en) * 2021-12-17 2022-03-11 山东青揽电子有限公司 Anti-collision confusion marking algorithm

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020023987A (en) * 2002-01-03 2002-03-29 이태경 Feeding system of real toy and virtual character on internet using barcode reader, and the control method
US20060088166A1 (en) * 2004-10-22 2006-04-27 Nec Corporation Authentication method and method device, system, and program for delivering secret information between proximity terminals
US20080149701A1 (en) * 2006-12-22 2008-06-26 Welch Allyn, Inc. Dynamic barcode for displaying medical data
US20130191640A1 (en) * 2012-01-23 2013-07-25 Jeffrey Mitchell Bloomer Information system and method incorporating a portable digital media device
US8690062B1 (en) * 2011-11-10 2014-04-08 Komel Qureshi Storing events in an electronic calendar from a printed source

Family Cites Families (119)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7302415B1 (en) * 1994-09-30 2007-11-27 Intarsia Llc Data copyright management system
US7124302B2 (en) * 1995-02-13 2006-10-17 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection
US6802005B1 (en) * 1995-10-11 2004-10-05 Pitney Bowes Inc. Method and system for tracking a person's time at a location
EP0936805A1 (en) * 1998-02-12 1999-08-18 Hewlett-Packard Company Document transfer systems
WO2000008595A1 (en) * 1998-08-04 2000-02-17 Fujitsu Limited Signature system for presenting user signature information
US6523116B1 (en) * 1999-03-05 2003-02-18 Eastman Kodak Company Secure personal information card database system
JP2000343784A (en) 1999-06-04 2000-12-12 Fujitsu Ltd Printing reproducing method for two-dimensional code, printed matter, printing method and apparatus, and reproducing method and apparatus
JP2001222483A (en) 2000-02-09 2001-08-17 Sony Corp Method and system for transferring information
CN1142653C (en) * 2000-04-28 2004-03-17 杨宏伟 Dynamic password authentication system and method
AU2001260512A1 (en) * 2000-06-05 2001-12-17 Optaglio Limited Product verification and authentication system and method
KR20020041809A (en) 2000-06-29 2002-06-03 요트.게.아. 롤페즈 Multiple encryption of a single document providing multiple level access privileges
US7587368B2 (en) * 2000-07-06 2009-09-08 David Paul Felsher Information record infrastructure, system and method
EP1320953A4 (en) 2000-08-04 2006-10-25 First Data Corp Method and apparatus for access authentication entity
WO2002042926A1 (en) 2000-11-20 2002-05-30 Ecrio Inc. Method for downloading bar code encoded information with a mobile communication
US7181015B2 (en) * 2001-07-31 2007-02-20 Mcafee, Inc. Method and apparatus for cryptographic key establishment using an identity based symmetric keying technique
JP2003242263A (en) 2002-02-21 2003-08-29 Matsushita Electric Ind Co Ltd Medical information managing system using semiconductor recording medium
US6854651B2 (en) 2002-07-01 2005-02-15 Wildseed Ltd. Non-persistently displayed bar code based data input method and apparatus
JP2004147006A (en) * 2002-10-23 2004-05-20 Sharp Corp Information transmitting method and portable terminal
JP2004186814A (en) 2002-11-29 2004-07-02 Fujitsu Ltd Common key encryption communication system
US20040111601A1 (en) * 2002-12-06 2004-06-10 Nokia Corporation System and method for the exchange of cryptographic keys
JP2004252753A (en) 2003-02-20 2004-09-09 Fujitsu Fip Corp Medical support system, method, server, and program
JP4145693B2 (en) * 2003-03-28 2008-09-03 東邦瓦斯株式会社 Use record collection system of supplies by infrastructure equipment
EP1632091A4 (en) * 2003-05-12 2006-07-26 Gtech Corp Method and system for authentication
US7802109B2 (en) * 2003-12-10 2010-09-21 Hewlett-Packard Development Company, L.P. Trusted system for file distribution
US20050132194A1 (en) 2003-12-12 2005-06-16 Ward Jean R. Protection of identification documents using open cryptography
JP4000111B2 (en) * 2003-12-19 2007-10-31 株式会社東芝 Communication apparatus and communication method
US20050188199A1 (en) * 2004-02-20 2005-08-25 Hoke Smith Securing computer data
JP4101225B2 (en) * 2004-10-19 2008-06-18 キヤノン株式会社 Electronic apparatus, information processing apparatus, control method therefor, computer program, and computer-readable storage medium
US7995758B1 (en) * 2004-11-30 2011-08-09 Adobe Systems Incorporated Family of encryption keys
US8002175B2 (en) * 2004-12-31 2011-08-23 Veritec, Inc. System and method for utilizing a highly secure two-dimensional matrix code on a mobile communications display
US7519825B2 (en) 2005-01-17 2009-04-14 House Of Development Llc Electronic certification and authentication system
JP2007034487A (en) * 2005-07-25 2007-02-08 Canon Inc Information processor, its control method, and computer program
US8438115B2 (en) * 2005-09-23 2013-05-07 Pitney Bowes Inc. Method of securing postage data records in a postage printing device
WO2007054133A1 (en) * 2005-11-09 2007-05-18 Nero Ag Method and means for writing decryption information to a storage medium, storage medium, method and means for reading data from a storage medium, and computer program
US20070102521A1 (en) * 2005-11-10 2007-05-10 Urban Petersson Method and system for using barcoded contact information for compatible use with various software
DE102006000930A1 (en) * 2006-01-05 2007-07-12 Infineon Technologies Ag Memory device, memory devices, methods for moving data from a first memory device to a second memory device and computer program elements
US20070204162A1 (en) * 2006-02-24 2007-08-30 Rodriguez Tony F Safeguarding private information through digital watermarking
US9525547B2 (en) * 2006-03-31 2016-12-20 Ricoh Company, Ltd. Transmission of media keys
US20090294539A1 (en) 2006-04-07 2009-12-03 Dong-Gyu Kim System and Method for Authentication Using a Bar-Code
US8266706B2 (en) * 2007-01-26 2012-09-11 Microsoft Corporation Cryptographically controlling access to documents
JP5278803B2 (en) * 2007-01-26 2013-09-04 日本電気株式会社 Authority management method, system thereof, and server device and information equipment terminal used in the system
JP2008203914A (en) * 2007-02-16 2008-09-04 Nec Corp Electronic medical record system, electronic medical record browsing method, and program
JP4998065B2 (en) * 2007-04-18 2012-08-15 沖電気工業株式会社 Automatic transaction equipment
KR101059302B1 (en) * 2007-05-30 2011-08-24 후지쯔 가부시끼가이샤 Image encrypting apparatus, image encrypting method, and recording medium
US8085934B1 (en) * 2007-07-11 2011-12-27 Marvell International Ltd. Reverse cryptographic key expansion
US20090031139A1 (en) 2007-07-27 2009-01-29 Mohammed Alawi Geoffrey System and Method for Electronic Certification and Authentification
US8275123B2 (en) 2007-08-17 2012-09-25 Infineon Technologies, Ag Integrated data transceiver and sensor for the generation of a symmetrical cryptographic key
US8325927B2 (en) * 2008-01-28 2012-12-04 Seagate Technology Llc Anchor point-based digital content protection with an escrow anchor point
US20090193267A1 (en) * 2008-01-28 2009-07-30 Chiasen Chung Secure electronic medical record storage on untrusted portal
US8352870B2 (en) 2008-04-28 2013-01-08 Microsoft Corporation Conflict resolution
US8977572B2 (en) * 2008-07-31 2015-03-10 General Electric Company Systems and methods for patient-controlled, encrypted, consolidated medical records
JP5145179B2 (en) 2008-09-16 2013-02-13 株式会社日立ソリューションズ Identity verification system using optical reading code
US8341430B2 (en) * 2008-10-03 2012-12-25 Microsoft Corporation External encryption and recovery management with hardware encrypted storage devices
US8214645B2 (en) * 2009-04-08 2012-07-03 Research In Motion Limited Systems, devices, and methods for securely transmitting a security parameter to a computing device
WO2010131415A1 (en) * 2009-05-14 2010-11-18 日本電気株式会社 Communication apparatus and secret information sharing method
US7988037B2 (en) * 2009-11-02 2011-08-02 Research In Motion Limited Device and method for contact information exchange
JP2011215728A (en) * 2010-03-31 2011-10-27 Toshiba Corp Document management system, assessment device, data output control device, document management method, and document management program
US9703539B2 (en) * 2010-10-29 2017-07-11 Microsoft Technology Licensing, Llc Viral application distribution
US20120138679A1 (en) 2010-12-01 2012-06-07 Yodo Inc. Secure two dimensional bar codes for authentication
SG182012A1 (en) * 2010-12-09 2012-07-30 Jhingan Nikhil System and method for verifying authenticity of documents
US9094379B1 (en) * 2010-12-29 2015-07-28 Amazon Technologies, Inc. Transparent client-side cryptography for network applications
JP5839809B2 (en) 2011-02-25 2016-01-06 株式会社マーベラス Two-dimensional code encoding / decoding program, game device, and game system
CN102156843B (en) * 2011-03-28 2015-04-08 威盛电子股份有限公司 Data encryption method and system as well as data decryption method
US8819448B2 (en) * 2011-04-29 2014-08-26 Georgetown University Method and system for managing information on mobile devices
JP2013005293A (en) * 2011-06-17 2013-01-07 Toshiba Corp Authentication component, authentication target component, and authentication method for the same
US8494154B2 (en) * 2011-06-20 2013-07-23 Bae Systems Information And Electronic Systems Integration Inc. Cryptographic ignition key system
US9209978B2 (en) * 2012-05-15 2015-12-08 The Nielsen Company (Us), Llc Methods and apparatus to measure exposure to streaming media
US20130006865A1 (en) * 2011-06-29 2013-01-03 Mckesson Financial Holdings Limited Systems, methods, apparatuses, and computer program products for providing network-accessible patient health records
US8862889B2 (en) * 2011-07-02 2014-10-14 Eastcliff LLC Protocol for controlling access to encryption keys
US9367860B2 (en) * 2011-08-05 2016-06-14 Sean McKirdy Barcode generation and implementation method and system for processing information
US20130054271A1 (en) * 2011-08-23 2013-02-28 Jessica Joan Langford Using quick response (qr) code to authenticate, access, and transfer electronic medical record information
US8899478B2 (en) * 2011-09-01 2014-12-02 General Electric Company System and method for medical data transfer
US9111186B2 (en) 2011-10-12 2015-08-18 University Of Rochester Color barcodes for mobile applications: a per channel framework
US20130126619A1 (en) * 2011-11-18 2013-05-23 Unisys Corporation Method and system for certifying contact information
WO2013078427A1 (en) * 2011-11-21 2013-05-30 Rume, Inc. Method and system for registering and scanning an id tag linked to information about a user
US9213853B2 (en) 2011-12-20 2015-12-15 Nicolas LEOUTSARAKOS Password-less login
US8751794B2 (en) 2011-12-28 2014-06-10 Pitney Bowes Inc. System and method for secure nework login
US8602294B2 (en) 2012-01-11 2013-12-10 MedicStats, LLC System, computer program and method for managing medical information
JP5996872B2 (en) 2012-01-11 2016-09-21 株式会社東海理化電機製作所 Lending system
JP2013175005A (en) 2012-02-24 2013-09-05 Denso Wave Inc Information transmitting system
WO2013130830A2 (en) 2012-03-01 2013-09-06 Minerva Holdings, LLC Systems and methods for generating, managing, and sharing digital scripts
US20130346302A1 (en) 2012-06-20 2013-12-26 Visa International Service Association Remote Portal Bill Payment Platform Apparatuses, Methods and Systems
US20140006051A1 (en) 2012-06-27 2014-01-02 Microsoft Corporation Emergency medical profiles
US8844821B2 (en) 2012-07-24 2014-09-30 Konica Minolta Laboratory U.S.A., Inc. Multi-layer barcode for print on demand document management
CN104704527A (en) * 2012-08-15 2015-06-10 惠普发展公司,有限责任合伙企业 Encrypted data store for records
US20140059356A1 (en) * 2012-08-24 2014-02-27 Iron Mountain Incorporated Technique for reconfigurable data storage media encryption
US8881990B2 (en) 2012-09-07 2014-11-11 Endevr Llc System and method for quickly obtaining medical information
US10424031B2 (en) 2012-09-27 2019-09-24 Cerner Innovation, Inc. Healthcare information operation session and data transfer system
US20140122053A1 (en) * 2012-10-25 2014-05-01 Mirel Lotan System and method for providing worldwide real-time personal medical information
US20140142979A1 (en) 2012-11-21 2014-05-22 Tracy Mitsunaga Medical Quick Response Codes and Information Storage and Retrieval System
US9116841B2 (en) * 2012-11-28 2015-08-25 Infineon Technologies Ag Methods and systems for securely transferring embedded code and/or data designed for a device to a customer
US20140164016A1 (en) 2012-12-10 2014-06-12 At&T Mobility Ii Llc. Method and apparatus for processing medical information
US8887262B1 (en) * 2013-03-15 2014-11-11 Amplify Education, Inc. Configuring a computing device
CN103220293B (en) * 2013-04-23 2016-05-11 福建伊时代信息科技股份有限公司 A kind of document protection method and device
JP2016529768A (en) * 2013-06-28 2016-09-23 コーニンクレッカ フィリップス エヌ ヴェKoninklijke Philips N.V. System for managing access to medical data
US20150019254A1 (en) 2013-07-12 2015-01-15 A. Christopher Ibikunle Authentication and Access System for Personal Health Information and Methods of Using the Same
US9953311B2 (en) * 2013-09-25 2018-04-24 Visa International Service Association Systems and methods for incorporating QR codes
TWM480732U (en) * 2013-10-08 2014-06-21 qi-hong Lin Medicine event care system
CN104598859B (en) * 2013-10-30 2018-06-15 财团法人工业技术研究院 Method, device and system for generating and authenticating color bar code
EP3065088B1 (en) * 2013-10-30 2021-03-24 NISHIZAKI, Tsutao 2d-code generation method, 2d-code generation device, 2d-code reading method, 2d-code reading device, 2d code, and program
US20150186665A1 (en) 2014-01-02 2015-07-02 Toshiba Global Commerce Solutions Holdings Corporation Systems and methods for the generation, display, and capture of a data set with a broadcast signature
CN104144049B (en) * 2014-03-11 2016-02-17 腾讯科技(深圳)有限公司 A kind of encryption communication method, system and device
CN104980928B (en) * 2014-04-03 2018-12-07 华为终端(东莞)有限公司 It is a kind of for establishing the method, equipment and system of secure connection
US10177912B2 (en) * 2014-05-09 2019-01-08 Sony Corporation Content individualization
US10055601B1 (en) * 2014-07-31 2018-08-21 Larry Hamid Method and system for securing data
US9413754B2 (en) * 2014-12-23 2016-08-09 Airwatch Llc Authenticator device facilitating file security
US9369287B1 (en) * 2015-01-27 2016-06-14 Seyed Amin Ghorashi Sarvestani System and method for applying a digital signature and authenticating physical documents
US20200008051A1 (en) * 2015-03-03 2020-01-02 WonderHealth, LLC Secure data translation using a low-energy wireless communication link
US10157339B2 (en) * 2015-03-03 2018-12-18 WonderHealth, LLC Access control for encrypted data in machine-readable identifiers
US10387577B2 (en) * 2015-03-03 2019-08-20 WonderHealth, LLC Secure data translation using machine-readable identifiers
US10380379B2 (en) * 2015-03-03 2019-08-13 WonderHealth, LLC Selectively encrypting and displaying machine-readable identifiers in a device lock screen
US11444766B2 (en) * 2015-07-06 2022-09-13 Apple Inc. Combined authorization process
US10270597B2 (en) * 2015-07-06 2019-04-23 Apple Inc. Combined authorization process
US20170068785A1 (en) * 2015-09-09 2017-03-09 Humetrix.Com, Inc. Secure real-time health record exchange
US20170104593A1 (en) * 2015-10-12 2017-04-13 Safe Cash Payment Technologies, Inc. Key storage methods
US10121038B2 (en) * 2017-03-14 2018-11-06 Cubic Corporation Dynamic barcode ticketing carrying encrypted validation transactions
US10275611B1 (en) * 2017-08-16 2019-04-30 OverNest, Inc. Methods and apparatus for sharing and searching encrypted data
US10068099B1 (en) * 2018-01-19 2018-09-04 Griffin Group Global, LLC System and method for providing a data structure having different-scheme-derived portions
US10511443B1 (en) * 2018-10-02 2019-12-17 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020023987A (en) * 2002-01-03 2002-03-29 이태경 Feeding system of real toy and virtual character on internet using barcode reader, and the control method
US20060088166A1 (en) * 2004-10-22 2006-04-27 Nec Corporation Authentication method and method device, system, and program for delivering secret information between proximity terminals
US20080149701A1 (en) * 2006-12-22 2008-06-26 Welch Allyn, Inc. Dynamic barcode for displaying medical data
US8690062B1 (en) * 2011-11-10 2014-04-08 Komel Qureshi Storing events in an electronic calendar from a printed source
US20130191640A1 (en) * 2012-01-23 2013-07-25 Jeffrey Mitchell Bloomer Information system and method incorporating a portable digital media device

Also Published As

Publication number Publication date
KR20190128752A (en) 2019-11-18
US11301737B2 (en) 2022-04-12
JP7164991B2 (en) 2022-11-02
US20210224624A1 (en) 2021-07-22
JP6386680B2 (en) 2018-09-05
EP3266149A1 (en) 2018-01-10
NZ734791A (en) 2018-10-26
NZ746653A (en) 2020-02-28
US10977532B2 (en) 2021-04-13
KR102045023B1 (en) 2019-12-02
US9607256B2 (en) 2017-03-28
KR102336845B1 (en) 2021-12-09
ES2967406T3 (en) 2024-04-30
EP3661117B1 (en) 2023-10-18
US10157339B2 (en) 2018-12-18
US20220198232A1 (en) 2022-06-23
WO2016141029A1 (en) 2016-09-09
EP3661117A1 (en) 2020-06-03
CN107409042B (en) 2020-11-06
JP2018508168A (en) 2018-03-22
US20210256336A1 (en) 2021-08-19
EP3266149A4 (en) 2018-09-12
US20170220917A1 (en) 2017-08-03
AU2018200199B2 (en) 2019-04-04
NZ762158A (en) 2022-05-27
ES2809698T3 (en) 2021-03-05
AU2016226334A1 (en) 2017-09-07
CN112287389A (en) 2021-01-29
EP3266149B1 (en) 2020-05-06
AU2018200199A1 (en) 2018-02-01
BR112017018890A2 (en) 2018-04-24
US11948029B2 (en) 2024-04-02
AU2016226334B2 (en) 2017-09-14
CN112287389B (en) 2024-08-02
BR112017018890B1 (en) 2023-11-28
CA2978436A1 (en) 2016-09-09
US20160260003A1 (en) 2016-09-08
CA2978436C (en) 2020-03-10
CN107409042A (en) 2017-11-28
US20160260002A1 (en) 2016-09-08
JP2019004485A (en) 2019-01-10

Similar Documents

Publication Publication Date Title
US11301737B2 (en) Access control for encrypted data in machine-readable identifiers
US10387577B2 (en) Secure data translation using machine-readable identifiers
US10380379B2 (en) Selectively encrypting and displaying machine-readable identifiers in a device lock screen
US8909660B2 (en) System and method for secured health record account registration
US20200008051A1 (en) Secure data translation using a low-energy wireless communication link
WO2014204994A1 (en) Management of medical information
US20240095443A1 (en) Data input assistance system
Rakshana et al. A Smart and User-Friendly Interface for Storing and Retrieving Personal Medical Records

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right