Gambas: Medizin

Aus Wikibooks
Wechseln zu: Navigation, Suche


zurück zu Gambas


Blutgasanalyse[Bearbeiten]

siehe http://www.madeasy.de/7/ph.htm

Die 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[Bearbeiten]

In 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

RöntgenThoraxbefundung[Bearbeiten]

LangzeitEKG-Befundung[Bearbeiten]

Endoskopiebefundung[Bearbeiten]

Ultraschallbefundung[Bearbeiten]

Aufnahmebefund[Bearbeiten]

Kurzarztentlassbrief[Bearbeiten]

CT-Befundung[Bearbeiten]

QT-Zeit[Bearbeiten]

Umrechnung Herzfrequenz - RR Abstand[Bearbeiten]