Acknowledgement

Fully acknowledging the Olmsted County Public Health Services (OCPHS) for the data and text below that is used to generate this report.

This is a report generated as an example for Olmsted County Public Health Services (OCPHS) of Epidemiological Outbreak Report Assignment. The format is chosen:

Background

On October 10th, the Minnesota Department of Health (MDH) informed Olmsted County Public Health services (OCPHS) that the Public Health Laboratory (PHL) had identified three isolates of E. coli O157:H7 that were indistinguishable by pulsed-field gel electrophoresis (PFGE). Routine interviews of the three cases revealed that all had eaten food from Restaurant A in Rochester, MN between September 16th and September 25th. Upon this notification, an outbreak investigation was initiated.[1]

Tracing the Outbreak

OCPHS immediately contacted Restaurant A ownership to inform them of the illnesses associated with the restaurant. The restaurant had not yet opened for the day and voluntarily remained closed. Sanitarians from OCPHS Environmental Health visited the restaurant on October 10th to: evaluate food preparation and handling procedures, check the employee illness log, interview employees, and to gather patron credit card receipts.

Actions were taken to prevent further transmission of any pathogen that might be present in the facility. The facility remained closed on October 10th in order for public health interventions to be put in place. The owners implemented illness screening of all employees before their work shifts, maintained their policy and practice of no bare-hand contact with ready-to-eat food, and emphasized effective and timely handwashing; all open, ready-to-eat foods were discarded; and the facility, equipment, and utensils were cleaned and sanitized. On October 11th, public health interventions were in place, and the establishment re-opened. The facility closed again on October 18th when it was discovered through stool kit analysis that multiple employees were infected with Shiga toxin-producing E. coli (STEC). The establishment re-opened on October 21st—when enough healthy employees were available to work.

Cases | identified through routine laboratory surveillance and interviews with restaurant patrons identified through credit card receipts. Confirmed cases were defined as a person who tested positive for STEC at a clinical laboratory after eating at the restaurant.

Probable cases | defined as a person with diarrhea (≥ 3 loose stools in a 24-hour period) that was either bloody or at least 3 days in duration after eating at the restaurant. All STEC cases reported to MDH are routinely interviewed about exposures and food consumption at home and at restaurants as part of the foodborne disease surveillance system in Minnesota. Restaurant patrons identified through credit card receipts were interviewed about food consumption and illness history.

OCPHS received the original menu used during the soft opening and the following week from the Restaurant manager. The menu included the following sections: Appetizers, Sides, Fresh Salad Daily, Soup, Shawarma, Sandwiches and Entrees, Family Meals, Children’s Menu, Beverages, and Dessert. These menu sections as well as the foods within each section were used to create the food-specific interview questionnaire. The foods and beverages were analyzed using SPSS by: section heading, individual food item, and a combination of the individual food items that appear in more than one section of the menu (e.g. hummus is in both the Appetizers and Sides sections). Patrons who reported being unsure of whether they ate a specific food item were counted as missing and not included in the analysis of that item. The odds ratios, confidence intervals, and p-values were calculated, and food items with a p-value of less than or equal to 0.05—using the 2-tailed Fisher’s Exact Test for chi-square—were considered statistically significant.

Stool samples from employees and consenting ill patrons were submitted to the MDH Public Health Laboratory for bacterial testing.


Methods

Restaurant A Employees | Interviews were conducted with all nine Restaurant employees. None of the employees reported recent gastrointestinal illness.

Patrons | Interviews were conducted with 37 patrons to gather demographic information, illness history symptoms, and food history. The food history was created from the original Restaurant A food and beverage menu used during the suspected exposure period (soft opening and the following two weeks). Meal dates ranged from September 12th through September 30th.

Table 1: Demographics of Patrons Interviewed

table1(~ Age + Sex + City | Status,
       data=demographics, droplevels=F, overall=T, render=rndr, render.strat=rndr.strat 
       )
