ابلاغ اجرای وب سرویس درخواست نوبت دهی پاراکلینیکی
ابلاغیه شماره ۱۱۰/۲۰۰ مورخ ۱۴۰۵/۰۴/۲۸
شماره: ۱۱۰/
موضوع: ابلاغ اجرای وب سرویس درخواست نوبت دهی پاراکلینیکی
گیرندگان
- مدیرعامل محترم شرکت/
مجموعه توسعه دهنده سامانه اطلاعات بیمارستانی - مدیرعامل محترم شرکت/
مجموعه توسعه دهنده سامانه اطلاعات کلینیکی - مدیرعامل محترم شرکت/
مجموعه توسعه دهنده سامانه اطلاعات مطب - مدیرعامل محترم شرکت/
مجموعه توسعه دهنده سامانه اطلاعات مراکز بهداشتی
با سلام و احترام
عطف به ابلاغیه مشاور محترم وزیر و مدیر کل حوزه وزارتی به شماره ۱۰۱/۸۶۹/د مورخ ۱۴۰۴/۱۲/۲۳ با موضوع «ابلاغ نسخه (۰۳) دستورالعمل برنامه ملی پزشک خانواده و نظام ارجاع»، به استحضار می رساند، در راستای ایجاد سازوکاری یکپارچه، منسجم و استاندارد برای مدیریت و راهبری فرایند نوبت دهی خدمات پاراکلینیک و برقراری ارتباط موثر و نظام مند میان مراکز نسخه نویسی، مراکز ارائه دهنده خدمات پاراکلینیک و بیماران، سرویس نوبت دهی پاراکلینیکی طراحی و توسعه داده شده است. لذا به پیوست سند راهنمای فنی پیاده سازی وب سرویس درخواست نوبت دهی پاراکلینیکی جهت اجرا و پیاده سازی در سامانه های اطلاعاتی مرتبط ابلاغ می گردد.
دکتر سید رضا مظهری
رئیس مرکز مدیریت آمار و فناوری اطلاعات
رونوشت
- جناب آقای دکتر خسرو صادق نیت، مشاور وزیر و مدیر کل محترم حوزه وزارتی
- جناب آقای دکتر سیدسجاد رضوی، معاون محترم درمان
- جناب آقای دکتر علیرضا رئیسی، معاون محترم بهداشت
- جناب آقای دکتر حکیم جوادی، رئیس محترم سازمان نظام صنفی رایانه ای کشور
- جناب آقای دکتر سالاری، مدیر عامل محترم سازمان تامین اجتماعی
- جناب آقای دکتر محمد مهدی ناصحی، مدیر عامل محترم سازمان بیمه سلامت ایران
- جناب آقای دکتر مسعود فیض اربابی، مدیرعامل محترم سازمان بیمه خدمات درمانی نیروهای مسلح
- جناب آقای دکتر موسی رضایی، رئیس کل محترم بیمه مرکزی جمهوری اسلامی ایران
- جناب آقای دکتر احمد رضا ریحانی یساولی، مدیر کل محترم دفتر بازرسی و مدیریت عملکرد
- جناب آقای دکتر سید ابراهیم اسکندری، رئیس محترم مرکز حراست
- مدیر محترم آمار و فناوری اطلاعات دانشگاه/
دانشکده علوم پزشکی - جناب آقای عباس نجاری، معاون محترم فنی مرکز مدیریت آمار و فناوری اطلاعات
- سرکار خانم مهندس معصومه خانی، رئیس محترم گروه تنظیم مقررات، صدور پروانه و نظارت
ابلاغیه شماره ۱۰۱/۸۶۹/د مورخ ۱۴۰۴/۱۲/۲۳
شماره: ۱۰۱/۸۶۹/د | تاریخ: ۱۴۰۴/۱۲/۲۳ | پیوست: دارد
صادرکننده: دفتر وزیر
موضوع: ابلاغ نسخه (۰۳) دستورالعمل برنامه ملی پزشک خانواده و نظام ارجاع
گیرندگان
- معاون محترم درمان
- مدیرعامل محترم سازمان بیمه سلامت ایران
- رئیس/
سرپرست محترم دانشگاه/ دانشکده علوم پزشکی و خدمات بهداشتی، درمانی - مدیر کل محترم مرکز مدیریت آمار و فناوری اطلاعات
با سلام و احترام؛
بدینوسیله «نسخه (۰۳) دستورالعمل برنامه ملی پزشک خانواده و نظام ارجاع» که با اتفاق آرا اعضای ستاد پزشک خانواده و نظام ارجاع تصمیم گیری و به تایید یکصد و هفتمین جلسه شورای عالی بیمه سلامت کشور رسیده است، جهت آگاهی و ابلاغ به واحدهای تابعه به منظور اجرا به پیوست ارسال می گردد.
دکتر خسرو صادق نیت
مشاور وزیر و مدیر کل حوزه وزارتی
رونوشت
- جناب آقای معنوی، دبیر محترم شورای عالی بیمه سلامت و مدیر کل دفتر برنامه ریزی و سیاست گذاری بیمه سلامت، برای آگاهی و پیگیری
دریافت فایل اصلی مستندات ابلاغیه
📎 دریافت بسته کامل مستندات ابلاغیه ۱۱۰/
سند راهنمای فنی پیاده سازی وب سرویس درخواست نوبت دهی پاراکلینیکی
درگاه یکپارچه تبادل اطلاعات سلامت (دیتاس)
نگارش: 1.1
شناسنامه سند
- کلیه حقوق این سند متعلق به مرکز مدیریت آمار و فناوری اطلاعات وزارت بهداشت، درمان و آموزش پزشکی است. هرگونه کپی برداری و استفاده غیرمجاز از آن پیگرد قانونی دارد.
- ارائه دهنده سرویس موظف است هرگونه تغییر در ساختار سرویس را به مسئول دیتاس اطلاع دهد و هرگونه ایجاد تغییر در سند بدون هماهنگی با ایشان غیرقانونی است.
| عنوان | مقدار |
|---|---|
| نام سند | وب سرویس درخواست نوبت دهی پاراکلینیکی (سند راهنمای فنی پیاده سازی) |
| ارائه دهنده سرویس | مرکز مدیریت آمار و فناوری اطلاعات |
| نام فایل | DITAS_ParaClinic_AppointmentRequest_V1.1 |
| تاریخ انتشار نگارش اولیه سند | 25/۰۳/1405 |
| تاریخ انتشار نگارش فعلی سند | 27/۰۴/1405 |
| شرح سند | این سند به منظور بهره برداری از وب سرویس های درخواست نوبت دهی پاراکلینیکی تهیه شده است. |
| نویسندگان | مرکز مدیریت آمار و فناوری اطلاعات وزارت بهداشت، درمان و آموزش پزشکی |
| فایل مرجع | ندارد |
تاریخچه ویرایش سند
| نویسنده/ | تاریخ | نگارش | اقدامات |
|---|---|---|---|
| سحر خجسته | 25/۰۳/1405 | 0.1 | تدوین سند اولیه |
| محمدباقر امینی | 27/۰۳/1405 | 0.1 | بررسی محتوایی |
| معصومه خانی، لیلا کرمی | 27/۰۴/1405 | 1.1 | کنترل کیفی |
تاریخچه بررسی و تایید سند
| نویسنده/ | تاریخ | نگارش | وضعیت |
|---|---|---|---|
| سید رضا مظهری | 27/۰۴/1405 | 1.1 | تائید نهایی |
فهرست مطالب
| عنوان | صفحه |
|---|---|
| فهرست مطالب | 4 |
| فهرست جداول | 6 |
| مقدمه | 9 |
| تعاریف | 10 |
| کلاس های مربوط به الگوهای داده | 10 |
کلاس الگوی داده DO_CODED_TEXT | 11 |
کلاس الگوی داده DO_DATE | 12 |
کلاس الگوی داده DO_IDENTIFIER | 12 |
کلاس الگوی داده DO_TIME | 12 |
کلاس الگوی داده DO_DATE_TIME | 13 |
کلاس ProviderInfoVO | 14 |
کلاس PersonInfoVO | 15 |
کلاس InsuranceVO | 19 |
کلاس HealthcareProviderVO | 21 |
کلاس DiagnosisVO | 23 |
کلاس ElectronicContactVO | 24 |
کلاس HighLevelAreaVo | 24 |
کلاس الگوی داده DO_ORDINAL | 26 |
| نحوه احراز هویت کاربر دیتاس | 26 |
| دسترسی به خدمات | 27 |
| تابع دریافت توکن دیتاس | 27 |
| تابع به روزرسانی توکن دیتاس | 28 |
| نحوه فراخوانی سرویس | 30 |
تابع CreateAppointmentRequest | 30 |
تابع GetAppointmentRequest | 46 |
| پیوست ها | 59 |
| پیوست ۱ – ساختار فراخوانی توابع دیتاس (CURL) | 59 |
| پیوست ۲ – ساختار خروجی فراخوانی توابع دیتاس | 60 |
| پیوست ۳ – کدهای وضعیت پاسخ دیتاس نسبت به فراخوانی توابع | 61 |
| پیوست ۴ – ترمینولوژی ThritaEHR | 62 |
| پیوست ۵ – جداول اطلاعاتی | 64 |
فهرست جداول
| عنوان | صفحه |
|---|---|
جدول 1- کلاس DO_CODED_TEXT | 11 |
جدول 2- کلاس DO_DATE | 12 |
جدول 3- کلاس الگوی داده DO_IDENTIFIER | 12 |
جدول 4- کلاس DO_TIME | 13 |
جدول 5- کلاس DO_DATE_TIME | 13 |
جدول 6- کلاس الگوی داده ProviderInfoVO | 14 |
جدول 7- کلاس الگوی داده PersonInfoVO | 16 |
جدول 8- کلاس الگوی داده InsuranceVO | 20 |
جدول 9- کلاس الگوی داده HealthcareProviderVO | 22 |
| جدول 14- پارامترهای ورودی تابع دریافت توکن دیتاس | 27 |
جدول 15- پارامترهای خروجی Body تابع دریافت توکن دیتاس | 28 |
جدول 16- پارامترهای خروجی Header تابع دریافت توکن دیتاس | 28 |
جدول 17- پارامترهای ورودی Header تابع به روزرسانی توکن دیتاس | 29 |
جدول 18- پارامترهای خروجی Body تابع به روزرسانی توکن دیتاس | 29 |
جدول 19- پارامترهای ورودی Body تابع CreateAppointmentRequest | 40 |
جدول 20- پارامترهای خروجی Body تابع CreateAppointmentRequest | 45 |
جدول 21- پارامترهای ورودی Body تابع GetAppointmentRequest | 46 |
جدول 22- پارامترهای خروجی Body تابع GetAppointmentRequest | 53 |
| جدول 23- ساختار فراخوانی توابع دیتاس (CURL) | 59 |
جدول 24- ساختار خروجی Body توابع دیتاس | 60 |
| جدول 25- کدهای وضعیت پاسخ دیتاس نسبت به فراخوانی توابع | 61 |
| جدول 26- ترمینولوژی ThritaEHR | 62 |
جدول 27- کدهای مربوط به وضعیت تاهل – سیستم کدگذاری: thritaEHR.maritalStatus | 64 |
جدول 28- کدهای مربوط به جنسیت – سیستم کدگذاری: thritaEHR.gender | 64 |
جدول 29- کدهای مربوط به شاخص دقت تاریخ – سیستم کدگذاری: thritaEHR.birthDateAccuracy | 64 |
جدول 30- کدهای مربوط به میزان تحصیلات – سیستم کدگذاری: thritaEHR.educationLevel | 65 |
جدول 31- کدهای مربوط به زبان (Languages) – سیستم کدگذاری: ISO639-1 | 66 |
جدول 32- کدهای مربوط به صندوق بیمه – سیستم کدگذاری: thritaEHR.insuranceBox | 72 |
جدول 33- کدهای مربوط به سازمان های بیمه گر – سیستم کدگذاری: thritaEHR.Insurer | 74 |
| جدول 34- شناسه های حوزه سلامت | 76 |
جدول 35- نقش ارائه دهنده خدمت – سیستم کدگذاری: thritaEHR.healthcareProvider.role | 77 |
جدول 36- کدهای مربوط به وضعیت تشخیص – سیستم کدگذاری: thritaEHR.daignosis.status | 78 |
| جدول 37- کدهای مربوط به انواع ویژگی ارتباطی (MediumType) – سیستم کدگذاری: ThritaEHR | 79 |
| جدول 38- کدهای مربوط به انواع کاربرد ویژگی ارتباطی (Usage) – سیستم کدگذاری: ThritaEHR | 79 |
فهرست شکل ها
| عنوان | صفحه |
|---|---|
| شکل 1- فرایند درخواست نوبت دهی پاراکلینیک | 9 |
شکل 2- کلاس ProviderInfoVO | 14 |
شکل 3- کلاس PersonInfoVO | 16 |
شکل 4- کلاس InsuranceVO | 20 |
شکل 5- اجزای کلاس HealthcareProviderVO | 21 |
شکل 6- اجزای کلاس DiagnosisVO | 23 |
شکل 7- اجزای کلاس ElectronicContactVO | 24 |
شکل 8- اجزای کلاس HighLevelAreaVo | 25 |
مقدمه
مرکز تبادل اطلاعات سلامت در راستای ضوابط فنی اجرایی توسعه دولت الکترونیکی به عنوان مرکز تبادل خوشه سلامت ایجادشده و محل تبادل اطلاعات موردنیاز خدمات الکترونیکی دستگاه های ذیل خوشه سلامت است. تبادل اطلاعات به شیوه خدمات الکترونیکی یا تبادل پیام های الکترونیکی انجام می شود. هیچ محتوای اطلاعاتی در این مراکز به جز ترافیک تبادلات الکترونیکی نگهداری و ذخیره نمی شود. این مرکز امکان پایش و نظارت برای تبادلات الکترونیکی را داشته و گزارش گیری برای تمامی ذینفعان را فراهم می کند. هرگونه تبادل بین دستگاه های ذیل خوشه سلامت با دستگاه های اجرایی سایر خوشه ها باید از مسیر مرکز تبادل اطلاعات سلامت صورت پذیرد.
این میان افزار با هدف ایجاد سازوکاری یکپارچه، منسجم و استاندارد برای مدیریت و راهبری فرایند نوبت دهی خدمات پاراکلینیک طراحی شده است. ماموریت اصلی این میان افزار، برقراری ارتباط موثر و نظام مند میان مراکز نسخه نویسی، مراکز ارائه دهنده خدمات پاراکلینیک و بیماران بوده و بستر لازم را برای تبادل صحیح، سریع و قابل رهگیری اطلاعات فراهم می سازد.
در این فرایند، درخواست های نوبت ثبت شده از سوی مراکز نسخه نویسی، از طریق میان افزار دریافت، اعتبارسنجی و پردازش شده و حسب نوع خدمت و مقصد تعیین شده، به مرکز پاراکلینیک مربوطه ارسال می گردد. پس از بررسی درخواست و اعلام نتیجه از سوی مرکز پاراکلینیک، پاسخ نهایی از طریق همین میان افزار به مرکز درخواست کننده بازگردانده می شود و همزمان، اطلاع رسانی لازم به بیمار نیز از مسیرهای پیش بینی شده انجام می پذیرد.
استقرار این میان افزار موجب ارتقای هماهنگی بین اجزای درگیر، تسهیل گردش اطلاعات، کاهش خطاهای اجرایی، افزایش شفافیت در فرایندها و بهبود قابلیت نظارت و پیگیری خواهد شد. همچنین با متمرکزسازی مدیریت درخواست ها، پاسخ ها و فرایند اطلاع رسانی، زمینه لازم برای بهبود کیفیت خدمت رسانی، افزایش رضایتمندی بیماران و ارتقای کارآمدی فرایند نوبت دهی در سطح شبکه ارائه خدمات فراهم می شود.
وب سرویس درخواست نوبت دهی پاراکلینیکی توسط مرکز آمار و فناوری اطلاعات وزارت بهداشت توسعه داده شده است و این سند جهت استفاده از این سرویس تهیه گردیده است.
شکل 1- فرایند درخواست نوبت دهی پاراکلینیک
تعاریف
- دیتاس (
DITAS): به درگاه یکپارچه تبادل اطلاعات سلامت اطلاق می شود. - ارائه دهنده سرویس: معاونت/ سازمان/ مرکزی که سرویس الکترونیکی آن بر بستر دیتاس پیاده سازی شده باشد.
- احراز هویت کاربر (
Authorization): از این پارامتر جهت احراز هویت کاربران دیتاس استفاده می شود که به صورتOAuth2است. - شناسه سرویس (
PID): شناسه یکتا ارائه شده به کاربر برای فراخوانی سرویس.
کلاس های مربوط به الگوهای داده
در کلاس های حاضر در سند گاهی از الگوی داده خاصی استفاده شده است. الگوهای داده (Data Type) عبارت اند از:
- مجموعه ای از مقادیر متمایز که به وسیله ویژگی ها و عملیات مربوط به آن ها شناخته می شوند.
- الگوی داده سه مشخصه اصلی دارد: فضای مقدار داده، مجموعه ای از ویژگی ها و مجموعه ای از عملیات توصیف کننده.
به طور کلی تعاریف محدوده ی کاربرد الگوی داده حول یک یا هر دو مفهوم زیر می چرخد: رابطه بین تساوی و هویت و وابستگی یک مفهوم.
در بسیاری از محیط های برنامه نویسی الگوهای داده اولیه از قبل تعریف شده اند؛ هر چند اسامی آن ها می تواند در محیط های مختلف متفاوت باشد. به عنوان مثال الگوهای داده مانند: String، Double و …، از جمله الگوهای اولیه ای هستند که در این کلاس ها استفاده شده اند. الگوهای داده دیگری نیز وجود دارند که برای کاربردهای خاص حوزه سلامت اختصاصی شده اند. این الگوهای داده معمولا از استانداردهای جهانی برای تبادل اطلاعات سلامت، مانند استاندارد ایزو ۱۳۶۰۶ و یا HL7 اقتباس شده اند. در کلاس های حاضر از تعدادی از این الگوهای داده استفاده شده است که در ادامه تشریح می شوند.
در این سند و ساختار ارائه شده در آن، از الگوهای داده موجود در استاندارد ایزو ۱۳۶۰۶ و مدل مرجع OpenEHR استفاده شده است، با این تفاوت که این الگوها ابتدا ساده سازی و سپس استفاده شده اند. ساده سازی به این شکل انجام شده است که ویژگی های اختیاری در الگوی استاندارد اصلی حذف شده و فقط از ویژگی های اجباری آن استفاده می شود. ازآنجایی که یک داده پیام می بایست در نهایت به صورت یک داده پیام استاندارد منتقل شود، تمامی کلاس ها و همچنین الگوهای داده باید به الگوهای داده اصلی در استاندارد تبدیل شوند.
۱- Package ID · ۲- Properties · ۳- ISO 11404
کلاس الگوی داده DO_CODED_TEXT
این کلاس، الگوی داده ای است که برای ارائه ی کلمه ها و مفاهیم کدگذاری شده استفاده می شود. در استاندارد OpenEHR نام آن DV_CODED_TEXT و در استاندارد HL7 و ISO 21090 به آن CS (Coded String) گفته می شود. این کلاس دارای سه ویژگی اجباری است که در جدول ۱ نمایش داده شده است.
| ردیف | ویژگی | نوع داده | توضیحات | ارتباطات |
|---|---|---|---|---|
| 1 | Value | String | اصطلاح یا مفهوم کدگذاری شده است. | 1-1 |
| 2 | CodedString | String | کد اصطلاح | 1-1 |
| 3 | TerminologyID | String | سیستم کدگذاری که کد اصطلاح از آن انتخاب شده است | 1-1 |
به عنوان مثال: در سیستم کدگذاری HL7 جنسیت مرد یا مذکر با کد ۱ نشان داده می شود. برای ساخت یک DO_CODED_TEXT حاوی مفهوم مرد، می توان به صورت زیر عمل کرد:
Dim Gender AsNew DO_CODED_TEXT
Gender.value = "مرد"
Gender.Coded_string = "1"
Gender.Terminology_id = "HL7"
همان گونه که مشاهده می شود، برای ساخت یک عبارت کدگذاری شده تعدادی خط در برنامه اضافه می شود. روش استفاده آسان تر آن است که عملگری برای تولید DO_CODED_TEXT ساخته شود تا به سادگی مورداستفاده قرار گیرد. در ادامه عملگری با عنوان CS برای این منظور ساخته شده است.
Public Function CS(ByVal value AsString, ByVal CodedString AsString, ByVal TerminologyID AsString) As DO_CODED_TEXT
CS = New DO_CODED_TEXT
CS.value = value
CS.Coded_string = CodedString
CS.Terminology_id = TerminologyID
End Function
در صورت استفاده از عملگر CS، فقط با یک خط می توان در برنامه مقدار کد شده ی «مرد» را ساخت.
Dim Gender As DO_CODED_TEXT = CS("مرد" ,"1", "HL7")
کلاس الگوی داده DO_DATE
این کلاس برای ارائه تاریخ ساخته شده است. ویژگی های آن در جدول ۲ نمایش داده شده است. تمامی ویژگی ها در این کلاس اجباری است. این الگو برای ارائه ی تاریخ به صورت الگوی شمسی ارائه شده است.
| ردیف | ویژگی | نوع داده | توضیحات | ارتباطات |
|---|---|---|---|---|
| 1 | Year | Integer | عدد سال به شکل yyyy | 1-1 |
| 2 | Month | Integer | عدد ماه به شکل mm | 1-1 |
| 3 | Day | Integer | عدد روز به شکل dd | 1-1 |
کلاس الگوی داده DO_IDENTIFIER
این کلاس برای ارائه شناسه های دنیای حقیقی (RWIs) کاربرد دارد. موجودیت های دنیای واقعی (RWEs) مانند افراد، سازمان ها، خودروها و صورتحساب ها، هرکدام یک شناسه دارند. اگرچه بسیاری از این ها در داخل یک حوزه یا سازمان یکتا طراحی شده اند، اما اغلب به علت خطاهای ورود داده، طراحی بد، فرایندهای نادرست و غیره، این گونه نیستند. به طور کلی کسی نمی تواند تضمین کند که شناسه های دنیای حقیقی (RWIs) یکتا هستند و فرض بر آن است که این شناسه ها تقریبا یکتا هستند. کد ملی، شماره نظام پزشکی و شماره گذرنامه مثال هایی هستند که می توان آن ها را به عنوان شناسه های دنیای حقیقی با این الگو ارائه داد. این کلاس دارای چهار ویژگی اجباری است که در جدول ۳ نمایش داده شده است.
| ردیف | ویژگی | نوع داده | توضیحات | ارتباطات |
|---|---|---|---|---|
| 1 | Issuer | String | مرجعی که شناسه های مورداستفاده را منتشر می کند. | 1-1 |
| 2 | Assigner | String | سازمانی که شناسه را به آیتمی که باید شناسایی شود، اختصاص می دهد. | 1-1 |
| 3 | Id | String | مقدار شناسه است. به عنوان مثال برای پزشکان، شماره نظام پزشکی و برای کد ملی، مقدار ده رقمی کد در این ویژگی قرار می گیرد. | 1-1 |
| 4 | Type | String | نوع شناسه که می تواند مقادیری، از جمله: National_Code، Org_ID، System_ID، Med_ID، Nursing_ID، Midwifery_ID، Insurance_Agent_ID را داشته باشد. | 1-1 |
کلاس الگوی داده DO_TIME
این کلاس برای ارائه زمان ساخته شده و ویژگی های آن در جدول ۴ نمایش داده شده است. معمولا این کلاس به تنهایی استفاده نمی شود و با کلاس DO_DATE استفاده می گردد.
| ردیف | ویژگی | نوع داده | توضیحات | ارتباطات |
|---|---|---|---|---|
| 1 | Hour | Integer | عدد ساعت | 1-1 |
| 2 | Minute | Integer | عدد دقیقه | 1-1 |
| 3 | Second | Integer | عدد ثانیه | 1-1 |
کلاس الگوی داده DO_DATE_TIME
این کلاس برای ارائه تاریخ و ساعت ساخته شده است. ویژگی های آن در جدول ۵ نمایش داده شده است.
| ردیف | ویژگی | نوع داده | توضیحات |
|---|---|---|---|
| 1 | Year | Integer | رقم سال |
| 2 | Month | Integer | رقم ماه |
| 3 | Day | Integer | رقم روز |
| 4 | Hour | Integer | رقم ساعت |
| 5 | Minute | Integer | رقم دقیقه |
| 6 | Second | Integer | رقم ثانیه |
کلاس ProviderInfoVO
این کلاس برای ارائه اطلاعات مرتبط با ارائه دهندگان خدمات طراحی شده است و برای اطلاعات آن دسته از افرادی که مسئول ثبت الکترونیکی اطلاعات هستند، کاربرد دارد. از آنجایی که این کلاس به صورت کلی طراحی شده است می تواند در مدل کردن پزشک، پرستار و یا حتی نماینده بیمه مورد استفاده قرار گیرد.
شکل 2- کلاس ProviderInfoVO
| ردیف | ویژگی | نوع داده | توضیحات | ارتباطات |
|---|---|---|---|---|
| 1 | ContactPoint | ElectronicContactVO() | اطلاعات تماس ارائه دهنده خدمت در این کلاس ثبت می گردد که به صورت آرایه می باشد و شرح داده شد. | 1-0 |
| 2 | FirstName | String | نام ارائه دهنده خدمت است که تاییدکننده اطلاعات روکش اسناد بیمارستانی است و مسئولیت صحت اطلاعات الکترونیکی ثبت شده را برعهده دارد. | 1-0 |
| 3 | LastName | String | نام خانوادگی ارائه دهنده خدمت است که تاییدکننده اطلاعات روکش اسناد بیمارستانی است و مسئولیت صحت اطلاعات الکترونیکی ثبت شده را برعهده دارد. | 1-0 |
| 4 | FullName | String | نام کامل. این گزینه در صورتی پر می شود که نام و نام خانوادگی به طور مجزا ثبت نشده باشد یا از پیشوندهای مثل آقا، دکتر و غیره استفاده شده باشد. | 1-0 |
| 5 | Identifier | DO_IDENTIFIER | شناسه ثبت کننده اطلاعات است. در این شناسه بایستی کد ملی ثبت کننده اطلاعات قرار گیرد و نوع شناسه بایستی از نوع National_Code باشد | 1-1 |
| 6 | Credentials | CredentialsVO | نوع مجوزها و گواهی های اخذشده توسط ارائه دهنده خدمت در این ویژگی مقداردهی می شود. برای مثال پزشک «هیئت علمی تمام وقت جغرافیایی» در این کلاس تعریف می شود. | *-0 |
کلاس PersonInfoVO
همان طور که پیش تر توضیح داده شد، این کلاس شامل: داده های نام، نام خانوادگی، وضعیت تاهل، کدملی، تاریخ تولد، نام پدر، نشانی محل سکونت، شماره شناسنامه، شماره تلفن، ملیت، کد پستی، شناسه یگانه، جنسیت و سایر اطلاعات دموگرافیک مربوط به یک بیمار است. در این کلاس حتما باید یکی از ویژگی های نام، نام خانوادگی و یا نام کامل ثبت شود.
شکل 3- کلاس PersonInfoVO
| ردیف | ویژگی | نوع داده | توضیحات | ارتباطات |
|---|---|---|---|---|
| 1 | FirstName | String | نام فرد (یکی از ویژگی های نام، نام خانوادگی و یا نام کامل حتما باید ثبت شود.) | 1-1 |
| 2 | LastName | String | نام خانوادگی فرد (یکی از ویژگی های نام، نام خانوادگی و یا نام کامل حتما باید ثبت شود.) | 1-1 |
| 3 | FullName | String | نام کامل فرد، شامل: تمام بخش های نام وی در قالب یک رشته ثبت می شود. این گزینه درصورتی پر می شود که نام و نام خانوادگی مجزا ثبت نشده باشد یا از پیشوندهای مثل آقا، دکتر و غیره استفاده شده باشد. درمواقعی که فرد مجهول الهویه است، در این ویژگی مقدار «مجهول الهویه» نوشته می شود. | 1-1 |
| 4 | MaritalStatus | DO_CODED_TEXT | این ویژگی نشان دهنده وضعیت تاهل فرد است. مقادیر مختلف آن در جدول ۲۷ سند قسمت وضعیت تاهل به نمایش درآمده است. | 1-0 |
| 5 | Nationality | DO_CODED_TEXT | این ویژگی نمایانگر ملیت فرد است. مقادیر مربوطه به صورت کدهای دو حرفی مطابق با ترمینولوژی استاندارد «ISO_3166-1» برای کشورهای مختلف ارائه شده است. به عنوان مثال برای ملیت ایرانی از کد: IR مقدار: Iran, Islamic Republic of استفاده می شود. کدهای سایر ملیت ها از سامانه مکسا به نشانی زیر قابل دریافت است. | 1-1 |
| 6 | Gender | DO_CODED_TEXT | نشان دهنده جنسیت افراد است. کدهای مربوط به آن در جدول ۲۸ سند نشان داده شده است. | 1-0 |
| 7 | BirthDate | DO_DATE | این ویژگی معرف تاریخ تولد بیمار بر اساس تاریخ شمسی است. | 1-0 |
| 8 | BirthTime | DO_TIME | این ویژگی معرف زمان و ساعت تولد فرد است. درصورتی که نیاز به ثبت زمان دقیق تولد باشد مانند تولد نوزادان، این ویژگی ثبت می شود. | 1-0 |
| 9 | BirthDateAccuracy | DO_CODED_TEXT | این ویژگی معرف دقت ثبت تاریخ تولد بیمار است. مقادیر مختلف این ویژگی در جدول ۲۹ آورده شده است. | 1-0 |
| 10 | Father_FirstName | String | نام پدر بیمار | 1-0 |
| 11 | Father_LastName | String | نام خانوادگی پدر بیمار | 1-0 |
| 12 | Mother_FirstName | String | نام مادر بیمار | 1-0 |
| 13 | Mother_LastName | String | نام خانوادگی مادر بیمار | 1-0 |
| 14 | FullAddress | String | نشانی کامل محل سکونت بیمار | 1-0 |
| 15 | IDCardNumber | String | شماره شناسنامه بیمار | 1-0 |
| 16 | NationalCode | String | کد ملی ۱۰ رقمی بیمار | 1-1 |
| 17 | PostalCode | String | کدپستی ۱۰ رقمی محل سکونت بیمار | 1-0 |
| 18 | HomeTel | String | شماره تلفن منزل فرد | 1-0 |
| 19 | MobileNumber | String | شماره تلفن همراه فرد. | |
| 20 | EducationLevel | DO_CODED_TEXT | میزان تحصیلات فرد. کدهای مربوطه در بخش میزان تحصیلات در جدول ۳۰ قابل مشاهده است. | |
| 21 | 1-0 | |||
| 22 | Job | DO_CODED_TEXT | این ویژگی شغل فرد را نشان می دهد. کدهای انواع شغل ها تحت عنوان سیستم کدگذاری thritaEHR.job در سامانه مکسا، در دسترس است. | 1-0 |
| 23 | JobDescription | String | این ویژگی در صورت نیاز به توضیح خاصی راجع به شغل بیمار ثبت می شود. | 1-0 |
| 24 | LivingPlaceArea | HighLevelAreaVO | این ویژگی از نوع کلاس HighLevelAreaVo است که مشخصات محل زندگی بیمار را نشان می دهد. | 1-0 |
| 25 | BirthPlaceArea | HighLevelAreaVO | این ویژگی از نوع کلاس HighLevelAreaVo است که مشخصات مکان تولد بیمار را نشان می دهد. | 1-0 |
| 26 | IDIssueArea | HighLevelAreaVO | این ویژگی از نوع کلاس HighLevelAreaVo است که مشخصات محل صدور شناسنامه بیمار را نشان می دهد. | 1-0 |
| 27 | OtherContacts | ElectronicContactVO | سایر اطلاعات تماس فرد در این ویژگی ثبت می گردد. | *-0 |
| 28 | Languages | CodeableConcept | زبان و گویشی که بیمار به آن صحبت می کند و برایش قابل فهم است در این ویژگی ثبت می گردد. برای ثبت زبان از جدول ۳۱ استفاده می گردد. توضیحات آن نیز در این ویژگی ثبت می گردد. | 1-0 |
| 29 | DeathDetail | BasicDeathDetailsVO | اطلاعات فوت در این ویژگی با بهره گیری از کلاس BasicDeathDetailsVO ثبت می گردد. | 1-0 |
| 30 | BirthDetail | BirthVO | اطلاعات تولد در این ویژگی با استفاده از کلاس BirthVO ثبت می گردد. | 1-0 |
| 31 | RelatedProvider | HealthcareProviderVO | این ویژگی برای ارسال ارائه دهندگان خدمات اختصاصی فرد (عموما در سطح یک) مانند پزشک خانواده، کارشناس بهداشت و غیره استفاده می گردد. | *-0 |
| 32 | RelatedOrganization | OrganizationVO | این ویژگی برای ارسال مشخصات مراکز اختصاص داده شده به فرد جهت خدمات بهداشتی، درمانی، آموزشی و هر فرآیند مربوط به حوزه سلامت استفاده می گردد. | *-0 |
| 33 | RelatedPerson | RelatedPersonVO | این کلاس جهت ارسال اطلاعات افراد مرتبط استفاده می گردد (مانند پدر، پسر، هم خانه، همسر و …) | *-0 |
| 34 | Biometrics | BiometricsVO | این ویژگی جهت ارسال مشخصات بیومتریک اختصاص داده شده است. | *-0 |
کلاس InsuranceVO
این کلاس برای ثبت داده های بیمه درمانی فرد مورد استفاده قرار می گیرد. همان طور که پیش تر نیز ذکر شد، یک فرد می تواند بیش از یک بیمه داشته باشد. به عنوان مثال یک فرد می تواند هم بیمه پایه و هم بیمه تکمیلی داشته باشد. بنابراین به ازای هر بیمار می توان از صفر تا چندین نمونه از این کلاس ایجاد کرد. به همین ترتیب در صورتی که بیمار بیمه نداشته باشد، اطلاعاتی در مورد بیمه فرد نیز وجود نخواهد داشت و بنابراین، این کلاس نیز ایجاد نخواهد شد. در جدول اجزای این کلاس تشریح شده است.
شکل 4- کلاس InsuranceVO
| ردیف | ویژگی | نوع داده | توضیحات | ارتباطات |
|---|---|---|---|---|
| 1 | InsuranceBookletSerialNumber | String | شماره سریال دفترچه بیمه بیمار است. مقدار این ویژگی در مورد بیماران تصادفی تهی است. | 1-0 |
| 2 | InsuranceExpirationDate | DO_DATE | تاریخ پایان اعتبار دفترچه بیمه بیمار را نشان می دهد. درصورت اعلام اعتبار تا پایان آخرین برگ و یا در مورد بیماران تصادفی، این ویژگی در کلاس ایجاد نمی شود و مقدار آن تهی است. | 1-0 |
| 3 | InsuranceBox | DO_CODED_TEXT | صندوق بیمه فرد را مشخص می کند. چنانچه برخی از سازمان های بیمه گر، صندوق خاصی نداشته باشند، این ویژگی مقدار تهی خواهد داشت. این اطلاعات از جدول موجود در جدول ۳۲ استخراج می شود. | 1-0 |
| 4 | InsuredNumber | String | شماره بیمه فرد است. این ویژگی برای بیمه های پایه اجباری است. | 1-0 |
| 5 | Insurer | DO_CODED_TEXT | نام سازمان بیمه گر است. فهرست سازمان های بیمه گر و کدهای مربوطه در جدول ۳۳ آمده است. | 1-1 |
| 6 | SHEBAD | DO_IDENTIFIER | شناسه منحصربه فرد صادر شده توسط سازمان بیمه گر در فرآیند استعلام الکترونیکی است که می تواند شناسه ارجاع بیماران ارجاع شده از سطح ۱ و یا استعلام اطلاعات بیمه ای بیمار باشد. برای درج این ویژگی Issuer و Assigner این شناسه از مقادیر موجود در جدول ۳۴ و Type آن با مقدار HID تکمیل گردد | 1-1 |
| 7 | InsuranceContribution | DO_QUANTITY | این مبلغ، سهم سازمان بیمه گر از کل هزینه (به ریال) است. | 1-0 |
| 8 | InsuranceOtherCosts | DO_QUANTITY | این مبلغ، سایر هزینه های سازمان بیمه گر (به ریال) است. | 1-0 |
کلاس HealthcareProviderVO
این کلاس برای ارائه اطلاعات مرتبط با ارائه دهندگان خدمات سلامت طراحی شده است. از آنجایی که این کلاس به صورت کلی طراحی شده است می تواند در مدل کردن پزشک، پرستار و یا حتی نماینده بیمه مورد استفاده قرار گیرد. ویژگی های این کلاس در جدول ۹ آمده است.
شکل 5- اجزای کلاس HealthcareProviderVO
| ردیف | ویژگی | نوع داده | توضیحات | ارتباطات |
|---|---|---|---|---|
| 1 | ContactPoint | ElectronicContactVO() | اطلاعات تماس ارائه دهنده خدمت سلامت (مانند پزشک) در این کلاس پر می گردد که به صورت آرایه است و در ادامه شرح داده می شود. | 1-0 |
| 2 | FirstName | String | نام ارائه دهنده خدمت | 1-0 |
| 3 | LastName | String | نام خانوادگی ارائه دهنده خدمت | 1-0 |
| 4 | FullName | String | نام کامل. این گزینه در صورتی پر می شود که نام و نام خانوادگی در دو فیلد مجزا ثبت نشده، یا از پیشوندهایی مثل آقا، دکتر و غیره استفاده شده باشد. | 1-0 |
| 5 | Identifier | DO_IDENTIFIER | شناسه ارائه دهنده خدمت سلامت، مثل: شماره نظام پزشکی، شماره نظام پرستاری و یا کد ملی. در نتیجه، با توجه به نوع این قلم، موارد زیر می تواند در هر یک از ویژگی های آن ثبت شود:Issuer: از بین یکی از موارد Med_Council، Nursing_Org و یا موارد مندرج در جدول ۳۴Assigner: از بین یکی از موارد Med_Council، Nursing_Org و یا موارد مندرج در جدول ۳۴Type: یکی از موارد Med_ID، Nursing_ID و یا موارد مندرج در جدول ۳۴Id: شناسه مورد نظر | 1-1 |
| 6 | Role | DO_CODED_TEXT | نقش ارائه دهنده خدمت سلامت است. کدهای مربوط به این قلم در جدول ۳۵ آمده است. | 1-0 |
| 7 | Specialty | DO_CODED_TEXT | رشته های حوزه سلامت که مختص ارائه دهندگان خدمت است. سیستم کدگذاری مورد استفاده thritaEHR.specialty است و از طریق سامانه مکسا قابل دریافت است. | 1-0 |
| 8 | Credentials | CredentialsVO | نوع مجوزها و گواهی های اخذشده توسط ارائه دهنده خدمت در این ویژگی مقداردهی می شود. برای مثال پزشک «هیئت علمی تمام وقت جغرافیایی» در این کلاس تعریف می شود. | *-0 |
کلاس DiagnosisVO
این کلاس اطلاعات بیماری ها و وضعیت های سلامتی تشخیص داده شده برای فرد را توسط پزشک نشان می دهد. ویژگی های این کلاس در جدول ۱۰ آورده شده است.
شکل 6- اجزای کلاس DiagnosisVO
| ردیف | ویژگی | نوع داده | توضیحات | ارتباطات |
|---|---|---|---|---|
| 1 | Comment | String | توضیحات مرتبط با تشخیص، در این ویژگی پر می شود. | 1-0 |
| 2 | Diagnosis | DO_CODED_TEXT | بیماری یا وضعیت سلامتی تشخیص داده شده توسط پزشک در این ویژگی قرار می گیرد. برای ارائه و ارسال کد تشخیص از سیستم های کدگذاری بین المللی، مانند ICD10، استفاده می شود. برای دریافت ترمینولوژی مذکور به سامانه مکسا مراجعه کنید. | 1-1 |
| 3 | DiagnosisDate | DO_DATE | مشخص کننده تاریخ تشخیص توسط پزشک است. | 1-0 |
| 4 | DiagnosisTime | DO_TIME | مشخص کننده زمان تشخیص توسط پزشک است. | 1-0 |
| 5 | Severity | DO_ORDINAL | شدت بیماری را مشخص می کند («خفیف»، «متوسط»، «شدید»). این ویژگی از نوع DO_ORDINAL است که در بخش انواع ساختارهای داده ای توضیح داده شده است. | 1-0 |
| 6 | Status | DO_CODED_TEXT | این ویژگی می تواند وضعیت تشخیص شامل اولیه، نهایی یا سایر وضعیت ها را معین کند. کدهای این ویژگی در جدول ۳۶ آورده شده است و سیستم کدگذاری مورد استفاده thritaEHR.daignosisStatus می باشد. | 1-1 |
کلاس ElectronicContactVO
این کلاس اطلاعات تماس فرد را نمایش می دهد. ویژگی های این کلاس در جدول ۱۱ نشان داده شده است.
شکل 7- اجزای کلاس ElectronicContactVO
| ردیف | ویژگی | نوع داده | توضیحات | ارتباطات |
|---|---|---|---|---|
| 1 | Detail | String | اطلاعات تماس فرد در این ویژگی ثبت می گردد. به عنوان مثال شماره تلفن یعنی 012-3456789 | 1-0 |
| 2 | MediumType | DO_CODED_TEXT | نوع ویژگی ارتباطی را مشخص می کند، مانند فکس، تلفن، ایمیل و غیره که بر اساس ترمینولوژی ThritaEHR است و کدهای آن در جدول ۳۷ | 1-0 |
| 3 | Usage | DO_CODED_TEXT | کاربرد ویژگی ارتباطی را مشخص می کند مانند خانه، کار و بر اساس ترمینولوژی ThritaEHR است و کدهای آن در جدول ۳۸ قرار دارند | 1-0 |
کلاس HighLevelAreaVo
این کلاس مختص داده های مربوط به یک منطقه جغرافیایی است و حاوی بخش های مختلف تقسیمات کشوری، شامل موارد: استان، شهرستان، بخش، شهر و دهستان، است. اقلام اطلاعاتی، مانند: محل سکونت، محل تولد، محل صدور شناسنامه و … با استفاده از این کلاس نمایش داده می شوند. کدهای ویژگی های این کلاس می تواند بر اساس کدهای تقسیمات کشوری با سیستم کدگذاری countryDivisions مقداردهی شوند. مشخصه های این کلاس در جدول ۱۲ آورده شده است. این کلاس ساختار سلسه مراتبی مکان را نمایش می دهد و به همین خاطر می توان فقط مقادیر انتهایی ساختار سلسله مراتبی را تکمیل نمود. بدین معنی که می توان کد شهر و یا روستا را وارد و از وارد کردن کد شهرستان و استان صرف نظر کرد. به همین دلیل، تمامی مشخصه های این کلاس اختیاری است؛ البته این در صورتی عملی خواهد بود که وقتی کلاس ساخته شود، حداقل یکی از مشخصه ها مقدار داشته باشد.
شکل 8- اجزای کلاس HighLevelAreaVo
| ردیف | ویژگی | نوع داده | توضیحات | ارتباطات |
|---|---|---|---|---|
| 1 | City | DO_CODED_TEXT | شهرستان. کدهای این ویژگی بر اساس سیستم گذاری countryDivisions است. کدهای مربوط به این ویژگی از سامانه مکسا قابل دریافت است. | 1-0 |
| 2 | Country | DO_CODED_TEXT | کشور. کدهای این ویژگی بر اساس سیستم کدگذاری ISO_3166-1 است. کدهای مربوط به این ویژگی از سامانه مکسا قابل دریافت است. | 1-0 |
| 3 | District | DO_CODED_TEXT | بخش. این ویژگی بر اساس سیستم گذاری countryDivisions است. کدهای مربوط به این ویژگی از سامانه مکسا قابل دریافت است. | 1-0 |
| 4 | NationalAreaCode | DO_CODED_TEXT | کد تقسیمات کشوری که می تواند بطور خودکار تمام اقلام دیگر مانند استان و شهر و غیره را مشخص سازد. این ویژگی بر اساس سیستم گذاری countryDivisions است. کدهای مربوط به این ویژگی از سامانه مکسا قابل دریافت است. | 1-0 |
| 5 | Province | DO_CODED_TEXT | استان. این ویژگی بر اساس سیستم گذاری countryDivisions است. کدهای مربوط به این ویژگی از سامانه مکسا قابل دریافت است. | 1-0 |
| 6 | RuralArea | DO_CODED_TEXT | دهستان. این ویژگی بر اساس سیستم گذاری countryDivisions است. کدهای مربوط به این ویژگی از سامانه مکسا قابل دریافت است. | 1-0 |
| 7 | Town | DO_CODED_TEXT | شهر. این ویژگی بر اساس سیستم گذاری countryDivisions است. کدهای مربوط به این ویژگی از سامانه مکسا قابل دریافت است. | 1-0 |
| 8 | Village | DO_CODED_TEXT | روستا. این ویژگی بر اساس سیستم گذاری countryDivisions است. کدهای مربوط به این ویژگی از سامانه مکسا قابل دریافت است. | 1-0 |
کلاس الگوی داده DO_ORDINAL
این کلاس نماینده ی مقدار داده هایی است که مقدار عددی دقیقا شناخته شده ای ندارند (مانند: شدت عارضه بیمار) و در عوض از مفاهیم نمادین استفاده می کنند؛ مانند: «+»، «++»، «+++»، یا «خفیف»، «متوسط»، «شدید». همچنین، برای اینکه نیازمندی مقایسه این مقادیر توسط کامپیوتر انجام پذیرد، هر مقدار نمادین را به یک عدد نسبت می دهیم. مثلا برای مقدار «خفیف» عدد ۱ و برای مقدار «متوسط» عدد ۲. بدین ترتیب، امکان مقایسه عددی این مقادیر به وجود خواهد آمد. ویژگی های این کلاس در جدول ۱۳ آورده شده است.
| ردیف | ویژگی | نوع داده | توضیحات |
|---|---|---|---|
| 1 | Value | Integer | مقدار عددی شمارشی-ترتیبی است که به یک مقدار نمادین نسبت داده می شود و نیازمندی مقایسه برای مقادیر نمادین را مرتفع می سازد. |
| 2 | Symbol | DO_CODED_TEXT | نمایش متنی نمادین این داده در شمارش، که ممکن است رشته ای باشد از نمادهای «+»، یا دیگر انواع شمارشی واژه ها. مثل: «sever»، «mild» و «moderate» یا حتی مجموعه های عددی ذکرشده در مشخصه value، مثل: «۱»، «۲»، «۳». برای مقادیر کدگذاری شده ی این ویژگی، از سیستم کدگذاری thritaEHR.ordinalTerm استفاده می شود و مقادیر «منفی» با کد ۰، «خفیف» با کد ۱، «متوسط» با کد ۲، «شدید» با کد ۳، «بسیار شدید» با کد ۴ به کار برده می شود. |
نحوه احراز هویت کاربر دیتاس
با توجه به اینکه تمامی خدمات ارائه شده نیازمند دسترسی به توکن خاص هر مرکز است این تابع به منظور ارائه توکن مورداستفاده قرار می گیرد. توکن دریافت شده توسط این تابع در بخش Header درخواست ها ثبت می گردد. خروجی این تابع توکن دسترسی ای با تاریخ انقضا مشخص است.
دسترسی به خدمات
دسترسی به خدمات ارائه شده از طریق آدرس زیر امکان پذیر است:
Base Url: Https://apigateway.behdasht.gov.ir
تمامی خدمات نیازمند توکن دسترسی هستند که در بخش هدر درخواست ها قرار می گیرند.
تابع دریافت توکن دیتاس
این تابع با استفاده از ورودی های مخصوص به هر کاربر، توکن دسترسی ای با تاریخ انقضا مشخص را برمی گرداند.
قالب ورودی
curl --location --request POST 'https://apigateway.behdasht.gov.ir/oauth/token' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--header 'Authorization: Basic {Your Authorization}' \
--data-urlencode 'grant_type=password' \
--data-urlencode 'username={Your Username}' \
--data-urlencode 'password={Your Password}'
جدول 14- پارامترهای ورودی تابع دریافت توکن دیتاس
| ردیف | نام پارامتر | نوع داده | الزامی | توضیحات |
|---|---|---|---|---|
| 1 | Authorization | basic auth | بله | شامل Client_Secret:Client_Id مخصوص به هر کاربر است که به صورت Base64 ارسال می شود. |
| 2 | grant_type | password | بله | مدل دسترسی |
| 3 | username | Your username | بله | نام کاربری شما |
| 4 | password | Your password | بله | رمز عبور شما |
نمونه خروجی موفق
{
"access_token": "c8abceda-aa31-4a7e-95c0-213e5709e6b6",
"token_type": "bearer",
"refresh_token": "84dc3bf1-7342-4c5e-adc3-c2304583ae02",
"expires_in": 359,
"scope": "trust read write"
}
جدول 15- پارامترهای خروجی Body تابع دریافت توکن دیتاس
| ردیف | نام پارامتر | نوع داده | توضیحات |
|---|---|---|---|
| 1 | access_token | String | توکن دسترسی |
| 2 | refresh_token | String | به روزرسانی توکن. |
| 3 | scope | String | محدوده دسترسی توکن |
| 4 | token_type | String | نوع توکن |
| 5 | expires_in | Int | مقدار زمان باقیمانده تا منقضی شدن توکن (بر اساس ثانیه. توکن دریافتی ۳۶۰ ثانیه اعتبار دارد |
جدول 16- پارامترهای خروجی Header تابع دریافت توکن دیتاس
| ردیف | نام پارامتر | نوع داده | توضیحات |
|---|---|---|---|
| 1 | requestId | String | شناسه پیگیری برای رهگیری درخواست |
پارامترهای خروجی Header همه توابع دیتاس مطابق جدول ۱۶ است.
تابع به روزرسانی توکن دیتاس
این تابع، توکن دریافتی از تابع دریافت توکن دیتاس را به روزرسانی می کند. پارامترهای خروجی Body تابع مطابق جدول ۱۷ است.
قالب ورودی
curl --location --request POST 'https://apigateway.behdasht.gov.ir/oauth/token' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--header 'Authorization: Basic *' \
--data-urlencode 'grant_type=password' \
--data-urlencode 'username=***' \
--data-urlencode 'password=***'
جدول 17- پارامترهای ورودی Header تابع به روزرسانی توکن دیتاس
| ردیف | نام پارامتر | نوع داده | الزامی | توضیحات |
|---|---|---|---|---|
| 1 | Authorization | basic auth | بله | شامل Client_Secret:Client_Id مخصوص به هر کاربر است که به صورت Base64 ارسال می شود. |
نمونه خروجی موفق
{
"access_token": "529d80a1-e8af-44b2-9dac-565cff4258f1",
"token_type": "bearer",
"refresh_token": "f998a112-b166-4177-8e2e-c2d89fedb352",
"expires_in": 359,
"scope": "trust read write"
}
جدول 18- پارامترهای خروجی Body تابع به روزرسانی توکن دیتاس
| ردیف | نام پارامتر | نوع داده | توضیحات |
|---|---|---|---|
| 1 | access_token | String | توکن دسترسی |
| 2 | refresh_token | String | بروز رسانی توکن |
| 3 | scope | String | محدوده دسترسی توکن |
| 4 | token_type | String | نوع توکن |
| 5 | expires_in | Int | مقدار زمان باقیمانده تا انقضا شدن توکن (بر اساس ثانیه) توکن دریافتی ۳۶۰ ثانیه اعتبار دارد. |
نحوه فراخوانی سرویس
ساختار فراخوانی همه توابع دیتاس یکسان بوده و در پیوست ۱ شرح داده شده است. مقادیر URL و obj هر تابع به صورت جداگانه تشریح خواهد شد.
تابع CreateAppointmentRequest
مقادیر موردنیاز جهت فراخوانی تابع CreateAppointmentRequest:
URL: https://apigateway.behdasht.gov.ir/api/client/apim/v1/sepas/gwHQS/CreateAppointmentRequest
obj:
{
"data": {
"committer": {
"FirstName": "string",
"LastName": "string",
"FullName": "string",
"identifier": {
"issuer": "string",
"assigner": "string",
"id": "string",
"type": "string"
},
"contactPoint": [
{
"mediumType": {
"value": "string",
"terminology_id": "string",
"coded_string": "string"
},
"usage": {
"value": "string",
"terminology_id": "string",
"coded_string": "string"
},
"detail": "string"
}
]
},
"systemID": {
"issuer": "string",
"assigner": "string",
"id": "string",
"type": "string"
},
"healthcareFacility": {
"name": "string",
"id": {
"issuer": "string",
"assigner": "string",
"id": "string",
"type": "string"
},
"internalID": "string",
"location": {
"nationalAreaCode": {
"value": "string",
"terminology_id": "string",
"coded_string": "string"
},
"country": {
"value": "string",
"terminology_id": "string",
"coded_string": "string"
},
"province": {
"value": "string",
"terminology_id": "string",
"coded_string": "string"
},
"city": {
"value": "string",
"terminology_id": "string",
"coded_string": "string"
},
"town": {
"value": "string",
"terminology_id": "string",
"coded_string": "string"
},
"district": {
"value": "string",
"terminology_id": "string",
"coded_string": "string"
},
"ruralArea": {
"value": "string",
"terminology_id": "string",
"coded_string": "string"
},
"village": {
"value": "string",
"terminology_id": "string",
"coded_string": "string"
}
},
"address": "string",
"internalAddress": "string",
"type": {
"value": "string",
"terminology_id": "string",
"coded_string": "string"
},
"latitude": 0,
"longitude": 0,
"departmentType": {
"value": "string",
"terminology_id": "string",
"coded_string": "string"
},
"departmentName": "string"
},
"patient": {
"Father_LastName": "string",
"Mother_FirstName": "string",
"Mother_LastName": "string",
"FullName": "string",
"NationalCode": "string",
"PostalCode": "string",
"Father_FirstName": "string",
"gender": {
"value": "string",
"terminology_id": "string",
"coded_string": "string"
},
"JobDescribtion": "string",
"FullAddress": "string",
"livingPlaceArea": {
"nationalAreaCode": {
"value": "string",
"terminology_id": "string",
"coded_string": "string"
},
"country": {
"value": "string",
"terminology_id": "string",
"coded_string": "string"
},
"province": {
"value": "string",
"terminology_id": "string",
"coded_string": "string"
},
"city": {
"value": "string",
"terminology_id": "string",
"coded_string": "string"
},
"town": {
"value": "string",
"terminology_id": "string",
"coded_string": "string"
},
"district": {
"value": "string",
"terminology_id": "string",
"coded_string": "string"
},
"ruralArea": {
"value": "string",
"terminology_id": "string",
"coded_string": "string"
},
"village": {
"value": "string",
"terminology_id": "string",
"coded_string": "string"
}
},
"IDCardNumber": "string",
"idIssueArea": {
"nationalAreaCode": {
"value": "string",
"terminology_id": "string",
"coded_string": "string"
},
"country": {
"value": "string",
"terminology_id": "string",
"coded_string": "string"
},
"province": {
"value": "string",
"terminology_id": "string",
"coded_string": "string"
},
"city": {
"value": "string",
"terminology_id": "string",
"coded_string": "string"
},
"town": {
"value": "string",
"terminology_id": "string",
"coded_string": "string"
},
"district": {
"value": "string",
"terminology_id": "string",
"coded_string": "string"
},
"ruralArea": {
"value": "string",
"terminology_id": "string",
"coded_string": "string"
},
"village": {
"value": "string",
"terminology_id": "string",
"coded_string": "string"
}
},
"HomeTel": "string",
"job": {
"value": "string",
"terminology_id": "string",
"coded_string": "string"
},
"MobileNumber": "string",
"LastName": "string",
"birthdateAccuracy": {
"value": "string",
"terminology_id": "string",
"coded_string": "string"
},
"FirstName": "string",
"otherIdentifier": [
{
"issuer": "string",
"assigner": "string",
"id": "string",
"type": "string"
}
],
"birthPlaceArea": {
"nationalAreaCode": {
"value": "string",
"terminology_id": "string",
"coded_string": "string"
},
"country": {
"value": "string",
"terminology_id": "string",
"coded_string": "string"
},
"province": {
"value": "string",
"terminology_id": "string",
"coded_string": "string"
},
"city": {
"value": "string",
"terminology_id": "string",
"coded_string": "string"
},
"town": {
"value": "string",
"terminology_id": "string",
"coded_string": "string"
},
"district": {
"value": "string",
"terminology_id": "string",
"coded_string": "string"
},
"ruralArea": {
"value": "string",
"terminology_id": "string",
"coded_string": "string"
},
"village": {
"value": "string",
"terminology_id": "string",
"coded_string": "string"
}
},
"religion": {
"value": "string",
"terminology_id": "string",
"coded_string": "string"
},
"otherContacts": [
{
"mediumType": {
"value": "string",
"terminology_id": "string",
"coded_string": "string"
},
"usage": {
"value": "string",
"terminology_id": "string",
"coded_string": "string"
},
"detail": "string"
}
],
"nationality": {
"value": "string",
"terminology_id": "string",
"coded_string": "string"
},
"birthDate": {
"year": 0,
"month": 0,
"day": 0
},
"birthTime": {
"hour": 0,
"minute": 0,
"second": 0
},
"maritalStatus": {
"value": "string",
"terminology_id": "string",
"coded_string": "string"
},
"educationLevel": {
"value": "string",
"terminology_id": "string",
"coded_string": "string"
},
"latitude": 0,
"longitude": 0
},
"insurer": {
"insurer": {
"value": "string",
"terminology_id": "string",
"coded_string": "string"
},
"insuranceBox": {
"value": "string",
"terminology_id": "string",
"coded_string": "string"
},
"insuranceBookletSerialNumber": "string",
"insuranceExpirationDate": {
"year": 0,
"month": 0,
"day": 0
},
"insuredNumber": "string",
"shebad": {
"issuer": "string",
"assigner": "string",
"id": "string",
"type": "string"
}
},
"serviceGroup": {
"value": "string",
"terminology_id": "string",
"coded_string": "string"
},
"services": [
{
"value": "string",
"terminology_id": "string",
"coded_string": "string"
}
],
"referringDoctor": {
"FirstName": "string",
"LastName": "string",
"FullName": "string",
"specialty": {
"value": "string",
"terminology_id": "string",
"coded_string": "string"
},
"identifier": {
"issuer": "string",
"assigner": "string",
"id": "string",
"type": "string"
},
"role": {
"value": "string",
"terminology_id": "string",
"coded_string": "string"
},
"contactPoint": [
{
"mediumType": {
"value": "string",
"terminology_id": "string",
"coded_string": "string"
},
"usage": {
"value": "string",
"terminology_id": "string",
"coded_string": "string"
},
"detail": "string"
}
]
},
"diagnosis": [
{
"diagnosis": {
"value": "string",
"terminology_id": "string",
"coded_string": "string"
},
"comment": "string",
"status": {
"value": "string",
"terminology_id": "string",
"coded_string": "string"
},
"diagnosisDate": {
"year": 0,
"month": 0,
"day": 0
},
"diagnosisTime": {
"hour": 0,
"minute": 0,
"second": 0
},
"severity": {
"symbol": {
"value": "string",
"terminology_id": "string",
"coded_string": "string"
},
"value": 0
}
}
],
"patientWeight": 0,
"patientHeight": 0,
"safety": {
"hasPacemaker": true,
"hasMetalImplant": true,
"hasSurgeryHistory": true,
"isPregnant": true,
"hasClaustrophobia": true,
"description": "string"
},
"contrast": {
"needContrast": true,
"hasAllergyToContrast": true,
"hasKidneyDisease": true,
"creatinineLevel": 0,
"description": "string"
},
"clinicalDescription": "string",
"preferredDate": {
"year": 0,
"month": 0,
"day": 0
},
"preferredTime": {
"hour": 0,
"minute": 0,
"second": 0
},
"quota": {
"value": "string",
"terminology_id": "string",
"coded_string": "string"
},
"identifiers": [
{
"issuer": "string",
"assigner": "string",
"id": "string",
"type": "string"
}
],
"priority": {
"value": "string",
"terminology_id": "string",
"coded_string": "string"
},
"description": "string"
}
}
جدول 19- پارامترهای ورودی Body تابع CreateAppointmentRequest
| ردیف | نام پارامتر | نوع داده | الزامی | توضیحات |
|---|---|---|---|---|
| 1 | committer | ProviderInfo | بله | اطلاعات کاربر ارسال کننده درخواست |
| 2 | systemID | DO_IDENTIFIER | بله | شناسه نرم افزار ارسال کننده |
| 3 | healthcareFacility | HealthOrganizationUnit | بله | مرکز ارسال کننده |
| 4 | patient | PersonInfo | بله | اطلاعات بیمار |
| 5 | insurer | Insurance | بله | اطلاعات بیمه بیمار |
| 6 | serviceGroup | DO_CODED_TEXT | بله | گروه خدمت پاراکلینیک |
| 7 | services | DO_CODED_TEXT[] | بله | لیست خدمات درخواست |
| 8 | referringDoctor | HealthcareProvider | بله | پزشک ارجاع دهنده |
| 9 | diagnosis | Diagnosis[] | بله | لیست تشخیص ها |
| 10 | patientWeight | Decimal | بله | وزن بیمار |
| 11 | patientHeight | Decimal | بله | قد بیمار |
| 12 | safety | Safety | بله | ایمنی بیمار |
| 13 | contrast | Contrast | بله | کانتراست |
| 14 | clinicalDescription | String | بله | توضیحات بالینی |
| 15 | preferredDate | DO_DATE | بله | تاریخ ترجیحی نوبت |
| 16 | preferredTime | DO_TIME | بله | زمان ترجیحی نوبت |
| 17 | quota | DO_CODED_TEXT | بله | نوع درخواست |
| 18 | identifiers | DO_IDENTIFIER[] | بله | شناسه های درخواست |
| 19 | priority | DO_CODED_TEXT | بله | اولویت درخواست |
| 20 | description | String | بله | توضیحات |
| شی committer | ||||
| 1 | FirstName | String | بله | نام |
| 2 | LastName | String | بله | نام خانوادگی |
| 3 | FullName | String | بله | نام کامل |
| 4 | identifier | DO_IDENTIFIER | بله | شناسه هویتی ارسال کننده به عنوان مثال کدملی |
| 5 | contactPoint | ElectronicContact[] | بله | اطلاعات تماس |
| شی contactPoint | ||||
| 1 | mediumType | DO_CODED_TEXT | بله | نوع رسانه یا کانال ارتباطی |
| 2 | usage | DO_CODED_TEXT | بله | نوع استفاده |
| 3 | detail | String | بله | جزئیات |
| شی healthcareFacility | ||||
| 1 | name | String | بله | نام |
| 2 | id | DO_IDENTIFIER | بله | شناسه |
| 3 | internalID | String | بله | شناسه داخلی |
| 4 | location | Object | بله | مکان |
| 5 | address | String | بله | آدرس |
| 6 | internalAddress | String | بله | آدرس داخلی |
| 7 | type | DO_CODED_TEXT | بله | نوع |
| 8 | latitude | Double | بله | عرض جغرافیایی |
| 9 | Longitude | Double | بله | طول جغرافیایی |
| 10 | departmentType | DO_CODED_TEXT | بله | نوع بخش |
| 11 | departmentName | String | بله | نام بخش |
| شی location | ||||
| 1 | nationalAreaCode | DO_CODED_TEXT | بله | کد ملی منطقه |
| 2 | country | DO_CODED_TEXT | بله | کشور |
| 3 | province | DO_CODED_TEXT | بله | استان |
| 4 | city | DO_CODED_TEXT | بله | شهر |
| 5 | town | DO_CODED_TEXT | بله | شهرستان |
| 6 | district | DO_CODED_TEXT | بله | بخش / ناحیه |
| 7 | ruralArea | DO_CODED_TEXT | بله | منطقه روستایی |
| 8 | village | DO_CODED_TEXT | بله | روستا |
| شی patient | ||||
| 1 | Father_LastName | String | بله | نام خانوادگی پدر |
| 2 | Mother_FirstName | String | بله | نام مادر |
| 3 | Mother_LastName | String | بله | نام خانوادگی مادر |
| 4 | FullName | String | بله | نام کامل |
| 5 | NationalCode | String | بله | کد ملی |
| 6 | PostalCode | String | بله | کد پستی |
| 7 | Father_FirstName | String | بله | نام پدر |
| 8 | gender | DO_CODED_TEXT | بله | جنسیت |
| 9 | JobDescribtion | String | بله | توضیح شغل |
| 10 | FullAddress | String | بله | آدرس |
| 11 | livingPlaceArea | HighLevelArea | بله | منطقه محل زندگی |
| 12 | IDCardNumber | String | بله | شماره کارت شناسایی |
| 13 | idIssueArea | HighLevelArea | بله | محل صادرکننده کارت شناسایی |
| 14 | HomeTel | String | بله | شماره منزل |
| 15 | job | DO_CODED_TEXT | بله | شغل |
| 16 | MobileNumber | String | بله | شماره موبایل |
| 17 | LastName | String | بله | نام خانوادگی |
| 18 | birthdateAccuracy | DO_CODED_TEXT | بله | میزان دقت تاریخ تولد |
| 19 | FirstName | String | بله | نام |
| 20 | otherIdentifier | DO_IDENTIFIER[] | بله | سایر شناسه ها |
| 21 | birthPlaceArea | HighLevelArea | بله | محل تولد |
| 22 | religion | DO_CODED_TEXT | بله | مذهب |
| 23 | otherContacts | ElectronicContact[] | بله | سایر اطلاعات تماس |
| 24 | birthDate | DO_DATE | بله | تاریخ تولد |
| 25 | birthTime | DO_TIME | بله | زمان تولد |
| 26 | latitude | Double | بله | عرض جغرافیایی |
| 27 | longitude | Double | بله | طول جغرافیایی |
| 28 | nationality | DO_CODED_TEXT | بله | ملیت |
| 29 | maritalStatus | DO_CODED_TEXT | بله | وضعیت تاهل |
| 30 | educationLevel | DO_CODED_TEXT | بله | سطح تحصیلات |
| شی livingPlaceArea | ||||
| 1 | nationalAreaCode | DO_CODED_TEXT | بله | کد ملی منطقه |
| 2 | country | DO_CODED_TEXT | بله | کشور |
| 3 | province | DO_CODED_TEXT | بله | استان |
| 4 | city | DO_CODED_TEXT | بله | شهر |
| 5 | town | DO_CODED_TEXT | بله | شهرستان |
| 6 | district | DO_CODED_TEXT | بله | بخش / ناحیه |
| 7 | ruralArea | DO_CODED_TEXT | بله | منطقه روستایی |
| 8 | village | DO_CODED_TEXT | بله | روستا |
| شی idIssueArea | ||||
| 1 | nationalAreaCode | DO_CODED_TEXT | بله | کد ملی منطقه |
| 2 | country | DO_CODED_TEXT | بله | کشور |
| 3 | province | DO_CODED_TEXT | بله | استان |
| 4 | city | DO_CODED_TEXT | بله | شهر |
| 5 | town | DO_CODED_TEXT | بله | شهرستان |
| 6 | district | DO_CODED_TEXT | بله | بخش / ناحیه |
| 7 | ruralArea | DO_CODED_TEXT | بله | منطقه روستایی |
| 8 | village | DO_CODED_TEXT | بله | روستا |
| شی birthPlaceArea | ||||
| 1 | nationalAreaCode | DO_CODED_TEXT | بله | کد ملی منطقه |
| 2 | country | DO_CODED_TEXT | بله | کشور |
| 3 | province | DO_CODED_TEXT | بله | استان |
| 4 | city | DO_CODED_TEXT | بله | شهر |
| 5 | town | DO_CODED_TEXT | بله | شهرستان |
| 6 | district | DO_CODED_TEXT | بله | بخش / ناحیه |
| 7 | ruralArea | DO_CODED_TEXT | بله | منطقه روستایی |
| 8 | village | DO_CODED_TEXT | بله | روستا |
| شی otherContacts | ||||
| 1 | mediumType | DO_CODED_TEXT | بله | نوع رسانه یا کانال ارتباطی |
| 2 | usage | DO_CODED_TEXT | بله | نوع استفاده |
| 3 | detail | String | بله | جزئیات |
| شی insurer | ||||
| 1 | insurer | DO_CODED_TEXT | بله | بیمه گر |
| 2 | insuranceBox | DO_CODED_TEXT | بله | صندوق بیمه |
| 3 | insuranceBookletSerialNumber | String | بله | شماره سریال دفترچه بیمه |
| 4 | insuranceExpirationDate | DO_DATE | بله | تاریخ اعتبار بیمه |
| 5 | insuredNumber | String | بله | شماره بیمه |
| 6 | shebad | DO_IDENTIFIER | بله | شناسه شباد |
| شی referringDoctor | ||||
| 1 | FirstName | String | بله | نام |
| 2 | LastName | String | بله | نام خانوادگی |
| 3 | FullName | String | بله | نام کامل |
| 4 | specialty | DO_CODED_TEXT | بله | تخصص |
| 5 | identifier | DO_IDENTIFIER | بله | شناسه ارائه دهنده خدمت |
| 6 | role | DO_CODED_TEXT | بله | نقش ارائه دهنده خدمت |
| 7 | contactPoint | ElectronicContact[] | بله | اطلاعات تماس |
| شی contactPoint | ||||
| 1 | mediumType | DO_CODED_TEXT | بله | نوع رسانه یا کانال ارتباطی |
| 2 | usage | DO_CODED_TEXT | بله | نوع استفاده |
| 3 | detail | String | بله | جزئیات |
| شی diagnosis | ||||
| 1 | diagnosis | DO_CODED_TEXT | بله | تشخیص |
| 2 | comment | String | بله | نظر |
| 3 | status | DO_CODED_TEXT | بله | وضعیت |
| 4 | diagnosisDate | DO_DATE | بله | تاریخ تشخیص |
| 5 | diagnosisTime | DO_TIME | بله | زمان تشخیص |
| 6 | severity | DO_ORDINAL | بله | شدت |
| شی severity | ||||
| 1 | symbol | DO_CODED_TEXT | بله | نماد |
| 2 | value | Integer | بله | مقدار |
| شی safety | ||||
| 1 | hasPacemaker | Boolean | بله | آیا بیمار تنظیم کننده ضربان قلب دارد؟ |
| 2 | hasMetalImplant | Boolean | بله | آیا بیمار ایمپلنت یا جسم فیزیکی در بدن دارد؟ |
| 3 | hasSurgeryHistory | Boolean | بله | آیا بیمار سابقه جراحی دارد؟ |
| 4 | isPregnant | Boolean | بله | آیا باردار است؟ |
| 5 | hasClaustrophobia | Boolean | بله | آیا بیمار ترس از تنگنا هراسی / ترس از فضا بسته دارد؟ |
| 6 | description | String | بله | توضیحات |
| شی contrast | ||||
| 1 | needContrast | Boolean | بله | آیا بیمار نیاز به تزریق دارد؟ |
| 2 | hasAllergyToContrast | Boolean | بله | آیا بیمار به ماده تزریقی حساسیت دارد؟ |
| 3 | hasKidneyDisease | Boolean | بله | آیا بیمار، بیماری کلیوی دارد؟ |
| 4 | creatinineLevel | Decimal | بله | سطح کراتینین در خون |
| 5 | description | String | بله | توضیحات |
نمونه خروجی موفق
{
"result": {
"data": {
"success": true,
"data": {
"trid": "1:0da25031-3524-4f6e-b260-b2027847e5ab"
},
"error": null,
"errorcode": null,
"exceptionerror": null,
"innerexceptionerror": null,
"id": null
},
"status": {
"statusCode": 200
}
},
"status": {
"statusCode": 200,
"message": "OK"
}
}
جدول 20- پارامترهای خروجی Body تابع CreateAppointmentRequest
| ردیف | نام پارامتر | نوع داده | توضیحات |
|---|---|---|---|
| 1 | data | Object | داده |
| شی data | |||
| 1 | trid | String | کد رهگیری درخواست |
تابع GetAppointmentRequest
مقادیر موردنیاز جهت فراخوانی تابع GetAppointmentRequest:
URL: https://apigateway.behdasht.gov.ir/api/client/apim/v1/sepas/gwHQS/GetAppointmentRequest
obj:
{
"data": {
"trid": "1:0da25031-3524-4f6e-b260-b2027847e5ab"
}
}
جدول 21- پارامترهای ورودی Body تابع GetAppointmentRequest
| ردیف | نام پارامتر | نوع داده | الزامی | توضیحات |
|---|---|---|---|---|
| 1 | trid | String | بله | کد رهگیری درخواست |
نمونه خروجی موفق
{
"result": {
"data": {
"success": true,
"data": {
"committer": {
"FirstName": "مهدی",
"LastName": "احمدی",
"FullName": "مهدی احمدی" ,
"identifier": {
"issuer": "National_Org_Civil_Reg",
"assigner": "National_Org_Civil_Reg",
"id": "0007818138",
"type": "National_Org_Civil_Reg"
},
"contactPoint": [
{
"mediumType": {
"value": "phone",
"terminology_id": "contact-medium",
"coded_string": "PHONE"
},
"usage": {
"value": "work",
"terminology_id": "contact-usage",
"coded_string": "WORK"
},
"detail": "02188776655"
}
]
},
"systemID": {
"issuer": "MOHME_IT",
"assigner": "MOHME_IT",
"id": "36432483-98aa-40d5-abec-a873c55528ac",
"type": "System_ID"
},
"healthcareFacility": {
"name": "بیمارستان تستی" ,
"id": {
"issuer": "MOHME_IT",
"assigner": "MOHME_IT",
"id": "71062B04-6CDE-4DBD-976D-04E216F2F8B3",
"type": "Org_ID"
},
"internalID": "string",
"location": {
"nationalAreaCode": {
"value": "string",
"terminology_id": "string",
"coded_string": "string"
},
"country": {
"value": "string",
"terminology_id": "string",
"coded_string": "string"
},
"province": {
"value": "string",
"terminology_id": "string",
"coded_string": "string"
},
"city": {
"value": "string",
"terminology_id": "string",
"coded_string": "string"
},
"town": {
"value": "string",
"terminology_id": "string",
"coded_string": "string"
},
"district": {
"value": "string",
"terminology_id": "string",
"coded_string": "string"
},
"ruralArea": {
"value": "string",
"terminology_id": "string",
"coded_string": "string"
},
"village": {
"value": "string",
"terminology_id": "string",
"coded_string": "string"
}
},
"address": "string",
"internalAddress": "string",
"type": {
"value": "string",
"terminology_id": "string",
"coded_string": "string"
},
"latitude": 10254.55555,
"longitude": 55.6666667,
"departmentType": {
"value": "string",
"terminology_id": "string",
"coded_string": "string"
},
"departmentName": "string"
},
"patient": {
"Father_LastName": "حسین",
"Mother_FirstName": "فاطمه",
"Mother_LastName": "کریمی",
"FullName": "علی رضایی" ,
"NationalCode": "2549912470",
"PostalCode": "1485736912",
"Father_FirstName": "حسین",
"gender": {
"value": "مرد",
"terminology_id": "thritaEHR.gender",
"coded_string": "1"
},
"JobDescribtion": "کارمند بانک" ,
"FullAddress": " خیابان سرو غربی، پلاک 54",
"livingPlaceArea": {
"nationalAreaCode": {
"value": "اهواز",
"terminology_id": "countryDivisions",
"coded_string": "70020"
},
"country": {
"value": "IRAN, ISLAMIC REPUBLIC OF",
"terminology_id": "ISO_3166-1",
"coded_string": "IR"
},
"province": {
"value": "خوزستان",
"terminology_id": "countryDivisions",
"coded_string": "05"
},
"city": {
"value": "اهواز",
"terminology_id": "countryDivisions",
"coded_string": "70020"
},
"town": null,
"district": null,
"ruralArea": null,
"village": null
},
"IDCardNumber": "45789321",
"idIssueArea": null,
"HomeTel": "22334455",
"job": null,
"MobileNumber": "09381234567",
"LastName": "رضایی",
"birthdateAccuracy": null,
"FirstName": "علی",
"otherIdentifier": null,
"birthPlaceArea": null,
"religion": null,
"otherContacts": null,
"nationality": {
"value": "IRAN, ISLAMIC REPUBLIC OF",
"terminology_id": "ISO_3166-1",
"coded_string": "IR"
},
"birthDate": {
"year": 1988,
"month": 5,
"day": 14
},
"birthTime": null,
"maritalStatus": {
"value": "مجرد",
"terminology_id": "thritaEHR.maritalStatus",
"coded_string": "3"
},
"educationLevel": {
"value": "کارشناسی",
"terminology_id": "education",
"coded_string": "BSC"
},
"latitude": 35.7746,
"longitude": 51.3737
},
"insurer": {
"insurer": {
"value": "تامین اجتماعی" ,
"terminology_id": "thritaEHR.Insurer",
"coded_string": "1"
},
"insuranceBox": {
"value": "بیمه اجباری" ,
"terminology_id": "thritaEHR.InsuranceBox",
"coded_string": "1"
},
"insuranceBookletSerialNumber": "784512369",
"insuranceExpirationDate": {
"year": 1406,
"month": 12,
"day": 30
},
"insuredNumber": "4578963210",
"shebad": {
"issuer": "TAMIN",
"assigner": "TAMIN",
"id": "998877",
"type": "HID"
}
},
"serviceGroup": {
"value": "اسکن استخوان" ,
"terminology_id": "thrita.EHR",
"coded_string": "1.2.6.37.2"
},
"services": [
{
"value": "MRI Brain with Contrast",
"terminology_id": "RVU3",
"coded_string": "70553"
},
{
"value": "MRI Cervical Spine",
"terminology_id": "RVU3",
"coded_string": "72220"
}
],
"referringDoctor": {
"FirstName": "دکتر محمد" ,
"LastName": "حسینی",
"FullName": "دکتر محمد حسینی" ,
"specialty": {
"value": "متخصص بیماریهای داخلی" ,
"terminology_id": "thritaEHR.specialty",
"coded_string": "171166"
},
"identifier": {
"issuer": "Med_Council",
"assigner": "Med_Council",
"id": "129290",
"type": "Med_ID"
},
"role": {
"value": null,
"terminology_id": null,
"coded_string": null
},
"contactPoint": [
{
"mediumType": {
"value": null,
"terminology_id": null,
"coded_string": null
},
"usage": {
"value": null,
"terminology_id": null,
"coded_string": null
},
"detail": "02166554433"
}
]
},
"diagnosis": [
{
"diagnosis": {
"value": "Chronic Headache",
"terminology_id": "ICD10",
"coded_string": "R51"
},
"comment": "بیمار از سردردهای مکرر در ناحیه پیشانی شکایت دارد.",
"status": {
"value": "تشخیص نهایی" ,
"terminology_id": "thritaEHR.daignosis.status",
"coded_string": "3"
},
"diagnosisDate": {
"year": 1404,
"month": 6,
"day": 10
},
"diagnosisTime": {
"hour": null,
"minute": null,
"second": null
},
"severity": {
"symbol": {
"value": "moderate",
"terminology_id": "severity",
"coded_string": "MOD"
},
"value": 5
}
}
],
"patientWeight": 82,
"patientHeight": 178,
"safety": {
"hasPacemaker": false,
"hasMetalImplant": false,
"hasSurgeryHistory": true,
"isPregnant": false,
"hasClaustrophobia": true,
"description": "بیمار سابقه جراحی دیسک کمر در سال ۱۳۹۹ دارد."
},
"contrast": {
"needContrast": true,
"hasAllergyToContrast": false,
"hasKidneyDisease": false,
"creatinineLevel": 1.0,
"description": "آزمایش کراتینین قبل از MRI انجام شده و در محدوده طبیعی است."
},
"clinicalDescription": "بیمار مرد ۷۳ ساله با سابقه سردردهای مزمن و درد گردن. پزشک درخواست MRI مغز و ستون فقرات گردنی جهت بررسی ضایعات احتمالی داده است.",
"preferredDate": {
"year": 2026,
"month": 6,
"day": 20
},
"preferredTime": {
"hour": 10,
"minute": 30,
"second": 0
},
"quota": {
"value": "نظام ارجاع" ,
"terminology_id": "HQS",
"coded_string": "101"
},
"identifiers": [
{
"issuer": "TAMIN",
"assigner": "TAMIN",
"id": "2026-0004765",
"type": "Prescription_ID"
}
],
"priority": {
"value": "عادی",
"terminology_id": "HQS.Priority",
"coded_string": "50"
},
"description": "در صورت امکان در دستگاه MRI با قدرت 1.5T یا بالاتر انجام شود."
},
"error": null,
"errorcode": null,
"exceptionerror": null,
"innerexceptionerror": null,
"id": null
},
"status": {
"statusCode": 200
}
},
"status": {
"statusCode": 200,
"message": "OK"
}
}
جدول 22- پارامترهای خروجی Body تابع GetAppointmentRequest
| ردیف | نام پارامتر | نوع داده | الزامی | توضیحات |
|---|---|---|---|---|
| 1 | committer | ProviderInfo | بله | اطلاعات کاربر ارسال کننده درخواست |
| 2 | systemID | DO_IDENTIFIER | بله | شناسه نرم افزار ارسال کننده |
| 3 | healthcareFacility | HealthOrganizationUnit | بله | مرکز ارسال کننده |
| 4 | patient | PersonInfo | بله | اطلاعات بیمار |
| 5 | insurer | Insurance | بله | اطلاعات بیمه بیمار |
| 6 | serviceGroup | DO_CODED_TEXT | بله | گروه خدمت پاراکلینیک |
| 7 | services | DO_CODED_TEXT[] | بله | لیست خدمات درخواست |
| 8 | referringDoctor | HealthcareProvider | بله | پزشک ارجاع دهنده |
| 9 | diagnosis | Diagnosis[] | بله | لیست تشخیص ها |
| 10 | patientWeight | Decimal | بله | وزن بیمار |
| 11 | patientHeight | Decimal | بله | قد بیمار |
| 12 | safety | Safety | بله | ایمنی بیمار |
| 13 | contrast | Contrast | بله | کانتراست |
| 14 | clinicalDescription | String | بله | توضیحات بالینی |
| 15 | preferredDate | DO_DATE | بله | تاریخ ترجیحی نوبت |
| 16 | preferredTime | DO_TIME | بله | زمان ترجیحی نوبت |
| 17 | quota | DO_CODED_TEXT | بله | نوع درخواست |
| 18 | identifiers | DO_IDENTIFIER[] | بله | شناسه های درخواست |
| 19 | priority | DO_CODED_TEXT | بله | اولویت درخواست |
| 20 | description | String | بله | توضیحات |
| شی committer | ||||
| 1 | FirstName | String | بله | نام |
| 2 | LastName | String | بله | نام خانوادگی |
| 3 | FullName | String | بله | نام کامل |
| 4 | identifier | DO_IDENTIFIER | بله | شناسه هویتی ارسال کننده به عنوان مثال کدملی |
| 5 | contactPoint | ElectronicContact[] | بله | اطلاعات تماس |
| شی contactPoint | ||||
| 1 | mediumType | DO_CODED_TEXT | بله | نوع رسانه یا کانال ارتباطی |
| 2 | usage | DO_CODED_TEXT | بله | نوع استفاده |
| 3 | detail | String | بله | جزئیات |
| شی healthcareFacility | ||||
| 1 | name | String | بله | نام |
| 2 | id | DO_IDENTIFIER | بله | شناسه |
| 3 | internalID | String | بله | شناسه داخلی |
| 4 | location | Object | بله | مکان |
| 5 | address | String | بله | آدرس |
| 6 | internalAddress | String | بله | آدرس داخلی |
| 7 | type | DO_CODED_TEXT | بله | نوع |
| 8 | latitude | Double | بله | عرض جغرافیایی |
| 9 | Longitude | Double | بله | طول جغرافیایی |
| 10 | departmentType | DO_CODED_TEXT | بله | نوع بخش |
| 11 | departmentName | String | بله | نام بخش |
| شی location | ||||
| 1 | nationalAreaCode | DO_CODED_TEXT | بله | کد ملی منطقه |
| 2 | country | DO_CODED_TEXT | بله | کشور |
| 3 | province | DO_CODED_TEXT | بله | استان |
| 4 | city | DO_CODED_TEXT | بله | شهر |
| 5 | town | DO_CODED_TEXT | بله | شهرستان |
| 6 | district | DO_CODED_TEXT | بله | بخش / ناحیه |
| 7 | ruralArea | DO_CODED_TEXT | بله | منطقه روستایی |
| 8 | village | DO_CODED_TEXT | بله | روستا |
| شی patient | ||||
| 1 | Father_LastName | String | بله | نام خانوادگی پدر |
| 2 | Mother_FirstName | String | بله | نام مادر |
| 3 | Mother_LastName | String | بله | نام خانوادگی مادر |
| 4 | FullName | String | بله | نام کامل |
| 5 | NationalCode | String | بله | کد ملی |
| 6 | PostalCode | String | بله | کد پستی |
| 7 | Father_FirstName | String | بله | نام پدر |
| 8 | gender | DO_CODED_TEXT | بله | جنسیت |
| 9 | JobDescribtion | String | بله | توضیح شغل |
| 10 | FullAddress | String | بله | آدرس |
| 11 | livingPlaceArea | HighLevelArea | بله | منطقه محل زندگی |
| 12 | IDCardNumber | String | بله | شماره کارت شناسایی |
| 13 | idIssueArea | HighLevelArea | بله | محل صادرکننده کارت شناسایی |
| 14 | HomeTel | String | بله | شماره منزل |
| 15 | job | DO_CODED_TEXT | بله | شغل |
| 16 | MobileNumber | String | بله | شماره موبایل |
| 17 | LastName | String | بله | نام خانوادگی |
| 18 | birthdateAccuracy | DO_CODED_TEXT | بله | میزان دقت تاریخ تولد |
| 19 | FirstName | String | بله | نام |
| 20 | otherIdentifier | DO_IDENTIFIER[] | بله | سایر شناسه ها |
| 21 | birthPlaceArea | HighLevelArea | بله | محل تولد |
| 22 | religion | DO_CODED_TEXT | بله | مذهب |
| 23 | otherContacts | ElectronicContact[] | بله | سایر اطلاعات تماس |
| 24 | birthDate | DO_DATE | بله | تاریخ تولد |
| 25 | birthTime | DO_TIME | بله | زمان تولد |
| 26 | latitude | Double | بله | عرض جغرافیایی |
| 27 | longitude | Double | بله | طول جغرافیایی |
| 28 | nationality | DO_CODED_TEXT | بله | ملیت |
| 29 | maritalStatus | DO_CODED_TEXT | بله | وضعیت تاهل |
| 30 | educationLevel | DO_CODED_TEXT | بله | سطح تحصیلات |
| شی livingPlaceArea | ||||
| 1 | nationalAreaCode | DO_CODED_TEXT | بله | کد ملی منطقه |
| 2 | country | DO_CODED_TEXT | بله | کشور |
| 3 | province | DO_CODED_TEXT | بله | استان |
| 4 | city | DO_CODED_TEXT | بله | شهر |
| 5 | town | DO_CODED_TEXT | بله | شهرستان |
| 6 | district | DO_CODED_TEXT | بله | بخش / ناحیه |
| 7 | ruralArea | DO_CODED_TEXT | بله | منطقه روستایی |
| 8 | village | DO_CODED_TEXT | بله | روستا |
| شی idIssueArea | ||||
| 1 | nationalAreaCode | DO_CODED_TEXT | بله | کد ملی منطقه |
| 2 | country | DO_CODED_TEXT | بله | کشور |
| 3 | province | DO_CODED_TEXT | بله | استان |
| 4 | city | DO_CODED_TEXT | بله | شهر |
| 5 | town | DO_CODED_TEXT | بله | شهرستان |
| 6 | district | DO_CODED_TEXT | بله | بخش / ناحیه |
| 7 | ruralArea | DO_CODED_TEXT | بله | منطقه روستایی |
| 8 | village | DO_CODED_TEXT | بله | روستا |
| شی birthPlaceArea | ||||
| 1 | nationalAreaCode | DO_CODED_TEXT | بله | کد ملی منطقه |
| 2 | country | DO_CODED_TEXT | بله | کشور |
| 3 | province | DO_CODED_TEXT | بله | استان |
| 4 | city | DO_CODED_TEXT | بله | شهر |
| 5 | town | DO_CODED_TEXT | بله | شهرستان |
| 6 | district | DO_CODED_TEXT | بله | بخش / ناحیه |
| 7 | ruralArea | DO_CODED_TEXT | بله | منطقه روستایی |
| 8 | village | DO_CODED_TEXT | بله | روستا |
| شی otherContacts | ||||
| 1 | mediumType | DO_CODED_TEXT | بله | نوع رسانه یا کانال ارتباطی |
| 2 | usage | DO_CODED_TEXT | بله | نوع استفاده |
| 3 | detail | String | بله | جزئیات |
| شی insurer | ||||
| 1 | insurer | DO_CODED_TEXT | بله | بیمه گر |
| 2 | insuranceBox | DO_CODED_TEXT | بله | صندوق بیمه |
| 3 | insuranceBookletSerialNumber | String | بله | شماره سریال دفترچه بیمه |
| 4 | insuranceExpirationDate | DO_DATE | بله | تاریخ اعتبار بیمه |
| 5 | insuredNumber | String | بله | شماره بیمه |
| 6 | shebad | DO_IDENTIFIER | بله | شناسه شباد |
| شی referringDoctor | ||||
| 1 | FirstName | String | بله | نام |
| 2 | LastName | String | بله | نام خانوادگی |
| 3 | FullName | String | بله | نام کامل |
| 4 | specialty | DO_CODED_TEXT | بله | تخصص |
| 5 | identifier | DO_IDENTIFIER | بله | شناسه ارائه دهنده خدمت |
| 6 | role | DO_CODED_TEXT | بله | نقش ارائه دهنده خدمت |
| 7 | contactPoint | ElectronicContact[] | بله | اطلاعات تماس |
| شی contactPoint | ||||
| 1 | mediumType | DO_CODED_TEXT | بله | نوع رسانه یا کانال ارتباطی |
| 2 | usage | DO_CODED_TEXT | بله | نوع استفاده |
| 3 | detail | String | بله | جزئیات |
| شی diagnosis | ||||
| 1 | diagnosis | DO_CODED_TEXT | بله | تشخیص |
| 2 | comment | String | بله | نظر |
| 3 | status | DO_CODED_TEXT | بله | وضعیت |
| 4 | diagnosisDate | DO_DATE | بله | تاریخ تشخیص |
| 5 | diagnosisTime | DO_TIME | بله | زمان تشخیص |
| 6 | severity | DO_ORDINAL | بله | شدت |
| شی severity | ||||
| 1 | symbol | DO_CODED_TEXT | بله | نماد |
| 2 | value | Integer | بله | مقدار |
| شی safety | ||||
| 1 | hasPacemaker | Boolean | بله | آیا بیمار تنظیم کننده ضربان قلب دارد؟ |
| 2 | hasMetalImplant | Boolean | بله | آیا بیمار ایمپلنت یا جسم فیزیکی در بدن دارد؟ |
| 3 | hasSurgeryHistory | Boolean | بله | آیا بیمار سابقه جراحی دارد؟ |
| 4 | isPregnant | Boolean | بله | آیا باردار است؟ |
| 5 | hasClaustrophobia | Boolean | بله | آیا بیمار ترس از تنگنا هراسی / ترس از فضا بسته دارد؟ |
| 6 | description | String | بله | توضیحات |
| شی contrast | ||||
| 1 | needContrast | Boolean | بله | آیا بیمار نیاز به تزریق دارد؟ |
| 2 | hasAllergyToContrast | Boolean | بله | آیا بیمار به ماده تزریقی حساسیت دارد؟ |
| 3 | hasKidneyDisease | Boolean | بله | آیا بیمار، بیماری کلیوی دارد؟ |
| 4 | creatinineLevel | Decimal | بله | سطح کراتینین در خون |
| 5 | description | String | بله | توضیحات |
پیوست ها
پیوست 1 – ساختار فراخوانی توابع دیتاس (CURL)
ساختار فراخوانی توابع دیتاس (CURL) مشابه قالب زیر است:
curl --location --request POST '{URL}' \
--header 'pid: {pid}' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {ditas token}' \
--data-raw '{obj}'
جدول 23- ساختار فراخوانی توابع دیتاس (CURL)
| ردیف | نام پارامتر | نوع داده | توضیحات |
|---|---|---|---|
| 1 | URL | String | نوع متد فراخوانی برای همه توابع Post است. مقدار URL به ازای توابع مختلف متفاوت است (به توضیحات مربوط به هر تابع در متن سند مراجعه نمایید.) |
| 2 | Content-Type | String | نوع محتوای ورودی. مقدار آن همیشه application/json است |
| 3 | pid | String | شناسه بسته سرویس ها. مقدار آن در فایل اطلاعات دسترسی کاربر موجود است. |
| 4 | Authorization | String | شناسه احراز هویت مقدار بازگشتی از تابع دریافت یا به روزرسانی توکن است که به صورت Bearer استفاده می شود. |
| 5 | obj | Json | پارامتر(های) ورودی تابع فراخوانی شده (به توضیحات مربوط به هر تابع در متن سند مراجعه نمایید.) |
پیوست 2 – ساختار خروجی فراخوانی توابع دیتاس
فراخوانی هر یک از توابع دیتاس (به استثنا توابع دریافت و به روزرسانی توکن دیتاس)، منجر به دریافت خروجی با قالب زیر می شود:
{
"result": {
"data": {obj},
"status": {
"statusCode": XXX
}
},
"status": {
"statusCode": XXX,
"message": "message"
}
}
جدول 24- ساختار خروجی Body توابع دیتاس
| ردیف | نام پارامتر | نوع داده | توضیحات |
|---|---|---|---|
| 1 | result.data | Object | پارامتر(های) خروجی تابع فراخوانی شده (به توضیحات مربوط به هر تابع در متن سند مراجعه نمایید.) |
| 2 | result.status.statusCode | Integer | کد وضعیت پاسخ مربوط به سرویس دهنده |
| 3 | status | Object | وضعیت پاسخ دیتاس نسبت به فراخوانی تابع، شامل کد وضعیت (statusCode) و پیام (message) مطابق جدول ۲۵ |
پیوست 3 – کدهای وضعیت پاسخ دیتاس نسبت به فراخوانی توابع
در جدول ۲۵ فهرست کدهای وضعیت پاسخ دیتاس نسبت به فراخوانی توابع، متن پیام و توضیحات مربوطه آمده است.
جدول 25- کدهای وضعیت پاسخ دیتاس نسبت به فراخوانی توابع
| ردیف | کد وضعیت | پیام | توضیحات |
|---|---|---|---|
| 1 | 200 | OK! | عملیات با موفقیت انجام شد |
| 2 | 400 | Bad request. | خطایی در داده های ورودی وجود دارد. |
| 3 | 401 | Credential is not valid! | نام کاربری و یا کلمه عبور نادرست است |
| 4 | 404 | Not Found! | پاسخی برای درخواست موردنظر یافت نشد |
| 5 | 429 | Too many requests or Access denied! | درخواست ها بیش از حد مجاز است / مجوز استفاده از سرویس صادر نشده است |
| 6 | 499 | Client Closed Request! | در هنگام پردازش، کاربر ارتباط را قطع کرده است |
| 7 | 500 | Internal server error! | بروز خطا در انجام عملیات توسط سرور |
| 8 | 503 | Service provider error! | بروز خطا در انجام عملیات توسط فراهم کننده سرویس |
| 9 | 504 | Backend timeout! | سرویس دهنده پاسخگو نیست |
| 10 | 520 | Unknown error! | خطای نامشخص |
پیوست 4 – ترمینولوژی ThritaEHR
جدول 26- ترمینولوژی ThritaEHR
| ردیف | کد | مقدار |
|---|---|---|
| 1 | 1.2.6.17.5 | ABR |
| 2 | 1.2.6.36.3 | IgE اختصاصی |
| 3 | 1.2.6.17.4 | OAE |
| 4 | 1.2.6.10.1 | OCT |
| 5 | 1.2.6.35.5 | pH متری مری |
| 6 | 1.2.6.26.1 | آزمایشات بیوشیمی |
| 7 | 1.2.6.33.9 | آنژیوگرافی |
| 8 | 1.2.6.17.2 | ادیومتری |
| 9 | 1.2.6.4.1 | اسپیرومتری |
| 10 | 1.2.6.16.6 | استرس اکو |
| 11 | 1.2.6.37.2 | اسکن استخوان (پزشکی هستهای) |
| 12 | 1.2.6.37.1 | اسکن تیروئید (پزشکی هستهای) |
| 13 | 1.2.6.37.4 | اسکن قلب (پزشکی هستهای) |
| 14 | 1.2.6.37.3 | اسکن کلیه (پزشکی هستهای) |
| 15 | 1.2.6.33.11 | اسکنهای پزشکی هستهای (SPECT / Bone scan / Thyroid scan) |
| 16 | 1.2.6.16.5 | اکوکاردیوگرافی |
| 17 | 1.2.6.33.4 | امآرآی (MRI) |
| 18 | 1.2.6.35.1 | اندوسکوپی |
| 19 | 1.2.6.26.4 | ایمنیشناسی و سرولوژی |
| 20 | 1.2.6.27.4 | ایمونوهیستوشیمی |
| 21 | 1.2.6.27.3 | بیوپسی |
| 22 | 1.2.6.27.1 | پاتولوژی |
| 23 | 1.2.6.26.6 | پاتولوژی آزمایشگاهی |
| 24 | 1.2.6.10.4 | پاکیمتری |
| 25 | 1.2.6.33.10 | پت اسکن (PET) |
| 26 | 1.2.6.34.3 | پتانسیلهای برانگیخته (EP / VEP / BAEP) |
| 27 | 1.2.6.10.2 | پریمتری (میدان بینایی) |
| 28 | 1.2.6.37 | پزشکی هستهای |
| 29 | 1.2.6.4.3 | تست انتشار گاز (DLCO) |
| 30 | 1.2.6.36.1 | تست پوستی آلرژی |
| 31 | 1.2.6.16.7 | تست تیلت (Tilt Table Test) |
| 32 | 1.2.6.4.4 | تست چالش برونشی |
| 33 | 1.2.6.34.4 | تست خواب (Polysomnography) |
| 34 | 1.2.6.4.2 | تست عملکرد ریوی (PFT) |
| 35 | 1.2.6.16.2 | تست ورزش (Exercise Test / TMT) |
| 36 | 1.2.6.16 | تست های عملکرد قلب |
| 37 | 1.2.6.36 | تستهای آلرژی و ایمنی |
| 38 | 1.2.6.36.2 | تستهای چالشی |
| 39 | 1.2.6.17.1 | تستهای شنوایی و تعادل |
| 40 | 1.2.6.35 | تستهای گوارشی |
| 41 | 1.2.6.34 | تستهای نورولوژی و سیستم عصبی |
| 42 | 1.2.6.33 | تصویربرداری ساده پزشکی |
| 43 | 1.2.6.33.2 | تصویربرداری ساده پزشکی (X‑Ray) |
| 44 | 1.2.6.10.3 | توپوگرافی قرنیه |
| 45 | 1.2.6.17.3 | تیمپانومتری |
| 46 | 1.2.6.26.7 | ژنتیک پزشکی |
| 47 | 1.2.6.26.8 | سمشناسی |
| 48 | 1.2.6.33.5 | سونوگرافی |
| 49 | 1.2.6.33.6 | سونوگرافی داپلر |
| 50 | 1.2.6.27.2 | سیتولوژی |
| 51 | 1.2.6.33.3 | سیتی اسکن (CT Scan) |
| 52 | 1.2.6.35.3 | سیگموئیدوسکوپی |
| 53 | 1.2.6.33.8 | فلوروسکوپی |
| 54 | 1.2.6.33.1 | قابلیت پذیرش بیمار با وزن بالا |
| 55 | 1.2.6.35.2 | کولونوسکوپی |
| 56 | 1.2.6.33.7 | ماموگرافی |
| 57 | 1.2.6.35.4 | مانومتری مری |
| 58 | 1.2.6.26.9 | مولکولی |
| 59 | 1.2.6.26.3 | میکروبشناسی |
| 60 | 1.2.6.34.2 | نوار عصب و عضله (EMG / NCV) |
| 61 | 1.2.6.16.1 | نوار قلب (ECG) |
| 62 | 1.2.6.34.1 | نوار مغز (EEG) |
| 63 | 1.2.6.26.2 | هماتولوژی |
| 64 | 1.2.6.26.5 | هورمونشناسی |
| 65 | 1.2.6.16.4 | هولتر فشار خون (ABPM) |
| 66 | 1.2.6.16.3 | هولتر مانیتورینگ قلب |
پیوست 5 – جداول اطلاعاتی
جدول 27- کدهای مربوط به وضعیت تاهل – سیستم کدگذاری: thritaEHR.maritalStatus
| ردیف | نام اصطلاح | کد اصطلاح |
|---|---|---|
| 1 | طلاق گرفته | 1 |
| 2 | متاهل | 2 |
| 3 | مجرد | 3 |
| 4 | همسر فوت شده | 4 |
جدول 28- کدهای مربوط به جنسیت – سیستم کدگذاری: thritaEHR.gender
| ردیف | نام اصطلاح | کد اصطلاح |
|---|---|---|
| 1 | مرد | 1 |
| 2 | زن | 2 |
| 3 | دوجنسی/ نامشخص | 3 |
جدول 29- کدهای مربوط به شاخص دقت تاریخ – سیستم کدگذاری: thritaEHR.birthDateAccuracy
| ردیف | نام اصطلاح | مقدار |
|---|---|---|
| 1 | روز، ماه و سال دقیق است | AAA |
| 2 | روز و ماه دقیق و سال تخمینی است | AAE |
| 3 | روز و ماه دقیق و سال نامشخص است | AAU |
| 4 | روز دقیق، ماه و سال تخمینی است. | AEE |
| 5 | روز دقیق، ماه تخمینی و سال نامشخص است | AEU |
| 6 | روز دقیق، ماه و سال نامشخص است | AUU |
| 7 | روز دقیق، ماه نامشخص و سال دقیق است | AUA |
| 8 | روز دقیق، ماه نامشخص و سال تخمینی است | AUE |
| 9 | روز دقیق، ماه تخمینی و سال دقیق است | AEA |
| 10 | روز تخمینی، ماه و سال دقیق است. | EAA |
| 11 | روز تخمینی، ماه دقیق و سال تخمینی است | EAE |
| 12 | روز تخمینی، ماه دقیق و سال نامشخص است | EAU |
| 13 | روز و ماه تخمینی و سال دقیق است | EEA |
| 14 | روز، ماه و سال تخمینی است | EEE |
| 15 | روز و ماه تخمینی و سال نامشخص است | EEU |
| 16 | روز تخمینی، ماه نامشخص و سال دقیق است. | EUA |
| 17 | روز تخمینی، ماه نامشخص و سال تخمینی است | EUE |
| 18 | روز تخمینی، ماه و سال نامشخص است | EUU |
| 19 | روز نامشخص، ماه و سال دقیق است | UAA |
| 20 | روز نامشخص، ماه دقیق و سال تخمینی است | UAE |
| 21 | روز نامشخص، ماه دقیق و سال نامشخص است | UAU |
| 22 | روز نامشخص، ماه تخمینی و سال دقیق است. | UEA |
| 23 | روز نامشخص، ماه و سال تخمینی است | UEE |
| 24 | روز نامشخص، ماه تخمینی و سال نامشخص است | UEU |
| 25 | روز و ماه نامشخص و سال دقیق است | UUA |
| 26 | روز و ماه نامشخص و سال تخمینی است | UUE |
| 27 | روز، ماه و سال نامشخص است | UUU |
جدول 30- کدهای مربوط به میزان تحصیلات – سیستم کدگذاری: thritaEHR.educationLevel
| ردیف | نام اصطلاح | کد اصطلاح | توضیحات |
|---|---|---|---|
| 1 | بیسواد | 1 | |
| 2 | ابتدایی | 2 | |
| 3 | راهنمایی | 3 | |
| 4 | متوسطه | 4 | |
| 5 | دیپلم | 6 | |
| 6 | دانشجوی کاردانی | 100 | |
| 7 | کاردانی | 101 | |
| 8 | دانشجوی کارشناسی | 110 | دانشجوی کارشناسی پیوسته و ناپیوسته |
| 9 | کارشناسی | 111 | کارشناسی پیوسته و ناپیوسته |
| 10 | دانشجوی کارشناسی ارشد | 140 | دانشجوی کارشناسی ارشد پیوسته و ناپیوسته |
| 11 | کارشناسی ارشد | 141 | کارشناسی ارشد پیوسته و ناپیوسته MBA، MPH |
| 12 | دانشجوی دکترای حرفه ای | 150 | دانشجوی دکترای حرفه ای پیوسته و ناپیوسته |
| 13 | دکترای حرفه ای | 151 | دکترای حرفه ای پیوسته و ناپیوسته |
| 14 | دانشجوی تخصص | 170 | دستیاری |
| 15 | تخصص | 171 | تخصص بالینی، تخصص داروسازی، تخصص دندانپزشکی |
| 16 | دانشجوی فوق تخصص | 200 | |
| 17 | فوق تخصص | 201 | |
| 18 | دانشجوی فلوشیپ | 210 | |
| 19 | فلوشیپ | 211 | |
| 20 | دانشجوی دکتری تخصصی | 190 | |
| 21 | دکترای تخصصی | 191 | PhD، دکترای تخصصی پژوهشی، دکترای بهداشت عمومی |
جدول 31- کدهای مربوط به زبان (Languages) – سیستم کدگذاری: ISO639-1
| Code | Value |
|---|---|
ab | Abkhazian |
aa | Afar |
af | Afrikaans |
ak | Akan |
sq | Albanian |
am | Amharic |
ar | Arabic |
an | Aragonese |
hy | Armenian |
as | Assamese |
av | Avaric |
ae | Avestan |
ay | Aymara |
az | Azerbaijani |
bm | Bambara |
ba | Bashkir |
eu | Basque |
be | Belarusian |
bn | Bengali |
bi | Bislama |
bs | Bosnian |
br | Breton |
bg | Bulgarian |
my | Burmese |
ca | Catalan, Valencian |
ch | Chamorro |
ce | Chechen |
ny | Chichewa, Chewa, Nyanja |
zh | Chinese |
cu | Church Slavonic, Old Slavonic, Old Church Slavonic |
cv | Chuvash |
kw | Cornish |
co | Corsican |
cr | Cree |
hr | Croatian |
cs | Czech |
da | Danish |
dv | Divehi, Dhivehi, Maldivian |
nl | Dutch, Flemish |
dz | Dzongkha |
en | English |
eo | Esperanto |
et | Estonian |
ee | Ewe |
fo | Faroese |
fj | Fijian |
fi | Finnish |
fr | French |
fy | Western Frisian |
ff | Fulah |
gd | Gaelic, Scottish Gaelic |
gl | Galician |
lg | Ganda |
ka | Georgian |
de | German |
el | Greek, Modern (1453–) |
kl | Kalaallisut, Greenlandic |
gn | Guarani |
gu | Gujarati |
ht | Haitian, Haitian Creole |
ha | Hausa |
he | Hebrew |
hz | Herero |
hi | Hindi |
ho | Hiri Motu |
hu | Hungarian |
is | Icelandic |
io | Ido |
ig | Igbo |
id | Indonesian |
ia | Interlingua (International Auxiliary Language Association) |
ie | Interlingue, Occidental |
iu | Inuktitut |
ik | Inupiaq |
ga | Irish |
it | Italian |
ja | Japanese |
jv | Javanese |
kn | Kannada |
kr | Kanuri |
ks | Kashmiri |
kk | Kazakh |
km | Central Khmer |
ki | Kikuyu, Gikuyu |
rw | Kinyarwanda |
ky | Kirghiz, Kyrgyz |
kv | Komi |
kg | Kongo |
ko | Korean |
kj | Kuanyama, Kwanyama |
ku | Kurdish |
lo | Lao |
la | Latin |
lv | Latvian |
li | Limburgan, Limburger, Limburgish |
ln | Lingala |
lt | Lithuanian |
lu | Luba-Katanga |
lb | Luxembourgish, Letzeburgesch |
mk | Macedonian |
mg | Malagasy |
ms | Malay |
ml | Malayalam |
mt | Maltese |
gv | Manx |
mi | Maori |
mr | Marathi |
mh | Marshallese |
mn | Mongolian |
na | Nauru |
nv | Navajo, Navaho |
nd | North Ndebele |
nr | South Ndebele |
ng | Ndonga |
ne | Nepali |
no | Norwegian |
nb | Norwegian Bokmål |
nn | Norwegian Nynorsk |
ii | Sichuan Yi, Nuosu |
oc | Occitan |
oj | Ojibwa |
or | Oriya |
om | Oromo |
os | Ossetian, Ossetic |
pi | Pali |
ps | Pashto, Pushto |
fa | Persian |
pl | Polish |
pt | Portuguese |
pa | Punjabi, Panjabi |
qu | Quechua |
ro | Romanian, Moldavian, Moldovan |
rm | Romansh |
rn | Rundi |
ru | Russian |
se | Northern Sami |
sm | Samoan |
sg | Sango |
sa | Sanskrit |
sc | Sardinian |
sr | Serbian |
sn | Shona |
sd | Sindhi |
si | Sinhala, Sinhalese |
sk | Slovak |
sl | Slovenian |
so | Somali |
st | Southern Sotho |
es | Spanish, Castilian |
su | Sundanese |
sw | Swahili |
ss | Swati |
sv | Swedish |
tl | Tagalog |
ty | Tahitian |
tg | Tajik |
ta | Tamil |
tt | Tatar |
te | Telugu |
th | Thai |
bo | Tibetan |
ti | Tigrinya |
to | Tonga (Tonga Islands) |
ts | Tsonga |
tn | Tswana |
tr | Turkish |
tk | Turkmen |
tw | Twi |
ug | Uighur, Uyghur |
uk | Ukrainian |
ur | Urdu |
uz | Uzbek |
ve | Venda |
vi | Vietnamese |
vo | Volapük |
wa | Walloon |
cy | Welsh |
wo | Wolof |
xh | Xhosa |
yi | Yiddish |
yo | Yoruba |
za | Zhuang, Chuang |
zu | Zulu |
جدول 32- کدهای مربوط به صندوق بیمه – سیستم کدگذاری: thritaEHR.insuranceBox
| صندوق بیمه | کد اصطلاح |
|---|---|
| صندوق های بیمه تامین اجتماعی | |
| بیمه اجباری | 1 |
| بیمه اختیاری | 2 |
| مشاغل آزاد | 16 |
| رانندگان حمل بار بین شهری | 30 |
| رانندگان حمل مسافر بین شهری | 31 |
| نویسندگان و پدیدآورندگان کتاب و هنرمندان | 32 |
| بافندگان قالی و قالیچه و زیلو و گلیم | 33 |
| هنرمندان | 34 |
| اجباری کارگران ساختمانی | 35 |
| اتباع بیگانه | 36 |
| همکار سازمانی | 37 |
| مددجویان | 38 |
| کارگران باربر | 39 |
| کارگران ساختمانی | 40 |
| قالیبافان شناسه دار | 41 |
| شاغلین کسب و کار خانگی | 42 |
| مددجویان مشمول یارانه | 43 |
| زنان سرپرست خانوار مشمول یارانه | 44 |
| مربیان مهدهای کودک خود مالک مشمول یارانه | 45 |
| صیاد مشمول یارانه | 46 |
| زنبور دار مشمول یارانه | 47 |
| پدیدآورندگان، نویسندگان کتاب و هنرمندان مشمول یارانه | 48 |
| رانندگان درون شهری | 49 |
| بیمه کارفرمایان صنفی | 50 |
| کارفرمایان کارگاه های کشاورزی | 51 |
| کارفرمای صنفی کم درآمد | 52 |
| خادمین ثابت مساجد | 53 |
| بیمه ایرانیان خارج از کشور | 54 |
| نخبگان و استعدادهای برتر | 55 |
| اتباع بیگانه | 26.9 |
| روستایی | 26.3 |
| کارکنان دولت | 26.1 |
| بیمه سلامت همگانی | 26.4 |
| ایرانیان | 26.11 |
| سایر اقشار-اتباع بیگانه | 26.8 |
| مددجویان عادی شهری | 27.7 |
| صندوق های بیمه وزارت بهداشت (تصادفی) | |
| ماده 92 | 29 |
جدول 33- کدهای مربوط به سازمان های بیمه گر – سیستم کدگذاری: thritaEHR.Insurer
| نام سازمان بیمه گر | شناسه سازمان بیمه گر |
|---|---|
| تامین اجتماعی | 1 |
| خدمات درمانی | 2 |
| خدمات درمانی نیروهای مسلح | 3 |
| کمیته امداد امام خمینی | 4 |
| شهرداری ها | 5 |
| بانک تجارت | 6 |
| کمیساریای عالی | 7 |
| هیئت امنای ارزی | 8 |
| بیمه آتیه سازان حافظ | 9 |
| بیمه آسیا | 10 |
| بیمه البرز | 11 |
| بیمه ایران | 12 |
| بیمه دانا | 13 |
| بیمه پارسیان | 14 |
| بیمه پاسارگاد | 15 |
| بیمه توسعه | 16 |
| بیمه دی | 17 |
| بیمه رازی | 18 |
| بیمه سامان | 19 |
| بیمه سینا | 20 |
| بیمه کارآفرین | 21 |
| بیمه معلم | 22 |
| بیمه ملت | 23 |
| بیمه نوین | 24 |
| بیمه اتکایی امین | 25 |
| بیمه امید | 26 |
| بیمه ایران معین | 27 |
| بیمه حافظ | 28 |
| سازمان صدا و سیما | 29 |
| بنیاد مستضعفان و جانبازان | 30 |
| بانک کشاورزی | 31 |
| بانک مرکزی ایران | 32 |
| بانک ملی | 33 |
| بانک سپه | 34 |
| شرکت نفت | 35 |
| وزارت بهداشت | 36 |
| آزاد | 37 |
| بانک صادرات | 38 |
| بانک صنعت و معدن | 39 |
| بانک مسکن | 40 |
| شرکت مخابرات ایران | 41 |
| هواپیمایی جمهوری اسلامی ایران | 42 |
| سازمان بنادر و کشتیرانی | 43 |
| شرکت صنایع مس ایران | 44 |
| شرکت ملی فولاد ایران | 45 |
| بانک توسعه صادرات | 46 |
| بانک رفاه | 47 |
| بیمه ما | 48 |
| بیمه آرمان | 49 |
| بیمه میهن | 50 |
| کمک رسان ایران SOS | 51 |
| بیمه آینده ساز | 52 |
| بیمه کوثر | 53 |
| بیمه تعاون | 54 |
| بیمه سرمد | 55 |
| بیمه آسماری | 56 |
| بیمه ایران معین | 57 |
| بیمه اتکایی ایرانیان | 59 |
| بیمه ساپوپ | 60 |
| سازمان بهزیستی | 61 |
| بیمه گردشگری سلامت | 62 |
| بیمه سبحان | 63 |
| ذغال سنگ البرز شرق | 64 |
| بیمه جهاد کشاورزی | 65 |
| سازمان زندان ها | 66 |
| بیمه سنگ آهن | 67 |
| شرکت ریخته گری تراکتورسازی ایران | 68 |
| شرکت آهنگری تراکتورسازی ایران | 69 |
| بیمه حکمت صبا | 70 |
| بیمه تجارت نو | 71 |
۱- خدمات بیمه ای بنیاد شهید و امور ایثارگران قبلا با نام بیمه بنیاد مستضعفان و جانبازان ارائه می شد. · ۲- خدمات بیمه ای بانک ملت توسط «بیمه ما» ارائه می گردد.
جدول 34- شناسه های حوزه سلامت
| عنوان شناسه | سازمان صادرکننده | سازمان اختصاص دهنده | نوع |
|---|---|---|---|
| سازمان ارائه دهنده خدمت | MOHME_IT | MOHME_IT | Org_ID |
| کدملی | National_Org_Civil_Reg | National_Org_Civil_Reg | National_Code |
| سیستم ارسال کننده اطلاعات | MOHME_IT | MOHME_IT | System_ID |
| شماره نظام پزشکی | Med_Council | Med_Council | Med_ID |
| شماره نظام پرستاری | Nursing_Org | Nursing_Org | Nursing_ID |
| شماره مامایی | Med_Council | Med_Council | Med_ID |
| شماره اقامت اتباع خارجی | MOI_BAFIA | MOI_BAFIA | BAFIA_ID |
| شماره گذرنامه | MIA | MIA | Passport_ID |
| کد پستی | PostOffice | PostOffice | ZipCode |
| شناسه های بیمه ای (استحقاق درمان، شناسه ارجاع، شناسه نسخه الکترونیکی) | IHIOTAMINMOHME_IT | IHIOTAMINMOHME_IT | HIDHIDHID |
| بارکد دارو یا تجهیزات | FDO | FDO | UID |
| شماره سفارش یا نسخه | FDO | FDO | PrescriptionID |
| کروکی | NAJA | NAJA | Sketch_ID |
| گواهی تولد | National_Org_Civil_Reg | National_Org_Civil_Reg | Birth_Cert_ID |
| گواهی فوت | Legal_Med_Org | Legal_Med_Org | Death_Cert_ID |
| شناسه اورژانس پیش بیمارستانی | EMS | EMS | EMS_ID |
۱- درصورتی که سازمان بیمه گر فرد «بیمه سلامت ایرانیان» باشد، در ویژگی های Issuer و Assigner این مقدار قرار می گیرد. · ۲- درصورتی که سازمان بیمه گر فرد «تامین اجتماعی» باشد، در ویژگی های Issuer و Assigner این مقدار قرار می گیرد.
جدول 35- نقش ارائه دهنده خدمت – سیستم کدگذاری: thritaEHR.healthcareProvider.role
| اصطلاح | کد اصطلاح | توضیحات |
|---|---|---|
| پزشک معالج | 1.1 | |
| پزشک بستری کننده | 1.2 | |
| پزشک ارجاع دهنده | 1.3 | |
| پزشک مشاور | 1.4 | |
| نماینده بیمه | 2.1 | |
| پرستار | 3.1 | |
| سرپرستار | 3.2 | |
| بهیار | 3.3 | |
| کمک بهیار | 3.4 | |
| بهورز | 3.5 | |
| جراح اصلی | 4.1 | |
| کمک جراح | 4.2 | |
| متخصص بیهوشی | 5 | |
| تجویزگر | 6 | |
| مسئول فنی | 7 | |
| مسئول تریاژ | 8 | |
| تکنسین اورژانس | 9 | |
| تکنسین ارشد اورژانس | 9.1 | |
| راننده امدادگر | 9.2 | |
| ماما | 10 | |
| کارآموز | 11.1 | استیجر یا اکسترن |
| کارورز | 11.2 | اینترن |
| دستیار تخصص سال اول | 11.3 | رزیدنت سال 1 |
| دستیار تخصص سال دوم | 11.4 | رزیدنت سال 2 |
| دستیار تخصص سال سوم | 11.5 | رزیدنت سال 3 |
| دستیار تخصص سال چهارم | 11.6 | رزیدنت سال 4 |
| دستیار تخصص سال پنجم | 11.7 | رزیدنت سال 5 |
| دستیار فوق تخصص سال اول | 11.8 | |
| دستیار فوق تخصص سال دوم | 11.9 | |
| دستیار دوره تکمیلی | 11.11 | فلو |
جدول 36- کدهای مربوط به وضعیت تشخیص – سیستم کدگذاری: thritaEHR.daignosis.status
| ردیف | نام اصطلاح | کد اصطلاح |
|---|---|---|
| 1 | تشخیص اولیه | 1 |
| 2 | تشخیص حین درمان | 2 |
| 3 | تشخیص نهایی | 3 |
جدول 37- کدهای مربوط به انواع ویژگی ارتباطی (MediumType) – سیستم کدگذاری: ThritaEHR
| ردیف | نام اصطلاح | کد اصطلاح |
|---|---|---|
| 1 | Phone | 1.4.1.1 |
| 2 | Fax | 1.4.1.2 |
| 3 | Email | 1.4.1.3 |
| 4 | Pager | 1.4.1.4 |
| 5 | URL | 1.4.1.5 |
| 6 | SMS | 1.4.1.6 |
جدول 38- کدهای مربوط به انواع کاربرد ویژگی ارتباطی (Usage) – سیستم کدگذاری: ThritaEHR
| ردیف | نام اصطلاح | کد اصطلاح | توضیحات |
|---|---|---|---|
| 1 | Home | 1.4.2.1 | منزل |
| 2 | Work | 1.4.2.2 | محل کار |
| 3 | Mobile | 1.4.2.3 | موبایل |
منبع : سایت حسابداری بیمارستان
کانال تلگرام @hospitalaccounting