KAP COVID-19

Introduction

Title: Knowledge, attitudes, and practices (KAP) Towards COVID-19 among Migrant workers in Phuket province

Institute of Preventive Medicine, Department of Disease Control, Ministry of Public Health, Thailand

This project focuses on creating a registry system for promoting health equity and tracking on migrant workers’ health status in the South Andaman Coast of Thailand, pilot in Phuket province.

Objective

  1. To investigate the level of migrant workers on knowledge, attitudes, and practices toward COVID-19.
  2. explores how COVID-19 knowledge is related to practices and relation by demographic factors.
  3. Identified which population has low levels of knowledge about COVID-19.

Methods

Participants

The target population is migrant workers in the South Andaman Coast of Thailand; pilot in Phuket provinces, including migrant workers in other cities. The target area is selected according to the objectives of the funders (Centers for Disease Control and Prevention (CDC)). A target of four hundred migrant workers to enroll and participate in the survey of knowledge, attitudes and practices toward COVID-19 study. Sample size was determined by the one proportion formula; n = Z2 P(1-P)/d2. At the maximum proportion of 0.5, p = 0.05 and d = 0.05, the minimum number of sample size will be 384. Prepare 5% for drop out or missing value, the total sample size will be 400 participants Participants in this study have the following qualifications; - is a migrant worker Burmese, Cambodian and Lao nationality; - is 18 years old or over age at the date of participation in the study; - be able to communicate in Thai

Measures

KAP survey questionnaire was built with 6 sections, socio-demographic information (i.e. gender, age, education etc.), COVID-19 Situation, Knowledge, Altitude, Practice, and Mental health. This is an KAP survey document. For more details on KAP survey see http://www.migranthealthvolunteer.com/redcap. Data collection separate into 3-time period (May-July, 2022) via paper and online form. All questionnaires are collected in digital form by Redcap software.

Data analysis

In this research (survey part), the qualitative data analysis will used content analysis, while the data on knowledge, attitude and practice of migrant workers towards the situation of COVID-19 disease will be analyzed by both descriptive statistic such as percentages and Cross-Tabulation tables. We also proceed statistical analyses using RStudio 2022.07.01 with multivariate linear regression analysis.

Redcap software has the ability not only to create forms to collect the data but also to generate reports and dashboards. This is an example of a report generated by Redcap. Demographic information. However, Redcap also supports access to data by API. All you have to do is just create a token for the form that need to access. In this case, we tried to pull and analyze data via R programming.

This is some processing to shown summary of KAP survey.

Load library

Set Connection to Redcap projects

This step is create connection to the project on server install Redcap. First of all generate apt token for the project that need to access and pull data. Then create url and token variable for data pulling.

The data dictionary describing 90 fields was read from REDCap in 0.8 seconds.  The http status code was 200.
779 records and 1 columns were read from REDCap in 0.4 seconds.  The http status code was 200.
Starting to read 779 records  at 2023-08-13 10:46:49.
Reading batch 1 of 8, with subjects 1 through 100 (ie, 100 unique subject records).
100 records and 181 columns were read from REDCap in 0.4 seconds.  The http status code was 200.
Reading batch 2 of 8, with subjects 101 through 200 (ie, 100 unique subject records).
100 records and 181 columns were read from REDCap in 0.4 seconds.  The http status code was 200.
Reading batch 3 of 8, with subjects 201 through 300 (ie, 100 unique subject records).
100 records and 181 columns were read from REDCap in 0.4 seconds.  The http status code was 200.
Reading batch 4 of 8, with subjects 301 through 400 (ie, 100 unique subject records).
100 records and 181 columns were read from REDCap in 0.4 seconds.  The http status code was 200.
Reading batch 5 of 8, with subjects 401 through 500 (ie, 100 unique subject records).
100 records and 181 columns were read from REDCap in 0.4 seconds.  The http status code was 200.
Reading batch 6 of 8, with subjects 501 through 600 (ie, 100 unique subject records).
100 records and 181 columns were read from REDCap in 0.4 seconds.  The http status code was 200.
Reading batch 7 of 8, with subjects 601 through 700 (ie, 100 unique subject records).
100 records and 181 columns were read from REDCap in 0.4 seconds.  The http status code was 200.
Reading batch 8 of 8, with subjects 701 through 779 (ie, 79 unique subject records).
79 records and 181 columns were read from REDCap in 0.4 seconds.  The http status code was 200.

