Providing procedures

For providing procedures, a synchronize module stores a plurality of procedures in a procedure database. Each procedure is indexed to a reference code. The synchronize module synchronizes the plurality of procedures to a mobile device. A retrieval module receives a first reference code at the mobile device and retrieves a first procedure indexed to the first reference code.

FIELD

The subject matter disclosed herein relates to procedures and more particularly relates to providing procedures.

BACKGROUND

Description of the Related Art

Procedures are written for machinery to allow the machinery to be operated safely and without damage. Unfortunately, managing procedures for a number of machines can be logistically challenging.

BRIEF SUMMARY

A method for providing procedures is disclosed. A computer readable storage medium stores program code executable by a processor. The program code includes a synchronize module and a retrieval module. The synchronize module stores a plurality of procedures in a procedure database. Each procedure is indexed to a reference code. The synchronize module synchronizes the plurality of procedures to a mobile device. The retrieval module receives a first reference code at the mobile device and retrieves a first procedure indexed to the first reference code. An apparatus and computer program product also perform the functions of the method.

DETAILED DESCRIPTION

The computer readable medium may also be a computer readable signal medium. A computer readable signal medium may include a propagated data signal with program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated signal may take any of a variety of forms, including, but not limited to, electrical, electro-magnetic, magnetic, optical, or any suitable combination thereof. A computer readable signal medium may be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport program code for use by or in connection with an instruction execution system, apparatus, or device. Program code embodied on a computer readable signal medium may be transmitted using any appropriate medium, including but not limited to wire-line, optical fiber, Radio Frequency (RF), or the like, or any suitable combination of the foregoing

In one embodiment, the computer readable medium may comprise a combination of one or more computer readable storage mediums and one or more computer readable signal mediums. For example, program code may be both propagated as an electro magnetic signal through a fiber optic cable for execution by a processor and stored on RAM storage device for execution by the processor.

The computer program product may be shared, simultaneously serving multiple customers in a flexible, automated fashion. The computer program product may be standardized, requiring little customization and scalable, providing capacity on demand in a pay-as-you-go model.

The computer program product may be stored on a shared file system accessible from one or more servers. The computer program product may be executed via transactions that contain data and server processing requests that use Central Processor Unit (CPU) units on the accessed server. CPU units may be units of time such as minutes, seconds, hours on the central processor of the server. Additionally the accessed server may make requests of other servers that require CPU units. CPU units are an example that represents but one measurement of use. Other measurements of use include but are not limited to network bandwidth, memory usage, storage usage, packet transfers, complete transactions etc.

When multiple customers use the same computer program product via shared execution, transactions are differentiated by the parameters included in the transactions that identify the unique customer and the type of service for that customer. All of the CPU units and other measurements of use that are used for the services for each customer are recorded. When the number of transactions to any one server reaches a number that begins to affect the performance of that server, other servers are accessed to increase the capacity and to share the workload. Likewise when other measurements of use such as network bandwidth, memory usage, storage usage, etc. approach a capacity so as to affect performance, additional network bandwidth, memory usage, storage etc. are added to share the workload.

In one embodiment, the service provider requests payment directly from a customer account at a banking or financial institution. In another embodiment, if the service provider is also a customer of the customer that uses the computer program product, the payment owed to the service provider is reconciled to the payment owed by the service provider to minimize the transfer of payments.

The computer program product may be integrated into a client, server and network environment by providing for the computer program product to coexist with applications, operating systems and network operating systems software and then installing the computer program product on the clients and servers in the environment where the computer program product will function.

In one embodiment software is identified on the clients and servers including the network operating system where the computer program product will be deployed that are required by the computer program product or that work in conjunction with the computer program product. This includes the network operating system that is software that enhances a basic operating system by adding networking features.

In one embodiment, software applications and version numbers are identified and compared to the list of software applications and version numbers that have been tested to work with the computer program product. Those software applications that are missing or that do not match the correct version will be upgraded with the correct version numbers. Program instructions that pass parameters from the computer program product to the software applications will be checked to ensure the parameter lists match the parameter lists required by the computer program product. Conversely parameters passed by the software applications to the computer program product will be checked to ensure the parameters match the parameters required by the computer program product. The client and server operating systems including the network operating systems will be identified and compared to the list of operating systems, version numbers and network software that have been tested to work with the computer program product. Those operating systems, version numbers and network software that do not match the list of tested operating systems and version numbers will be upgraded on the clients and servers to the required level.

In response to determining that the software where the computer program product is to be deployed, is at the correct version level that has been tested to work with the computer program product, the integration is completed by installing the computer program product on the clients and servers.

FIG. 1is a schematic block diagram illustrating one embodiment of a system100for providing procedures. The system100provides a procedure for a target machine130. The system100includes a server120, a procedure database125, a user database140, a workstation135, a network115, a mobile device105, a target machine130, and a reference code205.

