PROCESS SAFETY MANAGEMENT SYSTEM AND METHOD

According to embodiments of the present invention, a process safety management database stored on a server records procedure data structures which may be copied to create job data structures which define an activity or combination of activities that fall under the OSHA definition of “process.” A personnel member performing a step of a covered process under OSHA regulations may use a client application from a client computer to track the progress of those steps, which may be transmitted by a server application to client computers of other personnel members in real-time while each client computer is in a different location. Upon completion of each step of a covered process, the server application may record the job data structure in a fixed state in fulfillment of regulatory certification requirements.

BACKGROUND OF THE INVENTION

The present invention generally relates to safety management. More particularly, the present invention relates to a system and method for process safety management.

In accordance with regulations promulgated by the U.S. Occupational Safety and Health Administration, process safety management refers to procedures designed to reduce the danger of activities in the process industries. “Process” as defined by OSHA refers to “any activity involving a highly hazardous chemical including any use, storage, manufacturing, handling, or the on-site movement of such chemicals, or combination of these activities.” Businesses engaged in processes covered by the process safety management regulations are held responsible for ensuring that employees understand and participate in the management of hazards presented by covered processes.

In particular, employers must create written instructions for safely conducting the activities in each covered process. These written instructions are compiled in the form of physically bound references which must be manually retrieved from storage and consulted prior to the performance of a covered process by personnel. Furthermore, employers must also create written records documenting whether the performance of a covered process by personnel was in accordance with these written instructions, as well as documenting any deviations from these written instructions. Compliance with OSHA regulations requires the storage of certified copies of such written records. Recordkeeping and certification must be undertaken by authorized personnel members, but when authorized personnel members are not in the same location as personnel members performing a covered process, determination of the performance and progress of a covered process requires ad-hoc systems of communication and coordination.

The process of communicating information about the performance and progress of a covered process among personnel in different locations, and the process of subsequently recording such information by personnel who may not have first-hand experience of the performance and progress of the covered process, are subject to shortcomings in accuracy and efficiency. There has not been a dedicated system or method directed to the communication and recordation of information about the performance of covered processes.

BRIEF SUMMARY OF THE INVENTION

Embodiments of the present invention provide a process safety management system and methods for the use thereof. A process safety management system according to embodiments of the present invention includes at least one client computer in communication with a server over a communication network, a process safety management database stored on the server, and a server application hosted on the server. The client computer may be a computing device such as a portable computer. A client application may be stored on the client computer.

A process safety management database according to embodiments of the present invention may store a procedure data structure, which may in turn store data elements which define a procedure according to the OSHA definition of “process,” and may further include any number of section data structures, which may further include any number of step data structures which may each include a plurality of step data elements. A note data structure may be stored associated with a step data structure. A procedure revision data structure may be stored associated with a step data structure.

A process safety management database according to embodiments of the present invention may store a job data structure, which may in turn store data elements which define an activity or a combination of activities that fall under the OSHA definition of “process,” and may further include a copy of a procedure data structure. The job data structure may further include a job progress status element and the copy of a step data structure may further include a step progress status element.

Queries or commands initiated by a human operator from the client computer to the server may be transmitted by the client application to the server application. The server application then performs operations on the process safety management database in accordance with the queries or commands.

Activities or combinations of activities that fall under the OSHA definition of “process” may be performed by personnel members of a facility. Personnel members may be assigned administrator roles, scribe roles, and viewer roles. Each personnel member having a role assigned may receive a user account for the client application, associated with a level of access which is commensurate to a personnel member's role according to a role assignment scheme.

The client application provides a variety of user interfaces which provide controls with which a user may interact to input queries or commands. The client application may disallow personnel members from inputting particular types of queries or commands depending on the role assigned to each personnel member. Personnel members may interact with user interfaces of the client application to create, edit, and delete user accounts; create, edit, and delete procedure data structures; create, edit, and delete job data structures; create, edit, and delete section data structures; edit and delete step data structures; track completion time for performance of steps by personnel members; create, edit, and delete note data structures; and review procedure revisions.

Embodiments of the present invention provide a process safety management method. Personnel members having administrator, scribe, and viewer roles each access the server from a different client computer running the client application. The personnel member having the administrator role creates a job data structure containing a copy of a procedure data structure. The personnel member having a scribe role accesses the step data structures of a section data structure. Upon the performance of a step by one or more personnel members having a scribe role, the personnel member having a scribe role starts a timer to track the timing of the performance of that step, and the server application commands client applications running on each client computer to refresh a timer display. Upon the completion of the performance of that step, the personnel member having a scribe role stops the timer and the step data structure is marked as finished. The personnel member having a scribe role may optionally create note data structures recording observations of step performance deviations from descriptions stored in the corresponding step data structure. Upon the marking of each step data structure of a job data structure as finished, the job data structure is recorded in a fixed state wherein it cannot be further modified.

