diff --git a/fonts/DoctorApp.ttf b/fonts/DoctorApp.ttf index 5102acc6..5992d28b 100644 Binary files a/fonts/DoctorApp.ttf and b/fonts/DoctorApp.ttf differ diff --git a/icons_app/config.json b/icons_app/config.json new file mode 100644 index 00000000..6893355b --- /dev/null +++ b/icons_app/config.json @@ -0,0 +1,150 @@ +{ + "name": "DoctorApp", + "css_prefix_text": "", + "css_use_suffix": false, + "hinting": true, + "units_per_em": 1000, + "ascent": 850, + "glyphs": [ + { + "uid": "9caed7b74de0f5a625ccb960f00d9c8d", + "css": "femaleicon", + "code": 59392, + "src": "custom_icons", + "selected": true, + "svg": { + "path": "M543.9 587C543.6 583.8 543.4 578.5 543.2 573 596.5 567.8 633.8 555.9 633.8 542 633.6 542 633.6 541.5 633.6 541.2 593.9 507.7 668.1 269.7 529.9 274.6 521.2 267.7 505.9 261.6 484.2 261.6 296.9 274.9 379.7 499.6 337 542 337 542 337 542 336.9 542 336.9 542 336.9 542 336.9 542.2 336.9 542.2 336.9 542.2 336.9 542.2S336.9 542.2 336.9 542.2C337 555.8 373.1 567.4 424.9 572.7 424.7 576.1 424.5 580.1 423.8 587 402.3 640.9 257.6 625.8 250.8 729.7H716.2C709.6 625.8 565.4 640.9 543.9 587Z", + "width": 986 + }, + "search": [ + "femaleicon" + ] + }, + { + "uid": "d30b03087b318086eb4f93c8ee4f0cf3", + "css": "male", + "code": 59393, + "src": "custom_icons", + "selected": true, + "svg": { + "path": "M493.2 537.2C568.8 537.2 630.1 475.9 630.1 400.3S568.8 263.5 493.2 263.5 356.4 324.7 356.4 400.4C356.5 475.9 417.7 537.2 493.2 537.2ZM614.9 567.6H562.6C518.6 587.8 468 587.8 424.1 567.6H371.6C304.5 567.6 250 622 250 689.2V704.5C250 729.6 270.4 750 295.7 750.1H690.9C716.1 750.1 736.5 729.7 736.6 704.5V689.2C736.5 622 682 567.6 614.9 567.6Z", + "width": 986 + }, + "search": [ + "male" + ] + }, + { + "uid": "0bbb324cc39e62b3a4e05639a4f4008f", + "css": "home_icon", + "code": 59394, + "src": "custom_icons", + "selected": true, + "svg": { + "path": "M973.1 435L973.1 435 565 27A92 92 0 0 0 434.9 27L27.2 434.7 26.8 435.1A92 92 0 0 0 88 591.9C88.9 591.9 89.9 591.9 90.8 591.9H107.1V892.1A107.9 107.9 0 0 0 214.8 999.9H374.4A29.3 29.3 0 0 0 403.7 970.6V735.3A49.2 49.2 0 0 1 452.9 686.2H547A49.2 49.2 0 0 1 596.2 735.3V970.7A29.3 29.3 0 0 0 625.5 1000H785.1A107.9 107.9 0 0 0 892.8 892.3V592H907.8A92.1 92.1 0 0 0 973 434.9ZM931.6 523.7A33.4 33.4 0 0 1 907.9 533.5H863.5A29.3 29.3 0 0 0 834.2 562.8V892.3A49.2 49.2 0 0 1 785.1 941.4H654.9V735.3A107.9 107.9 0 0 0 547 627.5H452.9A107.9 107.9 0 0 0 345.1 735.2V941.3H215A49.2 49.2 0 0 1 165.8 892.1V562.8A29.3 29.3 0 0 0 136.5 533.5H92.8L91.4 533.5A33.4 33.4 0 0 1 68.4 476.4H68.4L476.3 68.4A33.4 33.4 0 0 1 523.6 68.4L931.4 476.2 931.6 476.4A33.4 33.4 0 0 1 931.6 523.7ZM931.6 523.7", + "width": 1000 + }, + "search": [ + "home_icon" + ] + }, + { + "uid": "06d6838cdcf6af812f2eb51e0269afc0", + "css": "home_icon_active", + "code": 59395, + "src": "custom_icons", + "selected": true, + "svg": { + "path": "M973.1 435L973.1 435 565 27A92.1 92.1 0 0 0 434.9 27L27.1 434.7 26.7 435.1A92 92 0 0 0 88 592C88.9 592 89.9 592 90.8 592H107.1V892.2A107.9 107.9 0 0 0 214.8 999.9H374.4A29.3 29.3 0 0 0 403.7 970.6V735.4A49.2 49.2 0 0 1 452.9 686.2H547A49.2 49.2 0 0 1 596.2 735.4V970.7A29.3 29.3 0 0 0 625.5 1000H785.1A107.9 107.9 0 0 0 892.8 892.3V592.1H907.8A92.1 92.1 0 0 0 973 434.9ZM931.6 523.7A33.4 33.4 0 0 1 907.9 533.5H863.5A29.3 29.3 0 0 0 834.2 562.8V892.3A49.2 49.2 0 0 1 785.1 941.5H654.9V735.4A107.9 107.9 0 0 0 547 627.5H452.9A107.9 107.9 0 0 0 345.1 735.2V941.3H214.9A49.2 49.2 0 0 1 165.8 892.1V562.8A29.3 29.3 0 0 0 136.5 533.5H92.8L91.4 533.5A33.4 33.4 0 0 1 68.3 476.4H68.3L476.3 68.4A33.4 33.4 0 0 1 523.6 68.4L931.4 476.2 931.6 476.4A33.4 33.4 0 0 1 931.6 523.7ZM931.6 523.7", + "width": 1000 + }, + "search": [ + "home_icon_active" + ] + }, + { + "uid": "1ab45bf5797fa9ab96b13fccd2be2b3c", + "css": "menu_icon", + "code": 59396, + "src": "custom_icons", + "selected": true, + "svg": { + "path": "M406.7 0H83.2A83.3 83.3 0 0 0 0 83.2V406.7A83.3 83.3 0 0 0 83.2 489.9H406.7A83.3 83.3 0 0 0 489.9 406.7V83.2A83.3 83.3 0 0 0 406.7 0ZM406.7 449.1H83.2A42.4 42.4 0 0 1 40.8 406.7V83.2A42.4 42.4 0 0 1 83.2 40.8H406.7A42.4 42.4 0 0 1 449 83.2V406.7H449A42.4 42.4 0 0 1 406.7 449.1ZM916.8 0H593.3A83.3 83.3 0 0 0 510.1 83.2V406.7A83.3 83.3 0 0 0 593.3 489.9H916.8A83.3 83.3 0 0 0 1000 406.7V83.2A83.3 83.3 0 0 0 916.8 0ZM959.1 406.7A42.4 42.4 0 0 1 916.8 449.1H593.3A42.4 42.4 0 0 1 550.9 406.7V83.2A42.4 42.4 0 0 1 593.3 40.8H916.8A42.4 42.4 0 0 1 959.1 83.2ZM406.7 510.1H83.2A83.3 83.3 0 0 0 0 593.3V916.8A83.3 83.3 0 0 0 83.2 1000H406.7A83.3 83.3 0 0 0 489.9 916.8V593.3A83.3 83.3 0 0 0 406.7 510.1ZM406.7 959.2H83.2A42.4 42.4 0 0 1 40.8 916.8V593.3A42.4 42.4 0 0 1 83.2 550.9H406.7A42.4 42.4 0 0 1 449 593.3V916.8H449A42.4 42.4 0 0 1 406.7 959.1ZM916.8 510.1H593.3A83.3 83.3 0 0 0 510.1 593.3V916.8A83.3 83.3 0 0 0 593.3 1000H916.8A83.3 83.3 0 0 0 1000 916.8V593.3A83.3 83.3 0 0 0 916.8 510.1ZM959.1 916.8A42.4 42.4 0 0 1 916.8 959.2H593.3A42.4 42.4 0 0 1 550.9 916.8V593.3A42.4 42.4 0 0 1 593.3 550.9H916.8A42.4 42.4 0 0 1 959.1 593.3Z", + "width": 1000 + }, + "search": [ + "menu_icon" + ] + }, + { + "uid": "31c2eb5f0f3a8d8d17c7b439045d641f", + "css": "menu_icon_active", + "code": 59397, + "src": "custom_icons", + "selected": true, + "svg": { + "path": "M406.7 0H83.2A83.3 83.3 0 0 0 0 83.2V406.7A83.3 83.3 0 0 0 83.2 489.9H406.7A83.3 83.3 0 0 0 489.9 406.7V83.2A83.3 83.3 0 0 0 406.7 0ZM406.7 449.1H83.2A42.4 42.4 0 0 1 40.8 406.7V83.2A42.4 42.4 0 0 1 83.2 40.8H406.7A42.4 42.4 0 0 1 449 83.2V406.7H449A42.4 42.4 0 0 1 406.7 449.1ZM916.8 0H593.3A83.3 83.3 0 0 0 510.1 83.2V406.7A83.3 83.3 0 0 0 593.3 489.9H916.8A83.3 83.3 0 0 0 1000 406.7V83.2A83.3 83.3 0 0 0 916.8 0ZM959.1 406.7A42.4 42.4 0 0 1 916.8 449.1H593.3A42.4 42.4 0 0 1 550.9 406.7V83.2A42.4 42.4 0 0 1 593.3 40.8H916.8A42.4 42.4 0 0 1 959.1 83.2ZM406.7 510.1H83.2A83.3 83.3 0 0 0 0 593.3V916.8A83.3 83.3 0 0 0 83.2 1000H406.7A83.3 83.3 0 0 0 489.9 916.8V593.3A83.3 83.3 0 0 0 406.7 510.1ZM406.7 959.2H83.2A42.4 42.4 0 0 1 40.8 916.8V593.3A42.4 42.4 0 0 1 83.2 550.9H406.7A42.4 42.4 0 0 1 449 593.3V916.8H449A42.4 42.4 0 0 1 406.7 959.1ZM916.8 510.1H593.3A83.3 83.3 0 0 0 510.1 593.3V916.8A83.3 83.3 0 0 0 593.3 1000H916.8A83.3 83.3 0 0 0 1000 916.8V593.3A83.3 83.3 0 0 0 916.8 510.1ZM959.1 916.8A42.4 42.4 0 0 1 916.8 959.2H593.3A42.4 42.4 0 0 1 550.9 916.8V593.3A42.4 42.4 0 0 1 593.3 550.9H916.8A42.4 42.4 0 0 1 959.1 593.3Z", + "width": 1000 + }, + "search": [ + "menu_icon_active" + ] + }, + { + "uid": "174fb3d81ce317465a3bfa96c20a84fa", + "css": "message_icon", + "code": 59398, + "src": "custom_icons", + "selected": true, + "svg": { + "path": "M1182.9 44.3A100 100 0 0 0 1099.9 0.1H100A100 100 0 0 0 0 100V900A100 100 0 0 0 100 1000H1110.4A100 100 0 0 0 1200 900V100A100 100 0 0 0 1182.9 44.3ZM99.9 40H1100A60 60 0 0 1 1138.8 54.2L1061.2 128.2 734 440 612.8 555.7A20 20 0 0 1 589 555.7L466 440 60 54.3A60 60 0 0 1 100 40ZM39.9 90.4L423.2 454 40 820V100A59.7 59.7 0 0 1 40 90.4ZM1160 900A60 60 0 0 1 1107.6 960H100A60 60 0 0 1 40 900V874.6L452.2 481.6 562.4 586.4A60 60 0 0 0 571 592.2 58.4 58.4 0 0 0 600 600 63 63 0 0 0 640 586L748.8 482.4 1160 874.2ZM1160 100V819L776.8 454.7 1160 90.1A61.4 61.4 0 0 1 1160 100Z", + "width": 1200 + }, + "search": [ + "message_icon" + ] + }, + { + "uid": "67294966cf1313317b699a3c127bde7e", + "css": "message_icon_active", + "code": 59399, + "src": "custom_icons", + "selected": true, + "svg": { + "path": "M1182.9 44.3A100 100 0 0 0 1099.9 0.1H100A100 100 0 0 0 0 100V900A100 100 0 0 0 100 1000H1110.4A100 100 0 0 0 1200 900V100A100 100 0 0 0 1182.9 44.3ZM99.9 40H1100A60 60 0 0 1 1138.8 54.2L1061.2 128.2 734 440 612.8 555.7A20 20 0 0 1 589 555.7L466 440 60 54.3A60 60 0 0 1 100 40ZM39.9 90.4L423.2 454 40 820V100A59.7 59.7 0 0 1 40 90.4ZM1160 900A60 60 0 0 1 1107.6 960H100A60 60 0 0 1 40 900V874.6L452.2 481.6 562.4 586.4A60 60 0 0 0 571 592.2 58.4 58.4 0 0 0 600 600 63 63 0 0 0 640 586L748.8 482.4 1160 874.2ZM1160 100V819L776.8 454.7 1160 90.1A61.4 61.4 0 0 1 1160 100Z", + "width": 1200 + }, + "search": [ + "message_icon_active" + ] + }, + { + "uid": "dbebba4fbd61d05cd5150c5555ab572e", + "css": "scdedule_icon_active", + "code": 59400, + "src": "custom_icons", + "selected": true, + "svg": { + "path": "M445.8 693.2A28.8 28.8 0 0 0 486.5 693.2L589.2 590.5A28.8 28.8 0 1 0 548.5 549.8L466.1 632.1 428.6 594.6A28.8 28.8 0 1 0 387.9 635.2ZM445.8 693.2M488.5 849.9A228.4 228.4 0 1 0 260.1 621.5 228.7 228.7 0 0 0 488.5 849.9ZM488.5 450.6A170.8 170.8 0 1 1 317.6 621.5 171 171 0 0 1 488.5 450.6ZM488.5 450.6M881.5 62.9H827.7V29.5A29.5 29.5 0 0 0 768.6 29.5V62.9H710.6V29.5A29.5 29.5 0 0 0 651.5 29.5V62.9H325.5V29.5A29.5 29.5 0 0 0 266.4 29.5V62.9H208.4V29.5A29.5 29.5 0 0 0 149.4 29.5V62.9H95.5A95.6 95.6 0 0 0 0 158.4V904.5A95.6 95.6 0 0 0 95.5 1000H881.5A95.6 95.6 0 0 0 976.9 904.5V158.4A95.6 95.6 0 0 0 881.5 62.9ZM918 904.5A36.5 36.5 0 0 1 881.5 940.9H95.5A36.5 36.5 0 0 1 59 904.5V308.4H917.9ZM59.1 158.4A36.5 36.5 0 0 1 95.5 121.9H149.4V155.3A29.5 29.5 0 0 0 208.4 155.3V121.9H266.4V155.3A29.5 29.5 0 0 0 325.5 155.3V121.9H651.5V155.3A29.5 29.5 0 0 0 710.6 155.3V121.9H768.6V155.3A29.5 29.5 0 0 0 827.7 155.3V121.9H881.5A36.5 36.5 0 0 1 918 158.4V249.3H59.1ZM59.1 158.4", + "width": 977 + }, + "search": [ + "scdedule_icon_active" + ] + }, + { + "uid": "f94c7f2a567a023799a9f230b749c677", + "css": "schedule_icon", + "code": 59401, + "src": "custom_icons", + "selected": true, + "svg": { + "path": "M444.6 698.3A29.5 29.5 0 0 0 486.4 698.3L591.8 592.8A29.5 29.5 0 0 0 550.1 551L465.5 635.6 427 597A29.5 29.5 0 0 0 385.2 638.8ZM444.6 698.3M488.5 859.1A234.4 234.4 0 1 0 254.1 624.7 234.7 234.7 0 0 0 488.5 859.1ZM488.5 449.3A175.4 175.4 0 1 1 313.2 624.7 175.5 175.5 0 0 1 488.5 449.3ZM488.5 449.3M881.5 62.9H827.7V29.5A29.5 29.5 0 1 0 768.6 29.5V62.9H710.6V29.5A29.5 29.5 0 0 0 651.5 29.5V62.9H325.5V29.5A29.5 29.5 0 0 0 266.4 29.5V62.9H208.4V29.5A29.5 29.5 0 0 0 149.4 29.5V62.9H95.5A95.6 95.6 0 0 0 0 158.4V904.5A95.6 95.6 0 0 0 95.5 1000H881.5A95.6 95.6 0 0 0 976.9 904.5V158.4A95.6 95.6 0 0 0 881.5 62.9ZM918 904.5A36.5 36.5 0 0 1 881.5 940.9H95.5A36.5 36.5 0 0 1 59 904.5V308.4H917.9ZM59.1 158.4A36.5 36.5 0 0 1 95.5 121.9H149.4V155.3A29.5 29.5 0 0 0 208.4 155.3V121.9H266.4V155.3A29.5 29.5 0 0 0 325.5 155.3V121.9H651.5V155.3A29.5 29.5 0 0 0 710.6 155.3V121.9H768.6V155.3A29.5 29.5 0 0 0 827.7 155.3V121.9H881.5A36.5 36.5 0 0 1 918 158.4V249.3H59.1ZM59.1 158.4", + "width": 977 + }, + "search": [ + "schedule_icon" + ] + } + ] +} \ No newline at end of file diff --git a/lib/config/config.dart b/lib/config/config.dart index f4494a91..5781a91d 100644 --- a/lib/config/config.dart +++ b/lib/config/config.dart @@ -2,8 +2,8 @@ const MAX_SMALL_SCREEN = 660; const ONLY_NUMBERS = "[0-9]"; const ONLY_LETTERS = "[a-zA-Z]"; const ONLY_DATE = "[0-9/]"; -const BASE_URL = 'https://hmgwebservices.com/Services/'; -//const BASE_URL = 'https://uat.hmgwebservices.com/Services/'; +// const BASE_URL = 'https://hmgwebservices.com/Services/'; +const BASE_URL = 'https://uat.hmgwebservices.com/Services/'; const PHARMACY_ITEMS_URL = "Lists.svc/REST/GetPharmcyItems_Region"; const PHARMACY_LIST_URL = "Patients.svc/REST/GetPharmcyList"; const PATIENT_PROGRESS_NOTE_URL = "DoctorApplication.svc/REST/GetProgressNoteForInPatient"; diff --git a/lib/lookups/home_items_lookup.dart b/lib/lookups/home_items_lookup.dart deleted file mode 100644 index 63b66844..00000000 --- a/lib/lookups/home_items_lookup.dart +++ /dev/null @@ -1,66 +0,0 @@ -import 'package:doctor_app_flutter/models/category_models.dart'; -import 'package:doctor_app_flutter/routes.dart'; - -const DUMMY_CATEGORIES = const [ - Category( - id: 'c1', - title: 'My Schedule', - image: 'assets/images/user_id_icon.png', - link: MY_SCHEDULE), - Category( - id: 'c2', - title: 'Patient Search', - image: 'assets/images/user_id_icon.png', - link: PATIENT_SEARCH), - Category( - id: 'c3', - title: 'outPatiant', - image: 'assets/images/user_id_icon.png', - link: PATIENTS), - Category( - id: 'c4', - title: 'InPatiant', - image: 'assets/images/user_id_icon.png', - link: PATIENTS), - Category( - id: 'c5', - title: 'Referral', - image: 'assets/images/user_id_icon.png', - link: PATIENTS), - Category( - id: 'c6', - title: 'Referred', - image: 'assets/images/user_id_icon.png', - link: PATIENTS), - Category( - id: 'c7', - title: 'Discharged Patient', - image: 'assets/images/user_id_icon.png', - link: PATIENTS), - Category( - id: 'c8', - title: 'Referral Discharge', - image: 'assets/images/user_id_icon.png', - link: PATIENTS), - Category( - id: 'c9', - title: 'Search For Medicine', - image: 'assets/images/user_id_icon.png', - link: MEDICINE_SEARCH), - Category( - id: 'c10', - title: 'Doctor Reply', - image: 'assets/images/user_id_icon.png', - link: DOCTOR_REPLY), - Category( - id: 'c11', - title: 'Blood Bank', - image: 'assets/images/user_id_icon.png', - link: BLOOD_BANK), - Category( - id: 'c12', - title: 'QR Reader', - image: 'assets/images/user_id_icon.png', - link: QR_READER), - ]; - \ No newline at end of file diff --git a/lib/lookups/hospital_lookup.dart b/lib/lookups/hospital_lookup.dart new file mode 100644 index 00000000..7e99a42b --- /dev/null +++ b/lib/lookups/hospital_lookup.dart @@ -0,0 +1,218 @@ + List ListProject= [ + { + "Desciption": "Dubai Hospital", + "DesciptionN": null, + "ID": 2, + "LegalName": "Dr. Sulaiman Al Habib Hospital FZ - LLC ", + "LegalNameN": "مستشفى الدكتور سليمان الحبيب منطقة حرة - ذ.م.م", + "Name": "Dubai Hospital", + "NameN": null, + "PhoneNumber": "+97144297777", + "SetupID": "505005", + "DistanceInKilometers": 0, + "IsActive": true, + "Latitude": "25.231273", + "Longitude": "55.320942", + "MainProjectID": 2, + "ProjectOutSA": true, + "UsingInDoctorApp": true + }, + { + "Desciption": "SZR Center", + "DesciptionN": null, + "ID": 3, + "LegalName": "Dr. Sulaiman Al Habib Hospital SZR - LLC ", + "LegalNameN": "مستشفى الدكتور سليمان الحبيب طريق الشيخ زايد", + "Name": "SZR Medical Center", + "NameN": null, + "PhoneNumber": "+97144297777", + "SetupID": "505005", + "DistanceInKilometers": 0, + "IsActive": true, + "Latitude": "25.154501", + "Longitude": "55.226000", + "MainProjectID": 3, + "ProjectOutSA": true, + "UsingInDoctorApp": true + }, + { + "Desciption": "Home Health Care (HHC)", + "DesciptionN": null, + "ID": 95, + "LegalName": "", + "LegalNameN": "", + "Name": "Home Health Care (HHC)", + "NameN": null, + "PhoneNumber": "+966114622224", + "SetupID": "91877 ", + "DistanceInKilometers": 0, + "IsActive": false, + "Latitude": "24.704242", + "Longitude": "46.675823", + "MainProjectID": 12, + "ProjectOutSA": false, + "UsingInDoctorApp": true + }, + { + "Desciption": "Olaya Hospital", + "DesciptionN": null, + "ID": 12, + "LegalName": "from Sehat Al Olaya Medical Complex Company", + "LegalNameN": "شركة مجمع صحة العليا الطبي ", + "Name": "Olaya Hospital", + "NameN": null, + "PhoneNumber": "+966114622224", + "SetupID": "91877 ", + "DistanceInKilometers": 0, + "IsActive": true, + "Latitude": "24.704242", + "Longitude": "46.675823", + "MainProjectID": 12, + "ProjectOutSA": false, + "UsingInDoctorApp": true + }, + { + "Desciption": "Ajaji Dental Clinic (AMS)", + "DesciptionN": null, + "ID": 99, + "LegalName": "from Dr. Abdulaziz A. Al - Ajaji Dental Clinics Complex Company", + "LegalNameN": "شركة مجمع عيادات الدكتور عبدالعزيز ابرهيم العجاجي لطب الاسنان", + "Name": "Ajaji Dental Clinic (AMS)", + "NameN": null, + "PhoneNumber": "+966115259999", + "SetupID": "010266", + "DistanceInKilometers": 0, + "IsActive": false, + "Latitude": "24.722136", + "Longitude": "46.774303", + "MainProjectID": 15, + "ProjectOutSA": false, + "UsingInDoctorApp": true + }, + { + "Desciption": "Ajaji Dental Clinic (AMS)", + "DesciptionN": null, + "ID": 100, + "LegalName": "from Dr. Abdulaziz A. Al - Ajaji Dental Clinics Complex Company", + "LegalNameN": "شركة مجمع عيادات الدكتور عبدالعزيز ابرهيم العجاجي لطب الاسنان", + "Name": "Ajaji Dental Clinic (AMS) Malaz", + "NameN": null, + "PhoneNumber": "+966115259999", + "SetupID": "010266", + "DistanceInKilometers": 0, + "IsActive": false, + "Latitude": "24.722136", + "Longitude": "46.774303", + "MainProjectID": 15, + "ProjectOutSA": false, + "UsingInDoctorApp": true + }, + { + "Desciption": "Arryan Hospital", + "DesciptionN": null, + "ID": 15, + "LegalName": "Al Rayan Hospital for Healthcare Company ", + "LegalNameN": "شركة مستشفى الريان للرعاية الطبية", + "Name": "Arryan Hospital", + "NameN": null, + "PhoneNumber": "+966114909999", + "SetupID": "010266", + "DistanceInKilometers": 0, + "IsActive": true, + "Latitude": "24.722136", + "Longitude": "46.774303", + "MainProjectID": 15, + "ProjectOutSA": false, + "UsingInDoctorApp": true + }, + { + "Desciption": "MD Lab", + "DesciptionN": null, + "ID": 150, + "LegalName": "", + "LegalNameN": "", + "Name": "MD Lab", + "NameN": null, + "PhoneNumber": "+966114774700", + "SetupID": "010266", + "DistanceInKilometers": 0, + "IsActive": false, + "Latitude": "24.722136", + "Longitude": "46.774303", + "MainProjectID": 15, + "ProjectOutSA": false, + "UsingInDoctorApp": true + }, + { + "Desciption": "Takhassusi Hospital", + "DesciptionN": null, + "ID": 16, + "LegalName": "Western Specialist Hospital for Medical Care", + "LegalNameN": "شركة مستشفى الغرب التخصصي للرعاية الطبية ", + "Name": "Takhassusi Hospital", + "NameN": null, + "PhoneNumber": "+966112833333", + "SetupID": "102000", + "DistanceInKilometers": 0, + "IsActive": true, + "Latitude": "24.719364", + "Longitude": "46.657567", + "MainProjectID": 16, + "ProjectOutSA": false, + "UsingInDoctorApp": true + }, + { + "Desciption": "Suwaidi Hospital", + "DesciptionN": null, + "ID": 17, + "LegalName": "Sehat Al Suwaidi Medical Company", + "LegalNameN": "شركة صحة السويدي الطبية", + "Name": "Suwaidi Hospital", + "NameN": null, + "PhoneNumber": "+966114754444", + "SetupID": "010266", + "DistanceInKilometers": 0, + "IsActive": true, + "Latitude": "24.567525", + "Longitude": " 46.641019", + "MainProjectID": 17, + "ProjectOutSA": false, + "UsingInDoctorApp": true + }, + { + "Desciption": "Al Qassim Hospital\r\n", + "DesciptionN": null, + "ID": 21, + "LegalName": "Buraidah Al Takhassusi Hospital for Healthcare Company", + "LegalNameN": "شركة مستشفى بريدة التخصصي للرعاية الطبية ", + "Name": "Al Qassim Hospital", + "NameN": null, + "PhoneNumber": "+966163166666", + "SetupID": "051431", + "DistanceInKilometers": 0, + "IsActive": true, + "Latitude": "26.360724", + "Longitude": "43.945774", + "MainProjectID": 21, + "ProjectOutSA": false, + "UsingInDoctorApp": true + }, + { + "Desciption": "Khobar Hospital", + "DesciptionN": null, + "ID": 60, + "LegalName": "Khobar Hospital", + "LegalNameN": "مستشفى الخبر", + "Name": "Khobar Hospital", + "NameN": null, + "PhoneNumber": "+966138711111", + "SetupID": "034423", + "DistanceInKilometers": 0, + "IsActive": true, + "Latitude": "26.3107804", + "Longitude": "50.2108347", + "MainProjectID": 60, + "ProjectOutSA": false, + "UsingInDoctorApp": true + } + ]; \ No newline at end of file diff --git a/lib/models/patient/prescription_report_for_in_patient.dart b/lib/models/patient/prescription_report_for_in_patient.dart new file mode 100644 index 00000000..d4452e32 --- /dev/null +++ b/lib/models/patient/prescription_report_for_in_patient.dart @@ -0,0 +1,200 @@ +class PrescriptionReportForInPatient { + int admissionNo; + int authorizedBy; + Null bedNo; + String comments; + int createdBy; + String createdByName; + Null createdByNameN; + String createdOn; + String direction; + int directionID; + Null directionN; + String dose; + int editedBy; + Null iVDiluentLine; + int iVDiluentType; + Null iVDiluentVolume; + Null iVRate; + Null iVStability; + String itemDescription; + int itemID; + int lineItemNo; + int locationId; + int noOfDoses; + int orderNo; + int patientID; + String pharmacyRemarks; + String prescriptionDatetime; + int prescriptionNo; + String processedBy; + int projectID; + int refillID; + String refillType; + Null refillTypeN; + int reviewedPharmacist; + Null roomId; + String route; + int routeId; + Null routeN; + Null setupID; + String startDatetime; + int status; + String statusDescription; + Null statusDescriptionN; + String stopDatetime; + int unitofMeasurement; + String unitofMeasurementDescription; + Null unitofMeasurementDescriptionN; + + PrescriptionReportForInPatient( + {this.admissionNo, + this.authorizedBy, + this.bedNo, + this.comments, + this.createdBy, + this.createdByName, + this.createdByNameN, + this.createdOn, + this.direction, + this.directionID, + this.directionN, + this.dose, + this.editedBy, + this.iVDiluentLine, + this.iVDiluentType, + this.iVDiluentVolume, + this.iVRate, + this.iVStability, + this.itemDescription, + this.itemID, + this.lineItemNo, + this.locationId, + this.noOfDoses, + this.orderNo, + this.patientID, + this.pharmacyRemarks, + this.prescriptionDatetime, + this.prescriptionNo, + this.processedBy, + this.projectID, + this.refillID, + this.refillType, + this.refillTypeN, + this.reviewedPharmacist, + this.roomId, + this.route, + this.routeId, + this.routeN, + this.setupID, + this.startDatetime, + this.status, + this.statusDescription, + this.statusDescriptionN, + this.stopDatetime, + this.unitofMeasurement, + this.unitofMeasurementDescription, + this.unitofMeasurementDescriptionN}); + + PrescriptionReportForInPatient.fromJson(Map json) { + admissionNo = json['AdmissionNo']; + authorizedBy = json['AuthorizedBy']; + bedNo = json['BedNo']; + comments = json['Comments']; + createdBy = json['CreatedBy']; + createdByName = json['CreatedByName']; + createdByNameN = json['CreatedByNameN']; + createdOn = json['CreatedOn']; + direction = json['Direction']; + directionID = json['DirectionID']; + directionN = json['DirectionN']; + dose = json['Dose']; + editedBy = json['EditedBy']; + iVDiluentLine = json['IVDiluentLine']; + iVDiluentType = json['IVDiluentType']; + iVDiluentVolume = json['IVDiluentVolume']; + iVRate = json['IVRate']; + iVStability = json['IVStability']; + itemDescription = json['ItemDescription']; + itemID = json['ItemID']; + lineItemNo = json['LineItemNo']; + locationId = json['LocationId']; + noOfDoses = json['NoOfDoses']; + orderNo = json['OrderNo']; + patientID = json['PatientID']; + pharmacyRemarks = json['PharmacyRemarks']; + prescriptionDatetime = json['PrescriptionDatetime']; + prescriptionNo = json['PrescriptionNo']; + processedBy = json['ProcessedBy']; + projectID = json['ProjectID']; + refillID = json['RefillID']; + refillType = json['RefillType']; + refillTypeN = json['RefillTypeN']; + reviewedPharmacist = json['ReviewedPharmacist']; + roomId = json['RoomId']; + route = json['Route']; + routeId = json['RouteId']; + routeN = json['RouteN']; + setupID = json['SetupID']; + startDatetime = json['StartDatetime']; + status = json['Status']; + statusDescription = json['StatusDescription']; + statusDescriptionN = json['StatusDescriptionN']; + stopDatetime = json['StopDatetime']; + unitofMeasurement = json['UnitofMeasurement']; + unitofMeasurementDescription = json['UnitofMeasurementDescription']; + unitofMeasurementDescriptionN = json['UnitofMeasurementDescriptionN']; + } + + Map toJson() { + final Map data = new Map(); + data['AdmissionNo'] = this.admissionNo; + data['AuthorizedBy'] = this.authorizedBy; + data['BedNo'] = this.bedNo; + data['Comments'] = this.comments; + data['CreatedBy'] = this.createdBy; + data['CreatedByName'] = this.createdByName; + data['CreatedByNameN'] = this.createdByNameN; + data['CreatedOn'] = this.createdOn; + data['Direction'] = this.direction; + data['DirectionID'] = this.directionID; + data['DirectionN'] = this.directionN; + data['Dose'] = this.dose; + data['EditedBy'] = this.editedBy; + data['IVDiluentLine'] = this.iVDiluentLine; + data['IVDiluentType'] = this.iVDiluentType; + data['IVDiluentVolume'] = this.iVDiluentVolume; + data['IVRate'] = this.iVRate; + data['IVStability'] = this.iVStability; + data['ItemDescription'] = this.itemDescription; + data['ItemID'] = this.itemID; + data['LineItemNo'] = this.lineItemNo; + data['LocationId'] = this.locationId; + data['NoOfDoses'] = this.noOfDoses; + data['OrderNo'] = this.orderNo; + data['PatientID'] = this.patientID; + data['PharmacyRemarks'] = this.pharmacyRemarks; + data['PrescriptionDatetime'] = this.prescriptionDatetime; + data['PrescriptionNo'] = this.prescriptionNo; + data['ProcessedBy'] = this.processedBy; + data['ProjectID'] = this.projectID; + data['RefillID'] = this.refillID; + data['RefillType'] = this.refillType; + data['RefillTypeN'] = this.refillTypeN; + data['ReviewedPharmacist'] = this.reviewedPharmacist; + data['RoomId'] = this.roomId; + data['Route'] = this.route; + data['RouteId'] = this.routeId; + data['RouteN'] = this.routeN; + data['SetupID'] = this.setupID; + data['StartDatetime'] = this.startDatetime; + data['Status'] = this.status; + data['StatusDescription'] = this.statusDescription; + data['StatusDescriptionN'] = this.statusDescriptionN; + data['StopDatetime'] = this.stopDatetime; + data['UnitofMeasurement'] = this.unitofMeasurement; + data['UnitofMeasurementDescription'] = this.unitofMeasurementDescription; + data['UnitofMeasurementDescriptionN'] = this.unitofMeasurementDescriptionN; + return data; + } +} diff --git a/lib/models/patient/reauest_prescription_report_for_in_patient.dart b/lib/models/patient/reauest_prescription_report_for_in_patient.dart new file mode 100644 index 00000000..857705c4 --- /dev/null +++ b/lib/models/patient/reauest_prescription_report_for_in_patient.dart @@ -0,0 +1,64 @@ +class RequestPrescriptionReportForInPatient { + int patientID; + int projectID; + int admissionNo; + int languageID; + String stamp; + String iPAdress; + double versionID; + int channel; + String tokenID; + String sessionID; + bool isLoginForDoctorApp; + bool patientOutSA; + int patientTypeID; + + RequestPrescriptionReportForInPatient( + {this.patientID, + this.projectID, + this.admissionNo, + this.languageID, + this.stamp, + this.iPAdress, + this.versionID, + this.channel, + this.tokenID, + this.sessionID, + this.isLoginForDoctorApp, + this.patientOutSA, + this.patientTypeID}); + + RequestPrescriptionReportForInPatient.fromJson(Map json) { + patientID = json['PatientID']; + projectID = json['ProjectID']; + admissionNo = json['AdmissionNo']; + languageID = json['LanguageID']; + stamp = json['stamp']; + iPAdress = json['IPAdress']; + versionID = json['VersionID']; + channel = json['Channel']; + tokenID = json['TokenID']; + sessionID = json['SessionID']; + isLoginForDoctorApp = json['IsLoginForDoctorApp']; + patientOutSA = json['PatientOutSA']; + patientTypeID = json['PatientTypeID']; + } + + Map toJson() { + final Map data = new Map(); + data['PatientID'] = this.patientID; + data['ProjectID'] = this.projectID; + data['AdmissionNo'] = this.admissionNo; + data['LanguageID'] = this.languageID; + data['stamp'] = this.stamp; + data['IPAdress'] = this.iPAdress; + data['VersionID'] = this.versionID; + data['Channel'] = this.channel; + data['TokenID'] = this.tokenID; + data['SessionID'] = this.sessionID; + data['IsLoginForDoctorApp'] = this.isLoginForDoctorApp; + data['PatientOutSA'] = this.patientOutSA; + data['PatientTypeID'] = this.patientTypeID; + return data; + } +} diff --git a/lib/presentation/doctor_app_icons.dart b/lib/presentation/doctor_app_icons.dart index 1ee49644..c4430db3 100644 --- a/lib/presentation/doctor_app_icons.dart +++ b/lib/presentation/doctor_app_icons.dart @@ -21,21 +21,14 @@ class DoctorApp { static const _kFontFam = 'DoctorApp'; static const _kFontPkg = null; - static const IconData discharge_patient = const IconData(0xe800, fontFamily: _kFontFam, fontPackage: _kFontPkg); - static const IconData home_icon = const IconData(0xe801, fontFamily: _kFontFam, fontPackage: _kFontPkg); - static const IconData home_icon_active = const IconData(0xe802, fontFamily: _kFontFam, fontPackage: _kFontPkg); - static const IconData in_patient_white = const IconData(0xe804, fontFamily: _kFontFam, fontPackage: _kFontPkg); - static const IconData lab_results = const IconData(0xe805, fontFamily: _kFontFam, fontPackage: _kFontPkg); - static const IconData menu_icon = const IconData(0xe807, fontFamily: _kFontFam, fontPackage: _kFontPkg); - static const IconData menu_icon_active = const IconData(0xe808, fontFamily: _kFontFam, fontPackage: _kFontPkg); - static const IconData message_icon = const IconData(0xe809, fontFamily: _kFontFam, fontPackage: _kFontPkg); - static const IconData message_icon_active = const IconData(0xe80a, fontFamily: _kFontFam, fontPackage: _kFontPkg); - static const IconData out_patient = const IconData(0xe80c, fontFamily: _kFontFam, fontPackage: _kFontPkg); - static const IconData radiology = const IconData(0xe80d, fontFamily: _kFontFam, fontPackage: _kFontPkg); - static const IconData referral = const IconData(0xe80e, fontFamily: _kFontFam, fontPackage: _kFontPkg); - static const IconData scdedule_icon_active = const IconData(0xe80f, fontFamily: _kFontFam, fontPackage: _kFontPkg); - static const IconData search_patient = const IconData(0xe810, fontFamily: _kFontFam, fontPackage: _kFontPkg); - static const IconData schedule_icon = const IconData(0xe811, fontFamily: _kFontFam, fontPackage: _kFontPkg); - static const IconData image2vector = const IconData(0xe824, fontFamily: _kFontFam, fontPackage: _kFontPkg); - static const IconData menu_bar_icon = const IconData(0xe825, fontFamily: _kFontFam, fontPackage: _kFontPkg); + static const IconData femaleicon = IconData(0xe800, fontFamily: _kFontFam, fontPackage: _kFontPkg); + static const IconData male = IconData(0xe801, fontFamily: _kFontFam, fontPackage: _kFontPkg); + static const IconData home_icon = IconData(0xe802, fontFamily: _kFontFam, fontPackage: _kFontPkg); + static const IconData home_icon_active = IconData(0xe803, fontFamily: _kFontFam, fontPackage: _kFontPkg); + static const IconData menu_icon = IconData(0xe804, fontFamily: _kFontFam, fontPackage: _kFontPkg); + static const IconData menu_icon_active = IconData(0xe805, fontFamily: _kFontFam, fontPackage: _kFontPkg); + static const IconData message_icon = IconData(0xe806, fontFamily: _kFontFam, fontPackage: _kFontPkg); + static const IconData message_icon_active = IconData(0xe807, fontFamily: _kFontFam, fontPackage: _kFontPkg); + static const IconData scdedule_icon_active = IconData(0xe808, fontFamily: _kFontFam, fontPackage: _kFontPkg); + static const IconData schedule_icon = IconData(0xe809, fontFamily: _kFontFam, fontPackage: _kFontPkg); } diff --git a/lib/providers/patients_provider.dart b/lib/providers/patients_provider.dart index be972ea2..9bf8d34b 100644 --- a/lib/providers/patients_provider.dart +++ b/lib/providers/patients_provider.dart @@ -6,6 +6,7 @@ import 'package:doctor_app_flutter/models/patient/lab_orders_res_model.dart'; import 'package:doctor_app_flutter/models/patient/lab_result.dart'; import 'package:doctor_app_flutter/models/patient/lab_result_req_model.dart'; import 'package:doctor_app_flutter/models/patient/patiant_info_model.dart'; +import 'package:doctor_app_flutter/models/patient/prescription_report_for_in_patient.dart'; import 'package:doctor_app_flutter/models/patient/prescription_res_model.dart'; import 'package:doctor_app_flutter/models/patient/radiology_res_model.dart'; import 'package:flutter/cupertino.dart'; @@ -25,8 +26,7 @@ import '../util/helpers.dart'; Helpers helpers = Helpers(); -class PatientsProvider with ChangeNotifier -{ +class PatientsProvider with ChangeNotifier { bool isLoading = false; bool isError = false; String error = ''; @@ -35,10 +35,10 @@ class PatientsProvider with ChangeNotifier List patientLabResultOrdersList = []; List patientPrescriptionsList = []; List patientRadiologyList = []; + List prescriptionReportForInPatientList = []; - - /*@author: ibrahe albitar - *@Date:2/6/2020 + /*@author: ibrahe albitar + *@Date:2/6/2020 *@desc: getPatientPrescriptions */ @@ -48,7 +48,7 @@ class PatientsProvider with ChangeNotifier var insuranceApporvalsList = []; Client client = - HttpClientWithInterceptor.build(interceptors: [HttpInterceptor()]); + HttpClientWithInterceptor.build(interceptors: [HttpInterceptor()]); PatiantInformtion _selectedPatient; @@ -211,17 +211,15 @@ class PatientsProvider with ChangeNotifier *@Date:3/5/2020 *@param: patient *@return: - *@desc: getPatientPrescriptions + *@desc: geOutPatientPrescriptions */ - getPatientPrescriptions(patient) async { - // isLoading = true; - // notifyListeners(); + getOutPatientPrescriptions(patient) async { setBasicData(); try { if (await Helpers.checkConnection()) { final response = - await AppClient.post(GET_PRESCRIPTION, body: json.encode(patient)); + await AppClient.post(GET_PRESCRIPTION, body: json.encode(patient)); final int statusCode = response.statusCode; isLoading = false; @@ -253,6 +251,37 @@ class PatientsProvider with ChangeNotifier } } + /*@author: Mohammad Aljammal + *@Date:4/6/2020 + *@param: patient + *@return: + *@desc: getInPatientPrescriptions + */ + getInPatientPrescriptions(patient) async { + setBasicData(); + try { + prescriptionReportForInPatientList = []; + notifyListeners(); + await BaseAppClient.post( + 'DoctorApplication.svc/REST/GetPrescriptionReportForInPatient', + onSuccess: (dynamic response, int statusCode) { + response['List_PrescriptionReportForInPatient'].forEach((v) { + prescriptionReportForInPatientList + .add(PrescriptionReportForInPatient.fromJson(v)); + }); + isError = false; + isLoading = false; + }, onFailure: (String error, int statusCode) { + isError = true; + this.error = error; + }, body: patient); + notifyListeners(); + + } catch (err) { + handelCatchErrorCase(err); + } + } + /*@author: Elham Rababah *@Date:12/5/2020 *@param: patient @@ -280,7 +309,7 @@ class PatientsProvider with ChangeNotifier try { if (await Helpers.checkConnection()) { final response = - await AppClient.post(GET_RADIOLOGY, body: json.encode(patient)); + await AppClient.post(GET_RADIOLOGY, body: json.encode(patient)); final int statusCode = response.statusCode; isLoading = false; @@ -311,7 +340,6 @@ class PatientsProvider with ChangeNotifier } } - getLabResult(LabOrdersResModel labOrdersResModel) async { labResultList.clear(); isLoading = true; @@ -321,15 +349,14 @@ class PatientsProvider with ChangeNotifier requestLabResult.orderNo = labOrdersResModel.orderNo; requestLabResult.invoiceNo = labOrdersResModel.invoiceNo; requestLabResult.patientTypeID = labOrdersResModel.patientType; - await BaseAppClient.post( - 'DoctorApplication.svc/REST/GetPatientLabResults', + await BaseAppClient.post('DoctorApplication.svc/REST/GetPatientLabResults', onSuccess: (dynamic response, int statusCode) { - isError = false; - isLoading = false; - response['List_GetLabNormal'].forEach((v) { - labResultList.add(new LabResult.fromJson(v)); - }); - }, onFailure: (String error, int statusCode) { + isError = false; + isLoading = false; + response['List_GetLabNormal'].forEach((v) { + labResultList.add(new LabResult.fromJson(v)); + }); + }, onFailure: (String error, int statusCode) { isError = true; isLoading = false; this.error = error; @@ -337,13 +364,12 @@ class PatientsProvider with ChangeNotifier notifyListeners(); } - getPatientInsuranceApprovals(patient) async { setBasicData(); try { if (await Helpers.checkConnection()) { - final response = await AppClient.post( - PATIENT_INSURANCE_APPROVALS_URL, body: json.encode(patient)); + final response = await AppClient.post(PATIENT_INSURANCE_APPROVALS_URL, + body: json.encode(patient)); final int statusCode = response.statusCode; isLoading = false; @@ -372,44 +398,40 @@ class PatientsProvider with ChangeNotifier } } -/*@author: ibrahe albitar - *@Date:2/6/2020 +/*@author: ibrahe albitar + *@Date:2/6/2020 *@desc: getPatientPrescriptions */ getPatientProgressNote(patient) async { - setBasicData(); - try { - if (await Helpers.checkConnection()) { - final response = await AppClient.post(PATIENT_PROGRESS_NOTE_URL, - body: json.encode(patient)); - final int statusCode = response.statusCode; - isLoading = false; - - if (statusCode < 200 || statusCode >= 400 || json == null) { - isError = true; - error = 'Error While Fetching data'; + setBasicData(); + try { + if (await Helpers.checkConnection()) { + final response = await AppClient.post(PATIENT_PROGRESS_NOTE_URL, + body: json.encode(patient)); + final int statusCode = response.statusCode; + isLoading = false; + + if (statusCode < 200 || statusCode >= 400 || json == null) { + isError = true; + error = 'Error While Fetching data'; + } else { + var res = json.decode(response.body); + print('$res'); + if (res['MessageStatus'] == 1) { + patientProgressNoteList = res['List_GetPregressNoteForInPatient']; } else { - var res = json.decode(response.body); - print('$res'); - if (res['MessageStatus'] == 1) { - patientProgressNoteList = res['List_GetPregressNoteForInPatient']; - } else { - isError = true; - error = res['ErrorMessage'] ?? res['ErrorEndUserMessage']; - } + isError = true; + error = res['ErrorMessage'] ?? res['ErrorEndUserMessage']; } - } else { - isLoading = false; - isError = true; - error = 'Please Check The Internet Connection'; } - notifyListeners(); - } catch (err) { - handelCatchErrorCase(err); + } else { + isLoading = false; + isError = true; + error = 'Please Check The Internet Connection'; } + notifyListeners(); + } catch (err) { + handelCatchErrorCase(err); } - - - - + } } diff --git a/lib/screens/patients/profile/prescriptions/prescriptions_screen.dart b/lib/screens/patients/profile/prescriptions/prescriptions_screen.dart index e06d789c..c246d9ff 100644 --- a/lib/screens/patients/profile/prescriptions/prescriptions_screen.dart +++ b/lib/screens/patients/profile/prescriptions/prescriptions_screen.dart @@ -1,3 +1,4 @@ +import 'package:doctor_app_flutter/models/patient/reauest_prescription_report_for_in_patient.dart'; import 'package:doctor_app_flutter/widgets/patients/profile/large_avatar.dart'; import 'package:doctor_app_flutter/widgets/shared/card_with_bgNew_widget.dart'; import 'package:flutter/cupertino.dart'; @@ -12,9 +13,7 @@ import '../../../../providers/patients_provider.dart'; import '../../../../util/dr_app_shared_pref.dart'; import '../../../../widgets/shared/app_scaffold_widget.dart'; import '../../../../widgets/shared/app_texts_widget.dart'; -import '../../../../widgets/shared/card_with_bg_widget.dart'; import '../../../../widgets/shared/dr_app_circular_progress_Indeicator.dart'; -import '../../../../widgets/shared/profile_image_widget.dart'; import '../../../../widgets/shared/errors/dr_app_embedded_error.dart'; DrAppSharedPreferances sharedPref = new DrAppSharedPreferances(); @@ -47,20 +46,25 @@ class _PrescriptionScreenState extends State { final routeArgs = ModalRoute.of(context).settings.arguments as Map; PatiantInformtion patient = routeArgs['patient']; String token = await sharedPref.getString(TOKEN); - // String type = await sharedPref.getString(SLECTED_PATIENT_TYPE); - // int inOutpatientType = 1; - // if (type == '0') { - // inOutpatientType = 2; - // } - // print(type); - PrescriptionReqModel prescriptionReqModel = PrescriptionReqModel( - patientID: patient.patientId, - projectID: patient.projectId, - tokenID: token, - patientTypeID: patient.patientType, - languageID: 2, - setupID: 0); - patientsProv.getPatientPrescriptions(prescriptionReqModel.toJson()); + String type = await sharedPref.getString(SLECTED_PATIENT_TYPE); + + if (type == '1') { + RequestPrescriptionReportForInPatient prescriptionReqModel = + RequestPrescriptionReportForInPatient( + patientID: patient.patientId, + patientTypeID: patient.patientType, + admissionNo: int.parse(patient.admissionNo)); + patientsProv.getInPatientPrescriptions(prescriptionReqModel.toJson()); + } else { + PrescriptionReqModel prescriptionReqModel = PrescriptionReqModel( + patientID: patient.patientId, + projectID: patient.projectId, + tokenID: token, + patientTypeID: patient.patientType, + languageID: 2, + setupID: 0); + patientsProv.getOutPatientPrescriptions(prescriptionReqModel.toJson()); + } } @override @@ -104,25 +108,38 @@ class _PrescriptionScreenState extends State { Row( children: [ LargeAvatar( - url: patientsProv.patientPrescriptionsList[index].doctorImageURL,name:patientsProv.patientPrescriptionsList[index].doctorName ,radius: 10,width: 70,), + url: patientsProv + .patientPrescriptionsList[index] + .doctorImageURL, + name: patientsProv + .patientPrescriptionsList[index] + .doctorName, + radius: 10, + width: 70, + ), Expanded( child: Container( - margin: EdgeInsets.only(left: 15,right: 15), + margin: EdgeInsets.only( + left: 15, right: 15), child: Column( crossAxisAlignment: - CrossAxisAlignment.start, + CrossAxisAlignment.start, children: [ AppText( '${patientsProv.patientPrescriptionsList[index].name}', - fontSize: 2.5 * SizeConfig.textMultiplier, + fontSize: 2.5 * + SizeConfig.textMultiplier, ), SizedBox( height: 8, ), AppText( - ' ${patientsProv.patientPrescriptionsList[index].clinicDescription}', - fontSize: 2.5 * SizeConfig.textMultiplier, - color: Theme.of(context).primaryColor), + '${patientsProv.patientPrescriptionsList[index].clinicDescription}', + fontSize: 2.5 * + SizeConfig + .textMultiplier, + color: Theme.of(context) + .primaryColor), SizedBox( height: 8, ), diff --git a/lib/screens/patients/profile/radiology/radiology_report_screen.dart b/lib/screens/patients/profile/radiology/radiology_report_screen.dart new file mode 100644 index 00000000..badb88f8 --- /dev/null +++ b/lib/screens/patients/profile/radiology/radiology_report_screen.dart @@ -0,0 +1,42 @@ +import 'package:doctor_app_flutter/config/size_config.dart'; +import 'package:doctor_app_flutter/widgets/shared/app_scaffold_widget.dart'; +import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart'; +import 'package:flutter/cupertino.dart'; +import 'package:flutter/material.dart'; + +class RadiologyReportScreen extends StatelessWidget { + final String reportData; + + RadiologyReportScreen({Key key, this.reportData}); + + @override + Widget build(BuildContext context) { + return AppScaffold( + appBarTitle: "Radiology Report", + showAppDrawer: false, + showBottomBar: false, + body: Container( + padding: EdgeInsets.all(10), + margin: EdgeInsets.all(10), + decoration: BoxDecoration( + borderRadius: + BorderRadius.all(Radius.circular(10)), + color: Colors.white, + border: Border( + bottom: BorderSide( + color: Colors.grey, width: 0.5), + top: BorderSide( + color: Colors.grey, width: 0.5), + left: BorderSide( + color: Colors.grey, width: 0.5), + right: BorderSide( + color: Colors.grey, width: 0.5), + ), + ), + child: AppText(reportData, + fontSize: 2.5 * SizeConfig.textMultiplier, + ), + ), + ); + } +} diff --git a/lib/screens/patients/profile/radiology/radiology_screen.dart b/lib/screens/patients/profile/radiology/radiology_screen.dart index e5dd68f7..10adf2d5 100644 --- a/lib/screens/patients/profile/radiology/radiology_screen.dart +++ b/lib/screens/patients/profile/radiology/radiology_screen.dart @@ -1,3 +1,5 @@ +import 'package:doctor_app_flutter/screens/patients/profile/radiology/radiology_report_screen.dart'; +import 'package:doctor_app_flutter/widgets/patients/profile/large_avatar.dart'; import 'package:doctor_app_flutter/widgets/shared/errors/dr_app_embedded_error.dart'; import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; @@ -88,68 +90,106 @@ class _RadiologyScreenState extends State { 0, SizeConfig.realScreenWidth * 0.05, 0), - child: ListView.builder( - itemCount: patientsProv.patientRadiologyList.length, - itemBuilder: (BuildContext ctxt, int index) { - return InkWell( - child: CardWithBgWidget( - widget: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Row( - children: [ - ProfileImageWidget( + child: Container( + margin: EdgeInsets.symmetric(vertical: 10), + decoration: BoxDecoration( + color: Colors.white, + borderRadius: BorderRadius.all( + Radius.circular(20.0), + ), + ), + child: ListView.builder( + itemCount: patientsProv.patientRadiologyList.length, + itemBuilder: (BuildContext context, int index) { + return InkWell( + onTap: () { + Navigator.push( + context, + MaterialPageRoute(builder: (context) => RadiologyReportScreen(reportData: patientsProv.patientRadiologyList[index].reportData,)),); + }, + child: Container( + padding: EdgeInsets.all(10), + margin: EdgeInsets.all(10), + decoration: BoxDecoration( + borderRadius: + BorderRadius.all(Radius.circular(10)), + border: Border( + bottom: BorderSide( + color: Colors.grey, width: 0.5), + top: BorderSide( + color: Colors.grey, width: 0.5), + left: BorderSide( + color: Colors.grey, width: 0.5), + right: BorderSide( + color: Colors.grey, width: 0.5), + ), + ), + child: Column( + crossAxisAlignment: + CrossAxisAlignment.start, + children: [ + Row( + children: [ + LargeAvatar( url: patientsProv .patientRadiologyList[index] - .doctorImageURL), - Expanded( - child: Padding( - padding: const EdgeInsets.fromLTRB( - 8, 0, 0, 0), - child: Column( - crossAxisAlignment: - CrossAxisAlignment.start, - children: [ - AppText( - '${patientsProv.patientRadiologyList[index].doctorName}', - fontSize: 2.5 * + .doctorImageURL, + name: patientsProv + .patientLabResultOrdersList[ + index] + .doctorName, + ), + Expanded( + child: Padding( + padding: + const EdgeInsets.fromLTRB( + 8, 0, 0, 0), + child: Column( + crossAxisAlignment: + CrossAxisAlignment.start, + children: [ + AppText( + '${patientsProv.patientRadiologyList[index].doctorName}', + fontSize: 2.5 * + SizeConfig + .textMultiplier, + fontWeight: + FontWeight.bold), + SizedBox( + height: 8, + ), + AppText( + 'Invoice No:${patientsProv.patientRadiologyList[index].invoiceNo}', + fontSize: 2 * + SizeConfig + .textMultiplier, + ), + SizedBox( + height: 8, + ), + AppText( + ' ${patientsProv.patientRadiologyList[index].clinicName}', + fontSize: 2 * SizeConfig .textMultiplier, - fontWeight: - FontWeight.bold), - SizedBox( - height: 8, - ), - AppText( - 'Invoice No:${patientsProv.patientRadiologyList[index].invoiceNo}', - fontSize: 2 * - SizeConfig.textMultiplier, - ), - SizedBox( - height: 8, - ), - AppText( - ' ${patientsProv.patientRadiologyList[index].clinicName}', - fontSize: 2 * - SizeConfig.textMultiplier, - color: Theme.of(context) - .primaryColor, - ), - SizedBox( - height: 8, - ), - ], + color: Theme.of(context) + .primaryColor, + ), + SizedBox( + height: 8, + ), + ], + ), ), - ), - ) - ], - ), - ], + ) + ], + ), + ], + ), ), - ), - onTap: () {}, - ); - }), + ); + }), + ), ), ); } diff --git a/lib/screens/patients/profile/vital_sign/vital_sign_details_screen.dart b/lib/screens/patients/profile/vital_sign/vital_sign_details_screen.dart index ca21e7aa..16466704 100644 --- a/lib/screens/patients/profile/vital_sign/vital_sign_details_screen.dart +++ b/lib/screens/patients/profile/vital_sign/vital_sign_details_screen.dart @@ -1,3 +1,5 @@ +import 'package:doctor_app_flutter/widgets/shared/dr_app_circular_progress_Indeicator.dart'; +import 'package:doctor_app_flutter/widgets/shared/errors/dr_app_embedded_error.dart'; import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; @@ -74,128 +76,154 @@ class _VitalSignDetailsScreenState extends State { final routeArgs = ModalRoute.of(context).settings.arguments as Map; vitalSing = routeArgs['vitalSing']; return AppScaffold( - appBarTitle: "vital Sing ", - isloading: patientsProv.isLoading, - body: Container( - child: Column( - children: [ - Row( - children: [ - InkWell( - onTap: () { - Navigator.of(context).pushNamed(BODY_MEASUREMENTS, - arguments: { - 'title': 'Body Measurements', - 'key': vitalSignDetails.bodyMeasurements - }); - }, - child: Expanded( - child: VitalSignItem( - des: 'Body Measurements', - url: url + 'heartbeat.png', - lastVal: '137', - unit: 'Cm', - ), - ), - ), - InkWell( - onTap: () { - Navigator.of(context).pushNamed(BODY_MEASUREMENTS, - arguments: { - 'title': 'Temperature', - 'key': vitalSignDetails.temperature - }); - }, - child: Expanded( - child: VitalSignItem( - des: 'Temperature', - url: url + 'heartbeat.png', - ), - ), - ), - ], - ), - Row( - children: [ - InkWell( - onTap: () { - Navigator.of(context).pushNamed(BODY_MEASUREMENTS, - arguments: { - 'title': 'pulse', - 'key': vitalSignDetails.pulse - }); - }, - child: VitalSignItem( - des: 'Pulse', - url: url + 'heartbeat.png', - ), - ), - InkWell( - onTap: () { - Navigator.of(context).pushNamed(BODY_MEASUREMENTS, - arguments: { - 'title': 'pespiration', - 'key': vitalSignDetails.pespiration - }); - }, - child: VitalSignItem( - des: 'Respiration', - url: url + 'heartbeat.png', - ), - ), - ], - ), - Row( - children: [ - InkWell( - onTap: () { - Navigator.of(context).pushNamed(BODY_MEASUREMENTS, - arguments: { - 'title': 'Blood Pressure', - 'key': vitalSignDetails.bloodPressure - }); - }, - child: VitalSignItem( - des: 'Blood Pressure', - url: url + 'heartbeat.png', - ), - ), - InkWell( - onTap: () { - Navigator.of(context).pushNamed(BODY_MEASUREMENTS, - arguments: { - 'title': 'Oxygenation', - 'key': vitalSignDetails.oxygenation - }); - }, - child: VitalSignItem( - des: 'Oxygenation', - url: url + 'heartbeat.png', - ), - ), - ], - ), - Row( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - InkWell( - onTap: () { - Navigator.of(context).pushNamed(BODY_MEASUREMENTS, - arguments: { - 'title': 'Pain Scale', - 'key': vitalSignDetails.painScale - }); - }, - child: VitalSignItem( - des: 'Pain Scale', - url: url + 'heartbeat.png', - ), - ), - ], - ), - ], - ), - )); + appBarTitle: "vital Sing", + body: patientsProv.isLoading + ? DrAppCircularProgressIndeicator() + : patientsProv.isError + ? DrAppEmbeddedError(error: patientsProv.error) + : patientsProv.patientVitalSignOrderdSubList.length == 0 + ? DrAppEmbeddedError( + error: 'You don\'t have any vital Sings') + : Container( + child: Column( + children: [ + Row( + children: [ + InkWell( + onTap: () { + Navigator.of(context).pushNamed( + BODY_MEASUREMENTS, + arguments: { + 'title': 'Body Measurements', + 'key': + vitalSignDetails.bodyMeasurements + }); + }, + child: Expanded( + child: VitalSignItem( + des: 'Body Measurements', + url: url + 'heartbeat.png', + lastVal: patientsProv.patientVitalSignOrderdSubList[0].heightCm.toString(), + unit: 'Cm', + ), + ), + ), + InkWell( + onTap: () { + Navigator.of(context).pushNamed( + BODY_MEASUREMENTS, + arguments: { + 'title': 'Temperature', + 'key': vitalSignDetails.temperature, + + }); + }, + child: Expanded( + child: VitalSignItem( + des: 'Temperature', + url: url + 'heartbeat.png', + lastVal: patientsProv.patientVitalSignOrderdSubList[0].temperatureCelcius.toString(), + unit: 'C', + + ), + ), + ), + ], + ), + Row( + children: [ + InkWell( + onTap: () { + Navigator.of(context).pushNamed( + BODY_MEASUREMENTS, + arguments: { + 'title': 'pulse', + 'key': vitalSignDetails.pulse + }); + }, + child: VitalSignItem( + des: 'Pulse', + url: url + 'heartbeat.png', + lastVal: patientsProv.patientVitalSignOrderdSubList[0].pulseBeatPerMinute.toString(), + unit: 'M', + ), + ), + InkWell( + onTap: () { + Navigator.of(context).pushNamed( + BODY_MEASUREMENTS, + arguments: { + 'title': 'pespiration', + 'key': vitalSignDetails.pespiration + }); + }, + child: VitalSignItem( + des: 'Respiration', + url: url + 'heartbeat.png', + + lastVal: patientsProv.patientVitalSignOrderdSubList[0].respirationBeatPerMinute.toString(), + unit: 'M', + ), + ), + ], + ), + Row( + children: [ + InkWell( + onTap: () { + Navigator.of(context).pushNamed( + BODY_MEASUREMENTS, + arguments: { + 'title': 'Blood Pressure', + 'key': vitalSignDetails.bloodPressure + }); + }, + child: VitalSignItem( + des: 'Blood Pressure', + url: url + 'heartbeat.png', + lastVal: patientsProv.patientVitalSignOrderdSubList[0].bloodPressure.toString(), + unit: '', + ), + ), + InkWell( + onTap: () { + Navigator.of(context).pushNamed( + BODY_MEASUREMENTS, + arguments: { + 'title': 'Oxygenation', + 'key': vitalSignDetails.oxygenation + }); + }, + child: VitalSignItem( + des: 'Oxygenation', + url: url + 'heartbeat.png', + lastVal: patientsProv.patientVitalSignOrderdSubList[0].fIO2.toString(), + unit: '', + ), + ), + ], + ), + Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + InkWell( + onTap: () { + Navigator.of(context).pushNamed( + BODY_MEASUREMENTS, + arguments: { + 'title': 'Pain Scale', + 'key': vitalSignDetails.painScale + }); + }, + child: VitalSignItem( + des: 'Pain Scale', + url: url + 'heartbeat.png', + ), + ), + ], + ), + ], + ), + )); } } - diff --git a/lib/screens/patients/profile/vital_sign/vital_sign_item.dart b/lib/screens/patients/profile/vital_sign/vital_sign_item.dart index 9e25af85..d84d8ca0 100644 --- a/lib/screens/patients/profile/vital_sign/vital_sign_item.dart +++ b/lib/screens/patients/profile/vital_sign/vital_sign_item.dart @@ -1,7 +1,9 @@ import 'package:flutter/material.dart'; +import 'package:hexcolor/hexcolor.dart'; import '../../../../config/size_config.dart'; import '../../../../widgets/shared/rounded_container_widget.dart'; + /* *@author: Elham Rababah *@Date:03/6/2020 @@ -46,15 +48,13 @@ class VitalSignItem extends StatelessWidget { des, style: TextStyle( fontSize: 1.7 * SizeConfig.textMultiplier, - color: Theme.of(context).primaryColor, + color: Hexcolor('#B8382C'), fontWeight: FontWeight.bold), ), ), Expanded( flex: 1, child: Column( - // mainAxisAlignment: MainAxisAlignment.spaceEvenly, - // crossAxisAlignment: CrossAxisAlignment.start, children: [ Expanded( child: Image.asset( @@ -69,9 +69,11 @@ class VitalSignItem extends StatelessWidget { children: [ new TextSpan(text: lastVal), new TextSpan( - text: ' ${unit}', - style: - TextStyle(color: Theme.of(context).primaryColor)), + text: ' ${unit}', + style: TextStyle( + color: Hexcolor('#B8382C'), + ), + ), ], ), )) diff --git a/lib/widgets/auth/auth_header.dart b/lib/widgets/auth/auth_header.dart index 5fced98d..d9cf7f53 100644 --- a/lib/widgets/auth/auth_header.dart +++ b/lib/widgets/auth/auth_header.dart @@ -1,5 +1,6 @@ import 'package:flutter/material.dart'; import 'package:flutter/rendering.dart'; +import 'package:hexcolor/hexcolor.dart'; import '../../config/size_config.dart'; import '../../lookups/auth_lookup.dart'; @@ -113,7 +114,7 @@ class AuthHeader extends StatelessWidget { Text( text2, style: TextStyle( - color: Theme.of(context).primaryColor, + color: Hexcolor('#B8382C'), fontSize: textFontSize, fontWeight: FontWeight.w800), ) @@ -160,7 +161,7 @@ class AuthHeader extends StatelessWidget { style: TextStyle( fontSize: SizeConfig.isMobile ? 26 : SizeConfig.realScreenWidth * 0.030, fontWeight: FontWeight.w800, - color: Theme.of(context).primaryColor), + color: Hexcolor('#B8382C')), ), ); } @@ -176,7 +177,7 @@ class AuthHeader extends StatelessWidget { style: TextStyle( fontWeight: FontWeight.w800, fontSize: SizeConfig.isMobile ? 24 : SizeConfig.realScreenWidth * 0.029, - color: Theme.of(context).primaryColor, + color: Hexcolor('#B8382C'), ), ); } diff --git a/lib/widgets/auth/login_form.dart b/lib/widgets/auth/login_form.dart index 8ce783d0..ccee038f 100644 --- a/lib/widgets/auth/login_form.dart +++ b/lib/widgets/auth/login_form.dart @@ -1,3 +1,4 @@ +import 'package:doctor_app_flutter/lookups/hospital_lookup.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:flutter/rendering.dart'; @@ -35,6 +36,9 @@ class _LoginFormState extends State { String uniqueId = "Unknown"; var projectsList = []; + FocusNode focusPass; + FocusNode focusProject; + var userInfo = UserModel( UserID: '', Password: '', @@ -54,7 +58,7 @@ class _LoginFormState extends State { @override Widget build(BuildContext context) { final focusPass = FocusNode(); - final focusProject = FocusNode(); + final focusProject = FocusNode(); if (projectsList.length == 0) { getProjectsList(); @@ -106,7 +110,7 @@ class _LoginFormState extends State { onFieldSubmitted: (_) { FocusScope.of(context).requestFocus(focusProject); helpers.showCupertinoPicker( - context, projectsList, 'Name', onSelectProject); + context, projectsList, 'Name', onSelectProject); }, ), buildSizedBox(), @@ -147,8 +151,6 @@ class _LoginFormState extends State { ), RaisedButton( onPressed: () { - // Navigator.of(context).pushNamed(VERIFICATION_METHODS); - login(context, authProv, widget.changeLoadingStata); }, textColor: Colors.white, @@ -314,9 +316,14 @@ class _LoginFormState extends State { }); } else { // handel error - + setState(() { + projectsList = ListProject; + }); } }).catchError((err) { + setState(() { + projectsList = ListProject; + }); print(err); }); } @@ -330,5 +337,6 @@ class _LoginFormState extends State { userInfo.ProjectID = projectsList[index]["ID"]; projectIdController.text = projectsList[index]['Name']; }); + FocusScope.of(context).requestFocus(focusProject); } } diff --git a/lib/widgets/doctor/my_referral_patient_widget.dart b/lib/widgets/doctor/my_referral_patient_widget.dart index a2eb5f1d..02d3f10a 100644 --- a/lib/widgets/doctor/my_referral_patient_widget.dart +++ b/lib/widgets/doctor/my_referral_patient_widget.dart @@ -75,113 +75,54 @@ class _MyReferralPatientWidgetState extends State { children: [ TableRow( children: [ - Expanded( - child: Container( - margin: EdgeInsets.all(2.5), - padding: EdgeInsets.all(5), - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - AppText( - 'File No', - fontSize: - 1.7 * SizeConfig.textMultiplier, - fontWeight: FontWeight.bold, - ), - AppText( - '${widget.myReferralPatientModel.referringDoctor}', - fontSize: - 1.7 * SizeConfig.textMultiplier, - fontWeight: FontWeight.w300, - ) - ], - ), + Container( + margin: EdgeInsets.all(2.5), + padding: EdgeInsets.all(5), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + AppText( + 'File No', + fontSize: + 1.7 * SizeConfig.textMultiplier, + fontWeight: FontWeight.bold, + ), + AppText( + '${widget.myReferralPatientModel.referringDoctor}', + fontSize: + 1.7 * SizeConfig.textMultiplier, + fontWeight: FontWeight.w300, + ) + ], ), - ), - Expanded( - child: Container( - margin: EdgeInsets.only(left: 4,top: 2.5,right: 2.5,bottom: 2.5), - padding: EdgeInsets.all(5), - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - AppText( - 'Referring Doctor', - fontSize: - 1.7 * SizeConfig.textMultiplier, - fontWeight: FontWeight.bold, - ), - AppText( - widget.myReferralPatientModel - .referringClinicDescription, - fontSize: - 1.7 * SizeConfig.textMultiplier, - fontWeight: FontWeight.w300, - ) - ], - ), + Container( + margin: EdgeInsets.only(left: 4,top: 2.5,right: 2.5,bottom: 2.5), + padding: EdgeInsets.all(5), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + AppText( + 'Referring Doctor', + fontSize: + 1.7 * SizeConfig.textMultiplier, + fontWeight: FontWeight.bold, + ), + AppText( + widget.myReferralPatientModel + .referringClinicDescription, + fontSize: + 1.7 * SizeConfig.textMultiplier, + fontWeight: FontWeight.w300, + ) + ], ), - ) + ), ] ), TableRow( children: [ - Expanded( - child: Container( - margin: EdgeInsets.all(2.5), - padding: EdgeInsets.all(5), - child: Column( - crossAxisAlignment: - CrossAxisAlignment.start, - children: [ - AppText( - 'Referring Clinic', - fontSize: - 1.7 * SizeConfig.textMultiplier, - fontWeight: FontWeight.bold, - ), - AppText( - '${widget.myReferralPatientModel.referringClinicDescription}', - fontSize: - 1.7 * SizeConfig.textMultiplier, - fontWeight: FontWeight.w300, - ) - ], - ), - ), - ), - Expanded( - child: Container( - margin: EdgeInsets.only(left: 4,top: 2.5,right: 2.5,bottom: 2.5), - padding: EdgeInsets.all(5), - child: Column( - crossAxisAlignment: - CrossAxisAlignment.start, - children: [ - AppText( - 'Frequency', - fontSize: - 1.7 * SizeConfig.textMultiplier, - fontWeight: FontWeight.bold, - ), - AppText( - widget.myReferralPatientModel - .frequencyDescription, - fontSize: - 1.7 * SizeConfig.textMultiplier, - fontWeight: FontWeight.w300, - ) - ], - ), - ), - ) - ] - ), - TableRow( - children: [ - Expanded( - child: Container( + Container( margin: EdgeInsets.all(2.5), padding: EdgeInsets.all(5), child: Column( @@ -189,13 +130,13 @@ class _MyReferralPatientWidgetState extends State { CrossAxisAlignment.start, children: [ AppText( - 'Priority', + 'Referring Clinic', fontSize: 1.7 * SizeConfig.textMultiplier, fontWeight: FontWeight.bold, ), AppText( - '${widget.myReferralPatientModel.priorityDescription}', + '${widget.myReferralPatientModel.referringClinicDescription}', fontSize: 1.7 * SizeConfig.textMultiplier, fontWeight: FontWeight.w300, @@ -203,9 +144,7 @@ class _MyReferralPatientWidgetState extends State { ], ), ), - ), - Expanded( - child: Container( + Container( margin: EdgeInsets.only(left: 4,top: 2.5,right: 2.5,bottom: 2.5), padding: EdgeInsets.all(5), child: Column( @@ -213,21 +152,69 @@ class _MyReferralPatientWidgetState extends State { CrossAxisAlignment.start, children: [ AppText( - 'Max Response Time', + 'Frequency', fontSize: 1.7 * SizeConfig.textMultiplier, fontWeight: FontWeight.bold, ), AppText( - Helpers.getDateFormatted(widget - .myReferralPatientModel - .mAXResponseTime), + widget.myReferralPatientModel + .frequencyDescription, fontSize: 1.7 * SizeConfig.textMultiplier, fontWeight: FontWeight.w300, ) ], ), + ) + ] + ), + TableRow( + children: [ + Container( + margin: EdgeInsets.all(2.5), + padding: EdgeInsets.all(5), + child: Column( + crossAxisAlignment: + CrossAxisAlignment.start, + children: [ + AppText( + 'Priority', + fontSize: + 1.7 * SizeConfig.textMultiplier, + fontWeight: FontWeight.bold, + ), + AppText( + '${widget.myReferralPatientModel.priorityDescription}', + fontSize: + 1.7 * SizeConfig.textMultiplier, + fontWeight: FontWeight.w300, + ) + ], + ), + ), + Container( + margin: EdgeInsets.only(left: 4,top: 2.5,right: 2.5,bottom: 2.5), + padding: EdgeInsets.all(5), + child: Column( + crossAxisAlignment: + CrossAxisAlignment.start, + children: [ + AppText( + 'Max Response Time', + fontSize: + 1.7 * SizeConfig.textMultiplier, + fontWeight: FontWeight.bold, + ), + AppText( + Helpers.getDateFormatted(widget + .myReferralPatientModel + .mAXResponseTime), + fontSize: + 1.7 * SizeConfig.textMultiplier, + fontWeight: FontWeight.w300, + ) + ], ), ) ], diff --git a/lib/widgets/doctor/my_referred_patient_widget.dart b/lib/widgets/doctor/my_referred_patient_widget.dart index 1af712ff..0ff1e433 100644 --- a/lib/widgets/doctor/my_referred_patient_widget.dart +++ b/lib/widgets/doctor/my_referred_patient_widget.dart @@ -87,144 +87,81 @@ class _MyReferredPatientWidgetState extends State { ), children: [ TableRow(children: [ - Expanded( - child: Container( - margin: EdgeInsets.all(2.5), - padding: EdgeInsets.all(5), - decoration: BoxDecoration(), - child: Column( - crossAxisAlignment: - CrossAxisAlignment.start, - children: [ - AppText( - TranslationBase.of(context).fileNo, - fontSize: - 1.7 * SizeConfig.textMultiplier, - fontWeight: FontWeight.bold, - ), - AppText( - '${widget.myReferredPatientModel.patientId}', - fontSize: - 1.7 * SizeConfig.textMultiplier, - fontWeight: FontWeight.w300, - ) - ], - ), + Container( + margin: EdgeInsets.all(2.5), + padding: EdgeInsets.all(5), + decoration: BoxDecoration(), + child: Column( + crossAxisAlignment: + CrossAxisAlignment.start, + children: [ + AppText( + TranslationBase.of(context).fileNo, + fontSize: + 1.7 * SizeConfig.textMultiplier, + fontWeight: FontWeight.bold, + ), + AppText( + '${widget.myReferredPatientModel.patientId}', + fontSize: + 1.7 * SizeConfig.textMultiplier, + fontWeight: FontWeight.w300, + ) + ], ), ), - Expanded( - child: Container( - margin: EdgeInsets.only( - left: 4, - top: 2.5, - right: 2.5, - bottom: 2.5), - padding: EdgeInsets.all(5), - child: Column( - crossAxisAlignment: - CrossAxisAlignment.start, - children: [ - AppText( - TranslationBase.of(context).referralDoctor, - fontSize: - 1.7 * SizeConfig.textMultiplier, - fontWeight: FontWeight.bold, - ), - Texts( - widget.myReferredPatientModel - .referralDoctorName, - maxLength: 80, - readMore: true, - ), - ], - ), + Container( + margin: EdgeInsets.only( + left: 4, + top: 2.5, + right: 2.5, + bottom: 2.5), + padding: EdgeInsets.all(5), + child: Column( + crossAxisAlignment: + CrossAxisAlignment.start, + children: [ + AppText( + TranslationBase.of(context).referralDoctor, + fontSize: + 1.7 * SizeConfig.textMultiplier, + fontWeight: FontWeight.bold, + ), + Texts( + widget.myReferredPatientModel + .referralDoctorName, + maxLength: 80, + readMore: true, + ), + ], ), ), ]), TableRow( children: [ - Expanded( - child: Container( - margin: EdgeInsets.all(2.5), - padding: EdgeInsets.all(5), - child: Column( - crossAxisAlignment: - CrossAxisAlignment.start, - children: [ - AppText( - TranslationBase.of(context).referringClinic, - fontSize: 1.7 * - SizeConfig.textMultiplier, - fontWeight: FontWeight.bold, - ), - AppText( - '${widget.myReferredPatientModel.referralClinicDescription}', - fontSize: 1.7 * - SizeConfig.textMultiplier, - fontWeight: FontWeight.w300, - ) - ], - ), - ), - ), - Expanded( - child: Container( - margin: EdgeInsets.only( - left: 4, - top: 2.5, - right: 2.5, - bottom: 2.5), - padding: EdgeInsets.all(5), - child: Column( - crossAxisAlignment: - CrossAxisAlignment.start, - children: [ - AppText( - TranslationBase.of(context).frequency, - fontSize: 1.7 * - SizeConfig.textMultiplier, - fontWeight: FontWeight.bold, - ), - AppText( - widget.myReferredPatientModel - .frequencyDescription, - fontSize: 1.7 * - SizeConfig.textMultiplier, - fontWeight: FontWeight.w300, - ) - ], - ), - ), - ) - ], - ), - TableRow(children: [ - Expanded( - child: Container( + Container( margin: EdgeInsets.all(2.5), padding: EdgeInsets.all(5), child: Column( crossAxisAlignment: - CrossAxisAlignment.start, + CrossAxisAlignment.start, children: [ AppText( - TranslationBase.of(context).priority, - fontSize: - 1.7 * SizeConfig.textMultiplier, + TranslationBase.of(context).referringClinic, + fontSize: 1.7 * + SizeConfig.textMultiplier, fontWeight: FontWeight.bold, ), AppText( - '${widget.myReferredPatientModel.priorityDescription}', - fontSize: - 1.7 * SizeConfig.textMultiplier, + '${widget.myReferredPatientModel.referralClinicDescription}', + fontSize: 1.7 * + SizeConfig.textMultiplier, fontWeight: FontWeight.w300, ) ], ), ), - ), - Expanded( - child: Container( + Container( margin: EdgeInsets.only( left: 4, top: 2.5, @@ -233,24 +170,75 @@ class _MyReferredPatientWidgetState extends State { padding: EdgeInsets.all(5), child: Column( crossAxisAlignment: - CrossAxisAlignment.start, + CrossAxisAlignment.start, children: [ AppText( - TranslationBase.of(context).maxResponseTime, - fontSize: - 1.7 * SizeConfig.textMultiplier, + TranslationBase.of(context).frequency, + fontSize: 1.7 * + SizeConfig.textMultiplier, fontWeight: FontWeight.bold, ), AppText( - Helpers.getDateFormatted(widget - .myReferredPatientModel - .maxResponseTime), - fontSize: - 1.7 * SizeConfig.textMultiplier, + widget.myReferredPatientModel + .frequencyDescription, + fontSize: 1.7 * + SizeConfig.textMultiplier, fontWeight: FontWeight.w300, ) ], ), + ) + ], + ), + TableRow(children: [ + Container( + margin: EdgeInsets.all(2.5), + padding: EdgeInsets.all(5), + child: Column( + crossAxisAlignment: + CrossAxisAlignment.start, + children: [ + AppText( + TranslationBase.of(context).priority, + fontSize: + 1.7 * SizeConfig.textMultiplier, + fontWeight: FontWeight.bold, + ), + AppText( + '${widget.myReferredPatientModel.priorityDescription}', + fontSize: + 1.7 * SizeConfig.textMultiplier, + fontWeight: FontWeight.w300, + ) + ], + ), + ), + Container( + margin: EdgeInsets.only( + left: 4, + top: 2.5, + right: 2.5, + bottom: 2.5), + padding: EdgeInsets.all(5), + child: Column( + crossAxisAlignment: + CrossAxisAlignment.start, + children: [ + AppText( + TranslationBase.of(context).maxResponseTime, + fontSize: + 1.7 * SizeConfig.textMultiplier, + fontWeight: FontWeight.bold, + ), + AppText( + Helpers.getDateFormatted(widget + .myReferredPatientModel + .maxResponseTime), + fontSize: + 1.7 * SizeConfig.textMultiplier, + fontWeight: FontWeight.w300, + ) + ], ), ) ]) diff --git a/lib/widgets/patients/vital_sign_details_wideget.dart b/lib/widgets/patients/vital_sign_details_wideget.dart index 437b4085..c706e0ad 100644 --- a/lib/widgets/patients/vital_sign_details_wideget.dart +++ b/lib/widgets/patients/vital_sign_details_wideget.dart @@ -51,7 +51,7 @@ class _VitalSignDetailsWidgetState extends State { List fullData(){ List tableRow = []; tableRow.add(TableRow(children: [ - Expanded( + Container( child: Container( decoration: BoxDecoration( color: Hexcolor('#515B5D'), @@ -68,7 +68,7 @@ class _VitalSignDetailsWidgetState extends State { height: 60, ), ), - Expanded( + Container( child: Container( decoration: BoxDecoration( color: Hexcolor('#515B5D'), @@ -84,9 +84,9 @@ class _VitalSignDetailsWidgetState extends State { ])); widget.vitalList.forEach((vital) { tableRow.add(TableRow(children: [ - Expanded( + Container( child: Container( - height: 50, + padding: EdgeInsets.all(10), color: Colors.white, child: Center( child: Texts( @@ -96,9 +96,9 @@ class _VitalSignDetailsWidgetState extends State { ), ), ), - Expanded( + Container( child: Container( - height: 50, + padding: EdgeInsets.all(10), color: Colors.white, child: Center( child: Texts( diff --git a/lib/widgets/shared/charts/app_time_series_chart.dart b/lib/widgets/shared/charts/app_time_series_chart.dart index 1ffb1afb..d9e77120 100644 --- a/lib/widgets/shared/charts/app_time_series_chart.dart +++ b/lib/widgets/shared/charts/app_time_series_chart.dart @@ -40,7 +40,7 @@ class AppTimeSeriesChart extends StatelessWidget { Container( height: SizeConfig.realScreenHeight * 0.37, child: Center( - child: Expanded( + child: Container( child: charts.TimeSeriesChart( seriesList, animate: true,