KR102336845B1 - 기계 판독 가능한 식별자들 내의 암호화된 데이터에 대한 액세스 제어 - Google Patents

기계 판독 가능한 식별자들 내의 암호화된 데이터에 대한 액세스 제어 Download PDF

Info

Publication number
KR102336845B1
KR102336845B1 KR1020197033230A KR20197033230A KR102336845B1 KR 102336845 B1 KR102336845 B1 KR 102336845B1 KR 1020197033230 A KR1020197033230 A KR 1020197033230A KR 20197033230 A KR20197033230 A KR 20197033230A KR 102336845 B1 KR102336845 B1 KR 102336845B1
Authority
KR
South Korea
Prior art keywords
data
encryption key
client device
data portion
machine readable
Prior art date
Application number
KR1020197033230A
Other languages
English (en)
Other versions
KR20190128752A (ko
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 원더헬스, 엘엘씨.
Publication of KR20190128752A publication Critical patent/KR20190128752A/ko
Application granted granted Critical
Publication of KR102336845B1 publication Critical patent/KR102336845B1/ko

Links

Images

Classifications

    • 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
    • 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
    • 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)
  • Information Transfer Between Computers (AREA)
  • Storage Device Security (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (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 데이터 부분을 사용하여 생성될 수 있다.

Description

기계 판독 가능한 식별자들 내의 암호화된 데이터에 대한 액세스 제어{ACCESS CONTROL FOR ENCRYPTED DATA IN MACHINE-READABLE IDENTIFIERS}
관련 출원에 대한 상호 참조
본 출원은 2015년 3월 3일에 출원된 미국 임시특허출원 제62/127,404호 "암호화된 건강 정보를 갖는 식별자를 생성하는 방법"의 우선권을 함유하며, 상기 임시특허출원의 내용은 그 전체가 본원에 참고로 편입된다.
발명의 기술 분야
본 개시서는 암호 해독, 기계 판독 가능한 식별자 기술, 데이터 보안에 관한 것이며, 그리고 어느 정도는 컴퓨터 시각에 관련이 있다.
기계 판독 가능 식별자들은 바코드 또는 매트릭스 코드 스캐너와 같은 판독기 기기에 의해 인식 가능한 매체로 데이터를 포맷팅하는데 사용될 수 있다. 그러나 적합한 판독기를 갖는 임의의 사람은 기초가 되는 데이터(underlying data)가 암호화되어 있지 않은 한 기계 판독 가능한 식별자로 구현된 데이터를 획득할 수 있다. 어느 기기들이 기계 판독 가능한 식별자들로 암호화된 데이터에 액세스할 수 있는지를 관리하는 것은 여전히 문제가 있다.
본 개시서의 많은 양상들은 다음의 도면을 참조하여 더 잘 이해될 수 있다. 도면들 내의 컴포넌트들은 반드시 축척이 맞을 필요는 없으며, 대신에 본 발명의 원리를 명확하게 설명하는데 중점을 둔다. 또한, 도면에서, 동일한 참조번호는 여러 도면에서 대응하는 부분들을 나타낸다.
도 1은 다양한 실시예들에 따라 클라이언트 애플리케이션에 의해 수집된 정보에 대한 액세스 제어를 제공하기 위한 네트워크 환경의 예를 도시한다.
도 2는 다양한 실시예들에 따라 암호화된 기계 판독 가능한 식별자들을 사용하여 콘텐츠 데이터를 증대(augmenting) 및 업데이트하기 위한 네트워크 환경의 다른 예를 도시한다.
도 3은 다양한 실시예들에 따라 다수의 키들을 사용하여 암호화된 데이터의 일부분들을 갖는 기계 판독 가능한 식별자를 생성하는데 사용되는 데이터 구조를 도시한다.
도 4는 40-L 버전 매트릭스 코드의 용량을 나타내는 테이블을 포함한다.
도 5는 인코딩 데이터의 모드에 대한 모드 표시자 비트를 나타내는 표를 포함한다.
도 6은 다양한 실시예들에 따라 기계 판독 가능한 식별자에서 사용하기 위한 데이터의 암호화 및 인코딩의 일례를 나타내는 흐름도이다.
도 7a 내지 도 7n은 다양한 실시예들에 따른 클라이언트 애플리케이션에 의해 생성된 사용자 인터페이스들의 다양한 예들을 도시한다.
도 8은 다양한 실시예들에 따라 기계-판독 가능한 식별자를 생성하도록 컴퓨팅 기기 또는 클라이언트 기기를 구성하는데 사용되는 코드의 일례를 나타내는 의사 코드(pseudo-code)이다.
도 9는 다양한 실시예들에 따라 다른 기기에 의해 생성된 기계 판독 가능한 식별자를 사용하여 클라이언트 기기에서 데이터를 업데이트 및 증대하는 예를 도시한다.
도 10 내지 도 12는 다양한 실시예들에 따라 클라이언트 기기에서 실행되는 클라이언트 애플리케이션의 기능을 도시하는 흐름도들이다.
도 13 및 도 14는 다양한 실시예들에 따라 컴퓨팅 환경에서 실행되는 원격 애플리케이션의 기능을 도시하는 흐름도들이다.
도 15 내지 도 17은 다양한 실시예들에 따라 도 1 및 도 2의 네트워크 환경에서 사용되는 컴퓨팅 환경, 클라이언트 기기 및 판독기 기기의 예시적인 설명들을 제공하는 개략적인 블록도들이다.
본 개시서는 기계 판독 가능한 식별자들 내의 세그먼트화된 데이터(segmented data)에 대한 액세스 제어에 관한 것이다. 바코드, 매트릭스 코드 또는 다른 유사한 식별자들과 같은 기계 판독 가능한 식별자들은 바코드 또는 매트릭스 코드 스캐너와 같은 판독기 기기에 의해 인식 가능한 매체로 데이터를 포맷팅하는데 사용될 수 있다. 유선 또는 무선 네트워크를 사용하지 않고 하나의 기기에서 다른 기기로 데이터를 전달하기 위해 기계 판독 가능한 식별자들이 사용될 수 있지만, 적합한 판독기를 가진 사람은 기초가 되는 데이터가 암호화되지 않는 한 기계 판독 가능 식별자로 구현된 데이터를 획득할 수 있다. 기초가 되는 데이터가 민감할 수 있으므로, 사용자는 기초가 되는 데이터의 어느 부분이 다양한 기기들에 의해 판독될 수 있는지를 제어하기를 원할 수 있다.
예를 들어, 일부 실시예들에서, 의료 정보는 기계 판독 가능한 식별자로 인코딩될 수 있다. 사람들은 비공개로 유지하고자 하는 민감한 데이터를 생성해야하는 경우가 있다(예를 들어, 진료소를 방문하는 동안 병력을 제공하는 것). 병력뿐만 아니라 다른 개인 식별 정보는 일반적으로 척추지압사(chiropractor), 종합 병원(holistic medicine provider), 수의사, 응급 센터, 치과의사, 보험 회사 등에서 필요하다. 가족 구성원들은 친척들이 이러한 정보를 제공할 수 없을 때 친척들을 대신하여 의료 제공자에게 이러한 정보를 제공할 책임이 있을 수 있다.
어떤 사람이 자신의 일반의(general practitioner; GP)에게 완전한 병력을 제공하기를 원할 수도 있지만, 그 사람은 지압사 또는 치과 의사와 같은 다른 제공자에게는 완전한 병력을 제공하기를 원하지 않을 수도 있다. 대신 의료 전문가와 관련이 있는 것으로 데이터를 제한하고자 할 수 있다. 이에 따라, 다양한 실시예들에서, 데이터를 이용하여 하나의 기계 판독 가능한 식별자가 인코딩될 수 있으며, 이 경우, 상이한 기기들은 데이터의 상이한 부분들을 판독할 수 있다. 예를 들어, 한 개인은 자신의 일반의가 매트릭스 코드로부터 완전한 병력을 획득하는 것을 허가할 수 있지만, 지압사는, 동일한 매트릭스 코드를 사용하여, 오직 사용자가 승인한 만큼의 병력의 하위 집합만을 획득할 수 있다.
다양한 실시예들에 따르면, 사용자는, 펜 및 종이를 사용하여 예진표(medical form)를 작성하는 표준 관례와는 대조적으로, 스마트폰 또는 태플릿과 같은 자신의 전자 기기를 사용하여 예진 정보(medical intake information)를 제공할 수 있다. 전자 기기를 통해 사용자가 제공하는 의료, 개인 및 기타 주의가 필요한 정보는 민감할 수 있으므로, 네트워크를 통해 정보를 전송하면 우려가 제기된다. 예를 들어, 패킷 스니핑 소프트웨어 또는 비인증 액세스 포인트를 사용하여 정보가 누출될 수 있다. 또한, 정보가 저장되는 데이터베이스들이 해킹당할 수 있다. 이와 같이, 바코드 또는 매트릭스 코드와 같이 기계 판독 가능 식별자들은 네트워크를 사용하지 않고 주변 기기들 간에 정보를 전달하는데 사용될 수 있다.
그러나 기계 판독 가능한 식별자들은 일반적으로 오픈 소스 또는 투명한 표준(transparent standards)에 의존하는데, 이러한 오픈 소스 또는 투명한 표준은 기계 판독 가능한 식별자들로 구현된 데이터의 해석을 권한 없는 액세스에 취약하게 만든다. 예를 들어, 의료 정보가 매트릭스 코드로구현되었다면, 모든 상업적으로 이용 가능한 매트릭스 코드 판독기는 상기 의료 정보를 획득할 수 있다. 기초가 되는 데이터가 암호화될 수 있지만, 오직 적합한 키로의 액세스를 갖는 기기들만 그 데이터를 해독할 수 있다. 그러나 여러 기기들이 단일 키를 공유하는 것은 사람이 전체 정보를 제공하는 것을 단념시킨다. 왜냐하면 그 사람은 키를 가진 모든 기기들이 자신의 정보에 액세스할 수 있다는 것을 인식할 수 있기 때문이다.
이에 따라, 본원에 설명된 실시예들에서, 기계 판독 가능한 식별자들 내 세그먼트화된 데이터에 대한 액세스 제어가 제공될 수 있다. 일 실시예에서, 클라이언트 기기에서 실행 가능한 클라이언트 애플리케이션은 네트워크를 통해 제1 기기 프로파일과 연관된 제1 암호화 키 및 제2 기기 프로파일과 연관된 제2 암호화 키를 수신하도록 구성될 수 있다. 상기 클라이언트 애플리케이션은 사용자로 하여금 다양한 데이터를 입력하도록 하는 일련의 사용자 인터페이스들을 포함할 수 있는 수집(ingestion) 프로세스를 통해 사용자로부터의 입력 데이터의 수집을 용이하게 할 수 있다. 일단 수신되면, 클라이언트 애플리케이션은 입력 데이터를 적어도 제1 데이터 부분 및 제2 데이터 부분으로 분할하거나 그렇지 않으면 입력 데이터를 적어도 제1 데이터 부분 및 제2 데이터 부분으로 포맷팅할 수 있다. 예를 들어, 상기 제1 데이터 부분은 일반의용 판독기 기기에 의해 해석될 수 있지만, 상기 제2 데이터 부분은 지압사용 판독기 기기에 의해 해석될 수 있다.
클라이언트 애플리케이션은 제1 암호화 키를 사용하여 제1 데이터 부분을 해석할 수 있고 제2 암호화 키를 사용하여 제2 데이터 부분을 해석할 수 있다. 본 명세서에서 키 관리 애플리케이션으로 지칭되는 원격 애플리케이션은 서버와 같은 원격 컴퓨팅 기기에서 실행될 수 있으며, 그리고 사용자에 의해 허가받은 대로 데이터를 해독할 수 있는 키들의 전송 및 수신을 감독할 수 있다. 대안적으로, 다른 실시예들에서, 수신기 기기는 원격 컴퓨팅 환경에서 키와 관련될 수 있다. 원격 애플리케이션은 클라이언트 애플리케이션에 수신기 기기에 대한 키를 제공할 수 있으며, 이로써, 정보는 수신기 기기에 의한 액세스를 위해 암호화된다. 마지막으로, 클라이언트 애플리케이션은 클라이언트 기기에 의해 액세스 가능한 디스플레이에서 렌더링하기 위해 암호화된 제1 데이터 부분 및 암호화된 제2 데이터 부분을 사용하여 기계 판독 가능 식별자를 생성할 수 있다. 상기 수신기 기기는 자동 이미지 분석 및 컴퓨터 시각을 사용하여 기초가 되는 데이터에 액세스하기 위해 기계 판독 가능한 식별자의 하나 이상의 이미지들을 캡처할 수 있다.
비-제한적인 예로서, 클라이언트 애플리케이션의 사용자는 자신의 일반의에게 높은 수준의 액세스를 부여할 수 있으며, 이 경우, 일반의는 자신의 기기를 사용하여 클라이언트 애플리케이션의 사용자에 의해 제공된 모든 입력 데이터에 액세스할 수 있다. 키 관리 애플리케이션은 일반의용 기기에 뿐만 아니라 사용자용 기기에도 키를 발송할 수 있다. 이와 유사하게, 키 관리 애플리케이션은 지압사 또는 다른 의료 제공자용 기기에 그리고 사용자용 기기에 키를 발송할 수 있다. 클라이언트 애플리케이션은 대응 키를 사용하여 일반의에 의한 수신이 승인된 데이터를 인코딩하면서, 지압사를 위한 상이한 키를 사용하여 지압사에 의한 수신이 승인된 데이터를 인코딩할 수 있다. 이를 위해, 단일 기계 판독 가능 식별자를 사용하여, 기계 판독 가능한 식별자의 기초가 되는 데이터에 대한 액세스 제어가 제공된다.
이해될 수 있는 바와 같이, 네트워크를 통해 전송된 데이터를 가로채는 여러 가지 방법이 존재하기 때문에 네트워크를 사용하지 않고 기기들 간에 민감한 데이터를 전송하기 위해 기술적 문제가 존재한다. 추가적으로, 네트워크 저장 데이터(네트워크 기기에 저장된 데이터)가 허가 없이 획득될 수 있는 많은 방법이 존재하기 때문에 기술적인 문제가 존재한다. 이에 따라, 본원에 기술된 실시예들은 민감한 데이터를 전송 및 수신하기 위해 네트워크를 사용하지 않으면서 기기들 간에 민감한 데이터를 전송하는 방법을 제시함으로써 기술적인 문제를 해결한다.
본 개시서는 헬스케어 데이터와 관련된 다수의 예들을 제공하지만, 본원에 포함된 실시예들은 많은 산업 분야에 적용 가능하다. 추가적으로, 본 개시서는 매트릭스 코드 및 다른 유사한 기계 판독 가능한 식별자들과 관련된 예들을 제공한다. 그러나 일부 실시예들에서, RICOH®에 의해 시판되는 Clickable Paper™ 애플리케이션에서 사용되는 것과 같은 상이한 형태의 이미지들로 인코딩된 데이터를 식별하기 위해 시각 이미지 인식이 사용될 수 있다.
다음 논의에서는, 시스템 및 해당 컴포넌트들에 대한 일반적인 설명이 제공되고, 이후에는 시스템 및 해당 구성 요소들의 작동에 대한 설명이 제공된다.
도 1을 참조하면, 다양한 실시예들에 따른 네트워크 환경(100)이 도시되어 있다. 네트워크 환경(100)은 네트워크(112)를 통해 서로 데이터 통신하는 컴퓨팅 환경(103), 클라이언트 기기(106) 및 판독기 기기(109)를 포함한다. 다양한 실시예들에서, 클라이언트 기기(106) 및 판독기 기기(109)는 암호화 키들을 이외에는 네트워크(112)를 통해 하나의 기기에서 다른 기기로 어떠한 정보도 전달하지 않을 수 있으며, 이에 관하여 후술될 것이다. 네트워크(112)는 예를 들어 인터넷, 인트라넷, 엑스트라넷, WAN(wide area network), LAN(local area network), 유선 네트워크, 무선 네트워크, 또는 다른 적절한 네트워크 등 또는 그러한 네트워크들의 하나 이상의 조합을 포함한다. 예를 들어, 그러한 네트워크는 위성 네트워크, 케이블 네트워크, 이더넷 네트워크 및 다른 유형의 네트워크를 포함할 수 있다.
컴퓨팅 환경(103)은 예를 들어 서버 컴퓨터 또는 컴퓨팅 기능을 제공하는 임의의 다른 시스템을 포함할 수 있다. 대안적으로, 컴퓨팅 환경(103)은 예를 들어 하나 이상의 서버 뱅크, 컴퓨터 뱅크 또는 다른 기기들에 배치될 수 있는 다수의 컴퓨팅 기기들을 사용할 수 있다. 그러한 컴퓨팅 기기들은 단일 설비에 배치될 수 있으며, 또는 많은 다른 지리적 위치들 사이에 분산될 수 있다. 예를 들어, 컴퓨팅 환경(103)은 호스트된 컴퓨팅 자원, 그리드 컴퓨팅 자원 및/또는 임의의 다른 분산 컴퓨팅 장치를 함께 포함할 수 있는 다수의 컴퓨팅 기기들을 포함할 수 있다. 일부 경우에, 컴퓨팅 환경(103)은 프로세싱, 네트워크, 저장소, 또는 다른 컴퓨팅 관련 자원들의 할당된 용량이 시간에 따라 변할 수 있는 탄력적인 컴퓨팅 자원에 대응할 수 있다.
다양한 응용들 및/또는 다른 기능은 다양한 실시예들에 따라 컴퓨팅 환경(103)에서 실행될 수 있다. 또한, 다양한 데이터는 컴퓨팅 환경(103)에 액세스 가능한 데이터 저장소(115)에 저장된다. 데이터 저장소(115)는 이해될 수 있는 바와 같이 다수의 데이터 저장소들(115)을 나타낼 수 있다. 데이터 저장소(115)에 저장된 데이터는 예를 들어 이하에서 설명되는 다양한 애플리케이션들 및/또는 기능적 엔티티들의 동작과 관련된다.
컴퓨팅 환경(103) 상에서 실행되는 컴포넌트들은 예를 들어 키 관리 애플리케이션(118), 번역기 서비스(120), 다이렉스 메시징 서비스(122), 그리고 본 명세서에서 상세히 논의되지 않는 다른 애플리케이션들, 서비스들, 프로세스들, 시스템들, 엔진들 또는 기능을 포함할 수 있다. 키 관리 애플리케이션(118)은 데이터 저장소(115)에 저장된 다양한 암호화 키들(121a 내지 121c)의 전송 및 수신을 감독하도록 실행될 수 있으며, 이는 후술될 것이다.
번역기 서비스(120)는 사용자 입력을 스페인어와 같은 제1 언어로부터 영어와 같은 제2 언어로 번역하도록 실행될 수 있다. 일부 실시예들에서, 번역기 서비스(120)는 수집 프로세스에서 사용하기 위해 컴퓨팅 환경(103)에 저장된 질문을 제1 언어에서 제2 언어로 번역하는데 사용될 수 있다.
다이렉트 메시징 서비스(122)는 네트워크를 통해 클라이언트 기기(106)로부터 다른 기기에 암호화된 다이렉트 메시지들을 발송하는데 사용될 수 있다. 일 실시예에서, 클라이언트 기기(106)에서 실행 가능한 애플리케이션은 클라이언트 기기(106)의 사용자에 의해 생성된 메시지를 암호화하고 암호화된 메시지를 네트워크를 통해 다이렉트 메시징 서비스(122)에 발송하며, 그 다음 상기 다이렉트 메시징 서비스(122)는 상기 암호화된 메시지를 수신 클라이언트 기기(106)에 전송한다. 일례에서, 상기 다이렉트 메시징 서비스(122)는 환자가 자신의 의료 서비스 제공자와 직접 통신할 수 있게 한다. 다른 실시예들에서, 메시지들은 기계 판독 가능한 식별자를 사용하여 클라이언트 기기들(106) 간에 전달될 수 있으며, 이에 관해 후술될 것이다.
추가 실시예들에서, 컴퓨팅 환경(103)은 암호화된 정보(예를 들어, 암호화된 건강 정보)의 클라우드 기반 저장소를 제공하는 애플리케이션들 또는 서비스들을 포함할 수 있지만, 다른 실시예들에서, 암호화된 정보는 컴퓨팅 환경(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 프로젝터, 또는 다른 유형의 디스플레이 기기 등 같은 하나 이상의 기기들을 포함할 수 있다.
클라이언트 기기(106)는 클라이언트 애플리케이션(130) 및/또는 다른 애플리케이션 같은 다양한 애플리케이션들을 실행하도록 구성될 수 있다. 클라이언트 애플리케이션(130)은 예를 들어 수집 프로세스를 수행하기 위해 클라이언트 기기(106)에서 실행될 수 있으며, 이에 의해, 클라이언트 기기 디스플레이(124)에 일련의 사용자 인터페이스들(131a)이 렌더링되어 사용자에게 사용자 입력을 프롬프트한다. 일례에서, 개인 정보, 의료 정보 또는 다른 적절한 정보를 획득하기 위해 하나 이상의 질문들이 사용자에게 제공된다. 하나 이상의 질문들은 컴퓨팅 환경(103)으로부터 획득되거나 클라이언트 애플리케이션(130)에서 하드코딩될 수 있다.
클라이언트 애플리케이션(130)은 사용자 입력을 암호화할 수 있으며, 암호화된 사용자 입력으로 기계 판독 가능한 식별자(133)를 생성할 수 있다. 이해될 수 있는 바와 같이, 판독기 기기(109)는 판독기 애플리케이션(136)을 사용하여 기계 판독 가능한 식별자(133)를 해석하고 상기 암호화된 사용자 입력에 액세스한다. 하나 이상의 암호화 키들(121)을 사용하여, 판독기 애플리케이션(136)은 판독기 기기(109) 상의 로컬 저장을 위해 또는 원격 저장을 위해 상기 암호화된 사용자 입력을 해독할 수 있다.
일부 실시예들에서, 클라이언트 애플리케이션(130) 및 판독기 애플리케이션(136)은 예를 들어 브라우저, 전용 애플리케이션 등을 포함할 수 있으며, 클라이언트 애플리케이션(130)에 의해 생성된 사용자 인터페이스(131a) 또는 판독기 애플리케이션(136)에 의해 생성된 사용자 인터페이스(131b)는 네트워크 페이지, 애플리케이션 스크린 등을 포함할 수 있다. 클라이언트 기기(106)는 예를 들어 이메일 애플리케이션, 소셜 네트워킹 애플리케이션, 워드 프로세서, 스프레드 시트 및/또는 다른 애플리케이션들과 같은, 클라이언트 애플리케이션(130)이외의 애플리케이션들을 실행하도록 구성될 수 있다.
판독기 기기(109)는 기계 판독 가능한 식별자(133)를 해석할 수 있는 카메라 또는 다른 기기와 같은 전-방향(front-facing) 이미징 기기(139) 또는 후-방향(rear-facing) 이미징 기기(미도시)를 포함할 수 있다. 판독기 애플리케이션(136)은 판독기 기기(109)에서 실행되어 클라이언트 애플리케이션(130)에 의해 생성된 기계 판독 가능한 식별자(133)의 하나 이상의 이미지들을 캡처할 수 있다. 이와 유사하게, 클라이언트 기기(106)는 전-방향 또는 후-방향 카메라와 같은 하나 이상의 이미징 기기들을 포함할 수 있다. 다양한 실시예들에서, 판독기 애플리케이션(136)은 기계 판독 가능한 식별자(133)로부터 획득된 암호화된 사용자 입력을 해독하고 판독기 기기 디스플레이(127)에 건강 정보를 제시하도록 추가 실행된다.
판독기 애플리케이션(136)은 사용자에 의해 제공되는 데이터의 버전을 유지하고 특정 유형의 데이터 또는 다른 버전 사이의 네비게이팅(navigating)을 용이하게 하는 적절한 인터페이스를 생성하도록 구성될 수 있다. 클라이언트 애플리케이션(130)은 네트워크(112)를 통해 의학적 또는 다른 유형의 정보를 전송하는 것을 삼가도록 구성될 수 있지만, 일부 실시예들에서, 판독기 애플리케이션(136)은 데이터를 HIPAA-호환 전자 건강 기록 시스템과 같은 원격 또는 클라우드 기반 서비스에 전달할 수 있다. 클라이언트 애플리케이션(130)은 네트워크(112)를 통해 건강 또는 다른 유형의 정보를 발송하지 않을 수 있지만, 컴퓨팅 환경(103)은 기계 판독 가능한 식별자(133)의 버전을 데이터 저장소(115)에 백업하거나 저장할 수 있다. 사용자가 자신의 클라이언트 기기(106)를 업그레이드하거나 대체할 때, 기계 판독 가능한 식별자(133)는 새로운 클라이언트 기기(106) 상에 데이터를 채우기(populating) 위해 사용될 수 있다.
데이터 저장소(115)에 저장된 데이터는 기기 데이터(142)뿐만 아니라 이해될 수 있는 다른 데이터를 포함할 수 있다. 기기 데이터(142)는 하나 이상의 클라이언트 기기들(106) 및 판독기 기기들(109)과 연관된 정보를 포함할 수 있다. 일례에서, 각각의 판독기 기기(109)는 고유한 암호화 키(121)와 연관될 수 있으며, 이 경우, 키 관리 애플리케이션(118)은 상기 클라이언트 애플리케이션(130)에 상기 암호화 키(121)를 발송한다. 그 다음, 클라이언트 애플리케이션(130)은 판독기 기기(109)를 위해 상기 암호화 키(121)로 암호화된 사용자 입력 데이터를 포함하는 기계 판독 가능한 식별자(133)를 생성할 수 있다. 판독기 기기(109)는 또한 그것의 암호화 키(121)의 사본을 유지하므로, 사용자 입력 데이터를 해독하고 해석할 수 있다.
다른 예에서, 각각의 클라이언트 기기(106)는 하나 이상의 암호화 키들(121)과 연관될 수 있으며, 이 경우, 키 관리 애플리케이션(118)은 클라이언트 애플리케이션(130)의 사용자의 지시에 따라 상기 판독기 기기들(109)에게 상기 암호화 키들(121)을 발송한다. 상기 클라이언트 애플리케이션(130)은 하나 이상의 암호화 키들(121)로 암호화된 사용자 입력 데이터를 포함하는 기계 판독 가능한 식별자(133)를 생성할 수 있다. 키 관리 애플리케이션(118)은, 예를 들어 클라이언트 애플리케이션(130)의 사용자의 지시에 따라, 판독기 기기(109)에게 암호화 키(121)를 발송할 수 있으며, 이로써, 판독기 기기(109)는 상기 사용자 입력 데이터를 해독하고 해석할 수 있다.
상기 기기 데이터(142)는 클라이언트 기기(106) 또는 판독기 기기(109)를 고유하게 식별하는 기기 식별자들(145)을 포함할 수 있다. 상기 기기 데이터(142)는 액세스 레벨들(152)을 포함할 수 있는 기기 프로파일들(148)을 더 포함할 수 있다. 일부 실시예들에서, 클라이언트 애플리케이션(130)의 사용자는 특정 판독기 기기들(109)을 특정 액세스 레벨들(152)과 연관시킬 수 있다. 일례에서, 사람은 자신의 일반의를 위한 제1 판독기 기기(109)를 제1 액세스 레벨과 연관시킬 수 있고, 자신의 치과의사를 위한 제2 판독기 기기(109)를 제2 액세스 레벨과 연관시킬 수 있다. 이를 위해, 클라이언트 애플리케이션(130)의 사용자는 액세스 레벨에 기초하여 어떤 데이터가 어느 판독기 기기(109)에 의해 액세스 가능한지를 지정할 수 있다. 설명될 바와 같이, 사용자 입력은 각 판독기 기기(109)에 이용 가능한 정보에 의해 세그먼트화되거나 분할(partitioned)될 수 있다. 이를 위해, 판독기 애플리케이션(136)은 사용자에 의해 특정되거나 컴퓨팅 환경(103)에 의해 미리 결정된 정보에 대한 상이한 액세스 레벨을 제공할 수 있다.
암호화 키들(121)은 데이터를 암호하는데 사용되는 숫자, 이진 또는 영숫자 문자열을 포함할 수 있다. 다양한 실시예들에서, 암호화 키들(121)은 대칭 암호화 키들(121), 비대칭 암호키들(121), 또는 이들의 조합을 포함할 수 있다.
도 2를 참조하면, 다양한 실시예들에 따른 네트워크 환경(100)의 다른 예가 도시되어 있다. 일부 상황들에서, 클라이언트 애플리케이션(130)의 사용자에 의해 제공된 입력 데이터는 판독 기기(109) 상에서 또는 해독된 정보에 대한 액세스를 갖는 다른 기기 상에서 조작될 수 있다. 예를 들어, 의사는 최신 혈압, 체중 또는 다른 정보를 포함하도록 사용자에 의해 제공된 데이터를 변경할 수 있다. 사용자는 보다 완전하고 정확한 병력을 유지하기 위해 이러한 정보를 자신의 클라이언트 기기(106)에 저장하고자할 수 있다.
이를 위해, 일부 실시예들에서, 판독기 애플리케이션(136)은 클라이언트 기기(106)에 업데이트된 데이터, 수정된 데이터, 보충된 데이터, 또는 달리 조작된 데이터를 제공하기 위해 자신의 암호화 키(121)(또는 클라이언트 기기(106)에 이용 가능한 다른 암호화 키(121))를 사용할 수 있다. 클라이언트 애플리케이션(130)은 판독기 기기(109) 상에 생성되어 판독기 기기 디스플레이(127)에 렌더링되는 기계 판독 가능한 식별자(133)의 하나 이상의 이미지들의 캡처를 용이하게 할 수 있다.
다양한 실시예들에서, 판독기 애플리케이션(136)에 의해 생성된 기계 판독 가능한 식별자(133)의 기초가 되는 데이터는 클라이언트 기기(106) 및 판독기 기기(109)에서만 이용 가능한 암호화 키(121)를 사용하여 암호화된다. 클라이언트 애플리케이션(130)은 기초가 되는 데이터를 해독할 수 있으며, 그리고 상기 데이터를 상기 클라이언트 기기(106)에 국부적으로(locally) 저장할 수 있다. 사용자가 수집 프로세스의 일부를 수행한다면, 업데이트된 데이터는 사용자 인터페이스(131)의 자동으로 채워지는 필드(automatically populated field)에 제공될 수 있다. 기계 판독 가능한 식별자(133)를 스캐닝하고 그리고 기초가 되는 데이터에 액세스하기 위해 적절한 암호화 키들(121)을 가짐으로써, 판독기 애플리케이션(136)은 국부적으로 저장된 데이터를 업데이트할 수 있으며, 그리고 스케줄링 애플리케이션, 예약 관리 애플리케이션, 투약 리필 애플리케이션 또는 EHR 애플리케이션과 같은 다른 애플리케이션들과 인터페이스하여 이와 관련된 정보를 업데이트할 수 있다.
다음으로 도 3을 참조하면, 기계 판독 가능한 식별자(133a 내지 133c)의 이미지를 생성하는데 사용되는 데이터를 포함하는 데이터 구조(300)의 예가 도시되어 있다. 데이터 구조(300)는 예를 들어 오류 정정 레벨(303), 문자 카운트 표시자(306), 모드 표시자(309), 페이로드(312), 오류 정정(315) 및/또는 이해될 수 있는 다른 데이터를 포함할 수 있다.
QR(quick response) 코드라고도 하는 매트릭스 코드는 일반적으로 인코딩된 데이터를 기반으로 오류 정정 코드 워드(바이트)를 생성하는데 사용되는 Reed-Solomon 오류 정정을 사용한다. 판독기 애플리케이션(136a ... 136b)은 이러한 오류 정정 레벨(303)을 사용하여 데이터가 부정확하게 판독되었는지 여부를 판단할 수 있으며, 데이터가 부정확하게 판독되었다면, 오류 정정 코드워드를 사용하여 데이터의 오류를 정정할 수 있다. 매트릭스 코드의 경우, 각각 7%, 15%, 25% 및 30%의 오류 정정 기능을 갖는 L, M, Q 및 H로 지정된 네 개의 레벨의 오류 정정 레벨(303)이 존재한다.
매트릭스 코드는 상이한 크기를 가지며, 특정 크기의 매트릭스 코드는 버전이라고도 지칭된다. 40 가지 버전이 이용 가능하지만 추가 버전이 가능하며, 본 발명의 범위 내에 포함된다. 예를 들어, 버전 1은 매트릭스 코드의 최소 버전이며, 그리고 21 X 21 픽셀 크기이다. 각각의 버전은 이전 버전보다 4 픽셀 더 크다. 버전 40은 가장 큰 버전이며, 177 X 177 픽셀이다. 가장 큰 버전은 도 4의 표에 도시된 바와 같이 가장 큰 문자 용량을 갖는다.
페이로드(312)는 모드 표시자(309)에 의해 설정된 바와 같이 상이한 모드들에 따라 인코딩될 수 있다. 모드 표시자(309)는 도 5에 도시된 바와 같이 4 비트 스트링을 포함할 수 있다. 인코딩된 데이터는 후속 비트에 대해 사용되는 모드를 나타내는 적절한 모드 표시자로 시작할 수 있다. 가장 큰 버전의 매트릭스 코드는 도 4의 표에 도시된 바와 같이 가장 큰 문자 용량을 갖는다. 문자 카운트 표시자(306)는 인코딩되고 있는 문자들의 수를 포함한다.
기계 판독 가능한 식별자(133)를 생성하기 위해, 클라이언트 애플리케이션(130)(또는 판독기 애플리케이션(136))은 수집 프로세스 동안 수신된 사용자 입력에 액세스하고 암호화 키(121)를 사용하여 데이터를 암호화할 수 있다. 암호화 키(121)가 비대칭인 실시예들에서, RSA 또는 다른 적절한 암호화 알고리즘이 사용될 수 있다. 암호화 키(121)가 대칭인 실시예들에서, AES(Advanced Encryption Standard) 또는 다른 적절한 암호화 알고리즘이 사용될 수 있다. 암호화된 사용자 입력은 모드 표시자(309)에 따라 암호화될 수 있다. 예를 들어, 암호화된 사용자 입력이 영숫자의 문자열이라고 가정하면, 모드 표시자(309)는 0010으로 설정될 수 있다. 영숫자 인코딩은 문자열을 쌍들로 분해하고 각 쌍에 대한 이진수를 만드는 것을 포함할 수 있다.
제1 판독기 기기(109a)를 위한 데이터는 제1 판독기 기기(109a)에 의해 액세스 가능한 암호화 키(121)(도 3에 도시된 암호화 키 121A)를 사용하여 암호화될 수 있으며, 그리고 payloadA로서 인코딩될 수 있다. 이와 유사하게, 제2 판독기 기기(109b)를 위한 데이터는 제2 판독기 기기(109b)에 의해 액세스 가능한 암호화 키(121)(도 3에 도시된 암호화 키 121B)를 사용하여 암호화될 수 있으며, 그리고 payloadB로서 인코딩될 수 있다. 판독기 기기(109)에 의해 스캐닝될 때, 오직 payloadTotal의 일부만이 판독기 기기(109)에 의해 해석될 수 있다.
도 6을 참조하면, 입력 데이터의 매트릭스 코드 또는 다른 기계 판독 가능한 식별자(133)로의 변환을 도시하는 흐름도가 도시되어 있다. 단계 603으로 시작하여, 사용자 입력이 액세스된다. 사용자 입력은 예를 들어 수집 프로세스 동안 또는 클라이언트 애플리케이션(130)에 의해 제시되는 사용자 인터페이스(131)로부터 획득되는 건강 정보, 긴급 연락처 정보, 또는 다른 유형의 정보를 포함할 수 있다. 도 6의 예에서, 사용자 입력 문자열은 설명을 위해 "Hello world"를 포함한다.
단계 606에서, 암호화 키(121)는 데이터의 대상이 되는 판독기 기기(109)에 기초하여 식별된다. 예를 들어, 사용자는 자신의 일반의를 위한 자신의 병력의 특정 부분을 지정할 수 있다. 일반의를 위한 하나 이상의 판독기 기기들(109)에 대한 암호화 키(121)가 식별될 수 있다. 단계 609에서, 단계 606에서 식별된 암호화 키(121)를 사용하여 사용자 입력이 암호화된다. AES 암호화 및 "exampleencryptionkey"인 키를 사용하여 암호화된 데이터의 문자열은 "BBd2iHwO/gy+xnFUg6HeAA=="를 포함한다.
다음, 단계 612에서, 암호화된 데이터는 영숫자 모드 또는 숫자, 바이트, 간지 또는 ECI와 같은 다른 적절한 모드를 사용하여 인코딩된다. 암호화된 데이터의 처음 두 문자 "BB"의 경우, 영숫자 코딩을 사용하여 이진수가 생성되어 "111111010"를 획득한다. 이는 모든 암호화된 데이터가 적절한 모드를 사용하여 인코딩될 때까지 계속될 수 있다. 마지막으로, 단계 612에서, 매트릭스 코드의 이미지는 매트릭스 코드 표준에 따라 페이로드로서 인코딩 데이터를 사용하여 생성된다.
다양한 실시예들에서, AES-256 암호화 알고리즘은 기초가 되는 데이터를 암호화하는데 사용될 수 있다. 초기화 벡터(initialization vector; IV) 또는 시작 변수(starting variable; SV)는 동일한 평문이 여러번 암호화되더라도 암호화를 무작위화하고 별개의 암호문을 생성하는 모드에 의한 사용을 위해 채용될 수 있다. (AES CBC Pkcs7). ECB(Electronic Codebook) 및 CBC(Cipher Block Chaining) 같은 일부 모드들은 최종 블록이 암호화 전에 패딩될 것을 요구할 수 있기 때문에 적절한 패딩이 사용될 수 있다.
AES-256이 사용되는 실시예에서, 암호화 키(121)는 128 비트(16 바이트)의 IV를 갖는 256 비트(32 비트)를 포함할 수 있다. IV는, 암호화될 데이터가 변경되지 않아도, 클라이언트 애플리케이션(130) 또는 판독기 애플리케이션(136)에 의해 수행되는 각각의 암호화 시에 랜덤하게 생성되어 (이전의 암호화와는 상이한) 별개의 암호화 결과를 제공할 수 있다. 생성된 IV는 클라이언트 기기(106) 또는 판독기 기기(109) 상에 상기 암호화된 데이터와 함께 국부적으로 저장되어, 본 명세서에서 논의된 바와 같이 장래의 해독을 가능하게 할 수 있다.
일부 실시예들에서, 암호화된 데이터는 패스워드, 생체 데이터, 또는 PIN 코드와 관련하여 클라이언트 기기(106) 또는 판독기 기기(109)에 국부적으로 저장된다. 추가적으로, 각각의 사용자, 또는 데이터가 제공되는 엔티티(예를 들어, 환자, 친척, 애완동물)는 자신의 고유한 암호화 키(cryptographic key)(121)(즉, 암호 키(encryption key))를 가질 수 있다. 그 결과, 특정 기기에서 암호화된 임의의 데이터는 오직 적절한 패스워드, 생체 인식 데이터 또는 PIN 코드가 제공될 때 해당 기기에서 해독될 수 있다.
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를 검색하는 방법을 모른 채로 암호화된 데이터를 해독하는 것은 불가능하지는 않더라도 어려울 것이다.
도 7a 내지 도 7n은 다양한 유형의 사용자 입력을 사용자에게 프롬프트함으로써 수집 프로세스를 수행하는데 사용되는 클라이언트 애플리케이션(130)의 사용자 인터페이스(131)의 다양한 예들을 도시한다. 이해될 수 있는 바와 같이, 상기 수집 프로세스를 수행하기 전에, 사용자는 클라이언트 기기(106)의 사용자를 적절히 인증하기 위해 사용자 이름, 패스워드, 생체 정보 또는 다른 정보를 제공할 필요가 있을 수 있다. 도 7a에서, 클라이언트 애플리케이션(130)에 대한 예시적인 홈 스크린이 도시되어 있는데, 여기서 사용자는 개인에 대한 주요 정보를 입력 할 수 있다. 주요 정보에는 의료 정보는 포함되지 않지만 식별을 위한 정보는 포함될 수 있다. 이 정보는 개인(예를 들어, 소유자, 부양가족, 애완동물 또는 다른 개체)의 이름을 식별하는 데 사용될 수 있다.
이어서, 클라이언트 애플리케이션(130)은 생년월일, 긴급 연락 정보, 1차 진료의(primary care physicain) 연락 정보 또는 다른 기본 정보와 같은 기본 정보를 입력하도록 사용자에게 프롬프트할 수 있다. 또한, 사용자 인터페이스(131)는 사용자가 정보가 제공되는 개체(individual)를 변경할 수 있게 할 수 있다. 예를 들어, 사용자는 개체를 그 자신으로부터 다른 개인, 예를 들어 자식, 부양가족, 애완동물 등으로 변경할 수 있다. 또한, 이러한 보조 프로파일들은 1차 진료의, 긴급 연락처 정보, 병력 등에 대한 정보를 입력 할 수 있는 데이터 필드를 가질 것이다.
도 7b는 HIPAA(Health Insurance Portability and Accountability) 준수 및 문서화 사용자 인터페이스(131)의 실시예를 도시한다. 이 사용자 인터페이스(131)로부터, HIPAA와 같은 다양한 규정에 관한 정보가 도시되고, 필요한 동의를 얻기 위한 적절한 설명이 뒤따른다. 다양한 실시예들에서, 링크 또는 다른 사용자 인터페이스 컴포넌트가 생성되어 브라우저 애플리케이션과 같은 다른 애플리케이션이 준수(compliance)의 세부 사항에 대한 추가 설명이 필요한 사람들을 위해 정보를 표시하게 할 수 있다. 검토 후, 사용자가 자료를 검토하였는지 확인하기 위해 그리고 필요한 동의를 획득하기 위해 전자 서명과 날짜 또는 시간 스탬프에 대한 프롬프트가 표시될 수 있다.
이제 도 7c를 참조하면, 사용자 인터페이스(131)는 개체에 대한 과거 의료 정보를 획득하기 위한 전용 스크린의 일 실시예를 도시한다. 도 7c의 사용자 인터페이스(131)는 사용자가 과거에 전문 의료진으로부터 제공받은 의료 진단을 제공할 수 있게 한다. 다양한 실시예들에서, 가장 일반적인 가벼운 질병(ailment) 및/또는 질병(disease)의 정확한 철자를 알기 쉽게 스마트 텍스트, 자동-채우기(auto-population), 드롭다운 제안 및/또는 기타 유사한 구성요소가 포함될 수 있다. 클라이언트 애플리케이션(130)은 또한 이 진단이 주어진 날짜에 관한 데이터를 얻을 수 있다. 그런 다음 이것들은 날짜를 기준으로 숫자 순서로 배치될 수 있다. 진단이 나열되지 않는 경우, 자유 텍스트 옵션이 사용될 수 있다. 중요할 수 있는 추가 정보를 위해 추가 텍스트 상자가 생성 될 수 있다.
도 7d는 이전의 모든 수술 경험을 제공하도록 사용자에게 촉구함으로써 과거 수술 정보가 획득될 수 있는 사용자 인터페이스(131)를 도시한다. 상술된 바와 같이, 다양한 실시예들에서, 가장 일반적인 가벼운 수술 또는 의료 절차의 정확한 철자를 알기 쉽게 스마트 텍스트, 자동-채우기(auto-population), 드롭다운 제안 및/또는 기타 유사한 구성요소가 포함될 수 있다. 또한 이러한 수술 절차들의 날짜와 기관은 알 수 있다면 획득될 수도 있다. 그런 다음 수술 절차들은 그 절차가 수행되었던 날짜 및 기관에 대한 관련 데이터 필드와 함께 시간 순서대로 배치될 것이다. 절차가 나열되지 않는 경우에는 자유 텍스트를 위한 옵션이 사용될 것이다.
다음으로 도 7e를 참조하면, 사용자가 현재 및 이전 투약정보(medication)를 제공할 수 있게 하는, 현재 및 과거 투약정보(medication)을 획득하기 위한 전용 스크린의 실시예를 나타내는 사용자 인터페이스(131)가 도시되어 있다. 다양한 실시예들에서, 가장 일반적인 약물의 정확한 철자를 알기 쉽게 스마트 텍스트, 자동-채우기(auto-population), 드롭다운 제안 및/또는 기타 유사한 구성요소가 포함될 수 있다. 제공된 투약물이 시작된 날짜, 투약의 이유, 복용량 및 투여 빈도가 포함될 수 있다. 사용자가 더 이상 복용하지 않는 오래된 약물인 경우, 투약이 중단된 날짜를 위한 필드에 중단된 이유가 포함될 것이다. 투약정보가 나열되지 않는 경우에는 자유 텍스트 옵션이 사용될 것이다.
도 7f는 사용자가 현재 및 과거 알레르기, 투약정보, 환경적 트리거(environmental trigger), 동물 및 다른 관련 정보를 제공할 수 있는 사용자 인터페이스(131)를 도시한다. 다양한 실시예들에서, 가장 일반적인 약물 및 알레르겐의 정확한 철자를 알기 쉽게 스마트 텍스트, 자동-채우기, 드롭다운 제안 및/또는 기타 유사한 구성요소가 포함될 수 있다. 알레르겐에 대한 반응의 유형도 포함될 것이다. 이들은 각각의 알레르겐에 대한 반응 유형을 위한 관련 필드와 함께 숫자 순서로 배치될 것이다.
도 7g의 비 제한적 예에서, 사용자가 자신의 가족의 병력과 관련된 정보를 제공할 수 있게 하는 사용자 인터페이스(131)가 도시되어있다. 일부 실시예들에서, 사용자는 가족의 병력에 적용 가능한지 여부를 알려주는 일반적인 특정 질병을 제공받을 수 있다. 적절한 데이터 필드는 흔하지 않은 질병에 사용될 수 있다. 또한, 일반적인 가벼운 질병(ailment) 또는 질병(disease)의 정확한 철자를 알기 쉽게 스마트 텍스트, 자동-채우기, 드롭다운 제안 및/또는 기타 유사한 구성요소가 포함될 수 있다. 사용자는 또한 이 진단을 받은 가족 구성원을 나이, 그리고 해당되는 경우 "사망한" 연도로 파악할 수 있다.
도 7h는 사용자로부터 사회생활력(social history)을 얻기 위한 전용 사용자 인터페이스(131)의 일 실시예를 도시한다. 예를 들어, 사용자는 개인의 사회생활력과 관련된 정보를 제공하기 위한 양식을 제공받을 수 있다. 일부 실시예들에서, 양식에는 흡연 이력, 음주, 해외여행, 교육 수준 등을 다루는 데이터 필드가 포함된다. 여기에는 이전에 제공한 생년월일을 기준으로 계산된 나이를 기준으로 동료 거주민, 집에 있는 총기, 집에서 기르는 애완동물, 납 및 결핵 노출 등의 특정 소아과 정보가 포함될 수도 있다.
다음으로 도 7i를 참조하면, 사용자 인터페이스(131)는 사용자로부터 예방 접종을 획득하는 일 실시예를 도시한다. 스마트 텍스트는 사용자가 예방 접종의 철자를 정확히 쓰는데 도움이 되기 위해 사용될 수 있다. 외국 해외여행에 필요할 수 있는 것과 같이 일반적으로 제공되지 않는 예방 접종을 위해 오픈 텍스트 필드들이 제공될 수 있다. 일부 실시예들에서, 예방 접종이 제공된 날짜는 필수 필드일 수 있다. 이 정보는 예방 접종 날짜를 기준으로 시간 순서대로 배치될 수 있다.
도 7j는 사용자에 의한 액세스를 위해서만 국부적으로 유지될 수 있거나 기계 판독 가능 식별자(133)에 포함될 수 있는 잡다한 메모(miscellaneous note)를 사용자가 제공할 수 있게 하는 사용자 인터페이스(131)의 실시예를 도시한다. 예를 들어, 메모에는 특정 의료 서비스 만남(healthcare encounter)에 관한 리마인더가 포함될 수 있다. 다양한 실시예들에서, 이것은 증상의 목록이 아니고 단지 특정 방문에 대한 리마인더일 뿐이므로 100 자 또는 다른 적절한 양으로 제한될 수 있다. 임의의 다른 섹션과 마찬가지로, 이 정보를 업데이트할 필요가 없는 경우 메모 페이지를 빈 칸으로 비워 둘 수 있다. 일부 실시예들에서, 메모 필드에 제공된 데이터는 기계 판독 가능 식별자(133)의 데이터로부터 제외될 수 있다.
도 7k는 클라이언트 기기 디스플레이(124)에 사용자 인터페이스(131)를 생성하는 클라이언트 기기(106)의 다른 도면을 도시한다. 도 7k의 비-제한적 예에서, 사용자에게 사용자가 이전에 제공한 정보가 제공되는 실시예가 도시된다. 이해될 수 있는 바와 같이, 건강 정보가 획득되는 실시예들에서, 11 개의 기관계들 중 하나 이상에 관한 정보가 이상적으로 획득될 수 있다. 사용자 인터페이스(131)는 사용자, 관리자에 의해 미리 정의된 포맷으로, 또는 의료 서비스 제공자에 의해 지정된 포맷으로 의사 또는 다른 관심 있는 사람에게 정보 패킷을 인쇄 또는 전송하는 것을 용이하게 할 수 있다. 이것은 의사가 선호하는 포맷으로 그리고 소유자와 의사 모두가 읽을 수 있는 포맷으로 이 정보를 상관(correlating)시킬 수 있는 능력을 제공한다. 다른 예들에서, 사용자 인터페이스(131)는 환자의 약국, 보험 또는 기타 관련된 주제와 관련된 정보를 수신할 수 있다. 수집 프로세스에는 신체 검진 및 건강 검진이 포함될 수 있다.
또한, 클라이언트 애플리케이션(130)은 미리 정의된 포맷으로 수집 프로세스동안 제공된 정보를 정리(organizing)할 수 있다. 일례에서, 정보는 시간 순서대로 그리고 알레르기 또는 약물과 같은 주제별로 분류될 수 있다. 정보가 의료 데이터인 실시예들에서, 의료 서비스 제공자에게 공통적인 시간순 포맷은 클라이언트 애플리케이션(130)을 사용하여 획득된 데이터를 효율적으로 제공하는 방법을 제공한다. 그것은 의료 서비스 제공자에 의해 요구되는 바와 같이 지정된 모든 건강 정보를 제공할 것이다. 제공된 정보가 완전하고 정확할 수 있기 때문에, 약물이나 알레르기의 올바른 식별에 의해서 뿐만 아니라 의사 또는 제공자에게 필요한 것으로 입증될 수 있는 병력 전체를 제공함으로써 의료 사고를 제한하는 데 도움이 될 수 있다.
데이터는 클라이언트 애플리케이션(130)에 의한 암호화 이전에 포맷팅 그리고/또는 압축될 수 있거나, 또는 판독기 애플리케이션(136)은 해독될 때 그리고/또는 압축 해제될 때 데이터를 포맷팅할 수 있다. 따라서, 클라이언트 애플리케이션(130) 또는 판독기 애플리케이션(136)은 Health Level 7 International에 의해 개발된 유연한 마크업 표준(flexible markup standard)을 포함하는 CDA(Clinical Document Architecture) 포맷과 같은 미리 정의된 포맷으로 데이터를 포맷팅할 수 있다. CDA 포맷은 환자와 전문 의료진 간의 정보 교환을 위한 퇴원 요약(discharge summaries) 및 경과 메모(progress note)와 같은 특정 의료 기록의 미리 정의된 구조를 포함한다. CDA 포맷은 텍스트, 이미지 및 오디오 또는 비디오와 같은 다른 유형의 멀티미디어를 포함할 수 있다. 다른 예들에서, 포맷은 판독기 애플리케이션(136)을 통해 의료 서비스 제공자에 의해 특정될 수 있다.
다양한 실시예들에서, 클라이언트 애플리케이션(130)은 정보의 요약을 사용자가 의료 서비스 제공자의 사무실에서 또는 방문 이전에 인쇄하도록 Microsoft Word®, PDF®, 또는 다른 적절한 포맷으로 익스포트 할 수 있다. 일부 실시예들에서, 기계 판독 가능 식별자(133)는 생성된 문서의 모퉁이에 또는 다른 적절한 위치에 배치될 수 있다. 판독기 기기(109)를 사용하여, 의료 서비스 제공자는 특정 관행의 관습에 따라, 클라이언트 기기 디스플레이(124) 또는 문서로부터 기계 판독 가능 식별자(133)를 스캔하여 이 정보를 차트 또는 전자 건강 기록(EHR)으로 가져올 수 있다. 이해될 수 있는 바와 같이, 클라이언트 애플리케이션(130)이 기계 판독 가능 식별자(133)를 생성하기 전에 건강 정보를 암호화하도록 구성될 수 있기 때문에, 의료 서비스 제공자용 판독기 기기(109)는 기계 판독 가능 식별자(133)에 의해 제공된 정보를 해독할 수 있을 것이다. 그 결과, 클라이언트 애플리케이션(130)의 사용자는, 예를 들어 사무실에 앉아있는 동안, 예진 서식(medical intake format)을 작성하는 긴 과정을 우회할 수 있다. 사용자에 의해 제공된 정보는 전문 의료진에 의해 업데이트될 수 있으므로, 이는 의사에게 필요한 것으로 입증될 수 있는 병력 전체를 제공할 뿐만 아니라 약물 및 알레르기의 정확한 식별을 통해 의료 사고를 제한하는 데 도움이 될 수 있다.
클라이언트 애플리케이션(130)은 브라우저 애플리케이션을 통해 액세스되는 웹 기반 애플리케이션 또는 모바일 애플리케이션을 포함 할 수 있다. 웹 기반 애플리케이션을 사용하는 개인은 소유자가 방문 전에 인쇄할 수 있도록 요약 정보를 Word® 또는 PDF® 포맷으로 변환할 수 있으며, 정보는 세션 완료시 삭제될 수 있다. 인쇄물의 모퉁이에는 관련된 기계 판독 가능 식별자(133)가 도시될 수 있다.
의료 서비스 제공자의 재량과 능력에 기초하여, 또 다른 실시 예는 클라이언트 애플리케이션(130)이 정보 및/또는 기계 판독 가능 식별자(133)가 첨부된 전자 메일을 생성하여 의료 서비스 제공자, 사무실 직원 또는 건강 시스템에게 이메일을 보내서 전자적으로 공유하는 것을 명시한다. 이는 방문 전에 집에서 또는 의료 서비스 제공자의 대기실에서 소유자에 의해 완료될 수 있다. 정보의 포맷은 의료 서비스 제공자가 선호하는 포맷이 될 것이다. 이 시점부터 그것은 환자의 페이퍼 차트에 추가하기 위해 인쇄되거나 스캔되거나, 또는 전자 의료 기록에 수동으로 입력될 수 있다. 마지막으로 그것은 EHR 또는 독점 전자 의료 기록(EMR) 시스템에 전자적으로 연결될 수 있다. 이 정보를 전자적으로 공유하기 전에, 소유자는 HIPAA 규정을 다시 검토해야할 수 있으며, 그리고 이 정보의 검토에 대한 날짜/시간 스탬프 및 전자 서명이 다시 요구될 수 있다.
이제 도 7l을 참조하면, 수집 프로세스 중에 제공된 사용자 입력을 갖는 기계 판독 가능 식별자(133)가 도시될 수 있다. 암호화된 이미지를 판독기 기기(109)의 렌즈 또는 카메라에 가져감으로써, 암호화된 건강 정보는 판독기 기기(109)에 의한 해석을 위해 전달될 수 있다. 일부 실시예들에서, 부양가족은 기계 판독 가능 식별자(133)의 이미지를 캡처함으로써 부모의 클라이언트 기기(106)로 또는 그 반대로 자신의 정보를 전송할 수 있다. 키 관리 애플리케이션(118)은 필요한 동의가 획득될 때 적절한 암호화 키들(121)의 전달을 용이하게 한다.
도 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)에서의 사용을 위해 정보를 암호화할 수 있다.
추가 실시예들에서, 암호화 키(121)는 생년월일, 사회 보장 번호, 또는 광범위하게 또는 공개적으로 이용 가능하지 않을 수 있는 다른 상수로서 설정될 수 있다. 그 다음, 암호화된 QR 이미지에 표시된 정보를 판독하고 전송하는데 필요한 필수 소프트웨어를 획득하는 모든 의료 서비스 제공자는 전자적으로 그리고 무선으로 사용자 입력을 즉시 추출할 수 있다. 일부 실시예들에서, 정보가 해독되기 전에 정보의 수신자가 발신 사용자에게 고유한 다른 식별자(예를 들어, 생년월일 또는 사회 보장 번호)를 입력해야하는 경우 추가적인 보안 레벨이 사용될 수 있다.
정보를 추출하는 프로세스는 의료 서비스 제공자 또는 다른 관심 있는 사람이 소유한 다른 클라이언트 기기(106) 또는 판독기 기기(109)의 카메라 렌즈에 기계 판독 가능 식별자(133)를 가져감으로써 달성될 수 있다. 이해될 수 있는 바와 같이, 이것은 프런트 오피스의 직원이 1 분 이내에 수행할 수 있다. 그 다음, 획득된 정보는 판독기 기기(109)상의 판독기 애플리케이션(136) 또는 다른 애플리케이션들에 의해 사용되어 환자의 페이퍼 차트 또는 전자 의료 기록 시스템에 부가될 수 있다. 또한, 판독기 애플리케이션(136)은 제3 자 EMR 시스템 내 필드들을 자동으로 채우도록 구성 될 수 있다.
다음으로 도 7n을 참조하면, 클라이언트 애플리케이션(130)은 암호화된 메시지들을 클라이언트 기기(106)로부터 다른 기기로 발송하는 것을 용이하게 할 수 있다. 일례에서, 클라이언트 애플리케이션(130)은 환자가 자신의 의료 서비스 제공자와 직접 통신할 수 있게 한다. 클라이언트 애플리케이션(130)은 클라이언트 기기(106)의 사용자에 의해 생성된 메시지를 암호화하고 암호화된 메시지를 네트워크(112)를 통해 다이렉트 메시징 서비스(122)에 전송할 수 있다. 그 다음, 다이렉트 메시징 서비스(122)는 암호화된 메시지를 수신 클라이언트 기기(106)에 전송할 수 있다. 다른 실시예들에서, 메시지들은 기계 판독 가능 식별자(133)를 사용하여 클라이언트 기기들(106) 간에 전달될 수 있다. 클라이언트 애플리케이션(130)은 다이렉트 메시징 서비스(122)를 통해 기계 판독 가능 식별자(133)의 전송을 더 용이하게 할 수 있다.
이제 도 8을 참조하면, 클라이언트 애플리케이션(130), 판독기 애플리케이션(136), 또는 다른 적절한 애플리케이션을 구성하여 매트릭스 코드 또는 다른 유형의 기계 판독 가능 식별자(133)를 생성하도록 구현될 수 있는 의사 코드(800)가 도시되어 있다. 예를 들어, 의사 코드의 라인 01에 있는 함수는 프로그래밍 방식으로 호출되어 매트릭스 코드를 생성할 수 있다. 라인 02는 도 7a 내지 도 7k의 사용자 인터페이스들(131)을 제시함으로써 수행되는 수집 프로세스에서 제공되는 사용자 입력과 같은, 기계 판독 가능 식별자(133)에 포함될 사용자 입력을 수신한다. 사용자 입력이 클라이언트 기기(106)에 국부적으로 저장되기 때문에, 그것은 적절하게 질의될 수 있다.
라인 03에서, 적절한 함수 호출을 사용하여 암호화 키(121)가 획득된다. 도 8의 실시예에서, 암호화 키(121)는 특정 판독기 기기(109)를 위해 제공된 식별자에 기초하여 획득된다. 예를 들어, 클라이언트 애플리케이션(130)의 사용자는 데이터의 의도된 수신자를 지정할 수 있다. 다른 실시예들에서, 사용자는 자신의 암호화 키(121)를 지정할 수 있다. 추가 실시예들에서, 암호화 키(121)는 생년월일, 사회 보장 번호, 또는 사용자에 의해 제공된 다른 정보를 사용하여 의사 랜덤하게 생성되거나 결정될 수 있다.
라인 04에서, 모드 지시자(309)가 설정된다. 도 8의 예에서, 모드 지시자는 영숫자 모드를 나타내는 "0010"으로 설정된다. Line 05에서 입력 데이터의 문자 수가 결정된다. 라인 06에서, 함수 호출은 암호화 키(121)를 사용하여 사용자 입력을 암호화하고, 암호화된 문자열 또는 다른 적절한 변수 유형을 반환하는 적절한 함수에 대해 이루어진다. 라인 07에서는 적절한 함수 호출을 사용하여 Reed-Solomon 오류 코드가 결정됩니다. 라인 08-09에서는 데이터가 포맷팅될 수 있다. 라인 10에서, 포맷팅된 데이터는 이미지 또는 다른 적절한 포맷의 기계 판독 가능 식별자(133)를 생성하기 위해 프로그래밍 방식의 함수 호출의 변수로서 제공된다.
이제 도 9를 참조하면, 외부 소스로부터 데이터를 임포트하는 클라이언트 애플리케이션(130)의 다른 예가 도시되어 있다. 상술된 바와 같이, 일부 상황들에서, 클라이언트 애플리케이션(130)의 사용자에 의해 제공된 입력 데이터는 해독된 정보에 대한 액세스를 갖는 판독기 기기(109) 또는 다른 기기 상에서 조작 될 수 있다. 예를 들어, 의사는 최신 혈압 측정, 체중 측정, 혈당 측정 또는 기타 정보를 포함하도록 데이터를 업데이트하거나 변경할 수 있다. 사용자는 보다 완전하고 정확한 병력을 유지하기 위해 자신의 클라이언트 기기(106)에 이러한 업데이트된 정보를 저장하기를 원할 수 있다. 일부 실시예들에서, 판독기 애플리케이션(136)은 물리적 의료 파일에 삽입하기 위해 인쇄할 수 있는 문서(900)를 생성할 수 있다.
판독기 애플리케이션(136)은 그것의 암호화 키(121)를 이용하여 기계 판독 가능 식별자(133a 내지 133b)를 갖는 문서(900)를 생성 할 수 있다. 키 관리 애플리케이션(118)은 판독기 기기(109), 또는 기계 판독 가능 식별자(133)를 생성한 다른 기기에 기초하여 적절한 암호화 키(121)를 클라이언트 기기(106)에 제공할 수 있다. 클라이언트 애플리케이션(130)은 문서(900) 상에 배치된 기계 판독 가능 식별자(133)의 하나 이상의 이미지들의 캡처를 용이하게 할 수 있다. 기계 판독 가능 식별자(133)의 이미지가 클라이언트 기기(106)상에서 획득되어 해독되면, 클라이언트 기기(106)는 국부적으로 저장된 정보를 업데이트할 수 있고 그리고/또는 사용자에 의한 검토를 위해 사용자 인터페이스(131) 내 필드들을 자동으로 채울 수 있다.
다양한 실시예들에서, 판독기 애플리케이션(136)에 의해 생성된 기계 판독 가능 식별자(133)의 기본이 되는 데이터는 클라이언트 기기(106) 및 판독기 기기(109)에서만 사용 가능한 암호화 키(121)를 사용하여 암호화된다. 클라이언트 애플리케이션(130)은 기초가 되는 데이터를 해독하고 그 데이터를 클라이언트 기기(106)에 국부적으로 저장할 수 있다. 사용자가 수집 프로세스의 일부를 수행한다면, 업데이트된 데이터는 사용자 인터페이스(131) 내 자동으로 채워진 필드에 제공될 수 있다.
다수의 보안 메카니즘이 클라이언트 애플리케이션(130)의 코드 및 구현에 내장된다. 잠재적으로 중요한 정보의 폭 때문에, 다양한 실시예들에서, 이 정보는 클라이언트 기기(106)에 국부적으로 저장된다. 따라서, "클라우드"를 통한 이러한 정보의 잠재적 손실은 감소되거나 제거된다. 다양한 실시예들에서, 클라이언트 애플리케이션(130)은 정보의 원격 입력 및 업데이트를 위해 클라우드 기반 시스템과 통합될 수 있다.
스마트 폰 또는 다른 유형의 클라이언트 기기(106) 상에 제공되는 디폴트 패스워드 보호에 부가하여, 클라이언트 애플리케이션(130)의 기능들에 액세스하기 위해 추가적인 패스워드 또는 개인 식별 번호(PIN)가 요구될 수 있다. 연속적으로 미리 정의된 횟수(예를 들어, 5 번)만큼 잘못된 패스워드는 24 시간과 같이 미리 정의된 기간 동안 클라이언트 애플리케이션의 사용을 불가능하게 할 수 있다. 이 정보를 전자적으로 공유하기 전에, 이 정보를 공유하기 위한 소유자의 허가를 나타내는 추가 식별자가 필요할 수 있다.
다양한 실시예들에서, 기계 판독 가능 식별자(133)로부터의 정보를 철회하는 것을 허가받은 의료 서비스 제공자는 또한 정보를 갱신 또는 보강하고 갱신되거나 증대된 정보를 또 다른 기계 판독 가능 식별자(133)의 형태로 소유자에게 제공하는 것도 허가받을 수 있다. 결과적으로, 갱신된 정보는 클라이언트 기기(106) 상에 이미 존재하는 정보와 일치(reconciling)될 수 있다. 이러한 방식으로, 소유자는 새로운 정보를 입력할 필요가 없을 것이다. 왜냐하면 이것은 클라이언트 애플리케이션(130)에 의해 완료될 것이기 때문이다. 이는 또한 모바일 기기 캘린더에 병합될 향후 방문에 대한 리마인더, 약물 재충전에 대한 리마인더 등을 포함할 수 있다. 다른 예에서, 클라이언트 애플리케이션(130)은 약국과 약품을 전자적으로 일치시킬 수 있다.
클라이언트 애플리케이션(130)은 다수의 버전으로 구현 될 수 있으며, 이 경우, 각 버전은 영어, 스페인어, 프랑스어 또는 다른 언어와 같은 상이한 언어를 사용한다. 필요한 경우, 사용자 입력은 번역기 서비스(120)에 의해 사용자의 언어로부터 수신자의 언어로 번역될 수 있다. 이는 기계 판독 가능 식별자(133)에서 사용하기 위해 데이터를 인코딩하기 전에 또는 판독기 애플리케이션(136)을 이용하여 정보를 디코딩할 때 발생할 수 있다. 높은 수준의 의사소통 또는 영어로 된 의학 용어가 알려지지 않은 상황에서, 이 정보는 의학적 또는 다른 유형의 평가를 돕기 위해 사용된다.
일 실시예에서, 기계 판독 가능 식별자(133)는 클라이언트 기기(106)의 "잠금 화면"에서 인코딩될 수 있어서, 전화기에 대한 액세스 권한이 없는 사람은 클라이언트 기기(106)를 잠금 해제할 필요 없이 중요한 식별 정보, 건강 정보 또는 연락 정보에 액세스 할 수 있다. 다른 실시예들에서, 수집 프로세스 동안 제공된 정보는 예를 들어 사용 세션의 종료 시에 클라이언트 기기(106) 또는 판독기 기기(109)에서 주기적으로 지워질 수 있다.
다음으로, 도 10을 참조하면, 다양한 실시예들에 따른 클라이언트 애플리케이션(130)의 일부의 동작의 일례를 제공하는 흐름도가 도시된다. 도 10의 흐름도는 본원에 기술된 바와 같이 클라이언트 애플리케이션(130)의 일부분의 동작을 구현하기 위해 사용될 수 있는 많은 상이한 유형들의 기능적 배열의 예를 제공할 뿐이라는 것이 이해되어야 한다. 대안으로서, 도 10의 흐름도는 하나 이상의 실시예들에 따라 클라이언트 기기(106)에서 구현된 방법의 구성요소들의 예를 묘사하는 것으로 볼 수 있다.
단계 1003에서 시작하여, 클라이언트 애플리케이션(130)은 부양인, 애완동물 또는 다른 동물 등과 같은 하나 이상의 개체에 대해 사용자로부터 건강 정보와 같은 정보를 획득하도록 실행된다. 이는 사용자가 하나 이상의 세션 동안 사용자 인터페이스들(131)을 통해 반복하는 수집 프로세스에서 차후에 제시되는 사용자 인터페이스(131)를 사용하여 달성 될 수 있다. 다음으로, 단계 1006에서, 클라이언트 애플리케이션(130)은 HIPAA 통지가 사용자에 의해 확인 응답되었는지의 여부를 판단한다. HIPAA 통지가 확인 응답되지 않은 경우, HIPAA 통지는 사용자에게 표시될 수 있으며, 프로세스는 단계 1003으로 되돌아가거나 종료될 수 있다. HIPAA 통지가 사용자에 의해 확인 응답되었다면, 프로세스는 단계 1009로 진행할 수 있으며, 사용자에 의해 제공된 일반, 건강 또는 다른 정보가 하나 이상의 미리 정의된 암호화 표준 및 포맷에 따라 암호화된다.
다양한 실시예들에서, 데이터는 하나 이상의 암호화 키들(121)을 사용하여 암호화된다. 다양한 실시예들에서, 암호화 키(121)는 생년월일, 성, 이름, 사회 보장 번호, 이들의 조합 또는 잠재적으로 고유한 다른 정보 같은, 사용자에 의해 제공된 정보를 포함한다. 단계 1012에서, 암호화된 정보는 바코드 또는 매트릭스 코드와 같은 기계 판독 가능 식별자(133)를 생성하는데 사용된다. 기계 판독 가능 식별자를 생성하기 위해 취해진 단계들은 도 6 및 도 8과 관련하여 설명된다.
도 10을 다시 참조하면, 단계 1015에서, 클라이언트 기기 디스플레이(124) 상에 상기 생성된 기계 판독 가능 식별자(133)를 보여주기를 원하는지 여부를 사용자에게 묻는 추가 통지가 사용자에게 표시될 수 있다. 마지막으로, 단계 1018에서, 기계 판독 가능 식별자는 클라이언트 기기 디스플레이(124)에서 렌더링하기 위해 사용자 인터페이스(131)에서 인코딩될 수 있다. 이 시점에서, 사용자는 판독기 기기(109)에 의한 스캐닝을 위해 기계 판독 가능 식별자(133)를 제공할 수 있거나, 또는 사용자는 정보를 포함하고 그 위에 기계 판독 가능 식별자(133)를 갖는 문서를 인쇄할 수 있다.
다음으로 도 11을 참조하면, 다양한 실시예들에 따른 클라이언트 애플리케이션(130)의 일부의 동작의 또 다른 예를 제공하는 흐름도가 도시된다. 도 11의 흐름도는 본 명세서에서 설명된 클라이언트 애플리케이션(130)의 일부의 동작을 구현하기 위해 사용될 수 있는 많은 상이한 유형의 기능적 배열의 예를 제공하는 것뿐이라는 것이 이해되어야 한다. 대안으로서, 도 11의 흐름도는 하나 이상의 실시예들에 따라 클라이언트 기기(106)에 구현된 방법의 구성요소들의 예를 묘사하는 것으로 볼 수 있다.
단계 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)를 소유하거나 동작시킬 수 있다.
클라이언트 애플리케이션(130)이 수집 프로세스를 통한 사용자로부터의 입력 데이터의 수집을 용이하게 함에 따라, 단계 1109에서, 입력 데이터는 기계 판독 가능 식별자(133)에 포함되도록 액세스될 수 있다. 수집 프로세스는, 도 7a 내지 도 7k에 도시된 것과 같은, 다양한 데이터를 입력하도록 사용자에게 촉구하는 일련의 사용자 인터페이스들(131)을 포함할 수 있다. 단계 1112에서, 클라이언트 애플리케이션(130)은 입력 데이터를 적어도 제1 데이터 부분 및 제2 데이터 부분으로 세그먼트화, 분할(partitioning) 또는 포맷팅할 수 있다. 예를 들어, 제1 데이터 부분은 일반의(general practitioner)를 위한 기기에 의해 해석될 수 있는 반면, 제2 데이터 부분은 지압사를 위한 기기에 의해 해석될 수 있다.
다음으로, 단계 1115에서, 클라이언트 애플리케이션(130)은 제1 암호화 키(121a)를 사용하여 제1 데이터 부분을 암호화할 수 있는 반면, 단계 1118에서, 클라이언트 애플리케이션(130)은 제2 암호화 키(121b)를 사용하여 제2 데이터 부분을 암호화할 수 있다. 컴퓨팅 환경(103)에서 동작하는 키 관리 애플리케이션(118)은 사용자에 의해 허가된 바와 같이, 데이터를 해독할 수 있는 암호화 키(121)의 송신 및 수신을 감독할 수 있다. 대안적으로, 다른 실시예들에서, 판독기 기기(109)는 컴퓨팅 환경(103)의 데이터 저장소(115)에 저장된 미리 정의된 암호화 키(121)와 연관될 수 있다. 키 관리 애플리케이션(118)은 판독기 기기(109) 또는 다른 클라이언트 기기(106)에 의한 액세스를 위해 정보가 암호화되도록 특정 판독기 기기(109)에 대한 암호화 키(121)를 클라이언트 애플리케이션(130)에 제공할 수 있다.
단계 1121에서, 클라이언트 애플리케이션(130)은 클라이언트 기기 디스플레이(124)에서의 렌더링을 위해 암호화된 제1 데이터 부분 및 암호화된 제 2 데이터 부분을 사용하여 기계 판독 가능 식별자(133)를 생성할 수 있다. 판독기 기기(109)는 기계 판독 가능 식별자(133)의 하나 이상의 이미지들을 캡처하여 기초가 되는 데이터에 액세스할 수 있다.
추가 실시예들에서, 클라이언트 애플리케이션(130)의 사용자는 일반의에 관한 것과 같은 기기 프로파일(148)을 높은 수준의 액세스와 연관시킬 수 있으며, 이 경우, 일반의는 자신의 판독기 기기(109)를 사용하여 클라이언트 애플리케이션(130)의 사용자에 의해 제공된 모든 또는 상당한 양의 입력 데이터에 액세스할 수 있다. 키 관리 애플리케이션(118)은 일반의를 위한 판독기 기기(109)에 뿐만 아니라 사용자의 클라이언트 기기(106)에 암호화 키(121)를 발송할 수 있다. 유사하게, 키 관리 애플리케이션(118)은 지압사 또는 다른 의료 제공자를 위한 판독기 기기(109)에 상이한 암호화 키(121)를 발송할 수 있다. 클라이언트 애플리케이션(130)은 일반의의 판독기 기기(109)에 대응하는 암호화 키(121)를 사용하여 일반의에 의한 수신이 허가된 데이터를 인코딩하면서 지압사의 판독기 기기(109)에 대한 상이한 암호화 키(121)를 사용하여 지압사에 의한 수신이 허가된 데이터를 인코딩할 수 있다. 이를 위해, 단일 기계 판독 가능 식별자(133)를 사용하여, 기계 판독 가능 식별자(133)의 기초가 되는 데이터에 대한 액세스 제어가 제공된다. 그 후, 프로세스는 종료로 진행한다.
일부 실시예들에서, 제1 데이터 부분과 연관된 제1 액세스 레벨(152a)이 정의될 수 있다. 예를 들어, 사용자는 자신의 병력과 요구되는 높은 액세스 레벨(152)을 연관시키면서, 자신의 개인 정보와 요구되는 낮은 액세스 레벨(152)을 연관시킬 수 있다. 높은 액세스 레벨(152)과 연관된 판독기 기기(109)는 병력 및 개인 정보 모두에 액세스 할 수 있지만, 낮은 액세스 레벨(152)과 연관된 판독기 기기(109)는 단지 개인 정보에만 액세스할 수 있다. 일례에서, 어린이의 코치는 플레이어 또는 부모에 의해 허가된 바와 같이, 플레이어에 대한 긴급 연락처 정보에 액세스하는데 사용되는 클라이언트 기기(106)에 부여된 낮은 액세스 레벨(152)을 가질 수 있다.
즉, 액세스 레벨(152)은 판독기 기기들(109)이 액세스할 수 있는 데이터의 부분을 결정하는데 사용될 수 있다. 사용자는 또한 어느 엔티티들(예를 들어, 진료실)이 다양한 액세스 레벨들(152)과 연관된 데이터에 액세스할 수 있는지를 클라이언트 애플리케이션(130)을 통해 정의할 수 있다. 이를 위해, 제1 데이터 부분과 연관된 제1 액세스 레벨(152a) 및 제2 데이터 부분과 연관된 제2 액세스 레벨(152b)이 식별될 수 있으며, 이 경우, 제1 데이터 부분은 제1 액세스 레벨(152a)에 적어도 부분적으로 기초하여 제1 암호화 키(121a)를 사용하여 암호화될 것이며, 제2 데이터 부분은 제2 액세스 레벨(152b)에 적어도 부분적으로 기초하여 제2 암호화 키(121b)를 사용하여 암호화될 것이다. 이해될 수 있는 바와 같이, 제1 액세스 레벨(152a)은 제2 액세스 레벨(152b)과 상이할 수 있다.
다음으로 도 12를 참조하면, 다양한 실시예들에 따른 클라이언트 애플리케이션(130)의 일부의 동작의 또 다른 예를 제공하는 흐름도가 도시되어 있다. 도 12의 흐름도는 본 명세서에서 설명된 클라이언트 애플리케이션(130)의 일부의 동작을 구현하기 위해 사용될 수 있는 많은 상이한 유형의 기능적 배열의 예를 제공할 뿐이라는 것이 이해되어야 한다. 대안으로서, 도 12의 흐름도는 하나 이상의 실시예들에 따라 클라이언트 기기(106)에서 구현된 방법의 구성 요소들의 예를 나타낸 것으로 간주 될 수 있다.
단계 1203에서 시작하여, 클라이언트 애플리케이션(130)은 클라이언트 기기(106)와 통신하는 카메라 또는 다른 이미징 기기에 의해 캡쳐된 이미지의 기계 판독 가능 식별자(133)를 식별할 수 있다. 예를 들어, 기계 판독 가능 식별자(133)는 수집 프로세스의 완료 후에 생성된 초기 기계 판독 가능 식별자(133)를 사용하여 클라이언트 애플리케이션(130)의 사용자에 의해 초기에 제공되는 업데이트된, 보완된 또는 다른 조작된 데이터를 제공하도록 판독기 기기(109)에 의해 생성되는 것일 수 있다. 이해될 수 있는 바와 같이, 판독기 기기(109)에 의해 수정된 데이터는 클라이언트 기기(106) 상에서 생성된 원래의 기계 판독 가능 식별자(133)로부터 획득될 수 있다. 기계 판독 가능 식별자(133)의 이미지는 클라이언트 기기(106)에 의해 획득되어 그것의 국부적으로 저장된 데이터를 업데이트할 수 있다. 이미지는 도 2에 도시된 바와 같이 판독기 기기 디스플레이(127)로부터, 또 다른 클라이언트 기기(106)의 디스플레이로부터, 또는 도 9에 도시된 바와 같이 문서(900)로부터 캡처될 수 있다.
다음으로, 단계 1206에서, 암호화된 데이터를 식별하기 위해 기계 판독 가능 식별자(133)가 디코딩된다. 단계 1209에서, 클라이언트 애플리케이션(130)은 기계 판독 가능 식별자(133)가 획득되는 발신 장치로부터의 기기 프로파일(148)과 연관된 암호화 키(121)를 사용하여 암호화된 데이터를 해독할 수 있다. 일부 실시예들에서, 기계 판독 가능 식별자(133)가 획득된 판독기 기기(109)를 식별하는 기계 판독 가능 식별자(133)로부터 판독된 데이터는 공개적일 수 있으며(암호화되지 않을 수 있으며), 이 경우 임의의 기기가 데이터를 디코딩할 수 있다. 데이터는 암호화된 데이터에 액세스하는 것을 허가받은 개인 또는 클라이언트 기기(106)를 식별하는 고유 식별자 및/또는 기기 식별자(145)를 포함할 수 있다. 클라이언트 애플리케이션(130)은 클라이언트 기기(106)가 그렇게 하도록 허가받은 경우에 암호화 키(121)를 획득하기 위해 기기 식별자(145)를 컴퓨팅 환경(103)에 전달할 수 있다.
단계 1212에서, 기계 판독 가능 식별자(133)로부터 획득된 해독된 데이터는 클라이언트 기기(106)상에 국부적으로 저장된 데이터를 업데이트하거나 보완하는데 사용될 수 있다. 경우에 따라, 해독된 데이터는 사용자가 제공한 데이터와 충돌할 수 있다. 예를 들어, 사용자가 제1 기계 판독 가능 식별자(133)를 통해 판독기 기기(109)에 제공한 데이터의 일부가 변경되었을 수 있다. 대안적으로, 사용자에 의해 제공된 데이터는 이전에 사용자에게 알려지지 않았던 의사에 의해 취해진 판독값들로 보강될 수 있다.
이에 따라, 단계 1215에서, 클라이언트 애플리케이션(130)은 해독된 데이터와 예를 들어 수집 프로세스를 통해 사용자에 의해 제공된 데이터 간에 충돌이 존재하는지를 판단한다. 예를 들어, 사용자가 자신의 클라이언트 기기(106)를 사용하여 제공한 데이터가 임의의 관점에서 판독기 기기(106)에 의해 반환된 데이터와 상이하다면, 데이터는 충돌할 수 있다. 예를 들어, 판독기 기기(109)를 사용하여, 의사 또는 간호사는 사용자에 의해 제공된 데이터를 업데이트하여 최근 판독값들 또는 측정값들을 반영할 수 있다. 대안적으로, 판독기 기기(109)를 사용하여, 의사 또는 간호사는 사용자에 의해 제공된 데이터를 보강할 수 있다. 어느 시나리오에서나 두 데이터 집합이 동일하지 않기 때문에 데이터 간의 충돌이 식별된다. 충돌이 존재하는 데이터의 특정 부분을 식별하기 위해 DIFF 기능 또는 유사한 기능이 사용될 수 있다.
데이터 간의 충돌이 존재한다면, 프로세스는 단계 1218로 진행하여 데이터 충돌을 조정하거나 해결한다. 일부 실시예들에서, 사용자는 충돌에 관한 정보를 제공받을 수 있으며, 이 경우 사용자는 사용자에 의해 제공된 원본 데이터를 유지할 것인지 또는 판독기 기기(109)로부터 제공된 데이터로 데이터를 업데이트할 것인지를 선택할 수 있다. 다른 실시예들에서, 판독기 기기(109)로부터 제공된 데이터는 사용자에 의해 제공된 데이터를 자동으로 대체하거나 또는 클라이언트 기기(106)의 메모리에 자동으로 추가되어 수집 프로세스 동안 사용자에 의해 제공된 데이터를 보강할 수 있다.
일부 예들에서, 일부 데이터는 특정 유형의 데이터에 관하여 가변하는 액세스 레벨(152)과 연관될 수 있다. 예를 들어, 의료 제공자가 클라이언트 기기(106)에 저장된 의료 데이터를 업데이트한다면, 의료 제공자는 사용자에 의해 (또는 디폴트에 의해) 높은 액세스 레벨(152)을 할당받을 수 있으므로, 사용자를 통해 의료 제공자에 대한 복종(deference)이 보여질 수 있다. 다른 예에서, 의료 제공자가 클라이언트 기기(106)의 사용자에 대한 전화번호 또는 주소와 같은 개인 정보를 업데이트한다면, 사용자가 자신의 전화번호 또는 주소를 더 잘 이해할 가능성이 있기 때문에 사용자에 대한 복종(deference)이 보여질 수 있다. 즉, 의료 제공자는 의료 정보에 대하여는 높은 액세스 레벨(152)을, 그리고 개인 정보에 대하여는 낮은 액세스 레벨(152)을 가질 수 있다.
대안적으로, 데이터 충돌이 존재하지 않으면, 프로세스는 단계 1221로 진행하여, 이후의 수집 프로세스 동안, 사용자 인터페이스들(131) 내의 필드들은 기계 판독 가능 식별자(133)로부터 획득된 데이터로 자동으로 채워질 수 있다. 그 후, 프로세스는 종료로 진행한다.
도 13을 참조하면, 다양한 실시예들에 따른 키 관리 애플리케이션(118)의 일부의 동작의 일례인 흐름도가 도시된다. 도 13의 흐름도는 단지 본원에 설명된 바와 같이 키 관리 애플리케이션(118)의 일부의 동작을 구현하는데 사용될 수 있는 많은 상이한 유형의 기능적 구성의 일례를 제공할 뿐인 것이 이해된다. 대안으로서, 도 13의 흐름도는 하나 이상의 실시예들에 따라 컴퓨팅 환경(103)에서 구현되는 방법의 구성요소들의 예를 나타내는 것으로 보여질 수 있다.
단계 1303으로 시작하여, 클라이언트 애플리케이션(130)에서 선택이 이루어진 경우, 의료 제공자와 같은 엔티티의 선택은 클라이언트 기기(106)로부터 수신된다. 예를 들어, 사용자는 수집 프로세스 중에 제공된 입력 데이터를 공유하길 원하는 엔티티를 지정할 수 있다. 일례에서, 사용자는 클라이언트 애플리케이션(130)에 의해 생성된 사용자 인터페이스(131)에서 "Atlanta Health" 제공자를 선택할 수 있다. "Atlanta Health"는 데이터 저장소(115)에 저장된 하나 이상의 기기 프로파일들(148)과 연관된 하나 이상의 판독기 기기들(109)을 소유하거나 동작시킬 수 있다.
일부 예들에서, 엔티티, 또는 엔티티에 의해 작동되는 판독기 기기(109)에 대응하는 기기 프로파일(148)은 데이터 저장소(115)에 저장된 미리 정의된 암호화 키(121)를 가질 수 있다. 그러나 단계 1306에서, 예를 들어, 사용자 대 엔티티 관계에 고유한 암호화 키(121)를 생성하기 위해, 기기 프로파일(148)에 대한 암호화 키(121)가 생성될 수 있다. 이해될 수 있는 바와 같이, 단계 1306은 옵션일 수 있다. 일부 예들에서, 암호화 키(121)는 의사 랜덤하게, 사용자에 의해 제공된 정보를 사용하여, 또는 이들의 조합을 사용하여 생성된다.
다음으로, 단계 1309에서, 암호화 키(121)가 클라이언트 기기(106)로 발송되며, 이로써, 클라이언트 애플리케이션(130)은 기기 프로파일(148)과 연관된 판독기 기기(109)에 의한 수신을 위해 입력 데이터를 인코딩할 수 있다. 판독기 기기(109)가 그곳에 저장된 암호화 키(121)를 갖지 않는다면, 단계 1312에서, 암호화 키(121)는, 필요하다면, 판독기 기기(109)로 발송될 수 있다.
도 14를 참조하면, 다양한 실시예들에 따른 키 관리 애플리케이션(118)의 동작의 다른 예를 도시하는 흐름도가 도시된다. 도 14의 흐름도는 단지 본원에 설명된 바와 같이 키 관리 애플리케이션(118)의 일부분의 동작을 구현하는데 사용될 수 있는 많은 상이한 유형의 기능적 배열들의 일례를 제공할 뿐이라는 것이 이해된다. 대안으로서, 도 14의 흐름도는 하나 이상의 실시예들에 따라 컴퓨팅 환경(103)에서 구현되는 방법의 구성요소들의 예를 묘사하는 것으로 볼 수 있다.
일부 실시예들에서, 기계 판독 가능 식별자(133)는 비-암호화된 데이터 또는 글로벌 또는 공유 암호화 키(121)를 사용하여 해독될 수 있는 데이터를 포함할 수 있다. 데이터는 발신 기기에 대한 제1 기기 식별자(145a) 및 의도된 수신자에 대한 제2 기기 식별자(145b)를 포함할 수 있다. 예를 들어, 클라이언트 애플리케이션(130)은 기계 판독 가능한 식별자(133a)를 생성했던 클라이언트 기기(106)에 대한 제1 기기 식별자(145a) 및 선택된 의료 제공자와 같은 특정 엔티티와 연관된 의도된 수신자 판독기 기기(109)에 대한 제2 기기 식별자(145b)를 포함하는 기계 판독 가능한 식별자(133)를 생성할 수 있다.
판독기 기기(109)가 기계 판독 가능 식별자(133)를 스캔할 때, 판독기 기기(109)는 제1 기기 식별자(145a) 또는 의도된 수신자에 대한 제2 기기 식별자(145b)를 분석함으로써 자신이 기초가 되는 데이터에 대한 액세스를 갖는지 여부를 결정할 수 있다. 다른 예들에서, 판독기 기기(109)는 원격 인증을 위해 기기 식별자들(145)을 키 관리 애플리케이션(118)에 전달할 수 있다. 이를 위해, 단계 1403에서, 키 관리 어플리케이션(118)은 기계 판독 가능 식별자(133)를 생성한 기기에 대한 제1 기기 식별자(145a)를 수신할 수 있다. 이와 유사하게, 단계 1406에서, 키 관리 애플리케이션(118)은 기계 판독 가능 식별자(133)의 기초가 되는 데이터에 액세스하고자 하는 기기에 대한 제2 기기 식별자(145b)를 수신할 수 있다.
제1 기기 식별자(145a) 및 제2 기기 식별자(145b)를 사용하여, 단계 1409에서, 키 관리 애플리케이션(118)은 기계 판독 가능 식별자(133)의 기본이 되는 데이터를 해독하기 위해 암호화 키(121)를 요청하는 기기가 상기 기초가 되는 데이터에 액세스하는 것을 발신 사용자(예를 들어, 클라이언트 애플리케이션(130)의 사용자 또는 의료 제공자)로부터 허가받았는지 여부를 판단할 수 있다. 요청 기기가 기본이 되는 데이터에 액세스하는 것을 허가받았다면, 단계 1412에서, 키 관리 애플리케이션(118)은 그 기기에 암호화 키(121)를 발송할 수 있으며, 이 경우, 암호화 키(121)는 기계 판독 가능한 식별자(133)에 인코딩된 데이터를 해독할 수 있다. 그 후, 프로세스는 종료로 진행한다. 단계 1409로 돌아와서, 요청 기기가 기본이 되는 데이터에 액세스하는 것을 허가받지 않았다면, 프로세스는 종료로 진행한다.
클라이언트 애플리케이션(130), 판독기 애플리케이션(136) 및 키 관리 애플리케이션(118)과 같은 본원에 기술된 애플리케이션들은 의료 서비스 제공자와의 초기 방문 시 또는 차후 방문 시 요구되는 정보와 같은 중요한 정보를 효과적으로 획득, 저장 및 재생할 수 있는 능력을 제공한다. 구체적으로, 본 개시서는 사용자 친화적인 방식으로 병력을 획득하고 획득된 병력을 포함하는 기계 판독 가능 식별자(133)를 인코딩되고 및 암호화된 데이터로서 생성하는 클라이언트 애플리케이션(130)을 설명한다. 다양한 실시예들에서, 클라이언트 애플리케이션(130)을 통해 사용자에 의해 제공된 정보는 클라이언트 기기(106)에 국부적으로 저장될 수 있다. 클라이언트 기기(106)에 저장된 정보는 로컬 저장을 위해 암호화될 수 있다. 또한 재방문 시, 건강 기록의 변경 사항은 쉽게 식별될 수 있으며 제공자에게 제공될 수 있다.
오늘날, 기존의 건강 관련 애플리케이션들은 개인이 자신의 진료에 대한 책임을 지고, 건강한 생활을 증진하며, 검사 및 연구 결과를 획득하기 위해 제공자 또는 기관에 특유한 전자 의료 기록 시스템과 연결하는 능력을 향상시키는 데 도움이 된다. 이러한 애플리케이션들은 클라이언트 애플리케이션(130)의 사용을 정당화하기 위해 업데이트될 필요가 있는 일별 또는 기껏해야 주간별 데이터 포인트의 다양한 정도를 포함한다.
클라이언트 애플리케이션(130) 및 판독기 애플리케이션(136)은 iOS®, Blackberry®, Linux®, Android®, Windows® 및/또는 다른 적절한 운영 체제에서 구현될 수 있다. 클라이언트 애플리케이션(130)에 의해 획득된 정보는 단지 한 번만 사용자에 의해 제공될 필요가 있으며, 대다수의 환자에게 드물게 필요할 수 있는 중대하고 적절한 변경사항들(예를 들어, 약물 변경, 외과 수술)로 업데이트될 필요가 있다. 또한, 클라이언트 애플리케이션(130)은 사용자가 부양가족 또는 사용자가 책임질 수 있는 사람들에 대한 중요한 정보를 제공할 수 있게 한다. 이해될 수 있는 바와 같이, 기본 정보를 쉽고 정확하게 제공하는 가치는 상당하다.
다양한 실시예들에 따르면, 일상적인 진료를 제공하기 위해 의료 서비스 제공자들 및 기타 엔티티들에 의해 요구되는 필수 의료 정보의 집중적이고 적은 유지보수만이 필요한 특수한 계정(account)이 획득된다. 이 정보는 의사들을 염두에 두고 의사들에 의해 생성되지만, 시스템의 쉬운 탐색(navigation)을 위해 형성된다. 작업 흐름은 기본적인 문해력 수준을 가진 모든 사람들이 탐색을 완료할 수 있도록 형성될 것이다. 다양한 실시예들에서, 사용자로부터 요구되는 정보의 폭은 임의의 의료 서비스 제공자에 대한 모든 초기 방문에 대해 중요할 수 있는 미리 정의된 수의 질문들(예를 들어, 7개의 질문 또는 다른 수의 질문)을 중심으로 나타날 수 있다. 다양한 실시예들에서, 이러한 질문들은 구체적일 수 있고 제한을 두지 않을 수 있다.
클라이언트 애플리케이션(130)은 사용자로부터 정보를 획득하기 위해 일련의 하나 이상의 사용자 인터페이스들(131)을 생성한다. 또한, 클라이언트 애플리케이션(130)은 의사 및 환자 모두를 위해 상기 정보를 용이하고 읽기 쉬운 형태로 상관시킨다. 또한 일반의 및 전문가와 같은 다양한 제공자들 간의 기본 의료 정보의 효율적 전송을 가능하게 한다. 클라이언트 애플리케이션(130)은 부모, 어린이, 애완동물 등과 같은 친척 또는 다른 개체에 대한 병력 또는 다른 정보의 상관을 용이하게 한다. 예를 들어, 통증, 스트레스, 혼란, 의식 상실 등으로 인해 환자가 자신의 병력을 제공할 수 없는 상황뿐만 아니라 부모가 응급 상황으로 혼란스러워져있는 상황에서 다른 사람에 의해 제공된 정보가 도움이 될 수 있다. 이러한 경우, 이 중요한 정보는 빠르고, 쉽고, 정확하게 전달될 수 있으므로 정확하고 완전한 정보의 부족으로 인한 의료 사고를 예방할 수 있다. 또한, 클라이언트 애플리케이션(130)은 청각 장애인 또는 언어 장애인과 같은 의사전달 장애를 가진 개인들을 위한 건강 관리를 향상시키도록 구성된다.
다양한 실시예들에서, 의사의 진료소 또는 다른 의료 서비스 제공자는 고객접수 중 필요하거나 선택적인 정보를 지정할 수 있다. 클라이언트 애플리케이션(130)은 의료 서비스 제공자에 의해 요구되는 것으로 지정된 데이터 포인트들을 수집하도록 실행된다. 이러한 정보는 HIPAA 및 HITECH(Health Information Technology for Economic and Clinical Health Act) 규정에 따라 암호화될 수 있으며, 그리고 키 또는 패스워드를 사용하여 사용자 또는 지정된 의료 서비스 제공자에게 액세스 가능하게 만들어질 수 있다.
다양한 실시예들에 따라, 수집된 정보는 과거의 병력, 과거의 수술 이력, 알레르기, 투약물, 가족력, 사회생활력 및 예방접종으로 제한될 수 있지만, 다른 실시예들에서, 추가 정보가 수집될 수 있다. 클라이언트 애플리케이션(130)은 사용자가 기본 의학 용어 및 약물에 대한 정확한 철자법을 제공하는 것을 도와서, 의료 사고를 유발할 수 있는 혼란 및 부정확한 문서화를 방지할 수 있다.
클라이언트 애플리케이션(130)에 의해 수집된 정보는 새로운 환자 정보 패키지들을 작성하는 동안 참조를 위해 사용자 인터페이스(131)에 도시된 요약 화면으로 구성될 수 있다. 다양한 실시예들에서, 이러한 정보는 의료 서비스 제공자와의 방문 전에 인쇄하기 위해 Microsoft Word® 또는 PDF 포맷으로 변환될 수 있다. 마지막으로, 이 정보는 암호화될 수 있고, 암호화된 정보는 매트릭스 코드 또는 다른 기계 판독 가능 식별자(133)로 변환되어, 상기 정보를 의료 서비스 제공자에게 직접 종이를 쓰지 않고 그리고 무선으로 전달할 수 있다. 다양한 실시예들에서, 기계 판독 가능 식별자(133)의 스캔은 다양한 전자 의료 기록 시스템의 데이터베이스에 기초가 되는 정보를 자동으로 채우는 것을 야기한다.
개인 정보를 수집하는 것 이외에, 클라이언트 애플리케이션(130)은 피부양자, 가족 구성원, 애완동물 등에 대한 건강 정보를 획득하도록 구성될 수 있다. 이는 부양가족 및 가족 구성원들이 나이, 신체 능력 부족 등으로 인해 스스로 이러한 정보를 제공할 수 없을 때 의료 전문가에게 완전하고 정확한 정보를 제공하는 것을 도울 수 있다. 이것은 의료 서비스 제공자가 환자를 정확하게 평가하고, 능률적으로 간호하고, 불완전한 의료 기록으로 인한 의료 사고를 예방하는 데 도움이 될 수 있다. 상술한 바와 같이, 애완동물의 병력 또한 주인 및 수의사에게 중요하므로, 클라이언트 애플리케이션(130)은 애완동물에 관한 정보를 획득하도록 구성될 수 있다. 클라이언트 애플리케이션(130)의 사용자와 동일한 플랫폼에서 이 정보를 쉽게 참조할 수 있음으로써, 이러한 정보는 학교, 대학, 해외여행, 비상사태 및 다른 상황에 사용될 수 있다.
본 개시서는 의료 서비스 데이터의 맥락에서 다수의 예들을 제공하지만, 본원에 포함된 실시예들은 많은 산업 분야에 적용 가능하다. 예를 들어, 건강 정보는 자동차에 관한 정보를 포함할 수 있다. 정비사는 사람의 스마트 폰 또는 자동차의 컴퓨팅 기기를 포함할 수 있는 클라이언트 기기(106) 상에 제시된 기계 판독 가능 식별자(133)를 스캐닝함으로써 서비스 기록을 볼 수 있다.
도 15를 참조하면, 본 개시서의 실시예에 따른 컴퓨팅 환경(103)의 개략적인 블록도가 도시되어있다. 컴퓨팅 환경(103)은 하나 이상의 컴퓨팅 기기들(1500)을 포함한다. 각각의 컴퓨팅 기기(1500)는 예를 들어 로컬 인터페이스(1509)에 연결된 프로세서(1503) 및 메모리(1506)를 갖는 적어도 하나의 프로세서 회로를 포함한다. 이를 위해, 각각의 컴퓨팅 기기(1500)는 예를 들어 적어도 하나의 서버 컴퓨터 또는 유사한 기기를 포함할 수 있다. 로컬 인터페이스(1509)는 수반하는 어드레스/제어 버스를 갖는 데이터 버스 또는 이해될 수 있는 다른 버스 구조를 포함할 수 있다.
프로세서(1503)에 의해 실행 가능한 몇몇 컴포넌트 및 데이터 모두 메모리(1506)에 저장된다. 특히, 메모리(1506)에 저장되고 프로세서(1503)에 의해 실행 가능한 것은 키 관리 애플리케이션(118), 번역기 서비스(120), 다이렉트 메시징 서비스(122) 및 다른 컴퓨팅 환경 애플리케이션들이다. 또한 메모리(1506)에는 데이터 저장소(115) 및 다른 데이터가 저장될 수 있다. 또한, 운영 체제(1512)는 메모리(1506)에 저장될 수 있고 프로세서(1503)에 의해 실행 가능할 수 있다. 이해될 수 있는 바와 같이, 메모리(1506)에 저장되고 프로세서(1503)에 의해 실행 가능한 다른 애플리케이션들이 존재할 수 있다는 것이 이해된다.
도 16을 참조하면, 본 개시서의 일 실시예에 따른 클라이언트 기기(106)의 개략적인 블록도가 도시되어 있다. 각각의 클라이언트 기기(106)는 예를 들어 프로세서(1603) 및 메모리(1606)를 갖는 적어도 하나의 프로세서 회로를 포함하며, 프로세서(1603) 및 메모리(1606) 모두 로컬 인터페이스(1609)에 결합된다. 이를 위해, 각각의 클라이언트 기기(106)는 예를 들어 스마트폰, 태블릿, 개인용 컴퓨터, 또는 다른 유사 기기를 포함할 수 있다. 로컬 인터페이스(1609)는 예를 들어 수반하는 어드레스/제어 버스를 갖는 데이터 버스 또는 이해될 수 있는 다른 버스 구조를 포함할 수 있다.
프로세서(1603)에 의해 실행 가능한 몇몇 컴포넌트 및 데이터 모두 메모리 (1606)에 저장된다. 특히, 메모리(1606)에 저장되고 프로세서(1603)에 의해 실행 가능한 것은 클라이언트 애플리케이션(130) 및 다른 애플리케이션들이다. 또한 메모리(1606)에는 클라이언트 데이터 저장소(1612)(또한 본원에서는 로컬 데이터 저장소라고도 함) 및 다른 데이터가 저장될 수 있다. 또한, 클라이언트 운영체제(1615)는 메모리(1606)에 저장될 수 있고 프로세서(1603)에 의해 실행 가능할 수 있다. 이해될 수 있는 바와 같이, 메모리(1606)에 저장되고 프로세서(1603)에 의해 실행 가능한 다른 애플리케이션들이 존재할 수 있다는 것이 이해된다.
도 17을 참조하면, 본 개시서의 실시예에 따른 판독기 기기(109)의 개략적인 블록도가 도시되어있다. 각각의 판독기 기기(109)는 예를 들어 프로세서(1703) 및 메모리(1706)를 갖는 적어도 하나의 프로세서 회로를 포함하며, 프로세서(1703) 및 메모리(1706) 모두 로컬 인터페이스(1709)에 결합된다. 이를 위해, 각각의 판독기 기기(109)는 예를 들어 스마트폰, 태블릿, 개인용 컴퓨터, 또는 다른 유사 기기를 포함할 수 있다. 로컬 인터페이스(1709)는 예를 들어 수반하는 어드레스/제어 버스를 갖는 데이터 버스 또는 이해될 수 있는 다른 버스 구조를 포함할 수 있다.
프로세서(1703)에 의해 실행 가능한 몇몇 컴포넌트 및 데이터 모두 메모리 (1706)에 저장된다. 특히, 메모리(1706)에 저장되고 프로세서(1703)에 의해 실행 가능한 것은 판독기 애플리케이션(136) 및 다른 애플리케이션들이다. 또한 메모리(1706)에는 판독기 데이터 저장소(1712) 및 다른 데이터가 저장될 수 있다. 또한, 클라이언트 운영체제(1715)는 메모리(1706)에 저장될 수 있고 프로세서(1703)에 의해 실행 가능할 수 있다. 이해될 수 있는 바와 같이, 메모리(1706)에 저장되고 프로세서(1703)에 의해 실행 가능한 다른 애플리케이션들이 존재할 수 있다는 것이 이해된다.
본 명세서에 논의된 임의의 컴포넌트가 소프트웨어 형태로 구현되는 경우, 예를 들어 C, C++, C#, Objective C, Java® , JavaScript® , Perl, PHP, Visual Basic®, Python®, Ruby, Flash®, Swift®, 또는 다른 프로그래밍 언어들과 같은 여러 프로그래밍 언어들 중 하나가 사용될 수 있다.
다수의 소프트웨어 컴포넌트들이 프로세서들에 의해 실행 가능한 메모리에 저장된다. 이 점에서 "실행 가능"이라는 용어는 프로세서에 의해 궁극적으로 실행될 수 있는 포맷의 프로그램 파일을 의미한다. 실행 가능한 프로그램들의 예들은, 예를 들어, 메모리의 랜덤 액세스 부분에 로딩되고 프로세서에 의해 실행될 수 있는 포맷의 기계 코드로 변환될 수 있는 컴파일된 프로그램, 메모리의 랜덤 액세스 부분에 로딩되고 프로세서에 의해 실행될 수 있는 객체 코드와 같은 적절한 포맷으로 표현될 수 있는 소스 코드, 프로세서에 의해 실행될 메모리의 랜덤 액세스 부분에 명령들을 생성하기 위해 다른 실행 가능 프로그램에 의해 해석될 수 있는 소스 코드 등을 포함할 수 있다. 실행 가능 프로그램은 예를 들어, RAM, ROM, 하드 드라이브, SSD, USB 플래시 드라이브, 메모리 카드, 광디스크(예를 들어, CD 또는 DVD), 플로피 디스크, 자기 테이프 또는 다른 메모리 컴포넌트들을 포함하는 메모리의 임의의 부분 또는 컴포넌트에 저장될 수 있다.
메모리는 본 명세서에서 휘발성 및 비 휘발성 메모리 및 데이터 저장소 컴포넌트들 모두를 포함하는 것으로 정의된다. 휘발성 컴포넌트들은 전력 손실 시 데이터 값을 보유하지 않는 컴포넌트들이다. 비휘발성 컴포넌트들은 전력 손실 시 데이터를 보유하는 컴포넌트들이다. 따라서, 메모리는 예를 들어 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), 또는 다른 유사한 메모리 기기를 포함할 수 있다.
또한, 프로세서는 다수의 프로세서들 및/또는 다수의 프로세서 코어들을 나타낼 수 있고, 그리고 메모리는 병렬 프로세싱 회로들에서 각각 동작하는 다수의 메모리들을 나타낼 수 있다. 그러한 경우, 로컬 인터페이스는 임의의 2 개의 다중 프로세서들 사이, 임의의 프로세서와 임의의 메모리 사이, 또는 임의의 2 개의 메모리들 사이 등의 통신을 용이하게 하는 적절한 네트워크일 수 있다. 로컬 인터페이스는, 예를 들어 로드 밸런싱을 수행하는 것을 포함하여, 이러한 통신을 조정하도록 설계된 추가 시스템을 포함할 수 있다. 프로세서는 전기적 또는 기타 이용 가능한 구성일 수 있다.
본 명세서에 설명된 클라이언트 애플리케이션(130), 판독기 애플리케이션(136), 키 관리 애플리케이션(118) 및 기타 다양한 시스템은 상술한 바와 같이 범용 하드웨어에 의해 실행되는 소프트웨어 또는 코드로 구현될 수 있지만, 대안예로서, 전용 하드웨어 또는 소프트웨어/범용 하드웨어 및 전용 하드웨어의 조합으로 구성될 수도 있다. 전용 하드웨어로 구현된다면, 각각은 다수의 기술 중 임의의 하나 또는 그 조합을 사용하는 회로 또는 상태 기계로서 구현될 수 있다. 이러한 기술들은 하나 이상의 데이터 신호의 인가시 다양한 논리 기능들을 구현하기 위한 논리 게이트들을 갖는 이산 논리 회로들, 적절한 논리 게이트를 갖는 주문형 집적 회로(ASIC), FPGA(field-programmable gate array) 또는 다른 컴포넌트 등을 포함할 수 있지만 이에 제한되지는 않는다. 이러한 기술들은 일반적으로 당업자에게 잘 알려져 있으므로, 본 명세서에서 상세히 설명하지 않는다.
도 6 및 도 10 내지 도 14의 흐름도들은 클라이언트 애플리케이션(130), 판독기 애플리케이션(136) 및 키 관리 애플리케이션(118)의 일부분들의 구현의 기능 및 동작을 도시한다. 소프트웨어로 구현되는 경우, 각 블록은 특정 논리 기능(들)을 구현하기 위한 프로그램 명령어들을 포함하는 모듈, 세그먼트 또는 코드 부분을 나타낼 수 있다. 프로그램 명령들은 컴퓨터 시스템 또는 다른 시스템의 프로세서와 같은 적절한 실행 시스템에 의해 인식 가능한 수치적 명령들을 포함하는 프로그래밍 언어 또는 기계 코드로 기록된 사람이 읽을 수 있는 문장을 포함하는 소스 코드의 형태로 구현될 수 있다. 기계 코드는 소스 코드 등으로부터 변환될 수 있다. 하드웨어로 구현되는 경우, 각 블록은 특정 논리 기능(들)을 구현하기 위해 회로 또는 여러 상호 연결된 회로들을 나타낼 수 있다.
도 6 및 도 10 내지 도 14의 흐름도들은 특정 실행 순서를 나타내지만, 실행 순서는 도시된 순서와 다를 수 있음이 이해되어야 한다. 예를 들어, 둘 이상의 블록들의 실행 순서는 도시된 순서에 관하여 스크램블링될 수 있다. 또한, 도 6 및 도 10 내지 도 14에 연속해서 도시된 2개 이상의 블록은 동시에 또는 부분적으로 동시에 실행될 수 있다. 추가로, 일부 실시예들에서, 도 6 및 도 10 내지 도 14에 도시된 하나 이상의 블록들은 건너뛰어지거나 생략될 수 있다. 추가로, 향상된 유틸리티, 어카운팅(accounting), 성능 측정 또는 문제 해결 도구 제공 등의 목적을 위해, 임의의 수의 카운터, 상태 변수, 경고 세마포르(warning semaphore) 또는 메시지들이 본원에 설명된 논리 흐름에 추가될 수 있다. 이러한 모든 변형들은 본 발명의 범위 내에 있음이 이해된다.
또한, 소프트웨어 또는 코드를 포함하는 클라이언트 애플리케이션(130), 판독기 애플리케이션(136) 및 키 관리 애플리케이션(118)을 포함하여, 본원에 기술된 임의의 논리 또는 애플리케이션은 예를 들어 컴퓨터 시스템 또는 다른 시스템 내 프로세서 같은 명령 실행 시스템에 의해 또는 명령 실행 시스템과 관련하여 사용하기 위해 임의의 비 일시적인 컴퓨터 판독 가능 매체에 구현될 수 있다. 이러한 의미에서, 논리는 예를 들어 컴퓨터 판독 가능 매체로부터 패치될 수 있고 명령 실행 시스템에 의해 실행될 수 있는 명령(instruction) 및 선언(declaration)을 포함하는 명령문(statement)을 포함할 수 있다. 본 개시서의 내용에서, "컴퓨터 판독 가능 매체"는 명령 실행 시스템에 의해 또는 명령 실행 시스템과 관련하여 사용하기 위해 본 명세서에 기술된 로직 또는 애플리케이션을 포함, 저장 또는 유지할 수 있는 임의의 매체일 수 있다.
컴퓨터 판독 가능 매체는 예를 들어 자기, 광학 또는 반도체 매체와 같은 많은 물리적 매체 중 임의의 매체를 포함할 수 있다. 적절한 컴퓨터 판독 가능 매체의 보다 구체적인 예들은 자기 테이프, 자기 플로피 디스켓, 자기 하드 드라이브, 메모리 카드, 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), 또는 다른 유형의 메모리 기기일 수 있다.
또한, 본원에 설명된 임의의 로직 또는 애플리케이션, 클라이언트 애플리케이션(130), 판독기 애플리케이션(136) 및 키 관리 애플리케이션(118)은 다양한 방식으로 구현되고 구성될 수 있다. 예를 들어, 설명된 하나 이상의 애플리케이션들은 단일 애플리케이션의 모듈들 또는 컴포넌트들로서 구현될 수 있다. 또한, 본원에 설명된 하나 이상의 애플리케이션들은 공유 또는 별개의 컴퓨팅 기기들 또는 이들의 조합으로 실행될 수 있다. 예를 들어, 본 명세서에서 설명된 복수의 애플리케이션들은 동일한 컴퓨팅 기기(1500)에서 또는 동일한 컴퓨팅 환경(103) 내의 다수의 컴퓨팅 기기들에서 실행될 수 있다. 추가적으로, "애플리케이션", "서비스", "시스템", "엔진", "모듈" 등과 같은 용어는 상호 교환 가능할 수 있으며, 제한하려는 의도가 아니라는 것을 이해되어야 한다.
"X, Y 또는 Z 중 적어도 하나"라는 구절과 같은 이접적 언어(disjunctive language)는 다른 언급이 없는 한 일반적으로 항목, 용어 등이 X, Y 또는 Z 또는 이들의 임의의 조합(예를 들어, X, Y 및/또는 Z)일 수 있음을 나타내기 위해 일반적으로 사용되는 문맥으로 이해된다. 따라서, 이러한 이접적 언어는 어떤 실시예가 적어도 하나의 X, 적어도 하나의 Y, 또는 적어도 하나의 Z가 각각 존재할 것을 요구한다는 것을 일반적으로 의미하는 것이 아니며, 의미하여서는 안 된다.
전술된 본 발명의 실시예들은 본 발명의 원리들의 명확한 이해를 위해 설명된 가능한 구현 예들일 뿐이라는 것이 강조되어야 한다. 본 발명의 사상 및 원리를 실질적으로 벗어나지 않으면서 상술한 실시예(들)에 많은 변형 및 수정이 이루어질 수 있다.
항목 1. 시스템으로서, 시스템은 :
적어도 하나의 하드웨어 프로세서를 포함하는 클라이언트 기기; 및
상기 클라이언트 기기에서 실행 가능한 클라이언트 애플리케이션을 포함하며,
상기 클라이언트 애플리케이션은 실행 시에 상기 클라이언트 기기로 하여금 :
네트워크를 통해 제1 기기 프로파일과 연관된 제1 암호화 키 및 제2 기기 프로파일과 연관된 제2 암호화 키를 수신하게 하며;
상기 클라이언트 기기의 데이터 저장소에서, 상기 클라이언트 애플리케이션에 의해 생성된 적어도 하나의 사용자 인터페이스를 통해 제공된 입력 데이터에 액세스하게 하며;
상기 입력 데이터를 적어도 제1 데이터 부분 및 제2 데이터 부분으로 포맷팅하게 하며;
상기 제1 암호화 키를 사용하여 상기 제1 데이터 부분을 암호화하고 상기 제2 암호화 키를 사용하여 상기 제2 데이터 부분을 암호화하게 하며; 그리고
상기 클라이언트 기기에 의해 액세스 가능한 디스플레이에서 렌더링하기 위해, 상기 암호화된 제1 데이터 부분 및 암호화된 제2 데이터 부분을 사용하여 기계 판독 가능한 식별자를 생성하게 하는; 프로그램 명령들을 포함하는, 시스템.
항목 2. 항목 1에 있어서,
상기 기계 판독 가능한 식별자는 제1 기계 판독 가능한 식별자이며, 그리고
상기 클라이언트 애플리케이션은 실행 시에 상기 클라이언트 기기로 하여금 :
상기 클라이언트 기기와 통신하는 카메라에 의해 캡처된 이미지에서, 상기 클라이언트 기기와 상이한 기기에 의해 생성된 제2 기계 판독 가능한 식별자를 식별하게 하며;
상기 제2 기계 판독 가능한 식별자로부터 암호화된 데이터를 식별하게 하며;
상기 제1 암호화 키 또는 상기 제2 암호화 키를 사용하여 상기 암호화된 데이터를 해독하여, 해독된 데이터를 식별하게 하며; 그리고
상기 클라이언트 애플리케이션에 의한 액세스를 위해 상기 데이터 저장소에 상기 해독된 데이터를 저장하게 하는; 프로그램 명령들을 더 포함하는, 시스템.
항목 3. 항목 2에 있어서,
상기 데이터 저장소에 상기 해독된 데이터를 저장하는 것은 :
상기 데이터 저장소에 저장된 입력 데이터와 상기 해독된 데이터 간에 충돌이 존재하는지 여부를 식별하는 것; 및
상기 데이터 저장소에 저장된 입력 데이터 대신에 상기 해독된 데이터를 저장하는 것;을 더 포함하는, 시스템.
항목 4. 항목 1에 있어서,
상기 제1 암호화 키가 저장된 상기 제1 기기 프로파일과 연관된 제1 판독기 기기; 및
상기 제2 암호화 키가 저장된 상기 제2 기기 프로파일과 연관된 제2 판독기 기기를 더 포함하며,
상기 제1 판독기 기기는 상기 제1 암호화 키를 사용하여 상기 기계 판독 가능한 식별자에서 상기 제1 데이터 부분에 액세스하도록 구성되며,
상기 제2 판독기 기기는 상기 제2 암호화 키를 사용하여 상기 기계 판독 가능한 식별자에서 상기 제2 데이터 부분에 액세스하도록 구성되는, 시스템.
항목 5. 항목 4에 있어서,
상기 제1 판독기 기기는 제1 이미징 기기를 포함하며,
상기 제2 판독기 기기는 제2 이미징 기기를 포함하고,
상기 기계 판독 가능한 식별자는 상기 제1 이미징 기기 또는 상기 제2 이미징 기기에 의해 캡처되는, 시스템.
항목 6. 항목 1에 있어서,
상기 클라이언트 애플리케이션은 실행 시에 상기 클라이언트 기기로 하여금 상기 클라이언트 기기와 상이한 다른 클라이언트 기기에게 상기 기계 판독 가능한 식별자를 발송하게 하는 프로그램 명령들을 더 포함하는, 시스템.
항목 7. 항목 1에 있어서,
상기 기계 판독 가능한 식별자는 상기 입력 데이터로부터 해독된 데이터를 사용하여 생성되는, 시스템.
항목 8. 항목 1에 있어서,
상기 제1 기기 프로파일과 연관된 제1 암호화 키는 상기 클라이언트 기기에서 이루어진 제1 기기 프로파일의 선택에 응답하여, 네트워크를 통해 적어도 하나의 원격 컴퓨팅 기기로부터 상기 클라이언트 기기에 의해 수신되며, 그리고 상기 제2 기기 프로파일과 연관된 제2 암호화 키는 상기 클라이언트 기기에서 이루어진 제2 기기 프로파일의 선택에 응답하여, 네트워크를 통해 적어도 하나의 원격 컴퓨팅 기기로부터 상기 클라이언트 기기에 의해 수신되는, 시스템.
항목 9. 항목 1에 있어서,
상기 제1 암호화 키를 사용하여 상기 제1 데이터 부분을 암호화하고 상기 제2 암호화 키를 사용하여 상기 제2 데이터 부분을 암호화하는 것은 :
상기 제1 데이터 부분과 연관된 제1 액세스 레벨을 식별하는 것;
상기 제2 데이터 부분과 연관된 제2 액세스 레벨을 식별하는 것;
상기 제1 액세스 레벨에 적어도 부분적으로 기초하여 상기 제1 암호화 키를 사용하여 상기 제1 데이터 부분을 암호화하는 것; 및
상기 제2 액세스 레벨에 적어도 부분적으로 기초하여 상기 제2 암호화 키를 사용하여 상기 제2 데이터 부분을 암호화하는 것;을 더 포함하며,
상기 제1 액세스 레벨은 상기 제2 액세스 레벨과 상이한, 시스템.
항목 10. 항목 1에 있어서,
상기 기계 판독 가능한 식별자는 QR(quick-response) 코드 또는 바코드인, 시스템.
항목 11. 컴퓨터로 구현되는 방법으로서,
적어도 하나의 하드웨어 프로세서를 포함하는 클라이언트 기기에 의해, 네트워크를 통해 제1 기기 프로파일과 연관된 제1 암호화 키 및 제2 기기 프로파일과 연관된 제2 암호화 키를 수신하는 단계;
상기 클라이언트 기기에 의해 상기 클라이언트 기기의 데이터 저장소에서 입력 데이터에 액세스하는 단계로서, 상기 입력 데이터는 상기 클라이언트 기기 상에서 실행 가능한 클라이언트 애플리케이션에 의해 생성된 적어도 하나의 사용자 인터페이스를 통해 제공되는, 단계;
상기 클라이언트 기기에 의해, 상기 입력 데이터를 적어도 제1 데이터 부분 및 제2 데이터 부분으로 포맷팅하는 단계;
상기 클라이언트 기기에 의해, 상기 제1 암호화 키를 사용하여 상기 제1 데이터 부분을 암호화하고 상기 제2 암호화 키를 사용하여 상기 제2 데이터 부분을 암호화하는 단계; 및
상기 클라이언트 기기에 의해, 상기 클라이언트 기기에 의해 액세스 가능한 디스플레이에서 렌더링하기 위해, 상기 암호화된 제1 데이터 부분 및 암호화된 제2 데이터 부분을 사용하여 기계 판독 가능한 식별자를 생성하는 단계;를 포함하는, 컴퓨터로 구현되는 방법.
항목 12. 항목 11에 있어서,
상기 기계 판독 가능한 식별자는 제1 기계 판독 가능한 식별자이며, 그리고
상기 방법은 :
상기 클라이언트 기기에 의해, 상기 클라이언트 기기와 통신하는 카메라에 의해 캡처된 이미지에서 제2 기계 판독 가능한 식별자를 식별하는 단계로서, 상기 제2 기계 판독 가능한 식별자는 상기 클라이언트 기기와 상이한 기기에 의해 생성되는 단계;
상기 클라이언트 기기에 의해, 상기 제2 기계 판독 가능한 식별자로부터 암호화된 데이터를 식별하는 단계;
상기 클라이언트 기기에 의해, 상기 제1 암호화 키 또는 상기 제2 암호화 키를 사용하여 상기 암호화된 데이터를 해독하여 해독된 데이터를 식별하는 단계; 그리고
상기 클라이언트 기기에 의해, 상기 클라이언트 애플리케이션에 의한 액세스를 위해 상기 데이터 저장소에 상기 해독된 데이터를 저장하는 단계;를 더 포함하는, 컴퓨터로 구현되는 방법.
항목 13. 항목 12에 있어서,
상기 데이터 저장소에 상기 해독된 데이터를 저장하는 단계는 :
상기 클라이언트 기기에 의해, 상기 데이터 저장소에 저장된 입력 데이터와 상기 해독된 데이터 간에 충돌이 존재하는지 여부를 식별하는 단계; 및
상기 클라이언트 기기에 의해, 상기 데이터 저장소에 저장된 입력 데이터 대신에 상기 해독된 데이터를 저장하는 단계;를 더 포함하는, 컴퓨터로 구현되는 방법.
항목 14. 항목 11에 있어서,
제1 판독기 기기에 의해, 상기 제1 암호화 키를 사용하여 상기 기계 판독 가능한 식별자에서 상기 제1 데이터 부분에 액세스하는 단계로서, 상기 제1 판독기 기기는 상기 제1 기기 프로파일과 연관되며 상기 제1 암호화 키가 저장되어 있는, 단계; 및
제2 판독기 기기에 의해, 상기 제2 암호화 키를 사용하여 상기 기계 판독 가능한 식별자에서 상기 제2 데이터 부분에 액세스하는 단계로서, 상기 제2 판독기 기기는 상기 제2 기기 프로파일과 연관되며 상기 제2 암호화 키가 저장되어 있는, 단계;를 더 포함하는, 컴퓨터로 구현되는 방법.
항목 15. 항목 14에 있어서,
상기 제1 판독기 기기는 제1 이미징 기기를 포함하며,
상기 제2 판독기 기기는 제2 이미징 기기를 포함하고,
상기 기계 판독 가능한 식별자는 상기 제1 이미징 기기 또는 상기 제2 이미징 기기에 의해 캡처되는, 컴퓨터로 구현되는 방법.
항목 16. 항목 11에 있어서,
상기 클라이언트 기기에 의해, 네트워크를 통해 상기 클라이언트 기기와 상이한 다른 클라이언트 기기에게 상기 기계 판독 가능한 식별자를 발송하는 단계를 더 포함하는, 컴퓨터로 구현되는 방법.
항목 17. 항목 11에 있어서,
상기 기계 판독 가능한 식별자는 상기 입력 데이터로부터 해독된 데이터를 사용하여 생성되는, 컴퓨터로 구현되는 방법.
항목 18. 항목 11에 있어서,
상기 제1 기기 프로파일과 연관된 제1 암호화 키는 상기 클라이언트 기기에서 이루어진 제1 기기 프로파일의 선택에 응답하여, 네트워크를 통해 적어도 하나의 원격 컴퓨팅 기기로부터 상기 클라이언트 기기에 의해 수신되며, 그리고
상기 제2 기기 프로파일과 연관된 제2 암호화 키는 상기 클라이언트 기기에서 이루어진 제2 기기 프로파일의 선택에 응답하여, 네트워크를 통해 적어도 하나의 원격 컴퓨팅 기기로부터 상기 클라이언트 기기에 의해 수신되는, 컴퓨터로 구현되는 방법.
항목 19. 항목 11에 있어서,
상기 제1 암호화 키를 사용하여 상기 제1 데이터 부분을 암호화하고 상기 제2 암호화 키를 사용하여 상기 제2 데이터 부분을 암호화하는 단계는 :
상기 클라이언트 기기에 의해, 상기 제1 데이터 부분과 연관된 제1 액세스 레벨을 식별하는 단계;
상기 클라이언트 기기에 의해, 상기 제2 데이터 부분과 연관된 제2 액세스 레벨을 식별하는 단계;
상기 클라이언트 기기에 의해, 상기 제1 액세스 레벨에 적어도 부분적으로 기초하여 상기 제1 암호화 키를 사용하여 상기 제1 데이터 부분을 암호화하는 단계; 및
상기 클라이언트 기기에 의해, 상기 제2 액세스 레벨에 적어도 부분적으로 기초하여 상기 제2 암호화 키를 사용하여 상기 제2 데이터 부분을 암호화하는 단계;를 더 포함하며,
상기 제1 액세스 레벨은 상기 제2 액세스 레벨과 상이한, 컴퓨터로 구현되는 방법.
항목 20. 항목 11에 있어서,
상기 기계 판독 가능한 식별자는 QR(quick-response) 코드 또는 바코드인, 컴퓨터로 구현되는 방법.
항목 21. 시스템으로서, 상기 시스템은 :
적어도 하나의 하드웨어 프로세서를 포함하는 클라이언트 기기; 및
상기 클라이언트 기기에서 실행 가능한 클라이언트 애플리케이션;을 포함하며,
상기 클라이언트 애플리케이션은 실행 시에 상기 클라이언트 기기로 하여금 :
상기 클라이언트 기기의 디스플레이에 렌더링하기 위해 적어도 하나의 암호화 키를 사용하여 암호화된 제1 양의 데이터를 사용하여 제1 기계 판독 가능한 식별자를 생성하게 하며, 상기 적어도 하나의 암호화 키가 저장된 판독기 기기는 상기 데이터를 해독하도록 구성되며;
상기 클라이언트 기기에 의해 캡처된 적어도 하나의 이미지에서 제2 기계 판독 가능한 식별자를 식별하게 하며;
상기 적어도 하나의 암호화 키를 사용하여 상기 판독기 기기에 의해 암호화된 제2 양의 데이터를 식별하기 위해 상기 제2 기계 판독 가능한 식별자를 디코딩하게 하며;
상기 적어도 하나의 암호화 키를 사용하여 상기 제2 양의 데이터를 해독하게 하며; 그리고
상기 제1 양의 데이터 및 상기 제2 양의 데이터 간에 충돌이 존재하는지 여부를 식별하게 하는; 프로그램 명령들을 포함하는, 시스템.
항목 22. 항목 21에 있어서,
상기 클라이언트 애플리케이션은 실행 시에 상기 클라이언트 기기로 하여금 상기 제1 양의 데이터 및 상기 제2 양의 데이터 간에 존재하는 충돌에 응답하여, 상기 충돌을 해결하는 작업을 수행하게 하는 프로그램 명령들을 더 포함하는, 시스템.
항목 23. 항목 21에 있어서,
상기 충돌은 판독기 기기가 제1 양의 데이터를 변경하여 제2 양의 데이터를 생성하는 것에 응답하여 식별되는, 시스템.
항목 24. 항목 22에 있어서,
상기 작업은 :
상기 충돌과 연관된 정보를 상기 클라이언트 애플리케이션의 사용자 인터페이스에 표시하는 것;
상기 사용자 인터페이스에서 상기 제1 양의 데이터 또는 상기 제2 양의 데이터의 선택을 수신하는 것; 및
상기 선택에 응답하여, 선택된 제1 양의 데이터 또는 선택된 제2 양의 데이터를 이용하여 상기 클라이언트 기기의 데이터 저장소를 업데이트하는 것; 을 포함하는, 시스템.
항목 25. 항목 22에 있어서,
상기 작업은 상기 제2 양의 데이터를 이용하여 상기 클라이언트 기기의 데이터 저장소를 업데이트하는 것을 포함하는, 시스템.
항목 26. 항목 21에 있어서,
상기 클라이언트 애플리케이션은 실행 시에 상기 클라이언트 기기로 하여금 상기 제2 양의 데이터의 적어도 일부분을 이용하여 상기 클라이언트 애플리케이션 내의 사용자 인터페이스의 적어도 하나의 필드를 채우게 하는 프로그램 명령들을 더 포함하는, 시스템.
항목 27. 항목 21에 있어서,
적어도 하나의 암호화 키를 사용하여 암호화된 제1 양의 데이터는 수집 프로세스 동안 획득된 사용자 입력의 제1 부분 및 사용자 입력의 제2 부분을 더 포함하며,
상기 사용자 입력의 제1 부분은 상기 판독기 기기에 의해 액세스 가능한 제1 암호화 키를 사용하여 암호화되며,
상기 사용자 입력의 제2 부분은 상기 판독기 기기에 의해 액세스 가능하지 않은 제2 암호화 키를 사용하여 암호화되는, 시스템.
항목 28. 항목 21에 있어서,
상기 기계 판독 가능한 식별자는 QR(quick-response) 코드 또는 바코드인, 시스템.
항목 29. 항목 21에 있어서,
상기 클라이언트 애플리케이션은 실행 시에 상기 클라이언트 기기로 하여금 네트워크를 통해 원격 컴퓨팅 환경에서 실행하는 원격 애플리케이션으로부터 적어도 하나의 암호화 키를 수신하게 하는 프로그램 명령들을 더 포함하는, 시스템.
항목 30. 항목 29에 있어서,
상기 원격 컴퓨팅 환경에서 실행하는 원격 애플리케이션은 네트워크를 통해 상기 판독기 기기에게 상기 적어도 하나의 암호화 키를 발송하도록 구성되는, 시스템.
항목 31. 컴퓨터로 구현되는 방법으로서,
적어도 하나의 하드웨어 프로세서를 포함하는 클라이언트 기기에 의해, 상기 클라이언트 기기의 디스플레이에 렌더링하기 위해 적어도 하나의 암호화 키를 사용하여 암호화된 제1 양의 데이터를 사용하여 제1 기계 판독 가능한 식별자를 생성하는 단계로서, 상기 적어도 하나의 암호화 키가 저장된 판독기 기기는 상기 데이터를 해독하도록 구성되는, 단계;
상기 클라이언트 기기에 의해, 상기 클라이언트 기기에 의해 캡처된 적어도 하나의 이미지에서 제2 기계 판독 가능한 식별자를 식별하는 단계;
상기 클라이언트 기기에 의해, 상기 적어도 하나의 암호화 키를 사용하여 상기 판독기 기기에 의해 암호화된 제2 양의 데이터를 식별하기 위해 상기 제2 기계 판독 가능한 식별자를 디코딩하는 단계;
상기 클라이언트 기기에 의해, 상기 적어도 하나의 암호화 키를 사용하여 상기 제2 양의 데이터를 해독하는 단계; 및
상기 클라이언트 기기에 의해, 상기 제1 양의 데이터 및 상기 제2 양의 데이터 간에 충돌이 존재하는지 여부를 식별하는 단계;를 포함하는, 컴퓨터로 구현되는 방법.
항목 32. 항목 31에 있어서,
상기 제1 양의 데이터 및 상기 제2 양의 데이터 간에 존재하는 충돌에 응답하여, 상기 클라이언트 기기에 의해, 상기 충돌을 해결하는 작업을 수행하는 단계를 더 포함하는, 컴퓨터로 구현되는 방법.
항목 33. 항목 31에 있어서,
상기 충돌은 판독기 기기가 제1 양의 데이터를 변경하여 제2 양의 데이터를 생성하는 것에 응답하여 식별되는, 컴퓨터로 구현되는 방법.
항목 34. 항목 32에 있어서,
상기 작업은 :
상기 클라이언트 기기에 의해, 상기 충돌과 연관된 정보를 상기 클라이언트 애플리케이션의 사용자 인터페이스에 표시하는 것;
상기 클라이언트 기기에 의해, 상기 사용자 인터페이스에서 이루어진 상기 제1 양의 데이터 또는 상기 제2 양의 데이터의 선택을 수신하는 것; 및
식별된 선택에 응답하여, 상기 클라이언트 기기에 의해, 선택된 제1 양의 데이터 또는 선택된 제2 양의 데이터를 이용하여 상기 클라이언트 기기의 데이터 저장소를 업데이트하는 것; 을 포함하는, 컴퓨터로 구현되는 방법.
항목 35. 항목 32에 있어서,
상기 작업은 상기 클라이언트 기기에 의해, 상기 제2 양의 데이터를 이용하여 상기 클라이언트 기기의 데이터 저장소를 업데이트하는 것을 포함하는, 컴퓨터로 구현되는 방법.
항목 36. 항목 31에 있어서,
상기 클라이언트 기기에 의해, 상기 제2 양의 데이터의 적어도 일부분을 이용하여 상기 클라이언트 애플리케이션 내의 사용자 인터페이스의 적어도 하나의 필드를 채우는 단계를 더 포함하는, 컴퓨터로 구현되는 방법.
항목 37. 항목 31에 있어서,
적어도 하나의 암호화 키를 사용하여 암호화된 제1 양의 데이터는 수집 프로세스 동안 획득된 사용자 입력의 제1 부분 및 사용자 입력의 제2 부분을 더 포함하며,
상기 사용자 입력의 제1 부분은 상기 판독기 기기에 의해 액세스 가능한 제1 암호화 키를 사용하여 암호화되며,
상기 사용자 입력의 제2 부분은 상기 판독기 기기에 의해 액세스 가능하지 않은 제2 암호화 키를 사용하여 암호화되는, 컴퓨터로 구현되는 방법.
항목 38. 항목 31에 있어서,
상기 기계 판독 가능한 식별자는 QR(quick-response) 코드 또는 바코드인, 컴퓨터로 구현되는 방법.
항목 39. 항목 31에 있어서,
상기 클라이언트 기기에 의해, 네트워크를 통해 원격 컴퓨팅 환경에서 실행하는 원격 애플리케이션으로부터 적어도 하나의 암호화 키를 수신하는 단계를 더 포함하는, 컴퓨터로 구현되는 방법.
항목 40. 항목 39에 있어서,
상기 원격 컴퓨팅 환경에서 실행하는 원격 애플리케이션은 네트워크를 통해 상기 판독기 기기에게 상기 적어도 하나의 암호화 키를 발송하도록 구성되는, 컴퓨터로 구현되는 방법.

