J. Anim Sci. 2007. 85:503-511. doi:10.2527/jas.2006-352
© 2007 American Society of Animal Science
Development of computational models for the purpose of conducting individual livestock and premises traceback investigations utilizing National Animal Identification System-compliant data1
J. A. Scanga*,2,
T. Hoffman*,
J. Picanso
,
S. V. Rajopadhye
,
D. G. Kim
,
A. Gupta
,
R. Forbes
,
J. Ladd
and
P. J. Burns
* Department of Animal Sciences, Colorado State University, Fort Collins 80523-1171;
and
The Governors Office of Innovation and Technology, State of Colorado, Denver 80203;
and
Computer Science Department, Colorado State University, Fort Collins 80523-1873; and
and
Academic Computing and Network Services, Colorado State University, Fort Collins 80523-1018
 |
Abstract
|
|---|
Many of the efforts surrounding the development of the National Animal Identification System have encompassed the identification of livestock production and handling premises as well as individuals or herds of animals, whereas little effort has been directed toward the ultimate goal of animal traceback within 48 h. A mock data set representative of the Colorado cattle population was created for modeling of cattle traceability. Using this data set, algorithms were developed to complete rapid and accurate traceback and traceforward of animals or premises or both. On July 19, 2005, the Colorado Department of Public Health and Environment, in conjunction with the Colorado Department of Agriculture, conducted a test exercise pertaining to homeland security. The exercise team randomly identified animal number 926,583 (of the 2 million total animals) as a potentially infected animal of interest and requested a traceback of this animal. Traceback was accomplished in 215 s, and 540 primary coresident animals were identified. However, due to animal movements, the number of coresidents (animals exposed, directly or indirectly, to the animal of interest) expanded with coresidency level (level 1 = direct contact; level 2 = direct contact with an animal that had direct contact with the animal of interest; level 3 = direct contact with an animal that had contact with an animal that had direct contact with the animal of interest, etc.) to more than 1.2 million coresidents at level 4, and more than 90% of all animals identified as a coresident at some level. In addition to the coresidency results, the premises containing the coresidents were identified and sorted by the number of coresidents. Because of animal movement, all 19,391 premises included in the data set had coresidents at some level. This exercise demonstrated the capability of the developed algorithms to complete rapid traceback and the complexity of the resulting animal traceback output.
Key Words: animal identification National Animal Identification System traceability traceback traceforward
 |
INTRODUCTION
|
|---|
The National Animal Identification System (NAIS) was released by USDA-APHIS in April 2006 (USDA, 2006c
) and is currently scheduled to become mandatory in January 2009. To date, much of the effort surrounding development of the NAIS has encompassed identification of livestock production and handling premises and identification of individuals or herds of animals. However, little effort has been directed toward the ultimate goal identified by NAIS (USDA, 2006c
) of animal traceback within 48 h.
Including the first case of bovine spongiform encephalopathy detected in December 2003, USDA-APHIS has conducted 3 bovine spongiform encephalopathy epidemiological investigations, which required 44 d to complete (23 December 2003 case; USDA, 2004
), 75 d to complete (10 June 2005 case, USDA, 2005
), and 49 d to complete (15 March 2006 case; USDA, 2006a
). The outcome of these investigations varied greatly, from the 10 June 2005 investigation locating 342 of 413 animals of interest (USDA, 2005
), to the 15 March 2006 case concluding that the date of birth and herd of origin were indeterminate (USDA, 2006a
).
In all of these investigations, traceback and traceforward were completed by manual record review, and all failed to meet the proposed requirements of NAIS (i.e., 48-h traceback). Davis et al. (2006)
tested a system of identity verification that utilized DNA fingerprinting. They correctly identified 100% of the animals evaluated using blood or hair DNA; however, the verification process required 32 h and 14 min to complete, leaving less than 16 h for traceback activities.
The objective of this study was to develop mathematical models and information technology that are capable of conducting accurate and rapid traceback and traceforward on extremely large datasets that contain NAIS-compliant data, thus narrowing the 48-h window for animal identification.
 |