The target machine130may be electrical equipment, chemical equipment, manufacturing equipment, climate control equipment, process control equipment, safety equipment, or the like. To safely operate the target machine130, a user should follow a procedure. The procedure may be a lock out/tag out procedure, a startup procedure, a service procedure, an adjustment procedure, or the like.

Safe and efficient operation of the target machine130is increased when the proper procedure is available for the target machine130. Unfortunately, through oversight or mistake, the latest procedure may not be available at the location of the target machine130. In addition, a paper document containing a procedure may be inadvertently removed from the location of the target machine130or may be rendered illegible.

In order to enhance safety and comply with safety regulations, the availability and proper use of a procedure for the target machine130may be periodically audited. Such an audit may be difficult to track, manage, and report on.

The embodiments described herein provide procedures for target machines130as will be described hereafter. As a result, the latest and most appropriate procedure is available at the target machine130. In addition, the embodiments may audit the procedures and audit the users of the procedures, and provide the audit information to an administrator.

The reference code205is affixed to the target machine130. The reference code205may be disposed on a machine label as will be described hereafter. The machine label may be attached to the target machine130. In one embodiment, the reference code205is printed on an adhesive label that is affixed to the target machine130. The reference code205may be encoded as a Quick Reference (QR) code. In addition, the reference code205may also be displayed in a human readable form.

In an alternate embodiment, the reference code205is encoded as a barcode. The reference code205may also be encoded as an identification code broadcast via a Radio Frequency Identifier (RFID).

The reference code205refers to a procedure stored in the procedure database125. In one embodiment, the reference code205is used as an index to the procedure. The procedure may be created, edited, updated, and/or deleted from the workstation135. The procedure database125may also store tutorials. A tutorial may be associated with one or more procedures.

The server120may communicate the procedure through the network115to the mobile device105. The network115maybe the Internet, a cellular telephone network, a wide area network, a local area network, or combinations thereof.

The server120may synchronize all procedures in the procedure database125to the mobile device105so that the mobile device105stores a copy of all the procedures in the procedure database125. Thus all the procedures may be available on the mobile device. In addition, the server120may synchronize tutorials from the procedure database125to the mobile device105.

In one embodiment, the server120maintains a site list of target machines130at a specified site. The site list may include a reference code205for each target machine130at the specified site. Alternatively, the site list may include a machine identifier for each target machine130. The server120may synchronize only procedures with reference codes205that match at least one reference code205of the site list to the mobile device105. In one embodiment, the procedures are organized as a database, a data structure, or combinations thereof on the mobile device105.

The mobile device205may be a tablet computer, a mobile phone, a notebook computer, a personal digital assistant, or the like. The mobile device105may receive the reference code205. In one embodiment, the mobile device105optically scans a QR code encoding the reference code205. Alternatively, the mobile device105may optically scan a barcode encoding the reference code205. In a certain embodiment, the mobile device105wirelessly queries an RFID and receives the reference code205encoded in a wireless response.

The mobile device105may use the reference code205as an index to retrieve the procedure indexed to the reference code205from the mobile device105. The mobile device105may display the procedure, allowing the user to perform the procedure on the target machine130.

If the procedure associated with the reference code205is not stored on the mobile device105, the mobile device may use the reference code205to request the procedure from the server120through the network115. The server120may synchronize the procedure from the procedure database125through the network115to the mobile device105so that the procedure may be displayed by the mobile device105.

By synchronizing the procedures to the mobile device105, a user may access the correct procedure for the target machine130on the mobile device105even if the paper document with the procedure has been removed from the target machine130or if an incorrect procedure is placed with the target machine130.

FIG. 2is a schematic block diagram illustrating one embodiment of a procedure database125. The procedure database125is the procedure database125ofFIG. 1. The procedure database125includes a plurality of procedures210as will be described hereafter. The procedure database125may include a plurality of tables, with a plurality of entries in each table. In addition, each procedure210may be associated with one or more audit reports230. In one embodiment, the audit reports230are embodied in one or more separate tables of the procedure database125, the user database140, and/or a separate audit database (not shown).

FIG. 3is a schematic block diagram illustrating one embodiment of the procedure210. The procedure210is the procedure210ofFIG. 2. The procedure210may include a plurality of segments. The segments may be stored in one or more tables. The segments may include the reference codes205, procedure instructions215, a change history220, and a machine identifier225. The reference code205may index the procedure210. Alternatively, the reference code205may identify the target machine130.

The procedure instructions215may include instructions in text, hypertext, audio, video, and combinations thereof. The procedure instructions215may be displayed and/or transmitted to allow the user to perform an operation on the target machine130.

