IP Library Granted Patent US 10,257,277
Granted Patent B2
US 10,257,277 · App. 14/823,427 · Granted Apr 9, 2019

Automatic updating of care team assignments in electronic health record systems based on data from voice communication systems

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,257,277
App. No.
14/823,427
Granted
Apr 9, 2019
Kind
B2
Abstract

Methods, devices, systems, and non-transitory process-readable storage media for updating care team assignments data in multiple systems associated with a hospital. An embodiment method performed by a sync server may include obtaining a data record for each in a plurality of tracked locations of the hospital, receiving an event message associated with a tracked location of the hospital and transmitted by a first server associated with the hospital, determining whether data in a first obtained data record for the tracked location and associated with a second server is inaccurate based on the received event message from the first server, and transmitting an update message to the second server in response to determining the care team assignment data associated with the tracked location and stored at the second server is inaccurate based on the received event message.

Claims (124)

1. A method for a sync server to update care team assignment data in multiple systems associated with a hospital, comprising;

obtaining, via a processor of the sync server, a data record for an initial state of the care team assignment data for each of a plurality of tracked locations of the hospital;

receiving, via the processor of the sync server, an event message associated with a tracked location of the plurality of tracked locations of the hospital and transmitted by a first server associated with the hospital;

determining, via the processor of the sync server, whether data in a first obtained data record for the tracked location and associated with a second server is inaccurate based on the received event message from the first server and the initial state of the care team assignment data, wherein the first server and the second server are different types of servers that include a voice communications server and an electronic hospital record (EHR) server; and

transmitting, via the processor, an update message to the second server in response to determining that the care team assignment data associated with the tracked location and stored at the second server is inaccurate based on the received event message.

2. The method of claim 1 , wherein obtaining, via the processor of the sync server, the data record for the initial state of the care team assignment data for each of the plurality of tracked locations of the hospital comprises identifying, via the processor of the sync server, which of the first server and the second server is a source of truth for every role data field for each of the obtained data records, wherein the identifying includes performing an offline, learning analytics routine.

3. The method of claim 1 , wherein determining, via the processor of the sync server, whether the data in the first obtained data record for the tracked location and associated with the second server is inaccurate based on the received event message from the first server and the initial state of the care team assignment data comprises using, via the processor of the sync server, a heuristic or intelligence comparison algorithm to identify that the data in the first obtained data record is incorrect or out-of-date.

4. The method of claim 1 , further comprising:

determining, via the processor, whether there is missing or out-of-date information at the first server based on the received event message and the first obtained data record; and

transmitting, via the processor, a second update message to the first server including the missing or out-of-date information from the first obtained data record.

5. The method of claim 1 , further comprising:

providing, via the processor, configuration data to a local database to obtain the data record for the initial state of the care team assignment data for each of the plurality of tracked locations of the hospital;

connecting, via the processor, to the voice communications server;

downloading, via the processor, group data from the voice communications server;

identifying, via the processor, a set of the obtained data records from the local database that are associated with the downloaded group data; and

transmitting, via the processor, a message to the voice communications server activating a subscription for receiving event messages for the identified set of the obtained data records.

6. The method of claim 5 , wherein the subscription is to receive asynchronous notifications via an HTTP connection from the voice communications server.

7. The method of claim 1 , wherein the received event message is a subscription message, the first server is the voice communications server, and the second server is the EHR server.

8. The method of claim 7 , wherein determining, via the processor of the sync server, whether the data in the first obtained data record for the tracked location and associated with the second server is inaccurate based on the received event message from the first server and the initial state of the care team assignment data comprises:

determining, via the processor, whether location-based data or shift-based data of the first obtained data record is incomplete or out-of-date based on the received event message;

updating, via the processor, the location-based data or shift-based data of the first obtained data record based on the received event message; and

transmitting, via the processor, a second update message to the second server indicating the updated location-based data or the shift-based data for the tracked location.

9. The method of claim 8 , wherein the location-based data or shift-based data includes at least one of a nurse role segment and a nurse assistant role segment.

10. The method of claim 7 , wherein the received event message corresponds to a communication associated with a voice communications badge device, a mobile application running on a mobile device, or a web-based client application.

11. The method of claim 10 , wherein the communication indicates a care team member has logged-into or logged-out of a shift at the hospital.

12. The method of claim 1 , wherein the received event message is an HL7 message, the first server is the EHR server, and the second server is the voice communications server.

