GB2447279A - A field service work flow management and communications system - Google Patents

A field service work flow management and communications system Download PDF

Info

Publication number
GB2447279A
GB2447279A GB0704303A GB0704303A GB2447279A GB 2447279 A GB2447279 A GB 2447279A GB 0704303 A GB0704303 A GB 0704303A GB 0704303 A GB0704303 A GB 0704303A GB 2447279 A GB2447279 A GB 2447279A
Authority
GB
United Kingdom
Prior art keywords
comprises means
work flow
message
host
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
GB0704303A
Other versions
GB0704303D0 (en
Inventor
Kenneth Keating
Micheal O'leary
Brendan Doyle
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
TAYLOR FREEZER
Original Assignee
TAYLOR FREEZER
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by TAYLOR FREEZER filed Critical TAYLOR FREEZER
Priority to GB0704303A priority Critical patent/GB2447279A/en
Publication of GB0704303D0 publication Critical patent/GB0704303D0/en
Publication of GB2447279A publication Critical patent/GB2447279A/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • H04Q7/226

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Educational Administration (AREA)
  • Game Theory and Decision Science (AREA)
  • Development Economics (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

A work flow management system comprises distributed portable field devices 2 for field personnel, each executing a local work flow processing engine, a host communications server 4 and processor 5, executing a host work flow processing engine, and field service databases 9 for data related to field service work. The local work flow engine of each field device 2 captures data inputs in response to structured prompts generated according to work flow and uses this data to generate discrete event records. The field device 2 automatically generates an email message (52 fig.3) for each event record, in which the data is not only written in human readable format (54 fig.3), but also encoded and the coded data written to a separate section (55 fig.3) of the email. The host processor 5 automatically parses the email encoded section (55 fig.3) and, according to job status determined from parsing, updates a host work flow database 9. It also dynamically generates structured query language (SQL) statements for updating related field service databases 9.

Description

"A Field Service Work Flow Management and Communications System"
Introduction
The invention relates to automated aspects of field service management and communication.
Field service management is complex where there is a wide variety of jobs to be performed by the field personnel, of parts which are required, and/or of tasks to be performed. Another aspect which may add to complexity is the extent of geographical area to be covered by a team of field service personnel. For these reasons the level of automation achieved heretofore has been quite limited.
US2004/0202307 describes a system for tracking technician calls to a call centre.
Such a system appears to be limited in scope and flexibility, requiring voice calls to be made and data to be inputted by call centre personnel.
The invention is directed towards providing a technical system for improved automation in field service management and communication.
Statements of Invention
According to the invention, there is provided a field service work flow management i..' and communications system comprising: * ** * * *1 a plurality of distributed portable communication and data processing field *.*.**
devices for field personnel, * * * S * * S.
*:* a local work flow processing engine executed by each field device; a host communications server, a host processor, a host work flow processing engine executed by the host processor, field service databases for data related to field service work, wherein each field device local work flow engine comprises means for: capturing data inputs in response to structured prompts generated according to work flow, and using said data to generate discrete event records, automatically generating an email message for each event record, in which the data is written in human readable format to a section of the main body of an email and the same data is encoded and the coded data is written to a separate section of the main body of the email, wherein the communications server comprises means for receiving and logging
emails from the field devices,
wherein the host processor comprises means for: automatically parsing an email encoded section, and * S..
according to the parsing, automatically updating a host work flow database according to job status determined from said parsing, and * dynamically generating structured query language statements for *..*..
updating related field service databases according to the data gleaned from the parsing. *. * . S...
In one embodiment, each field device comprises a writing interface and means for automatically generating an image for a physical signature written on the pen interface, and the local work flow engine is adapted to associate the image with an event record, and to incorporate the image in an email
S
S
In another embodiment, each field device comprises means for saving the image to a local database on the field device, and for simultaneously write-disabling the event record.
In a further embodiment, each field device comprises means for saving the image in a record having an address incorporating an address of the corresponding event record address.
In one embodiment, each field device comprises means for automatically writing a time stamp to each event record.
In another embodiment, each field device and the host processor comprise means for maintaining synchronization by repeatedly polling a remote time server via the Internet, and the host processor comprises means for automatically checking when parsing a received message that the current time is not earlier than said time stamp.
In a further embodiment, the host processor comprises means for triggering an alert notification if current time is earlier than said time stamp.
In one embodiment, each field device comprises means for write-protecting its time clock values. * * * *** ****
In another embodiment, each field device comprises means for maintaining a dynamic linked library of programs and the writing interface of each device comprises means * for using a dynamic linked library mechanism to call a program for processing the * Image. * S * S S * S.
In a further embodiment, the host processor comprises means for automatically selecting rules from a rule base according to a message category, each message category being associated with a job state, and said selected rules are executed to automatically update the host work flow database.
In one embodiment, the host communications server comprises means for automatically logging all received emails before the processor accesses them, and for also writing the emails to a cache which is accessible to the host processor for parsing.
In another embodiment, the host processor comprises means for logging the category of all emails to an audit trail database.
In a further embodiment, the host communication server comprises means for automatically logging all signature images to an audit trail database before the host processor accesses them.
In one embodiment, the host processor comprises means for parsing a message by initially tokenizing message content of delimited sections, and subsequently processing the tokens to generate the structured query language statements.
In another embodiment, a message header is tokenized separately from tokenizing of a message body.
In a further embodiment, the tokenizing step is performed after recognition of a particular string in the message.
In one embodiment, the host processor comprises means for allocating each token to one of a set of strings for the message, each string being associated with a work flow * S..
parameter.
: In another embodiment, the host processor comprises means for automatically *.....
determining a type of structured query language statement according to the category of message. * *** * I *...
Detailed Description of the Invention
The invention will be more clearly understood from the following description of some embodiments thereof, given by way of example only with reference to the accompanying drawings in which:-Fig. 1 is a diagram illustrating a communication and management system of the invention; Fig. 2 is a flow diagram illustrating operation of the system; and Fig. 3 is a flow diagram for generation of a message, showing message coded and unencoded sections.
Referring to Fig. I a field service work flow management and communications system I of the invention comprises hand held devices 2 used in one example by technicians who perform maintenance work in response to service calls. The hardware configuration of each device 2 is a Pocket PC2000/2002TM handheld GSM mobile device.
The devices 2 communicate via a GSM mobile network 3 with a host system comprising a server 4 which receives and transmits data and implements a cache for incoming messages. A data analysis host processor 5 interfaces with the server 4, with a teleservices network 6, and with a stored rule base 7. The processor 5 performs database updates via a database server 8 linked with databases 9. * . **.
The devices 2 are used by technicians servicing cooling equipment in vehicles, * * warehouses, factories, and retail premises. However they could be used by service *.*** personnel of any other type, the invention concerning the underlying communication and work flow data processing infrastructure rather than the business nature of the *. data being handled. ****
The system I operates in a method 15, the steps of which are described below.
Create Event Record 16 Each hand-held device 2 executes a software work flow engine with a relational database. The work flow engine is programmed with data defining jobs and possible job states. It captures user inputs in a structured format of the allowed jobs and job states and automatically captures data to a discrete event record for each job state.
The work flow database stores both alphanumeric data and also images for signatures made with the writing interface of the device 2.
Record Real Time 17 Each device 2 automatically writes a real-time time stamp to each event record when it is created. Time synchronisation between the device 2 and the host system 4, 5 is ensured by individual telnet sessions to an Internet NT? Time Server which updates the device 2 and a host system inbuilt clock which is triggered at various stages of the handheld processes and the host system process activity. A rule base on the host processor 5 also ensures that data received from a device 2 does not have a time stamp later than that of the host -if such an event were to occur it triggers an alert to an operator that the device 2 needs to be checked. Manual updating of the time settings of the device 2 is locked down within the local device 2 program so that one can not change the time manually.
Edit Data. 18 Data is entered and saved into the event record according to job details. * * **.*
The device 2 local work flow engine maintains a database of qualifying parts which may be installed, removed, or consumed during a job. The technician can retrieve a S.....
part identifier from the local database using a touch-screen menu. The part identifier is written to the event record where parts are involved. The part data adds to the job state data already written to the record when it was created. *...
Generate Email. 19 An email message incorporating event record data is generated. There are eight categories of messages a) -h) outlined below in the section describing message parsing. The technical aspects of message generation are also described below. An advantageous aspect of the invention is that discrete event records result in automatic generation of email messages which are uploaded to the host. This ensures near real time synchronisation of the field devices 2 and of the host processor 5. Also, data integrity is ensured because of the work flow structured manner in which the user is allowed input data.
Job Progress Decision. 20 According to progress made in the field job, steps 17 19 may be repeated in multiple interactions. For example, a work flow may be complete by simply transmitting a "Job Rejected" message, or it may go through several stages outlined below.
Signature Image Recording, 22 The writing interface of the device 2 is used to capture a supervisor signature for verification of a job. On completion of the job by an engineer, the device 2 prompts for a signature that is linked to the service call by the service call number. The signature is stored on the local device 2 on a non-volatile memory storage card which is date and time stamped.
When the engineer indicates on the keypad that the job is complete a DLL is called to activate a signature file. This generates a display for writing of the signature and at the same time disables further write access to the event record. The signature image is saved to a separate file, but with the same record address as the corresponding event * *. * * record, and an added extension, .SIG.
** **a * *** Message Generation and Transmission, 26 S... * * *..
The completed job details are transmitted via email to the host 4, 5. In generation of the email in step 26, there is image compression as the signature file is UU encoded into the body of the mail message before transmission, allowing for transmission via all intervening mail systems which handle the message. The UU encoding of the data and the signature bitmap provides a transparent format which is not affected by intervening servers en route to the server 4.
Referring to Fig. 3, in the device 2 a UU encoding function 5! generates code from the data and image. This is written to a coded section 55 of a message 52. The message 52 also comprises a wrapper 53. Further, the original human-readable data and bitmap are separately written to a section 54 of the email 52.
Thus, all of the data and the image are represented twice in the body of the email message itself, but there is no need for an attachment. This greatly assists with reliability of transmission to the server 4, and also reduces required bandwidth.
Message Retrieval 28, 29 The messages are received by the host communication server 4 and saved to a cache.
The devices 2 poll the server every 15 minutes to send (server port 110) and receive (server port 80) emails. Emails from the devices 2 are received via SMTP on port 110 by the communications server 4 every 15 minutes. The server 4 processes the messages using a rule base. Each message is automatically saved into a cache in a database 9. The host processor 5 polls the cache at a frequency of 60 seconds and writes messages to its memory.
:... All original messages received by the server 4 are also stored in their original format * *.* in database storage space allocated for traceability and re-processing of the message :.:. 25 should it be required. Logging of all messages allows full traceability of when the * information was received. Also, alt signature images are stored indefinitely in their * .**(, original.S1G file format, thus removing possibility of tampering. * * * * * * **
Message Parsing and SOL Generation. 30-34 A very advantageous aspect of message parsing is that the processor 5 extracts (step 30) data for downstream storage and work flow processing, but also dynamically chooses (step 31) rules from the rule base 7 and executes (step 32) the rules to generate SQL statements (step 33). Thus, the database updates can be performed in a manner which is applicable to the particular data and message.
All messages are first checked for a valid sender email address, and valid subject content by the mail system and are then decoded by the host processor 5 into categories of message by the contents of the subject header of the message. This determines (step 31) the rules to be applied.
Incoming messages can be one of the following categories.
a) Job received b) Job Accepted c) Job Rejected d) Engineer In Transit e) Engineer On Site f) Engineer Left Site Temporarily.
g) Job Complete h) Standby Job Used The categories are indicated in the message. This is one example, but of course the nature and number of categories depends on the business aspects of the field service management, not the subject of the invention. From the perspective of the invention, it is important to note that there is an email providing near real time notification of an event, and these messages are automatically processed as described. * * ****
Messages of type a), b), c), d), e), and f) are status messages from which the processor * 5 automatically creates SQL Statements to update the current status of the job, whereas messages of type g) contain a completed job with signature image and thus trigger other message rules to update the status of the job and decode and extract the * signature.
The processor 5 then creates SQL statements to update separate SQL tables for worksheets, labour and parts, and then updates the relevant Service Call Job Record and Service Departments Call Status records for generation of supervisor display screens. Messages of type h) create a New Service Call Job that the Engineer has instigated, and not having been sent from the Service Department (for example, weekend standby calls for which the engineer receives customer calls directly). This updates the service department's Call Status records to show that the engineers had used Standby Calls, but also the host system generates a new Standby Service Call Number and sends it to the device 2 for future use -thus keeping a float of Blank Service Call Numbers assigned to that engineers' device 2.
In response to a message of type c) the processor 5 generates a notification to a supervisor indicating that the particular service call cannot be attended to by that engineer and the reason which the engineer gave, and thus allow the supervisor to re-assign the service call to another engineer.
Thus, the email allows the processor 5 to automatically update the host work flow engine database, and to automatically generate SQL statements for updating various database tables. Thus, the categories a) to e) trigger automatic work flow engine updates and SQL statement generation in a single pass.
However category g) involves detailed parsing of the UU encoded section 55 of the received message. This section is in delimited text format. The work flow engine on the hand-held device 2 generates prompts for user selection of options. These options mirror the work flow structure of the job. User selection of an option causes the :.. device 2 to automatically insert delimiters and codes into the event record. Each * a..
activity is allocated a line, and there is a "pipe sign" symbol "I" delimiter for each data value. This structure is also generated in response to user selection of a part -the part S. identifier and quantity being automatically inserted into the event record with the * a,...
necessary delimiters and work flow codes. * . * a S *5
Category h) for Standby Calls Used also results in processing the message differently as it contains the customer name/details and nature of service call, which are assigned to a Fixed Miscellaneous Customer Account. The Standby Calls Used are highly visible to the supervisor so that they can attach the Service Call to the relevant Customer Account for billing purposes.
This structure which is imposed in the hand held device 2 allows very efficient parsing by the data analysis processor 5. The processor 5 tokenises the email data after decoding the UU encoded section 55 (cfr. Fig. 3). The email message is read by the parser, and translated into its original raw format as created by the device 2. The email data is tokenized into meaningful data by splitting the message using the pipe delimiter symbol "p'. There are two sections to the tokenizing, one for the header of the message and one for the body of the message. In the header of the message the tokens parsed relate to data such as the Service Call No, Service Call Status, or Date of Service Call. If the body of the message contains particular text such as "parts:" or or "labour:" the data following that text is tokenized specifically for that type of data up until it reaches a Carriage Return Linefeed (CRLF) sequence of characters.
The tokens are then assigned to a string of data for a record such as a parts record, a worksheet record, or a labour record. On reaching a CRLF sequence it then loops back through the process reading the next line of email data. Each of these tokens is then used in the step 33 to build the required SQL Statements.
The parsing step 30 extracts the information sufficient to update the host work flow database and to generate the appropriate SQL statements. Typically, ten to twenty SQL statements are generated. Advantageous aspects are as follows: -The ability to translate the UU encoded section 15 indicates an initial validation of the received message. * *.g
The UU encoded section is much less likely to be corrupted by intervening servers than the human readable section 54.
-The email can be validated by an operator due to existence of the section 53.
The processor 5 generates a visual display of both the decoded data and of the signature image.
The following code section of the procedure rules parse the email message in step 30 and determine the type of email message received and thus determine the WFP
updates to make and SQL statements to generate.
Identify Sender and Check Content Sub parseline(parsethis As String) Dim s_accountno As String Dim s_cdname As String Dim msgtype As String Dimy s_accountno = s_calllogno =0 scname = msgtype = If Mid$(parsethis, I, 12) = "Return-path:" Then Me.t_sender.Text = Mid$(parsethis, 15, Len(parsethis) -15) Exit Sub ElselfMid$(parsethis, 1, 5) "From:" Then Met_sender.Text = Left$(Mid$(parsethis InStr(1, parsethis, "<", vbTextCompare) + I), Len(Mid$(parsethjs, InStr( I, parsethis, "<", vbTextCompare) + 1))-1) Exit Sub Identify Customer :... ElseffMid$(parsethis, 2, 14) = "CUSTOMER CODE:" Then * S..
s_accountno Mid(parsethjs, InStr(I, parsethis, "<<<", vbTextCompare) + 3, (Len(parsethis)-(JnStr( 1, parsethis,"<<<",vbTextco,,-pare) + 3)) -(Len(parsethis) -( .. a tnStr(I, parsethis, ">>>", vblextCompare))) MsgBox s_accountno
-S a. * * .
Identify Category ElselfMid$(parsethis, I, 8) = "Subject:" Then y = Split(parsethis, "j") Me.t_subject Text = Mid$(parsethis, 10, Len(parsethis) -9) If LiBound(y) = 2 Then -13 -Me.teng.Text = y(2) End If If Mid$(parsethis, 10, 13) = "ENG ACCEPTED:" Then s_calUogno = VaI(Left(Mid$(parsethis, 23), InStr(parsethis, "I"))) Me.tcalllogno.Text = s_calllogno msgtype = ElselfMid$(parsethis, 10, 13) = "ENG REJECTED:" Then s_calllogno = Val(Left(Mid$(parsethis, 23), InStr(parsethis, "I"))) Me.tcalllogno.Text = s_calllogno msgtype = The following code section of the procedure rules parse the email message and generate dynamic SQL Statements depending on the contents of the decoded email message.
Sub readmessage(strQuestionFi Ic) Dim decodedmsg As String decodedmsg = uudecoder(strQuestionFile) Call functions with Declaration of Variables (Dimensions) Dim sqlarray Dim strLine As String Dim ReadQuestionFilelD As Integer Dim msgstart As Integer * *** Dim norecordsAs Long :.r. Dim msgend As Boolean * * Dim endofWS As Boolean ***SSS Dim wsrnsg As String ** Dim endofPARTS As Boolean *::::* 30 DimpartsmsgAsString Dim endofLABQlJF( As Boolean Dim Iabourmsg As String Dim endotSTANDBY As Boolean Dim standbymsg As String Set Initialisation Variables msgend = False endofWS = True endof?ARTS = False endofLABOlJR = False endofSTANDBY = False ReadQuestjonFjlelD = msgstart =0 norecorcis = 0 Error Calculations On Error GoTo Readerr If Len(decodedmsg) > 0 Then Read UU Encoded Information Open strQuestionFile For Append As #ReadQuestionFilelD Print ffReadQuestionFilelD,"" Print #ReadQuestionFilelD," Print #ReadQuestionFj lelD, decodedmsg Close #ReadQuestionFjlelD End If :... Me.StatusBarLPanels(1).Text = "Parsing Message:" & strQuestionFile 25 Open strQuestionFile For Input As #ReadQuestionFilelD S. : Read Header 55.5*.
Do While Not EOF(ReadQuestionFilelD) norecords=norecords+ I Start Parsing the Start of the Message S...
Line Input #ReadQuestionFilelD, strLine If Mid$(strLine, I, 8) = "Reply-To" Or Mid$(strLine, I, 21) = "X-MDaemon-Deliver-To:" Then Read a blank line Line Input #ReadQuestionFilelD, strLine msgstart = Elseif Mid$(strLine, 1, 10) = " Origi" Then Me.currmsg.Addltem "END OF MESSAGE FILE" msgend = True Now to Parse the Original Message Elseif Mid$(strLine, 1, 33) = "Content-Transfer-Encoding: base64" Then Me.currmsg.Addltem "END OF MESSAGE FILE" msgend = True Exit Do Now to Parse the Original Message Else Calling Parser MsgBox msgstart If msgstart = 0 Then Call parseline(strLine) Me.currmsg.Addltem (strLine) Else Call parsel ine(strLine) If Mid$(strLine, 1,3) = "WS:" Then endofWS = False wsmsg = strLine S...
.... 25 Keep reading until last 2 chars = chr(l3) & chr(10) While Not endofWS : : Line Input #ReadQuestionFilelD, strLine If Mid$(strLine, 1, 3) = "WS:" Then wsmsg= wsirisg & Chr(13)& Chr(l0) & strLine ElselfMid$(strLjne, 1,3) = (Chr(6l) & Chr(48) & Chr(48)) Or Call Functions to Generate SQL Statements (eg. "createwsf,le") Mid$(strLine, I, 6) = " " Then -16 -endofWS = True Now Parse wsmsg Call createwsfile(Me.t calllogno.Text, wsmsg) Else wsmsg = wsmsg & strLine End If Wend MsgBox wsmsg ElselfMid$(strLine, 1, 6) = "PARTS:" Then endofPARTS = False partsmsg = strLine While Not endoIPARTS Line Input #ReadQuestionFilelD, strLine If Mid$(strLine, 1, 6) = "PARTS:" Then partsmsg = partsmsg & Chr(13) & Chr(IO) & strLine Elseif Mid$(strLine, 1, 9) = "SUPPLIER:" Or Mid$(strLine, 1, 9) = "QUANTITY:" Then ignore it ElselfMid$(strLine, 1, 6) = " " Then endofPARTS = True Now Parse wsmsg Cal I createpartsfi le(Me. t_cal I logno.Text, partsrnsg) *...
25 partsmsg = partsmsg & strLine End If Wend * * * * * * ** *. 30 Parse Checking ElselfMid$(strLine, I, 7) = "LABOUR:" Then endofLABOLJR = False labourmsg = strLine While Not endofLABOlJR Line Input #ReadQuestionFilelD, strLine If Mid$(strLine, 1, 7) = "LABOUR:" Then labourmsg = labourmsg & Chr(13) & Chr(1O) & strLine ElselfMid$(strLine, 1, 6) = " " Then endofLABOUR = True Now Parse wsmsg Call createlabourti Ie(Me.t_cal llogno.Text, labourmsg) Else labourmsg = labourmsg & strLine End If Wend
L Statements Note
Elseif Mid$(strLine, 1, 10) = "STANDBYAT:" Then endofSTANDBy False standbymsg = strLine While Not endofSTANDBy Line Input ReadQuestionFileID, strLine If Mid$(strLine, 1, 9) = "CUSTNAME:" Then standbymsg = standbymsg & Chr(l3) & Chr(I0) & "i" & strLine ElselfMid$(strLine, 1,8) = "PROBLEM:" Then standbymsg = standbymsg & Chr(l 3) & Chr(10) & "i" & strLine 25 EIselfMid$(strLjne, 1,6) = " "Then endoISTANDBY = True * ** * * * Now Parse wsrnsg ***S..
Call createlabourli le(Me.t_cal I logno.Text, Iabourmsg) *:*:.* sqiarray = Split(Replace(standbymsg, "", "), "f") . 30 If LDBNAME = "cs3cool" Then **** ssql = "update dbo._calI_log set "& "call_date = " & Format(Replace(Mid$(sqlarray(o), 11), Chr(13) & Chr(lO), "), "mm/dd/yy") & ", " & - "call_time = " & Format(Replace(Mid$(sqlarray(O), II), Chr(13) & Chr(10), ""), "hh:mm:ss") & ", " & - "engineer =" & Trim(Me.t_eng.Text) & ", "& - "received_by = STANDBY', "& - "commentsl = " & Replace(sqlarray(l), Chr(13) & Chr(10), ") & " + Char( 13) + Char( 10) + " & sqlarray(2) & " ," & - "call_type = CHG' " & -"where call_log = " & Me.t_calllogno.Text & ";" Else ssql = "update dbo._call_log set "& "call_date = " & Format(Replace(Mid$(sqlarray(o), II), Chr(13) & Chr(I0), "), "mm/dd/yy") & ", " & - "log_time = " & Format(Replace(Mid$(sqlarray(o), 11), Chr(13) & Chr(l0), "), "hh:rnrn:ss") & ", " & "engineer = " & Trim(Me.t eng.Text) & ", "& "received_by = STANDBY', "& "commentsl = " & Replace(sqlarray(l), Chr(l3) & Chr(l0), ") & " + Char(13) + Char(l0) + " & sqlarray(2) & " ," & - "call_type = CHO' "& - "where call_log_no = "& Me.t_calllogno.Text & ";" End If Me.sqllist.Addltem ssql ssql = * . Cl * S.. LISe ... 25 standbymsg = standbynisg & strLine End If *..S..
The SQL Statements are generated by creating a string which is a recogniseable *:*:. Structured Query Language (SQL) statement that will be processed against the *::::* 30 underlying databases. The category of message determines the type of SQL statements to be generated. The SQL statements are created by appending tokenized data to string statements representing the data fields to be updated by the SQL statement. On the completed creation of a valid SQL statement it is then cached until all of the incoming messages in the queue have been parsed.
A routine then runs after all messages have been parsed which executes the individual SQL statements updating the relevant databases and then creating a log of the SQL statement processed, for example the string statements: below are a sample: ssql "Insert into dbo._xdaparts (pcalllogno, pworksheetno, ppid, ppartcode, pprice, pqty, pdesc, psupplier, potherinfo) values (" & -cno&","&_ sqlarray(0) & "," & -sqlarray(l) & "," &_ & sqlarray(2) & "" & - IIf(Len(sqlarray(3)) = 0, 0, sqlarray(3)) & "," & -ngLen(sqlarray(4)) = 0, 0, sqlarray(4)) & "," & - & sqlarray(5) & "," & "" & sqlarray(6) & "," & - & sqlarray(7) & " & -p The SQL statement that would be generated for some sample tokens using the above Insert into dbo._xdaparts (pcalllogno, pworksheetno, ppid, ppartcode, pprice, pqty, * *** 25 pdesc, psupplier, potherinfo) values (6243 1,723 12,1,BULB I,23.22,3,"2Ft Flourescent Bulb","EWB LIGHTING","REDJ24Ov"); S.....
where the tokens for Call Number was 62431 Worksheet No 72312 Part Item ID PartCode BULB I Price 23.22 Quantity 3
Description 2Ft Flourescent Bulb"
Supplier EWB LIGHTING Other Info Colour was Red, and Rated for 24OVolt Database Updating 34 The SQL statements generated in step 33 are used to perform database writes. All SQL statements create records based on the Service Call Number.
All message categories received will result in creation of a log recordof when, by whom, and to which call the message was related to. Messages of category a), b), d), e), and 0 are used only to update the Current Service Call Status for the supervisor to view, with full history of when that action had been applied by the engineer. Messages of category c) trigger SQL Statements to notify the supervisor for a Rejected Call and Reason. Messages of category g) trigger SQL Statements to update the call status as complete, and update service call information with all data entered by the Engineer.
All SQL Statements generated are logged, thus allowing full traceability of how the work flow was recorded in the databases. This logging is linked to the work flow record for the job.
The following code section of the procedures are dynamic SQL Generators that create various insert/delete statements for the Worksheet, Parts and Labour Details that are contained on completed service calls (decoded parsed emails) received. * .
:.:. Private Sub readparts(cno As Long) * Dim fname As String Dim partstr As String Dim partstrl As String *. 30 Dim sqlarray Me.tjarts.Clear ssql = fname = attachpathname & cno & ".pts" -21 -fname = XDASAFE & cno & ".pts" Me.StatusBarl.Panels( I).Text = "Reading Parts: "& fliame Me.sqllist.Addltem "delete from dbo._xdaparts where pcalllogno =" & cno & ";" On Error GoTo partserr Open fname For Input As #10 Open file.
If Not EOF(10) Then Loop until end of file.
partstr = partstrl = Line Input #10, partstr First Line is CALLNO If Not EOF( 10) And Mid$(partstr, 1, 6) = "CALLNO" Then Line Input #10, partstr First Line is CALLNO End If Do While Not EOF(I0) Me.t_parts.Addltem partstr If Len(Tnm(partstr)) = 0 Then Exit Do End If If Mid$(partstr, I, 6) = "PARTS:" Then partstrl = partstr = Mid$(partstr, 7) If Not EOF(l0) Then Line Input #10, partstrl . 25 Do While Mid$(partstrl, 1, 6) <> "PARTS:" Me.tjarts.Addltem partstrl : .: partstr = partstr & partstrl f *.
Line Input #10, partstrl If Len(Trim(partstrl)) 0 Then . 30 Exit Do End If Loop sqiarray = Split(partstr, "i") -22-partstr partstrl End If ssql = "Insert into dbo._xdaparts (pcalllogno, pworksheetno, ppid, ppartcode, pprice, pqty, pdesc, psupplier, potherinfo) values (" & - cno & "," & sqlarray(0) &"" & - sqlarray(1) & "," & - " & sqlarray(2) & "," & IIf(Len(sqlarray(3)) = 0, 0, sqlarray(3)) & "," & - IIf(Len(sqlarray(4)) = 0, 0, sqlarray(4)) & "," & - & sqlarray(5) & "," & - & sqlarray(6) & "," & & sqlarray(7) & " & -Me.sqllist.Addltem "delete from dbo._xdaparts where pcalllogno = cno & - " and pworksheetno = " & sqlarray(0) & -and ppid = " & sqlarray(l) &_ Me.sqllist.Addltem ssql End If Loop * *s Lfl * :.:. Close #10 Me.Lparts.Refresh Exit Sub * * * * * S. *. 30 partserr: **.
If Err Number = 53 Then Exit Sub End If GOTanERROR = True Me.elog.Addltem Format(Now , "dd/mm/yy") & Format(NowO, "hh:mm:ss") & " " & msgfilename & " " & "READPARTS: & Err.Number & " " &
Err.Description
Me.elog. Refresh Resume Next End Sub Resnonses 37-39 Only incoming messages of type h) for standby calls trigger generation of an outgoing message to the handheld device 2, assigning this new Standby Call reserved to that engineer's handheld device.
By monitoring times for responses in step 39 the WFP can undertake further actions.
It will be appreciated that the invention achieves effective, reliable, and comprehensive integrated field service management and communication in real time.
The field personnel have the flexibility of using portable devices which intelligently capture updates and transmit updates to the host in near real time. Because email is used, the devices do not need to execute proprietary messaging or data upload programs. Also, running costs are kept low as the system keeps data transfer to a minimum and uses data connectivity to send and receive data only. Typically the amount of data traffic is about 10K (10000 bytes) per service call including the *...
* 25 customer signature. Moreover, the system is not reliant on a constant GPRS data connection to a mobile network, thus allowing engineers to process data while out of * * network coverage or when the mobile network is temporarily unavailable. S...
*.. The invention is not limited to the embodiments described but may be varied in . 30 construction and detail.

