「口罩地圖」後,這次我們挑戰「台南打疫苗」! 疫苗預約系統40日開發心得

「口罩地圖」後,這次我們挑戰「台南打疫苗」! 疫苗預約系統40日開發心得
台南市運用科技力量,加速疫苗登記預約流程。圖片來源:黃偉哲臉書
2021-07-21
文・吳展瑋
10529
編按:本文作者、好想工作室的Howard(吳展瑋),是去年「口罩地圖」的發起者,也是「台南打疫苗」的開發者。

寫這篇主要是想跟大家分享這次開發的過程,從另一個角度來陳述「台南打疫苗」這個事件。

對我來說,「台南打疫苗」是另一個民間與政府合作的過程。最早在六月十日時,因為一些事情去台南市政府;府內友人知道後,就找我諮詢一些市府想對施打疫苗做些資訊化的工具,想不到與他們簡單交流後,就不知不覺掉入坑了QQ。

「台南打疫苗」是一個四人小組,成員有一位PM(專案負責人)、一位開發者,與兩位技術支援夥伴,除了我以外的三位夥伴,都是市府內的人員。

第一階段:如何幫鄰里長調查長者施打意願?

最初市府的決策是使用造冊配發的方式,而在配發前需先詢問長者的意願。

這個專案主要是想解決鄰里長拜訪長者,能快速詢問施打意願,然後用於造冊派發施打疫苗的時間。在這個階段有兩個工具,一是給鄰里長用的快速登錄界面,另一個是收集意願後的疫苗配發系統。

給鄰里長使用的工具,考量到他們的資訊使用能力,所以決定用LINE當作應用工具介面;讓鄰里長詢問長者過程中,當場透過LINE輸入長者的身分證字號與生日作身份核對,記錄長者是否有施打意願,透過資訊彙整比對,快速造冊施打對象。

有了造冊名單後,接著將它匯入疫苗配發系統,可以將所有造冊名單快速配發接種地點與接種時間,然後統一印出客製通知單。上面包含長者的基本資訊、接種地點、接種時間、注意事項,再讓鄰里長將通知單發給個別的人。

這個階段的兩個工具,六月14日就已經實作完畢,接著就嘗試找目標對象來測試佐證,不過得到的反饋並不好。

主要原因是,「讓鄰里長去個別拜訪詢問意願」這件事幾乎會消耗掉村里幹事的能量。

新冠疫苗-台南市政府-新冠肺炎-疫苗預約沒有科技幫忙,里幹事得挨家挨戶發放疫苗接種通知單。圖片來源:黃偉哲臉書

在限定85歲以上施打對象時,台南總約有三萬多名符合身份的長者;但當年齡開始下修時,個別詢問的難度會翻倍成長,所以也就討論讓LINE聊天機器人工具轉為直接面向一般大眾,作為直接預約的用途。

這也就是一般大眾所知「台南打疫苗」LINE聊天機器人的前身。

但這個階段的另一個工具「疫苗配發系統」卻出乎意料的好用。匯入名單後,自動配發接種地點、接種時間。在接種報到現場,可以快速掃描身分證條碼,辨別報到者的身份,確認是否為造冊人員,然後自動統計人數,得知整體報到情況,最後匯出今日施打名單上傳至健保系統。

這個系統才是「台南打疫苗」的本體。

這個系統在六月19日第一次上戰場,第一次就直接面對2,500人的大型接種站。除了一開始稍微混亂外,後來運作非常順暢,大幅減輕報到人員的壓力;縱使是一位新接手的夥伴也能在半小時內熟悉上手,爾後台南陸續出現的大型接種站也都使用這個系統。

新冠疫苗-台南市政府-新冠肺炎-疫苗預約「疫苗配發系統」協助負責人員迅速了解整體報到情況。圖片來源:吳展瑋提供

第二階段:如何使報到人員比對身份更便利?

在第一次上戰場後,接下來開發的主力幾乎都圍繞在「如何讓報到人員更便利」這件事情發展。

在這個階段,我們四人小組幾乎每天都往接種站跑,一邊協助報到現場,一邊觀察現場遇到的狀況,然後每天修正改版。

