Skip to content

Model Specification

ndh2 edited this page Feb 26, 2016 · 22 revisions

Table of contents

Document history

Specification version 1.1

  • Version 1.0.0 (11 March 2014) — Initial specification, based on NAADSM model specification version 1.2.1.
  • Version 1.1.0 (8 February 2016) — Merged RFC 20121029: New Vaccination Triggers.

Introduction

This document is intended to be a plain-language description of the simulation model implemented in ADSM. Its purpose is to facilitate agreement among current team members on details of the model, to provide a basis for functional testing, and to provide model users and future team members with a complete but accessible description of the model.

Keywords
herd-level stochastic spatial state-transition simulation

Basics

A collection of one or more animals, called a “unit,” is the basis of the simulation. A unit has a production type, size, location, and disease state. The production type may be a single kind of livestock (e.g., “dairy cattle”) or a mixed type (e.g., “cattle and sheep”). Figure 1 shows the states a unit may be in and possible transitions among them.

The simulation proceeds in time steps of one day. Each day units may be affected by biological processes happening in the animals (e.g., the natural progress of the disease), processes happening in the environment (e.g., airborne spread), and/or human actions (e.g., detection, vaccination, and destruction). The “model” is the sum of these processes and actions.

Disease

When a Susceptible unit is infected, it becomes Latent. The infection progresses in the unit from Latent to Infectious Subclinical (shedding agent without visible signs of disease), to Infectious Clinical (shedding agent with visible signs of disease), to Natural Immune, and back to the Susceptible state. Probability functions characterize the length of the periods and this length is determined stochastically for each new infection. The disease is never fatal: that is, all infected units will eventually return to Susceptible unless destroyed. If time-frames for simulations are long, a particular unit may progress through the infected states more than once. Disease states and possible transitions are shown in Figure 1.

Figure 1. States and transitions. The vaccine immune and destroyed states are discussed in section Control measures.

A unit can spend zero time in a state. For example, the parameter for time spent as Infectious Subclinical can be zero. In that case, units will change directly from Latent to Infectious Clinical. A unit undergoes its first transition state change on the day immediately following its infection.

While in the Latent, Infectious Subclinical, and Infectious Clinical states, a chart may be used to determine the prevalence, or proportion of animals infected, on a given day. The chart is stretched to cover the total number of days spent in these states, and the prevalence value for a particular day is obtained by interpolating at the middle of that day (Figure 2). The use of prevalence charts is optional.

  
Figure 2. Example of a prevalence chart (left) stretched to fit 6 days in diseased states (right). The values for day 3 and day 4 are interpolated as shown.

Attempting to infect a unit that is not Susceptible has no effect.

If two units are at the same location, infecting one does not automatically infect the other.

Disease parameters
Parameters specified for each production type:

  • latent period (days)
  • infectious subclinical period (days)
  • infectious clinical period (days)
  • natural immune period (days)
  • prevalence (0-1) vs. time (optional)

The parameters are given separately for each production type. That is, the duration of the disease stages can be different for cattle, pigs, etc.

Disease spread

Direct contact spread

The simulation of direct contact — movement of animals among units — works as follows:

On each day,

  1. Look up a multiplier to adjust the rate of movement of animals based on the number of days since the first detection of the disease. Use this multiplier to scale the movement rate; call the result k. This approximates applying movement-controls over the course of an infection spreading through the population of units.
  2. For each unit A,
    1. Check whether A can be the source of an infection. That is, is it Latent, Infectious Subclinical, or Infectious Clinical, and not quarantined? (Infectious Clinical is always a source. Latent and Infectious Subclinical are optionally a source.)
    2. If A cannot be a source, go on to the next unit.
    3. If using fixed movement, the number of shipments N = ⌊(day+1)×_k_⌋ - ⌊day×_k_⌋. Otherwise, sample N from a Poisson distribution whose mean is k. (k is calculated in step 1 above.)
    4. Create N shipments from A.
  3. For each shipment,
    1. Make a list of units that can be the recipient of a contact, that is, those that are not Destroyed or quarantined or are the source.
    2. If the list is empty, drop this shipment. No exposure is recorded; go on to the next shipment.
    3. Sample a number, distance, from the movement distance distribution.
    4. From the list, choose the unit B whose distance from the source is closest to distance. If several possible recipients are the same distance from the source,
      1. Eliminate the ones where contact is forbidden by zone movement rules. If that eliminates all of them, drop this shipment.
      2. Choose one randomly, giving preference to larger units (a unit with twice as many animals is twice as likely to be chosen).
    5. If movement from A to B is forbidden by zone movement rules (see below), drop this shipment.
    6. If B is not Susceptible, the shipment has no effect on the disease state but is recorded as an exposure; go on to the next shipment.
    7. If a within-unit prevalence chart has been specified for the source unit production type, set P = prevalence in source unit. Otherwise, set P = probability of infection given exposure.
    8. Generate a random number r in [0,1), that is, from 0 up to but not including 1.
    9. If r < P, turn B Latent after a shipping delay.

These steps are also illustrated as a flowchart in Figure 3, and examples are shown below.

Figure 3. Generating direct contacts. The number in the circle links to the continued flowchart on the next page.
Figure 3 (cont’d). Generating direct contacts. The number in the circle continues the flowchart on the previous page.

In its regular operation, the model chooses the number of shipments each day stochastically. For example, if the mean movement rate parameter is 1, a unit may send out no shipments on some days, and 2 shipments on others, but the mean number of shipments over the long run will be 1 per day. The “fixed movement” option, by contrast, provides a predictable, deterministic number of shipments each day. For example, if the movement rate is 1, fixed movement will produce exactly 1 shipment each day. If the movement rate is 0.5, there will be a shipment every second day. Both the regular and “fixed movement” options will produce the same mean shipment rate over the long run.

Direct contact between units is forbidden if either the source unit or receiving unit is quarantined (see section Quarantine). Direct and indirect contact between units can also be forbidden if the source unit and receiving unit are in physically separated foci of the same zone, or if the source unit is in a zone of a higher surveillance level than the receiving unit (figures 4, 5, and 6; see also section Zones).