MATERIALS AND METHODS
|
|---|
Animal Care and Use Committee approval was not obtained for this study because the data were computer modeled and no animals were involved in the research.
Data Set Development
Before traceback can be performed, a data set of animal events is required. Because a traceability system is not currently in place, such a data set is not available. Therefore, for the purposes of this effort, a mock data set representative of the Colorado cattle population was created (Table 1
). Because of their differences in ages and premises-movement characteristics, 3 types of cattle were simulated: 1) mature cows, 2) preweaned calves, and 3) feedlot cattle. Mature cows stayed within ranch (or dairy) premises. Preweaned calves were modeled on the same premises as mature cows with their ages being representative of preweaned calves. Feedlot cattle were "born" on ranch premises and were moved to feedlot premises, with their ages being characteristic of their population. In this data set, the number of weaned calves and cattle on feed differed from population estimates (USDA, 2006b
) because cattle born outside of the 800,000 cows were not modeled in the data set.
A Monte Carlo discrete events simulation was used to produce a mock data set of animal events representative of the processing requirements of the actual NAIS data. In this process, an animal was generated (birth on a premises) and then traced from birth to death (or lost/missing) or up until the present, through a variable number of intermediate transactions that consist of multiple events. For example, sale and movement of an animal were modeled as a sold/purchased transaction, and here encompassed 2 events, a sold event at the originating premises, and a purchased event at the destination premises. Each event was written to the data set of animal events that was subsequently used in phase 2 for traceback and traceforward modeling.
The events modeled (Table 2
) were from the NAIS specifications (NIDT, 2003
), except that a birth event was added as a requirement due to the nature of the model (i.e., tracing an animal from birth onward). The 14 specific possible events are given in Table 2
. Only events 0, 3, 4, 7, 8, 10, 11, and 13 resulted in animal movement "in" or "out" of a premises. Thus, these were the only events that should be extracted from the data set for processing. Finally, for this effort, the "missing" event was assumed to be an "out" event.
The data set was developed using the following elements that together characterize an animal population and simulate NAIS transactions: (1) number of animals; (2) probability distribution functions (PDF) that characterize animal life span, premises sizes (number of animals/premises), and number of transitions for each animal; and 3) an events probability matrix. Each transaction may result in 1 or more events, as described below.
Input data to construct the mock Colorado data set was determined from the literature as follows. The National Agricultural Statistics Service (USDA, 2006b
) reported that 67.3% of beef cow operations had 1 to 49 cows in 2004, representing 15.0% of the beef cow inventory. Beef cattle operations totaling 14.3% had 50 to 99 cows and 16.0% of the cow inventory. Operations consisting of 100 to 499 cows in the herd represented 16.3% of cattle operations and 47.0% of the beef cow inventory. Large operations of 500 cows and over included only 2.0% of the beef cattle operations but encompassed 22.0% of the beef cow inventory in 2004.
On 1 January 2005, the Colorado cattle inventory totaled 2.5 million animals, ranking 10th nationally. This total consisted of 639,000 beef cows, 101,000 dairy cows, 180,000 beef and dairy replacement heifers, 570,000 fed heifers, 840,000 steers, 40,000 bulls, and 130,000 calves under 5 mo of age (USDA, 2006b
). Colorados 2004 calf crop consisted of 740,000 calves, whereas the total number of cattle and calves on feed reached 1.1 million animals on January 1, 2005 (USDA, 2006b
).
To produce a data set for traceback that was representative of Colorado cattle, 800,000 mature cows, 700,000 preweaned calves, and 500,000 feedlot cattle were modeled on 19,391 total premises, 1,000 of which were feedlot premises. The PDF used to generate the mock Colorado data set are given in Figures 1
, 2
, and 3
for mature cows, preweaned calves, and feedlot cattle, respectively. Elements of the simulation described above are illustrated for mature cows in subsequent paragraphs.

View larger version (12K):
[in this window]
[in a new window]
|
Figure 1. Mature cow population distributions (n = 800,000) for (a) life span (age, d), (b) premises size (number of animals/premises), and (c) number of NAIS transactions undergone by each animal.
|
|

View larger version (10K):
[in this window]
[in a new window]
|
Figure 2. Preweaned calf population distributions (n = 700,000) for (a) life span (age, d), (b) premises size (number of animals/premises), and (c) number of National Animal Identification System transactions undergone by each animal.
|
|

