United States Patent Application20020158765
Kind CodeA1
Pape, William R. ; et al.October 31, 2002

Method and system for livestock data collection and management
Abstract
An efficient method and apparatus for livestock data collection and management is described to provide quality assurance source verification data and performance tracking for individual animals throughout the production cycle. Individual animal data is efficiently collected, transferred, and shared in a transactional, event-oriented, row-oriented structure with few columns without need for creating relational structures. The BeefLink.TM. software includes components for data collection and real-time data lookup components; share, switch, route, and interface components; extract, transform, and load components; and report and analyze data components. Embodiments include data acquisition from multiple RFID reader locations; a web-based information system for a beef marketing alliance; value-based procurement, and supply chain management.

Inventors:Pape; William R. (Los Ojos, MN), Morrison; Matt  (Johnstown, CO), Dolan; Andrew J.  (Arvada, CO), Curkendall; Leland D.  (Cheyenne, WY), Armentrout; Olin Mark  (Alpharetta, GA)
Correspondence Name and Address:10805 Mellow Lane
Rick B. Yeager
Austin
TX
78759
US
Series Code:073485
Filed:February 11, 2002
U.S. Current Class:340/573.3; 340/539; 340/531; 340/572.1
U.S. Class at Publication:340/573.3; 340/539; 340/531; 340/572.1
Intern'l Class:G08B 023/00

Claims


What is claimed is:
1. A portable, hand-held, radio frequency identification reader for collecting livestock information comprising: a housing enclosing a radio frequency identification antenna, radio frequency identification circuitry, radio frequency data communications circuitry, and a power supply, such that the power supply is connected to the radio frequency identification circuitry and to the radio frequency data communications circuitry, the antenna is connected to the radio frequency identification circuitry, such that the antenna may capture a radio frequency signal from a radio frequency identification transponder and communicate the signal to the radio frequency identification circuitry, the radio frequency identification circuitry may interpret the signal and identify the transponder and communicate the identification to the radio frequency data communications circuitry, a radio frequency data communications antenna, such that the transponder identification may broadcast through the antenna; an indicator light means to indicate when the reader is within acceptable range of a radio frequency communications receiver.transmitter; and a switch integral to the housing such that the switch activates the radio frequency identification circuitry.

2. A method for collecting livestock information comprising: identifying each animal with a unique identifier selected from the group consisting of radio frequency identification (RFID) transponder, such that the transponder provides a unique code when queried by a radio frequency identification reader unit, and that code identifies a particular animal, barcode, such that the barcode provides a unique code when queried by a bar code reader unit, and that code identifies a particular animal, unique biological characteristics including DNA, retinal scans, and iris scans, and a visual identification device such as an ear tag that can subsequently be related to an RFID code, a barcode, or a unique biological characteristic; determining the animal unique identifier at the time of a key animal event; uploading the animal unique identifier to an event database on a host computer; entering at least a portion of the data associated with the key animal event to the computer; and maintaining on at least one computer a database of events and measurement data for the animal, such that the data can be accessed according to the animal's unique identifier.

3. A method of entering event data common to a group of individual animals into a database, the method comprising individually identifying the animals in the group; specifying a regimen to be applied to the group by predefining, before the entry of the event data into the database, at least one regimen event common to the animals in the group, and predefining an event detail to be associated with each event in the regimen; identifying the regimen with an identifier; associating the event identifier with individual animals at the time of processing the animals; and recording into the database, for each animal, each event and event detail in the regimen.

4. The method of claim 3 comprising predefining a scan event as a regimen event; prompting, at the time of processing an animal, a user to identify a specific event, such as vaccinating with a particular type of vaccine; accepting the specific event; prompting the user to identify a specific event detail, such as vaccination dosage, associated with the specific event; accepting the event detail; and recording into the database the specific event and the event detail provided by the user.

5. The method of claim 4 wherein accepting the specific event comprises selecting, by the user, an event from a plurality of possible events for the regimen; and entering an event detail by scanning a detail value from a plurality of possible event details associated with the event.

6. The method of claim 3 further comprising overriding the entry of regimen events and details for an animal.

7. A wireless livestock data collection system comprising a host computer with data collection software; a base station connected to the host computer; a means for unique animal identification; a plurality of unique animal identification readers in wireless communication with the base station; and a plurality of data measurement devices in wireless communication with the base station.

8. The wireless livestock data collection system of claim 7 wherein the base station includes a global positioning system device.

9. A computer implemented method for identifying, tracking and monitoring livestock, comprising: inputting an animal unique code for an animal; capturing at least one event and detail attribute associated with the animal unique code at a first time and a first place, and storing that data on a first transaction database; capturing at least one event and detail attribute associated with the animal unique code at a second time and a second place, and storing that data on a second transaction database; running queries that identify individual animals form attribute data or which identify attribute data for a particular animal by accessing the first transaction database, and accessing the second transaction database; and displaying query results.

10. The method of claim 9 further comprising: assigning authorization levels to permit an entity to access at least a portion of the attribute data for a particular animal.

11. The method of claim 9 further comprising: transferring at least a portion of the attribute data associated with a particular animal from the first database to a third database.

12. The method of claim 9 further comprising: injecting at least a portion of the data from the first and second transaction databases into a spreadsheet and using spreadsheet functions to analyze and display the data.

13. The method of claim 9 further comprising: providing event creation, manipulation, storage and access functions with components.

14. The method of claim 13 wherein creating event creation, manipulation, storage and access from components comprises: validating connection authorization and communication encryption; providing standardized methods for creating and modifying events; representing events by user-configurable language; creating transactions in a standardized and normalized format; sending synchronous and asynchronous messages to components before, during and after event object creation or modification; and allowing for verification, modification and cancellation of the event connected by the components.

15. A method of livestock supply chain management comprising individually identifying a plurality of animals from a plurality of producers; capturing data for a first animal on a first database; capturing data for the first animal on a second database; capturing data for a second animal on a third database; providing a directory which identifies the databases containing data for each animal, so that the data for the animal can be accessed from a plurality of databases; forecasting growth and quality characteristics of animals based on the historical data for the animal; forecasting the demand over time for animals; assigning individual animals to meet the forecasted demand based upon the forecasted growth and quality characteristics.

16. A distributed transactional database comprising: a first database containing a first portion of data associated with a particular agricultural item, the first database comprising a plurality of rows, each row comprising A unique item identification element, A unique event identification element, A parent identification, A date and time of the event, An event, An event detail, and An entity identification; and a second database containing a second portion of data associated with the item or a product transformation of the item, the second database comprising a plurality of rows, each row comprising A unique item identification element, A unique event identification element, A parent identification, A date and time of the event, An event, An event detail, and An entity identification.

Description



CROSS-REFERENCE TO RELATED APPLICATIONS

[0001] This application is a continuation-in-part of application Ser. No. 09/544,388 filed Apr. 6, 2000 as a Divisional Application of application Ser. No. 09/036,564, filed Mar. 9, 1998, entitled "Method and Apparatus for a Livestock Data Collection and Management System" which issued on Jan. 29, 2002 as U.S. Pat. No. 6,329,920. application Ser. No. 09/544,388
is scheduled to issue on Feb. 12, 2002.

BACKGROUND

[0002] 1. Field of Invention

[0003] The present invention relates to a system, computer program product and method for tracking processing events for a meat animal from its conception to its consumption, by using data entry devices that minimize keyboard entry and multiple interconnected databases such that a particular animal history can provide both quality assurance source verification and performance tracking.

[0004] 2. Description of Related Art

[0005] Overview

[0006] There is a need, for both economic and quality assurance reasons, for an efficient and cost-effective method for identifying and tracking livestock, and for the monitoring of the processing of those livestock. Throughout the livestock production and processing cycle, there is a need for more detailed information so that ranchers, stockmen, feedlots, packers, distributors retailers, consumers, and others can make informed decisions about factors and variables such as genetics, herd management, purchasing, feed strategies, and ship dates. Producers who improve their animal performance can realize greater returns with performance based compensation when accurate information about the history and the value of each animal is easily available.

[0007] There is also a growing concern about quality assurance in the livestock processing cycle;

[0008] and there is an opportunity for producers and processors who can establish that quality assurance to improve their compensation. Effective quality assurance programs such as HACCP, or Hazards Analysis and Critical Control Points, programs require accurate and timely information about the history of each animal. The certification of organic food products, hormone-free food products, and non-genetically modified food products requires an accurate history of those food products.

[0009] The Beef Industry

[0010] The beef industry is a good example of the livestock industry. Traditionally, there are four segments to the U.S. beef industry: the cow/calf producer, the stockman, the feedlot, and the packer.

[0011] The commercial cow/calf producer has a herd of mother cows that are used to produce calves. The cows are bred to bulls so that, ideally, each cow has a new calf each year. The calf crop that is produced each year is used primarily for meat production, with some calves retained as replacements for the herd. The calves are usually weaned from their mothers at between six and eight months of age. The traditional producer will sell his animals once they are weaned. Typically, the main objectives of the producer are to have a calf from each cow each year; to have healthy, vigorous calves with the highest weaning weights at the lowest cost; and to produce the best meat, by factors such as tenderness and taste, at the lowest cost.

[0012] In order to support these objectives, the producer is interested in efficient systems for identifying and tracking individual animals as they rotate through the producer's pastures; identifying which animals have a good calving history; monitoring the performance of various pastures; recording calf birth date and birth weight statistics and tracking the genetic history of each animal; evaluating the performance of calves from particular cows or bulls; recording the weaning date and weaning weight of each animal; and recording treatments, vaccinations, and other significant or events that have occurred in the animal's life.

[0013] The stockman receives the weaned calves when they weigh approximately 500 pounds, and feeds them for four to six months until they weigh 700 to 800 pounds. The stockman's typical objective is to add weight as fast as possible, while keeping the animals healthy. In order to support these objectives, the stockman is interested in collecting and using information such as identifying and tracking individual animals as they rotate through the stockman's pastures; recording beginning, ending, and periodic weight measurements and treatments; and recording vaccinations, movement and ownership changes, and other significant events that have occurred in the animal's life in order to track of the success of treatments as well as to eliminate duplicate treatments.