DETAILED DESCRIPTION OF THE INVENTION

One or more of the embodiments of the present invention provide a process safety management system and methods for the use thereof. Embodiments of the present invention may be operated in conjunction with a server connected to a communication network, and at least one computer connected to a communication network.

FIG. 1illustrates a diagram of a process safety management system100according to embodiments of the present invention. The process safety management system100includes a communication network110, a server120, and at least one client computer130in communication with the server120over the communication network110. A process safety management database200may be stored on a server120.

The communication network110may be any global or local communication network that provides a communication protocol for computers and servers having network communication adapters. For example, the communication network110may be the Internet, a local area network, or other similar networks known to persons of ordinary skill in the art.

The server120may include a server storage121and a server network adapter122. The server storage121may be any kind of electronic storage device suitable for recording databases, such as magnetic, solid-state, or other similar storage devices known to persons of ordinary skill in the art. The server network adapter122may be any hardware peripheral known to persons of ordinary skills in the art for communicating by a wired connection or a wireless connection between a device and a communication network110.

A server application125may be hosted on the server120. The server application125may write data to the server storage121and retrieve data from the server storage121. The server application125may receive queries or commands from the client computer130.

The client computer130may be a portable computer. For example, the client computer130may be a mobile smartphone, mobile tablet, or any of other mobile devices known to persons of ordinary skill in the art. The client computer130may be a laptop computer. The client computer130may be a desktop computer. The client computer130may be any among further computing devices known to persons of ordinary skill in the art.

The client computer130may include a display device131, an input device132, a network adapter133, and an audio output134. The display device131may be an optical device that displays an image for a human user, such as an LCD display or other similar displays known to persons of ordinary skill in the art. The input device132may be an input device for a mobile computer, such as a touch-sensitive screen incorporated into the display device, or a stylus pointing device for use with a touch-sensitive screen. The input device132may be an input device for a desktop or laptop computer, such as a keyboard or a mouse. The network adapter133may be any hardware peripheral known to persons of ordinary skills in the art for communicating by a wired connection or a wireless connection between a device and a communication network110.

A client application135may be stored on the client computer130. According to embodiments of the present invention, while a client computer130accesses the server120, a server application125hosted on a server storage121may transmit a user interface to the client computer130for rendering in a client application135. The client application135may render a user interface for display on the display device131. The user interface may display data elements stored on the server120. The input device132may be used by a human operator to input queries or commands through the client computer130to the server120.

While a server application125transmits a user interface to the client computer130, the server application125may refresh the display of the user interface so as to update data elements displayed on the user interface. A refresh of the display of the user interface may occur in real-time to indicate, for example, an update on the server120to data elements displayed on the user interface. More than one client computer130may access the server120simultaneously. While more than one client computer130is accessing the server, and while a server application transmits a user interface to each client computer130accessing the server, the server application125may refresh the display of the user interface for each client computer130so as to indicate an update on the server120to data elements displayed on each user interface.

FIG. 2illustrates the contents of a process safety management database200which may be stored on a server storage121, according to embodiments of the present invention. A process safety management database200according to embodiments of the present invention may store a procedure data structure210. A procedure data structure210may store data elements and data structures that define a procedure300. A procedure300according to embodiments of the present invention may be an activity or a combination of activities that fall under the OSHA definition of “process.”

A procedure data structure210may include a plurality of procedure data elements. According to embodiments of the present invention, a procedure data element included in a procedure data structure210may be any of the following data elements:

A procedure title element;

A creator identifier element;

A creation time element;

A last updated time element;

A certification time element;

A version number element;

A document number element;

A purpose identifier element;

A scope identifier element;

A precautions identifier element;

A reference identifier element;

A definitions element.

A procedure data structure210may further include any number of section data structures. A section data structure according to embodiments of the present invention may include a section title element and a section number element.

A section data structure may further include any number of step data structures. A step data structure according to embodiments of the present invention may store data elements that define a step of a procedure. A step of a procedure according to embodiments of the present invention may be an activity among a combination of activities that fall under the OSHA definition of “process.”

A step data structure may include a plurality of step data elements. According to embodiments of the present invention, a step data element included in a step data structure may be any of the following data elements:

A step description element;

A step type element;

A timer enablement element;

A timer hours element;

A timer minutes element;

A start timestamp element;

A stop timestamp element;

A personnel initials element;

A step ordering element;

A step number element.

The type of a step data may be a step type, a note type, or a caution type. A step data structure of a note type or of a caution type may not have a timer enablement element, a timer hours element, a timer minutes element, a start timestamp element, and a stop timestamp element.

A step data structure may further include an image file. An image file may be stored in any image file format known by persons of ordinary skill in the art.

A process safety management database200according to embodiments of the present invention may, additionally, store a note data structure associated with a step data structure. According to embodiments of the present invention, a note data structure may include any of the following data elements:

