DETAILED ACTION
Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Claims 1-21 are pending in this application.
Response to Amendment
This Office Action is in response to applicant’s communication filed on March 10th, 2026. The applicant’s remark and amendments to the claims were considered with the results that follow.
In response to the last Office Action, claims 1, 5-8, 12, and 16-20 have been amended. Claim 21 has been added. As a result, claims 1-21 are pending in this application.
Applicant’s argument filed on March 10th, 2026, with respect to claims 1-20 as being directed to being abstract idea have overcome the rejection. The rejection have been withdrawn due to the arguments filed on March 10th, 2026.
Response to Arguments
Applicant’s argument with respect to 35 U.S.C 101 rejection have been considered and the rejection has been withdrawn.
Applicant’s arguments with respect to claims 1, 12, and 20 have been considered but are moot because the new ground of rejection does not rely on any reference applied in the prior rejection of record for any teaching or matter specifically challenged in the argument.
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claims 1, 6, 12, 17, and 20-21 are rejected under 35 U.S.C. 103 as being unpatentable over US Patent 10,891,352 issued to Hane et al. (hereinafter as "Hane") in view of U.S Patent 11,797,775 issued to Vinicombe et al. (hereinafter as “Vinicombe”) in further view of U.S Patent Application Publication 2005/0071194 issued to Bormann (hereinafter as “Bormann”).
Regarding claim 1, Hane teaches one or more non-transitory computer readable media comprising instructions which, when executed by one or more hardware processors (Hane: Col 10, lines 14-24; A computer program product may include a non – transitory computer - readable storage medium storing applications , programs , program modules , scripts , source code , program code , object code , byte code , compiled code , interpreted code , machine code , executable instructions , and / or the like ( also referred to herein as executable instructions , instructions for execution , computer program products , program code , and / or similar terms used herein inter-changeably ) . Such non - transitory computer - readable storage media include all computer - readable media (including vola-tile and non - volatile media)), cause performance of operations comprising: accessing, a first data repository, a plurality of standard codes, each standard code being mapped to a corresponding set of attributes, each set of attributes associated with at least one allergy event (Hane: Col 11, lines 45-51; Medical information/data (and similar words used herein interchangeably) is often encoded using medical codes. For example, procedure codes, diagnostic codes, prescription or drug codes, equipment codes, revenue codes, place of service codes, and/or the like may be used to encode various portions of an instance of medical information/data. Col 12, lines 50-62; Starting at block 402, a plurality of instances of medical information/data is accessed. For example, the computing entity 200 may access a plurality of instances of medical information/data. In an example embodiment, the plurality of instances of medical information/data (or at least a portion thereof) are stored in a database or other data store by the computing entity 200. In an example embodiment, the plurality of instances of medical information/data (or at least a portion thereof) are accessed by providing a request for medical information/data to another computing entity 200 (e.g., via the communication interface 220) or data store and receiving the instances of medical information/data (e.g., via the communication interface 220) in response to the request. Col 13, lines 7-16; In an example embodiment, an instance of medical information/data corresponds to a particular patient visit, a day in hospital, or collection of visits/days in a week/month or other time range…one or more medical codes corresponding to a diagnosis, procedure, prescription or drug, equipment and/or the like corresponding to the particular patient visit);
generating, by a vector generator, a plurality of vector embeddings corresponding respectively to the plurality of standard codes (Hane: Col 1, lines 41-44; The medical sentences are then used to train a medical embedding model. For example, the medical embedding model may be trained using machine learning and a training data set comprising at least some of the medical sentences. The medical embedding model may then generate an embedding vector dictionary that links one or more medical codes of a medical code set to a multi-dimensional vector. Col 4, lines 40-41; The medical embedding model may in turn be used to generate the embedding vector dictionary. Col 15, lines 65-67; Continuing with FIG. 4A, at block 408, an embedding vector dictionary is generated. For example, the computing entity 200 may use the medical embedding model to generate an embedding vector dictionary. The embedding vector dictionary may be stored in memory 210, 215. In an example embodiment, the embedding vector dictionary comprises a set of medical codes and the corresponding, linked, and/or assigned multi-dimensional vectors), wherein generating the plurality of vector embeddings comprises:
applying a first vector embedding function, implemented as a first trained machine learning model, to text of a first set of attributes associated with a first standard code of the plurality of standard codes for a first patient allergy event, to generate a first vector embedding (Hane: Col 1, lines 41-44; The medical sentences are then used to train a medical embedding model. For example, the medical embedding model may be trained using machine learning and a training data set comprising at least some of the medical sentences. The medical embedding model may then generate an embedding vector dictionary that links one or more medical codes of a medical code set to a multi-dimensional vector. Col 2, lines 12-13; Each multi-dimensional vector corresponds to a medical code. Col 4, lines 34-41; In various embodiments, aggregate vectors are generated based on an embedding vector dictionary. In an example embodiment, the embedding vector dictionary provides a multi-dimensional vector corresponding to each of one or more medical codes (e.g., procedure codes, diagnosis codes, prescription or drug codes, equipment codes, revenue codes, place of service codes, and/or the like). In an example embodiment, the embedding vector dictionary is generated by accessing medical information/data, generating medical sentences comprising and/or consisting of medical codes based on the medical information/data, and training a medical embedding model using machine learning and a training data set comprising at least some of the medical sentences. The medical embedding model may in turn be used to generate the embedding vector dictionary);
storing, the plurality of vector embeddings in a second data repository in association with the plurality of standard codes (Hane: Col 7, lines 1-20; FIG. 2 provides a schematic of a computing entity 200 according to one embodiment of the present invention. In general, the terms computing entity, entity, device, system, and/or similar words used herein interchangeably may refer to, for example, one or more computers, computing entities, desktop computers, mobile phones, tablets, phablets, notebooks, laptops, distributed systems…to perform the functions, operations, and/or processes described herein. Such functions, operations, and/or processes may include, for example, transmitting, receiving, operating on, processing, displaying, storing, determining, creating/generating, monitoring, evaluating, comparing, and/or similar terms used herein interchangeably. Col 11, lines 12-14; As will be recognized, the non-volatile storage or memory media may store databases, database instances, database management system entities, data, applications, programs, program modules, scripts, source code, object code, byte code, compiled code, interpreted code, machine code, executable instructions, and/or the like. Col 16, lines 1-12; The embedding vector dictionary may be stored in memory 210 , 215. In an example embodiment , the embedding vector dictionary comprises a set of medical codes and the corresponding , linked , and / or assigned multi - dimensional vectors. For example, the embedding vector dictionary may indicate the multi-dimensional vector corresponding, linked, and/or assigned to each medical code of a plurality of medical codes. The multi-dimensional vectors assigned, linked, and/or corresponding to each of the medical codes may encode the relationships and/or strength of the relationships between pairs and/or groups of medical codes);
accessing, the plurality of vector embeddings from the second data repository (Hane: Col 7, lines 1-20; FIG. 2 provides a schematic of a computing entity 200 according to one embodiment of the present invention. In general, the terms computing entity, entity, device, system, and/or similar words used herein interchangeably may refer to, for example, one or more computers, computing entities, desktop computers, mobile phones, tablets, phablets, notebooks, laptops, distributed systems…to perform the functions, operations, and/or processes described herein. Such functions, operations, and/or processes may include, for example, transmitting, receiving, operating on, processing, displaying, storing, determining, creating/generating, monitoring, evaluating, comparing, and/or similar terms used herein interchangeably. Col 11, lines 12-14; As will be recognized, the non-volatile storage or memory media may store databases, database instances, database management system entities, data, applications, programs, program modules, scripts, source code, object code, byte code, compiled code, interpreted code, machine code, executable instructions, and/or the like. Col 16, lines 63-66; At block 410, an embedding vector dictionary may be accessed. For example, the computing entity 200 may access an embedding vector dictionary. In various embodiments, the embedding vector dictionary is generated as described above with respect to FIG. 4A and then stored in memory 210, 215);
computing, by a similarity score calculator, a similarity measure for the target vector embedding and each of the plurality of vector embeddings to generate a plurality of similarity measures, the plurality of similarity measures comprise: a first similarity measure for the target vector embedding and the first vector embedding (Hane: Col 4, lines 8-10; For example, the distance between two aggregate vectors may provide a similarity metric indicating how similar or how different the corresponding two subjects are. Col 18, lines 21-26; For example, the computing entity 200 may identify a predetermined, predefined, and/or configurable number of one or more closest aggregate vectors, which are the predetermined, predefined, and/or configurable number of aggregate vectors that have the smallest distances to an investigation aggregate vector. Col 18, lines 35-44; The aggregate vectors closest to and/or having the smallest distance to the investigation aggregate vector correspond to subjects that are most similar to the investigation subject corresponding to the investigation aggregate vector), wherein
computing the similarity measure comprises computing the similarity measure in a high- dimensional embedding space (Hane: Col 15, lines 9-18; In an example embodiment, the number of dimensions of the multi-dimensional space is in the inclusive range of 50 to 100 dimensions. In an example embodiment, the number of dimensions of the multi-dimensional space is in the inclusive range of 10 to 1000 dimensions. In various embodiments, the dimensions themselves do not have semantic meaning. Rather, the distances or angles between the multi-dimensional vectors within the multi-dimensional space provide semantic meaning to the model. Col 16, lines 54-59; In various embodiments, the distance within the multi-dimensional space may be Euclidean distance, cosine distance, and/or other distance measure within the multi-dimensional space. For example, in an example embodiment the distance between the multi-dimensional space is an angle or value indicative of an angle (e.g., cosine distance));
based at least on the first similarity measure (Hane: Col 4, lines 8-14; For example, the distance between two aggregate vectors may provide a similarity metric indicating how similar or how different the corresponding two subjects are. In another example, the angle between two aggregate vectors may provide a similarity metric indicating how similar or how different the corresponding two subjects are. Col 16, lines 53-59; In various embodiments, the distance within the multi-dimensional space may be Euclidean distance, cosine distance, and/or other distance measure within the multi-dimensional space. For example, in an example embodiment the distance between the multi-dimensional space is an angle or value indicative of an angle (e.g., cosine distance)), mapping the first standard code as a candidate standard code for mapping to the target unmapped allergy code to generate a mapping of the target unmapped allergy code to the first standard code (Hane: Col 17, lines 64-67; an aggregate vector by aggregating the multi-dimensional vectors corresponding to the medical codes of the one or more instances of medical information/data, as indicated by the embedding vector dictionary. Col 18, lines 21-26; For example, the computing entity 200 may identify a predetermined, predefined, and/or configurable number of one or more closest aggregate vectors, which are the predetermined, predefined, and/or configurable number of aggregate vectors that have the smallest distances to an investigation aggregate vector. Col 18, lines 45-51; At block 416, an output is provided. For example, the computing entity 200 may provide an output identifying the investigation subject, the investigation aggregate vector, one or more identified similar or different aggregate vectors, one or more similar or different subjects corresponding to the one or more identified similar or different aggregate vectors, a distance measure between the investigation aggregate vector and one or more other aggregate vectors, and/or the like);
Hane does not explicitly teach accessing, a first set of patient allergy data of a first patient from one or more sources, wherein the first set of patient allergy data comprises a target unmapped allergy code corresponding to a target allergy event, the target unmapped allergy code comprises allergy free text; applying a second vector embedding function, implemented as a second trained machine learning model, to the allergy free text of the target unmapped allergy code to generate a target vector embedding for the target unmapped allergy code;
However, Vinicombe teaches accessing, a first set of patient allergy data of a first patient from one or more sources, wherein the first set of patient allergy data comprises a target unmapped allergy code corresponding to a target allergy event, the target unmapped allergy code comprises allergy free text (Vinicombe: Col 2, lines 54-56; As indicated above, the values of an embedding vector serve to project the input data into a multi-dimensional space, as defined by the embedding vector generator. Col 3, lines 63-67; Beginning at block 202, an unmapped item is received. By way of definition, an unmapped item is a content item for which an embedding vector is not available from an embedding vector generator. As mentioned above, there may be various reasons that there is no embedding vector for the unmapped, target item, including but not limited to various limitations of a publicly available embedding vector generator of the target item’s type. Col 4, lines 6-12; At block 204, a document corpus is accessed. According to aspects of the disclosed subject matter, the document corpus includes content collections, or “documents,” where these documents will often (though not exclusively) include mixed content types, including items of an item type that may or may not be processed by an embedding vector generator {Examiner correlates the accessing the first set of patient allergy data from the source based on the document corpus being accessed. The items not be processed which comprises unmapped items});
applying a second vector embedding function, implemented as a second trained machine learning model, to the allergy free text of the target unmapped allergy code to generate a target vector embedding for the target unmapped allergy code (Vinicombe: Col 3, lines 10-16; While generating embedding vectors for content items of the same type enables the use of automated comparisons (in the multi-dimensional space) to determine the relative similarity between two content items, there are times that an embedding vector for a content item is not available. Col 4, lines 40-49; At block 218, the averaged embedding vectors for the various identified documents are, themselves, averaged. As above, this averaging typically involves averaging the values of the elements across the embedding vectors. The result of this averaging is an averaged embedding vector for all identified documents that includes the unmapped content item. At block 220, this averaged embedding vector for all identified documents is associated with the unmapped item as its inferred or approximate embedding vector. Thereafter, routine 200 terminates);
It would have been obvious to a person of ordinary skill in the art, before the effective filing date of the invention, to modify Hane (teaches accessing, a first data repository, a plurality of standard codes, each standard code being mapped to a corresponding set of attributes, each set of attributes associated with at least one allergy event; generating, by a vector generator, a plurality of vector embeddings corresponding respectively to the plurality of standard codes, wherein generating the plurality of vector embeddings comprises: applying a first vector embedding function, implemented as a first trained machine learning model, to text of a first set of attributes associated with a first standard code of the plurality of standard codes for a first patient allergy event, to generate a first vector embedding; storing, the plurality of vector embeddings in a second data repository in association with the plurality of standard codes; accessing, the plurality of vector embeddings from the second data repository; computing, by a similarity score calculator, a similarity measure for the target vector embedding and each of the plurality of vector embeddings to generate a plurality of similarity measures, the plurality of similarity measures comprise: a first similarity measure for the target vector embedding and the first vector embedding, wherein computing the similarity measure comprises computing the similarity measure in a high- dimensional embedding space; presenting mapping the first standard code as a candidate standard code for mapping to the target unmapped allergy code to generate a mapping of the target unmapped allergy code to the first standard code) with the teachings of Vinicombe (teaches accessing, a first set of patient allergy data of a first patient from one or more sources, wherein the first set of patient allergy data comprises a target unmapped allergy code corresponding to a target allergy event, the target unmapped allergy code comprises allergy free text; applying a second vector embedding function, implemented as a second trained machine learning model, to the allergy free text of the target unmapped allergy code to generate a target vector embedding for the target unmapped allergy code). One of ordinary skill in the art would have been motivated to make such a combination of providing better results in determining which TF/IDF measure meets or exceed the predetermined threshold of the content item in the given document (See Vinicombe: Col 4, lines 59-66). In addition, the references (Hane and Vinicombe) teach features that are directed to analogous art and they are directed to the same field of endeavor as Hane and Vinicombe directed to processing textual data to purposely match in mapping information.
The modification of Hane and Vinicombe teaches claimed invention substantially as claimed, however the modification of Hane and Vinicombe does not explicitly teach by a synchronization engine and storing the mapping of the target unmapped allergy code to the first standard code in a third data repository; detecting, by the synchronization engine, a trigger for initiating a synchronization process for synchronizing patient allergy events for a second patient from a plurality of disparate data sources; retrieving, by the synchronization engine, a record for a second patient, the record comprising a second set of patient allergy data of the second patient; determining, by the synchronization engine, that the second set of patient allergy data of the second patient comprises the target unmapped allergy code; retrieving, by the synchronization engine from the third data repository, the mapping of the target unmapped allergy code to the first standard code; and associating the record with the first standard code;
However, Bormann teaches by a synchronization engine (Bormann: [0064]; The group of incoming processing components 104 includes a communication agent 110 to provide reliable transport for synchronizing a patient record and a version skew agent 112 which is used to identify and handle the need to distribute record changes to multiple versions. The group of incoming processing components 104 may also include a conflict detection agent 114, a conflict resolution agent 116, and a data mapping agent 120),
storing the mapping of the target unmapped allergy code to the first standard code in a third data repository (Bormann: [0033]-[0034]; For example, the servers 30 and 32 may periodically receive data from each of the deployments 20-24 indicative of information pertaining to a patient. The production servers 30 may be referred to as a production data repository, or as an instance of a data repository. [0040]; Each deployment 20, 22, 24, may maintain its own static and dynamic records. For example, the same specific medical order may have one local identification number (ID) at one deployment, and a different local ID at another deployment. Such deployments must agree to use a data mapping technique to resolve. [0064]; The group of incoming processing components 104 includes a communication agent 110 to provide reliable transport for synchronizing a patient record and a version skew agent 112 which is used to identify and handle the need to distribute record changes to multiple versions. The group of incoming processing components 104 may also include a conflict detection agent 114, a conflict resolution agent 116, and a data mapping agent 120. The data mapping agent 120 converts deployment specific data values from a normalized form when needed. EMPI and EMFI 40 communicate the normalized form to the data mapping agent 120 at the deployments. [0095]; The exemplary patient record of FIG. 10 is made up of: Store-Once patient specific data groups 332, patient record events 334, and Event Data groups. Examples of Store-Once data groups are: demographics, allergies, problem list 342. [0134]; When the patient record is synchronized, the data pointer in the record 382 from the home deployment (block 20) points to the provider record 231 on the home deployment (block 383). This provider record may also contain a CID that the receiving deployment A (block 22) may use to “map” the record to local provider record 1902 (block 285) thus resolving the patient record pointer (block 386.) [0136]; For every record, each deployment keeps a table of IDs for that record in other deployments. That table is sent as a part of the synchronization message, and the pointer is resolved during the filing process {Examiner correlates the target unmapped code based on the deployment have different ID in which the deployments agree to resolve by mapping to resolve in such the receiving deployment map the record as part of the synchronization message});
detecting, by the synchronization engine, a trigger for initiating a synchronization process for synchronizing patient allergy events for a second patient from a plurality of disparate data sources (Bormann: [0065]; The group of outgoing processing components 106 may include a triggering agent 122, a data mapping agent 120A, a version skew agent 112A and a communication agent 110A. The triggering agent 122 is the sub-system which detects changes and user actions, which need to be communicated to the Community. [0172]; Triggers are incidents of data modification that cause data updates to be sent to the Community. When a trigger occurs, the system identifies what, if anything, has changed in the patient record, modifies generations and the update history as needed…causing an update to be sent, as long as there are subscribed deployments for the record);
retrieving, by the synchronization engine, a record for a second patient, the record comprising a second set of patient allergy data of the second patient (Bormann:[0033]; The servers 30 and 32 may be used to accumulate, analyze, and download data relating to a healthcare facility's medical records. For example, the servers 30 and 32 may periodically receive data from each of the deployments 20-24 indicative of information pertaining to a patient. [0064]; The group of incoming processing components 104 includes a communication agent 110 to provide reliable transport for synchronizing a patient record and a version skew agent 112 which is used to identify and handle the need to distribute record changes to multiple versions. The group of incoming processing components 104 may also include a conflict detection agent 114, a conflict resolution agent 116, and a data mapping agent 120. [0068]; A patient record pull may be requested when a deployment accesses a patient record not homed in that deployment. A summary of the patient record is first sent to the remote deployment while the full patient record is retrieved from the home deployment. At the time that the remote deployment requests the patient record from the home deployment, they are also subscribed to the patient record. This means that they may begin receiving all the updates, near real time.[0089]; As described above, the remote deployment requests the up-to-date patient record from the patient's home deployment by sending a Get Record message (block 172) to the home deployment. [0092]; Once it confirms that the patient is homed at the deployment, the system then compares the records and sends any new information for that patient record at the home deployment to the remote deployment in a Send Record message);
determining, by the synchronization engine, that the second set of patient allergy data of the second patient comprises the target unmapped allergy code (Bormann: [0040]; Each deployment 20, 22, 24, may maintain its own static and dynamic records. For example, the same specific medical order may have one local identification number (ID) at one deployment, and a different local ID at another deployment. Such deployments must agree to use a data mapping technique to resolve foreign keys contained within a patient record that arrives from another deployment.[0064]; The group of incoming processing components 104 may also include a conflict detection agent 114, a conflict resolution agent 116, and a data mapping agent 120. The data mapping agent 120 converts deployment specific data values from a normalized form when needed. When the patient record is synchronized, the data pointer in the record 382 from the home deployment (block 20) points to the provider record 231 on the home deployment (block 383). [0095]; Examples of Store-Once data groups are: demographics, allergies, problem list 342, and patient preferences. [0098]; In order to track changes to a patient record, search for changes within a patient record, and compare the same patient record across deployments, both the patient record itself and its individual groups and events are marked with generation levels when they are modified. [0125]; When a patient record is synchronized to another deployment, there are various data elements in the patient record—typically pointers to other records or selection list values—which simply cannot be resolved in the receiving deployment, or have pointer values that need to be translated for use at the receiving deployment.[0211]; Groups of data contained within a patient record received by a deployment are compared to all existing information for that patient to determine if any of the incoming information is older than the existing information {Examiner correlates that patient record is unmapped due to being having different ID in such needs to be resolved to be updated and then filled to the other deployment});
retrieving, by the synchronization engine from the third data repository, the mapping of the target unmapped allergy code to the first standard code (Bormann: [0033]-[0034]; For example, the servers 30 and 32 may periodically receive data from each of the deployments 20-24 indicative of information pertaining to a patient. The production servers 30 may be referred to as a production data repository, or as an instance of a data repository. [0040]; Each deployment 20, 22, 24, may maintain its own static and dynamic records. For example, the same specific medical order may have one local identification number (ID) at one deployment, and a different local ID at another deployment. Such deployments must agree to use a data mapping technique to resolve. [0064]; The group of incoming processing components 104 may also include a conflict detection agent 114, a conflict resolution agent 116, and a data mapping agent 120. The data mapping agent 120 converts deployment specific data values from a normalized form when needed. When the patient record is synchronized, the data pointer in the record 382 from the home deployment (block 20) points to the provider record 231 on the home deployment (block 383). This provider record may also contain a CID that the receiving deployment A (block 22) may use to “map” the record to local provider record 1902 (block 285) thus resolving . [0095]; Examples of Store-Once data groups are: demographics, allergies, problem list 342, and patient preferences.[0136]; records are mapped across deployments using a table of cross deployment IDs for each record. For every record, each deployment keeps a table of IDs for that record in other deployments. That table is sent as a part of the synchronization message, and the pointer is resolved during the filing process. [0143]; At the time of filing incoming messages for patient record synchronization, the settings are referenced for resolving the data pointers correctly {Examiner correlates the receiving information not converted as unmapped and needs to be updated due to the deployment have different IDs}); and
associating the record with the first standard code (Bormann: [0064]; The data mapping agent 120 converts deployment specific data values from a normalized form when needed. EMPI and EMFI 40 communicate the normalized form to the data mapping agent 120 at the deployments. [0134]; When the patient record is synchronized, the data pointer in the record 382 from the home deployment (block 20) points to the provider record 231 on the home deployment (block 383). This provider record may also contain a CID that the receiving deployment A (block 22) may use to “map” the record to local provider record 1902 (block 285) thus resolving the patient record pointer (block 386.) [0115]; If the incoming message contains groups or events that are newer than that stored on the remote deployment, the new information is filed (block 212).[0168]; For example, when remote deployment 22 makes a change to the patient record, it sends an Update Record message to the home deployment 20, which will in turn publish it to any other subscribed deployments 24 in the Community via the notification broker 44. Likewise, if either the home deployment 20 or another deployment 24 makes a change to the patient record while it is being accessed at the remote deployment 22, that update will be sent to the home deployment 20, published to the notification broker 44, and received by the deployment 22 {Examiner correlates associating the record with the standard code by converting unmapped deployment values and resolving it by mapping it causing the record to be update and deliver to all deployments now making the record contain in the deployment making it associated to the record}).
It would have been obvious to a person of ordinary skill in the art, before the effective filing date of the invention, to modify Hane (teaches accessing, a first data repository, a plurality of standard codes, each standard code being mapped to a corresponding set of attributes, each set of attributes associated with at least one allergy event; generating, by a vector generator, a plurality of vector embeddings corresponding respectively to the plurality of standard codes, wherein generating the plurality of vector embeddings comprises: applying a first vector embedding function, implemented as a first trained machine learning model, to text of a first set of attributes associated with a first standard code of the plurality of standard codes for a first patient allergy event, to generate a first vector embedding; storing, the plurality of vector embeddings in a second data repository in association with the plurality of standard codes; accessing, the plurality of vector embeddings from the second data repository; computing, by a similarity score calculator, a similarity measure for the target vector embedding and each of the plurality of vector embeddings to generate a plurality of similarity measures, the plurality of similarity measures comprise: a first similarity measure for the target vector embedding and the first vector embedding, wherein computing the similarity measure comprises computing the similarity measure in a high- dimensional embedding space; presenting mapping the first standard code as a candidate standard code for mapping to the target unmapped allergy code to generate a mapping of the target unmapped allergy code to the first standard code) with the teachings of Vinicombe (teaches accessing, a first set of patient allergy data of a first patient from one or more sources, wherein the first set of patient allergy data comprises a target unmapped allergy code corresponding to a target allergy event, the target unmapped allergy code comprises allergy free text; applying a second vector embedding function, implemented as a second trained machine learning model, to the allergy free text of the target unmapped allergy code to generate a target vector embedding for the target unmapped allergy code) with the further teachings of Bormann (teaches a synchronization engine and storing the mapping of the target unmapped allergy code to the first standard code in a third data repository; detecting, by the synchronization engine, a trigger for initiating a synchronization process for synchronizing patient allergy events for a second patient from a plurality of disparate data sources; retrieving, by the synchronization engine, a record for a second patient, the record comprising a second set of patient allergy data of the second patient; determining, by the synchronization engine, that the second set of patient allergy data of the second patient comprises the target unmapped allergy code; retrieving, by the synchronization engine from the third data repository, the mapping of the target unmapped allergy code to the first standard code; and associating the record with the first standard code). One of ordinary skill in the art would have been motivated to make such a combination of providing better results in updating patient records across deployment by maximizing efficiency in sharing data instead of sending the entire patient record when synchronizing (See Bormann: [0171]). In addition, the references (Hane, Vinicombe, and Bormann) teach features that are directed to analogous art and they are directed to the same field of endeavor as Hane, Vinicombe, and Bormann are directed to processing textual data to purposely match in mapping information.
Regarding claim 6, the modification of Hane, Vinicombe, and Bormann teaches claimed invention substantially as claimed, and Hane further teaches
the first set of patient allergy data further comprises a second allergy event, wherein a second standard code corresponds to the second allergy event, wherein the operations further comprise: identifying that the second standard code associated with the second allergy event is a duplicate of the first standard code associated with the target allergy event (Hane: Col 14, lines 26-36; The set of medical sentences corresponding to the patient may then be filtered to remove any repeated/duplicate diagnosis codes for high cholesterol. In another example embodiment, set of medical sentences corresponding to a patient identifier may be filtered to remove repeated/duplicate prescription/drug codes. For example, if a patient is prescribed a long term and/or maintenance drug (e.g., a statin) a plurality of instances of medical information/data may include the prescription/drug code corresponding to the long term and/or maintenance drug); and
removing one of the target allergy event or second allergy event from the first set of patient allergy data as being duplicative of the other of the target or second allergy event (Hane: Col 14, lines 26-36; The set of medical sentences corresponding to the patient may then be filtered to remove any repeated/duplicate diagnosis codes for high cholesterol. In another example embodiment, set of medical sentences corresponding to a patient identifier may be filtered to remove repeated/duplicate prescription/drug codes. For example, if a patient is prescribed a long term and/or maintenance drug (e.g., a statin) a plurality of instances of medical information/data may include the prescription/drug code corresponding to the long term and/or maintenance drug).
Regarding claim 12, Hane teaches a method comprising: accessing, from a first data repository, a plurality of standard codes, each standard code being mapped to a corresponding set of attributes, each set of attributes associated with at least one allergy event (Hane: Col 11, lines 45-51; Medical information/data (and similar words used herein interchangeably) is often encoded using medical codes. For example, procedure codes, diagnostic codes, prescription or drug codes, equipment codes, revenue codes, place of service codes, and/or the like may be used to encode various portions of an instance of medical information/data.
Col 12, lines 50-62; Starting at block 402, a plurality of instances of medical information/data is accessed. For example, the computing entity 200 may access a plurality of instances of medical information/data. In an example embodiment, the plurality of instances of medical information/data (or at least a portion thereof) are stored in a database or other data store by the computing entity 200. In an example embodiment, the plurality of instances of medical information/data (or at least a portion thereof) are accessed by providing a request for medical information/data to another computing entity 200 (e.g., via the communication interface 220) or data store and receiving the instances of medical information/data (e.g., via the communication interface 220) in response to the request. Col 13, lines 7-16; In an example embodiment, an instance of medical information/data corresponds to a particular patient visit, a day in hospital, or collection of visits/days in a week/month or other time range…one or more medical codes corresponding to a diagnosis, procedure, prescription or drug, equipment and/or the like corresponding to the particular patient visit);
generating, by a vector generator, a plurality of vector embeddings corresponding respectively to the plurality of standard codes (Hane: Col 1, lines 41-44; The medical sentences are then used to train a medical embedding model. For example, the medical embedding model may be trained using machine learning and a training data set comprising at least some of the medical sentences. The medical embedding model may then generate an embedding vector dictionary that links one or more medical codes of a medical code set to a multi-dimensional vector. Col 4, lines 40-41; The medical embedding model may in turn be used to generate the embedding vector dictionary. Col 15, lines 65-67; Continuing with FIG. 4A, at block 408, an embedding vector dictionary is generated. For example, the computing entity 200 may use the medical embedding model to generate an embedding vector dictionary. The embedding vector dictionary may be stored in memory 210, 215. In an example embodiment, the embedding vector dictionary comprises a set of medical codes and the corresponding, linked, and/or assigned multi-dimensional vectors), wherein
generating the plurality of vector embeddings comprises: applying a first vector embedding function, implemented as a first trained machine learning model, to text of a first set of attributes associated with a first standard code of the plurality of standard codes for a first patient allergy event, to generate a first vector embedding (Hane: Col 1, lines 41-44; The medical sentences are then used to train a medical embedding model. For example, the medical embedding model may be trained using machine learning and a training data set comprising at least some of the medical sentences. The medical embedding model may then generate an embedding vector dictionary that links one or more medical codes of a medical code set to a multi-dimensional vector. Col 2, lines 12-13; Each multi-dimensional vector corresponds to a medical code. Col 4, lines 34-41; In various embodiments, aggregate vectors are generated based on an embedding vector dictionary. In an example embodiment, the embedding vector dictionary provides a multi-dimensional vector corresponding to each of one or more medical codes (e.g., procedure codes, diagnosis codes, prescription or drug codes, equipment codes, revenue codes, place of service codes, and/or the like). In an example embodiment, the embedding vector dictionary is generated by accessing medical information/data, generating medical sentences comprising and/or consisting of medical codes based on the medical information/data, and training a medical embedding model using machine learning and a training data set comprising at least some of the medical sentences. The medical embedding model may in turn be used to generate the embedding vector dictionary);
storing, the plurality of vector embeddings in a second data repository in association with the plurality of standard codes (Hane: Col 7, lines 1-20; FIG. 2 provides a schematic of a computing entity 200 according to one embodiment of the present invention. In general, the terms computing entity, entity, device, system, and/or similar words used herein interchangeably may refer to, for example, one or more computers, computing entities, desktop computers, mobile phones, tablets, phablets, notebooks, laptops, distributed systems…to perform the functions, operations, and/or processes described herein. Such functions, operations, and/or processes may include, for example, transmitting, receiving, operating on, processing, displaying, storing, determining, creating/generating, monitoring, evaluating, comparing, and/or similar terms used herein interchangeably. Col 16, lines 1-12; The embedding vector dictionary may be stored in memory 210 , 215. In an example embodiment , the embedding vector dictionary comprises a set of medical codes and the corresponding , linked , and / or assigned multi - dimensional vectors. For example, the embedding vector dictionary may indicate the multi-dimensional vector corresponding, linked, and/or assigned to each medical code of a plurality of medical codes. The multi-dimensional vectors assigned, linked, and/or corresponding to each of the medical codes may encode the relationships and/or strength of the relationships between pairs and/or groups of medical codes);
accessing, the plurality of vector embeddings from the second data repository (Hane: Col 7, lines 1-20; FIG. 2 provides a schematic of a computing entity 200 according to one embodiment of the present invention. In general, the terms computing entity, entity, device, system, and/or similar words used herein interchangeably may refer to, for example, one or more computers, computing entities, desktop computers, mobile phones, tablets, phablets, notebooks, laptops, distributed systems…to perform the functions, operations, and/or processes described herein. Such functions, operations, and/or processes may include, for example, transmitting, receiving, operating on, processing, displaying, storing, determining, creating/generating, monitoring, evaluating, comparing, and/or similar terms used herein interchangeably. Col 11, lines 12-14; As will be recognized, the non-volatile storage or memory media may store databases, database instances, database management system entities, data, applications, programs, program modules, scripts, source code, object code, byte code, compiled code, interpreted code, machine code, executable instructions, and/or the like. Col 16, lines 63-66; At block 410, an embedding vector dictionary may be accessed. For example, the computing entity 200 may access an embedding vector dictionary. In various embodiments, the embedding vector dictionary is generated as described above with respect to FIG. 4A and then stored in memory 210, 215);
computing, by a similarity score calculator of the synchronization engine, a similarity measure for the target vector embedding and each of the plurality of vector embeddings to generate a plurality of similarity measures, the plurality of similarity measures comprise: a first similarity measure for the target vector embedding and the first vector embedding (Hane: Col 4, lines 8-10; For example, the distance between two aggregate vectors may provide a similarity metric indicating how similar or how different the corresponding two subjects are. Col 18, lines 21-26; For example, the computing entity 200 may identify a predetermined, predefined, and/or configurable number of one or more closest aggregate vectors, which are the predetermined, predefined, and/or configurable number of aggregate vectors that have the smallest distances to an investigation aggregate vector. Col 18, lines 35-44; The aggregate vectors closest to and/or having the smallest distance to the investigation aggregate vector correspond to subjects that are most similar to the investigation subject corresponding to the investigation aggregate vector), wherein
computing the similarity measure comprises computing the similarity measure in a high- dimensional embedding space (Hane: Col 15, lines 9-18; In an example embodiment, the number of dimensions of the multi-dimensional space is in the inclusive range of 50 to 100 dimensions. In an example embodiment, the number of dimensions of the multi-dimensional space is in the inclusive range of 10 to 1000 dimensions. In various embodiments, the dimensions themselves do not have semantic meaning. Rather, the distances or angles between the multi-dimensional vectors within the multi-dimensional space provide semantic meaning to the model. Col 16, lines 54-59; In various embodiments, the distance within the multi-dimensional space may be Euclidean distance, cosine distance, and/or other distance measure within the multi-dimensional space. For example, in an example embodiment the distance between the multi-dimensional space is an angle or value indicative of an angle (e.g., cosine distance));
based at least on the first similarity measure (Hane: Col 4, lines 8-14; For example, the distance between two aggregate vectors may provide a similarity metric indicating how similar or how different the corresponding two subjects are. In another example, the angle between two aggregate vectors may provide a similarity metric indicating how similar or how different the corresponding two subjects are. Col 16, lines 53-59; In various embodiments, the distance within the multi-dimensional space may be Euclidean distance, cosine distance, and/or other distance measure within the multi-dimensional space. For example, in an example embodiment the distance between the multi-dimensional space is an angle or value indicative of an angle (e.g., cosine distance)), mapping the first standard code to the target unmapped allergy code to generate a mapping of the target unmapped allergy code to the first standard code (Hane: Col 17, lines 64-67; an aggregate vector by aggregating the multi-dimensional vectors corresponding to the medical codes of the one or more instances of medical information/data, as indicated by the embedding vector dictionary. Col 18, lines 21-26; For example, the computing entity 200 may identify a predetermined, predefined, and/or configurable number of one or more closest aggregate vectors, which are the predetermined, predefined, and/or configurable number of aggregate vectors that have the smallest distances to an investigation aggregate vector. Col 18, lines 45-51; At block 416, an output is provided. For example, the computing entity 200 may provide an output identifying the investigation subject, the investigation aggregate vector, one or more identified similar or different aggregate vectors, one or more similar or different subjects corresponding to the one or more identified similar or different aggregate vectors, a distance measure between the investigation aggregate vector and one or more other aggregate vectors, and/or the like);
Hane does not explicitly teach accessing, a first set of patient allergy data of a first patient from one or more sources, wherein the first set of patient allergy data comprises a target unmapped allergy code corresponding to a target allergy event, the target unmapped allergy code comprises allergy free text; applying a second vector embedding function, implemented as a second trained machine learning model, to the allergy free text of the target unmapped allergy code to generate a target vector embedding for the target unmapped allergy code;
However, Vinicombe teaches accessing, a first set of patient allergy data of a first patient from one or more sources, wherein the first set of patient allergy data comprises a target unmapped allergy code corresponding to a target allergy event, the target unmapped allergy code comprises allergy free text (Vinicombe: Col 2, lines 54-56; As indicated above, the values of an embedding vector serve to project the input data into a multi-dimensional space, as defined by the embedding vector generator. Col 3, lines 63-67; Beginning at block 202, an unmapped item is received. By way of definition, an unmapped item is a content item for which an embedding vector is not available from an embedding vector generator. As mentioned above, there may be various reasons that there is no embedding vector for the unmapped, target item, including but not limited to various limitations of a publicly available embedding vector generator of the target item’s type. Col 4, lines 6-12; At block 204, a document corpus is accessed. According to aspects of the disclosed subject matter, the document corpus includes content collections, or “documents,” where these documents will often (though not exclusively) include mixed content types, including items of an item type that may or may not be processed by an embedding vector generator);
applying a second vector embedding function, implemented as a second trained machine learning model, to the allergy free text of the target unmapped allergy code to generate a target vector embedding for the target unmapped allergy code (Vinicombe: Col 3, lines 10-16; While generating embedding vectors for content items of the same type enables the use of automated comparisons (in the multi-dimensional space) to determine the relative similarity between two content items, there are times that an embedding vector for a content item is not available. Col 4, lines 40-49; At block 218, the averaged embedding vectors for the various identified documents are, themselves, averaged. As above, this averaging typically involves averaging the values of the elements across the embedding vectors. The result of this averaging is an averaged embedding vector for all identified documents that includes the unmapped content item. At block 220, this averaged embedding vector for all identified documents is associated with the unmapped item as its inferred or approximate embedding vector. Thereafter, routine 200 terminates);
It would have been obvious to a person of ordinary skill in the art, at the time of the invention, to modify Hane (teaches accessing, a first data repository, a plurality of standard codes, each standard code being mapped to a corresponding set of attributes, each set of attributes associated with at least one allergy event; generating, by a vector generator, a plurality of vector embeddings corresponding respectively to the plurality of standard codes, wherein generating the plurality of vector embeddings comprises: applying a first vector embedding function, implemented as a first trained machine learning model, to text of a first set of attributes associated with a first standard code of the plurality of standard codes for a first patient allergy event, to generate a first vector embedding; storing, the plurality of vector embeddings in a second data repository in association with the plurality of standard codes; accessing, the plurality of vector embeddings from the second data repository; computing, by a similarity score calculator, a similarity measure for the target vector embedding and each of the plurality of vector embeddings to generate a plurality of similarity measures, the plurality of similarity measures comprise: a first similarity measure for the target vector embedding and the first vector embedding, wherein computing the similarity measure comprises computing the similarity measure in a high- dimensional embedding space; presenting mapping the first standard code as a candidate standard code for mapping to the target unmapped allergy code to generate a mapping of the target unmapped allergy code to the first standard code) with the teachings of Vinicombe (teaches accessing, a first set of patient allergy data of a first patient from one or more sources, wherein the first set of patient allergy data comprises a target unmapped allergy code corresponding to a target allergy event, the target unmapped allergy code comprises allergy free text; applying a second vector embedding function, implemented as a second trained machine learning model, to the allergy free text of the target unmapped allergy code to generate a target vector embedding for the target unmapped allergy code). One of ordinary skill in the art would have been motivated to make such a combination of providing better results in determining which TF/IDF measure meets or exceed the predetermined threshold of the content item in the given document (See Vinicombe: Col 4, lines 59-66). In addition, the references (Hane and Vinicombe) teach features that are directed to analogous art and they are directed to the same field of endeavor as Hane and Vinicombe directed to processing textual data to purposely match in mapping information.
The modification of Hane and Vinicombe teaches claimed invention substantially as claimed, however the modification of Hane and Vinicombe does not explicitly teach by a synchronization engine and storing the mapping of the target unmapped allergy code to the first standard code in a third data repository; detecting, by the synchronization engine, a trigger for initiating a synchronization process for synchronizing patient allergy events for a second patient from a plurality of disparate data sources; retrieving, by the synchronization engine, a record for a second patient, the record comprising a second set of patient allergy data of the second patient; determining, by the synchronization engine, that the second set of patient allergy data of the second patient comprises the target unmapped allergy code; retrieving, by the synchronization engine from the third data repository, the mapping of the target unmapped allergy code to the first standard code; and associating the record with the first standard code, wherein the method is performed by at least one device including a hardware processor.
However, Bormann teaches by a synchronization engine (Bormann: [0064]; The group of incoming processing components 104 includes a communication agent 110 to provide reliable transport for synchronizing a patient record and a version skew agent 112 which is used to identify and handle the need to distribute record changes to multiple versions. The group of incoming processing components 104 may also include a conflict detection agent 114, a conflict resolution agent 116, and a data mapping agent 120),
storing the mapping of the target unmapped allergy code to the first standard code in a third data repository (Bormann: [0033]-[0034]; For example, the servers 30 and 32 may periodically receive data from each of the deployments 20-24 indicative of information pertaining to a patient. The production servers 30 may be referred to as a production data repository, or as an instance of a data repository. [0040]; Each deployment 20, 22, 24, may maintain its own static and dynamic records. For example, the same specific medical order may have one local identification number (ID) at one deployment, and a different local ID at another deployment. Such deployments must agree to use a data mapping technique to resolve. [0064]; The group of incoming processing components 104 includes a communication agent 110 to provide reliable transport for synchronizing a patient record and a version skew agent 112 which is used to identify and handle the need to distribute record changes to multiple versions. The group of incoming processing components 104 may also include a conflict detection agent 114, a conflict resolution agent 116, and a data mapping agent 120. The data mapping agent 120 converts deployment specific data values from a normalized form when needed. EMPI and EMFI 40 communicate the normalized form to the data mapping agent 120 at the deployments. [0095]; The exemplary patient record of FIG. 10 is made up of: Store-Once patient specific data groups 332, patient record events 334, and Event Data groups. Examples of Store-Once data groups are: demographics, allergies, problem list 342. [0134]; When the patient record is synchronized, the data pointer in the record 382 from the home deployment (block 20) points to the provider record 231 on the home deployment (block 383). This provider record may also contain a CID that the receiving deployment A (block 22) may use to “map” the record to local provider record 1902 (block 285) thus resolving the patient record pointer (block 386.) [0136]; For every record, each deployment keeps a table of IDs for that record in other deployments. That table is sent as a part of the synchronization message, and the pointer is resolved during the filing process {Examiner correlates the target unmapped code based on the deployment have different ID in which the deployments agree to resolve by mapping to resolve in such the receiving deployment map the record as part of the synchronization message});
detecting, by the synchronization engine, a trigger for initiating a synchronization process for synchronizing patient allergy events for a second patient from a plurality of disparate data sources (Bormann: [0065]; The group of outgoing processing components 106 may include a triggering agent 122, a data mapping agent 120A, a version skew agent 112A and a communication agent 110A. The triggering agent 122 is the sub-system which detects changes and user actions, which need to be communicated to the Community. [0095]; The exemplary patient record of FIG. 10 is made up of: Store-Once patient specific data groups 332, patient record events 334, and Event Data groups. Examples of Store-Once data groups are: demographics, allergies, problem list 342. [0172]; Triggers are incidents of data modification that cause data updates to be sent to the Community. When a trigger occurs, the system identifies what, if anything, has changed in the patient record, modifies generations and the update history as needed…causing an update to be sent, as long as there are subscribed deployments for the record);
retrieving, by the synchronization engine, a record for a second patient, the record comprising a second set of patient allergy data of the second patient (Bormann:[0033]; The servers 30 and 32 may be used to accumulate, analyze, and download data relating to a healthcare facility's medical records. For example, the servers 30 and 32 may periodically receive data from each of the deployments 20-24 indicative of information pertaining to a patient. [0064]; The group of incoming processing components 104 includes a communication agent 110 to provide reliable transport for synchronizing a patient record and a version skew agent 112 which is used to identify and handle the need to distribute record changes to multiple versions. The group of incoming processing components 104 may also include a conflict detection agent 114, a conflict resolution agent 116, and a data mapping agent 120. [0068]; A patient record pull may be requested when a deployment accesses a patient record not homed in that deployment. A summary of the patient record is first sent to the remote deployment while the full patient record is retrieved from the home deployment. At the time that the remote deployment requests the patient record from the home deployment, they are also subscribed to the patient record. This means that they may begin receiving all the updates, near real time.[0089]; As described above, the remote deployment requests the up-to-date patient record from the patient's home deployment by sending a Get Record message (block 172) to the home deployment. [0092]; Once it confirms that the patient is homed at the deployment, the system then compares the records and sends any new information for that patient record at the home deployment to the remote deployment in a Send Record message. [0095]; The exemplary patient record of FIG. 10 is made up of: Store-Once patient specific data groups 332, patient record events 334, and Event Data groups. Examples of Store-Once data groups are: demographics, allergies, problem list 342);
determining, by the synchronization engine, that the second set of patient allergy data of the second patient comprises the target unmapped allergy code (Bormann: [0040]; Each deployment 20, 22, 24, may maintain its own static and dynamic records. For example, the same specific medical order may have one local identification number (ID) at one deployment, and a different local ID at another deployment. Such deployments must agree to use a data mapping technique to resolve foreign keys contained within a patient record that arrives from another deployment.[0064]; The group of incoming processing components 104 may also include a conflict detection agent 114, a conflict resolution agent 116, and a data mapping agent 120. The data mapping agent 120 converts deployment specific data values from a normalized form when needed. When the patient record is synchronized, the data pointer in the record 382 from the home deployment (block 20) points to the provider record 231 on the home deployment (block 383). [0095]; The exemplary patient record of FIG. 10 is made up of: Store-Once patient specific data groups 332, patient record events 334, and Event Data groups. Examples of Store-Once data groups are: demographics, allergies, problem list 342. [0098]; In order to track changes to a patient record, search for changes within a patient record, and compare the same patient record across deployments, both the patient record itself and its individual groups and events are marked with generation levels when they are modified. [0125]; When a patient record is synchronized to another deployment, there are various data elements in the patient record—typically pointers to other records or selection list values—which simply cannot be resolved in the receiving deployment, or have pointer values that need to be translated for use at the receiving deployment.[0211]; Groups of data contained within a patient record received by a deployment are compared to all existing information for that patient to determine if any of the incoming information is older than the existing information);
retrieving, by the synchronization engine from the third data repository, the mapping of the target unmapped allergy code to the first standard code (Bormann: [0033]-[0034]; For example, the servers 30 and 32 may periodically receive data from each of the deployments 20-24 indicative of information pertaining to a patient. The production servers 30 may be referred to as a production data repository, or as an instance of a data repository. [0040]; Each deployment 20, 22, 24, may maintain its own static and dynamic records. For example, the same specific medical order may have one local identification number (ID) at one deployment, and a different local ID at another deployment. Such deployments must agree to use a data mapping technique to resolve. [0064]; The group of incoming processing components 104 may also include a conflict detection agent 114, a conflict resolution agent 116, and a data mapping agent 120. The data mapping agent 120 converts deployment specific data values from a normalized form when needed.When the patient record is synchronized, the data pointer in the record 382 from the home deployment (block 20) points to the provider record 231 on the home deployment (block 383). This provider record may also contain a CID that the receiving deployment A (block 22) may use to “map” the record to local provider record 1902 (block 285) thus resolving [0095]; The exemplary patient record of FIG. 10 is made up of: Store-Once patient specific data groups 332, patient record events 334, and Event Data groups. Examples of Store-Once data groups are: demographics, allergies, problem list 342. [0136]; records are mapped across deployments using a table of cross deployment IDs for each record. For every record, each deployment keeps a table of IDs for that record in other deployments. That table is sent as a part of the synchronization message, and the pointer is resolved during the filing process. [0143]; At the time of filing incoming messages for patient record synchronization, the settings are referenced for resolving the data pointers correctly); and
associating the record with the first standard code (Bormann: [0064]; The data mapping agent 120 converts deployment specific data values from a normalized form when needed. EMPI and EMFI 40 communicate the normalized form to the data mapping agent 120 at the deployments. [0134]; When the patient record is synchronized, the data pointer in the record 382 from the home deployment (block 20) points to the provider record 231 on the home deployment (block 383). This provider record may also contain a CID that the receiving deployment A (block 22) may use to “map” the record to local provider record 1902 (block 285) thus resolving the patient record pointer (block 386.) [0115]; If the incoming message contains groups or events that are newer than that stored on the remote deployment, the new information is filed (block 212).[0168]; For example, when remote deployment 22 makes a change to the patient record, it sends an Update Record message to the home deployment 20, which will in turn publish it to any other subscribed deployments 24 in the Community via the notification broker 44. Likewise, if either the home deployment 20 or another deployment 24 makes a change to the patient record while it is being accessed at the remote deployment 22, that update will be sent to the home deployment 20, published to the notification broker 44, and received by the deployment 22 {Examiner correlates associating the record with the standard code by converting unmapped deployment values and resolving it by mapping it causing the record to be update and deliver to all deployments now making the record contain in the deployment making it associated to the record})), wherein the method is performed by at least one device including a hardware processor (Bormann: [0055]; The controller 50 may include a program memory 54, a microcontroller or a microprocessor (MP) 56, a random-access memory (RAM) 60, and an input/output (I/O) circuit 62, all of which may be interconnected via an address/data bus 64. It should be appreciated that although only one microprocessor 56 is shown, the controller 50 may include multiple microprocessors 56).
It would have been obvious to a person of ordinary skill in the art, before the effective filing date of the invention, to modify Hane (teaches accessing, a first data repository, a plurality of standard codes, each standard code being mapped to a corresponding set of attributes, each set of attributes associated with at least one allergy event; generating, by a vector generator, a plurality of vector embeddings corresponding respectively to the plurality of standard codes, wherein generating the plurality of vector embeddings comprises: applying a first vector embedding function, implemented as a first trained machine learning model, to text of a first set of attributes associated with a first standard code of the plurality of standard codes for a first patient allergy event, to generate a first vector embedding; storing, the plurality of vector embeddings in a second data repository in association with the plurality of standard codes; accessing, the plurality of vector embeddings from the second data repository; computing, by a similarity score calculator, a similarity measure for the target vector embedding and each of the plurality of vector embeddings to generate a plurality of similarity measures, the plurality of similarity measures comprise: a first similarity measure for the target vector embedding and the first vector embedding, wherein computing the similarity measure comprises computing the similarity measure in a high- dimensional embedding space; presenting mapping the first standard code as a candidate standard code for mapping to the target unmapped allergy code to generate a mapping of the target unmapped allergy code to the first standard code) with the teachings of Vinicombe (teaches accessing, a first set of patient allergy data of a first patient from one or more sources, wherein the first set of patient allergy data comprises a target unmapped allergy code corresponding to a target allergy event, the target unmapped allergy code comprises allergy free text; applying a second vector embedding function, implemented as a second trained machine learning model, to the allergy free text of the target unmapped allergy code to generate a target vector embedding for the target unmapped allergy code) with the further teachings of Bormann (teaches a synchronization engine and storing the mapping of the target unmapped allergy code to the first standard code in a third data repository; detecting, by the synchronization engine, a trigger for initiating a synchronization process for synchronizing patient allergy events for a second patient from a plurality of disparate data sources; retrieving, by the synchronization engine, a record for a second patient, the record comprising a second set of patient allergy data of the second patient; determining, by the synchronization engine, that the second set of patient allergy data of the second patient comprises the target unmapped allergy code; retrieving, by the synchronization engine from the third data repository, the mapping of the target unmapped allergy code to the first standard code; and associating the record with the first standard code). One of ordinary skill in the art would have been motivated to make such a combination of providing better results in updating patient records across deployment by maximizing efficiency in sharing data instead of sending the entire patient record when synchronizing (See Bormann: [0171]). In addition, the references (Hane, Vinicombe, and Bormann) teach features that are directed to analogous art and they are directed to the same field of endeavor as Hane, Vinicombe, and Bormann are directed to processing textual data to purposely match in mapping information.
Regarding claim 17, the modification of Hane, Vinicombe, and Bormann teaches claimed invention substantially as claimed, and Hane further teaches
the first set of patient allergy data further comprises a second allergy event, wherein a second standard code corresponds to the second allergy event, wherein the method further comprises: identifying that the second standard code associated with the second allergy event is duplicative of the first standard code associated with the target allergy event (Hane: Col 14, lines 26-36; The set of medical sentences corresponding to the patient may then be filtered to remove any repeated/duplicate diagnosis codes for high cholesterol. In another example embodiment, set of medical sentences corresponding to a patient identifier may be filtered to remove repeated/duplicate prescription/drug codes. For example, if a patient is prescribed a long term and/or maintenance drug (e.g., a statin) a plurality of instances of medical information/data may include the prescription/drug code corresponding to the long term and/or maintenance drug); and
removing one of the target allergy event or second allergy event from the first set of patient allergy data as being duplicative (Hane: Col 14, lines 26-36; The set of medical sentences corresponding to the patient may then be filtered to remove any repeated/duplicate diagnosis codes for high cholesterol. In another example embodiment, set of medical sentences corresponding to a patient identifier may be filtered to remove repeated/duplicate prescription/drug codes. For example, if a patient is prescribed a long term and/or maintenance drug (e.g., a statin) a plurality of instances of medical information/data may include the prescription/drug code corresponding to the long term and/or maintenance drug).
Regarding claim 20, Hane teaches a system comprising: at least one device including a hardware processor (Hane: Col 7, lines 38-43; For example, the processing element 205 may be embodied as one or more complex programmable logic devices (CPLDs), microprocessors, multi-core processors, coprocessing entities, application-specific instruction-set processors (ASIPs), and/or controllers);
the system being configured one or more hardware processors (Hane: Col 7, lines 38-43; For example, the processing element 205 may be embodied as one or more complex programmable logic devices (CPLDs), microprocessors, multi-core processors, coprocessing entities, application-specific instruction-set processors (ASIPs), and/or controllers);
one or more non-transitory computer-readable media (Hane: Col 8, lines 10-15; The term database , database instance , database interchangeably may refer to a structured collection of records or information / data that is stored in a computer readable storage medium , such as via a relational database , hierarchical database , and / or network database); and program instructions stored on the one or more non-transitory computer-readable media that, when executed by the one or more hardware processors, cause the system to perform operations comprising (Hane: Col 7, lines 52-55; the processing element 205 may be configured for a particular use or configured to execute instructions stored in volatile or non - volatile media or otherwise accessible to the processing element 205):
accessing, from a first data repository, a plurality of standard codes, each standard code being mapped to a corresponding set of attributes, each set of attributes associated with at least one allergy event (Hane: Col 11, lines 45-51; Medical information/data (and similar words used herein interchangeably) is often encoded using medical codes. For example, procedure codes, diagnostic codes, prescription or drug codes, equipment codes, revenue codes, place of service codes, and/or the like may be used to encode various portions of an instance of medical information/data. Col 12, lines 50-62; Starting at block 402, a plurality of instances of medical information/data is accessed. For example, the computing entity 200 may access a plurality of instances of medical information/data. In an example embodiment, the plurality of instances of medical information/data (or at least a portion thereof) are stored in a database or other data store by the computing entity 200. In an example embodiment, the plurality of instances of medical information/data (or at least a portion thereof) are accessed by providing a request for medical information/data to another computing entity 200 (e.g., via the communication interface 220) or data store and receiving the instances of medical information/data (e.g., via the communication interface 220) in response to the request. Col 13, lines 7-16; In an example embodiment, an instance of medical information/data corresponds to a particular patient visit, a day in hospital, or collection of visits/days in a week/month or other time range…one or more medical codes corresponding to a diagnosis, procedure, prescription or drug, equipment and/or the like corresponding to the particular patient visit);
generating, by a vector generator, a plurality of vector embeddings corresponding respectively to the plurality of standard codes (Hane: Col 1, lines 41-44; The medical sentences are then used to train a medical embedding model. For example, the medical embedding model may be trained using machine learning and a training data set comprising at least some of the medical sentences. The medical embedding model may then generate an embedding vector dictionary that links one or more medical codes of a medical code set to a multi-dimensional vector. Col 4, lines 40-41; The medical embedding model may in turn be used to generate the embedding vector dictionary. Col 15, lines 65-67; Continuing with FIG. 4A, at block 408, an embedding vector dictionary is generated. For example, the computing entity 200 may use the medical embedding model to generate an embedding vector dictionary. The embedding vector dictionary may be stored in memory 210, 215. In an example embodiment, the embedding vector dictionary comprises a set of medical codes and the corresponding, linked, and/or assigned multi-dimensional vectors), wherein
generating the plurality of vector embeddings comprises: applying a first vector embedding function, implemented as a first trained machine learning model, to text of a first set of attributes associated with a first standard code of the plurality of standard codes for a first patient allergy event, to generate a first vector embedding (Hane: Col 1, lines 41-44; The medical sentences are then used to train a medical embedding model. For example, the medical embedding model may be trained using machine learning and a training data set comprising at least some of the medical sentences. The medical embedding model may then generate an embedding vector dictionary that links one or more medical codes of a medical code set to a multi-dimensional vector. Col 2, lines 12-13; Each multi-dimensional vector corresponds to a medical code. Col 4, lines 34-41; In various embodiments, aggregate vectors are generated based on an embedding vector dictionary. In an example embodiment, the embedding vector dictionary provides a multi-dimensional vector corresponding to each of one or more medical codes (e.g., procedure codes, diagnosis codes, prescription or drug codes, equipment codes, revenue codes, place of service codes, and/or the like). In an example embodiment, the embedding vector dictionary is generated by accessing medical information/data, generating medical sentences comprising and/or consisting of medical codes based on the medical information/data, and training a medical embedding model using machine learning and a training data set comprising at least some of the medical sentences. The medical embedding model may in turn be used to generate the embedding vector dictionary);
storing, by the synchronization engine, the plurality of vector embeddings in a second data repository in association with the plurality of standard codes (Hane: Col 7, lines 1-20; FIG. 2 provides a schematic of a computing entity 200 according to one embodiment of the present invention. In general, the terms computing entity, entity, device, system, and/or similar words used herein interchangeably may refer to, for example, one or more computers, computing entities, desktop computers, mobile phones, tablets, phablets, notebooks, laptops, distributed systems…to perform the functions, operations, and/or processes described herein. Such functions, operations, and/or processes may include, for example, transmitting, receiving, operating on, processing, displaying, storing, determining, creating/generating, monitoring, evaluating, comparing, and/or similar terms used herein interchangeably. Col 16, lines 1-12; The embedding vector dictionary may be stored in memory 210 , 215. In an example embodiment , the embedding vector dictionary comprises a set of medical codes and the corresponding , linked , and / or assigned multi - dimensional vectors. For example, the embedding vector dictionary may indicate the multi-dimensional vector corresponding, linked, and/or assigned to each medical code of a plurality of medical codes. The multi-dimensional vectors assigned, linked, and/or corresponding to each of the medical codes may encode the relationships and/or strength of the relationships between pairs and/or groups of medical codes);
accessing, the plurality of vector embeddings from the second data repository (Hane: Col 7, lines 1-20; FIG. 2 provides a schematic of a computing entity 200 according to one embodiment of the present invention. In general, the terms computing entity, entity, device, system, and/or similar words used herein interchangeably may refer to, for example, one or more computers, computing entities, desktop computers, mobile phones, tablets, phablets, notebooks, laptops, distributed systems…to perform the functions, operations, and/or processes described herein. Such functions, operations, and/or processes may include, for example, transmitting, receiving, operating on, processing, displaying, storing, determining, creating/generating, monitoring, evaluating, comparing, and/or similar terms used herein interchangeably. Col 11, lines 12-14; As will be recognized, the non-volatile storage or memory media may store databases, database instances, database management system entities, data, applications, programs, program modules, scripts, source code, object code, byte code, compiled code, interpreted code, machine code, executable instructions, and/or the like. Col 16, lines 63-66; At block 410, an embedding vector dictionary may be accessed. For example, the computing entity 200 may access an embedding vector dictionary. In various embodiments, the embedding vector dictionary is generated as described above with respect to FIG. 4A and then stored in memory 210, 215);
computing, by a similarity score calculator, a similarity measure for the target vector embedding and each of the plurality of vector embeddings to generate a plurality of similarity measures, the plurality of similarity measures comprise: a first similarity measure for the target vector embedding and the first vector embedding (Hane: Col 4, lines 8-10; For example, the distance between two aggregate vectors may provide a similarity metric indicating how similar or how different the corresponding two subjects are. Col 18, lines 21-26; For example, the computing entity 200 may identify a predetermined, predefined, and/or configurable number of one or more closest aggregate vectors, which are the predetermined, predefined, and/or configurable number of aggregate vectors that have the smallest distances to an investigation aggregate vector. Col 18, lines 35-44; The aggregate vectors closest to and/or having the smallest distance to the investigation aggregate vector correspond to subjects that are most similar to the investigation subject corresponding to the investigation aggregate vector), wherein
computing the similarity measure comprises computing the similarity measure in a high-dimensional embedding space (Hane: Col 15, lines 9-18; In an example embodiment, the number of dimensions of the multi-dimensional space is in the inclusive range of 50 to 100 dimensions. In an example embodiment, the number of dimensions of the multi-dimensional space is in the inclusive range of 10 to 1000 dimensions. In various embodiments, the dimensions themselves do not have semantic meaning. Rather, the distances or angles between the multi-dimensional vectors within the multi-dimensional space provide semantic meaning to the model. Col 16, lines 54-59; In various embodiments, the distance within the multi-dimensional space may be Euclidean distance, cosine distance, and/or other distance measure within the multi-dimensional space. For example, in an example embodiment the distance between the multi-dimensional space is an angle or value indicative of an angle (e.g., cosine distance));
based at least on the first similarity measure (Hane: Col 4, lines 8-14; For example, the distance between two aggregate vectors may provide a similarity metric indicating how similar or how different the corresponding two subjects are. In another example, the angle between two aggregate vectors may provide a similarity metric indicating how similar or how different the corresponding two subjects are. Col 16, lines 53-59; In various embodiments, the distance within the multi-dimensional space may be Euclidean distance, cosine distance, and/or other distance measure within the multi-dimensional space. For example, in an example embodiment the distance between the multi-dimensional space is an angle or value indicative of an angle (e.g., cosine distance)), mapping the first standard code to the target unmapped allergy code to generate a mapping of the target unmapped allergy code to the first standard code (Hane: Col 17, lines 64-67; an aggregate vector by aggregating the multi-dimensional vectors corresponding to the medical codes of the one or more instances of medical information/data, as indicated by the embedding vector dictionary. Col 18, lines 21-26; For example, the computing entity 200 may identify a predetermined, predefined, and/or configurable number of one or more closest aggregate vectors, which are the predetermined, predefined, and/or configurable number of aggregate vectors that have the smallest distances to an investigation aggregate vector. Col 18, lines 45-51; At block 416, an output is provided. For example, the computing entity 200 may provide an output identifying the investigation subject, the investigation aggregate vector, one or more identified similar or different aggregate vectors, one or more similar or different subjects corresponding to the one or more identified similar or different aggregate vectors, a distance measure between the investigation aggregate vector and one or more other aggregate vectors, and/or the like);
Hane does not explicitly teach accessing, a first set of patient allergy data of a first patient from one or more sources, wherein the first set of patient allergy data comprises a target unmapped allergy code corresponding to a target allergy event, the target unmapped allergy code comprises allergy free text; applying a second vector embedding function, implemented as a second trained machine learning model, to the allergy free text of the target unmapped allergy code to generate a target vector embedding for the target unmapped allergy code;
However, Vinicombe teaches accessing, a first set of patient allergy data of a first patient from one or more sources, wherein the first set of patient allergy data comprises a target unmapped allergy code corresponding to a target allergy event, the target unmapped allergy code comprises allergy free text (Vinicombe: Col 2, lines 54-56; As indicated above, the values of an embedding vector serve to project the input data into a multi-dimensional space, as defined by the embedding vector generator. Col 3, lines 63-67; Beginning at block 202, an unmapped item is received. By way of definition, an unmapped item is a content item for which an embedding vector is not available from an embedding vector generator. As mentioned above, there may be various reasons that there is no embedding vector for the unmapped, target item, including but not limited to various limitations of a publicly available embedding vector generator of the target item’s type. Col 4, lines 6-12; At block 204, a document corpus is accessed. According to aspects of the disclosed subject matter, the document corpus includes content collections, or “documents,” where these documents will often (though not exclusively) include mixed content types, including items of an item type that may or may not be processed by an embedding vector generator);
applying a second vector embedding function, implemented as a second trained machine learning model, to the allergy free text of the target unmapped allergy code to generate a target vector embedding for the target unmapped allergy code (Vinicombe: Col 3, lines 10-16; While generating embedding vectors for content items of the same type enables the use of automated comparisons (in the multi-dimensional space) to determine the relative similarity between two content items, there are times that an embedding vector for a content item is not available. Col 4, lines 40-49; At block 218, the averaged embedding vectors for the various identified documents are, themselves, averaged. As above, this averaging typically involves averaging the values of the elements across the embedding vectors. The result of this averaging is an averaged embedding vector for all identified documents that includes the unmapped content item. At block 220, this averaged embedding vector for all identified documents is associated with the unmapped item as its inferred or approximate embedding vector. Thereafter, routine 200 terminates);
It would have been obvious to a person of ordinary skill in the art, before the effective filing date of the invention, to modify Hane (teaches accessing, a first data repository, a plurality of standard codes, each standard code being mapped to a corresponding set of attributes, each set of attributes associated with at least one allergy event; generating, by a vector generator, a plurality of vector embeddings corresponding respectively to the plurality of standard codes, wherein generating the plurality of vector embeddings comprises: applying a first vector embedding function, implemented as a first trained machine learning model, to text of a first set of attributes associated with a first standard code of the plurality of standard codes for a first patient allergy event, to generate a first vector embedding; storing, the plurality of vector embeddings in a second data repository in association with the plurality of standard codes; accessing, the plurality of vector embeddings from the second data repository; computing, by a similarity score calculator, a similarity measure for the target vector embedding and each of the plurality of vector embeddings to generate a plurality of similarity measures, the plurality of similarity measures comprise: a first similarity measure for the target vector embedding and the first vector embedding, wherein computing the similarity measure comprises computing the similarity measure in a high- dimensional embedding space; presenting mapping the first standard code as a candidate standard code for mapping to the target unmapped allergy code to generate a mapping of the target unmapped allergy code to the first standard code) with the teachings of Vinicombe (teaches accessing, a first set of patient allergy data of a first patient from one or more sources, wherein the first set of patient allergy data comprises a target unmapped allergy code corresponding to a target allergy event, the target unmapped allergy code comprises allergy free text; applying a second vector embedding function, implemented as a second trained machine learning model, to the allergy free text of the target unmapped allergy code to generate a target vector embedding for the target unmapped allergy code). One of ordinary skill in the art would have been motivated to make such a combination of providing better results in determining which TF/IDF measure meets or exceed the predetermined threshold of the content item in the given document (See Vinicombe: Col 4, lines 59-66). In addition, the references (Hane and Vinicombe) teach features that are directed to analogous art and they are directed to the same field of endeavor as Hane and Vinicombe directed to processing textual data to purposely match in mapping information.
The modification of Hane and Vinicombe teaches claimed invention substantially as claimed, however the modification of Hane and Vinicombe does not explicitly teach by a synchronization engine and storing the mapping of the target unmapped allergy code to the first standard code in a third data repository; detecting, by the synchronization engine, a trigger for initiating a synchronization process for synchronizing patient allergy events for a second patient from a plurality of disparate data sources; retrieving, by the synchronization engine, a record for a second patient, the record comprising a second set of patient allergy data of the second patient; determining, by the synchronization engine, that the second set of patient allergy data of the second patient comprises the target unmapped allergy code; retrieving, by the synchronization engine from the third data repository, the mapping of the target unmapped allergy code to the first standard code; and associating the record with the first standard code
However, Bormann teaches by a synchronization engine (Bormann: [0064]; The group of incoming processing components 104 includes a communication agent 110 to provide reliable transport for synchronizing a patient record and a version skew agent 112 which is used to identify and handle the need to distribute record changes to multiple versions. The group of incoming processing components 104 may also include a conflict detection agent 114, a conflict resolution agent 116, and a data mapping agent 120),
storing the mapping of the target unmapped allergy code to the first standard code in a third data repository (Bormann: [0033]-[0034]; For example, the servers 30 and 32 may periodically receive data from each of the deployments 20-24 indicative of information pertaining to a patient. The production servers 30 may be referred to as a production data repository, or as an instance of a data repository. [0040]; Each deployment 20, 22, 24, may maintain its own static and dynamic records. For example, the same specific medical order may have one local identification number (ID) at one deployment, and a different local ID at another deployment. Such deployments must agree to use a data mapping technique to resolve. [0064]; The group of incoming processing components 104 includes a communication agent 110 to provide reliable transport for synchronizing a patient record and a version skew agent 112 which is used to identify and handle the need to distribute record changes to multiple versions. The group of incoming processing components 104 may also include a conflict detection agent 114, a conflict resolution agent 116, and a data mapping agent 120. The data mapping agent 120 converts deployment specific data values from a normalized form when needed. EMPI and EMFI 40 communicate the normalized form to the data mapping agent 120 at the deployments. [0095]; The exemplary patient record of FIG. 10 is made up of: Store-Once patient specific data groups 332, patient record events 334, and Event Data groups. Examples of Store-Once data groups are: demographics, allergies, problem list 342. [0134]; When the patient record is synchronized, the data pointer in the record 382 from the home deployment (block 20) points to the provider record 231 on the home deployment (block 383). This provider record may also contain a CID that the receiving deployment A (block 22) may use to “map” the record to local provider record 1902 (block 285) thus resolving the patient record pointer (block 386.) [0136]; For every record, each deployment keeps a table of IDs for that record in other deployments. That table is sent as a part of the synchronization message, and the pointer is resolved during the filing process {Examiner correlates the target unmapped code based on the deployment have different ID in which the deployments agree to resolve by mapping to resolve in such the receiving deployment map the record as part of the synchronization message});
detecting, by the synchronization engine, a trigger for initiating a synchronization process for synchronizing patient allergy events for a second patient from a plurality of disparate data sources (Bormann: [0065]; The group of outgoing processing components 106 may include a triggering agent 122, a data mapping agent 120A, a version skew agent 112A and a communication agent 110A. The triggering agent 122 is the sub-system which detects changes and user actions, which need to be communicated to the Community. [0095]; The exemplary patient record of FIG. 10 is made up of: Store-Once patient specific data groups 332, patient record events 334, and Event Data groups. Examples of Store-Once data groups are: demographics, allergies, problem list 342. [0172]; Triggers are incidents of data modification that cause data updates to be sent to the Community. When a trigger occurs, the system identifies what, if anything, has changed in the patient record, modifies generations and the update history as needed…causing an update to be sent, as long as there are subscribed deployments for the record);
retrieving, by the synchronization engine, a record for a second patient, the record comprising a second set of patient allergy data of the second patient (Bormann:[0033]; The servers 30 and 32 may be used to accumulate, analyze, and download data relating to a healthcare facility's medical records. For example, the servers 30 and 32 may periodically receive data from each of the deployments 20-24 indicative of information pertaining to a patient. [0064]; The group of incoming processing components 104 includes a communication agent 110 to provide reliable transport for synchronizing a patient record and a version skew agent 112 which is used to identify and handle the need to distribute record changes to multiple versions. The group of incoming processing components 104 may also include a conflict detection agent 114, a conflict resolution agent 116, and a data mapping agent 120. [0068]; A patient record pull may be requested when a deployment accesses a patient record not homed in that deployment. A summary of the patient record is first sent to the remote deployment while the full patient record is retrieved from the home deployment. At the time that the remote deployment requests the patient record from the home deployment, they are also subscribed to the patient record. This means that they may begin receiving all the updates, near real time.[0089]; As described above, the remote deployment requests the up-to-date patient record from the patient's home deployment by sending a Get Record message (block 172) to the home deployment. [0092]; Once it confirms that the patient is homed at the deployment, the system then compares the records and sends any new information for that patient record at the home deployment to the remote deployment in a Send Record message. [0095]; The exemplary patient record of FIG. 10 is made up of: Store-Once patient specific data groups 332, patient record events 334, and Event Data groups. Examples of Store-Once data groups are: demographics, allergies, problem list 342);
determining, by the synchronization engine, that the second set of patient allergy data of the second patient comprises the target unmapped allergy code (Bormann: [0040]; Each deployment 20, 22, 24, may maintain its own static and dynamic records. For example, the same specific medical order may have one local identification number (ID) at one deployment, and a different local ID at another deployment. Such deployments must agree to use a data mapping technique to resolve foreign keys contained within a patient record that arrives from another deployment.[0064]; The group of incoming processing components 104 may also include a conflict detection agent 114, a conflict resolution agent 116, and a data mapping agent 120. The data mapping agent 120 converts deployment specific data values from a normalized form when needed. When the patient record is synchronized, the data pointer in the record 382 from the home deployment (block 20) points to the provider record 231 on the home deployment (block 383). [0095]; The exemplary patient record of FIG. 10 is made up of: Store-Once patient specific data groups 332, patient record events 334, and Event Data groups. Examples of Store-Once data groups are: demographics, allergies, problem list 342. [0098]; In order to track changes to a patient record, search for changes within a patient record, and compare the same patient record across deployments, both the patient record itself and its individual groups and events are marked with generation levels when they are modified. [0125]; When a patient record is synchronized to another deployment, there are various data elements in the patient record—typically pointers to other records or selection list values—which simply cannot be resolved in the receiving deployment, or have pointer values that need to be translated for use at the receiving deployment.[0211]; Groups of data contained within a patient record received by a deployment are compared to all existing information for that patient to determine if any of the incoming information is older than the existing information);
retrieving, by the synchronization engine from the third data repository, the mapping of the target unmapped allergy code to the first standard code (Bormann: [0033]-[0034]; For example, the servers 30 and 32 may periodically receive data from each of the deployments 20-24 indicative of information pertaining to a patient. The production servers 30 may be referred to as a production data repository, or as an instance of a data repository. [0040]; Each deployment 20, 22, 24, may maintain its own static and dynamic records. For example, the same specific medical order may have one local identification number (ID) at one deployment, and a different local ID at another deployment. Such deployments must agree to use a data mapping technique to resolve. [0064]; The group of incoming processing components 104 may also include a conflict detection agent 114, a conflict resolution agent 116, and a data mapping agent 120. The data mapping agent 120 converts deployment specific data values from a normalized form when needed. When the patient record is synchronized, the data pointer in the record 382 from the home deployment (block 20) points to the provider record 231 on the home deployment (block 383). This provider record may also contain a CID that the receiving deployment A (block 22) may use to “map” the record to local provider record 1902 (block 285) thus resolving .[0095]; The exemplary patient record of FIG. 10 is made up of: Store-Once patient specific data groups 332, patient record events 334, and Event Data groups. Examples of Store-Once data groups are: demographics, allergies, problem list 342. [0136]; records are mapped across deployments using a table of cross deployment IDs for each record. For every record, each deployment keeps a table of IDs for that record in other deployments. That table is sent as a part of the synchronization message, and the pointer is resolved during the filing process. [0143]; At the time of filing incoming messages for patient record synchronization, the settings are referenced for resolving the data pointers correctly); and
associating the record with the first standard code (Bormann: [0064]; The data mapping agent 120 converts deployment specific data values from a normalized form when needed. EMPI and EMFI 40 communicate the normalized form to the data mapping agent 120 at the deployments. [0134]; When the patient record is synchronized, the data pointer in the record 382 from the home deployment (block 20) points to the provider record 231 on the home deployment (block 383). This provider record may also contain a CID that the receiving deployment A (block 22) may use to “map” the record to local provider record 1902 (block 285) thus resolving the patient record pointer (block 386.) [0115]; If the incoming message contains groups or events that are newer than that stored on the remote deployment, the new information is filed (block 212).[0168]; For example, when remote deployment 22 makes a change to the patient record, it sends an Update Record message to the home deployment 20, which will in turn publish it to any other subscribed deployments 24 in the Community via the notification broker 44. Likewise, if either the home deployment 20 or another deployment 24 makes a change to the patient record while it is being accessed at the remote deployment 22, that update will be sent to the home deployment 20, published to the notification broker 44, and received by the deployment 22 {Examiner correlates associating the record with the standard code by converting unmapped deployment values and resolving it by mapping it causing the record to be update and deliver to all deployments now making the record contain in the deployment making it associated to the record}).
It would have been obvious to a person of ordinary skill in the art, before the effective filing date of the invention, to modify Hane (teaches accessing, a first data repository, a plurality of standard codes, each standard code being mapped to a corresponding set of attributes, each set of attributes associated with at least one allergy event; generating, by a vector generator, a plurality of vector embeddings corresponding respectively to the plurality of standard codes, wherein generating the plurality of vector embeddings comprises: applying a first vector embedding function, implemented as a first trained machine learning model, to text of a first set of attributes associated with a first standard code of the plurality of standard codes for a first patient allergy event, to generate a first vector embedding; storing, the plurality of vector embeddings in a second data repository in association with the plurality of standard codes; accessing, the plurality of vector embeddings from the second data repository; computing, by a similarity score calculator, a similarity measure for the target vector embedding and each of the plurality of vector embeddings to generate a plurality of similarity measures, the plurality of similarity measures comprise: a first similarity measure for the target vector embedding and the first vector embedding, wherein computing the similarity measure comprises computing the similarity measure in a high- dimensional embedding space; presenting mapping the first standard code as a candidate standard code for mapping to the target unmapped allergy code to generate a mapping of the target unmapped allergy code to the first standard code) with the teachings of Vinicombe (teaches accessing, a first set of patient allergy data of a first patient from one or more sources, wherein the first set of patient allergy data comprises a target unmapped allergy code corresponding to a target allergy event, the target unmapped allergy code comprises allergy free text; applying a second vector embedding function, implemented as a second trained machine learning model, to the allergy free text of the target unmapped allergy code to generate a target vector embedding for the target unmapped allergy code) with the further teachings of Bormann (teaches a synchronization engine and storing the mapping of the target unmapped allergy code to the first standard code in a third data repository; detecting, by the synchronization engine, a trigger for initiating a synchronization process for synchronizing patient allergy events for a second patient from a plurality of disparate data sources; retrieving, by the synchronization engine, a record for a second patient, the record comprising a second set of patient allergy data of the second patient; determining, by the synchronization engine, that the second set of patient allergy data of the second patient comprises the target unmapped allergy code; retrieving, by the synchronization engine from the third data repository, the mapping of the target unmapped allergy code to the first standard code; and associating the record with the first standard code). One of ordinary skill in the art would have been motivated to make such a combination of providing better results in updating patient records across deployment by maximizing efficiency in sharing data instead of sending the entire patient record when synchronizing (See Bormann: [0171]). In addition, the references (Hane, Vinicombe, and Bormann) teach features that are directed to analogous art and they are directed to the same field of endeavor as Hane, Vinicombe, and Bormann are directed to processing textual data to purposely match in mapping information.
Regarding claim 21, the modification of Hane, Vinicombe, and Bormann teaches claimed invention substantially as claimed, and Hane further teaches
generating and comparing the vector embeddings reduces storage of duplicative allergy records and reduces computational overhead associated with rule-based code matching systems by enabling reuse of the plurality of vector embeddings across multiple patient allergy events (Hane: Col 12, lines 1-15; Various embodiments of the present invention provide a technical solution to these technical problems by transforming medical codes into multi-dimensional vectors in a multi-dimensional space. For example, a medical embedding model may be trained using machine learning such that the medical embedding model may generate an embedding vector dictionary. The embedding vector dictionary may link one or more medical codes to corresponding multi-dimensional vectors. The multi-dimensional vectors may be generated such that a first medical code and a second medical code that are closely related may be assigned and/or may correspond to multi-dimensional vectors that have a smaller distance or smaller angle therebetween in the multi-dimensional space than a third medical code and a fourth medical code that are not closely related. Col 17, lines 58-67 and Col 18, lines 1-12; Further, an aggregate vector may be generated based on a subject. In various embodiments, a subject may be a patient, a particular patient visit, a provider, a provider group, a claim, and/or the like. For example, one or more instances of medical information/data corresponding to a patient (e.g., containing the patient identifier corresponding to the patient) may converted to an aggregate vector by aggregating the multi-dimensional vectors corresponding to the medical codes of the one or more instances of medical information/data, as indicated by the embedding vector dictionary. Similarly, the multi-dimensional vectors corresponding to medical codes of one or more instances of medical information/data having a same provider identifier, provider group identifier, claim identifier, and/or the like and/or corresponding to a particular patient visit may be aggregated to generate and/or form an aggregate vector corresponding to the provider, provider group, claim, and/or particular patient visit. As should be understood, aggregate vectors may be generated for a plurality of subjects. For example, an aggregate vector may be generated for each of a plurality of patients, providers, provider groups, claims, particular patient visits, and/or other subjects. Col 20, lines 21-30; As should be understood, various embodiments provide an improvement over current automated medical information/data analysis. For example, current methods of automated medical information/data analysis include binary encoding an instance of medical information/data that results in each instance of medical information/data having a dimensionality equal to the dimensionality of the set of medical codes. For example, the current procedural terminology (CPT) codes alone define 10,000 codes and ICD-10 diagnoses define over 70,000 codes. Thus, these binary encodings are of very high dimensionality and fail to capture the similarity between two instances of medical information/data. Col 20, lines 35-40; Thus, the current automated medical information/data analysis fails to be able to provide models that are efficient in terms of computing and memory resources and that can harness the insight of medical domain knowledge).
Claims 2-3 and 13-14 are rejected under 35 U.S.C. 103 as being unpatentable over US Patent 10,891,352 issued to Hane et al. (hereinafter as "Hane") in view of U.S Patent 11797775 issued to Vinicombe et al. (hereinafter as “Vinicombe”) in view of U.S Patent Application Publication 2005/0071194 issued to Bormann (hereinafter as “Bormann”) in further view of U.S Patent Application Publication 2020/0126643 issued to D’Souza et al. (hereinafter as “D’Souza”).
Regarding claim 2, the modification of Hane, Vinicombe, and Bormann teaches claimed invention substantially as claimed, however, the modification of Hane, Vinicombe, and Bormann does not explicitly teach a. a first set of standard codes provided by a first entity, and b. a second set of standard codes provided by a second entity, the first set of standard codes being different from the second set of standard codes, and the first entity being different from the second entity
D’Souza teaches a. a first set of standard codes provided by a first entity, and b. a second set of standard codes provided by a second entity, the first set of standard codes being different from the second set of standard codes, and the first entity being different from the second entity (D’Souza; [0119]; a human professional (the “coder”) reads all of the documentation for a patient encounter and enters the appropriate standardized codes (e.g., ICD codes, HCPCS codes, etc.) corresponding to the patient's diagnoses, procedures, etc. The coder is often required to understand and interpret the language of the clinical documents in order to identify the relevant diagnoses, etc., and assign them their corresponding codes).
It would have been obvious to a person of ordinary skill in the art, before the effective filing date of the invention, to modify Hane (teaches accessing, a first data repository, a plurality of standard codes, each standard code being mapped to a corresponding set of attributes, each set of attributes associated with at least one allergy event; generating, by a vector generator, a plurality of vector embeddings corresponding respectively to the plurality of standard codes, wherein generating the plurality of vector embeddings comprises: applying a first vector embedding function, implemented as a first trained machine learning model, to text of a first set of attributes associated with a first standard code of the plurality of standard codes for a first patient allergy event, to generate a first vector embedding; storing, the plurality of vector embeddings in a second data repository in association with the plurality of standard codes; accessing, the plurality of vector embeddings from the second data repository; computing, by a similarity score calculator, a similarity measure for the target vector embedding and each of the plurality of vector embeddings to generate a plurality of similarity measures, the plurality of similarity measures comprise: a first similarity measure for the target vector embedding and the first vector embedding, wherein computing the similarity measure comprises computing the similarity measure in a high- dimensional embedding space; presenting mapping the first standard code as a candidate standard code for mapping to the target unmapped allergy code to generate a mapping of the target unmapped allergy code to the first standard code) with the teachings of Vinicombe (teaches accessing, a first set of patient allergy data of a first patient from one or more sources, wherein the first set of patient allergy data comprises a target unmapped allergy code corresponding to a target allergy event, the target unmapped allergy code comprises allergy free text; applying a second vector embedding function, implemented as a second trained machine learning model, to the allergy free text of the target unmapped allergy code to generate a target vector embedding for the target unmapped allergy code) with the further teachings of Bormann (teaches a synchronization engine and storing the mapping of the target unmapped allergy code to the first standard code in a third data repository; detecting, by the synchronization engine, a trigger for initiating a synchronization process for synchronizing patient allergy events for a second patient from a plurality of disparate data sources; retrieving, by the synchronization engine, a record for a second patient, the record comprising a second set of patient allergy data of the second patient; determining, by the synchronization engine, that the second set of patient allergy data of the second patient comprises the target unmapped allergy code; retrieving, by the synchronization engine from the third data repository, the mapping of the target unmapped allergy code to the first standard code; and associating the record with the first standard code) with the teachings of D’Souza (teaches the plurality of standard codes comprise: a. a first set of standard codes provided by a first entity, and b. a second set of standard codes provided by a second entity, the first set of standard codes being different from the second set of standard codes, and the first entity being different from the second entity). One of ordinary skill in the art would have been motivated to make such a combination of providing better results in providing better fact extraction in organizing data more efficiently (See D’Souza: [0055]). In addition, the references (Hane, Vinicombe, Bormann, and D’Souza) teach features that are directed to analogous art and they are directed to the same field of endeavor as Hane, Vinicombe, Bormann, and D’Souza are directed to processing textual data to purposely match in mapping information.
Regarding claim 3, the modification of Hane, Vinicombe, Bormann, and D’Souza teaches claimed invention substantially as claimed, and D’Souza further teaches the first set of standard codes comprises RxNorm and set of standard codes comprises SNOMED CT (D’Souza: [0089]; particular facts extracted from the text to standard forms and/or codes in which they are to be documented. Some standard terms and/or codes may be derived from a government or profession-wide standard, such as SNOMED (Systematized Nomenclature of Medicine), UMLS (Unified Medical Language System), RxNorm, RadLex, etc).
Regarding claim 13, the modification of Hane, Vinicombe, and Bormann teaches claimed invention substantially as claimed, however, the modification of Hane, Vinicombe, and Bormann does not explicitly teach the plurality of standard codes comprise: a. a first set of standard codes provided by a first entity, and b. a second set of standard codes provided by a second entity, the first set of standard codes being different from the second set of standard codes, and the first entity being different from the second entity
D’Souza teaches the plurality of standard codes comprise: a. a first set of standard codes provided by a first entity, and b. a second set of standard codes provided by a second entity, the first set of standard codes being different from the second set of standard codes, and the first entity being different from the second entity (D’Souza; [0119]; a human professional (the “coder”) reads all of the documentation for a patient encounter and enters the appropriate standardized codes (e.g., ICD codes, HCPCS codes, etc.) corresponding to the patient's diagnoses, procedures, etc. The coder is often required to understand and interpret the language of the clinical documents in order to identify the relevant diagnoses, etc., and assign them their corresponding codes).
It would have been obvious to a person of ordinary skill in the art, before the effective filing date of the invention, to modify Hane (teaches accessing, a first data repository, a plurality of standard codes, each standard code being mapped to a corresponding set of attributes, each set of attributes associated with at least one allergy event; generating, by a vector generator, a plurality of vector embeddings corresponding respectively to the plurality of standard codes, wherein generating the plurality of vector embeddings comprises: applying a first vector embedding function, implemented as a first trained machine learning model, to text of a first set of attributes associated with a first standard code of the plurality of standard codes for a first patient allergy event, to generate a first vector embedding; storing, the plurality of vector embeddings in a second data repository in association with the plurality of standard codes; accessing, the plurality of vector embeddings from the second data repository; computing, by a similarity score calculator, a similarity measure for the target vector embedding and each of the plurality of vector embeddings to generate a plurality of similarity measures, the plurality of similarity measures comprise: a first similarity measure for the target vector embedding and the first vector embedding, wherein computing the similarity measure comprises computing the similarity measure in a high- dimensional embedding space; presenting mapping the first standard code as a candidate standard code for mapping to the target unmapped allergy code to generate a mapping of the target unmapped allergy code to the first standard code) with the teachings of Vinicombe (teaches accessing, a first set of patient allergy data of a first patient from one or more sources, wherein the first set of patient allergy data comprises a target unmapped allergy code corresponding to a target allergy event, the target unmapped allergy code comprises allergy free text; applying a second vector embedding function, implemented as a second trained machine learning model, to the allergy free text of the target unmapped allergy code to generate a target vector embedding for the target unmapped allergy code) with the further teachings of Bormann (teaches a synchronization engine and storing the mapping of the target unmapped allergy code to the first standard code in a third data repository; detecting, by the synchronization engine, a trigger for initiating a synchronization process for synchronizing patient allergy events for a second patient from a plurality of disparate data sources; retrieving, by the synchronization engine, a record for a second patient, the record comprising a second set of patient allergy data of the second patient; determining, by the synchronization engine, that the second set of patient allergy data of the second patient comprises the target unmapped allergy code; retrieving, by the synchronization engine from the third data repository, the mapping of the target unmapped allergy code to the first standard code; and associating the record with the first standard code) with the teachings of D’Souza (teaches the plurality of standard codes comprise: a. a first set of standard codes provided by a first entity, and b. a second set of standard codes provided by a second entity, the first set of standard codes being different from the second set of standard codes, and the first entity being different from the second entity). One of ordinary skill in the art would have been motivated to make such a combination of providing better results in providing better fact extraction in organizing data more efficiently (See D’Souza: [0055]). In addition, the references (Hane, Vinicombe, Bormann, and D’Souza) teach features that are directed to analogous art and they are directed to the same field of endeavor as Hane, Vinicombe, Bormann, and D’Souza are directed to processing textual data to purposely match in mapping information.
Regarding claim 14, the modification of Hane, Vinicombe, Bormann, and D’Souza teaches claimed invention substantially as claimed, and D’Souza further teaches the first set of standard codes comprises RxNorm codes and set of standard codes comprises SNOMED CT codes (D’Souza: [0089]; particular facts extracted from the text to standard forms and/or codes in which they are to be documented. Some standard terms and/or codes may be derived from a government or profession-wide standard, such as SNOMED (Systematized Nomenclature of Medicine), UMLS (Unified Medical Language System), RxNorm, RadLex, etc).
Claims 4 and 15 are rejected under 35 U.S.C. 103 as being unpatentable over US Patent 10,891,352 issued to Hane et al. (hereinafter as "Hane") in view of U.S Patent 11797775 issued to Vinicombe et al. (hereinafter as “Vinicombe”) in view of U.S Patent Application Publication 2005/0071194 issued to Bormann (hereinafter as “Bormann”) in view of U.S Patent Application Publication 2020/0126643 issued to D’Souza et al. (hereinafter as “D’Souza”) in further view of U.S Patent Application Publication 2020/0226321 issued to Burns et al. (hereinafter as "Burns").
Regarding claim 4, the modification of Hane, Vinicombe, Bormann, and D’Souza teaches claimed invention substantially as claimed, however, the modification of Hane, Vinicombe, Bormann, and D’Souza does not explicitly teach a first candidate standard code from the first set of standard codes is presented above a candidate standard code from the second set of standard codes.
BURNS teaches a first candidate standard code from the first set of standard codes is presented above a candidate standard code from the second set of standard codes (BURNS: [0040]; To assign a billing code, the Tf-IDF scores for all of the billing codes are ordered from highest to lowest. In one example, the billing code with the highest Tf-IDF score is assigned to the input record. In another example, a confidence parameter is computed and used to determine the assignment of the billing code).
It would have been obvious to a person of ordinary skill in the art, before the effective filing date of the invention, to modify Hane (teaches accessing, a first data repository, a plurality of standard codes, each standard code being mapped to a corresponding set of attributes, each set of attributes associated with at least one allergy event; generating, by a vector generator, a plurality of vector embeddings corresponding respectively to the plurality of standard codes, wherein generating the plurality of vector embeddings comprises: applying a first vector embedding function, implemented as a first trained machine learning model, to text of a first set of attributes associated with a first standard code of the plurality of standard codes for a first patient allergy event, to generate a first vector embedding; storing, the plurality of vector embeddings in a second data repository in association with the plurality of standard codes; accessing, the plurality of vector embeddings from the second data repository; computing, by a similarity score calculator, a similarity measure for the target vector embedding and each of the plurality of vector embeddings to generate a plurality of similarity measures, the plurality of similarity measures comprise: a first similarity measure for the target vector embedding and the first vector embedding, wherein computing the similarity measure comprises computing the similarity measure in a high- dimensional embedding space; presenting mapping the first standard code as a candidate standard code for mapping to the target unmapped allergy code to generate a mapping of the target unmapped allergy code to the first standard code) with the teachings of Vinicombe (teaches accessing, a first set of patient allergy data of a first patient from one or more sources, wherein the first set of patient allergy data comprises a target unmapped allergy code corresponding to a target allergy event, the target unmapped allergy code comprises allergy free text; applying a second vector embedding function, implemented as a second trained machine learning model, to the allergy free text of the target unmapped allergy code to generate a target vector embedding for the target unmapped allergy code) with the further teachings of Bormann (teaches a synchronization engine and storing the mapping of the target unmapped allergy code to the first standard code in a third data repository; detecting, by the synchronization engine, a trigger for initiating a synchronization process for synchronizing patient allergy events for a second patient from a plurality of disparate data sources; retrieving, by the synchronization engine, a record for a second patient, the record comprising a second set of patient allergy data of the second patient; determining, by the synchronization engine, that the second set of patient allergy data of the second patient comprises the target unmapped allergy code; retrieving, by the synchronization engine from the third data repository, the mapping of the target unmapped allergy code to the first standard code; and associating the record with the first standard code) with the teachings of D’Souza (teaches the plurality of standard codes comprise: a. a first set of standard codes provided by a first entity, and b. a second set of standard codes provided by a second entity, the first set of standard codes being different from the second set of standard codes, and the first entity being different from the second entity) with the further teachings of BURNS (teaches a first candidate standard code from the first set of standard codes is presented above a candidate standard code from the second set of standard codes). One of ordinary skill in the art would have been motivated to make such a combination of providing better results in improving the machine learning model by retraining and updating the record associated to the billing codes (See BURNS: [0024]). In addition, the references (Hane, Vinicombe, Bormann, D’Souza, and BURNS) teach features that are directed to analogous art and they are directed to the same field of endeavor as Hane, Vinicombe, Bormann, D’Souza, and BURNS are directed to processing textual data to purposely match in mapping information.
Regarding claim 15, the modification of Hane, Vinicombe, Bormann, and D’Souza teaches claimed invention substantially as claimed, however, the modification of Hane, Vinicombe, Bormann, and D’Souza does not explicitly teach a first candidate standard code from the first set of standard codes is prioritized over a candidate standard code from the second set of standard codes.
BURNS teaches a first candidate standard code from the first set of standard codes is prioritized over a candidate standard code from the second set of standard codes (BURNS: [0040]; To assign a billing code, the Tf-IDF scores for all of the billing codes are ordered from highest to lowest. In one example, the billing code with the highest Tf-IDF score is assigned to the input record. In another example, a confidence parameter is computed and used to determine the assignment of the billing code).
It would have been obvious to a person of ordinary skill in the art, before the effective filing date of the invention, to modify Hane (teaches accessing, a first data repository, a plurality of standard codes, each standard code being mapped to a corresponding set of attributes, each set of attributes associated with at least one allergy event; generating, by a vector generator, a plurality of vector embeddings corresponding respectively to the plurality of standard codes, wherein generating the plurality of vector embeddings comprises: applying a first vector embedding function, implemented as a first trained machine learning model, to text of a first set of attributes associated with a first standard code of the plurality of standard codes for a first patient allergy event, to generate a first vector embedding; storing, the plurality of vector embeddings in a second data repository in association with the plurality of standard codes; accessing, the plurality of vector embeddings from the second data repository; computing, by a similarity score calculator, a similarity measure for the target vector embedding and each of the plurality of vector embeddings to generate a plurality of similarity measures, the plurality of similarity measures comprise: a first similarity measure for the target vector embedding and the first vector embedding, wherein computing the similarity measure comprises computing the similarity measure in a high- dimensional embedding space; presenting mapping the first standard code as a candidate standard code for mapping to the target unmapped allergy code to generate a mapping of the target unmapped allergy code to the first standard code) with the teachings of Vinicombe (teaches accessing, a first set of patient allergy data of a first patient from one or more sources, wherein the first set of patient allergy data comprises a target unmapped allergy code corresponding to a target allergy event, the target unmapped allergy code comprises allergy free text; applying a second vector embedding function, implemented as a second trained machine learning model, to the allergy free text of the target unmapped allergy code to generate a target vector embedding for the target unmapped allergy code) with the further teachings of Bormann (teaches a synchronization engine and storing the mapping of the target unmapped allergy code to the first standard code in a third data repository; detecting, by the synchronization engine, a trigger for initiating a synchronization process for synchronizing patient allergy events for a second patient from a plurality of disparate data sources; retrieving, by the synchronization engine, a record for a second patient, the record comprising a second set of patient allergy data of the second patient; determining, by the synchronization engine, that the second set of patient allergy data of the second patient comprises the target unmapped allergy code; retrieving, by the synchronization engine from the third data repository, the mapping of the target unmapped allergy code to the first standard code; and associating the record with the first standard code) with the teachings of D’Souza (teaches the plurality of standard codes comprise: a. a first set of standard codes provided by a first entity, and b. a second set of standard codes provided by a second entity, the first set of standard codes being different from the second set of standard codes, and the first entity being different from the second entity) with the further teachings of BURNS (teaches a first candidate standard code from the first set of standard codes is presented above a candidate standard code from the second set of standard codes). One of ordinary skill in the art would have been motivated to make such a combination of providing better results in improving the machine learning model by retraining and updating the record associated to the billing codes (See BURNS: [0024]). In addition, the references (Hane, Vinicombe, Bormann, D’Souza, and BURNS) teach features that are directed to analogous art and they are directed to the same field of endeavor as Hane, Vinicombe, Bormann, D’Souza, and BURNS are directed to processing textual data to purposely match in mapping information.
Claims 5, 9-11, and 16 are rejected under 35 U.S.C. 103 as being unpatentable over US Patent 10,891,352 issued to Hane et al. (hereinafter as "Hane") in view of U.S Patent 11797775 issued to Vinicombe et al. (hereinafter as “Vinicombe”) in view of U.S Patent Application Publication 2005/0071194 issued to Bormann (hereinafter as “Bormann”) in further view of U.S Patent Application Publication 2020/0226321 issued to Burns et al. (hereinafter as "Burns").
Regarding claim 5, the modification of Hane, Vinicombe, and Bormann teaches claimed invention substantially as claimed, however, the modification of Hane, Vinicombe, and Bormann does not explicitly teach generating the plurality of vector embeddings further comprises: applying the first vector embedding function to text of a second set of attributes mapped to a second standard code, of the plurality of standard codes, for a second allergy event, to generate a second vector embedding; and wherein the plurality of similarity measures further comprise: a second similarity measure for the target vector embedding and the second vector embedding; wherein the operations further comprise: based at least on the second similarity measure, refraining from presenting the second standard code as a candidate standard code for mapping to the target unmapped allergy code.
Burns teaches generating the plurality of vector embeddings further comprises: applying the first vector embedding function machine learning model to text of a second set of attributes mapped to a second standard code, of the plurality of standard codes, for a second allergy event, to generate a second vector embedding (Burns: [0021]-[0022]; The text processor 12 is configured to receive an input record, where the input record represents a medical procedure performed on a patient and the input record includes a text description describing the medical procedure. The classifier 14 receives the input record, including standardized form of the text description, from the text processor 12. The classifier 14 operates to assign a billing code from the listing of possible billing codes 16 to the input record. [0037]; By a learnable function, a text sequence representation is derived by mapping embedded words into a latent space. LEAM brings in additional information by embedding not only the words in the text but also the target labels from the listing of possible billing codes (i.e., the formal description for each Anesthesia CPT code). Each word from this description is embedded and the average is taken as the embedding of the label. Next, LEAM computes a “compatibility matrix” between embedded words and labels via cosine similarity. LEAM used convolution on the “compatibility matrix” and learned to calculate the attention score for each word); and wherein
the plurality of similarity measures further comprise: a second similarity measure for the target vector embedding and the second vector embedding (Burns: [0037]; By a learnable function, a text sequence representation is derived by mapping embedded words into a latent space. LEAM brings in additional information by embedding not only the words in the text but also the target labels from the listing of possible billing codes (i.e., the formal description for each Anesthesia CPT code). Each word from this description is embedded and the average is taken as the embedding of the label. Next, LEAM computes a “compatibility matrix” between embedded words and labels via cosine similarity); wherein
the operations further comprise: based at least on the second similarity measure, refraining from presenting the second standard code as a candidate standard code for mapping to the target unmapped allergy code (Burns: [0040]; To assign a billing code, the Tf-IDF scores for all of the billing codes are ordered from highest to lowest. In one example, the billing code with the highest Tf-IDF score is assigned to the input record. In another example, a confidence parameter is computed and used to determine the assignment of the billing code. The confidence parameter is computed as a ratio of the highest score to the second highest score. If the value of the confidence parameter is high (e.g., >1.6), then the billing code with the highest Tf-IDF score is assigned to the input record; otherwise (i.e., <1.6), no billing code is assigned to the input record).
It would have been obvious to a person of ordinary skill in the art, before the effective filing date of the invention, to modify Hane (teaches accessing, a first data repository, a plurality of standard codes, each standard code being mapped to a corresponding set of attributes, each set of attributes associated with at least one allergy event; generating, by a vector generator, a plurality of vector embeddings corresponding respectively to the plurality of standard codes, wherein generating the plurality of vector embeddings comprises: applying a first vector embedding function, implemented as a first trained machine learning model, to text of a first set of attributes associated with a first standard code of the plurality of standard codes for a first patient allergy event, to generate a first vector embedding; storing, the plurality of vector embeddings in a second data repository in association with the plurality of standard codes; accessing, the plurality of vector embeddings from the second data repository; computing, by a similarity score calculator, a similarity measure for the target vector embedding and each of the plurality of vector embeddings to generate a plurality of similarity measures, the plurality of similarity measures comprise: a first similarity measure for the target vector embedding and the first vector embedding, wherein computing the similarity measure comprises computing the similarity measure in a high- dimensional embedding space; presenting mapping the first standard code as a candidate standard code for mapping to the target unmapped allergy code to generate a mapping of the target unmapped allergy code to the first standard code) with the teachings of Vinicombe (teaches accessing, a first set of patient allergy data of a first patient from one or more sources, wherein the first set of patient allergy data comprises a target unmapped allergy code corresponding to a target allergy event, the target unmapped allergy code comprises allergy free text; applying a second vector embedding function, implemented as a second trained machine learning model, to the allergy free text of the target unmapped allergy code to generate a target vector embedding for the target unmapped allergy code) with the further teachings of Bormann (teaches a synchronization engine and storing the mapping of the target unmapped allergy code to the first standard code in a third data repository; detecting, by the synchronization engine, a trigger for initiating a synchronization process for synchronizing patient allergy events for a second patient from a plurality of disparate data sources; retrieving, by the synchronization engine, a record for a second patient, the record comprising a second set of patient allergy data of the second patient; determining, by the synchronization engine, that the second set of patient allergy data of the second patient comprises the target unmapped allergy code; retrieving, by the synchronization engine from the third data repository, the mapping of the target unmapped allergy code to the first standard code; and associating the record with the first standard code) with the further teachings of BURNS (teaches applying the first vector embedding function machine learning model to text of a second set of attributes mapped to a second standard code, of the plurality of standard codes, for a second allergy event, to generate a second vector embedding; and wherein the plurality of similarity measures further comprise: a second similarity measure for the target vector embedding and the second vector embedding; wherein the operations further comprise: based at least on the second similarity measure, refraining from presenting the second standard code as a candidate standard code for mapping to the target unmapped allergy code). One of ordinary skill in the art would have been motivated to make such a combination of providing better results in improving the machine learning model by retraining and updating the record associated to the billing codes (See BURNS: [0024]). In addition, the references (Hane, Vinicombe, Bormann, and BURNS) teach features that are directed to analogous art and they are directed to the same field of endeavor as Hane, Vinicombe, Bormann, and BURNS are directed to processing textual data to purposely match in mapping information.
Regarding claim 9, the modification of Hane, Vinicombe, and Bormann teaches claimed invention substantially as claimed, however, the modification of Hane, Vinicombe, and Bormann does not explicitly teach the first similarity measure comprises a weighted cosine similarity measure for the target vector embedding and the first vector embedding.
Burns teaches the first similarity measure comprises a weighted cosine similarity measure for the target vector embedding and the first vector embedding (Burns: [0037]; By a learnable function, a text sequence representation is derived by mapping embedded words into a latent space. LEAM brings in additional information by embedding not only the words in the text but also the target labels from the listing of possible billing codes (i.e., the formal description for each Anesthesia CPT code). Each word from this description is embedded and the average is taken as the embedding of the label. Next, LEAM computes a “compatibility matrix” between embedded words and labels via cosine similarity. LEAM used convolution on the “compatibility matrix” and learned to calculate the attention score for each word).
It would have been obvious to a person of ordinary skill in the art, before the effective filing date of the invention, to modify Hane (teaches accessing, a first data repository, a plurality of standard codes, each standard code being mapped to a corresponding set of attributes, each set of attributes associated with at least one allergy event; generating, by a vector generator, a plurality of vector embeddings corresponding respectively to the plurality of standard codes, wherein generating the plurality of vector embeddings comprises: applying a first vector embedding function, implemented as a first trained machine learning model, to text of a first set of attributes associated with a first standard code of the plurality of standard codes for a first patient allergy event, to generate a first vector embedding; storing, the plurality of vector embeddings in a second data repository in association with the plurality of standard codes; accessing, the plurality of vector embeddings from the second data repository; computing, by a similarity score calculator, a similarity measure for the target vector embedding and each of the plurality of vector embeddings to generate a plurality of similarity measures, the plurality of similarity measures comprise: a first similarity measure for the target vector embedding and the first vector embedding, wherein computing the similarity measure comprises computing the similarity measure in a high- dimensional embedding space; presenting mapping the first standard code as a candidate standard code for mapping to the target unmapped allergy code to generate a mapping of the target unmapped allergy code to the first standard code) with the teachings of Vinicombe (teaches accessing, a first set of patient allergy data of a first patient from one or more sources, wherein the first set of patient allergy data comprises a target unmapped allergy code corresponding to a target allergy event, the target unmapped allergy code comprises allergy free text; applying a second vector embedding function, implemented as a second trained machine learning model, to the allergy free text of the target unmapped allergy code to generate a target vector embedding for the target unmapped allergy code) with the further teachings of Bormann (teaches a synchronization engine and storing the mapping of the target unmapped allergy code to the first standard code in a third data repository; detecting, by the synchronization engine, a trigger for initiating a synchronization process for synchronizing patient allergy events for a second patient from a plurality of disparate data sources; retrieving, by the synchronization engine, a record for a second patient, the record comprising a second set of patient allergy data of the second patient; determining, by the synchronization engine, that the second set of patient allergy data of the second patient comprises the target unmapped allergy code; retrieving, by the synchronization engine from the third data repository, the mapping of the target unmapped allergy code to the first standard code; and associating the record with the first standard code) with the further teachings of BURNS (teaches the first similarity measure comprises a weighted cosine similarity measure for the target vector embedding and the first vector embedding). One of ordinary skill in the art would have been motivated to make such a combination of providing better results in improving the machine learning model by retraining and updating the record associated to the billing codes (See BURNS: [0024]). In addition, the references (Hane, Vinicombe, Bormann, and BURNS) teach features that are directed to analogous art and they are directed to the same field of endeavor as Hane, Vinicombe, Bormann, and BURNS are directed to processing textual data to purposely match in mapping information.
Regarding claim 10, the modification of Hane, Vinicombe, and Bormann teaches claimed invention substantially as claimed, however, the modification of Hane, Vinicombe, and Bormann does not explicitly teach the operations further comprise: identifying n highest similarity measures of the plurality of similarity measures; and presenting standard codes, mapped to embedding vectors that correspond to the n highest similarity measures, as candidate standard codes for mapping to the target unmapped allergy code.
Burns teaches the operations further comprise: identifying n highest similarity measures of the plurality of similarity measures (Burns: [0040]; To assign a billing code, the Tf-IDF scores for all of the billing codes are ordered from highest to lowest. In one example, the billing code with the highest Tf-IDF score is assigned to the input record. In another example, a confidence parameter is computed and used to determine the assignment of the billing code. In such cases, the highest n scores are presented to a billing specialist (along with a confidence for assignment) who in turn manually assigns a billing code of the input record); and
presenting standard codes, mapped to embedding vectors that correspond to the n highest similarity measures, as candidate standard codes for mapping to the target unmapped allergy code (Burns: [0040]; To assign a billing code, the Tf-IDF scores for all of the billing codes are ordered from highest to lowest. In one example, the billing code with the highest Tf-IDF score is assigned to the input record. In another example, a confidence parameter is computed and used to determine the assignment of the billing code. The confidence parameter is computed as a ratio of the highest score to the second highest score. If the value of the confidence parameter is high (e.g., >1.6), then the billing code with the highest Tf-IDF score is assigned to the input record; In such cases, the highest n scores are presented to a billing specialist (along with a confidence for assignment) who in turn manually assigns a billing code of the input record).
It would have been obvious to a person of ordinary skill in the art, before the effective filing date of the invention, to modify Hane (teaches accessing, a first data repository, a plurality of standard codes, each standard code being mapped to a corresponding set of attributes, each set of attributes associated with at least one allergy event; generating, by a vector generator, a plurality of vector embeddings corresponding respectively to the plurality of standard codes, wherein generating the plurality of vector embeddings comprises: applying a first vector embedding function, implemented as a first trained machine learning model, to text of a first set of attributes associated with a first standard code of the plurality of standard codes for a first patient allergy event, to generate a first vector embedding; storing, the plurality of vector embeddings in a second data repository in association with the plurality of standard codes; accessing, the plurality of vector embeddings from the second data repository; computing, by a similarity score calculator, a similarity measure for the target vector embedding and each of the plurality of vector embeddings to generate a plurality of similarity measures, the plurality of similarity measures comprise: a first similarity measure for the target vector embedding and the first vector embedding, wherein computing the similarity measure comprises computing the similarity measure in a high- dimensional embedding space; presenting mapping the first standard code as a candidate standard code for mapping to the target unmapped allergy code to generate a mapping of the target unmapped allergy code to the first standard code) with the teachings of Vinicombe (teaches accessing, a first set of patient allergy data of a first patient from one or more sources, wherein the first set of patient allergy data comprises a target unmapped allergy code corresponding to a target allergy event, the target unmapped allergy code comprises allergy free text; applying a second vector embedding function, implemented as a second trained machine learning model, to the allergy free text of the target unmapped allergy code to generate a target vector embedding for the target unmapped allergy code) with the further teachings of Bormann (teaches a synchronization engine and storing the mapping of the target unmapped allergy code to the first standard code in a third data repository; detecting, by the synchronization engine, a trigger for initiating a synchronization process for synchronizing patient allergy events for a second patient from a plurality of disparate data sources; retrieving, by the synchronization engine, a record for a second patient, the record comprising a second set of patient allergy data of the second patient; determining, by the synchronization engine, that the second set of patient allergy data of the second patient comprises the target unmapped allergy code; retrieving, by the synchronization engine from the third data repository, the mapping of the target unmapped allergy code to the first standard code; and associating the record with the first standard code) with the further teachings of BURNS (teaches identifying n highest similarity measures of the plurality of similarity measures; and presenting standard codes, mapped to embedding vectors that correspond to the n highest similarity measures, as candidate standard codes for mapping to the target unmapped allergy code). One of ordinary skill in the art would have been motivated to make such a combination of providing better results in improving the machine learning model by retraining and updating the record associated to the billing codes (See BURNS: [0024]). In addition, the references (Hane, Vinicombe, Bormann, and BURNS) teach features that are directed to analogous art and they are directed to the same field of endeavor as Hane, Vinicombe, Bormann, and BURNS are directed to processing textual data to purposely match in mapping information.
Regarding claim 11, the modification of Hane, Vinicombe, and Bormann teaches claimed invention substantially as claimed, however, the modification of Hane, Vinicombe, and Bormann does not explicitly teach the operations further comprise: identifying a subset of similarity measures, of the plurality of similarity measures, that meet a threshold similarity measure; and presenting standard codes, mapped to embedding vectors that correspond to the subset of similarity measures, as candidate standard codes for mapping to the target unmapped allergy code.
Burns teaches the operations further comprise: identifying a subset of similarity measures, of the plurality of similarity measures, that meet a threshold similarity measure (Burns: [0040]; To assign a billing code, the Tf-IDF scores for all of the billing codes are ordered from highest to lowest. In one example, the billing code with the highest Tf-IDF score is assigned to the input record. In another example, a confidence parameter is computed and used to determine the assignment of the billing code. If the value of the confidence parameter is high (e.g., >1.6), then the billing code with the highest Tf-IDF score is assigned to the input record; otherwise (i.e., <1.6), no billing code is assigned to the input record. In such cases, the highest n scores are presented to a billing specialist (along with a confidence for assignment)); and
presenting standard codes, mapped to embedding vectors that correspond to the subset of similarity measures, as candidate standard codes for mapping to the target unmapped allergy code (Burns: [0021]; The text processor 12 is configured to receive an input record, where the input record represents a medical procedure performed on a patient and the input record includes a text description
[0040]; To assign a billing code, the Tf-IDF scores for all of the billing codes are ordered from highest to lowest. In one example, the billing code with the highest Tf-IDF score is assigned to the input record. In another example, a confidence parameter is computed and used to determine the assignment of the billing code. If the value of the confidence parameter is high (e.g., >1.6), then the billing code with the highest Tf-IDF score is assigned to the input record; otherwise (i.e., <1.6), no billing code is assigned to the input record. In such cases, the highest n scores are presented to a billing specialist (along with a confidence for assignment)).
It would have been obvious to a person of ordinary skill in the art, before the effective filing date of the invention, to modify Hane (teaches accessing, a first data repository, a plurality of standard codes, each standard code being mapped to a corresponding set of attributes, each set of attributes associated with at least one allergy event; generating, by a vector generator, a plurality of vector embeddings corresponding respectively to the plurality of standard codes, wherein generating the plurality of vector embeddings comprises: applying a first vector embedding function, implemented as a first trained machine learning model, to text of a first set of attributes associated with a first standard code of the plurality of standard codes for a first patient allergy event, to generate a first vector embedding; storing, the plurality of vector embeddings in a second data repository in association with the plurality of standard codes; accessing, the plurality of vector embeddings from the second data repository; computing, by a similarity score calculator, a similarity measure for the target vector embedding and each of the plurality of vector embeddings to generate a plurality of similarity measures, the plurality of similarity measures comprise: a first similarity measure for the target vector embedding and the first vector embedding, wherein computing the similarity measure comprises computing the similarity measure in a high- dimensional embedding space; presenting mapping the first standard code as a candidate standard code for mapping to the target unmapped allergy code to generate a mapping of the target unmapped allergy code to the first standard code) with the teachings of Vinicombe (teaches accessing, a first set of patient allergy data of a first patient from one or more sources, wherein the first set of patient allergy data comprises a target unmapped allergy code corresponding to a target allergy event, the target unmapped allergy code comprises allergy free text; applying a second vector embedding function, implemented as a second trained machine learning model, to the allergy free text of the target unmapped allergy code to generate a target vector embedding for the target unmapped allergy code) with the further teachings of Bormann (teaches a synchronization engine and storing the mapping of the target unmapped allergy code to the first standard code in a third data repository; detecting, by the synchronization engine, a trigger for initiating a synchronization process for synchronizing patient allergy events for a second patient from a plurality of disparate data sources; retrieving, by the synchronization engine, a record for a second patient, the record comprising a second set of patient allergy data of the second patient; determining, by the synchronization engine, that the second set of patient allergy data of the second patient comprises the target unmapped allergy code; retrieving, by the synchronization engine from the third data repository, the mapping of the target unmapped allergy code to the first standard code; and associating the record with the first standard code) with the further teachings of BURNS (teaches identifying a subset of similarity measures, of the plurality of similarity measures, that meet a threshold similarity measure; and presenting standard codes, mapped to embedding vectors that correspond to the subset of similarity measures, as candidate standard codes for mapping to the target unmapped allergy code). One of ordinary skill in the art would have been motivated to make such a combination of providing better results in improving the machine learning model by retraining and updating the record associated to the billing codes (See BURNS: [0024]). In addition, the references (Hane, Vinicombe, Bormann, and BURNS) teach features that are directed to analogous art and they are directed to the same field of endeavor as Hane, Vinicombe, Bormann, and BURNS are directed to processing textual data to purposely match in mapping information.
Regarding claim 16, the modification of Hane, Vinicombe, and Bormann teaches claimed invention substantially as claimed, however, the modification of Hane, Vinicombe, and Bormann does not explicitly teach generating the plurality of vector embeddings further comprises: applying the first vector embedding function to text of a second set of attributes mapped to a second standard code, of the plurality of standard codes, for a second allergy event, to generate a second vector embedding; wherein the plurality of similarity measures further comprise: a second similarity measure for the target vector embedding and the second vector embedding; and the method further comprising: based at least on the second similarity measure, refraining from presenting the second standard code as a candidate standard code for mapping to the target unmapped allergy code.
Burns teaches generating the plurality of vector embeddings further comprises: applying the first vector embedding function machine learning model to text of a second set of attributes mapped to a second standard code, of the plurality of standard codes, for a second allergy event, to generate a second vector embedding (Burns: [0021]-[0022]; The text processor 12 is configured to receive an input record, where the input record represents a medical procedure performed on a patient and the input record includes a text description describing the medical procedure. The classifier 14 receives the input record, including standardized form of the text description, from the text processor 12. The classifier 14 operates to assign a billing code from the listing of possible billing codes 16 to the input record. [0037]; By a learnable function, a text sequence representation is derived by mapping embedded words into a latent space. LEAM brings in additional information by embedding not only the words in the text but also the target labels from the listing of possible billing codes (i.e., the formal description for each Anesthesia CPT code). Each word from this description is embedded and the average is taken as the embedding of the label. Next, LEAM computes a “compatibility matrix” between embedded words and labels via cosine similarity. LEAM used convolution on the “compatibility matrix” and learned to calculate the attention score for each word); wherein
the plurality of similarity measures further comprise: a second similarity measure for the target vector embedding and the second vector embedding (Burns: [0037]; By a learnable function, a text sequence representation is derived by mapping embedded words into a latent space. LEAM brings in additional information by embedding not only the words in the text but also the target labels from the listing of possible billing codes (i.e., the formal description for each Anesthesia CPT code). Each word from this description is embedded and the average is taken as the embedding of the label. Next, LEAM computes a “compatibility matrix” between embedded words and labels via cosine similarity); and
the method further comprising: based at least on the second similarity measure, refraining from presenting the second standard code as a candidate standard code for mapping to the target unmapped allergy code (Burns: [0040]; To assign a billing code, the Tf-IDF scores for all of the billing codes are ordered from highest to lowest. In one example, the billing code with the highest Tf-IDF score is assigned to the input record. In another example, a confidence parameter is computed and used to determine the assignment of the billing code. The confidence parameter is computed as a ratio of the highest score to the second highest score. If the value of the confidence parameter is high (e.g., >1.6), then the billing code with the highest Tf-IDF score is assigned to the input record; otherwise (i.e., <1.6), no billing code is assigned to the input record).
It would have been obvious to a person of ordinary skill in the art, before the effective filing date of the invention, to modify Hane (teaches accessing, a first data repository, a plurality of standard codes, each standard code being mapped to a corresponding set of attributes, each set of attributes associated with at least one allergy event; generating, by a vector generator, a plurality of vector embeddings corresponding respectively to the plurality of standard codes, wherein generating the plurality of vector embeddings comprises: applying a first vector embedding function, implemented as a first trained machine learning model, to text of a first set of attributes associated with a first standard code of the plurality of standard codes for a first patient allergy event, to generate a first vector embedding; storing, the plurality of vector embeddings in a second data repository in association with the plurality of standard codes; accessing, the plurality of vector embeddings from the second data repository; computing, by a similarity score calculator, a similarity measure for the target vector embedding and each of the plurality of vector embeddings to generate a plurality of similarity measures, the plurality of similarity measures comprise: a first similarity measure for the target vector embedding and the first vector embedding, wherein computing the similarity measure comprises computing the similarity measure in a high- dimensional embedding space; presenting mapping the first standard code as a candidate standard code for mapping to the target unmapped allergy code to generate a mapping of the target unmapped allergy code to the first standard code) with the teachings of Vinicombe (teaches accessing, a first set of patient allergy data of a first patient from one or more sources, wherein the first set of patient allergy data comprises a target unmapped allergy code corresponding to a target allergy event, the target unmapped allergy code comprises allergy free text; applying a second vector embedding function, implemented as a second trained machine learning model, to the allergy free text of the target unmapped allergy code to generate a target vector embedding for the target unmapped allergy code) with the further teachings of Bormann (teaches a synchronization engine and storing the mapping of the target unmapped allergy code to the first standard code in a third data repository; detecting, by the synchronization engine, a trigger for initiating a synchronization process for synchronizing patient allergy events for a second patient from a plurality of disparate data sources; retrieving, by the synchronization engine, a record for a second patient, the record comprising a second set of patient allergy data of the second patient; determining, by the synchronization engine, that the second set of patient allergy data of the second patient comprises the target unmapped allergy code; retrieving, by the synchronization engine from the third data repository, the mapping of the target unmapped allergy code to the first standard code; and associating the record with the first standard code) with the further teachings of BURNS (teaches applying the first vector embedding function machine learning model to text of a second set of attributes mapped to a second standard code, of the plurality of standard codes, for a second allergy event, to generate a second vector embedding; wherein the plurality of similarity measures further comprise: a second similarity measure for the target vector embedding and the second vector embedding; and the method further comprising: based at least on the second similarity measure, refraining from presenting the second standard code as a candidate standard code for mapping to the target unmapped allergy code). One of ordinary skill in the art would have been motivated to make such a combination of providing better results in improving the machine learning model by retraining and updating the record associated to the billing codes (See BURNS: [0024]). In addition, the references (Hane, Vinicombe, Bormann, and BURNS) teach features that are directed to analogous art and they are directed to the same field of endeavor as Hane, Vinicombe, Bormann, and BURNS are directed to processing textual data to purposely match in mapping information.
Claims 7-8 and 18-19 are rejected under 35 U.S.C. 103 as being unpatentable over US Patent 10,891,352 issued to Hane et al. (hereinafter as "Hane") in view of U.S Patent 11797775 issued to Vinicombe et al. (hereinafter as “Vinicombe”) in view of U.S Patent Application Publication 2005/0071194 issued to Bormann (hereinafter as “Bormann”) in further view of U.S Patent Application Publication 2022/0384023 issued to Granvold et al. (hereinafter as “Granvold”).
Regarding claim 7, the modification of Hane, Vinicombe, and Bormann teaches claimed invention substantially as claimed, however, the modification of Hane, Vinicombe, and Bormann does not explicitly teach the operations further comprising, identifying one or more standard codes that are similar to the first standard code; and generating a first grouping comprising the first standard code and the one or more standard codes that are similar to the first standard code, wherein presenting the first standard code further comprises presenting the first grouping.
Granvold teaches the operations further comprising, identifying one or more standard codes that are similar to the first standard code (Granvold: [0085]; For example, at least some transformers 310 may be configured to transform reference standards (e.g., the RxNorm® standard, Logical Observation Identifiers Names and Codes (LOINC) standard, vaccines administered data (CVX), etc.), others may be configured to transform ValueSets (e.g., FHIR ValueSets), and others may be configured to transform input from subject matter experts 308 e (e.g., grouping health record items, charting health record data, and identifying suitable display strings for health record items)); and
generating a first grouping comprising the first standard code and the one or more standard codes that are similar to the first standard code, wherein presenting the first standard code further comprises presenting the first grouping (Granvold: [0085]; For example, at least some transformers 310 may be configured to transform reference standards (e.g., the RxNorm® standard, Logical Observation Identifiers Names and Codes (LOINC) standard, vaccines administered data (CVX), etc.), others may be configured to transform ValueSets (e.g., FHIR ValueSets), and others may be configured to transform input from subject matter experts 308 e (e.g., grouping health record items, charting health record data, and identifying suitable display strings for health record items)).
It would have been obvious to a person of ordinary skill in the art, before the effective filing date of the invention, to modify Hane (teaches accessing, a first data repository, a plurality of standard codes, each standard code being mapped to a corresponding set of attributes, each set of attributes associated with at least one allergy event; generating, by a vector generator, a plurality of vector embeddings corresponding respectively to the plurality of standard codes, wherein generating the plurality of vector embeddings comprises: applying a first vector embedding function, implemented as a first trained machine learning model, to text of a first set of attributes associated with a first standard code of the plurality of standard codes for a first patient allergy event, to generate a first vector embedding; storing, the plurality of vector embeddings in a second data repository in association with the plurality of standard codes; accessing, the plurality of vector embeddings from the second data repository; computing, by a similarity score calculator, a similarity measure for the target vector embedding and each of the plurality of vector embeddings to generate a plurality of similarity measures, the plurality of similarity measures comprise: a first similarity measure for the target vector embedding and the first vector embedding, wherein computing the similarity measure comprises computing the similarity measure in a high- dimensional embedding space; presenting mapping the first standard code as a candidate standard code for mapping to the target unmapped allergy code to generate a mapping of the target unmapped allergy code to the first standard code) with the teachings of Vinicombe (teaches accessing, a first set of patient allergy data of a first patient from one or more sources, wherein the first set of patient allergy data comprises a target unmapped allergy code corresponding to a target allergy event, the target unmapped allergy code comprises allergy free text; applying a second vector embedding function, implemented as a second trained machine learning model, to the allergy free text of the target unmapped allergy code to generate a target vector embedding for the target unmapped allergy code) with the further teachings of Bormann (teaches a synchronization engine and storing the mapping of the target unmapped allergy code to the first standard code in a third data repository; detecting, by the synchronization engine, a trigger for initiating a synchronization process for synchronizing patient allergy events for a second patient from a plurality of disparate data sources; retrieving, by the synchronization engine, a record for a second patient, the record comprising a second set of patient allergy data of the second patient; determining, by the synchronization engine, that the second set of patient allergy data of the second patient comprises the target unmapped allergy code; retrieving, by the synchronization engine from the third data repository, the mapping of the target unmapped allergy code to the first standard code; and associating the record with the first standard code) with the further teachings of Granvold (teaches identifying one or more standard codes that are similar to the first standard code; and generating a first grouping comprising the first standard code and the one or more standard codes that are similar to the first standard codes, wherein presenting the first standard code further comprises presenting the first grouping). One of ordinary skill in the art would have been motivated to make such a combination of providing better results in improving the function of the device to index and organize when presenting health records (See Granvold: [0053]). In addition, the references (Hane, Vinicombe, Bormann, and Granvold) teach features that are directed to analogous art and they are directed to the same field of endeavor as Hane, Vinicombe, Bormann, and Granvold are directed to processing textual data to purposely match in mapping information.
Regarding claim 8, the modification of Hane, Vinicombe, Bormann, and Granvold teaches claimed invention substantially as claimed, and Granvold further teaches the first set of patient allergy data further comprises a second allergy event, wherein a second standard code corresponds to the second allergy event, wherein the operations further comprise: identifying that the second standard code associated with the second allergy event corresponds to one of the one or more standard codes that are similar to the first standard code in the first grouping (Granvold: [0085]; For example, at least some transformers 310 may be configured to transform reference standards (e.g., the RxNorm® standard, Logical Observation Identifiers Names and Codes (LOINC) standard, vaccines administered data (CVX), etc.), others may be configured to transform ValueSets (e.g., FHIR ValueSets), and others may be configured to transform input from subject matter experts 308 e (e.g., grouping health record items, charting health record data, and identifying suitable display strings for health record items));
Granvold does not explicitly teach removing one of the target allergy event or second allergy event from the first set of patient allergy data as being duplicative.
However, Hane further teaches removing one of the target allergy event or second allergy event from the first set of patient allergy data as being duplicative (Hane: Col 14, lines 26-36; The set of medical sentences corresponding to the patient may then be filtered to remove any repeated/duplicate diagnosis codes for high cholesterol. In another example embodiment, set of medical sentences corresponding to a patient identifier may be filtered to remove repeated/duplicate prescription/drug codes. For example, if a patient is prescribed a long term and/or maintenance drug (e.g., a statin) a plurality of instances of medical information/data may include the prescription/drug code corresponding to the long term and/or maintenance drug).
Regarding claim 18, the modification of Hane, Vinicombe, and Bormann teaches claimed invention substantially as claimed, however, the modification of Hane, Vinicombe, and Bormann does not explicitly teach comprising identifying one or more standard codes that are similar to the first standard code; and generating a first grouping comprising the first standard code and the one or more standard codes that are similar to the first standard code, wherein presenting the first standard code further comprises presenting the first grouping.
Granvold teaches comprising identifying one or more standard codes that are similar to the first standard code (Granvold: [0085]; For example, at least some transformers 310 may be configured to transform reference standards (e.g., the RxNorm® standard, Logical Observation Identifiers Names and Codes (LOINC) standard, vaccines administered data (CVX), etc.), others may be configured to transform ValueSets (e.g., FHIR ValueSets), and others may be configured to transform input from subject matter experts 308 e (e.g., grouping health record items, charting health record data, and identifying suitable display strings for health record items)); and
generating a first grouping comprising the first standard code and the one or more standard codes that are similar to the first standard codes (Granvold: [0085]; For example, at least some transformers 310 may be configured to transform reference standards (e.g., the RxNorm® standard, Logical Observation Identifiers Names and Codes (LOINC) standard, vaccines administered data (CVX), etc.), others may be configured to transform ValueSets (e.g., FHIR ValueSets), and others may be configured to transform input from subject matter experts 308 e (e.g., grouping health record items, charting health record data, and identifying suitable display strings for health record items)), wherein
presenting the first standard code further comprises presenting the first grouping (Granvold: [0085]; For example, at least some transformers 310 may be configured to transform reference standards (e.g., the RxNorm® standard, Logical Observation Identifiers Names and Codes (LOINC) standard, vaccines administered data (CVX), etc.), others may be configured to transform ValueSets (e.g., FHIR ValueSets), and others may be configured to transform input from subject matter experts 308 e (e.g., grouping health record items, charting health record data, and identifying suitable display strings for health record items)).
It would have been obvious to a person of ordinary skill in the art, before the effective filing date of the invention, to modify Hane (teaches accessing, a first data repository, a plurality of standard codes, each standard code being mapped to a corresponding set of attributes, each set of attributes associated with at least one allergy event; generating, by a vector generator, a plurality of vector embeddings corresponding respectively to the plurality of standard codes, wherein generating the plurality of vector embeddings comprises: applying a first vector embedding function, implemented as a first trained machine learning model, to text of a first set of attributes associated with a first standard code of the plurality of standard codes for a first patient allergy event, to generate a first vector embedding; storing, the plurality of vector embeddings in a second data repository in association with the plurality of standard codes; accessing, the plurality of vector embeddings from the second data repository; computing, by a similarity score calculator, a similarity measure for the target vector embedding and each of the plurality of vector embeddings to generate a plurality of similarity measures, the plurality of similarity measures comprise: a first similarity measure for the target vector embedding and the first vector embedding, wherein computing the similarity measure comprises computing the similarity measure in a high- dimensional embedding space; presenting mapping the first standard code as a candidate standard code for mapping to the target unmapped allergy code to generate a mapping of the target unmapped allergy code to the first standard code) with the teachings of Vinicombe (teaches accessing, a first set of patient allergy data of a first patient from one or more sources, wherein the first set of patient allergy data comprises a target unmapped allergy code corresponding to a target allergy event, the target unmapped allergy code comprises allergy free text; applying a second vector embedding function, implemented as a second trained machine learning model, to the allergy free text of the target unmapped allergy code to generate a target vector embedding for the target unmapped allergy code) with the further teachings of Bormann (teaches a synchronization engine and storing the mapping of the target unmapped allergy code to the first standard code in a third data repository; detecting, by the synchronization engine, a trigger for initiating a synchronization process for synchronizing patient allergy events for a second patient from a plurality of disparate data sources; retrieving, by the synchronization engine, a record for a second patient, the record comprising a second set of patient allergy data of the second patient; determining, by the synchronization engine, that the second set of patient allergy data of the second patient comprises the target unmapped allergy code; retrieving, by the synchronization engine from the third data repository, the mapping of the target unmapped allergy code to the first standard code; and associating the record with the first standard code) with the further teachings of Granvold (teaches identifying one or more standard codes that are similar to the first standard code; and generating a first grouping comprising the first standard code and the one or more standard codes that are similar to the first standard codes, wherein presenting the first standard code further comprises presenting the first grouping). One of ordinary skill in the art would have been motivated to make such a combination of providing better results in improving the function of the device to index and organize when presenting health records (See Granvold: [0053]). In addition, the references (Hane, Vinicombe, Bormann, and Granvold) teach features that are directed to analogous art and they are directed to the same field of endeavor as Hane, Vinicombe, Bormann, and Granvold are directed to processing textual data to purposely match in mapping information.
Regarding claim 19, the modification of Hane, Vinicombe, Bormann, and Granvold teaches claimed invention substantially as claimed, and Granvold further teaches the first set of patient allergy data further comprises a second allergy event, wherein a second standard code corresponds to the second allergy event, wherein the method further comprises: identifying that the second standard code associated with the second allergy event corresponds to one of the one or more standard codes that are similar to the first standard code in the first grouping (Granvold: [0085]; For example, at least some transformers 310 may be configured to transform reference standards (e.g., the RxNorm® standard, Logical Observation Identifiers Names and Codes (LOINC) standard, vaccines administered data (CVX), etc.), others may be configured to transform ValueSets (e.g., FHIR ValueSets), and others may be configured to transform input from subject matter experts 308 e (e.g., grouping health record items, charting health record data, and identifying suitable display strings for health record items));
Granvold does not explicitly teach removing one of the target allergy event or second allergy event from the first set of patient allergy data as being duplicative of the other of the target allergy event or second allergy event.
However, Hane further teaches removing one of the target allergy event or second allergy event from the first set of patient allergy data as being duplicative (Hane: Col 14, lines 26-36; The set of medical sentences corresponding to the patient may then be filtered to remove any repeated/duplicate diagnosis codes for high cholesterol. In another example embodiment, set of medical sentences corresponding to a patient identifier may be filtered to remove repeated/duplicate prescription/drug codes. For example, if a patient is prescribed a long term and/or maintenance drug (e.g., a statin) a plurality of instances of medical information/data may include the prescription/drug code corresponding to the long term and/or maintenance drug).
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
U.S Patent Application Publication 2024/0212806 issued to DEMPERS et al. (hereinafter as “DEMPERS”) teaches facilitates the automatic replication of electronic medical record information between a patient and health care provider and coordinate and authenticate the replication of data between the platforms.
U.S Patent Application Publication 2020/0034366 issued to Kivatinos et al. (hereinafter as “Kivatinos”) teaches a machine learning system to suggest clinical questions to ask during or after a patient appointment and aggregating the encoding information with similar appointments based on the encoding.
U.S Patent Application Publication 2019/0005019 issued to Burke et al. (hereinafter as “Burke”) teaches tokenizing an electronic medical record for a plurality of tokens and generating a distance score between the first vector of a word embedding model with a second vector of the word embedding model.
Applicant's amendment necessitated the new ground(s) of rejection presented in this Office action. Accordingly, THIS ACTION IS MADE FINAL. See MPEP § 706.07(a). Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
Contact Information
Any inquiry concerning this communication or earlier communications from the examiner should be directed to ANDREW N HO whose telephone number is (571)270-0590. The examiner can normally be reached Tuesday and Thursday 10:00-6:00.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Sherief Badawi can be reached at (571) 272-9782. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
5/20/2026
/ANDREW N HO/Examiner
Art Unit 2169
/SHERIEF BADAWI/Supervisory Patent Examiner, Art Unit 2169