Siriraj Rx Shift

ระบบตารางเวรและการแลก/ยกเวร — ฝ่ายเภสัชกรรม โรงพยาบาลศิริราช
Duty-roster and shift-swap system for the Pharmacy Department, Siriraj Hospital, Bangkok, Thailand

ระบบนี้คืออะไร

Siriraj Rx Shift เป็นระบบภายในสำหรับจัดการและเผยแพร่ตารางเวรของเภสัชกร ฝ่ายเภสัชกรรม โรงพยาบาลศิริราช ใช้งานจริงกับบุคลากรประมาณ 300–400 คน ระบบเข้ามาแทนวิธีเดิมที่ใช้ไฟล์ Excel ส่งต่อกันในกลุ่มแชท ด้วยตารางกลางแหล่งเดียวที่ทุกคนเห็นตรงกัน พร้อมประวัติการเปลี่ยนแปลงทุกครั้ง

ความสามารถหลัก

ระบบนี้ไม่เกี่ยวข้องกับข้อมูลผู้ป่วยใดๆ ทั้งสิ้น — เป็นระบบจัดตารางเวรของบุคลากร ไม่ใช่ระบบเวชระเบียน ไม่มีชื่อผู้ป่วย ไม่มีเลข HN ไม่มีข้อมูลทางการแพทย์อยู่ในระบบ

ฟีเจอร์ Google Calendar Sync

ฟีเจอร์นี้เป็น ทางเลือกเสริมแบบ opt-in ผู้ใช้ที่ไม่กดเปิด จะไม่ถูกขอสิทธิ์ Google ใดๆ เลย และใช้ระบบได้ครบทุกฟังก์ชันตามปกติ

ปัญหาที่แก้: เดิมผู้ใช้ต้องเปิดตารางเวรแล้วคัดลอกวันเวรของตัวเองไปจดในปฏิทินส่วนตัวเองทีละวัน เมื่อมีการแลก/ยกเวรภายหลังก็ต้องตามแก้เอง ซึ่งเป็นสาเหตุหลักของการ "ลืมเวร"

เมื่อผู้ใช้กดเชื่อมต่อและอนุญาตสิทธิ์ ระบบจะ:

ระบบไม่แตะต้อง event ที่ระบบไม่ได้สร้าง ไม่เข้าถึงปฏิทินของผู้อื่น และไม่ดึงเนื้อหาใดจากปฏิทินกลับเข้าระบบ — ข้อมูลไหลทางเดียวคือ ระบบ → ปฏิทินของผู้ใช้

สิทธิ์ที่ขอ

สิทธิ์ใช้ทำอะไร
.../auth/calendarสร้าง/แก้ไข/ลบ event เวรของผู้ใช้เอง และให้ผู้ใช้เลือกหรือสร้างปฏิทินปลายทาง
.../auth/script.scriptappตั้งงานอัปเดตอัตโนมัติในบัญชีของผู้ใช้เอง
.../auth/script.external_requestอ่านเวรล่าสุดของผู้ใช้จากฐานข้อมูลของระบบเอง
.../auth/userinfo.emailรู้ว่ากำลังซิงค์เข้าบัญชี Google ไหน เพื่อกันซิงค์ผิดบัญชี

การยกเลิก

ผู้ใช้กดปุ่ม "ยกเลิกการเชื่อมต่อ" ในแอปได้ตลอดเวลา ระบบจะลบ event ทั้งหมดที่สร้างไว้ออกจากปฏิทิน ลบข้อมูลที่เก็บไว้ และเพิกถอนสิทธิ์ให้ทันที หรือจะถอนสิทธิ์โดยตรงที่ Google Account permissions ก็ได้

รายละเอียดทั้งหมดว่าเก็บข้อมูลอะไร ปกป้องอย่างไร และลบอย่างไร อยู่ใน นโยบายความเป็นส่วนตัว

ผู้ใช้งานและการเข้าถึง

ระบบนี้ใช้ภายในฝ่ายเภสัชกรรม โรงพยาบาลศิริราช การเข้าใช้งานต้องมีบัญชีที่ผู้ดูแลระบบสร้างให้เท่านั้น จึงไม่เปิดให้ลงทะเบียนแบบสาธารณะ ผู้ที่ต้องการเข้าถึงเพื่อการตรวจสอบ กรุณาติดต่อตามอีเมลด้านล่าง

About this application (English)

Siriraj Rx Shift is an internal duty-roster system for the Pharmacy Department of Siriraj Hospital in Bangkok, Thailand, used by roughly 300–400 pharmacy staff. It replaces the previous workflow — Excel files circulated through group chat — with a single shared roster and a full audit trail for every shift hand-off and swap.

The system handles no patient data of any kind. It is a staff scheduling tool, not a medical records system: there are no patient names, no medical record numbers, and no clinical information anywhere in it.

Google Calendar Sync

Calendar sync is an optional, opt-in feature. Users who do not enable it are never asked for any Google permission and retain full use of the application.

It solves a concrete problem: staff previously had to read the roster and copy their own shift dates into their personal calendar by hand, then chase every subsequent swap manually — the main cause of missed shifts.

Once a user connects and grants consent, the app:

The app does not touch events it did not create, does not access anyone else's calendar, and does not pull any calendar content back into the system. Data flows one way only: app → the user's calendar.

Scopes requested

ScopeUsed for
https://www.googleapis.com/auth/calendarCreate/update/delete the user's own shift events, and let the user select or create the destination calendar
https://www.googleapis.com/auth/script.scriptappInstall the background auto-update trigger in the user's own account
https://www.googleapis.com/auth/script.external_requestRead the user's latest shifts from the system's own database
https://www.googleapis.com/auth/userinfo.emailIdentify which Google account the shifts sync into, to prevent syncing to the wrong account

Revoking access

The in-app "Disconnect" button removes every event the app created, deletes all stored data, and revokes the script's authorization immediately. Access can also be revoked directly at Google Account permissions. Full details of what is stored, how it is protected, and how it is deleted are in the Privacy Policy.

Access

The application is used internally within the Pharmacy Department and requires an account created by an administrator; there is no public sign-up. Reviewers who need access for evaluation should contact the email below and credentials will be provided.