── Column specification ────────────────────────────────────────────────────────
cols(
  .default = col_double(),
  input_name = col_character(),
  staying_time = col_character(),
  job_orthers = col_character(),
  not_q_reason = col_character(),
  attitude_09_other = col_logical(),
  attitude_11_other = col_character(),
  vaccinated_1st = col_date(format = ""),
  vaccine_name_orther = col_character(),
  vaccinated_2nd = col_date(format = ""),
  vaccine_name_orther_2 = col_character(),
  vaccination_concern_reas = col_character(),
  vaccination_decision_no_rs = col_character(),
  behavior_08_yes_orther = col_character()
)
ℹ Use `spec()` for the full column specifications.

Data Cleaning

You can also clean data, for example:

# filter valid data
df_valid = df %>% filter(age_kap > 17)
df_valid = df_valid %>% drop_na(education, 
                                income, 
                                from_nation,
                                staying_time,
                                house_members,
                                stay_with_family)

knitr::kable(df_valid[1:5, ], caption = "A KAP Survey (sample data)")
A KAP Survey (sample data)
record_id input_name gender age_kap education income job_status from_nation staying_time amphoe moving_reason works_permit job_desc job_orthers house_members stay_with_family house_members_number religion other_covid19 no_family_covid19_detected no_family_covid19_died contact_covid19 quarantine_14day not_quarantine_res not_q_reason test_covid19 testing_after_covid19 testing_type_covid19___1 testing_type_covid19___2 testing_type_covid19___3 testing_type_covid19___4 testing_type_covid19___5 testing_type_covid19___6 result_test_covid19 testing_result_others detected_relation___1 detected_relation___2 detected_relation___3 detected_relation___4 detected_relation___5 detected_relation___6 detected_treatment family_death_covid19 knowledge_01 knowledge_02 knowledge_03 knowledge_04 attitude_01 attitude_02 attitude_03 attitude_3_1 attitude_04 attitude_05 attitude_06 attitude_07 attitude_08 attitude_09 attitude_09_other attitude_10___1 attitude_10___2 attitude_10___3 attitude_10___4 attitude_10___5 attitude_10___6 attitude_10___7 attitude_10___8 attitude_10___9 attitude_10___10 attitude_11 attitude_11_other attitude_12___1 attitude_12___2 attitude_12___3 attitude_12___4 attitude_12___5 attitude_12___6 attitude_12___7 attitude_12___8 attitude_13___1 attitude_13___2 attitude_13___3 attitude_13___4 attitude_13___5 attitude_13___6 attitude_13___7 attitude_13___8 vaccination vaccinated_1st vaccine_name vaccine_name_orther vaccinated_2nd vaccine_name_2 vaccine_name_orther_2 no_vaccinated vaccination_concern vaccination_concern_reas vaccination_decision vaccination_decision_no vaccination_decision_no_rs behavior_01___1 behavior_01___2 behavior_01___3 behavior_01___4 behavior_01___5 behavior_01___6 behavior_01___7 behavior_01___8 behavior_01___9 behavior_01___10 behavior_01___11 behavior_01___12 behavior_01___13 behavior_01___14 behavior_01___15 behavior_01___16 behavior_01___17 behavior_01___18 behavior_01___19 behavior_01___20 behavior_02 behavior_03 behavior_04 behavior_05 behavior_06 behavior_07 behavior_08 behavior_08_yes behavior_08_yes_orther behavior_09___1 behavior_09___2 behavior_09___3 behavior_09___4 behavior_09___5 behavior_09___6 behavior_09___7 behavior_09___8 behavior_09___9 behavior_09___10 behavior_09___11 behavior_09___12 behavior_09___13 behavior_09___14 behavior_09___15 behavior_09___16 behavior_09___17 behavior_09___18 behavior_09___19 behavior_09___20 behavior_09___21 behavior_09___22 behavior_09___23 bahavior_10 mental_01 mental_02 mental_03 mental_04 impact_01 impact_01_yes impact_02 impact_03 impact_04 impact_05 inforamtion_01___1 inforamtion_01___2 inforamtion_01___3 inforamtion_01___4 inforamtion_01___5 inforamtion_01___6 inforamtion_01___7 inforamtion_01___8 inforamtion_01___9 inforamtion_01___10 inforamtion_01___11 inforamtion_01___12 inforamtion_01___13 inforamtion_01___14 inforamtion_01___15 inforamtion_01___16 inforamtion_01___17 inforamtion_01___18 form_1_4c55c8_complete
1 NA 2 28 3 1 2 1 3 1 1 1 4 NA 10 3 NA 1 2 1 2 2 4 3 NA 1 6 0 1 0 0 0 0 2 2 0 0 0 0 0 0 NA 4 3 2 1 1 NA NA NA NA NA NA NA NA NA NA NA 0 0 0 0 0 0 0 0 0 0 NA NA 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 NA NA NA NA NA NA NA NA NA NA NA NA NA 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 NA NA NA NA NA NA NA NA NA 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 NA NA NA NA NA NA NA NA NA NA NA 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
3 NA 2 28 3 1 2 1 2 1 1 1 4 NA 10 3 NA 1 2 1 2 2 4 3 NA 1 6 0 1 0 0 0 0 2 2 0 0 0 0 0 0 NA 2 1 1 1 3 3 1 1 NA 1 1 1 4 3 5 NA 1 0 0 0 0 0 1 0 0 0 3 NA 0 0 1 0 0 0 1 0 1 0 0 0 0 0 1 0 1 NA 2 NA NA 3 NA NA 1 NA 1 NA NA 1 0 1 0 1 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 1 1 1 1 2 1 1 1 NA 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 NA 1 4 1 4 2 NA 1 1 1 1 1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0
5 NA 1 37 3 2 1 1 0 1 1 1 3 NA 3 1 0 1 2 2 2 1 2 2 NA 1 1 0 0 0 0 0 1 2 2 0 0 0 0 0 0 NA NA 1 1 1 2 1 1 1 4 4 1 1 1 1 6 NA 1 0 0 0 0 0 0 0 0 0 3 NA 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1 NA 1 NA NA 3 NA NA 1 NA 1 NA NA 1 0 0 0 0 1 0 0 1 0 1 0 1 0 0 0 0 0 0 0 1 3 1 1 1 1 1 1 NA 1 0 1 0 1 1 1 0 1 1 0 1 1 0 1 0 1 0 1 0 0 0 0 1 1 6 1 1 2 NA 2 2 1 1 0 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0
6 NA 1 37 3 2 1 1 15 1 1 1 8 NA 0 1 0 1 1 3 3 2 4 2 NA 1 1 0 1 0 0 0 0 1 2 0 0 0 0 0 0 NA 2 1 1 1 1 1 2 2 2 2 1 1 1 3 4 NA 1 0 0 0 0 0 0 0 0 0 4 NA 0 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0 1 2021-06-20 1 NA 2021-07-11 1 NA NA 1 NA 1 NA NA 1 1 1 0 0 0 0 0 0 1 1 0 1 1 1 0 0 0 0 0 1 3 1 1 1 1 1 3 NA 1 1 0 1 1 1 1 1 0 0 0 0 0 0 1 0 1 0 0 1 1 0 0 1 1 1 1 6 1 2 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
7 NA 2 43 2 3 1 1 25 2 2 1 5 NA 4 1 4 1 1 1 2 2 2 1 NA 1 5 0 1 0 0 0 0 2 1 0 0 1 0 0 0 3 2 1 1 1 1 1 1 1 1 1 1 1 3 1 4 NA 1 0 0 0 0 0 0 0 0 0 4 NA 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 1 NA 1 NA NA 1 NA NA 1 NA 1 NA NA 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1 1 1 1 4 1 2 NA NA 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 NA 1 1 1 1 1 2 2 4 2 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
# summary by gender and age
age_sex = df_valid %>%
  count(age_kap, gender)