例如配發的接種時間,我們可以設定接種單位的服務時段,然後平均分配報到時間。甚至後來因應疫苗開瓶的劑量,可以讓11個人為一個預約時間單位報到;後來有莫德納疫苗,也會根據疫苗種類,自動配發成14個人為一個預約時間單位。

例如比對與修正資料。一開始的造冊名單都是人為造冊,裡面包含非常多人為錯誤,報到人員也可直接在列表上修改基本資訊;於是在使用者的操作體驗上做了許多功夫,讓報到人員可以在最短的時間修正異動資料。

例如接種意願書,每位接種疫苗的人都必須填寫意願書。不過這對於長者是件困難的事,導致現場要有許多志工一邊幫忙詢問長者資料,一邊協助填寫。

新冠疫苗-台南市政府-新冠肺炎-疫苗預約開發團隊提高系統使用的便利性,節省疫苗接種流程的人力與時間。圖片來源:黃偉哲臉書

後來,我們就把這件事情拉入報到系統,在掃描身分證條碼後,連結戶政資料,自動印出帶有資料的個人意願表,節省了非常多的人力和時間。

例如施打的資格審核,在施打對象的資格頻繁調整時,靠人力辨識眼前的對象是否符合資格將愈來愈困難;要判斷的事情許多,包含是否在名冊內、是否符合年齡資格、是否在籍、是否報到過、是否施打過、是否與第一劑是同一種類的疫苗等。

透過系統資料整合,只要一掃身分證條碼就能全部自動驗證,大幅減少人為判讀,減少人為的疏忽錯誤。

在這個階段除了著重在報到整合系統,也著手改寫LINE聊天機器人,讓它變成民眾的預約工具。

不過,執行這件事時有個糾結的事,因為我們知道唐鳳政委的中央統一預約系統也在進行,LINE聊天機器人很可能只會存活很短的時間。

後來,我們還是做了「台南打疫苗聊天」機器人,考量點有兩個:

第一,施打當年齡下修後,用預約的方式才有辦法防止混亂(協進國小就是個案例)。我們當時無法確認中央的系統哪時候會上線,所以還是需要填補空窗期。

第二,我們的本體還是報到系統,名冊的來源本就是多元的,可以透過造冊、預約、甚至直接現場施打,所以用LINE預約來的名單或中央系統預約的名單,都可以走同樣模式進到報到系統。

新冠疫苗-台南市政府-新冠肺炎-疫苗預約接種現場難免混亂,團隊希望藉由資料整合減少人為的疏忽錯誤。圖片來源:吳展瑋提供

第三階段:「台南打疫苗」正式啟動預約

在這個階段就是大家熟悉的「台南打疫苗」,在七月二日正式啟動第一波市民預約。

這個階段一開始,市府長官非常擔心系統的扛載量,畢竟在報到台的人數與市民的人數相比,不是同一個量級的。所以,我們以非常保守的方式啟動,在沒有任何宣傳的方式下,只有北區和安平區的市民參與了第一波預約。

為什麼是北區和安平區呢?

因為這兩區的區長預見,用配發通知並非長久之計,太消耗基層的村里幹事能量,所以非常積極主動提議要使用預約。

縱使LINE預約已算簡便,但考量到許多長者資訊能力還是不足,所以我們也準備了後台介面給各醫事單位客服人員使用。他們可透過電話和後台直接幫長者預約,甚至串上簡訊系統,在後台幫長者預約完後,可直接傳封預約成功簡訊讓長者安心保存。

新冠疫苗-台南市政府-新冠肺炎-疫苗預約輸入基本資料並選定施打地點與時段,就算預約成功。圖片來源:吳展瑋提供

不過第一波的預約並不如預期,兩區總共600個名額,但在缺乏任何宣傳的狀況下,最後只有100多個名額預約,而且這還是莫德納疫苗。

這邊有個插曲。當北區區長決定參與第一波預約時,我們也安排了一次對北區里長的LINE預約教學;但可能是我們的呈現方式不佳或里長們不熟資訊操作,教學完後反而讓里長們翻盤,決定不要用預約的方式QQ。所以北區區長現場承諾,當週會開一場讓所有符合施打資格年齡的人都可以來的場次。

嗨呀,這種決定特別有種,根本就是開啟自爆模式;後來上電視新聞的灣裡、永康國小、協進國小都是這種模式。