The change history220may record changes to the procedure instructions215. In one embodiment, changes are recorded to the change history220automatically. The machine identifier225may include a unique identifier such as serial numbers for one or more target machines130. The machine identifier225may also be used index the procedure210in the procedure database125.

FIG. 4is a schematic block diagram illustrating one embodiment of a user database140. The user database140is the user database140ofFIG. 1. The user database140maybe organized as a plurality of tables. The user database140includes user data260. The user data260may include a user name, a user identifier such as employee number, a user image, a biometric identifier, a signature, and the like. In one embodiment, one or more audit reports230are associated with the user data260.

FIG. 5is a schematic block diagram illustrating one embodiment of an audit report230. The audit report230is the audit report230ofFIGS. 2 and 4. The audit report230may be embodied in one or more tables, a data structure, and the like. The audit report230includes auditor data232, an audit time234, audit results236, the user identifier238, an attestation240, an audit status242, a reference code205, and a machine identifier225.

The auditor data232may identify an auditor performing the audit. In one embodiment, the auditor is identified as the individual logging into the mobile device105to perform the audit. The auditor data232may also include user data260.

The audit time234may be a timestamp indicating when the audit was completed. The audit result236may describe the results of the audit. The audit results236may include a data structure encoding results of the audit, hypertext encoding results of the audit, a written description, a verbal description, and a video description, and combinations thereof. The audit status242may summarize the audit such as with a pass/fail indication.

In one embodiment, the user identifier238identifies the user performing operations on the target machine130. The user identifier238may refer to the user data260. The reference code205is the reference code of the procedure210on the target machine130. The machine identifier225is the machine identifier225of the target machine130. In one embodiment, the auditor may login to the mobile device105and select an audit option. An identifier for the auditor may be stored with the auditor data232.

The mobile device105may scan the reference code205to identify the procedure210. The module device105may further scan an employee badge of the user to capture the user identifier238. The mobile device105may also scan the machine identifier225of the target machine130.

The auditor may observe the user performing the procedure210associated with the reference code205. The results of the audit are stored in the audit result236.

FIGS. 6A-Bare a schematic block diagrams illustrating embodiments of sites lists260. In one embodiment, a first site list260alists the reference codes205of target machines130at the specified site. Alternatively, a second site list260B lists the machine identifiers225of target machines130at the specified site. The site list260may be used to determine which procedures210are to be synchronized from the procedure database125to the mobile device105.

FIG. 7is a schematic block diagram illustrating one embodiment of the computer300. The computer300may be the server120ofFIG. 1. Alternatively, the computer300may be the mobile device105and/or the workstation135ofFIG. 1. The computer300includes a processor305, a memory310, and communication hardware315. The memory310may be a computer readable storage medium such as a semiconductor storage device, a hard disk drive, an optical drive, a holographic storage device, a micromechanical storage device, or combinations thereof. The memory310may store program code. The processor305may execute the program code. The communication hardware315may communicate with other devices.

FIG. 8is a schematic block diagram illustrating one embodiment of the procedure apparatus350. The apparatus350may be embodied in the computer300. In one embodiment, the apparatus350is embodied in the server120, the mobile device105, or combinations thereof. The apparatus350includes a synchronize module320and a retrieval module325. The synchronize module320and the retrieval module325may be embodied in a computer readable storage medium such as the memory310storing program code that is executed by the processor305.

The synchronize module320stores a plurality of procedures210in the procedure database125. In addition, the synchronize module320synchronizes the plurality of procedures210to the mobile device105.

The retrieval module325may receive the reference code205at the mobile device105. In addition, the retrieval module325may retrieve the procedure210indexed to the reference code205. Additional functions of the apparatus350are described hereafter.

FIG. 9is a schematic flow chart diagram illustrating one embodiment of a procedure provision method500. The method500may perform the functions of the system100and apparatus350. In one embodiment, the method500is performed by a computer readable storage medium such as the memory310storing program code. The program code may be executed by the processor305to perform the functions of the method500.

The method500starts, and in one embodiment the synchronization module320stores505a plurality of procedures210in a procedure database125. Each procedure210may be indexed with a reference code205. Alternatively, each procedure210may be indexed with a machine identifier225.

The synchronization module320may synchronize510procedures210from the procedure database125to the mobile device105. In one embodiment, all procedures210are synchronized from the procedure database125to the mobile device105. In an alternative embodiment, only procedures210corresponding to reference codes205and/or machine identifiers225on a site list260are synchronized510to the mobile device105. In one embodiment, the procedures210are synchronized when the mobile device105is in communication with the network115.

The retrieval module325receives515the reference code205. In one embodiment, the retrieval module325embodied in the mobile device105scans a QR code reference code205affixed to the target machine130. Alternatively, the retrieval module325may receive515the reference code205by scanning a barcode, receiving the reference code205wirelessly, or by scanning human readable text. The retrieval module325may convert the scanned QR code, the scanned barcode, the human readable text, and/or the received reference code205into a digital string.