Figure 4. Movement inside a zone may be allowed, but movement between physically separated foci of the same zone is not.
Figure 5. Movement from a zone to an adjacent zone of a higher surveillance level is allowed, but not vice-versa.
Figure 6. Movement that would cross a zone of a higher surveillance level “as the crow flies” but where a “detour” exists, is allowed.

The progress of the disease in the receiving unit starts at Latent, with the duration of each stage of the disease chosen stochastically, regardless of whether the shipping unit was Latent, Infectious Subclinical, or Infectious Clinical. A unit that receives Infectious Clinical animals could technically be regarded as immediately Infectious Clinical (able to infect other units by airborne spread and indirect contact, and detectable by a farmer or attending veterinarian) but starting the receiving herd at Latent reflects the fact that most of the animals in the receiving unit have to progress through the earlier disease-stages. The disease-state is an attribute of the unit as a whole rather than a direct reflection of the state of a particular animal in the unit.

Direct contacts (even those that do not result in a new infection) are recorded and can be discovered later during trace-investigations.

The size of a shipment is not considered, and the number of animals in each unit does not change during the simulation.

The distance between two units is approximated by a straight-line distance on a map. Cartographic projection is used to convert the latitude/longitude coordinates of each unit to a projected (x, y) coordinate. The Albers Equal Area Conic map projection is used, with the two standard parallels placed at one-sixth and five-sixths of the range of latitudes in the study area, and using the WGS84 model of the Earth.

Parameters for direct contact spread
Parameters for each combination of source production type and recipient production type:

  • Mean rate of movement (recipient-units for shipments per source-unit per day)
  • use fixed movement (yes/no)
  • movement distance (km)
  • shipping delay (days)
  • probability of infection given exposure
  • movement rate multiplier vs. days since the first detection (for units not inside a zone focus)

Parameters for each combination of source production type and zone:

  • movement rate multiplier vs. days since the first detection (for units inside a zone focus)

When more than one production type is considered, the above parameters are specified for each pairing of one production type with another. Consider the production types “Beef” and “Dairy”, referring to herds of beef cattle and dairy cattle. You specify the most important pairings of these production types with regard to direct-contact parameters. For example: “Beef” to “Beef”, “Beef” to “Dairy”, “Dairy” to “Beef”, and “Dairy” to “Dairy” are the possible pairings of these production types. Separate parameters are specified for each of these pairs since the direct contact among different production type may vary.

Note that parameters are separate for movement in each direction between each pair of production types. That is, the parameters for movement from “Beef” to “Dairy” can be different from the parameters for movement from “Dairy” to “Beef”, and the parameters for movement from “Beef” to say “Pigs” can be different again.

If parameters are given for movements from “Beef” to “Beef” and from “Beef” to “Dairy”, the number of shipments a “Beef” cattle herd A sends to “Beef” cattle herds on a particular day and the number of shipments A sends to “Dairy” cattle herds on the same day are independent.

Shipping animals from a Latent, Infectious Subclinical, or Infectious Clinical unit to a Natural Immune or Vaccine Immune unit has no effect on the disease-stage of the recipient unit. Shipping animals from a unit in a more advanced disease stage to a unit in a less advanced disease stage (e.g., from an Infectious Clinical unit to a Latent unit) also has no effect.

Examples of direct contact spread

Example 1

As an example, suppose that shipments are being generated from “Beef” to “Dairy” units. In step 3 above, shipments are being generated from a particular source unit of production type “Beef”. Other units in the population are:

Unit 1. Swine unit, Susceptible, not quarantined, 25 km away
Unit 2. Dairy unit, Susceptible, not quarantined, 40 km away
Unit 3. Dairy unit, Susceptible, not quarantined, 300 km away

In step 3.i, the possible recipients are units 2 and 3. (Unit 1 is excluded because shipments from Beef units to Swine units are separate from and independent of shipments from Beef units to Dairy units. See notes on multiple production types below.) Suppose that in step 3.iii, the value “30 km” is sampled from the movement distance distribution. Unit 2 will be chosen because 40 km is closer than 300 km to the desired movement distance of 30 km.

Example 2

Suppose that the other units were instead:

Unit 1. Swine unit, Susceptible, not quarantined, 25 km away
Unit 2. Dairy unit, Infectious Clinical, not quarantined, 40 km away
Unit 3. Dairy unit, Susceptible, not quarantined, 300 km away

In this case, unit 2 will still be chosen. The fact that unit 2 is already diseased does not affect the decision.

Example 3

An example with a Destroyed unit:

Unit 1. Swine unit, Susceptible, not quarantined, 25 km away
Unit 2. Dairy unit, Destroyed, 40 km away
Unit 3. Dairy unit, Susceptible, not quarantined, 300 km away

In this case, the only possible recipient is unit 3, so it will be chosen. It does not matter that 300 km is much farther than the desired movement distance of 30 km, only that of all possible recipients (in this case there is only one), 300 km is the best match.

Example 4

An example where there are no possible recipients:

Unit 1. Swine unit, Susceptible, not quarantined, 25 km away
Unit 2. Dairy unit, Destroyed, 40 km away
Unit 3. Dairy unit, Susceptible, quarantined, 300 km away

In this case, the shipment will be “dropped” because there is no possible recipient unit in the population.

The following examples illustrate how zone rules can affect contacts. Suppose the source “Beef” unit is inside a zone focus. Other units in the population are:

Unit 1. Dairy, Susceptible, quarantined, inside the same zone focus, 30 km away
Unit 2. Dairy, Susceptible, not quarantined, inside the same zone focus, 31 km away
Unit 3. Dairy, Susceptible, not quarantined, outside the zone focus, 25 km away

Example 5

Suppose we decide, again, to generate a 30 km shipment. Although unit 1 is exactly 30 km away, it will not be considered because it is quarantined (it is excluded in step 3.i). Unit 2 will be chosen because 31 km is closest to 30 km. Unit 2 is inside the same zone focus as the source, so the shipment is not blocked by zone rules.

Example 6

Suppose instead that the distances of units 2 and 3 were exchanged:

Unit 1. Dairy, Susceptible, quarantined, inside the same zone focus, 30 km away
Unit 2. Dairy, Susceptible, not quarantined, inside the same zone focus, 25 km away
Unit 3. Dairy, Susceptible, not quarantined, outside the zone focus, 31 km away