那一場的前一天,大家都如臨大敵地在排演,包含發號碼牌的機制、報到機制(現場施打模式)、動線規劃等,施打當天區長也充當肉盾在人群中扛砲火。而那天也非常異常,早上暴多人排隊,但下午卻連一半名額都沒滿。

接著就是第二波的預約。

儘管第一波預約並沒有如預期的流量,市府長官還是很擔心系統扛載量,所以這波還是沒有任何宣傳,但加開放了原台南市區共六區。想當然爾,輿論就開始戰原台南縣市了。

不過這也是個轉機,就順勢閘門全開,全區都可以用LINE預約,且名額、場次愈開愈多、愈開愈臨時,幾乎每天都在加場、每天都有新的大型施打站出現。也因為如此,整個醫事人員、志工都被動員起來。

台南的醫療能量不比其他直轄市,許多大型接種站短時間啟用,要在短期內調用這麼多的醫師、護理人員其實頗硬。

在這個階段,我們四個人幾乎每天都各別跑不同接種站,也在每個場地看到許多新志工、新醫護人員;每個在接種戰場上的人都持續努力撐住,等待著中央系統的上線。

在中央系統上線前,疫苗施打的模式是「先有疫苗才有預約」。中央給地方多少疫苗,地方政府才敢公開說有多少量能夠預約;地方愈早打完,就愈有機會再跟中央要。這也就是為什麼「台南打疫苗」每天都在加場,真是很拼命地打;只能說台南先天不如人,但我們後天真的很努力。

中央系統上線以後,疫苗施打模式就變成「有預約才有疫苗」,地方有多少人預約,中央才配多少疫苗。這也是為什麼偉哲每天都在呼籲大家去預約,這也就是為什麼當中央系統要上線時,「台南打疫苗」就要趕快下線。說到底,就是希望台南能有更多的疫苗。

我們在七月12日將「台南打疫苗」下線,這段期間也沒有大型施打站,有個短暫的休息時光。

新冠疫苗-台南市政府-新冠肺炎-疫苗預約中央系統上線後,台南市長黃偉哲也不斷呼籲民眾線上預約。圖片來源:黃偉哲臉書

第四階段:如何整合中央的預約系統?

這個階段就是中央的預約系統上線了。七月15日,我們接收了第一批從中央來的預約名單,七月16日就馬上開啟大型施打站施打。不過目前許多醫事診所都能夠接受預約,大型施打站的人數應該也就不會像之前那麼恐怖了。

不過,在目前這個階段會有更困難的挑戰——資料的篩檢整合。

因為中央的預約可以跨縣市,但施打紀錄和造冊紀錄並無法跨縣市查詢;如果你跨區來預約疫苗,只能即時查詢NIIS系統(中央統一疫苗接種系統)來做確認。倘若接種站沒有確實上傳,就很容易造成時間差;倘若接種站沒有確實查詢,就很容易造成重複施打或混打。所以在這個階段,跨縣市的檢核資料就是非常重要的事。

目前「台南打疫苗」的報到系統,每天都會即時更新預約者的接種紀錄,現場人員一樣可以很容易知道眼前這位報到人的接種紀錄,透過排程、自動化去更新比對資料,盡可能讓這些風險在第一時間就被注意到。

至於這個階段會到什麼時候,我不知道;會不會有下一個階段,我也不知道。但在有需要的時候,我想肯定會持續幫忙。

其他補充四個QA

Q:為什麼不學高雄用造冊配發?

A:高雄這次的施打疫苗真的做得很棒,但從我的角度看,那不是說想學就能突然學的,有許多的先天條件。

比較起來,台南有許多先天上就缺少的,包含大型接種場地、醫療人數、以及鐵腕般的行政動員。我覺得最困難的應該會是行政動員,在我看過北區區長和北區里長的開會之後,區長、里長們都是以真性情在對待的;加上台南有許多老鄰里長,有時候會很熱情的幫忙,但因為資訊異動太快,很容易跟不上或傳遞了錯誤資訊。

Q:為什麼在台南打疫苗的資訊如此混亂?

A:這是因為所有人都在未知的狀況下,進行很短時間的行為決策。中央不知道什麼時候會到疫苗、地方不知道中央什麼時候會到疫苗,衛生所、衛生局、醫事單位自然就層層卡關。

