Skip to content

Quarantines

In COMORBUSS quarantines are a group of configurable interventions that change the default placement of selected particles (normally the default placement is at home) and confines or not those particles to that placement, which can either be their home, a hospital, or any other service. Quarantines can be set with the quarantines parameter described below.

quarantines parameter

List with the ordered dictionaries of parameters for quarantine policies to be used during the simulation. Default: [quarantines.HOSPITALIATION]

Quarantine priority

If a particle meet the requirements for more than one quarantine comorbuss will give priority to the quarantine that is first in the quarantines list.

Predefined quarantines

quarantines.HOSPITALIZATION

All symptomatic severe particles will imediatly be quarantined on Hospitals and stay quarantined until the particle recovers.

HOSPITALIZATION = {
    "name": "Hospitalization",
    "filter_in": (
        ("symptoms", "==", SYMPT_SEVERE), "&",
        ("states", "==", STATE_I)
        ),
    "filter_out": (
        ("states", "==", STATE_R), "|",
        ("states", "==", STATE_D)
        ),
    "placement": "Hospitals",
}
quarantines.SYMPTOMS

Symptomatic particles will stay home until they recover.

SYMPTOMS = {
    "name": "Symptoms",
    "filter_in": (
        (
            ("symptoms", "==", SYMPT_YES), "|",
            ("symptoms", "==", SYMPT_SEVERE),
        ), "&",
        ("states", "==", STATE_I)
        ),
    "filter_out": (
            ("states", "==", STATE_R), "|",
            ("states", "==", STATE_D)
            ),
    "placement": PLC_HOME,
}
quarantines.DIAGNOSTICS

Diagnosed particles will quarantine at home 1 day after the diagnostic and stay quarantined for 14 days.

DIAGNOSTICS = {
    "name": "Diagnostics",
    "delay": 1.0,
    "filter_in": (
        ("diag_states", "==", DIAG_YES), "&",
        ("states", "==", STATE_I)
        ),
    "filter_out": ("days", 14),
    "placement": PLC_HOME,
}

See also

Diagnostics

quarantines.TRACING

Particles with tracing capabilities (see tracing_percent) that had contact with diagnosed particles also with tracing capabilities in the last 5 days will be quarantined at home 1 day after they are identified and stay quarantined for 14 days.

TRACING_DIAGNOSED_FILTER = (
        ("last_diag_states", "!=", "diag_states"), "&",
        ("diag_states", "==", DIAG_YES)
        )

TRACING = {
    "name": "Tracing",
    "delay": 1.0,
    "filter_in": ("tracing", TRACING_DIAGNOSED_FILTER, 5),
    "filter_out": ("days", 14),
    "placement": PLC_HOME,
}

See also

Tracing

Custom quarantine parameters

Parameters:

Name Type Description Default
name string

Name of the quarantine policy.

required
delay float

Delay bettwen the particle is selected to quarantine and the start of the quarantine in days.

'0.'
filter_in tuple

A sequence of nested tuples of strings and values to be evaluated to select particles to enter quarantine, strings can be population attributes (see particles states attributes), comparative operators, binary operators or makers (see markers bellow). Examples:

  • ("symptoms", "==", SYMPT_YES) equivalent as population.symptoms == SYMPT_YES
  • ((("symptoms", "==", SYMPT_YES), "|", ("symptoms", "==", SYMPT_SEVERE)), "&", ("states", "==", STATE_I)) is equivalent as ((population.symptoms == SYMPT_YES) | (population.symptoms == SYMPT_SEVERE)) & (population.states == STATE_I)

Available markers for filter_in:

  • ("tracing", trace_filters, number_of_days) will select all particles that had tracable contact with particles selected by trace_filters in the last number_of_days days.
  • ("service", service_name) will be replaced with the id of the service with service_name.
  • ("workers", service_name, workers_name) will be replaced with the id of the workers with workers_name type on service with service_name.
  • ("diagnostic", diagnostics_name) will be replaced with the id of the diagnostic with diagnostics_name.

ATTENTION: Do NOT use python's normal boolean operators (and, or, not, etc), all operations are applied on numpy boolean arrays and the apropriate operators to use are binary operators (&, |, ~, etc).

'`((("symptoms", "==", SYMPT_YES), "|", ("symptoms", "==", SYMPT_SEVERE),), "&",\n ("states", "==", STATE_I))`'
filter_out tuple

Filters to select particles to end quarantine. See filter_in.

Available markers for filter_out:

  • ("days", number_of_days) Quarantine will end after number_of_days.
'`(("states", "==", STATE_R), "|", ("states", "==", STATE_D))`'
placement string or int

Placement marker or name of the servive for the place where the particle shoud quarantine.

'PLC_HOME'
confine_particles bool

If true particle will not work or visit services.

'True'
allow_requarantine bool

If true allow partices to be quarantined more than one time in this quarantine.

'False'