Claims (15)

  1. 적어도 하나의 하드웨어 프로세서를 포함하는 클라이언트 기기; 및
    상기 클라이언트 기기에서 실행 가능한 클라이언트 애플리케이션;을 포함하며,
    상기 클라이언트 애플리케이션은 실행 시에 상기 클라이언트 기기로 하여금 :
    네트워크를 통해 제1 기기 프로파일과 연관된 제1 암호화 키 및 제2 기기 프로파일과 연관된 제2 암호화 키를 수신하는 단계;
    상기 클라이언트 기기의 데이터 저장소에서 입력 데이터에 액세스하는 단계로서, 상기 입력 데이터는 상기 클라이언트 애플리케이션에 의해 생성된 적어도 하나의 사용자 인터페이스를 통해 제공되는, 단계;
    상기 입력 데이터를 적어도 제1 데이터 부분 및 제2 데이터 부분으로 포맷팅하는 단계;
    상기 제1 데이터 부분이 상기 제1 암호화 키를 갖는 제1 판독기 기기에 의해서만 액세스 가능하고 상기 제2 데이터 부분이 상기 제2 암호화 키를 갖는 제2 판독기 기기에 의해서만 액세스 가능하도록 상기 제1 암호화 키를 사용하여 상기 제1 데이터 부분을 암호화하고 상기 제2 암호화 키를 사용하여 상기 제2 데이터 부분을 암호화하는 단계; 및
    상기 클라이언트 기기에 의해 액세스 가능한 디스플레이에서 렌더링하기 위해, 상기 암호화된 제1 데이터 부분 및 암호화된 제2 데이터 부분을 사용하여 기계 판독 가능한 식별자를 생성하는 단계;를 수행하게 하는 프로그램 명령들을 포함하며,
    상기 기계 판독 가능한 식별자는 QR(quick-response) 코드 또는 바코드인, 시스템.
  2. 제1항에 있어서,
    상기 기계 판독 가능한 식별자는 제1 기계 판독 가능한 식별자이고 상기 클라이언트 애플리케이션은 프로그램 명령들을 더 포함하되, 상기 프로그램 명령들은, 실행될 때, 상기 클라이언트 기기가:
    상기 클라이언트 기기와 통신하는 카메라에 의해 캡처된 이미지에서 제2 기계 판독 가능한 식별자 - 상기 제2 기계 판독 가능한 식별자는 상기 클라이언트 기기와 상이한 기기에 의해 생성됨 -를 식별하게 하고;
    상기 제2 기계 판독 가능한 식별자로부터 암호화된 데이터의 양을 식별하게 하고;
    상기 제1 암호화 키 또는 상기 제2 암호화 키를 사용하여 상기 암호화된 데이터의 양을 해독하여 해독된 데이터를 식별하게 하고;
    상기 클라이언트 애플리케이션에 의한 액세스를 위해 상기 데이터 저장소에 상기 해독된 데이터를 저장하게 하는, 시스템.
  3. 제2항에 있어서,
    상기 데이터 저장소에 상기 해독된 데이터를 저장하는 것은:
    상기 데이터 저장소에 저장된 상기 입력 데이터와 상기 해독된 데이터 간에 충돌이 존재하는지 여부를 식별하는 것; 및
    상기 데이터 저장소에 저장된 상기 입력 데이터 대신에 상기 해독된 데이터를 저장하는 것을 더 포함하는, 시스템.
  4. 제1항에 있어서,
    상기 제1 기기 프로파일과 연관된 상기 제1 판독기 기기는 상기 제1 암호화 키를 저장하고;
    상기 제2 기기 프로파일과 연관된 상기 제2 판독기 기기는 상기 제2 암호화 키를 저장하고;
    상기 제1 판독기 기기는 상기 제1 암호화 키를 사용하여 상기 기계 판독 가능한 식별자로부터 상기 제1 데이터 부분에 액세스하도록 구성되고 상기 제2 판독기 기기는 상기 제2 암호화 키를 사용하여 상기 기계 판독 가능한 식별자로부터 상기 제2 데이터 부분에 액세스하도록 구성되는, 시스템.
  5. 제4항에 있어서,
    상기 제1 판독기 기기는 제1 이미징 기기를 포함하고 상기 제2 판독기 기기는 제2 이미징 기기를 포함하며, 상기 기계 판독 가능한 식별자는 상기 제1 이미징 기기 또는 상기 제2 이미징 기기에 의해 캡처되는, 시스템.
  6. 제1항에 있어서,
    상기 제1 기기 프로파일과 연관된 상기 제1 암호화 키는 상기 클라이언트 기기에 대해 이루어진 상기 제1 기기 프로파일의 선택에 응답하여 상기 네트워크를 통해 적어도 하나의 원격 컴퓨팅 기기로부터 상기 클라이언트 기기에 의해 수신되고;
    상기 제2 기기 프로파일과 연관된 상기 제2 암호화 키는 상기 클라이언트 기기에 대해 이루어진 상기 제2 기기 프로파일의 선택에 응답하여 상기 네트워크를 통해 적어도 하나의 원격 컴퓨팅 기기로부터 상기 클라이언트 기기에 의해 수신되는, 시스템.
  7. 제1항에 있어서,
    상기 제1 암호화 키를 사용하여 상기 제1 데이터 부분을 암호화하고 상기 제2 암호화 키를 사용하여 상기 제2 데이터 부분을 암호화하는 것은:
    상기 제1 데이터 부분과 연관된 제1 액세스 레벨을 식별하는 것;
    상기 제2 데이터 부분과 연관된 제2 액세스 레벨을 식별하는 것;
    상기 제1 액세스 레벨에 적어도 부분적으로 기초하여 상기 제1 암호화 키를 사용하여 상기 제1 데이터 부분을 암호화하는 것; 및
    상기 제2 액세스 레벨에 적어도 부분적으로 기초하여 상기 제2 암호화 키를 사용하여 상기 제2 데이터 부분을 암호화하는 것을 더 포함하며, 상기 제1 액세스 레벨은 상기 제2 액세스 레벨과 상이한, 시스템.
  8. 컴퓨터 구현 방법으로서,
    적어도 하나의 하드웨어 프로세서를 포함하는 클라이언트 기기에 의해, 네트워크를 통해 제1 기기 프로파일과 연관된 제1 암호화 키 및 제2 기기 프로파일과 연관된 제2 암호화 키를 수신하는 단계 - 상기 제1 암호화 키는 상기 제2 암호화 키와 상이함 -;
    상기 클라이언트 기기에 의해, 상기 클라이언트 기기의 데이터 저장소로부터 입력 데이터에 액세스하는 단계 - 상기 입력 데이터는 상기 클라이언트 기기 상에서 실행 가능한 클라이언트 애플리케이션에 의해 생성된 적어도 하나의 사용자 인터페이스를 통해 제공됨 -;
    상기 클라이언트 기기에 의해, 상기 입력 데이터를 적어도 제1 데이터 부분 및 제2 데이터 부분으로 포맷팅하는 단계 - 상기 제1 데이터 부분은 상기 제2 데이터 부분과 상이함 -;
    상기 클라이언트 기기에 의해, 상기 제1 데이터 부분이 상기 제1 암호화 키를 갖는 제1 판독기 기기에 의해서만 액세스 가능하고 상기 제2 데이터 부분이 상기 제2 암호화 키를 갖는 제2 판독기 기기에 의해서만 액세스 가능하도록 상기 제1 암호화 키를 사용하여 상기 제1 데이터 부분을 암호화하고 상기 제2 암호화 키를 사용하여 상기 제2 데이터 부분을 암호화하는 단계; 및
    상기 클라이언트 기기에 의해, 상기 클라이언트 기기에 의해 액세스 가능한 디스플레이에서 렌더링하기 위해, 상기 암호화된 제1 데이터 부분 및 상기 암호화된 제2 데이터 부분을 사용하여 기계 판독 가능한 식별자를 생성하는 단계를 포함하는, 컴퓨터 구현 방법.
  9. 제8항에 있어서,
    상기 기계 판독 가능한 식별자는 제1 기계 판독 가능한 식별자이고 상기 방법은:
    상기 클라이언트 기기에 의해, 상기 클라이언트 기기와 통신하는 카메라에 의해 캡처된 이미지에서 제2 기계 판독 가능한 식별자를 식별하는 단계 - 상기 제2 기계 판독 가능한 식별자는 상기 클라이언트 기기와 상이한 기기에 의해 생성됨 -;
    상기 클라이언트 기기에 의해, 상기 제2 기계 판독 가능한 식별자로부터 암호화된 데이터 양을 식별하는 단계;
    상기 클라이언트 기기에 의해, 상기 제1 암호화 키 또는 상기 제2 암호화 키를 사용하여 상기 암호화된 데이터의 양을 해독하여 해독된 데이터를 식별하는 단계; 및
    상기 클라이언트 기기에 의해, 상기 클라이언트 애플리케이션에 의한 액세스를 위해 상기 데이터 저장소에 상기 해독된 데이터를 저장하는 단계를 더 포함하는, 컴퓨터 구현 방법.
  10. 제9항에 있어서,
    상기 데이터 저장소에 상기 해독된 데이터를 저장하는 단계는:
    상기 클라이언트 기기에 의해, 상기 데이터 저장소에 저장된 상기 입력 데이터와 상기 해독된 데이터 간에 충돌이 존재하는지 여부를 식별하는 단계; 및
    상기 클라이언트 기기에 의해, 상기 데이터 저장소에 저장된 상기 입력 데이터 대신에 상기 해독된 데이터를 저장하는 단계를 더 포함하는, 컴퓨터 구현 방법.
  11. 제8항에 있어서,
    상기 제1 판독기 기기에 의해, 상기 제1 암호화 키를 사용하여 상기 기계 판독 가능한 식별자로부터 상기 제1 데이터 부분에 액세스하는 단계 - 상기 제1 판독기 기기는 상기 제1 기기 프로파일과 연관되고 상기 제1 암호화 키가 저장되어 있음 -; 및
    제2 판독기 기기에 의해, 상기 제2 암호화 키를 사용하여 상기 기계 판독 가능한 식별자로부터 상기 제2 데이터 부분에 액세스하는 단계 - 상기 제2 판독기 기기는 상기 제2 기기 프로파일과 연관되고 상기 제2 암호화 키가 저장되어 있음 -를 더 포함하는, 컴퓨터 구현 방법.
  12. 제8항에 있어서,
    상기 제1 판독기 기기는 제1 이미징 기기를 포함하고 상기 제2 판독기 기기는 제2 이미징 기기를 포함하며, 상기 기계 판독 가능한 식별자는 상기 제1 이미징 기기 또는 상기 제2 이미징 기기에 의해 캡처되는, 컴퓨터 구현 방법.
  13. 제8항에 있어서,
    상기 제1 기기 프로파일과 연관된 상기 제1 암호화 키는 상기 클라이언트 기기에 대해 이루어진 상기 제1 기기 프로파일의 선택에 응답하여 상기 네트워크를 통해 적어도 하나의 원격 컴퓨팅 기기로부터 상기 클라이언트 기기에 의해 수신되고;
    상기 제2 기기 프로파일과 연관된 상기 제2 암호화 키는 상기 클라이언트 기기에 대해 이루어진 상기 제2 기기 프로파일의 선택에 응답하여 상기 네트워크를 통해 적어도 하나의 원격 컴퓨팅 기기로부터 상기 클라이언트 기기에 의해 수신되는, 컴퓨터 구현 방법.
  14. 제8항에 있어서,
    상기 제1 암호화 키를 사용하여 상기 제1 데이터 부분을 암호화하고 상기 제2 암호화 키를 사용하여 상기 제2 데이터 부분을 암호화하는 단계는:
    상기 클라이언트 기기에 의해, 상기 제1 데이터 부분과 연관된 제1 액세스 레벨을 식별하는 단계;
    상기 클라이언트 기기에 의해, 상기 제2 데이터 부분과 연관된 제2 액세스 레벨을 식별하는 단계;
    상기 클라이언트 기기에 의해, 상기 제1 액세스 레벨에 적어도 부분적으로 기초하여 상기 제1 암호화 키를 사용하여 상기 제1 데이터 부분을 암호화하는 단계; 및
    상기 제2 액세스 레벨에 적어도 부분적으로 기초하여 상기 제2 암호화 키를 사용하여 상기 제2 데이터 부분을 암호화하는 단계를 더 포함하며, 상기 제1 액세스 레벨은 상기 제2 액세스 레벨과 상이한, 컴퓨터 구현 방법.
  15. 제8항에 있어서,
    상기 기계 판독 가능한 식별자는 QR(quick-response) 코드 또는 바 코드인, 컴퓨터 구현 방법.