[0014] After the stockman phase, the animals are typically sent to a feedlot where they are fed a high-energy diet for about 150 days. At the feedlot, the cattle are in a finishing stage, where the main objective is to add pounds quickly while keeping the animals healthy. The cattle will be finished when they reach a weight of approximately 1,100 to 1,200
pounds. The feedlot is interested in animal weight gain, animal health, the effectiveness of various feed ration formulations, the characteristics of the feed consumed by an animal, required waiting periods on shipping animals after drug treatments, and animal origin and history.

[0015] The slaughter facility or packer typically slaughters the animal and then chills, ages and cuts the carcass into the various cuts of meat and packs those cuts for shipment to distributors and retailers. The packer also provides grade and yield ratings for the carcass. Important quality factors include the live animal weight, the carcass weight, a chilled weight; and the yield, grade, and quality of the carcass and carcass defects. The information collected by the packer is important to all of the upstream participants, because it allows them to adjust their management practices based on the actual quality and economic result for each animal. The upstream data is important to the packer because it permits the packer to select animals that produce the results desired by its customers.

[0016] Typically, each of these four segments, the cow/calf producer, the stockman, the feedlot, and the packer, have attempted to optimize their own operations, and there has been relatively little emphasis on cooperative optimization efforts. There is a growing recognition across these industry segments, however, that for both quality assurance reasons and for the improvement of the industry in general, it is desirable to improve data collection and data management. An object of the present invention is to provide that improved data collection and data management and reporting.

[0017] Variability and Quality Control

[0018] There is variability in individual animal production efficiency and in individual carcass quality characteristics such as weight, frame size, muscling, fat content, marbling, and feed efficiency. This variation is due to a combination of genetic factors and environmental factors such as health and drug treatments, nutrition, growth history, and environmental and management factors such as geography, weather, and animal husbandry. Many of the genetic and environmental factors can be controlled or managed to improve both quality and economic return on investment if accurate historical information were available throughout the production cycle.

[0019] The livestock industry has recognized that certain livestock species and breeds outperform other species during production and processing. The prior art has used data collection systems and statistical analysis of data related to livestock breeds in order to identify higher performance breeds. There is a need to extend this data collection so that individual producers can make informed decisions about individual animals in order to further improve their herds.

[0020] Electronic Identification

[0021] Although it is possible to use manual identification methods for livestock and to employ manual data entry methods, it is desirable to automate the identification and data entry in order to reduce expense and to improve accuracy of the data. These devices typically produce either a unique alphanumeric code or a unique decimal code.

[0022] Electronic identification devices and systems have provided a good method for providing identification of livestock. Typically, electronic identification systems utilize a passive electronic identification device that is induced to transmit its identification signal by an externally radiating source. These passive electronic identification devices may be a transponder carried with the individual animal on a collar as illustrated and described in Carroll U.S. Pat. No. 4,475,481, issued Oct. 9, 1984, entitled "Identification System" and in Kuzara U.S. Pat. No. 4,463,353, issued Jul. 31, 1984, entitled "Animal Feeding and Monitoring System"; in an ear tag such as those commercially available from Destron/Fearing, Inc., Allflex USA, Inc. and Avid Marketing, Inc.; in a transponder implanted in the animal as illustrated and described in Pollack U.S. Pat. No. 4,854,328, issued Aug. 8, 1989, entitled "Animal Monitoring Telltale and Information System" and in Hanton U.S. Pat. No. 4,262,632, issued Apr. 21, 1981, entitled "Electronic Livestock Identification System"; or in a bolus such as illustrated and described in U.S. Pat. No. 4,262,632, issued Apr. 21, 1981, entitled "Electronic Livestock Identification System" by John P. Hanton and Harley A. Leach.

[0023] Although electronic identification through radio frequency identification (RFID) tags or barcodes are used in some phases of the livestock production cycle, there is a need to provide a means for individual animal identification throughout the production cycle and to minimize the difficulty of data entry throughout the industry, by interfacing with identification technologies such as RFID, barcode, retina scan, iris scan, DNA, and visual identification.

[0024] RFID Readers

[0025] Several RFID readers are commercially available, typically from the transponder suppliers, including models from Destron/Fearing, Inc., Allflex USA, Inc., and Avid Marketing, Inc., and Tag Tracker.TM. from InfoClip LLC.

[0026] The prior art includes RFID readers that can distinguish multiple types of RFID transponders as illustrated and described in U.S. Pat. No. 5,235,326, issued Aug. 10, 1993, "Multi-Mode Identification System" to Michael L. Beigel, Nathaniel Polish, and Robert E. Malm.

[0027] Databases and Management Systems

[0028] At different stages of the production cycle, there are different databases, which exist for different business purposes. The rancher will typically maintain his own database, a stockman will have an inventory system, a feedlot will have a management database, and a packer will have its own inventory and management system. There is also a trend toward larger marketing alliance or national databases that include some data from each of these industry segments.

[0029] U.S. Pat. No. 5,322,034, which issued Jun. 21, 1994 to Richard L. Willham, for a "Livestock Record System" describes a method for storing the individual animal's identification and performance data on a programmable electronic identification and data storage module carried with the animal. An object of the present invention is to provide a low-cost per animal system for obtaining and maintaining source verification and performance databases that are independent of the animal.

[0030] U.S. Pat. No. 5,315,505 issued to William C. Pratt on May 24, 1994
for a "Method and System for Providing Animal Health Histories and Tracking Inventory of Drugs" describes a method and system for providing improved drug treatment to selected animals in a retained group. A computer system is used to provide an operator with the health and drug 5
treatment history of an animal. With this information and a diagnosis of the animal's health condition, a drug treatment is chosen. The diagnosis and treatment are entered into the computer system to update the animal's health and treatment history. An object of the present invention is to provide complete source verification and performance databases for all key livestock events.

[0031] U.S. Pat. No. 5,673,647 for a "Cattle Management Method and System", issued on Oct. 7, 1997 to William C. Pratt, describes an automated method and system for providing individual animal electronic identification, measurement and value based management of cattle in a large cattle feedlot. That method includes individual animal identification, a computer system, and multiple measurements coupled with a cattle handling and sorting system. An object of the Pratt patent was to build a feedlot database to more accurately identify and measure characteristics such as weight, so that subsequent animals could be produced and fed for more effective value-based selection and management of the animals. In particular, that database related to calculations for economic management of feeding and shipping to permit optimum weight gains and feedlot ship dates. Whereas the feedlot patent disclosed identifying a particular animal on arrival at the feedlot, an object of the present invention is to track individual animals throughout the production cycle and to maintain performance and source verification data in the least disruptive manner to existing databases and management systems.

SUMMARY OF THE INVENTION

[0032] The present invention relates to a system, computer program product and method for identifying, tracking and monitoring livestock. The resulting information will provide a basis for entities in a supply chain, such as the producer, the stockman, the feedlot, and the packer to make informed herd management and operational decisions.

[0033] An object of the present invention is to provide an effective data collection and database management methodology in the livestock industry. The present invention includes a database computer program product for maintenance and entry of data associated with livestock. Data may be entered into the invention in the form of events, which are significant occurrences in the livestock production and processing cycle, and include items such as vaccinations, medications, treatments, live weight, weight gain, slaughter date and carcass weight. Using the computer program product, the user may: enter new animals into the database; look up information, including identifying information and events, on animals which have already been input into the database; and run queries on information contained on the database. Using the computer program product, the user may also: apply an individual event to a group of animals; apply multiple events to a group of animals; determine an animal's average daily weight gain; determine the best time for an animal to go to slaughter based on target weight; manage hardware devices that support automated entry of the animal's identification and data associated with that animal; use his or her own local terminology when applying events to an animal's record; import data into the database after collecting the data from another application; send data to a spreadsheet while pointing the data to specific worksheets and cells within the spreadsheet; transfer animal data from one database to another on the same machine or within a network such as the world wide web; transfer animal records from one entity to another; and communicate with other databases for sharing information concerning the livestock.

[0034] With the addition of RFID transponders for each animal and "event/detail" transponders, the computer program product becomes part of a system such that an RFID reader may be used to read the transponders thereby facilitating automated entry of individual animal identification and automated entry of events and details associated with a particular animal. Events and event details may be aliased, and data entry simplified, such as through RFID, bar codes, function keys, memory buttons. With the addition of radio frequency wireless communications, the system becomes even more convenient and easy to use. The system also includes audio feedback to confirm receipt of data into the system and multiple interconnected databases to facilitate the transfer and maintenance of animal data. One result of this invention is that quality assurance source verification data for individual animals will be available throughout the production and processing cycle. This source verification will include the ability to implement HACCP plans. The source verification provides an opportunity for enhanced product value through improved quality assurance and food safety.

[0035] Another result of this data collection and management invention is that animal-specific performance information can be provided to the producer, the stockman, and the feedlot, and the packer so that those entities can make informed herd management and operational decisions. Improved information availability permits all segments of a supply chain such as the livestock industry to reduce cost of operations while improving product quality. The opportunities for process improvement range from avoiding duplicate treatments; to selecting more cost effective breeding stock; to selecting more cost effective feeds. As part of the production process, other entities, which are not usually in the chain of title to an animal, also have an interest in a portion of the data. Veterinarians can access the health history, nutritionists can access the feed and health history, and bankers can know the location of their collateral. Authorization levels designate what information may be made available to these entities.

[0036] The data collection and management capability is provided in a seamless and non-intrusive manner to all participants. The system encourages the collection and storage of data by putting the majority of the data collection and management process in the background, transparent to the user.

[0037] Through the current invention, the complete history of an animal is equally available throughout the production cycle, and both source verification and specific performance information are accessible without unnecessary duplication of data.

[0038] One result of this data collection and management invention is that quality assurance and source verification data for individual animals will be available throughout the production cycle. This source verification will include the ability to implement HACCP plans. The source verification provides an opportunity for enhanced product value through improved quality assurance and food safety.

[0039] Another result of this data collection and management invention is that specific information can be provided throughout the supply chain so that entities in the supply chain can make informed management and operational decisions-. Improved information availability permits all segments of the supply chain to reduce their cost of operations while improving product quality. In the livestock industry, some opportunities for process improvement include avoiding duplicate treatments; selecting more cost effective breeding stock; to and selecting more cost effective feeds.

