System and method for generating a report using a knowledge base
A method and system for assisting a user in generating a report regarding a procedure such as a medical procedure. A first display region provides a hierarchical menu of available keywords from a knowledge base. A second display region provides a hierarchical menu of particular keywords that have been selected by the user. A third display region provides a report from a sentence that was generated by populating a sentence model based on the selected keywords. The sentence can be edited by selecting a keyword from the sentence, then selecting a replacement keyword from the first display region. A grammar engine corrects the grammar of the sentence based on user settings for the keywords.
This application claims the benefit of U.S. provisional patent application No. 60/471,349, filed May 16, 2003, entitled “System And Method For Endoscope Management” (docket No. P16531), and incorporated herein by reference.
BACKGROUND OF THE INVENTION1. Field of the Invention
The invention relates generally to a system and method for generating a report using a knowledge base and, more specifically, to generating a report using sentence models that are automatically populated with keywords selected by a user. The invention is illustrated in the context of a medical procedure such as an endoscopic examination.
2. Description of the Related Art
Computerized word processing applications have gained widespread use since they allow a user to prepare and manipulate documents in electronic form. Moreover, various applications have been developed to assist users in specific industries in developing reports and other documents. For example, some voice-activated systems use a dictionary developed from scanning published reports to choose a term that most closely matches a spoken word. The spoken words of the user are then converted to text to produce a report. Other systems allow the user to enter information for a report via various prompts and menus. The system then generates a report based on the entered information.
However, such approaches are problematic since the terms are not presented in a uniform sentence structure. Moreover, the terms are not classified in a way that improves understanding and data mining capabilities. Similarly, various other features and benefits have also been lacking in the known systems.
BRIEF SUMMARY OF THE INVENTIONTo overcome these and other deficiencies in the prior art, the present invention provides a system and method for generating a report using a knowledge base.
In a particular aspect of the invention, a method is provided for generating a report regarding a procedure. The method includes: (a) displaying available keywords from a knowledge base on a first display region of a user interface, (b) receiving, via the user interface, at least one user command selecting at least one of the available keywords from the first display region, (c) displaying the at least one of the available keywords on a second display region of the user interface, responsive to the selection thereof by the at least one user command, (d) populating a sentence model according to the at least one of the available keywords to provide a populated sentence, and (e) displaying the populated sentence on a third display region of the user interface.
In another aspect of the invention, a method for providing keywords for generating a report regarding a procedure includes: (a) providing respective keywords for use in the report, (b) associating each of the respective keywords with a respective classification in a hierarchically arranged tree structure of classifications, (c) associating respective properties with the respective keywords, and (d) defining, based on the respective properties, a set of allowable values for a group of the respective keywords, where the group of the respective keywords are related
A related user interface and program storage device are also provided.
BRIEF DESCRIPTION OF THE DRAWINGSThese and other features, benefits and advantages of the present invention will become apparent by reference to the following text and figures, with like reference numbers referring to like structures across the views, wherein:
Overview of the System
The workflow processes associated with this aspect of the system are flexible enough to support small endoscopic practices in addition to endoscopic departments within large healthcare institutions.
The system may function as a stand-alone system including memory for storing patient data and image information. The system may also include a server 140 and database element 145 that may be connected via a gateway application to various “external” systems such as a hospital information system where the gateway facilitates the transfer of healthcare information between the system and other applications. Patient information stored in the system may be downloaded to external systems (e.g., a legacy system) via a gateway interface. The workstation 110 may communicate with the server 140 via the Internet 170 or other network, such as a LAN or intranet. The workstation 110 may also communicate with a fax server 160, for instance, for faxing reports via a fax modem 162. Generally, software instructions, including firmware and microcode, may be stored in any type of program storage device or devices, also referred to as computer-readable media. The software is executed by a processor in a known manner to achieve the functionality described herein.
In a particular aspect, the system includes an Image Management function enabling a user to annotate, label, import, export, and enhance the quality of images, including the ability to manage, record, and export live video clips. Further to this is an “auto-masking” feature that automatically selects an appropriate video mask based on a particular endoscope device being utilized by the health care practitioner.
In another particular aspect, the system includes a medical terminology “Knowledge Base” (KB) comprising keywords relating to the procedure, e.g., such as gastrointestinal, endoscopic and bronchoscopic terminology keywords. The keywords are captured via a graphical user interface (GUI) before, during, and/or after a procedure. The keywords are made available for labeling images captured during an examination to be used in reports, auto-populating appropriate sections of a report such as a Procedure Note, described further below, based on patient history, and building Procedure Note templates or models to auto-populate sections of information. The system also facilitates the use of custom terms that apply to a specific department or location. Thus, for example, during an exam, a user may select KB terms for a procedure via a common user interface, which is employed wherever the user needs to locate or extract keywords. This also provides a consistent way to select and use terminology.
Clinical Flow
The registration and scheduling clinical flow 200 of
The Pre-Procedure clinical flow 300 of
The Procedure clinical flow 400 of
The Post-Procedure clinical flow 500 of
User Interface
The invention is next described in connection with a user interface that allow the user to select different features under different tabs.
I. Home tab 600 (
1) Scheduled Exams—used to view a list of scheduled exams and create a new visit and exam.
2) Create a New Visit—allows the user to schedule a new visit for a patient.
3) Pending Items—used to view all of the pending tasks. The user can also select one or more pending items and close them.
4) Pathology Status—used to view the status of outstanding pathology requests or search the database for an existing record. The user can also edit or delete existing pathology records. When a pathology record is deleted, all of the specimens associated with that record are deleted.
5) Unsigned Reports—an attending physician can use the Unsigned Reports screen to view and sign unsigned Procedure Notes.
6) Sign Reports—A system administrator can use the Sign Reports screen to view unsigned Procedure Notes for a specific physician and mark them as signed.
7) Carbon Copies—When the user distributes a document to a medical provider, clinical staff, or contact via email, a notification is sent to the recipients that a document is available for them in the system. Recipients can then log on to the system and view a list of documents on the Carbon Copies screen.
8) ICU Synchronization—when the user performs an exam in ICU (Image Capture) mode, the user's imaging station is not connected to the network server. When the user finishes the exam, the user must upload images and data from the workstation to the server repository. When the workstation is re-connected to the network, a series of simple commands will upload the data and images captured during the exam. After the data is uploaded, the user uses the ICU Synchronization option to synchronize images and data.
9) Recall Letters—used to recall a patient for another examination. The user can use this option to add an item to the Recall Letter Queue to remind a patient of a follow-up examination.
10) System Log -Allows the system administrator to view errors and messages generated by the application.
II. Patient File tab 700 (
III. Registration tab 800 (
III. Pre-Procedure tab 900 (
IV. The Procedure Tab 1000 (
V. The Post Procedure Tab 1100 (
VI. The Analysis Tab 1200 (
VII. The Admin Tab 1300 (
Knowledge Base
The Knowledge Base (KB) is a terminology database that contains terms related to the specific procedure. For example, the KB may be a medical terminology database that includes gastrointestinal, endoscopic and bronchoscopic terminology in one possible application. The KB can be extended to other medical and non-medical applications by using the appropriate terminology. For example, the knowledge base may be used for any application where standardized terminology is desired. This may include applications for producing reports in various industries, such as financial services, insurance, legal services, real estate and so forth.
The KB contains concepts (terms), keywords (terms used in a specific context), sentence models and views (menus and keyword items). Keywords are the medical terms that are the basic building blocks of the KB. When the user selects a keyword from a menu of available keywords, it appears in a list of selected keywords or terms. Moreover, keywords are organized in menus. For example, a “size” menu type could contain the keywords “small”, “medium”, and “large”. Furthermore, a menu can be configured to be single-select, unique, or multi-select.
Generally, the user can use the KB to: (a) capture keywords before, during, or after a procedure; (b) label images captured during an examination to be used in reports; (c) auto-populate appropriate sections of a Procedure Note based on patient history; and (d) build Procedure Note templates/models to auto-populate sections of information.
During an exam, the user can select KB terms for a procedure. The KB features a common user interface, which is employed wherever the user needs to locate or extract keywords. This also provides a consistent way for the user to select and use terminology. The KB also facilitates the use of custom terms that apply to a specific department or location.
Lexicon Function
A Lexicon function is used to select terms from the KB. The Lexicon arranges the KB content into different report sections, based on Phases of Care. The user can click a tab to see the KB terms associated with the report section. A facility determines which report sections should be available in the Lexicon screen for a phase of care. A system administrator can make a report section available to appropriate phases of care in the Admin tab.
Each tab or report section in the Lexicon screen may contain two panes or display regions. As described further below, the right hand side pane displays a KB view and contains all the available terms of the KB arranged in a logical tree. Typically, only a portion of the tree is visible at a time. The user can navigate the tree to view different portions of it. The left hand side pane contains the selected terms. When the user picks or selects an available term from the right hand side pane, it is copied to the left hand side pane, which displays the selected terms, thus allowing the user to logically building a comprehensive description of the exam. The user uses these selected terms along with other exam data collected during various phases of care to generate Procedure Notes, e.g., reports, and other exam related documents.
Detailed Discussion
Lexicon Function—Pre-Procedure
The right-hand pane or first display region 1420 of the interface 1400 displays the available terms in the KB in a hierarchical tree or menu 1425. Generally, there is insufficient room to display all terms at the same time. Instead, the user can view branches of the tree 1425 in an expanded view by clicking on a “+” icon, or in a contracted view by clicking on a “−” icon. The branches of a node of the tree may contain related keywords that qualify the concept of the parent node keyword. For example, in the tree 1425, the keyword “severity” includes branches for keywords “mild”, “moderate” and “severe” that describe the degree of severity of the patient's symptoms. Keywords at lower levels of the tree thus can be provided to qualify the keywords at the higher levels.
In one example approach, the keywords in the tree 1425 are organized into menus in which the physician might organize the indications or symptoms of a patient. These menus may include, e.g., GI or gastrointestinal symptoms, airway symptoms, test results, imaging results, surveillance, treatment of established disease, systemic disorders, follow up, diagnostic sampling, and protocol study. Under each keyword, further qualifying terms can be viewed by expanding the tree. The interface 1400 relates to GI symptoms, and the portion of the tree 1425 shown relates to the indication “abdominal pain”. Multiple menus of indications can be selected by the user together or in turn.
The second display region 1410 contains a tree 1415 with the keywords that the user has selected from the KB terms in the display region 1420. Generally, when the user selects an available term from the first display region 1420, it is copied to the second display region 1410 to logically build a comprehensive description, e.g., of the patient's symptoms, or of the subsequent exam results. For example, in the tree 1415, the indications of diarrhea, weight loss, abdominal pain and heartburn have been selected along with various keywords for detailing each indication. The following discussion explains how the keyword “heartburn” in the tree 1415 is selected by the user.
The user, such as a physician, obtains information regarding the GI symptoms of a patient such as by interviewing the patient. The user learns that the patient is experiencing heartburn. The user then selects the keyword “heartburn” from the tree 1525 in the first display region 1420, e.g., by clicking on “heartburn” with a pointing device such as mouse. The keyword “heartburn” is then copied to the second display region 1410 as a first indication. See the interface 1600 of
Moreover, each keyword may be further detailed when selected. For example, when the keyword “heartburn” is selected from the tree 1525 in the first display region 1420, as shown in
Furthermore, each of the keywords in the tree 1625 may be expanded to provide further detailing keywords. For example, the user may expand the node “severity” in the tree 1625 by clicking on the “+” sign next to “severity”. The result is the tree 1725 in the interface 1700 of
Referring to the tree 1725, assume the user selects the child keyword “severe” under the parent keyword “severity”. As shown in the tree 1815 in the interface 1800 of
The process as detailed above may be repeated for the different indications to arrive at the interface 1400 of
Generally, the menu or tree of available keywords in the KB can be configured to single-select, unique, or multi-select. A single-select menu allows the user to select one keyword at a time. For example, in the tree 1425 of
A multi-select menu allows the user to select multiple keywords at a time. The user can even select all the keywords in a multi-select menu. For example, if the GI symptoms menu in the tree 1525 of
Views are collections of menus and their associated keywords organized within a tree-structure. The user can use views to navigate through the KB and select appropriate medical terms or keywords. For example, the interface 1400 of
As mentioned, to select a clinical term for a particular report section (tab), the user clicks on a keyword from the list of available keywords in the first display region 1420, and the selected keyword is copied to the second display region 1410. However, this arrangement of the display regions is an example only. It is possible to have the available and selected keywords displayed in various other configurations. For example, the available keywords may be displayed on a top display region while the selected keywords are in a bottom display region. In another possible approach, the selected keywords are displayed in a window that is overlaid on a window that displays the available keywords. It is also possible to use multiple display screens, where, e.g., the available and selected keywords are displayed on different screens. Various other configurations are possible based on the available display technologies.
Under the “unplanned events” tab of the interface 1400 of
Under the “codes” tab, the user can associate billing codes with selected keywords for billing purposes. The user accesses the Lexicon screen and selects a keyword with which to associate the billing code. The user clicks the Code icon, and a Select Billing Codes window is displayed. The user clicks Code Set, and the Code Sets window is displayed. The user searches for a billing code from this window. The user selects a type of code set from the Code Set dropdown list. The user enters the number of the code that is being searched for in the Number field. The user enters a description of the code in the Description field. The used clicks Go, and a list of billing codes based on the search criteria is displayed. If no search criteria are entered, all the billing codes from the selected code set are displayed.
Lexicon Function—Post-Procedure
The Post-Procedure Lexicon screen may contain icons for tools as discussed above in connection with the Pre-Procedure lexicon function. Moreover, as with the Pre-Procedure case, a Lexicon menu for Post-Procedure can be configured as single-select, unique, or multi-select.
To select a clinical term for a particular report section (tab), the user clicks on a keyword from the list of available keywords. The selected keyword is copied to the left side of screen or other separate display region. For example, assume the user finds a small polyp in the stomach in the patient during the endoscopic procedure, specifically on the anterior wall of the antrum. To document this finding, the user may perform the following steps:
(a) Access the Lexicon screen.
(b) Select the Findings report section tab. The display region 1420 provides a tree where a parent node is for the keyword “organs” (not shown).
(b) Click the +(plus) sign next to “organs” to expand it, revealing branch nodes for specific organs such as the stomach, duodenum, etc.
(c) Select “stomach” from the first display region 1420. This causes the tree 2115 (
(d) Click the + (plus) sign next to “stomach findings” to expand it. This causes the first display region 1420 to display branches of “stomach findings”, including “polyps” (not shown). Note that it is not necessary to update the tree 2115 with the keyword “stomach findings” since it is self-evident that the findings that are subsequently detailed are stomach findings.
(e) Select “polyp” from the first display region 1420. This causes the tree 2115 to be updated with the keyword “polyp” as a child branch of the keyword “stomach”. The first display region 1420 is updated to display a tree that is similar to the tree 2125, except that the keywords are unexpanded. The keywords in the tree 2125, e.g., fundus site. body site, antrum site, other stomach site, etc., are child branches of the keyword “polyp”.
(f) Click the + (plus) sign next to “antrum site” in the tree 2125 to expand it, revealing the child branches of anterior wall, posteriori wall, greater curvature and lesser curvature.
(g) Select “anterior wall of the antrum” from the tree 2125. This causes the tree 2115 to be updated with the keyword “anterior wall of the antrum” as a first branch of the keyword “polyp”.
(h) Click the + (plus) sign next to “size of polyp” to expand it, revealing the branches for diminutive, small, medium, and specify size (mm) in the tree 2125.
(i) Select “small” from the tree 2125 This causes the tree 2115 to be updated with the keyword “small” as a second child branch of the keyword “polyp”. Again, note that the hierarchical relationship of the available keywords is maintained in the tree 2115 for the selected keywords.
(j) Click Save.
The system further allows the user to enter custom information. If the user does not find a keyword in the available KB terms, the user can specify a term using a keyword that begins with “specify” (such as “specify size to enter a size”, “specify finding to enter a finding”, etc.) to add a term. For example, if the user does not find the size that the user wants to specify for the “size of polyp”, the user can specify a different size. To specify a different size in millimeters (mm), for instance, the user can perform the following:
(a) Click the “specify size (mm)” option in the tree 2125 to display a Specify Size (mm) window as a pop up window with a text field.
(b) Enter a value in the Enter Value text field, e.g., “23”.
(c) Click OK. The size of the polyp then appears in the left side tree 2115. For example, in the tree 2115, the entry “23 mm” or “size of polyp 23 mm” may appear in place of the keyword “small”.
(d) Click Save.
Procedure Notes
The Procedure Notes task may be accessed from the Post-Procedure tab of the interface to prepare Procedure Notes regarding a procedure performed on a patient. A Procedure Note may include documented information about a specific exam. It can be used to document findings, diagnosis, medications, recommendations, and other information such as past diagnosis. Generally, the Procedure Note function can be used to: (a) manage images, (b) view information such as images and Procedure Notes for other exams, (c) select terms from the Knowledge Base tree, (d) generate report text, (e) select billing codes, (f) sign a note, (g) generate different versions of a note, (h) discard a note, and (i) delete a note.
The user selects a template/model to use the Procedure Note function. The system administrator creates a Procedure Note template/model based on the manner in which either a facility or a physician wants to display captured information in a document.
Referring to
The user can use the Images section 2320 in a similar manner as the Image Management screen. The Images section 2320 may contain tools for the following functions: (a) delete selected images from the current exam, (b) delete all unlabeled images from the current exam, (c) mark selected images for printing, (d) unmark the selected image for printing, (e) view larger image, (f) label all selected images from the current exam, (g) delete the label from all selected images from the current exam, (h) associate findings, (i) disassociate findings, (j) show or hide menu and (k) show or hide strip.
The Procedure Note function can be used to view images and Procedure Notes for other exams associated with the selected patient. The following tools may be used to view other exam information: (a) view large image, (b) view the Procedure Note for the other exam, and (c) close the other exam image window. To view images for another exam, the user accesses the Procedure Note screen, and selects an exam from the Other Exam dropdown list 2322. Images for the selected exam are displayed on the right side of the Images section 2320.
To view Procedure Notes for another exam, the user selects the exam from the Other Exam dropdown list 2322, and clicks the View the Procedure Note icon to display the Procedure Note for the other selected exam in a new window.
The Procedure Note function can also be used to select KB keywords for an examination. The first display region 2364 is used to select keywords as discussed above in connection with the Lexicon function. When the user is done selecting keywords, the user clicks the Generate Report icon, discussed in connection with the tools above, to generate a report in the third display region 2340, which is the report section of the interface 2300. The Generate Report icon is activated if the user makes changes to the selected keywords. Moreover, if any of the selected keywords are associated with a sentence model, the sentence is generated and populated with the keywords in the displayed report within the specific Report Section.
The third display region 2340 may include predefined sections corresponding to the tabs in the Lexicon screen 2100 of
In the Findings section of the third display region 2340, a Use Organ Labels feature may be set to Yes for the exam type, in which case the sentences for findings are prefixed with the name of the organ. For example, assume there was a finding of “polyp” in “stomach”. Moreover, the polyp is further detailed by the user selecting the keyword “antrum site” and the branch keyword thereof “anterior wall of the antrum”, the keyword “polyp qualifier” and the branch keyword thereof “broad based”, and the keyword “size of polyp” and the branch keyword thereof “small”. These keywords are indicated in the tree 2363 in the second display region 2362. The sentence model in the report might appear as: “Stomach: A small, broad-based polyp was found arising from the anterior wall of the antrum. (2)”. Here, the notation “(2)” denotes a corresponding image in the Images section 2320 associated with the finding, e.g., image 2. When a sentence for a finding is generated, and there is an image associated with the finding, the image number may be provided at the end of the finding.
Also in the third display region 2340, a sentence model is populated to describe findings regarding a second organ, the esophagus. As indicated in the tree of selected keywords 2363, the user has found food in the esophagus. The food is characterized as being a trace amount, in a location described as the upper third of the esophagus, and the presence of the food is attributed to a motor disorder in the patient. Specifically, after building the lexicon of terms to describe the Findings in the tree 2363, the user clicks the Generate Report icon, and the sentence is generated. The sentence might appear as: “Esophagus: Trace of food was found in the upper third of the esophagus, due to motor disorder.”
Similarly, a Recommendation may appear as the sentence: “Start a low fat diet” based, e.g., on one or more keywords selected by the user under the Recommendation tab. Other example recommendations include “admit for observation”, “consult radiologist”, and so forth.
The sentence models advantageously allow the user to quickly generate reports using standard terminology and sentence structures. Moreover, the generated sentences can be easily edited by substituting one keyword in place of another. For example, under Procedure in the third display region 2340, the user may wish to change “The views were excellent” to “The views were good”. To achieve, this, the user highlights the word “excellent” in the sentence. In response, the display region 2362 is updated to show the portion of the tree 2363 in which the selected keyword “excellent” is located. The keyword “excellent” may appear highlighted in the tree 2363. Additionally, the display region 2364 is similarly updated to show the portion of the keyword tree 2365 in which the keyword “excellent” is located. Moreover, in the tree 2365, “excellent” will appear with other related keywords such as “poor”, “fair” and “good”, which are branches of the same parent node, such as “quality”. The keyword “quality” may in turn be a branch of a parent node “views”, for instance. To replace the keyword “excellent” with the keyword “good”, the user selects “good” from the tree 2365. The tree 2363 is then updated with the keyword “good” replacing “excellent”. Next, the user clicks the Generate Report icon to re-populate the sentence model with “good” in place of “excellent”.
Similarly, a sentence can be edited by adding or deleting a keyword. For example, the user may wish to change “A small, broad-based polyp was found . . . ” to “A broad-based polyp was found . . . ” To achieve this, the user highlights “small” in the sentence and clicks on a delete icon. To add a keyword, the user selects the additional keyword from the tree of available keywords 2365. The keyword is then copied to the tree of selected keywords 2363 and shown in the appropriate hierarchical position in the tree. The user then clicks the Generate Report icon to re-populated the sentence in the third display region 2340. For example, the user may select the additional keyword “small” from the tree 2364 to change the sentence “A broad-based polyp was found . . . ” to “A small, broad-based polyp was found . . . ”
This keyword editing feature is very powerful since it allows the user to modify the report to correct erroneous entries, or to modify entries based on further findings or change in judgment, for instance.
The example sentence models discussed above are normal sentence models since they read as complete sentences rather than as sentence fragments. A normal sentence model also typically incorporates all of the selected keywords associated with the report section. However, it is also possible to associate a keyword in the KB with a summary sentence model. If a selected template has a Summary section and a selected keyword has a summary sentence model, the summary sentence for the keyword appears in the Summary section. For example, if the user finds a polyp in the stomach, the summary sentence might be: “Diagnosis—polyp”. Thus, a report can include both normal and summary sentences.
The Procedure Note function can further be used to select relevant billing codes for the exam. If a keyword has a billing code associated with it, the user would see all billing codes and descriptions associated with the keyword when clicking the Code icon. Relevant billing codes associated with a keyword can be selected for the current exam as discussed previously
To save a Procedure Note, the user accesses the Procedure Note screen and clicks Save. The user can sign a Procedure Note if the Procedure Note text is generated. In one approach, only attending physicians for the examination can sign the Procedure Note. If the Validate & Sign Procedure Note settings are set to Yes, the user will be asked to validate the user ID and password. Signing a note will lock the report from further editing. To sign a report, the user accesses the Procedure Note screen and clicks Sign. Signing a Procedure Note updates a patient's past procedure, past diagnosis, and past surgeries record.
In situations where the user makes changes to an existing Procedure Note and wants to apply those changes to future Procedure Notes, the user saves the modified Procedure Note as a template for generating future Procedure Notes. To save a Procedure Note as template, the user accesses the Procedure Note screen, clicks Save As, assigns a name to the template, selects either a facility or physician name to assign an owner to the template, and clicks Save.
Once a Procedure Note is signed, it is locked and cannot be edited. To make any changes to an existing, signed Procedure Note, the user can create a new version of the Procedure Note. The new version of the Procedure Note is an exact copy of the current signed Procedure Note, without regenerating any sentences or updating any database fields. To generate a new version, the user accesses the Procedure Note screen and clicks New.
Discarded Procedure Notes are stored in a Discard Bin, where they can be viewed but not restored. To discard a Procedure Note, the user accesses the Procedure Note screen, makes sure the Procedure Note is signed, clicks Discard, and clicks Yes.
To delete a Procedure Note, the user accesses the Procedure Note screen, makes sure the Procedure Note is not signed, clicks Delete, and clicks OK.
Maintaining the Knowledge Base
A system administrator is responsible for maintaining the Knowledge Base by adding new keywords, sentence models, and menu structures.
Report Sections are used to generate Procedure Notes for a specific exam type. When the user creates a Procedure Note template, the user can choose to include a few or all the report sections in it. The user can also assign these report sections to a phase of care and then use them in the Lexicon screen as tabs to record data. The user can create, modify, and delete report sections from the Report Section List screen. Examples of report sections include: introduction, indications, procedure, findings, medication, unplanned events, recommendation, summary, and billing codes.
A Phase of Care function can be used to assign specific report sections to a phase of care, namely Registration, Pre-Procedure, Procedure, and Post-Procedure.
To create a Procedure Note template for an exam type, the user uses the Report Template function. To access the Report Template screen, the user navigates to the Admin tab, and selects Customization from the left menu. Available customization options are displayed. The user selects Report Template from the left menu, and the Select Procedure Note Template screen is displayed (
Knowledge Base Framework
The KB provides a controlled vocabulary for reporting results, e.g., of medical examinations and procedures. Discussed below are the three structural layers of the KB, an overview of the use of the KB base by the end user while creating Procedure Notes, the use of selected terms for query purposes, and an interface to maintain the KB.
The KB includes three main layers: Concept Layer, Data Layer and View Layer. The Concept Layer represents a dictionary from which individual words can be selected to build a more complicated grammar. The Data Layer represents the data that describes the Concepts in greater detail. The View Layer organizes the Keywords into groups of terms in a tree structure connected by menus. The view is the primary way for the user to navigate through the knowledge base to select the appropriate medical terms for a given examination type.
In the following discussion, class diagrams are provided according to the Unified Modeling Language (UML). As is known, class diagrams describe the static structure of a system. Classes represent an abstraction of entities with common characteristics. Classes are illustrated with rectangles divided into portions. The name of the class is in the top portion, and the attributes of the class are in the middle portion. Write operations may be provided in the bottom portion.
Moreover, associations represent the relationships between classes. Multiplicity or cardinality notations are indicated near the ends of an association. These symbols indicate the number of instances of one class linked to one instance of the other class, as follows: (a) “1” denotes no more than one, (b) “0 . . . 1” denotes zero or one, (c) “*” denotes many, (d) “0 . . . *” denotes zero or many, and (e) “1 . . . *” denotes one or many. A filled diamond represents a composition relationship, denoting a strong ownership between a “whole” class and a “part” class. A hollow diamond represents a simple aggregation relationship, in which the whole class plays a more important role than the part class, but the two classes are not dependent on each other. The diamond end in both a composition and aggregation relationship points toward the whole class or the aggregate.
Concept Layer (The Dictionary)
The Concept Layer defines the concepts that can exist in the KB. Concepts are given a textual representation and classified according to the dictionary definition of the concept within this layer. The Concept Layer acts much like a dictionary, defining meanings of concepts, whereas the rest of the knowledge base is more like an encyclopedia, defining concept usage.
Concepts are unique objects within the KB that represent the data that does not change regardless of the context in which the data is used. For example, the word “mass” is defined as a unified body of matter with no specific shape. It may also be defined as a large but nonspecific amount or number. These would be two separate concepts within the KB because they have different meanings. However, a mass within the esophagus and a mass within the colon would be the same concept because they are both a unified body of matter with no specific shape. As discussed further below, this approach advantageously allows accurate querying of indications, findings and other data obtained via the system, which distinguishes when the same word is used in different contexts. Concepts have no inherent relationship to any other concepts within the KB.
LUIs represent a specific version of text that represents a Concept. When the text for a Concept changes, a new LUI is created so that the Concept can still be referred to by its old name. For example, a user of the KB may choose to change the name of the Concept “mass” to “tumor” due to personal preference. In this case, all references to that Concept will have the text of “tumor” unless the specific LUI for “mass” is used.
LUIs are used to “lock” the text of a signed Procedure Note. When a Procedure Note is signed, the application traverses the tree of selected terms and stores the LUIs of the concepts at the time of signing. When the signed report is later amended, the selected items refer to the text that was present at the time of signing until that item is modified at which time the newest LUI is used. The LUI infrastructure could also be extended to accommodate other features where the textual representation of a concept needs to change without the underlying meaning being affected, e.g., for internationalization and synonym support.
Data Layer
Keywords are Concepts that have a defined set of properties. Unlike Concepts, Keywords are linked with other Keywords to define a specific use of a Concept. For example, sample data for a Concept called Mass may include a classification as an Entity/ConceptualEntity/PatientProblem/Finding/ImagingFinding/ProtrudingLesions. The use of the “/” in this notation denote that the item following the “/” is a subclass of the item preceding the “/”. For example, Conceptual Entity is a subclass of Entity, PatientProblem is a subclass of Conceptual Entity, and so forth.
Classifications represent the semantics of Concepts. Through Classifications, Concepts are given a meaning. Classifications are constructed in a hierarchy much like a taxonomic classification of organisms. Taxonomy is the scientific discipline of categorizing various species of organisms into conveniently sized groups, referred to as taxa, which share common, identifiable traits. In one possible implementation, the root of the hierarchy is a classification called Entity, from which all other classifications are derived. The hierarchy is structured so that more specific classifications are lower in the hierarchy. For example, under the root classification of Entity there are two classifications; Physical Object and Conceptual Entity. If a Concept is classified as a Physical Object, like a chair for example, we know that that Concept exists in the physical world and could, for example, be measured. Alternatively if a Concept is classified as a Conceptual Entity, for example, occupation, we know this is not a physical thing and could not be held or touched. For example, with the above approach, the user could formulate a search of the KB to find all patients who had neoplasms. The KB would return patients that had tumors and polyps because both Concepts are classified as neoplasms.
Properties define the set of allowable values for a group of related keywords. A keyword can have any number of properties that are made up of a homogenous list of keywords that all share the same classification or inherit from the same classification. For example, the property Location on Mass has a classification of BodyLocation; this means that any keyword that is also classified as BodyLocation or something derived from BodyLocation, such as Organ, can be assigned as an allowable value to the property. The following table indicates sample properties, classifications and values for the keyword “mass.”
The following code illustrates example sentence models. In the examples, text-placeholders are represented surrounded by angle brackets (<>), node-placeholders are represented surrounded by square brackets ([ ]), trigger-placeholders are displayed all in uppercase, and conditional-placeholders are surrounded by curly braces ({ }).
EXAMPLE 1 Finding<There was a> [Size] [Mass Appearance] TUMOR/MASS <present> {IF ([site]==(distance cm from teeth)) “at” else “in the” } [Site] {IF ([site]!=(whole esophagus) AND [site]!=(Distance cm from teeth) AND [site]==(ANY)) “of the esophagus” ELSE “”} {IF ([site]==(Distance cm from teeth)) “from the entry site” ELSE “”}<.>
The trigger-placeholder “TUMOR/MASS” indicates that the particular sentence model will be populated and displayed on the user interface, such as on the Procedure Note Builder display region 2340 (
<Start> CIPROFLOXACIN [dose][route] {IF ([frequency]==(qpm)) “every evening” ELSE “”} {IF ([frequency]==(q12 h)) “every twelve (12) hours” ELSE “”} {IF ([duration]==(ANY) “for” ELSE “” } [duration]<.>
The trigger-placeholder “CIPROFLOXACIN” indicates that the particular sentence model will be populated and displayed on the user interface, such as on the Procedure Note Builder screen region 2340 (
Triggers are used to signal the application that some action must be taken when the triggering keyword is selected. There are two forms of triggers that can be assigned to a keyword: Education and Recall. An education trigger is used to signal the system that a particular document should be queued for printing when the keyword is selected. A recall trigger is used to generate an item in a recall queue for a patient when the keyword is selected.
Codes are used to associate external codes to a keyword in the KB, primarily for billing. Any number of Codes can be assigned to a keyword. Codes are assigned to a Keyword from a code set, which is the universe of all possible codes for a given code set type.
View Layer
Using the Knowledge Base
Procedure Note Data
When terms are selected from a view and associated with an examination, a reference to the keywords, not the terms, is saved. The references are stored in an ordered tree based on the order in which the terms are selected from the view.
Queries
The reference data associated with the examination will be open to queries. The query can look at either the concepts or keywords associated with the examination. For example to find all patients that had a finding of mass in the esophagus, the query could be: findings.mass.location=esophagus. To find all patients that had a finding of mass in the esophagus greater than 2 cm, the query could be: findings.mass.location=esophagus and findings.mass.size>2 cm. To find all patients that had a confirmed diagnosis of cancer in the esophagus, the query could be: diagnosis.(concept.classification=cancer).location=esophagus and diagnosis.(concept.classification=cancer).certainty=confirmed. Thus, the invention allows advanced data mining techniques from a database of patient information. Other techniques that simply search a database by keyword yield less accurate results. For instance, a search for the word “mass” in a database with such techniques might yield a finding stating that “no mass was found” as well as other tangential or irrelevant results.
Maintaining the Knowledge Base
Generally, the KB can be tailored to the user's specific needs. In one possible approach, a complete baseline KB is defined by the developer of the system to enable users such as physicians to immediately use the system. The users can subsequently fine-tune the system to meet their specific needs after gaining experience with the system by employing the following maintenance features.
In a pop up window 2920, the user enters a new concept named “stomach” in a field 2924. A classification tree 2922 indicates that the classification of the concept is under “organ”. The user can navigate the tree 2922 by clicking on the desired classification. The higher-level classifications in the tree are also shown, up to the top-level classification “Entity”. The user can also enter a plural term for the concept, and a description of the concept, via the window 2920. A classification description is also provided in a grayed out manner to indicate that it cannot be edited. In the display region 2905 of the interface 2900, the classification tree is repeated. A display region 2910 indicates that “esophagus” and “duodenum” are concepts that are related to “stomach” since they are all members of the classification “organ”. The user can check a “specify” checkbox 2925 so that the user is prompted to enter a value to replace the keyword when the report is generated. The data type specified by the drop down menu 2930 determines whether the user is allowed to enter a text or numeric value. Note that the keyword “stomach” is also defined for a certain exam type, e.g., EGD, and for a report section, e.g., Findings. The user can also adjust these factors.
Grammar Engine
As discussed, the user may automatically generate a report from selected keywords by clicking on the Generate Report icon. Furthermore, a grammar checking routine or grammar engine may be used to correct or optimize the grammar in the populated sentences. The grammar engine may be run automatically when a sentence is populated. Various grammar engines, including those known in the art, may be used.
A grammar engine can be helpful for various reasons, such as ensuring that the verb and subject of a sentence agree, providing correct punctuation and capitalization, and ensuring that singular and plural nouns are properly modified. In one possible approach, a grammar engine includes three main components. First, a part-of-speech tagger assigns a part of speech (POS) tag to each word or word component (e.g., noun or verb) in the generated sentence. Second, a lexical analyzer is run to break the sentence into grammatical components, phrases, and clauses. The final portion updates the sentence with the necessary corrections.
Each keyword in the KB may be assigned a primary tag by default that identifies the most likely grammatical characteristic of the keyword in the domain in which it is used. Tags for other allowable grammatical characteristic may also be provided. Tags may also be provided for the words in a sentence that are not keywords, such as static text. Example grammatical characteristics identify a word as being, e.g., an adjective, singular noun, plural noun, adverb and so forth. The tag may be a two-letter codeword, for instance.
The invention has been described herein with reference to particular exemplary embodiments. Certain alterations and modifications may be apparent to those skilled in the art, without departing from the scope of the invention. The exemplary embodiments are meant to be illustrative, not limiting of the scope of the invention, which is defined by the appended claims.
Claims
1. A method for generating a report regarding a procedure, comprising:
- displaying available keywords from a knowledge base on a first display region of a user interface;
- receiving, via the user interface, at least one user command selecting at least one of the available keywords from the first display region;
- displaying the at least one of the available keywords on a second display region of the user interface, responsive to the selection thereof by the at least one user command;
- populating a sentence model according to the at least one of the available keywords to provide a populated sentence; and
- displaying the populated sentence on a third display region of the user interface.
2. The method of claim 1, wherein:
- the populating the sentcnce model comprises selecting the sentence model from among a plurality of available sentence models according to the at least one of the available keywords.
3. The method of claim 1, farther comprising:
- editing the populated sentence by: (a) receiving, via the user interface, at least one user command selecting the at least one of the available keywords in the populated sentence, and at least one user command selecting another of the available keywords from the first display region, and (b) re-populating the sentence model using the another of the available keywords in place of the at least one of the available keywords.
4. The method of claim 1, wherein:
- the displaying the populated sentence comprises displaying the populated sentence with the at least one of the available keywords highlighted therein.
5. The method of claim 1, wherein:
- the populating the sentence model comprises providing static text in at least one text placeholder.
6. The method of claim 1, wherein:
- the populating the sentence model comprises providing a specified property value in at least one node placeholder.
7. The method of claim 1, wherein:
- the populating the sentence model comprises generating text in the at least one sentence that depends on the value of a property.
8. The method of claim 1, wherein:
- the receiving comprises receiving, via the user interface, at least one user command selecting a plurality of the available keywords from the first display region;
- the populating the sentence model comprises populating the sentence model according to the plurality of the available keywords to provide the populated sentence; and
- the sentence model comprises a summary sentence model in which fewer than all of the plurality of the available keywords are used.
9. The method of claim 1, wherein:
- the rccciving comprises receiving, via the user interface, at least one user command selecting a plurality of the available keywords from the first display region;
- the populating the sentence model comprises populating the sentence model according to the plurality of the available keywords to provide the populated sentence; and
- the sentence model comprises a normal sentence model in which all of the plurality of the available keywords are used.
10. The method of claim 1, further comprising:
- receiving, via the user interface, at lest one user command setting a grammatical property of the at least one of the available keywords;
- analyzing a grammar of the at least one populated sentence based on the grammatical property.
11. The method of claim 1, wherein:
- the displaying the available keywords comprises displaying the available keywords on the first display region organized according to at least one hierarchical menu wherein related keywords are child keywords of a parent keyword.
12. The method of claim 11, wherein:
- the receiving comprises receiving, via the user interface, at least one user command selecting a plurality of the available keywords from the first display region; and
- the displaying the at least one of the available keywords comprises displaying the plurality of the available keywords on the second display region organized according to at least one hierarchical menu in accordance with the at least one hierarchical menu in the first display region.
13. The method of claim 11, wherein:
- the child keywords qualify the parent keyword.
14. The method of claim 1, wherein:
- the receiving comprises receiving, via the user interface, a shortcut command for selecting multiple keywords at a time from the available keywords.
15. The method of claim 1, further comprising:
- receiving at least one user command for maintaining the knowledge base.
16. The method of claim 15, wherein:
- the at least one user command for maintaining the knowledge base comprises at least one user command for adding a keyword to the knowledge base.
17. The method of claim 15, wherein:
- the at least one user command for maintaining the knowledge base comprises at least one user command for editing properties of the at least one of the available keywords.
18. The method of claim 15, wherein:
- the at least one user command for maintaining the knowledge base comprises at least one user command for associating a billing code with the at least one of the available keywords.
19. The method of claim 15, wherein:
- the at least one user command for maintaining the knowledge base comprises at least one user command for at least one of creating and editing the sentence model.
20. The method of claim 15, wherein:
- the at least one user command for maintaining the knowledge base comprises at least one user command for at least one of adding and editing a trigger for the at least one of the available keywords.
21. The method of claim 1, further comprising:
- displaying at least one image obtained from the procedure in a fourth display region of the user interface.
22. A method for providing keywords for generating a report regarding a procedure, comprising:
- providing respective keywords for use in the report;
- associating each of the respective keywords with a respective classification in a hierarchically arranged tree structure of classifications;
- associating respective properties with the respective keywords; and
- defining, based on the respective properties, a set of allowable values for a group of the respective keywords;
- wherein the group of the respective keywords are related.
23. The method of claim 22, wherein:
- the group of the respective keywords which are related are associated with the same classification.
24. The method of claim 22, wherein:
- the group of the respective keywords which are related inherit from the same classification.
25. The method of claim 22, further comprising:
- displaying the available keywords on a first display region of a user interface organized in a first tree structure that is based on the hierarchically arranged tree structure of classifications;
- receiving, via the user interface, at least one user command selecting at least one of the available keywords from the first tree structure;
- displaying the at least one of the available keywords on a second display region of the user interface, responsive to the receiving, in a second tree structure that is based on the first tree structure.
26. The method of claim 22, further comprising:
- populating a sentence model according to the at least one of the available keywords to provide a populated sentence; and
- displaying the populated sentence on the user interface.
27. The method of claim 22, further comprising:
- querying a database containing the keywords based on at least one of the respective classifications.
28. A user interface for assisting a user in generating a report regarding a procedure, comprising:
- a first display region displaying available keywords from a knowledge base;
- wherein the user provides at least one user command selccting at least one of the available keywords from the first display region;
- a second display region displaying the at least one of the available keywords responsive to the selection thereof by the at least one user command; and
- a third display region displaying a populated sentence that is provided by populating a sentence model according to the at least one of the available keywords.
29. A program storage device tangibly embodying a program of instructions executable by a machine to perform a method for providing keywords for generating a report regarding a procedure, the method comprising:
- providing respective keywords for use in the report;
- associating each of the respective keywords with a respective classification in a hierarchically arranged tree structure of classifications;
- associating respective properties with the respective keywords; and
- defining, based on the respective properties, a set of allowable values for a group of the respective keywords;
- wherein the group of the respective keywords are related.
Type: Application
Filed: May 14, 2004
Publication Date: May 26, 2005
Inventors: Philip Pearson (Sea Cliff, NY), Andrew Odlivak (Oakdale, NY), Marc Shapiro (Dix Hills, NY), Deepak Agarwal (Hicksville, NY), Aaron Divinsky (Sayville, NY), Peter Cotton (Mt. Pleasant, SC)
Application Number: 10/846,255