Again, unit 1 is excluded because it is quarantined. Unit 3 would be chosen because 31 km is closest to 30 km. However, unit 3 is outside the zone focus that the source is in, so the shipment is blocked by zone rules and dropped.

Example 7

A final example:

Unit 1. Dairy, Susceptible, quarantined, inside the same zone focus, 30 km away
Unit 2. Dairy, Susceptible, not quarantined, inside the same zone focus, 30 km away
Unit 3. Dairy, Susceptible, not quarantined, outside the zone focus, 30 km away

Again, unit 1 is excluded because it is quarantined. Units 2 and 3 both match the chosen shipment distance of 30 km. According to step 3.iv, we can eliminate the contact that would be blocked by zone rules (unit 3), and so we choose unit 2.

Indirect contact spread

Indirect contact — movement of people, materials, vehicles, equipment, animal products, etc among units — is simulated in the same manner as direct contact, except that only Infectious Subclinical and Infectious Clinical units, not Latent units, can be the source of infection. The parameters for indirect contact are similar to but independent from those for direct contact. Indirect contact is not affected by within-unit prevalence.

Indirect contacts can be discovered later during trace-investigations.

Parameters for indirect contact spread
Parameters for each combination of source production type and recipient production type:

  • Mean rate of movement (recipient-units for shipments per source-unit per day)
  • use fixed movement (yes/no)
  • movement distance (km)
  • shipping delay (days)
  • probability of infection given exposure
  • movement rate multiplier vs. days since the first detection (for units not inside a zone focus)

Parameters for each combination of source production type and zone:

  • movement rate multiplier vs. days since the first detection (for units inside a zone focus)

Airborne spread

The simulation of airborne spread works as follows:

On each day,

  1. For each unit A,
    1. Check whether A can be the source of an infection. That is, is it Infectious Subclinical or Infectious Clinical?
    2. If A cannot be a source, go on to the next unit.
    3. For each other unit B,
      1. Check whether B can be the target of an infection. That is, is it Suspectible, is the distance from A to B < the maximum distance of spread, and is the direction from A to B inside the wind direction range?
      2. If B cannot be a target, go on to the next unit.
      3. If using linear dropoff, compute the probability of infection
        P = (prevalence in A) × SizeFactor(A) × (probability of infection at 1 km) × DistanceFactor(A,B) × SizeFactor(B)
        If using exponential dropoff,
        P = (prevalence in A) × SizeFactor(A) × (probability of infection at 1 km)distance from A to B × SizeFactor(B)
        If a within-unit prevalence chart has not been specified for the source unit production type, that term is dropped from the calculation.
      4. Generate a random number r in [0,1).
      5. If r < P, turn B Latent after a delay.

Where
DistanceFactor(A,B) = (maximum distance of spread - distance from A to B) / (maximum distance of spread - 1)
SizeFactor(A) = (area under histogram of unit sizes from 0 to size of A) × 2

The distance between lat1,lon1 and lat2,lon2 is approximated as before.

The direction from lat1,lon1 to lat2,lon2 is approximated with the inverse tangent using the same x and y.

Airborne spread can occur from and to quarantined units. Airborne exposures cannot be traced.

Parameters for airborne spread
Parameters for each pair of production types:

  • probability of infection at 1 km from source (Infectious Subclinical or Infectious Clinical unit)
  • dropoff (linear or exponential)
  • area at risk of exposure, given as a range (start and end) in degrees
  • maximum distance of spread (applies only to linear dropoff) (km)
  • airborne transport delay (days)

The parameters are given separately for spread in each direction between each pair of production types. That is, the parameters for spread from pig herds to cattle herds can be different from the parameters for spread from cattle herds to pig herds, to account for potential differences in amount of virus produced and/or different minimum infective doses for animals in different production types.

Figure 7. Example parameters for north winds (left) and south winds (right).
Figure 8. Examples of linear and exponential dropoff.

Detection

The simulation of detection works as follows:

On each day,

  1. Look up the probability that a farmer or attending veterinarian, for example, will report signs of disease to authorities based on the number of days since the first detection in the population. A nonzero static probability represents the baseline before the first detection.
  2. For each Infectious Clinical unit,
    1. Look up the probability of observing clinical signs of disease based on the number of days the unit has been Infectious Clinical.
    2. If the unit is not inside a zone focus,
      1. Compute the overall probability of detection as P = (probability of observing clinical signs of disease) × (probability of reporting)
        Go to step iv.
    3. If the unit is inside a zone focus,
      1. Compute the overall probability of detection as P = (probability of observing clinical signs of disease) × (zone multiplier)
        Note that the probability of reporting is assumed to be 1 inside a zone focus, so that value drops out of the calculation.
    4. Generate a random number r in [0,1).
    5. If r < P, then the diseased unit is detected.

There are no false-positive detections.

A report is immediately known to the authorities.

  
Figure 9. Probability of observing clinical signs and reporting units with observed clinical signs is found by two charts. In this example,
before 1st detection, 2nd day of clinical signs, overall probability of detection = 0.4 × 0.1 = 0.04
5 days since 1st detection, 6th day of clinical signs, overall probability of detection = 1 × 0.1 = 0.1
15 days since 1st detection, 3rd day of clinical signs, overall probability of detection = 0.6 × 0.5 = 0.3

Detection parameters
Parameters for each production type:

  • probability of observing clinical signs of disease vs. days the unit has been Infectious Clinical
  • probability of reporting a unit with observed clinical signs of disease vs. days since the first detection of disease in any unit in the population

Parameters for each combination of production type and zone:

  • multiplier for probability of observing clinical signs

The parameters are given separately for each production type, to account for the possibility that clinical signs of disease may be more obvious in animals of certain production-types, e.g., clinical signs may be reported more rapidly in intensive swine production systems versus cow-calf operations on pastures. The multiplier for the probability of observing clinical signs in units inside a zone focus allows for the simulation of greater vigilance in higher-level zones (see section Zones).

Surveillance

Surveillance in the model refers to the process of identifying units at high risk for disease based upon exposure or (potentially) proximity to infected, detected units. Units identified by surveillance will be quarantined and thus can no longer spread disease by direct contact (see section Quarantine).

