IP Library Granted Patent US 10,216,940
Granted Patent B2
US 10,216,940 · App. 14/671,031 · Granted Feb 26, 2019

Systems, methods, apparatuses, and computer program products for truncated, encrypted searching of encrypted identifiers

Inventor: Mike Zwinger (Savage, MN)
Assignee: CHANGE HEALTHCARE HOLDINGS, LLC
G06F21/602G06F19/00G06F21/6254G16H10/60G06Q2220/00
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,216,940
App. No.
14/671,031
Granted
Feb 26, 2019
Kind
B2
Abstract

Methods, apparatuses, and computer program products are provided for truncated, encrypted searching of encrypted identifiers. A method may include receiving patient information associated with a plurality of patients and including a patient identifier of a sequence of characters for each of the plurality of patients. Methods may further include: extracting a first subset of the sequence of characters from each of the patient identifiers; encrypting the first subset of the sequence of characters from each of the patient identifiers to form a first truncated encrypted identifier for each of the plurality of patients; encrypting each of the patient identifiers to create an encrypted patient identifier for each of the plurality of patients; and storing the first truncated encrypted identifiers and the encrypted patient identifiers for each of the plurality of patients.

Claims (67)

1. A secure patient information database system, the system comprising at least one processor, wherein the at least one processor is configured to cause the system to at least:

receive patient information associated with a plurality of patients and comprising a patient identifier for each of the plurality of patients, where the patient identifier comprises a sequence of characters;

extract a first subset of the sequence of characters comprising a first number of characters from each of the patient identifiers;

encrypt the first subset of the sequence of characters from each of the patient identifiers to form a first truncated encrypted identifier for each of the plurality of patients;

extract a second subset of the sequence of characters comprising a second number of characters from each of the patient identifiers, wherein the second subset comprises the first subset and at least one additional character;

encrypt the second subset of the sequence of characters from each of the patient identifiers to form a second truncated encrypted identifier for each of the plurality of patients;

encrypt each of the patient identifiers to create an encrypted patient identifier for each of the plurality of patients;

store, for each of the plurality of patients, the first truncated encrypted identifiers, the second truncated encrypted identifiers, and the encrypted patient identifiers;

receive a search request comprising a search string of one or more characters;

encrypt a number of characters of the search string equal to the first number of characters to create an encrypted search string in response to the search string comprising at least the first number of characters, but less than the second number of characters; and

encrypt a number of characters of the search string equal to the second number of characters to create an encrypted search string in response to the search string comprising at least the second number of characters.

2. The secure patient information database system of claim 1 , wherein the first subset of the sequence of characters comprises at least one but less than all of the characters of the respective patient identifier.

3. The secure patient information database system of claim 2 , wherein the processor is further configured to cause the system to:

extract a third subset of the sequence of characters comprising a third number of characters from each of the patient identifiers, wherein the third number of characters is greater than the second number of characters;

encrypt the third subset of the sequence of characters from each of the patient identifiers to form a third truncated encrypted identifier for each of the plurality of patients; and

store, for each of the plurality of patients, the third truncated encrypted identifier.

4. The secure patient information database system of claim 1 , wherein the processor is further configured to cause the system to:

compare the encrypted search string against the first truncated encrypted identifiers in response to the encrypted search string being encrypted from the first number of characters; and

compare the encrypted search string against the second truncated encrypted identifiers in response to the encrypted search string being encrypted from the second number of characters.

5. The secure patient information database system of claim 4 , wherein the processor is further configured to cause the system to:

decrypt only the encrypted patient identifiers for each of the plurality of patients for which the first or second truncated encrypted identifier matches the first or second encrypted search string.

6. The secure patient information database system of claim 5 , wherein the processor is further configured to cause the system to:

provide for presentation of the patient identifiers for each of the plurality of patients for which the first or second truncated encrypted identifier matches the first or second encrypted search string.

7. A method for providing network-accessible patient health records comprising:

receiving patient information associated with a plurality of patients and comprising a patient identifier for each of the plurality of patients, where the patient identifier comprises a sequence of characters;

extracting a first subset of the sequence of characters comprising a first number of characters from each of the patient identifiers;

encrypting the first subset of the sequence of characters from each of the patient identifiers to form a first truncated encrypted identifier for each of the plurality of patients;

extracting a second subset of the sequence of characters comprising a second number of characters from each of the patient identifiers, wherein the second subset comprises the first subset and at least one additional character;

encrypting the second subset of the sequence of characters from each of the patient identifiers to form a second truncated encrypted identifier for each of the plurality of patients;

encrypting each of the patient identifiers to create an encrypted patient identifier for each of the plurality of patients;

storing, for each of the plurality of patients, the first truncated encrypted identifiers, the second truncated encrypted identifiers, and the encrypted patient identifiers;

receiving a search request comprising a search string of one or more characters;

encrypting a number of characters of the search string equal to the first number of characters to create an encrypted search string in response to the search string comprising at least the first number of characters, but less than the second number of characters; and

encrypting a number of characters of the search string equal to the second number of characters to create an encrypted search string in response to the search string comprising at least the second number of characters.

8. The method for providing network-accessible patient health records of claim 7 , wherein the first subset of the sequence of characters comprises at least one but less than all of the characters of the respective patient identifier.

9. The method for providing network-accessible patient health records of claim 8 , further comprising:

extracting a third subset of the sequence of characters comprising a third number of characters from each of the patient identifiers, wherein the third number of characters is greater than the second number of characters;

encrypting the third subset of the sequence of characters from each of the patient identifiers to form a third truncated encrypted identifier for each of the plurality of patients; and

storing, for each of the plurality of patients, the third truncated encrypted identifiers.

10. The method for providing network-accessible patient health records of claim 7 , further comprising:

comparing the encrypted search string against the first truncated encrypted identifiers in response to the encrypted search string being encrypted from the first number of characters; and

comparing the encrypted search string against the second truncated encrypted identifiers in response to the encrypted search string being encrypted from the second number of characters.

11. The method for providing network-accessible patient health records of claim 10 , further comprising:

decrypting only the encrypted patient identifiers for each of the plurality of patients for which the first or second truncated encrypted identifier matches the first or second encrypted search string.

12. The method for providing network-accessible patient health records of claim 11 , further comprising:

providing for presentation of the patient identifiers for each of the plurality of patients for which the first or second truncated encrypted identifier matches the first or second encrypted search string.

13. A computer program product for providing network-accessible patient health records, the computer program product comprising at least one non-transitory computer-readable storage medium having computer-readable program code instructions stored therein, the computer-readable program code instructions comprising:

program code instructions for receiving patient information associated with a plurality of patients and comprising a patient identifier for each of the plurality of patients, where the patient identifier comprises a sequence of characters;

program code instructions for extracting a first subset of the sequence of characters comprising a first number of characters from each of the patient identifiers;

program code instructions for encrypting the first subset of the sequence of characters from each of the patient identifiers to form a first truncated encrypted identifier for each of the plurality of patients;

program code instructions for extracting a second subset of the sequence of characters comprising a second number of characters from each of the patient identifiers, wherein the second subset comprises the first subset and at least one additional character;

program code instructions for encrypting the second subset of the sequence of characters from each of the patient identifiers to form a second truncated encrypted identifier for each of the plurality of patients;

program code instructions for encrypting each of the patient identifiers to create an encrypted patient identifier for each of the plurality of patients;

program code instructions for storing, for each of the plurality of patients, the first truncated encrypted identifiers, the second truncated encrypted identifiers, and the encrypted patient identifiers;

program code instructions for receiving a search request comprising a search string of one or more characters;

program code instructions for encrypting a number of characters of the search string equal to the first number of characters to create an encrypted search string in response to the search string comprising at least the first number of characters, but less than the second number of characters; and

program code instructions for encrypting a number of characters of the search string equal to the second number of characters to create an encrypted search string in response to the search string comprising at least the second number of characters.