A note contents element;

A note creator element;

A note creation date element.

A process safety management database200according to embodiments of the present invention may, additionally, store one or more procedure revision data structure associated with a step data structure. According to embodiments of the present invention, a procedure revision data structure may include any of the following data elements:

A version number element;

A pre-revision value element;

A post-revision value element;

A revision action element;

A revision date element;

A revision actor element.

A process safety management database200according to embodiments of the present invention may, additionally, store a job data structure250. A job data structure250may store data elements and data structures that define a job350. A job350according to embodiments of the present invention may be a single performance of an activity or a combination of activities that fall under the OSHA definition of “process.”

According to an embodiment of the present invention, a job data structure250may include a copy of a procedure data structure210. A copy of a procedure title element of the procedure data structure210may be made as a job title element in the job data structure250. A copy of a creation time element of the procedure data structure210may be made replacing the value of the creation time element with the time that the job data structure is created by copying the procedure data structure210. The copy of a procedure data structure210may further include copies of the section data structures of the procedure data structure210, and may further include copies of the step data structures of those section data structures.

A job data structure250according to embodiments of the present invention may further include a job progress status element. A copy of a step data structure according to embodiments of the present invention may further include a step progress status element. A job progress status element and a step progress status element may each have a status among several possible progress statuses. For example, a status may be a “not started” status, an “in progress” status, or a “finished” status. A job data structure250where the job progress status element has a “finished” status may be written in the process safety management database200in a fixed state where it cannot be further modified.

According to embodiments of the present invention, queries or commands initiated by a human operator from the client computer130to the server120may be received by the client application135and transmitted to the server application125. The queries or commands may be interpreted by the server application125, which may then perform operations on the process safety management database200.

FIGS. 3A and 3Billustrate a user list interface301and a user account edit user interface302which a server application125may transmit to the client computer130. The user list interface301includes a user list310, a user creation control320, an edit control332, and a delete control336.

According to embodiments of the present invention, activities or combinations of activities that fall under the OSHA definition of “process” may be performed by personnel members of a facility. In order to implement embodiments of the present invention, personnel members of the facility may be assigned roles which have particular relationships to systems and methods according to embodiments of the present invention. Roles assigned to personnel members of the facility may include, for example, an administrator role, a scribe role, and a viewer role.

An administrator role may be assigned to personnel members having a management relationship with regard to systems and methods of the present invention. Such personnel members may have management-level roles within the hierarchical structure of the facility, and may similarly be assigned to management roles with regard to systems of the present invention. Such personnel members may report to executive-level personnel members within the hierarchical structure of the facility.

A scribe role may be assigned to personnel members having high-level domain knowledge about procedures that are performed at a facility.

A viewer role may be assigned to any personnel members not meeting the above criteria, including supervisors, and managers who do not have management roles over systems of the present invention.

According to embodiments of the present invention, a personnel member having a role assigned may receive a user account for the client application135. A user account may be stored in the process safety management database200and may be associated with a level of access which is commensurate to a personnel member's role according to a role assignment scheme. A personnel member may enter authentication credentials into the client application135using the input device132to identify the personnel member to the client application135. Based on the level of access of the user account of the personnel member, the client application135may disallow particular types of queries or commands that the personnel member may input through the client computer130to the server120. A type of query or command may be disallowed for a viewer role, or may be disallowed for a scribe role and a viewer role. More than one personnel member each having a role assigned may access the server120in this way from different client computers in locations remote from each other.

According to embodiments of the present invention, when a personnel member having an administrator role assigned is identified to the client application135, the client application135may allow all types of queries or commands that the personnel member may input through the client computer130.

According to embodiments of the present invention, when a personnel member having a scribe role assigned is identified to the client application135, the client application135may disallow types of queries or commands that the personnel member may input through the client computer130which are disallowed for scribe roles and viewer roles. By way of example, such queries or commands may relate to creating procedures, editing procedures, reordering steps of procedures, and creating jobs.

According to embodiments of the present invention, when a personnel member having a viewer role assigned is identified to the client application135, the client application135may disallow types of queries or commands that the personnel member may input through the client computer130which are disallowed for a scribe role and disallowed for a viewer role, as well as those types which are disallowed for a viewer role. By way of example, such queries or commands of the latter type may relate to setting progress statuses of steps of jobs.

A user list310may be a representation of each user account of a personnel member, and of the role assigned to each personnel member.

A personnel member may interact with a user creation control320to command the server application125to create a new user account in the process safety management database200. This type of command may be disallowed for a scribe role and for a viewer role.

A personnel member may interact with an edit control332to select a user account represented in the user list310to request a user account edit user interface302to be transmitted to the client computer130displaying elements of the selected user account. This type of command may be disallowed for a scribe role and for a viewer role.

