Gambas: Medizin
zurück zu Gambas
Blutgasanalyse
BearbeitenDie Blutgasanalyse ist in der Medizin schnell und wichtig. Wie kann man die Meßwerte interpretieren ? Was noch fehlt ist der Lactatwert und die Hämoglobinwerte.
Der Programmcode
' Gambas class file PUBLIC SUB Button7_Click() ME.Close END PUBLIC SUB Button2_Click() textbox1.text = 7 textbox2.text = 30 textbox3.text = -10 textbox4.text = 90 END PUBLIC SUB Button3_Click() textbox1.text = "7,6" textbox2.text = 40 textbox3.text = 10 textbox4.text = 90 END PUBLIC SUB Button6_Click() textbox1.text = "7,4" textbox2.text = 40 textbox3.text = 0 textbox4.text = 90 END PUBLIC SUB Button4_Click() textbox1.text = "7,4" textbox2.text = 30 textbox3.text = 0 textbox4.text = 50 END PUBLIC SUB Button5_Click() textbox1.text = "7,1" textbox2.text = 65 textbox3.text = 0 textbox4.text = 50 END PUBLIC SUB TextBox1_KeyRelease() IF key.Code = key.Return THEN textbox2.setfocus END PUBLIC SUB TextBox2_KeyRelease() IF key.Code = key.Return THEN textbox3.setfocus END PUBLIC SUB TextBox3_KeyRelease() IF key.Code = key.Return THEN textbox4.setfocus END PUBLIC SUB TextBox4_KeyRelease() IF key.Code = key.Return THEN button1.Default = TRUE IF key.Code = key.Return THEN button1.setfocus END PUBLIC SUB Button1_Click() ' befehl3.SetFocus DIM pc AS Float DIM po AS Float DIM be AS Float DIM ph AS Float DIM ergeb AS String DIM b AS String IF textbox1.text = "" THEN textbox1.text = 0 IF textbox2.text = "" THEN textbox2.text = 0 IF textbox3.text = "" THEN textbox3.text = 0 IF textbox4.text = "" THEN textbox4.text = 0 ph = Val(textbox1.text) pc = Val(textbox2.text) be = Val(textbox3.text) po = Val(textbox4.text) ' PRINT ph,pc,be,po ergeb = metabol(ph,pc,be) b = sauerstoff(po,pc) ergeb = ergeb & Chr$(13) & Chr$(10) & b textarea1.text = ergeb ' PRINT ergeb END PUBLIC FUNCTION metabol(ph AS Float,pc AS Float,be AS Float) AS String ' Rem ***************************** ' Rem * AUSSAGE 1 PH,BE,PCO2 * ' Rem ***************************** DIM a1 AS String DIM a2 AS String DIM a3 AS String DIM a4 AS String DIM a5 AS String DIM a6 AS String DIM a7 AS String DIM a8 AS String DIM a9 AS String DIM a10 AS String DIM a11 AS String DIM a12 AS String DIM e AS String a1 = "Werte nicht mit dem Leben vereinbar" a2 = "Metabolische Azidose " & Chr$(13) & Chr$(10) & "respiratorisch kompensiert Hyperventilation !" a3 = "Metabolische Azidose nicht kompensiert" a4 = "Respiratorische Azidose nicht kompensiert" a5 = "Respiratorische + Metabolische Azidose " a6 = "Hyperkapnie + Kompensatorische Alkalose" a7 = "Ausgeglichener Säure Basen Haushalt " a8 = "Metabolische Alkalose" a9 = "Hyperventilation" a10 = "Werte nicht plausibel " a11 = "Hyperkapnie" a12 = "metabolische Azidose" ' Rem * BEDINGUNGEN PH,BE,PCO2 * IF be > 50 THEN e = a1 RETURN e ELSE IF be < -50 THEN e = a1 RETURN e ELSE IF ph > 7.9 THEN e = a1 RETURN e ELSE IF ph < 6.5 THEN e = a1 RETURN e ELSE IF pc < 1 THEN e = a1 RETURN e ELSE IF pc > 120 THEN e = a1 RETURN e ELSE IF ph < 7.35 AND be > -4 AND pc < 35 THEN e = a10 RETURN e ELSE IF ph < 7.45 AND be < -3 AND pc < 35 THEN e = a2 RETURN e ELSE IF ph < 7.35 AND be < -3 AND pc > 35 THEN e = a3 RETURN e ELSE IF ph < 7.35 AND be < 4 AND pc > 45 THEN e = a4 RETURN e ELSE IF ph < 7.35 AND be < -3 AND pc > 45 THEN e = a5 RETURN e ELSE IF ph > 7.34 AND be > 3 AND pc > 44 THEN e = a6 RETURN e ELSE IF ph < 7.45 AND ph > 7.35 AND be > -5 AND be < 5 AND pc > 35 AND pc < 45 THEN e = a7 RETURN e ELSE IF ph > 7.45 AND be > 3 THEN e = a8 RETURN e ELSE IF ph > 7.45 AND be < -5 THEN e = a10 RETURN e ELSE IF ph < 7.35 AND be < -5 THEN e = a12 RETURN e ELSE IF pc < 36 THEN e = a9 RETURN e ELSE IF pc > 44 THEN e = a11 RETURN e END IF END PUBLIC FUNCTION sauerstoff(po AS Float,pc AS Float) AS String DIM b AS String ' Rem ****************************** ' Rem * PO2 * ' Rem ****************************** IF po > 700 THEN b = "Werte nicht mit dem Leben vereinbar" RETURN b ELSE IF pc > 300 THEN b = "Werte nicht mit dem Leben vereinbar" RETURN b ELSE IF po < 1 AND pc < 1 THEN b = "Werte nicht mit dem Leben vereinbar" RETURN b ELSE IF po < 1 THEN b = "Werte nicht mit dem Leben vereinbar" RETURN b ELSE IF pc < 1 THEN b = "Werte nicht mit dem Leben vereinbar" RETURN b ELSE IF po > 100 THEN b = "Hyperventilation durch Beatmung oder Sauerstoffgabe ??" RETURN b ELSE IF po < 55 AND pc < 35 THEN b = "Hypoxie und Hyperventilation Lungenembolie?" RETURN b ELSE IF po < 55 THEN b = "Hypoxie Beatmungspflichtig ?" RETURN b ELSE IF po < 75 THEN b = "Hypoxie " RETURN b ELSE IF pc > 50 THEN b = "Hyperkapnie " RETURN b END IF END PUBLIC SUB ToggleButton1_Click() DIM Help AS String IF TextArea2.Visible = FALSE THEN ToggleButton1.Text = "Info weglöschen" Help = "Autor: " & Chr(13) & Chr(10) Help = "Rho = Reiner Hoffmann " & Chr(13) & Chr(10) Help = Help & "www.madeasy.de" & Chr(13) & Chr(10) TextArea2.Visible = TRUE TextArea2.text = Help ELSE TextArea2.Visible = FALSE ToggleButton1.Text = "Info anschauen" ENDIF END PUBLIC SUB Form_Open() textbox1.setfocus END
EKG-Befundung
BearbeitenIn der Medizin muß man immer wieder dieselben Textbausteine zu einem Befund zusammenfügen. Um dies zu beschleunigen und einen sauber lesbaren Befund zu bekommen, wurde dieses Programm geschrieben.
Man braucht dazu:
- Eine Klasse als Startklasse mit dem Namen t
- 4 Formen
Code für die Klasse t:
' Gambas class file STATIC PUBLIC t AS String STATIC PUBLIC SUB Main() form1.show END
Code für die Form1:
PUBLIC SUB Form_Open() 'Clipboard.Clear ' Zwischenablage löschen. Textarea2.Visible = FALSE Textarea2.Text = "" ME.Text = "EKG - Befundung" ' Beim Beenden ist der Text im Zwischenspeicher, Leider nicht textarea1.Text = "" textarea1.Text = t.t END PUBLIC SUB Button1_Click() Clipboard.Copy (Textarea1.Text) ME.Close END PUBLIC SUB Button2_Click() textarea1.text = t.t Clipboard.Copy (Textarea1.Text) END PUBLIC SUB Button24_Click() t.t = t.t & "Sonst normales RuheEKG" textarea1.Text = t.t Clipboard.Copy(t.t) END PUBLIC SUB Button3_Click() t.t = t.t & "Sinusrhythmus" & Chr(10) END PUBLIC SUB Button10_Click () t.t = t.t & "Herzfrequenz 50 - 60/min" & Chr(10) END PUBLIC SUB Button11_Click () t.t = t.t & "Herzfrequenz 40 - 50/min" & Chr(10) END PUBLIC SUB Button12_Click () t.t = t.t & "==> Tachyarrhythmie" & Chr(10) END PUBLIC SUB Button13_Click () t.t = t.t & "=> Bradyarrhythmie" & Chr(10) END PUBLIC SUB Button14_Click () t.t = t.t & "Normallagetyp, normales Ruhe EKG " & Chr(10) textarea1.Text = t.t Clipboard.Copy(t.t) END PUBLIC SUB Button15_Click () t.t = t.t & "==> Tachykardie > 120/min " & Chr(10) END PUBLIC SUB Button16_Click () t.t = t.t & "==> Bradykardie < 30/min !!" & Chr(10) END PUBLIC SUB Button17_Click () t.t = t.t & "=> Bradykardie < 40/min" & Chr(10) END PUBLIC SUB Button4_Click () t.t = t.t & "Herzfrequenz 60 - 80/min" & Chr(10) END PUBLIC SUB Button5_Click () t.t = t.t & "Herzfrequenz 80 - 100/min" & Chr(10) END PUBLIC SUB Button6_Click () t.t = t.t & "==> Herzfrequenz 100 - 120/min !!" & Chr(10) END PUBLIC SUB Button7_Click () t.t = t.t & "Absolute Arrhythmie" & Chr(10) END PUBLIC SUB Button8_Click () t.t = t.t & "Vorhofflimmern" & Chr(10) END PUBLIC SUB Button9_Click () t.t = t.t & "Vorhofflattern" & Chr(10) END PUBLIC SUB Button19_Click() t.t = t.t & "Linkslagetyp, normales Ruhe EKG " & Chr(10) textarea1.Text = t.t Clipboard.Copy(t.t) END PUBLIC SUB Button18_Click() t.t = t.t & "Steillagetyp, normales Ruhe EKG " & Chr(10) textarea1.Text = t.t Clipboard.Copy(t.t) END PUBLIC SUB Button20_Click() t.t = t.t & "==> Tachykardie > 150/min " & Chr(10) END PUBLIC SUB Button21_Click() t.t = t.t & "einzelne Kammerextraschläge" & Chr(10) END PUBLIC SUB Button22_Click() t.t = t.t & "einzelne Vorhofextraschläge" & Chr(10) END PUBLIC SUB Button23_Click() 'zur Rhythmusform END PUBLIC SUB Button25_Click() Textarea1.Text = "" END PUBLIC SUB Button27_Click() t.t = "" END PUBLIC SUB ToggleButton1_Click() DIM Help AS String IF TextArea2.Visible = FALSE THEN ToggleButton1.Text = "Info weglöschen" Help = "Rho = Reiner Hoffmann " TextArea2.Visible = TRUE TextArea2.text = Help ELSE TextArea2.Visible = FALSE ToggleButton1.Text = "Info anschauen" ENDIF END PUBLIC SUB Button28_Click() Textarea1.text = Textarea1.text & "Dieses Programm wurde mit Gambas erstellt" & Chr(10) Textarea1.text = Textarea1.text & "Es dient der EKG Befundung." & Chr(10) Textarea1.text = Textarea1.text & "Angeklickte Kürzel werden zusammengeklebt." & Chr(10) Textarea1.text = Textarea1.text & "Der Gesamttext wird im Zwischenspeicher abgelegt." & Chr(10) Textarea1.text = Textarea1.text & "Mit STRG und V- Taste kann der Text " & Chr(10) Textarea1.text = Textarea1.text & "an beliebiger Stelle in jedem anderen Programm eingefügt werden." END PUBLIC SUB Button26_Click() Form1.Close Form2.Show END