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 dbx.Get_Tabledata("Privat", "", "Select * from privat where nrprivat=" + m_nrpatient.ToString) 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 UCase(db1.Get_Option("60020")) = "FALSE" Then Exit Sub Try ' Globals.sec.Set_Form_Security(Me) Catch End Try If Globals.DruckBranche Then tsrbprivat.Visible = True tsrbunternehmen.Visible = True Else tsrbunternehmen.Visible = False tsrbprivat.Visible = False End If 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 db.Get_Tabledata("Patient", "", "Select top 1 * from privat where nrprivat>0 order by name, vorname, ort,nrprivat") 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 db.Get_Tabledata("Patient", "", "select * from privat where nrprivat=" + Me.PatientNr.ToString) 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 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") ' 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 db.Get_Tabledata("Patient", "", "select * from privat where nrprivat=" + Me.PatientNr.ToString) 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 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") ' 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 db.Get_Tabledata("Privat", "where nrprivat=" + Me.PatientNr.ToString) 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 End Class