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

A field service work flow management and communications system

Info

Publication number
IE20070146A1
IE20070146A1 IE20070146A IE20070146A IE20070146A1 IE 20070146 A1 IE20070146 A1 IE 20070146A1 IE 20070146 A IE20070146 A IE 20070146A IE 20070146 A IE20070146 A IE 20070146A IE 20070146 A1 IE20070146 A1 IE 20070146A1
Authority
IE
Ireland
Prior art keywords
work flow
comprises means
data
message
host
Prior art date
Application number
IE20070146A
Other versions
IE85118B1 (en
Inventor
Kenneth Keating
Michael O'leary
Brendan Kavanagh
Original Assignee
Taylor Freezer Ireland Ltd
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 Ireland Ltd filed Critical Taylor Freezer Ireland Ltd
Priority to IE2007/0146A priority Critical patent/IE85118B1/en
Priority claimed from IE2007/0146A external-priority patent/IE85118B1/en
Publication of IE20070146A1 publication Critical patent/IE20070146A1/en
Publication of IE85118B1 publication Critical patent/IE85118B1/en

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

A field service work flow management and communications system comprises 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. Each field device local work flow engine captures data inputs in response to structured prompts generated according to work flow, and using said data to generate discrete event records. The device (2) automatically generates an email message (52) for each event record, in which the data is written in human readable format to a section (54) 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. The host processor (5) automatically parses an email encoded section (55), and according to job status determined from said parsing. It also dynamically generates structured query language statements from the parsing. Each field device (2) comprises a writing interface, and the local work flow engine associated the image with an event record, and incorporates the image in an email.

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 and communications system comprising: a plurality of distributed portable communication and data processing field devices for field personnel, a host communications server, Iflrra gogf b/oq , 1ΞΖΞΗΖ22-. ac+faa host processor, IE® 70 1 4® -2a 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 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. ...
·* ’ ·** · 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 .3.
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 25 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.
In a further embodiment, the host processor comprises means for automatically 30 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.
IE 0 7 0 ί 4 Β -4In 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 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 i j ί IE 0 7 0 ί 4 $ -5The 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. 1 a field service work flow management and communications system 1 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/2002™ 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 1 operates in a method 15, the steps of which are described below.
Create Event Record 16 IE v i o 1 4 e -6Each 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 NTP 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 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' wheiiit 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 It'A /0 148 -7parsing. 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.
Message Generation and Transmission, 26 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 ||0 7C 1 ο -8and 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 51 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 should it be required. Logging of all messages allows full traceability of when the information was received. Also, all signature images are stored indefinitely in their original .SIG 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 IE0 70 1 O -9generate 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. ..... ..... — i 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 IE?7014« -10screens. 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 reassign 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 activity is allocated a line, and there is a “pipe sign” symbol “|” delimiter for each data value. This structure is also generated in response to user selection of a part - the part identifier and quantity being automatically inserted into the event record with the necessary delimiters and work flow codes.
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. -11This 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 |. 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 WS: 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.
- 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. Εβο 7 0 -12Identify Sender and Check Content Sub parseline(parsethis As String) Dim s_accountno As String Dim s_cdname As String Dim msgtype As String Dim y saccountno = scalllogno = 0 s_cname = msgtype = If MidS(parsethis, 1,12) = Return-path: Then Me.tsender.Text = Mid$(parsethis, 15, Len(parsethis) - 15) Exit Sub Elself Mid$(parsethis, 1, 5) = From: Then Me.t_sender.Text - Left$(Mid$(parsethis, InStr(l, parsethis, <, vbTextCompare) + 1), Len(Mid$(parsethis, InStr(l, parsethis, <, vbTextCompare) + 1))-1) Exit Sub Identify Customer Elself MidS(parsethis, 2,14) = CUSTOMER CODE: Then s accountno = Mid$(parsethis, InStr(l, parsethis, «<, vbTextCompare) + 3, (Len(parsethis)-(InStr(l, parsethis,«<,vbTextCompare) + 3)) - (Len(parsethis) InStr(l, parsethis, >», vbTextCompare))) MsgBox s accountno Identify Category , ---•—η '7 ,. „· -γνΎ'' ' Elself Mid$(parsethis, 1, 8) = Subject:· Then y = Split(parsethis, |) Me.t_subject.Text = Mid$(parsethis, 10, Len(parsethis) - 9) If UBound(y) = 2 Then -13Me.t_eng.Text = y(2) End If If Mid$(parsethis, 10,13) = ENG ACCEPTED: Then s_calllogno = Val(Left(Mid$(parsethis, 23), InStr(parsethis, |))) Me.t_calllogno.Text = scalllogno msgtype = Y Elself Mid$(parsethis, 10, 13) = ENG REJECTED: Then s calllogno = Val(Left(Mid$(parsethis, 23), InStr(parsethis, |))) Me.t_calllogno.Text = scalllogno msgtype = R 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(strQuestionFile) 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 norecords As Long Dim msgend As Boolean Dim endofWS As Boolean Dim wsmsg As String Dim endofPARTS As Boolean .
Dim partsmsg As String..
Dim endofLABOUR As Boolean Dim labourmsg As String Dim endofSTANDBY As Boolean nW*»* -14Dim standbymsg As String Set Initialisation Variables msgend = False endofWS = True endofPARTS = False endofLABOUR = False endofSTANDBY = False ReadQuestionFilelD = 1 msgstart = 0 norecords = 0 Error Calculations On Error GoTo Readerr If Len(decodedmsg) > 0 Then Read UU Encoded Information Open strQuestionFile For Append As #ReadQuestionFileID Print #ReadQuestionFileID, Print #ReadQuestionFileID, Print #ReadQuestionFileID, decodedmsg Close #ReadQuestionFileID End If Me.StatusBarl.Panels(l).Text = Parsing Message: & strQuestionFile Open strQuestionFile For Input As #ReadQuestionFileID Read Header Do While Not EOF(ReadQuestionFilelD) norecords = norecords + 1 --------- . .1 ' £ ί ·.
' Start Parsing the Start of the Message Line Input #ReadQuestionFileID, strLine If Mid$(strLine, 1, 8) = Reply-Το Or Mid$(strLine, 1, 21) = X-MDaemonDeliver-To: Then ΙΕΟ 7 0 η 9 -15' Read a blank line Line Input #ReadQuestionFileID, strLine msgstart = 1 ' Elself Mid$(strLine, 1, 10) = -----Origi Then ' Me.currmsg.Addltem END OF MESSAGE FILE ' msgend = True ' Now to Parse the Original Message ' Elself 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 parseline(strLine) If Mid$(strLine, 1, 3) = WS: Then endofWS = False wsmsg = strLine ' Keep reading until last 2 chars = chr(13) & chr(10) While Not endofWS Line Input #ReadQuestionFileID, strLine If Mid$ (strLine, 1, 3) = WS: Then wsmsg = wsmsg & Chr( 13) & Chr( 10) & strLine Elself Mid$(strLine, 1, 3) = (Chr(61) & Chr(48) & Chr(48)) Or Call Functions to Generate SOL Statements (e.g. “createwsfile”) Mid$(strLine, 1, 6) = ------ Then »ΕΛ 7 0 14 ί -16endofWS = True ' Now Parse wsmsg Call createwsfile(Me.t_calllogno.Text, wsmsg) Else wsmsg = wsmsg & strLine End If Wend ' MsgBox wsmsg Elself Mid$(strLine, 1,6) = PARTS: Then endofPARTS = False partsmsg = strLine While Not endofPARTS Line Input #ReadQuestionFileID, strLine If Mid$(strLine, 1, 6) = PARTS: Then partsmsg = partsmsg & Chr(13) & Chr(10) & strLine Elself Mid$(strLine, 1, 9) = SUPPLIER: Or Mid$(strLine, 1, 9) = QUANTITY: Then ' ignore it Elself Mid$(strLine, 1, 6) = ------ Then endofPARTS = True ' Now Parse wsmsg Call createpartsfile(Me.t_calllogno.Text, partsmsg) Else partsmsg = partsmsg & strLine Endif Wend Parse Checking Elself Mid$(strLine, 1, 7) = LABOUR: Then endofLABOUR = False labourmsg = strLine ΙΕΟ 7 01 Ο -17While Not endofLABOUR Line Input #ReadQuestionFileID, strLine If Mid$(strLine, 1, 7) = LABOUR: Then labourmsg = labourmsg & Chr( 13) & Chr(10) & strLine Elself Mid$(strLine, 1, 6) - ------ Then endofLABOUR = True ' Now Parse wsmsg Call createlabourfile(Me.t_calllogno.Text, labourmsg) Else labourmsg = labourmsg & strLine End If Wend SQL Statements Note Elself 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(13) & Chr(10) & | & strLine Elself Mid$(strLine, 1, 8) = PROBLEM: Then standbymsg = standbymsg & Chr(13) & Chr(10) & | & strLine Elself Mid$(strLine, 1, 6) = ------ Then endofSTANDBY = True ' Now Parse wsmsg ' Call createlabourfile(Me.t_calllogno.Text, labourmsg) sqlarray = Split(Replaee(standbymsg, ), |) If LDBNAME = cs3cool Then ssql = update dbo.calllog set & _ calldate = & Format(Replace(Mid$(sqlarray(0), 11), Chr(13) & Chr(10),), mm/dd/yy) & ', & _ ΙΕΟ 70 ί Ο -18call_time = ' & Format(Replace(Mid$(sqlarray(0), 11), Chr(13) & Chr(10), ), hh:mm:ss) & _ engineer = ' & Trim(Me.teng.Text) & _ received_by = 'STANDBY', & _ commentsl = ' & Replace(sqlarray(l), Chr(13) & Chr(10), ) & ' + Char(13) + Char(10) + ' & sqlarray(2) & ', & _ calltype = 'CHG' & _ where call_log = & Me.t_calllogno.Text & Else ssql = update dbo._call_log set & _ calldate = ' & Format(Replace(Mid$(sqlarray(0), 11), Chr(13) & Chr(10), ), nun/dd/yy) & ', & _ log time = ' & Format(Replace(Mid$(sqlarray(0), 11), Chr(l 3) & Chr(10), ), hh:mm:ss) & ', & _ engineer = ' & Trim(Me.teng.Text) & & _ receivedby = 'STANDBY', & _ commentsl = ' & Replace(sqlarray(l), Chr(13) & Chr(10), ) & ' + Char(13) + Char(10) + ' & sqlarray(2) & ' , & _ call type = 'CHG' & _ where call_log_no = & Me.t_calllogno.Text & End If Me.sqllist.Addltem ssql ssql = Else standbymsg = standbymsg & strLine End If The SQL Statements are generated by creating a string which is a recogniseable Structured Query Language (SQL) statement that will be processed against the 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 ΙΕΟ 7 9 us -19statement. 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 ( & _ eno sqlarray(O) & _ sqlarray(l) &&_ & sqlarray(2) & _ IIf(Len(sqlarray(3)) = 0, 0, sqlarray(3)) & _ IIf(Len(sqlarray(4)) = 0, 0, sqlarray(4)) & _ & sqlarray(5) & _ & sqlarray(6) & _ & sqlarray(7) & _ The SQL statement that would be generated for some sample tokens using the above would appear as follows: Insert into dbo. xdaparts (pcalllogno, pworksheetno, ppid, ppartcode, pprice, pqty, pdesc, psupplier, potherinfo) values (62431,72312,1,'BULB1',23.22,3, 2Ft Flourescent Bulb,EWB LIGHTING,RED|240V); where the tokens for Call Number was 62431 Worksheet No 72312 Part Item ID 1 PartCode BULB1 Price 23.22 ^“•Quarrtity^·-^·-- . 3. · .. 2Ft Flourescent Bulb EWB LIGHTING Colour was Red, and Rated for 240Volt ΙΕΟ 70 -20Description Supplier Other Info 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 record of when, by whom, and to which call the message was related to. Messages of category a), b), d), e), and f) 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 partstr 1 As String Dim sqlarray Me.t_parts.Clear ssql = ' fname = attachpathname & eno & .pts IEO 7 0 1 4 -21fname = XDASAFE & eno & .pts Me.StatusBarl.Panels(l).Text= Reading Parts: & fname ' Me.sqllist.Addltem delete from dbo.xdaparts where pcalllogno = & eno & On Error GoTo partserr Open fname For Input As #10 ' Open file.
If Not EOF(IO) Then ' Loop until end of file. partstr = partstrl = Line Input #10, partstr' First Line is CALLNO If Not EOF(IO) And Mid$(partstr, 1, 6) = CALLNO Then Line Input #10, partstr' First Line is CALLNO End If Do While Not EOF(IO) Me.t_parts.AddItem partstr If Len(Trim(partstr)) = 0 Then Exit Do End If If Mid$(partstr, 1, 6) = PARTS: Then partstrl = partstr = Mid$(partstr, 7) If Not EOF(IO) Then Line Input #10, partstrl Do While Mid$(partstrl, 1, 6) <> PARTS: Me.t_parts.AddItem partstrl partstr = partstr & partstrl Line Input #10, partstrl If Len(Trim(partstrl)) = 0 Then Exit Do End If Loop sqlarray = Split(partstr, |) ,|0 7 $ ΐ -22partstr = partstrl End If ssql = Insert into dbo.xdaparts (pcalllogno, pworksheetno, ppid, ppartcode, pprice, pqty, pdesc, psupplier, potherinfo) values ( & _ eno & , & _ sqlarray(0) & _ sqlarray(l) & 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.AddItem delete from dbo. xdaparts where pcalllogno = & eno & _ and pworksheetno = ’’ & sqlarray(O) & _ and ppid = & sqlarray(l) & _ Η, It Me.sqllist.AddItem ssql End If Loop End If Close #10 Me.t_parts.Refresh Exit Sub partserr: If Err.Number = 53 Then Exit Sub End If ΙΕυ 7 0 ue -23GOTanERROR = True Me.elog.Addltem Format(Now(), dd/mm/yy) & Format(Now(), hh:mm:ss) & & msgfilename & & READPARTS: & Err.Number & & Err. Description Me.elog.Refresh Resume Next End Sub Responses 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 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.
The invention is not limited to the embodiments described but may be varied in construction and detail.

Claims (1)

Claims
1. 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, 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), ΙΕΟ 70 1 4Ό -25wherein 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. A system as claimed in claim 1, 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 image in an email; 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; 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; wherein each field device (2) comprises means for automatically writing a time stamp to each event record; and 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. A system as claimed in claim 2, wherein the host processor (5) comprises means for triggering an alert notification if current time is earlier than said time stamp; and wherein each field device (2) comprises means for writeprotecting its time clock values; and 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; and wherein the host IEO 7 0 1ο -26processor 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; and 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. A system as claimed in any preceding claim, wherein the host processor (5) comprises means for logging the category of all emails to an audit trail database; and wherein the host communication server comprises means for automatically logging all signature images to an audit trail database before the host processor accesses them; and wherein 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; and wherein a message header is tokenized separately from tokenizing of a message body; and wherein the tokenizing step is performed after recognition of a particular string in the message; and 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. A field service work flow management and communications system substantially as described with reference to the drawings.
IE2007/0146A 2007-03-07 A field service work flow management and communications system IE85118B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
IE2007/0146A IE85118B1 (en) 2007-03-07 A field service work flow management and communications system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
IE2007/0146A IE85118B1 (en) 2007-03-07 A field service work flow management and communications system