[0040] Although the invention is described in the context of beef cattle, it is not so limited. It should be apparent to those skilled in the art that the invention can be modified, without departing from its principles, for other livestock including cattle, swine, sheep, goats, and fowl; and to other agricultural products including grain, fruits, and feedstuffs.

DESCRIPTION OF FIGURES

[0041] These and other features, aspects, and advantages of the present invention will become better understood with regard to the following description, appended claims, and accompanying drawings where:

[0042] FIG. 1 is a schematic of a paper information entry embodiment of the information management system.

[0043] FIG. 2 is a schematic illustrating a protocol converter to exchange information with an existing livestock management software program.

[0044] FIG. 3 is a schematic showing a wired connection between the RFID reader and a host computer.

[0045] FIG. 4 is a schematic showing a wireless radio frequency data communication (RFDC) connection between the RFID reader and a host computer.

[0046] FIG. 5 is a schematic showing a wireless radio frequency data communication (RFDC) connection to a base station transmitter/receiver located between the RFID reader and a host computer.

[0047] FIG. 6 represents a schematic of the physical flow of cattle and the information flow for the beef cattle supply chain.

[0048] FIG. 7 is a schematic showing data movement and storage.

[0049] FIG. 8 is a schematic illustrating email file updates to a database.

[0050] FIG. 9 is a schematic showing a wireless radio frequency data communication (RFDC) connection between the RFID reader and a host computer and additional livestock databases.

[0051] FIG. 10 is a schematic showing a cabled connection between the RFID reader and a data concentrator device and a wireless connection to a host computer and additional livestock databases.

[0052] FIG. 11 is a schematic showing a wireless radio frequency data communication (RFDC) connection between multiple RFID readers and a data concentrator device and a wireless connection to a host computer and additional livestock databases.

[0053] FIG. 12 is a schematic of an embodiment.

[0054] FIG. 13 is a schematic overview of the components in an embodiment of the BeefLink program.

[0055] FIG. 14 illustrates the use of multiple servers in the embodiment of FIG. 13.

[0056] FIG. 15 illustrates the GlobalCore server in the embodiment of FIG. 13.

[0057] FIG. 16 illustrates the EventCore server in the embodiment of FIG. 13.

[0058] FIG. 17 illustrates the DeviceCore server in the embodiment of FIG. 13.

[0059] FIG. 18 illustrates the DeviceCore and AgInfoPorts components in the embodiment of FIG. 13.

[0060] FIG. 19 illustrates the core components in the embodiment of FIG. 13.

[0061] FIG. 20 illustrates the dynamic event object in the embodiment of FIG. 13.

[0062] FIG. 21 illustrates the data collection and real time data lookup components in the embodiment of FIG. 13.

[0063] FIG. 22 illustrates event creation in the embodiment of FIG. 13.

[0064] FIG. 23 illustrates group data creation in the embodiment of FIG. 13.

[0065] FIG. 24 illustrates user interface in the embodiment of FIG. 13.

[0066] FIG. 25 illustrates data management functions in the embodiment of FIG. 13.

[0067] FIG. 26 illustrates the Individual Animal Manager in the embodiment of FIG. 13.

[0068] FIG. 27 illustrates the Share, Switch, Route, and Interface components in the embodiment of FIG. 13.

[0069] FIG. 28 illustrates selection and query components in the embodiment of FIG. 13.

[0070] FIG. 29 illustrates the data sharing and representation components in the embodiment of FIG. 13.

[0071] FIG. 30 illustrates the AgInfoPorts component in the embodiment of FIG. 13.

[0072] FIG. 31 illustrates the electronic file transfer components in the embodiment of FIG. 13.

[0073] FIG. 32 illustrates the ShrinkCalculator processing component in the embodiment of FIG. 13.

[0074] FIG. 33 illustrates interfaces to third party software in the embodiment of FIG. 13.

[0075] FIG. 34 illustrates the ETL components in the embodiment of FIG. 13.

[0076] FIG. 35 illustrates the report and analyze components in the embodiment of FIG. 13.

[0077] FIG. 36 summarizes user interface, data collection, and data sharing functions of an embodiment.

[0078] FIG. 37 is a flowchart for data collection in the embodiment of FIG. 34.

[0079] FIG. 38 is a flowchart for the event server in the embodiment of FIG. 34.

[0080] FIG. 39 is a flowchart for the transfer of animal data in the embodiment of FIG. 34.

[0081] FIG. 40 is a flowchart for the transfer of an animal in the embodiment of FIG. 34.

[0082] FIG. 41 is a flowchart for updating a database in the embodiment of FIG. 34.

[0083] FIG. 42 is a flowchart for hardware interface in the embodiment of FIG. 34.

[0084] FIG. 43 is a flowchart for defining a regimen in the embodiment of FIG. 34.

[0085] FIG. 44 is a flowchart for applying data to a group in the embodiment of FIG. 34.

[0086] FIG. 45 is a flowchart for translation in the embodiment of FIG. 34.

[0087] FIG. 46 is a flowchart for average daily gain determination in the embodiment of FIG. 34.

[0088] FIG. 47 is a flowchart for week to slaughter determination in the embodiment of FIG. 34.

[0089] FIG. 48 is a flowchart for data formatting in the embodiment of FIG. 34.

[0090] FIG. 49 is a flowchart for email transfer in the embodiment of FIG. 34.

[0091] FIG. 50 is a flowchart for spreadsheet data injection in the embodiment of FIG. 34.

[0092] FIG. 51 is a sample Select Kill Lot screen for an example AgInfoLink.net system.

[0093] FIG. 52 is a sample Lot Overview screen for an example AgInfoLink.net system.

[0094] FIG. 53 is a sample Lot Comparison screen for an example AgInfoLink.net system.

[0095] FIG. 54 is a sample Individual Animal Report screen for an example AgInfoLink.net system.

[0096] FIG. 55 is a sample Microsoft Excel Data Export screen for an example AgInfoLink.net system.

[0097] FIG. 56 is a sample Select Kill Lot screen for an example AgInfoLink.net system.

[0098] FIG. 57 is a sample 2-View Comparison screen for an example AgInfoLink.net system.

[0099] FIG. 58 is a sample 4-View Comparison screen for an example AgInfoLink.net system.

[0100] FIG. 59 shows a transactional data structure event table.

[0101] FIG. 60 illustrates a linking of events in a food tracing application.

[0102] FIG. 61 illustrates an Animal event tree-structure.

DETAILED DESCRIPTION OF THE INVENTION- WIRELESS EMBODIMENT

[0103] An embodiment of the computer system disclosed herein operates using a programmable IBM.RTM.-compatible laptop host computer. Other hosts include other devices and operating systems including hand held devices. Referring now to FIG. 4 illustrating this embodiment for the computer system, the host computer 10 includes a central processing unit; a coprocessor; a display device; a random access memory; a read only memory; a first data storage means; a second data storage means; a third data storage means; memory controllers; motherboard resources; a keyboard; a sound card and driver; external power supply with DC connection; and a USB or serial port. BEEFLINK.TM. data collection software, a means for accessing the BEEFLINK.TM. database, a means for accessing portions of the BEEFLINK.TM. software by hyperlink, and an operating system run on the host computer 10. A speaker 11 is connected to the host computer 10 such that information recorded into the BEEFLINK.TM. data collection software's database by the reader or by key entry may be audibly confirmed. When the host computer 10 confirms that any information, including a transponder reading, was handled within the BEEFLINK data collection software, the reading of a .WAV file is initiated in the host computer and the .WAV file is played through the PC sound card to the speaker 11.

[0104] Example--Wireless Communication and Data Consolidation

[0105] In order to better understand the invention, key portions of the invention are described as examples, and larger examples are used to show how the pieces are integrated in the invention.

[0106] Referring now to FIG. 5, an animal is uniquely identified by means of a radio frequency identification (RFID) ear tag 32 or other type of identifier such as bar code, iris or retinal, DNA, or visual identifier. The preferred identification is an RFID ear tag such as those provided by Y-Tex Corporation, SFK Technology, Destron/Fearing, Inc., Allflex USA, Inc, Avid Marketing, Inc. Alternately, the identification may be by means of an RFID implant, a rumen bolus, or a collar fitting on a neck or leg.

[0107] This RFID identification is typically applied at the first opportunity to pen and work the animals, such as at an initial immunization or branding. The identification typically remains with the animal until the time of its slaughter. The RFID identification, typically will have previously been applied to older breeding animals.

[0108] As the animal is typically restrained in a working chute, its identification may be determined by means of an RFID reader 30. This identification is accomplished by placing the reader near, typically within six inches, of an RFID ear tag or implant transponder. The rumen bolus has a greater range. The preferred reader is described in more detail in an alternative embodiment described below.

[0109] Typical events performed on the animal may also be captured without keyboard entry by means of a Work Card 31 which is a collection of common tasks or events that are assigned unique RFID transponder codes, indicated as transponders 42, 43 and 44, such that the reader can designate an event by reading the transponder associated with an event. This reading is accomplished by placing the reader near the transponder. Alternately, the event transponders can be placed separately at convenient locations in the work area. The event transponders will typically be labeled with text or symbols to identify the event. Events may also be imported from other programs such as third party software, and may be manually entered such as with a Cattle Card.TM. system described in another example.

[0110] The reader communicates by means of radio frequency data communications (RFDC) to a radio frequency receiver/transmitter that is connected by serial or USB port 50a to the computer.

[0111] The reader may be connected by direct cable linkage to the port, or preferably, will communicate by radio frequency data communications means 51 from a base station transmitter/receiver located on the reader to a transmitter/receiver connected to port 50a.

[0112] Other livestock measurement data can be collected through serial or USB port connections such as a scale 54, a thermometer 55, or an ultrasound measurement device 56. Various output devices including audio feedback means such as a speaker 57 or a headphone 59, an LED display 58, a printer 60, or a UPC Barcode printer or reader 61 can be connected to the computer. The user may configure audio feedback means may be a specified .wav file, a default .wav file, or a simple "ding".