knitr::kable(age_sex[1:5, ], caption = "A Summary by Gender & Sex")
A Summary by Gender & Sex
age_kap gender n
18 1 6
18 2 5
19 1 7
19 2 4
19 3 1

Data processing

df_group <- df_valid %>% mutate(age_group = dplyr::case_when(
  age_kap >= 18 & age_kap <= 29 ~ "18-29",
  age_kap >= 30 & age_kap <= 39 ~ "30-39",
  age_kap >= 40 & age_kap <= 49 ~ "40-49",
  age_kap >= 50 & age_kap <= 59 ~ "50-59",
  age_kap > 60          ~ "> 60"
),
age_group = factor(
  age_group,
  level=c("18-29","30-39","40-49","50-59","> 60")
)
)

# Sum by each group
df_sum = summarize(group_by(df_group, age_group), total_age_group = n())
df_gender = summarize(group_by(df_group, gender), total_gender=n())
df_amphoe = summarize(group_by(df_group, amphoe), total_amphoe=n())
df_edu = summarize(group_by(df_group, education), total_edu=n())
df_income = summarize(group_by(df_group, income), total_incomde=n())
df_nation = summarize(group_by(df_group, from_nation), total_nation=n())
df_housemember = summarize(group_by(df_group, house_members), total_hmember=n())

