Tuesday, April 28, 2020

Compiling the texts of the COVID-19 surveillance reports, Myanmar


In this post I am sharing my experience in collecting the texts of the COVID-19 surveillance reports published daily on the Ministry of Health and Sports, Myanmar website in Myanmar language. Principally, I used the rvest package and standard tools of the R Statistical Environment including the regex functions. The idea is quite simple: (i)Identify and extract the specific URLs,(ii)read the reports from the MOHS, (iii)extract the body text of the reports, (iv)format the reports, and (v)write out the text file.

Filter and get our reports

First we excluded the reports we were not interested. Then we extracted the body of reports:
pa01 <- "COVID-19.+စောင့်ကြပ်ကြည့်ရှုမှု.+သတင်းထုတ်ပြန်ခြင်း|COVID-19.+စောင့်ကြပ်ကြည့်ရှုမှု.+သတင်းထုတ်ပြန်ခြင်း"
xvect.01 <- xvect.0[grepl(pa01, xvect.0)]
s01 <- regexpr(pa01,xvect.01)
e0 <- gregexpr("\u104b",xvect.01)
e <- sapply(e0,max)
xvect.02 <- substr(xvect.01,s01,e+1)
cat(xvect.02[51])
COVID-19 ရောဂါ စောင့်ကြပ်ကြည့်ရှုမှုနှင့်ပတ်သက်၍ သတင်းထုတ်ပြန်ခြင်း (3-4-2020, 8:00 PM)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       ၁။ ကျန်းမာရေးနှင့်အားကစားဝန်ကြီးဌာနသည် ကမ္ဘာ့နိုင်ငံများတွင် ကူးစက်ပျံ့နှံ့လျက်ရှိသည့် COVID-19 ရောဂါ ဖြစ်ပွားမှုနှင့်ပတ်သက်၍ ရောဂါစောင့်ကြပ်ကြည့်ရှုခြင်း၊ ရောဂါ ရှာဖွေ၍ ထိရောက်စွာကုသမှုပေးခြင်း၊ ရောဂါပိုးတွေ့ရှိသူများနှင့် ထိတွေ့မှုရှိခဲ့သူများအား ရှာဖွေဖော်ထုတ်၍ အသွားအလာကန့်သတ်ခြင်း၊ လိုအပ်ပါက ဆေးရုံတက်ရောက်ကုသမှု ခံယူနိုင်စေရေး ဆောင်ရွက် ခြင်း၊ ပြည်ပနိုင်ငံများမှ ပြန်လည်ဝင်ရောက်လာသူများအား သက်ဆိုင်ရာ ဒေသအာဏာပိုင်အဖွဲ့များ၊ အခြားဌာနဆိုင်ရာများနှင့် ချိတ်ဆက်၍သတင်းရယူခြင်း၊ အသွားအလာ ကန့်သတ်ခြင်းလုပ်ငန်းများ ဆောင်ရွက်ခြင်း၊ COVID-19 ရောဂါနှင့်ပတ်သက်၍ ပြည်သူလူထုမှ သတင်းမှန်များ ရရှိနိုင်ရေး အတွက် နေ့စဉ်သတင်းထုတ်ပြန်ခြင်း လုပ်ငန်းများအား အရှိန်အဟုန်မြှင့် ဆောင်ရွက်လျက်ရှိပါသည်။    ၂။ (၂-၄-၂၀၂၀) ရက်နေ့၊ ညနေ (၆) နာရီမှ (၃-၄-၂၀၂၀) ရက်နေ့၊ ညနေ (၆) နာရီအထိ စောင့်ကြည့်လူနာအသစ် (၄၆) ဦး ရှိပါသည်။    ၃။ အမျိုးသားကျန်းမာရေးဓာတ်ခွဲမှုဆိုင်ရာဌာန (ရန်ကုန်) မှ (၃-၄-၂၀၂၀) ရက်နေ့ ဓာတ်ခွဲစစ်ဆေးမှုအဖြေများအရ စောင့်ကြည့်လူနာနှင့် ဆေးရုံ (သို့မဟုတ်) အိမ်တွင် အသွားအလာကန့်သတ်၍ စောင့်ကြပ်ကြည့်ရှုမှုခံယူနေသူ (၅၅) ဦး၏ ဓာတ်ခွဲနမူနာများအား စစ်ဆေးခဲ့ရာ အားလုံး၏ ဓာတ်ခွဲအဖြေများတွင် COVID-19 ရောဂါပိုး မရှိကြောင်း (မရှိကြောင်း) တွေ့ရှိရပါသည်။    ၄။ COVID-19 ရောဂါ ဓာတ်ခွဲအတည်ပြုလူနာ (၁၉) ဦးအနက် ချင်းပြည်နယ်၊ တီးတိန်ပြည်သူ့ ဆေးရုံတွင် လူနာ (၁) ဦး၊ ရန်ကုန်မြို့၊ ဝေဘာဂီအထူးကုဆေးရုံကြီးတွင် လူနာ (၉) ဦး နှင့် မန္တလေး မြို့၊ ကန်တော်နဒီဆေးရုံတွင် လူနာ (၁) ဦး၊ နေပြည်တော်ပြည်သူ့ဆေးရုံကြီးတွင် လူနာ (၁) ဦး၊ ရှမ်းပြည်နယ် (မြောက်ပိုင်း)၊ ပြည်သူ့ဆေးရုံကြီး၊ လားရှိုးမြို့တွင် ကျောက်မဲမြို့ ပြည်သူ့ဆေးရုံမှ ပြောင်းရွှေ့လူနာ (၁) ဦး၊ ပဲခူးတိုင်းဒေသကြီး၊ ပြည်သူ့ဆေးရုံကြီး၊ ပြည်မြို့တွင် ပြည်သူ့ဆေးရုံ၊ ပေါက်ခေါင်းမြို့မှ ပြောင်းရွှေ့လူနာ (၄) ဦး၊ စုစုပေါင်း (၁၇) ဦးတို့၏ ကျန်းမာရေးအခြေအနေမှာ တည်ငြိမ်လျက်ရှိပါသည်။ ဝေဘာဂီအထူးကုဆေးရုံကြီးရှိ လူနာ (၂) ဦးအား အထူးကြပ်မတ်ခန်း၌ သီးခြားထားရှိဆေးကုသမှု ပေးလျက်ရှိပါသည်။    ၅။ ယခုအခါ (၂၃-၃-၂၀၂၀) ရက်နေ့မှ (၃-၄-၂၀၂၀) ရက်နေ့အထိ မြန်မာနိုင်ငံတွင် COVID-19 ရောဂါ ဓာတ်ခွဲအတည်ပြုလူနာ (၂၀) ဦး တွေ့ရှိလာရပြီဖြစ်ပါသည်။ သို့ဖြစ်ပါ၍ ပြည်သူများ အနေဖြင့် ကျန်းမာရေးနှင့်အားကစားဝန်ကြီးဌာနမှ ထုတ်ပြန်ထားသော ရောဂါကာကွယ် ရေးဆိုင်ရာ ကျန်းမာရေးပညာပေးအချက်အလက်များအား တိကျစွာလိုက်နာ ဆောင်ရွက်ခြင်းဖြင့် မိမိသာမက မိမိ၏ မိသားစုနှင့်ပတ်ဝန်းကျင်မှ လူများအတွက်ပါ ရောဂါကူးစက်မှုမရှိစေရေး ပူးပေါင်း ဆောင်ရွက် ပေးနိုင်ကြပါရန် နှိုးဆော်အပ်ပါသည်။ 

