Bei diesem Projekt handelt es sich um ein R-Paket zur Berechnung des Risikos, an Typ-2-Diabetes zu erkranken. Das Paket nutzt R-Implementierungen der QDiabetes-Algorithmen, die ursprünglich von ClinRisk unter Verwendung der Programmiersprache C++ abgeleitet wurden. Das QDiabetes-Paket umfasst QDiabetes-2013 und QDiabetes-2018, obwohl ältere (und möglicherweise neuere) Versionen von QDiabetes möglicherweise in zukünftigen Versionen enthalten sind.
ClinRisk unterstützt oder befürwortet diesen Code nicht. Endbenutzer sollten die ursprüngliche C++-Quelle als „Goldstandard“-Open-Source-Implementierung betrachten. Bitte beachten Sie, dass das QDiabetes R-Paket ausschließlich als Forschungstool für wissenschaftliche Zwecke erstellt wurde. Das QDiabetes R-Paket wurde nicht von der Medicines and Healthcare Products Regulatory Agency (MHRA) als Medizinprodukt zugelassen und sollte daher nicht im Rahmen einer individuellen Risikobewertung verwendet werden.
Der erste QDiabetes-Algorithmus (damals „QDScore“ genannt) wurde 2009 veröffentlicht 1 . Im Jahr 2011 wurden zwei wesentliche Änderungen vorgenommen, wobei der vom Algorithmus zulässige Altersbereich von 25–79 auf 25–84 Jahre erweitert wurde und die Raucherstatusvariable von zwei Ebenen [aktueller Raucher und Nichtraucher] auf fünf Ebenen erweitert wurde [ Nichtraucher, Ex-Raucher, leichter Raucher (1–9/Tag), mäßiger Raucher (10–19/Tag) und starker Raucher (≥20/Tag)]. Im Jahr 2012 wurde QDiabetes-2013 veröffentlicht, und von 2013 bis 2016 wurden die Algorithmuskoeffizienten regelmäßig aktualisiert, bis 2017 der umfangreichere QDiabetes-2018-Algorithmus veröffentlicht wurde 2 . Irgendwann im Laufe der Zeit wechselte QDiabetes von der Beschaffung der Townsend-Benachteiligungsdaten aus dem Jahr 2001 zur britischen Volkszählung 2011. Der Zeitpunkt, zu dem dies geschah, ist jedoch unklar. Im Moment kann nur mit Sicherheit gesagt werden, dass der ursprüngliche QDScore-Algorithmus von 2009 Townsend-Daten aus der britischen Volkszählung von 2001 verwendet hat, während QDiabetes-2018 Townsend-Daten von der britischen Volkszählung von 2011 verwendet hat. Weitere Einzelheiten zu den in QDiabetes-2013 und QDiabetes-2018 verwendeten Variablen finden Sie in den folgenden Abschnitten.
Der QDiabetes-2013-Algorithmus besteht aus zwei separaten Risikovorhersagemodellen (eines pro Geschlecht), in denen die folgenden 11 Variablen zur Risikoberechnung verwendet werden:
Geschlecht [ sex
]
Weiblich – "Female"
Männlich – "Male"
Alter [ age
], in Jahren
Body-Mass-Index [ bmi
], in kg/m 2
Ethnizität [ ethn
], neun Kategorien:
Weiß oder nicht angegeben – "WhiteNA"
Indisch – "Indian"
Pakistanisch – "Pakistani"
Bangladeshi – "Bangladeshi"
Schwarze Karibik – "BlackCaribbean"
Schwarzafrikaner – "BlackAfrican"
Chinesisch – "Chinese"
Andere Asiaten – "OtherAsian"
Andere ethnische Gruppe – "Other"
Raucherstatus [ smoke
], fünf Stufen:
Nichtraucher – "Non"
Ex-Raucher – "Ex"
Leichter Raucher (1–9/Tag) – "Light"
Mäßiger Raucher (10–19/Tag) – "Moderate"
Starker Raucher (≥20/Tag) – "Heavy"
Deprivation [ tds
], gemessen anhand der Townsend-Scores, wobei höhere Werte auf ein höheres Maß an Deprivation hinweisen
Familienanamnese von Diabetes bei Verwandten ersten Grades [ fhdm
]
Anamnese einer behandelten Hypertonie [ htn
], bestehend aus Diagnose einer Hypertonie und Behandlung mit mindestens einem blutdrucksenkenden Medikament
Vorgeschichte einer Herz-Kreislauf-Erkrankung [ cvd
], definiert als: ischämische Herzkrankheit, Schlaganfall oder vorübergehender ischämischer Anfall
Vorgeschichte der Verwendung von Kortikosteroiden [ ster
], die in Kapitel 6.3.2 des British National Formulary aufgeführt sind, einschließlich oraler oder systemischer Injektionen von: Prednisolon, Betamethason, Kortison, Depo-Medron, Dexamethason, Deflazacort, Efcortesol, Hydrocortison, Methylprednisolon oder Triamcinolon
Überlebenszeit [ surv
], also der Zeitraum, über den das Risiko für die Entwicklung von Typ-2-Diabetes berechnet werden soll.
Der QDiabetes-2013-Algorithmus ist in der Funktion QDR2013()
des QDiabetes- Pakets implementiert.
Der QDiabetes-2018-Algorithmus besteht eigentlich aus sechs separaten Risikovorhersagemodellen (drei Untermodelle, unterteilt nach Geschlecht).
Das grundlegende (Kern-)Modell, „Modell A“, verwendet dieselben Risikoprädiktoren wie QDiabetes-2013, mit dem Weglassen der Überlebenszeitvariablen (zugunsten eines festen 10-Jahres-Überlebensfensters) und der Hinzufügung der folgenden 6 Variablen:
Vorgeschichte von Schwangerschaftsdiabetes [ gdm
] (nur Frauen)
Vorgeschichte des polyzystischen Ovarialsyndroms [ pcos
] (nur Frauen)
Geschichte von Lernbehinderungen [ learn
]
Vorgeschichte von Schizophrenie oder bipolarer affektiver Störung [ psy
]
Vorgeschichte der Verwendung von Statinen [ stat
]
Vorgeschichte der Verwendung von „atypischen“ Antipsychotika der zweiten Generation [ apsy
], einschließlich: Amisulprid, Aripiprazol, Clozapin, Lurasidon, Olanzapin, Paliperidon, Quetiapin, Risperidon, Sertindol und Zotepin
Modell A des QDiabetes-2018-Algorithmus ist in der Funktion QDR2018A()
des QDiabetes- Pakets implementiert.
„Modell B“ verwendet dieselben Variablen wie Modell A, zusätzlich:
Nüchtern-Plasmaglukosespiegel [ fpg
], in mmol/L
Modell B des QDiabetes-2018-Algorithmus ist in der Funktion QDR2018B()
des QDiabetes- Pakets implementiert.
„Modell C“ verwendet dieselben Variablen wie Modell A, zusätzlich:
Glykiertes Hämoglobin A 1c- Wert [ hba1c
], in mmol/mol
Modell C des QDiabetes-2018-Algorithmus ist in der Funktion QDR2018C()
des QDiabetes- Pakets implementiert.
Sie können die veröffentlichte Version von QDiabetes von CRAN installieren mit:
install.packages("QDiabetes")
Alternativ kann die Entwicklungsversion von GitHub installiert werden mit:
if (!{"remotes" %in% installed.packages()}) install.packages("remotes")remotes::install_github("Feakster/qdiabetes")
Beim Erstellen dieses Pakets wollten wir etwas schaffen, das einfach zu schreiben und zu warten ist (KISS-Prinzipien), leistungsfähig, aber mit den neuesten und älteren Versionen von R kompatibel ist. Vor diesem Hintergrund haben wir dieses Paket so geschrieben, dass es so ist möglichst getreu der Kernsprache von R und mit minimalen Abhängigkeiten. Daher finden Sie hier kein Rcpp . Stattdessen wurden alle Funktionen vollständig in Basis R geschrieben; Die einzige Ausnahme ist die Funktion getTDS()
, die die Funktion median()
aus dem Statistikpaket verwendet (obwohl wir dies möglicherweise irgendwann neu schreiben). Alle anderen unter „Vorschläge“ in der BESCHREIBUNGS-Datei aufgeführten Pakete dienen lediglich der Veranschaulichung der Verwendung von QDiabetes in Beispielen oder Vignetten oder beim Testen des Pakets. Der Hauptfaktor, der die Kompatibilität des Pakets mit älteren Versionen von R einschränkt, ist die Datenspeichermethode, die CRAN für das Datenrahmen-Backend der Funktion getTDS()
verwenden muss. Aufgrund des Speicherbedarfs dieses Objekts (≈200 MB) müssen wir die XZ-Komprimierung nutzen, um die Gesamtgröße des Pakets so weit wie möglich zu reduzieren. Die XZ-Komprimierung wurde erstmals in R-Version 2.10 implementiert.
Viele der in den Risikovorhersagefunktionen dieses Pakets verwendeten Standardwerte wurden so ausgewählt, dass sie für die britische Bevölkerung repräsentativ sind. Diese Werte dienen lediglich dazu, den erforderlichen Tippaufwand bei der explorativen Verwendung der Risikovorhersagefunktionen zu minimieren. Es ist unwahrscheinlich, dass sie in einem Forschungsumfeld nützlich sind, und Sie müssten die genauen Werte kennen, die allen Funktionsparametern zugewiesen werden müssen, um eine genaue Risikovorhersage treffen zu können. Während Sie also Risikovorhersagen aus den Funktionen QDR2013()
und QDR2018A()
erhalten können, indem Sie nur sex
, age
und bmi
angeben, gehen Sie davon aus, dass Sie weiß sind oder keine ethnische Zugehörigkeit haben, nicht rauchen und einen Townsend-Benachteiligungswert von 0 haben und das völlige Fehlen relevanter medizinischer Vorgeschichte/Beschwerden und begleitender medikamentöser Therapien. Im Fall von QDR2013()
gehen Sie ebenfalls davon aus, dass ein 10-jähriges Risikofenster gewünscht ist.
Nachfolgend finden Sie einige sehr einfache Beispiele für die Verwendung des QDiabetes- Pakets. Beachten Sie, dass der Einfachheit halber entweder BMI [ bmi
] oder Größe [ ht
] und Gewicht [ wt
] in jeder der Risikovorhersagefunktionen in diesem Paket angegeben werden können.
Um das Leben ein wenig einfacher zu machen, wurde dem Paket eine getTDS()
Hilfsfunktion hinzugefügt, die eine Nachschlagetabelle verwendet, um Townsend-Benachteiligungswerte von vollständigen oder teilweisen britischen Postleitzahlen zu erhalten.
### Load Package Namespace ###library(QDiabetes)### Einfache Verwendung ###QDR2013(sex = „Weiblich“, Alter = 35, bmi = 25)# [1] 0.6324508QDR2018A(sex = „Male“, Alter = 45, BMI = 35)# [1] 9.88593QDR2018B(Geschlecht = „Weiblich“, Alter = 65, BMI = 30, fpg = 6)# [1] 18,43691QDR2018C(Geschlecht = „Männlich“, Alter = 25, BMI = 40, hba1c = 42)# [1] 8,226301### Herstellung Verwendung der Hilfsfunktion getTDS() ###getTDS("OX2 6GG")# [1] 2.022583QDR2013(Geschlecht = „Weiblich“, Alter = 41, Körpergröße = 1,65, Gewicht = 60, tds = getTDS(“OX3 9DU“))# [1] 0.5004499QDR2018A(Geschlecht = „Männlich“, Alter = 33, BMI = 26, tds = getTDS("OX3 7LF"))# [1] 0,6472644### Nutzung der Vektorisierung ###getTDS(c("OX3 7LF", "OX2 6NW", "OX2 6GG", "OX1 4AR"))# OX37LF OX26NW OX26GG OX14AR# -1,032394 1,640422 2,022583 2,309777QDR2013(Geschlecht = „Weiblich“, Alter = 35, BMI = seq(20, 40, 5))# 20 25 30 35 40# 0,1801226 0,6324508 1,7885233 3,8983187 6.2964702QDR2018A(Geschlecht = „Weiblich“, Alter = seq(25, 75, 10), BMI = 35)# 25 35 45 55 65 75# 1.085179 2.921454 5.893499 9.082108 10.713717 9,567516QDR2018B(Geschlecht = „Männlich“, Alter = 65, BMI = 35, FPG = 2:6)# 2 3 4 5 6# 0,9123063 0,5911511 1,8416081 7,8554831 30,8096968QDR2018C(Geschlecht = „Weiblich“, Alter = 80, BMI = 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### Datenrahmenverwendung ###data(dat_qdr) # Synthetische Beispieldaten## Unter Verwendung von Basis R ##dat_qdr[["risk"]] <- with(dat_qdr, QDR2013(sex = sex, age = age , ht = ht, wt = wt, ethn = ethn, Smoke = Smoke, tds = tds, htn = htn, cvd = cvd, ster = ster))## Mit 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))## Using data.table ##library(data.table)dt_qdr <- as.data.table(dat_qdr)dt_qdr[, Risiko := QDR2013(Geschlecht = Geschlecht, Alter = Alter, ht = ht, wt = wt, ethn = ethn, Rauch = Rauch, tds = tds, htn = htn, cvd = cvd, ster = ster)]
Siehe Probleme im QDiabetes-GitHub-Repository.
QRISK3: Eine R-Implementierung der QRISK3-Risikovorhersagealgorithmen von ClinRisk.
Dieses Projekt wurde von der School for Primary Care Research (SPCR) des National Institute for Health Research (NIHR) [Projektnummer: 412] finanziert. Die geäußerten Ansichten sind die der Autoren und nicht unbedingt die des NIHR oder des Ministeriums für Gesundheit und Soziales.
1: Hippisley-Cox J, Coupland C, Robson J, Sheikh A & Brindle P. (2009). Vorhersage des Risikos für Typ-2-Diabetes in England und Wales: prospektive Ableitung und Validierung von QDScore. BMJ 338 , b880
2: Hippisley-Cox J & Coupland C. (2017). Entwicklung und Validierung des QDiabetes-2018-Risikovorhersagealgorithmus zur Abschätzung des zukünftigen Risikos für Typ-2-Diabetes: Kohortenstudie. BMJ 359 , j5019