A personnel member may interact with a delete control336to select a user account represented in the user list310to command the server application125to delete the selected user account210from the process safety management database200. This type of command may be disallowed for a scribe role and for a viewer role.

The user account edit user interface302includes several edit fields, which may include a role assignment control340and a submission control390.

A personnel member may use the input device120to select a role from the role assignment control340, and may use the submission control390to submit the selected role to the server application125. The server application125may update the role of the user account in accordance.

FIG. 4illustrates a procedure list user interface400which a server application125may transmit to the client computer130. The procedure list user interface400includes a procedure list410, a procedure creation control420, and a control panel430, where the control panel430includes a job creation control431, an edit control432, a section control433, a revision history control434, a print control435, and a delete control436.

A procedure list410may be a representation of each procedure data structure210stored in a process safety management database200. To represent each procedure data structure210, a procedure list410may display a list item411. A list item411may display the procedure title element and the document number element of the procedure data structure210, and a copy of the control panel430.

A personnel member may interact with a procedure creation control420to command the server application125to create a new procedure data structure210in the process safety management database200, and to request a procedure edit user interface500to be transmitted to the client computer130displaying elements of the new procedure data structure210. This type of command may be disallowed for a scribe role and for a viewer role.

When the server application125creates a new procedure data structure210in the process safety management database200, it may create a procedure revision data structure associated with the creation of the new procedure data structure210in the process safety management database200.

A personnel member may interact with a job creation control431to select a procedure data structure210represented in the procedure list410to command the server application125to create a new job data structure250containing a copy of the procedure data structure210in the process safety management database200, and to request a job list user interface600to be transmitted to the client computer130displaying a list representing each job data structures250in the process safety management database200. This type of command may be disallowed for a scribe role and for a viewer role.

A personnel member may interact with an edit control432to select a procedure data structure210represented in the procedure list410to request a procedure edit user interface500to be transmitted to the client computer130displaying elements of the selected procedure data structure210. This type of command may be disallowed for a scribe role and for a viewer role.

A personnel member may interact with a section control433to select a procedure data structure210represented in the procedure list410to request a sections list user interface700to be transmitted to the client computer130displaying elements of the selected procedure data structure210. This type of command may be disallowed for a scribe role and for a viewer role.

A personnel member may interact with a revision history control434to select a procedure data structure210represented in the procedure list410to request a procedure revisions user interface1200to be transmitted to the client computer130displaying a procedure revisions data structure corresponding to the procedure data structure210. This type of command may be disallowed for a scribe role and for a viewer role.

A personnel member may interact with a print control435to select a procedure data structure210represented in the procedure list410to command the client computer130to transmit a command over the communication network110to a printer to print a copy of the select procedure data structure210represented in the procedure list410.

A personnel member may interact with a delete control436to select a procedure data structure210represented in the procedure list410to command the server application125to delete the selected procedure data structure210from the process safety management database200. This type of command may be disallowed for a scribe role and for a viewer role.

FIG. 5illustrates a procedure edit user interface500which a server application125may transmit to the client computer130. The procedure edit user interface500includes several edit fields, which may include a procedure title edit field510, a document number edit field520, a date edit field530, a purpose edit field540, a scope edit field550, a precautions edit field560, a references edit field570, a definitions edit field580, and a submission control590.

The procedure edit user interface500may be transmitted to the client computer displaying elements of a procedure data structure210. The procedure data structure210may be new. To render a procedure edit user interface500, if the procedure data structure210is not new, the client application135may query data elements of the procedure data structure210from the process safety management database200and display each queried element in an edit field. The client application135may query a procedure title element and display it in a procedure title edit field510. The client application135may query a document number element and display it in a document number edit field520. The client application135may query a purpose identifier element and display it in a purpose edit field540. The client application135may query a scope identifier title element and display it in a scope edit field550. The client application135may query a precautions identifier element and display it in a precautions edit field560. The client application135may query a references identifier element and display it in a references edit field570. The client application135may query a definitions identifier element and display it in a definitions edit field580.

A personnel member may use the input device120to input data into any, some, or all of the edit fields of the procedure edit user interface500. Data entered into the purpose edit field540, the scope edit field550, the precautions edit field560, the references edit field570, and the definitions edit field580may provide information for a human reader regarding the performance of one or more steps of a procedure300. For example, data entered into the purpose edit field540may describe one or more goals of performing a procedure300. Data entered into the scope edit field550may describe context of one or more steps of a procedure300. Data entered into the precautions edit field560may describe safety equipment to be used in performing one or more steps of a procedure300. Data entered into the references edit field560may describe cross-references to one or more documents to be reviewed prior to performing one or more steps of a procedure300. Data entered into the definitions edit field570may describe meanings of one or more terms used in any data elements of the procedure data structure200or in any documents cross-referenced by any data elements of the procedure data structure200.