14. The computer program product of claim 13 , wherein the first subset of the sequence of characters comprises at least one but less than all of the characters of the respective patient identifier.

15. The computer program product of claim 14 , further comprising:

program code instructions for extracting a third subset of the sequence of characters comprising a third number of characters from each of the patient identifiers, wherein the third number of characters is greater than the second number of characters;

program code instructions for encrypting the third subset of the sequence of characters from each of the patient identifiers to form a third truncated encrypted identifier for each of the plurality of patients; and

program code instructions for storing, for each of the plurality of patients, the third truncated encrypted identifiers.

16. The computer program product of claim 13 , further comprising:

program code instructions for comparing the encrypted search string against the first truncated encrypted identifiers in response to the encrypted search string being encrypted from the first number of characters; and

program code instructions for comparing the encrypted search string against the second truncated encrypted identifiers in response to the encrypted search string being encrypted from the second number of characters.

17. The computer program product of claim 16 , further comprising:

program code instructions for decrypting only the encrypted patient identifiers for each of the plurality of patients for which the first or second truncated encrypted identifier matches the first or second encrypted search string.

Assignments (10)
RELEASE OF SECURITY INTEREST Recorded Oct 5, 2022
From: BANK OF AMERICA, N.A.
To: CHANGE HEALTHCARE RESOURCES, LLC (FORMERLY KNOWN AS ALTEGRA HEALTH OPERATING COMPANY LLC); CHANGE HEALTHCARE SOLUTIONS, LLC; CHANGE HEALTHCARE PERFORMANCE, INC. (FORMERLY KNOWN AS CHANGE HEALTHCARE, INC.); CHANGE HEALTHCARE OPERATIONS, LLC; CHANGE HEALTHCARE HOLDINGS, INC.; CHANGE HEALTHCARE TECHNOLOGIES, LLC (FORMERLY KNOWN AS MCKESSON TECHNOLOGIES LLC); CHANGE HEALTHCARE HOLDINGS, LLC
Reel/Frame 061620/0054 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 23, 2018
From: CHANGE HEALTHCARE LLC
To: CHANGE HEALTHCARE HOLDINGS, LLC
Reel/Frame 046449/0899 →
CHANGE OF ADDRESS Recorded Mar 23, 2017
From: CHANGE HEALTHCARE LLC
To: CHANGE HEALTHCARE LLC
Reel/Frame 042082/0061 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 10, 2017
From: PF2 IP LLC
To: CHANGE HEALTHCARE LLC
Reel/Frame 041966/0356 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 9, 2017
From: MCKESSON CORPORATION
To: PF2 IP LLC
Reel/Frame 041938/0501 →
SECURITY AGREEMENT Recorded Mar 2, 2017
From: CHANGE HEALTHCARE HOLDINGS, LLC; CHANGE HEALTHCARE, INC.; CHANGE HEALTHCARE HOLDINGS, INC.; CHANGE HEALTHCARE OPERATIONS, LLC; CHANGE HEALTHCARE SOLUTIONS, LLC; ALTEGRA HEALTH OPERATING COMPANY LLC; MCKESSON TECHNOLOGIES LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 041858/0482 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 12, 2017
From: MCKESSON FINANCIAL HOLDINGS UNLIMITED COMPANY
To: MCKESSON CORPORATION
Reel/Frame 041355/0408 →
CHANGE OF NAME Recorded Jan 11, 2017
From: MCKESSON FINANCIAL HOLDINGS
To: MCKESSON FINANCIAL HOLDINGS UNLIMITED COMPANY
Reel/Frame 041329/0879 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 30, 2015
From: MCKESSON CORPORATION
To: MCKESSON FINANCIAL HOLDINGS
Reel/Frame 036698/0080 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 27, 2015
From: ZWINGER, MIKE
To: MCKESSON CORPORATION
Reel/Frame 035274/0852 →
Continuity (1)
Related Publication 20160283661A1 · Sep 29, 2016