Methods and systems for compressed Fast Healthcare Interoperability Resource (FHIR) file similarity searching
A method ( 100 ) for generating a compressed Fast Healthcare Interoperability Resources (FHIR) file using a file compression system ( 200 ), comprising: (i) receiving ( 104 ) an uncompressed FHIR file; (ii) extracting ( 106 ), from the uncompressed file, a predetermined plurality of different resource types: (iii) generating ( 108 ), from the extracted predetermined plurality of different resource types, a fixed-length FHIR patient profile fingerprint, wherein the fixed-length FHIR patient profile fingerprint comprises a fixed-length floating point value feature vector, the fixed-length floating point value feature vector comprising a predetermined plurality of sub-feature vectors each representing a different extracted resource type, and wherein each sub-feature vector comprises a plurality of elements of the respective extracted resource type; (iv) compressing ( 110 ), using a trained compression algorithm, the generated fixed-length FHIR patient profile fingerprint to generate a compressed FHIR fingerprint; and (v) storing ( 112 ) the compressed FHIR fingerprint in a database.
1 . A computer-implemented method for generating a compressed Fast Healthcare Interoperability Resources (FHIR) file using a file compression system, comprising:
training a trained compression algorithm, comprising: (i) receiving a plurality of FHIR files; (ii) processing the received plurality of FHIR files; (iii) training the compression algorithm to generate a locality-sensitive hashing function; and (iv) storing the generated locality-sensitive hashing function;
receiving an uncompressed file, the uncompressed file configured as a FHIR file;
extracting, from the uncompressed file, a predetermined plurality of different resource types;
generating, from the extracted predetermined plurality of different resource types, a fixed-length FHIR patient profile fingerprint, wherein the fixed-length FHIR patient profile fingerprint comprises a fixed-length floating point value feature vector, the fixed-length floating point value feature vector comprising a predetermined plurality of sub-feature vectors each representing a different extracted resource type, and wherein each sub-feature vector comprises a plurality of elements of the respective extracted resource type;
compressing, using the trained compression algorithm, the generated fixed-length FHIR patient profile fingerprint to generate a compressed FHIR fingerprint; and
storing the compressed FHIR fingerprint in a database.
2 . The method of claim 1 , wherein the fixed-length floating point value feature vector comprises six sub-feature vectors.
3 . The method of claim 1 , wherein the compressed FHIR fingerprint comprises a fixed-length bit vector.
4 . The method of claim 3 , wherein the trained compression algorithm comprises an iterative quantization approach.
5 . The method of claim 4 , wherein the iterative quantization approach generates a locality-sensitive hashing function configured to generate the fixed-length bit vector from the generated fixed-length FHIR patient profile fingerprint.
6 . The method of claim 1 , wherein processing the received plurality of FHIR files comprises: (i) labeling one or more similarities between the received plurality of FHIR files; and/or (ii) altering one or more of the received plurality of FHIR files to generate an altered FHIR file.
7 . The method of claim 1 , further comprising the step of searching for similarity to one or more of the compressed FHIR fingerprints stored in the database.
8 . The method of claim 7 , further comprising the step of reporting a result of the step of searching for similarity to one or more of the compressed FHIR fingerprints stored in the database.
9 . A system for generating a compressed Fast Healthcare Interoperability Resources (FHIR) file, comprising:
an electronic medical record database comprising a plurality of uncompressed files, each of the uncompressed files configured as a FHIR file;
a locality-sensitive hashing function configured to generate a fixed-length bit vector from a generated fixed-length FHIR patient profile fingerprint; and
a processor configured to generate the locality-sensitive hashing function by: (i) receiving a plurality of FHIR files; (ii) processing the received plurality of FHIR files; (iii) training a compression algorithm to generate the locality-sensitive hashing function; and (iv) storing the generated locality-sensitive hashing function; the processor is further configured to: (i) extract, from each of the plurality of uncompressed files, a predetermined plurality of different resource types; (ii) generate, from the extracted predetermined plurality of different resource types, a fixed-length FHIR patient profile fingerprint, wherein the fixed-length FHIR patient profile fingerprint comprises a fixed-length floating point value feature vector, the fixed-length floating point value feature vector comprising a predetermined plurality of sub-feature vectors each representing a different extracted resource type, and wherein each sub-feature vector comprises a plurality of elements of the respective extracted resource type; (iii) compress, using the locality-sensitive hashing function, the generated fixed-length FHIR patient profile fingerprint to generate a compressed FHIR fingerprint; and (iv) store the compressed FHIR fingerprint in a database.
10 . The system of claim 9 , wherein the compressed FHIR fingerprint comprises a fixed-length bit vector.
11 . The system of claim 9 , wherein processing the received plurality of FHIR files comprises: (i) labeling one or more similarities between the received plurality of FHIR files; and/or (ii) altering one or more of the received plurality of FHIR files to generate an altered FHIR file.
12 . The system of claim 9 , wherein the processor is further configured to search for similarity to one or more of the compressed FHIR fingerprints stored in the database.
13 . The system of claim 12 , wherein the system further comprises a user interface, and the processor is further configured to report, via the user interface, a result of searching for similarity to one or more of the compressed FHIR fingerprints stored in the database.