From c6f9dbe1661f2639ac4a254a362031c0fa80432c Mon Sep 17 00:00:00 2001
From: Trang Nguyen <thi_huyen_trang.nguyen@student.reutlingen-university.de>
Date: Sun, 24 Jan 2021 20:16:05 +0100
Subject: [PATCH] KAT-108: Added directories enums, exception, model

---
 rescueapp/lib/main.dart                       |  10 +-
 .../enums/start_triage_state.dart             |  11 +
 .../invalid_triage_state_exception.dart       |   5 +
 .../invalid_triage_state_exception.dart       |   1 -
 .../model/startTriage.dart                    | 237 ++++++++++++++++++
 .../lib/start_triage_system/startTriage.dart  | 227 -----------------
 .../{ => widgets}/after_opening_airways.dart  |  13 +-
 .../{ => widgets}/ambulatory.dart             |  21 +-
 .../breathing_frequency_per_minute.dart       |  14 +-
 .../{ => widgets}/camera_access.dart          |  25 +-
 .../{ => widgets}/circulation.dart            |  38 +--
 .../{ => widgets}/lock_screen.dart            |  13 +-
 .../{ => widgets}/neurology.dart              |  16 +-
 .../spontaneous_breathing_present.dart        |  18 +-
 14 files changed, 342 insertions(+), 307 deletions(-)
 create mode 100644 rescueapp/lib/start_triage_system/enums/start_triage_state.dart
 create mode 100644 rescueapp/lib/start_triage_system/exceptions/invalid_triage_state_exception.dart
 delete mode 100644 rescueapp/lib/start_triage_system/invalid_triage_state_exception.dart
 create mode 100644 rescueapp/lib/start_triage_system/model/startTriage.dart
 delete mode 100644 rescueapp/lib/start_triage_system/startTriage.dart
 rename rescueapp/lib/start_triage_system/{ => widgets}/after_opening_airways.dart (96%)
 rename rescueapp/lib/start_triage_system/{ => widgets}/ambulatory.dart (92%)
 rename rescueapp/lib/start_triage_system/{ => widgets}/breathing_frequency_per_minute.dart (96%)
 rename rescueapp/lib/start_triage_system/{ => widgets}/camera_access.dart (87%)
 rename rescueapp/lib/start_triage_system/{ => widgets}/circulation.dart (86%)
 rename rescueapp/lib/start_triage_system/{ => widgets}/lock_screen.dart (94%)
 rename rescueapp/lib/start_triage_system/{ => widgets}/neurology.dart (96%)
 rename rescueapp/lib/start_triage_system/{ => widgets}/spontaneous_breathing_present.dart (92%)

diff --git a/rescueapp/lib/main.dart b/rescueapp/lib/main.dart
index ec669a6..d471f73 100644
--- a/rescueapp/lib/main.dart
+++ b/rescueapp/lib/main.dart
@@ -1,6 +1,6 @@
 import 'package:flutter/material.dart';
-import 'package:rescueapp/start_triage_system/startTriage.dart';
-import 'start_triage_system/ambulatory.dart';
+import 'package:rescueapp/start_triage_system/model/startTriage.dart';
+import 'package:rescueapp/start_triage_system/widgets/ambulatory.dart';
 
 void main() {
   runApp(MyApp());
@@ -21,6 +21,7 @@ class MyApp extends StatelessWidget {
 class MyHomePage extends StatelessWidget {
   @override
   Widget build(BuildContext context) {
+    StartTriage startTriage = new StartTriage();
     return Scaffold(
       appBar: AppBar(
         title: Text('KatApp Homepage'),
@@ -45,7 +46,8 @@ class MyHomePage extends StatelessWidget {
                   onPressed: () {
                     Navigator.push(
                       context,
-                      MaterialPageRoute(builder: (context) => Ambulatory(new StartTriage())),
+                      MaterialPageRoute(
+                          builder: (context) => Ambulatory(startTriage)),
                     );
                   },
                 ))),
@@ -60,7 +62,7 @@ class MyHomePage extends StatelessWidget {
                       child: Text('REAL',
                           style: TextStyle(fontSize: 22, color: Colors.white)),
                       color: Colors.red,
-                      onPressed: null )),
+                      onPressed: null)),
             ),
           ],
         ),
