1. Field of the Invention
This invention relates generally to systems, and methods, for defining, using and managing company procedures, processes how to's or checklists, and ensuring that they are kept accurate and consistent, and more particularly to systems, and methods for tracking the status of each procedure execution, storing the outcome information in a relational database, enabling audits of this information to be performed.
2. Description of the Related Art
Most companies execute procedures on a daily basis. Procedures define how to accomplish a task. They consist of the set of steps or instructions that define what needs to be done. Procedures are defined in all areas of a company, including but not limited to finance, human resources, IT, marketing, sales, and the like. By way of illustration, and without limitation, in the area of IT management examples of procedures can be the steps taken to upgrade the operating system on a machine, to install new software, and the like. Management and maintenance of company procedures is a task that often gets overlooked. The procedures definitions may be kept in a network share drive or in a binder—users have a hard time finding them when they need them. The definitions do not get updated as changes occur in the company and so are often out of date. There is no record kept of when a procedure is executed, by whom it was executed, or the result of the execution. Problems occur as a result of not following all of the procedure steps or following incorrect procedure definitions. These problems are costly to the company. In addition to the problems companies have with following company procedures, companies today are audited for compliance with certain standards. Companies need a better way to track what company procedures get run, who is responsible for running said procedures, and the ability to audit or report on the results what has changed.
There is a need for a procedure management system that enables management, maintenance, usage and storage of procedure definitions. The system needs to allow users to define procedures; and to keep these procedure definitions accurate by enabling feedback on the procedure definitions. There is a need for a system that allows users to use and track the use of these procedures. This usage .information should be available to audit. There is a need for a system that enables users to suspend and resume the execution of procedures; important steps in a procedure will not be omitted as the system will ensure that users can resume execution exactly where they left off.
An object of the present invention is to provide a system, and methods, that enables users to define, maintain, use and store procedure definitions and procedure usage information.
Another object of the present invention is to provide a system, and methods, for interactively guiding a user through using the procedures and enables the user to suspend and later resume the execution of any procedure in the system.
These and other objects of the present invention are achieved in, a procedure management system that includes a host server. The host server is configured to allow a user operating a web browser to define a procedure. The procedure has a name, a description and a list of steps required to achieve a specific task. A procedure management server processes a procedure definition into a procedure structure that is retrievable by the host server and allows the user to run the procedure and provide feedback on the procedure definition. A database server includes a run time database for procedure information and a definition database for procedures. The database server is configured to communicate with the procedure management server.
In another embodiment of the present invention, a method is provided for allowing a user operating a web browser to define a procedure that has a name, a description and a list of steps required to achieve a specific task. Each step of a procedure is defined. The procedure definition is stored in a database.
Glossary
The following is a glossary of some terms used in this invention.
Procedure: A set of well defined steps required to implement a process or how-to do something.
Procedure Owner: Person responsible for definition and maintenance of a procedure.
Procedure Instance: An occurrence or run of a defined procedure. Several users may run a procedure in which case each user has their own instance of the procedure.
Procedure Definition Database: A database where procedure definition information is stored.
Procedure Runtime Database: A database where procedure runtime information is stored.
The user accesses the procedure management system from their web browser to use the system.
The invention provides methods to enable the user to capture the steps needed to define a procedure, process or how to do something in the system. Procedure information is captured into a procedure structure and stored in the procedure definition database. By way of illustration and referring now to
In one embodiment of the present invention, the procedure structure is expanded to include entry and exit actions for each step. These actions include but are not limited to, conditional, computational, plug-in, script, go to, termination actions, and the like. By way of illustration, and without limitation, examples of this include, branch to subsequent steps based on values entered or returned via execution of a process (conditional), obtain the value of an expression (computational), call a external process (plug-in), execute a script (script), skip steps and go to a step further down in the procedure definition (go-to action) or to determine that this procedure can not be completed as is, terminate the execution (termination action), and the like.
In another embodiment of a procedure structure, the element of a step is extended to allow the author to associate prompts, text, images or attachments with each step. By way of illustration, and without limitation, this includes display of information to the user in a variety of formats (text or images), display requests asking the user to perform certain actions (prompts), obtaining responses from the user and using those responses to determine the next or future appropriate actions, perform actions automatically on behalf of the user, alerting (via email or other mechanism) when certain actions are performed or not performed by the algorithm or by the user, and the like. In addition, each step can contain sub steps that in turn contain any of the information outlined above. The step and sub step elements are defined and stored with the procedure definition. Referring now to
The system provides methods to allow users to define these procedures in the system. In one embodiment of the invention, a web browser application enables users to define and capture the procedure definition as detailed above. The application provides methods to define the procedure structure information—name, description, category, owner, and the like. In addition, methods are provided where the individual steps and associated step actions of the procedure are defined. Steps can be added, moved or deleted from the procedure definition. Step properties can be defined for each step. By way of example and without limitation, step properties include marking the step for sequential or non-sequential execution or making procedure steps optional or required. The web application communicates with the procedure management server to store the procedure definition in the procedure definition database. The procedure definition is written in a markup language, referenced from herein as Procedure Markup Language or PML. This language defines a procedure structure and methods are provided that write the PML definition of a procedure to the database. PML is an XML document format, the structure of which is defined by an XML schema. The schema describes the structure and format of a procedure, that it can contain steps, sub-steps, step elements, step actions, and the like.
In another embodiment of the invention, the ability to test the validity of the procedure definition is provided. Users of the system can define their procedure and execute the procedure in ‘test mode’ to verify the validity of each step and step action that is defined. By way of illustration, a procedure might define a step action to notify the manager of the group on a failure of a specific step. Running in test mode, the notification will not be sent but a message or similar notification will be displayed to inform the user of the action that would be performed.
In a specific embodiment of the invention, methods are defined to store the said procedure definitions in the procedure definition database. Referring now to
In this embodiment of the invention, the procedure structure is extended to contain procedure revision information. Procedure revision information will capture the version of each procedure definition. By way of example, and without limitation, each time a new revision is created the procedure version can be incremented. In addition timestamps for when each procedure definition was updated and by whom can be stored with the procedure definition. The procedure revision information provides the ability to store procedure content of older procedure revisions. The system defines methods that enable the display of differences in procedure versions to the users.
In another embodiment of the system, an algorithm is defined that will parse the procedure definition information stored in the procedure definition database, recreate the procedure structure and using a web based application present the procedure steps to the user as an interactive checklist of steps. The algorithm will read the current version of the procedure definition from the database and by default display the most recent revision to the user of the system. Methods are provided that enable the user to view what has changed between different revisions of the procedure definition.
The procedure library is where the procedure definitions are stored by the system. The procedure definitions are stored in the procedure definition database and displayed to the user based on their access rights. Referring now to
The system defines methods to present the procedure definition to the user using a web based application. Referring now to
In yet another aspect of the invention, the system defines methods to record the step outcome of each step 62 and timestamp 63 when each step action is performed. This information is saved for each invocation of the procedure and is written to the procedure runtime database. This information provides an audit trial of what action occurred on each step of the procedure, when it happened and by whom it was performed. Methods are disclosed which enable the users to see a log of the activity on a procedure and to run reports on this information.
In yet another aspect of the invention, the procedure definition can be presented to the user in a workspace isolated from the user's desktop. By way of example, and without limitation, a portion of the user's screen can be reserved in order for the procedure definition to be displayed and used. In this embodiment, a workspace is created on the user's screen that is isolated from the rest of the user's desktop. This workspace is utilized by the user to perform actions on steps of the procedure. The workspace remains visible on the user's screen to provide for the user to see the step of a procedure that the user is currently on. As illustrated in
In this embodiment of the present invention, a procedure definition that has been defined and published is accessible to users of the system. A method is defined that allows users to attach comments or notes to a procedure definition. In the current embodiment, all comments associated with the procedure definition are tracked and recorded in the database. Each step of a procedure definition can optionally have associated comments written by users of the procedure, which indicate requested comments, changes or updates to the procedure definition. By way of illustration, this can be equivalent to a user attaching a post-it to a hard copy document to provide feedback. This feedback is captured by the system and stored with the procedure definition. The system provides methods to determine who can view and respond to this feedback. By way of example and without limitation, comments may be marked as publicly viewable by all users, or may be marked as private for procedure owners only. Referring now to
By way of illustration and referring to
In another embodiment of the present invention, any changes made to a procedure definition are tracked in the procedure database server. Procedure changes may be made as a result of responding to a comment from a user or a change in the environment which warrants an update to the procedure definition. By way of example, and without limitation, the procedure revision is incremented each time a new procedure is published. The procedure definition is stored for each procedure revision defined which enable procedure differences between any procedure revisions in the system to be calculated and displayed to the user. In addition, the system will store additional procedure revision information in the procedure definition database. By way of example, and without limitation, such information could be when each revision of the procedure was published, last modified and by whom it was modified. This enables tracking version and approval states of the current procedure, as well as older revisions and proposed future revisions. In addition, this enables the recreation of a procedure as it existed in the past using the information present in the database.
The system provides methods to ensure that the most recent procedure definition is available to users of the system. If the procedure definition is changed by the author, a new revision of the procedure is created and the older revision archived. Referring now to
In another embodiment of the invention, the system provides methods to alert users to changes in the procedure definition if it has changed since they last used it. By way of illustration and referring now to
In another embodiment of the present invention a method is provided that allows users to suspend and later resume procedure execution. Users of the system may not get to complete a procedure run and need to resume procedure execution where they left off when they restart the process. The system ensures that users do not omit steps or redo steps of a procedure when it is restarted. When an active procedure is suspended, all relevant state information, including any previous responses and the attributes of any items in their workspace, is stored in the procedure runtime database. When the active procedure is resumed, all previously stored information is reloaded. The system assures that there is no loss of execution information. Referring now to
In yet another embodiment of the invention, another type of note is defined by the system. The system defines methods that allow the user to specify notes that are associated with the procedure instance or run of a procedure. The note may specify information relevant to this current run of the procedure. The information in the note is visible only to people who see this instance of the procedure. By way of illustration, and referring now to
In this embodiment of the present invention, this procedure runtime information as outlined in previous embodiments is recorded to a procedure runtime database. By way of example, and without limitation, this audit data store can be a text file or a database. This database can be the same as the procedure definition database, or it can be a separate more secure database on a different machine, thus guaranteeing that the procedure runtime or auditable information is secure. By way of illustration, and without limitation, the runtime database maintains a record of what steps of each procedure defined in the system were performed, when they were performed and by whom they were performed. In addition, information on procedure start and complete times, steps that were skipped and any exceptions that were noted are saved to the runtime database. The information in this database can be viewed and analyzed at a later stage to see what steps of each procedure have been run and the results of this execution. The system provides methods to report off this runtime information that has been collected by the procedure management system. By way of example, and without limitation, reports on procedure usage, procedure outcome information and procedure log information are provided. A complete audit trail of step execution of each procedure in the system is available.
The system provides methods to author or capture procedure definitions in the system. By way of example and without limitation, one such method is a web based procedure creation application. The application presents an easy to use graphical interface to the user to enable them to define the procedure structure. Referring now to
In yet another embodiment of the present invention, procedure structures are created from existing document files, including but not limited to DOC, TXT, HTML and the like. The ability to read this information and save as a procedure structure definition is provided. Users that have current procedure definitions in these existing document files are able to import these definitions and have them internally represented as procedure structures. By way of example, an XML schema template can be associated with a Microsoft Word document to define the elements of a procedure structure. The import utility will enable the user to import an existing Word document, and a wizard provides the ability to convert this document to a procedure structure definition. By way of example, and without limitation, this can include identifying the procedure owner, name, description, and the steps required running the procedure. The ability to save this procedure to the procedure definition database is provided. A mechanism to automatically identify the steps of a procedure is also provided. By way of example, and without limitation, steps can be represented as numbered lists, bulleted lists, indented lists, or paragraph types.
While the above is a description of the preferred embodiments of the invention, various alternatives, substitutions and modifications may be made without departing from the scope thereof, which is defined by the following claims. Thus, the preferred embodiments should not be taken as limiting the scope of the invention. Furthermore, the present invention is directed to a number of separate inventions and each of these inventions may be claimed independently of one another. Each feature, aspect and advantage of the invention may be claimed independent of one another without departing from the scope of the invention. Thus, the invention does not include a single essential feature, aspect or advantage and the invention should not be limited as such. It is intended, therefore, that the invention be defined by the scope of the claims which follow and that such claims be interpreted as broadly as is reasonable.
This application claims the benefit of U.S. Ser. No. 60/669,288, filed Apr. 6, 2005, which application is fully incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
60669288 | Apr 2005 | US |