Усі нотатки

Як перевірити перенесення даних, коли помилка дорого коштує

Шість правил, які я виніс із переїзду служби підтримки психіатричної клініки: 14 299 тікетів, жодного сповіщення пацієнтам і незалежний підрахунок замість звіту імпортера.

Перенесення даних здається технічною дрібницею, доки частина записів не зникає мовчки або хтось не отримує лист про давно закрите звернення. У медичному проєкті це історія звернень пацієнтів, і такі помилки коштують дорого.

Я переносив службу підтримки психіатричної клініки у США із Zoho Desk у Zendesk: 14 299 тікетів і близько 35 700 повідомлень. Ось що з цього проєкту я вважаю обов'язковим.

1. Перенесення не повинне торкатися людей. Звичайне створення тікета в Zendesk надсилає сповіщення. Для архіву це означало б листи пацієнтам про старі звернення. Тому я використав API імпорту: тікети зайшли з початковими датами, відправниками й статусами, і жоден пацієнт не отримав сповіщення. Перед будь-яким перенесенням я спершу з'ясовую, які побічні дії запускає система, коли в ній з'являється новий запис.

2. Спершу один блок, потім решта. Перший архівний блок показав, що завеликий запит провалюється мовчки, одразу цілою пачкою. Я перейшов на пачки за розміром даних, і частка успішних імпортів трималась на 99,6%. Якби я запустив увесь архів одразу, про цю проблему я дізнався б значно пізніше.

3. Звіт імпортера — ще не доказ. Інструмент, який переносить дані, сам рахує свої успіхи. Результат я перевірив другим, незалежним підрахунком. Усі 199 активних тікетів перенесено без жодного збою.

4. Стара розмова має читатися так само. Кожен лист став окремим коментарем, тож персонал бачить звернення так, як бачив його раніше.

5. Тестові дані — тільки синтетичні. Так влаштований увесь проєкт. Тести проходять лише на синтетичних записах і тестових пацієнтах DrChrono. Сповіщення, логи й журнал аудиту містять тільки ідентифікатори записів, без даних пацієнтів.

6. Якщо збіг неточний — зупинитися. Найризикованішим місцем у потоці медичних карток був дубль картки. DrChrono приховує неактивних пацієнтів від звичайного пошуку, тому потік шукає за датою народження разом із неактивними записами. Якщо збіг неточний, він зупиняється й залишає нотатку персоналу, а не вгадує.

Тиша — теж сигнал. Помилка не завжди виглядає як помилка. Тому заявка без запису в CRM через 24 години запускає сповіщення, а монітор збоїв окремо сповіщає про тишу в робочі години клініки.

Короткий чекліст перед перенесенням

Повний кейсІнтеграції рівня HIPAA для психіатричної клініки у США
Обговорити проєкт