เกริ่นนำ
แอปที่ทำงานแบบออฟไลน์ช่วยให้บุคลากรทางการแพทย์เข้าถึงเครื่องมือที่จำเป็นสำหรับการรักษาที่มีคุณภาพ แม้ในเวลาที่ไม่ได้เชื่อมต่ออินเทอร์เน็ต แอปแบบออฟไลน์มีประโยชน์สำหรับผู้ปฏิบัติงานด้านการดูแลสุขภาพที่ทำงานในสภาพแวดล้อมชุมชนซึ่งมีการเชื่อมต่อที่ไม่เสถียรหรืออยู่ในสถานพยาบาลที่ไม่มีการเชื่อมต่ออินเทอร์เน็ต นอกจากนี้ แอปแบบออฟไลน์ยังช่วยลดค่าใช้จ่ายในการใช้อินเทอร์เน็ตได้ด้วย
หากผู้ปฏิบัติงานสาธารณสุขใช้แอปแบบออฟไลน์ไม่ได้ ก็อาจทำงานสำคัญๆ ให้เสร็จสิ้นไม่ได้ ซึ่งอาจส่งผลให้บุคลากรทางการแพทย์ใช้แอปและสูญเสียข้อมูล เราตั้งใจจะใช้ไลบรารี FHIR Engine และหลักเกณฑ์การออกแบบเหล่านี้เพื่อปรับปรุงประสบการณ์ของผู้ใช้แอปสุขภาพที่สามารถใช้งานขณะออฟไลน์ได้ เพื่อให้มีความน่าเชื่อถือและใช้งานง่าย
หลักการสำคัญด้านออฟไลน์
พิจารณาหลักการเหล่านี้เมื่อสร้างแอปสุขภาพแบบออฟไลน์
- แอปผู้ปฏิบัติงานสาธารณสุขในชุมชนควรออกแบบมาเพื่อการใช้งานแบบออฟไลน์เป็นหลัก
- ตรวจสอบว่าผู้ใช้ดำเนินเวิร์กโฟลว์หลักให้เสร็จสมบูรณ์ได้แบบออฟไลน์
- แจ้งให้ผู้ใช้ทราบว่าพวกเขาต้องออนไลน์บ่อยแค่ไหนเพื่อซิงค์อุปกรณ์
ซิงค์ครั้งแรก
แอปของคุณอาจต้องมีการซิงค์ครั้งแรกเพื่อดาวน์โหลดงานหรือรายชื่อผู้ป่วย ก่อนที่บุคลากรทางการแพทย์จะเริ่มใช้แอปได้ ในกรณีนี้ ให้ทำการซิงค์เบื้องต้นเป็นขั้นตอนเฉพาะสำหรับผู้ปฏิบัติงานสาธารณสุขที่เริ่มต้นใช้งานแอป ให้คำแนะนำว่าควรทำที่ไหนและเมื่อใด รวมถึงเวลาโดยประมาณ อธิบายว่าแอปจําเป็นต้องเปิดแอปหรือไม่ หรือผู้ปฏิบัติงานสาธารณสุขทําอย่างอื่นบนอุปกรณ์ขณะซิงค์ได้หรือไม่
![ซิงค์งานของฉัน ขั้นตอนนี้อาจใช้เวลาสูงสุด 1 ชั่วโมง โดยขึ้นอยู่กับการเชื่อมต่ออินเทอร์เน็ต 3 ขั้นตอน 1. เชื่อมต่อ Wi-Fi หรืออินเทอร์เน็ตมือถือ 2. วางอุปกรณ์ไว้ในที่ที่มีสัญญาณอินเทอร์เน็ตแรง 3. คุณสามารถทำสิ่งอื่นๆ ในอุปกรณ์ขณะที่อุปกรณ์ซิงค์อยู่ได้ ปุ่ม: ซิงค์งานของฉัน](https://developers.google.cn/static/open-health-stack/design/images/sync/initial-sync-do.png?hl=th)
ให้ความคาดหวังที่ชัดเจนเกี่ยวกับระยะเวลาที่จะใช้
![ทำให้หน้าจองานว่างเปล่าโดยไม่มีคำแนะนำ แถบการซิงค์และล้อหมุนของการโหลด](https://developers.google.cn/static/open-health-stack/design/images/sync/initial-sync-dont.png?hl=th)
อย่าเริ่มการซิงค์ครั้งแรกโดยไม่ให้ข้อมูลเกี่ยวกับสิ่งที่จะเกิดขึ้น
แถบสถานะ
แถบสถานะจะระบุว่าอุปกรณ์ออฟไลน์อยู่หรือกำลังซิงค์ แถบสถานะจะปรากฏเมื่อ
- อุปกรณ์ออฟไลน์เนื่องจากไม่มีการเชื่อมต่ออินเทอร์เน็ต
- กำลังซิงค์ข้อมูลอยู่
- ซิงค์ไม่สำเร็จ
- การซิงค์เสร็จสมบูรณ์
แสดงแถบสถานะเมื่อมีความเกี่ยวข้องเท่านั้น โดยแสดงบนหน้าเว็บหรือรอบๆ คอมโพเนนต์ที่จะเปลี่ยนแปลงเมื่อซิงค์ข้อมูลเสร็จแล้ว เช่น สถานะจะสำคัญเมื่อดูรายการงาน ค้นหารายชื่อผู้ป่วย หรือโหลดการ์ดผู้ป่วย เพื่อให้เจ้าหน้าที่สาธารณสุขทราบว่าข้อมูลล่าสุดมีการซิงค์หรือไม่
![แถบสถานะสีเทาที่เขียนแบบออฟไลน์](https://developers.google.cn/static/open-health-stack/design/images/sync/status-offline-do.png?hl=th)
แสดงสถานะออฟไลน์เมื่อเกี่ยวข้อง เช่น เมื่อโหลดรายชื่อผู้ป่วย
![แถบสถานะสีแดงที่มีไอคอนข้อผิดพลาดและการเขียนแบบออฟไลน์](https://developers.google.cn/static/open-health-stack/design/images/sync/status-offline-dont.png?hl=th)
หลีกเลี่ยงการทำให้แถบสถานะการเชื่อมต่อดูเหมือนเป็นสถานะข้อผิดพลาด
![แถบสถานะสีน้ำเงินอ่อนพร้อมไอคอนการซิงค์และมีการเขียนการซิงค์](https://developers.google.cn/static/open-health-stack/design/images/sync/status-syncing.png?hl=th)
เมื่อเชื่อมต่อแล้ว แสดงว่าแอปกำลังซิงค์ในแถบสถานะ
![แถบสถานะสีเทาอ่อนพร้อมไอคอนเครื่องหมายถูกและเขียนการซิงค์เสร็จสมบูรณ์](https://developers.google.cn/static/open-health-stack/design/images/sync/status-sync-done.png?hl=th)
แสดงการยืนยันการซิงค์เสร็จสิ้นโดยเปลี่ยนไอคอนเป็นเครื่องหมายถูก แล้วเปลี่ยนสีและข้อความในแถบสถานะ ซึ่งจะช่วยให้ผู้ใช้ทราบว่าได้กรอกข้อมูลครบถ้วนแล้ว
![แถบสถานะสีเหลืองอ่อนพร้อมไอคอนการซิงค์ล้มเหลวและเขียนการซิงค์ไม่สำเร็จ](https://developers.google.cn/static/open-health-stack/design/images/sync/status-sync-failed.png?hl=th)
หากซิงค์ไม่สำเร็จ ให้แสดงว่าการซิงค์ล้มเหลว หากสาเหตุของการซิงค์ล้มเหลวคือแอปออฟไลน์อยู่ ให้เปลี่ยนสถานะเป็นออฟไลน์ ผู้คนควรทราบว่าเกิดอะไรขึ้น
รูปแบบการซิงค์
การซิงค์จะทำงานอยู่เบื้องหลังเพื่ออัปโหลดและดาวน์โหลดข้อมูลไปและจากเซิร์ฟเวอร์ ลักษณะการทำงานของการซิงค์ไม่ควรรบกวนผู้ใช้
ควรกำหนดช่วงเวลาการซิงค์ตามเกณฑ์ที่เกี่ยวข้องกับการตั้งค่าการดูแลสุขภาพที่ใช้แอป ตัวอย่างเช่น ซิงค์ทุก 12 ชั่วโมงในสภาพแวดล้อมของชุมชนหรือทุก 15 นาทีในสถานพยาบาล การมีช่วงการซิงค์อัตโนมัติที่เหมาะสมช่วยลดความจำเป็นในการซิงค์ด้วยตนเอง
![ข้อความสแน็กบาร์: คุณออฟไลน์อยู่ ระบบจะอัปโหลดการอัปเดตเมื่ออุปกรณ์เชื่อมต่ออีกครั้ง](https://developers.google.cn/static/open-health-stack/design/images/sync/sync-pattern-reassure.png?hl=th)
ให้ความมั่นใจแก่ผู้ใช้ว่าแม้ว่าแอปจะออฟไลน์อยู่ ผู้ใช้จะยังคงทำงานให้ลุล่วงได้ และระบบจะอัปโหลดการเปลี่ยนแปลงเมื่อกลับมาเชื่อมต่ออีกครั้ง
![ข้อความบนแถบสถานะสีเทาอ่อน: กำลังจะลองอีกครั้งในอีก 3 นาที 22 วินาที](https://developers.google.cn/static/open-health-stack/design/images/sync/sync-pattern-distract.png?hl=th)
หลีกเลี่ยงการให้รายละเอียดว่าการซิงค์จะลองเชื่อมต่ออินเทอร์เน็ตอีกครั้งเมื่อใด
![การซิงค์การ์ดผู้ป่วย](https://developers.google.cn/static/open-health-stack/design/images/sync/sync-pattern-prioritize.png?hl=th)
จัดลำดับความสำคัญของข้อมูลที่จะซิงค์เพื่อให้บุคลากรทางการแพทย์ดำเนินการตามเวิร์กโฟลว์ได้สำเร็จ ตัวอย่างเช่น ในสถานพยาบาลที่ส่งต่อผู้ป่วยให้เจ้าหน้าที่สาธารณสุขอีกคน อย่าลืมให้ความสำคัญกับการซิงค์บัตรผู้ป่วยที่เพิ่งทำเสร็จก่อน
![รายชื่อผู้ป่วยที่ซิงค์ผู้ป่วย 340 คน](https://developers.google.cn/static/open-health-stack/design/images/sync/sync-pattern-irrelevant.png?hl=th)
หลีกเลี่ยงการซิงค์ข้อมูลที่ไม่เกี่ยวข้องก่อน เช่น รายชื่อผู้ป่วยทั้งหมด หรือประวัติการเข้าชมเก่าที่ไม่เกี่ยวข้องกับงานของวันนี้
สัญญาณบอกสถานะความคืบหน้าของการซิงค์
สัญญาณบอกสถานะความคืบหน้าในการซิงค์จะปรากฏขึ้นเมื่อเนื้อหากำลังซิงค์จากเซิร์ฟเวอร์ สัญญาณบอกสถานะความคืบหน้าควรแสดงให้เห็นอย่างชัดเจนว่าการซิงค์กำลังทำงานอยู่
เพิ่มสัญญาณบอกสถานะความคืบหน้าในหน้าจอที่สำคัญเท่านั้น เช่น รายชื่อผู้ป่วยหรือการ์ดผู้ป่วย ระบุระยะเวลาโดยประมาณในการซิงค์โดยแสดงเปอร์เซ็นต์ที่ดาวน์โหลด
![แถบความคืบหน้าแสดงให้เห็นว่าดาวน์โหลดแล้ว 35%](https://developers.google.cn/static/open-health-stack/design/images/sync/sync-progress-bar.png?hl=th)
แถบการโหลดที่แสดงอย่างชัดเจนว่ากำลังมีความคืบหน้า
![ล้อโหลดที่หมุนอยู่](https://developers.google.cn/static/open-health-stack/design/images/sync/sync-progress-wheel.png?hl=th)
หลีกเลี่ยงล้อที่หมุนอยู่ แต่ยังไม่เป็นที่ชัดเจนว่าเพลงนั้นหยุดชะงักหรือกำลังคืบหน้าไปหรือไม่
การประทับเวลาการซิงค์
การประทับเวลาการซิงค์จะแจ้งให้บุคลากรทางการแพทย์ทราบเวลาที่มีการอัปเดตข้อมูลครั้งล่าสุด การประทับเวลาช่วยให้เจ้าหน้าที่สาธารณสุขทำสิ่งต่อไปนี้ได้
- ทราบว่าลูกค้าดูข้อมูลล่าสุดอยู่หรือไม่
- ทำความเข้าใจว่าแอปซิงค์และอัปเดตตามที่คาดไว้หรือไม่
- ให้การรักษาอย่างต่อเนื่องโดยทำต่อจากที่ที่เจ้าหน้าที่สาธารณสุขคนก่อนทำค้างไว้
ใช้การประทับเวลาอย่างจำกัดและแสดงเฉพาะเมื่อจำเป็น เช่น ในรายการงานหรือการ์ดผู้ป่วย
![อัปเดตบัตรผู้ป่วยครั้งล่าสุดวันนี้ เวลา 12:31 น.](https://developers.google.cn/static/open-health-stack/design/images/sync/sync-time-relevant.png?hl=th)
แสดงข้อมูลว่าข้อมูลได้รับการอัปเดตล่าสุดเมื่อใด (และแสดงพร้อมบริบท) เพื่อช่วยให้ผู้คนทราบว่าการซิงค์ผ่านมาหรือยัง
![การประทับเวลาการซิงค์เมื่อวันที่ 23 พฤษภาคม 2022 เวลา 12:31 น. จะแสดงในเนื้อหาแต่ละแถวในการ์ดผู้ป่วย เช่น หมายเลขโทรศัพท์มือถือ หมายเลขบัตรประจำตัว และที่อยู่](https://developers.google.cn/static/open-health-stack/design/images/sync/sync-time-all.png?hl=th)
ไม่แสดงการประทับเวลาสำหรับข้อมูลทุกอย่าง เช่น เวลาที่อัปเดตหมายเลขโทรศัพท์ พยายามหลีกเลี่ยงการซิงค์ข้อมูลเวลาหลายครั้ง แสดงเวลาและวันที่ที่แม่นยํามากเกินไปหากนานกว่า 24 ชั่วโมง
การช่วยเตือนการซิงค์
การช่วยเตือนให้ซิงค์จะแสดงเมื่ออุปกรณ์ออฟไลน์นานเกินไป หรือผู้ใช้ต้องดำเนินการเพื่อซิงค์อุปกรณ์
ใช้การช่วยเตือนเพื่อแจ้งให้ผู้ใช้ทราบเรื่องความต้องการซิงค์แอปและวิธีดำเนินการ
![กล่องโต้ตอบ การเปลี่ยนแปลงที่มีนัยสำคัญนับตั้งแต่การซิงค์ครั้งล่าสุด เชื่อมต่อข้อมูลหรือ Wi-Fi เพื่อซิงค์ให้เสร็จสมบูรณ์ ปุ่ม: ไว้ทีหลัง, ปุ่ม: ซิงค์เลย](https://developers.google.cn/static/open-health-stack/design/images/sync/sync-reminder-friendly.png?hl=th)
ช่วยเตือนผู้คนตามช่วงเวลาที่เลือกไว้ว่าจะซิงค์เมื่อถึงเวลาที่เหมาะสม ใช้น้ำเสียงที่เป็นมิตรเมื่อสื่อสารความจำเป็นในการซิงค์
![กล่องโต้ตอบ ซิงค์ทันที คุณเลยกำหนดชำระเงิน 12 ชั่วโมง เชื่อมต่อข้อมูลหรือ Wi-Fi เพื่อซิงค์ให้เสร็จสมบูรณ์ ปุ่ม: ไว้ทีหลัง, ปุ่ม: ซิงค์เลย](https://developers.google.cn/static/open-health-stack/design/images/sync/sync-reminder-rude.png?hl=th)
หลีกเลี่ยงการสื่อสารกับผู้กระหายการปลุกหรือทำให้ผู้อื่นรู้สึกแย่ที่ไม่ซิงค์กัน
![กล่องโต้ตอบ 24 ชั่วโมงนับตั้งแต่การซิงค์ล่าสุด โปรดซิงค์อีกครั้ง เชื่อมต่อข้อมูลหรือ Wi-Fi เพื่อซิงค์ให้เสร็จสมบูรณ์ ปุ่ม: ไว้ทีหลัง, ปุ่ม: ซิงค์เลย](https://developers.google.cn/static/open-health-stack/design/images/sync/sync-reminder-occasional.png?hl=th)
เตือนให้ผู้ใช้ซิงค์อุปกรณ์เป็นครั้งคราว เมื่ออุปกรณ์มีขีดจำกัดเกินเกณฑ์ที่กำหนดไว้สำหรับประเภทการตั้งค่าบริการสุขภาพ (สิ่งอำนวยความสะดวกเทียบกับชุมชน)
![กล่องโต้ตอบ 1 ชั่วโมงนับจากการซิงค์ล่าสุด โปรดซิงค์อีกครั้ง เชื่อมต่อข้อมูลหรือ Wi-Fi เพื่อซิงค์ให้เสร็จสมบูรณ์ ปุ่ม: ไว้ทีหลัง, ปุ่ม: ซิงค์เลย](https://developers.google.cn/static/open-health-stack/design/images/sync/sync-reminder-frequent.png?hl=th)
การตั้งการช่วยเตือนมากเกินไปอาจทำให้ผู้ใช้รู้สึกรำคาญและหงุดหงิดได้ ระบุข้อความแสดงข้อผิดพลาดเมื่อการดำเนินการเป็นเรื่องเร่งด่วนเท่านั้น
ซิงค์ด้วยตนเอง
การซิงค์ด้วยตนเองจะลบล้างการตั้งค่าการซิงค์เริ่มต้นและอนุญาตให้ผู้ใช้ซิงค์ได้ทันที ซึ่งทำได้ผ่านหน้าซิงค์ด้วยตนเองหรือในการ์ดผู้ป่วยโดยตรง หน้าการซิงค์จะแสดงเวลาที่การซิงค์ครั้งล่าสุดเกิดขึ้นและกำหนดการที่จะซิงค์ครั้งถัดไป โดยหลักการแล้ว ช่วงการซิงค์อัตโนมัติจะช่วยลดความจำเป็นในการซิงค์ด้วยตนเอง
การซิงค์ด้วยตนเองมีประโยชน์สำหรับเจ้าหน้าที่สาธารณสุขที่ออกจากชุมชนทั้งวันและต้องการซิงค์ข้อมูลเมื่อกลับถึงบ้านในตอนกลางคืนซึ่งการเชื่อมต่อที่ดีขึ้น
![ประวัติจะแสดงการประทับเวลาการซิงค์ล่าสุดและการประทับเวลาการซิงค์ครั้งถัดไป](https://developers.google.cn/static/open-health-stack/design/images/sync/manual-history.png?hl=th)
แสดงเวลาที่การซิงค์ครั้งล่าสุดเกิดขึ้น และเวลาที่การซิงค์ครั้งถัดไปกำหนดไว้ในหน้าการซิงค์ด้วยตนเอง รวมปุ่ม "ซิงค์เลย"
![ไม่แสดงประวัติการซิงค์ แต่จะเห็นเฉพาะปุ่มซิงค์เลย](https://developers.google.cn/static/open-health-stack/design/images/sync/manual-history-none.png?hl=th)
เมื่อไม่มีประวัติการซิงค์ เจ้าหน้าที่สาธารณสุขจะแก้ปัญหาและทราบสิ่งที่จะเกิดขึ้นได้ยาก
![แสดงปุ่มซิงค์เลยบนการ์ดผู้ป่วย](https://developers.google.cn/static/open-health-stack/design/images/sync/manual-patient.png?hl=th)
เมื่อผู้ปฏิบัติงานสาธารณสุขส่งคนไข้ให้กัน ให้หาวิธีซิงค์เวชระเบียนของผู้ป่วยได้ทันทีโดยแสดงปุ่มซิงค์เลยบนการ์ดผู้ป่วย อีกทางเลือกหนึ่งคือการซิงค์ตามเหตุการณ์
![แสดงปุ่มซิงค์เลยข้างหมายเลขโทรศัพท์บนบัตรผู้ป่วย](https://developers.google.cn/static/open-health-stack/design/images/sync/manual-everything.png?hl=th)
หลีกเลี่ยงการอนุญาตให้ผู้ใช้เลือกข้อมูลเฉพาะที่ต้องการซิงค์ ข้อมูลมีความซับซ้อนและละเอียดเกินไป
ข้อความแสดงข้อผิดพลาดและการแก้ปัญหา
ข้อความแสดงข้อผิดพลาดจะปรากฏขึ้นเมื่อฟังก์ชันการทํางานล้มเหลว เช่น ไม่มีรายชื่อผู้ป่วยในรายชื่อผู้ป่วย
แสดงข้อความแสดงข้อผิดพลาดบนหน้าจอที่เกี่ยวข้อง ช่วยผู้คนแก้ปัญหาโดยอธิบายให้ชัดเจนถึงสิ่งที่ไม่ได้ผลและเหตุผล แล้วบอกวิธีแก้โจทย์ หากวิธีแก้ปัญหาแรกไม่ได้ผล ให้ให้คำแนะนำชุดที่ 2 ว่าจะลองใช้วิธีใด ให้วิธีเพิ่มเติมให้ผู้คนได้รับความช่วยเหลือผ่านการรับส่งข้อความหรือโทรศัพท์เสมอ
![กล่องโต้ตอบ ไม่มีงานที่พร้อมใช้งาน ซิงค์รายการงาน โปรดตรวจสอบว่าคุณเชื่อมต่ออินเทอร์เน็ตมือถือหรือ Wi-Fi อยู่ ไปที่การตั้งค่า > เครือข่ายและอินเทอร์เน็ต กลับไปที่แอปแล้วแตะซิงค์เลย ปุ่ม: ภายหลัง, ปุ่ม: ซิงค์เลย](/static/open-health-stack/design/images/sync/sync-error-actionable.png)
ใช้ข้อความแสดงข้อผิดพลาดที่อธิบายปัญหาที่เกิดขึ้นและขั้นตอนในการแก้ไข ระบุคําแนะนําเกี่ยวกับวิธีไปยังส่วนต่างๆ ของการตั้งค่าระบบ
![กล่องโต้ตอบ เกิดข้อผิดพลาด มีบางอย่างผิดพลาด ปุ่ม: ลองอีกครั้ง](https://developers.google.cn/static/open-health-stack/design/images/sync/sync-error-unhelpful.png?hl=th)
หลีกเลี่ยงข้อความแสดงข้อผิดพลาดทั่วไปที่ไม่อธิบายว่าเกิดอะไรขึ้นหรือให้คําแนะนําวิธีแก้ไข