همه پست‌ها

ScreenMe با اکسل و حسن نیت اداره می‌شد

ادغام سفارشات وردپرس، ردیابی صفحه‌گسترده و گزارش‌های دستی در یک فرآیند واحد آزمایشگاهی — و آنچه واقعاً وقتی ظرفیت از ۲۰ به ۱۵۰ بیمار در هر چرخه تغییر کرد.

  • healthcare
  • workflow
  • NestJS
  • PostgreSQL
  • Node.js
تصویرسازی لوله پنج مرحله‌ای فرآیند آزمایشگاهی

وقتی به ScreenMe به عنوان Tech Lead بک‌اند پیوستم، محصول از قبل زنده بود. بیماران کیت دریافت می‌کردند. گزارش‌ها خارج می‌شدند. از بیرون همه چیز خوب به نظر می‌رسید.

در پشت صحنه، وردپرس برای سفارشات، اکسل برای ردیابی اینکه کدام بارکد متعلق به کدام نمونه است، و کپی-پیست زیادی بین این دو وجود داشت. کارکنان آزمایشگاه فرآیند را می‌دانستند. آنها همچنین دقیقاً می‌دانستند کدام سلول صفحه‌گسترده را وقتی چیزی درست به نظر نمی‌رسید، نادیده بگیرند.

پیدا کردن یک کیت به بررسی سه جا نیاز داشت

«این کیت کجاست؟» ساده به نظر می‌رسد. در عمل به بررسی وردپرس، سپس یک صفحه، و بعد پرسیدن از کسی که آن صبح دریافت نمونه را انجام داده بود، نیاز داشت. با بیست بیمار در هر چرخه دو هفتگی، افراد می‌توانستند نقشه را در ذهنشان نگه دارند. کلینیک می‌خواست رشد کند. نقشه مقیاس‌پذیر نبود.

فرآیند آزمایشگاه را در پنج مرحله نگاشتیم

با تیم عملیاتی نشستیم و نوشتیم چه اتفاقی واقعاً می‌افتد: بارکد اختصاص داده شد، نمونه دریافت شد، به آزمایشگاه ارسال شد، نتایج برگشت، گزارش خارج شد. پنج مرحله — نه به این دلیل که پنج عدد خوبی است، بلکه به این دلیل که آزمایشگاه از قبل این کار را انجام می‌داد. برای هر مرحله یک ردیف در PostgreSQL ایجاد کردیم و NestJS انتقال‌ها را اجبار کرد.

وردپرس هنوز سفارشات را می‌گرفت. یک ادغام REST سفارشات جدید را وارد می‌کرد و فیلدهای بیمار و پزشک را نرمال‌سازی می‌کرد تا کسی آنها را دوباره تایپ نکند. وقتی نتایج می‌رسید، به همان رکورد کیت متصل می‌شد. تولید گزارش به پلتفرم منتقل شد. ایمیل‌ها در تکمیل مرحله ارسال می‌شدند به جای اینکه کسی در پایان روز یادش بماند.

محدودیتی که بیشترین اهمیت را داشت خسته‌کننده بود: نمی‌توانستید یک مرحله را رد کنید. یک کیت در وضعیت «نمونه دریافت شد» نمی‌توانست به «گزارش ارسال شد» بپرد. این موضوع یکی دو بار مردم را آزار داد، سپس دائماً ما را نجات داد.

ظرفیت پس از راه‌اندازی

حجم از تقریباً ۲۰ به ۱۵۰ بیمار در هر چرخه دو هفتگی افزایش یافت. این یک کوئری هوشمندانه نبود. حذف زمان مرده بین انتقال‌ها، حذف ورود تکراری، و اجازه دادن به تیم برای اجرای مراحل به صورت موازی چون وضعیت روی صفحه نمایش به جای دفترچه کسی قابل مشاهده بود.

ساختن با یک ساعت بازخورد در هفته

دسترسی مشتری حدود یک ساعت هفتگی بود. این همه چیز را شکل داد. نمی‌توانستیم بر اساس بازخورد مبهم تکرار کنیم — باید مدل مراحل را زود درست می‌کردیم و یک رابط کاربری عملیاتی می‌ساختیم که آزمایشگاه بتواند بدون ارسال تیکت برای هر استثنا از آن استفاده کند.

اگر در موقعیت مشابهی هستید: وضعیت‌ها را با افرادی که کار را انجام می‌دهند قبل از انتخاب فریم‌ورک بنویسید. فرآیند آزمایشگاه از قبل معتبر بود. ما آن را دیجیتال کردیم. آن را به چیزی که مهندسان بیشتر دوست داشتند بازطراحی نکردیم.