[0113] The data is received by the computer through the base station. The preferred communication is a radio frequency link 52 between a transmitter/receiver 71 attached to the data concentrator and a transmitter/receiver 72 attached to an interface board in the computer. The computer may include a keyboard, a monitor, and a speaker 11. Data may be stored to a diskette 13, but will typically be transferred by means of a modem. The computer is preferably an IBM compatible laptop or desktop computer. Beeflink.TM. software runs on the computer to provide the livestock data entry management function. The computer is connected by means of network adapter or modem 12 to other computers as described more fully in other example embodiments.

[0114] This embodiment permits a portable reader to be used in a remote location to gather animal and event data and to communicate that data to a host computer.

[0115] The host computer preferably has a Windows 98 or above operating system, and at least one serial or USB port.

[0116] Example--Single Port Communication to Remote Radio Frequency Identification Readers and Data Collection Devices

[0117] Referring now to FIG. 5, in this embodiment, a remote transmitter/receiver 53a is incorporated into each of one or more RFID readers, and is in two-way wireless communication 53c to a base station 50. Multiple readers can be used for a single base station; and the base station requires only one input port 10c to the computer 10. Other data input devices such as scales 54 and thermometers 55 communicate with the base station through a remote for each such input device. When a remote device is installed, the Base Station Unit detects its presence and assigns a device identification. This information is relayed to the Host PC via the cabled connection (USB, RS485 or RS232). The Host PC makes the software application association through Beeflink or through included InfoClip driver software. Two- way communication between the host and the remote permit configuration such as specifying the baud rate of a device once the remote is detected. Multiple channels permit a one-to-many relationship between the host computer and the remotes.

[0118] An improved RFID reader 53b includes a microprocessor which scrubs the data and assigns a unique device number to the data. The communication utilizes spread spectrum 2.4 gHz with frequency hopping. An internal dipole antenna on the reader has a range of up to about 0.5
miles from the base station. The transceiver inside the reader can be procured with a RF connector which would allow the use of another internal antenna which would increase the RFDC range. An optional external antenna has a range of over 20 miles (Note this antenna configuration requires FCC approval). The same type of transmitter/receiver and firmware can be used to transmit data from the other measurement devices. The base station preferably has both a USB port 50a and a RS485 port 50b, which allows applications requiring more than 3 meters of cabling between the base station's USB port and the host computer to use the RS485 port which has a range of about 1700 feet. At the computer, a RS485 to USB port converter 10b is provided in order to use the computer's USB port 10c.

[0119] The low battery indicator light on the reader can be used as a status indicator of the connection with the base station, so that a green light indicates a good connection, a yellow light indicates a marginal connection, and a red light indicates a lack of connection. At low battery, the light flashes red. A global positioning system may be included in the base station to identify the location of the base station at the time it receives data.

[0120] Example--The Beeflink.TM. Data Collection and Management System

[0121] BeefLink is a data cattle collection and data management implementation of the current invention. The BeefLink system is easily adaptable to other livestock species and other individual units of production such as carcass, batch, or lots, and cuts of meat, with the major change being the definition of industry-specific events.

[0122] BeefLink is comprised of hardware and software to permit the user to scan radio frequency identification (RFID) ear tags, implants, collars, or boli with radio frequency identification scan readers; to enter new animals; to look up information on existing animals; to input new events; and to run queries on the work done. One objective of the software is to display pertinent data on each animal and add new events to the record in the least intrusive manner. The new animal records and events recorded are uploaded and incorporated into a larger database. Communication with the distributed databases allows the user to receive downstream animal performance data at his own computer.

[0123] The preferred components of the system include a computer, a base station transmitter/receiver for communication to remote wireless devices including readers and measurement devices, RFID transponders on each animal, and RFID Work Cards.

[0124] Referring to FIG. 10 which is a schematic of one wireless embodiment of a data collection system, the BeefLink software runs on the host computer 10 which may be either laptop or desktop computer. The computer is in contact, by means of wireless radio frequency communication 52, with one or more readers and measurement devices. The wireless connection is accomplished by means of a transmitter/receiver 71
connected to the host computer, and a transmitter/receiver 72.

[0125] In the embodiment shown, the reader 30 is connected through a cable 38 and a serial port 53. In alternate embodiments, the reader is connected to the base station 50 by wireless radio frequency data communication. The reader may read an animal RFID transponder 32 and a Work Card 31, which consists of multiple event RFID transponders. The host computer 10 is connected to the Internet 77 by means of a network adapter or modem 12. Data is distributed to other databases by real time communication over the Internet, batch updates via Agil email files, or with physical media.

[0126] Other computers 79 and 80 containing other databases 78 and 81 may be connected to the Internet by means of a modem 76, such that data may be transferred over the Internet between the host computer and the other computers. Other embodiments illustrate the use of the BeefLink software on both simpler and more complex data gathering systems.

[0127] Double-clicking the BeefLink icon on the Windows 95 Desktop display starts the BeefLink program. When the Company ID, the User ID, and the Password are entered on the Authorization Screen display, the program can be accessed.

[0128] In order to speed data entry, Action Tags are used to enter most events. Rather than typing in events at the computer keyboard, events are assigned to the Action Tags ahead of time so that the tags are simply scanned with the same reader used to scan animals in order to enter events or update fields in an animal's record. For instance, if cows are being checked for pregnancy, An Action Tag will be assigned beforehand for both the "pregnant" and "open" result so that the user can scan the cow and the appropriate pregnancy Action Tag when the result is known. Another example is that certain animals being processed are vaccinated for shipping fever. An Action Tag is assigned to the shipping fever vaccination event so that when animals get the vaccine, the user can scan the animal and the shipping fever Action Tag in order to record the event.

[0129] The Action Tags are typically affixed to a Work Card alongside their corresponding event labels. The Work Card can be placed in strategic locations such as on the side of a working chute or with the vaccine or treatment bottle to which they are assigned.

[0130] Most common events will be identified with Action Tags when the user receives the system. The user may, however, add to or change existing events through a work card editor.

[0131] Each event can have one or more default details associated with it. For instance, the event "LOCATION" might have three different details such as PEN-1, PEN-2, and NORTH 4000, that can be used to record changes in animals' locations. The user may edit workcards by adding or editing events associated with a unique identifier; and can designate a particular sound file to provide audio confirmation when selected.

[0132] Core events are included for process steps and data collection throughout the supply chain including: Abort, Assess Animal, Assess Animal-Health, Assess Animal-Sick, Assign Value, Birth, Birth-Est, Brand, Bred-Al, Bred-Bull-Grp, Bred-Bull-Ind, Breed, Buller, BullOut, Calving, Carcass, Carcass Weight, Clock-In, Clock-Out, Clone, Colot, DamID, Diagnose, Died, Dry Conversion Rate, Feed, Feedlot In, Feedlot Out, Feed-ration-Start, Finance, Group, HACCP, Hedge, Hedge-Remove, Implant, Implant-Remove, Incident, Incident-Removed, Insure, Irradiate, Location, Metal Tag, Origin, Packer-In, Packer-Out, PregChk, Production_Destination, Purchase, Railer, RegNum, Retag, Retailer_Feedback, Roundup, Sell, Set Alliance, Sex, SireID, Slaughter_Date, Spay, Stocker-In, Stocker-Out, Synchronize, Tag Brand, Trailer, Transfer, Treat, Vaccinate, Visual Color, Visual ID, Wean, Weather, Weigh, Weigh-Average, Wt-Birth, WtBirth-Est, Wt Est, Wt Feedin, Wt-Feedout, Wt-Packerin, Wt-Packerout, Wt-Purchase, Wt-Sell, Wt-StockerIn, Wt-Stocker Out, and Wt Wean. It is desirable to core events when appropriate because they update fields in the database. If none of the default events apply, the user may key in a new event.

[0133] The most efficient way to record repetitive events that occur to multiple animals is to assign animals to logical groups and to record the events to all animals in the group as "regimens" or "group events".

[0134] The form also allows for entering multiple events and details before updating the group.

[0135] For instance, if every animal in a group had a change in their ration and received a group treatment in their feed, the user could select and "Add" both events, and then update the records.

[0136] When all animals being processed receive the same treatments, but do not belong to a particular group, the regimen option should be used. A regimen is an event or group of event and associated event details that is common to a group of animals. For example, the regimen could be "sex" and the event detail "heifer" for a group of females. In more sophisticated examples, an entire treatment protocol of vaccines and deworming dosages can be specified, where a vaccination dosage is a specified child event to a particular parent vaccine. Separate regimens might be specified for steers than for heifers. This feature permits the user to pre-select events for all animals. Then, as the animals are scanned, each animal's record is updated with the default events and details, until the function is turned off.

[0137] For example, a stockman operation is receiving 50 new calves from a ranch, and the stockman needs to record the origin of each animal, the vaccines given each animal, the identity of the group, and the location where the animals will be going.

[0138] One way to set up a regime is to pre-define each input to be made as described above for a particular vaccine and dosage. Alternately, the regimen may permit the user to scan or otherwise input the data at the tome of the event. For example, a regime is specified as being a vaccination with a user specified vaccine, and a child event dosage accepts a user-specified dosage. The regimen prompts the user to input the type of vaccine and then prompts the user for the dosage given to the current animal. An identifier such as an RFID device or barcode may be placed on work card along with various dosages and various vaccines to permit the user to provide the scan inputs without keyboard entry.

[0139] Any time that different events need to be recorded on each animal, the events must be applied individually. For example, if cows are being checked for pregnancy, the results vary and need to be recorded individually. Another example is when sick animals are treated at a feedlot--different treatments are applied and recorded individually. Recording individual events is automated by using the Work Card described earlier. After an animal is scanned, the events on the card that apply are scanned and thus recorded. This method can be used in conjunction with default events--all animals receive the default events and some also receive additional individual events.

[0140] If animals are receiving new sequential visual and/or metal ear tags, they can be sequenced automatically so that the tags increment as each animal is scanned. To set the starting sequence for new tags, the user can click on the "Sequence New Ear Tags" button at the Command Center and enter a tag prefix or Starting Tag Number. A EditSequence utility is provided, which enables the user to predefine sequences such as visual id number, carcass number, or order number.

[0141] Once the starting ear tag sequences have been set, they are ready to use when the user needs them. The user may activate sequencing as a default event or with an Action Tag.