diff --git a/rescueapp/lib/start_triage_system/enums/start_triage_state.dart b/rescueapp/lib/start_triage_system/enums/start_triage_state.dart
new file mode 100644
index 0000000..9b720b9
--- /dev/null
+++ b/rescueapp/lib/start_triage_system/enums/start_triage_state.dart
@@ -0,0 +1,11 @@
+enum StartTriageState {
+  Ambulatory,
+  SpontaneousBreathingPresent,
+  AfterOpeningAirways,
+  BreathingFrequencyPerMinute,
+  CapillaryFillingTime,
+  Neurology,
+  CameraAccess,
+  LockScreen,
+  ObjectState
+}
diff --git a/rescueapp/lib/start_triage_system/exceptions/invalid_triage_state_exception.dart b/rescueapp/lib/start_triage_system/exceptions/invalid_triage_state_exception.dart
new file mode 100644
index 0000000..5f4015e
--- /dev/null
+++ b/rescueapp/lib/start_triage_system/exceptions/invalid_triage_state_exception.dart
@@ -0,0 +1,5 @@
+class InvalidTriageStateException implements Exception {
+  final String message;
+  InvalidTriageStateException(this.message);
+  String toString() => 'InvalidTriageStateException: $message';
+}
diff --git a/rescueapp/lib/start_triage_system/invalid_triage_state_exception.dart b/rescueapp/lib/start_triage_system/invalid_triage_state_exception.dart
deleted file mode 100644
index fccd2fc..0000000
--- a/rescueapp/lib/start_triage_system/invalid_triage_state_exception.dart
+++ /dev/null
@@ -1 +0,0 @@
-class InvalidTriageStateException implements Exception { }
\ No newline at end of file
diff --git a/rescueapp/lib/start_triage_system/model/startTriage.dart b/rescueapp/lib/start_triage_system/model/startTriage.dart
new file mode 100644
index 0000000..2fc2f9d
--- /dev/null
+++ b/rescueapp/lib/start_triage_system/model/startTriage.dart
@@ -0,0 +1,237 @@
+import 'package:flutter/material.dart';
+import '../enums/start_triage_state.dart';
+import '../exceptions/invalid_triage_state_exception.dart';
+
+class StartTriage {
+  bool _isAmbulatory;
+  bool _isSpontaneousBreathingPresent;
+  bool _isAfterOpeningAirways;
+  bool _isBreathingFrequencyPerMinute;
+  bool _isCirculation;
+  bool _isNeurology;
+
+  Object objectState = StartTriageState.ObjectState;
+  TriageCategory _triageCategory = new TriageCategory();
+  StartTriageState _startTriageState = StartTriageState.ObjectState;
+
+  String getDateTime() {
+    DateTime now = DateTime.now();
+    String currentTime =
+        "${now.day.toString()}-${now.month.toString().padLeft(2, '0')}"
+        "-${now.year.toString().padLeft(2, '0')}/"
+        " ${now.hour.toString()}:${now.minute.toString()}:${now.second.toString()}";
+    return currentTime;
+  }
+
+  bool getIsAmbulatory() {
+    return _isAmbulatory;
+  }
+
+  bool getIsSpontaneousBreathingPresent() {
+    return _isSpontaneousBreathingPresent;
+  }
+
+  bool getIsAfterOpeningAirways() {
+    return _isAfterOpeningAirways;
+  }
+
+  bool getIsBreathingFrequencyPerMinute() {
+    return _isBreathingFrequencyPerMinute;
+  }
+
+  bool getIsCirculation() {
+    return _isCirculation;
+  }
+
+  bool getIsNeurology() {
+    return _isNeurology;
+  }
+
+  void setIsSpontaneousBreathingPresent(bool isSpontaneousBreathingPresent) {
+    switch (_startTriageState) {
+      case StartTriageState.LockScreen:
+      case StartTriageState.CameraAccess:
+      case StartTriageState.SpontaneousBreathingPresent:
+      case StartTriageState.Ambulatory:
+      case StartTriageState.AfterOpeningAirways:
+      case StartTriageState.BreathingFrequencyPerMinute:
+      case StartTriageState.Neurology:
+      case StartTriageState.CapillaryFillingTime:
+        this._isSpontaneousBreathingPresent = isSpontaneousBreathingPresent;
+        break;
+      default:
+        throw new InvalidTriageStateException('InvalidTriageStateException');
+        break;
+    }
+  }
+
+  void setIsAfterOpeningAirways(bool isAfterOpeningAirways) {
+    switch (_startTriageState) {
+      case StartTriageState.AfterOpeningAirways:
+      case StartTriageState.LockScreen:
+      case StartTriageState.CameraAccess:
+      case StartTriageState.Ambulatory:
+      case StartTriageState.SpontaneousBreathingPresent:
+        this._isAfterOpeningAirways = isAfterOpeningAirways;
+        break;
+      default:
+        throw new InvalidTriageStateException('InvalidTriageStateException');
+        break;
+    }
+  }
+
+  void setBreathingFrequencyPerMinute(bool isBreathingFrequencyPerMinute) {
+    switch (_startTriageState) {
+      case StartTriageState.BreathingFrequencyPerMinute:
+      case StartTriageState.SpontaneousBreathingPresent:
+      case StartTriageState.LockScreen:
+      case StartTriageState.CameraAccess:
+      case StartTriageState.Ambulatory:
+      case StartTriageState.Neurology:
+      case StartTriageState.CapillaryFillingTime:
+        this._isBreathingFrequencyPerMinute = isBreathingFrequencyPerMinute;
+        break;
+      default:
+        throw new InvalidTriageStateException('InvalidTriageStateException');
+        break;
+    }
+  }
+
+  void setIsNeurology(bool isNeurology) {
+    switch (_startTriageState) {
+      case StartTriageState.Neurology:
+      case StartTriageState.SpontaneousBreathingPresent:
+      case StartTriageState.LockScreen:
+      case StartTriageState.CameraAccess:
+      case StartTriageState.Ambulatory:
+      case StartTriageState.BreathingFrequencyPerMinute:
+      case StartTriageState.CapillaryFillingTime:
+        this._isNeurology = isNeurology;
+        break;
+      default:
+        throw new InvalidTriageStateException('InvalidTriageStateException');
+        break;
+    }
+  }
+
+  void setIsCirculation(bool isCirculation) {
+    switch (_startTriageState) {
+      case StartTriageState.SpontaneousBreathingPresent:
+      case StartTriageState.LockScreen:
+      case StartTriageState.CameraAccess:
+      case StartTriageState.Ambulatory:
+      case StartTriageState.BreathingFrequencyPerMinute:
+      case StartTriageState.Neurology:
+      case StartTriageState.CapillaryFillingTime:
+        this._isCirculation = isCirculation;
+        break;
+      default:
+        throw new InvalidTriageStateException('InvalidTriageStateException');
+        break;
+    }
+  }
+
+  void setIsAmbulatory(bool isAmbulatory) {
+    switch (_startTriageState) {
+      case StartTriageState.BreathingFrequencyPerMinute:
+      case StartTriageState.SpontaneousBreathingPresent:
+      case StartTriageState.LockScreen:
+      case StartTriageState.CameraAccess:
+      case StartTriageState.Ambulatory:
+      case StartTriageState.Neurology:
+      case StartTriageState.CapillaryFillingTime:
+      case StartTriageState.AfterOpeningAirways:
+        this._isAmbulatory = isAmbulatory;
+        break;
+      default:
+        throw new InvalidTriageStateException('InvalidTriageStateException');
+        break;
+    }
+  }
+
+  void setState(StartTriageState value) {
+    _startTriageState = value;
+    String categoryName;
+    Color color;
+    if (value == StartTriageState.Ambulatory ||
+        value == StartTriageState.CameraAccess ||
+        value == StartTriageState.CapillaryFillingTime ||
+        value == StartTriageState.Neurology ||
+        value == StartTriageState.AfterOpeningAirways ||
+        value == StartTriageState.BreathingFrequencyPerMinute ||
+        value == StartTriageState.SpontaneousBreathingPresent) {
+      categoryName = "";
+    } else if (value == StartTriageState.LockScreen) {
+      if ((this._isAmbulatory == true)) {
+        categoryName = 'Kategorie T3';
+        color = Colors.green;
+      } else if (this._isAmbulatory == false &&
+          this._isSpontaneousBreathingPresent == false &&
+          this._isAfterOpeningAirways == false) {
+        categoryName = "Kategorie T4";
+        color = Colors.black;
+      } else if (this._isAmbulatory == false &&
+          this._isSpontaneousBreathingPresent == false &&
+          this._isAfterOpeningAirways == true) {
+        categoryName = "Kategorie T1A";
+        color = Colors.red;
+      } else if (this._isAmbulatory == false &&
+          this._isSpontaneousBreathingPresent == true &&
+          this._isBreathingFrequencyPerMinute == true) {
+        categoryName = "Kategorie T1B";
+        color = Colors.red;
+      } else if (this._isAmbulatory == false &&
+          this._isSpontaneousBreathingPresent == true &&
+          this._isBreathingFrequencyPerMinute == false &&
+          this._isCirculation == true) {
+        categoryName = "Kategorie T1C";
+        color = Colors.red;
+      } else if (this._isAmbulatory == false &&
+          this._isSpontaneousBreathingPresent == true &&
+          this._isBreathingFrequencyPerMinute == false &&
+          this._isCirculation == false &&
+          this._isNeurology == false) {
+        categoryName = "Kategorie T1D";
+        color = Colors.red;
+      } else if (this._isAmbulatory == false &&
+          this._isSpontaneousBreathingPresent == true &&
+          this._isBreathingFrequencyPerMinute == false &&
+          this._isCirculation == false &&
+          this._isNeurology == true) {
+        categoryName = "Kategorie T2";
+        color = Colors.yellow;
+      }
+    }
+    if (categoryName != null) {
+      _triageCategory.setCategory(categoryName);
+      _triageCategory.setColor(color);
+    } else {
+      throw new InvalidTriageStateException("InvalidTriageStateException");
+    }
+  }
+
+  TriageCategory getTriageCategory() {
+    return _triageCategory;
+  }
+}
+
+class TriageCategory {
+  String _category;
+  Color _color;
+
+  String getCategory() {
+    return _category;
+  }
+
+  void setCategory(String category) {
+    this._category = category;
+  }
+
+  Color getColor() {
+    return _color;
+  }
+
+  void setColor(Color color) {
+    this._color = color;
+  }
+}
diff --git a/rescueapp/lib/start_triage_system/startTriage.dart b/rescueapp/lib/start_triage_system/startTriage.dart
deleted file mode 100644
index 9b93180..0000000
--- a/rescueapp/lib/start_triage_system/startTriage.dart
+++ /dev/null
@@ -1,227 +0,0 @@
-import 'package:flutter/material.dart';
-import 'package:rescueapp/start_triage_system/after_opening_airways.dart';
-import 'package:rescueapp/start_triage_system/ambulatory.dart';
-import 'package:rescueapp/start_triage_system/camera_access.dart';
-import 'package:rescueapp/start_triage_system/lock_screen.dart';
-import 'package:rescueapp/start_triage_system/spontaneous_breathing_present.dart';
-
-import 'breathing_frequency_per_minute.dart';
-import 'circulation.dart';
-import 'invalid_triage_state_exception.dart';
-import 'neurology.dart';
-
-class StartTriage {
-  bool _isAmbulatory;
-  bool _isSpontaneousBreathingPresent;
-  bool _isAfterOpeningAirways;
-  bool _isBreathingFrequencyPerMinute;
-  bool _isCirculation;
-  bool _isNeurology;
-
-  Object _state;
-
-  TriageCategory _triageCategory = new TriageCategory();
-
-  String getDateTime() {
-    DateTime now = DateTime.now();
-    String currentTime =
-        "${now.day.toString()}-${now.month.toString().padLeft(2, '0')}"
-        "-${now.year.toString().padLeft(2, '0')}/"
-        " ${now.hour.toString()}:${now.minute.toString()}:${now.second.toString()}";
-    return currentTime;
-  }
-
-  bool getIsAmbulatory() {
-    return _isAmbulatory;
-  }
-
-  bool getIsSpontaneousBreathingPresent() {
-    return _isSpontaneousBreathingPresent;
-  }
-
-  bool getIsAfterOpeningAirways() {
-    return _isAfterOpeningAirways;
-  }
-
-  bool getIsBreathingFrequencyPerMinute() {
-    return _isBreathingFrequencyPerMinute;
-  }
-
-  bool getIsCirculation() {
-    return _isCirculation;
-  }
-
-  bool getIsNeurology() {
-    return _isNeurology;
-  }
-
-  void setIsAmbulatory(bool isAmbulatory) {
-    if (_state is Ambulatory ||
-        _state is LockScreen ||
-        _state is CameraAccess ||
-        _state is SpontaneousBreathingPresent ||
-        _state is AfterOpeningAirways ||
-        _state is BreathingFrequencyPerMinute ||
-        _state is CapillaryFillingTime ||
-        _state is Neurology) {
-      this._isAmbulatory = isAmbulatory;
-    } else {
-      throw new InvalidTriageStateException();
-    }
-  }
-
-  void setIsSpontaneousBreathingPresent(bool isSpontaneousBreathingPresent) {
-    if (_state is Ambulatory ||
-        _state is LockScreen ||
-        _state is CameraAccess ||
-        _state is SpontaneousBreathingPresent ||
-        _state is AfterOpeningAirways ||
-        _state is BreathingFrequencyPerMinute ||
-        _state is CapillaryFillingTime ||
-        _state is Neurology) {
-      this._isSpontaneousBreathingPresent = isSpontaneousBreathingPresent;
-    } else {
-      throw new InvalidTriageStateException();
-    }
-  }
-
-  void setIsAfterOpeningAirways(bool isAfterOpeningAirways) {
-    if (_state is Ambulatory ||
-        _state is CameraAccess ||
-        _state is LockScreen ||
-        _state is AfterOpeningAirways ||
-        _state is SpontaneousBreathingPresent) {
-      this._isAfterOpeningAirways = isAfterOpeningAirways;
-    } else {
-      throw new InvalidTriageStateException();
-    }
-  }
-
-  void setBreathingFrequencyPerMinute(bool isBreathingFrequencyPerMinute) {
-    if (_state is Ambulatory ||
-        _state is CameraAccess ||
-        _state is LockScreen ||
-        _state is BreathingFrequencyPerMinute ||
-        _state is SpontaneousBreathingPresent ||
-        _state is CapillaryFillingTime ||
-        _state is Neurology) {
-      this._isBreathingFrequencyPerMinute = isBreathingFrequencyPerMinute;
-    } else {
-      throw new InvalidTriageStateException();
-    }
-  }
-
-  void setIsNeurology(bool isNeurology) {
-    if (_state is Ambulatory ||
-        _state is CameraAccess ||
-        _state is LockScreen ||
-        _state is BreathingFrequencyPerMinute ||
-        _state is SpontaneousBreathingPresent ||
-        _state is CapillaryFillingTime ||
-        _state is Neurology) {
-      this._isNeurology = isNeurology;
-    } else {
-      throw new InvalidTriageStateException();
-    }
-  }
-
-  void setIsCirculation(bool isCirculation) {
-    if (_state is Ambulatory ||
-        _state is LockScreen ||
-        _state is CameraAccess ||
-        _state is BreathingFrequencyPerMinute ||
-        _state is SpontaneousBreathingPresent ||
-        _state is CapillaryFillingTime ||
-        _state is Neurology) {
-      this._isCirculation = isCirculation;
-    } else {
-      throw new InvalidTriageStateException();
-    }
-  }
-
-  void setState(Object state) {
-    _state = state;
-    String categoryName;
-    Color color;
-    if (_state is Ambulatory ||
-        _state is AfterOpeningAirways ||
-        _state is BreathingFrequencyPerMinute ||
-        _state is SpontaneousBreathingPresent ||
-        _state is CapillaryFillingTime ||
-        _state is Neurology ||
-        _state is CameraAccess) {
-      categoryName = "";
-    } else if (_state is LockScreen) {
-      if ((this._isAmbulatory == true)) {
-        categoryName = 'Kategorie T3';
-        color = Colors.green;
-      } else if (this._isAmbulatory == false &&
-          this._isSpontaneousBreathingPresent == false &&
-          this._isAfterOpeningAirways == false) {
-        categoryName = "Kategorie T4";
-        color = Colors.black;
-      } else if (this._isAmbulatory == false &&
-          this._isSpontaneousBreathingPresent == false &&
-          this._isAfterOpeningAirways == true) {
-        categoryName = "Kategorie T1A";
-        color = Colors.red;
-      } else if (this._isAmbulatory == false &&
-          this._isSpontaneousBreathingPresent == true &&
-          this._isBreathingFrequencyPerMinute == true) {
-        categoryName = "Kategorie T1B";
-        color = Colors.red;
-      } else if (this._isAmbulatory == false &&
-          this._isSpontaneousBreathingPresent == true &&
-          this._isBreathingFrequencyPerMinute == false &&
-          this._isCirculation == true) {
-        categoryName = "Kategorie T1C";
-        color = Colors.red;
-      } else if (this._isAmbulatory == false &&
-          this._isSpontaneousBreathingPresent == true &&
-          this._isBreathingFrequencyPerMinute == false &&
-          this._isCirculation == false &&
-          this._isNeurology == false) {
-        categoryName = "Kategorie T1D";
-        color = Colors.red;
-      } else if (this._isAmbulatory == false &&
-          this._isSpontaneousBreathingPresent == true &&
-          this._isBreathingFrequencyPerMinute == false &&
-          this._isCirculation == false &&
-          this._isNeurology == true) {
-        categoryName = "Kategorie T2";
-        color = Colors.yellow;
-      }
-    }
-    if (categoryName != null) {
-      _triageCategory.setCategory(categoryName);
-      _triageCategory.setColor(color);
-    } else {
-      throw new InvalidTriageStateException();
-    }
-  }
-
-  TriageCategory getTriageCategory() {
-    return _triageCategory;
-  }
-}
-
-class TriageCategory {
-  String _category;
-  Color _color;
-
-  String getCategory() {
-    return _category;
-  }
-
-  void setCategory(String category) {
-    this._category = category;
-  }
-
-  Color getColor() {
-    return _color;
-  }
-
-  void setColor(Color color) {
-    this._color = color;
-  }
-}
diff --git a/rescueapp/lib/start_triage_system/after_opening_airways.dart b/rescueapp/lib/start_triage_system/widgets/after_opening_airways.dart
similarity index 96%
rename from rescueapp/lib/start_triage_system/after_opening_airways.dart
rename to rescueapp/lib/start_triage_system/widgets/after_opening_airways.dart
index ccb76d1..4f4bf41 100644
--- a/rescueapp/lib/start_triage_system/after_opening_airways.dart
+++ b/rescueapp/lib/start_triage_system/widgets/after_opening_airways.dart
@@ -1,15 +1,16 @@
 import 'package:flutter/material.dart';