Surveillance does not affect disease detection: that is, units subject to surveillance which become infected are no more likely to be detected than other units of the same production type.

Trace surveillance

Units that have had contact with diseased units within a given number of days prior to detection of the diseased unit may be identified by trace investigations.

Trace investigations may be immediate or there may be a delay for results. Tracing goes one step, that is, it identifies units that were recipients of direct or indirect contact from infected, detected units (referred to as “trace out” or “trace forward”) or units that were sources of direct or indirect contact to infected, detected units (“trace in” or “trace back”).

When a unit in which disease has not been previously detected is identified by a trace investigation, it will be quarantined. Units showing clinical signs of disease can be detected with a specified probability (see below). Optionally, the unit may also be:

  • preemptively destroyed (see section Destruction)
  • tested for disease
  • tested for disease and preemptively destroyed

When a unit in which disease has already been detected is identified by tracing, no further action is taken.

When an Infectious Clinical unit is identified by a trace investigation, it can be detected by the following method:

  1. Compute the probability of detection as
    P = (probability of observing clinical signs of disease) × (multiplier)
  2. Note that the probability of reporting is assumed to be 1 when a unit is identified by tracing, so that value drops out of the calculation.
  3. Generate a random number r in [0,1).
  4. If r < P, then the diseased unit is detected.

If a unit is not detected based on clinical signs, it may still be detected by a diagnostic test. When a unit is tested for disease, the sensitivity and specificity of the test and a random number r in [0,1) are used to determine the test result as follows:

Unit is Latent, Infectious Subclinical, Infectious Clinical, or Naturally Immune

  • r < sensitivity → test-positive (true positive)
  • r ≥ sensitivity → test-negative (false negative)

Unit is Susceptible or Vaccine Immune

  • r < specificity → test-negative (true negative)
  • r ≥ specificity → test-positive (false positive)

Unit is Destroyed

  • No testing can occur: the effect is functionally equivalent to a test-negative result.

If the test result is positive, the unit is considered to have been “detected” as diseased (see section Detection). Detection either by clinical signs or diagnostic testing may trigger subsequent control actions, including further traces.

Optionally, units to be preemptively destroyed may be subject to detection based on clinical signs and diagnostic testing. Detection of disease (either based on clinical signs or diagnostic testing) in units to be preemptively destroyed may trigger further control actions as described above.

There are two delays that can potentially affect detection by tracing. The first is a delay in carrying out the tracing activity. This delay can impact the ability to detect a unit based on the appearance of clinical signs. The second is a delay in obtaining results of a diagnostic test. Detection of units on the basis of diagnostic test is subject to both the delay in carrying out a trace, as well as the delay in obtaining test results. When test results are delayed, the results depend on the state of the simulation on the day the test was initiated, not the day the results become available. The following examples illustrate the effects of these delays:

  • A unit is Infectious Clinical on the day that a trace to that unit is initiated. The unit is still Infectious Clinical on the day that the trace investigation takes place. This unit may be identified at that time on the basis of clinical signs. If it is not detected on the basis of clinical signs, it still may be detected by a diagnostic test (after a delay), even if the unit has recovered by the time the test results become available.
  • A unit is Infectious Clinical on the day that a trace to that unit is initiated. The unit has progressed to Natural Immune by the time that the trace investigation takes place. This unit cannot be detected on the basis of clinical signs, but it may be detected (after a delay) by a diagnostic test.
  • A unit is Subclinical on the day that a trace to that unit is initiated. The unit has progressed to Clinical by the time that the trace investigation takes place. This unit may be detected on the basis of clinical signs at that time, or (after a delay) by a diagnostic test.
  • A unit is Subclinical on the day that a trace to that unit is initiated. The unit is still Subclinical on the day that a trace investigation is carried out. This unit cannot be detected on the basis of clinical signs, but may be identified (after a delay) by a diagnostic test.
  • A unit is Susceptible on the day that a trace investigation is carried out, but is infected and becomes Latent by the time diagnostic test results are available. This unit will not be detected as a result of the trace.
  • A unit is Subclinical on the day that a trace investigation is carried out, but is destroyed for a reason other than preemptive destruction due to this trace, before diagnostic test results become available. This unit may be detected by a diagnostic test, and further control measures could be initiated.
  • A unit identified by a trace investigation is Destroyed (for a reason other than preemptive destruction due to tracing) before the trace investigation could be carried out. Regardless of the unit's disease state prior to its destruction, it is not available at the time of tracing for either clinical or laboratory testing. Consequently, no further control measures can be initiated.

Note that the probability of a trace investigation succeeding depends on the production type of the unit where the trace originates. Suppose a unit of production type A ships to a unit of production type B. If the A unit is then detected, the probability that trace out will find the B unit depends on the probability set for production type A. If the B unit is detected instead, the probability that trace in will find the A unit depends on the probability set for production type B, which may be different.

Trace surveillance parameters
Parameters specified separately for every production type:
Conducting tracing:

  • conduct trace-out of direct contacts (yes/no)
  • conduct trace-in for direct contacts (yes/no)
  • probability of a trace-out investigation succeeding when direct contact has occurred
  • period of interest for trace-out investigations of direct contacts
  • conduct trace-out of indirect contacts (yes/no)
  • conduct trace-in for indirect contacts (yes/no)
  • probability of a trace-out investigation succeeding when indirect contact has occurred
  • period of interest for trace-out investigations of indirect contacts
  • delay for carrying out trace investigation result (days)

Detection of traced units by clinical signs:

  • examine units identified by trace-out of direct contacts (yes/no)
  • multiplier for the probability of detection for units identified by trace-out of direct contacts
  • examine units identified by trace-in of direct contacts (yes/no)
  • multiplier for the probability of detection for units identified by trace-in of direct contacts
  • examine units identified by trace-out of indirect contacts (yes/no)
  • multiplier for the probability of detection for units identified by trace-out of indirect contacts
  • examine units identified by trace-in of indirect contacts (yes/no)
  • multiplier for the probability of detection for units identified by trace-in of indirect contacts

Diagnostic testing of traced units:

  • test for disease in units identified by trace-out of direct contacts (yes/no)
  • test for disease in units identified by trace-in of direct contacts (yes/no)
  • test for disease in units identified by trace-out of indirect contacts (yes/no)
  • test for disease in units identified by trace-in of indirect contacts (yes/no)
  • test sensitivity (0-1)
  • test specificity (0-1)
  • delay for test result (days)