View larger version (13K):
[in this window]
[in a new window]
|
Figure 3. Feedlot cattle population distributions (n = 500,000) for (a) life span (age, d), (b) premises size (number of animals/premises), and (c) number of National Animal Identification System transactions undergone by each animal.
|
|
First, the animals life span was selected from the PDF given in Figure 1(a)
. No mature cow had a life span of less than 1 yr (365 d), whereas 22% had a life span between 1 and 22 yr. Then, "now" (the current date and time) was determined as a random fraction of the animals lifetime, establishing the animals date of birth in the past.
Second, the animal was placed on a birth premises using the PDF given in Figure 1(b)
. Note that 15% of the premises were of sizes 1 to 10 animals, 30% of the premises were of sizes 11 to 25 animals, etc.
Third, the number of transactions for the animal was then selected from the PDF given in Figure 1(c)
. Here, 12% of the animals underwent 1 transaction, 18% underwent 2 transactions, etc. The maximum number of transactions modeled here for mature cows was 5 and was selected 14% of the time. The transactions for each animal were overlaid randomly in time from the animals birth date to "now." The events probability matrix used for mature cows in this exercise is given in Table 3
.
Fourth, for each transaction, events were selected probabilistically from the events probability matrix. For example, if 2 transactions were selected, for each of the 2 transactions, there was an 80% probability of the sold/purchased events, a 15% probability of the sold/slaughtered events, and a 2.5% probability for each of the died and missing events. In the case of a terminal event (the second event of the sold/slaughtered transaction, died, or missing), tracing of this animals event history ceased as of the date of that transaction, and processing proceeded with the next animal.
Figures 2
and 3
contain the PDF for preweaned calves and feedlot cattle, respectively. Preweaned calves and feedlot cattle had maximum life spans of 240 and 690 d, respectively. As preweaned calves were young, only 3 possible transactions were modeled, whereas 6 possible transactions were modeled for feedlot cattle. Preweaned calves were placed onto the same premises as mature cows, whereas feedlot cattle originated on those same premises but were transitioned onto much larger (and therefore far fewer) distinct feedlot premises. Tables 4
and 5
contain the events probability matrices for preweaned calves and feedlot cattle, respectively. For preweaned calves, a tagging event was modeled, although this event was not processed during traceback and traceforward.
The 700,000 preweaned calves were distributed among 18,391 premises locations, averaging 62.5 animals per premises. The average age of the calves was 110.6 d of age, calculating to an average date of birth during the first week of April. Eighty percent of the calves underwent only 1 transaction (ranged from 1 to 3), which was tagging of the animal.
The 500,000-feedlot cattle were distributed among 1,000 premises, averaging 500 animals per premises. The average age of the feedlot calves was 441.2 d, with the largest distribution percentage being at 16 mo of age and the majority ranging from 14 to 17 mo of age in the feedlot. This would imply that the largest proportion of calves in the feedlot during July were born during April of the previous year. The average number of transactions was 3.4 per feedlot animal (ranging from 1 to 6).
The Mock Colorado Events Data Set
An events data set in US Animal Identification Plan format (NIDT, 2003
) was produced (Table 6
), with the following fields (in which length refers to number of characters): (1) the event code (from Table 1
), length 2; (2) the event premises, length 7, beginning with an x; (3) the sighting premises, length 7, beginning with an x; (4) the event date and time, length 12 in format yyyymmddhhmm, (5) US Animal Identification Number (USAIN) number used code, y or n (here, y); (6) USAIN, length 15, with base offset of 2 billion; (7) species, length 3 (here, bov for bovine); (8) electronic id format (here, n for no); (9) animal birth date, length 8 in format yyyymmdd; (10) sex (here, m); and (11) breed (here, br). Note that some parameters that are immaterial to the traceback-traceforward process were specified arbitrarily.
The first mature cow, USAIN 000002000000001, was born (event code 00) on 19 July 2004 at 1449 on premises x000085. This mature cow then moved out (event code 04; e.g., sold) of its birth premises on 1 September 2004 at 0411 and moved into (event code 03; e.g., purchased) premises x000084. This mature cow underwent a total of 5 moved out/moved in (e.g., sold/purchased) transactions, and was alive "now." The next mature cow was born 4 July 2004 at 1054 on premises x000008, underwent 1 moved out/moved in event on 10 September 2004 at 0756, and was identified as missing (event code 13) on 24 February 2005 at 1822, and was therefore no longer traced (Table 6
).
Summary statistics for the complete Colorado data set, mature cows, preweaned calves, and feedlot cattle, concatenated into 1 file, are presented in Table 2
. The resulting file contained 7.7 million event records and was 483 million bytes in length.
Computing Resources
The data set produced was large. In addition, processing requirements were daunting because the data must be searched many times due to animal movements. Even for this data set, encompassing only Colorado, significant computational and network resources are required. Therefore, the Colorado Grid (CoGrid, see http://cogrid.colostate.edu/cogrid/; last accessed 6 October 2006) node at Colorado State University was selected for processing the data. The CoGrid node at CSU consists of 2 Sunfire 6800 nodes (Sun Microsystems Inc., Santa Clara, CA), each with 24 central processing units, 96 gigabytes of RAM, and 1 terabyte of attached Hitachi disk storage. In addition, a fast network connection was desirable to move the large data-sets to their required locations. The target data set, 483 megabytes in length, took more than 3 h to upload to the CoGrid system over a residential Comcast cable modem connection (1.0 megabits/s). However, it took only 73 s to upload over a local area network at CSU on a 100 megabits/s connection. These requirements will, of course, increase for processing of the much larger national data set.
Algorithm Development
In this section, we define traceback and traceforward as well as the terms that we used in the description of our programs. An infected animal was an animal that was identified to have disease. The basic idea was to find all the possibly infected animals and their premises after an infected animal was identified. In our model, disease spread by being coresident with an infected animal on the premises, regardless of the species. Hence, traceback and traceforward consisted of finding the coresidency set, as defined below.
A primary coresidency, C1, is the set of animals that have been directly coresident with the infected animal. A secondary coresidency, C2, is the set of animals that have been coresident with animals in C1 after the animals in C1 were defined as possibly infected, provided they are not already in C1. An ith coresidency, Ci, is a set of animals that have been coresident with animals in Ci1 after they were possibly infected, and provided they are not in Ck for k=1 ... i1.
The main idea was to find all the possibly infected animals and their premises after a primary animal was identified as diseased. Based on whether an animal had contact with a possibly infected animal, we assigned each animal its appropriate coresidency level. If the coresidency level of an animal was not defined (i.e., a coresidency of 1), we regarded the animal as safe.
We found each coresidency level using the 2 basic operations: traceback and traceforward. These 2 operations were completed by giving an animal a timestamp, t, and then: (1) traceback found all the premises on which the animal had been resident after time t and also provided the time periods for each visited premises; and 2) defining a premises and a time period, traceforward found all the animals that were (or have been) present on the premises during the period of interest. The result of traceforward following traceback and the infected animals birth date defined the criteria for primary coresidency.
Model Assumptions
For the purposes of this research, it was assumed that (1) none of the animal identification numbers were reused or reallocated after death/slaughter/died/tag lost events; (2) events in the data set captured birth, death, and movement of each animal, and hence, sighting/reporting premises, animal date of birth, age, sex, breed, species, and identification electronically read were meta-information and were not used during traceforward and traceback; (3) the event data file was available for running the query, and this may have required some preprocessing for faster execution of traceforward and traceback; (4) the entire event data set could be stored in physical memory; and (5) an animal was infected if it resided on the same premises as an infected animal, the infection start time was the move-in time of an animal into the infected premises, and a premises was infected if it had an infected animal on it.
Algorithms
Three algorithms: (1) traceback (Table 7
); (2) traceforward (Table 8
); and (3) the entire traceback and traceforward procedure (Table 9
) were developed. To determine the coresidency sets in the algorithm, we utilized 2 arrays, 1 sorted by animal and time, and the other by premises and time. The algorithms showed conceptually how to perform traceback and traceforward; our final implementation incorporated a number of optimizations to speed up the search. This model was tested by randomly identifying 13,500 of the 2 million unique animal identifications in the data set and completing full traceback and traceforward.
Sequential Program
The program consisted of the 3 parts: (1) initialization; (2) traceback and traceforward iterations; and (3) output of results. In the initialization step, the program read the data files into memory and initialized the premises and animal arrays. The premises list was a linked list of time periods. This list was updated with current values during the query. The animal table was an array of animal characteristics, including coresidency number, current premises, infected premises, and infected times and dates, and was also updated during the query.
After initialization, the program updated the infected animal record in the animal table with its birth date and its premises of origin. It then repeated the traceback and traceforward until there were no remaining animals to be searched. In fact, the traceback and traceforward was intertwined in this sequential program. Whenever the traceback found a premises and its period, the program immediately performed traceforward using this information, and wrote the result directly to the animal table.
The program used 2 optimizations of this basic procedure: (1) it updated the animal table whenever the animal was not found in the previous iteration; and (2) the infected time in the table was later than the new infected time. At the next iteration, the newly found animals were processed similarly. If there was no such animal, the processes ended and the program wrote the result to the output file. The interweave of traceback and traceforward was based on the observation that the program took the minimum of all the possible values when computing coresidency; any processing order gave the same result. This interweave reduced the computation time by eliminating the copy of the results.
Another strategy for optimization was reducing the search domain on traceforward. During traceforward, we must also consider the event before the start time because animals might move onto a premises before the start time and move out of the premises after the end time. However, it was not necessary to search from the earliest time at every search. Suppose some animals were moved onto the premises before the end of the searched period. Then, the animals were not detected; however, they could have been detected either in previous iterations or in the current iteration. Their infection time was earlier than the start time. Whereas an individual, local search might miss some animals, it did not affect the global final results. Hence, we could start the search from the end of the searched time period. To optimize this process, new queries were generated for the new animal or premises to avoid intervals that had already been considered.
 |
