# Conflicts:
#	lib/config/config.dart
#	lib/presentation/doctor_app_icons.dart
merge-requests/125/head
Salman Afzal 4 years ago
commit a914ff9367

Binary file not shown.

@ -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"
]
}
]
}

@ -11,5 +11,14 @@ const Map<String, Map<String, String>> localizedValues = {
'messagesScreenToolbarTitle' : {'en': 'Messages','ar': 'الرسائل' },
'mySchedule' : {'en': 'My Schedule', 'ar' : 'جدولي'},
'errorNoSchedule' :{'en': 'You don\'t have any Schedule' , 'ar': 'ليس لديك أي جدول زمني'},
'verify': {'en': 'Verify', 'ar' : 'تحقق'},
'referralDoctor':{'en': 'Referral Doctor', 'ar' : 'الطبيب المُحول إليه'},
'referringClinic':{'en': 'Referring Clinic', 'ar' : 'العيادة المُحول إليها'},
'frequency':{'en': 'Frequency', 'ar' : 'نوع التحويلا'},
'priority':{'en': 'Priority', 'ar' : 'الأولوية'},
'maxResponseTime':{'en': 'Max Response Time', 'ar' : 'الوقت الأقصى للرد'},
'clinicDetailsandRemarks':{'en': 'Clinic Details and Remarks', 'ar' : 'ملاحضات وتفاصيل العيادة'},
'answerSuggestions':{'en': 'Answer/Suggestions', 'ar' : 'ملاحضات وتفاصيل العيادة'},
};

@ -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),
];

@ -0,0 +1,222 @@
List<Map> 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
}
];

@ -1,26 +1,17 @@
const PATIENT_TYPE = const [
{"text": "outPatiant", "val": "0"},
{"text": "InPatiant", "val": "1"},
{"text": "Discharge", "val": "2"},
{"text": "Referrd", "val": "3"},
{"text": "Referral Discharge", "val": "4"},
{"text": "Tomorrow Patient", "val": "5"},
{"text": "Referral", "val": "6"},
];
const PATIENT_TYPE = const [
{"text": "outPatiant", "val": "0"},
{"text": "InPatiant", "val": "1"},
{"text": "Discharge", "val": "2"},
{"text": "Referrd", "val": "3"},
{"text": "Referral Discharge", "val": "4"},
{"text": "Tomorrow Patient", "val": "5"},
{"text": "Referral", "val": "6"},
];
const LOCATIONS = const[
{"text": "In Sudia Arabia", "val": "1"},
{"text": "Out Sudia Arabia", "val": "2"},
];
const LOCATIONS = const [
{"text": "In Sudia Arabia", "val": "1"},
{"text": "Out Sudia Arabia", "val": "2"},
];
enum vitalSignDetails {
bodyMeasurements,
@ -30,4 +21,4 @@ enum vitalSignDetails {
bloodPressure,
oxygenation,
painScale
}
}

@ -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<String, dynamic> 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<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
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;
}
}

@ -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<String, dynamic> 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<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
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;
}
}