KR1020197033230A 2015-03-03 2016-03-02 기계 판독 가능한 식별자들 내의 암호화된 데이터에 대한 액세스 제어 KR102336845B1 (ko)

Applications Claiming Priority (4)

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
KR1020177024701A KR102045023B1 (ko) 2015-03-03 2016-03-02 기계 판독 가능한 식별자들 내의 암호화된 데이터에 대한 액세스 제어

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020177024701A Division KR102045023B1 (ko) 2015-03-03 2016-03-02 기계 판독 가능한 식별자들 내의 암호화된 데이터에 대한 액세스 제어

Publications (2)

Publication Number Publication Date
KR20190128752A KR20190128752A (ko) 2019-11-18
KR102336845B1 true KR102336845B1 (ko) 2021-12-09

Family

ID=56848237

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020177024701A KR102045023B1 (ko) 2015-03-03 2016-03-02 기계 판독 가능한 식별자들 내의 암호화된 데이터에 대한 액세스 제어
KR1020197033230A KR102336845B1 (ko) 2015-03-03 2016-03-02 기계 판독 가능한 식별자들 내의 암호화된 데이터에 대한 액세스 제어

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020177024701A KR102045023B1 (ko) 2015-03-03 2016-03-02 기계 판독 가능한 식별자들 내의 암호화된 데이터에 대한 액세스 제어