Claims (19)

  1. Claims I. A field service work flow management and communications
    system comprising: a plurality of distributed portable communication and data processing field
    devices (2) for field personnel,
    a local work flow processing engine executed by each field device; a host communications server (4), a host processor (5), a host work flow processing engine executed by the host processor (5), field service databases (9) for data related to field service work, wherein each field device local work flow engine comprises means for: capturing data inputs in response to structured prompts generated according to work flow, and using said data to generate discrete event records, * **.
    25 automatically generating an email message (52) for each event record, :.:. in which the data is written in human readable format to a section (54) * * of the main body of an email and the same data is encoded and the ** *** coded data is written to a separate section (55) of the main body of the *.
    * * * email, * ** **** * * wherein the communications server (4) comprises means for receiving and
    logging emails from the field devices (2),
    wherein the host processor (5) comprises means for: automatically parsing an email encoded section (55), and according to the parsing, automatically updating a host work flow database (9) according to job status determined from said parsing, and dynamically generating structured query language statements for updating related field service databases (9) .according to the data gleaned from the parsing.
  2. 2. A system as claimed in claim I, wherein each field device (2) comprises a writing interface and means for automatically generating an image for a physical signature written on the pen interface, and the local work flow engine is adapted to associate the image with an event record, and to incorporate the imageinanemail
  3. 3. A system as claimed in claim 2, wherein each field device (2) comprises means for saving (22) the image to a local database on the field device, and for simultaneously write-disabling the event record.
  4. 4. A system as claimed in claim 3, wherein each field device comprises means for saving the image in a record having an address incorporating an address of the corresponding event record address. a. * S..
    25
  5. 5. A system as claimed in any preceding claim, wherein each field device (2) comprises means for automatically writing a time stamp to each event record. a....
  6. 6. A system as claimed in claim 5, wherein each field device (2) and the host *::.* processor (5) comprise means for maintaining synchronization by repeatedly polling a remote time server via the Internet, and the host processor (5) comprises means for automatically checking when parsing a received message that the current time is not earlier than said time stamp. -26-
  7. 7. A system as claimed in claim 6, wherein the host processor (5) comprises means for triggering an alert notification if current time is earlier than said time stamp.
  8. 8. A system as claimed in any of claims S to 7, wherein each field device (2) comprises means for write-protecting its time clock values.
  9. 9. A system as claimed in any of claims 2 to 8, wherein each field device (2) comprises means for maintaining a dynamic linked library of programs and the writing interface of each device comprises means for using a dynamic linked library mechanism to call a program for processing the image.
  10. 10. A system as claimed in any preceding claim, wherein the host processor comprises means for automatically selecting rules from a rule base according to a message category, each message category being associated with a job state, and said selected rules are executed to automatically update the host
  11. I I. A system as claimed in any preceding claim, wherein the host communications server (4) comprises means for automatically logging all received emails before the processor accesses them, and for also writing the emails to a cache which is accessible to the host processor for parsing.
  12. 12. A system as claimed in any preceding claim, wherein the host processor (5) 0**I 25 comprises means for logging the category of all emails to an audit trail * ** database.
    * *c * * *
  13. 13. A system as claimed in any of claims 2 to 12, wherein the host communication server comprises means for automatically logging all signature images to an 30 audit trail database before the host processor accesses them.
  14. 14. A system as claimed in any preceding claim, wherein the host processor comprises means for parsing a message by initially tokenizing message content -27-of delimited sections, and subsequently processing the tokens to generate the
    structured query language statements.
  15. 15. A system as claimed in claim 14, wherein a message header is tokenized separately from tokenizing of a message body.
  16. 16. A system as claimed in either of claims 14 to 15, wherein the tokenizing step is performed after recognition of a particular string in the message.
  17. 17. A system as claimed in any of claims 14 to 16, wherein the host processor comprises means for allocating each token to one of a set of strings for the message, each string being associated with a work flow parameter.
  18. 18. A system as claimed in any preceding claim, wherein the host processor comprises means for automatically determining a type of structured query language statement according to the category of message.
  19. 19. A field service work flow management and communications system substantially as described with reference to the drawings. * *,. * . **
    * ." . * 0 eO 0S * * S. I... * S...