@ -21,40 +21,24 @@ 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 femaleicon =
IconData(0xe800, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData male =
IconData(0xe801, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData home_icon =
const IconData(0xe801, fontFamily: _kFontFam, fontPackage: _kFontPkg);
IconData(0xe802, 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);
IconData(0xe803, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData menu_icon =
const IconData(0xe807, fontFamily: _kFontFam, fontPackage: _kFontPkg);
IconData(0xe804, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData menu_icon_active =
const IconData(0xe808, fontFamily: _kFontFam, fontPackage: _kFontPkg);
IconData(0xe805, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData message_icon =
const IconData(0xe809, fontFamily: _kFontFam, fontPackage: _kFontPkg);
IconData(0xe806, 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);
IconData(0xe807, 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);
IconData(0xe808, 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 Image labResultSVG =
Image.asset('assets/images/dashboard-icon/lab_result.png');
IconData(0xe809, fontFamily: _kFontFam, fontPackage: _kFontPkg);
}

@ -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<LabOrdersResModel> patientLabResultOrdersList = [];
List<PrescriptionResModel> patientPrescriptionsList = [];
List<RadiologyResModel> patientRadiologyList = [];
List<PrescriptionReportForInPatient> 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);
}
}
}

@ -46,32 +46,31 @@ class _MedicineSearchState extends State<MedicineSearchScreen> {
@override
Widget build(BuildContext context) {
return AppScaffold(
appBarTitle: "Search Medicine",
body: Column(
children: <Widget>[
Padding(
padding: EdgeInsets.only(
bottom: SizeConfig.heightMultiplier * 1,
right: SizeConfig.heightMultiplier * 2,
left: SizeConfig.heightMultiplier * 2,
top: SizeConfig.heightMultiplier * 3),
child: AppTextFormField(
hintText: 'Search Medicine Name Here..',
controller: myController,
onSaved: (value) {},
// validator: (value) {
// return TextValidator().validateName(value);
// },
inputFormatter: ONLY_LETTERS),
),
Padding(
padding: EdgeInsets.only(
bottom: SizeConfig.heightMultiplier * 1,
right: SizeConfig.heightMultiplier * 2,
left: SizeConfig.heightMultiplier * 2,
top: SizeConfig.heightMultiplier * 3),
child: AppTextFormField(
hintText: 'Search Medicine Name Here..',
controller: myController,
onSaved: (value) {},
// validator: (value) {
// return TextValidator().validateName(value);
// },
inputFormatter: ONLY_LETTERS),
),
Container(
margin: EdgeInsets.only(bottom: 5,
left: 10,
right: 10,
top: 0),
margin: EdgeInsets.only(
bottom: SizeConfig.heightMultiplier * 1,
right: SizeConfig.heightMultiplier * 2,
left: SizeConfig.heightMultiplier * 2,
top: SizeConfig.heightMultiplier * 1),
child: Wrap(
alignment: WrapAlignment.center,
children: <Widget>[
@ -91,15 +90,18 @@ class _MedicineSearchState extends State<MedicineSearchScreen> {
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
AppText(
"You find " + (data == null ? "0": data.length.toString())+" items in search",
"You find " +
(data == null ? "0" : data.length.toString()) +
" items in search",
fontWeight: FontWeight.bold,
margin: 5,),
margin: 5,
),
],
),
),
Expanded(
child: Container(
width: SizeConfig.screenWidth * 0.80,
width: SizeConfig.screenWidth * 0.90,
child: !_medicineProvider.isFinished
? DrAppCircularProgressIndeicator()
: _medicineProvider.hasError
@ -109,32 +111,33 @@ class _MedicineSearchState extends State<MedicineSearchScreen> {
style: TextStyle(
color: Theme.of(context).errorColor),
),
):ListView.builder(
scrollDirection: Axis.vertical,
shrinkWrap: true,
itemCount: data == null ? 0 : data.length,
itemBuilder: (BuildContext context, int index) {
return InkWell(
child: MedicineItemWidget(
label: data[index]["ItemDescription"],
url: data[index]["ProductImageBase64"],
),
onTap: () {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => ChangeNotifierProvider(
create: (_) => MedicineProvider(),
child: PharmaciesListScreen(
itemID: data[index]["ItemID"]),
),
)
: ListView.builder(
scrollDirection: Axis.vertical,
shrinkWrap: true,
itemCount: data == null ? 0 : data.length,
itemBuilder: (BuildContext context, int index) {
return InkWell(
child: MedicineItemWidget(
label: data[index]["ItemDescription"],
url: data[index]["ProductImageBase64"],
),
onTap: () {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) =>
ChangeNotifierProvider(
create: (_) => MedicineProvider(),
child: PharmaciesListScreen(
itemID: data[index]["ItemID"]),
),
),
);
},
);
},
),
);
},
);
},
),
),
),
],