13. The method of claim 12 , wherein determining, via the processor of the sync server, whether the data in the first obtained data record for the tracked location and associated with the second server is inaccurate based on the received event message from the first server and the initial state of the care team assignment data comprises:

determining, via the processor, whether patient-based data of the first obtained data record is incomplete or out-of-date based on the received event message;

updating, via the processor, the patient-based data of the first obtained data record based on the received event message; and

transmitting, via the processor, a second update message to the second server indicating the updated patient-based data for the tracked location.

14. The method of claim 13 , wherein the patient-based data includes at least one of a patient identifier, a role identifier, a room identifier, and a care team member identifier.

15. The method of claim 13 , wherein the HL7 message is received at the sync server via an EHR interface engine.

16. The method of claim 1 , further comprising performing, via the processor, normalization operations to translate data within the received event message into common terms.

17. The method of claim 16 , wherein performing, via the processor, the normalization operations to translate the data within the received event message into the common terms comprises:

identifying, via the processor, an output format for the received event message;

applying, via the processor, a regular expression to input data for each node in a node set to obtain a result string;

storing, via the processor, group information of the obtained result string for each node in the node set; and

applying, via the processor, the identified output format to the stored group information to obtain normalized data.

18. A server, comprising a processor configured with processor-executable instructions to perform operations comprising:

obtaining a data record for an initial state of a care team assignment data for each of a plurality of tracked locations of a hospital;

receiving an event message associated with a tracked location of the plurality of tracked locations of the hospital and transmitted by a first server associated with the hospital;

determining whether data in a first obtained data record for the tracked location and associated with a second server is inaccurate based on the received event message from the first server and the initial state of the care team assignment data, wherein the first server and the second server are different types of servers that include a voice communications server and an electronic hospital record (EHR) server; and

transmitting an update message to the second server in response to determining that the care team assignment data associated with the tracked location and stored at the second server is inaccurate based on the received event message.

19. The server of claim 18 , wherein the processor is configured with processor-executable instructions to perform operations such that obtaining the data record for the initial state of the care team assignment data for each of the plurality of tracked locations of the hospital comprises identifying which of the first server and the second server is a source of truth for every role data field for each of the obtained data records, wherein the identifying includes performing an offline, learning analytics routine.

20. The server of claim 18 , wherein the processor is configured with processor-executable instructions to perform operations such that determining whether the data in the first obtained data record for the tracked location and associated with the second server is inaccurate based on the received event message from the first server and the initial state of the care team assignment data comprises using a heuristic or intelligence comparison algorithm to identify that the data in the first obtained data record is incorrect or out-of-date.

21. The server of claim 18 , wherein the processor is configured with processor-executable instructions to perform operations further comprising:

determining whether there is missing or out-of-date information at the first server based on the received event message and the first obtained data record; and

transmitting a second update message to the first server including the missing or out-of-date information from the first obtained data record.

22. The server of claim 18 , wherein the processor is configured with processor-executable instructions to perform operations further comprising:

providing configuration data to a local database to obtain the data record for the initial state of the care team assignment data for each of the plurality of tracked locations of the hospital;

connecting to the voice communications server;

downloading group data from the voice communications server;

identifying a set of the obtained data records from the local database that are associated with the downloaded group data; and

transmitting a message to the voice communications server activating a subscription for receiving event messages for the identified set of the obtained data records.

23. The server of claim 22 , wherein the subscription is to receive asynchronous notifications via an HTTP connection from the voice communications server.

24. The server of claim 18 , wherein the received event message is a subscription message, the first server is the voice communications server, and the second server is the EHR server.

25. The server of claim 24 , wherein the processor is configured with processor-executable instructions to perform operations such that determining whether the data in the first obtained data record for the tracked location and associated with the second server is inaccurate based on the received event message from the first server and the initial state of the care team assignment data comprises:

determining whether location-based data or shift-based data of the first obtained data record is incomplete or out-of-date based on the received event message;

updating the location-based data or shift-based data of the first obtained data record based on the received event message; and

transmitting a second update message to the second server indicating the updated location-based data or the shift-based data for the tracked location.

26. The server of claim 25 , wherein the location-based data or shift-based data includes at least one of a nurse role segment and a nurse assistant role segment.

27. The server of claim 24 , wherein the received event message corresponds to a communication associated with a voice communications badge device, a mobile application running on a mobile device, or a web-based client application.