Country Status (11)

Country Link
US (6) US10157339B2 (ko)
EP (2) EP3266149B1 (ko)
JP (2) JP6386680B2 (ko)
KR (2) KR102045023B1 (ko)
CN (2) CN112287389A (ko)
AU (2) AU2016226334B2 (ko)
BR (1) BR112017018890B1 (ko)
CA (1) CA2978436C (ko)
ES (2) ES2809698T3 (ko)
NZ (3) NZ762158A (ko)
WO (1) WO2016141029A1 (ko)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108647306A (zh) * 2014-11-13 2018-10-12 阿里巴巴集团控股有限公司 一种二维码扫码交互方法和装置
GB2545818B (en) * 2015-02-11 2017-11-22 J2 Global Ip Ltd Access permissions for sensitive information
NZ762158A (en) * 2015-03-03 2022-05-27 Wonderhealth Llc Access control for encrypted data in 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
US10387577B2 (en) * 2015-03-03 2019-08-20 WonderHealth, LLC Secure data translation using machine-readable identifiers
ES2615815B1 (es) * 2015-06-08 2017-12-01 Conectate Soluciones Y Aplicaciones, S.L.U. Procedimiento de registro unificado e identificación de donantes de sangre
US10171537B2 (en) * 2015-08-07 2019-01-01 At&T Intellectual Property I, L.P. Segregation of electronic personal health information
US9942747B2 (en) 2015-08-07 2018-04-10 At&T Mobility Ii Llc Dynamic utilization of services by a temporary device
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
US20180075558A1 (en) * 2016-09-12 2018-03-15 National Health Coalition, Inc. Processing Pharmaceutical Prescriptions in Real Time Using a Clinical Analytical Message Data File
US11522692B2 (en) * 2016-09-23 2022-12-06 Becton, Dickinson And Company 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 (it) * 2016-11-08 2018-05-08 Manzo Gennaro Sistema per la tutela dei consumatori di prodotti di specifiche nazionalità e delle aziende produttrici dai falsi
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 (zh) * 2017-12-20 2023-10-03 广州市宝比万像科技有限公司 用户信息管理方法、装置、系统、存储介质和计算机设备
KR102411604B1 (ko) * 2018-03-22 2022-06-21 삼성전자주식회사 액세스 포인트 및 이의 통신 연결 방법
CN108960385A (zh) * 2018-06-29 2018-12-07 苏州酷豆物联科技有限公司 基于多重秘钥加密的二维码生成及验证方法和系统
US11055322B2 (en) * 2018-07-30 2021-07-06 Hewlett Packard Enterprise Development Lp Comparison of a part key to machine keys
EP3869375A4 (en) * 2018-10-15 2021-10-27 NEC Corporation FIRST AID INFORMATION PROVISION SYSTEM, INFORMATION DISPLAY DEVICE, INFORMATION DISPENSER, METHOD FOR PROVIDING FIRST AID INFORMATION AND RECORDING MEDIUM
KR102050823B1 (ko) * 2018-11-26 2019-12-03 주식회사 두빛나래소프트 Qr 코드를 이용한 정보 송수신 방법, 장치 및 시스템
US20200388380A1 (en) * 2019-06-06 2020-12-10 Ar Alliance Group, Inc. System and method for communicating medical data
CN110472200B (zh) * 2019-07-29 2023-10-27 深圳市中兴新云服务有限公司 一种基于表单的数据处理方法、装置及电子设备
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
BR112023016582A2 (pt) 2021-02-18 2023-11-07 Conectate Soluciones Y Aplicaciones S L Sistema e processo de registro global unificado e identificação universal de doadores
US20220384018A1 (en) * 2021-05-28 2022-12-01 Cilag Gmbh International Ergonomic monitoring and analysis for an operating room
CN113935060B (zh) * 2021-12-17 2022-03-11 山东青揽电子有限公司 一种抗碰撞混淆标记算法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130191640A1 (en) * 2012-01-23 2013-07-25 Jeffrey Mitchell Bloomer Information system and method incorporating a portable digital media device
US20150100334A1 (en) 2013-10-08 2015-04-09 Chi-Hung Lin System and Method for Managing Medical Information

