Over the past few months members of my team have been engaged in implementing an interesting workflow product from a company called K2 that specializes in business process applications.
Our initial goal was deceptively simple; instead of manually inspecting pages of records to check that each belongs to the correct patient, we needed to build a solution that does that semi–automatically.
Nothing to it, right?
There are some complicating factors, the first of which is that we process approximately 1 million pages of medical records every month, and we need to do this in near real-time so that we can meet our 2.6 day average turnaround time. We also need to do this with documents that are representative of the real world of medical records today. Yes, we can handle electronic formats, but often these are faxed to us. This causes a loss of fidelity that is difficult to recover, even when using high-end optical character recognition.
To solve this problem of data loss we make use of an extensive medical dictionary and a sophisticated spell correction algorithm. This helps us with records that have been blurred or contain speckling, but does little for us in the case when somebody inserts a Chinese menu into the middle of a patient record. In such cases a robust quality assurance algorithm is required to ensure that a given patients data is not co-mingled with other patients, and thus does not contain extraneous information.
The K2 engine has allowed us to create an electronic version of this quality assurance algorithm whereby each page is checked for patient identifiers automatically, and pages that do not meet the quality threshold are reported and presented for manual inspection. The algorithm for doing this involves a large library of regular expressions together with a custom-built tokenizer. The K2 engine manages the flow of documents into a compute farm where the quality assurance algorithm is run, and then presents the results to the end user for adjudication.
This new solution greatly simplifies the patient identifier QA process by allowing us to look at only the pages where the patient identifiers cannot be found. In the event of false positives, the operator can override the algorithm. When true positives are found we call the providing facility and ask for a new copy of the record which will be run through the entire process again.
The initial results are promising, and it is our hope that this solution will allow us to scale our already robust quality assurance algorithm as we continue to grow.