A personnel member may use the submission control590to submit data entered into the edit fields of the procedure edit user interface500to the server application125. The server application125may update data elements of the procedure data structure210in accordance with corresponding data submitted from the edit fields of the procedure edit user interface500.

When the server application125updates data elements of a procedure data structure210in the process safety management database200, it may create a procedure revision data structure associated with the procedure data structure210in the process safety management database200. The procedure revision data structure may have a version number element having a value one greater than the number of previously-created procedure revision data structures associated with the procedure data structure210. The procedure revision data structure may have a pre-revision value element reflecting the values of the updated data elements prior to updating, and may have a post-revision value element reflecting the values of the updated data elements after editing. The procedure revision data structure may have a revision action element reflecting the type of update made to a data element, where the revision action element may have a value of “added” if a data element not previously present was added; the revision action element may have a value of “changed” if a data element previously present was changed; and the revision action element may have a value of “deleted” if a data element previously present was deleted. The procedure revision data structure may have a revision date element in accordance with the date of submission. The procedure revision data structure may have a revision actor element in accordance with the user account of the personnel member.

A procedure revision data structure may be retrieved from the server120as an electronic document. An electronic document may, for example, be a Portable Document Format file. An electronic document may be certified by an authorized personnel member in compliance with OSHA regulations.

FIGS. 6A and 6Billustrate a job list user interface600which a server application125may transmit to the client computer130. The job list user interface600includes a job list610, a job status filter control620, and a control panel630, where the control panel630includes a job view control631, a print control635, and a delete control636.

A job list610may be a representation of each job data structure250stored in a process safety management database200. To represent each job data structure250, a job list610may display a list item611. A list item611may display the job title element and the creation time element of the job data structure250, and a copy of the control panel630.

A personnel member may interact with a job view control631to select a job data structure250represented in the job list610to command the server application125to request a section list user interface700to be transmitted to the client computer130displaying elements of the job data structure250.

A personnel member may interact with a job progress status filter control620to select a status filter. The status filter may be a status among several possible progress statuses, such as a “not started” status, an “in progress” status, or a “finished” status. Selecting a status filter may command the server application125to query the process safety management database200for a status-filtered list of job data structures, containing each job data structure250having a job progress status element having a status that matches the status of the status filter. The server application125may further request a job list user interface600to be transmitted to the client computer displaying elements of the status-filtered list of job data structures.FIG. 6Aillustrates a job list user interface600displaying elements of a status-filtered list of job data structures for the status filter of “not started” or “in progress.”FIG. 6Billustrates a job list user interface600displaying elements of a status-filtered list of job data structures for the status filter of “finished.”

A personnel member may interact with a print control635to select a job data structure250represented in the job list610to command the client computer130to transmit a command over the communication network110to a printer to print a copy of the selected job data structure250represented in the job list610.

A personnel member may interact with a delete control636to select a job data structure250represented in the job list610to command the server application125delete the selected job data structure250from the process safety management database200. This type of command may be disallowed for a scribe role and for a viewer role. Furthermore, this type of command may be disallowed for a job data structure250having a job progress status element with status “in progress” or with status “finished.”

FIG. 7illustrates a sections list user interface700which a server application125may transmit to the client computer130. The sections list user interface700includes a sections list710, a section creation control720, and a control panel730, where the control panel730includes a section edit control732, a steps view control733, and a delete control736.

A sections list710may be a representation of each section data structure of a procedure data structure210or a job data structure250stored in a process safety management database200. To represent each section data structure of a procedure data structure210or a job data structure250, a job sections list710may display a list item711. A list item711may display the section title element and the section number element of the section data structure, and a copy of the control panel730.

A personnel member may interact with a section creation control720and input a section title to command the server application125to add a new section data structure to the procedure data structure210or the job data structure250stored in the process safety management database200, and to request a sections list user interface700to be transmitted to the client computer130displaying an updated sections list710representing each section data structure of the procedure data structure210or the job data structure250. The new section data structure may have a section title element section containing the section title input by the personnel member, and may have a section number element such that each section data structure in the procedure data structure210or the job data structure250has a unique section number element. This type of command may be disallowed for a scribe role and for a viewer role.

A personnel member may interact with a section edit control732to select a section data structure of the procedure data structure210or the job data structure250represented in the job sections list710to request a steps management user interface800to be transmitted to the client computer130displaying elements of the selected section data structure. This type of command may be disallowed for a scribe role and for a viewer role.

A personnel member may interact with a step control733to select a section data structure of the procedure data structure210or the job data structure250represented in the sections list710to request a steps tracking user interface1000to be transmitted to the client computer130displaying step data structures of the selected section data structure.

A personnel member may interact with a delete control736to select a section data structure of the procedure data structure210or the job data structure250represented in the sections list710to command the server application125to delete the selected section data structure from the procedure data structure210or the job data structure250in the process safety management database200. This type of command may be disallowed for a scribe role and for a viewer role.