28. The server of claim 27 , wherein the communication indicates a care team member has logged-into or logged-out of a shift at the hospital.

29. The server of claim 18 , wherein the received event message is an HL7 message, the first server is the EHR server, and the second server is the voice communications server.

30. The server of claim 29 , wherein the processor is configured with processor-executable instructions to perform operations such that determining whether the data in the first obtained data record for the tracked location and associated with the second server is inaccurate based on the received event message from the first server and the initial state of the care team assignment data comprises:

determining whether patient-based data of the first obtained data record is incomplete or out-of-date based on the received event message;

updating the patient-based data of the first obtained data record based on the received event message; and

transmitting a second update message to the second server indicating the updated patient-based data for the tracked location.

31. The server of claim 30 , wherein the patient-based data includes at least one of a patient identifier, a role identifier, a room identifier, and a care team member identifier.

32. The server of claim 30 , wherein the HL7 message is received at the server via an EHR interface engine.

33. The server of claim 18 , wherein the processor is configured with processor-executable instructions to perform operations further comprising performing normalization operations to translate data within the received event message into common terms.

34. The server of claim 33 , wherein the processor is configured with processor-executable instructions to perform operations such that performing the normalization operations to translate the data within the received event message into the common terms comprises:

identifying an output format for the received event message;

applying a regular expression to input data for each node in a node set to obtain a result string;

storing group information of the obtained result string for each node in the node set; and

applying the identified output format to the stored group information to obtain normalized data.

35. A non-transitory processor-readable storage medium having stored thereon processor-executable instructions configured to cause a processor of a server to perform operations comprising:

obtaining a data record for an initial state of a care team assignment data for each of a plurality of tracked locations of a hospital;

receiving an event message associated with a tracked location of the plurality of tracked locations of the hospital and transmitted by a first server associated with the hospital;

determining whether data in a first obtained data record for the tracked location and associated with a second server is inaccurate based on the received event message from the first server and the initial state of the care team assignment data, wherein the first server and the second server are different types of servers that include a voice communications server and an electronic hospital record (EHR) server; and

transmitting an update message to the second server in response to determining that the care team assignment data associated with the tracked location and stored at the second server is inaccurate based on the received event message.

36. The non-transitory processor-readable storage medium of claim 35 , wherein the stored processor-executable instructions are configured to cause the processor of the server to perform operations such that obtaining the data record for the initial state of the care team assignment data for each of the plurality of tracked locations of the hospital comprises identifying which of the first server and the second server is a source of truth for every role data field for each of the obtained data records, wherein the identifying includes performing an offline, learning analytics routine.

37. The non-transitory processor-readable storage medium of claim 35 , wherein the stored processor-executable instructions are configured to cause the processor of the server to perform operations such that determining whether the data in the first obtained data record for the tracked location and associated with the second server is inaccurate based on the received event message from the first server and the initial state of the care team assignment data comprises using a heuristic or intelligence comparison algorithm to identify that the data in the first obtained data record is incorrect or out-of-date.

38. The non-transitory processor-readable storage medium of claim 35 , wherein the stored processor-executable instructions are configured to cause the processor of the server to perform operations further comprising:

determining whether there is missing or out-of-date information at the first server based on the received event message and the first obtained data record; and

transmitting a second update message to the first server including the missing or out-of-date information from the first obtained data record.

39. The non-transitory processor-readable storage medium of claim 35 , wherein the stored processor-executable instructions are configured to cause the processor of the server to perform operations further comprising:

providing configuration data to a local database to obtain the data record for the initial state of the care team assignment data for each of the plurality of tracked locations of the hospital;

connecting to the voice communications server;

downloading group data from the voice communications server;

identifying a set of the obtained data records from the local database that are associated with the downloaded group data; and

transmitting a message to the voice communications server activating a subscription for receiving event messages for the identified set of the obtained data records.

40. The non-transitory processor-readable storage medium of claim 39 , wherein the subscription is to receive asynchronous notifications via an HTTP connection from the voice communications server.

41. The non-transitory processor-readable storage medium of claim 35 , wherein the received event message is a subscription message, the first server is the voice communications server, and the second server is the EHR server.

42. The non-transitory processor-readable storage medium of claim 41 , wherein the stored processor-executable instructions are configured to cause the processor of the server to perform operations such that determining whether the data in the first obtained data record for the tracked location and associated with the second server is inaccurate based on the received event message from the first server and the initial state of the care team assignment data comprises:

determining whether location-based data or shift-based data of the first obtained data record is incomplete or out-of-date based on the received event message;

updating the location-based data or shift-based data of the first obtained data record based on the received event message; and

transmitting a second update message to the second server indicating the updated location-based data or the shift-based data for the tracked location.

43. The non-transitory processor-readable storage medium of claim 42 , wherein the location-based data or shift-based data includes at least one of a nurse role segment and a nurse assistant role segment.

44. The non-transitory processor-readable storage medium of claim 41 , wherein the received event message corresponds to a communication associated with a voice communications badge device, a mobile application running on a mobile device, or a web-based client application.

45. The non-transitory processor-readable storage medium of claim 44 , wherein the communication indicates a care team member has logged-into or logged-out of a shift at the hospital.

46. The non-transitory processor-readable storage medium of claim 35 , wherein the received event message is an HL7 message, the first server is the EHR server, and the second server is the voice communications server.

47. The non-transitory processor-readable storage medium of claim 46 , wherein the stored processor-executable instructions are configured to cause the processor of the server to perform operations such that determining whether the data in the first obtained data record for the tracked location and associated with the second server is inaccurate based on the received event message from the first server and the initial state of the care team assignment data comprises:

determining whether patient-based data of the first obtained data record is incomplete or out-of-date based on the received event message;

updating the patient-based data of the first obtained data record based on the received event message; and

transmitting a second update message to the second server indicating the updated patient-based data for the tracked location.

48. The non-transitory processor-readable storage medium of claim 47 , wherein the patient-based data includes at least one of a patient identifier, a role identifier, a room identifier, and a care team member identifier.

49. The non-transitory processor-readable storage medium of claim 47 , wherein the HL7 message is received at the server via an EHR interface engine.

50. The non-transitory processor-readable storage medium of claim 35 , wherein the stored processor-executable instructions are configured to cause the processor of the server to perform operations further comprising performing normalization operations to translate data within the received event message into common terms.

51. The non-transitory processor-readable storage medium of claim 50 , wherein the stored processor-executable instructions are configured to cause the processor of the server to perform operations such that performing the normalization operations to translate the data within the received event message into the common terms comprises:

identifying an output format for the received event message;

applying a regular expression to input data for each node in a node set to obtain a result string;

storing group information of the obtained result string for each node in the node set; and

applying the identified output format to the stored group information to obtain normalized data.

52. A server, comprising;

means for obtaining a data record for an initial state of a care team assignment data for each of a plurality of tracked locations of a hospital;

means for receiving an event message associated with a tracked location of the plurality of tracked locations of the hospital and transmitted by a first server associated with the hospital;

means for determining whether data in a first obtained data record for the tracked location and associated with a second server is inaccurate based on the received event message from the first server and the initial state of the care team assignment data, wherein the first server and the second server are different types of servers that include a voice communications server and an electronic hospital record (EHR) server; and

means for transmitting an update message to the second server in response to determining that the care team assignment data associated with the tracked location and stored at the second server is inaccurate based on the received event message.

53. A method of updating care team assignment data in an electronic health record (EHR) system, the method comprising:

obtaining, via a processor of a sync server, a data record including an initial state of the care team assignment data;

receiving, via the processor of the sync server, an event message including a plurality of data fields;

determining, via the processor of the sync server, whether data associated with the care team assignment data included in at least one of the plurality of data fields of the event message is accurate based on whether the event message was transmitted by a first server or a second server, wherein the first server and the second server are different types of servers that include a voice communications server and an EHR server; and

updating, via the processor of the sync server, the obtained data record in response to determining that the data associated with the care team assignment data included in the at least one of the plurality of data fields of the event message is different from the initial state of the care team assignment data and the data associated with the care team assignment data included in the at least one of the plurality of data fields of the event message is determined to be accurate.

Assignments (3)
CHANGE OF ADDRESS Recorded Dec 18, 2024
From: STRYKER CORPORATION
To: STRYKER CORPORATION
Reel/Frame 069737/0184 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 16, 2023
From: VOCERA COMMUNICATIONS, INC.
To: STRYKER CORPORATION
Reel/Frame 062721/0434 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 11, 2015
From: SCHLAPFER, MARTIN; SHIVELY, DAVID
To: VOCERA COMMUNICATIONS, INC
Reel/Frame 036299/0099 →
Cited By (4)
US 12,278,877 US 12,525,342 US 12,537,107 US 12,685,494