APPARATUS AND THOD FOR MONITORING LIVESTOCK
This invention relates to systems and methods for keeping track of livestock. For example, It may relate to systems and methods for reporting livestock (e.g. sheep or cattle) movements between holdings and/or to systems and methods for reporting any new birth in a cattle herd.
United Kingdom and European Union law requires that livestock keepers report to government details of livestock that move onto and off their premises. For cattle, the law also requires keepers to report the birth and death of stock on their premises.
In the UK, cattle transactions are reported to the British Cattle Movement System. Reports can be made by post or electronically (i.e. over the Internet) using the Cattle Tracing System website or web service. This web service is accessed using special software packages that need to be installed on the keeper's computer. To use the electronic reporting a keeper create the report at the computer with the special software, whereafter it can be sent over the Internet to be validated by the Cattle Tracing System and registered by the British Cattle Movement System. Typically, reports submitted electronically are not validated immediately by the Cattle Tracing System. Keepers must therefore return to their computers at a later date to check the status of their report.
At its most general, the Invention provides a portable terminal for enabling electronic reporting of a status of a keeper's livestock. Electronic reports can be created on location and forwarded e.g. via a server which may put the reports into the correct format to a reporting destination (e.g. government database) Likewise, validation of the report can be communicated to the portable terminal.
The invention may therefore overcome the location constraints found with known electronic livestock monitoring systems. Previously, electronic reporting (and validation receiving) was an office-based procedure, which could be inconvenient for livestock keepers who work outdoors. Moreover, known systems typically involved a double data entry process: noting animal movements on site and then re-entering these movements at the computer for reporting. By providing a portable terminal, the invention allows a single on-site data entry, which can improve the efficiency of electronic reporting.
A further advantage may be that keepers without an office computer may be able to undertake electronic reporting by using the portable terminal with a remote server e.g. operated by a third party.
According to a first aspect of the invention, there may be provided a livestock monitoring system comprising: a server in communication with a reporting destination; a portable client device that is communicable wirelessly with the server to transmit data thereto; and a livestock information library arranged to store transaction event information for livestock animals; wherein the portable client device includes: an input unit arranged to receive input data relating to a livestock event of interest; and a processor arranged to execute software instructions to: match the received input data with transaction event information stored in the livestock information library; and send the matched transaction event information to the server for forwarding to the reporting destination.
Thus, based on data received by the portable device, input of transaction event information e.g. official or complete details about an animal is facilitated to enable that animal to be monitored efficiently.
Typically, livestock monitoring includes recording (and reporting) the transportation of animals between locations and the birth and death of animals. The transaction event information to be reported may therefore contain animal identifiers (e.g. breed, sire tag, herd or flock mark) and location identifiers. Both types of information may be stored in the library and accessible by the portable device. The input matching function of the device may enable data entry to be carried out efficiently.
The server may, on receipt of matched transaction event information from the portable client device, be arranged to execute software instructions to: communicate a monitoring report, which includes the received matched transaction event information, to the reporting destination; and on receiving a validation of the monitoring report from the reporting destination, notify the portable client device of the received validation.
The server may therefore act as an intermediary between the reporting destination (e.g. government database) and the portable device. As mentioned above, this may be useful for livestock keepers who do not have access to a computer connected to the internet. All they may need to perform electronic reporting is the portable client device.
The portable client device may be arranged to create the monitoring report for sending to the server for subsequent forwarding to the reporting destination. The client device may be arranged to format the monitoring report suitably for the server. For example, the portable client device is arranged to employ eXtensible Markup Language (XML) to format the monitoring report, which may be sent over a conventional HTTP internet connection to the server. The connection may be encrypted, e.g. using the standard HTTPS scheme. The report may be encrypted to provide additional security.
Alternatively, the monitoring report (i.e. communication sent to the reporting destination) may be generated at the server using the information sent from the portable client device. This can reduce the processing capability required at the client device, which may be desirable if the client device is to be simple and low cost.
The client device may be arranged to generate a transaction identifier, e.g. unique character string, for the information about a monitored livestock event that is communicated to the server. The transaction identifier may be subsequently used by the server and/or reporting destination to track the reporting of that event, e.g. to form an audit trail.
The client device may also be arranged to process the validation response from the server e.g. to display a message about the status of the report to the user.
The client device may include a memory for storing sent or unsent transaction event information relating to a monitored event. For example, the client device may not be in communication range of the server when data is input. The client device may therefore be arranged to save the information in the memory e.g. so that it can be sent, amended or reviewed later.
The livestock information library may include a local memory in the portable client device, and the processor may be arranged to execute software instructions to search for transaction event information in the local memory which matches input data received at the input unit. Matching of the input data to transaction event information may therefore occur locally. However, the local memory may not hold all relevant information or it may not be desirable for the portable device to store information. The livestock information library may include a remote memory e.g. in the server, and the processor may be arranged to execute software instructions to send to the server a request for the server to search the remote memory for transaction event information which matches input data received at the input unit. Where there is both a local and a remote memory, the processor may be arranged to send a request for the remote memory to be searched if a search of the local memory does not find transaction event information that matches the input data.
The input unit may be adapted to receive input data in any convenient way. For example, the input unit may include an alphanumeric keypad for a user to enter characters manually. The keypad may be based on a mobile phone number pad, with each key being capable of representing a plurality of characters, with the desired character being selected by pressing the relevant key a corresponding number of times. Other types of alphanumeric keypad may be used.
The livestock information library may include a favourites memory arranged to store transaction event information that is customised for a user. In this case, the processor may be arranged to execute software instructions to generate a list of one or more data entries from the favourites memory based on characters entered on the alphanumeric keypad, and the input unit may be arranged to permit a user to select a data entry from the generated list of data entries, thereby matching transaction event information with the input data. The generated list may be created using a predictive' algorithm in combination with the stored data entries.
The input unit may include a navigation key or keys (or a joystick, trackball or the like) and a select key or key for navigating through the generated list and selecting a desired data entry.
The data entries stored in the favourites memory or indeed all of the transaction event information stored in the local memory may be selected to reflect the nature of the keeper's business. For example, they may include breeds of livestock which the keeper owns and locations which may be used by that keeper.
The contents of the favourites memory may be downloadable from the server. The server may include a database which is the remote memory of the livestock information library. The remote memory may be a complete record of the information (e.g. transaction event information) that is recognised by the reporting destination. The processor in the client device may therefore be arranged to execute software instructions to request the server to send transaction event information from the database as data entries to populate the favourites memory.
The use of a favourites memory and predictive' text functionality can make efficient manual data entry into the input unit by providing a means of precisely specifying transaction event information in the library if only part of that information is input.
In one embodiment, the input unit may be arranged to receive information from a radio frequency identification (RFID) element that is associated with a livestock animal. The RFID element may be an ear tag or a ruminal bolus. The input unit may be arranged to detect directly or indirectly a signal emitted by the RFID element if it is excited by an electromagnetic field. The portable client device may be separate from an RFID reader, but may be communicable wirelessly therewith to receive information from a RFID element that is read by the reader. For example, the input unit may be arranged to receive data from the RFID element reader via a wireless data connection (e.g. Bluetooth� or the like) . With this arrangement manual entry of animal tag details may be unnecessary. This embodiment may also use the favourites memory feature discussed above, and may be provided together with a manual data entry capability.
In one embodiment the portable client device is a mobile telephone. Typically, mobile telephones have a built-in processor and memory; the software instructions of the invention may be adapted to make them suitable for execution on a mobile telephone.
In some situations, the location of livestock may not be in range of a wireless data communication network.
The portable client device may therefore be arranged to save the matched transaction event information in a memory if a communication link with the server is not established. The processor may be arranged to prompt the user to send the saved information or to automatically send the saved information when a communication link is next established. Thus, electronic reporting can be undertaken even if there is no network coverage at a livestock location.
As mentioned above, the transaction event information for livestock animals may include any of animal location, animal breed, sire tag and herd or flock mark.
A second aspect of the invention may provide portable data communication device that is wirelessly communicable with a remote server, the communication device comprising: a livestock information library arranged to store transaction event information for livestock animals; an input unit arranged to receive input data relating to a livestock event of interest; a display arranged to show the input data; and a processor arranged to execute software instructions to: match the received input data with transaction event information stored in the livestock information library; and send the matched transaction event information to the server.
Features described above with respect to the first aspect may also be applicable to the second aspect. For example, the portable data communication device may be a mobile telephone.
The display may be arranged to show the matched transaction event information before it is sent to the server. The processor may be arranged to prompt a user to confirm (e.g. using the input unit) that the information shown on the display is what is to be sent.
As described above with respect to the first aspect, the portable data communication device may include a favourites memory arranged to store transaction event information that is customised for a user, wherein the processor is arranged to execute software instructions to: generate a list of one or more data entries from the favourites memory based on characters entered on the alphanumeric keypad; and show the generated list on the display; and wherein the input unit is arranged to permit a user to select a data entry from the generated list to thereby match transaction event information to the input data. The device may be arranged to selectively download data entries into the favourites memory from a database on the remote server.
A further aspect of the invention may be a computer program product having stored thereon computer executable instructions which when executable can cause a computer to run a livestock monitoring application having any of the features discussed herein.
Examples of the invention are described in detail below in conjunction with the accompanying drawings, in which: Fig. 1 is a schematic diagram of a livestock monitoring system that is an embodiment of the invention; Fig. 2 is a block diagram showing the internal configuration of a portable client device that is an embodiment of the invention; Fig. 3 is a picture of a mobile telephone showing on its display a main menu for a livestock monitoring application that is an embodiment of the invention running on the mobile telephone; Fig. 4 is a picture of the mobile telephone of Fig. 3 with a cattle movements submenu shown on its display; Fig. 5 is a picture of the mobile telephone of Fig. 3 with an off movement data entry screen shown on its display; Fig. 6 is a picture of the mobile telephone of Fig. 3 with a holding drop down menu shown on its display; Fig. 7 is a picture of the mobile telephone of Fig. 3 with a tag input screen shown on its display; Fig. 8 is a picture of the mobile telephone of Fig. 3 with a confirmed sending screen shown on its display; Fig. 9 is a flow diagram which shows schematically menu screens displayable when sending livestock movements from a portable client device running a livestock monitoring application that is an embodiment of the invention; Fig. 10 is a flow diagram which shows schematically menu screens displayable when an off movement is input to a portable client device running a livestock monitoring application that is an embodiment of the invention; Fig. 11 is a flow chart which shows schematically menu screens displayable when livestock data is being input to a portable client device running a livestock monitoring application that is an embodiment of the invention; Fig. 12 is a flow chart which shows schematically menu screens displayable when sent details of livestock movements are viewed on a portable client device running a livestock monitoring application that is an embodiment of the invention; Fig. 13 is a flow chart which shows schematically menu screens displayable when a sheep movement is registered on a portable client device running a livestock monitoring application that is an embodiment of the invention; Fig. 14 is a flow chart which shows schematically menu screens displayable when a livestock birth is registered on a portable client device running a livestock monitoring application that is an embodiment of the invention; Fig. 15 is a flow chart which shows schematically menu screens displayable during configuration of settings for a livestock monitoring application that is an embodiment of the invention running on a portable client device; and Fig. 16 is a flow chart which shows schematically menu screens displayable when EID read and library lookup function is undertaken on a portable client device running a livestock monitoring application that is an embodiment of the invention.
Fig. 1 shows a livestock monitoring system 100 that is an embodiment of the invention. The system 100 includes a portable client device 104 which is communicable with a server 106 over a wireless network connection 112. An embodiment of the portable client device 104 is described in more detail below in conjunction with Fig. 2. In general the portable client device 104 may include any portable computing device capable of receiving and sending a message over a network. For example the portable client device 104 may be a mobile (cellular) telephone, Personal Digital Assistant (PDA), laptop computer or the like.
The mobile device 104 may include a web-enabled livestock monitoring application that is configured to send and receive messages via the wireless network connection 112. The livestock monitoring application may be configured to receive and display graphics, text and the like. In one embodiment, the application is arranged to generate and process report documents, which include the transaction event information and which may be exchanged between the client device, server and reporting destination. Each monitored event may have a report document associated therewith. The report document may be composed in any suitable form, e.g. Extensible Mark-up Language (XML) The server 106 may be any suitable computing device capable of communicating over a network to send and receive information. For secure communication with the reporting destination, the server may have a secure interface with the internet and a fixed internet (IP) address.
The wireless communication 112 between the portable client device 104 and server 106 may be provided by any suitable wireless network. For example, it may be provided by a wireless local area network (WLAN) or using a mobile telephone network (e.g. using a second (2G) or third (3G) generation radio access for mobile devices) As shown in Fig. 1, the server 106 is connected (by wires or wirelessly) via a further network 108 to a central reporting database 110. In the embodiment, the database 110 may be the UK Government's Cattle Tracing System. The network 108 between the server 106 and database 110 may include the internet and/or further local area networks and/or wide area networks.
The livestock monitoring system 100 shown in Fig. 1 also includes an electronic identification (EILJ) reader 102 which is communicable with the portable client device 104 e.g. via a wireless (Bluetooth) connection 114. Thus, information read by EID reader 102, for example livestock identification numbers read from radio frequency identification (REID) tags, can be passed wirelessly to the portable client device 104 electronically, thereby avoiding a need for manual data input. The communication between the portable client device 104 and EID reader 102 need not be wireless. The EID reader 102 may be any device suitable for exciting and registering information from electronic tags which is capable of transmitting that information electronically to another computing device. In another embodiment, the reading function of the EID reader may be incorporated into the portable client device 104.
In use, the livestock monitoring system in Fig. 1 provides a means of reporting a livestock event on location. The portable client device 104 is arranged to execute a livestock monitoring application which enables a livestock keeper (a user) to input livestock information relevant to a livestock event. For example, the livestock information may include information identifying the type and location of a livestock event and the details of livestock animals involved. The input may be manual e.g. using physical data entry means on the portable client device or automatic, e.g. receiving information from the EID reader 102. Details of how information is input are explained below.
The input information can be forwarded e.g. as a livestock event report to the server 106, which in turn is able to forward it in a suitable format to the central database 110. The server 106 therefore acts as an intermediary between the portable client device 104 and the central database 110. This can enable the portable client device 104 to be "out of range" of the server 106 without the risk of communications being lost, since unsent data can be stored either at the server 106 or the portable client device 104 for sending when these devices are next in range of one another.
Confirmation (e.g. validation) information from the central database 110 can likewise be communicated to the portable client device 104 via the server 106. A user therefore need not return to a static computer to find out information about a reported livestock event.
Fig. 2 shows an embodiment of a portable client device 200 that can be used in an embodiment of the invention. In this embodiment, the portable client device 200 is a mobile (cellular) telephone.
The client device 200 includes a processing unit (CPU) 222 in communication with a memory 236 via a data communication bus 224. The client device 200 includes a power supply 226, which is preferably a portable source of power, e.g. a rechargeable or non-rechargeable battery. The client device 200 may also be adapted to connect to an external power source, e.g. an AC adaptor, which may be arranged to recharge a battery. The client device 200 also includes one or more network interfaces 228, a display 230, and a keypad 232 and input/output interface 234 which may function as a user input unit.
The network interface 228 is arranged to connect the portable client device 200 to one or more networks, and may be constructed for use with any suitable communication protocol. The display 230 may be a liquid crystal display (LCD) or any other type of display that can be used with a computing device. The display 230 may also form part of the user input unit by comprising a touch sensitive screen.
The input/output interface 234 can be arranged to communicate with other external devices, such as an electronic identification (EID) reader (e.g. reader 102 shown in Fig. 1) . Input/output interface 234 may use any suitable communication technology. In one embodiment it is a Bluetooth connection.
The memory 236 in the client device 200 may comprise a RA14 242 and a RON 240. The memory 236 is arranged to store information such as computer executable instructions, data structures and the like. The ROM 240 may store a basic input/output (BIOS) 238 for controlling low-level operation of the portable client device 200.
The RAM 242 may store an operating system 244 for controlling the general operation of the client device 200. Conventional cellular telephone operating systems may be used.
The RAM 242 may also store applications 248 which run on the operating system. One such application may be the livestock monitoring application discussed above.
The RAM 242 may also include a general data storage region 246 which is arranged to store information for use with the applications 248. For example, the data storage region 246 may store unsent cattle movements and/or a list of favourites and/or a livestock information library, as discussed below.
Referring back to Fig. 1, if portable client device is used as the portable client device 104 in the livestock monitoring system 100 illustrated therein, it is configured to receive information from the server 106 over wireless network connection 112 via network interface 228 and to receive information from the EID reader 102 via wireless connection 114 via input/output interface 234.
The above description is of a suitable operating
environment for the invention. An example of how the livestock monitoring application of the invention may operate in practice on the portable client device is discussed below with respect to Figs. 3 to 16.
Figs. 3 to 8 show a front view of a mobile (cellular) telephone 300 which is operating as a portable client device in an embodiment of the invention. The mobile telephone 300 has an LCD display 302 which shows menu or status screens of a livestock monitoring application which runs on the mobile telephone 300.
These screens are discussed below. A joystick 304 and cursor keys 306 form part of a input unit to enable a user to navigate around the menu screens. An alphanumeric keypad 308 forms a further part of the input unit to enable a user to enter information for use in the livestock monitoring application (see e.g. Fig. 7) The livestock monitoring application described herein permits a user to input information relating to livestock into the mobile telephone 300 so that it can be transmitted wirelessly to a remote server for reporting to a final destination, which may be a central database in connection with the remote server e.g. via an internet connection.
Fig. 3 shows a screen shot of a main menu for the livestock monitoring application. In this embodiment there are three main events 310 which can be monitored: cattle movement; sheep movement and animal birth. The main menu also contains a connect option 312 for wirelessly connecting the mobile telephone to an EID reader e.g. via a Bluetooth connection and a configure option 314 for selecting various settings for the application. Each option is discussed below. A user can navigate a highlight portion (shown highlighting the cattle movement option in Fig. 3) using the joystick 304 or cursor keys 306 to highlight a desired option. To enter the submenu for a desired option, the user can push the select key 305 when the desired option is highlighted. To exit the application, the user may select the option key 307 marked Exit.
The first option -cattle movements -is discussed with reference to Figs. 4 to 12. Fig. 4 shows the submenu 316 that is displayed when the cattle movements option is selected from the main menu screen. The submenu 316 has four selectable options: new off movement 317, new or-i movement 318, view unsent movements 319 and view sent movements 320. These options can be navigated and selected using the joystick 304 and cursor keys 306 as described above. To return to the main menu, the option key 307 marked Back may be selected.
The off movement option 317 and on movement option 318 are similar to one another. When these options are selected, a user can input to the mobile telephone 300 information about the date and location where cattle are moved to and/or from. Information about the specific animals that are moved can also be recorded using the mobile telephone so that the movements of those animals can be formally reported.
Fig. 5 shown an off movement data entry screen 322 which is displayed when the new off movement option 317 is selected from submenu 316. The off movement data entry screen 322 has four input fields: date field 323, from holding field 324, to holding field 325 and animal
list field 326. These options can be navigated and
selected using the joystick 304 and cursor keys 306 as described above. A user can exit the off movement data entry screen 322 without saving any data by selecting the option key 307 marked Cancel.
The date field 323 is                                                                     for recording the date of the cattle movement. It may be programmed to display a default date, e.g. the date on which the data entry screen 322 is accessed. The from holding field 324 and to holding field 325 have drop down markers 327 which indicate that selecting those options will take the user to a drop down menu from which the input for that field can be selected. A drop down menu 328 for the to holding
field 325 is shown in Fig. 6. These options can be
navigated and selected using the joystick 304 and cursor keys 306 as described above. To return to the off movement data entry screen 322, the option key 307 marked Back may be selected. The contents of this drop down menu 328 may be stored as a list of favourites in the memory of the mobile telephone 300. The list of favourites may be tailored by a user as described below.
Having the drop down menu enables quicker data entry (it avoids the need for the user to physically enter each character of a holding name) and can ensure that consistent labels are used across the application, which is desirable for formal reporting. In another embodiment, the favourites menu may be implemented as a set of suggestions in a predictive text module, similar to those used for SMS messaging. A user could manually enter the first few characters of the holding and then choose the desired complete name from a drop down list of suggestions.
Fig. 7 shows an animal data entry screen 330 which is displayed by the mobile telephone 300 when the animal field list 326 is selected on the off movement data entry screen 322. The animal data entry screen has four main components: a tag prefix (e.g. herd mark) field 331, an tag number field 332, an add animal option 333 and a display list of added animal identifiers 334. These options can be navigated and selected using the joystick 304 and cursor keys 306 as described above. A user can clear the fields on the animal data entry screen 330 by selecting the option key 307 marked Clear.
The tag prefix field 331 has a drop down marker 335 and selecting it may take the user to a drop down menu (not shown) similar to those used for the to and from holdings so that the user can select the desired tag
prefix. The tag number field 332 is configured to
receive numerical data input from the keypad 308 or from a remote EID reader via a Bluetooth connection (see below) . Where manual entry is used, a favourites menu may be implemented as a set of suggestions in a predictive text module, such that a user need only enter the significant numbers of a tag before being able to choose the desired complete tag number from a drop down list of suggestions. When the tag prefix field 331 and the tag number field 332 shown the desired information, the user may select the add animal option 333 to transfer that information to the display list 334, which is stored in the memory of the mobile telephone 300.
When the list of animal identifiers shown in display list 334 is complete, a user may send the cattle movement to the server via a wireless communication channel or, if the mobile telephone is out of range of a suitable communication signal, save the cattle movement in the memory of the mobile telephone 300. The send/save instruction may be undertaken by selecting an option key marked Options in Fig. 7 and then selecting a send/save option (discussed below with respect to Fig. 10) . Fig. 8 shows a confirmation screen 338 that is displayed if the send/save option is selected. This screen seeks confirmation that the user wishes to proceed with the send/save as a backup to prevent records being sent in error.
In this embodiment, the cattle movement input data is saved as an XML document both in the volatile working memory (e.g. RAM) of the device and in the non-volatile memory for later retrieval. To send this data to the server, the client device is arranged to serialize the data into a stream of characters for transmission over the network. Likewise, transmissions received from the server will be deserialized to convert a stream of characters into an XML document in memory. An example of a XML document is given below: <?xml version="l.O" encoding="tJTF-8" ?> <MobileStockMove> <Auth> <User>username</rJser> <Pass>userpassword</Pass> <SoftVer>l.2</Softver> </Auth> <RegMove type="request" action="CTS"> <Move> <Txnld> 2007-01-23T09:30</Txnld> <Type>On</Type> <MoveDate>2007-01-31</MoveDate> <FrmCPH>1232</FrmCPH> <ToCPH>1232</ToCPH> <Spe>l</Spe> <Total>2</Total> <MoveAn im> <Tag>EJK123456 600789</Tag> <Eid>64444445545454</Ejd> </MoveAnim> <MoveAnim> <Tag>UK123456 600783</Tag> <Eid>64444445545435</Ejd> </MoveAn im> </Move> </RegMove> </MobileStockMove> Returning to the other options shown on submenu 316 in Fig. 4, the on movement option 318 functions in the same way as the off movement option 317. Fig. 9 shows schematically a flow chart of screens 400, 403, 406 which may be displayed on the mobile telephone 300 if the view unsent movements option 319 is selected. In this embodiment, a view unsent movement screen 400 identifies the number on movements that have been saved e.g. because the mobile telephone 300 was out of communication range with the server. The unsent movements can be sent by selecting the Send All option 402, or the user can return to the submenu 316 by selecting the Back option 404. As shown in Fig. 9, if the Send All option 402 is selected, status screen 403 is displayed. For each successfully sent movement, an authorisation code 405 is returned by the server. This code is displayed to the user on confirmation screen 406 and saved in the memory linked to its relevant movement. The livestock monitoring application then causes the movement to appear in the list of sent movements, which can be viewed by selecting the view sent movements option 320 from submenu 316 shown in Fig. 4.
Fig. 10 shows schematically a flow chart of screens 410, 412, 414 which may be displayed when the new off movement option 317 is selected from submenu 316. Fig. shows a off movement data entry screen 410 which corresponds to off movement data entry screen 322 shown in Fig. 5 except that it also includes a save/send option 411. when the desired animals have been added using this screen as described above, the user may select the save/send option 411, whereby a confirmation screen 412 (corresponding to confirmation screen 338 shown in Fig. 8) is displayed. An options screen 412 is displayed if the Options option 413 is selected on off movement data entry screen 410. The options screen 412 comprises a menu comprising an Add Animal option 415, a Save/Send Movement option 416, a Clear option 417 and a Help option 418. These options can be navigated and selected using the joystick 304 and cursor keys 306 as described above.
The Add Animal option 415 and the Save/Send Movement option 416 correspond to the similarly title options 411, 419 presented on the off movement data entry screen 410.
The Clear option 417 can delete all entered information for the current movement and the Help option 418 can activate a help applet on the mobile telephone to assist the user.
Fig. 11 shows schematically a flow chart of screens 420, 422 which may be displayed when the add animal option 419 is selected from off movement data entry screen 410. Fig. 11 shows a animal data entry screen 420 which corresponds to animal data entry screen 330 shown in Fig. 7. Similar features are given the same reference number to prevent repetition. An options screen 422 is displayed if the Options option 421 is selected on animal data entry screen 420. The options screen 422 comprises a menu comprising an Add Animal option 415, a Save/Send Movement option 416 (discussed above), a Connect to Reader option 423, a Delete All option 424 and a Help option 425. These options can be navigated and selected using the joystick 304 and cursor keys 306 as described above. The Delete All option 424 can delete all the entered animal information for the current movement (i.e. clear display list 334) and the Help option 425 can activate a help applet on the mobile telephone to assist the user. The Connect to Reader option is discussed below with respect to Fig. 16.
Fig. 12 shows schematically a flow chart of screens 430, 432, 434, 436 which may be displayed when the view sent movements option 320 is selected from submenu 316 in Fig. 4. Fig. 12 shows a display list screen 430 which displays a list of each movement that has been successfully sent by the mobile telephone. An entry 431 on the list is given by way of example. The entry includes the date, to holding and from holding of the movement. The number of animals included in the movement is displayed in brackets. Entries on the display list can be navigated and selected using the joystick 304 and cursor keys 306 as described above. An entry can be selected directly by highlighting it and selecting the Select option 433 or indirectly by selecting the Options option 435, which causes options screen 432 to be displayed, and then selecting the Select option 437. The options screen 432 also displays a Delete option 438 and a Delete All option 439 for removing one or all of the entries displayed on the display list screen 430. When an entry is selected, a movement details screen 434 is displayed. The movement details screen 434 comprises details of the movement sent to the server together with the authorisation code 405 received from the server as discussed above. The movement details screen 434 include a View Animals option 429 which, when selected, may cause animal details screen 436 to be displayed. The animal details screen 436 displays a list 428 of the animal tag identifiers that were entered on the mobile telephone.
The animal details screen 436 includes a Back option 427 for returning to the movement details screen 434. The information presented in the screens 430, 432, 434 and 436 is in read-only format so that details that have been sent to the server cannot be altered at the mobile telephone.
As mentioned above, the client device may also be arranged to receive validation information from the reporting destination (e.g. Cattle Tracing System) via the server. Thus, in one embodiment, after a cattle movement is sent to the server it is saved on the client device as an unvalidated movement. All unvalidated movements may be displayed by selecting a suitably titled option (not shown) from the cattle movements submenu 316.
The application may include an option to validate displayed unvalidated movements. If such an option is selected, the client device is arranged to request validation information relating to a movement (e.g. using the movement's unique authorisation number) from the server, which will have received that information from the reporting destination in response to the sent movement. The validation information may indicate that the movement was successfully registered or may identify errors, e.g. particular animals which could not be registered properly, to enable a user to take remedial action if necessary.
The validation information may be automatically forwarded (e.g. pushed') from the server to the client device.
Validation information may be available for all types of monitored livestock events, such as sheep movements of birth registrations discussed below.
The above discussion relates to the cattle movements option from the main menu 310. The sheep movements option operates in a similar manner; to avoid repetition only the differences are discussed below.
Fig. 13 shows schematically a flow chart of screens 440, 441, 442 which may be displayed when a new off movement is selected from a submenu accessed when the sheep movement option is selected from the main menu.
Fig. 13 shows an off movement data entry screen 440 which is configured in a similar way to the off movement data entry screen 322 for cattle described above. The off movement data entry screen 440 for sheep includes a movement date field 443, a from holding field 444, a to holding field 445, an animal number field 446, a lot number field 447, a description field 448, a flock mark field 449 and a save/send option 450. As before, these options can be navigated and selected using the joystick 304 and cursor keys 306.
The date field 443 and from and to holding fields
444, 445 may operate in the same way as the corresponding fields described above. The animal number field 446 may be configured to receive a numerical input from the keypad. The lot number 447 may be likewise configured to receive a manual entered input or it could be linked to a favourites list in the memory used predictive character technology or a drop down list. The flock mark field 449 includes a drop down marker 451, which may indicate that selecting this field may display a drop down menu (not shown) similar to those used for the to and from holdings so that the user can select the desired flock mark. As before, this implementation is preferred where the format of the information is important for formal reporting. If the save/send option 450 is selected, a confirmation screen 442 is displayed as discussed above. Even if the mobile telephone is in within range to communicate with the server the user can choose to save the movement by selecting not to send from confirmation screen 442. The off movement data entry screen 440 also includes an Options option 452, which when selected causes options screen 441 to be displayed. The options screen 441 displays a Save/Send Movement option 453 that corresponds to the save/send option 450, a Clear option 454 for deleting all entered information for the current movement and a Help option 455 for activating a help applet on the mobile telephone to assist the user.
Fig. 14 shows schematically a flow chart of screens 460, 461, 462, 463, 464, 465 which may be displayed when the register birth option from the main menu shown in Fig. 3 is selected. Fig. 14 shows an submenu screen 440 which comprises a register new birth option 466, a view unsent births option 467 and a view sent births option 468. As before, these options can be navigated and selected using the joystick 304 and cursor keys 306.
When the register new birth option 466 is selected, a new birth data entry screen 461 is displayed. The new birth data entry screen 461 includes a birth date field 469, a birth holding field 470, a dam tag prefix field 471, a dam tag number field 472, a read dam EID option 473, a sire tag field 474, a calf tag prefix field 475, a calf tag number field 476, a read calf EID option 477, a calf sex field 478, a calf breed field 479, a save/send option 480 and an Options option 481. The date field 469 and holding field 470 may be configured in the same way as corresponding fields discussed above. Likewise, the fields 471, 472, 475, 476 for entering tag information (herd prefix and tag number) for the dam and calf may be configured as discussed above. However, an alternative data input source is provided in this embodiment by the read EID options 473, 477. These are discussed in detail below. The sire tag field 474 may comprise a drop down menu for the entire tag information because it is feasible to have a favourites menu for suitable animals.
Likewise, the calf sex and breed fields 478, 479 may be implemented using drop down menus as discussed above.
When the Options option 481 is selected, an options screen 462 is displayed. The options screen comprises a Save/Send option 482, a Clear option 483 and a Help option 484. The Clear option 483 can delete all entered information for the current birth and the Help option 484 can activate a help applet on the mobile telephone to assist the user. Selecting either the Save/Send option 482 from the options screen 462 or the save/send option 480 from the new birth data entry screen 461 causes a confirmation screen 463 to be displayed. If the mobile telephone is not able to communicate with the server or the user chooses not to send the birth, the details are saved in the memory of the mobile telephone and the application is arranged to create a suitable entry in an unsent births display list 485.
The unsent births display list 485 can be viewed by selecting the view unsent births option 467 from submenu 460. This selection causes unsent births screen 464 to be displayed. The unsent births display list 485 comprises an entry for each unsent birth; each entry includes the birth date and dam tag identification. Each entry can be selected (e.g. using Select option 487) to display the details or sent to the server. An options screen 465 is displayed if an Options option 486 is selected.
Fig. 15 shows schematically a flow chart of screens 500, 501, 502, 503, 504, 505, 506, 507 which may be displayed when the settings option from the main menu shown in Fig. 3 is selected. Fig. 15 shows an subrnenu screen 500 which comprises a configure reader option 508, a fetch favourites option 509 and a view favourites option 510. As before, these options can be navigated and selected using the joystick 304 and cursor keys 306.
A device display screen 501 may be displayed when the configure reader option 508 is selected from submenu screen 500. The device display screen comprises a device list 511 which shows a list of known or available devices which can communicate with the client device e.g. via the inpiit-output interface 234 shown in Fig. 2, which may be embodied as a Bluetooth connection on the mobile telephone shown in Figs. 3 to 8. To connect to and configure a reader on the list, a user may highlight the relevant entry on device list 511 and select the Select option 512. Selecting a Back option 513 returns to the submenu 500 and selecting an Options option 514 causes options screen 502 to be displayed. The options screen 502 comprises a Refresh List option 515 and a Help option 516. Selecting the Refresh List option 515 causes the client device to update the device list 511 e.g. by searching for other available devices. Selecting the Help option 516 can activate a help applet on the mobile telephone to assist the user When a reader is connected and configured using the above procedure, it may be available as a means for inputting data to the client device, e.g. tag information for fields 471, 472, 475, 476 in Fig. 14. As discussed below, information received from the EID reader (e.g. via a Bluetooth connection) may be used to look up a suitable (i.e. matching) data entry stored in the memory (either in the client device or server) for the relevant field.
In this way, it can be ensured that the data entry has the correct format; the user is not required to know the correct format and the chance for human error is reduced.
As discussed above, various data input fields have a drop down marker which indicates that a data entry for that field can be selected from a list of favourites.
The memory in the client device may therefore store a plurality of favourites lists, each list corresponding to a particular data input field. The lists may be pre-stored in the memory of the client device. In another embodiment, the lists may be managed by the user. For example, the user may be able to customise the favourites s lists e.g. at the server, and then download the custornised lists on to the client device. The fetch favourites option 509 on submenu 500 is for this purpose.
When the fetch favourites option 509 is selected, a confirm fetch screen 503 is displayed for the user to confirm whether or not the existing favourites stored on the client device are to be replaced or overwritten with lists available for download from the server. If the fetch is confirmed, a download status screen 504 is displayed. If new information is successfully fetched, a download result screen 505 is displayed to inform the user of the result of the download operation.
The lists of favourites that are stored on the mobile telephone can be viewed using the view favourites option 510. Selecting the view favourites option 510 causes a favourites list screen 506 to be displayed. The favourites list screen 506 comprises a favourites menu 517 with an entry for each of the favourites lists. When an entry is selected from the favourites menu 517, a favourites display screen 507 is displayed, which comprises a list 518 of the entries in the selected favourites list.
Fig. 16 shows schematically a flow chart of screens 520, 521, 522, 523, 524 which may be displayed when the client device seeks input from an external EID reader, e.g. via a Bluetooth connection. For example, these screens may be displayed when the read dam EID option 473 or read calf EID option 477 are selected from the new birth data entry screen 461 shown in Fig. 14.
There are two steps in this method of data input: obtaining information from the EID reader and using that information to lookup a suitably formatted entry for the relevant field from a livestock information library. The livestock information library can be stored on the client device or server device or can be spread between them.
The library is arranged to match information received from an EID reader with livestock transaction event information that is suitable for entry into the relevant
field in the data entry screen of the livestock
monitoring application.
Thus, when the user instructs the client device to obtain data from the EID reader, e.g. by selecting the read dam EID option 473 from new birth entry screen 461, a read status screen 520 is displayed to indicate the progress in receiving information from the EID reader.
When the information has been received, the livestock monitoring application automatically moves to the lookup function. In this embodiment, the livestock information library comprises a library subsection stored in the memory of the client device and a library main section stored in a memory in the server. Having a library subsection locally can improve lookup speed and means that it is not necessary to be in communication range of the server when the reading is taken. The first step of the look up function is to search for livestock transaction event information which matches the received information in the library subsection (i.e. searching locally) . A local search screen 521 is displayed while this search takes place. If a result is found, the user is returned to the relevant data screen and with the
found result entered into the relevant data field.
If no result is found locally, a remote search request screen 522 is displayed. The user can choose whether or not to search the library main section (on the remote server) for the livestock transaction event information by selecting the Yes option 525 or Yes to All option 526. If the client device is not in communication range of the server, the remote search may not be possible. If the Yes option 525 or Yes to All option 526 is selected, a search for livestock transaction event information which matches the received information in the library main section (i.e. searching remotely) is undertaken. A remote search screen 523 is displayed while this search takes place. If a result is found, the user is returned to the relevant data screen and with the
found result entered into the relevant data field.
If no result is found, a tag lookup fail screen 524 is displayed, which requests the user to enter the transaction event information manually, e.g. using the keypad mentioned above.