[0142] Before working cattle, the user may either verify or make changes to his Work Card through "Edit Work Card" from the start menu. In order to verify that an Action Tag is actually associated with the correct event, the user will scan the Action Tag. If the tag has been assigned as an event, the user will get a duplicate error-trapping message. By the "OK" button on the error message, or pressing the Enter key, the screen will display the event currently associated with the Action Tag.

[0143] If the event associated with the Action Tag is correct, then the user can continue scanning other Action Tags that need to be verified. If the user needs to change the event associated with the tag, the user erases the current entry and enter a new event and detail for the deleted Action Tag.

[0144] When the user is ready to work animals, which will usually be done at the working chute, the user must intentionally turn on the ApplyRegimen on EID scan button. Events will not be applied unless this button is clicked. This way, the user won't set up defaults and forget to turn them on, or assign default events by mistake.

[0145] With the RFID reader cabled or wireless radio cabled to Comm 1, the user is ready to start scanning animals.

[0146] For example, if the first animal scanned has existing records in the system, the display screen will show those data fields. The scroll bar may be used to view additional fields. The bottom half of the screen shows all events recorded during the animal's lifetime. If the user scans a "TREAT" Action Tag with "IVOMEC" for the detail and changes the animal's location to Pen 50, the records will be updated.

[0147] Although the user may watch the results of his scans on the screen, it's not necessary to see the screen while processing animals. A feedback acknowledgement in the form of a light or sound may be sent to the user to indicate that the scans have gone through correctly. This feedback can be in the form of a light or sound generation, or it may be directed through a serial port to an external device. Typically the user will get a positive feedback signal in the form of a burst of light and an audio acknowledgement when he reads an animal that exists. The user will also get the acknowledgement when he scans an event.

[0148] When an animal is scanned, the user is provided a confirmation. An animal may be scanned more than once, and a confirmation will be provided, but the data will only be entered once.

[0149] If all of the animals being worked are new to the system, some defaults will probably be entered into the system. For instance, if all animals have the same estimated birth date, the date can be set as a default and added automatically to the birth date field of each new animal scanned. The same default function could be used for origin, location, or group.

[0150] If, however, the animals have varying birth dates or birth years, the available birth dates can be assigned to Action Tags, using the event setup form. The user can use BIRTHDATE as the event and the date as the detail. As each animal is scanned, the correct birth date tag is scanned and assigned to the animal.

[0151] If actual birth dates are used and there are many possible entries, the user will enter the dates individually. The user will Set up an Action Tag event with BIRTHDATE as the event and KEY as the detail. To add a specific birth date to the animal's record, the user will scan the animal and the Action Tag. The user is then prompted to key in the birth date.

[0152] Entering non-sequential visible or metal tags may be done in the same manner.

[0153] If an animal loses its RFID tag the animal can be re-tagged, and an Action Tag with "RETAG" as the event can be used to replace the old tag references. The system can be used with visual ID tags and barcode tags, but RFID transponder ear tags are the preferred identification method.

[0154] Animal body weights can be entered in several ways. First of all, there are many different types of weights that can be recorded. Periodic weights are the most common, but other specific weights such as weaning weight, stocker-in weight, feedlot-in weight, etc. can be specifically noted.

[0155] Weights can either be recorded automatically with an electronic scale, or keyed in using a keyboard or other peripheral method. If the weights are to be gathered automatically, the user should identify the port through which the weights will be entering. The user will select the appropriate weight event and select the detail, either AUTO for a scale connected to the system, or KEY if weights will be keyed in. If the event is a default to be collected on all animals on a connected scale, the weights will be collected automatically. If the default is the keyed weight, each time an animal is scanned, the user will enter a weight. If the user is not weighing all animals, the same events can be scanned as Action Tags.

[0156] In addition to setting default events at the computer, defaults can be assigned, turned on and turned off in the field such as at the working chute. For example, if the user has fifty animals being worked that receive the same events--the events can be identified and turned on while working the cattle. If the next group of animals being worked receive different regimens, then the current regimens can be appended or cleared and new ones assigned.

[0157] If the user mistakenly assigns events to an animal and wishes to delete them, he can scan the delete last event to remove events one at a time, or delete all to remove all events for a working session. Events can only be deleted for the current animal. Any events that are correct should be rescanned. This function also works well if the user is assigning default events to a majority of the animals, but wants to skip certain animals. The user can simply scan the Delete Event tag after the animal that does not receive the events is scanned.

[0158] Data can be viewed on Animal Manager. The animal record contains some basic header information, as well as an on-going list of events, weights, and animal movements. To review an individual animal, the user scans the transponder or types in the visual or metal ear tag number. The events listed on the animals record can be sorted in order of the events, the details, or by date. The user can also do a quick review of all recorded weights or locations by clicking the applicable radio button on the bottom of the form.

[0159] The information collected on all animals can be reviewed by clicking on the "Work Done" button in the Review section of the Data Collection Center. This form allows the user to query the data that has been collected by selecting the field and the criteria of the search.

[0160] Events recorded on each animal will typically be exported to a larger database. The larger database will not only store information on other animals, but will store information on one entity's animals that have been transferred to other entities. Enterprise BeeLink is typically wired or wirelessly connected to the Internet, or is run in a disconnected mode with batch updates though ShareData utility and electronic transfer such as email update. The user may click on the "Export" button at the Command Center to create the file for uploading to the larger database. The export file is in the form of an event file, with special entries for new animals added to the local database.

[0161] Many events can be identified by a single code and a single set of associated data. Other events such as an animal vaccination event require additional data. The user can read an event detail transponder, such as vaccine type, and can then read sub-detail events such as a dosage or batch that he wants appended to the main detail. This is accomplished by identifying each event detail as either a STANDARD or SUB detail. If the detail is a SUB event, then it will append to the last standard detail scanned. For instance, along with a vaccine,

[0162] Example--A Paper-Based Embodiment

[0163] FIG. 1 illustrates a paper-based embodiment of the BeefLink data collection software. In this case, animal identification would be obtained from a visual tag, such as an ear tag, and that visual identification would be written on a paper log 14. All event data and measurement data would be recorded on the log sheet and then entered by keyboard or regimens or groups into the BeefLink software running on the host computer 10. The modem 12 in this embodiment permits the host computer to establish data transfer capability with other computer, and the removable disk 13 provides a data backup capability.

[0164] Although the data entry would be cumbersome for large numbers of animals, this paper system may be more affordable for smaller producers.

[0165] The producer may elect to install only visual identification or to install a tag that is both visual and RFID.

[0166] If an RFID transponder was attached to an animal, the producer would be responsible for manually entering the code to the computer, so that the code would be correlated to the visual tag identification.

[0167] Alternately, it is possible to operate the BeefLink software on the basis of the visual identification, or preferably a longer, unique identification key assigned to the animal. In that event, an RFID device may be attached downstream, and the new RFID code would be assigned to the animal.

[0168] U.S. Pat. No. 6,211,789 issued to Oldham and Curkendall describes Cattle Card.TM. embodiments of this invention designed to support manual data collection in the early phases of livestock production. Events common to a group of animals are typically noted on a form such as the Cattle Card envelope, so that the common events can be entered as a regimen.

[0169] Example--A Direct Reader Embodiment

[0170] FIG. 3 illustrates a simple embodiment of the BeeLink data collection software with an RFID reader 30, which was linked by cable 33
to a host computer 10. In this case, animal identification would be obtained from an RFID transponder 32, and Work Cards 31 where RFID event transponders are used to record events.

[0171] The speaker 11 provides a feedback means to confirm the receipt of animal and event data by the computer.

[0172] The modem 12 in this embodiment permits the host computer to establish data transfer capability with other computers, and the removable disk 13 provides a data backup capability.

[0173] This approach would typically be used by relatively small producers who could complete their livestock work sessions in a relatively short time, such as the battery life of a notebook computer.

[0174] Example--Simple Wireless Reader Embodiment

[0175] FIG. 4 illustrates a simple embodiment of the BeefLink data collection software with a radio frequency wireless connection 40 between the RFID reader 30 and the host computer 10.

[0176] In this case, animal identification would be obtained from an RFID transponder 32, and Work Cards 31 with RFID event transponders are used to record events.

[0177] The speaker 11 provides a feedback means to confirm the receipt of animal and event data by the computer.

[0178] The modem 12 in this embodiment permits the host computer to establish data transfer capability with other computers, and the removable disk 13 provides a data backup capability.

[0179] Example--Existing System Communication

[0180] FIG. 2 illustrates the ability of the BeefLink software running on a host computer 10 to accept data from an existing livestock management system 20 or to update the management system data with information from BeefLink. If the existing management system software was not running on the host computer, the host computer could establish a link to the existing management system computer by means of a modem 12 and either a direct link or an Internet connection. An event import tool converts columnar data to an event database.

[0181] FIG. 9 illustrates this existing system or existing database communication in a wireless reader embodiment. The RFID reader 30
communicates through RFDC transmitter/receivers 36 and 71.

[0182] Existing or downstream database 78 or existing management system software running on a computer 79 may be accessed through the host computer modem 12 by either Internet transfer 77 or by direct modem connection between the computers.

[0183] FIG. 6 is a schematic of the physical flow of cattle and the information flow for the beef cattle supply chain. The current invention permits the capturing and sharing of information from each step in the supply chain, and establishes interfaces with existing third party software packages 20a-20i, third party ERP software packages 22, and third party business to business software packages 23. In the supply chain, seedstock 82 is typically sold to cow-calf producers 83 through auction facilities or e-commerce at step 100. The cow-calf producers typically sell calves to stockers 84 or feedlots through auction facilities or e-commerce at step 101. The stocker typically adds weight to those calves and sells them to a feedlot 85, through direct sale auction facilities or c-commerce at step 102. In some cases, the stocker or cow-calf operator may retain ownership of the calves at the feedlot, so that there is not a sale at that point. The feedlot continues to add weight to the calves and sells them to a packer 86 at step 103. The packer may produce packages of beef 87, leather products 88, pharmaceutical products 89, and processed beef products 90 such as cooked, smoked, or ground beef. The beef products 87 and 90 are typically sold to food brokers, distributors, cutters, supermarkets, or food service companies 91 and 92 in forward contract arrangements 93 or on the spot market 94 to customers 92b.

[0184] Throughout the supply chain, third parties 95 such as banks, pharmaceutical companies, veterinarians, and livestock marketing associations have an interest in portions of the information.