Need for correct order of code points

For the filter above, I used the pattern:
pa01 <- "COVID-19.+စောင့်ကြပ်ကြည့်ရှုမှု.+သတင်းထုတ်ပြန်ခြင်း"
However, the result failed to include two reports for “April 20, 8:00 PM and April 20, 10:00 AM”. After a lot of frustrations I found out that those two were using:
"COVID-19.+စောင့်ကြပ်ကြည့်ရှုမှု.+သတင်းထုတ်ပြန်ခြင်း"
And they looked exactly the same.
But when you compare them, it turns out that they are not identical.
"COVID-19.+စောင့်ကြပ်ကြည့်ရှုမှု.+သတင်းထုတ်ပြန်ခြင်း" == "COVID-19.+စောင့်ကြပ်ကြည့်ရှုမှု.+သတင်းထုတ်ပြန်ခြင်း"
[1] FALSE
If you look at the codes, you’ll see why!
[1] "COVID-19.+စောင့\u103aက\u103cပ\u103aက\u103cည့\u103aရ\u103eုမ\u103eု.+သတင\u103aးထုတ\u103aပ\u103cန\u103aခ\u103cင\u103aး"
[2] "COVID-19.+စောင\u103a့က\u103cပ\u103aက\u103cည\u103a့ရ\u103eုမ\u103eု.+သတင\u103aးထုတ\u103aပ\u103cန\u103aခ\u103cင\u103aး"

Create a dataframe for convenience

For convenience the results were collected in a dataframe.
We created a dataframe with title in first column and report text in the second column. For printing out the results to a text file, a third column combining the last two was created.
xM <- data.frame(stringr::str_split_fixed(xvect.02,"\\)",2),stringsAsFactors = FALSE)
xM[,1] <- paste0(xM[,1],")")
xM$xout <- paste0(xM[,1],"\n", trimws(xM[,2]),"\n")

Finally, shared

The following text file (MOHS_COVID-19_Apr3-27.txt) of COVID-19 surveillance reports (COVID-19 ရောဂါ စောင့်ကြပ်ကြည့်ရှုမှုနှင့်ပတ်သက်၍ သတင်းထုတ်ပြန်ခြင်း) for April 3 to 27 is shared as is, here.
writeLines(xM$xout, "MOHS_COVID-19_Apr3-27.txt",useBytes = TRUE)