diff --git a/File_Storage/Mzanzi_Innovation_Hub/.minio.sys/buckets/.tracker.bin b/File_Storage/Mzanzi_Innovation_Hub/.minio.sys/buckets/.tracker.bin index 5795c562..fb5b0e24 100644 Binary files a/File_Storage/Mzanzi_Innovation_Hub/.minio.sys/buckets/.tracker.bin and b/File_Storage/Mzanzi_Innovation_Hub/.minio.sys/buckets/.tracker.bin differ diff --git a/File_Storage/Mzanzi_Innovation_Hub/.minio.sys/config/iam/policydb/users/user1.json/xl.meta b/File_Storage/Mzanzi_Innovation_Hub/.minio.sys/config/iam/policydb/users/user1.json/xl.meta new file mode 100644 index 00000000..b4d80e43 Binary files /dev/null and b/File_Storage/Mzanzi_Innovation_Hub/.minio.sys/config/iam/policydb/users/user1.json/xl.meta differ diff --git a/File_Storage/Mzanzi_Innovation_Hub/.minio.sys/config/iam/sts/LY3BW05R4BGUITF6LR86/identity.json/xl.meta b/File_Storage/Mzanzi_Innovation_Hub/.minio.sys/config/iam/sts/LY3BW05R4BGUITF6LR86/identity.json/xl.meta new file mode 100644 index 00000000..7c8a9ee7 Binary files /dev/null and b/File_Storage/Mzanzi_Innovation_Hub/.minio.sys/config/iam/sts/LY3BW05R4BGUITF6LR86/identity.json/xl.meta differ diff --git a/File_Storage/Mzanzi_Innovation_Hub/.minio.sys/config/iam/sts/SW30026JI5TK2ADABLEQ/identity.json/xl.meta b/File_Storage/Mzanzi_Innovation_Hub/.minio.sys/config/iam/sts/SW30026JI5TK2ADABLEQ/identity.json/xl.meta deleted file mode 100644 index 65c9f581..00000000 Binary files a/File_Storage/Mzanzi_Innovation_Hub/.minio.sys/config/iam/sts/SW30026JI5TK2ADABLEQ/identity.json/xl.meta and /dev/null differ diff --git a/File_Storage/Mzanzi_Innovation_Hub/.minio.sys/config/iam/users/user1/identity.json/xl.meta b/File_Storage/Mzanzi_Innovation_Hub/.minio.sys/config/iam/users/user1/identity.json/xl.meta new file mode 100644 index 00000000..68fc82e7 Binary files /dev/null and b/File_Storage/Mzanzi_Innovation_Hub/.minio.sys/config/iam/users/user1/identity.json/xl.meta differ diff --git a/File_Storage/Mzanzi_Innovation_Hub/.minio.sys/tmp/.trash/226941b2-df46-401d-88d2-7c472e978183 b/File_Storage/Mzanzi_Innovation_Hub/.minio.sys/tmp/.trash/226941b2-df46-401d-88d2-7c472e978183 new file mode 100644 index 00000000..67222404 Binary files /dev/null and b/File_Storage/Mzanzi_Innovation_Hub/.minio.sys/tmp/.trash/226941b2-df46-401d-88d2-7c472e978183 differ diff --git a/File_Storage/Mzanzi_Innovation_Hub/mih/Med-Cert-Yasien Meth-18-06-2024.pdf/xl.meta b/File_Storage/Mzanzi_Innovation_Hub/mih/Med-Cert-Yasien Meth-18-06-2024.pdf/xl.meta new file mode 100644 index 00000000..b379bc17 Binary files /dev/null and b/File_Storage/Mzanzi_Innovation_Hub/mih/Med-Cert-Yasien Meth-18-06-2024.pdf/xl.meta differ diff --git a/File_Storage/Mzanzi_Innovation_Hub/mih/Med-Cert-Yaso Meth-24-06-2024.pdf/xl.meta b/File_Storage/Mzanzi_Innovation_Hub/mih/Med-Cert-Yaso Meth-24-06-2024.pdf/xl.meta new file mode 100644 index 00000000..2f708c0b Binary files /dev/null and b/File_Storage/Mzanzi_Innovation_Hub/mih/Med-Cert-Yaso Meth-24-06-2024.pdf/xl.meta differ diff --git a/File_Storage/Mzanzi_Innovation_Hub/mih/Med-Cert-Yaso-24-06-2024.pdf/xl.meta b/File_Storage/Mzanzi_Innovation_Hub/mih/Med-Cert-Yaso-24-06-2024.pdf/xl.meta new file mode 100644 index 00000000..d5b4aa38 Binary files /dev/null and b/File_Storage/Mzanzi_Innovation_Hub/mih/Med-Cert-Yaso-24-06-2024.pdf/xl.meta differ diff --git a/File_Storage/Mzanzi_Innovation_Hub/mih/minio-test.txt/xl.meta b/File_Storage/Mzanzi_Innovation_Hub/mih/minio-test.txt/xl.meta deleted file mode 100644 index 85025503..00000000 Binary files a/File_Storage/Mzanzi_Innovation_Hub/mih/minio-test.txt/xl.meta and /dev/null differ diff --git a/File_Storage/Mzanzi_Innovation_Hub/mih/minio-test1.txt/xl.meta b/File_Storage/Mzanzi_Innovation_Hub/mih/minio-test1.txt/xl.meta new file mode 100644 index 00000000..93f021ce Binary files /dev/null and b/File_Storage/Mzanzi_Innovation_Hub/mih/minio-test1.txt/xl.meta differ diff --git a/File_Storage/Mzanzi_Innovation_Hub/mih/test.pdf/xl.meta b/File_Storage/Mzanzi_Innovation_Hub/mih/test.pdf/xl.meta new file mode 100644 index 00000000..9eb9a422 Binary files /dev/null and b/File_Storage/Mzanzi_Innovation_Hub/mih/test.pdf/xl.meta differ diff --git a/Frontend/patient_manager/lib/components/buildFilesList.dart b/Frontend/patient_manager/lib/components/buildFilesList.dart new file mode 100644 index 00000000..e1b0f8da --- /dev/null +++ b/Frontend/patient_manager/lib/components/buildFilesList.dart @@ -0,0 +1,43 @@ +import 'package:flutter/material.dart'; +import 'package:patient_manager/objects/files.dart'; + +class BuildFilesList extends StatefulWidget { + final List files; + const BuildFilesList({ + super.key, + required this.files, + }); + + @override + State createState() => _BuildFilesListState(); +} + +int indexOn = 0; + +class _BuildFilesListState extends State { + @override + Widget build(BuildContext context) { + return SizedBox( + height: 290.0, + child: ListView.separated( + shrinkWrap: true, + separatorBuilder: (BuildContext context, int index) { + return const Divider(); + }, + itemCount: widget.files.length, + itemBuilder: (context, index) { + return ListTile( + title: Text( + widget.files[index].file_name, + ), + subtitle: Text(widget.files[index].insert_date), + trailing: const Icon(Icons.arrow_forward), + onTap: () { + //Insert Display function here + }, + ); + }, + ), + ); + } +} diff --git a/Frontend/patient_manager/lib/components/buildNotesList.dart b/Frontend/patient_manager/lib/components/buildNotesList.dart index 6a4006ae..3fc0595d 100644 --- a/Frontend/patient_manager/lib/components/buildNotesList.dart +++ b/Frontend/patient_manager/lib/components/buildNotesList.dart @@ -30,15 +30,22 @@ class _BuildNotesListState extends State { title: Text( widget.notes[index].note_name, ), - subtitle: Text(widget.notes[index].note_text), + subtitle: Text( + "${widget.notes[index].insert_date}:\n${widget.notes[index].note_text}"), //Text(widget.notes[index].note_text), trailing: const Icon(Icons.arrow_forward), onTap: () { showDialog( context: context, builder: (context) => AlertDialog( - title: Text(widget.notes[index].note_name), - content: Text( - "${widget.notes[index].insert_date}:\n${widget.notes[index].note_text}"), + title: Center(child: Text(widget.notes[index].note_name)), + content: SizedBox( + width: 700, + height: 250, + child: Text( + "${widget.notes[index].insert_date}:\n${widget.notes[index].note_text}", + style: TextStyle(fontSize: 16), + ), + ), actions: [ TextButton( onPressed: () { diff --git a/Frontend/patient_manager/lib/components/myDateInput.dart b/Frontend/patient_manager/lib/components/myDateInput.dart new file mode 100644 index 00000000..0fe8e24e --- /dev/null +++ b/Frontend/patient_manager/lib/components/myDateInput.dart @@ -0,0 +1,67 @@ +import 'package:flutter/material.dart'; + +class MyDateField extends StatefulWidget { + final controller; + final String LableText; + //final bool editable; + + const MyDateField({ + super.key, + required this.controller, + required this.LableText, + //required this.editable, + }); + + @override + State createState() => _MyDateFieldState(); +} + +class _MyDateFieldState extends State { + // bool makeEditable() { + Future _selectDate(BuildContext context) async { + DateTime? picked = await showDatePicker( + context: context, + initialDate: DateTime.now(), + firstDate: DateTime(2000), + lastDate: DateTime(2100), + ); + + if (picked != null) { + setState(() { + widget.controller.text = picked.toString().split(" ")[0]; + }); + } + } + + @override + Widget build(BuildContext context) { + return Padding( + padding: const EdgeInsets.symmetric(horizontal: 25.0), + child: TextField( + controller: widget.controller, + readOnly: true, + obscureText: false, + decoration: InputDecoration( + labelText: widget.LableText, + prefixIcon: const Icon(Icons.calendar_today), + fillColor: Colors.white, + filled: true, + //hintText: hintText, + hintStyle: TextStyle(color: Colors.blueGrey[400]), + enabledBorder: const OutlineInputBorder( + borderSide: BorderSide( + color: Colors.blueAccent, + width: 2.0, + ), + ), + focusedBorder: const OutlineInputBorder( + borderSide: BorderSide(color: Colors.blue), + ), + ), + onTap: () { + _selectDate(context); + }, + ), + ); + } +} diff --git a/Frontend/patient_manager/lib/components/patientFiles.dart b/Frontend/patient_manager/lib/components/patientFiles.dart new file mode 100644 index 00000000..43ec16ed --- /dev/null +++ b/Frontend/patient_manager/lib/components/patientFiles.dart @@ -0,0 +1,205 @@ +import 'dart:async'; +import 'dart:convert'; + +import 'package:flutter/material.dart'; +import 'package:patient_manager/components/buildFilesList.dart'; +import 'package:patient_manager/components/myDateInput.dart'; +import 'package:patient_manager/objects/files.dart'; + +import 'package:http/http.dart' as http; + +Future> fetchNotes(String endpoint) async { + final response = await http.get(Uri.parse(endpoint)); + print(response.statusCode); + //print(response.body); + if (response.statusCode == 200) { + Iterable l = jsonDecode(response.body); + List files = + List.from(l.map((model) => PFile.fromJson(model))); + return files; + } else { + throw Exception('failed to load patients'); + } +} + +class PatientFiles extends StatefulWidget { + final int patientIndex; + const PatientFiles({super.key, required this.patientIndex}); + + @override + State createState() => _PatientFilesState(); +} + +class _PatientFilesState extends State { + String endpoint = "http://localhost:80/files/patients/"; + String apiUrlAddNote = "http://localhost:80/notes/insert/"; + final startDateController = TextEditingController(); + final endDateTextController = TextEditingController(); + late Future> futueFiles; + + Future addPatientNoteAPICall() async { + var response = await http.post( + Uri.parse(apiUrlAddNote), + headers: { + "Content-Type": "application/json; charset=UTF-8" + }, + body: jsonEncode({ + "note_name": startDateController.text, + "note_text": endDateTextController.text, + "patient_id": widget.patientIndex, + }), + ); + if (response.statusCode == 201) { + setState(() { + futueFiles = fetchNotes(endpoint + widget.patientIndex.toString()); + }); + // Navigator.of(context) + // .pushNamed('/patient-manager', arguments: widget.userEmail); + String message = "Successfully added Files"; + messagePopUp(message); + } else { + messagePopUp("error"); + } + } + + void messagePopUp(error) { + showDialog( + context: context, + builder: (context) { + return AlertDialog( + title: Text(error), + ); + }, + ); + } + + @override + void initState() { + futueFiles = fetchNotes(endpoint + widget.patientIndex.toString()); + + super.initState(); + } + + @override + Widget build(BuildContext context) { + return FutureBuilder( + future: futueFiles, + builder: (context, snapshot) { + if (snapshot.connectionState == ConnectionState.waiting) { + return const CircularProgressIndicator(); + } else if (snapshot.hasData) { + final filesList = snapshot.data!; + return Flexible( + flex: 1, + child: Padding( + padding: const EdgeInsets.all(10.0), + child: Card( + elevation: 20.0, + child: Container( + //height: 300.0, + decoration: const BoxDecoration( + color: Color.fromARGB(255, 219, 218, 218), + borderRadius: BorderRadius.all( + Radius.circular(10), + ), + ), + child: Padding( + padding: const EdgeInsets.only(top: 5.0), + child: Column(children: [ + Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + const Text( + "Files", + textAlign: TextAlign.center, + style: TextStyle( + fontSize: 35, + fontWeight: FontWeight.bold, + ), + ), + IconButton( + onPressed: () { + showDialog( + context: context, + builder: (context) => AlertDialog( + title: const Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Text("Create Medical Certificate"), + ], + ), + content: SizedBox( + height: 250, + child: Column( + children: [ + const SizedBox(height: 50.0), + SizedBox( + width: 700, + child: MyDateField( + controller: startDateController, + LableText: "From", + ), + ), + const SizedBox(height: 25.0), + SizedBox( + width: 700, + child: MyDateField( + controller: endDateTextController, + LableText: "Up to Including", + ), + ), + ], + ), + ), + actions: [ + TextButton( + onPressed: () { + //addPatientNoteAPICall(); + Navigator.pop(context); + //print(widget.patientIndex); + }, + child: const Text( + "Generate", + style: TextStyle( + fontWeight: FontWeight.bold), + ), + ), + TextButton( + onPressed: () { + Navigator.pop(context); + }, + child: const Text("Cancel"), + ) + ], + ), + ); + }, + icon: const Icon(Icons.sick_outlined), + ), + IconButton( + onPressed: () {}, + icon: const Icon(Icons.medication_outlined), + ) + ], + ), + const Padding( + padding: EdgeInsets.symmetric(horizontal: 20.0), + child: Divider(), + ), + const SizedBox(height: 10), + BuildFilesList(files: filesList), + ]), + ), + ), + ), + ), + ); + } else { + return const Center( + child: Text("Error Loading Files"), + ); + } + }, + ); + } +} diff --git a/Frontend/patient_manager/lib/components/patientNotes.dart b/Frontend/patient_manager/lib/components/patientNotes.dart index 9d30b6da..59fd55f5 100644 --- a/Frontend/patient_manager/lib/components/patientNotes.dart +++ b/Frontend/patient_manager/lib/components/patientNotes.dart @@ -12,6 +12,7 @@ Future> fetchNotes(String endpoint) async { if (response.statusCode == 200) { Iterable l = jsonDecode(response.body); List notes = List.from(l.map((model) => Note.fromJson(model))); + print("Here notes"); return notes; } else { throw Exception('failed to load patients'); diff --git a/Frontend/patient_manager/lib/objects/files.dart b/Frontend/patient_manager/lib/objects/files.dart new file mode 100644 index 00000000..1edbdceb --- /dev/null +++ b/Frontend/patient_manager/lib/objects/files.dart @@ -0,0 +1,25 @@ +class PFile { + final int idpatient_files; + final String file_path; + final String file_name; + final int patient_id; + final String insert_date; + + const PFile( + this.idpatient_files, + this.file_path, + this.file_name, + this.patient_id, + this.insert_date, + ); + + factory PFile.fromJson(dynamic json) { + return PFile( + json['idpatient_files'], + json['file_path'], + json['file_name'], + json['patient_id'], + json['insert_date'], + ); + } +} diff --git a/Frontend/patient_manager/lib/pages/patientView.dart b/Frontend/patient_manager/lib/pages/patientView.dart index bff96338..ce2ff30d 100644 --- a/Frontend/patient_manager/lib/pages/patientView.dart +++ b/Frontend/patient_manager/lib/pages/patientView.dart @@ -1,6 +1,7 @@ import 'package:flutter/material.dart'; import 'package:patient_manager/components/patientDetails.dart'; import 'package:patient_manager/components/myAppBar.dart'; +import 'package:patient_manager/components/patientFiles.dart'; import 'package:patient_manager/components/patientNotes.dart'; import 'package:patient_manager/objects/patients.dart'; @@ -31,7 +32,7 @@ class _PatientViewState extends State { PatientNotes( patientIndex: widget.selectedPatient.idpatients, ), - PatientNotes( + PatientFiles( patientIndex: widget.selectedPatient.idpatients, ) ], diff --git a/Frontend/patient_manager/lib/pages/signin.dart b/Frontend/patient_manager/lib/pages/signin.dart index 2cd4e26d..32079018 100644 --- a/Frontend/patient_manager/lib/pages/signin.dart +++ b/Frontend/patient_manager/lib/pages/signin.dart @@ -30,7 +30,7 @@ class _SignInState extends State { } } on AuthException catch (error) { loginError(error.message); - emailController.clear(); + //emailController.clear(); passwordController.clear(); } } diff --git a/Frontend/patient_manager/server/server.sh b/Frontend/patient_manager/server/server.sh index 07174ad6..7a68195a 100644 --- a/Frontend/patient_manager/server/server.sh +++ b/Frontend/patient_manager/server/server.sh @@ -1,7 +1,7 @@ #!/bin/bash # Define the port -PORT=9000 +PORT=8080 # Check if the port is in use and release it if necessary. echo "Checking if port $PORT is in use..." diff --git a/backend/__pycache__/main.cpython-310.pyc b/backend/__pycache__/main.cpython-310.pyc index 74319d36..e6904830 100644 Binary files a/backend/__pycache__/main.cpython-310.pyc and b/backend/__pycache__/main.cpython-310.pyc differ diff --git a/backend/routers/__pycache__/fileStorage.cpython-310.pyc b/backend/routers/__pycache__/fileStorage.cpython-310.pyc new file mode 100644 index 00000000..90bd006b Binary files /dev/null and b/backend/routers/__pycache__/fileStorage.cpython-310.pyc differ diff --git a/backend/routers/__pycache__/users.cpython-310.pyc b/backend/routers/__pycache__/users.cpython-310.pyc index de75c50d..48ed4568 100644 Binary files a/backend/routers/__pycache__/users.cpython-310.pyc and b/backend/routers/__pycache__/users.cpython-310.pyc differ diff --git a/database/#ib_16384_0.dblwr b/database/#ib_16384_0.dblwr index 7b70b202..6e1eae9c 100644 Binary files a/database/#ib_16384_0.dblwr and b/database/#ib_16384_0.dblwr differ diff --git a/database/#innodb_redo/#ib_redo17 b/database/#innodb_redo/#ib_redo17 deleted file mode 100644 index efd2044b..00000000 Binary files a/database/#innodb_redo/#ib_redo17 and /dev/null differ diff --git a/database/#innodb_redo/#ib_redo18 b/database/#innodb_redo/#ib_redo18 new file mode 100644 index 00000000..70457a6c Binary files /dev/null and b/database/#innodb_redo/#ib_redo18 differ diff --git a/database/#innodb_redo/#ib_redo18_tmp b/database/#innodb_redo/#ib_redo49_tmp similarity index 100% rename from database/#innodb_redo/#ib_redo18_tmp rename to database/#innodb_redo/#ib_redo49_tmp diff --git a/database/#innodb_temp/temp_1.ibt b/database/#innodb_temp/temp_1.ibt index 9a92a833..41623af4 100644 Binary files a/database/#innodb_temp/temp_1.ibt and b/database/#innodb_temp/temp_1.ibt differ diff --git a/database/#innodb_temp/temp_10.ibt b/database/#innodb_temp/temp_10.ibt index 49fe61f4..37d281b6 100644 Binary files a/database/#innodb_temp/temp_10.ibt and b/database/#innodb_temp/temp_10.ibt differ diff --git a/database/#innodb_temp/temp_2.ibt b/database/#innodb_temp/temp_2.ibt index dd9267cf..191fbe7b 100644 Binary files a/database/#innodb_temp/temp_2.ibt and b/database/#innodb_temp/temp_2.ibt differ diff --git a/database/#innodb_temp/temp_3.ibt b/database/#innodb_temp/temp_3.ibt index c154afe1..abbc18a5 100644 Binary files a/database/#innodb_temp/temp_3.ibt and b/database/#innodb_temp/temp_3.ibt differ diff --git a/database/#innodb_temp/temp_4.ibt b/database/#innodb_temp/temp_4.ibt index 7c56f2ac..e3ddd45b 100644 Binary files a/database/#innodb_temp/temp_4.ibt and b/database/#innodb_temp/temp_4.ibt differ diff --git a/database/#innodb_temp/temp_5.ibt b/database/#innodb_temp/temp_5.ibt index 8d298efd..60c5ff3e 100644 Binary files a/database/#innodb_temp/temp_5.ibt and b/database/#innodb_temp/temp_5.ibt differ diff --git a/database/#innodb_temp/temp_6.ibt b/database/#innodb_temp/temp_6.ibt index 4cdf4b73..2c89ffbc 100644 Binary files a/database/#innodb_temp/temp_6.ibt and b/database/#innodb_temp/temp_6.ibt differ diff --git a/database/#innodb_temp/temp_7.ibt b/database/#innodb_temp/temp_7.ibt index 4d44523c..f58d51e1 100644 Binary files a/database/#innodb_temp/temp_7.ibt and b/database/#innodb_temp/temp_7.ibt differ diff --git a/database/#innodb_temp/temp_8.ibt b/database/#innodb_temp/temp_8.ibt index 06775294..7a95d566 100644 Binary files a/database/#innodb_temp/temp_8.ibt and b/database/#innodb_temp/temp_8.ibt differ diff --git a/database/#innodb_temp/temp_9.ibt b/database/#innodb_temp/temp_9.ibt index 1517cae5..05bacf1d 100644 Binary files a/database/#innodb_temp/temp_9.ibt and b/database/#innodb_temp/temp_9.ibt differ diff --git a/database/binlog.000021 b/database/binlog.000021 index c6e56dd3..a6cbe2cd 100644 Binary files a/database/binlog.000021 and b/database/binlog.000021 differ diff --git a/database/binlog.000022 b/database/binlog.000022 new file mode 100644 index 00000000..d0363768 Binary files /dev/null and b/database/binlog.000022 differ diff --git a/database/binlog.000023 b/database/binlog.000023 new file mode 100644 index 00000000..13ca82b9 Binary files /dev/null and b/database/binlog.000023 differ diff --git a/database/binlog.000024 b/database/binlog.000024 new file mode 100644 index 00000000..19722960 Binary files /dev/null and b/database/binlog.000024 differ diff --git a/database/binlog.000025 b/database/binlog.000025 new file mode 100644 index 00000000..b11ee701 Binary files /dev/null and b/database/binlog.000025 differ diff --git a/database/binlog.000026 b/database/binlog.000026 new file mode 100644 index 00000000..048a6efb Binary files /dev/null and b/database/binlog.000026 differ diff --git a/database/binlog.000027 b/database/binlog.000027 new file mode 100644 index 00000000..3f0137e8 Binary files /dev/null and b/database/binlog.000027 differ diff --git a/database/binlog.000028 b/database/binlog.000028 new file mode 100644 index 00000000..25681ff4 Binary files /dev/null and b/database/binlog.000028 differ diff --git a/database/binlog.000029 b/database/binlog.000029 new file mode 100644 index 00000000..fad24425 Binary files /dev/null and b/database/binlog.000029 differ diff --git a/database/binlog.000030 b/database/binlog.000030 new file mode 100644 index 00000000..1dea8bda Binary files /dev/null and b/database/binlog.000030 differ diff --git a/database/binlog.000031 b/database/binlog.000031 new file mode 100644 index 00000000..219bb6ab Binary files /dev/null and b/database/binlog.000031 differ diff --git a/database/binlog.000032 b/database/binlog.000032 new file mode 100644 index 00000000..d7d25372 Binary files /dev/null and b/database/binlog.000032 differ diff --git a/database/binlog.000033 b/database/binlog.000033 new file mode 100644 index 00000000..32e6327a Binary files /dev/null and b/database/binlog.000033 differ diff --git a/database/binlog.000034 b/database/binlog.000034 new file mode 100644 index 00000000..511bd601 Binary files /dev/null and b/database/binlog.000034 differ diff --git a/database/binlog.000035 b/database/binlog.000035 new file mode 100644 index 00000000..ae772bdf Binary files /dev/null and b/database/binlog.000035 differ diff --git a/database/ib_buffer_pool b/database/ib_buffer_pool index a56b0dbd..0af19532 100644 --- a/database/ib_buffer_pool +++ b/database/ib_buffer_pool @@ -141,8 +141,8 @@ 4243767282,0 4243767281,0 4294967293,0 -4294967279,86 4294967279,202 +4294967279,86 4294967279,87 4294967279,426 4294967279,427 @@ -162,136 +162,135 @@ 4294967279,207 4294967279,208 4294967279,209 -4294967279,432 4294967279,94 +4294967279,432 4294967279,95 4294967279,96 +4294967279,434 4294967279,210 4294967279,211 -4294967279,434 4294967279,435 +4294967279,212 4294967279,97 4294967279,98 -4294967279,212 4294967279,213 +4294967279,99 4294967279,474 4294967279,437 -4294967279,99 4294967279,100 +4294967279,277 4294967279,214 4294967279,215 -4294967279,277 4294967279,218 +4294967279,216 4294967279,101 4294967279,102 -4294967279,216 4294967279,217 +4294967279,103 4294967279,220 4294967279,463 -4294967279,103 4294967279,104 +4294967279,471 4294967279,219 4294967279,221 -4294967279,471 4294967279,223 +4294967279,225 4294967279,105 4294967279,106 -4294967279,225 4294967279,107 -4294967279,227 -4294967279,511 4294967279,108 4294967279,232 -4294967279,109 -4294967279,229 4294967279,234 +4294967279,227 +4294967279,511 +4294967279,229 4294967279,231 -4294967279,236 -4294967279,110 4294967279,233 +4294967279,109 +4294967279,110 4294967279,111 -4294967279,235 -4294967279,438 4294967279,112 +4294967279,236 +4294967279,438 4294967279,239 -4294967279,113 -4294967279,237 4294967279,241 +4294967279,235 +4294967279,237 4294967279,238 -4294967279,243 +4294967279,240 +4294967279,113 4294967279,114 4294967279,115 -4294967279,240 -4294967279,242 +4294967279,116 +4294967279,243 4294967279,245 4294967279,247 -4294967279,116 -4294967279,117 +4294967279,249 +4294967279,242 4294967279,244 4294967279,246 -4294967279,249 -4294967279,251 +4294967279,248 +4294967279,117 4294967279,118 4294967279,119 -4294967279,248 -4294967279,250 +4294967279,120 +4294967279,251 4294967279,253 4294967279,439 -4294967279,120 -4294967279,121 +4294967279,440 +4294967279,250 4294967279,252 4294967279,254 -4294967279,440 -4294967279,441 +4294967279,255 +4294967279,121 4294967279,122 4294967279,123 -4294967279,256 -4294967279,449 -4294967279,255 -4294967279,450 -4294967279,442 4294967279,124 -4294967279,125 -4294967279,320 -4294967279,126 +4294967279,441 +4294967279,449 +4294967279,450 4294967279,451 -4294967279,459 -4294967279,127 -4294967279,452 +4294967279,256 +4294967279,442 +4294967279,320 4294967279,443 -4294967279,444 -4294967279,453 -4294967279,258 +4294967279,125 +4294967279,126 +4294967279,127 4294967279,128 -4294967279,129 -4294967279,445 -4294967279,130 +4294967279,459 +4294967279,453 +4294967279,452 +4294967279,444 4294967279,454 -4294967279,131 -4294967278,428 +4294967279,445 +4294967279,258 +4294967279,129 4294967279,446 +4294967279,130 +4294967279,131 4294967278,257 +4294967278,428 4294967278,280 4294967279,132 4294967278,4 4294967278,258 4294967278,413 4294967278,261 -4294967278,262 4294967278,5 +4294967278,262 4294967278,6 4294967278,7 -4294967278,8 4294967278,293 +4294967278,8 4294967278,281 4294967278,282 -4294967278,291 4294967278,263 +4294967278,291 4294967278,264 4294967278,265 -4294967278,266 4294967278,9 +4294967278,266 4294967278,10 4294967278,11 -4294967278,12 4294967278,283 diff --git a/database/ibdata1 b/database/ibdata1 index ef5495b7..40317fe1 100644 Binary files a/database/ibdata1 and b/database/ibdata1 differ diff --git a/database/ibtmp1 b/database/ibtmp1 index 89881a88..317893a0 100644 Binary files a/database/ibtmp1 and b/database/ibtmp1 differ diff --git a/database/mysql.ibd b/database/mysql.ibd index 7064a2f0..257b5f7c 100644 Binary files a/database/mysql.ibd and b/database/mysql.ibd differ diff --git a/database/patient_manager/patient_files.ibd b/database/patient_manager/patient_files.ibd index 2c6d2f18..4b308f27 100644 Binary files a/database/patient_manager/patient_files.ibd and b/database/patient_manager/patient_files.ibd differ diff --git a/database/patient_manager/users.ibd b/database/patient_manager/users.ibd index 103cf744..565e6c94 100644 Binary files a/database/patient_manager/users.ibd and b/database/patient_manager/users.ibd differ diff --git a/database/undo_001 b/database/undo_001 index 3a957a00..8fff12a8 100644 Binary files a/database/undo_001 and b/database/undo_001 differ diff --git a/database/undo_002 b/database/undo_002 index b038b057..5effa03d 100644 Binary files a/database/undo_002 and b/database/undo_002 differ diff --git a/temp.pdf b/temp.pdf new file mode 100644 index 00000000..5c1f6cb6 --- /dev/null +++ b/temp.pdf @@ -0,0 +1,85 @@ +%PDF-1.3 +%“Œ‹ž ReportLab Generated PDF document http://www.reportlab.com +1 0 obj +<< +/F1 2 0 R /F2 3 0 R +>> +endobj +2 0 obj +<< +/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font +>> +endobj +3 0 obj +<< +/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font +>> +endobj +4 0 obj +<< +/BitsPerComponent 8 /ColorSpace /DeviceRGB /Filter [ /ASCII85Decode /FlateDecode ] /Height 100 /Length 1025 /Subtype /Image + /Type /XObject /Width 100 +>> +stream +Gb"/`bAuB'$j6,$5OI6(.;K2G.':\dJiCr;Gk?H4FFs=pRRncIR22B/nOV>_3d5K!P>rOCFsNsE?*A6lRm61B?eLldiRp=8390Pd,X+-(pVEKf@;]@1Q69[h#X8`I+@i0&K9&0duFEC^SRkd37Q'I=f\X/RU4.-G%H=,D5rLI4DCNGf,eLrGU5M>9TT743:4$/FRk=K02g5#-.-!3TMf,:GQ]+:\)\hB"5L>sZ-4<<.(=@"%+n%5"+e'-:7h1la;@J[-4,3oIq6398OUa%dYqILBV?\D[>Z%q%N8d/_WmP))P:fb4q=UDLrE)WKCfg;%Wc1/QYr`W@S!+dJ=a@\Z0B[aiGI6+jCe!_j-eLW4W1LcW0%5Y9;V,H3M,M1W%78m67hO0XJO%NPUPOD7r3oi>[[Ai32/nN#6r%_;O(G0*/K!8b%j69l4[V3Lp_"g^+Cc20/RAAY;-JG$B+o>iipWJH_>PBuPVfuA:\-=Gh3uALJ/h8!TXE\Q5,0_Z*:ASo]mC:>H<]pE#lK7:G;^r_!g?Hbgl*Df)PSKh"@\qmh.df'GK\[l>CV2)#m*#,lMmBXtn&`_;M/=`L!g'j2=LlV`$Nl:g1(PSKgriq&G:Sgnjr!nSeCYB;$*CMI(?m@[0^B_R^iHiL8u5II4Ys-W=&nhNLqEcendstream +endobj +5 0 obj +<< +/Contents 9 0 R /MediaBox [ 0 0 595.2756 841.8898 ] /Parent 8 0 R /Resources << +/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] /XObject << +/FormXob.09be740384c9e55854408d2289092f07 4 0 R +>> +>> /Rotate 0 /Trans << + +>> + /Type /Page +>> +endobj +6 0 obj +<< +/PageMode /UseNone /Pages 8 0 R /Type /Catalog +>> +endobj +7 0 obj +<< +/Author (anonymous) /CreationDate (D:20240625114453+00'00') /Creator (ReportLab PDF Library - www.reportlab.com) /Keywords () /ModDate (D:20240625114453+00'00') /Producer (ReportLab PDF Library - www.reportlab.com) + /Subject (unspecified) /Title (untitled) /Trapped /False +>> +endobj +8 0 obj +<< +/Count 1 /Kids [ 5 0 R ] /Type /Pages +>> +endobj +9 0 obj +<< +/Filter [ /ASCII85Decode /FlateDecode ] /Length 440 +>> +stream +GasbV?Vc;.'ZJu*'^&=f`nITnHW7Ic%k^?'#PZ;AE@A1$`Plb6_-uV6(/n,(\bC:J;l-ZSf+qVMDJTh\KIrd#hMQnS0F5Yu]t?kp02;UtT:]ldp-?mBeL.f=H"TB]&YO)c`iK5ZU,V1;TVV6A6/e&9dq8Oe[9:=gQQ)1KrhhS<#A0"b@^&UIF[j_~>endstream +endobj +xref +0 10 +0000000000 65535 f +0000000073 00000 n +0000000114 00000 n +0000000221 00000 n +0000000333 00000 n +0000001549 00000 n +0000001815 00000 n +0000001883 00000 n +0000002179 00000 n +0000002238 00000 n +trailer +<< +/ID +[] +% ReportLab generated PDF document -- digest (http://www.reportlab.com) + +/Info 7 0 R +/Root 6 0 R +/Size 10 +>> +startxref +2768 +%%EOF