浏览代码

Minimale anpassung für OPS Gruppe 3

master
父节点
当前提交
b81d7f16c5
共有 6 个文件被更改,包括 23 次插入53 次删除
  1. +17
    -25
      src/main/java/de/uniluebeck/mi/projmi6/controller/DiagnoseController.java
  2. +0
    -2
      src/main/java/de/uniluebeck/mi/projmi6/controller/FallController.java
  3. +1
    -1
      src/main/java/de/uniluebeck/mi/projmi6/controller/MainController.java
  4. +4
    -11
      src/main/java/de/uniluebeck/mi/projmi6/controller/PatientTablesController.java
  5. +1
    -2
      src/main/java/de/uniluebeck/mi/projmi6/controller/UntersuchungenController.java
  6. +0
    -12
      src/main/java/de/uniluebeck/mi/projmi6/hapi/HL7Utils.java

+ 17
- 25
src/main/java/de/uniluebeck/mi/projmi6/controller/DiagnoseController.java 查看文件

@@ -26,25 +26,14 @@ import javafx.scene.layout.GridPane;
public class DiagnoseController { public class DiagnoseController {


private final SimpleObjectProperty<ObservableList<Diagnose>> diagnosen = new SimpleObjectProperty<>(); private final SimpleObjectProperty<ObservableList<Diagnose>> diagnosen = new SimpleObjectProperty<>();

/**
* Controller state definitions
*/
public enum State {
CREATE, EDIT, VIEW
}

/** /**
* Current controllers state * Current controllers state
*/ */
private final SimpleObjectProperty<State> state = new SimpleObjectProperty<>(State.VIEW); private final SimpleObjectProperty<State> state = new SimpleObjectProperty<>(State.VIEW);

@FXML
private Button btnDiagAbort, btnDiagEdit, btnDiagSave, btnDiagCreate, btnDiagCancel;

@FXML @FXML
private final MainController mainController; private final MainController mainController;

@FXML
private Button btnDiagAbort, btnDiagEdit, btnDiagSave, btnDiagCreate, btnDiagCancel;
@FXML @FXML
private ListView<Diagnose> diagnoseList; private ListView<Diagnose> diagnoseList;
@FXML @FXML
@@ -78,7 +67,6 @@ public class DiagnoseController {
return diagnosen.get(); return diagnosen.get();
} }



/** /**
* Setter for the {@link #diagnosenProperty()}. * Setter for the {@link #diagnosenProperty()}.
* *
@@ -129,7 +117,7 @@ public class DiagnoseController {
diagDiagnoseArt.setItems(FXCollections.observableArrayList(DiagArt.values())); diagDiagnoseArt.setItems(FXCollections.observableArrayList(DiagArt.values()));


FilteredList<Mitarbeiter> mitarbeiterFilteredList = new FilteredList<Mitarbeiter>(mainController.getStammdaten().getMitarbeiter()); FilteredList<Mitarbeiter> mitarbeiterFilteredList = new FilteredList<Mitarbeiter>(mainController.getStammdaten().getMitarbeiter());
mitarbeiterFilteredList.setPredicate(m -> !m.getNachname().equalsIgnoreCase("SYSTEM"));
mitarbeiterFilteredList.setPredicate(m -> (!m.getNachname().equalsIgnoreCase("SYSTEM") && !m.getNachname().equalsIgnoreCase("EXTERN")));
diagDiagnoseArzt.setItems(mitarbeiterFilteredList); diagDiagnoseArzt.setItems(mitarbeiterFilteredList);


diagnoseList.itemsProperty().bind(diagnosen); diagnoseList.itemsProperty().bind(diagnosen);
@@ -168,7 +156,6 @@ public class DiagnoseController {


} }



/** /**
* Alert dialog when the data entered is invalid. * Alert dialog when the data entered is invalid.
*/ */
@@ -181,20 +168,19 @@ public class DiagnoseController {
alert.showAndWait(); alert.showAndWait();
} }