The retrieval module325may retrieve520the procedure210corresponding to the retrieval code205that is stored on the mobile device105and the method500ends. In one embodiment, the retrieval module325uses the retrieval code205is an index to access the procedure210. In one embodiment, if the procedure210corresponding to the reference code205is not stored on a mobile device105, the retrieval module325may use the reference code205to request the procedure210from the server120over the network115.

The procedure210may be displayed on the mobile device105. Alternatively, the procedure210may be communicated to a second device. In one embodiment, actions taken by the user are recorded to the procedure210. In a certain embodiment, the procedure210includes a contact link that connects the user to an expert or service personnel.

FIG. 10is a schematic flowchart diagram illustrating one embodiment of an audit method501. The method501may perform the functions of the system100and apparatus350. In one embodiment, the method501is performed by a computer readable storage medium such as the memory310storing program code. The program code may be executed by the processor305to perform the functions of the method501.

The method501starts, and in one embodiment the retrieval module325records530a user following and/or performing a procedure210. The retrieval module325may record530the following of the procedure210to the audit result236of an audit report230. The retrieval module325may further record530the individual performing the audit to the auditor data232.

In one embodiment, the retrieval module325records532if the user employs safety equipment specified by the procedure210to the audit result236. For example, the procedure210may specify the use of the tool. The retrieval module325may record532if the specified tool is used as part of the procedure210.

The retrieval module325may record534audit issues for the procedure210to the audit results236. The audit issues may include that the target machine130is incorrectly marked, that the target machine130lacks the required safety equipment, that the target machine130lacks a physical copy of the procedure210, that the steps of the procedure210were incorrectly followed, that the user was improperly trained, and the like.

In one embodiment, the retrieval module325records536an attestation from the auditor. The attestation may be an electronic signature, a biometric identifier, the signature image, or combinations thereof. The retrieval module325may further record538an audit status242that may indicate if the procedure210, the user, or combinations thereof passed the audit.

The synchronize module320may synchronize539the audit report230to the procedure database125. The audit report230may be associated with the procedure210. In addition, the synchronize module320may synchronize539the audit report230to the user database140and associate the audit report230with the user data260of the user.

In one embodiment, the retrieval module325displays540a procedure list of the plurality of procedures210. The procedure list may be displayed540on the workstation135and/or on the mobile device105. The procedure list may include a procedure status for each procedure210. The procedure status may indicate that a reference code205is unassigned that an audit is passed, failed, and/or that the audit is complete.

In one embodiment, the retrieval module325displays540a summary the audit status for all procedures210. Alternatively, the retrieval module325displays540a summary of the audit status for all users. The summary of the audit status may be used to show compliance with one or more regulations.

FIG. 11is a schematic flowchart diagram illustrating one embodiment of an update method502. The method502may perform the functions of the system100and apparatus350. In one embodiment, the method502is performed by a computer readable storage medium such as the memory310storing program code. The program code may be executed by the processor305to perform the functions of the method502.

The method502starts, and in one embodiment the retrieval module325records550an update request. A user may initiate the update request if an error or other problem is found in the procedure210. Alternatively, the update request may be recorded550in response to an audit issue. The update request may be recorded550to the procedure database125and prompt an administrator to edit or otherwise correct the procedure using the workstation135. The updated procedure210is received555in the procedure database125. The synchronize module320may synchronize560the updated procedure210to the mobile device105. In one embodiment, the updated procedure210includes a time stamp. The time stamp of the updated procedure210may be compared to a time stamp of the procedure corresponding to the same reference code205on the mobile device105and the updated procedure210synchronized if the time stamp of the updated procedure210is later.

FIGS. 12A-Bare front view drawings illustrating one embodiment of a machine label800. The machine label800may be affixed to the target machine130ofFIG. 1. In the depicted embodiment, the machine label800includes a back805. A pivot815is disposed on the back805and connected to a transparent cover825. The transparent cover825may rotate about the pivot815. The transparent cover825may be rotated to expose a face of the back805. A label810is disposed on the face of the back805. In one embodiment, the label810includes a QR code820. Alternatively, the label810may include a barcode, human readable text, an RFID, or combinations thereof.FIG. 12Adepicts the transparent cover825covering the back805. The mobile device105may scan the QR code820through the transparent cover825. The transparent cover protects the QR code820from damage.FIG. 12Bdepicts the transparent cover825rotated about the pivot815to give access to the label810.

The embodiments provide procedures210at the mobile device105. As a result, a latest, most appropriate procedure210may always be available for use in locking out, tagging out, operating, activating, modifying, or servicing the target machine130. The embodiments may further audit the procedures210and the users of the procedures, and provide a status of audit results.