Preemptive destruction:

  • destroy units identified by trace-out of direct contact (yes/no)
  • destroy units identified by trace-in of direct contact (yes/no)
  • destroy units identified by trace-out of indirect contact (yes/no)
  • destroy units identified by trace-in of indirect contact (yes/no)
Figure 10. Trace out (trace forward) with preemptive destruction. When unit B is detected (1), units to which B has shipped animals or sent people or equipment are destroyed (2). Such units may be assessed clinically and may have samples collected for laboratory testing immediately prior to preemptive destruction.
Figure 11. Trace in (trace back) with preemptive destruction. When unit B is detected (1), units which have shipped animals or sent people or equipment to B are found by trace in (2).
Figure 12. Trace out and in with testing and preemptive destruction. When unit B is detected (1), unit A is found by trace in and units D and E are found by trace out (2). Assuming that unit A tests positive, further traces are triggered and unit C is found by trace out (3). In this example we assume that C does not test positive, so the trace does not continue to units F and G.

Control measures

Quarantine

A diseased unit is quarantined on the day immediately following its detection. Units are also quarantined when they are placed on the prioritized waiting list for destruction (see section Destruction priorities). Quarantined units cannot be involved in direct contact, but indirect contact and airborne spread may still occur to or from a quarantined unit.

Destruction

When the first detection occurs in the study population, the authorities may initiate a destruction program. It may take several days before the authorities are ready to begin destroying.

Detected units may be marked for destruction. Units that have had contact with diseased units within a given number of days prior to detection of the diseased unit (found through trace investigations: see section Trace surveillance) and units within a given distance of diseased units may also be marked for destruction. The destruction of these units associated by trace or distance has been called pre-emptive or dangerous-contact slaughter.

A production-type-specific parameter determines whether detection of an infected unit of a particular production type will trigger the formation of a destruction ring or not: for example, detection of an infected swine unit might lead to the destruction of surrounding units of various production types, while detection of an infected sheep unit might not trigger destruction of surrounding units.

A production-type-specific parameter also governs whether units of a particular production type are included in a destruction ring. For example, dairy cattle units might be destroyed in response to the detection of a diseased unit nearby, while sheep units might not be destroyed.

Destruction parameters
Global parameters (applied to all production types):

  • delay to begin a destruction program (days)
  • destruction capacity vs. days since the first detection (units per day) (see section Destruction capacity)
  • destruction priorities (see section Destruction priorities)

Parameters specified separately for every production type:

  • indication of whether detection of units of the production type will trigger a destruction ring (yes/no)
  • radius of destruction ring (km) , if units of the production type will trigger a destruction ring
  • indication of whether units of the production type will be destroyed in response to detection of nearby units (yes/no)
  • indication of whether units of this production type identified by trace surveillance after direct contact will be destroyed (yes/no)
  • indication of whether units of this production type identified by trace surveillance after indirect contact will be destroyed (yes/no)

Destruction capacity

There is a limit (called destruction capacity) on how many units can be destroyed per day. Destruction capacity does not consider unit size (i.e. the number of animals in each unit). Destruction capacity is specified as a relational chart of the number of units which can be destroyed per day versus the number of days since the first detection of disease. A single destruction capacity applies to units of all production types: for example, if the destruction capacity on a given day is 10 units, then 10 beef units may be destroyed on that day, or 10 swine units, or six units of one and four of the other, depending on the assigned destruction priorities (see section Destruction priorities).

Destruction priorities

If a unit is marked for destruction but cannot be destroyed immediately, it is quarantined and goes onto a prioritized waiting list.

There are three criteria which may be used to set destruction priorities: the production type of the unit, the reason for destruction of the unit, and the number of days a unit has been waiting in the destruction queue. Within the production type criterion, the production types present in a scenario are further prioritized (e.g. cattle may have a higher destruction priority than swine, or vice versa). Similarly, within the action reason criterion, the reasons for destruction are further prioritized: these reasons are detection of disease, identification by trace-out of direct contact, identification by trace-in of direct contact, identification by trace-out of indirect contact, identification by trace-in of indirect contact, and presence within a specified destruction ring. For example, cattle herds that are marked for destruction because they were detected as diseased may have a higher priority than cattle herds that are marked for destruction because they are near a diseased unit.

The order in which the three criteria are applied must be specified in each scenario. For example, the number of days a unit has been in the destruction queue may be the overriding priority, so that units of any production type, holding for any reason, that have been holding for the longest period of time are destroyed before any others. Criteria with the highest priority are applied first. In the event that two units are encountered that have the same priority based on the top criterion, subsequent criteria are applied (see examples below).

No two production-type/reason for destruction combinations can have the same priority. That is, cattle herds that were detected as diseased must have a strictly higher priority than pig herds that were detected as diseased (or vice versa), and cattle herds that were detected as diseased must have a strictly higher priority than cattle herds that were simply near to a detected unit (or vice versa).

No distinction in destruction priority is made based on source of exposure: cattle herds that have been exposed by a swine herd, for example, are treated no differently than cattle herds exposed to infection by other cattle herds.

On each day, the authorities destroy as many units as possible (up to the destruction capacity for that day) from the destruction queue, beginning with the highest priority.

Examples of destruction priorities

Consider the following examples, using these four units which have been designated for destruction:

Unit A. Cattle herd, detected infection, holding for 3 days
Unit B. Cattle herd, identified by trace-out of indirect contact, holding for 5 days
Unit C. Swine herd, identified by trace-in of direct contact, holding for 1 day
Unit D. Swine herd, within circle/ring, holding for 5 days

Example 1

With the following destruction priorities:
Days holding > production type (swine > cattle) > destruction reason (detected > trace-out of direct contacts > trace-out of indirect contacts > circle/ring > trace-in of direct contacts > trace-in of indirect contacts)

The four herds are destroyed in the following order:
D, B, A, C

Example 2

Priorities: production type (cattle > swine) > destruction reason (detected > trace- out of direct contacts > trace-out of indirect contacts > circle/ring > trace-in of direct contacts > trace-in of indirect contacts) > days holding:

Destruction order: A, B, D, C

Example 3

Priorities: production type (cattle > swine) > days holding > destruction reason (detected > trace-out of direct contacts > trace-out of indirect contacts > circle/ring > trace-in of direct contacts > trace-in of indirect contacts):

Destruction order: B, A, D, C

Example 4

Priorities: destruction reason (detected > circle/ring > trace-out of direct contacts > trace-out of indirect contacts > trace-in of direct contacts > trace-in of indirect contacts) > production type (cattle > swine) > days holding:

Destruction order: A, D, B, C

Vaccination

When the disease is detected, authorities may also initiate a vaccination campaign. This consists of vaccinating units within a specified distance of the detected units – in circles or rings around detected units. A production-type-specific parameter determines whether detection of an infected unit of a particular production type will trigger the formation of a vaccination ring or not: for example, detection of an infected swine unit might lead to the vaccination of surrounding units of various production types, while detection of an infected sheep unit might not trigger vaccination of surrounding units.

A production-type-specific parameter also governs whether units of a particular production type are included in a vaccination program. For example, dairy cattle units might be vaccinated in response to the detection of a diseased unit nearby, while sheep units might not be vaccinated.

A detected infected unit may or may not be vaccinated, depending on its production type and whether it falls inside a vaccination ring. In order for a detected infected unit to be vaccinated, both of the following conditions must be met:

  • Its production type must be vaccinated in response to detection of nearby units
  • Its production type must be set to allow vaccination of detected units

The initiation of a vaccination program may be delayed until a certain trigger point is reached (see section Initiation of a vaccination program).

If a unit is marked for vaccination but cannot be vaccinated immediately, it goes onto a prioritized waiting list (see sections Vaccination capacity and Vaccination priorities).

For a unit to receive multiple vaccinations, vaccination of that individual unit must be triggered multiple times (see section Minimum time between vaccinations). It is not currently possible to schedule revaccination of units without an additional trigger.

Vaccination program parameters
Global parameters (applied to all production types):

Parameters set individually for each production type:

  • indication of whether detection of units of the production type will trigger a vaccination ring (yes/no)
  • radius of vaccination ring (km), if units of the production type will trigger a vaccination ring
  • indication of whether units of the production type will be vaccinated in response to detection of nearby units (yes/no)
  • indication of whether detected infected units of the production type will be vaccinated (yes/no)
  • minimum time between vaccinations (days), if units of the production type will be vaccinated (see section Minimum time between vaccinations)

Initiation of a vaccination program

There are several conditions that can trigger initiation of a vaccination program. They are:

  • Disease has been detected in a given number of units of certain production types. For example, we might create two triggers:

    1. Initiate a vaccination program if disease has been detected in any 5 units out of this set of production types: dairy cattle, beef cattle, mixed cattle.
    2. Initiate a vaccination program if disease has been detected in any 2 units out of this set of production types: sheep, goats.

    The modeler can create any number of triggers of this type.

    Note that this type of trigger can be used to imitate simulations created in model version 1.0. The earlier model version allowed only one type of trigger: “Initiate a vaccination program if disease has been detected in ‘n’ units.” An equivalent trigger can be created in model version 1.1 by specifying the same number of units ‘n’ and including all production types.

  • The rate of new detections has exceeded a given threshold. The threshold is specified by a number of units and a number of days, for example, “3 or more units detected within 5 days.”

    As with the previous trigger type described above, this can be limited to a certain set of production types. Also as with the previous trigger type described above, the modeler can create more than one trigger of this type, so that different rates can be specified for different sets of production types.

  • The Estimated Dissemination Rate has exceeded a given threshold. The threshold is specified by a number of days and a ratio, for example, “initiate a vaccination program if the number of units detected in the last 5 days is 1.5× or more than the number of units detected in the 5 days before that.”

    As with the previous trigger types described above, this can be limited to a certain set of production types. Also as with the previous trigger types described above, the modeler can create more than one trigger of this type, so that different rates can be specified for different sets of production types.

  • Disease has been detected in a given number of production type groups. The intention of this trigger is to initiate a vaccination program when disease spreads beyond one industry “sector”. This kind of trigger requires the modeler to divide the production types into groups, and specify in how many groups disease must be detected to trigger a vaccination program.

  • A given number of days have elapsed since the first detection. As with the previous trigger types described above, this can be limited to the first detection in a certain set of production types. Also as with the previous trigger types described above, the modeler can create more than one trigger of this type, so that different numbers of days can be specified for different sets of production types.

  • Any unit that has been marked for destruction because it was detected as diseased (that is, an Infected Premise) has been awaiting destruction for a given number of days. The intention of this trigger is to initiate a vaccination program when destruction resources appear to be overwhelmed.

    As with the previous trigger types described above, this can be limited to units of a certain set of production types. Also as with the previous trigger types described above, the modeler can create more than one trigger of this type, so that different wait times can be specified for different sets of production types.

Any number of these triggers can be created by the modeler. If no triggers are created, vaccination will never begin. If more than one trigger is created, the triggers are considered to have an “or” between them: for example, “initiate a vaccination program once disease has been detected in 10 units or once disease has been detected in 2 production type groups.” Put another way, the first trigger whose conditions are satisfied will initiate a vaccination program.

The modeler can specify a different set of triggers to be used after a vaccination program is ended. (See section Ending a vaccination program). This enables the modeler to specify a less stringent set of conditions for re-initiating a vaccination program.

Once a vaccination program has been initiated, units within the specified vaccination ring surrounding the most recently detected unit are marked for vaccination. Vaccination rings also will be created around any unit that is detected on the same simulation day that the vaccination program is initiated, and “retrospectively” around any units that were detected in the previous few days (the number of days is user-specified). Similarly, vaccination rings will be created around infected units detected on subsequent simulation days. Units marked for vaccination are then treated according to the steps described below.

Vaccination capacity

Vaccination capacity (the number of units which can be vaccinated per day) is handled in the same way as destruction capacity (see section Destruction capacity), and is specified as a relational chart of the number of units which can be vaccinated per day versus the number of days since the first detection of disease. Vaccination capacity does not consider unit size (i.e. the number of animals in each unit). A single vaccination capacity applies to units of all production types.

