IP Library Granted Patent US 10,860,528
Granted Patent B2
US 10,860,528 · App. 16/222,790 · Granted Dec 8, 2020

Data transformation and pipelining

Inventors: Jasmine Tsai (Jersey City, NJ); Chris Hartfield (Jersey City, NJ); George Leslie Waksman (Jersey City, NJ)
Assignee: Clover Health
G06F16/116G06F16/162
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,860,528
App. No.
16/222,790
Granted
Dec 8, 2020
Kind
B2
Abstract

Systems and methods for transforming and pipelining data are disclosed. For example, it may be desirable to parse out usable data and to transform the usable data found in files that may be received from different sources and that may be in different file types. Described herein are system and methods that provide functionality to allow for determining a file type of a file, parsing out usable data from the file, performing a series of transformations on the usable data, and generating a pipeline that includes the series of transformations. The pipeline may be monitored for error detection.

Claims (81)

1. A system comprising:

one or more processors; and

computer-readable media storing computer-executable instructions that, when executed by the one or more processors, cause the one or more processors to perform operations comprising:

generating multiple parsers, each of the multiple parsers associated with a file type of multiple file types;

receiving a file from a device associated with a healthcare provider, wherein the file includes healthcare information;

identifying a file type associated with the file, wherein the file type corresponds to at least one of a binary file-type, a CSV file, a plain-text document, an ACL document, an AMI document, an ANS document, a DBK document, a DOC document, a DOCX document, a DOT document, a DOTX document, an EPUB document, a GDOC document, an OMM document, a PAGES document, a PDF document, a RTF document, an XHTML document, an XML document, or an XPS document;

selecting a parser, from the multiple parsers, based at least in part on the file type;

generating, utilizing the parser, grouping data indicating groups of related information associated with the healthcare information;

identifying a first type of information from the groups of related information;

determining that the first type of information is associated with a second type of information that has been previously stored;

transforming the first type of information from a first format to a second format, wherein the second format includes at least one of merging the first type of information with a third type of information, filtering the first type of information, or de-duplicating the first type of information; and

storing the first type of information in the second format.

2. The system of claim 1 , the operations further comprising:

determining that the first type of information includes data associated with a first database; and

wherein storing the first type of information comprises storing the first type of information in association with the database.

3. The system of claim 1 , the operations further comprising:

transforming the first type of information from the second format to a third format; and

generating a table associated with the first type of information, the table indicating a record of transformations including transforming the first type of information from the second format to the third format.

4. The system of claim 3 , wherein the record indicates at least one of the file type, an author identifier of the file, a source identifier of the file, a date identifier for when the file was updated, a time identifier for when the file was updated, or a list of previous transformations associated with the first type of information.

5. The system of claim 4 , further comprising:

receiving a request to access the healthcare information corresponding to the first type of information; and

based at least in part on receiving the request, causing display of a representation of the healthcare information and the table.

6. The system of claim 5 , wherein the representation of the healthcare information and the table include at least one of:

an identification of a data pipeline that the first type of information was transmitted on;

an author of the first type of information;

an identification of an entity associated with transforming the first type of information; or

an identification of a type of the parser.

7. A method comprising:

receiving a file from a source;

identifying at least one of a file type or a file version associated with the file;

selecting a parser based at least in part on the at least one of the file type or the file version;

generating, utilizing the parser, grouping data indicating groups of related information associated with the file;

identifying a first type of information from the groups of related information;

determining that the first type of information is associated with a second type of information that has been previously stored;

transforming the first type of information from a first format to a second format; and

storing the first type of information in the second format.

8. The method of claim 7 , further comprising:

determining that the first type of information includes data associated with a first database; and

wherein storing the first type of information comprises storing the first type of information in association with the database.

9. The method of claim 8 , wherein the source comprises a first source and the database is associated with at least one of:

at least one of the first source or a second source;

an internal database; or

the parser.

10. The method of claim 9 , wherein the database is a first database and is associated with the internal database, the internal database including at least a second database that stores a third type of information.

11. The method of claim 10 , wherein the file includes a first file and at least one of:

the first type of information and the second type of information originated from the first file; or

the first type of information originated from the first file and the second type of information originated from a second file that is different than the first file.

12. The method of claim 7 , wherein identifying the at least one of the file type or the file version includes scanning the file and identifying information that indicates at least one of the file type or file version.

13. The method of claim 7 , wherein generating the grouping data includes:

determining a location in the file that includes relevant content based at least in part on at least one of the file type or the file version;

extracting the relevant content from the file; and

storing the relevant content in association with the parser to create the groups of related data.

14. The method of claim 7 , wherein transforming the first type of information from the first format to the second format includes at least one of:

merging the first type of information with a third type of information;

filtering the first type of information; or

de-duplicating the first type of information.

15. A system comprising:

one or more processors; and

computer-readable media storing computer-executable instructions that, when executed by the one or more processors, cause the one or more processors to perform operations comprising:

receiving a file from a source;

identifying a file type associated with the file;

selecting a parser based at least in part on the file type;

generating, utilizing the parser, grouping data indicating groups of related information associated with the file;

identifying a first type of information from the groups of related information;

determining that the first type of information is associated with a second type of information that has been previously stored;

determining that a portion of information corresponding to the first type of information contains an error; and

sending a notification to a computing device that the portion of information corresponding to the first type of information contains the error.

16. The system of claim 15 , wherein the notification includes at least one of:

an indication that an incorrect number of rows and/or columns is located in the file;

an indication that a value located in the file has not been updated over a threshold number of days;

an indication that a value located in the file is above or below an average value by a threshold amount;

an indication that a value located in the file is above or below a median value by a threshold amount;

an indication that a value located in the file is above or below a minimum value by a threshold amount;

an indication that a value located in the file is above or below a maximum value by a threshold amount; or

an indication that a value located in the file is zero.

17. The system of claim 15 , further comprising receiving monitoring settings wherein determining that the portion of information corresponding to the first type of information contains an error is based at least in part on the monitoring settings.

18. The system of claim 17 , wherein the monitoring settings include at least one of:

determining that the portion of information corresponding to the first type of information contains an error in response to a value located in the file being zero; or

determining that the portion of information corresponding to the first type of information contains an error in response to a value located in the file being above or below a percentage.

19. The system of claim 15 , wherein the second computing device includes a data monitoring service vendor.

20. The system of claim 15 , wherein the notification includes a first notification, the operations further comprising sending a second notification to the source that that the portion of information corresponding to the first type of information contains the error.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 14, 2026
From: CLOVER HEALTH
To: CLOVER HEALTH INVESTMENTS CORP.
Reel/Frame 073470/0354 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 17, 2018
From: TSAI, JASMINE; HARTFIELD, CHRIS; WAKSMAN, GEORGE LESLIE
To: CLOVER HEALTH
Reel/Frame 047799/0772 →
Continuity (1)
Related Publication 20200192862A1 · Jun 18, 2020