Publications (2)

Publication Number Publication Date
IE20070146A1 true IE20070146A1 (en) 2008-09-17
IE85118B1 IE85118B1 (en) 2009-02-04

Family

ID=

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
US20060247983A1 (en) Method and apparatus for displaying processed multimedia and textual content on electronic signage or billboard displays through input from electronic communication networks
CN1316325C (en) Control method for managing permission setting of personal information disclosure, information managing device and service utilizing same
CN105989443A (en) Intelligent-mobile-terminal-based communication line inspection system
CN108334449A (en) A kind of method and apparatus of interface automatic test
US8095608B2 (en) Email wrong transmission preventing apparatus and method
CN106600105B (en) Lean management system and method for dosage data of nuclear power plant
CN105827706A (en) Information push device and method
CN108446143A (en) Event-handling method and device
CN111311200B (en) Management method and device for guest consultation work order platform
CN104994219A (en) Data processing method and system
CN102014354B (en) Short message receipt system and method
CN108881362A (en) A kind of browser platform based on block chain
CN109120613B (en) Communication data monitoring method and system
CN104994220B (en) A kind of data processing method and system
CN114090634A (en) Hotel data management method and device based on data warehouse
IES20070147A2 (en) A field service work flow management and communications system
GB2447279A (en) A field service work flow management and communications system
IE20070146A1 (en) A field service work flow management and communications system
CN110866814A (en) Payment channel management system
CN115277835A (en) Information pushing method and device, storage medium and electronic equipment
CN111200691B (en) Intelligent telephone marketing management system and method
CN114723397A (en) Flow execution method and device

Legal Events

Date Code Title Description
MM4A Patent lapsed