FIGS. 8A and 8Billustrate a steps management user interface800which a server application125may transmit to the client computer130. The steps management user interface800includes a steps list810, a step edit panel820, and a control panel830, where the step edit panel820includes a step edit field821, a step type toggle822, a step timer toggle823, and a step save control890, and the control panel830includes an edit control832, a move control833, and a delete control836.

A steps list810may be a representation of each step data structure of a section data structure of a procedure data structure210or a job data structure250stored in a process safety management database200. To represent each step data structure, a steps list810may display a list item811. A list item811may display the step description element, the step number element, the step type element, and the timer enablement element of the step data structure, and a copy of the control panel830.

A personnel member may use the input device120to input data into the step edit field821. Data entered into the step edit field821may provide information for a human reader regarding the performance of a step of a procedure300. For example, data entered into the step edit field821may describe how to perform a step of a procedure300.

A personnel member may use the input device120to toggle the step type toggle822or the step timer toggle823. The step type toggle822may toggle between several different possible values for the step type element of the step data structure, such as a “step” value or a “caution” value. The step timer toggle823may toggle between several different possible values for the timer enablement element of the step data structure, such as a “yes” value or a “no” value.

A personnel member may use the step save control890to submit data entered into the step edit field821to the server application125. The server application125may update data elements of the step data structure of a section data structure of a procedure data structure210or a job data structure250in accordance with corresponding data submitted from the step edit field821, the step type toggle822, and the step timer toggle823.

A personnel member may interact with an edit control832to select a step data structure represented in the steps list810to request a step edit panel820to be displayed in a step editing user interface900ofFIG. 9displaying elements of the selected step data structure. This type of command may be disallowed for a viewer role.

A personnel member may interact with a move control833to select a list item811representing a step data structure in the steps list810to reorder the list items811of the steps list810. A personnel member may use drag-and-drop interactions to reorder the list items811. In response to reordering list items811, the client application135may command the server application125to update the step number elements of each step data structure in the steps list810such that the step number elements indicate the reordered ordering of the step data structures in the steps list810. This type of command may be disallowed for a viewer role.

A personnel member may interact with a delete control836to select a step data structure represented in the steps list810to command the server application125to delete the selected step data structure from the process safety management database200. This type of command may be disallowed for a scribe role and for a viewer role.

FIG. 9illustrates a step editing user interface900which a server application125may transmit to the client computer130. The steps editing user interface900includes a step description edit field921, a step timer enablement toggle922, step timer edit fields924, and a step submit control990.

A personnel member may use the input device120to input data into the step description edit field921or the step timer edit fields924. Data entered into the step description edit field921may provide information for a human reader regarding the performance of a step of a procedure300. For example, data entered into the step description edit field921may describe how to perform a step of a procedure300. Data entered into the step timer edit fields924may provide updated values for a timer hours element and a timer minutes element of the step data structure.

A personnel member may use the input device120to toggle the step timer enablement toggle922. The step timer enablement toggle922may toggle between several different possible values for the timer enablement element of the step data structure, such as a “yes” value or a “no” value.

A personnel member may use the step submit control990to submit data entered into the step description edit field921and the step timer edit fields924to the server application125. The server application125may update data elements of the step data structure of a section data structure of a procedure data structure210or a job data structure250in accordance with corresponding data submitted from the step description edit field921, the step timer enablement toggle922, and the step timer edit fields924.

FIGS. 10A and 10Billustrate a steps tracking user interface1000which a server application125may transmit to the client computer130. The steps tracking user interface1000includes a job steps list1010, a status filter selector1021, a section filter selector1022, and a notes control1023.

A job steps list1010may be a representation of each step data structure of a section data structure of a job data structure250stored in a process safety management database200. To represent each step data structure, a job steps list1010may display a list item1011. A list item1011may display the step number element, the start timestamp element, the stop timestamp element, the personnel initials element, the step description element, the timer hours element, and the timer minutes element of the step data structure; a color representing the step status element; and a step notes edit control1012.

Each of a start timestamp element and a stop timestamp element may contain a time value. While a start timestamp element of a step data structure does not contain a time value, instead of displaying the start timestamp element, a list item1011for the step data structure may display a start control. While a stop timestamp element of a step data structure does not contain a time value, instead of displaying the stop timestamp element, a list item1011for the step data structure may display a stop control. A personnel member may interact with a start control of a list item1011for a step data structure to command the server application125to record a time value in the start timestamp element of the step data structure. A personnel member may interact with a stop control of a list item1011for a step data structure to command the server application to record a time value in the stop timestamp element of the step data structure. When a time value is recorded in the start timestamp element of a step data structure, the server application125may command a client application135running on each client computer130accessing the server120to refresh the display of the steps tracking user interface1000to update the list item1011for the step data structure to display the start timestamp element. When a time value is recorded in the stop timestamp element of a step data structure, the server application125may command a client application135running on each client computer130accessing the server120to refresh the display of the steps tracking user interface1000to update the list item1011for the step data structure to display the stop timestamp element.

