OpenEHR چیست؟

OpenEHR یک جامعه مجازی میباشد که در راستای تحقق "تبدیل اطلاعات بهداشتی از فرم های کاغذی و فیزیکی به صورت الکترونیک" فعالیت میکند.

OpenEHR با ارائه یک معماری استاندارد تلاش میکند تا قابلیت Interoperability و تعامل بین تمام سیستم های نرم افزاری در این حوزه را فراهم سازد. 

OpenEHR چه چیزهایی نیست؟

یک نرم افزار نیست

یک بانک اطلاعاتی نیست

یک زبان برنامه نویسی نیست

یک وب سایت نیست

به زبان ساده OpenEHR چیست؟

یک معماری استاندارد برای پرونده های الکترونیک سلامت (EHR) میباشد. 

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

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

برای اینکه موضوع کمی دقیقتر مشخص شود به این مثال توجه کنید:

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

اما از نگاه یک پزشک فیلد فشارخون میتواند شامل اجزاء زیر باشد:

1- فشار سیستولیک

2- فشار دیاستولیک

3- اندازه کاف (قسمتی که روی بازو بسته میشود)

4- حالت بیمار در حین دریافت فشار خون (نشسته، خوابیده)

5- وضعیت بیمار (هوشیار، بی هوش)

6- نوع فشار سنج

7- واحد اندازه گیری

8- ...


پس مشاهده میکنیم که دید یک پزشک، پرستار یا هرشخصی که تخصصی در حوزه بهداشت و درمان دارد میتواند بسیار متفاوت باشد با دید یک برنامه نویس و یا تحلیلگر.

شاید بپرسید اصلا چه نیازی به ذخیره کردن این همه داده وجود دارد؟! همان فیلد فشار خون کفایت میکند

اول اینکه استفاده از معماری OpenEHR به معنی مجبور بودن به ذخیره سازی حداکثر دیتا نیست. بلکه میتوان حداقل دیتای مورد نیاز را استفاده کرد.

دوم اینکه این اطلاعات در مواقعی بسیار مهم هستند و میتواند مبنای تصمیم گیری های حیاتی برای یک شخص باشد. همچنین در مباحث حقوقی نیز بسیار کاربرد دارد.

خب! تا اینجای کار چه مشکلی شناسایی شد؟

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


مزایای OpenEHR چیست و چگونه این مشکل را بر طرف میکند؟

اگر بخواهم خیلی خلاصه مزیت OpenEHR را بگویم باید اینطور ذکر کنم که:

OpenEHR لایه مربوط به تعریف مدل (آرکه تایپ) ها را از لایه برنامه نویسی و توسعه جدا میکند به طوری که افراد متخصص در حوزه پزشکی مشخص میکنند چه داده هایی مورد نیاز است و افراد متخصص در حوزه توسعه و نرم افزار بدون آنکه نیاز باشد اطلاعاتی از داده ها و اصطلاحات پزشکی داشته باشند فقط آنها را ذخیره یا بازیابی میکنند.


همچنین از آنجایی که امروز توسعه نرم افزار با سال های گذشته بسیار تفاوت کرده و حجم قابل توجهی از نرم افزار را میتوان با استفاده از ابزارهای آماده تولید کرد، با طراحی یک Parser برای مدل هایی که از سوی پزشکان تهیه شده است میتوان به صورت اتوماتیک فرم ها و UI را نیز طراحی کرد. 

یعنی اگر یک فرمت استاندارد برای هر نوع داده ای داشته باشیم میتوانیم با استفاده از این Tools که یا خودمان طراحی کردیم یا از ابزارهای OpenSource مربوط به OpenEHR استفاده کردیم میتوانیم برای تمام داده ها و فرم های مورد نیاز UI بسازیم.