Family Cites Families (120)

* 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 (fr) * 1998-08-04 2000-02-17 Fujitsu Limited Systeme de signature presentant des informations de signature d'utilisateur
US6523116B1 (en) 1999-03-05 2003-02-18 Eastman Kodak Company Secure personal information card database system
JP2000343784A (ja) 1999-06-04 2000-12-12 Fujitsu Ltd 二次元コードの印刷再現方法、印刷物、印刷方法と印刷装置、並びに再現方法と再現装置
JP2001222483A (ja) 2000-02-09 2001-08-17 Sony Corp 情報転送方法および情報転送システム
CN1142653C (zh) * 2000-04-28 2004-03-17 杨宏伟 动态口令认证系统及方法
WO2001095249A2 (en) 2000-06-05 2001-12-13 Optaglio Limited Product verification and authentication system and method
WO2002001271A1 (en) 2000-06-29 2002-01-03 Koninkl Philips Electronics Nv Multiple encryption of a single document providing multiple level access privileges
WO2002005061A2 (en) * 2000-07-06 2002-01-17 David Paul Felsher Information record infrastructure, system and method
EP1316171A4 (en) 2000-08-04 2006-05-03 First Data Corp PERSONNEL AND CONTOUR DIGITAL SIGNATURE SYSTEM
US6736322B2 (en) 2000-11-20 2004-05-18 Ecrio Inc. Method and apparatus for acquiring, maintaining, and using information to be communicated in bar code form with a mobile communications device
US7181015B2 (en) * 2001-07-31 2007-02-20 Mcafee, Inc. Method and apparatus for cryptographic key establishment using an identity based symmetric keying technique
KR20020023987A (ko) * 2002-01-03 2002-03-29 이태경 바코드 리더기를 활용한 애완 장난감 및 인터넷 상의 가상캐릭터 성장 시스템과 그 제어 방법
JP2003242263A (ja) 2002-02-21 2003-08-29 Matsushita Electric Ind Co Ltd 半導体記録媒体を用いた医療情報管理システム
US6854651B2 (en) 2002-07-01 2005-02-15 Wildseed Ltd. Non-persistently displayed bar code based data input method and apparatus
JP2004147006A (ja) * 2002-10-23 2004-05-20 Sharp Corp 情報送信方法及び携帯端末
JP2004186814A (ja) 2002-11-29 2004-07-02 Fujitsu Ltd 共通鍵暗号化通信システム
US20040111601A1 (en) 2002-12-06 2004-06-10 Nokia Corporation System and method for the exchange of cryptographic keys
JP2004252753A (ja) 2003-02-20 2004-09-09 Fujitsu Fip Corp 医療支援システム、医療支援方法、医療支援サーバ、医療支援プログラム
JP4145693B2 (ja) * 2003-03-28 2008-09-03 東邦瓦斯株式会社 インフラ設備による供給物の使用実績収集システム
WO2004102353A2 (en) * 2003-05-12 2004-11-25 Gtech Rhode Island Corporation 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 (ja) * 2003-12-19 2007-10-31 株式会社東芝 通信装置および通信方法
US20050188199A1 (en) * 2004-02-20 2005-08-25 Hoke Smith Securing computer data
JP4101225B2 (ja) 2004-10-19 2008-06-18 キヤノン株式会社 電子機器及び情報処理装置及びそれらの制御方法、並びにコンピュータプログラム及びコンピュータ可読記憶媒体
JP4736398B2 (ja) * 2004-10-22 2011-07-27 日本電気株式会社 近接する端末間における認証方法、秘匿情報の配送方法、装置、システム、及び、プログラム
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 (ja) * 2005-07-25 2007-02-08 Canon Inc 情報処理装置及びその制御方法、コンピュータプログラム
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 (de) * 2006-01-05 2007-07-12 Infineon Technologies Ag Speicher-Anordnung, Speichereinrichtungen, Verfahren zum Verschieben von Daten von einer ersten Speichereinrichtung zu einer zweiten Speichereinrichtung und Computerprogrammelemente
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
US7434724B2 (en) * 2006-12-22 2008-10-14 Welch Allyn, Inc. Dynamic barcode for displaying medical data
US8347407B2 (en) * 2007-01-26 2013-01-01 Nec Corporation Authority management method, system therefor, and server and information equipment terminal used in the system
JP2008203914A (ja) * 2007-02-16 2008-09-04 Nec Corp 電子カルテシステム、電子カルテ閲覧方法及びプログラム
JP4998065B2 (ja) * 2007-04-18 2012-08-15 沖電気工業株式会社 自動取引装置
JP5018880B2 (ja) * 2007-05-30 2012-09-05 富士通株式会社 画像暗号化装置、画像復号装置、方法、及びプログラム
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
US20090193267A1 (en) * 2008-01-28 2009-07-30 Chiasen Chung Secure electronic medical record storage on untrusted portal
US8225097B2 (en) * 2008-01-28 2012-07-17 Seagate Technology Llc Anchor point-based digital content protection
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 (ja) 2008-09-16 2013-02-13 株式会社日立ソリューションズ 光学式読取りコードを用いた本人確認システム
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
JP5454574B2 (ja) 2009-05-14 2014-03-26 日本電気株式会社 通信装置及び秘匿情報共有方法
US7988037B2 (en) * 2009-11-02 2011-08-02 Research In Motion Limited Device and method for contact information exchange
JP2011215728A (ja) * 2010-03-31 2011-10-27 Toshiba Corp 書類管理システム、判定装置、データ出力制御装置、書類管理方法、書類管理プログラム
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 (ja) 2011-02-25 2016-01-06 株式会社マーベラス 2次元コードエンコードデコードプログラム、ゲーム装置およびゲームシステム
CN102156843B (zh) * 2011-03-28 2015-04-08 威盛电子股份有限公司 数据加密方法与系统以及数据解密方法
US8819448B2 (en) * 2011-04-29 2014-08-26 Georgetown University Method and system for managing information on mobile devices
JP2013005293A (ja) * 2011-06-17 2013-01-07 Toshiba Corp 認証コンポーネント、被認証コンポーネントおよびその認証方法
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
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
US8690062B1 (en) * 2011-11-10 2014-04-08 Komel Qureshi Storing events in an electronic calendar from a printed source
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
JP5996872B2 (ja) 2012-01-11 2016-09-21 株式会社東海理化電機製作所 貸与システム
US8602294B2 (en) 2012-01-11 2013-12-10 MedicStats, LLC System, computer program and method for managing medical information
JP2013175005A (ja) 2012-02-24 2013-09-05 Denso Wave Inc 情報伝達システム
WO2013130830A2 (en) 2012-03-01 2013-09-06 Minerva Holdings, LLC Systems and methods for generating, managing, and sharing digital scripts
AU2013206449A1 (en) 2012-06-20 2014-01-16 Visa International Service Association Multi-channel remote payment 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
AU2012387663B2 (en) * 2012-08-15 2016-02-25 Entit Software Llc 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 (zh) * 2013-04-23 2016-05-11 福建伊时代信息科技股份有限公司 一种文件保护方法及装置
WO2014206795A1 (en) * 2013-06-28 2014-12-31 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
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
CN104598859B (zh) 2013-10-30 2018-06-15 财团法人工业技术研究院 产生及认证彩色条形码的方法、装置与系统
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 (zh) * 2014-03-11 2016-02-17 腾讯科技(深圳)有限公司 一种加密通信方法、系统和装置
CN104980928B (zh) * 2014-04-03 2018-12-07 华为终端(东莞)有限公司 一种用于建立安全连接的方法、设备及系统
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
US10380379B2 (en) * 2015-03-03 2019-08-13 WonderHealth, LLC Selectively encrypting and displaying machine-readable identifiers in a device lock screen
US20200008051A1 (en) * 2015-03-03 2020-01-02 WonderHealth, LLC Secure data translation using a low-energy wireless communication link
NZ762158A (en) * 2015-03-03 2022-05-27 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
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 (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130191640A1 (en) * 2012-01-23 2013-07-25 Jeffrey Mitchell Bloomer Information system and method incorporating a portable digital media device
US20150100334A1 (en) 2013-10-08 2015-04-09 Chi-Hung Lin System and Method for Managing Medical Information

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Alfred J. Menezes 외 2명, Handbook of Applied Cryptography, CRC Press (1996.)*

Also Published As

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

Similar Documents

Publication Publication Date Title
KR102336845B1 (ko) 기계 판독 가능한 식별자들 내의 암호화된 데이터에 대한 액세스 제어
US10387577B2 (en) Secure data translation using machine-readable identifiers
US10380379B2 (en) Selectively encrypting and displaying machine-readable identifiers in a device lock screen
US20140379373A1 (en) Management of Medical Information
US20150310455A1 (en) Generation of an Image Regarding a Status Associated with a Patient
US20200008051A1 (en) Secure data translation using a low-energy wireless communication link
US20240095443A1 (en) Data input assistance system

Legal Events

Date Code Title Description
A107 Divisional application of patent
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right