-import 'package:rescueapp/start_triage_system/startTriage.dart';
+import '../model/startTriage.dart';
+import '../enums/start_triage_state.dart';
 import 'camera_access.dart';
 
 class AfterOpeningAirways extends StatefulWidget {
   final String title;
-  StartTriage startTriage;
-  AfterOpeningAirways(StartTriage startTriage, {Key key, this.title})
-      : super(key: key) {
-    startTriage.setState(this);
+  final StartTriage startTriage;
 
-    this.startTriage = startTriage;
+  AfterOpeningAirways(StartTriage startTriage, {Key key, this.title})
+      : startTriage = startTriage,
+        super(key: key) {
+    startTriage.setState(StartTriageState.AfterOpeningAirways);
   }
 
   @override
diff --git a/rescueapp/lib/start_triage_system/ambulatory.dart b/rescueapp/lib/start_triage_system/widgets/ambulatory.dart
similarity index 92%
rename from rescueapp/lib/start_triage_system/ambulatory.dart
rename to rescueapp/lib/start_triage_system/widgets/ambulatory.dart
index 89de82f..ebe6a88 100644
--- a/rescueapp/lib/start_triage_system/ambulatory.dart
+++ b/rescueapp/lib/start_triage_system/widgets/ambulatory.dart
@@ -1,19 +1,22 @@
-import 'package:flutter/gestures.dart';
 import 'package:flutter/material.dart';
-import 'package:rescueapp/start_triage_system/startTriage.dart';
+import '../model/startTriage.dart';
+import '../enums/start_triage_state.dart';
 import 'camera_access.dart';
 import 'spontaneous_breathing_present.dart';
 
 class Ambulatory extends StatefulWidget {
   final String title;
-  StartTriage startTriage;
-  TriageCategory triageCategory;
-  Ambulatory(StartTriage startTriage,
-      {Key key, this.title, this.triageCategory})
-      : super(key: key) {
-    startTriage.setState(this);
-    this.startTriage = startTriage;
+  final StartTriage startTriage;
+
+  Ambulatory(
+    StartTriage startTriage, {
+    Key key,
+    this.title,
+  })  : startTriage = startTriage,
+        super(key: key) {
+    startTriage.setState(StartTriageState.Ambulatory);
   }
+
   @override
   _AmbulatoryState createState() => _AmbulatoryState();
 }
diff --git a/rescueapp/lib/start_triage_system/breathing_frequency_per_minute.dart b/rescueapp/lib/start_triage_system/widgets/breathing_frequency_per_minute.dart
similarity index 96%
rename from rescueapp/lib/start_triage_system/breathing_frequency_per_minute.dart
rename to rescueapp/lib/start_triage_system/widgets/breathing_frequency_per_minute.dart
index aec8be7..d3bb8c2 100644
--- a/rescueapp/lib/start_triage_system/breathing_frequency_per_minute.dart
+++ b/rescueapp/lib/start_triage_system/widgets/breathing_frequency_per_minute.dart
@@ -1,16 +1,17 @@
 import 'package:flutter/material.dart';
-import 'package:rescueapp/start_triage_system/startTriage.dart';
+import '../model/startTriage.dart';
+import '../enums/start_triage_state.dart';
 import 'camera_access.dart';
 
 import 'circulation.dart';
 
 class BreathingFrequencyPerMinute extends StatefulWidget {
   final String title;
-  StartTriage startTriage;
+  final StartTriage startTriage;
   BreathingFrequencyPerMinute(StartTriage startTriage, {Key key, this.title})
-      : super(key: key) {
-    startTriage.setState(this);
-    this.startTriage = startTriage;
+      : startTriage = startTriage,
+        super(key: key) {
+    startTriage.setState(StartTriageState.BreathingFrequencyPerMinute);
   }
 
   @override
@@ -135,8 +136,7 @@ class _BreathingFrequencyPerMinuteState
                               context,
                               MaterialPageRoute(
                                   builder: (context) =>
-                                      CameraAccess(widget.startTriage))
-                          );
+                                      CameraAccess(widget.startTriage)));
                         }))),
             SizedBox(
               height: 10,
diff --git a/rescueapp/lib/start_triage_system/camera_access.dart b/rescueapp/lib/start_triage_system/widgets/camera_access.dart
similarity index 87%
rename from rescueapp/lib/start_triage_system/camera_access.dart
rename to rescueapp/lib/start_triage_system/widgets/camera_access.dart
index 7052fb7..5e19947 100644
--- a/rescueapp/lib/start_triage_system/camera_access.dart
+++ b/rescueapp/lib/start_triage_system/widgets/camera_access.dart
@@ -1,16 +1,19 @@
 import 'package:flutter/material.dart';
-import 'package:rescueapp/start_triage_system/startTriage.dart';
+import '../model/startTriage.dart';
+import '../enums/start_triage_state.dart';
 import 'lock_screen.dart';
 
 class CameraAccess extends StatefulWidget {
   final String title;
-  StartTriage startTriage;
-  TriageCategory triageCategory;
+  final StartTriage startTriage;
 
-  CameraAccess(StartTriage startTriage,
-      {Key key, this.title, }) : super(key: key){
-    startTriage.setState(this);
-    this.startTriage = startTriage;
+  CameraAccess(
+    StartTriage startTriage, {
+    Key key,
+    this.title,
+  })  : startTriage = startTriage,
+        super(key: key) {
+    startTriage.setState(StartTriageState.CameraAccess);
   }
 
   @override
@@ -18,13 +21,8 @@ class CameraAccess extends StatefulWidget {
 }
 
 class _CameraAccessState extends State<CameraAccess> {
-
-
   @override
   Widget build(BuildContext context) {
-    body(){
-
-    }
     return Scaffold(
       appBar: AppBar(
         title: Text("KatApp"),
@@ -74,7 +72,8 @@ class _CameraAccessState extends State<CameraAccess> {
                         Navigator.push(
                           context,
                           MaterialPageRoute(
-                              builder: (context) => LockScreen(widget.startTriage)),
+                              builder: (context) =>
+                                  LockScreen(widget.startTriage)),
                         );
                       }),
                 ),
diff --git a/rescueapp/lib/start_triage_system/circulation.dart b/rescueapp/lib/start_triage_system/widgets/circulation.dart
similarity index 86%
rename from rescueapp/lib/start_triage_system/circulation.dart
rename to rescueapp/lib/start_triage_system/widgets/circulation.dart
index cb5c2c8..b7d99d8 100644
--- a/rescueapp/lib/start_triage_system/circulation.dart
+++ b/rescueapp/lib/start_triage_system/widgets/circulation.dart
@@ -1,14 +1,16 @@
 import 'package:flutter/material.dart';
-import 'package:rescueapp/start_triage_system/startTriage.dart';
+import '../model/startTriage.dart';
+import '../enums/start_triage_state.dart';
 import 'camera_access.dart';
 import 'neurology.dart';
 
 class CapillaryFillingTime extends StatefulWidget {
   final String title;
-  StartTriage startTriage;
-  CapillaryFillingTime(StartTriage startTriage, {Key key, this.title}) : super(key: key){
-    startTriage.setState(this);
-    this.startTriage = startTriage;
+  final StartTriage startTriage;
+  CapillaryFillingTime(StartTriage startTriage, {Key key, this.title})
+      : startTriage = startTriage,
+        super(key: key) {
+    startTriage.setState(StartTriageState.CapillaryFillingTime);
   }
 
   @override
@@ -16,7 +18,6 @@ class CapillaryFillingTime extends StatefulWidget {
 }
 
 class _CapillaryFillingTimeState extends State<CapillaryFillingTime> {
-
   @override
   Widget build(BuildContext context) {
     return Scaffold(
@@ -40,7 +41,8 @@ class _CapillaryFillingTimeState extends State<CapillaryFillingTime> {
                 child: Container(
                   decoration: BoxDecoration(color: Colors.grey[500]),
                   alignment: Alignment.center,
-                  child: new Text (widget.startTriage.getIsAmbulatory() ?  'Ja': 'Nein',
+                  child: new Text(
+                      widget.startTriage.getIsAmbulatory() ? 'Ja' : 'Nein',
                       style: TextStyle(
                           fontSize: 20,
                           color: Colors.blue[900],
@@ -59,7 +61,10 @@ class _CapillaryFillingTimeState extends State<CapillaryFillingTime> {
                 child: Container(
                   decoration: BoxDecoration(color: Colors.grey[500]),
                   alignment: Alignment.center,
-                  child:new Text (widget.startTriage.getIsSpontaneousBreathingPresent() ?  'Ja': 'Nein',
+                  child: new Text(
+                      widget.startTriage.getIsSpontaneousBreathingPresent()
+                          ? 'Ja'
+                          : 'Nein',
                       style: TextStyle(
                           fontSize: 20,
                           color: Colors.blue[900],
@@ -78,7 +83,10 @@ class _CapillaryFillingTimeState extends State<CapillaryFillingTime> {
                 child: Container(
                   decoration: BoxDecoration(color: Colors.grey[500]),
                   alignment: Alignment.center,
-                  child: new Text (widget.startTriage.getIsBreathingFrequencyPerMinute() ?  '> 30': '≤ 30',
+                  child: new Text(
+                      widget.startTriage.getIsBreathingFrequencyPerMinute()
+                          ? '> 30'
+                          : '≤ 30',
                       style: TextStyle(
                           fontSize: 20,
                           color: Colors.blue[900],
@@ -145,9 +153,10 @@ class _CapillaryFillingTimeState extends State<CapillaryFillingTime> {
                           Navigator.push(
                               context,
                               MaterialPageRoute(
-                                  builder: (context) => CameraAccess(widget.startTriage))
-                            //widget.startTriage.isCirculation)),
-                          );
+                                  builder: (context) =>
+                                      CameraAccess(widget.startTriage))
+                              //widget.startTriage.isCirculation)),
+                              );
                         }))),
             SizedBox(
               height: 10,
@@ -170,9 +179,8 @@ class _CapillaryFillingTimeState extends State<CapillaryFillingTime> {
                           Navigator.push(
                             context,
                             MaterialPageRoute(
-                                builder: (context) => Neurology(
-                                    widget.startTriage
-                                )),
+                                builder: (context) =>
+                                    Neurology(widget.startTriage)),
                           );
                         }))),
             SizedBox(
diff --git a/rescueapp/lib/start_triage_system/lock_screen.dart b/rescueapp/lib/start_triage_system/widgets/lock_screen.dart
similarity index 94%
rename from rescueapp/lib/start_triage_system/lock_screen.dart
rename to rescueapp/lib/start_triage_system/widgets/lock_screen.dart
index 09e2e25..982d70a 100644
--- a/rescueapp/lib/start_triage_system/lock_screen.dart
+++ b/rescueapp/lib/start_triage_system/widgets/lock_screen.dart
@@ -1,14 +1,15 @@
 import 'package:flutter/material.dart';
-import 'package:rescueapp/start_triage_system/startTriage.dart';
+import '../model/startTriage.dart';
+import '../enums/start_triage_state.dart';
 
 class LockScreen extends StatefulWidget {
   final String title;
-  StartTriage startTriage;
-  TriageCategory triageCategory;
+  final StartTriage startTriage;
 
-  LockScreen(StartTriage startTriage, {Key key, this.title}) : super(key: key) {
-    startTriage.setState(this);
-    this.startTriage = startTriage;
+  LockScreen(StartTriage startTriage, {Key key, this.title})
+      : startTriage = startTriage,
+        super(key: key) {
+    startTriage.setState(StartTriageState.LockScreen);
   }
 
   @override
diff --git a/rescueapp/lib/start_triage_system/neurology.dart b/rescueapp/lib/start_triage_system/widgets/neurology.dart
similarity index 96%
rename from rescueapp/lib/start_triage_system/neurology.dart
rename to rescueapp/lib/start_triage_system/widgets/neurology.dart
index 4557bf6..194f00b 100644
--- a/rescueapp/lib/start_triage_system/neurology.dart
+++ b/rescueapp/lib/start_triage_system/widgets/neurology.dart
@@ -1,15 +1,17 @@
 import 'package:flutter/material.dart';
 import 'package:flutter/widgets.dart';
-import 'package:rescueapp/start_triage_system/startTriage.dart';
+import '../model/startTriage.dart';
+import '../enums/start_triage_state.dart';
 import 'camera_access.dart';
 
 class Neurology extends StatefulWidget {
   final String title;
   StartTriage startTriage;
 
-  Neurology(StartTriage startTriage, {Key key, this.title}) : super(key: key) {
-    startTriage.setState(this);
-    this.startTriage = startTriage;
+  Neurology(StartTriage startTriage, {Key key, this.title})
+      : startTriage = startTriage,
+        super(key: key) {
+    startTriage.setState(StartTriageState.Neurology);
   }
 
   @override
@@ -181,8 +183,7 @@ class _NeurologyState extends State<Neurology> {
                               context,
                               MaterialPageRoute(
                                   builder: (context) =>
-                                      CameraAccess(widget.startTriage))
-                          );
+                                      CameraAccess(widget.startTriage)));
                         }))),
             SizedBox(
               height: 10,
@@ -206,8 +207,7 @@ class _NeurologyState extends State<Neurology> {
                               context,
                               MaterialPageRoute(
                                   builder: (context) =>
-                                      CameraAccess(widget.startTriage))
-                          );
+                                      CameraAccess(widget.startTriage)));
                         }))),
             SizedBox(
               height: 20,
diff --git a/rescueapp/lib/start_triage_system/spontaneous_breathing_present.dart b/rescueapp/lib/start_triage_system/widgets/spontaneous_breathing_present.dart
similarity index 92%
rename from rescueapp/lib/start_triage_system/spontaneous_breathing_present.dart
rename to rescueapp/lib/start_triage_system/widgets/spontaneous_breathing_present.dart
index 658f539..fadd03d 100644
--- a/rescueapp/lib/start_triage_system/spontaneous_breathing_present.dart
+++ b/rescueapp/lib/start_triage_system/widgets/spontaneous_breathing_present.dart
@@ -1,21 +1,23 @@
 import 'package:flutter/material.dart';
-import 'startTriage.dart';
+import '../model/startTriage.dart';
+import '../enums/start_triage_state.dart';
 
 import 'after_opening_airways.dart';
 import 'breathing_frequency_per_minute.dart';
 
 class SpontaneousBreathingPresent extends StatefulWidget {
   final String title;
-  StartTriage startTriage;
+  final StartTriage startTriage;
 
   SpontaneousBreathingPresent(
     StartTriage startTriage, {
     Key key,
     this.title,
-  }) : super(key: key) {
-    startTriage.setState(this);
-    this.startTriage = startTriage;
+  })  : startTriage = startTriage,
+        super(key: key) {
+    startTriage.setState(StartTriageState.SpontaneousBreathingPresent);
   }
+
   @override
   _SpontaneousBreathingPresentState createState() =>
       _SpontaneousBreathingPresentState();
@@ -116,9 +118,6 @@ class _SpontaneousBreathingPresentState
                           setState(() {
                             widget.startTriage
                                 .setIsSpontaneousBreathingPresent(true);
-                            print('testSPON');
-                            print(widget.startTriage
-                                .getIsSpontaneousBreathingPresent());
                           });
                           Navigator.push(
                               context,
@@ -151,9 +150,6 @@ class _SpontaneousBreathingPresentState
                               MaterialPageRoute(
                                   builder: (context) =>
                                       AfterOpeningAirways(widget.startTriage)));
-                          print('testAFTER2');
-                          print(widget.startTriage
-                              .getIsSpontaneousBreathingPresent());
                         }))),
             SizedBox(
               height: 70,
-- 
GitLab