Personnel for destruction cannot be temporarily loaned to vaccination teams, or vice versa, during a simulation run. In other words, the daily limits for destruction and vaccination operate independently of one another.

If a vaccination program is re-initated after being ended (see section Ending a vaccination program), a different relational chart applies. This enables the modeler to specify a faster ramp-up of resources when a vaccination program is re-initiated. This second chart is given as the number of units which can be vaccinated per day versus the number of days since the first detection post-ending of the vaccination program. If there have been no detections post-ending of the vaccination program (e.g., the vaccination program is re-initiated by the destruction wait time trigger, not by any new detection) then the second chart is treated as the number of units which can be vaccinated per day versus the number of days since the re-start of the vaccination program.

This second chart also applies to any subsequent re-starts, if the vaccination program is ended and re-initiated more than once.

Vaccination priorities

If a unit is marked for vaccination but cannot be vaccinated immediately, it goes onto a prioritized waiting list.

Vaccination priorities are set in fashion similar to destruction priorities (see section Destruction priorities). There are two criteria which may be used to set vaccination priorities for units which fall within a vaccination circle. These criteria are the production type of the unit and the number of days that a unit has been in the vaccination queue. Within the production type criterion, the production types present in a scenario are further prioritized.

The order in which these two criteria are applied must be specified in each scenario. For example, the number of days a unit has been in the vaccination queue may be the overriding priority, so that units of any production type that have been holding for the longest period of time are vaccinated before any others. The criterion with the highest priority is applied first. In the event that two units are encountered that have the same priority based on the top criterion, the next criterion is applied.

Minimum time between vaccinations

The minimum time between vaccinations is the number of days which must pass before a unit may be revaccinated. Once the specified number of days has passed, a unit may be revaccinated if vaccination of that unit is triggered again.

Consider the simple situation involving units A, B, and C as shown Figure 13. Disease is detected in unit A ten days before disease is detected in unit C. Both detections trigger vaccination circles as shown.

Unit B is within vaccination circles triggered by detection of units A and C, and will be added twice to the queue of units to be vaccinated. If there is no waiting period for vaccination (i.e. vaccination capacity is not reached), unit B will receive only one vaccination: its minimum time between vaccinations will not have been reached before it comes to the head of the queue the second time.

If vaccination capacity has been reached, unit B will receive two vaccinations only if the elapsed time between the first and second scheduled vaccinations exceeds the unit’s minimum time between vaccinations. This subsequent vaccination resets the vaccine immune period for unit B. If the elapsed time is less than the unit’s maximum vaccination frequency, unit B will not be revaccinated.

Figure 13. Overlapping vaccination rings. See text for description of timing of vaccinations.

Ending a vaccination program

The vaccination program may optionally be ended if a given number of days pass with no more than a given number of new detections, for example, if 30 days pass with no more than 3 new detections. The number of new detections can be zero to specify a time period with strictly no new detections. As with the trigger types described above, the counting can be limited to a certain set of production types. When a vaccination program is ended, all units currently on the vaccination waiting list are removed from the list.

After a vaccination program has ended, it may be re-initiated if any of the conditions set by the user for initiation of a vaccination program are met (see section Initiation of a vaccination program). When a vaccination program is re-initiated, the vaccination waiting list does not re-add units that were removed from the list when the vaccination program was ended. This is true even if retrospective vaccination is in effect: the retrospective days go back only to the point at which the vaccination program was ended.

When a vaccination program is ended, the various vaccination triggers (see section Initiation of a vaccination program) are reset in the following ways:

  • The number of detections trigger has its count reset to zero.
  • The rate of detections trigger, which retains detection information over the past ‘n’ days, has its count reset to zero.
  • The Estimated Dissemination Rate trigger, which divides the number of new detections in the last ‘n’ days (the numerator) by the number of new detections in the ‘n’ days before that (the denominator), has its counts reset to zero.
  • The number of production type groups (industry sectors) trigger has its count of groups involved in the outbreak reset to zero.
  • The number of days elapsed since the first detection trigger resets and begins listening for the first detection post-ending of the vaccination program.
  • The destruction wait time trigger resets and tracks only the wait time of units added to the destruction queue post-ending of the vaccination program.

Zones

Zones are areas of differing surveillance and control policies. This section describes how zones are established; see also sections Disease spread and Detection for a discussion of how zones affect movement and detection, respectively.

There can be an arbitrary number of zones, each with a unique name. The basic form of a zone is a circle around a unit. Higher levels of surveillance correspond to smaller circles. Areas outside the circle also constitute a zone, with the lowest surveillance level (Figure 14).

Figure 14. A focus with 2 zones established around it.

A “focus” of a zone can be established around any unit that is detected as diseased. A focus can also be established around any “dangerous contact” unit that has been discovered through tracing (see section Trace surveillance). The number and size of zone rings established is always the same and does not depend on the production type of the unit that caused the zone focus (Figure 15).

Figure 15. Zones are triggered uniformly, regardless of the production types which triggered the zone focus (a). It is not possible to trigger only selected zones (b) or zones of different sizes (c) around different production types.

Overlapping foci of the same zone merge (Figure 16). Zones with lower surveillance levels are absorbed when enclosed by a zone of a higher surveillance level (the “no donuts” rule, Figure 17).

Figure 16. Overlapping foci of the same zone merge.
Figure 17. Enclosed areas of a lower surveillance level are absorbed. Note that adding a new focus (G) can create more than one enclosed area that must be absorbed.

Zone parameters
Parameters set individually for each zone:

  • name
  • radius (km)

Parameters set individually for each production type:

  • indication of whether detection of diseased units of the production type will create a zone focus (yes/no)
  • indication of whether traced “dangerous contacts” of this production type will create a zone focus (yes/no)

Biological effects of vaccination

When a unit is vaccinated, it remains Susceptible for a time while immunity develops, then becomes Vaccine Immune. The length of the immune period is determined stochastically for each new vaccination. After the immune period, the unit reverts to a Susceptible state.

If a unit is infected after being vaccinated but before turning Vaccine Immune, the effects of the vaccination are cancelled.

Vaccinating a unit that is not Susceptible has no effect on its disease state.