A personnel initials element may contain an initials value or not contain an initials value.

A timer enablement element may contain a “no” value or a “yes” value. A timer hours element may contain an hours value. A timer minutes element may contain a minutes value. If the timer enablement element of a step data structure contains a “no” value, a list item1011for the step data structure may not display a timer hours element and may not display a timer minutes element. If the timer enablement element of a step data structure contains a “yes” value, a list item1011for the step data structure may display a timer hours element, a timer minutes element, a timer start control, and an alarm control.

If the timer enablement element of a step data structure contains a “yes” value, a personnel member may interact with a timer start control of a list item1011for a step data structure to command the client application135to run a timer. The timer may count down from the hour value stored in the timer hours element and from the minute value stored in the timer minutes element of the step data structure. A personnel member may interact with an alarm control of a list item1011for a step data structure to command the client application135to activate an alarm function for a timer. An alarm function for a timer may cause the audio output134of the client computer130to output a sound upon the timer elapsing. While the client application135is running a timer, the server application125may command a client application135running on each client computer130accessing the server120to refresh the display of the steps tracking user interface1000to update the list item1011for the step data structure in real-time to display the hours, minutes, and seconds remaining in the timer.

A personnel member may interact with a step notes edit control1012to request a job step notes user interface1100to be transmitted to the client computer130.

A list item1011for a step data structure may display a color among several possible colors, where each possible color corresponds to a possible progress status of the step progress status element of the step data structure.

A personnel member may interact with a status filter selector1021to select a status filter. The status filter may be a status among several possible progress statuses, such as a “not started” status, an “in progress” status, or a “finished” status. Selecting a status filter may command the server application125to query the process safety management database200for a status-filtered list of section data structures of a job data structure250, containing each section data structure having a progress status element having a status that matches the status of the status filter. The client application135may then populate the section filter selector1022with the section title elements of the status-filtered list of section data structures.

While a status filter is selected from a status filter selector1021, a personnel member may interact with a section filter selector1022to select a section filter. Each section filter may be a section title element of a section data structure of a job data structure250. Selecting a section filter may command the server application125to query the process safety management database200for the steps of the section data structure identified by the section filter, a job steps list1010to be transmitted to the client computer displaying elements of the status-filtered list of step data structures.

The server application135may update the job progress status element of the job data structure250in accordance with the step progress status elements of the step data structures of the job data structure250. When the step progress status element of at least one step data structure of a step type of the job data structure250has an “in progress” status or a “finished” status, the server application125may update the job progress status element of the job data structure250to an “in progress” status. When the step progress status element of each step data structure of a step type of the job data structure has a “finished” status, the server application125may update the job progress status element of the job data structure250to a “finished” status.

A job data structure250where the job progress status element has a “finished” status may be retrieved from the server120as an electronic document. An electronic document may, for example, be a Portable Document Format file. An electronic document may be certified by an authorized personnel member in compliance with OSHA regulations.

FIG. 11illustrates a job step notes user interface1100which a server application125may transmit to the client computer130. The job step notes user interface1100includes a job step notes list1110, a job step notes creation control1120, an edit control1132, and a delete control1136.

A job step notes list1110may be a representation of each note data structure associated with a step data structure of a section data structure of a job data structure250stored in a process safety management database200. To represent each note data structure, a job step notes list1110may display a list item. A list item may display the note contents element, the note creator element, and the note creation date element of the note data structure.

A personnel member may use the input device120to input data into the job step notes creation control1120and to submit data entered into the job step notes creation control1120to the server application125. The server application125may create a note data structure of a section data structure of a procedure data structure210having a note contents element in accordance with corresponding data submitted from the job step notes creation control1120; having a note creator element in accordance with the user account of the personnel member; and having a note creation date element in accordance with the date of submission. Data entered into the job step notes creation control1120may provide information for a human reader regarding performance deviations from descriptions stored in the step description element of the corresponding step data structure to a step of a procedure300during the performance of that step.

A personnel member may interact with a delete control1136to select a step data structure represented in the job step notes list1110to command the server application125to delete the selected note data structure from the process safety management database200. This type of command may be disallowed for a scribe role and for a viewer role.

FIG. 12illustrates a procedure revisions user interface1200which a server application125may transmit to the client computer130. The procedure revisions user interface1200includes a procedure revisions list1210.

A procedure revisions list1210may be a representation of each procedure revision data structure associated with a procedure data structure210stored in a process safety management database200. To represent each procedure revision data structure, a procedure revisions list1210may display a list item1211. A list item1211may display the version number element, the pre-revision value element, the post-revision value element, the revision action element, the revision date element, and the revision actor element. The list items of the procedure revisions list1210may be arranged according to the order of the values of the version number element.

