U.S. patent application number 17/247406 was filed with the patent office on 2021-05-06 for maintaining a discrete data representation that corresponds to information contained in free-form text.
The applicant listed for this patent is 3M INNOVATIVE PROPERTIES COMPANY. Invention is credited to Anna Abovyan, Michael Finke, Juergen Fritsch, Detlaf Koll, Christopher Scott.
Application Number | 20210132744 17/247406 |
Document ID | / |
Family ID | 1000005264351 |
Filed Date | 2021-05-06 |
United States Patent
Application |
20210132744 |
Kind Code |
A1 |
Koll; Detlaf ; et
al. |
May 6, 2021 |
Maintaining a Discrete Data Representation that Corresponds to
Information Contained in Free-Form Text
Abstract
A system includes a data record (such as an Electronic Medical
Record (EMR)) and a user interface for modifying (e.g., storing
data in) the data record. The data record includes both free-form
text elements and discrete data elements. The user interface
includes user interface elements for receiving free-form text data.
In response to receiving free-form text data via the free-form text
user interface elements, a suggested action is identified, such as
a suggested action to take in connection with one of the discrete
data elements of the data record. Output is generated representing
the suggested action. A user provides input indicating acceptance
or rejection of the suggested action. The suggested action may be
performed in response to the user input.
Inventors: |
Koll; Detlaf; (Pittsburgh,
PA) ; Scott; Christopher; (Pittsburgh, PA) ;
Fritsch; Juergen; (Pittsburgh, PA) ; Abovyan;
Anna; (Pittsburgh, PA) ; Finke; Michael;
(Pittsburgh, PA) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
3M INNOVATIVE PROPERTIES COMPANY |
St. Paul |
MN |
US |
|
|
Family ID: |
1000005264351 |
Appl. No.: |
17/247406 |
Filed: |
December 10, 2020 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
16174503 |
Oct 30, 2018 |
10877620 |
|
|
17247406 |
|
|
|
|
13965836 |
Aug 13, 2013 |
10156956 |
|
|
16174503 |
|
|
|
|
61682748 |
Aug 13, 2012 |
|
|
|
Current U.S.
Class: |
1/1 |
Current CPC
Class: |
G06F 3/0481 20130101;
G16H 10/60 20180101; G06F 40/174 20200101; G16H 50/20 20180101 |
International
Class: |
G06F 3/0481 20060101
G06F003/0481; G16H 50/20 20060101 G16H050/20; G16H 10/60 20060101
G16H010/60; G06F 40/174 20060101 G06F040/174 |
Claims
1. A computer-implemented method performed by at least one computer
processor, the method comprising: (A) receiving data in a first
data representation; (B) extracting free-form text from the first
data representation; (C) identifying, based on the free-form text,
a plurality of discrete data elements of a data structure; (D)
identifying, based on the free-form text, the plurality of
suggested actions, wherein the plurality of suggested actions
comprises, for each discrete data element D in the plurality of
discrete data elements of a data structure, a corresponding
suggested action S comprising: storing a value in the discrete data
element D, removing a current value of the discrete data element D,
or performing a specified operation on a current value of the
discrete data element D to produce a new value of the discrete data
element D; and (E) performing the at least one of the plurality of
suggested actions.
2. The method of claim 1, wherein the first data representation
comprises at least one of an audio signal representing speech and a
transcript of the audio signal representing speech.
3. The method of claim 2, wherein (B) comprises: (B1) detecting the
format of the first data representation; (B2) when an audio signal
is detected, converting, using automatic speech recognition, the
audio signal into a transcript corresponding to the speech present
in the audio signal and parsing the transcript to extract the
free-form text; and (B3) when a transcript is detected, parsing the
transcript to extract the free-form text.
4. The method of claim 1, wherein the data structure comprises an
electronic medical record.
5. The method of claim 1, further comprising: (F) after identifying
the plurality of suggested actions, providing output representing,
for each discrete data element D in the plurality of discrete data
elements of the data structure, the corresponding suggested action
S.
6. The method of claim 5, further comprising: (G) receiving a user
input indicating user's acceptance of the at least one of the
plurality of suggested actions, wherein the at least one of the
plurality of suggested actions is performed in response to the
receiving the user input.
7. The method of claim 6, further comprising: (H) storing a record
of the at least one of the plurality of suggested actions and the
user input; (I) repeating (A)-(G) at least once to produce a
plurality of stored records of the plurality of suggested actions
and a plurality of corresponding user inputs; and (J) modifying a
process used to identify the plurality of suggested actions based
on the plurality of stored records.
8. The method of claim 7, further comprising: (K) displaying output
representing outcome of performing the at least one of the
plurality of suggested actions.
9. The method of claim 1, wherein (D) comprises: (D)(1) identifying
a concept based on the free-form text; (D)(2) determining, for each
discrete data element D in the plurality of discrete data elements
of the data structure, whether the concept is consistent with the
discrete data element D; and (D)(3) in response to determining that
the concept is not consistent with the discrete data element D,
identifying a suggested action, wherein the identified suggested
action causes the discrete data element D to be consistent with the
concept.
10. The method of claim 1, further comprising: (F) before receiving
the free-form text, receiving a patient identifier, and (G) before
identifying the plurality of discrete data elements of the data
structure, identifying the data structure associated with the
patient identifier.
11. A non-transitory computer-readable medium comprising computer
program instructions executable by at least one computer processor
to perform a method, the method comprising: (A) receiving data in a
first data representation; (B) selecting free-form text from the
first data representation; (C) identifying, based on the free-form
text, a plurality of discrete data elements of a data structure;
(D) identifying, based on the free-form text, the plurality of
suggested actions, wherein the plurality of suggested actions
comprises, for each discrete data element D in the plurality of
discrete data elements of a data structure, a corresponding
suggested action S comprising: storing a value in the discrete data
element D, removing a current value of the discrete data element D,
or performing a specified operation on a current value of the
discrete data element D to produce a new value of the discrete data
element D; and (E) performing the at least one of the plurality of
suggested actions.
12. The non-transitory computer-readable medium of claim 11,
wherein the first data representation comprises at least one of an
audio signal representing speech and a transcript of the audio
signal representing speech.
13. The non-transitory computer-readable medium of claim 12,
wherein (B) comprises: (B1) detecting the format of the first data
representation; (B2) when an audio signal is detected, converting,
using automatic speech recognition, the audio signal into a
transcript corresponding to the speech present in the audio signal
and parsing the transcript to select the free-form text; and (B3)
when a transcript is detected, parsing the transcript to select the
free-form text.
14. The non-transitory computer-readable medium of claim 11,
wherein the data structure comprises an electronic medical
record.
15. The non-transitory computer-readable medium of claim 11,
wherein the method further comprises: (F) after identifying the
plurality of suggested actions, providing output representing, for
each discrete data element D in the plurality of discrete data
elements of the data structure, the corresponding suggested action
S.
16. The non-transitory computer-readable medium of claim 15, where
the method further comprises: (G) receiving a user input indicating
user's acceptance of the at least one of the plurality of suggested
actions, wherein the at least one of the plurality of suggested
actions is performed in response to the receiving the user
input.
17. The non-transitory computer-readable medium of claim 16, where
the method further comprises: (H) storing a record of the at least
one of the plurality of suggested actions and the user input; (I)
repeating (A)-(G) at least once to produce a plurality of stored
records of the plurality of suggested actions and a plurality of
corresponding user inputs; and (J) modifying a process used to
identify the plurality of suggested actions based on the plurality
of stored records.
18. The non-transitory computer-readable medium of claim 17, where
the method further comprises: (K) displaying output representing
outcome of performing the at least one of the plurality of
suggested actions.
19. The non-transitory computer-readable medium of claim 1, wherein
(D) comprises: (D)(1) identifying a concept based on the free-form
text; (D)(2) determining, for each discrete data element D in the
plurality of discrete data elements of the data structure, whether
the concept is consistent with the discrete data element D; and
(D)(3) in response to determining that the concept is not
consistent with the discrete data element D, identifying a
suggested action, wherein the identified suggested action causes
the discrete data element D to be consistent with the concept.
20. The non-transitory computer-readable medium of claim 11,
wherein the method further comprises: (F) before receiving the
free-form text, receiving a patient identifier, and (G) before
identifying the plurality of discrete data elements of the data
structure, identifying the data structure associated with the
patient identifier.
Description
BACKGROUND
[0001] The clinical documentation systems used in connection with
many modern electronic medical records (EMRs) include both user
interface elements for entering discrete data into EMRs and user
interface elements for entering free-form text into EMRs. Examples
of common user interface elements for entering discrete data into
EMRs include checkboxes and radio buttons to indicate the presence
of absence of problems, complications, conditions of family
members, and tests performed during a physical examination; date
selection controls to capture the onset or end of certain events
(e.g., the date on which pain started, when a family member died,
or on which treatment began or ended); and dropdown lists to
indicate current and past medications. The most common example of a
user interface element for entering free-form text into EMRs is a
text field.
[0002] Although it might seem that it would be desirable to design
clinical documentation systems to include only user interface
elements for entering discrete data elements in order to eliminate
ambiguity and subjectivity from such data entry, typically it is
not possible or desirable to represent all possible inputs using
discrete user interface elements, even for narrowly-defined subsets
of a clinical document. One reason for this is that discrete user
interface elements are not capable of capturing uncommon events,
conditionality between multiple observations, uncertainty in
observations that cannot accurately be represented by a binary
parameter value (e.g., "the patient exhibits signs of X"), and
causality. More generally, requiring all EMR data to be entered
using discrete UI elements would fail to capture the story of a
patient and the thought process of the authoring physician in a way
that is both memorable and interpretable by the authoring or other
physicians.
[0003] As a result, clinical documentation systems typically allow
free-form text to be entered into EMRs. For example, it is common
for such systems to include a free-form text entry field alongside
each logical grouping of discrete user interface elements. For
example, a free-form text entry field may be provided for a
"History of Present Illness" grouping of discrete user interface
elements, another free-form text entry field may be provided for a
"Family History" grouping of discrete user interface elements, and
yet another free-form text entry field may be provided for a
"Physical Examination" grouping of discrete user interface
elements.
[0004] The resulting graphical user interface includes both user
interface elements for receiving discrete data input and user
interface elements for receiving free-form text input. As a
consequence, the underlying data model into which data received
using the graphical user interface is stored is also a hybrid of
discrete data and free-form text data.
[0005] There are at least two problems with such an EMR system:
[0006] (1) Discrete data entry fields tend to be much less user
friendly than free-form text entry fields. For example, a typical
data entry form for a physical examination may contain hundreds of
checkboxes and other discrete data entry user interface elements.
It can be difficult and time-consuming to find the right checkboxes
to check, in comparison to merely typing or dictating a free-form
text description of the same information. As a result, physicians
or others who enter data into such an EMR system may either accept
reduced productivity and data fidelity by entering data into the
discrete data fields, or bypass the discrete data fields and just
enter free-form text into the corresponding free-form text fields
and thereby forfeit the benefits of the discrete data fields.
[0007] (2) It is generally not possible to ensure consistency
between the data contained in a free-form text field and data
contained in the corresponding discrete data fields. For example,
consider the case in which one set of discrete data fields contain
fields to capture palliative care instructions for a patient.
Associated with such discrete data fields may be a free-form text
entry field. If the physician chooses to enter instructions (e.g.,
a "Do Not Resuscitate" order) into the free-form text entry field
and leaves the discrete data fields blank, then the information in
the free-form text entry field will not be reflected in the
discrete data fields. If the contents of the discrete data fields
are used to drive a clinical workflow, then such a workflow will
not be triggered if the text entry field contains data but the
discrete data fields are empty.
[0008] There is, however, substantial value in the discrete data
elements, such as for automating common care workflows and for use
in decision support processes. One way to address the problems
described above is to abstract information contained in free
form-text fields, to reconcile the abstracted information with the
last known state of the discrete data elements, and to let the user
verify the reconciled data state as part of the free-form text
input. One drawback of this approach is that to perform
reconciliation, decisions may need to be made regarding the
appropriate representation of the free-form text data within the
discrete data model. Any errors in this process may need to be
resolved by the user using a user interface that essentially
mirrors or is identical to the user interface that is used for
discrete data entry. As a result, the cost of implementing such a
system may be substantial if it is implemented as an add-on to an
existing third-party EMR system, due to the need to duplicate
essential parts of the discrete data entry user interface for use
in the reconciliation review process.
SUMMARY
[0009] A system includes a data record (such as an Electronic
Medical Record (EMR)) and a user interface for modifying (e.g.,
storing data in) the data record. The data record includes both
free-form text elements and discrete data elements. The user
interface includes user interface elements for receiving free-form
text data. In response to receiving free-form text data via the
free-form text user interface elements, a suggested action is
identified, such as a suggested action to take in connection with
one of the discrete data elements of the data record. Output is
generated representing the suggested action. A user provides input
indicating acceptance or rejection of the suggested action. The
suggested action may be performed in response to the user
input.
[0010] For example, one embodiment of the present invention is
directed to a method performed by at least one computer processor,
the method comprising: (A) receiving free-form text via a free-form
text user interface element of a user interface; (B) identifying a
suggested action to perform in connection with a discrete data
element of a data record; (C) providing output representing the
suggested action; (D) receiving user input indicating whether the
user accepts the suggested action.
[0011] Other features and advantages of various aspects and
embodiments of the present invention will become apparent from the
following description and from the claims.
BRIEF DESCRIPTION OF THE DRAWINGS
[0012] FIG. 1 is a diagram of an electronic medical record (EMR)
according to one embodiment of the present invention;
[0013] FIG. 2A is an abstract diagram of a user interface for
receiving user input for updating the EMR of FIG. 1 according to
one embodiment of the present invention;
[0014] FIG. 2B is a concrete diagram of a user interface for
receiving user input for updating the EMR of FIG. 1 according to
one embodiment of the present invention;
[0015] FIG. 3 is a dataflow diagram of a system for updating
discrete data elements in the EMR of FIG. 1 based on free-form text
provided by a user into the user interfaces of FIGS. 2A-2B; and
[0016] FIG. 4 is a flowchart of a method performed by the system of
FIG. 3 according to one embodiment of the present invention.
DETAILED DESCRIPTION
[0017] Embodiments of the present invention may be used to
significantly reduce the integration costs described above. For
example, instead of (or in addition to) displaying abstracted
concepts identified in free-form text, embodiments of the present
invention may use the abstracted concepts to identify logical
actions to be performed in the target EMR. Embodiments of the
present invention may inform the user of such identified logical
actions and, in response to verification from the user, embodiments
of the present invention may perform the recommended logical
actions automatically.
[0018] By way of background, consider the example electronic
medical record (EMR) 100 illustrated in FIG. 1. The EMR 100 may
include both discrete data elements 102 (e.g., fields) and
free-form text elements 106 (e.g., fields). Examples of discrete
data elements include elements having a finite permissible range of
values, such as 0 and 1 (or any equivalent binary range of values,
such as "Yes" and "No") or any other finite set of symbols (e.g.,
{0, 1, 2, 3}, {red, green, blue}, or {alive, deceased}), where a
computer is capable of unambiguously determining the meaning of any
particular such value. In contrast, a free-form text element may
contain any text, such as text input by a human in a natural
language, whether or not a computer is capable of unambiguously
determining the meaning of such text.
[0019] Particular discrete data elements in the EMR 100 may be
associated with particular free-form text elements in the EMR 100.
In the particular example of FIG. 1: [0020] Discrete data element
104a is associated with text element 108a, as illustrated by
association 110a. [0021] Discrete data element 104b is associated
with text element 108b, as illustrated by association 110b. [0022]
Discrete data element 104c is associated with text elements 108c
and 108d, as illustrated by associations 110c and 110d,
respectively. [0023] Discrete data elements 104d and 104e are
associated with text element 108e, as illustrated by associations
110e and 110f, respectively. [0024] Discrete data element 104f is
not associated with any of the text elements 106. [0025] Text
element 108f is not associated with any of the discrete data
elements 102.
[0026] As these examples illustrate, a single one of the discrete
data elements 102 in the EMR 100 may be associated with zero, one,
or more of the text elements in the EMR 100, and a single one of
the text elements in the EMR 100 may be associated with zero, one,
or more of the discrete data elements 102 in the EMR 100. The
particular associations shown in FIG. 1 are merely examples for
purposes of illustration. In practice, a single EMR may include
hundreds or more of discrete data elements and text elements, which
may have any kind and number of associations with each other.
[0027] In general, the associations 110a-f represent a degree of
semantic similarity between the associated elements, and/or an
influence of the content of associated elements on each other. For
example, the association 110a between discrete data element 104a
and the text element 108a may indicate that both elements 104a and
108a contain, or are designed to contain, data representing the
presence or absence of foot pain in the patient represented by the
EMR 100. Further examples of the associations 110a-f will be
provided below.
[0028] Some or all of the associations 110a-f may be expressly
represented and stored as data within the EMR 100. Some or all of
the associations 110a-f may, however, not be stored as data within
the EMR 100, or anywhere else. Instead, as will become apparent
from the description below, embodiments of the present invention
may identify some or all of the relationships dynamically and
without storing data representing such relationships within the EMR
100. In fact, although the associations 110a-f are shown as fixed
in FIG. 1, this is merely an example and does not constitute a
limitation of the present invention. For example, embodiments of
the present invention may dynamically identify an association
between one of the text elements 106 and one or more of the
discrete data elements 102 based, at least in part, on the contents
of the text element at a particular time. As the contents of the
text element change, embodiments of the present invention may
identify different associations between the text element and
various ones of the discrete data elements 102. The examples
describe below will illustrate this ability of embodiments of the
present invention to dynamically associate text elements with
discrete data elements in response to the contents of such text
elements.
[0029] Now consider the abstract user interface 200 shown in FIG.
2A. FIG. 2A merely shows certain abstract features of the user
interface 200 for purposes of illustration. In particular, the user
interface 200 includes both discrete data user interface (UI)
elements 202 and free-form text UI elements 206. Examples of the
discrete data UI elements 202 include checkboxes, radio buttons,
dropdown lists, and menus. Examples of free-form text UI elements
206 include single-line text fields, multi-line text fields,
including fields having advanced text editing features such as the
ability to apply formatting (e.g., font sizes, bold, italics,
underline, superscript, subscript, etc.) to text.
[0030] Although the user interface 200 may include any number of
discrete data UI elements 202 and any number of free-form text UI
elements 206, for purposes of example the user interface 200 is
shown in FIG. 2A as containing four discrete data UI elements
204a-d and three free-form text UI elements 208a-c. In practice, a
user interface 200 for entering data into an EMR may include
hundreds of discrete data and free-form text UI elements, arranged
in a complex layout, in which the discrete data and free-form text
UI elements may span multiple pages or tabs, such that not all of
such UI elements may be visible to the user at once.
[0031] Discrete data UI elements 202 in the user interface 200 may
be mapped to (associated with) zero, one, or more corresponding
discrete data elements 102 in the EMR 100 of FIG. 1. Similarly,
free-form text UI elements 206 in the user interface 200 may be
mapped to (associated with) zero, one, or more corresponding
free-form text elements 106 in the EMR 100 of FIG. 1. Although not
shown in FIG. 1 or 2A, data representing such mappings may be
stored. Such mappings may be one-to-one, one-to-many, or
many-to-one. When a user provides input to one of the UI elements
204a-d or 208a-c in the user interface 200 of FIG. 2A, such input
may be copied into, or otherwise used to generate values which are
stored into, the associated element(s) in the EMR 100 of FIG. 1.
For example, if free-form text UI element 208a in the user
interface 200 of FIG. 2A is associated with free-form text element
108a in the EMR 100 of FIG. 1, and the user types "John Smith" into
the free-form text UI element 208a, the text "John Smith" may be
stored in the free-form text element 108a. As another example, if
discrete data UI element 204a is a checkbox which is associated
with discrete data element 104a in the EMR 100 of FIG. 1, and the
user marks the checkbox as checked, then a value of "checked,"
"yes," "1," or a similar value may be stored in the discrete data
element 104a.
[0032] In practice, user interface elements 208a-c and 204a-d in
the user interface 200 may be organized hierarchically to reflect
the structure of a clinical document, such as by grouping various
ones of the text UI elements 208a-c and the discrete data UI
elements 204a-d into a "Cardiovascular" category, which may itself
be one of many groups of UI elements within a "Review of Systems"
category. Such a hierarchical grouping establishes a structure
indicating which discrete data elements could be associated with
particular free-form text elements, and indicating which discrete
data elements cannot be associated with particular free-form text
elements because they fall within unrelated clinical categories.
Content entered into a free-form text UI element within a
particular category may be associated with a discrete data UI
element within the same category. Certain information entered into
a free-form text UI element may, however, not be associated with
any discrete data UI element.
[0033] Just as the elements 102 and 106 in the EMR 100 of FIG. 1
may have associations 110a-f with each other, elements 202 and 206
in the user interface 200 of FIG. 2A may have associations with
each other. Such associations are not shown in FIG. 2A for ease of
illustration. Associations between discrete data UI elements 202
and free-form text UI elements 206 in the user interface 200 of
FIG. 2A may be implied from the associations 110a-f between the
discrete data elements 102 and free-form text elements 106 of the
EMR 100 of FIG. 1. For example, assume that: [0034] discrete data
UI element 204a in the user interface 200 of FIG. 2A is mapped to
the discrete data element 104a in the EMR 100 of FIG. 1; [0035]
free-form text UI element 208a in the user interface 200 of FIG. 2A
is mapped to the free-form text element 108a in the EMR 100 of FIG.
1; and [0036] discrete data element 104a in the EMR 100 of FIG. 1
is associated with free-form text element 108a.
[0037] In this case, an association between discrete data UI
element 204a and free-form text UI element 208a may be implied from
the facts above.
[0038] Some or all of the free-form text UI elements 206 in the
user interface 200 of FIG. 2A may not be associated (explicitly or
implicitly) with any of the discrete data UI elements 202. For
example, free-form text UI element 208a may not be associated with
any of the discrete data UI elements 204a-d. As will be described
in more detail below, however, embodiments of the present invention
may be used to enable text that is entered into the free-form text
UI element 208a of FIG. 2A to be used to update the values of one
or more of the discrete data elements 102 in the EMR 100 of FIG. 1,
whether or not the free-form text UI element 208a is associated
with any of the discrete data UI elements 202 in the user interface
of FIG. 2A. In fact, the user interface 200 need not include any of
the discrete data UI elements 202. In particular, the user
interface 200 may not include any discrete data elements that are
mapped to elements 102 or 106 in the EMR 100.
[0039] For example, referring to FIG. 2B, an example is shown of a
particular user interface 250 that may be used in connection with
embodiments of the present invention. The user interface 250
includes only a single UI element that is mapped to an element of
the EMR 100, namely a single free-form text entry field 252 that is
mapped to one of the free-form text elements 106 in the EMR 100.
(Assume for purposes of example that field 252 in the user
interface of FIG. 2B is mapped to free-form text element 108a in
the EMR 100 of FIG. 1.) Note that the user interface 250 of FIG. 2B
does not include any discrete data UI elements that are mapped to
elements 102 or 106 of the EMR 100. As a result, and as will be
described in more detail below, embodiments of the present
invention use the free-form text that is entered into free-form
text entry field 252 to update discrete data elements 102 in the
EMR 100 indirectly, by generating suggested actions for updating
the discrete data elements 102 based on the contents of the
free-form text entry field 252 together with the current state of
data elements 102, and performing the suggested actions only if,
and in response to, user input confirming that such actions should
be performed.
[0040] Certain particular embodiments of the present invention will
now be described. Referring to FIG. 3, a dataflow diagram is shown
of a system 300 for performing actions on discrete data elements of
the EMR 100 according to one embodiment of the present invention.
Referring to FIG. 4, a flowchart is shown of a method 400 performed
by the system 300 of FIG. 3 according to one embodiment of the
present invention.
[0041] The system 300 includes an electronic medical record (EMR)
database 302, which includes a plurality of patient data records
101a-n (where n may be any number). Each of the patient data
records 101a-n may include free-form text elements having
associations with discrete data elements, in the manner described
above with respect to the patient data record 101a of FIG. 1. The
system 300 also includes an EMR management module 304 which may
perform any operation on the EMR database 302, such as creating new
patient data records, deleting existing patient data records, and
updating the contents of existing patient data records. Because an
EMR may include one or more patient data records, any reference
herein to operations performed on patient data records should be
understood to constitute operations that are performed on EMRS.
Although the EMR management module 304 is shown as a single
component in FIG. 3 for ease of illustration, in practice the EMR
management module 304 may be implemented in other ways, such as an
add-on or plug-in to an existing EMR system, or as a component that
communicates with an existing EMR system to perform the functions
disclosed herein.
[0042] The system 300 also includes a user 306 and a computing
device 308. The computing device 308 receives input from and
provides output to the computing device 308 using any suitable I/O
device(s). The computing device 308 may be any kind of computing
device, such as a desktop computer, laptop computer, tablet
computer, or smartphone. The computing device 308 may provide
output to and receive input from the EMR management module 304. The
user 306, computing device 308, and EMR management module 304 may
communicate with each other via a direct connection or via any type
of network, such as the public Internet or a private intranet.
[0043] The computing device 308 may display, to the user 306, a
user interface containing at least one free-form text UI element,
or otherwise prompt or enable the user 306 to provide free-form
text input (FIG. 4, operation 402). For example, the computing
device 308 may display to the user 306 a user interface of the kind
shown in FIG. 2B, in which the free-form text field 252 enables the
user to provide free-form text input, such as by speaking and/or
typing such input. As another example, the computing device 308 may
provide a voice prompt, such as "Describe the patient encounter,"
in response to which the user 306 may provide free-form voice
input.
[0044] Regardless of the manner in which the computing device 308
enables the user 306 to provide free-form text input, the user 306
may provide such free-form text input 310 to the computing device
308, which receives the input 310 (FIG. 4, operation 404). In the
example of FIG. 2B, the user 306 has provided the input 310 by
speaking (e.g., into a handheld voice recorder, smartphone, or
other device having a microphone or other audio capture component),
in response to which the system 300 has transcribed the user's
speech (using one or both of an automatic speech recognition (ASR)
engine and a human transcriptionist). The computing device has then
displayed the resulting transcript within the free-form text field
252.
[0045] The EMR management module 304 may generate and/or receive
the free-form text input 310. For example, the computing device 308
may provide the free-form text input 310 to the EMR management
module 304. As another example, the computing device 308 may
receive the free-form text input 310, such as in the form of an
audio signal representing speech of the user 306, and transcribe
the input 310 to produce a transcript of the input 310, and then
provide the transcript to the EMR management module 304. As another
example, the computing device 308 may provide the free-form text
input 310 in the form of an audio signal representing speech of the
user 306 to the EMR management module 304, which may then
transcribe the input 310 to produce a transcript of the input 310.
In these and other cases, the EMR management module obtains text
representing the free-form text input 310 of the user 306, such as
the text shown in the free-form text input field 252 of the user
interface 250 of FIG. 2B.
[0046] If the free-form text input 310 is in the form of an audio
signal, the EMR management module 304 may receive the audio signal,
a transcript thereof, or both. Any reference herein to the
free-form text input 310 should be understood to refer to an audio
signal, text and/or other data representing such an audio signal
(such as a transcript of the audio signal), or a combination
thereof.
[0047] The EMR management module 304 may identify a patient data
record associated with the free-form text input 310 in the EMR
database 302 (FIG. 4, operation 406) and update the identified
patient data record based on the free-form text input 310 (FIG. 4,
operation 408). The EMR management module 304 may identify the
patient data record associated with the free-form text input 310 in
any of a variety of ways. For example, the user 306 may (e.g.,
before providing the free-form text input 310), provide other input
(not shown) which identifies the patient who is the subject of the
free-form text input 310. Such a patient identifier may be used to
identify a corresponding patient data record in the EMR database
302. Assume for purposes of example that the identified patient
data record is patient data record 101a.
[0048] The EMR management module 304 may update the identified
patient data record 101a based on the free-form text input 310 in
any of a variety of ways. For example, the EMR management module
304 may identify a free-form text field corresponding to the
free-form text input 310 in the identified patient data record
101a, and store the free-form text input 310 in the identified
field or otherwise update the identified field based on the
free-form text input 310.
[0049] The EMR management module 304 includes a suggestion module
312, which identifies one or more discrete data elements in the
identified patient data record 101a based on the free-form text
input 310 (FIG. 4, operation 410), and which identifies one or more
suggested actions to take in connection with the identified
discrete data element(s) (FIG. 4, operation 412). Although the
suggestion module 312 may identify more than one discrete data
element in operation 410 and more than one suggested action in
operation 412, the following description will refer to "the
identified discrete data element" and "the suggested action" in the
singular merely for ease of explanation. Any such references should
be understood to refer to one or more identified discrete data
elements and one or more suggested actions, respectively.
[0050] The suggestion module 312 may identify the discrete data
element in operation 410 in any of a variety of ways. For example,
as mentioned above, the free-form text UI element (e.g., free-form
text field 252) into which the user 306 inputs the free-form text
input 310 may be associated with a discrete data element. The
suggestion module 312 may identify the discrete data element
associated with the free-form text input 310 in operation 410 by
identifying the discrete data element that is associated with the
free-form text UI element into which the user 306 inputs the
free-form text input 310. Alternatively, and as will be described
in more detail below, the suggestion module 312 may identify the
discrete data element associated with the free-form text input 310
in operation 410 dynamically, i.e., without relying on any
predetermined association between free-form text elements and
discrete data elements.
[0051] The suggestion module 312 may identify any of a variety of
suggested actions to take in connection with the identified
discrete data element. For example, the suggested action may
include storing a specified value in the identified discrete data
element, removing the current value from the identified discrete
data element, replacing the current value of the identified
discrete data element with a specified value, and performing a
specified operation on the current value of the identified discrete
data element to produce a new value of the identified discrete data
element.
[0052] The suggestion module 312 may identify the suggested action
314 in any of a variety of ways. For example, the suggestion module
312 may periodically submit some or all of the text in the text
entry field 252 to a natural language understanding (NLU) service
that abstracts information from the text in the text entry field
252 into one or more concepts. The term "concept," as used herein,
may include, for example, one or more characteristics of the
patient represented by the patient data record 101a, such as
whether the patient represented by the patient data record 101a has
or has had a particular medical condition, is taking or has taken a
particular medication, or has been provided with particular medical
treatment. For generally, the term "concept" may include any fact
related to the patient represented by the patient data record
101a.
[0053] The suggestion module 312 may use the resulting abstracted
concepts to determine the suggested action(s) 314 to take in
connection with the target patient data record 101a to cause the
target patient data record 101a to reflect the abstracted concepts.
For example, the suggestion module 312 may determine whether one or
more of the resulting abstracted concepts is inconsistent with one
or more of the discrete data elements in the patient data record
101a. For example, if one of the abstracted concepts indicates that
the patient represented by the patient data record 101a does not
have a psychological disorder and one of the discrete data elements
in the patient data record 101a indicates that the patient
represented by the patient data record 101a does have a
psychological disorder, the suggestion module 312 may conclude that
the abstracted concept is inconsistent with the discrete data
element. If and in response to determining that one or more of the
resulting abstracted concepts is inconsistent with one or more of
the discrete data elements in the patient data record 101a, the
suggestion module 312 may suggest an action that will cause the one
or more discrete data elements to become consistent with the one or
more abstracted concepts, such as modifying one or more values of
one or more discrete data elements to produce one or more modified
values of the one or more discrete data elements. For example, the
suggestion module 312 may suggest changing the state of the
"psychological disorder" discrete data element from "true" to
"false."
[0054] As described above, the suggestion module 312 may identify
the suggested action 314 based at least in part on the free-form
text input 310 received from the user 306. The suggestion module
312 may identify the suggested action 314 based on data in addition
to the free-form text input 310, such as data contained in the
discrete data elements in the patient data record 101a and in the
EMR database 302 more generally. For example, if the free-form text
input 310 states, "discontinue all beta blockers," and the patient
data record 101a includes a discrete data element representing the
medication of "Atenolol," then the suggestion module 312 may
identify "Discontinue Atenolol" as the suggested action 314.
Generating such a suggested action 314 requires the suggestion
module to understand that Atenolol is a type of beta blocker and to
combine/reconcile the discrete data already contained within the
patient data record 101a with the received free-form text input
310.
[0055] The suggestion module 312 may provide output 314
representing the suggested action to the user 306 (FIG. 4,
operation 414). The output 314 may be received by the computing
device 308 and manifested to the user 306 in any of a variety of
ways, such as by generating visual and/or auditory output
representing the suggested action. FIG. 2B shows various examples
of the output 314, in the form of suggested action output 254. In
this example, the suggested action output 254 indicates that the
suggestion module 312 suggests: [0056] storing an indication in the
patient data record 101a that the patient represented by the
patient data record 101a is negative for the ailment of
"Psychological Disorder," such as by storing a value of "false" in
a "Psychological Disorder" discrete data element in the patient
data record 101a; [0057] storing an indication in the patient data
record 101a that the father of the patient represented by the
patient data record 101a is deceased, such as by storing a value of
"deceased" in a discrete data element in the patient data record
101a which indicates whether the patient's father is alive or
deceased; [0058] storing an indication in the patient data record
101a that the father of the patient represented by the patient data
record 101a has diabetes, such as by storing a value of "true" in a
discrete data element in the patient data record 101a which
indicates whether the patient's father has diabetes; [0059] storing
an indication in the patient data record 101a that the father of
the patient represented by the patient data record 101a has
hypertension, such as by storing a value of "true" in a discrete
data element in the patient data record 101a which indicates
whether the patient's father has hypertension; [0060] storing an
indication in the patient data record 101a that the mother of the
patient represented by the patient data record 101a has heart
disease, such as by storing a value of "true" in a discrete data
element in the patient data record 101a which indicates whether the
patient's mother has heart disease; [0061] storing an indication in
the patient data record 101a that the mother of the patient
represented by the patient data record 101a has hypertension, such
as by storing a value of "true" in a discrete data element in the
patient data record 101a which indicates whether the patient's
mother has hypertension; [0062] storing an indication in the
patient data record 101a that the mother of the patient represented
by the patient data record 101a is alive, such as by storing a
value of "alive" in a discrete data element in the patient data
record 101a which indicates whether the patient's mother is alive
or deceased; and [0063] storing an indication in the patient data
record 101a that a sibling of the patient represented by the
patient data record 101a has cancer, such as by storing a value of
"cancer" in a current conditions list of the patient's sibling in
the patient data record 101a.
[0064] It can be seen from FIG. 2B that the suggestion module 312
generated the suggested action of changing the state of the
"Psychological Disorder" discrete data element in the patient data
record 101a to "negative" based on the following text in the text
area 252: "The patient's family history is negative for any mental
illnesses." It can be seen that the other actions suggested in the
region 254 were generated similarly based on text in the text area
252.
[0065] The output 314 representing the action suggested by the
suggestion module 312 may take other forms in addition to or
instead of the form shown in FIG. 2B. For example, although the
user interface 250 of FIG. 2B does not contain any discrete data UI
elements, such elements may be included within the user interface
250. For example, a checkbox labeled "Psychological Disorder" may
be added to the user interface 250. The system 300 may provide
output 314 representing a suggestion to mark the patient as
negative for a psychological disorder by providing output in
connection with the checkbox, such as one or more of the following:
[0066] changing the state of the checkbox to reflect the outcome of
performing the suggested action, such as changing the state of the
checkbox to unchecked, or leaving it as unchecked if it is already
unchecked, so that the visual state of the checkbox corresponds to
the outcome of performing the suggested action 314; [0067] visually
emphasizing the checkbox, such as by changing its color, displaying
a circle or other shape around it, or causing it to blink; and
[0068] displaying an instruction in connection with (e.g., near)
the checkbox to modify a state of the checkbox, such as an
instruction stating, "Leave this checkbox unchecked to indicate
that the patient is negative for a psychological disorder" or
"Uncheck this checkbox to indicate that the patient is negative for
a psychological disorder."
[0069] The user 306 may provide response input 316 to the computing
device 308 (FIG. 4, operation 416). The response input 316 may
indicate whether the user 306 accepts or rejects the suggested
action 314. (If the suggested action 314 includes more than one
suggested action, then the response input 316 may include separate
response input for each such suggested action, or a single input
indicating whether the user 306 accepts or rejects all such
actions.) The computing device 308 may provide the response input
316 to the EMR management module 304.
[0070] The response input 316 may take any of a variety of forms.
For example, referring to FIG. 2B, the user interface 250 includes
an "Apply Actions" button 256. The user 306 may provide the
response input 316 by clicking on the "Apply Actions" button 256 to
indicate that the user 306 wishes for the system 300 to perform the
suggested actions 314 (i.e., the actions described in area 254). If
the user 306 does not wish for the system 300 to perform the
suggested actions 314, then the user 306 may not click on the
"Apply Actions" button 256.
[0071] As another example, if the user interface 250 includes
discrete data UI elements, the user 306 may provide the response
input 316 by providing input to such elements and/or by declining
to provide input to such elements. For example, if the user
interface 250 includes a "Psychological Disorder" checkbox, and the
system 300 has marked that checkbox as unchecked, then the user 306
may provide response input 316 indicating acceptance of the
suggested action 314 by leaving the state of the checkbox as
unchecked, or provide response input 316 indicating rejection of
the suggested action by changing the state of the checkbox to
checked. Conversely, the user 306 may indicate acceptance of the
suggested action 314 by changing the state of a discrete data UI
element (e.g., by changing the state of a "Father Deceased"
checkbox from unchecked to checked), and indicate rejection of the
suggested action by leaving the state of the discrete data UI
element unchanged.
[0072] The suggestion module 312 determines whether the response
input 316 indicates that the user 306 accepts the suggested action
314 (FIG. 4, operation 418). If the suggestion module 312
determines that the response input 316 indicates that the user 306
accepts the suggested action 314, then the suggestion module 312
performs the suggested action 314 (FIG. 4, operation 420).
Performing the suggested action 314 may include changing the
state(s) of one or more discrete data elements in the patient data
record 101a, in the manner suggested by the suggested action 314.
For example, performing the suggested actions specified in the
region 254 of FIG. 2B may include changing the state of a
"Psychological Disorder" discrete data element in the patient data
record 101a to "negative."
[0073] The EMR management module 304 may generate updated output
318 reflecting the state of the patient data record 101a that
resulted from performing the suggested action 314 (FIG. 4,
operation 424). The computing device 308 may display or otherwise
manifest the updated output 318 to the user 306, such as by
changing the state of a discrete data UI element in the user
interface 250 to reflect the state of an associated discrete data
element in the patient data record 101a that was updated by the
performance of the suggested action 314. For example, in response
to changing the state of the "Psychological Disorder" discrete data
element in the patient data record 101a to "negative," the EMR
management module 304 may generate updated output 318 containing
data representing the negative state of the "Psychological
Disorder" discrete data element. The computing device 308 may
render such output by, for example, changing the state of a
"Psychological Disorder" checkbox in the user interface 250 to be
unchecked. In this way, the system 300 informs the user 306 of the
effects of performing the suggested action 314.
[0074] If the suggestion module 312 determines that the response
input 316 indicates that the user 306 does not accept the suggested
action 314, then the suggestion module 312 does not perform the
suggested action 314 (FIG. 4, operation 422).
[0075] In the examples provided above, the suggestion module 312
provides at most one suggested action in connection with any
particular discrete data element in the patient data record 101a.
This is merely an example, however, and does not constitute a
limitation of the present invention. The suggestion module 312 may,
for example, generate multiple suggested actions in connection with
a single discrete data element in the patient data record 101a,
including multiple suggested actions which have inconsistent
outcomes (e.g., a suggestion to change the state of a discrete data
element to "true" and a suggestion to change the state of the
discrete data element to "false"). For example, consider a
situation in which a free-form text UI element contains the text,
"Nodules in left lower lobe suggestive of cancer, but there are no
clear indications that would make such a diagnosis possible at this
time. Recommend follow up biopsy." The suggestion module may, based
on such free-form text, identify any one or more of the following
actions: "Add breast cancer to problem list," "Remove breast cancer
from problem list," and "Create order for biopsy of lung tissue."
In this example, the information contained in the free-form text UI
element was ambiguous. In response to such ambiguity, the
suggestion module 312 generated two alternative and
mutually-exclusive suggested actions ("Add breast cancer to problem
list" and "Remove breast cancer from problem list"), thereby making
it easier for the user 306 (e.g., physician) to accept one of these
two suggested actions even though the system 300 did not determined
which of the two suggested actions is represented by the free-form
text. Furthermore, in this example the system 300 has generated an
additional suggested action ("Create order for biopsy of lung
tissue") that is not part of the clinical report itself, but that
is a logical next step, given the contents of the free-form text UI
element.
[0076] As the preceding example further illustrates, embodiments of
the present invention are not limited to making suggestions to
perform actions on user interface elements. Embodiments of the
present invention may make suggestions to directly modify the
contents of an EMR (e.g., "Add breast cancer to problem list"). As
another example, embodiments of the present invention may make
suggestions to perform actions other than modifying the contents of
an EMR, such as suggestions to trigger a workflow (e.g., "Create
order for biopsy of lung tissue").
[0077] Consider another example in which a free-form text UI
element contains the text, "Patient recently started to take Celexa
against his depressions." The suggestion module 312 may, based on
such free-form text, identify the following suggested action: "Add
Celexa to the list of current medications." Such a suggested action
may not be sufficiently defined to enable the action to be
performed fully automatically. For example, the suggested action
may lack necessary information, such as start date and dosage. The
generation of such a suggested action may, however, be supplemented
by automatically displaying the medication list of the patient data
record 101a to the user 306 (e.g., physician) to facilitate the
process of the user 306 adding Celexa to the medication list. As
another example, the EMR management module 304 may add Celexa to
the medication list in the patient data record 101a automatically
and enter any additional available data automatically, and then
enable the user 306 to enter any remaining necessary data manually.
Such a process may make it easier for the user 306 to add a
medication to the medication list even though the process does not
perform all steps of adding the medication to the medication list
automatically.
[0078] Embodiments of the present invention have a variety of
advantages. For example, as described above, conventional EMR
systems often include both free-form text elements and discrete
data elements for representing the same information. As a result,
it is common for the data in such redundant elements to be
inconsistent with each other. For example, a "Psychological
Disorder" free-form text field in an EMR may include the text,
"Patient suffers from schizophrenia," while a "Psychological
Disorder" discrete data element in the same EMR may include the
value "false." Such inconsistencies can be particularly difficult
to detect, prevent, and eliminate in modern EMR systems,
particularly because a single EMR may include hundreds of fields,
and because the user interface elements representing those fields
(e.g., text fields and checkboxes) may be not be displayed to the
user in a manner which makes clear that the fields are intended to
contain the same information as each other or otherwise be related
to each other. For example, the "Psychological Disorder" text field
may be displayed far on the screen from the "Psychological
Disorder" checkbox. Embodiments of the present invention enable
actual and possible inconsistencies between corresponding free-form
text elements and discrete data elements to be identified
automatically, thereby increasing the likelihood that such
inconsistencies will be eliminated. Such elimination assists in
maintaining the validity of the discrete data elements the EMR,
thereby increasing the utility of such data elements for purposes
such as automatic clinical decision support.
[0079] A related advantage of embodiments of the present invention
is that they may suggest actions to be performed to eliminate
inconsistencies between free-form text elements and discrete data
elements, but not perform such actions automatically. Instead,
embodiments of the present invention may present such suggested
actions to a user, such a physician, for approval, and only perform
such suggested actions if and in response to approval from the
user. Requiring user approval provides protection against errors by
the suggestion module 312. Furthermore, in cases in which the
suggestion module 312 suggests multiple actions which are
inconsistent with each other as a result of failure of the
free-form text input 310 to indicate a particular action with
sufficient specificity, the user 306 must provide approval before
any action may be taken. Although requiring user approval may cause
inconsistencies to be eliminated more slowly and with more user
effort than would be required by a fully automated system,
requiring user approval balances such increases in efficiency with
the benefits derived from performing automatically-suggested
actions which are not justified by the underlying free-form text.
Furthermore, embodiments of the present invention minimize the
amount of effort required by the user 306, by enabling the user 306
to authorize the suggested actions 314 to be performed with a
minimum of input (such as by clicking on the single "Apply Actions"
button 256 in FIG. 2B), and by enabling the suggested actions 314
to be performed automatically in response to approval from the user
306.
[0080] Another advantage of embodiments of the present invention is
that they may learn from the user 306's acceptance and rejection of
suggested actions 314 to improve the suggestion module 312's future
action suggestions. For example, each time the user 306 provides
action response input 316 which accepts or rejects an action
suggested by the suggested action output 314, the system 300 may
store a record containing data representing one or more of the
following: [0081] the input 316 (e.g., whether the input 316
represents an acceptance or a rejection); [0082] the suggested
action 314 associated with the input 316; [0083] any data that was
used by the suggestion module 312 to generate the suggested action
314 (such as the free-form text input 310 and any values of
discrete data elements in the EMR database 302 that were used to
generate the suggested action 314); and [0084] the discrete data
element(s) suggested to be updated by the suggested action.
[0085] The system 300 may store such data for each of a plurality
of suggested actions 314 and corresponding response inputs 316 from
the user 306 (and possibly from other users). The system 300 may
use any suitable machine learning technique to use such store data
to modify the process by which the suggestion module 312 generates
suggested actions 314 in the future. In general, if the system 300
determines that the stored data represents statistically
significant evidence that a particular action should be suggested
in the future in a particular context, then the system 300 may
suggest that the particular action be performed in that particular
context in the future. Similarly, if the system 300 determines that
the stored data represents statistically significant evidence that
a particular action should not be suggested in the future in a
particular context, then the system 300 may not suggest that the
particular action be performed in that particular context in the
future. Such a technique enables the system 300 to improve the
quality of its suggestions over time. For example, if the system
300 repeatedly suggests performing a particular action in a context
in which the user 306 consistently rejects the suggestion, then the
system 300 may use the stored data representing the user 306's
consistent rejection of the suggested action to stop suggesting
that action in the same context in the future.
[0086] It is to be understood that although the invention has been
described above in terms of particular embodiments, the foregoing
embodiments are provided as illustrative only, and do not limit or
define the scope of the invention. Various other embodiments,
including but not limited to the following, are also within the
scope of the claims. For example, elements and components described
herein may be further divided into additional components or joined
together to form fewer components for performing the same
functions. As a particular example, the suggestion module 312 may
be implemented solely in the EMR management module 304, be
implemented solely in the computing device 308, be distributed
across both the EMR management module 304 and the computing device
308, or in any other suitable manner to perform the functions
disclosed herein.
[0087] The techniques disclosed herein are not limited to use in
connection with any particular EMR system, or in connection with
any particular EMR data. The particular EMR data elements disclosed
herein are merely examples and do not constitute limitations of the
present invention. Other EMR data elements include, but are not
limited to, current and historical medication lists, allergies, and
current and historical medical problems.
[0088] The techniques disclosed herein may be integrated into an
EMR system and/or work by communicating with an EMR system. In the
latter case, data may, for example, be transferred from the EMR
system to a system implementing the techniques disclosed herein
using an ASTM Continuity of Care Record (CCR) or an HL7 CDA
Continuity of Care Document (CCD).
[0089] The techniques described above may be implemented, for
example, in hardware, software tangibly embodied in a
computer-readable medium, firmware, or any combination thereof. The
techniques described above may be implemented in one or more
computer programs executing on a programmable computer including a
processor, a storage medium readable by the processor (including,
for example, volatile and non-volatile memory and/or storage
elements), at least one input device, and at least one output
device. Program code may be applied to input entered using the
input device to perform the functions described and to generate
output. The output may be provided to one or more output
devices.
[0090] Each computer program within the scope of the claims below
may be implemented in any programming language, such as assembly
language, machine language, a high-level procedural programming
language, or an object-oriented programming language. The
programming language may, for example, be a compiled or interpreted
programming language.
[0091] Each such computer program may be implemented in a computer
program product tangibly embodied in non-transitory signals in a
machine-readable storage device for execution by a computer
processor. Method steps of the invention may be performed by a
computer processor executing a program tangibly embodied on a
computer-readable medium to perform functions of the invention by
operating on input and generating output. Suitable processors
include, by way of example, both general and special purpose
microprocessors. Generally, the processor receives instructions and
data from a read-only memory and/or a random access memory. Storage
devices suitable for tangibly embodying computer program
instructions include, for example, all forms of non-volatile
memory, such as semiconductor memory devices, including EPROM,
EEPROM, and flash memory devices; magnetic disks such as internal
hard disks and removable disks; magneto-optical disks; and CD-ROMs.
Any of the foregoing may be supplemented by, or incorporated in,
specially-designed ASICs (application-specific integrated circuits)
or FPGAs (Field-Programmable Gate Arrays). A computer can generally
also receive programs and data from a storage medium such as an
internal disk (not shown) or a removable disk. These elements will
also be found in a conventional desktop or workstation computer as
well as other computers suitable for executing computer programs
implementing the methods described herein, which may be used in
conjunction with any digital print engine or marking engine,
display monitor, or other raster output device capable of producing
color or gray scale pixels on paper, film, display screen, or other
output medium.
* * * * *