Parameters for effects of vaccination
Parameters specified for each production type:

  • delay to produce immunity (days)
  • immunity period (days)

The parameters are given separately for each production type.

Priorities of action

The many events and processes in the model create possibilities for conflict and ambiguity. This section describes how these problems are resolved.

A unit can be infected by two or more mechanisms on the same day, for example, by both direct and indirect contact. In this situation, two exposures will be reported in the simulation output, but only one new infection. One of the exposures will be chosen randomly to report as the cause of the infection. Similarly, if there are two or more reasons for vaccinating or destroying a unit, one reason is chosen randomly to report as the cause.

A unit can also be infected by the same mechanism multiple times on the same day, for example, by direct contacts from two different sources. In this case, the model will count two exposures by direct contact, but only one new infection.

A simulation proceeds by daily time steps (section Basics) so the state of each unit must be consistent throughout a day. A unit cannot change state part way through a day, nor can it become quarantined or change from being in one zone to another part way through a day. Changes to the units’ states and to the zones’ shapes can be considered to happen in an instant between simulation days.

One consequence of this is that if a unit is detected as diseased on day d, it will not become quarantined until day d+1. Similarly, if there is a rule to establish zones around detected units, the zones will not be updated until day d+1. The detected unit and its neighbors can still be the source and recipient of contacts on day d. This can be thought of as contacts happening “before” detection (really, it is simply a consequence of the rule against state changes mid-day). The model user should be aware that this behavior can result in larger outbreaks than if the opposite assumption were applied, that is, if detection happened “before” contacts.

Tracing (section Trace surveillance) also happens “after” contacts, so that it will not miss contacts that occur on the same day as the trace.

There can be a conflict between infection and vaccination. If the delay to immunity (see section Biological effects of vaccination) is set to zero days, and a unit is both infected and vaccinated on day d, does the unit change to Latent or to Vaccine Immune on day d+1? In this situation, there is a 50-50 chance of either outcome happening. A vaccination is recorded in the simulation output either way. A new infection is recorded only if the infection happens.

There can be a conflict between vaccination and destruction. Because of the resource limits and priority system (section Destruction) it may be impossible to tell exactly when a unit will be destroyed. Therefore the model will accept requests to vaccinate a unit (as part of ring vaccination) even if that unit is slated to be eventually destroyed. However, if the unit gets to the head of both the vaccination and destruction queues on the same day, the vaccination will be canceled and will not count toward use of vaccination resources.

Costs

Direct costs associated with destruction and vaccination during an outbreak may be calculated. If zones are used, direct costs associated with surveillance within zones may also be determined.

Costs associated with destruction

There is a fixed cost associated with appraisal of each destroyed unit, regardless of the number of animals in the unit. The cost associated with cleaning and disinfection each unit is also fixed regardless of the number of animals in each unit.

Beyond these fixed per-unit costs, the per-animal costs for euthanasia, carcass disposal, and indemnification apply.

The total cost of destruction for each unit of a particular production type is calculated as follows:

(Appraisal cost + Cleaning and disinfection cost) + [(Number of animals in the unit) × (Cost of euthanasia + Cost of indemnification + Cost of disposal)]

The total cost of destruction for each production type is calculated as:

(Number of units destroyed) × (Appraisal cost + Cleaning and disinfection cost) + [(Total number of animals destroyed) × (Cost of euthanasia + Cost of indemnification + Cost of disposal)]

Parameters for destruction costs
Parameters specified for each production type:

  • Appraisal cost per unit
  • Cost of cleaning and disinfection per unit
  • Cost of euthanasia per animal
  • Cost of indemnification per animal
  • Cost of carcass disposal per animal

Costs associated with vaccination

There is a fixed cost associated with vaccination set up for each vaccinated unit, regardless of the number of animals in the unit. The cost of vaccination of each animal in the unit is added to this fixed unit cost.

The cost of vaccination of each animal will depend on the total number of animals vaccinated. For each animal up to a specified threshold, only a baseline vaccination cost applies. For each animal over this threshold, an additional cost applies.

The total cost of vaccination for each production type is calculated as fo

If the threshold is not reached:

[(Number of units vaccinated) × (Cost of site setup)] + [(Total number of animals vaccinated) × (Baseline cost per animal)]

If the threshold is reached:

[(Number of units vaccinated) × (Cost of site setup)] + [(Threshold level) × (Baseline cost per animal)] + [(Total number of animals vaccinated – Threshold level) × (Baseline cost per animal + Additional cost per animal)]

Parameters for vaccination costs Parameters specified for each production type:

  • Number of animals of this production type that can be vaccinated before the cost of vaccination increases
  • Baseline cost of vaccination per animal (this cost applies until the specified threshold has been met)
  • Additional cost of vaccination per animal for each animal beyond the specified threshold
  • Cost of vaccination site setup per unit

Costs associated with zone surveillance

For each animal within a particular zone (see section Zones), there is a daily cost associated with enhanced surveillance, diagnostic testing, and any other special activity that might occur within that zone.

The length of time that an individual unit – and animals within that unit – spends in a zone is the number of days from the time that the zone focus is established, until the time that at least one of the following three conditions is met: 1) the zone that the unit is in changes, e.g., as a result of merging of zones or the creation of a new zone focus; 2) the unit is destroyed; or 3) the outbreak ends and all disease control measures are complete.

For each unit of a particular production type in a particular zone, the number of “animal days” spent in the zone is calculated as follows:

(Animal days for a unit in a zone) = [(Number of days that the unit is in the zone) × (Number of animals in that unit)]

For the production type, the number of animal days spent in the zone is the sum of the number of animal days for each unit of that type in the zone:

(Animal days for a production type for a zone) = ∑(i=1 to n) (Animal days for uniti in a zone)
Where n is the number of units of the production type in the zone

The total cost of zone surveillance for the production type in the zone is calculated as shown below:

(Cost of surveillance of a production type in a zone) = [(Animal days for a production type for a zone) × (Cost of surveillance in the zone, per animal of the production type, per day)]

From the costs of surveillance for each production type for each zone, other totals (e.g., the cost of surveillance of a particular production type across all zones) can be calculated.

Parameters for surveillance costs
Parameters for each combination of production type and zone:

  • Cost of surveillance per animal per day
Clone this wiki locally