[0185] The current invention includes hardware and software data collection tools 105 to capture information at the seedstock stage 82 and to share that information with one or more third party seedstock software package 20. The Pony Express Relay Database.TM. (PERD), which functions as a data backbone, provides access to information collected at all stages in the supply chain, and provides an interface 106 to the third party seedstock software package 20 to permit information to be shared from the third party software to PERD, and from PERD to the third party software. Similarly, at each of the other steps in the supply chain, the invention provides data collection interfaces 106 to third party software packages 20 and interfaces between those packages and PERD 107. The system also supports the collection of DNA information 96, including at the packer 86, and barcode information systems 97 such as in the leather 88, pharmaceutical 89, and cook/smoke/grind 90 operations.

[0186] The system also provides interfaces 107 to reporting and viewing utilities 108 so that the data and information can be monitored by third parties including banks, insurance companies, animal health companies, veterinarians, cattle procurement, and livestock marketing associations.

[0187] In order to link the individual animal or animals to the consumer or retailer 98, the system accepts a packer lot number identification 99
and generates a request 109 to run a DNA sequence for a specified lot, and interfaces that request to PERD at step 110. PERD then interfaces 107
to the tracking software which generates the specific test requests for a lot 111 or animal 112.

[0188] The data collection components typically include data collection hardware such as rfid readers, electronic scales, and ultrasound; Beeflink.TM. data collection software, real-time feedback components; and utilities to format the data according to desired third party software formats. When the user does not have a computer, a manual input system such as Cattle Card.TM. is used to collect the data, which is subsequently input into the BeefLink software.

[0189] The data conversion interfaces typically include authentication and certification software components to validate data; extraction, transfer, and loading tools to support data marts for specific reporting needs; reporting tools for generating reports not provided by the third party software; and data mining and data mart tools.

[0190] These middle-ware components, data collection and data conversion, and ETL tools permit sharing by importing or exporting individual management information.

[0191] Referring now to FIG. 7, which is a schematic showing data movement and storage, data is collected at step 116 from entities such as cow/calf operations 83, auction sales 101, stockers 84, feeders 85, packers 86, and retailers or consumers 98. The data collection may be through BeefLink software, data cards 14 such as Cattle Card.TM., or third party software 20. The data is pushed at step 117 to PERD transaction databases 118 and "411" data warehouses 119. The "411" data warehouses monitors the location of individual animal data. Data is extracted at step 120 into data marts 121 such as real-time escrow transaction database 122, food safety tracking database 123, carcass reports relational database 124, epidemiology database 125, AgInfoSheets transaction server 126, pharmaceutical database 127, e-commerce database 128, or other transaction or relational database 129, including third party software applications 131. Data may be pulled from the data marts at step 130 by the processing supply chain entities that collected the data or by third parties, and third party databases that are provided security clearance to access that data.

[0192] Example--Multiple Reader Locations

[0193] FIG. 11 illustrates a wireless reader configuration where the data concentrator 50 receives data from multiple RFID readers indicated by readers 30 and 45. This type of configuration is desirable in larger operations where there may be more than one livestock working area at a given time. In this case, a larger antenna 63 may be necessary at the data concentrator, and it may be desirable to have a keyboard 261 and monitor 262 connected to the data concentrator.

[0194] Example--Description of Embodiment

[0195] Referring now to FIG. 12, in this embodiment the components of the data collection and management system include unique Radio Frequency Identification (RFID) transponders for each animal; a Work Card of RFID transponders to identify livestock events, an RFID Reader that can identify the animal and event RFID transponders; a wireless RFDC communication between the reader and a base station; wired or wireless connections to a scale, a thermometer, an ultrasound measurement device, and an output device, a wireless RFDC communication between the data concentrator unit and the host computer, BeefLink.TM. Data Collection Software; and et1 interfaces.

[0196] Radio Frequency Identification (RFID) Transponders

[0197] Although the data collection system can operate manually with visual animal identification, the preferred operation is with Radio Frequency Identification (RFID) transponders 32 in the form of electronic ear tags, implants, boli or neck or leg collars to provide unique identification for each animal. Although ear tags and implants are the most common devices, a bolus transponder has been used successfully as a tamper-proof means of identification of cattle. The bolus transponder has the potential capability of measuring temperature and pH within the animal. The RFID transponders contain a small antenna attached to an integrated circuit that stores a unique identification number. Unlike bar codes, RFID transponders do not require line-of-sight to be read, the transponder simply needs to come into the proximity of an RFID reader.

[0198] RFID Reader

[0199] The RFID reader 30 will typically be stationary reader at high volume at the packer or feedlot operations and portable readers at the processing points. Stationary readers will be typically be connected to a host computer by means of a cable, but a wireless connection may also be used for stationary readers. The portable readers will typically use a wireless connection to the computer. The Readers emit a low radio frequency, typically a 134.2 kHz signal that excites the passive transponder in the event or animal identification tag and the device responds at a second frequency. Once excited, the transponder responds back to the reader via radio frequency with a digital signal representing its unique identification. The reader decodes the signal, displays the identification, and sends the identification to the computer.

[0200] Work Card and Event Action Tags

[0201] A Work Card 31 with RFID transponders 41, 42 and 43 provide livestock event identification so that events can be read by the RFID reader rather than entered by keyboard.

[0202] The user may select one or more event cards for the anticipated work session. Other event tags may be affixed at other convenient locations in the work area, such as around the processing chute. The tags on the work card have the name or symbol label for the corresponding events so that the person working the cattle can quickly scan the appropriate event when it occurs.

[0203] BeefLink.TM. Data Collection Software

[0204] The BeefLink.TM. software running on the computer 10 validates inputs from the various devices, notifies the user of the data received, stores the results, and converts the data into meaningful information. In addition, the software manages the transfers of the local data via modem to regional and national databases for storage and further analysis, and manages the access to downstream processing, performance, and quality data.

[0205] Database Architecture and Data Transfer

[0206] Data collected at the local level can provide only limited management information to the producer because the producer needs to know the performance results in order to manage accurately for the future. As the data is transferred to a regional or national database, indicated in as 78, it can become more powerful. In many cases, the animals change hands during the production cycle. In order to get results back to the producers and growers of the livestock, these upstream participants must have the ability to pull information about the animals that the downstream participants enter into the system. Likewise, the downstream participants such as feedlots and packers need to review information on the animals that they are receiving. It is also these large databases that allow for the source verification for food safety issues.

[0207] The local software at each participant's facility routinely sends file updates to an alliance or national database using modem transfer through the Internet. With the proper security clearance, users can query the data on their own cattle even after they have been transferred or sold, and this is the information useful for future management decisions. Producers are also able to purchase reports that benchmark their animals against a compilation of blind data from other producers. For example, producers may compare their operations with operations of a similar size, geographic region, or breed for quality characteristics such as the tenderness score.

[0208] Once the animal reaches the slaughter plant, the same RFID transponder is used for identification. Stationary readers or handheld readers are used to read the transponders and to identify and sequence the carcasses. Data such as carcass weight, grade, and yield are collected and added to packer's management system, and that data can be accessed through the anirnal's identification.

[0209] Authorization Levels

[0210] In the preferred embodiment, authorization levels are provided for various entities such as a consultant, veterinarian, nutritionist, insurance agent, or banker, can access information according to that entity's authorization level.

[0211] Source Verification/Performance Tracking

[0212] In the preferred embodiment, the RFID tags, and visual identification tags are correlated so that at any point in the livestock cycle, historical data is available to any entity in the chain of title for the livestock.

[0213] At the packing plant, the animal's identification is used to record actual carcass quality data for the animal. The data can include overall evaluation of the carcass as well as information about the amount and quality of particular cuts or products derived from the carcass. This correlation of individual animal identification to actual carcass and product quality data permits the packer to compensate the producer or feedlot according to the actual quality of the product.

[0214] The producer benefits both by having the potential to receive a greater return for higher quality livestock, and by obtaining information which will permit more-informed decisions on herd management. For instance, bulls or cows that produce calves with good yields and quality will be preferred for retention in the herd over bulls or cows that produce calves with lower yields or lower quality.

[0215] Whereas the prior art requires transmission of packer information back to the feedlot or to producers, the present invention permits entities in the chain of ownership to have access to the data associated with an animal. An additional objective of the invention is to provide Source Verification by making historical data for the animal available to the packer. This Source Verification will preferably include certified quality control programs such as HACCP plans.

[0216] Description Of Embodiments--Software Components

[0217] One aspect of the BeefLink software is a transaction focus, rather than a relational database orientation. Although, in some applications, working relational databases may be constructed by utilities from distributed transactional databases, the BeefLink architecture also supports decentralized, transactional databases. Transactional data are the building blocks of the information system.

[0218] In this embodiment, the software has an object-oriented architecture, and is comprised of blocks of code called components. The components provide a building block framework for various software applications, so that the components may be re-used from one application to the next. Sub-components are blocks of code that may be incorporated into multiple components. The discussion below describes these components and sub-components by their functional task. Referring to FIG. 13, which is a schematic overview of the components of this embodiment of the BeefLink program 190, the components are grouped, for discussion purposes, into common core components 200; Data Collection/Real-Time Data Lookup components 400; Share, Switch, Route, Interface ("SSRI") components 500; Extract, Transform, Load ("ETL") components 600; and Report & Analyze Data components 700. The components are typically connected to a plurality of hardware or software servers 300. Many of these components are used in more than one of these categories.

[0219] In this discussion, the events relate to animals. In other embodiments, an event may be an item, commodity, or concept, and these components and architecture are appropriate for a variety of applications where the objects, the actions on the objects, and the database entries and queries, are distributed over time and geography. In these applications, an event-based architecture is robust and practical.

[0220] Servers

[0221] FIG. 14 illustrates the use of multiple servers 300 in this embodiment. In other embodiments, these functions may be performed on one or more servers.

[0222] GlobalCore 310 is a Windows-based client side Active-X server responsible for managing connections to local or networked component information. It provides the language-specific data needed for user interfaces, text messages, database connection information, and user-configurable settings. The server provides a centralized location for component messages, and allows distinct business components to inter-operate. The server provides standardized methods for creating and manipulating information that is global to all components on the system; and notifies connected business components of any changes made to the global information.