而各級決策者會怕犯錯,擔心頒布施打範疇後卻讓符合的市民無法如願施打,所以會趨於非常保守,要肯定有疫苗以後才會做異動調整。這就造成很頻繁的異動,並且頭尾資訊無法有效串聯。

Q:為什麼場外大排長龍,等待很久,沒有照報到時間入場?

A:我們先撇除有些沒用報到系統的醫事單位,因為那連報到時間的控管都沒機會做到。

使用LINE預約的結果,就會為每一個預約者配發一個精確的報到時間,這也是為了做分流用途。但長輩們都非常早到,八點報到,六點半就來排隊;下午報到,早上就來排隊。如果大家都照報到時間來,其實應該不會等待太久,應該能在20分內打完休息;整體大概40分鐘內,能從門口走進來再到休息完走出去。

有沒有人意識到這件事情?有的,但在戰場上的每個人都已分身乏術,很難空下手邊來想辦法改善。這改善困難嗎?我覺得有一定程度的難度。最直接的作法,就是在外場檢核報到時間,跟電影院一樣,時間到才給入場。

因為我們是透過LINE預約,很多長輩是子女幫忙預約的,長輩們手上不見得有預約詳細資訊,甚至根本就不知道預約時間就直接跑來;一般的外場人員,就沒有辦法像電影院一樣驗票入場。

後來系統穩定後我比較空閒,就著手做了 QR code 掃描,可以讓外場等待的民眾查詢自己的預約資訊;同時也做了一個手機版工具,用後鏡頭掃描身分證條碼,去驗證該民眾的報到場次和報到時間。

不過這都已經很後面了,第一次上場已經是七月12日的安南國中。不過那一天測試下來,發現與其我們做了這些工具,都不及入口站了兩位穿著制服的警察大哥來當門神;他們真的很神勇地擋掉了許多早到的民眾,希望這樣的模式能夠被複製應用。

Q:為什麼成大有冷氣吹,施打時間又短又順暢?

A:基本上成大做得好太多了,但成大和大型施打站是不能放在一起比較的。

舉個例子,大型醫療院所就像美國精良的海豹部隊,每個都是經驗老手,每個都是以一擋百的菁英,甚至還有場地爸爸在後面提供各種實體設施和物資。在一個成大場域施打,他們投入了超過200人的醫護人力資源,有輪班人員、有每日的調整與檢討部隊、有充足的護理人員和醫師。

而大型施打站呢?好吧,就像一支傭兵隊伍,但要守住整個城市,所以就需要拆散資源,並從民兵裡面調用臨時組合。以所使用的資源來看,大型施打站能發揮的能量已經不錯了,但回歸現實面,如果你還有得選,當然要選擇資源比較多的選項。所以能去大型醫療院所的話,我也會推薦你去。

新冠疫苗-台南市政府-新冠肺炎-疫苗預約民眾在成大醫院排隊等待接種疫苗。圖片來源:成大醫院粉專

抱怨「沒有人做這件事」,不如先當那個「沒有人」

整體回頭看來,我蠻感謝市府的友人推我入坑的。因為做這件事情確實幫了許多人,也感謝這三位市府夥伴,因為必須包容民間不同的做事方式,團隊運作得很順利,甚至是爾後遇到的衛生局、衛生所夥伴,每個人都為了這件事彼此協作、包容。

我不認為台南市政府做得很好,我也不會想幫市府說話;但當看到了不好的地方,除了謾罵,直接捲起袖子上場幫忙會更實在。我不會幫人打疫苗,也無法做接種宣導,但如果做些小工具能幫助一線醫護人員,省了一點時間,或許他們就能幫助更多人。

當你抱怨沒有人做這件事情時,不如你就先當那個「沒有人」。

誰是Howard(吳展瑋)?來看看未來城市的專訪!

專訪|自製「超商口罩地圖」的工程師:地圖上線6小時,我收到60萬Google帳單

(本文獲作者授權轉載


關於新冠肺炎疫苗接種,你還可以閱讀以下文章:

其他人也在看

你可能有興趣

影音推薦

#廣編企劃|【2023 天下城市高峰論壇 #9】新竹市交通處長 倪茂榮:改善交通,必須先做出優良示範道路|天下雜誌✕未來城市

已成功複製連結