Open meandor opened 3 years ago
Im englischen Sprachraum scheint die Kohlenhydrateinheit nicht gebräuchlich zu sein, soweit für mich ersichtlich nutzt man zur Berechnung einer Insulindosis stattdessen die Menge "reiner" Kohlenhydrate in Gramm.
Pseudocode s.oben.
As a patient I want to get a recommendation for my insulin dose dependent on my planned calories intake so that I can make sure that I can quickly dose my insulin and am sticking to my insulin treatment plan
Context
Before each main meal, the patient self-measures her/his blood glucose levels and makes an informed assessment of the carbohydrate intake, expressed in KE ("Kohlenhydrateinheiten", 1KE = 10 g carbohydrates.)
Based on this patient input (blood glucose level & KEs), the app calculates the suggested insulin dosis for a given meal. The "KE-factor" and the standard insulin dosis are needed for the calculation - the doctor has already entered these values, for example during a previous visit to the doctor.
präprandialen Blutzuckerspiegels, der aufgenommenen Kohlenhydrateinheiten, des Kohlenhydrateinheiten-Faktors sowie ggf. des Korrekturfaktors ermitteln
In scope
Out of scope
Tech notes
Pseudocode:
int standarddosis = Math.round(ke * kefaktor) string insulin // z.B. “Actrapid”, “Humalog”, “NovoRapid”, bereits vom Arzt eingegeben
// Der BZ-Wert vor dem Essen ist zu niedrig
IF bz < 80 THEN System.out.println(“Unterzuckerung! Kein” + insulin + “spritzen ! Traubenzucker !”);
// Der BZ-Wert vor dem Essen ist hoch (definiert als > 240 mg/dl)
IF bz >= 241 THEN System.out.println(“Blutzucker sehr hoch! Bitte Arzt anrufen!”); int standarddosis = Math.round(ke * kefaktor) // Standarddosis, s. Wikipedia-Artikel “BE-Faktor”
// Der BZ-Wert vor dem Essen ist normal: man spritz die Standarddosis
IF bz > 80 AND bz < 120 { System.out.println(“Ergebnis: ” + standarddosis + “IE” + insulin + “spritzen”); }
// Der BZ-Wert vor dem Essen ist hoch: man spritz die Standarddosis plus “Korrekturdosis”
IF bz > 121 AND bz =< 240 { int diskrepanz = bz – 120 float stufefloat = diskrepanz / korrschritte int stufeint = Math.ceil(stufefloat)
int dosis = standarddosis + (stufeint * korrIE)
System.out.println(“Ergebnis: ” + dosis + “IE” + insulin + “spritzen”); }
Acceptance Criteria
AC1
GIVEN ...the patient enters blood glucose level & KEs WHEN ...the doctor has not entered the KE-factor and the standard insulin dosis THEN ...Error message: "Treatment paramters are incomplete; please consult your doctor"
AC2
GIVEN ... the patient enters blood glucose level & KEs WHEN ... KEs are unrealistic (for example 100) and/or blood glucose level are extremely high/low THEN ... Error message to patient to confirm his/her input and eventually to take action
AC3
GIVEN ...the patient enters blood glucose level & KEs WHEN ...the suggested insulin dosis is extremely high/low THEN ...Warning to patient: "This dosis is uncommonly high/low! Do you usually apply insulin dosis in this magnitude?"
Sketches
Anything that helps implementing it (optional)