[0223] Referring now to FIG. 15, the GlobalCore server 310 performs security 311 to validate connection authorization and to confirm communication encryption; creation and manipulation 312 to provide standardized methods for creating and modifying global data; and notification 313 to ensure that business components are notified before, during, and after any creation or modification of global information. The notification updates persistent storage 314, which may reside elsewhere, to abstract the physical storage methods from component applications including DBMS, ODBMS, or flat file format on either the client-side or the server-side. The global server permits component messaging 315 to send messages to other components and to log important processes. The component messaging provides a common messaging interface, global process completion logging, and error logging.

[0224] Referring again to FIG. 14, EventCore 320 is a Windows- based client side Active-X server responsible for creation, manipulation, storage, notification and access to collections of 5 events. All business components that use, or need knowledge of, event-oriented data do so by establishing a connection to the EventCore. The server provides standardized methods for creating and modifying events; and ensures that events can be translated and represented by user-configurable languages. The server ensures that transactions, especially those representing quantifiable data, are normalized to a world-common standard. It enforces data to be created with acceptable values, limits, ranges and/or formats; and sends both synchronous and asynchronous messages to connected business components, allowing them to modify events before they are created, and respond to modified events.

[0225] Referring now to FIG. 16, the EventCore 320 performs security 321
to validate connection authorization and to confirm communication encryption; creation and manipulation 324 to provide standardized methods for creating and modifying global data, specifically event data; translation 325 to permit representation in user-configurable languages and storage in a core language; normalization 326 to ensure that transactions such as measurement, quantities, and values are created in a standardized and normalized format to permit functional and accurate processing by business rules; validation 327 to ensure that objects of each type are created within acceptable values, limits, ranges, or formats; and notification 328 to ensure that business components are notified before, during, and after any creation or modification of event information. Persisitent storage 314 is updated during the notification process. The event server also includes data access views 322 to provide connected or disconnected views into subsets of event data. The data access views also access the persistent storage. The component messaging provides a common messaging interface, process completion logging, and error logging.

[0226] Referring again to FIG. 14, DeviceCore 330 is a client side Active-X Windows-based server responsible for managing connections to local or networked hardware devices. All business components that use, or need knowledge of, hardware devices connected to the system do so by establishing a connection to this server. It provides standardized methods for creating and modifying device data, and sends both synchronous and asynchronous messages to connected business components, allowing them to modify device messages before other components respond to their information.

[0227] Referring now to FIG. 17, the DeviceCore 330 includes creation and manipulation 332 to provide standardized methods for creating and modifying data; and notification 333.

[0228] Referring now to FIG. 18, the DeviceCore 330 includes SerialDeviceComponents 331 which interface with AgInfoPorts 554 to manage the connection to local or networked devices such as an RFID reader 30, scale 54, or ultrasound 56. The DeviceCore performs manipulation, and notification functions and allows AglnfoPorts 554 to send data to the IndividualAnimalManager 482 component and other third party components.

[0229] The Core Components

[0230] Referring to FIG. 19, the following core components are used throughout the data collection, SSRI, ETL, and reporting functions. Id 210 is a unique identification number used to identify events, animals, regimens, images, and other entities. In one embodiment, the identification is a combination of machine identification and universal time that is created using the Microsoft GUID (Globally Unique Identifier) data type which allows for any machine in the world to create 1000 unique identifiers per second.

[0231] In this embodiment of an event database, an Event 220 is a group of data used to represent a discrete transaction against an animal. The event structure allows for any type of data, including binary data, to be attached to an animal or item, and allows for that data to be uniquely identified, classified, time-stamped, audited, and related to other data for that animal or item.

[0232] Referring now to FIG. 20, the dynamic event object 220 includes unique identification 221 of the event with respect to parent, child, or sibling relationships to other event objects;

[0233] security 222 which validates all data stored within the event object; type 223 which specifies the classification of the commodity such as animal, grain, or fruit; auditing 224 which includes the date and time of the transaction, the date and time of creating the event, the transaction creation method, and the transaction origin; and object data 225 which identifies the transaction type and supports the storage of any serializable data such as strings, numeric, data, time, or a binary stream or file. In this embodiment, a dynamic event object is a transaction-based data element that can be related to an animal, person, place, group, or object. Some examples of events include animal data such as weight or breed; group data such as ranch or shipping date; and customer information such as address or purchase order. The event representation permits description of a series of processing steps which result in the completion of a specific function or activity, so that a set of actions may be treated as a single unit of work.

[0234] Referring again to FIG. 19, DataSource 230 abstracts a data source such as a commadelimited file, an ISAM database, a Client/Server SQL database, or other data source. All data manipulation requests, such as queries and manipulations, are routed through this component. In this embodiment, MicroSoft Data Access Objects.TM. and MicroSoft Active Data Objects.TM. are encapsulated to provide this level of abstraction.

[0235] The EventTranslator 240 allows users or administrators to provide alternative languagespecific representations for event types and details. This capability allows component interfaces to display information using the preferred language of the end user, while preserving the standardized/normalized value of the event information stored in the database. All events are stored in the database using a "Core" language. When these events, and their values, are displayed in a user interface, they are translated into the native language of the target user. The EventCore uses this component to translate user- or language-specific events back into their "Core" values.

[0236] As systems expand, so do their storage needs. SchemaSniffer 250 is a sub-component which validates existing storage capabilities, and scales those capabilities as required by the system components. SchemaSniffer provides for the automated scalability of database structures by ensuring that storage will be available for storing the minimum requirements of all components. Components using SchemaSniffer have the ability to create and enhance their storage specifications without worrying about the effects it will have on other system components--even those using the same storage location.

[0237] Entity Registration 260 connects to the GlobalCore to configure the dynamic database connections used by other components and the EventCore. This includes managing user information such as entity id, password, and language; and the connection properties for the Events Database, component database, sound file, and report templates.

[0238] Data Collection/Real-Time Data Lookup Components

[0239] The data collection and real time data lookup components are illustrated in FIG. 21, and discussed below in terms of event creation 420 as shown in FIG. 22; group data creation 440 as shown in FIG. 23, user interface 460 as shown in FIG. 24, and data management 480 functions as shown in FIG. 25.

[0240] Referring now to FIG. 22, ApplyEvent 422 is an ActiveX control that uses the EventCore to create events, and through EventCore notification support the creation of special events, which are those events that require device information, keyboard input, or work card scans to complete the gathering of event information. Special events also include handling automatic sequences; transaction rollbacks such as "undo all events"; and animal processing such as "select previous animal". This is the primary event creation component used by the Individual Animal Manager.

[0241] EventDrillDown 424 is an ActiveX control used to show, in detail, a specific individual animal/commodity event, and to display image events. If used to view a new event created against the Active Animal, which is the animal currently being processed, it will allow for the event to be altered or deleted.

[0242] Aliases 426 allows aliases to be created for specific Events or Regimens. An alias can be a RFID or barcode value, such as those of a work cards, or may be any combination of user- or system-defined word, phrase, or number. Before events are created, or identification devices processed, the information is analyzed against the event aliases defined in the system to determine if they represent alternative events that should be applied to an animal. Numerous configurations can be created for each list of Event Aliases, and their real event types and details.

[0243] AnimalControls 428 is an internal ActiveX control that provides event data for individual animals. EventValidation 429 is used to check event data.

[0244] Referring now to FIG. 23, the GroupEvents 444 component permits any event or one or more regimen to be applied to a group of animals and to create individual event transactions for each animal in that group. This ability to enter data common to many animals greatly simplifies the data entry process. The component accesses existing groups in the database and presents them in drop-down menus for user selection. It also integrates the FilterAnimals and WhichAnimals components to provide both easy-to-use and complex methods of selecting a group of animals. The component also allows the user to set the date that the assigned events took place.

[0245] Regimens 442 is an ActiveX tree-view control used to create and manipulate groups of events that should be applied to an animal. It allows for the end-user or administrator to create any number of regimens that contain specific events. Each event can further describe itself by having child events created that attach themselves to it. One or more regimens can be selected to be applied to an animal. This allows for the specification and organization of events to be created based on the process that is occurring, such as animals being calved, or animals being received by a feedlot.

[0246] Referring now to FIG. 24, Audio 462 is an ActiveX grid control used to configure audio feedback for different permutations of Event types and Event details. It allows for the differentiation between identical event details for different event types, or a method to override the default audio feedback.

[0247] The AudioPlayer 464 sub-component provides standardized audio feedback to the user.

[0248] It is responsible for providing specific audio feedback for event type and event detail permutations as configured through Audio or by system defaults. It is also responsible for the "intelligent playback" of audio strings like numbers such as "one-hundred twenty-one" rather than "one-two-one".

[0249] The LatestEvent 464 component, retrieves and stores specific events. It is used in forms to allow users to decide what event they want displayed and is used in AglnfoChutes to monitor cells in MicroSoft Excel worksheets.

[0250] CheckList 468 is an ActiveX control that allows for user- or system-specific checklists to be created. It provides consistent checklist functionality across components. List items can be added, removed, or modified by the end user as needs change.

[0251] Label 470 is an ActiveX control that hooks to the GlobalCore to allow for languagespecific or user-configured labels in the components. All labels and text items in the components will allow for their values to be changed dynamically by the end-user. This allows for complete language-customization of user interfaces.

[0252] ComboBox 706 provides consistent functionality across components by automatically extracting Event types, details, or other properties as they currently exist in the events database or as configured through the EventConfiguration component. It also provides pattern matching as the user types, and search features.

[0253] Referring now to FIG. 25, EventTree 481 is an ActiveX tree-view control that hooks to an Animal control 428 to display all the event information, in real time, that exists on an animal. It organizes events by the dates that they were applied, and by their hierarchical relationships with other events. It uses the EventDrillDown component 424
to provide a method for drilling-down into the specific event information including images, which allows for modification of the event during the working session of an Active Animal.

[0254] Referring now to FIG. 26, the Individual Animal Manager (IAM) 482
component is the container that incorporates all three core servers 300, the Animal 428, ApplyEvent 422, Regimens 442, EventTree 481, and numerous AnimalDataltem 484 components for collecting and viewing transaction-based data. As the data is created by its subcomponents, it is saved to an Animal's record and displayed along with any historic data. In this embodiment, the data is displayed in a chronological format using the EventTree 481 component, complete with multitier parent/child relationships.