Sick (ill)
(N=8)
Not Sick (not ill)
(N=29)
P-value TRUE
(N=37)
Age (years)
Mean (SD) 35.1 (21.5) 48.0 (16.0) 0.148 45.1 (17.9)
Median [Min, Max] 37.5 [1.00, 68.0] 43.0 [24.0, 84.0] 42.0 [1.00, 84.0]
Missing 0 (0%) 2 (6.9%) 2 (5.4%)
Gender
Female 5 (62.5%) 15 (51.7%) 0.605 20 (54.1%)
Male 2 (25.0%) 14 (48.3%) 16 (43.2%)
Missing 1 (12.5%) 0 (0%) 1 (2.7%)
City
Pine Island 0 (0%) 1 (3.4%) 0.236 1 (2.7%)
Rochester 5 (62.5%) 20 (69.0%) 25 (67.6%)
Stewartville 0 (0%) 1 (3.4%) 1 (2.7%)
Zumbrota 1 (12.5%) 0 (0%) 1 (2.7%)
Missing 2 (25.0%) 7 (24.1%) 9 (24.3%)

Narrative

Age | Illness: No significant association between Age and Ilness among the patrons interviewed (p = 0.0148). Median age of those interviewed: 42 years old; median age of those who became ill: 37.5 years old.

Gender | Illness: No signficant association between patron’s Gender and Illness among the patrons interviewed \(\chi\)2 (2, N=37), p = 0.605.

  • 62.5% of those who became ill were female (n=5), 25.0% were males (n=2).

City | Illness: No signficant association between patron’s City and Illness among the patrons interviewed \(\chi\)2 (4, N=37), p = 0.236.

  • 67.6% of interviewed patrons came from the city of Rochester, MN (n=25).

  • 62.5% of interviewed patrons who became ill came from the city of Rochester, MN (n=5).


  • Used this Coding 1= Ill 2= Not Ill

Symptom Characteristics of Patrons

11 cases, 8 lab confirmed, 3 probable.

  • Used this Coding 1= Yes 2= No 3= Unsure

Symptoms: Gastrointestinal

gastro %>% 
  likert() %>% 
  plot(col=c("#E76276", "#A0DBD5", "#E5E5E5"))

Narrative

  • 91% of interviewed patrons reported diarrhea symptoms.

  • 91% of interviewed patrons reported experiencing cramps.

  • 64% of interviewed patrons reported nausea and bleeding.

  • Vomiting was least likely to be experienced by interviewed patrons.

Symptoms: Bodily

bodily %>% 
  likert() %>% 
  plot(col=c("#E76276", "#A0DBD5", "#E5E5E5"))

Narrative

  • 64% of interviewed patrons reported sweats/chills.

  • 45% of interviewed patrons reported bodily weakness.

  • ~1/3 of interviewed patrons reported experiencing: headaches, muscleaches.

  • 18% of interviewed patrons reported experiencing fevers.

Symptoms: Setting & Interventions

setting %>% 
  likert() %>% 
  plot(col=c("#E76276", "#A0DBD5", "#E5E5E5"))

  # plot(type="density", facet=T, bw=.5)

Narrative

  • 70% of interviewees reported seeking physician assistance for symptoms experienced.

  • 20% of interviewed patrons reported seeking hospitalization.

  • 30% of interviewed patrons reported taking drugs to help with symptoms.

  • 30% of interviewed patrons reported eating in household settings.

  • 80% have denied eating at a party setting.


Epi-Curve

Date of Onset

EpiCurve(
  DF,
  date = "date",
  freq = "value",
  period = "day",
  cutvar = "C/P",
  # cutorder = levels(confirmedprobable$cases),
  split = 4,
  ylabel = "Number of Cases",
  xlabel = "From 2017-09-16 to 2017-10-4",
  title = "Epidemic Curve | Gastroenteritis Associated with Restaurant 
  By Date of Onset b/w 2017-09-16 to 2017-10-4 in Rochester, Minnesota",
  colors = rev(c("#ACD9D5","#E5E5E5" )),
  note="* Using Date of Onset of Illness"
  
)
## Day
## 'data.frame':    20 obs. of  4 variables:
##  $ Freq: num  1 1 0 0 0 0 0 0 1 1 ...
##  $ Cut : Factor w/ 2 levels "probable","confirmed": 2 2 NA NA NA NA NA NA 2 1 ...
##  $ Day : chr  "2017-09-16" "2017-09-17" "2017-09-18" "2017-09-19" ...
##  $ Date: Date, format: "2017-09-16" "2017-09-17" ...