RESULTS AND DISCUSSION
|
|---|
On July 19, 2005, the Colorado Department of Public Health and Environment, in conjunction with the Colorado Department of Agriculture, conducted a test exercise pertaining to homeland security. One aspect of this exercise consisted of traceback and traceforward on an animal in the mock data set developed as described above. The primary objective of the effort was to determine how fast the data could be processed. A secondary objective was to determine and assess the nature of the output. In a real event, the output would be used to inform first responders where to begin their investigation. The agricultural exercise team contacted CSU, and randomly identified animal 926,583 (of the 2 million total animals) that was potentially infected, and requested that the CSU team perform, on the CoGrid node, a traceback and traceforward for this animal. Animal 926,583 was born on June 23, 2004, on premises 7,386. It transitioned July 21, 2004 (a sold/purchased transaction) to feedlot premises 19,087, where it remained alive until the time of the simulation. The traceback/traceforward was performed on the CoGrid node in 215 s, and results for the number of coresidents found at the various levels are presented in Table 10
. Only 540 level 1 (primary) coresidents were found for this animal. However, some of the primary coresidents changed premises and became coresident with other animals (coresidency levels 2+). Note that due to animal movement, the number of coresidents expands dramatically with coresidency level, with a maximum of over 1.2 million coresidents at level 4. Indeed, over 90% of the animals were identified as coresidents at any level, a manifestation of the 6 degrees of separation rule, where purportedly an individual is related to every other individual on the earth through 5 interconnections (Milgram, 1967
).
View this table:
[in this window]
[in a new window]
|
Table 10. Summary of coresidency results for tracing animal 926,583 (out of 2 million cattle residing on 19,391 premises) using the developed algorithms and CoGrid
|
|
To assess whether the processing time for this particular case generalizes the algorithms performance, traceforward/traceback was performed for a large number of randomly selected target animals. For this exercise, 13,500 animals encompassing all 3 types of animal populations were selected at random, and traceforward/traceback was performed. This exercise yielded minimum, maximum, mean and SD times of 15.33, 120.20, 75.07, and 21.67 s, respectively. These results are relatively stationary with respect to the number of samples, indicating that the sample population is adequate. The small range in processing time required indicates that processing time is determined principally by the aggregate movement of animals among premises rather than by the characteristics or movement of any individual animal.
In addition to the above coresidency results, the premises containing the coresidents were output, and sorted by number of coresidents, both for level 1 coresidents and for all coresidents. Of the 540 level 1 coresidents, 8 were no longer alive, 512 were still alive on premises x019087, 6 were still alive on premises x007386, and 15 were still alive on other premises, encompassing 17 total premises for level 1 coresidents. Due to animal movement/commingling, all 19,391 premises had coresidents to the animal of interest at some level, a daunting proposition for first responders for diseases that spread extensively throughout premises.
A number of conclusions and recommendations can be drawn from this effort. Very little central processing unit power was required to develop and establish the mock data set. Indeed, the mock data set was developed on a desktop computer. The only limitation for processing of the mock data set will be file size when the problem and data set are scaled up to represent the US livestock population. Additional work is needed in a number of different areas, including determining how the problem scales with the number of animals, the number of premises, and the size and location of the data set(s). If the data set utilized in this research were to be scaled up to represent the US cattle herd, encompassing nominally 100 million animals and subsequently scaled to represent the entire US livestock population (all identifiable species) and also compiled in many locations, communication between the processors and datasets will become a time limiting factor. In order to simulate the challenge of distributed data, a single-processor traceback was conducted on mock datasets that included 2 million, 20 million and 100 million animals. In this simulation, it was assumed that there would be a 5-ms delay for processing the data in a distributed environmenta conservative estimate considering this the typical delay across most advanced networks and allows no additional time for processing delays. In this simulation, a single processor (CoGrid) working on a centralized data set, using a local area network completed traceability on 100 million animals in 28.5 h. If the data were fragmented and stored in more than 1 cyberlocation [i.e., requiring the database communication to occur over a wide area network rather than a local area network], the estimated 252 billion database "calls" would require ~39.9 yr (Table 11
). Additionally, this data set assumed that there were no missing observations or "holes" in the data setan unrealistic expectation. Thus, the behavior of the results and time needed to complete full traceability in the case of missing data along with the capabilities of a parallel processing system should be investigated.
View this table:
[in this window]
[in a new window]
|
Table 11. Simulated time requirements for complete traceability (traceback and traceforward) when the population was 2 million, 20 million, or 100 million animals, using a single processor, with centralized (CoGrid) or distributed data [wide area network (WAN)]
|
|
Improved metrics need to be developed for first responders. Data presented in Table 10
demonstrate that the breadth of traceability increases rapidly as the level of coresidency increases and development of weighting factors based upon coresidency level (higher number coresidents should be weighted lower) and nature of the traceability event (i.e., disease of interest, risk to human health, risk to animal health, economic impact, etc.) are needed to direct first responders to the most critical premises first. Obvious improvements would involve physically and biologically based disease models. In addition, providing geographic information system (GIS) capability to the results (i.e., showing premises locations, animal movements, and providing maps) could be useful for incidence response.
Transportation systems were not addressed in this effort and will be an area that commands additional attention for an effective animal traceability system.
 |
