You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

506 lines
20 KiB

Imports DevComponents.DotNetBar
Imports FlexCel.Core
Public Class Patient
Dim m_nrpatient As Integer
Property PatientNr As Integer
Get
Return m_nrpatient
End Get
Set(value As Integer)
Cursor = Cursors.WaitCursor
Globals.OnLoad = True
m_nrpatient = value
If Globals.Applicationtype = ApplicationTypes.Projektabrechnung Then
Me.tsrbprivat.Visible = True
Me.tsrbunternehmen.Visible = True
Me.PatientDetailsFirma1.PatientNr = value
Else
Me.tsrbprivat.Visible = False
Me.tsrbunternehmen.Visible = False
Me.PatientDetails1.PatientNr = value
End If
Dim dbx As New clsDB
If Globals.DruckBranche Then
dbx.Get_Tabledata("Privat", "", "Select * from privat where aktiv=1 and nrprivat=" + m_nrpatient.ToString)
Else
dbx.Get_Tabledata("Privat", "", "Select * from privat where nrprivat=" + m_nrpatient.ToString)
End If
If dbx.dsDaten.Tables(0).Rows(0).Item("nranrede") = 4 Then
Me.tsrbprivat.Checked = False
Me.tsrbunternehmen.Checked = True
Me.PatientDetailsFirma1.PatientNr = value
Me.tsrbunternehmen_Click(Nothing, Nothing)
Else
Me.tsrbprivat.Checked = True
Me.tsrbunternehmen.Checked = False
Me.PatientDetails1.PatientNr = value
Me.tsrbprivat_Click(Nothing, Nothing)
End If
dbx.Dispose()
Me.PatientAbrechnung1.PatientNr = value
Me.Behandlung1.PatientNr = value
Me.Finanzen1.Patientnr = value
Me.Recall1.Patientnr = value
Me.ClsDokumente1.Patientnr = value
Globals.OnLoad = False
Cursor = Cursors.Default
End Set
End Property
Dim WithEvents evh As Generic_Event_Handler = Globals.EVH
Private Sub SchliessenToolStripMenuItem_Click(sender As Object, e As EventArgs)
Me.Close()
End Sub
Private Sub Patient_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing
If detail_has_changes() = False Then
e.Cancel = True
End If
End Sub
Function detail_has_changes()
Dim res As Boolean = False
If Me.PatientDetails1.HasChanges Then res = True
If Me.PatientDetailsFirma1.HasChanges Then res = True
If PatientAbrechnung1.HasChanges Then res = True
If res = True Then
Dim qres As MsgBoxResult
qres = MsgBox("Daten wurden verändert. Änderungen speichern?", vbYesNoCancel + vbQuestion)
Select Case qres
Case MsgBoxResult.Cancel
Return False
Case MsgBoxResult.No
Return True
Case MsgBoxResult.Yes
save_data()
Return True
End Select
Else
Return True
End If
End Function
Private Sub Patient_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Try
Me.Width = My.Settings.PatWindowSizeWidth
Me.Height = My.Settings.PatWindowSizeHeight
Catch ex As Exception
End Try
Select Case Globals.Funktionsstufe
Case 2
'Me.Behandlungen.Visible = False
'Me.Finanzen.Visible = False
End Select
If Globals.License.DMS = False Then
Me.SuperTabControl1.Tabs("Dokumente").Visible = False
End If
' Me.tsbtnfirst_Click(sender, e)
Dim db As New clsDB
If db.Get_Option(9999) = "" Then
Me.tsbtnVTX.Visible = False
Me.btnVTX.Visible = False
Else
Me.tsbtnVTX.Visible = True
Me.btnVTX.Visible = True
End If
Dim db1 As New clsDB
If Globals.Applicationtype = ApplicationTypes.Projektabrechnung Then
Me.tsrbunternehmen.Visible = True
Me.tsrbprivat.Visible = True
'Me.PatientDetails1.chklbAdresstyp.Visible = False
Me.SuperTabControl1.Tabs("Stammdaten").Visible = False
Me.SuperTabControl1.Tabs("Stammdaten_Firma").Visible = True
Me.PatientDetails1.Label13.Visible = False
Me.PatientDetailsFirma1.Label13.Visible = False
Me.SuperTabControl1.Tabs("Behandlungen").Text = "Projekte"
Me.SuperTabControl1.Tabs("Recall").Visible = False
Me.SuperTabControl1.Tabs("Abrechnung").Visible = False
Me.PatientDetails1.lblName.Text = "Name/Firma"
Else
Me.tsrbunternehmen.Visible = False
Me.tsrbprivat.Visible = False
Me.SuperTabControl1.Tabs("Stammdaten").Visible = True
Me.SuperTabControl1.Tabs("Stammdaten_Firma").Visible = False
End If
If Globals.DruckBranche Then
ToolStripButton2.Visible = True
End If
If Globals.DruckBranche Then
tsrbprivat.Visible = True
tsrbunternehmen.Visible = True
Else
tsrbunternehmen.Visible = False
tsrbprivat.Visible = False
End If
If UCase(db1.Get_Option("60020")) = "FALSE" Then Exit Sub
Try
' Globals.sec.Set_Form_Security(Me)
Catch
End Try
End Sub
Private Sub ToolStripButton6_Click(sender As Object, e As EventArgs) Handles tsbtnSave.Click
save_data()
Globals.ToastInfo.ShowSaveMesasge(Me.ParentForm)
End Sub
Private Sub tsbtnquit_Click(sender As Object, e As EventArgs) Handles tsbtnquit.Click
Me.Close()
End Sub
Private Sub tstxtsuche_KeyDown(sender As Object, e As KeyEventArgs) Handles tstxtsuche.KeyDown
If e.KeyCode = Keys.Enter Then
Dim db As New clsDB
Dim nrprivat As Integer
If Globals.DruckBranche Then
nrprivat = db.Search("Behandlungsgrund", Me.tstxtsuche.Text)
Else
nrprivat = db.Search("Patient", Me.tstxtsuche.Text)
End If
If nrprivat <> -1 Then Me.PatientNr = nrprivat
If Me.SuperTabControl1.SelectedTab.Name = "Dokumente" Then
Me.ClsDokumente1.Patientnr = Me.PatientNr
Me.ClsDokumente1.Refresh_Grid()
End If
If Me.SuperTabControl1.SelectedTab.Name = "Krankengeschichte" Or Me.SuperTabControl1.SelectedTab.Name = "Journal" Then
Me.Krankengeschichte1.Patientnr = Me.PatientNr
End If
db.Dispose()
End If
End Sub
Private Sub evh_PatName_Changed(name As String, nr As Integer) Handles evh.PatName_Changed
If nr = Me.PatientNr Then Me.Text = name
If Globals.Applicationtype = ApplicationTypes.Projektabrechnung Then
Me.Label1.Text = PatientDetailsFirma1.Patientname
Else
Me.Label1.Text = PatientDetails1.Patientname
End If
Me.Label1.Left = Me.Width / 2 - 8 - Me.Label1.Width / 2
End Sub
Private Sub BeendenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles BeendenToolStripMenuItem.Click
Me.Close()
End Sub
Private Sub save_data()
evh.Fire_PatSaved(Me.PatientNr)
End Sub
Private Sub evh_PatSaved(Nr As Integer) Handles evh.PatSaved
If Me.PatientNr = Nr Then
If Globals.Applicationtype = ApplicationTypes.Projektabrechnung Then
Me.Text = PatientDetailsFirma1.Patientname
Me.Label1.Text = PatientDetailsFirma1.Patientname
Else
Me.Text = PatientDetails1.Patientname
Me.Label1.Text = PatientDetails1.Patientname
End If
End If
End Sub
Public Sub tsbtnfirst_Click(sender As Object, e As EventArgs) Handles tsbtnfirst.Click
If detail_has_changes() = False Then Return
Dim db As New clsDB
If Globals.DruckBranche Then
db.Get_Tabledata("Patient", "", "Select top 1 * from privat where aktiv=1 and nrprivat>0 order by name, vorname, ort,nrprivat")
Else
db.Get_Tabledata("Patient", "", "Select top 1 * from privat where nrprivat>0 order by name, vorname, ort,nrprivat")
End If
Me.PatientNr = db.dsDaten.Tables(0).Rows(0).Item(0)
db.Dispose()
End Sub
Private Sub tsbtnlast_Click(sender As Object, e As EventArgs) Handles tsbtnlast.Click
If detail_has_changes() = False Then Return
Dim db As New clsDB
db.Get_Tabledata("Patient", "", db.Get_SQL(10))
Me.PatientNr = db.dsDaten.Tables(0).Rows(0).Item(0)
db.Dispose()
End Sub
Private Sub tsbtnnext_Click(sender As Object, e As EventArgs) Handles tsbtnnext.Click
If detail_has_changes() = False Then Return
Dim xx As Integer = 0
Dim db As New clsDB
Try
Me.Cursor = Cursors.WaitCursor
If Globals.DruckBranche Then
db.Get_Tabledata("Patient", "", "select * from privat where aktiv=1 and nrprivat=" + Me.PatientNr.ToString)
Else
db.Get_Tabledata("Patient", "", "select * from privat where nrprivat=" + Me.PatientNr.ToString)
End If
Dim searchstring As String = ""
searchstring = searchstring + db.dsDaten.Tables(0).Rows(0).Item("Name").ToString
searchstring = searchstring + db.dsDaten.Tables(0).Rows(0).Item("Vorname").ToString
searchstring = searchstring + db.dsDaten.Tables(0).Rows(0).Item("ort").ToString
If Globals.DruckBranche Then
db.Get_Tabledata("Patient", "", "Select top 1 * from privat where aktiv=1 and name <>'' and nrprivat>0 and name+vorname+ort>='" + searchstring + "' and nrprivat<>" + Me.PatientNr.ToString + " order by name, vorname, ort, nrprivat")
Else
db.Get_Tabledata("Patient", "", "Select top 1 * from privat where name <>'' and nrprivat>0 and name+vorname+ort>='" + searchstring + "' and nrprivat<>" + Me.PatientNr.ToString + " order by name, vorname, ort, nrprivat")
End If
' db.Get_Tabledata("Patient", "", db.Get_SQL(11), Me.m_nrpatient.ToString)
Me.PatientNr = db.dsDaten.Tables(0).Rows(0).Item(0)
Catch ex As Exception
'MsgBox(ex.Message)
Me.PatientNr = Me.PatientNr
End Try
db.Dispose()
Me.Cursor = Cursors.Default
End Sub
Private Sub tsbtprev_Click(sender As Object, e As EventArgs) Handles tsbtprev.Click
If detail_has_changes() = False Then Return
Dim xx As Integer = 0
Dim db As New clsDB
Try
Me.Cursor = Cursors.WaitCursor
If Globals.DruckBranche Then
db.Get_Tabledata("Patient", "", "select * from privat where aktiv=1 and nrprivat=" + Me.PatientNr.ToString)
Else
db.Get_Tabledata("Patient", "", "select * from privat where nrprivat=" + Me.PatientNr.ToString)
End If
Dim searchstring As String = ""
searchstring = searchstring + db.dsDaten.Tables(0).Rows(0).Item("Name").ToString
searchstring = searchstring + db.dsDaten.Tables(0).Rows(0).Item("Vorname").ToString
searchstring = searchstring + db.dsDaten.Tables(0).Rows(0).Item("ort").ToString
If Globals.DruckBranche Then
db.Get_Tabledata("Patient", "", "Select top 1 * from privat where aktiv=1 and name <>'' and nrprivat>0 and name+vorname+ort<='" + searchstring + "' and nrprivat<>" + Me.PatientNr.ToString + " order by name desc, vorname desc, ort desc , nrprivat desc")
Else
db.Get_Tabledata("Patient", "", "Select top 1 * from privat where name <>'' and nrprivat>0 and name+vorname+ort<='" + searchstring + "' and nrprivat<>" + Me.PatientNr.ToString + " order by name desc, vorname desc, ort desc , nrprivat desc")
End If
' db.Get_Tabledata("Patient", "", db.Get_SQL(11), Me.m_nrpatient.ToString)
Me.PatientNr = db.dsDaten.Tables(0).Rows(0).Item(0)
Catch ex As Exception
'MsgBox(ex.Message)
Me.PatientNr = Me.PatientNr
End Try
db.Dispose()
Me.Cursor = Cursors.Default
End Sub
Private Sub ToolStripButton1_Click(sender As Object, e As EventArgs) Handles tsbtnnew.Click
Dim db As New clsDB
Dim newkey As Integer = db.Get_DBKey("Privat")
db.Get_Tabledata("Privat", " where nrprivat=0")
Dim r As DataRow
r = db.dsDaten.Tables(0).NewRow
For Each c As DataColumn In db.dsDaten.Tables(0).Columns
r.Item(c) = db.dsDaten.Tables(0).Rows(0).Item(c)
Next
db.dsDaten.Tables(0).Rows(0).Item(0) = newkey
db.dsDaten.Tables(0).Rows(0).Item("Erstellt_am") = Now
db.dsDaten.Tables(0).Rows(0).Item("mutiert_am") = Now
db.dsDaten.Tables(0).Rows(0).Item("mutierer") = Globals.ActUser
db.dsDaten.Tables(0).Rows(0).Item("aktiv") = True
db.dsDaten.Tables(0).Rows(0).Item("Gueltigab") = Now
db.dsDaten.Tables(0).Rows(0).Item("GEBDAT") = Now
db.dsDaten.Tables(0).Rows.Add(r)
db.Update_Data()
Me.PatientNr = newkey
db.Dispose()
End Sub
Private Sub SuperTabControl1_SelectedTabChanged(sender As Object, e As DevComponents.DotNetBar.SuperTabStripSelectedTabChangedEventArgs) Handles SuperTabControl1.SelectedTabChanged
If SuperTabControl1.SelectedTab.Name = "Krankengeschichte" Or SuperTabControl1.SelectedTab.Name = "Journal" Then
Me.Krankengeschichte1.Patientnr = Me.PatientNr
End If
If SuperTabControl1.SelectedTab.Name = "Finanzen" Then
Me.Finanzen1.Refresh_Data()
End If
If SuperTabControl1.SelectedTab.Name = "Dokumente" Then
Me.ClsDokumente1.Patientnr = Me.PatientNr
Me.ClsDokumente1.refreshdata()
End If
End Sub
Private Sub evh_Recall_Anzeigen(Datum As Date, patient As Integer, behandler As Integer) Handles evh.Recall_Anzeigen
If Me.PatientNr = patient Then
SuperTabControl1.SelectNextTab()
SuperTabControl1.SelectNextTab()
Me.Recall1.SetValues(Datum, patient, behandler)
End If
End Sub
Private Sub evh_Finanzen_Anzeigen(patient As Integer) Handles evh.Finanzen_Anzeigen
If Me.PatientNr = patient Then
SuperTabControl1.SelectNextTab()
End If
End Sub
Private Sub tsbtnVTX_Click(sender As Object, e As EventArgs) Handles tsbtnVTX.Click
Dim db As New clsDB
If Globals.DruckBranche Then
db.Get_Tabledata("Privat", "where aktiv=1 and nrprivat=" + Me.PatientNr.ToString)
Else
db.Get_Tabledata("Privat", "where nrprivat=" + Me.PatientNr.ToString)
End If
If db.dsDaten.Tables(0).Rows(0).Item("Name") = "" Or db.dsDaten.Tables(0).Rows(0).Item("Vorname") = "" Or db.dsDaten.Tables(0).Rows(0).Item("Strasse") = "" Or db.dsDaten.Tables(0).Rows(0).Item("PLZ") = "" Or db.dsDaten.Tables(0).Rows(0).Item("Ort") = "" Or db.dsDaten.Tables(0).Rows(0).Item("gebdat").ToString = "" Then
MsgBox("Name, Vorname, Strasse, PLZ, Ort und Geburtsdatum sind Pflichtfelder. Bitte Daten korrigieren.")
db.Dispose()
Exit Sub
End If
Dim vddsmodule As String = db.Get_Option(9999)
Dim vdspath As String = db.Get_Option(9998) + "\"
Dim filename As String = vdspath + Me.PatientNr.ToString + ".ini"
FileOpen(1, filename, OpenMode.Output)
PrintLine(1, "[Patient]")
PrintLine(1, "PVS=DPM")
PrintLine(1, "BVS=VixWinPRO_Imaging")
PrintLine(1, "PATID=" + Me.PatientNr.ToString)
PrintLine(1, "LASTNAME=" + db.dsDaten.Tables(0).Rows(0).Item("name").ToString)
PrintLine(1, "FIRSTNAME=" + db.dsDaten.Tables(0).Rows(0).Item("vorname").ToString)
PrintLine(1, "BIRTYDAY=" + Format(db.dsDaten.Tables(0).Rows(0).Item("gebdat").ToString, "yyyyMMdd"))
If db.dsDaten.Tables(0).Rows(0).Item("geschlecht").ToString = "1" Then
PrintLine(1, "SEX=F")
Else
PrintLine(1, "SEX=M")
End If
PrintLine(1, "STREET=" + db.dsDaten.Tables(0).Rows(0).Item("strasse").ToString)
PrintLine(1, "CITY=" + db.dsDaten.Tables(0).Rows(0).Item("Ort").ToString)
PrintLine(1, "ZIP=" + db.dsDaten.Tables(0).Rows(0).Item("plz").ToString)
PrintLine(1, "READY=0")
PrintLine(1, "ERRORLEVEL=0")
PrintLine(1, "ERRORTEXT=0")
FileClose(1)
Try
' MsgBox(vddsmodule + " " + filename)
Process.Start(vddsmodule, filename)
Catch
End Try
End Sub
Private Sub tnVTX_Click(sender As Object, e As EventArgs) Handles btnVTX.Click
Me.tsbtnVTX_Click(sender, e)
End Sub
Private Sub Patient_Resize(sender As Object, e As EventArgs) Handles Me.Resize
Me.Label1.Left = Me.Width / 2 - 8 - Me.Label1.Width / 2
Me.Krankengeschichte1.Refresh_KG()
End Sub
Private Sub Patient_TextChanged(sender As Object, e As EventArgs) Handles MyBase.TextChanged
Create_temp_form()
End Sub
Public Function Create_temp_form()
Exit Function
Try
Dim f As New frmdummy
f.Width = 0
f.Height = 0
f.Visible = False
f.MdiParent = Me.MdiParent
f.Show()
f.Close()
f = Nothing
Catch
End Try
End Function
Private Sub tstxtsuche_Click(sender As Object, e As EventArgs) Handles tstxtsuche.Click
End Sub
Private Sub Finanzen1_Load(sender As Object, e As EventArgs) Handles Finanzen1.Load
End Sub
Private Sub tsrbprivat_Click(sender As Object, e As EventArgs) Handles tsrbprivat.Click
'If Globals.OnLoad Then Exit Sub
'Me.PatientNr = Me.PatientNr
If tsrbprivat.Checked Then
Me.SuperTabControl1.Tabs("Stammdaten").Visible = True
Me.SuperTabControl1.Tabs("Stammdaten_Firma").Visible = False
Me.SuperTabControl1.SelectedTabIndex = 0
End If
End Sub
Private Sub tsrbunternehmen_Click(sender As Object, e As EventArgs) Handles tsrbunternehmen.Click
'-- If Globals.OnLoad Then Exit Sub
' Me.PatientNr = Me.PatientNr
Globals.is_stammdatenen_firma = False
If tsrbunternehmen.Checked Then
Globals.is_stammdatenen_firma = True
'Me.PatientDetails1.chklbAdresstyp.Visible = False
Me.SuperTabControl1.Tabs("Stammdaten").Visible = False
Me.SuperTabControl1.Tabs("Stammdaten_Firma").Visible = True
Me.PatientDetails1.Label13.Visible = False
Me.PatientDetailsFirma1.Label13.Visible = False
Me.SuperTabControl1.Tabs("Behandlungen").Text = "Projekte"
Me.SuperTabControl1.Tabs("Recall").Visible = False
Me.SuperTabControl1.Tabs("Abrechnung").Visible = False
Me.PatientDetails1.lblName.Text = "Name/Firma"
Me.SuperTabControl1.SelectedTabIndex = 1
End If
End Sub
Private Sub ToolStrip1_ItemClicked(sender As Object, e As ToolStripItemClickedEventArgs) Handles ToolStrip1.ItemClicked
End Sub
Private Sub ToolStripButton1_Click_1(sender As Object, e As EventArgs) Handles ToolStripButton1.Click
End Sub
Private Sub ToolStripLabel1_Click(sender As Object, e As EventArgs) Handles ToolStripLabel1.Click
End Sub
Private Sub ToolStripButton2_Click(sender As Object, e As EventArgs) Handles ToolStripButton2.Click
If MsgBox("Datensatz wirklich löschen?", MsgBoxStyle.Question + MsgBoxStyle.YesNo) = vbYes Then
Dim db As New clsDB
db.Exec_SQL("Update privat set aktiv=0, mutiert_am=getdate(), mutierer=" + Globals.ActUser.ToString + " where nrprivat=" + Me.PatientNr.ToString)
ToastInfo.ShowToastMessage(Me, "Datensatz gelöscht", "Datensatz wurde gelöscht.", kp.Toaster.ToastType.INFO, 500)
tsbtnfirst_Click(sender, e)
End If
End Sub
End Class