KR20170110679A - Access control for encrypted data within machine-readable identifiers - Google Patents
Access control for encrypted data within machine-readable identifiers Download PDFInfo
- Publication number
- KR20170110679A KR20170110679A KR1020177024701A KR20177024701A KR20170110679A KR 20170110679 A KR20170110679 A KR 20170110679A KR 1020177024701 A KR1020177024701 A KR 1020177024701A KR 20177024701 A KR20177024701 A KR 20177024701A KR 20170110679 A KR20170110679 A KR 20170110679A
- Authority
- KR
- South Korea
- Prior art keywords
- data
- encryption key
- client device
- client
- readable identifier
- Prior art date
Links
- 238000000034 method Methods 0.000 claims abstract description 92
- 230000008569 process Effects 0.000 claims abstract description 36
- 230000004044 response Effects 0.000 claims description 22
- 238000003384 imaging method Methods 0.000 claims description 16
- 238000004891 communication Methods 0.000 claims description 7
- 230000036541 health Effects 0.000 description 48
- 230000015654 memory Effects 0.000 description 42
- 238000007726 management method Methods 0.000 description 36
- 239000011159 matrix material Substances 0.000 description 23
- 238000010586 diagram Methods 0.000 description 16
- 239000003814 drug Substances 0.000 description 16
- 230000006870 function Effects 0.000 description 16
- 229940079593 drug Drugs 0.000 description 15
- 230000001419 dependent effect Effects 0.000 description 7
- 206010020751 Hypersensitivity Diseases 0.000 description 5
- 230000007815 allergy Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 5
- 238000012937 correction Methods 0.000 description 5
- 238000001356 surgical procedure Methods 0.000 description 5
- 238000002255 vaccination Methods 0.000 description 5
- 230000003190 augmentative effect Effects 0.000 description 4
- 201000010099 disease Diseases 0.000 description 4
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 4
- 238000009877 rendering Methods 0.000 description 4
- 238000012552 review Methods 0.000 description 4
- 239000013566 allergen Substances 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 241001465754 Metazoa Species 0.000 description 2
- 208000026935 allergic disease Diseases 0.000 description 2
- 238000003745 diagnosis Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000007639 printing Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- WQZGKKKJIJFFOK-GASJEMHNSA-N Glucose Natural products OC[C@H]1OC(O)[C@H](O)[C@@H](O)[C@@H]1O WQZGKKKJIJFFOK-GASJEMHNSA-N 0.000 description 1
- 208000032041 Hearing impaired Diseases 0.000 description 1
- 125000002066 L-histidyl group Chemical group [H]N1C([H])=NC(C([H])([H])[C@](C(=O)[*])([H])N([H])[H])=C1[H] 0.000 description 1
- 208000003443 Unconsciousness Diseases 0.000 description 1
- 239000008280 blood Substances 0.000 description 1
- 210000004369 blood Anatomy 0.000 description 1
- 230000036772 blood pressure Effects 0.000 description 1
- 238000009530 blood pressure measurement Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000006757 chemical reactions by type Methods 0.000 description 1
- 208000030251 communication disease Diseases 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000035622 drinking Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000037406 food intake Effects 0.000 description 1
- 239000008103 glucose Substances 0.000 description 1
- 238000010191 image analysis Methods 0.000 description 1
- 230000003053 immunization Effects 0.000 description 1
- 238000002649 immunization Methods 0.000 description 1
- 230000001771 impaired effect Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 229940002612 prodrug Drugs 0.000 description 1
- 239000000651 prodrug Substances 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000010979 ruby Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000000391 smoking effect Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000000153 supplemental effect Effects 0.000 description 1
- 208000024891 symptom Diseases 0.000 description 1
- 238000013024 troubleshooting Methods 0.000 description 1
- 201000008827 tuberculosis Diseases 0.000 description 1
- 230000003442 weekly effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K19/00—Record carriers for use with machines and with at least a part designed to carry digital markings
- G06K19/06—Record 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/06009—Record 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/06037—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking multi-dimensional coding
-
- G06F19/322—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/36—User authentication by graphic or iconic representation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6209—Protecting 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting 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/6245—Protecting personal data, e.g. for financial or medical purposes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K19/00—Record carriers for use with machines and with at least a part designed to carry digital markings
- G06K19/06—Record 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/06009—Record 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/06018—Record 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/06028—Record 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/10544—Methods 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/10712—Fixed beam scanning
- G06K7/10722—Photodetector array or CCD scanning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods 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/1404—Methods for optical code recognition
- G06K7/1439—Methods for optical code recognition including a method step for retrieval of the optical code
- G06K7/1443—Methods for optical code recognition including a method step for retrieval of the optical code locating of the code in an image
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H10/00—ICT specially adapted for the handling or processing of patient-related medical or healthcare data
- G16H10/60—ICT 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/65—ICT 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key 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)
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/088—Usage 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing 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/2149—Restricted operating environment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing 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/2151—Time stamp
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H10/00—ICT specially adapted for the handling or processing of patient-related medical or healthcare data
- G16H10/60—ICT specially adapted for the handling or processing of patient-related medical or healthcare data for patient-specific data, e.g. for electronic patient records
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/60—Context-dependent security
- H04W12/69—Identity-dependent
- H04W12/77—Graphical identity
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Bioethics (AREA)
- Electromagnetism (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Toxicology (AREA)
- Databases & Information Systems (AREA)
- Primary Health Care (AREA)
- Public Health (AREA)
- Epidemiology (AREA)
- Computing Systems (AREA)
- Medical Treatment And Welfare Office Work (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Storage Device Security (AREA)
- Information Transfer Between Computers (AREA)
- Measuring And Recording Apparatus For Diagnosis (AREA)
- User Interface Of Digital Computer (AREA)
- Telephonic Communication Services (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
다양한 판독기 기기들에 의해 판독될 때 단일 기계 판독 가능한 식별자의 기초가 되는 데이터에 대한 액세스 제어를 제공하기 위한 다양한 실시예들이 개시된다. 클라이언트 기기는 제1 기기 프로파일과 연관된 제1 암호화 키 및 제2 기기 프로파일과 연관된 제2 암호화 키를 수신할 수 있다. 수집 프로세스를 통해 제공된 데이터는 적어도 제1 데이터 부분 및 제2 데이터 부분으로 포맷팅되며, 이 경우 상기 제1 데이터 부분은 제1 판독기 기기를 위한 것이고, 상기 제2 데이터 부분은 제2 판독기 기기를 위한 것이다. 제1 데이터 부분은 제1 암호화 키를 사용하여 암호화될 수 있으며, 제2 데이터 부분은 제2 암호화 키를 사용하여 암호화된다. 기계 판독 가능한 식별자는 암호화된 제1 데이터 부분 및 암호화된 제2 데이터 부분을 사용하여 생성될 수 있다. Various embodiments are disclosed for providing access control for data that is the basis of a single machine-readable identifier when read by various reader devices. The client device may receive a first encryption key associated with the first device profile and a second encryption key associated with the second device profile. The data provided through the gathering process is formatted with at least a first data portion and a second data portion, wherein the first data portion is for a first reader device and the second data portion is for a second reader device . The first data portion may be encrypted using the first encryption key and the second data portion is encrypted using the second encryption key. The machine readable identifier may be generated using the encrypted first data portion and the encrypted second data portion.
Description
관련 출원에 대한 상호 참조Cross-reference to related application
본 출원은 2015년 3월 3일에 출원된 미국 임시특허출원 제62/127,404호 "암호화된 건강 정보를 갖는 식별자를 생성하는 방법"의 우선권을 함유하며, 상기 임시특허출원의 내용은 그 전체가 본원에 참고로 편입된다. This application claims priority to U.S. Provisional Patent Application No. 62 / 127,404, filed Mar. 3, 2015, entitled " Method for Generating Identifiers Having Encrypted Health Information, " Incorporated herein by reference.
발명의 기술 분야TECHNICAL FIELD OF THE INVENTION
본 개시서는 암호 해독, 기계 판독 가능한 식별자 기술, 데이터 보안에 관한 것이며, 그리고 어느 정도는 컴퓨터 시각에 관련이 있다.The present disclosure relates to cryptanalysis, machine readable identifier technology, data security, and to some extent, computer vision.
기계 판독 가능 식별자들은 바코드 또는 매트릭스 코드 스캐너와 같은 판독기 기기에 의해 인식 가능한 매체로 데이터를 포맷팅하는데 사용될 수 있다. 그러나 적합한 판독기를 갖는 임의의 사람은 기초가 되는 데이터(underlying data)가 암호화되어 있지 않은 한 기계 판독 가능한 식별자로 구현된 데이터를 획득할 수 있다. 어느 기기들이 기계 판독 가능한 식별자들로 암호화된 데이터에 액세스할 수 있는지를 관리하는 것은 여전히 문제가 있다.The machine readable identifiers can be used to format data into a medium that is recognizable by a reader device, such as a barcode or matrix code scanner. However, any person with a suitable reader may obtain data embodied in a machine-readable identifier unless the underlying data is encrypted. It is still a problem to manage which devices can access encrypted data with machine readable identifiers.
본 개시서의 많은 양상들은 다음의 도면을 참조하여 더 잘 이해될 수 있다. 도면들 내의 컴포넌트들은 반드시 축척이 맞을 필요는 없으며, 대신에 본 발명의 원리를 명확하게 설명하는데 중점을 둔다. 또한, 도면에서, 동일한 참조번호는 여러 도면에서 대응하는 부분들을 나타낸다.
도 1은 다양한 실시예들에 따라 클라이언트 애플리케이션에 의해 수집된 정보에 대한 액세스 제어를 제공하기 위한 네트워크 환경의 예를 도시한다.
도 2는 다양한 실시예들에 따라 암호화된 기계 판독 가능한 식별자들을 사용하여 콘텐츠 데이터를 증대(augmenting) 및 업데이트하기 위한 네트워크 환경의 다른 예를 도시한다.
도 3은 다양한 실시예들에 따라 다수의 키들을 사용하여 암호화된 데이터의 일부분들을 갖는 기계 판독 가능한 식별자를 생성하는데 사용되는 데이터 구조를 도시한다.
도 4는 40-L 버전 매트릭스 코드의 용량을 나타내는 테이블을 포함한다.
도 5는 인코딩 데이터의 모드에 대한 모드 표시자 비트를 나타내는 표를 포함한다.
도 6은 다양한 실시예들에 따라 기계 판독 가능한 식별자에서 사용하기 위한 데이터의 암호화 및 인코딩의 일례를 나타내는 흐름도이다.
도 7a 내지 도 7n은 다양한 실시예들에 따른 클라이언트 애플리케이션에 의해 생성된 사용자 인터페이스들의 다양한 예들을 도시한다.
도 8은 다양한 실시예들에 따라 기계-판독 가능한 식별자를 생성하도록 컴퓨팅 기기 또는 클라이언트 기기를 구성하는데 사용되는 코드의 일례를 나타내는 의사 코드(pseudo-code)이다.
도 9는 다양한 실시예들에 따라 다른 기기에 의해 생성된 기계 판독 가능한 식별자를 사용하여 클라이언트 기기에서 데이터를 업데이트 및 증대하는 예를 도시한다.
도 10 내지 도 12는 다양한 실시예들에 따라 클라이언트 기기에서 실행되는 클라이언트 애플리케이션의 기능을 도시하는 흐름도들이다.
도 13 및 도 14는 다양한 실시예들에 따라 컴퓨팅 환경에서 실행되는 원격 애플리케이션의 기능을 도시하는 흐름도들이다.
도 15 내지 도 17은 다양한 실시예들에 따라 도 1 및 도 2의 네트워크 환경에서 사용되는 컴퓨팅 환경, 클라이언트 기기 및 판독기 기기의 예시적인 설명들을 제공하는 개략적인 블록도들이다.Many aspects of the present disclosure may be better understood with reference to the following drawings. The components in the figures are not necessarily to scale, emphasis instead being placed upon clearly illustrating the principles of the invention. Also, in the drawings, like reference numbers indicate corresponding parts in the several views.
1 illustrates an example of a network environment for providing access control for information collected by a client application in accordance with various embodiments.
Figure 2 illustrates another example of a network environment for augmenting and updating content data using encrypted machine readable identifiers in accordance with various embodiments.
FIG. 3 illustrates a data structure used to create a machine-readable identifier having portions of encrypted data using multiple keys in accordance with various embodiments.
Figure 4 includes a table showing the capacity of the 40-L version matrix code.
Figure 5 includes a table showing the mode indicator bits for the mode of encoded data.
6 is a flow diagram illustrating an example of encryption and encoding of data for use in a machine readable identifier in accordance with various embodiments.
Figures 7A-7N illustrate various examples of user interfaces created by a client application in accordance with various embodiments.
8 is a pseudo-code illustrating an example of code used to configure a computing device or client device to generate a machine-readable identifier in accordance with various embodiments.
Figure 9 illustrates an example of updating and augmenting data at a client device using a machine-readable identifier generated by another device in accordance with various embodiments.
10-12 are flowcharts illustrating the functionality of a client application running on a client device in accordance with various embodiments.
Figures 13 and 14 are flow charts illustrating the functionality of a remote application running in a computing environment in accordance with various embodiments.
Figures 15-17 are schematic block diagrams that provide exemplary illustrations of computing environments, client devices, and reader devices used in the network environments of Figures 1 and 2, in accordance with various embodiments.
본 개시서는 기계 판독 가능한 식별자들 내의 세그먼트화된 데이터(segmented data)에 대한 액세스 제어에 관한 것이다. 바코드, 매트릭스 코드 또는 다른 유사한 식별자들과 같은 기계 판독 가능한 식별자들은 바코드 또는 매트릭스 코드 스캐너와 같은 판독기 기기에 의해 인식 가능한 매체로 데이터를 포맷팅하는데 사용될 수 있다. 유선 또는 무선 네트워크를 사용하지 않고 하나의 기기에서 다른 기기로 데이터를 전달하기 위해 기계 판독 가능한 식별자들이 사용될 수 있지만, 적합한 판독기를 가진 사람은 기초가 되는 데이터가 암호화되지 않는 한 기계 판독 가능 식별자로 구현된 데이터를 획득할 수 있다. 기초가 되는 데이터가 민감할 수 있으므로, 사용자는 기초가 되는 데이터의 어느 부분이 다양한 기기들에 의해 판독될 수 있는지를 제어하기를 원할 수 있다. The present disclosure relates to access control for segmented data in machine readable identifiers. Machine readable identifiers such as bar codes, matrix codes or other similar identifiers may be used to format the data into a medium that is recognizable by a reader device, such as a bar code or matrix code scanner. Although machine readable identifiers may be used to transfer data from one device to another without using a wired or wireless network, persons with suitable readers may implement the machine readable identifier unless the underlying data is encrypted Data can be obtained. Since the underlying data may be sensitive, the user may want to control which portions of the underlying data can be read by the various devices.
예를 들어, 일부 실시예들에서, 의료 정보는 기계 판독 가능한 식별자로 인코딩될 수 있다. 사람들은 비공개로 유지하고자 하는 민감한 데이터를 생성해야하는 경우가 있다(예를 들어, 진료소를 방문하는 동안 병력을 제공하는 것). 병력뿐만 아니라 다른 개인 식별 정보는 일반적으로 척추지압사(chiropractor), 종합 병원(holistic medicine provider), 수의사, 응급 센터, 치과의사, 보험 회사 등에서 필요하다. 가족 구성원들은 친척들이 이러한 정보를 제공할 수 없을 때 친척들을 대신하여 의료 제공자에게 이러한 정보를 제공할 책임이 있을 수 있다. For example, in some embodiments, the medical information may be encoded with a machine-readable identifier. People sometimes need to generate sensitive data that they want to keep private (for example, providing a medical force during a visit to a clinic). In addition to medical history, other personally identifiable information is usually needed in chiropractors, holistic medicine providers, veterinarians, emergency centers, dentists, insurance companies, and so on. Family members may be responsible for providing this information to health care providers on behalf of their relatives when relatives are unable to provide this information.
어떤 사람이 자신의 일반의(general practitioner; GP)에게 완전한 병력을 제공하기를 원할 수도 있지만, 그 사람은 지압사 또는 치과 의사와 같은 다른 제공자에게는 완전한 병력을 제공하기를 원하지 않을 수도 있다. 대신 의료 전문가와 관련이 있는 것으로 데이터를 제한하고자 할 수 있다. 이에 따라, 다양한 실시예들에서, 데이터를 이용하여 하나의 기계 판독 가능한 식별자가 인코딩될 수 있으며, 이 경우, 상이한 기기들은 데이터의 상이한 부분들을 판독할 수 있다. 예를 들어, 한 개인은 자신의 일반의가 매트릭스 코드로부터 완전한 병력을 획득하는 것을 허가할 수 있지만, 지압사는, 동일한 매트릭스 코드를 사용하여, 오직 사용자가 승인한 만큼의 병력의 하위 집합만을 획득할 수 있다.While a person may want to provide a full force to his general practitioner (GP), he may not want to provide a full force to other providers, such as a chiropractor or dentist. Instead, you might want to limit your data to something that is relevant to a healthcare professional. Thus, in various embodiments, one machine readable identifier may be encoded using the data, in which case the different instruments may read different portions of the data. For example, an individual may allow his or her generic to acquire a complete history from a matrix code, but a chiropractor uses the same matrix code to acquire only a subset of the troops as authorized by the user .
다양한 실시예들에 따르면, 사용자는, 펜 및 종이를 사용하여 예진표(medical form)를 작성하는 표준 관례와는 대조적으로, 스마트폰 또는 태플릿과 같은 자신의 전자 기기를 사용하여 예진 정보(medical intake information)를 제공할 수 있다. 전자 기기를 통해 사용자가 제공하는 의료, 개인 및 기타 주의가 필요한 정보는 민감할 수 있으므로, 네트워크를 통해 정보를 전송하면 우려가 제기된다. 예를 들어, 패킷 스니핑 소프트웨어 또는 비인증 액세스 포인트를 사용하여 정보가 누출될 수 있다. 또한, 정보가 저장되는 데이터베이스들이 해킹당할 수 있다. 이와 같이, 바코드 또는 매트릭스 코드와 같이 기계 판독 가능 식별자들은 네트워크를 사용하지 않고 주변 기기들 간에 정보를 전달하는데 사용될 수 있다.In accordance with various embodiments, a user may use his or her electronic device, such as a smartphone or a tablet, to create a medical intake, in contrast to the standard practice of creating a medical form using a pen and paper. information can be provided. Information that medical, personal, and other sensitive information that users provide through electronic devices can be sensitive, so transferring information over the network raises concerns. For example, information may be leaked using packet sniffing software or an unauthorized access point. In addition, databases in which information is stored may be hacked. As such, machine readable identifiers, such as bar code or matrix code, can be used to convey information between peripherals without using a network.
그러나 기계 판독 가능한 식별자들은 일반적으로 오픈 소스 또는 투명한 표준(transparent standards)에 의존하는데, 이러한 오픈 소스 또는 투명한 표준은 기계 판독 가능한 식별자들로 구현된 데이터의 해석을 권한 없는 액세스에 취약하게 만든다. 예를 들어, 의료 정보가 매트릭스 코드로구현되었다면, 모든 상업적으로 이용 가능한 매트릭스 코드 판독기는 상기 의료 정보를 획득할 수 있다. 기초가 되는 데이터가 암호화될 수 있지만, 오직 적합한 키로의 액세스를 갖는 기기들만 그 데이터를 해독할 수 있다. 그러나 여러 기기들이 단일 키를 공유하는 것은 사람이 전체 정보를 제공하는 것을 단념시킨다. 왜냐하면 그 사람은 키를 가진 모든 기기들이 자신의 정보에 액세스할 수 있다는 것을 인식할 수 있기 때문이다. However, machine-readable identifiers generally rely on open source or transparent standards, which open source or transparent standards make interpretation of data implemented with machine-readable identifiers vulnerable to unauthorized access. For example, if the medical information is implemented in a matrix code, all commercially available matrix code readers may obtain the medical information. The underlying data can be encrypted, but only those devices that have access to the appropriate key can decrypt the data. However, the sharing of a single key by several devices discourages a person from providing the entire information. Because he can recognize that all devices with keys can access his information.
이에 따라, 본원에 설명된 실시예들에서, 기계 판독 가능한 식별자들 내 세그먼트화된 데이터에 대한 액세스 제어가 제공될 수 있다. 일 실시예에서, 클라이언트 기기에서 실행 가능한 클라이언트 애플리케이션은 네트워크를 통해 제1 기기 프로파일과 연관된 제1 암호화 키 및 제2 기기 프로파일과 연관된 제2 암호화 키를 수신하도록 구성될 수 있다. 상기 클라이언트 애플리케이션은 사용자로 하여금 다양한 데이터를 입력하도록 하는 일련의 사용자 인터페이스들을 포함할 수 있는 수집(ingestion) 프로세스를 통해 사용자로부터의 입력 데이터의 수집을 용이하게 할 수 있다. 일단 수신되면, 클라이언트 애플리케이션은 입력 데이터를 적어도 제1 데이터 부분 및 제2 데이터 부분으로 분할하거나 그렇지 않으면 입력 데이터를 적어도 제1 데이터 부분 및 제2 데이터 부분으로 포맷팅할 수 있다. 예를 들어, 상기 제1 데이터 부분은 일반의용 판독기 기기에 의해 해석될 수 있지만, 상기 제2 데이터 부분은 지압사용 판독기 기기에 의해 해석될 수 있다.Thus, in the embodiments described herein, access control for segmented data in machine readable identifiers can be provided. In one embodiment, a client application executable on a client device can be configured to receive a first encryption key associated with a first device profile and a second encryption key associated with a second device profile over a network. The client application may facilitate collection of input data from a user through an ingestion process that may include a series of user interfaces that allow a user to enter various data. Once received, the client application may split the input data into at least a first data portion and a second data portion, or otherwise format the input data into at least a first data portion and a second data portion. For example, the first data portion may be interpreted by a general purpose reader device, but the second data portion may be interpreted by an acupressure use reader device.
클라이언트 애플리케이션은 제1 암호화 키를 사용하여 제1 데이터 부분을 해석할 수 있고 제2 암호화 키를 사용하여 제2 데이터 부분을 해석할 수 있다. 본 명세서에서 키 관리 애플리케이션으로 지칭되는 원격 애플리케이션은 서버와 같은 원격 컴퓨팅 기기에서 실행될 수 있으며, 그리고 사용자에 의해 허가받은 대로 데이터를 해독할 수 있는 키들의 전송 및 수신을 감독할 수 있다. 대안적으로, 다른 실시예들에서, 수신기 기기는 원격 컴퓨팅 환경에서 키와 관련될 수 있다. 원격 애플리케이션은 클라이언트 애플리케이션에 수신기 기기에 대한 키를 제공할 수 있으며, 이로써, 정보는 수신기 기기에 의한 액세스를 위해 암호화된다. 마지막으로, 클라이언트 애플리케이션은 클라이언트 기기에 의해 액세스 가능한 디스플레이에서 렌더링하기 위해 암호화된 제1 데이터 부분 및 암호화된 제2 데이터 부분을 사용하여 기계 판독 가능 식별자를 생성할 수 있다. 상기 수신기 기기는 자동 이미지 분석 및 컴퓨터 시각을 사용하여 기초가 되는 데이터에 액세스하기 위해 기계 판독 가능한 식별자의 하나 이상의 이미지들을 캡처할 수 있다.The client application can interpret the first data portion using the first encryption key and interpret the second data portion using the second encryption key. A remote application, referred to herein as a key management application, may be executed on a remote computing device, such as a server, and may supervise the transmission and reception of keys capable of decrypting the data as authorized by the user. Alternatively, in other embodiments, the receiver device may be associated with a key in a remote computing environment. The remote application may provide the client application with a key for the receiver device, whereby the information is encrypted for access by the receiver device. Finally, the client application may generate the machine readable identifier using the encrypted first data portion and the encrypted second data portion for rendering on a display accessible by the client device. The receiver device may capture one or more images of the machine-readable identifier to access underlying data using automatic image analysis and computer vision.
비-제한적인 예로서, 클라이언트 애플리케이션의 사용자는 자신의 일반의에게 높은 수준의 액세스를 부여할 수 있으며, 이 경우, 일반의는 자신의 기기를 사용하여 클라이언트 애플리케이션의 사용자에 의해 제공된 모든 입력 데이터에 액세스할 수 있다. 키 관리 애플리케이션은 일반의용 기기에 뿐만 아니라 사용자용 기기에도 키를 발송할 수 있다. 이와 유사하게, 키 관리 애플리케이션은 지압사 또는 다른 의료 제공자용 기기에 그리고 사용자용 기기에 키를 발송할 수 있다. 클라이언트 애플리케이션은 대응 키를 사용하여 일반의에 의한 수신이 승인된 데이터를 인코딩하면서, 지압사를 위한 상이한 키를 사용하여 지압사에 의한 수신이 승인된 데이터를 인코딩할 수 있다. 이를 위해, 단일 기계 판독 가능 식별자를 사용하여, 기계 판독 가능한 식별자의 기초가 되는 데이터에 대한 액세스 제어가 제공된다. As a non-limiting example, a user of a client application may grant a high level of access to his or her general user, in which case the general user may use his or her device to access all input data provided by the user of the client application Access. Key management applications can send keys to not only general purpose devices but also user devices. Similarly, the key management application may send keys to a device for a chiropractor or other health care provider and to a user device. The client application may encode data approved for receipt by the acupressurist using a different key for the acupressurist while encoding the accepted receipt by the general public using the corresponding key. To this end, a single machine readable identifier is used to provide access control to the underlying data of the machine readable identifier.
이해될 수 있는 바와 같이, 네트워크를 통해 전송된 데이터를 가로채는 여러 가지 방법이 존재하기 때문에 네트워크를 사용하지 않고 기기들 간에 민감한 데이터를 전송하기 위해 기술적 문제가 존재한다. 추가적으로, 네트워크 저장 데이터(네트워크 기기에 저장된 데이터)가 허가 없이 획득될 수 있는 많은 방법이 존재하기 때문에 기술적인 문제가 존재한다. 이에 따라, 본원에 기술된 실시예들은 민감한 데이터를 전송 및 수신하기 위해 네트워크를 사용하지 않으면서 기기들 간에 민감한 데이터를 전송하는 방법을 제시함으로써 기술적인 문제를 해결한다. As can be appreciated, because there are several ways to intercept data transmitted over the network, there is a technical problem to transmit sensitive data between devices without using the network. Additionally, there are technical problems because there are many ways in which network stored data (data stored on a network device) can be obtained without permission. Accordingly, the embodiments described herein solve a technical problem by suggesting a method for transmitting sensitive data between devices without using a network to transmit and receive sensitive data.
본 개시서는 헬스케어 데이터와 관련된 다수의 예들을 제공하지만, 본원에 포함된 실시예들은 많은 산업 분야에 적용 가능하다. 추가적으로, 본 개시서는 매트릭스 코드 및 다른 유사한 기계 판독 가능한 식별자들과 관련된 예들을 제공한다. 그러나 일부 실시예들에서, RICOH®에 의해 시판되는 Clickable Paper™ 애플리케이션에서 사용되는 것과 같은 상이한 형태의 이미지들로 인코딩된 데이터를 식별하기 위해 시각 이미지 인식이 사용될 수 있다.While the present disclosure provides numerous examples relating to healthcare data, the embodiments contained herein are applicable to many industrial applications. Additionally, the present disclosure provides examples relating to matrix codes and other similar machine-readable identifiers. However, in some embodiments, visual image recognition may be used to identify data encoded in different types of images, such as those used in the Clickable Paper ™ application marketed by RICOH®.
다음 논의에서는, 시스템 및 해당 컴포넌트들에 대한 일반적인 설명이 제공되고, 이후에는 시스템 및 해당 구성 요소들의 작동에 대한 설명이 제공된다.In the following discussion, a general description of the system and its components is provided, followed by a description of the operation of the system and its components.
도 1을 참조하면, 다양한 실시예들에 따른 네트워크 환경(100)이 도시되어 있다. 네트워크 환경(100)은 네트워크(112)를 통해 서로 데이터 통신하는 컴퓨팅 환경(103), 클라이언트 기기(106) 및 판독기 기기(109)를 포함한다. 다양한 실시예들에서, 클라이언트 기기(106) 및 판독기 기기(109)는 암호화 키들을 이외에는 네트워크(112)를 통해 하나의 기기에서 다른 기기로 어떠한 정보도 전달하지 않을 수 있으며, 이에 관하여 후술될 것이다. 네트워크(112)는 예를 들어 인터넷, 인트라넷, 엑스트라넷, WAN(wide area network), LAN(local area network), 유선 네트워크, 무선 네트워크, 또는 다른 적절한 네트워크 등 또는 그러한 네트워크들의 하나 이상의 조합을 포함한다. 예를 들어, 그러한 네트워크는 위성 네트워크, 케이블 네트워크, 이더넷 네트워크 및 다른 유형의 네트워크를 포함할 수 있다.Referring to Figure 1, a
컴퓨팅 환경(103)은 예를 들어 서버 컴퓨터 또는 컴퓨팅 기능을 제공하는 임의의 다른 시스템을 포함할 수 있다. 대안적으로, 컴퓨팅 환경(103)은 예를 들어 하나 이상의 서버 뱅크, 컴퓨터 뱅크 또는 다른 기기들에 배치될 수 있는 다수의 컴퓨팅 기기들을 사용할 수 있다. 그러한 컴퓨팅 기기들은 단일 설비에 배치될 수 있으며, 또는 많은 다른 지리적 위치들 사이에 분산될 수 있다. 예를 들어, 컴퓨팅 환경(103)은 호스트된 컴퓨팅 자원, 그리드 컴퓨팅 자원 및/또는 임의의 다른 분산 컴퓨팅 장치를 함께 포함할 수 있는 다수의 컴퓨팅 기기들을 포함할 수 있다. 일부 경우에, 컴퓨팅 환경(103)은 프로세싱, 네트워크, 저장소, 또는 다른 컴퓨팅 관련 자원들의 할당된 용량이 시간에 따라 변할 수 있는 탄력적인 컴퓨팅 자원에 대응할 수 있다.The computing environment 103 may include, for example, a server computer or any other system that provides computing functionality. Alternatively, the computing environment 103 may use a number of computing devices that may be located, for example, in one or more server banks, computer banks, or other devices. Such computing devices may be deployed in a single facility, or may be distributed among many other geographic locations. For example, computing environment 103 may include a plurality of computing devices that may include hosted computing resources, grid computing resources, and / or any other distributed computing device. In some cases, the computing environment 103 may be responsive to resilient computing resources where the allocated capacity of processing, network, storage, or other computing related resources may change over time.
다양한 응용들 및/또는 다른 기능은 다양한 실시예들에 따라 컴퓨팅 환경(103)에서 실행될 수 있다. 또한, 다양한 데이터는 컴퓨팅 환경(103)에 액세스 가능한 데이터 저장소(115)에 저장된다. 데이터 저장소(115)는 이해될 수 있는 바와 같이 다수의 데이터 저장소들(115)을 나타낼 수 있다. 데이터 저장소(115)에 저장된 데이터는 예를 들어 이하에서 설명되는 다양한 애플리케이션들 및/또는 기능적 엔티티들의 동작과 관련된다.Various applications and / or other functions may be executed in the computing environment 103 in accordance with various embodiments. In addition, the various data are stored in a
컴퓨팅 환경(103) 상에서 실행되는 컴포넌트들은 예를 들어 키 관리 애플리케이션(118), 번역기 서비스(120), 다이렉스 메시징 서비스(122), 그리고 본 명세서에서 상세히 논의되지 않는 다른 애플리케이션들, 서비스들, 프로세스들, 시스템들, 엔진들 또는 기능을 포함할 수 있다. 키 관리 애플리케이션(118)은 데이터 저장소(115)에 저장된 다양한 암호화 키들(121a 내지 121c)의 전송 및 수신을 감독하도록 실행될 수 있으며, 이는 후술될 것이다.The components that run on the computing environment 103 may include other components such as, for example, a
번역기 서비스(120)는 사용자 입력을 스페인어와 같은 제1 언어로부터 영어와 같은 제2 언어로 번역하도록 실행될 수 있다. 일부 실시예들에서, 번역기 서비스(120)는 수집 프로세스에서 사용하기 위해 컴퓨팅 환경(103)에 저장된 질문을 제1 언어에서 제2 언어로 번역하는데 사용될 수 있다. Translator service 120 may be implemented to translate user input from a first language such as Spanish to a second language such as English. In some embodiments, translator service 120 may be used to translate questions stored in computing environment 103 for use in the gathering process from a first language to a second language.
다이렉트 메시징 서비스(122)는 네트워크를 통해 클라이언트 기기(106)로부터 다른 기기에 암호화된 다이렉트 메시지들을 발송하는데 사용될 수 있다. 일 실시예에서, 클라이언트 기기(106)에서 실행 가능한 애플리케이션은 클라이언트 기기(106)의 사용자에 의해 생성된 메시지를 암호화하고 암호화된 메시지를 네트워크를 통해 다이렉트 메시징 서비스(122)에 발송하며, 그 다음 상기 다이렉트 메시징 서비스(122)는 상기 암호화된 메시지를 수신 클라이언트 기기(106)에 전송한다. 일례에서, 상기 다이렉트 메시징 서비스(122)는 환자가 자신의 의료 서비스 제공자와 직접 통신할 수 있게 한다. 다른 실시예들에서, 메시지들은 기계 판독 가능한 식별자를 사용하여 클라이언트 기기들(106) 간에 전달될 수 있으며, 이에 관해 후술될 것이다.The direct messaging service 122 may be used to send encrypted direct messages from the
추가 실시예들에서, 컴퓨팅 환경(103)은 암호화된 정보(예를 들어, 암호화된 건강 정보)의 클라우드 기반 저장소를 제공하는 애플리케이션들 또는 서비스들을 포함할 수 있지만, 다른 실시예들에서, 암호화된 정보는 컴퓨팅 환경(103)에 저장되지 않을 수 있다. In further embodiments, the computing environment 103 may include applications or services that provide a cloud-based repository of encrypted information (e.g., encrypted health information), but in other embodiments, Information may not be stored in the computing environment 103.
클라이언트 기기(106)는 네트워크(112)에 연결될 수 있는 다수의 클라이언트 기기들을 나타낸다. 클라이언트 기기(106)는 예를 들어 컴퓨터 시스템 같은 프로세서 기반 시스템을 포함할 수 있다. 그러한 컴퓨터 시스템은 데스크탑 컴퓨터, 랩탑 컴퓨터, PDA(personal digital assistant), 셀룰러폰, 스마트폰, 셋탑 박스, 뮤직 플레이어, 웹패드, 태블릿 컴퓨터 시스템, 게임 콘솔, 이북리더(electronic book reader), 스마트워치 또는 유사한 기능을 갖는 다른 기기들의 형태로 구현될 수 있다. 클라이언트 기기(106)는 클라이언트 기기 디스플레이(124)를 포함할 수 있으며, 판독기 기기(109)는 판독기 기기 디스플레이(127)를 포함할 수 있다. 클라이언트 기기 디스플레이(124) 및 판독기 기기 디스플레이(127)는 예를 들어 LCD(liquid crystal display) 디스플레이, 가스 플라즈마 기반 평면 패널 디스플레이, OLED(organic light emitting diode) 디스플레이, 전자 잉크(E ink) 디스플레이, LCD 프로젝터, 또는 다른 유형의 디스플레이 기기 등 같은 하나 이상의 기기들을 포함할 수 있다.The
클라이언트 기기(106)는 클라이언트 애플리케이션(130) 및/또는 다른 애플리케이션 같은 다양한 애플리케이션들을 실행하도록 구성될 수 있다. 클라이언트 애플리케이션(130)은 예를 들어 수집 프로세스를 수행하기 위해 클라이언트 기기(106)에서 실행될 수 있으며, 이에 의해, 클라이언트 기기 디스플레이(124)에 일련의 사용자 인터페이스들(131a)이 렌더링되어 사용자에게 사용자 입력을 프롬프트한다. 일례에서, 개인 정보, 의료 정보 또는 다른 적절한 정보를 획득하기 위해 하나 이상의 질문들이 사용자에게 제공된다. 하나 이상의 질문들은 컴퓨팅 환경(103)으로부터 획득되거나 클라이언트 애플리케이션(130)에서 하드코딩될 수 있다.The
클라이언트 애플리케이션(130)은 사용자 입력을 암호화할 수 있으며, 암호화된 사용자 입력으로 기계 판독 가능한 식별자(133)를 생성할 수 있다. 이해될 수 있는 바와 같이, 판독기 기기(109)는 판독기 애플리케이션(136)을 사용하여 기계 판독 가능한 식별자(133)를 해석하고 상기 암호화된 사용자 입력에 액세스한다. 하나 이상의 암호화 키들(121)을 사용하여, 판독기 애플리케이션(136)은 판독기 기기(109) 상의 로컬 저장을 위해 또는 원격 저장을 위해 상기 암호화된 사용자 입력을 해독할 수 있다. The
일부 실시예들에서, 클라이언트 애플리케이션(130) 및 판독기 애플리케이션(136)은 예를 들어 브라우저, 전용 애플리케이션 등을 포함할 수 있으며, 클라이언트 애플리케이션(130)에 의해 생성된 사용자 인터페이스(131a) 또는 판독기 애플리케이션(136)에 의해 생성된 사용자 인터페이스(131b)는 네트워크 페이지, 애플리케이션 스크린 등을 포함할 수 있다. 클라이언트 기기(106)는 예를 들어 이메일 애플리케이션, 소셜 네트워킹 애플리케이션, 워드 프로세서, 스프레드 시트 및/또는 다른 애플리케이션들과 같은, 클라이언트 애플리케이션(130)이외의 애플리케이션들을 실행하도록 구성될 수 있다.In some embodiments, the
판독기 기기(109)는 기계 판독 가능한 식별자(133)를 해석할 수 있는 카메라 또는 다른 기기와 같은 전-방향(front-facing) 이미징 기기(139) 또는 후-방향(rear-facing) 이미징 기기(미도시)를 포함할 수 있다. 판독기 애플리케이션(136)은 판독기 기기(109)에서 실행되어 클라이언트 애플리케이션(130)에 의해 생성된 기계 판독 가능한 식별자(133)의 하나 이상의 이미지들을 캡처할 수 있다. 이와 유사하게, 클라이언트 기기(106)는 전-방향 또는 후-방향 카메라와 같은 하나 이상의 이미징 기기들을 포함할 수 있다. 다양한 실시예들에서, 판독기 애플리케이션(136)은 기계 판독 가능한 식별자(133)로부터 획득된 암호화된 사용자 입력을 해독하고 판독기 기기 디스플레이(127)에 건강 정보를 제시하도록 추가 실행된다. The
판독기 애플리케이션(136)은 사용자에 의해 제공되는 데이터의 버전을 유지하고 특정 유형의 데이터 또는 다른 버전 사이의 네비게이팅(navigating)을 용이하게 하는 적절한 인터페이스를 생성하도록 구성될 수 있다. 클라이언트 애플리케이션(130)은 네트워크(112)를 통해 의학적 또는 다른 유형의 정보를 전송하는 것을 삼가도록 구성될 수 있지만, 일부 실시예들에서, 판독기 애플리케이션(136)은 데이터를 HIPAA-호환 전자 건강 기록 시스템과 같은 원격 또는 클라우드 기반 서비스에 전달할 수 있다. 클라이언트 애플리케이션(130)은 네트워크(112)를 통해 건강 또는 다른 유형의 정보를 발송하지 않을 수 있지만, 컴퓨팅 환경(103)은 기계 판독 가능한 식별자(133)의 버전을 데이터 저장소(115)에 백업하거나 저장할 수 있다. 사용자가 자신의 클라이언트 기기(106)를 업그레이드하거나 대체할 때, 기계 판독 가능한 식별자(133)는 새로운 클라이언트 기기(106) 상에 데이터를 채우기(populating) 위해 사용될 수 있다.The reader application 136 may be configured to maintain a version of the data provided by the user and to generate an appropriate interface that facilitates navigating between particular types of data or other versions. The
데이터 저장소(115)에 저장된 데이터는 기기 데이터(142)뿐만 아니라 이해될 수 있는 다른 데이터를 포함할 수 있다. 기기 데이터(142)는 하나 이상의 클라이언트 기기들(106) 및 판독기 기기들(109)과 연관된 정보를 포함할 수 있다. 일례에서, 각각의 판독기 기기(109)는 고유한 암호화 키(121)와 연관될 수 있으며, 이 경우, 키 관리 애플리케이션(118)은 상기 클라이언트 애플리케이션(130)에 상기 암호화 키(121)를 발송한다. 그 다음, 클라이언트 애플리케이션(130)은 판독기 기기(109)를 위해 상기 암호화 키(121)로 암호화된 사용자 입력 데이터를 포함하는 기계 판독 가능한 식별자(133)를 생성할 수 있다. 판독기 기기(109)는 또한 그것의 암호화 키(121)의 사본을 유지하므로, 사용자 입력 데이터를 해독하고 해석할 수 있다. The data stored in the
다른 예에서, 각각의 클라이언트 기기(106)는 하나 이상의 암호화 키들(121)과 연관될 수 있으며, 이 경우, 키 관리 애플리케이션(118)은 클라이언트 애플리케이션(130)의 사용자의 지시에 따라 상기 판독기 기기들(109)에게 상기 암호화 키들(121)을 발송한다. 상기 클라이언트 애플리케이션(130)은 하나 이상의 암호화 키들(121)로 암호화된 사용자 입력 데이터를 포함하는 기계 판독 가능한 식별자(133)를 생성할 수 있다. 키 관리 애플리케이션(118)은, 예를 들어 클라이언트 애플리케이션(130)의 사용자의 지시에 따라, 판독기 기기(109)에게 암호화 키(121)를 발송할 수 있으며, 이로써, 판독기 기기(109)는 상기 사용자 입력 데이터를 해독하고 해석할 수 있다.In another example, each
상기 기기 데이터(142)는 클라이언트 기기(106) 또는 판독기 기기(109)를 고유하게 식별하는 기기 식별자들(145)을 포함할 수 있다. 상기 기기 데이터(142)는 액세스 레벨들(152)을 포함할 수 있는 기기 프로파일들(148)을 더 포함할 수 있다. 일부 실시예들에서, 클라이언트 애플리케이션(130)의 사용자는 특정 판독기 기기들(109)을 특정 액세스 레벨들(152)과 연관시킬 수 있다. 일례에서, 사람은 자신의 일반의를 위한 제1 판독기 기기(109)를 제1 액세스 레벨과 연관시킬 수 있고, 자신의 치과의사를 위한 제2 판독기 기기(109)를 제2 액세스 레벨과 연관시킬 수 있다. 이를 위해, 클라이언트 애플리케이션(130)의 사용자는 액세스 레벨에 기초하여 어떤 데이터가 어느 판독기 기기(109)에 의해 액세스 가능한지를 지정할 수 있다. 설명될 바와 같이, 사용자 입력은 각 판독기 기기(109)에 이용 가능한 정보에 의해 세그먼트화되거나 분할(partitioned)될 수 있다. 이를 위해, 판독기 애플리케이션(136)은 사용자에 의해 특정되거나 컴퓨팅 환경(103)에 의해 미리 결정된 정보에 대한 상이한 액세스 레벨을 제공할 수 있다. The device data 142 may include device identifiers 145 that uniquely identify the
암호화 키들(121)은 데이터를 암호하는데 사용되는 숫자, 이진 또는 영숫자 문자열을 포함할 수 있다. 다양한 실시예들에서, 암호화 키들(121)은 대칭 암호화 키들(121), 비대칭 암호키들(121), 또는 이들의 조합을 포함할 수 있다.The
도 2를 참조하면, 다양한 실시예들에 따른 네트워크 환경(100)의 다른 예가 도시되어 있다. 일부 상황들에서, 클라이언트 애플리케이션(130)의 사용자에 의해 제공된 입력 데이터는 판독 기기(109) 상에서 또는 해독된 정보에 대한 액세스를 갖는 다른 기기 상에서 조작될 수 있다. 예를 들어, 의사는 최신 혈압, 체중 또는 다른 정보를 포함하도록 사용자에 의해 제공된 데이터를 변경할 수 있다. 사용자는 보다 완전하고 정확한 병력을 유지하기 위해 이러한 정보를 자신의 클라이언트 기기(106)에 저장하고자할 수 있다.Referring now to FIG. 2, another example of a
이를 위해, 일부 실시예들에서, 판독기 애플리케이션(136)은 클라이언트 기기(106)에 업데이트된 데이터, 수정된 데이터, 보충된 데이터, 또는 달리 조작된 데이터를 제공하기 위해 자신의 암호화 키(121)(또는 클라이언트 기기(106)에 이용 가능한 다른 암호화 키(121))를 사용할 수 있다. 클라이언트 애플리케이션(130)은 판독기 기기(109) 상에 생성되어 판독기 기기 디스플레이(127)에 렌더링되는 기계 판독 가능한 식별자(133)의 하나 이상의 이미지들의 캡처를 용이하게 할 수 있다.To that end, in some embodiments, the reader application 136 may use its encryption key 121 (e. G., ≪ / RTI > to provide updated data, modified data, supplemental data, or otherwise manipulated data to the
다양한 실시예들에서, 판독기 애플리케이션(136)에 의해 생성된 기계 판독 가능한 식별자(133)의 기초가 되는 데이터는 클라이언트 기기(106) 및 판독기 기기(109)에서만 이용 가능한 암호화 키(121)를 사용하여 암호화된다. 클라이언트 애플리케이션(130)은 기초가 되는 데이터를 해독할 수 있으며, 그리고 상기 데이터를 상기 클라이언트 기기(106)에 국부적으로(locally) 저장할 수 있다. 사용자가 수집 프로세스의 일부를 수행한다면, 업데이트된 데이터는 사용자 인터페이스(131)의 자동으로 채워지는 필드(automatically populated field)에 제공될 수 있다. 기계 판독 가능한 식별자(133)를 스캐닝하고 그리고 기초가 되는 데이터에 액세스하기 위해 적절한 암호화 키들(121)을 가짐으로써, 판독기 애플리케이션(136)은 국부적으로 저장된 데이터를 업데이트할 수 있으며, 그리고 스케줄링 애플리케이션, 예약 관리 애플리케이션, 투약 리필 애플리케이션 또는 EHR 애플리케이션과 같은 다른 애플리케이션들과 인터페이스하여 이와 관련된 정보를 업데이트할 수 있다.In various embodiments, the data underlying the machine-
다음으로 도 3을 참조하면, 기계 판독 가능한 식별자(133a 내지 133c)의 이미지를 생성하는데 사용되는 데이터를 포함하는 데이터 구조(300)의 예가 도시되어 있다. 데이터 구조(300)는 예를 들어 오류 정정 레벨(303), 문자 카운트 표시자(306), 모드 표시자(309), 페이로드(312), 오류 정정(315) 및/또는 이해될 수 있는 다른 데이터를 포함할 수 있다.Referring now to FIG. 3, there is shown an example of a
QR(quick response) 코드라고도 하는 매트릭스 코드는 일반적으로 인코딩된 데이터를 기반으로 오류 정정 코드 워드(바이트)를 생성하는데 사용되는 Reed-Solomon 오류 정정을 사용한다. 판독기 애플리케이션(136a ... 136b)은 이러한 오류 정정 레벨(303)을 사용하여 데이터가 부정확하게 판독되었는지 여부를 판단할 수 있으며, 데이터가 부정확하게 판독되었다면, 오류 정정 코드워드를 사용하여 데이터의 오류를 정정할 수 있다. 매트릭스 코드의 경우, 각각 7%, 15%, 25% 및 30%의 오류 정정 기능을 갖는 L, M, Q 및 H로 지정된 네 개의 레벨의 오류 정정 레벨(303)이 존재한다. Matrix codes, also called quick response (QR) codes, use Reed-Solomon error correction, which is typically used to generate error corrected codewords (bytes) based on encoded data. The reader applications 136a ... 136b can use this
매트릭스 코드는 상이한 크기를 가지며, 특정 크기의 매트릭스 코드는 버전이라고도 지칭된다. 40 가지 버전이 이용 가능하지만 추가 버전이 가능하며, 본 발명의 범위 내에 포함된다. 예를 들어, 버전 1은 매트릭스 코드의 최소 버전이며, 그리고 21 X 21 픽셀 크기이다. 각각의 버전은 이전 버전보다 4 픽셀 더 크다. 버전 40은 가장 큰 버전이며, 177 X 177 픽셀이다. 가장 큰 버전은 도 4의 표에 도시된 바와 같이 가장 큰 문자 용량을 갖는다.Matrix codes have different sizes, and matrix codes of a particular size are also referred to as versions. 40 versions are available, but additional versions are possible and are included within the scope of the present invention. For example, version 1 is the minimum version of the matrix code, and is 21 X 21 pixels in size. Each version is 4 pixels bigger than the previous version. Version 40 is the largest version, and is 177 X 177 pixels. The largest version has the largest character capacity as shown in the table of FIG.
페이로드(312)는 모드 표시자(309)에 의해 설정된 바와 같이 상이한 모드들에 따라 인코딩될 수 있다. 모드 표시자(309)는 도 5에 도시된 바와 같이 4 비트 스트링을 포함할 수 있다. 인코딩된 데이터는 후속 비트에 대해 사용되는 모드를 나타내는 적절한 모드 표시자로 시작할 수 있다. 가장 큰 버전의 매트릭스 코드는 도 4의 표에 도시된 바와 같이 가장 큰 문자 용량을 갖는다. 문자 카운트 표시자(306)는 인코딩되고 있는 문자들의 수를 포함한다.The
기계 판독 가능한 식별자(133)를 생성하기 위해, 클라이언트 애플리케이션(130)(또는 판독기 애플리케이션(136))은 수집 프로세스 동안 수신된 사용자 입력에 액세스하고 암호화 키(121)를 사용하여 데이터를 암호화할 수 있다. 암호화 키(121)가 비대칭인 실시예들에서, RSA 또는 다른 적절한 암호화 알고리즘이 사용될 수 있다. 암호화 키(121)가 대칭인 실시예들에서, AES(Advanced Encryption Standard) 또는 다른 적절한 암호화 알고리즘이 사용될 수 있다. 암호화된 사용자 입력은 모드 표시자(309)에 따라 암호화될 수 있다. 예를 들어, 암호화된 사용자 입력이 영숫자의 문자열이라고 가정하면, 모드 표시자(309)는 0010으로 설정될 수 있다. 영숫자 인코딩은 문자열을 쌍들로 분해하고 각 쌍에 대한 이진수를 만드는 것을 포함할 수 있다. To generate the machine-
제1 판독기 기기(109a)를 위한 데이터는 제1 판독기 기기(109a)에 의해 액세스 가능한 암호화 키(121)(도 3에 도시된 암호화 키 121A)를 사용하여 암호화될 수 있으며, 그리고 payloadA로서 인코딩될 수 있다. 이와 유사하게, 제2 판독기 기기(109b)를 위한 데이터는 제2 판독기 기기(109b)에 의해 액세스 가능한 암호화 키(121)(도 3에 도시된 암호화 키 121B)를 사용하여 암호화될 수 있으며, 그리고 payloadB로서 인코딩될 수 있다. 판독기 기기(109)에 의해 스캐닝될 때, 오직 payloadTotal의 일부만이 판독기 기기(109)에 의해 해석될 수 있다. The data for the
도 6을 참조하면, 입력 데이터의 매트릭스 코드 또는 다른 기계 판독 가능한 식별자(133)로의 변환을 도시하는 흐름도가 도시되어 있다. 단계 603으로 시작하여, 사용자 입력이 액세스된다. 사용자 입력은 예를 들어 수집 프로세스 동안 또는 클라이언트 애플리케이션(130)에 의해 제시되는 사용자 인터페이스(131)로부터 획득되는 건강 정보, 긴급 연락처 정보, 또는 다른 유형의 정보를 포함할 수 있다. 도 6의 예에서, 사용자 입력 문자열은 설명을 위해 "Hello world"를 포함한다.Referring to FIG. 6, there is shown a flow chart illustrating the conversion of input data into a matrix code or other machine-
단계 606에서, 암호화 키(121)는 데이터의 대상이 되는 판독기 기기(109)에 기초하여 식별된다. 예를 들어, 사용자는 자신의 일반의를 위한 자신의 병력의 특정 부분을 지정할 수 있다. 일반의를 위한 하나 이상의 판독기 기기들(109)에 대한 암호화 키(121)가 식별될 수 있다. 단계 609에서, 단계 606에서 식별된 암호화 키(121)를 사용하여 사용자 입력이 암호화된다. AES 암호화 및 "exampleencryptionkey"인 키를 사용하여 암호화된 데이터의 문자열은 "BBd2iHwO/gy+xnFUg6HeAA=="를 포함한다.In
다음, 단계 612에서, 암호화된 데이터는 영숫자 모드 또는 숫자, 바이트, 간지 또는 ECI와 같은 다른 적절한 모드를 사용하여 인코딩된다. 암호화된 데이터의 처음 두 문자 "BB"의 경우, 영숫자 코딩을 사용하여 이진수가 생성되어 "111111010"를 획득한다. 이는 모든 암호화된 데이터가 적절한 모드를 사용하여 인코딩될 때까지 계속될 수 있다. 마지막으로, 단계 612에서, 매트릭스 코드의 이미지는 매트릭스 코드 표준에 따라 페이로드로서 인코딩 데이터를 사용하여 생성된다.Next, in
다양한 실시예들에서, AES-256 암호화 알고리즘은 기초가 되는 데이터를 암호화하는데 사용될 수 있다. 초기화 벡터(initialization vector; IV) 또는 시작 변수(starting variable; SV)는 동일한 평문이 여러번 암호화되더라도 암호화를 무작위화하고 별개의 암호문을 생성하는 모드에 의한 사용을 위해 채용될 수 있다. (AES CBC Pkcs7). ECB(Electronic Codebook) 및 CBC(Cipher Block Chaining) 같은 일부 모드들은 최종 블록이 암호화 전에 패딩될 것을 요구할 수 있기 때문에 적절한 패딩이 사용될 수 있다.In various embodiments, the AES-256 encryption algorithm can be used to encrypt the underlying data. An initialization vector (IV) or starting variable (SV) may be employed for use by a mode of randomizing encryption and generating separate ciphertexts even if the same plaintext is encrypted multiple times. (AES CBC Pkcs7). Some modes such as ECB (Electronic Codebook) and CBC (Cipher Block Chaining) may require proper padding because the last block may require padding before encryption.
AES-256이 사용되는 실시예에서, 암호화 키(121)는 128 비트(16 바이트)의 IV를 갖는 256 비트(32 비트)를 포함할 수 있다. IV는, 암호화될 데이터가 변경되지 않아도, 클라이언트 애플리케이션(130) 또는 판독기 애플리케이션(136)에 의해 수행되는 각각의 암호화 시에 랜덤하게 생성되어 (이전의 암호화와는 상이한) 별개의 암호화 결과를 제공할 수 있다. 생성된 IV는 클라이언트 기기(106) 또는 판독기 기기(109) 상에 상기 암호화된 데이터와 함께 국부적으로 저장되어, 본 명세서에서 논의된 바와 같이 장래의 해독을 가능하게 할 수 있다.In an embodiment where AES-256 is used, the
일부 실시예들에서, 암호화된 데이터는 패스워드, 생체 데이터, 또는 PIN 코드와 관련하여 클라이언트 기기(106) 또는 판독기 기기(109)에 국부적으로 저장된다. 추가적으로, 각각의 사용자, 또는 데이터가 제공되는 엔티티(예를 들어, 환자, 친척, 애완동물)는 자신의 고유한 암호화 키(cryptographic key)(121)(즉, 암호 키(encryption key))를 가질 수 있다. 그 결과, 특정 기기에서 암호화된 임의의 데이터는 오직 적절한 패스워드, 생체 인식 데이터 또는 PIN 코드가 제공될 때 해당 기기에서 해독될 수 있다.In some embodiments, the encrypted data is stored locally in the
AES 암호화 알고리즘은 데이터를 암호화 또는 해독하기 위해 암호화 키(121) 또는 IV를 필요로 하므로, IV는 암호화된 데이터와 관련하여 저장되어 향후에 성공적으로 해독될 수 있다. 일부 실시예들에서, 키 관리 서비스(115)는 IV를 저장하는 것, 그리고 암호화 키(121)와 함께 클라이언트 기기들(106) 또는 판독기 기기들(109)로 IV를 전송하는 것을 관리한다. IV 키는 16 바이트 또는 다른 적절한 길이를 포함할 수 있다. 일부 실시예들에서, IV 키는 분할되어 암호화 키(121)를 따라 미리 정해진 위치에 저장될 수 있다. 예를 들어, IV 키의 제1 개수의 바이트는 암호화 키(121) 내의 제1 위치에 배치될 수 있고, IV 키의 제2 개수의 바이트는 암호화 키(121) 내의 제2 위치에 배치될 수 있다. IV 키는 암호화 키(121)가 사용되기 전에 암호화 키(121)로부터 제거될 수 있다. 이 특징은 암호화된 데이터에 추가 레벨의 보안을 부가한다. 예를 들어, 암호화 키(121)가 가로채어지거나, 브루트 포스(brute-force)에 의해 성공적으로 추측된다 하더라도, 데이터에서 IV를 검색하는 방법을 모른 채로 암호화된 데이터를 해독하는 것은 불가능하지는 않더라도 어려울 것이다. Since the AES encryption algorithm requires an
도 7a 내지 도 7n은 다양한 유형의 사용자 입력을 사용자에게 프롬프트함으로써 수집 프로세스를 수행하는데 사용되는 클라이언트 애플리케이션(130)의 사용자 인터페이스(131)의 다양한 예들을 도시한다. 이해될 수 있는 바와 같이, 상기 수집 프로세스를 수행하기 전에, 사용자는 클라이언트 기기(106)의 사용자를 적절히 인증하기 위해 사용자 이름, 패스워드, 생체 정보 또는 다른 정보를 제공할 필요가 있을 수 있다. 도 7a에서, 클라이언트 애플리케이션(130)에 대한 예시적인 홈 스크린이 도시되어 있는데, 여기서 사용자는 개인에 대한 주요 정보를 입력 할 수 있다. 주요 정보에는 의료 정보는 포함되지 않지만 식별을 위한 정보는 포함될 수 있다. 이 정보는 개인(예를 들어, 소유자, 부양가족, 애완동물 또는 다른 개체)의 이름을 식별하는 데 사용될 수 있다.7A-7N illustrate various examples of the
이어서, 클라이언트 애플리케이션(130)은 생년월일, 긴급 연락 정보, 1차 진료의(primary care physicain) 연락 정보 또는 다른 기본 정보와 같은 기본 정보를 입력하도록 사용자에게 프롬프트할 수 있다. 또한, 사용자 인터페이스(131)는 사용자가 정보가 제공되는 개체(individual)를 변경할 수 있게 할 수 있다. 예를 들어, 사용자는 개체를 그 자신으로부터 다른 개인, 예를 들어 자식, 부양가족, 애완동물 등으로 변경할 수 있다. 또한, 이러한 보조 프로파일들은 1차 진료의, 긴급 연락처 정보, 병력 등에 대한 정보를 입력 할 수 있는 데이터 필드를 가질 것이다.The
도 7b는 HIPAA(Health Insurance Portability and Accountability) 준수 및 문서화 사용자 인터페이스(131)의 실시예를 도시한다. 이 사용자 인터페이스(131)로부터, HIPAA와 같은 다양한 규정에 관한 정보가 도시되고, 필요한 동의를 얻기 위한 적절한 설명이 뒤따른다. 다양한 실시예들에서, 링크 또는 다른 사용자 인터페이스 컴포넌트가 생성되어 브라우저 애플리케이션과 같은 다른 애플리케이션이 준수(compliance)의 세부 사항에 대한 추가 설명이 필요한 사람들을 위해 정보를 표시하게 할 수 있다. 검토 후, 사용자가 자료를 검토하였는지 확인하기 위해 그리고 필요한 동의를 획득하기 위해 전자 서명과 날짜 또는 시간 스탬프에 대한 프롬프트가 표시될 수 있다. FIG. 7B illustrates an embodiment of Health Insurance Portability and Accountability (HIPAA) compliance and
이제 도 7c를 참조하면, 사용자 인터페이스(131)는 개체에 대한 과거 의료 정보를 획득하기 위한 전용 스크린의 일 실시예를 도시한다. 도 7c의 사용자 인터페이스(131)는 사용자가 과거에 전문 의료진으로부터 제공받은 의료 진단을 제공할 수 있게 한다. 다양한 실시예들에서, 가장 일반적인 가벼운 질병(ailment) 및/또는 질병(disease)의 정확한 철자를 알기 쉽게 스마트 텍스트, 자동-채우기(auto-population), 드롭다운 제안 및/또는 기타 유사한 구성요소가 포함될 수 있다. 클라이언트 애플리케이션(130)은 또한 이 진단이 주어진 날짜에 관한 데이터를 얻을 수 있다. 그런 다음 이것들은 날짜를 기준으로 숫자 순서로 배치될 수 있다. 진단이 나열되지 않는 경우, 자유 텍스트 옵션이 사용될 수 있다. 중요할 수 있는 추가 정보를 위해 추가 텍스트 상자가 생성 될 수 있다.Referring now to FIG. 7C,
도 7d는 이전의 모든 수술 경험을 제공하도록 사용자에게 촉구함으로써 과거 수술 정보가 획득될 수 있는 사용자 인터페이스(131)를 도시한다. 상술된 바와 같이, 다양한 실시예들에서, 가장 일반적인 가벼운 수술 또는 의료 절차의 정확한 철자를 알기 쉽게 스마트 텍스트, 자동-채우기(auto-population), 드롭다운 제안 및/또는 기타 유사한 구성요소가 포함될 수 있다. 또한 이러한 수술 절차들의 날짜와 기관은 알 수 있다면 획득될 수도 있다. 그런 다음 수술 절차들은 그 절차가 수행되었던 날짜 및 기관에 대한 관련 데이터 필드와 함께 시간 순서대로 배치될 것이다. 절차가 나열되지 않는 경우에는 자유 텍스트를 위한 옵션이 사용될 것이다.Figure 7d shows a
다음으로 도 7e를 참조하면, 사용자가 현재 및 이전 투약정보(medication)를 제공할 수 있게 하는, 현재 및 과거 투약정보(medication)을 획득하기 위한 전용 스크린의 실시예를 나타내는 사용자 인터페이스(131)가 도시되어 있다. 다양한 실시예들에서, 가장 일반적인 약물의 정확한 철자를 알기 쉽게 스마트 텍스트, 자동-채우기(auto-population), 드롭다운 제안 및/또는 기타 유사한 구성요소가 포함될 수 있다. 제공된 투약물이 시작된 날짜, 투약의 이유, 복용량 및 투여 빈도가 포함될 수 있다. 사용자가 더 이상 복용하지 않는 오래된 약물인 경우, 투약이 중단된 날짜를 위한 필드에 중단된 이유가 포함될 것이다. 투약정보가 나열되지 않는 경우에는 자유 텍스트 옵션이 사용될 것이다.7e, a
도 7f는 사용자가 현재 및 과거 알레르기, 투약정보, 환경적 트리거(environmental trigger), 동물 및 다른 관련 정보를 제공할 수 있는 사용자 인터페이스(131)를 도시한다. 다양한 실시예들에서, 가장 일반적인 약물 및 알레르겐의 정확한 철자를 알기 쉽게 스마트 텍스트, 자동-채우기, 드롭다운 제안 및/또는 기타 유사한 구성요소가 포함될 수 있다. 알레르겐에 대한 반응의 유형도 포함될 것이다. 이들은 각각의 알레르겐에 대한 반응 유형을 위한 관련 필드와 함께 숫자 순서로 배치될 것이다.Figure 7f illustrates a
도 7g의 비 제한적 예에서, 사용자가 자신의 가족의 병력과 관련된 정보를 제공할 수 있게 하는 사용자 인터페이스(131)가 도시되어있다. 일부 실시예들에서, 사용자는 가족의 병력에 적용 가능한지 여부를 알려주는 일반적인 특정 질병을 제공받을 수 있다. 적절한 데이터 필드는 흔하지 않은 질병에 사용될 수 있다. 또한, 일반적인 가벼운 질병(ailment) 또는 질병(disease)의 정확한 철자를 알기 쉽게 스마트 텍스트, 자동-채우기, 드롭다운 제안 및/또는 기타 유사한 구성요소가 포함될 수 있다. 사용자는 또한 이 진단을 받은 가족 구성원을 나이, 그리고 해당되는 경우 "사망한" 연도로 파악할 수 있다.In a non-limiting example of FIG. 7g, a
도 7h는 사용자로부터 사회생활력(social history)을 얻기 위한 전용 사용자 인터페이스(131)의 일 실시예를 도시한다. 예를 들어, 사용자는 개인의 사회생활력과 관련된 정보를 제공하기 위한 양식을 제공받을 수 있다. 일부 실시예들에서, 양식에는 흡연 이력, 음주, 해외여행, 교육 수준 등을 다루는 데이터 필드가 포함된다. 여기에는 이전에 제공한 생년월일을 기준으로 계산된 나이를 기준으로 동료 거주민, 집에 있는 총기, 집에서 기르는 애완동물, 납 및 결핵 노출 등의 특정 소아과 정보가 포함될 수도 있다.7H illustrates an embodiment of a
다음으로 도 7i를 참조하면, 사용자 인터페이스(131)는 사용자로부터 예방 접종을 획득하는 일 실시예를 도시한다. 스마트 텍스트는 사용자가 예방 접종의 철자를 정확히 쓰는데 도움이 되기 위해 사용될 수 있다. 외국 해외여행에 필요할 수 있는 것과 같이 일반적으로 제공되지 않는 예방 접종을 위해 오픈 텍스트 필드들이 제공될 수 있다. 일부 실시예들에서, 예방 접종이 제공된 날짜는 필수 필드일 수 있다. 이 정보는 예방 접종 날짜를 기준으로 시간 순서대로 배치될 수 있다.Referring next to Figure 7i, the
도 7j는 사용자에 의한 액세스를 위해서만 국부적으로 유지될 수 있거나 기계 판독 가능 식별자(133)에 포함될 수 있는 잡다한 메모(miscellaneous note)를 사용자가 제공할 수 있게 하는 사용자 인터페이스(131)의 실시예를 도시한다. 예를 들어, 메모에는 특정 의료 서비스 만남(healthcare encounter)에 관한 리마인더가 포함될 수 있다. 다양한 실시예들에서, 이것은 증상의 목록이 아니고 단지 특정 방문에 대한 리마인더일 뿐이므로 100 자 또는 다른 적절한 양으로 제한될 수 있다. 임의의 다른 섹션과 마찬가지로, 이 정보를 업데이트할 필요가 없는 경우 메모 페이지를 빈 칸으로 비워 둘 수 있다. 일부 실시예들에서, 메모 필드에 제공된 데이터는 기계 판독 가능 식별자(133)의 데이터로부터 제외될 수 있다.7J illustrates an embodiment of a
도 7k는 클라이언트 기기 디스플레이(124)에 사용자 인터페이스(131)를 생성하는 클라이언트 기기(106)의 다른 도면을 도시한다. 도 7k의 비-제한적 예에서, 사용자에게 사용자가 이전에 제공한 정보가 제공되는 실시예가 도시된다. 이해될 수 있는 바와 같이, 건강 정보가 획득되는 실시예들에서, 11 개의 기관계들 중 하나 이상에 관한 정보가 이상적으로 획득될 수 있다. 사용자 인터페이스(131)는 사용자, 관리자에 의해 미리 정의된 포맷으로, 또는 의료 서비스 제공자에 의해 지정된 포맷으로 의사 또는 다른 관심 있는 사람에게 정보 패킷을 인쇄 또는 전송하는 것을 용이하게 할 수 있다. 이것은 의사가 선호하는 포맷으로 그리고 소유자와 의사 모두가 읽을 수 있는 포맷으로 이 정보를 상관(correlating)시킬 수 있는 능력을 제공한다. 다른 예들에서, 사용자 인터페이스(131)는 환자의 약국, 보험 또는 기타 관련된 주제와 관련된 정보를 수신할 수 있다. 수집 프로세스에는 신체 검진 및 건강 검진이 포함될 수 있다.7K shows another view of the
또한, 클라이언트 애플리케이션(130)은 미리 정의된 포맷으로 수집 프로세스동안 제공된 정보를 정리(organizing)할 수 있다. 일례에서, 정보는 시간 순서대로 그리고 알레르기 또는 약물과 같은 주제별로 분류될 수 있다. 정보가 의료 데이터인 실시예들에서, 의료 서비스 제공자에게 공통적인 시간순 포맷은 클라이언트 애플리케이션(130)을 사용하여 획득된 데이터를 효율적으로 제공하는 방법을 제공한다. 그것은 의료 서비스 제공자에 의해 요구되는 바와 같이 지정된 모든 건강 정보를 제공할 것이다. 제공된 정보가 완전하고 정확할 수 있기 때문에, 약물이나 알레르기의 올바른 식별에 의해서 뿐만 아니라 의사 또는 제공자에게 필요한 것으로 입증될 수 있는 병력 전체를 제공함으로써 의료 사고를 제한하는 데 도움이 될 수 있다.In addition, the
데이터는 클라이언트 애플리케이션(130)에 의한 암호화 이전에 포맷팅 그리고/또는 압축될 수 있거나, 또는 판독기 애플리케이션(136)은 해독될 때 그리고/또는 압축 해제될 때 데이터를 포맷팅할 수 있다. 따라서, 클라이언트 애플리케이션(130) 또는 판독기 애플리케이션(136)은 Health Level 7 International에 의해 개발된 유연한 마크업 표준(flexible markup standard)을 포함하는 CDA(Clinical Document Architecture) 포맷과 같은 미리 정의된 포맷으로 데이터를 포맷팅할 수 있다. CDA 포맷은 환자와 전문 의료진 간의 정보 교환을 위한 퇴원 요약(discharge summaries) 및 경과 메모(progress note)와 같은 특정 의료 기록의 미리 정의된 구조를 포함한다. CDA 포맷은 텍스트, 이미지 및 오디오 또는 비디오와 같은 다른 유형의 멀티미디어를 포함할 수 있다. 다른 예들에서, 포맷은 판독기 애플리케이션(136)을 통해 의료 서비스 제공자에 의해 특정될 수 있다.The data may be formatted and / or compressed prior to encryption by the
다양한 실시예들에서, 클라이언트 애플리케이션(130)은 정보의 요약을 사용자가 의료 서비스 제공자의 사무실에서 또는 방문 이전에 인쇄하도록 Microsoft Word®, PDF®, 또는 다른 적절한 포맷으로 익스포트 할 수 있다. 일부 실시예들에서, 기계 판독 가능 식별자(133)는 생성된 문서의 모퉁이에 또는 다른 적절한 위치에 배치될 수 있다. 판독기 기기(109)를 사용하여, 의료 서비스 제공자는 특정 관행의 관습에 따라, 클라이언트 기기 디스플레이(124) 또는 문서로부터 기계 판독 가능 식별자(133)를 스캔하여 이 정보를 차트 또는 전자 건강 기록(EHR)으로 가져올 수 있다. 이해될 수 있는 바와 같이, 클라이언트 애플리케이션(130)이 기계 판독 가능 식별자(133)를 생성하기 전에 건강 정보를 암호화하도록 구성될 수 있기 때문에, 의료 서비스 제공자용 판독기 기기(109)는 기계 판독 가능 식별자(133)에 의해 제공된 정보를 해독할 수 있을 것이다. 그 결과, 클라이언트 애플리케이션(130)의 사용자는, 예를 들어 사무실에 앉아있는 동안, 예진 서식(medical intake format)을 작성하는 긴 과정을 우회할 수 있다. 사용자에 의해 제공된 정보는 전문 의료진에 의해 업데이트될 수 있으므로, 이는 의사에게 필요한 것으로 입증될 수 있는 병력 전체를 제공할 뿐만 아니라 약물 및 알레르기의 정확한 식별을 통해 의료 사고를 제한하는 데 도움이 될 수 있다.In various embodiments, the
클라이언트 애플리케이션(130)은 브라우저 애플리케이션을 통해 액세스되는 웹 기반 애플리케이션 또는 모바일 애플리케이션을 포함 할 수 있다. 웹 기반 애플리케이션을 사용하는 개인은 소유자가 방문 전에 인쇄할 수 있도록 요약 정보를 Word® 또는 PDF® 포맷으로 변환할 수 있으며, 정보는 세션 완료시 삭제될 수 있다. 인쇄물의 모퉁이에는 관련된 기계 판독 가능 식별자(133)가 도시될 수 있다.The
의료 서비스 제공자의 재량과 능력에 기초하여, 또 다른 실시 예는 클라이언트 애플리케이션(130)이 정보 및/또는 기계 판독 가능 식별자(133)가 첨부된 전자 메일을 생성하여 의료 서비스 제공자, 사무실 직원 또는 건강 시스템에게 이메일을 보내서 전자적으로 공유하는 것을 명시한다. 이는 방문 전에 집에서 또는 의료 서비스 제공자의 대기실에서 소유자에 의해 완료될 수 있다. 정보의 포맷은 의료 서비스 제공자가 선호하는 포맷이 될 것이다. 이 시점부터 그것은 환자의 페이퍼 차트에 추가하기 위해 인쇄되거나 스캔되거나, 또는 전자 의료 기록에 수동으로 입력될 수 있다. 마지막으로 그것은 EHR 또는 독점 전자 의료 기록(EMR) 시스템에 전자적으로 연결될 수 있다. 이 정보를 전자적으로 공유하기 전에, 소유자는 HIPAA 규정을 다시 검토해야할 수 있으며, 그리고 이 정보의 검토에 대한 날짜/시간 스탬프 및 전자 서명이 다시 요구될 수 있다.Based on the discretion and capabilities of the healthcare provider, another embodiment is that
이제 도 7l을 참조하면, 수집 프로세스 중에 제공된 사용자 입력을 갖는 기계 판독 가능 식별자(133)가 도시될 수 있다. 암호화된 이미지를 판독기 기기(109)의 렌즈 또는 카메라에 가져감으로써, 암호화된 건강 정보는 판독기 기기(109)에 의한 해석을 위해 전달될 수 있다. 일부 실시예들에서, 부양가족은 기계 판독 가능 식별자(133)의 이미지를 캡처함으로써 부모의 클라이언트 기기(106)로 또는 그 반대로 자신의 정보를 전송할 수 있다. 키 관리 애플리케이션(118)은 필요한 동의가 획득될 때 적절한 암호화 키들(121)의 전달을 용이하게 한다.Referring now to FIG. 71, a machine-
도 7m을 참조하면, 클라이언트 애플리케이션(130)의 사용자는 판독기 기기(109) 또는 상이한 클라이언트 기기(106)의 소유자와 같은 데이터의 수신자 및 암호화 키(121)를 특정할 수 있다. 다른 실시예들에서, 암호화 키(121)는 클라이언트 애플리케이션(130) 또는 키 관리 애플리케이션(118)에 의해 의사 랜덤하게 생성될 수 있다. 클라이언트 애플리케이션(130)에 의해 생성되면, 암호화 키(121)는 키 관리 애플리케이션(118)에 전송되며, 그 다음 상기 키 관리 애플리케이션(118)은 클라이언트 애플리케이션(130)의 사용자에 의해 지시된 바와 같이 암호화 키(121)를 판독기 기기(109) 또는 다른 클라이언트 기기(106)에 전달한다. 예를 들어, 클라이언트 기기(106)의 사용자는 암호화 키(121)가 "Atlanta Health" 제공자와 연관된 하나 이상의 판독기 기기들(109)에 전송되게 할 수 있다. 다른 실시예들에서, 미리 정의된 암호화 키(121)는 제공자의 선택에 기초하여 사용된다. 예를 들어, 키 관리 애플리케이션(118)은 "Atlanta Health" 제공자를 위해 하나 이상의 암호화 키들(121)을 저장할 수 있다. "Atlanta Health"가 선택될 때, 클라이언트 애플리케이션(130)은 "Atlanta Health" 제공자와 관련하여 저장된 하나 이상의 암호 키(121)를 사용하여 기계 판독 가능 식별자(133)에서의 사용을 위해 정보를 암호화할 수 있다.7M, a user of the
추가 실시예들에서, 암호화 키(121)는 생년월일, 사회 보장 번호, 또는 광범위하게 또는 공개적으로 이용 가능하지 않을 수 있는 다른 상수로서 설정될 수 있다. 그 다음, 암호화된 QR 이미지에 표시된 정보를 판독하고 전송하는데 필요한 필수 소프트웨어를 획득하는 모든 의료 서비스 제공자는 전자적으로 그리고 무선으로 사용자 입력을 즉시 추출할 수 있다. 일부 실시예들에서, 정보가 해독되기 전에 정보의 수신자가 발신 사용자에게 고유한 다른 식별자(예를 들어, 생년월일 또는 사회 보장 번호)를 입력해야하는 경우 추가적인 보안 레벨이 사용될 수 있다.In further embodiments, the
정보를 추출하는 프로세스는 의료 서비스 제공자 또는 다른 관심 있는 사람이 소유한 다른 클라이언트 기기(106) 또는 판독기 기기(109)의 카메라 렌즈에 기계 판독 가능 식별자(133)를 가져감으로써 달성될 수 있다. 이해될 수 있는 바와 같이, 이것은 프런트 오피스의 직원이 1 분 이내에 수행할 수 있다. 그 다음, 획득된 정보는 판독기 기기(109)상의 판독기 애플리케이션(136) 또는 다른 애플리케이션들에 의해 사용되어 환자의 페이퍼 차트 또는 전자 의료 기록 시스템에 부가될 수 있다. 또한, 판독기 애플리케이션(136)은 제3 자 EMR 시스템 내 필드들을 자동으로 채우도록 구성 될 수 있다.The process of extracting information may be accomplished by bringing the machine
다음으로 도 7n을 참조하면, 클라이언트 애플리케이션(130)은 암호화된 메시지들을 클라이언트 기기(106)로부터 다른 기기로 발송하는 것을 용이하게 할 수 있다. 일례에서, 클라이언트 애플리케이션(130)은 환자가 자신의 의료 서비스 제공자와 직접 통신할 수 있게 한다. 클라이언트 애플리케이션(130)은 클라이언트 기기(106)의 사용자에 의해 생성된 메시지를 암호화하고 암호화된 메시지를 네트워크(112)를 통해 다이렉트 메시징 서비스(122)에 전송할 수 있다. 그 다음, 다이렉트 메시징 서비스(122)는 암호화된 메시지를 수신 클라이언트 기기(106)에 전송할 수 있다. 다른 실시예들에서, 메시지들은 기계 판독 가능 식별자(133)를 사용하여 클라이언트 기기들(106) 간에 전달될 수 있다. 클라이언트 애플리케이션(130)은 다이렉트 메시징 서비스(122)를 통해 기계 판독 가능 식별자(133)의 전송을 더 용이하게 할 수 있다.7n, the
이제 도 8을 참조하면, 클라이언트 애플리케이션(130), 판독기 애플리케이션(136), 또는 다른 적절한 애플리케이션을 구성하여 매트릭스 코드 또는 다른 유형의 기계 판독 가능 식별자(133)를 생성하도록 구현될 수 있는 의사 코드(800)가 도시되어 있다. 예를 들어, 의사 코드의 라인 01에 있는 함수는 프로그래밍 방식으로 호출되어 매트릭스 코드를 생성할 수 있다. 라인 02는 도 7a 내지 도 7k의 사용자 인터페이스들(131)을 제시함으로써 수행되는 수집 프로세스에서 제공되는 사용자 입력과 같은, 기계 판독 가능 식별자(133)에 포함될 사용자 입력을 수신한다. 사용자 입력이 클라이언트 기기(106)에 국부적으로 저장되기 때문에, 그것은 적절하게 질의될 수 있다. 8, there is shown a
라인 03에서, 적절한 함수 호출을 사용하여 암호화 키(121)가 획득된다. 도 8의 실시예에서, 암호화 키(121)는 특정 판독기 기기(109)를 위해 제공된 식별자에 기초하여 획득된다. 예를 들어, 클라이언트 애플리케이션(130)의 사용자는 데이터의 의도된 수신자를 지정할 수 있다. 다른 실시예들에서, 사용자는 자신의 암호화 키(121)를 지정할 수 있다. 추가 실시예들에서, 암호화 키(121)는 생년월일, 사회 보장 번호, 또는 사용자에 의해 제공된 다른 정보를 사용하여 의사 랜덤하게 생성되거나 결정될 수 있다.At
라인 04에서, 모드 지시자(309)가 설정된다. 도 8의 예에서, 모드 지시자는 영숫자 모드를 나타내는 "0010"으로 설정된다. Line 05에서 입력 데이터의 문자 수가 결정된다. 라인 06에서, 함수 호출은 암호화 키(121)를 사용하여 사용자 입력을 암호화하고, 암호화된 문자열 또는 다른 적절한 변수 유형을 반환하는 적절한 함수에 대해 이루어진다. 라인 07에서는 적절한 함수 호출을 사용하여 Reed-Solomon 오류 코드가 결정됩니다. 라인 08-09에서는 데이터가 포맷팅될 수 있다. 라인 10에서, 포맷팅된 데이터는 이미지 또는 다른 적절한 포맷의 기계 판독 가능 식별자(133)를 생성하기 위해 프로그래밍 방식의 함수 호출의 변수로서 제공된다.At
이제 도 9를 참조하면, 외부 소스로부터 데이터를 임포트하는 클라이언트 애플리케이션(130)의 다른 예가 도시되어 있다. 상술된 바와 같이, 일부 상황들에서, 클라이언트 애플리케이션(130)의 사용자에 의해 제공된 입력 데이터는 해독된 정보에 대한 액세스를 갖는 판독기 기기(109) 또는 다른 기기 상에서 조작 될 수 있다. 예를 들어, 의사는 최신 혈압 측정, 체중 측정, 혈당 측정 또는 기타 정보를 포함하도록 데이터를 업데이트하거나 변경할 수 있다. 사용자는 보다 완전하고 정확한 병력을 유지하기 위해 자신의 클라이언트 기기(106)에 이러한 업데이트된 정보를 저장하기를 원할 수 있다. 일부 실시예들에서, 판독기 애플리케이션(136)은 물리적 의료 파일에 삽입하기 위해 인쇄할 수 있는 문서(900)를 생성할 수 있다.Referring now to FIG. 9, another example of a
판독기 애플리케이션(136)은 그것의 암호화 키(121)를 이용하여 기계 판독 가능 식별자(133a 내지 133b)를 갖는 문서(900)를 생성 할 수 있다. 키 관리 애플리케이션(118)은 판독기 기기(109), 또는 기계 판독 가능 식별자(133)를 생성한 다른 기기에 기초하여 적절한 암호화 키(121)를 클라이언트 기기(106)에 제공할 수 있다. 클라이언트 애플리케이션(130)은 문서(900) 상에 배치된 기계 판독 가능 식별자(133)의 하나 이상의 이미지들의 캡처를 용이하게 할 수 있다. 기계 판독 가능 식별자(133)의 이미지가 클라이언트 기기(106)상에서 획득되어 해독되면, 클라이언트 기기(106)는 국부적으로 저장된 정보를 업데이트할 수 있고 그리고/또는 사용자에 의한 검토를 위해 사용자 인터페이스(131) 내 필드들을 자동으로 채울 수 있다.The reader application 136 may use its
다양한 실시예들에서, 판독기 애플리케이션(136)에 의해 생성된 기계 판독 가능 식별자(133)의 기본이 되는 데이터는 클라이언트 기기(106) 및 판독기 기기(109)에서만 사용 가능한 암호화 키(121)를 사용하여 암호화된다. 클라이언트 애플리케이션(130)은 기초가 되는 데이터를 해독하고 그 데이터를 클라이언트 기기(106)에 국부적으로 저장할 수 있다. 사용자가 수집 프로세스의 일부를 수행한다면, 업데이트된 데이터는 사용자 인터페이스(131) 내 자동으로 채워진 필드에 제공될 수 있다.In various embodiments, the underlying data of the machine-
다수의 보안 메카니즘이 클라이언트 애플리케이션(130)의 코드 및 구현에 내장된다. 잠재적으로 중요한 정보의 폭 때문에, 다양한 실시예들에서, 이 정보는 클라이언트 기기(106)에 국부적으로 저장된다. 따라서, "클라우드"를 통한 이러한 정보의 잠재적 손실은 감소되거나 제거된다. 다양한 실시예들에서, 클라이언트 애플리케이션(130)은 정보의 원격 입력 및 업데이트를 위해 클라우드 기반 시스템과 통합될 수 있다.A number of security mechanisms are embedded in the code and implementation of the
스마트 폰 또는 다른 유형의 클라이언트 기기(106) 상에 제공되는 디폴트 패스워드 보호에 부가하여, 클라이언트 애플리케이션(130)의 기능들에 액세스하기 위해 추가적인 패스워드 또는 개인 식별 번호(PIN)가 요구될 수 있다. 연속적으로 미리 정의된 횟수(예를 들어, 5 번)만큼 잘못된 패스워드는 24 시간과 같이 미리 정의된 기간 동안 클라이언트 애플리케이션의 사용을 불가능하게 할 수 있다. 이 정보를 전자적으로 공유하기 전에, 이 정보를 공유하기 위한 소유자의 허가를 나타내는 추가 식별자가 필요할 수 있다.In addition to the default password protection provided on a smart phone or other type of
다양한 실시예들에서, 기계 판독 가능 식별자(133)로부터의 정보를 철회하는 것을 허가받은 의료 서비스 제공자는 또한 정보를 갱신 또는 보강하고 갱신되거나 증대된 정보를 또 다른 기계 판독 가능 식별자(133)의 형태로 소유자에게 제공하는 것도 허가받을 수 있다. 결과적으로, 갱신된 정보는 클라이언트 기기(106) 상에 이미 존재하는 정보와 일치(reconciling)될 수 있다. 이러한 방식으로, 소유자는 새로운 정보를 입력할 필요가 없을 것이다. 왜냐하면 이것은 클라이언트 애플리케이션(130)에 의해 완료될 것이기 때문이다. 이는 또한 모바일 기기 캘린더에 병합될 향후 방문에 대한 리마인더, 약물 재충전에 대한 리마인더 등을 포함할 수 있다. 다른 예에서, 클라이언트 애플리케이션(130)은 약국과 약품을 전자적으로 일치시킬 수 있다. In various embodiments, the medical service provider authorized to withdraw the information from the machine-
클라이언트 애플리케이션(130)은 다수의 버전으로 구현 될 수 있으며, 이 경우, 각 버전은 영어, 스페인어, 프랑스어 또는 다른 언어와 같은 상이한 언어를 사용한다. 필요한 경우, 사용자 입력은 번역기 서비스(120)에 의해 사용자의 언어로부터 수신자의 언어로 번역될 수 있다. 이는 기계 판독 가능 식별자(133)에서 사용하기 위해 데이터를 인코딩하기 전에 또는 판독기 애플리케이션(136)을 이용하여 정보를 디코딩할 때 발생할 수 있다. 높은 수준의 의사소통 또는 영어로 된 의학 용어가 알려지지 않은 상황에서, 이 정보는 의학적 또는 다른 유형의 평가를 돕기 위해 사용된다.The
일 실시예에서, 기계 판독 가능 식별자(133)는 클라이언트 기기(106)의 "잠금 화면"에서 인코딩될 수 있어서, 전화기에 대한 액세스 권한이 없는 사람은 클라이언트 기기(106)를 잠금 해제할 필요 없이 중요한 식별 정보, 건강 정보 또는 연락 정보에 액세스 할 수 있다. 다른 실시예들에서, 수집 프로세스 동안 제공된 정보는 예를 들어 사용 세션의 종료 시에 클라이언트 기기(106) 또는 판독기 기기(109)에서 주기적으로 지워질 수 있다.In one embodiment, the machine-
다음으로, 도 10을 참조하면, 다양한 실시예들에 따른 클라이언트 애플리케이션(130)의 일부의 동작의 일례를 제공하는 흐름도가 도시된다. 도 10의 흐름도는 본원에 기술된 바와 같이 클라이언트 애플리케이션(130)의 일부분의 동작을 구현하기 위해 사용될 수 있는 많은 상이한 유형들의 기능적 배열의 예를 제공할 뿐이라는 것이 이해되어야 한다. 대안으로서, 도 10의 흐름도는 하나 이상의 실시예들에 따라 클라이언트 기기(106)에서 구현된 방법의 구성요소들의 예를 묘사하는 것으로 볼 수 있다.Referring now to FIG. 10, a flow diagram is provided that provides an example of the operation of a portion of
단계 1003에서 시작하여, 클라이언트 애플리케이션(130)은 부양인, 애완동물 또는 다른 동물 등과 같은 하나 이상의 개체에 대해 사용자로부터 건강 정보와 같은 정보를 획득하도록 실행된다. 이는 사용자가 하나 이상의 세션 동안 사용자 인터페이스들(131)을 통해 반복하는 수집 프로세스에서 차후에 제시되는 사용자 인터페이스(131)를 사용하여 달성 될 수 있다. 다음으로, 단계 1006에서, 클라이언트 애플리케이션(130)은 HIPAA 통지가 사용자에 의해 확인 응답되었는지의 여부를 판단한다. HIPAA 통지가 확인 응답되지 않은 경우, HIPAA 통지는 사용자에게 표시될 수 있으며, 프로세스는 단계 1003으로 되돌아가거나 종료될 수 있다. HIPAA 통지가 사용자에 의해 확인 응답되었다면, 프로세스는 단계 1009로 진행할 수 있으며, 사용자에 의해 제공된 일반, 건강 또는 다른 정보가 하나 이상의 미리 정의된 암호화 표준 및 포맷에 따라 암호화된다.Beginning at
다양한 실시예들에서, 데이터는 하나 이상의 암호화 키들(121)을 사용하여 암호화된다. 다양한 실시예들에서, 암호화 키(121)는 생년월일, 성, 이름, 사회 보장 번호, 이들의 조합 또는 잠재적으로 고유한 다른 정보 같은, 사용자에 의해 제공된 정보를 포함한다. 단계 1012에서, 암호화된 정보는 바코드 또는 매트릭스 코드와 같은 기계 판독 가능 식별자(133)를 생성하는데 사용된다. 기계 판독 가능 식별자를 생성하기 위해 취해진 단계들은 도 6 및 도 8과 관련하여 설명된다.In various embodiments, the data is encrypted using one or more encryption keys (121). In various embodiments, the
도 10을 다시 참조하면, 단계 1015에서, 클라이언트 기기 디스플레이(124) 상에 상기 생성된 기계 판독 가능 식별자(133)를 보여주기를 원하는지 여부를 사용자에게 묻는 추가 통지가 사용자에게 표시될 수 있다. 마지막으로, 단계 1018에서, 기계 판독 가능 식별자는 클라이언트 기기 디스플레이(124)에서 렌더링하기 위해 사용자 인터페이스(131)에서 인코딩될 수 있다. 이 시점에서, 사용자는 판독기 기기(109)에 의한 스캐닝을 위해 기계 판독 가능 식별자(133)를 제공할 수 있거나, 또는 사용자는 정보를 포함하고 그 위에 기계 판독 가능 식별자(133)를 갖는 문서를 인쇄할 수 있다.10, at
다음으로 도 11을 참조하면, 다양한 실시예들에 따른 클라이언트 애플리케이션(130)의 일부의 동작의 또 다른 예를 제공하는 흐름도가 도시된다. 도 11의 흐름도는 본 명세서에서 설명된 클라이언트 애플리케이션(130)의 일부의 동작을 구현하기 위해 사용될 수 있는 많은 상이한 유형의 기능적 배열의 예를 제공하는 것뿐이라는 것이 이해되어야 한다. 대안으로서, 도 11의 흐름도는 하나 이상의 실시예들에 따라 클라이언트 기기(106)에 구현된 방법의 구성요소들의 예를 묘사하는 것으로 볼 수 있다.Referring now to FIG. 11, a flowchart is provided that provides another example of the operation of a portion of the
단계 1103에서 시작하여, 클라이언트 기기(106)상에서 실행 가능한 클라이언트 애플리케이션(130)은 제 1 기기 프로파일(148a)과 관련된 제 1 암호화 키(121a)에 액세스하도록 구성될 수 있다. 이와 유사하게, 단계 1106에서, 클라이언트 애플리케이션(130)은 네트워크(112)를 통해 수신된 제2 기기 프로파일(148b)과 연관된 제2 암호화 키(121b)에 액세스할 수 있다. 이해될 수 있는 바와 같이, 제1 암호화 키(121a) 및 제2 암호화 키(121b)는 네트워크(112)를 통해 키 관리 애플리케이션(118) 또는 다른 유사한 서비스에 의해 클라이언트 기기(106)에게 발송될 수 있다. 제1 암호화 키(121a) 및 제2 암호화 키(121b)는 의료 기관 또는 전문 의료진과 같은 특정 엔티티 또는 조직의 선택에 응답하여 클라이언트 애플리케이션(130)에 제공될 수 있다. 일례에서, 상기 제1 암호화 키(121a)는 제1 의료 제공자와 연관된다. 제1 의료 제공자는 제1 기기 프로파일(148a)과 관련되고 제1 암호화 키(121a)가 저장되어 있는 제1 판독기 기기(109a)를 소유하거나 동작시킬 수 있다. 이와 유사하게, 상기 제2 암호화 키(121b)는 제2 의료 제공자와 연관되며, 이로써, 제2 의료 제공자는 제2 기기 프로파일(148b)과 관련되고 제2 암호화 키(121b)가 저장되어 있는 제2 판독기 기기(109b)를 소유하거나 동작시킬 수 있다. Beginning at
클라이언트 애플리케이션(130)이 수집 프로세스를 통한 사용자로부터의 입력 데이터의 수집을 용이하게 함에 따라, 단계 1109에서, 입력 데이터는 기계 판독 가능 식별자(133)에 포함되도록 액세스될 수 있다. 수집 프로세스는, 도 7a 내지 도 7k에 도시된 것과 같은, 다양한 데이터를 입력하도록 사용자에게 촉구하는 일련의 사용자 인터페이스들(131)을 포함할 수 있다. 단계 1112에서, 클라이언트 애플리케이션(130)은 입력 데이터를 적어도 제1 데이터 부분 및 제2 데이터 부분으로 세그먼트화, 분할(partitioning) 또는 포맷팅할 수 있다. 예를 들어, 제1 데이터 부분은 일반의(general practitioner)를 위한 기기에 의해 해석될 수 있는 반면, 제2 데이터 부분은 지압사를 위한 기기에 의해 해석될 수 있다.As the
다음으로, 단계 1115에서, 클라이언트 애플리케이션(130)은 제1 암호화 키(121a)를 사용하여 제1 데이터 부분을 암호화할 수 있는 반면, 단계 1118에서, 클라이언트 애플리케이션(130)은 제2 암호화 키(121b)를 사용하여 제2 데이터 부분을 암호화할 수 있다. 컴퓨팅 환경(103)에서 동작하는 키 관리 애플리케이션(118)은 사용자에 의해 허가된 바와 같이, 데이터를 해독할 수 있는 암호화 키(121)의 송신 및 수신을 감독할 수 있다. 대안적으로, 다른 실시예들에서, 판독기 기기(109)는 컴퓨팅 환경(103)의 데이터 저장소(115)에 저장된 미리 정의된 암호화 키(121)와 연관될 수 있다. 키 관리 애플리케이션(118)은 판독기 기기(109) 또는 다른 클라이언트 기기(106)에 의한 액세스를 위해 정보가 암호화되도록 특정 판독기 기기(109)에 대한 암호화 키(121)를 클라이언트 애플리케이션(130)에 제공할 수 있다.Next, in
단계 1121에서, 클라이언트 애플리케이션(130)은 클라이언트 기기 디스플레이(124)에서의 렌더링을 위해 암호화된 제1 데이터 부분 및 암호화된 제 2 데이터 부분을 사용하여 기계 판독 가능 식별자(133)를 생성할 수 있다. 판독기 기기(109)는 기계 판독 가능 식별자(133)의 하나 이상의 이미지들을 캡처하여 기초가 되는 데이터에 액세스할 수 있다.In
추가 실시예들에서, 클라이언트 애플리케이션(130)의 사용자는 일반의에 관한 것과 같은 기기 프로파일(148)을 높은 수준의 액세스와 연관시킬 수 있으며, 이 경우, 일반의는 자신의 판독기 기기(109)를 사용하여 클라이언트 애플리케이션(130)의 사용자에 의해 제공된 모든 또는 상당한 양의 입력 데이터에 액세스할 수 있다. 키 관리 애플리케이션(118)은 일반의를 위한 판독기 기기(109)에 뿐만 아니라 사용자의 클라이언트 기기(106)에 암호화 키(121)를 발송할 수 있다. 유사하게, 키 관리 애플리케이션(118)은 지압사 또는 다른 의료 제공자를 위한 판독기 기기(109)에 상이한 암호화 키(121)를 발송할 수 있다. 클라이언트 애플리케이션(130)은 일반의의 판독기 기기(109)에 대응하는 암호화 키(121)를 사용하여 일반의에 의한 수신이 허가된 데이터를 인코딩하면서 지압사의 판독기 기기(109)에 대한 상이한 암호화 키(121)를 사용하여 지압사에 의한 수신이 허가된 데이터를 인코딩할 수 있다. 이를 위해, 단일 기계 판독 가능 식별자(133)를 사용하여, 기계 판독 가능 식별자(133)의 기초가 되는 데이터에 대한 액세스 제어가 제공된다. 그 후, 프로세스는 종료로 진행한다.In further embodiments, a user of the
일부 실시예들에서, 제1 데이터 부분과 연관된 제1 액세스 레벨(152a)이 정의될 수 있다. 예를 들어, 사용자는 자신의 병력과 요구되는 높은 액세스 레벨(152)을 연관시키면서, 자신의 개인 정보와 요구되는 낮은 액세스 레벨(152)을 연관시킬 수 있다. 높은 액세스 레벨(152)과 연관된 판독기 기기(109)는 병력 및 개인 정보 모두에 액세스 할 수 있지만, 낮은 액세스 레벨(152)과 연관된 판독기 기기(109)는 단지 개인 정보에만 액세스할 수 있다. 일례에서, 어린이의 코치는 플레이어 또는 부모에 의해 허가된 바와 같이, 플레이어에 대한 긴급 연락처 정보에 액세스하는데 사용되는 클라이언트 기기(106)에 부여된 낮은 액세스 레벨(152)을 가질 수 있다.In some embodiments, a first access level 152a associated with the first data portion may be defined. For example, a user may associate his personal information with a required low access level 152, associating his or her history with a high access level 152 that is required. The
즉, 액세스 레벨(152)은 판독기 기기들(109)이 액세스할 수 있는 데이터의 부분을 결정하는데 사용될 수 있다. 사용자는 또한 어느 엔티티들(예를 들어, 진료실)이 다양한 액세스 레벨들(152)과 연관된 데이터에 액세스할 수 있는지를 클라이언트 애플리케이션(130)을 통해 정의할 수 있다. 이를 위해, 제1 데이터 부분과 연관된 제1 액세스 레벨(152a) 및 제2 데이터 부분과 연관된 제2 액세스 레벨(152b)이 식별될 수 있으며, 이 경우, 제1 데이터 부분은 제1 액세스 레벨(152a)에 적어도 부분적으로 기초하여 제1 암호화 키(121a)를 사용하여 암호화될 것이며, 제2 데이터 부분은 제2 액세스 레벨(152b)에 적어도 부분적으로 기초하여 제2 암호화 키(121b)를 사용하여 암호화될 것이다. 이해될 수 있는 바와 같이, 제1 액세스 레벨(152a)은 제2 액세스 레벨(152b)과 상이할 수 있다.That is, the access level 152 may be used to determine the portion of data that the
다음으로 도 12를 참조하면, 다양한 실시예들에 따른 클라이언트 애플리케이션(130)의 일부의 동작의 또 다른 예를 제공하는 흐름도가 도시되어 있다. 도 12의 흐름도는 본 명세서에서 설명된 클라이언트 애플리케이션(130)의 일부의 동작을 구현하기 위해 사용될 수 있는 많은 상이한 유형의 기능적 배열의 예를 제공할 뿐이라는 것이 이해되어야 한다. 대안으로서, 도 12의 흐름도는 하나 이상의 실시예들에 따라 클라이언트 기기(106)에서 구현된 방법의 구성 요소들의 예를 나타낸 것으로 간주 될 수 있다.Referring now to FIG. 12, there is shown a flow chart that provides another example of the operation of a portion of the
단계 1203에서 시작하여, 클라이언트 애플리케이션(130)은 클라이언트 기기(106)와 통신하는 카메라 또는 다른 이미징 기기에 의해 캡쳐된 이미지의 기계 판독 가능 식별자(133)를 식별할 수 있다. 예를 들어, 기계 판독 가능 식별자(133)는 수집 프로세스의 완료 후에 생성된 초기 기계 판독 가능 식별자(133)를 사용하여 클라이언트 애플리케이션(130)의 사용자에 의해 초기에 제공되는 업데이트된, 보완된 또는 다른 조작된 데이터를 제공하도록 판독기 기기(109)에 의해 생성되는 것일 수 있다. 이해될 수 있는 바와 같이, 판독기 기기(109)에 의해 수정된 데이터는 클라이언트 기기(106) 상에서 생성된 원래의 기계 판독 가능 식별자(133)로부터 획득될 수 있다. 기계 판독 가능 식별자(133)의 이미지는 클라이언트 기기(106)에 의해 획득되어 그것의 국부적으로 저장된 데이터를 업데이트할 수 있다. 이미지는 도 2에 도시된 바와 같이 판독기 기기 디스플레이(127)로부터, 또 다른 클라이언트 기기(106)의 디스플레이로부터, 또는 도 9에 도시된 바와 같이 문서(900)로부터 캡처될 수 있다.Beginning at
다음으로, 단계 1206에서, 암호화된 데이터를 식별하기 위해 기계 판독 가능 식별자(133)가 디코딩된다. 단계 1209에서, 클라이언트 애플리케이션(130)은 기계 판독 가능 식별자(133)가 획득되는 발신 장치로부터의 기기 프로파일(148)과 연관된 암호화 키(121)를 사용하여 암호화된 데이터를 해독할 수 있다. 일부 실시예들에서, 기계 판독 가능 식별자(133)가 획득된 판독기 기기(109)를 식별하는 기계 판독 가능 식별자(133)로부터 판독된 데이터는 공개적일 수 있으며(암호화되지 않을 수 있으며), 이 경우 임의의 기기가 데이터를 디코딩할 수 있다. 데이터는 암호화된 데이터에 액세스하는 것을 허가받은 개인 또는 클라이언트 기기(106)를 식별하는 고유 식별자 및/또는 기기 식별자(145)를 포함할 수 있다. 클라이언트 애플리케이션(130)은 클라이언트 기기(106)가 그렇게 하도록 허가받은 경우에 암호화 키(121)를 획득하기 위해 기기 식별자(145)를 컴퓨팅 환경(103)에 전달할 수 있다.Next, at
단계 1212에서, 기계 판독 가능 식별자(133)로부터 획득된 해독된 데이터는 클라이언트 기기(106)상에 국부적으로 저장된 데이터를 업데이트하거나 보완하는데 사용될 수 있다. 경우에 따라, 해독된 데이터는 사용자가 제공한 데이터와 충돌할 수 있다. 예를 들어, 사용자가 제1 기계 판독 가능 식별자(133)를 통해 판독기 기기(109)에 제공한 데이터의 일부가 변경되었을 수 있다. 대안적으로, 사용자에 의해 제공된 데이터는 이전에 사용자에게 알려지지 않았던 의사에 의해 취해진 판독값들로 보강될 수 있다.At
이에 따라, 단계 1215에서, 클라이언트 애플리케이션(130)은 해독된 데이터와 예를 들어 수집 프로세스를 통해 사용자에 의해 제공된 데이터 간에 충돌이 존재하는지를 판단한다. 예를 들어, 사용자가 자신의 클라이언트 기기(106)를 사용하여 제공한 데이터가 임의의 관점에서 판독기 기기(106)에 의해 반환된 데이터와 상이하다면, 데이터는 충돌할 수 있다. 예를 들어, 판독기 기기(109)를 사용하여, 의사 또는 간호사는 사용자에 의해 제공된 데이터를 업데이트하여 최근 판독값들 또는 측정값들을 반영할 수 있다. 대안적으로, 판독기 기기(109)를 사용하여, 의사 또는 간호사는 사용자에 의해 제공된 데이터를 보강할 수 있다. 어느 시나리오에서나 두 데이터 집합이 동일하지 않기 때문에 데이터 간의 충돌이 식별된다. 충돌이 존재하는 데이터의 특정 부분을 식별하기 위해 DIFF 기능 또는 유사한 기능이 사용될 수 있다.Thus, at
데이터 간의 충돌이 존재한다면, 프로세스는 단계 1218로 진행하여 데이터 충돌을 조정하거나 해결한다. 일부 실시예들에서, 사용자는 충돌에 관한 정보를 제공받을 수 있으며, 이 경우 사용자는 사용자에 의해 제공된 원본 데이터를 유지할 것인지 또는 판독기 기기(109)로부터 제공된 데이터로 데이터를 업데이트할 것인지를 선택할 수 있다. 다른 실시예들에서, 판독기 기기(109)로부터 제공된 데이터는 사용자에 의해 제공된 데이터를 자동으로 대체하거나 또는 클라이언트 기기(106)의 메모리에 자동으로 추가되어 수집 프로세스 동안 사용자에 의해 제공된 데이터를 보강할 수 있다.If there is a conflict between the data, the process proceeds to step 1218 to adjust or resolve the data conflict. In some embodiments, the user may be provided with information about the conflict, in which case the user may choose to keep the original data provided by the user or update the data with data provided from the
일부 예들에서, 일부 데이터는 특정 유형의 데이터에 관하여 가변하는 액세스 레벨(152)과 연관될 수 있다. 예를 들어, 의료 제공자가 클라이언트 기기(106)에 저장된 의료 데이터를 업데이트한다면, 의료 제공자는 사용자에 의해 (또는 디폴트에 의해) 높은 액세스 레벨(152)을 할당받을 수 있으므로, 사용자를 통해 의료 제공자에 대한 복종(deference)이 보여질 수 있다. 다른 예에서, 의료 제공자가 클라이언트 기기(106)의 사용자에 대한 전화번호 또는 주소와 같은 개인 정보를 업데이트한다면, 사용자가 자신의 전화번호 또는 주소를 더 잘 이해할 가능성이 있기 때문에 사용자에 대한 복종(deference)이 보여질 수 있다. 즉, 의료 제공자는 의료 정보에 대하여는 높은 액세스 레벨(152)을, 그리고 개인 정보에 대하여는 낮은 액세스 레벨(152)을 가질 수 있다.In some instances, some data may be associated with an access level 152 that varies with respect to a particular type of data. For example, if the healthcare provider updates the healthcare data stored in the
대안적으로, 데이터 충돌이 존재하지 않으면, 프로세스는 단계 1221로 진행하여, 이후의 수집 프로세스 동안, 사용자 인터페이스들(131) 내의 필드들은 기계 판독 가능 식별자(133)로부터 획득된 데이터로 자동으로 채워질 수 있다. 그 후, 프로세스는 종료로 진행한다.Alternatively, if there is no data conflict, the process proceeds to step 1221 where during the subsequent collection process, the fields in the
도 13을 참조하면, 다양한 실시예들에 따른 키 관리 애플리케이션(118)의 일부의 동작의 일례인 흐름도가 도시된다. 도 13의 흐름도는 단지 본원에 설명된 바와 같이 키 관리 애플리케이션(118)의 일부의 동작을 구현하는데 사용될 수 있는 많은 상이한 유형의 기능적 구성의 일례를 제공할 뿐인 것이 이해된다. 대안으로서, 도 13의 흐름도는 하나 이상의 실시예들에 따라 컴퓨팅 환경(103)에서 구현되는 방법의 구성요소들의 예를 나타내는 것으로 보여질 수 있다. Referring to FIG. 13, a flow chart is shown that is an example of the operation of a portion of the
단계 1303으로 시작하여, 클라이언트 애플리케이션(130)에서 선택이 이루어진 경우, 의료 제공자와 같은 엔티티의 선택은 클라이언트 기기(106)로부터 수신된다. 예를 들어, 사용자는 수집 프로세스 중에 제공된 입력 데이터를 공유하길 원하는 엔티티를 지정할 수 있다. 일례에서, 사용자는 클라이언트 애플리케이션(130)에 의해 생성된 사용자 인터페이스(131)에서 "Atlanta Health" 제공자를 선택할 수 있다. "Atlanta Health"는 데이터 저장소(115)에 저장된 하나 이상의 기기 프로파일들(148)과 연관된 하나 이상의 판독기 기기들(109)을 소유하거나 동작시킬 수 있다.Beginning at
일부 예들에서, 엔티티, 또는 엔티티에 의해 작동되는 판독기 기기(109)에 대응하는 기기 프로파일(148)은 데이터 저장소(115)에 저장된 미리 정의된 암호화 키(121)를 가질 수 있다. 그러나 단계 1306에서, 예를 들어, 사용자 대 엔티티 관계에 고유한 암호화 키(121)를 생성하기 위해, 기기 프로파일(148)에 대한 암호화 키(121)가 생성될 수 있다. 이해될 수 있는 바와 같이, 단계 1306은 옵션일 수 있다. 일부 예들에서, 암호화 키(121)는 의사 랜덤하게, 사용자에 의해 제공된 정보를 사용하여, 또는 이들의 조합을 사용하여 생성된다.In some instances, an appliance profile 148 corresponding to an entity, or a
다음으로, 단계 1309에서, 암호화 키(121)가 클라이언트 기기(106)로 발송되며, 이로써, 클라이언트 애플리케이션(130)은 기기 프로파일(148)과 연관된 판독기 기기(109)에 의한 수신을 위해 입력 데이터를 인코딩할 수 있다. 판독기 기기(109)가 그곳에 저장된 암호화 키(121)를 갖지 않는다면, 단계 1312에서, 암호화 키(121)는, 필요하다면, 판독기 기기(109)로 발송될 수 있다.Next, at
도 14를 참조하면, 다양한 실시예들에 따른 키 관리 애플리케이션(118)의 동작의 다른 예를 도시하는 흐름도가 도시된다. 도 14의 흐름도는 단지 본원에 설명된 바와 같이 키 관리 애플리케이션(118)의 일부분의 동작을 구현하는데 사용될 수 있는 많은 상이한 유형의 기능적 배열들의 일례를 제공할 뿐이라는 것이 이해된다. 대안으로서, 도 14의 흐름도는 하나 이상의 실시예들에 따라 컴퓨팅 환경(103)에서 구현되는 방법의 구성요소들의 예를 묘사하는 것으로 볼 수 있다. Referring to FIG. 14, a flow chart illustrating another example of the operation of the
일부 실시예들에서, 기계 판독 가능 식별자(133)는 비-암호화된 데이터 또는 글로벌 또는 공유 암호화 키(121)를 사용하여 해독될 수 있는 데이터를 포함할 수 있다. 데이터는 발신 기기에 대한 제1 기기 식별자(145a) 및 의도된 수신자에 대한 제2 기기 식별자(145b)를 포함할 수 있다. 예를 들어, 클라이언트 애플리케이션(130)은 기계 판독 가능한 식별자(133a)를 생성했던 클라이언트 기기(106)에 대한 제1 기기 식별자(145a) 및 선택된 의료 제공자와 같은 특정 엔티티와 연관된 의도된 수신자 판독기 기기(109)에 대한 제2 기기 식별자(145b)를 포함하는 기계 판독 가능한 식별자(133)를 생성할 수 있다.In some embodiments, the machine-
판독기 기기(109)가 기계 판독 가능 식별자(133)를 스캔할 때, 판독기 기기(109)는 제1 기기 식별자(145a) 또는 의도된 수신자에 대한 제2 기기 식별자(145b)를 분석함으로써 자신이 기초가 되는 데이터에 대한 액세스를 갖는지 여부를 결정할 수 있다. 다른 예들에서, 판독기 기기(109)는 원격 인증을 위해 기기 식별자들(145)을 키 관리 애플리케이션(118)에 전달할 수 있다. 이를 위해, 단계 1403에서, 키 관리 어플리케이션(118)은 기계 판독 가능 식별자(133)를 생성한 기기에 대한 제1 기기 식별자(145a)를 수신할 수 있다. 이와 유사하게, 단계 1406에서, 키 관리 애플리케이션(118)은 기계 판독 가능 식별자(133)의 기초가 되는 데이터에 액세스하고자 하는 기기에 대한 제2 기기 식별자(145b)를 수신할 수 있다.When the
제1 기기 식별자(145a) 및 제2 기기 식별자(145b)를 사용하여, 단계 1409에서, 키 관리 애플리케이션(118)은 기계 판독 가능 식별자(133)의 기본이 되는 데이터를 해독하기 위해 암호화 키(121)를 요청하는 기기가 상기 기초가 되는 데이터에 액세스하는 것을 발신 사용자(예를 들어, 클라이언트 애플리케이션(130)의 사용자 또는 의료 제공자)로부터 허가받았는지 여부를 판단할 수 있다. 요청 기기가 기본이 되는 데이터에 액세스하는 것을 허가받았다면, 단계 1412에서, 키 관리 애플리케이션(118)은 그 기기에 암호화 키(121)를 발송할 수 있으며, 이 경우, 암호화 키(121)는 기계 판독 가능한 식별자(133)에 인코딩된 데이터를 해독할 수 있다. 그 후, 프로세스는 종료로 진행한다. 단계 1409로 돌아와서, 요청 기기가 기본이 되는 데이터에 액세스하는 것을 허가받지 않았다면, 프로세스는 종료로 진행한다.Using the first device identifier 145a and the second device identifier 145b, in
클라이언트 애플리케이션(130), 판독기 애플리케이션(136) 및 키 관리 애플리케이션(118)과 같은 본원에 기술된 애플리케이션들은 의료 서비스 제공자와의 초기 방문 시 또는 차후 방문 시 요구되는 정보와 같은 중요한 정보를 효과적으로 획득, 저장 및 재생할 수 있는 능력을 제공한다. 구체적으로, 본 개시서는 사용자 친화적인 방식으로 병력을 획득하고 획득된 병력을 포함하는 기계 판독 가능 식별자(133)를 인코딩되고 및 암호화된 데이터로서 생성하는 클라이언트 애플리케이션(130)을 설명한다. 다양한 실시예들에서, 클라이언트 애플리케이션(130)을 통해 사용자에 의해 제공된 정보는 클라이언트 기기(106)에 국부적으로 저장될 수 있다. 클라이언트 기기(106)에 저장된 정보는 로컬 저장을 위해 암호화될 수 있다. 또한 재방문 시, 건강 기록의 변경 사항은 쉽게 식별될 수 있으며 제공자에게 제공될 수 있다.Applications described herein, such as
오늘날, 기존의 건강 관련 애플리케이션들은 개인이 자신의 진료에 대한 책임을 지고, 건강한 생활을 증진하며, 검사 및 연구 결과를 획득하기 위해 제공자 또는 기관에 특유한 전자 의료 기록 시스템과 연결하는 능력을 향상시키는 데 도움이 된다. 이러한 애플리케이션들은 클라이언트 애플리케이션(130)의 사용을 정당화하기 위해 업데이트될 필요가 있는 일별 또는 기껏해야 주간별 데이터 포인트의 다양한 정도를 포함한다.Today, existing health-related applications are designed to improve the ability of individuals to be responsible for their own care, promote healthy living, and connect with provider or institution-specific electronic health record systems to obtain examinations and research results. It is helpful. These applications include varying degrees of day-to-day or at most weekly data points that need to be updated to justify the use of the
클라이언트 애플리케이션(130) 및 판독기 애플리케이션(136)은 iOS®, Blackberry®, Linux®, Android®, Windows® 및/또는 다른 적절한 운영 체제에서 구현될 수 있다. 클라이언트 애플리케이션(130)에 의해 획득된 정보는 단지 한 번만 사용자에 의해 제공될 필요가 있으며, 대다수의 환자에게 드물게 필요할 수 있는 중대하고 적절한 변경사항들(예를 들어, 약물 변경, 외과 수술)로 업데이트될 필요가 있다. 또한, 클라이언트 애플리케이션(130)은 사용자가 부양가족 또는 사용자가 책임질 수 있는 사람들에 대한 중요한 정보를 제공할 수 있게 한다. 이해될 수 있는 바와 같이, 기본 정보를 쉽고 정확하게 제공하는 가치는 상당하다.The
다양한 실시예들에 따르면, 일상적인 진료를 제공하기 위해 의료 서비스 제공자들 및 기타 엔티티들에 의해 요구되는 필수 의료 정보의 집중적이고 적은 유지보수만이 필요한 특수한 계정(account)이 획득된다. 이 정보는 의사들을 염두에 두고 의사들에 의해 생성되지만, 시스템의 쉬운 탐색(navigation)을 위해 형성된다. 작업 흐름은 기본적인 문해력 수준을 가진 모든 사람들이 탐색을 완료할 수 있도록 형성될 것이다. 다양한 실시예들에서, 사용자로부터 요구되는 정보의 폭은 임의의 의료 서비스 제공자에 대한 모든 초기 방문에 대해 중요할 수 있는 미리 정의된 수의 질문들(예를 들어, 7개의 질문 또는 다른 수의 질문)을 중심으로 나타날 수 있다. 다양한 실시예들에서, 이러한 질문들은 구체적일 수 있고 제한을 두지 않을 수 있다.According to various embodiments, a special account is obtained that requires only intensive, low maintenance maintenance of essential medical information required by healthcare providers and other entities to provide routine care. This information is generated by doctors with the physicians in mind, but is formed for easy navigation of the system. The workflow will be shaped so that everyone with a basic literacy level can complete the search. In various embodiments, the breadth of information requested from a user may be a predefined number of questions that may be important for every initial visit to any health care provider (e.g., 7 questions or a different number of questions ). In various embodiments, these questions may be specific and may not be limiting.
클라이언트 애플리케이션(130)은 사용자로부터 정보를 획득하기 위해 일련의 하나 이상의 사용자 인터페이스들(131)을 생성한다. 또한, 클라이언트 애플리케이션(130)은 의사 및 환자 모두를 위해 상기 정보를 용이하고 읽기 쉬운 형태로 상관시킨다. 또한 일반의 및 전문가와 같은 다양한 제공자들 간의 기본 의료 정보의 효율적 전송을 가능하게 한다. 클라이언트 애플리케이션(130)은 부모, 어린이, 애완동물 등과 같은 친척 또는 다른 개체에 대한 병력 또는 다른 정보의 상관을 용이하게 한다. 예를 들어, 통증, 스트레스, 혼란, 의식 상실 등으로 인해 환자가 자신의 병력을 제공할 수 없는 상황뿐만 아니라 부모가 응급 상황으로 혼란스러워져있는 상황에서 다른 사람에 의해 제공된 정보가 도움이 될 수 있다. 이러한 경우, 이 중요한 정보는 빠르고, 쉽고, 정확하게 전달될 수 있으므로 정확하고 완전한 정보의 부족으로 인한 의료 사고를 예방할 수 있다. 또한, 클라이언트 애플리케이션(130)은 청각 장애인 또는 언어 장애인과 같은 의사전달 장애를 가진 개인들을 위한 건강 관리를 향상시키도록 구성된다.The
다양한 실시예들에서, 의사의 진료소 또는 다른 의료 서비스 제공자는 고객접수 중 필요하거나 선택적인 정보를 지정할 수 있다. 클라이언트 애플리케이션(130)은 의료 서비스 제공자에 의해 요구되는 것으로 지정된 데이터 포인트들을 수집하도록 실행된다. 이러한 정보는 HIPAA 및 HITECH(Health Information Technology for Economic and Clinical Health Act) 규정에 따라 암호화될 수 있으며, 그리고 키 또는 패스워드를 사용하여 사용자 또는 지정된 의료 서비스 제공자에게 액세스 가능하게 만들어질 수 있다.In various embodiments, a physician's clinic or other health care provider may specify necessary or optional information during customer acceptance. The
다양한 실시예들에 따라, 수집된 정보는 과거의 병력, 과거의 수술 이력, 알레르기, 투약물, 가족력, 사회생활력 및 예방접종으로 제한될 수 있지만, 다른 실시예들에서, 추가 정보가 수집될 수 있다. 클라이언트 애플리케이션(130)은 사용자가 기본 의학 용어 및 약물에 대한 정확한 철자법을 제공하는 것을 도와서, 의료 사고를 유발할 수 있는 혼란 및 부정확한 문서화를 방지할 수 있다.According to various embodiments, the collected information may be limited to past history, past history of surgery, allergy, drug, family history, social status and vaccination, but in other embodiments, additional information may be collected have. The
클라이언트 애플리케이션(130)에 의해 수집된 정보는 새로운 환자 정보 패키지들을 작성하는 동안 참조를 위해 사용자 인터페이스(131)에 도시된 요약 화면으로 구성될 수 있다. 다양한 실시예들에서, 이러한 정보는 의료 서비스 제공자와의 방문 전에 인쇄하기 위해 Microsoft Word® 또는 PDF 포맷으로 변환될 수 있다. 마지막으로, 이 정보는 암호화될 수 있고, 암호화된 정보는 매트릭스 코드 또는 다른 기계 판독 가능 식별자(133)로 변환되어, 상기 정보를 의료 서비스 제공자에게 직접 종이를 쓰지 않고 그리고 무선으로 전달할 수 있다. 다양한 실시예들에서, 기계 판독 가능 식별자(133)의 스캔은 다양한 전자 의료 기록 시스템의 데이터베이스에 기초가 되는 정보를 자동으로 채우는 것을 야기한다.The information collected by the
개인 정보를 수집하는 것 이외에, 클라이언트 애플리케이션(130)은 피부양자, 가족 구성원, 애완동물 등에 대한 건강 정보를 획득하도록 구성될 수 있다. 이는 부양가족 및 가족 구성원들이 나이, 신체 능력 부족 등으로 인해 스스로 이러한 정보를 제공할 수 없을 때 의료 전문가에게 완전하고 정확한 정보를 제공하는 것을 도울 수 있다. 이것은 의료 서비스 제공자가 환자를 정확하게 평가하고, 능률적으로 간호하고, 불완전한 의료 기록으로 인한 의료 사고를 예방하는 데 도움이 될 수 있다. 상술한 바와 같이, 애완동물의 병력 또한 주인 및 수의사에게 중요하므로, 클라이언트 애플리케이션(130)은 애완동물에 관한 정보를 획득하도록 구성될 수 있다. 클라이언트 애플리케이션(130)의 사용자와 동일한 플랫폼에서 이 정보를 쉽게 참조할 수 있음으로써, 이러한 정보는 학교, 대학, 해외여행, 비상사태 및 다른 상황에 사용될 수 있다. In addition to collecting personal information, the
본 개시서는 의료 서비스 데이터의 맥락에서 다수의 예들을 제공하지만, 본원에 포함된 실시예들은 많은 산업 분야에 적용 가능하다. 예를 들어, 건강 정보는 자동차에 관한 정보를 포함할 수 있다. 정비사는 사람의 스마트 폰 또는 자동차의 컴퓨팅 기기를 포함할 수 있는 클라이언트 기기(106) 상에 제시된 기계 판독 가능 식별자(133)를 스캐닝함으로써 서비스 기록을 볼 수 있다.While the present disclosure provides numerous examples in the context of healthcare data, the embodiments contained herein are applicable to many industrial applications. For example, the health information may include information about the automobile. The mechanic can view the service record by scanning the machine
도 15를 참조하면, 본 개시서의 실시예에 따른 컴퓨팅 환경(103)의 개략적인 블록도가 도시되어있다. 컴퓨팅 환경(103)은 하나 이상의 컴퓨팅 기기들(1500)을 포함한다. 각각의 컴퓨팅 기기(1500)는 예를 들어 로컬 인터페이스(1509)에 연결된 프로세서(1503) 및 메모리(1506)를 갖는 적어도 하나의 프로세서 회로를 포함한다. 이를 위해, 각각의 컴퓨팅 기기(1500)는 예를 들어 적어도 하나의 서버 컴퓨터 또는 유사한 기기를 포함할 수 있다. 로컬 인터페이스(1509)는 수반하는 어드레스/제어 버스를 갖는 데이터 버스 또는 이해될 수 있는 다른 버스 구조를 포함할 수 있다.Referring to FIG. 15, a schematic block diagram of a computing environment 103 in accordance with an embodiment of the present disclosure is shown. The computing environment 103 includes one or more computing devices 1500. Each computing device 1500 includes at least one processor circuit having a
프로세서(1503)에 의해 실행 가능한 몇몇 컴포넌트 및 데이터 모두 메모리(1506)에 저장된다. 특히, 메모리(1506)에 저장되고 프로세서(1503)에 의해 실행 가능한 것은 키 관리 애플리케이션(118), 번역기 서비스(120), 다이렉트 메시징 서비스(122) 및 다른 컴퓨팅 환경 애플리케이션들이다. 또한 메모리(1506)에는 데이터 저장소(115) 및 다른 데이터가 저장될 수 있다. 또한, 운영 체제(1512)는 메모리(1506)에 저장될 수 있고 프로세서(1503)에 의해 실행 가능할 수 있다. 이해될 수 있는 바와 같이, 메모리(1506)에 저장되고 프로세서(1503)에 의해 실행 가능한 다른 애플리케이션들이 존재할 수 있다는 것이 이해된다. All components and data executable by the
도 16을 참조하면, 본 개시서의 일 실시예에 따른 클라이언트 기기(106)의 개략적인 블록도가 도시되어 있다. 각각의 클라이언트 기기(106)는 예를 들어 프로세서(1603) 및 메모리(1606)를 갖는 적어도 하나의 프로세서 회로를 포함하며, 프로세서(1603) 및 메모리(1606) 모두 로컬 인터페이스(1609)에 결합된다. 이를 위해, 각각의 클라이언트 기기(106)는 예를 들어 스마트폰, 태블릿, 개인용 컴퓨터, 또는 다른 유사 기기를 포함할 수 있다. 로컬 인터페이스(1609)는 예를 들어 수반하는 어드레스/제어 버스를 갖는 데이터 버스 또는 이해될 수 있는 다른 버스 구조를 포함할 수 있다.Referring to Figure 16, a schematic block diagram of a
프로세서(1603)에 의해 실행 가능한 몇몇 컴포넌트 및 데이터 모두 메모리 (1606)에 저장된다. 특히, 메모리(1606)에 저장되고 프로세서(1603)에 의해 실행 가능한 것은 클라이언트 애플리케이션(130) 및 다른 애플리케이션들이다. 또한 메모리(1606)에는 클라이언트 데이터 저장소(1612)(또한 본원에서는 로컬 데이터 저장소라고도 함) 및 다른 데이터가 저장될 수 있다. 또한, 클라이언트 운영체제(1615)는 메모리(1606)에 저장될 수 있고 프로세서(1603)에 의해 실행 가능할 수 있다. 이해될 수 있는 바와 같이, 메모리(1606)에 저장되고 프로세서(1603)에 의해 실행 가능한 다른 애플리케이션들이 존재할 수 있다는 것이 이해된다. All of the components and data executable by
도 17을 참조하면, 본 개시서의 실시예에 따른 판독기 기기(109)의 개략적인 블록도가 도시되어있다. 각각의 판독기 기기(109)는 예를 들어 프로세서(1703) 및 메모리(1706)를 갖는 적어도 하나의 프로세서 회로를 포함하며, 프로세서(1703) 및 메모리(1706) 모두 로컬 인터페이스(1709)에 결합된다. 이를 위해, 각각의 판독기 기기(109)는 예를 들어 스마트폰, 태블릿, 개인용 컴퓨터, 또는 다른 유사 기기를 포함할 수 있다. 로컬 인터페이스(1709)는 예를 들어 수반하는 어드레스/제어 버스를 갖는 데이터 버스 또는 이해될 수 있는 다른 버스 구조를 포함할 수 있다.Referring to Fig. 17, a schematic block diagram of a
프로세서(1703)에 의해 실행 가능한 몇몇 컴포넌트 및 데이터 모두 메모리 (1706)에 저장된다. 특히, 메모리(1706)에 저장되고 프로세서(1703)에 의해 실행 가능한 것은 판독기 애플리케이션(136) 및 다른 애플리케이션들이다. 또한 메모리(1706)에는 판독기 데이터 저장소(1712) 및 다른 데이터가 저장될 수 있다. 또한, 클라이언트 운영체제(1715)는 메모리(1706)에 저장될 수 있고 프로세서(1703)에 의해 실행 가능할 수 있다. 이해될 수 있는 바와 같이, 메모리(1706)에 저장되고 프로세서(1703)에 의해 실행 가능한 다른 애플리케이션들이 존재할 수 있다는 것이 이해된다. All components and data executable by the
본 명세서에 논의된 임의의 컴포넌트가 소프트웨어 형태로 구현되는 경우, 예를 들어 C, C++, C#, Objective C, Java® , JavaScript® , Perl, PHP, Visual Basic®, Python®, Ruby, Flash®, Swift®, 또는 다른 프로그래밍 언어들과 같은 여러 프로그래밍 언어들 중 하나가 사용될 수 있다.Any of the components discussed herein may be implemented in software, for example, C, C ++, C #, Objective C, Java®, JavaScript®, Perl, PHP, Visual Basic®, Python®, Ruby, Flash®, Swift®, or some other programming language.
다수의 소프트웨어 컴포넌트들이 프로세서들에 의해 실행 가능한 메모리에 저장된다. 이 점에서 "실행 가능"이라는 용어는 프로세서에 의해 궁극적으로 실행될 수 있는 포맷의 프로그램 파일을 의미한다. 실행 가능한 프로그램들의 예들은, 예를 들어, 메모리의 랜덤 액세스 부분에 로딩되고 프로세서에 의해 실행될 수 있는 포맷의 기계 코드로 변환될 수 있는 컴파일된 프로그램, 메모리의 랜덤 액세스 부분에 로딩되고 프로세서에 의해 실행될 수 있는 객체 코드와 같은 적절한 포맷으로 표현될 수 있는 소스 코드, 프로세서에 의해 실행될 메모리의 랜덤 액세스 부분에 명령들을 생성하기 위해 다른 실행 가능 프로그램에 의해 해석될 수 있는 소스 코드 등을 포함할 수 있다. 실행 가능 프로그램은 예를 들어, RAM, ROM, 하드 드라이브, SSD, USB 플래시 드라이브, 메모리 카드, 광디스크(예를 들어, CD 또는 DVD), 플로피 디스크, 자기 테이프 또는 다른 메모리 컴포넌트들을 포함하는 메모리의 임의의 부분 또는 컴포넌트에 저장될 수 있다.A number of software components are stored in a memory executable by the processors. In this regard, the term "executable" means a program file in a format that can ultimately be executed by the processor. Examples of executable programs include, for example, compiled programs that are loaded into the random access portion of the memory and can be converted into machine code in a format that can be executed by the processor, programs that are loaded into the random access portion of the memory and executed by the processor Source code that may be represented in a suitable format, such as object code, which may be interpreted by another executable program to generate instructions in a random access portion of memory to be executed by the processor, and the like. An executable program may be stored in a memory including, for example, RAM, ROM, a hard drive, an SSD, a USB flash drive, a memory card, an optical disc (e.g., CD or DVD), a floppy disk, a magnetic tape, Lt; RTI ID = 0.0 > and / or < / RTI >
메모리는 본 명세서에서 휘발성 및 비 휘발성 메모리 및 데이터 저장소 컴포넌트들 모두를 포함하는 것으로 정의된다. 휘발성 컴포넌트들은 전력 손실 시 데이터 값을 보유하지 않는 컴포넌트들이다. 비휘발성 컴포넌트들은 전력 손실 시 데이터를 보유하는 컴포넌트들이다. 따라서, 메모리는 예를 들어 RAM, ROM, 하드 디스크 드라이브, SSD, USB 플래시 드라이브, 메모리 카드 판독기를 통해 액세스되는 메모리 카드, 연관 플로피 디스크 드라이브를 통해 액세스되는 플로피 디스크, 광 디스크 드라이브를 통해 액세스되는 광 디스크, 적절한 테이프 드라이브를 통해 액세스되는 자기 테이프 및/또는 다른 메모리 컴포넌트들, 또는 이러한 메모리 컴포넌트들 중 둘 이상의 임의의 조합을 포함할 수 있다. 또한, RAM은 예를 들어 SRAM(static random access memory), DRAM(dynamic random access memory), MRAM(magnetic random access memory) 및 다른 그러한 기기들을 포함할 수 있다. ROM은 예를 들어 PROM(programmable read-only memory), EPROM(erasable programmable read-only memory), EEPROM(electrically erasable programmable read-only memory), 또는 다른 유사한 메모리 기기를 포함할 수 있다.Memory is defined herein as including both volatile and non-volatile memory and data storage components. Volatile components are components that do not retain data values in the event of power loss. Non-volatile components are components that retain data in the event of power loss. Thus, the memory may be, for example, RAM, ROM, a hard disk drive, an SSD, a USB flash drive, a memory card accessed through a memory card reader, a floppy disk accessed through an associated floppy disk drive, Magnetic tape and / or other memory components accessed through a suitable tape drive, or any combination of two or more of such memory components. The RAM may also include, for example, static random access memory (SRAM), dynamic random access memory (DRAM), magnetic random access memory (MRAM), and other such devices. The ROM may include, for example, a programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM)
또한, 프로세서는 다수의 프로세서들 및/또는 다수의 프로세서 코어들을 나타낼 수 있고, 그리고 메모리는 병렬 프로세싱 회로들에서 각각 동작하는 다수의 메모리들을 나타낼 수 있다. 그러한 경우, 로컬 인터페이스는 임의의 2 개의 다중 프로세서들 사이, 임의의 프로세서와 임의의 메모리 사이, 또는 임의의 2 개의 메모리들 사이 등의 통신을 용이하게 하는 적절한 네트워크일 수 있다. 로컬 인터페이스는, 예를 들어 로드 밸런싱을 수행하는 것을 포함하여, 이러한 통신을 조정하도록 설계된 추가 시스템을 포함할 수 있다. 프로세서는 전기적 또는 기타 이용 가능한 구성일 수 있다.A processor may also represent multiple processors and / or multiple processor cores, and the memory may represent a plurality of memories, each operating in parallel processing circuits. In such a case, the local interface may be a suitable network that facilitates communication between any two of the multiple processors, between any processor and any memory, or between any two memories. The local interface may include additional systems designed to coordinate such communications, including, for example, performing load balancing. The processor may be electrically or other available configuration.
본 명세서에 설명된 클라이언트 애플리케이션(130), 판독기 애플리케이션(136), 키 관리 애플리케이션(118) 및 기타 다양한 시스템은 상술한 바와 같이 범용 하드웨어에 의해 실행되는 소프트웨어 또는 코드로 구현될 수 있지만, 대안예로서, 전용 하드웨어 또는 소프트웨어/범용 하드웨어 및 전용 하드웨어의 조합으로 구성될 수도 있다. 전용 하드웨어로 구현된다면, 각각은 다수의 기술 중 임의의 하나 또는 그 조합을 사용하는 회로 또는 상태 기계로서 구현될 수 있다. 이러한 기술들은 하나 이상의 데이터 신호의 인가시 다양한 논리 기능들을 구현하기 위한 논리 게이트들을 갖는 이산 논리 회로들, 적절한 논리 게이트를 갖는 주문형 집적 회로(ASIC), FPGA(field-programmable gate array) 또는 다른 컴포넌트 등을 포함할 수 있지만 이에 제한되지는 않는다. 이러한 기술들은 일반적으로 당업자에게 잘 알려져 있으므로, 본 명세서에서 상세히 설명하지 않는다.The
도 6 및 도 10 내지 도 14의 흐름도들은 클라이언트 애플리케이션(130), 판독기 애플리케이션(136) 및 키 관리 애플리케이션(118)의 일부분들의 구현의 기능 및 동작을 도시한다. 소프트웨어로 구현되는 경우, 각 블록은 특정 논리 기능(들)을 구현하기 위한 프로그램 명령어들을 포함하는 모듈, 세그먼트 또는 코드 부분을 나타낼 수 있다. 프로그램 명령들은 컴퓨터 시스템 또는 다른 시스템의 프로세서와 같은 적절한 실행 시스템에 의해 인식 가능한 수치적 명령들을 포함하는 프로그래밍 언어 또는 기계 코드로 기록된 사람이 읽을 수 있는 문장을 포함하는 소스 코드의 형태로 구현될 수 있다. 기계 코드는 소스 코드 등으로부터 변환될 수 있다. 하드웨어로 구현되는 경우, 각 블록은 특정 논리 기능(들)을 구현하기 위해 회로 또는 여러 상호 연결된 회로들을 나타낼 수 있다.6 and 10-14 illustrate the functionality and operation of an implementation of
도 6 및 도 10 내지 도 14의 흐름도들은 특정 실행 순서를 나타내지만, 실행 순서는 도시된 순서와 다를 수 있음이 이해되어야 한다. 예를 들어, 둘 이상의 블록들의 실행 순서는 도시된 순서에 관하여 스크램블링될 수 있다. 또한, 도 6 및 도 10 내지 도 14에 연속해서 도시된 2개 이상의 블록은 동시에 또는 부분적으로 동시에 실행될 수 있다. 추가로, 일부 실시예들에서, 도 6 및 도 10 내지 도 14에 도시된 하나 이상의 블록들은 건너뛰어지거나 생략될 수 있다. 추가로, 향상된 유틸리티, 어카운팅(accounting), 성능 측정 또는 문제 해결 도구 제공 등의 목적을 위해, 임의의 수의 카운터, 상태 변수, 경고 세마포르(warning semaphore) 또는 메시지들이 본원에 설명된 논리 흐름에 추가될 수 있다. 이러한 모든 변형들은 본 발명의 범위 내에 있음이 이해된다.It should be understood that although the flowcharts of FIGS. 6 and 10-14 show specific execution sequences, the order of execution may differ from the order shown. For example, the order of execution of two or more blocks may be scrambled with respect to the order shown. Further, two or more blocks shown successively in Fig. 6 and Fig. 10 to Fig. 14 can be executed simultaneously or partially at the same time. Additionally, in some embodiments, one or more of the blocks shown in Figures 6 and 10-14 may be skipped or omitted. In addition, any number of counters, status variables, warning semaphores, or messages may be used in the logic flow described herein for purposes such as providing improved utilities, accounting, performance measures, or troubleshooting tools. Can be added. It is understood that all such modifications are within the scope of the present invention.
또한, 소프트웨어 또는 코드를 포함하는 클라이언트 애플리케이션(130), 판독기 애플리케이션(136) 및 키 관리 애플리케이션(118)을 포함하여, 본원에 기술된 임의의 논리 또는 애플리케이션은 예를 들어 컴퓨터 시스템 또는 다른 시스템 내 프로세서 같은 명령 실행 시스템에 의해 또는 명령 실행 시스템과 관련하여 사용하기 위해 임의의 비 일시적인 컴퓨터 판독 가능 매체에 구현될 수 있다. 이러한 의미에서, 논리는 예를 들어 컴퓨터 판독 가능 매체로부터 패치될 수 있고 명령 실행 시스템에 의해 실행될 수 있는 명령(instruction) 및 선언(declaration)을 포함하는 명령문(statement)을 포함할 수 있다. 본 개시서의 내용에서, "컴퓨터 판독 가능 매체"는 명령 실행 시스템에 의해 또는 명령 실행 시스템과 관련하여 사용하기 위해 본 명세서에 기술된 로직 또는 애플리케이션을 포함, 저장 또는 유지할 수 있는 임의의 매체일 수 있다.In addition, any of the logic or applications described herein, including
컴퓨터 판독 가능 매체는 예를 들어 자기, 광학 또는 반도체 매체와 같은 많은 물리적 매체 중 임의의 매체를 포함할 수 있다. 적절한 컴퓨터 판독 가능 매체의 보다 구체적인 예들은 자기 테이프, 자기 플로피 디스켓, 자기 하드 드라이브, 메모리 카드, SSD, USB 플래시 드라이브 또는 광학 디스크를 포함하지만 이에 한정되지는 않는다. 또한, 컴퓨터 판독 가능한 매체는 예를 들어 SRAM(static random access memory) 및 DRAM(dynamic random access memory), 또는 MRAM(magnetic random access memory)을 포함하는 RAM일 수 있다. 또한, 컴퓨터 판독 가능 매체는 ROM(read-only memory), PROM(programmable read-only memory), EPROM(erasable programmable read-only memory), EEPROM(electrically erasable programmable read-only memory), 또는 다른 유형의 메모리 기기일 수 있다.Computer readable media can include any of a number of physical media, such as magnetic, optical, or semiconductor media, for example. More specific examples of suitable computer readable media include, but are not limited to, magnetic tape, magnetic floppy diskette, magnetic hard drive, memory card, SSD, USB flash drive or optical disk. The computer-readable medium may also be, for example, a RAM including a static random access memory (SRAM) and a dynamic random access memory (DRAM), or a magnetic random access memory (MRAM). The computer-readable medium may also be embodied as read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM) Device.
또한, 본원에 설명된 임의의 로직 또는 애플리케이션, 클라이언트 애플리케이션(130), 판독기 애플리케이션(136) 및 키 관리 애플리케이션(118)은 다양한 방식으로 구현되고 구성될 수 있다. 예를 들어, 설명된 하나 이상의 애플리케이션들은 단일 애플리케이션의 모듈들 또는 컴포넌트들로서 구현될 수 있다. 또한, 본원에 설명된 하나 이상의 애플리케이션들은 공유 또는 별개의 컴퓨팅 기기들 또는 이들의 조합으로 실행될 수 있다. 예를 들어, 본 명세서에서 설명된 복수의 애플리케이션들은 동일한 컴퓨팅 기기(1500)에서 또는 동일한 컴퓨팅 환경(103) 내의 다수의 컴퓨팅 기기들에서 실행될 수 있다. 추가적으로, "애플리케이션", "서비스", "시스템", "엔진", "모듈" 등과 같은 용어는 상호 교환 가능할 수 있으며, 제한하려는 의도가 아니라는 것을 이해되어야 한다.In addition, any of the logic or applications described herein, the
"X, Y 또는 Z 중 적어도 하나"라는 구절과 같은 이접적 언어(disjunctive language)는 다른 언급이 없는 한 일반적으로 항목, 용어 등이 X, Y 또는 Z 또는 이들의 임의의 조합(예를 들어, X, Y 및/또는 Z)일 수 있음을 나타내기 위해 일반적으로 사용되는 문맥으로 이해된다. 따라서, 이러한 이접적 언어는 어떤 실시예가 적어도 하나의 X, 적어도 하나의 Y, 또는 적어도 하나의 Z가 각각 존재할 것을 요구한다는 것을 일반적으로 의미하는 것이 아니며, 의미하여서는 안 된다.A disjunctive language, such as the phrase "at least one of X, Y, or Z ", is used to denote an item, term, etc., in general, unless otherwise stated, X, Y, or Z, or any combination thereof (e.g., X, Y, and / or Z). ≪ / RTI > Thus, this disjunctive language does not generally mean and should not mean that an embodiment requires that there be at least one X, at least one Y, or at least one Z, respectively.
전술된 본 발명의 실시예들은 본 발명의 원리들의 명확한 이해를 위해 설명된 가능한 구현 예들일 뿐이라는 것이 강조되어야 한다. 본 발명의 사상 및 원리를 실질적으로 벗어나지 않으면서 상술한 실시예(들)에 많은 변형 및 수정이 이루어질 수 있다.It should be emphasized that the embodiments of the present invention described above are only possible implementations for a clear understanding of the principles of the invention. Many variations and modifications may be made to the above-described embodiment (s) without substantially departing from the spirit and principles of the invention.
항목 1. 시스템으로서, 시스템은 :Item 1. As system, the system is:
적어도 하나의 하드웨어 프로세서를 포함하는 클라이언트 기기; 및A client device comprising at least one hardware processor; And
상기 클라이언트 기기에서 실행 가능한 클라이언트 애플리케이션을 포함하며,A client application executable on the client device,
상기 클라이언트 애플리케이션은 실행 시에 상기 클라이언트 기기로 하여금 :Wherein the client application, upon execution, causes the client device to:
네트워크를 통해 제1 기기 프로파일과 연관된 제1 암호화 키 및 제2 기기 프로파일과 연관된 제2 암호화 키를 수신하게 하며; Receive a first encryption key associated with a first device profile and a second encryption key associated with a second device profile over a network;
상기 클라이언트 기기의 데이터 저장소에서, 상기 클라이언트 애플리케이션에 의해 생성된 적어도 하나의 사용자 인터페이스를 통해 제공된 입력 데이터에 액세스하게 하며; In the data store of the client device, accessing input data provided via at least one user interface generated by the client application;
상기 입력 데이터를 적어도 제1 데이터 부분 및 제2 데이터 부분으로 포맷팅하게 하며; Format the input data into at least a first data portion and a second data portion;
상기 제1 암호화 키를 사용하여 상기 제1 데이터 부분을 암호화하고 상기 제2 암호화 키를 사용하여 상기 제2 데이터 부분을 암호화하게 하며; 그리고 Encrypt the first data portion using the first encryption key and encrypt the second data portion using the second encryption key; And
상기 클라이언트 기기에 의해 액세스 가능한 디스플레이에서 렌더링하기 위해, 상기 암호화된 제1 데이터 부분 및 암호화된 제2 데이터 부분을 사용하여 기계 판독 가능한 식별자를 생성하게 하는; 프로그램 명령들을 포함하는, 시스템. To generate a machine readable identifier using the encrypted first data portion and the encrypted second data portion to render on a display accessible by the client device; Program instructions.
항목 2. 항목 1에 있어서,Item 2. In Item 1,
상기 기계 판독 가능한 식별자는 제1 기계 판독 가능한 식별자이며, 그리고The machine readable identifier is a first machine readable identifier, and
상기 클라이언트 애플리케이션은 실행 시에 상기 클라이언트 기기로 하여금 :Wherein the client application, upon execution, causes the client device to:
상기 클라이언트 기기와 통신하는 카메라에 의해 캡처된 이미지에서, 상기 클라이언트 기기와 상이한 기기에 의해 생성된 제2 기계 판독 가능한 식별자를 식별하게 하며; Identify, in an image captured by a camera in communication with the client device, a second machine-readable identifier generated by a device different from the client device;
상기 제2 기계 판독 가능한 식별자로부터 암호화된 데이터를 식별하게 하며; Identify encrypted data from the second machine-readable identifier;
상기 제1 암호화 키 또는 상기 제2 암호화 키를 사용하여 상기 암호화된 데이터를 해독하여, 해독된 데이터를 식별하게 하며; 그리고 Decrypt the encrypted data using the first encryption key or the second encryption key to identify decrypted data; And
상기 클라이언트 애플리케이션에 의한 액세스를 위해 상기 데이터 저장소에 상기 해독된 데이터를 저장하게 하는; 프로그램 명령들을 더 포함하는, 시스템. Store the decrypted data in the data store for access by the client application; ≪ / RTI > further comprising program instructions.
항목 3. 항목 2에 있어서,Item 3. In item 2,
상기 데이터 저장소에 상기 해독된 데이터를 저장하는 것은 :Storing the decrypted data in the data store comprises:
상기 데이터 저장소에 저장된 입력 데이터와 상기 해독된 데이터 간에 충돌이 존재하는지 여부를 식별하는 것; 및 Identifying whether there is a conflict between the input data stored in the data store and the decrypted data; And
상기 데이터 저장소에 저장된 입력 데이터 대신에 상기 해독된 데이터를 저장하는 것;을 더 포함하는, 시스템. Further comprising storing the decrypted data instead of input data stored in the data store.
항목 4. 항목 1에 있어서,Item 4. In Item 1,
상기 제1 암호화 키가 저장된 상기 제1 기기 프로파일과 연관된 제1 판독기 기기; 및A first reader device associated with the first device profile in which the first encryption key is stored; And
상기 제2 암호화 키가 저장된 상기 제2 기기 프로파일과 연관된 제2 판독기 기기를 더 포함하며,And a second reader device associated with the second device profile in which the second encryption key is stored,
상기 제1 판독기 기기는 상기 제1 암호화 키를 사용하여 상기 기계 판독 가능한 식별자에서 상기 제1 데이터 부분에 액세스하도록 구성되며,Wherein the first reader device is configured to access the first data portion in the machine readable identifier using the first encryption key,
상기 제2 판독기 기기는 상기 제2 암호화 키를 사용하여 상기 기계 판독 가능한 식별자에서 상기 제2 데이터 부분에 액세스하도록 구성되는, 시스템.And the second reader device is configured to access the second data portion in the machine readable identifier using the second encryption key.
항목 5. 항목 4에 있어서,Item 5. In item 4,
상기 제1 판독기 기기는 제1 이미징 기기를 포함하며,Wherein the first reader device comprises a first imaging device,
상기 제2 판독기 기기는 제2 이미징 기기를 포함하고,Wherein the second reader device comprises a second imaging device,
상기 기계 판독 가능한 식별자는 상기 제1 이미징 기기 또는 상기 제2 이미징 기기에 의해 캡처되는, 시스템.Wherein the machine readable identifier is captured by the first imaging device or the second imaging device.
항목 6. 항목 1에 있어서,Item 6. In Item 1,
상기 클라이언트 애플리케이션은 실행 시에 상기 클라이언트 기기로 하여금 상기 클라이언트 기기와 상이한 다른 클라이언트 기기에게 상기 기계 판독 가능한 식별자를 발송하게 하는 프로그램 명령들을 더 포함하는, 시스템.Wherein the client application further comprises program instructions that, when executed, cause the client device to dispatch the machine readable identifier to another client device that is different than the client device.
항목 7. 항목 1에 있어서,Item 7. In Item 1,
상기 기계 판독 가능한 식별자는 상기 입력 데이터로부터 해독된 데이터를 사용하여 생성되는, 시스템.Wherein the machine readable identifier is generated using decrypted data from the input data.
항목 8. 항목 1에 있어서,Item 8. In Item 1,
상기 제1 기기 프로파일과 연관된 제1 암호화 키는 상기 클라이언트 기기에서 이루어진 제1 기기 프로파일의 선택에 응답하여, 네트워크를 통해 적어도 하나의 원격 컴퓨팅 기기로부터 상기 클라이언트 기기에 의해 수신되며, 그리고 상기 제2 기기 프로파일과 연관된 제2 암호화 키는 상기 클라이언트 기기에서 이루어진 제2 기기 프로파일의 선택에 응답하여, 네트워크를 통해 적어도 하나의 원격 컴퓨팅 기기로부터 상기 클라이언트 기기에 의해 수신되는, 시스템.Wherein a first encryption key associated with the first device profile is received by the client device from at least one remote computing device over the network in response to the selection of a first device profile made at the client device, Wherein the second encryption key associated with the profile is received by the client device from at least one remote computing device over the network in response to the selection of the second device profile made at the client device.
항목 9. 항목 1에 있어서,Item 9. In Item 1,
상기 제1 암호화 키를 사용하여 상기 제1 데이터 부분을 암호화하고 상기 제2 암호화 키를 사용하여 상기 제2 데이터 부분을 암호화하는 것은 :Encrypting the first data portion using the first encryption key and encrypting the second data portion using the second encryption key comprises:
상기 제1 데이터 부분과 연관된 제1 액세스 레벨을 식별하는 것; Identifying a first access level associated with the first data portion;
상기 제2 데이터 부분과 연관된 제2 액세스 레벨을 식별하는 것; Identifying a second access level associated with the second data portion;
상기 제1 액세스 레벨에 적어도 부분적으로 기초하여 상기 제1 암호화 키를 사용하여 상기 제1 데이터 부분을 암호화하는 것; 및 Encrypting the first data portion using the first encryption key based at least in part on the first access level; And
상기 제2 액세스 레벨에 적어도 부분적으로 기초하여 상기 제2 암호화 키를 사용하여 상기 제2 데이터 부분을 암호화하는 것;을 더 포함하며, Further comprising encrypting the second data portion using the second encryption key based at least in part on the second access level,
상기 제1 액세스 레벨은 상기 제2 액세스 레벨과 상이한, 시스템.The first access level being different from the second access level.
항목 10. 항목 1에 있어서,
상기 기계 판독 가능한 식별자는 QR(quick-response) 코드 또는 바코드인, 시스템.Wherein the machine readable identifier is a quick-response (QR) code or bar code.
항목 11. 컴퓨터로 구현되는 방법으로서,
적어도 하나의 하드웨어 프로세서를 포함하는 클라이언트 기기에 의해, 네트워크를 통해 제1 기기 프로파일과 연관된 제1 암호화 키 및 제2 기기 프로파일과 연관된 제2 암호화 키를 수신하는 단계;Receiving, by a client device including at least one hardware processor, a first encryption key associated with a first device profile and a second encryption key associated with a second device profile over a network;
상기 클라이언트 기기에 의해 상기 클라이언트 기기의 데이터 저장소에서 입력 데이터에 액세스하는 단계로서, 상기 입력 데이터는 상기 클라이언트 기기 상에서 실행 가능한 클라이언트 애플리케이션에 의해 생성된 적어도 하나의 사용자 인터페이스를 통해 제공되는, 단계;Accessing input data in a data store of the client device by the client device, the input data being provided through at least one user interface generated by a client application executable on the client device;
상기 클라이언트 기기에 의해, 상기 입력 데이터를 적어도 제1 데이터 부분 및 제2 데이터 부분으로 포맷팅하는 단계;Formatting, by the client device, the input data into at least a first data portion and a second data portion;
상기 클라이언트 기기에 의해, 상기 제1 암호화 키를 사용하여 상기 제1 데이터 부분을 암호화하고 상기 제2 암호화 키를 사용하여 상기 제2 데이터 부분을 암호화하는 단계; 및Encrypting, by the client device, the first data portion using the first encryption key and the second data portion using the second encryption key; And
상기 클라이언트 기기에 의해, 상기 클라이언트 기기에 의해 액세스 가능한 디스플레이에서 렌더링하기 위해, 상기 암호화된 제1 데이터 부분 및 암호화된 제2 데이터 부분을 사용하여 기계 판독 가능한 식별자를 생성하는 단계;를 포함하는, 컴퓨터로 구현되는 방법.Generating by the client device a machine readable identifier using the encrypted first data portion and the encrypted second data portion to render on a display accessible by the client device, .
항목 12. 항목 11에 있어서,Item 12. The method according to
상기 기계 판독 가능한 식별자는 제1 기계 판독 가능한 식별자이며, 그리고The machine readable identifier is a first machine readable identifier, and
상기 방법은 :The method comprising:
상기 클라이언트 기기에 의해, 상기 클라이언트 기기와 통신하는 카메라에 의해 캡처된 이미지에서 제2 기계 판독 가능한 식별자를 식별하는 단계로서, 상기 제2 기계 판독 가능한 식별자는 상기 클라이언트 기기와 상이한 기기에 의해 생성되는 단계; Identifying, by the client device, a second machine-readable identifier in an image captured by a camera in communication with the client device, wherein the second machine-readable identifier is generated by a device different from the client device ;
상기 클라이언트 기기에 의해, 상기 제2 기계 판독 가능한 식별자로부터 암호화된 데이터를 식별하는 단계; Identifying, by the client device, encrypted data from the second machine-readable identifier;
상기 클라이언트 기기에 의해, 상기 제1 암호화 키 또는 상기 제2 암호화 키를 사용하여 상기 암호화된 데이터를 해독하여 해독된 데이터를 식별하는 단계; 그리고 Decrypting the encrypted data by the client device using the first encryption key or the second encryption key to identify decrypted data; And
상기 클라이언트 기기에 의해, 상기 클라이언트 애플리케이션에 의한 액세스를 위해 상기 데이터 저장소에 상기 해독된 데이터를 저장하는 단계;를 더 포함하는, 컴퓨터로 구현되는 방법. And storing the decrypted data in the data store for access by the client application by the client device.
항목 13. 항목 12에 있어서,Item 13. The method according to item 12,
상기 데이터 저장소에 상기 해독된 데이터를 저장하는 단계는 :Wherein storing the decrypted data in the data store comprises:
상기 클라이언트 기기에 의해, 상기 데이터 저장소에 저장된 입력 데이터와 상기 해독된 데이터 간에 충돌이 존재하는지 여부를 식별하는 단계; 및 Identifying, by the client device, whether there is a conflict between input data stored in the data store and the decrypted data; And
상기 클라이언트 기기에 의해, 상기 데이터 저장소에 저장된 입력 데이터 대신에 상기 해독된 데이터를 저장하는 단계;를 더 포함하는, 컴퓨터로 구현되는 방법. And storing, by the client device, the decrypted data instead of the input data stored in the data store.
항목 14. 항목 11에 있어서,Item 14. The method according to
제1 판독기 기기에 의해, 상기 제1 암호화 키를 사용하여 상기 기계 판독 가능한 식별자에서 상기 제1 데이터 부분에 액세스하는 단계로서, 상기 제1 판독기 기기는 상기 제1 기기 프로파일과 연관되며 상기 제1 암호화 키가 저장되어 있는, 단계; 및Accessing the first data portion from the machine readable identifier using the first encryption key by a first reader device, the first reader device being associated with the first device profile, The key is stored; And
제2 판독기 기기에 의해, 상기 제2 암호화 키를 사용하여 상기 기계 판독 가능한 식별자에서 상기 제2 데이터 부분에 액세스하는 단계로서, 상기 제2 판독기 기기는 상기 제2 기기 프로파일과 연관되며 상기 제2 암호화 키가 저장되어 있는, 단계;를 더 포함하는, 컴퓨터로 구현되는 방법.Accessing the second data portion from the machine readable identifier using the second encryption key by a second reader device, the second reader device being associated with the second device profile, And wherein the key is stored.
항목 15. 항목 14에 있어서,Item 15. The method according to item 14,
상기 제1 판독기 기기는 제1 이미징 기기를 포함하며,Wherein the first reader device comprises a first imaging device,
상기 제2 판독기 기기는 제2 이미징 기기를 포함하고,Wherein the second reader device comprises a second imaging device,
상기 기계 판독 가능한 식별자는 상기 제1 이미징 기기 또는 상기 제2 이미징 기기에 의해 캡처되는, 컴퓨터로 구현되는 방법.Wherein the machine readable identifier is captured by the first imaging device or the second imaging device.
항목 16. 항목 11에 있어서,Item 16. The method according to
상기 클라이언트 기기에 의해, 네트워크를 통해 상기 클라이언트 기기와 상이한 다른 클라이언트 기기에게 상기 기계 판독 가능한 식별자를 발송하는 단계를 더 포함하는, 컴퓨터로 구현되는 방법.Further comprising the step of sending the machine readable identifier by the client device to another client device that is different than the client device over the network.
항목 17. 항목 11에 있어서,Item 17. The method according to
상기 기계 판독 가능한 식별자는 상기 입력 데이터로부터 해독된 데이터를 사용하여 생성되는, 컴퓨터로 구현되는 방법.Wherein the machine readable identifier is generated using decrypted data from the input data.
항목 18. 항목 11에 있어서,Item 18. The method according to
상기 제1 기기 프로파일과 연관된 제1 암호화 키는 상기 클라이언트 기기에서 이루어진 제1 기기 프로파일의 선택에 응답하여, 네트워크를 통해 적어도 하나의 원격 컴퓨팅 기기로부터 상기 클라이언트 기기에 의해 수신되며, 그리고 Wherein a first encryption key associated with the first device profile is received by the client device from at least one remote computing device over the network in response to the selection of the first device profile made at the client device,
상기 제2 기기 프로파일과 연관된 제2 암호화 키는 상기 클라이언트 기기에서 이루어진 제2 기기 프로파일의 선택에 응답하여, 네트워크를 통해 적어도 하나의 원격 컴퓨팅 기기로부터 상기 클라이언트 기기에 의해 수신되는, 컴퓨터로 구현되는 방법.Wherein the second encryption key associated with the second device profile is received by the client device from at least one remote computing device over the network in response to the selection of the second device profile made at the client device, .
항목 19. 항목 11에 있어서,Item 19. The method according to
상기 제1 암호화 키를 사용하여 상기 제1 데이터 부분을 암호화하고 상기 제2 암호화 키를 사용하여 상기 제2 데이터 부분을 암호화하는 단계는 :Wherein encrypting the first data portion using the first encryption key and encrypting the second data portion using the second encryption key comprises:
상기 클라이언트 기기에 의해, 상기 제1 데이터 부분과 연관된 제1 액세스 레벨을 식별하는 단계; Identifying, by the client device, a first access level associated with the first data portion;
상기 클라이언트 기기에 의해, 상기 제2 데이터 부분과 연관된 제2 액세스 레벨을 식별하는 단계; Identifying, by the client device, a second access level associated with the second data portion;
상기 클라이언트 기기에 의해, 상기 제1 액세스 레벨에 적어도 부분적으로 기초하여 상기 제1 암호화 키를 사용하여 상기 제1 데이터 부분을 암호화하는 단계; 및 Encrypting, by the client device, the first data portion using the first encryption key based at least in part on the first access level; And
상기 클라이언트 기기에 의해, 상기 제2 액세스 레벨에 적어도 부분적으로 기초하여 상기 제2 암호화 키를 사용하여 상기 제2 데이터 부분을 암호화하는 단계;를 더 포함하며, Further comprising: encrypting, by the client device, the second data portion using the second encryption key based at least in part on the second access level,
상기 제1 액세스 레벨은 상기 제2 액세스 레벨과 상이한, 컴퓨터로 구현되는 방법.Wherein the first access level is different from the second access level.
항목 20. 항목 11에 있어서,Item 20. The method according to
상기 기계 판독 가능한 식별자는 QR(quick-response) 코드 또는 바코드인, 컴퓨터로 구현되는 방법.Wherein the machine readable identifier is a quick-response (QR) code or bar code.
항목 21. 시스템으로서, 상기 시스템은 :Item 21. A system, comprising:
적어도 하나의 하드웨어 프로세서를 포함하는 클라이언트 기기; 및A client device comprising at least one hardware processor; And
상기 클라이언트 기기에서 실행 가능한 클라이언트 애플리케이션;을 포함하며,And a client application executable on the client device,
상기 클라이언트 애플리케이션은 실행 시에 상기 클라이언트 기기로 하여금 :Wherein the client application, upon execution, causes the client device to:
상기 클라이언트 기기의 디스플레이에 렌더링하기 위해 적어도 하나의 암호화 키를 사용하여 암호화된 제1 양의 데이터를 사용하여 제1 기계 판독 가능한 식별자를 생성하게 하며, 상기 적어도 하나의 암호화 키가 저장된 판독기 기기는 상기 데이터를 해독하도록 구성되며; Wherein the at least one encryption key is used to generate a first machine readable identifier using a first amount of data encrypted using at least one encryption key to render on a display of the client device, Configured to decrypt the data;
상기 클라이언트 기기에 의해 캡처된 적어도 하나의 이미지에서 제2 기계 판독 가능한 식별자를 식별하게 하며; Identify a second machine-readable identifier in at least one image captured by the client device;
상기 적어도 하나의 암호화 키를 사용하여 상기 판독기 기기에 의해 암호화된 제2 양의 데이터를 식별하기 위해 상기 제2 기계 판독 가능한 식별자를 디코딩하게 하며; To decode the second machine-readable identifier to identify a second amount of data encrypted by the reader device using the at least one encryption key;
상기 적어도 하나의 암호화 키를 사용하여 상기 제2 양의 데이터를 해독하게 하며; 그리고 To decrypt the second amount of data using the at least one encryption key; And
상기 제1 양의 데이터 및 상기 제2 양의 데이터 간에 충돌이 존재하는지 여부를 식별하게 하는; 프로그램 명령들을 포함하는, 시스템. To identify whether there is a conflict between the first amount of data and the second amount of data; Program instructions.
항목 22. 항목 21에 있어서,Item 22. The method according to item 21,
상기 클라이언트 애플리케이션은 실행 시에 상기 클라이언트 기기로 하여금 상기 제1 양의 데이터 및 상기 제2 양의 데이터 간에 존재하는 충돌에 응답하여, 상기 충돌을 해결하는 작업을 수행하게 하는 프로그램 명령들을 더 포함하는, 시스템.Wherein the client application further comprises program instructions that, when executed, cause the client device to perform an operation to resolve the conflict in response to a conflict existing between the first amount of data and the second amount of data. system.
항목 23. 항목 21에 있어서,Item 23. The method according to item 21,
상기 충돌은 판독기 기기가 제1 양의 데이터를 변경하여 제2 양의 데이터를 생성하는 것에 응답하여 식별되는, 시스템.Wherein the collision is identified in response to the reader device modifying the first amount of data to generate a second amount of data.
항목 24. 항목 22에 있어서,Item 24. The method according to item 22,
상기 작업은 :The task is:
상기 충돌과 연관된 정보를 상기 클라이언트 애플리케이션의 사용자 인터페이스에 표시하는 것; Displaying information associated with the conflict on a user interface of the client application;
상기 사용자 인터페이스에서 상기 제1 양의 데이터 또는 상기 제2 양의 데이터의 선택을 수신하는 것; 및 Receiving a selection of the first amount of data or the second amount of data in the user interface; And
상기 선택에 응답하여, 선택된 제1 양의 데이터 또는 선택된 제2 양의 데이터를 이용하여 상기 클라이언트 기기의 데이터 저장소를 업데이트하는 것; 을 포함하는, 시스템. In response to the selection, updating the data store of the client device using the selected first amount of data or the selected second amount of data; . ≪ / RTI >
항목 25. 항목 22에 있어서,Item 25. The method according to item 22,
상기 작업은 상기 제2 양의 데이터를 이용하여 상기 클라이언트 기기의 데이터 저장소를 업데이트하는 것을 포함하는, 시스템. Wherein the operation comprises updating the data store of the client device using the second amount of data.
항목 26. 항목 21에 있어서,Item 26. The method according to item 21,
상기 클라이언트 애플리케이션은 실행 시에 상기 클라이언트 기기로 하여금 상기 제2 양의 데이터의 적어도 일부분을 이용하여 상기 클라이언트 애플리케이션 내의 사용자 인터페이스의 적어도 하나의 필드를 채우게 하는 프로그램 명령들을 더 포함하는, 시스템.Wherein the client application further comprises program instructions for causing the client device to fill at least one field of a user interface in the client application using at least a portion of the second amount of data at runtime.
항목 27. 항목 21에 있어서,Item 27. The method according to item 21,
적어도 하나의 암호화 키를 사용하여 암호화된 제1 양의 데이터는 수집 프로세스 동안 획득된 사용자 입력의 제1 부분 및 사용자 입력의 제2 부분을 더 포함하며,Wherein the first amount of data encrypted using at least one encryption key further comprises a first portion of user input obtained during the acquisition process and a second portion of user input,
상기 사용자 입력의 제1 부분은 상기 판독기 기기에 의해 액세스 가능한 제1 암호화 키를 사용하여 암호화되며,Wherein a first portion of the user input is encrypted using a first encryption key accessible by the reader device,
상기 사용자 입력의 제2 부분은 상기 판독기 기기에 의해 액세스 가능하지 않은 제2 암호화 키를 사용하여 암호화되는, 시스템.Wherein the second portion of the user input is encrypted using a second encryption key that is not accessible by the reader device.
항목 28. 항목 21에 있어서,Item 28. The method according to item 21,
상기 기계 판독 가능한 식별자는 QR(quick-response) 코드 또는 바코드인, 시스템.Wherein the machine readable identifier is a quick-response (QR) code or bar code.
항목 29. 항목 21에 있어서,Item 29. The method according to item 21,
상기 클라이언트 애플리케이션은 실행 시에 상기 클라이언트 기기로 하여금 네트워크를 통해 원격 컴퓨팅 환경에서 실행하는 원격 애플리케이션으로부터 적어도 하나의 암호화 키를 수신하게 하는 프로그램 명령들을 더 포함하는, 시스템.Wherein the client application further comprises program instructions for causing the client device, upon execution, to receive at least one encryption key from a remote application executing in a remote computing environment over the network.
항목 30. 항목 29에 있어서,Item 30. The method according to item 29,
상기 원격 컴퓨팅 환경에서 실행하는 원격 애플리케이션은 네트워크를 통해 상기 판독기 기기에게 상기 적어도 하나의 암호화 키를 발송하도록 구성되는, 시스템.Wherein the remote application executing in the remote computing environment is configured to send the at least one encryption key to the reader device via the network.
항목 31. 컴퓨터로 구현되는 방법으로서,Item 31. A computer-implemented method,
적어도 하나의 하드웨어 프로세서를 포함하는 클라이언트 기기에 의해, 상기 클라이언트 기기의 디스플레이에 렌더링하기 위해 적어도 하나의 암호화 키를 사용하여 암호화된 제1 양의 데이터를 사용하여 제1 기계 판독 가능한 식별자를 생성하는 단계로서, 상기 적어도 하나의 암호화 키가 저장된 판독기 기기는 상기 데이터를 해독하도록 구성되는, 단계;Generating a first machine readable identifier using a first amount of data encrypted using at least one encryption key for rendering on a display of the client device by a client device comprising at least one hardware processor, Wherein the reader device in which the at least one encryption key is stored is configured to decrypt the data;
상기 클라이언트 기기에 의해, 상기 클라이언트 기기에 의해 캡처된 적어도 하나의 이미지에서 제2 기계 판독 가능한 식별자를 식별하는 단계; Identifying, by the client device, a second machine-readable identifier in at least one image captured by the client device;
상기 클라이언트 기기에 의해, 상기 적어도 하나의 암호화 키를 사용하여 상기 판독기 기기에 의해 암호화된 제2 양의 데이터를 식별하기 위해 상기 제2 기계 판독 가능한 식별자를 디코딩하는 단계; Decoding, by the client device, the second machine-readable identifier to identify a second amount of data encrypted by the reader device using the at least one encryption key;
상기 클라이언트 기기에 의해, 상기 적어도 하나의 암호화 키를 사용하여 상기 제2 양의 데이터를 해독하는 단계; 및 Decrypting the second amount of data by the client device using the at least one encryption key; And
상기 클라이언트 기기에 의해, 상기 제1 양의 데이터 및 상기 제2 양의 데이터 간에 충돌이 존재하는지 여부를 식별하는 단계;를 포함하는, 컴퓨터로 구현되는 방법. And identifying, by the client device, whether a conflict exists between the first amount of data and the second amount of data.
항목 32. 항목 31에 있어서,Item 32. The method according to item 31,
상기 제1 양의 데이터 및 상기 제2 양의 데이터 간에 존재하는 충돌에 응답하여, 상기 클라이언트 기기에 의해, 상기 충돌을 해결하는 작업을 수행하는 단계를 더 포함하는, 컴퓨터로 구현되는 방법.Further comprising: performing, by the client device, an operation to resolve the conflict in response to a conflict existing between the first amount of data and the second amount of data.
항목 33. 항목 31에 있어서,Item 33. The method according to item 31,
상기 충돌은 판독기 기기가 제1 양의 데이터를 변경하여 제2 양의 데이터를 생성하는 것에 응답하여 식별되는, 컴퓨터로 구현되는 방법.Wherein the collision is identified in response to the reader device modifying the first amount of data to generate a second amount of data.
항목 34. 항목 32에 있어서,Item 34. The method according to item 32,
상기 작업은 :The task is:
상기 클라이언트 기기에 의해, 상기 충돌과 연관된 정보를 상기 클라이언트 애플리케이션의 사용자 인터페이스에 표시하는 것; Displaying, by the client device, information associated with the conflict in a user interface of the client application;
상기 클라이언트 기기에 의해, 상기 사용자 인터페이스에서 이루어진 상기 제1 양의 데이터 또는 상기 제2 양의 데이터의 선택을 수신하는 것; 및 Receiving, by the client device, the selection of the first amount of data or the second amount of data in the user interface; And
식별된 선택에 응답하여, 상기 클라이언트 기기에 의해, 선택된 제1 양의 데이터 또는 선택된 제2 양의 데이터를 이용하여 상기 클라이언트 기기의 데이터 저장소를 업데이트하는 것; 을 포함하는, 컴퓨터로 구현되는 방법. Updating, by the client device, the data store of the client device using the selected first amount of data or the selected second amount of data in response to the identified selection; ≪ / RTI >
항목 35. 항목 32에 있어서,Item 35. The method according to item 32,
상기 작업은 상기 클라이언트 기기에 의해, 상기 제2 양의 데이터를 이용하여 상기 클라이언트 기기의 데이터 저장소를 업데이트하는 것을 포함하는, 컴퓨터로 구현되는 방법.Wherein the operation comprises updating, by the client device, the data store of the client device using the second amount of data.
항목 36. 항목 31에 있어서,Item 36. The method of item 31,
상기 클라이언트 기기에 의해, 상기 제2 양의 데이터의 적어도 일부분을 이용하여 상기 클라이언트 애플리케이션 내의 사용자 인터페이스의 적어도 하나의 필드를 채우는 단계를 더 포함하는, 컴퓨터로 구현되는 방법.Further comprising: filling, by the client device, at least a portion of the user interface in the client application using at least a portion of the second amount of data.
항목 37. 항목 31에 있어서,Item 37. The method according to item 31,
적어도 하나의 암호화 키를 사용하여 암호화된 제1 양의 데이터는 수집 프로세스 동안 획득된 사용자 입력의 제1 부분 및 사용자 입력의 제2 부분을 더 포함하며,Wherein the first amount of data encrypted using at least one encryption key further comprises a first portion of user input obtained during the acquisition process and a second portion of user input,
상기 사용자 입력의 제1 부분은 상기 판독기 기기에 의해 액세스 가능한 제1 암호화 키를 사용하여 암호화되며,Wherein a first portion of the user input is encrypted using a first encryption key accessible by the reader device,
상기 사용자 입력의 제2 부분은 상기 판독기 기기에 의해 액세스 가능하지 않은 제2 암호화 키를 사용하여 암호화되는, 컴퓨터로 구현되는 방법.And wherein the second portion of the user input is encrypted using a second encryption key that is not accessible by the reader device.
항목 38. 항목 31에 있어서,Item 38. The method according to item 31,
상기 기계 판독 가능한 식별자는 QR(quick-response) 코드 또는 바코드인, 컴퓨터로 구현되는 방법.Wherein the machine readable identifier is a quick-response (QR) code or bar code.
항목 39. 항목 31에 있어서,Item 39. The method according to item 31,
상기 클라이언트 기기에 의해, 네트워크를 통해 원격 컴퓨팅 환경에서 실행하는 원격 애플리케이션으로부터 적어도 하나의 암호화 키를 수신하는 단계를 더 포함하는, 컴퓨터로 구현되는 방법.Further comprising receiving, by the client device, at least one encryption key from a remote application executing in a remote computing environment over the network.
항목 40. 항목 39에 있어서,Item 40. The method according to item 39,
상기 원격 컴퓨팅 환경에서 실행하는 원격 애플리케이션은 네트워크를 통해 상기 판독기 기기에게 상기 적어도 하나의 암호화 키를 발송하도록 구성되는, 컴퓨터로 구현되는 방법.Wherein the remote application executing in the remote computing environment is configured to send the at least one encryption key to the reader device via the network.
Claims (15)
상기 클라이언트 기기에서 실행 가능한 클라이언트 애플리케이션;을 포함하며,
상기 클라이언트 애플리케이션은 실행 시에 상기 클라이언트 기기로 하여금 :
네트워크를 통해 제1 기기 프로파일과 연관된 제1 암호화 키 및 제2 기기 프로파일과 연관된 제2 암호화 키를 수신하는 단계;
상기 클라이언트 기기의 데이터 저장소에서 입력 데이터에 액세스하는 단계로서, 상기 입력 데이터는 상기 클라이언트 애플리케이션에 의해 생성된 적어도 하나의 사용자 인터페이스를 통해 제공되는, 단계;
상기 입력 데이터를 적어도 제1 데이터 부분 및 제2 데이터 부분으로 포맷팅하는 단계;
상기 제1 암호화 키를 사용하여 상기 제1 데이터 부분을 암호화하고 상기 제2 암호화 키를 사용하여 상기 제2 데이터 부분을 암호화하는 단계; 및
상기 클라이언트 기기에 의해 액세스 가능한 디스플레이에서 렌더링하기 위해, 상기 암호화된 제1 데이터 부분 및 암호화된 제2 데이터 부분을 사용하여 기계 판독 가능한 식별자를 생성하는 단계;를 수행하게 하는 프로그램 명령들을 포함하며,
상기 기계 판독 가능한 식별자는 QR(quick-response) 코드 또는 바코드인, 시스템.A client device comprising at least one hardware processor; And
And a client application executable on the client device,
Wherein the client application, upon execution, causes the client device to:
Receiving a first encryption key associated with a first device profile and a second encryption key associated with a second device profile over a network;
Accessing input data in a data store of the client device, the input data being provided through at least one user interface generated by the client application;
Formatting the input data into at least a first data portion and a second data portion;
Encrypting the first data portion using the first encryption key and encrypting the second data portion using the second encryption key; And
Generating a machine readable identifier using the encrypted first data portion and the encrypted second data portion to render on a display accessible by the client device,
Wherein the machine readable identifier is a quick-response (QR) code or bar code.
상기 기계 판독 가능한 식별자는 제1 기계 판독 가능한 식별자이며,
상기 클라이언트 애플리케이션은 실행 시에 상기 클라이언트 기기로 하여금 :
상기 클라이언트 기기와 통신하는 카메라에 의해 캡처된 이미지에서 제2 기계 판독 가능한 식별자를 식별하는 단계로서, 상기 제2 기계 판독 가능한 식별자는 상기 클라이언트 기기와 상이한 기기에 의해 생성되는, 단계;
상기 제2 기계 판독 가능한 식별자로부터 암호화된 데이터를 식별하는 단계;
상기 제1 암호화 키 또는 상기 제2 암호화 키를 사용하여 상기 암호화된 데이터의 양을 해독하여, 해독된 데이터를 식별하는 단계; 및
상기 클라이언트 애플리케이션에 의한 액세스를 위해 상기 데이터 저장소에 상기 해독된 데이터를 저장하는 단계;를 수행하게 하는 프로그램 명령들을 더 포함하는, 시스템.The method according to claim 1,
The machine readable identifier is a first machine readable identifier,
Wherein the client application, upon execution, causes the client device to:
Identifying a second machine-readable identifier in an image captured by a camera in communication with the client device, the second machine-readable identifier being generated by a device different from the client device;
Identifying encrypted data from the second machine readable identifier;
Decrypting the amount of the encrypted data using the first encryption key or the second encryption key to identify decrypted data; And
And storing the decrypted data in the data store for access by the client application.
상기 데이터 저장소에 상기 해독된 데이터를 저장하는 단계는 :
상기 데이터 저장소에 저장된 입력 데이터와 상기 해독된 데이터 간에 충돌이 존재하는지 여부를 식별하는 단계; 및
상기 데이터 저장소에 저장된 입력 데이터 대신에 상기 해독된 데이터를 저장하는 단계;를 더 포함하는, 시스템.The method of claim 2,
Wherein storing the decrypted data in the data store comprises:
Identifying whether there is a conflict between input data stored in the data store and the decrypted data; And
And storing the decrypted data instead of the input data stored in the data repository.
상기 제1 암호화 키가 저장된 상기 제1 기기 프로파일과 연관된 제1 판독기 기기; 및
상기 제2 암호화 키가 저장된 상기 제2 기기 프로파일과 연관된 제2 판독기 기기;를 더 포함하며,
상기 제1 판독기 기기는 상기 제1 암호화 키를 사용하여 상기 기계 판독 가능한 식별자에서 상기 제1 데이터 부분에 액세스하도록 구성되며,
상기 제2 판독기 기기는 상기 제2 암호화 키를 사용하여 상기 기계 판독 가능한 식별자에서 상기 제2 데이터 부분에 액세스하도록 구성되는, 시스템.The method according to claim 1,
A first reader device associated with the first device profile in which the first encryption key is stored; And
And a second reader device associated with the second device profile in which the second encryption key is stored,
Wherein the first reader device is configured to access the first data portion in the machine readable identifier using the first encryption key,
And the second reader device is configured to access the second data portion in the machine readable identifier using the second encryption key.
상기 제1 판독기 기기는 제1 이미징 기기를 포함하며,
상기 제2 판독기 기기는 제2 이미징 기기를 포함하고,
상기 기계 판독 가능한 식별자는 상기 제1 이미징 기기 또는 상기 제2 이미징 기기에 의해 캡처되는, 시스템.The method of claim 4,
Wherein the first reader device comprises a first imaging device,
Wherein the second reader device comprises a second imaging device,
Wherein the machine readable identifier is captured by the first imaging device or the second imaging device.
상기 클라이언트 애플리케이션은 실행 시에 상기 클라이언트 기기로 하여금 상기 클라이언트 기기와 상이한 다른 클라이언트 기기에게 상기 기계 판독 가능한 식별자를 발송하는 단계를 수행하게 하는 프로그램 명령들을 더 포함하는, 시스템.The method according to claim 1,
Wherein the client application further comprises program instructions that, when executed, cause the client device to perform the step of sending the machine-readable identifier to another client device that is different than the client device.
상기 기계 판독 가능한 식별자는 상기 입력 데이터로부터 해독된 데이터를 사용하여 생성되는, 시스템.The method according to claim 1,
Wherein the machine readable identifier is generated using decrypted data from the input data.
상기 제1 기기 프로파일과 연관된 제1 암호화 키는 상기 클라이언트 기기에서 이루어진 제1 기기 프로파일의 선택에 응답하여, 네트워크를 통해 적어도 하나의 원격 컴퓨팅 기기로부터 상기 클라이언트 기기에 의해 수신되며,
상기 제2 기기 프로파일과 연관된 제2 암호화 키는 상기 클라이언트 기기에서 이루어진 제2 기기 프로파일의 선택에 응답하여, 네트워크를 통해 적어도 하나의 원격 컴퓨팅 기기로부터 상기 클라이언트 기기에 의해 수신되는, 시스템.The method according to claim 1,
Wherein the first encryption key associated with the first device profile is received by the client device from at least one remote computing device over the network in response to the selection of the first device profile made at the client device,
Wherein a second encryption key associated with the second device profile is received by the client device from at least one remote computing device over the network in response to the selection of a second device profile made at the client device.
상기 제1 암호화 키를 사용하여 상기 제1 데이터 부분을 암호화하고 상기 제2 암호화 키를 사용하여 상기 제2 데이터 부분을 암호화하는 단계는 :
상기 제1 데이터 부분과 연관된 제1 액세스 레벨을 식별하는 단계;
상기 제2 데이터 부분과 연관된 제2 액세스 레벨을 식별하는 단계;
상기 제1 액세스 레벨에 적어도 부분적으로 기초하여 상기 제1 암호화 키를 사용하여 상기 제1 데이터 부분을 암호화하는 단계; 및
상기 제2 액세스 레벨에 적어도 부분적으로 기초하여 상기 제2 암호화 키를 사용하여 상기 제2 데이터 부분을 암호화하는 단계;를 더 포함하며,
상기 제1 액세스 레벨은 상기 제2 액세스 레벨과 상이한, 시스템.The method according to claim 1,
Wherein encrypting the first data portion using the first encryption key and encrypting the second data portion using the second encryption key comprises:
Identifying a first access level associated with the first data portion;
Identifying a second access level associated with the second data portion;
Encrypting the first data portion using the first encryption key based at least in part on the first access level; And
Further comprising encrypting the second data portion using the second encryption key based at least in part on the second access level,
The first access level being different from the second access level.
상기 클라이언트 기기에서 실행 가능한 클라이언트 애플리케이션;을 포함하며,
상기 클라이언트 애플리케이션은 실행 시에 상기 클라이언트 기기로 하여금 :
상기 클라이언트 기기의 디스플레이에 렌더링하기 위해 적어도 하나의 암호화 키를 사용하여 암호화된 제1 양의 데이터를 사용하여 제1 기계 판독 가능한 식별자를 생성하는 단계로서, 상기 적어도 하나의 암호화 키가 저장된 판독기 기기는 상기 데이터를 해독하도록 구성되는, 단계;
상기 클라이언트 기기에 의해 캡처된 적어도 하나의 이미지에서 제2 기계 판독 가능한 식별자를 식별하는 단계;
상기 적어도 하나의 암호화 키를 사용하여 상기 판독기 기기에 의해 암호화된 제2 양의 데이터를 식별하기 위해 상기 제2 기계 판독 가능한 식별자를 디코딩하는 단계;
상기 적어도 하나의 암호화 키를 사용하여 상기 제2 양의 데이터를 해독하는 단계; 및
상기 제1 양의 데이터 및 상기 제2 양의 데이터 간에 충돌이 존재하는지 여부를 식별하는 단계;를 수행하게 하는 프로그램 명령들을 포함하는, 시스템.A client device comprising at least one hardware processor; And
And a client application executable on the client device,
Wherein the client application, upon execution, causes the client device to:
Generating a first machine-readable identifier using a first amount of data encrypted using at least one encryption key to render on a display of the client device, wherein the reader device having the at least one encryption key stored therein The data being configured to decrypt the data;
Identifying a second machine-readable identifier in at least one image captured by the client device;
Decoding the second machine readable identifier to identify a second amount of data encrypted by the reader device using the at least one encryption key;
Decrypting the second amount of data using the at least one encryption key; And
And identifying whether there is a conflict between the first amount of data and the second amount of data.
상기 클라이언트 애플리케이션은 실행 시에 상기 클라이언트 기기로 하여금 상기 제1 양의 데이터 및 상기 제2 양의 데이터 간에 존재하는 충돌에 응답하여, 상기 충돌을 해결하는 작업을 수행하는 단계를 수행하게 하는 프로그램 명령들을 더 포함하며,
상기 작업은 :
상기 충돌과 연관된 정보를 상기 클라이언트 애플리케이션의 사용자 인터페이스에 표시하는 것;
상기 사용자 인터페이스에서 상기 제1 양의 데이터 또는 상기 제2 양의 데이터의 선택을 수신하는 것; 및
상기 선택에 응답하여, 선택된 제1 양의 데이터 또는 선택된 제2 양의 데이터를 이용하여 상기 클라이언트 기기의 데이터 저장소를 업데이트하는 것; 중 적어도 하나를 포함하는, 시스템.The method of claim 10,
Wherein the client application comprises program instructions for causing the client device to perform a task of resolving the conflict in response to a conflict existing between the first amount of data and the second amount of data, Further,
The task is:
Displaying information associated with the conflict on a user interface of the client application;
Receiving a selection of the first amount of data or the second amount of data in the user interface; And
In response to the selection, updating the data store of the client device using the selected first amount of data or the selected second amount of data; ≪ / RTI >
상기 작업은 상기 제2 양의 데이터를 이용하여 상기 클라이언트 기기의 데이터 저장소를 업데이트하는 것을 더 포함하는, 시스템. The method of claim 11,
Wherein the operation further comprises updating the data store of the client device using the second amount of data.
상기 클라이언트 애플리케이션은 실행 시에 상기 클라이언트 기기로 하여금 상기 제2 양의 데이터의 적어도 일부분을 이용하여 상기 클라이언트 애플리케이션 내의 사용자 인터페이스의 적어도 하나의 필드를 채우는 단계를 수행하게 하는 프로그램 명령들을 더 포함하는, 시스템.The method of claim 10,
Wherein the client application further comprises program instructions that, when executed, cause the client device to perform the step of populating at least one field of the user interface in the client application using at least a portion of the second amount of data. .
적어도 하나의 암호화 키를 사용하여 암호화된 제1 양의 데이터는 수집 프로세스 동안 획득된 사용자 입력의 제1 부분 및 사용자 입력의 제2 부분을 더 포함하며,
상기 사용자 입력의 제1 부분은 상기 판독기 기기에 의해 액세스 가능한 제1 암호화 키를 사용하여 암호화되며,
상기 사용자 입력의 제2 부분은 상기 판독기 기기에 의해 액세스 가능하지 않은 제2 암호화 키를 사용하여 암호화되는, 시스템.The method of claim 10,
Wherein the first amount of data encrypted using at least one encryption key further comprises a first portion of user input obtained during the acquisition process and a second portion of user input,
Wherein a first portion of the user input is encrypted using a first encryption key accessible by the reader device,
Wherein the second portion of the user input is encrypted using a second encryption key that is not accessible by the reader device.
상기 클라이언트 애플리케이션은 실행 시에 상기 클라이언트 기기로 하여금 네트워크를 통해 원격 컴퓨팅 환경에서 실행하는 원격 애플리케이션으로부터 적어도 하나의 암호화 키를 수신하는 단계를 수행하게 하는 프로그램 명령들을 더 포함하는, 시스템.The method of claim 10,
Wherein the client application further comprises program instructions that, when executed, cause the client device to perform the step of receiving at least one encryption key from a remote application executing in a remote computing environment via the network.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020197033230A KR102336845B1 (en) | 2015-03-03 | 2016-03-02 | Access control for encrypted data in machine-readable identifiers |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562127404P | 2015-03-03 | 2015-03-03 | |
US62/127,404 | 2015-03-03 | ||
PCT/US2016/020388 WO2016141029A1 (en) | 2015-03-03 | 2016-03-02 | Access control for encrypted data in machine-readable identifiers |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020197033230A Division KR102336845B1 (en) | 2015-03-03 | 2016-03-02 | Access control for encrypted data in machine-readable identifiers |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20170110679A true KR20170110679A (en) | 2017-10-11 |
KR102045023B1 KR102045023B1 (en) | 2019-12-02 |
Family
ID=56848237
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020197033230A KR102336845B1 (en) | 2015-03-03 | 2016-03-02 | Access control for encrypted data in machine-readable identifiers |
KR1020177024701A KR102045023B1 (en) | 2015-03-03 | 2016-03-02 | Control access to encrypted data in machine readable identifiers |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020197033230A KR102336845B1 (en) | 2015-03-03 | 2016-03-02 | Access control for encrypted data in machine-readable identifiers |
Country Status (11)
Country | Link |
---|---|
US (6) | US10157339B2 (en) |
EP (2) | EP3266149B1 (en) |
JP (2) | JP6386680B2 (en) |
KR (2) | KR102336845B1 (en) |
CN (2) | CN112287389B (en) |
AU (2) | AU2016226334B2 (en) |
BR (1) | BR112017018890B1 (en) |
CA (1) | CA2978436C (en) |
ES (2) | ES2809698T3 (en) |
NZ (3) | NZ734791A (en) |
WO (1) | WO2016141029A1 (en) |
Families Citing this family (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10373409B2 (en) * | 2014-10-31 | 2019-08-06 | Intellicheck, Inc. | Identification scan in compliance with jurisdictional or other rules |
CN105654006B (en) * | 2014-11-13 | 2018-05-29 | 阿里巴巴集团控股有限公司 | A kind of Quick Response Code barcode scanning exchange method and device |
GB2535183B (en) * | 2015-02-11 | 2017-02-15 | Livedrive Internet Ltd | Methods and systems for virtual file storage and encryption |
US10387577B2 (en) * | 2015-03-03 | 2019-08-20 | WonderHealth, LLC | Secure data translation using machine-readable identifiers |
US10157339B2 (en) | 2015-03-03 | 2018-12-18 | WonderHealth, LLC | Access control for encrypted data in machine-readable identifiers |
US20200008051A1 (en) * | 2015-03-03 | 2020-01-02 | WonderHealth, LLC | Secure data translation using a low-energy wireless communication link |
US10380379B2 (en) * | 2015-03-03 | 2019-08-13 | WonderHealth, LLC | Selectively encrypting and displaying machine-readable identifiers in a device lock screen |
ES2615815B1 (en) * | 2015-06-08 | 2017-12-01 | Conectate Soluciones Y Aplicaciones, S.L.U. | Unified registration procedure and identification of blood donors |
US9942747B2 (en) | 2015-08-07 | 2018-04-10 | At&T Mobility Ii Llc | Dynamic utilization of services by a temporary device |
US10171537B2 (en) * | 2015-08-07 | 2019-01-01 | At&T Intellectual Property I, L.P. | Segregation of electronic personal health information |
US10091025B2 (en) * | 2016-03-31 | 2018-10-02 | Damaka, Inc. | System and method for enabling use of a single user identifier across incompatible networks for UCC functionality |
US20180075213A1 (en) * | 2016-09-12 | 2018-03-15 | National Health Coalition, Inc. | System for Processing in Real Time Healthcare Data Associated with Submission and Fulfillment of Prescription Drugs |
JP7474051B2 (en) * | 2016-09-23 | 2024-04-24 | ベクトン・ディキンソン・アンド・カンパニー | Encryption system for medical devices |
US10002273B1 (en) | 2016-10-08 | 2018-06-19 | Allscripts Software, Llc | Graphical user interface features for a mobile device coupled to a barcode scanner |
IT201600112287A1 (en) * | 2016-11-08 | 2018-05-08 | Manzo Gennaro | SYSTEM FOR THE PROTECTION OF CONSUMERS OF PRODUCTS OF SPECIFIC NATIONALITY AND PRODUCTION COMPANIES FROM FALSE |
US10896749B2 (en) * | 2017-01-27 | 2021-01-19 | Shire Human Genetic Therapies, Inc. | Drug monitoring tool |
US11043293B1 (en) * | 2017-12-07 | 2021-06-22 | Board Of Regents Of The University Of Nebraska | Healthcare provider interface for treatment option and authorization |
CN107945843B (en) * | 2017-12-20 | 2023-10-03 | 广州市宝比万像科技有限公司 | User information management method, device, system, storage medium and computer equipment |
KR102411604B1 (en) * | 2018-03-22 | 2022-06-21 | 삼성전자주식회사 | Access point and method for connecting communication with external device thereof |
CN108960385A (en) * | 2018-06-29 | 2018-12-07 | 苏州酷豆物联科技有限公司 | Two dimensional code generation and verification method and system based on the encryption of multiple code key |
US11055322B2 (en) * | 2018-07-30 | 2021-07-06 | Hewlett Packard Enterprise Development Lp | Comparison of a part key to machine keys |
JP7151779B2 (en) * | 2018-10-15 | 2022-10-12 | 日本電気株式会社 | Relief Information Providing System, Relief Information Providing Method, and Program |
KR102050823B1 (en) * | 2018-11-26 | 2019-12-03 | 주식회사 두빛나래소프트 | System, an apparatus and a method for transmitting and receiving information using quick response code |
US20200388380A1 (en) * | 2019-06-06 | 2020-12-10 | Ar Alliance Group, Inc. | System and method for communicating medical data |
CN110472200B (en) * | 2019-07-29 | 2023-10-27 | 深圳市中兴新云服务有限公司 | Form-based data processing method and device and electronic equipment |
AU2020356529A1 (en) * | 2019-09-25 | 2022-05-19 | Janssen Pharmaceuticals, Inc. | Interconnection of drug administration systems |
US11345313B2 (en) * | 2020-04-23 | 2022-05-31 | Ford Global Technologies, Llc | System for controlling operations of a vehicle using mobile devices and related methods thereof |
WO2022175499A1 (en) | 2021-02-18 | 2022-08-25 | Conectate Soluciones Y Aplicaciones S L | System and process for the global unified registration and universal identification of donors |
US20220378520A1 (en) * | 2021-05-28 | 2022-12-01 | Cilag Gmbh International | Adaptive control of operating room systems |
CN113935060B (en) * | 2021-12-17 | 2022-03-11 | 山东青揽电子有限公司 | Anti-collision confusion marking algorithm |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20020023987A (en) * | 2002-01-03 | 2002-03-29 | 이태경 | Feeding system of real toy and virtual character on internet using barcode reader, and the control method |
US20060088166A1 (en) * | 2004-10-22 | 2006-04-27 | Nec Corporation | Authentication method and method device, system, and program for delivering secret information between proximity terminals |
US20080149701A1 (en) * | 2006-12-22 | 2008-06-26 | Welch Allyn, Inc. | Dynamic barcode for displaying medical data |
US20130191640A1 (en) * | 2012-01-23 | 2013-07-25 | Jeffrey Mitchell Bloomer | Information system and method incorporating a portable digital media device |
US8690062B1 (en) * | 2011-11-10 | 2014-04-08 | Komel Qureshi | Storing events in an electronic calendar from a printed source |
Family Cites Families (119)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7302415B1 (en) * | 1994-09-30 | 2007-11-27 | Intarsia Llc | Data copyright management system |
US7124302B2 (en) * | 1995-02-13 | 2006-10-17 | Intertrust Technologies Corp. | Systems and methods for secure transaction management and electronic rights protection |
US6802005B1 (en) * | 1995-10-11 | 2004-10-05 | Pitney Bowes Inc. | Method and system for tracking a person's time at a location |
EP0936805A1 (en) * | 1998-02-12 | 1999-08-18 | Hewlett-Packard Company | Document transfer systems |
WO2000008595A1 (en) * | 1998-08-04 | 2000-02-17 | Fujitsu Limited | Signature system for presenting user signature information |
US6523116B1 (en) * | 1999-03-05 | 2003-02-18 | Eastman Kodak Company | Secure personal information card database system |
JP2000343784A (en) | 1999-06-04 | 2000-12-12 | Fujitsu Ltd | Printing reproducing method for two-dimensional code, printed matter, printing method and apparatus, and reproducing method and apparatus |
JP2001222483A (en) | 2000-02-09 | 2001-08-17 | Sony Corp | Method and system for transferring information |
CN1142653C (en) * | 2000-04-28 | 2004-03-17 | 杨宏伟 | Dynamic password authentication system and method |
AU2001260512A1 (en) * | 2000-06-05 | 2001-12-17 | Optaglio Limited | Product verification and authentication system and method |
KR20020041809A (en) | 2000-06-29 | 2002-06-03 | 요트.게.아. 롤페즈 | Multiple encryption of a single document providing multiple level access privileges |
US7587368B2 (en) * | 2000-07-06 | 2009-09-08 | David Paul Felsher | Information record infrastructure, system and method |
EP1320953A4 (en) | 2000-08-04 | 2006-10-25 | First Data Corp | Method and apparatus for access authentication entity |
WO2002042926A1 (en) | 2000-11-20 | 2002-05-30 | Ecrio Inc. | Method for downloading bar code encoded information with a mobile communication |
US7181015B2 (en) * | 2001-07-31 | 2007-02-20 | Mcafee, Inc. | Method and apparatus for cryptographic key establishment using an identity based symmetric keying technique |
JP2003242263A (en) | 2002-02-21 | 2003-08-29 | Matsushita Electric Ind Co Ltd | Medical information managing system using semiconductor recording medium |
US6854651B2 (en) | 2002-07-01 | 2005-02-15 | Wildseed Ltd. | Non-persistently displayed bar code based data input method and apparatus |
JP2004147006A (en) * | 2002-10-23 | 2004-05-20 | Sharp Corp | Information transmitting method and portable terminal |
JP2004186814A (en) | 2002-11-29 | 2004-07-02 | Fujitsu Ltd | Common key encryption communication system |
US20040111601A1 (en) * | 2002-12-06 | 2004-06-10 | Nokia Corporation | System and method for the exchange of cryptographic keys |
JP2004252753A (en) | 2003-02-20 | 2004-09-09 | Fujitsu Fip Corp | Medical support system, method, server, and program |
JP4145693B2 (en) * | 2003-03-28 | 2008-09-03 | 東邦瓦斯株式会社 | Use record collection system of supplies by infrastructure equipment |
EP1632091A4 (en) * | 2003-05-12 | 2006-07-26 | Gtech Corp | Method and system for authentication |
US7802109B2 (en) * | 2003-12-10 | 2010-09-21 | Hewlett-Packard Development Company, L.P. | Trusted system for file distribution |
US20050132194A1 (en) | 2003-12-12 | 2005-06-16 | Ward Jean R. | Protection of identification documents using open cryptography |
JP4000111B2 (en) * | 2003-12-19 | 2007-10-31 | 株式会社東芝 | Communication apparatus and communication method |
US20050188199A1 (en) * | 2004-02-20 | 2005-08-25 | Hoke Smith | Securing computer data |
JP4101225B2 (en) * | 2004-10-19 | 2008-06-18 | キヤノン株式会社 | Electronic apparatus, information processing apparatus, control method therefor, computer program, and computer-readable storage medium |
US7995758B1 (en) * | 2004-11-30 | 2011-08-09 | Adobe Systems Incorporated | Family of encryption keys |
US8002175B2 (en) * | 2004-12-31 | 2011-08-23 | Veritec, Inc. | System and method for utilizing a highly secure two-dimensional matrix code on a mobile communications display |
US7519825B2 (en) | 2005-01-17 | 2009-04-14 | House Of Development Llc | Electronic certification and authentication system |
JP2007034487A (en) * | 2005-07-25 | 2007-02-08 | Canon Inc | Information processor, its control method, and computer program |
US8438115B2 (en) * | 2005-09-23 | 2013-05-07 | Pitney Bowes Inc. | Method of securing postage data records in a postage printing device |
WO2007054133A1 (en) * | 2005-11-09 | 2007-05-18 | Nero Ag | Method and means for writing decryption information to a storage medium, storage medium, method and means for reading data from a storage medium, and computer program |
US20070102521A1 (en) * | 2005-11-10 | 2007-05-10 | Urban Petersson | Method and system for using barcoded contact information for compatible use with various software |
DE102006000930A1 (en) * | 2006-01-05 | 2007-07-12 | Infineon Technologies Ag | Memory device, memory devices, methods for moving data from a first memory device to a second memory device and computer program elements |
US20070204162A1 (en) * | 2006-02-24 | 2007-08-30 | Rodriguez Tony F | Safeguarding private information through digital watermarking |
US9525547B2 (en) * | 2006-03-31 | 2016-12-20 | Ricoh Company, Ltd. | Transmission of media keys |
US20090294539A1 (en) | 2006-04-07 | 2009-12-03 | Dong-Gyu Kim | System and Method for Authentication Using a Bar-Code |
US8266706B2 (en) * | 2007-01-26 | 2012-09-11 | Microsoft Corporation | Cryptographically controlling access to documents |
JP5278803B2 (en) * | 2007-01-26 | 2013-09-04 | 日本電気株式会社 | Authority management method, system thereof, and server device and information equipment terminal used in the system |
JP2008203914A (en) * | 2007-02-16 | 2008-09-04 | Nec Corp | Electronic medical record system, electronic medical record browsing method, and program |
JP4998065B2 (en) * | 2007-04-18 | 2012-08-15 | 沖電気工業株式会社 | Automatic transaction equipment |
KR101059302B1 (en) * | 2007-05-30 | 2011-08-24 | 후지쯔 가부시끼가이샤 | Image encrypting apparatus, image encrypting method, and recording medium |
US8085934B1 (en) * | 2007-07-11 | 2011-12-27 | Marvell International Ltd. | Reverse cryptographic key expansion |
US20090031139A1 (en) | 2007-07-27 | 2009-01-29 | Mohammed Alawi Geoffrey | System and Method for Electronic Certification and Authentification |
US8275123B2 (en) | 2007-08-17 | 2012-09-25 | Infineon Technologies, Ag | Integrated data transceiver and sensor for the generation of a symmetrical cryptographic key |
US8325927B2 (en) * | 2008-01-28 | 2012-12-04 | Seagate Technology Llc | Anchor point-based digital content protection with an escrow anchor point |
US20090193267A1 (en) * | 2008-01-28 | 2009-07-30 | Chiasen Chung | Secure electronic medical record storage on untrusted portal |
US8352870B2 (en) | 2008-04-28 | 2013-01-08 | Microsoft Corporation | Conflict resolution |
US8977572B2 (en) * | 2008-07-31 | 2015-03-10 | General Electric Company | Systems and methods for patient-controlled, encrypted, consolidated medical records |
JP5145179B2 (en) | 2008-09-16 | 2013-02-13 | 株式会社日立ソリューションズ | Identity verification system using optical reading code |
US8341430B2 (en) * | 2008-10-03 | 2012-12-25 | Microsoft Corporation | External encryption and recovery management with hardware encrypted storage devices |
US8214645B2 (en) * | 2009-04-08 | 2012-07-03 | Research In Motion Limited | Systems, devices, and methods for securely transmitting a security parameter to a computing device |
WO2010131415A1 (en) * | 2009-05-14 | 2010-11-18 | 日本電気株式会社 | Communication apparatus and secret information sharing method |
US7988037B2 (en) * | 2009-11-02 | 2011-08-02 | Research In Motion Limited | Device and method for contact information exchange |
JP2011215728A (en) * | 2010-03-31 | 2011-10-27 | Toshiba Corp | Document management system, assessment device, data output control device, document management method, and document management program |
US9703539B2 (en) * | 2010-10-29 | 2017-07-11 | Microsoft Technology Licensing, Llc | Viral application distribution |
US20120138679A1 (en) | 2010-12-01 | 2012-06-07 | Yodo Inc. | Secure two dimensional bar codes for authentication |
SG182012A1 (en) * | 2010-12-09 | 2012-07-30 | Jhingan Nikhil | System and method for verifying authenticity of documents |
US9094379B1 (en) * | 2010-12-29 | 2015-07-28 | Amazon Technologies, Inc. | Transparent client-side cryptography for network applications |
JP5839809B2 (en) | 2011-02-25 | 2016-01-06 | 株式会社マーベラス | Two-dimensional code encoding / decoding program, game device, and game system |
CN102156843B (en) * | 2011-03-28 | 2015-04-08 | 威盛电子股份有限公司 | Data encryption method and system as well as data decryption method |
US8819448B2 (en) * | 2011-04-29 | 2014-08-26 | Georgetown University | Method and system for managing information on mobile devices |
JP2013005293A (en) * | 2011-06-17 | 2013-01-07 | Toshiba Corp | Authentication component, authentication target component, and authentication method for the same |
US8494154B2 (en) * | 2011-06-20 | 2013-07-23 | Bae Systems Information And Electronic Systems Integration Inc. | Cryptographic ignition key system |
US9209978B2 (en) * | 2012-05-15 | 2015-12-08 | The Nielsen Company (Us), Llc | Methods and apparatus to measure exposure to streaming media |
US20130006865A1 (en) * | 2011-06-29 | 2013-01-03 | Mckesson Financial Holdings Limited | Systems, methods, apparatuses, and computer program products for providing network-accessible patient health records |
US8862889B2 (en) * | 2011-07-02 | 2014-10-14 | Eastcliff LLC | Protocol for controlling access to encryption keys |
US9367860B2 (en) * | 2011-08-05 | 2016-06-14 | Sean McKirdy | Barcode generation and implementation method and system for processing information |
US20130054271A1 (en) * | 2011-08-23 | 2013-02-28 | Jessica Joan Langford | Using quick response (qr) code to authenticate, access, and transfer electronic medical record information |
US8899478B2 (en) * | 2011-09-01 | 2014-12-02 | General Electric Company | System and method for medical data transfer |
US9111186B2 (en) | 2011-10-12 | 2015-08-18 | University Of Rochester | Color barcodes for mobile applications: a per channel framework |
US20130126619A1 (en) * | 2011-11-18 | 2013-05-23 | Unisys Corporation | Method and system for certifying contact information |
WO2013078427A1 (en) * | 2011-11-21 | 2013-05-30 | Rume, Inc. | Method and system for registering and scanning an id tag linked to information about a user |
US9213853B2 (en) | 2011-12-20 | 2015-12-15 | Nicolas LEOUTSARAKOS | Password-less login |
US8751794B2 (en) | 2011-12-28 | 2014-06-10 | Pitney Bowes Inc. | System and method for secure nework login |
US8602294B2 (en) | 2012-01-11 | 2013-12-10 | MedicStats, LLC | System, computer program and method for managing medical information |
JP5996872B2 (en) | 2012-01-11 | 2016-09-21 | 株式会社東海理化電機製作所 | Lending system |
JP2013175005A (en) | 2012-02-24 | 2013-09-05 | Denso Wave Inc | Information transmitting system |
WO2013130830A2 (en) | 2012-03-01 | 2013-09-06 | Minerva Holdings, LLC | Systems and methods for generating, managing, and sharing digital scripts |
US20130346302A1 (en) | 2012-06-20 | 2013-12-26 | Visa International Service Association | Remote Portal Bill Payment Platform Apparatuses, Methods and Systems |
US20140006051A1 (en) | 2012-06-27 | 2014-01-02 | Microsoft Corporation | Emergency medical profiles |
US8844821B2 (en) | 2012-07-24 | 2014-09-30 | Konica Minolta Laboratory U.S.A., Inc. | Multi-layer barcode for print on demand document management |
CN104704527A (en) * | 2012-08-15 | 2015-06-10 | 惠普发展公司,有限责任合伙企业 | Encrypted data store for records |
US20140059356A1 (en) * | 2012-08-24 | 2014-02-27 | Iron Mountain Incorporated | Technique for reconfigurable data storage media encryption |
US8881990B2 (en) | 2012-09-07 | 2014-11-11 | Endevr Llc | System and method for quickly obtaining medical information |
US10424031B2 (en) | 2012-09-27 | 2019-09-24 | Cerner Innovation, Inc. | Healthcare information operation session and data transfer system |
US20140122053A1 (en) * | 2012-10-25 | 2014-05-01 | Mirel Lotan | System and method for providing worldwide real-time personal medical information |
US20140142979A1 (en) | 2012-11-21 | 2014-05-22 | Tracy Mitsunaga | Medical Quick Response Codes and Information Storage and Retrieval System |
US9116841B2 (en) * | 2012-11-28 | 2015-08-25 | Infineon Technologies Ag | Methods and systems for securely transferring embedded code and/or data designed for a device to a customer |
US20140164016A1 (en) | 2012-12-10 | 2014-06-12 | At&T Mobility Ii Llc. | Method and apparatus for processing medical information |
US8887262B1 (en) * | 2013-03-15 | 2014-11-11 | Amplify Education, Inc. | Configuring a computing device |
CN103220293B (en) * | 2013-04-23 | 2016-05-11 | 福建伊时代信息科技股份有限公司 | A kind of document protection method and device |
JP2016529768A (en) * | 2013-06-28 | 2016-09-23 | コーニンクレッカ フィリップス エヌ ヴェKoninklijke Philips N.V. | System for managing access to medical data |
US20150019254A1 (en) | 2013-07-12 | 2015-01-15 | A. Christopher Ibikunle | Authentication and Access System for Personal Health Information and Methods of Using the Same |
US9953311B2 (en) * | 2013-09-25 | 2018-04-24 | Visa International Service Association | Systems and methods for incorporating QR codes |
TWM480732U (en) * | 2013-10-08 | 2014-06-21 | qi-hong Lin | Medicine event care system |
CN104598859B (en) * | 2013-10-30 | 2018-06-15 | 财团法人工业技术研究院 | Method, device and system for generating and authenticating color bar code |
EP3065088B1 (en) * | 2013-10-30 | 2021-03-24 | NISHIZAKI, Tsutao | 2d-code generation method, 2d-code generation device, 2d-code reading method, 2d-code reading device, 2d code, and program |
US20150186665A1 (en) | 2014-01-02 | 2015-07-02 | Toshiba Global Commerce Solutions Holdings Corporation | Systems and methods for the generation, display, and capture of a data set with a broadcast signature |
CN104144049B (en) * | 2014-03-11 | 2016-02-17 | 腾讯科技(深圳)有限公司 | A kind of encryption communication method, system and device |
CN104980928B (en) * | 2014-04-03 | 2018-12-07 | 华为终端(东莞)有限公司 | It is a kind of for establishing the method, equipment and system of secure connection |
US10177912B2 (en) * | 2014-05-09 | 2019-01-08 | Sony Corporation | Content individualization |
US10055601B1 (en) * | 2014-07-31 | 2018-08-21 | Larry Hamid | Method and system for securing data |
US9413754B2 (en) * | 2014-12-23 | 2016-08-09 | Airwatch Llc | Authenticator device facilitating file security |
US9369287B1 (en) * | 2015-01-27 | 2016-06-14 | Seyed Amin Ghorashi Sarvestani | System and method for applying a digital signature and authenticating physical documents |
US20200008051A1 (en) * | 2015-03-03 | 2020-01-02 | WonderHealth, LLC | Secure data translation using a low-energy wireless communication link |
US10157339B2 (en) * | 2015-03-03 | 2018-12-18 | WonderHealth, LLC | Access control for encrypted data in machine-readable identifiers |
US10387577B2 (en) * | 2015-03-03 | 2019-08-20 | WonderHealth, LLC | Secure data translation using machine-readable identifiers |
US10380379B2 (en) * | 2015-03-03 | 2019-08-13 | WonderHealth, LLC | Selectively encrypting and displaying machine-readable identifiers in a device lock screen |
US11444766B2 (en) * | 2015-07-06 | 2022-09-13 | Apple Inc. | Combined authorization process |
US10270597B2 (en) * | 2015-07-06 | 2019-04-23 | Apple Inc. | Combined authorization process |
US20170068785A1 (en) * | 2015-09-09 | 2017-03-09 | Humetrix.Com, Inc. | Secure real-time health record exchange |
US20170104593A1 (en) * | 2015-10-12 | 2017-04-13 | Safe Cash Payment Technologies, Inc. | Key storage methods |
US10121038B2 (en) * | 2017-03-14 | 2018-11-06 | Cubic Corporation | Dynamic barcode ticketing carrying encrypted validation transactions |
US10275611B1 (en) * | 2017-08-16 | 2019-04-30 | OverNest, Inc. | Methods and apparatus for sharing and searching encrypted data |
US10068099B1 (en) * | 2018-01-19 | 2018-09-04 | Griffin Group Global, LLC | System and method for providing a data structure having different-scheme-derived portions |
US10511443B1 (en) * | 2018-10-02 | 2019-12-17 | Capital One Services, Llc | Systems and methods for cryptographic authentication of contactless cards |
-
2016
- 2016-03-02 US US15/058,366 patent/US10157339B2/en active Active
- 2016-03-02 JP JP2017559319A patent/JP6386680B2/en active Active
- 2016-03-02 CA CA2978436A patent/CA2978436C/en active Active
- 2016-03-02 ES ES16759392T patent/ES2809698T3/en active Active
- 2016-03-02 ES ES20153629T patent/ES2967406T3/en active Active
- 2016-03-02 EP EP16759392.0A patent/EP3266149B1/en active Active
- 2016-03-02 BR BR112017018890-2A patent/BR112017018890B1/en active IP Right Grant
- 2016-03-02 AU AU2016226334A patent/AU2016226334B2/en active Active
- 2016-03-02 CN CN202011122541.3A patent/CN112287389B/en active Active
- 2016-03-02 WO PCT/US2016/020388 patent/WO2016141029A1/en active Application Filing
- 2016-03-02 KR KR1020197033230A patent/KR102336845B1/en active IP Right Grant
- 2016-03-02 EP EP20153629.9A patent/EP3661117B1/en active Active
- 2016-03-02 KR KR1020177024701A patent/KR102045023B1/en active IP Right Grant
- 2016-03-02 NZ NZ734791A patent/NZ734791A/en unknown
- 2016-03-02 US US15/058,483 patent/US9607256B2/en active Active
- 2016-03-02 NZ NZ746653A patent/NZ746653A/en unknown
- 2016-03-02 NZ NZ762158A patent/NZ762158A/en unknown
- 2016-03-02 CN CN201680013686.5A patent/CN107409042B/en active Active
-
2017
- 2017-04-19 US US15/490,975 patent/US10977532B2/en active Active
-
2018
- 2018-01-10 AU AU2018200199A patent/AU2018200199B2/en active Active
- 2018-08-08 JP JP2018149384A patent/JP7164991B2/en active Active
-
2021
- 2021-04-02 US US17/221,156 patent/US20210224624A1/en active Pending
- 2021-05-03 US US17/246,848 patent/US11301737B2/en active Active
-
2022
- 2022-03-09 US US17/690,289 patent/US11948029B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20020023987A (en) * | 2002-01-03 | 2002-03-29 | 이태경 | Feeding system of real toy and virtual character on internet using barcode reader, and the control method |
US20060088166A1 (en) * | 2004-10-22 | 2006-04-27 | Nec Corporation | Authentication method and method device, system, and program for delivering secret information between proximity terminals |
US20080149701A1 (en) * | 2006-12-22 | 2008-06-26 | Welch Allyn, Inc. | Dynamic barcode for displaying medical data |
US8690062B1 (en) * | 2011-11-10 | 2014-04-08 | Komel Qureshi | Storing events in an electronic calendar from a printed source |
US20130191640A1 (en) * | 2012-01-23 | 2013-07-25 | Jeffrey Mitchell Bloomer | Information system and method incorporating a portable digital media device |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11301737B2 (en) | Access control for encrypted data in machine-readable identifiers | |
US10387577B2 (en) | Secure data translation using machine-readable identifiers | |
US10380379B2 (en) | Selectively encrypting and displaying machine-readable identifiers in a device lock screen | |
US8909660B2 (en) | System and method for secured health record account registration | |
US20200008051A1 (en) | Secure data translation using a low-energy wireless communication link | |
WO2014204994A1 (en) | Management of medical information | |
US20240095443A1 (en) | Data input assistance system | |
Rakshana et al. | A Smart and User-Friendly Interface for Storing and Retrieving Personal Medical Records |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right |