FIG. 13illustrates a flow diagram of a process safety management method1300according to embodiments of the present invention. In a first step1310of the process safety management method1300, a personnel member having an administrator role, a personnel member having a scribe role, and a personnel member having a viewer role each accesses the server120from a client computer130running the client application135by entering authentication credentials into the client application135using the input device132to identify each personnel member to the client application135.

In a next step1320of the process safety management method1300, the personnel member having an administrator role accesses the procedure list user interface400and interacts with a job creation control431to select a procedure data structure210represented in the procedure list410to command the server application125to create a new job data structure250containing a copy of the procedure data structure210. The job progress status element of the new job data structure250has a “not started” status.

In a next step1330of the process safety management method1300, the personnel member having a scribe role accesses the job list user interface600and interacts with a job view control631to select a job data structure represented in the job list610to command the server application125to request a section list user interface700to be transmitted to the client computer130displaying elements of the job data structure. The personnel member having a scribe role then accesses the section list user interface700and interacts with a steps view control733to select a section data structure represented in the job list610to command the server application125to request a steps tracking user interface1000to be transmitted to the client computer130displaying elements of the selected section data structure. The selected section data structure may be the section data structure having the smallest section number element value and including a step data element having a step progress status element of “not started.”

In a next step1340of the process safety management method1300, the personnel member having a scribe role accesses the steps tracking user interface1000and interacts with a section filter selector1022to select a section filter to command the server application125to query the process safety management database200for the steps of the section data structure identified by the section filter, and to transmit a job steps list1010to the client computer displaying elements of the list of step data structures. A step of a procedure, where the step correlates to a step data structure of the list of step data structures, is performed. The step may be performed by one or more personnel members having a scribe role.

In a next step1350of the process safety management method1300, upon the start of the performance of the step, the personnel member having a scribe role interacts with the start control of the list item1011for the step data structure to command the server application to record a time value in the start timestamp element of the step data structure.

In a next step1360of the process safety management method1300, if the timer enablement element of a step data structure contains a “yes” value, the client application135runs a timer counting down from the hour value stored in the timer hours element and from the minute value stored in the timer minutes element of the step data structure.

In a next step1370of the process safety management method1300, a personnel member interacts with the stop control of the list item1011for the step data structure to command the server application125to record a time value in the stop timestamp element of the step data structure. The server application125updates the status of the step progress status element of the step data structure to “finished.”

In a step1370of the process safety management method1300occurring concurrently with steps1350,1360, and1370, when a time value is recorded in the stop timestamp element of a step data structure, the server application125commands a client application135running on each client computer accessing the server120to refresh the display of the steps tracking user interface1000to update the list item1011for the step data structure to display the start timestamp element. While the client application135is running a timer, the server application125commands a client application135running on each client computer130accessing the server120to refresh the display of the steps tracking user interface1000to update the list item1011for the step data structure in real-time to display the hours, minutes, and seconds remaining in the timer. When a time value is recorded in the stop timestamp element of a step data structure, the server application125commands a client application135running on each client computer130accessing the server120to refresh the display of the steps tracking user interface1000to update the list item1011for the step data structure to display the stop timestamp element.

In an optional next step1380of the process safety management method1300, if, while observing the performance of a step, a personnel member having a scribe role observes any performance deviations from descriptions stored in the step description element of the corresponding step data structure, the personnel member having a scribe role interacts with a step notes edit control1012to request a job step notes user interface1100to be transmitted to the client computer130, then interacts with a job step notes creation control1120of a job step notes user interface1100to create a note data structure of a section data structure of a procedure data structure documenting performance deviations.

In a next step1390of the process safety management method1300, when each step progress status element of each step data structure of a job data structure250has a status of “finished,” the server application125updates the status of the job progress status element of the job data structure250to “finished.” The job data structure250is written in the process safety management database200in a fixed state where it cannot be further modified. The job data structure250may be retrieved from the server120as an electronic document. The electronic document may be certified.

Another user interface according to embodiments of the present invention may display a graphic representation of time to completion of steps correlating to step data structures having step progress status elements set to “in progress” at a given time.

Another user interface according to embodiments of the present invention may display allocations for personnel members having a viewer role, and re-allocate personnel members in accordance with step data structures having step progress status elements set to “in progress” where a timer has elapsed.

Another user interface according to embodiments of the present invention may display piping and instrumentation diagrams relevant to the performance of a step of a process.

While particular elements, embodiments, and applications of the present invention have been shown and described, the invention is not limited thereto because modifications may be made by those skilled in the art, particularly in light of the foregoing teaching. It is therefore contemplated by the application to cover such modifications and incorporate those features which come within the spirit and scope of the invention.