داده‌های ترکیب‌شونده (Composable) در Cerner

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

در سال 2009، شرکت سرنر نیاز داشت تا Search Indexهای رکوردهای پزشکی را بهبود دهد. این ایندکس‌ها باید از مستندات استخراج می‌گردید و ارتباط آن‌ها با سایر عبارات مشخص می‌شد. برای مثال در صورتی که عبارت بیماری قلبی توسط کاربر مورد جست و جو قرار می‌گرفت، مستندات مربوط به سکته قلبی نیز باید به کاربر برگردانده میشد.

Hadoop برای برآورده کردن یکی از مهم‌ترین‌ نیازها مناسب بود. میلیون‌ها مستند باید به صورت مداوم و در مدت زمان کوتاهی مورد بازپردازش قرار می‌گرفتند. این کار به معنی استفاده از MapReduce و قرار دادن داده‌ها در سرورهای Apache Solr بود. چالش حجم بالای داده و متفاوت بودن منابع داده‌ای باعث شد که سرنر از ابزارهای پیشرفته‌تری برای مدیریت این پیچیدگی استفاده کند.

نیازهای اصلی سرنر شامل موارد زیر بودند:

  • بسیاری از مراحل پردازش باید به ماژول‌هایی تقسیم می‌شدند که به سادگی بتوان یک pipeline پیچیده را تجمیع کرد.
  • برنامه‌نویسی سطح بالاتری از MapReduce مورد نیاز بود.
  • نیاز به کار با ساختارهای پیچیده مستندات پزشکی که شامل صدها مشخصه یکتا و سطح زیادی از ساختارهای تودرتو بودند.

به منظور رفع این نیازها، سرنر راهکار استفاده از Apache Crunch را انتخاب کرد. جریان داده عملیاتی در شکل زیر قابل مشاهده است.

در بخش تجمیع داده‌ها، سرنر با مشکل نبود مشخص‌کننده (identifier) برای بیماران روبرو بود. همچنین نويزهایی نظیر تفاوت نحوه ثبت اسامی و مشخصات وی، منجر به پیچیده‌تر شدن نحوه یک‌پارچه‌سازی داده میشد. به این منظور سامانه EMPI (Enterprise Master Patient Record) جهت تشخیص بیماران یکتا طراحی شد. این سامانه با استفاده از قوانین تعریف شده و الگوریتم‌های پیچیده رکوردهای متفاوت به هر فرد یکسان را تشخیص می‌داد. بخشی از این کار توسط Hadoop و Crunch-based pipeline انجام گرفت.

با استفاده از این فرایند می‌توان با تجمیع داده‌های افراد و پردازش‌های rule-based، دانش پزشکی جدیدی ایجاد کرد. برای مثال، می‌توان بررسی کرد آیا مراحل درمانی و مراقبتی لازم برای یک فرد مبتلا به دیابت به درستی انجام می‌گیرد یا نقاطی برای بهبود وجود دارد.

با توجه به این که کتابخانه‌های Crunch امکان ایجاد فرایندهای ترکیبی را میسر می‌کند، می‌توان از آن برای رفع نیازهای ذکر شده استفاده کرد. شکل زیر نشان می‌دهد که چگونه می‌توان با ترکیب اجزای مختلف، اهداف مختلفی را به دست آورد.

هماهنگی و مدیریت فرایندها توسط Oozie انجام می‌گیرد. Oozie  با پایش مکان ذخیره داده، در هنگام ورود داده جدید، عملیات مربوط به  Crunch  را آغاز می‌کند.

اهداف بعدی که سرنر برای بیشینه کردن ارزش استخراج شده از این سامانه دنبال می‌کند شامل موارد زیر است:

  • روش‌های تجویزی توسط اکوسیستم Hadoop و کتابخانه‌های پشتیبان
  • مدیریت داده و تکمیل ویژگی‌های فرایندهای Crunch
  • کاتالوگ امن و مقیاس‌پذیر داده برای پشتیبانی از نیازهای سلامت که شامل مسائلی می‌شوند که هنوز بروز پیدا نکرده‌اند.