為醫療單位設計工時記錄器,以 GPS 資訊取代人工打卡
醫療單位人員組成複雜,正職、約聘、輪班各有不同工時需求,傳統打卡 App 難以因應。本案開發雙平台 App,以背景 GPS 自動記錄工時,已上架雙平台市集。
定位取代打卡
每10分鐘自動抓 GPS 記錄
個人工時紀錄
智慧圖表化,方便檢視及編輯
失聯重啟機制
斷線不漏資料,推播提醒即恢復上傳
需求分析
醫療單位需要一套更精準的工時管理機制,取代原有人工記錄模式,在不影響研究人員日常工作的前提下,自動蒐集工時資料,並提供管理端即時查閱的後台系統。
- 研究人員工時記錄倚賴人工打卡及整理資料,準確性與即時性不足,統計耗時
- 一般打卡 App , iOS 系統對背景執行有嚴格限制,GPS 蒐集頻率與授權設定複雜,初始設定流程需引導使用者完成多達十數個步驟
- 手動關閉 APP 或手機重開機後,背景資料蒐集會中斷,使用者往往不知情,造成工時資料缺漏
- 需跨 Android 與 iOS 雙平台開發,並符合政府機關資安與驗收要求
來解決問題吧!
- 開發 Android 與 iOS 雙平台 App,使用者登入後即可自動在背景以每 10 分鐘一筆的頻率記錄 GPS 工時資料
- App 內建引導授權流程,逐步帶領使用者完成 GPS「永遠允許」與背景執行設定,降低操作失誤率
- 失聯偵測推播機制:資料蒐集中斷時系統主動推送通知,使用者點選推播重啟 APP 即可自動恢復授權,無需繁瑣的手動重設流程
- 後台儀表板整合工時統計,管理員可依帳號查詢各員工 GPS 定位歷程與背景執行狀態,並支援 SQL 自訂查詢
案例細節
醫療單位的工時管理難題
醫療單位的研究人員工作型態彈性,進出院區時間不固定,傳統打卡或人工填寫工時的方式,既增加行政負擔,也難以真實反映在院工時。
機構需要的是一套「不打擾工作流程」的自動化工時記錄方案。使用者只要帶著手機進入工作場域,資料就能自動蒐集,管理端也能即時查看統計結果。
核心設計:背景 GPS 定位自動蒐集工時
整套系統的運作流程:
- 使用者登入 App
- App 在背景每 10 分鐘記錄一次 GPS 位置
- 資料上傳至指定資料庫
- 演算法比對 GPS 座標與預設工作地點,自動計算在院工時
- 使用者 App 顯示七日工時長條圖;管理後台可查詢所有人員工時記錄
注意到了嗎?使用者完全不用手動操作! 只要確保 App 背景執行開啟,即可自動蒐集及計算GPS資料。
iOS 背景執行:最棘手的技術挑戰
Android 版的背景定位蒐集相對直觀,iOS 版則面臨 Apple 系統的嚴格限制,成為本案最核心的工程挑戰。
初次授權需要引導
iOS 不允許 App 在安裝後自動取得「永遠允許」的 GPS 權限,必須由使用者主動前往系統設定完成切換。為此,我們在 App 內設計了一套完整的引導流程,分步驟帶領使用者:
- 允許 App 推播通知
- 進入裝置設定,找到位置權限
- 從「使用 App 期間允許」切換至「永遠」
- 返回 App 啟動 背景執行
原本多達 12 個步驟的設定流程,在UI引導下簡化操作,每一步都有截圖提示,確保不熟悉系統設定的使用者也能順利完成。
資料蒐集中斷的三種情況
iOS 系統的背景執行機制決定了資料蒐集有幾個必然會中斷的時機:
| 中斷原因 | 說明 |
|---|---|
| 手動滑掉 App | 從多任務切換頁面向上滑掉 |
| 手機重新開機或關機 | 包含沒電自動關機、系統更新強迫重啟 |
| 卸載 App | 移除安裝 |
這三種情況在使用者日常生活中都很常見,是任何需要 iOS 長期背景運行的 App 都必須面對的限制。
失聯偵測推播機制:按下推播即能一鍵重啟
早期版本的重啟授權流程極為繁瑣,使用者必須自行進入系統設定手動調整定位權限,再回到 App 重新走一遍引導流程。
這對一般使用者來說門檻很高,也造成不少資料缺漏。
解法看似簡單,背後卻有細膩設計需求:失聯偵測推播。
系統持續監控每位使用者的資料上傳狀態,一旦偵測到超時未回傳,立即推送推播通知給該使用者。使用者只需點選通知重開 App,授權即自動重啟,資料蒐集隨即恢復——不需要任何系統設定操作。
發個推播而已,有這麼困難嗎?正是每個人都覺得很簡單,卻需要嚴格定義多久算超時,在客戶需求與實務之間取得平衡。 既要避免失聯過久,連推播都無法啟動,又要避免太頻繁發送推播,造成使用者困擾。這中間可是有許多系統設計的藝術。
排班小管家功能,增加使用意願
能夠準確獲得GPS位置後,下一步就是工時計算了,為了讓客戶的演算法得以運行,「班表」格外重要。
在工作型態多變的單位,使用者介面不僅要設計簡潔,也要有直覺的功能性。
我們參考各種行事曆 App 的設計,規劃出本案專屬的排班小管家功能。
分期驗收,漸進完善系統
越複雜的系統,越要謹慎驗收,本案採多期驗收模式,分三期交付:
- 第 1 期:App 功能開發、基礎資料蒐集、UI 上架
- 第 2 期:資料蒐集穩定性優化、背景執行機制完善
- 第 3 期:失聯推播機制、資安檢測通過
每次驗收,客戶都能明確知道這階段交付的內容,並且在前一期的基礎,看到一個系統逐步完整的過程。
這個案子的核心學習
「App 一直跑在背景」這件事,在 Android 上相對容易實現,在 iOS 上卻是一道需要精心設計才能過的關卡。Apple 的限制有其道理——保護電池壽命與用戶隱私——但對於需要長期蒐集感測器資料的應用來說,意味著要在系統限制內找到可靠的運作模式。
本案的解法不是繞過限制,而是接受限制、設計對應的容錯機制:當中斷不可避免時,讓使用者能以最低成本恢復,讓資料缺漏的影響降到最小。
同類案例
政府與公共服務
公務機關 AI 雙語導覽員:用 LINE@官方帳號消除語言隔閡
監理機關的業務多而廣,創準為此規劃一套 LINE@官方帳號中英雙語 AI 導覽系統,透過檢索增強生成(RAG)架構,讓外籍民眾用英文隨意提問,即時指引所需服務項目。
政府與公共服務
嘉義災難醫療救護隊DMAT:出隊物資管理系統,讓救災後勤從紙本走向數位
醫療相關的物資可以有多少?連一根針頭都不能算錯!協助嘉義市災難醫療救護隊 DMAT,從零打造三期出隊物資管理系統,整合物資進出庫、打包模組、出勤套版與離線版本,讓救護隊在出隊前的物資備勤時間大幅縮短。
政府與公共服務
消防局救災現場人員管制系統
公共安全系統和一般商業應用最根本的差別!從零開發IP67 Beacon 硬體、iOS/Android 現場人員管制APP與後台開發,整合內政部消防署API,持續維運超過五年。
這樣的成果,你也可以擁有!
從 AI 需求分析開始,把你的想法整理成具體的需求草稿。
開始我的 AI 需求分析