هذا المشروع عبارة عن حزمة R لحساب خطر الإصابة بمرض السكري من النوع 2. تستخدم الحزمة تطبيقات R لخوارزميات QDiabetes، والتي تم اشتقاقها في البداية بواسطة ClinRisk باستخدام لغة البرمجة C++. تشتمل حزمة QDiabetes على QDiabetes-2013 وQDiabetes-2018، على الرغم من إمكانية تضمين الإصدارات الأقدم (وفي النهاية الأحدث) من QDiabetes في الإصدارات المستقبلية.
لا يدعم ClinRisk تأييد هذا الرمز. يجب على المستخدمين النهائيين رؤية مصدر C++ الأصلي باعتباره تطبيق مفتوح المصدر "المعيار الذهبي". يرجى ملاحظة أنه تم إنشاء حزمة QDiabetes R كأداة بحث للأغراض العلمية فقط. لم يتم منح حزمة QDiabetes R موافقة وكالة تنظيم الأدوية ومنتجات الرعاية الصحية (MHRA) كجهاز طبي، وبالتالي، لا ينبغي استخدامها كجزء من أي تقييم فردي للمخاطر.
تم نشر أول خوارزمية QDiabetes (التي كانت تسمى "QDScore" في ذلك الوقت) في عام 2009 1 . في عام 2011، تم إجراء تغييرين جوهريين، حيث تم توسيع النطاق العمري المسموح به بواسطة الخوارزمية من 25-79 إلى 25-84، وتم توسيع متغير حالة التدخين من مستويين [المدخن الحالي وغير المدخن] إلى خمسة مستويات [ غير مدخن، مدخن سابق، مدخن خفيف (1-9/ يوم)، مدخن معتدل (10-19/ يوم) ومدخن شره (≥20/ يوم)]. في عام 2012، تم إصدار QDiabetes-2013، ومن عام 2013 إلى عام 2016، تم تحديث معاملات الخوارزمية بشكل دوري، حتى عام 2017، عندما تم نشر خوارزمية QDiabetes-2018 الأكثر توسعًا 2 . في مرحلة ما على طول الطريق، تحولت شركة QDiabetes من الحصول على بيانات الحرمان في تاونسند من عام 2001 إلى التعداد السكاني للمملكة المتحدة لعام 2011، ومع ذلك، فإن النقطة التي حدث فيها هذا غير واضحة. في الوقت الحالي، كل ما يمكن قوله على وجه اليقين هو أن خوارزمية QDScore الأصلية لعام 2009 استخدمت بيانات Townsend من التعداد السكاني للمملكة المتحدة لعام 2001، بينما تستخدم QDiabetes-2018 بيانات Townsend من التعداد السكاني للمملكة المتحدة لعام 2011. يمكن العثور على مزيد من التفاصيل حول المتغيرات المستخدمة في QDiabetes-2013 وQDiabetes-2018 في الأقسام التالية.
تتكون خوارزمية QDiabetes-2013 من نموذجين منفصلين للتنبؤ بالمخاطر (واحد لكل جنس)، حيث يتم استخدام المتغيرات الـ 11 التالية لحساب المخاطر:
الجنس [ sex
]
أنثى - "Female"
ذكر - "Male"
العمر [ age
]، بالسنوات
مؤشر كتلة الجسم [ bmi
] بالكيلو جرام/م 2
العرق [ ethn
]، تسع فئات:
أبيض أو غير مذكور - "WhiteNA"
هندي - "Indian"
باكستاني - "Pakistani"
بنجلاديش - "Bangladeshi"
منطقة البحر الكاريبي السوداء - "BlackCaribbean"
أسود أفريقي - "BlackAfrican"
الصينية - "Chinese"
آسيوية أخرى - "OtherAsian"
مجموعة عرقية أخرى - "Other"
حالة التدخين [ smoke
]، خمسة مستويات:
غير مدخن - "Non"
المدخن السابق - "Ex"
مدخن خفيف (1-9/يوم) — "Light"
مدخن معتدل (10-19/يوم) - "Moderate"
المدخن الشره (≥20/يوم) — "Heavy"
الحرمان [ tds
]، كما تم قياسه من خلال نتائج تاونسند، حيث تشير القيم الأعلى إلى مستويات أعلى من الحرمان
التاريخ العائلي لمرض السكري لدى قريب من الدرجة الأولى [ fhdm
]
تاريخ علاج ارتفاع ضغط الدم [ htn
]، وهو تشخيص ارتفاع ضغط الدم وعلاجه بدواء واحد على الأقل لارتفاع ضغط الدم
تاريخ الإصابة بأمراض القلب والأوعية الدموية [ cvd
]، والتي تُعرف بأنها: أمراض القلب الإقفارية، أو السكتة الدماغية، أو نوبة نقص تروية عابرة
تاريخ استخدام الكورتيكوستيرويدات [ ster
] المدرجة في كتيب الوصفات الوطني البريطاني الفصل 6.3.2، بما في ذلك عن طريق الفم أو الحقن الجهازية: بريدنيزولون، بيتاميثازون، كورتيزون، ديبو-ميدرون، ديكساميثازون، ديفلازاكورت، إفكورتيزول، هيدروكورتيزون، ميثيل بريدنيزولون، أو تريامسينولون.
وقت البقاء على قيد الحياة [ surv
]، وهي الفترة الزمنية التي سيتم خلالها حساب خطر الإصابة بمرض السكري من النوع الثاني.
يتم تنفيذ خوارزمية QDiabetes-2013 ضمن وظيفة QDR2013()
الخاصة بحزمة QDiabetes .
إن خوارزمية QDiabetes-2018 هي في الواقع ستة نماذج منفصلة للتنبؤ بالمخاطر (ثلاثة نماذج فرعية، مقسمة حسب الجنس).
يستخدم النموذج الأساسي (الأساسي)، "النموذج أ"، نفس تنبؤات المخاطر مثل QDiabetes-2013، مع إغفال متغير وقت البقاء (لصالح نافذة البقاء على قيد الحياة الثابتة لمدة 10 سنوات)، وإضافة ما يلي 6 المتغيرات:
تاريخ الإصابة بسكري الحمل [ gdm
] (للنساء فقط)
تاريخ الإصابة بمتلازمة المبيض المتعدد الكيسات [ pcos
] (للنساء فقط)
تاريخ صعوبات التعلم [ learn
]
تاريخ الفصام أو الاضطراب العاطفي ثنائي psy
تاريخ استخدام stat
تاريخ استخدام مضادات الذهان "غير التقليدية" من الجيل الثاني [ apsy
]، بما في ذلك: أميسولبرايد، أريبيبرازول، كلوزابين، لوراسيدون، أولانزابين، بالبيريدون، كيتيابين، ريسبيريدون، سيرتيندول، وزوتيبين
يتم تنفيذ النموذج A من خوارزمية QDiabetes-2018 ضمن وظيفة QDR2018A()
الخاصة بحزمة QDiabetes .
يستخدم "النموذج ب" نفس المتغيرات مثل النموذج أ، مع إضافة:
مستوى الجلوكوز في البلازما الصائم [ fpg
]، بوحدة مليمول/لتر
يتم تنفيذ النموذج B من خوارزمية QDiabetes-2018 ضمن وظيفة QDR2018B()
الخاصة بحزمة QDiabetes .
يستخدم "النموذج C" نفس المتغيرات مثل النموذج A، مع إضافة:
قيمة الهيموجلوبين السكري A 1c [ hba1c
]، بوحدة المليمول/مول
يتم تنفيذ النموذج C لخوارزمية QDiabetes-2018 ضمن وظيفة QDR2018C()
الخاصة بحزمة QDiabetes .
يمكنك تثبيت الإصدار الذي تم إصداره من QDiabetes من CRAN باستخدام:
install.packages("QDiabetes")
وبدلاً من ذلك، يمكن تثبيت إصدار التطوير من GitHub باستخدام:
إذا (!{"remotes" %in% install.packages()}) install.packages("remotes")remotes::install_github("Feakster/qdiabetes")
في بناء هذه الحزمة، أردنا أن نجعل شيئًا بسيطًا في الكتابة وسهل الصيانة (مبادئ KISS)، وفعالاً، ولكنه متوافق مع الإصدارات الأحدث والأقدم من R. ومع أخذ هذا في الاعتبار، قمنا بكتابة هذه الحزمة لتكون كما يلي: مخلص للغة R الأساسية قدر الإمكان، باستخدام الحد الأدنى من التبعيات. وبالتالي، لن تجد أي Rcpp هنا. بدلاً من ذلك، تمت كتابة جميع الوظائف بالكامل في الأساس R؛ الاستثناء الوحيد هو الدالة getTDS()
، التي تستخدم الدالة median()
من حزمة الإحصائيات (على الرغم من أننا قد نعيد كتابة هذا في مرحلة ما). جميع الحزم الأخرى المدرجة ضمن "الاقتراحات" في ملف الوصف تعمل فقط على توضيح استخدام QDiabetes في الأمثلة أو المقالات القصيرة، أو في اختبار الحزمة. العامل الأساسي الذي يحد من توافق الحزمة مع الإصدارات الأقدم من R هو طريقة تخزين البيانات التي تطلب منا CRAN استخدامها للواجهة الخلفية لإطار البيانات لوظيفة getTDS()
. نظرًا لحجم ذاكرة هذا الكائن (≈200 ميجابايت)، نحتاج إلى الاستفادة من ضغط XZ لتقليل الحجم الإجمالي للحزمة قدر الإمكان. تم تطبيق ضغط XZ لأول مرة في الإصدار R 2.10.
تم اختيار العديد من القيم الافتراضية المستخدمة في وظائف التنبؤ بالمخاطر في هذه الحزمة لتكون ممثلة لسكان المملكة المتحدة. تهدف هذه القيم فقط إلى تقليل مقدار الكتابة المطلوبة عند استخدام وظائف التنبؤ بالمخاطر بطريقة استكشافية. من غير المرجح أن تكون مفيدة في إعداد البحث، وسوف تحتاج إلى معرفة القيم الدقيقة لتعيينها لجميع معلمات الوظيفة من أجل إجراء تنبؤ دقيق بالمخاطر. ومن ثم، بينما يمكنك الحصول على تنبؤات بالمخاطر من الدالتين QDR2013()
و QDR2018A()
من خلال تحديد sex
age
ومؤشر bmi
فقط، فإنك ستفترض العرق الأبيض أو المفقود، وحالة عدم التدخين، ودرجة الحرمان من Townsend بقيمة 0 ، والغياب التام لأي تاريخ / حالات طبية ذات صلة وعلاجات دوائية مصاحبة. في حالة QDR2013()
، ستفترض أيضًا أن نافذة المخاطرة لمدة 10 سنوات هي المرغوبة.
فيما يلي بعض الأمثلة البسيطة جدًا لاستخدام حزمة QDiabetes . لاحظ أنه من أجل التيسير، يمكن تحديد إما مؤشر كتلة الجسم [ bmi
] أو الطول [ ht
] والوزن [ wt
] في أي من وظائف التنبؤ بالمخاطر في هذه الحزمة.
من أجل جعل الحياة أسهل قليلاً، تمت إضافة وظيفة مساعد getTDS()
إلى الحزمة، والتي تستخدم جدول بحث للحصول على درجات الحرمان من Townsend من الرموز البريدية الكاملة أو الجزئية في المملكة المتحدة.
### تحميل مساحة اسم الحزمة ###library(QDiabetes)### الاستخدام البسيط ###QDR2013(sex = "أنثى"، العمر = 35، مؤشر كتلة الجسم = 25)# [1] 0.6324508QDR2018A(sex = "ذكر"، العمر = 45، مؤشر كتلة الجسم = 35)# [1] 9.88593QDR2018B(الجنس = "أنثى"، العمر = 65، مؤشر كتلة الجسم = 30، fpg = 6)# [1] 18.43691QDR2018C(الجنس = "ذكر"، العمر = 25، مؤشر كتلة الجسم = 40، hba1c = 42)# [1] 8.226301### الاستفادة من الدالة getTDS() وظيفة المساعدة ###getTDS("OX2 6GG")# [1] 2.022583QDR2013(sex = "أنثى"، العمر = 41، ht = 1.65، wt = 60، tds = getTDS("OX3 9DU"))# [1 ] 0.5004499QDR2018A(الجنس = "ذكر"، العمر = 33، bmi = 26, tds = getTDS("OX3 7LF"))# [1] 0.6472644### الاستفادة من المتجهات ###getTDS(c("OX3 7LF", "OX2 6NW", "OX2 6GG", "OX1" 4AR"))# OX37LF OX26NW OX26GG OX14AR# -1.032394 1.640422 2.022583 2.309777QDR2013(الجنس = "أنثى"، العمر = 35، مؤشر كتلة الجسم = seq(20، 40، 5))# 20 25 30 35 40 # 0.1801226 0.6324508 1.7885233 3.8983187 6.2964702QDR2018A(الجنس = "أنثى"، العمر = التسلسل (25، 75، 10)، مؤشر كتلة الجسم = 35)# 25 35 45 55 65 75 # 1.085179 2.921454 5.893499 9.082108 10.713717 9.567516QDR2018B(الجنس = "ذكر"، العمر = 65، مؤشر كتلة الجسم = 35، FPG = 2:6)# 2 3 4 5 6 # 0.9123063 0.5911511 1.8416081 7.8554831 30.8096968QDR2018C(الجنس = "أنثى"، العمر = 80، مؤشر كتلة الجسم = 28، hba1c = seq(15، 45، 5))# 15 20 25 30 35 40 45 # 0.008084487 0.033019655 0.121238952 0.412396004 1.320727239 4.005759509 11.409509026### استخدام إطار البيانات ###data(dat_qdr) # بيانات العينة الاصطناعية## استخدام قاعدة R ##dat_qdr[["risk"]] <- with(dat_qdr, QDR2013(sex = sex, age = عمر، ht = ht, wt = wt, ethn = ethn, smoke = smoke, tds = tds, htn = htn, cvd = cvd, ster = ster))## استخدام dplyr ##library(dplyr)df_qdr <- as_tibble(dat_qdr) df_qdr <- df_qdr %>% mutate(risk = QDR2013(sex = sex,age = age,ht = ht,wt = wt,ethn = ethn,smoke = smoke,tds = tds,htn = htn,cvd = cvd,ster = ster))## استخدام data.table ##library(data.table)dt_qdr <- as.data.table(dat_qdr)dt_qdr[، المخاطر:= QDR2013(الجنس = الجنس، العمر = العمر، ht = ht، wt = wt، ethn = ethn، smoke = smoke، tds = tds، htn = htn، cvd = سي في دي، ستير = ستير)]
راجع المشكلات الموجودة في مستودع QDiabetes GitHub.
QRISK3: تطبيق R لخوارزميات التنبؤ بالمخاطر QRISK3 الخاصة بـ ClinRisk.
تم تمويل هذا المشروع من قبل المعهد الوطني للبحوث الصحية (NIHR) ومدرسة أبحاث الرعاية الأولية (SPCR) [رقم المشروع: 412]. الآراء المعبر عنها هي آراء المؤلف (المؤلفين) وليست بالضرورة آراء المؤسسة الوطنية لحقوق الإنسان أو وزارة الصحة والرعاية الاجتماعية.
1: هيبيسلي-كوكس جيه، كوبلاند سي، روبسون جيه، شيخ أ & بريندل بي (2009). التنبؤ بخطر الإصابة بمرض السكري من النوع 2 في إنجلترا وويلز: الاشتقاق المحتمل والتحقق من صحة QDScore. بمج 338 ، ب880
2: هيبيسلي-كوكس جيه وكوبلاند سي. (2017). تطوير والتحقق من صحة خوارزمية التنبؤ بالمخاطر QDiabetes-2018 لتقدير المخاطر المستقبلية لمرض السكري من النوع 2: دراسة الأتراب. بمج 359 ، j5019