GB0704303A 2007-03-07 2007-03-07 A field service work flow management and communications system Withdrawn GB2447279A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
GB0704303A GB2447279A (en) 2007-03-07 2007-03-07 A field service work flow management and communications system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB0704303A GB2447279A (en) 2007-03-07 2007-03-07 A field service work flow management and communications system

Publications (2)

Publication Number Publication Date
GB0704303D0 GB0704303D0 (en) 2007-04-11
GB2447279A true GB2447279A (en) 2008-09-10

Family

ID=37966009

Family Applications (1)

Application Number Title Priority Date Filing Date
GB0704303A Withdrawn GB2447279A (en) 2007-03-07 2007-03-07 A field service work flow management and communications system

Country Status (1)

Country Link
GB (1) GB2447279A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102012101461A1 (en) * 2012-02-23 2013-08-29 Endress + Hauser Process Solutions Ag Method for controlling operation of processing unit in automation control engineering field, involves performing loop test by personnel whose positive result represents permission for field device to process-start-up in processing unit

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999005631A1 (en) * 1997-07-28 1999-02-04 Solectron Corporation Workflow systems and methods
US20030158770A1 (en) * 2002-02-19 2003-08-21 Seh America, Inc. Method and system for assigning and reporting preventative maintenance workorders
US20040044554A1 (en) * 2002-08-27 2004-03-04 Christopher Bull Methods and systems for managing field personnel and projects through a wireless network
US20050076049A1 (en) * 2003-10-02 2005-04-07 Marwan Qubti Business workflow database and user system
WO2005036365A2 (en) * 2003-10-10 2005-04-21 Accenture Global Services Gmbh Tool for synchronization of business information
US20050228683A1 (en) * 2004-04-13 2005-10-13 Stephen Saylor Integrated use of a portable image capture device into a workflow process

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999005631A1 (en) * 1997-07-28 1999-02-04 Solectron Corporation Workflow systems and methods
US20030158770A1 (en) * 2002-02-19 2003-08-21 Seh America, Inc. Method and system for assigning and reporting preventative maintenance workorders
US20040044554A1 (en) * 2002-08-27 2004-03-04 Christopher Bull Methods and systems for managing field personnel and projects through a wireless network
US20050076049A1 (en) * 2003-10-02 2005-04-07 Marwan Qubti Business workflow database and user system
WO2005036365A2 (en) * 2003-10-10 2005-04-21 Accenture Global Services Gmbh Tool for synchronization of business information
US20050228683A1 (en) * 2004-04-13 2005-10-13 Stephen Saylor Integrated use of a portable image capture device into a workflow process

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102012101461A1 (en) * 2012-02-23 2013-08-29 Endress + Hauser Process Solutions Ag Method for controlling operation of processing unit in automation control engineering field, involves performing loop test by personnel whose positive result represents permission for field device to process-start-up in processing unit