IMPLICATIONS
|
|---|
Animal traceability reaches far beyond the assignment of unique identities to livestock production premises and individuals or groups of animals. The ability to collect, store, manage, and most importantly utilize, the massive amounts of data that will flow into this system will determine the success or failure of this program. Therefore, access to and development of CoGrid scale computing resources and the preparation and testing of traceback and traceforward algorithms must coincide with the development of animal identification technologies and producer awareness programs.
 |
Footnotes
|
|---|
1 The authors wish to express their gratitude to the Colorado Institute of Technology, Sun Microsystems Inc., and Hitachi Data Systems Inc. for the donation of the CoGrid node upon which the data were processed. This work was supported with funding from the United States Department of Homeland Security, Office of Domestic Preparedness, under Grant Number 5EM726DOACI. 
2 Corresponding author: john.scanga{at}csumeats.com
Received for publication June 1, 2006.
Accepted for publication September 23, 2006.
 |
LITERATURE CITED
|
|---|
Davis, J., J. Heller, E. Johnston, D. Fantin, W. Cunningham, and J. Tatum. 2006. Case Study: Use of DNA fingerprinting for verifying identity of individual cattle within a forty-eight hour response period. Prof. Anim. Sci. 22:139143.
Milgram, S. 1967. The Small World Problem. Psychol. Today 1:6067.
NIDT. 2003. Unites States Animal Identification Plan, Version 4.1. National Identification Development Team. http://usaip.info/USAIP4.1.pdf Accessed May 25, 2006.
USDA. 2004. A Case of Bovine Spongiform Encephalopathy (BSE) in the United States. USDA, Animal and Plant Health Inspection Service. http://www.aphis.usda.gov/lpa/issues/bse/BSE_tr_ban_ltr_enc_1.pdf Accessed May 25, 2006.
USDA. 2005. Texas BSE Investigation: Final epidemiology report. August 2005. USDA, Animal and Plant Health Inspection Service. http://www.aphis.usda.gov/lpa/issues/bse/epi-updates/bse_final_epidemiology_report.pdf Accessed May 24, 2006.
USDA. 2006a. Alabama BSE Investigation: Final epidemiology report. May 2006. USDA, Animal and Plant Health Inspection Service. http://www.aphis.usda.gov/newsroom/hot_issues/bse/content/printable_version/EPI_Final.pdf Accessed May 24, 2006.
USDA. 2006b. National Agricultural Statistics Service-Quick Stats. USDA, National Agricultural Statistics Service. http://www.nass.usda.gov/index.asp Accessed May 25, 2006.
USDA. 2006c. National Animal Identification System: Strategies for the implementation of NAIS. April 2006. USDA, Animal and Plant Health Inspection Service. http://animalid.aphis.usda.gov/nais/downloads/print/NAIS_Implementation_Plan_April_2006.pdf Accessed May 25, 2006.