@ -136,11 +136,21 @@ class _PatientSearchScreenState extends State<PatientSearchScreen> {
SizedBox(
height: 5,
),
RoundedContainer(
margin: 0,
showBorder: true,
raduis: 30,
borderColor: Color(0xff707070),
Container(
decoration: ShapeDecoration(
shape: RoundedRectangleBorder(
side: BorderSide(
width: 1.0,
style: BorderStyle.solid,
color: Color(0xff707070)),
borderRadius:
BorderRadius.all(Radius.circular(5.0)),
),
),
// margin: 0,
// showBorder: true,
// raduis: 30,
// borderColor: Color(0xff707070),
width: double.infinity,
child: Padding(
padding: EdgeInsets.only(
@ -315,11 +325,21 @@ class _PatientSearchScreenState extends State<PatientSearchScreen> {
SizedBox(
height: 10,
),
RoundedContainer(
margin: 0,
showBorder: true,
raduis: 30,
borderColor: Color(0xff707070),
Container(
// margin: 0,
// showBorder: true,
// raduis: 30,
// borderColor: Color(0xff707070),
decoration: ShapeDecoration(
shape: RoundedRectangleBorder(
side: BorderSide(
width: 1.0,
style: BorderStyle.solid,
color: Color(0xff707070)),
borderRadius:
BorderRadius.all(Radius.circular(5.0)),
),
),
width: double.infinity,
child: Padding(
padding: EdgeInsets.only(

@ -389,7 +389,7 @@ class _PatientsScreenState extends State<PatientsScreen> {
height:
80.0,
width:
80.0,
80.0,
semanticsLabel:
'Male Logo')
]
@ -397,18 +397,17 @@ class _PatientsScreenState extends State<PatientsScreen> {
SvgPicture.asset(
url +
avatarFemale,
height:
100.0,
height:
80.0,
width:
100.0,
80.0,
semanticsLabel:
'Female Logo')
],
),
SizedBox(
width: 10,
),
width: 10,
),
Column(
crossAxisAlignment:
CrossAxisAlignment
@ -579,8 +578,7 @@ class _PatientsScreenState extends State<PatientsScreen> {
crossAxisAlignment: CrossAxisAlignment.center,
children: _locations.map((item) {
bool _isActive = _locations[_activeLocation] == item ? true : false;
return Column(mainAxisSize: MainAxisSize.min,
children: <Widget>[
return Column(mainAxisSize: MainAxisSize.min, children: <Widget>[
InkWell(
child: Center(
child: Container(
@ -593,18 +591,17 @@ class _PatientsScreenState extends State<PatientsScreen> {
child: Center(
child: Text(
item,
style: TextStyle(
fontSize: 12,
color: _isActive
? Colors.white
: Colors.black, //Colors.black,
// backgroundColor:_isActive
// ? Hexcolor("#B8382B")
// : Colors.white,//sideColor,
fontWeight: FontWeight.bold,
),
fontSize: 12,
color: _isActive
? Colors.white
: Colors.black, //Colors.black,
// backgroundColor:_isActive
// ? Hexcolor("#B8382B")
// : Colors.white,//sideColor,
fontWeight: FontWeight.bold,
),
),
)),
),
@ -615,7 +612,6 @@ class _PatientsScreenState extends State<PatientsScreen> {
setState(() {
_activeLocation = _locations.indexOf(item);
});
}),
_isActive

@ -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<PrescriptionScreen> {
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<PrescriptionScreen> {
Row(
children: <Widget>[
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: <Widget>[
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,
),

@ -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,
),
),
);
}
}

@ -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<RadiologyScreen> {
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: <Widget>[
Row(
children: <Widget>[
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: <Widget>[
Row(
children: <Widget>[
LargeAvatar(
url: patientsProv
.patientRadiologyList[index]
.doctorImageURL),
Expanded(
child: Padding(
padding: const EdgeInsets.fromLTRB(
8, 0, 0, 0),
child: Column(
crossAxisAlignment:
CrossAxisAlignment.start,
children: <Widget>[
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: <Widget>[
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: () {},
);
}),
);
}),
),
),
);
}

@ -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<VitalSignDetailsScreen> {
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: <Widget>[
Row(
children: <Widget>[
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: <Widget>[
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: <Widget>[
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: <Widget>[
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: <Widget>[
Row(
children: <Widget>[
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: <Widget>[
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: <Widget>[
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: <Widget>[
InkWell(
onTap: () {
Navigator.of(context).pushNamed(
BODY_MEASUREMENTS,
arguments: {
'title': 'Pain Scale',
'key': vitalSignDetails.painScale
});
},
child: VitalSignItem(
des: 'Pain Scale',
url: url + 'heartbeat.png',
),
),
],
),
],
),
));
}
}

@ -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: <Widget>[
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'),
),
),
],
),
))

@ -40,6 +40,16 @@ class TranslationBase {
String get errorNoSchedule => localizedValues['errorNoSchedule'][locale.languageCode];
String get verify => localizedValues['verify'][locale.languageCode];
String get referralDoctor => localizedValues['referralDoctor'][locale.languageCode];
String get referringClinic => localizedValues['referringClinic'][locale.languageCode];
String get frequency => localizedValues['frequency'][locale.languageCode];
String get priority => localizedValues['priority'][locale.languageCode];
String get maxResponseTime => localizedValues['maxResponseTime'][locale.languageCode];
String get clinicDetailsandRemarks=> localizedValues['clinicDetailsandRemarks'][locale.languageCode];
String get answerSuggestions => localizedValues['answerSuggestions'][locale.languageCode];
}
class TranslationBaseDelegate extends LocalizationsDelegate<TranslationBase> {

@ -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'),
),
);
}

@ -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<LoginForm> {
String uniqueId = "Unknown";
var projectsList = [];
FocusNode focusPass;
FocusNode focusProject;
var userInfo = UserModel(
UserID: '',
Password: '',
@ -54,7 +58,7 @@ class _LoginFormState extends State<LoginForm> {
@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<LoginForm> {
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<LoginForm> {
),
RaisedButton(
onPressed: () {
// Navigator.of(context).pushNamed(VERIFICATION_METHODS);
login(context, authProv, widget.changeLoadingStata);
},
textColor: Colors.white,
@ -314,9 +316,14 @@ class _LoginFormState extends State<LoginForm> {
});
} else {
// handel error
setState(() {
projectsList = ListProject;
});
}
}).catchError((err) {
setState(() {
projectsList = ListProject;
});
print(err);
});
}
@ -330,5 +337,6 @@ class _LoginFormState extends State<LoginForm> {
userInfo.ProjectID = projectsList[index]["ID"];
projectIdController.text = projectsList[index]['Name'];
});
FocusScope.of(context).requestFocus(focusProject);
}
}

@ -75,113 +75,54 @@ class _MyReferralPatientWidgetState extends State<MyReferralPatientWidget> {
children: [
TableRow(
children: [
Expanded(
child: Container(
margin: EdgeInsets.all(2.5),
padding: EdgeInsets.all(5),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
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: <Widget>[
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: <Widget>[
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: <Widget>[
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: <Widget>[
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: <Widget>[
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<MyReferralPatientWidget> {
CrossAxisAlignment.start,
children: <Widget>[
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<MyReferralPatientWidget> {
],
),
),
),
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<MyReferralPatientWidget> {
CrossAxisAlignment.start,
children: <Widget>[
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: <Widget>[
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: <Widget>[
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,
)
],
),
)
],

@ -1,6 +1,7 @@
import 'package:doctor_app_flutter/models/my_referral_patient_model.dart';
import 'package:doctor_app_flutter/models/my_referred_patient_model.dart';
import 'package:doctor_app_flutter/util/dr_app_toast_msg.dart';
import 'package:doctor_app_flutter/util/translations_delegate_base.dart';
import 'package:flutter/material.dart';
import 'package:doctor_app_flutter/config/size_config.dart';
@ -86,144 +87,81 @@ class _MyReferredPatientWidgetState extends State<MyReferredPatientWidget> {
),
children: [
TableRow(children: [
Expanded(
child: Container(
margin: EdgeInsets.all(2.5),
padding: EdgeInsets.all(5),
decoration: BoxDecoration(),
child: Column(
crossAxisAlignment:
CrossAxisAlignment.start,
children: <Widget>[
AppText(
'File No',
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: <Widget>[
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: <Widget>[
AppText(
'Referral Doctor',
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: <Widget>[
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: <Widget>[
AppText(
'Referring Clinic',
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: <Widget>[
AppText(
'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: <Widget>[
AppText(
'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,
@ -232,24 +170,75 @@ class _MyReferredPatientWidgetState extends State<MyReferredPatientWidget> {
padding: EdgeInsets.all(5),
child: Column(
crossAxisAlignment:
CrossAxisAlignment.start,
CrossAxisAlignment.start,
children: <Widget>[
AppText(
'Max Response Time',
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: <Widget>[
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: <Widget>[
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,
)
],
),
)
])
@ -263,7 +252,7 @@ class _MyReferredPatientWidgetState extends State<MyReferredPatientWidget> {
height: 5,
),
AppText(
'Clinic Details and Remarks',
TranslationBase.of(context).clinicDetailsandRemarks,
fontSize: 1.7 * SizeConfig.textMultiplier,
fontWeight: FontWeight.bold,
textAlign: TextAlign.start,
@ -281,7 +270,7 @@ class _MyReferredPatientWidgetState extends State<MyReferredPatientWidget> {
height: 5,
),
AppText(
'Answer/Suggestions',
TranslationBase.of(context).answerSuggestions,
fontSize: 1.7 * SizeConfig.textMultiplier,
fontWeight: FontWeight.bold,
textAlign: TextAlign.start,
@ -319,7 +308,7 @@ class _MyReferredPatientWidgetState extends State<MyReferredPatientWidget> {
DrAppToastMsg.showErrorToast(e);
}
},
title: 'Verify',
title: TranslationBase.of(context).verify,
loading: _isLoading,
),
)

@ -18,58 +18,73 @@ import 'package:flutter/material.dart';
*/
class MedicineItemWidget extends StatefulWidget {
final String label;
final Color backgroundColor;
final bool showBorder;
final Color borderColor;
final String url;
final String label;
final Color backgroundColor;
final bool showBorder;
final Color borderColor;
final String url;
MedicineItemWidget({ @required this.label, this.backgroundColor = Colors.white, this.showBorder = false, this.borderColor = Colors.white, this.url});
MedicineItemWidget(
{@required this.label,
this.backgroundColor = Colors.white,
this.showBorder = false,
this.borderColor = Colors.white,
this.url});
@override
_MedicineItemWidgetState createState() => _MedicineItemWidgetState();
}
class _MedicineItemWidgetState extends State<MedicineItemWidget> {
@override
@override
Widget build(BuildContext context) {
return new RoundedContainer(
height: SizeConfig.heightMultiplier * 8,
child:Padding(
child: Padding(
padding: const EdgeInsets.all(5.0),
child: Row(
crossAxisAlignment: CrossAxisAlignment.stretch,
mainAxisAlignment: MainAxisAlignment.start,
children: <Widget>[
if(widget.url != null) Container(
height: 39,
width: 39,
child: ClipRRect(
borderRadius:BorderRadius.all(Radius.circular(7)),
child: Image.memory(
dataFromBase64String(widget.url),
height: SizeConfig.imageSizeMultiplier * 15,
width: SizeConfig.imageSizeMultiplier * 15,
fit: BoxFit.cover,
),
),
if (widget.url != null)
Container(
height: 39,
width: 39,
child: ClipRRect(
borderRadius: BorderRadius.all(Radius.circular(7)),
child: Image.memory(
dataFromBase64String(widget.url),
height: SizeConfig.imageSizeMultiplier * 15,
width: SizeConfig.imageSizeMultiplier * 15,
fit: BoxFit.cover,
),
),
),
Expanded(
child: Padding(
padding: EdgeInsets.all(5),
child: Align(
alignment: Alignment.centerLeft,
child: AppText(widget.label))))
],
),
Expanded(child: Padding( padding: EdgeInsets.all(5), child: Align( alignment: Alignment.centerLeft, child: AppText(widget.label))))
],),
),
backgroundColor: widget.backgroundColor, showBorder: widget.showBorder, borderColor: widget.borderColor, margin: 4, raduis: 10,);
backgroundColor: widget.backgroundColor,
showBorder: widget.showBorder,
borderColor: widget.borderColor,
margin: 4,
raduis: 10,
);
}
Image imageFromBase64String(String base64String) {
return Image.memory(base64Decode(base64String));
}
return Image.memory(base64Decode(base64String));
}
Uint8List dataFromBase64String(String base64String) {
return base64Decode(base64String);
}
Uint8List dataFromBase64String(String base64String) {
return base64Decode(base64String);
}
String base64String(Uint8List data) {
return base64Encode(data);
String base64String(Uint8List data) {
return base64Encode(data);
}
}
}

@ -51,7 +51,7 @@ class _VitalSignDetailsWidgetState extends State<VitalSignDetailsWidget> {
List<TableRow> fullData(){
List<TableRow> tableRow = [];
tableRow.add(TableRow(children: [
Expanded(
Container(
child: Container(
decoration: BoxDecoration(
color: Hexcolor('#515B5D'),
@ -68,7 +68,7 @@ class _VitalSignDetailsWidgetState extends State<VitalSignDetailsWidget> {
height: 60,
),
),
Expanded(
Container(
child: Container(
decoration: BoxDecoration(
color: Hexcolor('#515B5D'),
@ -84,9 +84,9 @@ class _VitalSignDetailsWidgetState extends State<VitalSignDetailsWidget> {
]));
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<VitalSignDetailsWidget> {
),
),
),
Expanded(
Container(
child: Container(
height: 50,
padding: EdgeInsets.all(10),
color: Colors.white,
child: Center(
child: Texts(

@ -36,11 +36,11 @@ class CardWithBgWidgetNew extends StatelessWidget {
children: [
Center(
child: Container(
padding:EdgeInsets.fromLTRB(0, 10,0, 10), //EdgeInsets.all(10.0),//10
// padding:EdgeInsets.fromLTRB(0, 10,0, 10), //EdgeInsets.all(10.0),//10
// margin: EdgeInsets.only(left: 10),
child: Padding(
padding: const EdgeInsets.all(8.0),
child: widget,
child: Center(child: widget),
)),
)
],

@ -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,

Loading…
Cancel
Save