Also Published As

Publication number Publication date
GB0704303D0 (en) 2007-04-11

Similar Documents

Publication Publication Date Title
CN109409633B (en) Business monitoring and risk early warning system
CN101248680B (en) Rule based data collection and management in a wireless communications network
US6430562B1 (en) Integrated resource management system and method
CN105989443A (en) Intelligent-mobile-terminal-based communication line inspection system
US20060247983A1 (en) Method and apparatus for displaying processed multimedia and textual content on electronic signage or billboard displays through input from electronic communication networks
CN106600105B (en) Lean management system and method for dosage data of nuclear power plant
CN108334449A (en) A kind of method and apparatus of interface automatic test
US20120265657A1 (en) System and method for real-time labor management
CA2483598A1 (en) System for managing real estate properties
US20210295183A1 (en) Systems and methods for automated alert processing
CN108446143A (en) Event-handling method and device
US7408440B2 (en) System and method for analyzing message information from diverse network devices
CN104994219A (en) Data processing method and system
CN111311200B (en) Management method and device for guest consultation work order platform
CN108881362A (en) A kind of browser platform based on block chain
CN109858868B (en) Lottery business risk monitoring system
CN104994220B (en) A kind of data processing method and system
CN109120613B (en) Communication data monitoring method and system
CN113225694A (en) Short message group sending method and device and computer equipment
GB2447279A (en) A field service work flow management and communications system
IES20070147A2 (en) A field service work flow management and communications system
CN109544323B (en) Intelligent management system for credit card number
CN110866814A (en) Payment channel management system
IE20070146A1 (en) A field service work flow management and communications system
CN116828039A (en) Questionnaire pushing method, questionnaire pushing device and electronic equipment

Legal Events

Date Code Title Description
WAP Application withdrawn, taken to be withdrawn or refused ** after publication under section 16(1)