Narrative

Epidemic curve showing the progression of gastroenteric illness outbreak from September 16, 2017 to October 4, 2017.

Data is updated as new data become available during investigation.

Incubation period is 3-4 days, used 1 day intervals in x-axis. (4 days * .25= 1 day)

This outbreak does not appear to be appears to be over and we will continue to monitor and update as new data becomes available during this investigation to keep you informed.

If you suspect that you have the following symptoms, call us (at 000-000-0000) and let your health care provider know:

  • diarrhea (≥ 3 loose stools in a 24-hour period) that was either bloody or at least 3 days in duration after eating at the restaurant,

  • cramps,

  • nausea,

  • bleeding,

  • sweats/chill,

  • bodily weakness,

  • experiencing headaches,

  • experiencing muscleaches,

  • fever.


Food and Beverage Menu Analysis

corr_cross(food, # name of dataset
           max_pvalue = 0.05, # display only significant correlations (at 5% level)
           method = ,
            top = 20  # display top 20 couples of variables (by correlation coefficient)
)

Narrative

Method used: computed correlations using Pearson Correlation as method (qualitiative variables).

The correlogram plot shows all possible correlations and returns the highest and significant corelations from a correlation matrix for coeffients of all possible combinations of two variables in the Epioutbreak Food dataset.

Correlogram: most correlated food items consumed/ordered by interviewed patrons. (based on Pearson method)

Results: Apples? + Tahini, Falafel + Cucumbers, Rice + Chix.Kabob were the most positively correlated items on menu.

corr_var(food, # name of dataset
         Status, # name of variable to focus on
          method = "pearson", 
         top = 20 # display top 20 correlations
)

Narrative

Method used: correlation test of the “Status” variable (ill/not ill) to see which foods and beverages were strongly correlated with “Status” (ill/not ill).

  • Mist. Twist (a drink?) (69%) was most positively correlated with the illness status (i.e. those with ill status were significantly more likely to have also reported consumption of Mist. Twist).

  • Followed by Falafel…53 (51.%) on the menu strongly & positively correlated with ill status.

  • Baklava (45%) was also positively correlated with ill status.

Logistic Regression

modelnames <-
  glm(Status ~ 
     +  Drinks
     + Falafel.53
     + BL.Shawarma.47
     + Water,
     family = binomial(link = logit), 
     data = data)

tab_model(modelnames, auto.label = F)
  Status
Predictors Odds Ratios CI p
(Intercept) 0.23 0.02 – 1.81 0.191
Drinks1 0.13 0.00 – 1.86 0.146
Falafel.531 13.13 1.57 – 290.10 0.035
BL.Shawarma.471 2.41 0.26 – 27.34 0.439
Water1 0.95 0.08 – 11.85 0.968
Observations 34
R2 Tjur 0.233

Summary of Logistic Regression

In a simple logistic regression: “Falafel.53” was a significant predictor of illness status; those who consumed “Falafel.53” had 13 times the odds of reporting illness status (p> 0.05). Kindly Note that the foods that patrons reported being Unsure about consuming were removed in analysis.

Note also the wide intervals (less accuracy of true odds - more data is needed to estimate the true effect.)

Limitations:

  • More time to adjust model + add more variables in backward-step wise method.

  • More data to get better and accurate predictions (many missing observations).

  • Feature engineer more variables (i.e. “all meats” as a featured variable for example)

References

[1] Olmsted County Public Health Services. (2020). EPIoutbreak Assignment. Retrieved from OCPHS.


For R code or questions or ideas to collaborate, I am happy to hear from you: Rasha Elnimeiry, MPH, MAS, CPH | Relnime1(at)jhu.edu