/** /**
* Checks if doctor, icd10-code and Diagnoseart are set. * Checks if doctor, icd10-code and Diagnoseart are set.
*/ */
private boolean validateData(Diagnose diagnose){
if(diagnose.getArzt()==null){
showMessage("Arzt nicht angegeben!","Bitte den Arzt, der die Diagnose erstellt hat, aus der List ausw\u00e4hlen!");
private boolean validateData(Diagnose diagnose) {
if (diagnose.getArzt() == null) {
showMessage("Arzt nicht angegeben!", "Bitte den Arzt, der die Diagnose erstellt hat, aus der List ausw\u00e4hlen!");
return false; return false;
} }
if(diagnose.getDiagArt()==null){
if (diagnose.getDiagArt() == null) {
showMessage("Diagnoseart nicht angegeben!", "Bitte die Art der Diagnose angeben!"); showMessage("Diagnoseart nicht angegeben!", "Bitte die Art der Diagnose angeben!");
return false; return false;
} }
if(diagnose.getIcd10code()==null){
if (diagnose.getIcd10code() == null) {
showMessage("Die Diagnose hat keinen ICD-10-Code!", "Bitte einen ICD-10-Code angeben!"); showMessage("Die Diagnose hat keinen ICD-10-Code!", "Bitte einen ICD-10-Code angeben!");
return false; return false;
} }
@@ -202,13 +188,12 @@ public class DiagnoseController {
return true; return true;
} }



/** /**
* Bind button visibility to application state. * Bind button visibility to application state.
*/ */
private void initButtons() { private void initButtons() {
btnDiagCreate.disableProperty().bind(mainController.fallProperty().isNull().or(Bindings.createBooleanBinding( btnDiagCreate.disableProperty().bind(mainController.fallProperty().isNull().or(Bindings.createBooleanBinding(
()->mainController.getFall()!= null && mainController.getFall().getStorniert(), mainController.fallProperty())));
() -> mainController.getFall() != null && mainController.getFall().getStorniert(), mainController.fallProperty())));


btnDiagEdit.disableProperty().bind(diagnoseList.getSelectionModel().selectedItemProperty().isNull()); btnDiagEdit.disableProperty().bind(diagnoseList.getSelectionModel().selectedItemProperty().isNull());


@@ -266,7 +251,7 @@ public class DiagnoseController {
//Create new diagnosis //Create new diagnosis
Diagnose diagnose = new Diagnose(); Diagnose diagnose = new Diagnose();
copyFieldDataIntoDiagnose(diagnose); copyFieldDataIntoDiagnose(diagnose);
if(!validateData(diagnose)){
if (!validateData(diagnose)) {
return; return;
} }
try { try {
@@ -336,4 +321,11 @@ public class DiagnoseController {
diagChangeTime.setText(""); diagChangeTime.setText("");
} }


/**
* Controller state definitions
*/
public enum State {
CREATE, EDIT, VIEW
}

} }

+ 0
- 2
src/main/java/de/uniluebeck/mi/projmi6/controller/FallController.java 查看文件

@@ -6,7 +6,6 @@ import de.uniluebeck.mi.projmi6.db.DBHandler;
import de.uniluebeck.mi.projmi6.hapi.HL7Sender; import de.uniluebeck.mi.projmi6.hapi.HL7Sender;
import de.uniluebeck.mi.projmi6.model.*; import de.uniluebeck.mi.projmi6.model.*;
import de.uniluebeck.mi.projmi6.view.DateTimePicker; import de.uniluebeck.mi.projmi6.view.DateTimePicker;
import javafx.beans.binding.Bindings;
import javafx.beans.property.ObjectProperty; import javafx.beans.property.ObjectProperty;
import javafx.beans.property.ReadOnlyObjectProperty; import javafx.beans.property.ReadOnlyObjectProperty;
import javafx.beans.property.SimpleObjectProperty; import javafx.beans.property.SimpleObjectProperty;
@@ -458,7 +457,6 @@ public class FallController {
} }


for (Diagnose diagnose : fallHauptdiagnose.getItems()) { for (Diagnose diagnose : fallHauptdiagnose.getItems()) {
System.out.println(diagnose.getDiagID() + "=" + fall.getHauptdiagnoseId());
if (diagnose.getDiagID().equalsIgnoreCase(fall.getHauptdiagnoseId())) { if (diagnose.getDiagID().equalsIgnoreCase(fall.getHauptdiagnoseId())) {
fallHauptdiagnose.getSelectionModel().select(diagnose); fallHauptdiagnose.getSelectionModel().select(diagnose);
return; return;


+ 1
- 1
src/main/java/de/uniluebeck/mi/projmi6/controller/MainController.java 查看文件

@@ -318,7 +318,7 @@ public class MainController {


//Init user data. //Init user data.
FilteredList<Mitarbeiter> mitarbeiterFilteredList = new FilteredList<Mitarbeiter>(this.getStammdaten().getMitarbeiter()); FilteredList<Mitarbeiter> mitarbeiterFilteredList = new FilteredList<Mitarbeiter>(this.getStammdaten().getMitarbeiter());
mitarbeiterFilteredList.setPredicate(m -> !m.getNachname().equalsIgnoreCase("SYSTEM"));
mitarbeiterFilteredList.setPredicate(m -> (!m.getNachname().equalsIgnoreCase("SYSTEM") && !m.getNachname().equalsIgnoreCase("EXTERN")));


cmbUserChoose.setItems(mitarbeiterFilteredList); cmbUserChoose.setItems(mitarbeiterFilteredList);
cmbUserChoose.getSelectionModel().select(0); cmbUserChoose.getSelectionModel().select(0);


+ 4
- 11
src/main/java/de/uniluebeck/mi/projmi6/controller/PatientTablesController.java 查看文件

@@ -36,6 +36,9 @@ public class PatientTablesController {




private final MainController mainController; private final MainController mainController;
private final ObservableList<StationsUebersichtsItem> stationsUebersicht = FXCollections.observableArrayList();
private final FilteredList<StationsUebersichtsItem> stationsUebersichtsItemFilteredList = new FilteredList<StationsUebersichtsItem>(stationsUebersicht,
item -> item.getStationEntlassung() == null || item.getStationEntlassung().isAfter(LocalDate.now()));
/** /**
* The placeholder labels in case the TableViews are empty * The placeholder labels in case the TableViews are empty
*/ */
@@ -50,10 +53,8 @@ public class PatientTablesController {
colPatPlz, colPatOrt, colPatCave; colPatPlz, colPatOrt, colPatCave;
@FXML @FXML
private TableColumn<Patient, LocalDate> colPatGebDatum; private TableColumn<Patient, LocalDate> colPatGebDatum;

@FXML @FXML
private ToggleButton btnEntlassenePatientenZeigen; private ToggleButton btnEntlassenePatientenZeigen;

@FXML @FXML
private Button btnStatRefresh; private Button btnStatRefresh;
@FXML @FXML
@@ -66,17 +67,10 @@ public class PatientTablesController {
private TableColumn<StationsUebersichtsItem, String> colStatFullName; private TableColumn<StationsUebersichtsItem, String> colStatFullName;
@FXML @FXML
private TableColumn<StationsUebersichtsItem, LocalDate> colStatGebDatum, colStatAufnahmedatum, colStatEntlassungsdatum; private TableColumn<StationsUebersichtsItem, LocalDate> colStatGebDatum, colStatAufnahmedatum, colStatEntlassungsdatum;


@FXML @FXML
private TabPane patientOverviewTabPane; private TabPane patientOverviewTabPane;
@FXML @FXML
private Tab stationOverviewTab, patientOverviewTab; private Tab stationOverviewTab, patientOverviewTab;

private final ObservableList<StationsUebersichtsItem> stationsUebersicht = FXCollections.observableArrayList();
private final FilteredList<StationsUebersichtsItem> stationsUebersichtsItemFilteredList = new FilteredList<StationsUebersichtsItem>(stationsUebersicht,
item -> item.getStationEntlassung() == null || item.getStationEntlassung().isAfter(LocalDate.now()));

private Task loadStationsHistorieTask = null; private Task loadStationsHistorieTask = null;
private Task loadPatientTask = null; private Task loadPatientTask = null;
private ObjectBinding<Patient> patientObjectBinding = null; private ObjectBinding<Patient> patientObjectBinding = null;
@@ -247,8 +241,7 @@ public class PatientTablesController {
* Start the db request for loading every patient in the MySQL database. * Start the db request for loading every patient in the MySQL database.
*/ */
public void updatePatientsFromDb() { public void updatePatientsFromDb() {
if (this.loadPatientTask != null && this.loadPatientTask.isRunning()) {
System.out.println("Patienten werden bereits geladen.");
if (loadPatientTask != null && loadPatientTask.isRunning()) {
return; return;
} }




+ 1
- 2
src/main/java/de/uniluebeck/mi/projmi6/controller/UntersuchungenController.java 查看文件

@@ -5,7 +5,6 @@ package de.uniluebeck.mi.projmi6.controller;
*/ */


import de.uniluebeck.mi.projmi6.db.DBHandler; import de.uniluebeck.mi.projmi6.db.DBHandler;
import de.uniluebeck.mi.projmi6.model.Diagnose;
import de.uniluebeck.mi.projmi6.model.Mitarbeiter; import de.uniluebeck.mi.projmi6.model.Mitarbeiter;
import de.uniluebeck.mi.projmi6.model.OpsCode; import de.uniluebeck.mi.projmi6.model.OpsCode;
import de.uniluebeck.mi.projmi6.model.Untersuchung; import de.uniluebeck.mi.projmi6.model.Untersuchung;
@@ -114,7 +113,7 @@ public class UntersuchungenController {
new SelectKeyComboBoxListener(untsOpsCode); new SelectKeyComboBoxListener(untsOpsCode);


FilteredList<Mitarbeiter> mitarbeiterFilteredList = new FilteredList<Mitarbeiter>(mainController.getStammdaten().getMitarbeiter()); FilteredList<Mitarbeiter> mitarbeiterFilteredList = new FilteredList<Mitarbeiter>(mainController.getStammdaten().getMitarbeiter());
mitarbeiterFilteredList.setPredicate(m -> !m.getNachname().equalsIgnoreCase("SYSTEM"));
mitarbeiterFilteredList.setPredicate(m -> (!m.getNachname().equalsIgnoreCase("SYSTEM") && !m.getNachname().equalsIgnoreCase("EXTERN")));
untsArzt.setItems(mitarbeiterFilteredList); untsArzt.setItems(mitarbeiterFilteredList);
} }




+ 0
- 12
src/main/java/de/uniluebeck/mi/projmi6/hapi/HL7Utils.java 查看文件

@@ -26,18 +26,6 @@ public class HL7Utils {
return null; return null;
} }


public static String parseIcd10Code(String icd10code) {
return removeWhitespaces(icd10code).substring(0, 5);
}

public static String parseOpsCode(String opscode) {
return removeWhitespaces(opscode).substring(0, 7);
}

private static String removeWhitespaces(String s) {
return s.replaceAll("\\s", "");
}

public static void logHL7MessageToDatabase(HL7LogEntry entry) { public static void logHL7MessageToDatabase(HL7LogEntry entry) {
try { try {
DBHandler.setHL7LogEntry(entry); DBHandler.setHL7LogEntry(entry);


正在加载...
取消
保存