Results

Socio-demographic information

  • 751 individuals responded to the survey, and after excluding individuals with missing data, 555 individuals were including to final analysis (Table 1-6)

  • Total respondents

[1] "Total Respondents = 555"

Gender

Table 1 A Summary by Gender
gender total_gender Percentage
Female 291 52.4%
Male 261 47.0%
Prefer not to answer 3 0.5%

Age Group

  • Age statistic
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
  18.00   27.00   34.00   34.46   42.00   57.00 
[1] "Age SD =  9.18"
Table 2 A Summary by Age Group
age_group total_age_group Percentage
18-29 193 34.77%
30-39 195 35.14%
40-49 129 23.24%
50-59 38 6.85%

Country

Table 3 A Summary by Country
from_nation total_nation percentage
Burmese 548 98.74%
Lao 3 0.54%
Cambodia 4 0.72%

Education

Table 4 A Summary by Education
education total_edu percentage
Not study 82 14.77%
Elementary school 149 26.85%
Middle school 212 38.20%
High school 89 16.04%
Bachelor Degree 17 3.06%
Master Degree 1 0.18%
Do not know 1 0.18%
Prefer not to answer 4 0.72%

Monthly household income (Bath)

Table 5 A Summary of Income
income total_incomde percentage
< 5,000 88 15.9%
5,000 - 10,000 313 56.4%
10,000 - 15,000 141 25.4%
> 15,000 13 2.3%

Family

Table 6 A Summary of Family
stay_with_family total_stay percentage
Yes 410 74%
No 131 24%
Prefer not to answer 14 3%

House member

   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
   0.00    2.00    3.00    3.55    4.00   12.00 
[1] "House member SD = "
[1] 1.853569
Table 7 A Summary by House Member
house_members total_hmember percentage
0 1 0.18%
1 38 6.85%
2 144 25.95%
3 131 23.60%
4 115 20.72%
5 57 10.27%
6 23 4.14%
7 20 3.60%
8 16 2.88%
9 2 0.36%
10 7 1.26%
12 1 0.18%

COVID-19 History

COVID-19 History Summary by Redcap

Knowledge

      gender      age_kap    education       income staying_time knowledge_01 
    "factor"    "numeric"     "factor"     "factor"    "numeric"     "factor" 
knowledge_02 knowledge_03 knowledge_04  attitude_01  attitude_02  attitude_03 
    "factor"     "factor"     "factor"     "factor"     "factor"     "factor" 
attitude_3_1  attitude_04  attitude_05  attitude_06  behavior_02  behavior_04 
    "factor"     "factor"     "factor"     "factor"     "factor"     "factor" 
 behavior_07  behavior_08    kap_score     kl_score 
    "factor"     "factor"    "numeric"    "numeric" 
knowledge Yes No DoNotKnow
COVID-19 can spread from person-to-person when people are in close contact with each other. 84.8% 8.1% 7.05%
A person infected with COVID-19 can transmit the virus to others even if they do not have symptoms. 82.2% 12.1% 5.73%
Isolating people infected with COVID-19 is an effective way to reduce the spread of the virus. 91.4% 5.1% 3.52%
Older adults and those with chronic illness, such as heart or lung disease, are at increased risk of having serious COVID-19 symptoms. 85.9% 6.6% 7.49%

Altitude

Face Masks or Coverings

att_mask Yes No DoNotKnow PreferNotAnswer
It is important for everyone to wear a mask when in INDOOR public spaces (businesses, schools, places of worship etc.). 88.3% 4.9% 1.8% 5%
It is important for everyone to wear a mask when there are other people nearby in OUTDOOR public spaces (businesses, schools, places of worship etc.). 84.7% 7.6% 3.8% 4%

Physical Distancing

att_physical Yes No DoNotKnow PreferNotAnswer
It is important for everyone to practice physical distancing (i.e. limiting contact & keeping 2 meters between people) when they are INDOORS in public spaces even if wearing a mask. 85.2% 7.21% 4.50% 3.1%
It is important for everyone to practice physical distancing (i.e. limiting contact & keeping 2 meters between people) when they are OUTDOORS in public spaces even if wearing a mask. 84.1% 7.03% 4.68% 4.1%