[0255] Referring again to FIG. 25, AnimalDataltem 484 is an ActiveX control that hooks to the EventCore and extracts specific animal data from the transactional information. It allows the end-user to select specific event data to be displayed, such as BIRTHDATE, the last weight, or the first OWNER for the "Active Animal", which is the animal that is currently being worked. The control allows for VB Script to be used to aggregate or summarize data, such as by calculating "Age in months" using the BIRTHDATE. The AnimalDataltem 484 is a combination of LatestEvent 464
and Label 470.

[0256] The UserEventCollector 486 scans an Events database and extracts all the distinct Event Types and Event Details that currently exist on the animals. This information is loaded into the components database and used by all instances of the ComboBox control 706.

[0257] EventConfiguration 488 is used in conjunction with the EventValidation 429 component to validate existing data and to ensure that system and user-defined guidelines are being applied to data as they are collected.

[0258] BeefLink Enterprise 492 is a combination of data collection components that utilize a LAN or Internet-based network to retrieve and store event information in a client/server environment. This system can use any OLE-DB or ODBC-compliant database for event information storage, including SQL Server and Oracle. With events stored in a networked server, animal information is immediately consolidated and available across all feedlot chutes or enterprise business centers.

[0259] Share, Switch, Route, Interface ("SSRI") Components

[0260] The SSRI components 500 are summarized in FIG. 27 and discussed below according to selection and query functions 520 which operate on transactional data; data sharing and reformatting of data representation 540; email capabilities 570; processing of data 580; and interfacing to third party software 590.

[0261] Referring to FIG. 28, WhichAnimals 522 is a set of ActiveX controls with user interfaces to provide a means of isolating the animals, if any, that fulfill user- or system-definable criteria. Providing animal or commodity information to data marts, data mines, and general reporting tools first identifying which subset of animals or commodities in the data warehouse need to have information extracted. Since there may be millions of animals or commodities, segregating the data before migrating or transforming it is enables efficient processing. The resulting group of animals or commodities can be fed directly into the WhatData 526
components.

[0262] WhichAnimalsUI 524 is a user interface that allows the user or administrator to create, delete, or alter the WhichAnimal items that are used for identifying the criteria for selecting animals. It simplifies the process of selecting animals by presenting a checklist of WhichAnimal criteria.

[0263] WhatData 526 is a set of ActiveX controls, with user interfaces, that provide a means of extracting specific transactional data for one or more animals commodities and providing it in a relational format that is typical for spreadsheets, data marts and data mines. The controls can process, aggregate, and summarize the transactional data and provide both atomic and list-oriented data for every type of event, or event property, that is associated with an animal or animal group.

[0264] CheckIn 528 is a component used by copy-protection and event registration components to gather "411" and billing information from BeefLink and Pony Express stations. This DLL searches a system for all events databases, gathers pertinent information, and delivers it to an Internet-based information server.

[0265] Referring to FIG. 29, which illustrates data sharing and representation components, the PonyExpressApplication 542 server application accepts files from BeefLink databases, stores the data, and sends it out to other parties that have the authority and interest in getting the data. It encapsulates the ShareDate 578 component for creating proprietary AGIL files containing update information necessary for each producer. It automatically creates these update files, and emails them to the producer or Pony Express recipient, and allows including or excluding individual event types from the oputput file by the entity receiving the data.

[0266] EventImporter 546 is an application used to import relational data, in the form of one animal per row with animal attributes in each column of the row, from any databases and tables. The application will convert relational data into transaction-based data, allowing event attributes such as Animal Id, Date/Time, Entity Id, etc. to be extracted from the relational data. In this embodiment, the application is used to import most packing plant data.

[0267] The EventStorageUpdater 548 application utilizes the Schema Sniffer 250 to verify the Events database structure, and to modify it if necessary. It will also provide the ability to make a backup of the database.

[0268] AgInfoPorts 554 is a user interface to all serial devices used to collect data with the components. It allows for connecting any number of serial devices (one for each port), all with unique filtering, validation, device triggers, and min/max values. The user may set a port's serial parameters and view raw data in the port buffer for trouble-shooting purposes.

[0269] ShareData 578 allows users to easily save and move their data. The functions include both disk storage and automatic email capabilities, ftp, and a compacted XML file structure. Data that has already been sent is tracked and not sent again, providing incremental update files.

[0270] Events can also be included or excluded from being sent with the AGIL file. ShareData incorporates WhichANimals 522 and FilterAnimals 608
for selecting specific animals.

[0271] Referring now to FIG. 30, the AgInfoPort 554 component connects physical hardware, such as scales 54, thermometers 55, Ultrasound 56, RFID readers 30, bar code readers, and other monitoring devices to the device server 330. The component includes device settings 555 including logical device names and default settings for know devices; serial port settings 556 including user configurable port assignment and baud rate; serial port monitoring 557 to display data received through a specified port and logging of that data to a file; user configurable device communications 558 including data to configure the device and to trigger the device to send information; user configurable data filtering 559 for noise elimination, string matching, and data stripping; and data validation 560 to specify ranges or lists of values for filtered data and to create indicators of data stability. The component provides a graphical display showing COM port status, current data, and auditing information.

[0272] Referring now to FIG. 31, PEProcessing 572 automatically searches email attachments and extracts the entity information such as sender, recipient, time sent, time received, and attachments, and prepares it for the ETL Engine 630. The data is converted to transaction-based events as well as a user-specific data mart.

[0273] SendMailControl 576 bundles email messages into a specific format such as subject field, message text, sender, etc. and ensure proper formatting for email-based disconnected networking solutions where automated message processing is desired.

[0274] Referring now to FIG. 32, ShrinkCalculator 582 is an example of a processing component. This application runs simultaneously with the Animal Manager and other real-time components. During the day, animals are losing water weight as they wait, under stress, to be processed. The result is a weight that is lower than what it should be. This shrink can be represented as a percentage, with respect to time, of the total animal's weight. The ShrinkCalculator component calculates this shrink, and creates an adjusted weight event that describes the animal's true weight, as if shrink not been a factor. This adjustment can be used in conjunction with AverageDailyGain 722 and WeekToShip 720 to provide more accurate finishing weights and information.

[0275] The IncomingPriceCalculator 490 component is typically used at chute-side to calculate incoming animal prices by comparing current weight with a base weight, base price, and value slide.

[0276] AglnfoChutes 550 is a real-time extension of the AgInfoSheets technology. WhatData items are used to populate Excel.TM. spreadsheets in real-time as animals are processed. The component allows for complex templates to be created with Microsoft Excel that extract Active Animal information and notifications from the Event Core. Information can be automatically used by charts, graphs, equations, macros, and VBA functions. In this embodiment, AglnfoChutes has two modes: Single-Animal and Multiple-Animals. Single-Animal mode refreshes the spreadsheet for each animal as it is processed, allowing for operation similar to the Individual Animal Manager. Multiple-Animals operation streams in a row of data for each animal processed, inserting rows for formulas, graphs, charts, and macros as necessary. Embedding AnimalDataltem into worksheets allows for new events to be created by the worksheets.

[0277] AgInfoConvertUltrasound 552 is a specific component written to convert metric units for ultrasound measurements into English units. The component establishes a connected with the AglnfoEventCore and monitors for any ultrasound events, which it modifies.

[0278] EventSort 620 establishes a connection to the EventCore and allows the user to trap for specific event types and values as they are being created against an animal. Any number of events and values, including ranges of values, can be trapped, and specific audio feedback can be specified for each. Events may be created in response to this feedback from the Event Core. This component supports fully customizable decision support systems that operate in real-time.

[0279] SequenceEditor 622 allows the user or system administrator to configure automated sequences to be used for event data during animal processing. When an event requests a sequence be used, a user-defined prefix, suffix, and numeric value are concatenated to produce an alphanumeric value. The numeric value is then incremented by a user-specified amount. Any number of sequences can be created and configured in this manner.

[0280] IPrinters 624 runs concurrently with the Animal Manager or Group Events to establish a connection to the Event Core to monitor for PRINTER or VISUALID events being created. When these events are created, a barcode label for the Animal Id and Visual Id is printed on a label printer.

[0281] Processing controls including WeektoShip 720 and AverageDailyGain 722 establish a connection to the Event Core and monitor weight events that are being recorded against an animal. They run simultaneously with the Animal Manager to provide value-added data gathered during animal processing. WeektoShip draws on historic data such as sex and previous weight, and current data such as target weight and current weight, to calculate the week of the year the animal is to be shipped or slaughtered. The result is displayed and spoken back to the user in real time as well as written to the database. AverageDailyGain calculates an animal's gain over the last period for weights collected. It displays the gain, speaks it back, and writes it to the database, if desired, and may graph the history of each animal's weight as the animal is scanned.

[0282] Referring now to FIG. 33, interfaces to third party software is accomplished by both general components and custom interface components 592 that are developed for providing specific post-processing file formats of the third party software.

[0283] Importers 594 is an ActiveX control used to extract information from fixed-width files into an Excel spreadsheet. Data location within the file is specified in various spreadsheet cells, and the component is responsible for extracting the data from the file and populating those cells.

[0284] Extract, Transform, Load ("ETL") Components

[0285] FIG. 34 summarizes the ETL components. EventManager 602 archives animals based on events and allows for electronic id tag reuse and scrubs data based upon user or system definable criteria.

[0286] Animal 604 is used to bulk-load all Events for a specific animal. Events are loaded directly from the transactional database structure and organized into a sorted tree structure collection as illustrated in FIG. 61. In this example, specific weight event properties are quickly retrievable according to the date of a weight. The control provides standardized methods for extracting specific animal data for business processing, aggregation or summarization. Pony Express Relay Database.TM. 606 identifies the ownership of animal data based on the event properties of the events that exist in the data warehouse. In this embodiment, data ownership is defined as any data that exists on an animal that had events applied to it by the specific owner in question. The component will also extract, compress, and encrypt the specific animal data so that it can be propagated to other systems via disk or network connections such as email, web, LAN, or WAN. This is commonly referred to as an AGIL file. A version of the componen