Cleaning or Sanitizing

clean_sani Yes No DoNotKnow PreferNotAnswer
It is important to clean and sanitize doorknobs/handles, countertops and other surfaces to prevent the spread of COVID-19. 86% 6% 3% 4%

Hand Hygiene

clean_hand Yes No DoNotKnow PreferNotAnswer
It is important to wash your hands with soap and water for 20 seconds after you have been in a public place. 90% 2% 3% 5%

Health conditions

health_cond Yes No DoNotKnow PreferNotAnswer
Older adults (65+) and people who are overweight or with diabetes, high blood pressure, or cancer are at-risk for becoming so sick from COVID-19 that they need to go to a health facility. 85% 4% 6% 5%

Testing

cov_testing Likely Neutral Unlikely Dontknow_Unsure PreferNottoAnswer
How likely are you to get tested for COVID-19 if you had symptoms? 76% 6% 6.7% 9.0% 2.5%
Would you be more likely, about as likely, or less likely to get tested for COVID-19 if you could easily get a Ministry of Health approved pill to reduce the chance that you would get really sick? 61% 18% 9.4% 10.5% 0.9%
cov_testing HomebyMyself HomebyComHealthWorker Clinic Hospital Other Dontknow_Unsure PreferNottoAnswer
Some new pills for COVID-19 work best if people who are at-risk for getting really sick are tested and get treatment soon after symptoms start. Where would you prefer to get tested? 14% 9% 10% 62% 2% 2% 1%

Treatment

Treatment Summary by Redcap

Vaccines

Vaccines Summary

vaccination Yes No
Are you vaccinated for COVID-19? 95% 5%
Do you have a concern about any kind of vaccine or preference? 14% 86%

Determinants of attitudes toward COVID-19

Practice

Behavior summmary by Redcap

beh_1 Yes No DoNotKnow PreferNotAnwser
In the last month, have you ever worn a face mask to reduce the spread of COVID-19? 92.1% 3.2% 0.90% 0.18%
In the past month, do you try to maintain physical distance between yourself and persons who do not live in your household to prevent the spread of COVID-19? 86.1% 7.9% 1.98% 0.00%
Since March 2020, have you practiced self-isolation (staying away from others, including household members) because you were diagnosed with or thought that you had COVID-19? 56.4% 36.8% 2.88% 0.00%
Since March 2020, have you practiced quarantine (separating and restricting your movements) because you had been exposed to COVID-19? 43.8% 47.7% 4.68% 0.00%
beh_2 Always Often Sometimes Seldom Never NotApplicable DontKnow PreferNotAnwser
In the past month, how often have you worn a face mask when in public spaces? 82.0% 3.6% 6.85% 0.36% 1.6% 0.36% 0.90% 4.32%
In the past month, how often did you practice physical distancing when in indoor public spaces? 74.2% 6.7% 7.39% 1.08% 4.1% 0.00% 1.26% 5.23%

Determinants of preventive behaviors toward COVID-19

Mental health

In the past 2 weeks,
mental NotAtAll Several MorethanHalfDay NearlyEverday DontKnow PreferNotAnwser
how often have you had little interest or pleasure in doing things? 67.39% 5.95% 6.31% 1.98% 9.55% 8.83%
how often have you been bothered with feeling down, depressed or hopeless? 59.82% 9.55% 5.59% 2.70% 10.81% 11.53%
how often have you felt nervous, anxious or on edge? 68.47% 4.32% 6.85% 2.52% 9.55% 8.29%
how often have you not been able to stop or control worrying? 59.46% 6.13% 7.21% 7.03% 9.01% 11.17%

Impact of COVID-19

Since March 2020,
impact_1 Yes No Unsure PreferNotAnswer
Have you or anyone in your household experienced a loss of income? 61% 30% 2% 7%
impact_2_3 NotAtAll Little Somewhat Greatly PreferNotAnswer
In general, how worried are you about not having enough food? 45.4% 32.6% 6.31% 6.85% 8.83%
Since March 2020, how often have you run out of food, and you didn’t have a way to get more? 65.6% 15.7% 7.75% 4.14% 6.85%
Since March 2020, do you ever cut the size of your meals or skip meals because there wasn’t enough money for food for your household? 64.0% 18.6% 5.59% 3.42% 8.47%

COVID-19 Sources of Information

COVID-19 Sources of Information