Merge pull request 'organs added for the medication input' (#316) from symtomcheckers into master

Reviewed-on: https://34.17.182.140/Haroon6138/HMG_Patient_App_New/pulls/316
pull/318/head
Haroon6138 4 weeks ago
commit 9311477ce3

@ -1,4 +1,3 @@
import 'package:hmg_patient_app_new/core/enums.dart';
import 'package:hmg_patient_app_new/features/symptoms_checker/models/organ_model.dart';
@ -37,12 +36,65 @@ class OrganData {
id: 'nose_mouth',
name: 'oral_cavity',
nameAr: 'تجويف_الفم',
description: 'Nose/Mouth',
descriptionAr: 'الأنف/الفم',
description: 'Mouth',
descriptionAr: 'الفم',
bodyView: BodyView.front,
position: OrganPosition(x: 0.50, y: 0.135),
),
// ========== EARS (NEW) ==========
OrganModel(
id: 'left_ear',
name: 'ears',
nameAr: 'الأذن',
description: 'Left Ear',
descriptionAr: 'الأذن اليسرى',
bodyView: BodyView.front,
position: OrganPosition(x: 0.4, y: 0.1),
),
OrganModel(
id: 'right_ear',
name: 'ears',
nameAr: 'الأذن',
description: 'Right Ear',
descriptionAr: 'الأذن اليمنى',
bodyView: BodyView.front,
position: OrganPosition(x: 0.64, y: 0.1),
),
// ========== NOSE (NEW) ==========
OrganModel(
id: 'nose',
name: 'nose',
nameAr: 'الأنف',
description: 'Nose',
descriptionAr: 'الأنف',
bodyView: BodyView.front,
position: OrganPosition(x: 0.50, y: 0.09),
position: OrganPosition(x: 0.50, y: 0.095),
),
// ========== HEAD SPECIFIC (NEW) ==========
// OrganModel(
// id: 'front_head',
// name: 'head',
// nameAr: 'الرأس',
// description: 'Front Head',
// descriptionAr: 'مقدمة الرأس',
// bodyView: BodyView.front,
// position: OrganPosition(x: 0.50, y: 0.04),
// ),
// // ========== BEHAVIOR / THOUGHTS (NEW) ==========
// OrganModel(
// id: 'behavior_thoughts',
// name: 'problem_concerning_behavior_or_thoughts',
// nameAr: 'مشكلة_سلوكية_أو_نفسية',
// description: 'Behavior / Thoughts',
// descriptionAr: 'سلوك / أفكار',
// bodyView: BodyView.front,
// position: OrganPosition(x: 0.50, y: 0.02),
// ),
// ========== NECK ==========
OrganModel(
id: 'throat',
@ -51,7 +103,27 @@ class OrganData {
description: 'Throat',
descriptionAr: 'الحلق',
bodyView: BodyView.front,
position: OrganPosition(x: 0.50, y: 0.15),
position: OrganPosition(x: 0.50, y: 0.17),
),
// ========== HALF NECK (NEW) ==========
OrganModel(
id: 'left_halfneck',
name: 'halfneck',
nameAr: 'نصف_الرقبة',
description: 'Left Half Neck',
descriptionAr: 'نصف الرقبة الأيسر',
bodyView: BodyView.front,
position: OrganPosition(x: 0.42, y: 0.15),
),
OrganModel(
id: 'right_halfneck',
name: 'halfneck',
nameAr: 'نصف_الرقبة',
description: 'Right Half Neck',
descriptionAr: 'نصف الرقبة الأيمن',
bodyView: BodyView.front,
position: OrganPosition(x: 0.58, y: 0.15),
),
// ========== SHOULDERS ==========
@ -74,6 +146,26 @@ class OrganData {
position: OrganPosition(x: 0.8, y: 0.22),
),
// ========== UPPER LIMB (NEW) ==========
OrganModel(
id: 'left_upper_limb',
name: 'upper_limb',
nameAr: 'الطرف_العلوي',
description: 'Left Upper Limb',
descriptionAr: 'الطرف العلوي الأيسر',
bodyView: BodyView.front,
position: OrganPosition(x: 0.20, y: 0.30),
),
OrganModel(
id: 'right_upper_limb',
name: 'upper_limb',
nameAr: 'الطرف_العلوي',
description: 'Right Upper Limb',
descriptionAr: 'الطرف العلوي الأيمن',
bodyView: BodyView.front,
position: OrganPosition(x: 0.80, y: 0.30),
),
// ========== CHEST ==========
OrganModel(
id: 'left_chest',
@ -152,6 +244,28 @@ class OrganData {
position: OrganPosition(x: 0.51, y: 0.44),
),
// ========== ABDOMEN GENERAL (NEW) ==========
// OrganModel(
// id: 'abdomin',
// name: 'abdomin',
// nameAr: 'البطن_العام',
// description: 'Abdomen',
// descriptionAr: 'البطن',
// bodyView: BodyView.front,
// position: OrganPosition(x: 0.51, y: 0.36),
// ),
// ========== SKIN (NEW) ==========
// OrganModel(
// id: 'skin',
// name: 'skin',
// nameAr: 'الجلد',
// description: 'Skin',
// descriptionAr: 'الجلد',
// bodyView: BodyView.front,
// position: OrganPosition(x: 0.50, y: 0.50),
// ),
// ========== PELVIS ==========
OrganModel(
id: 'left_groin',
@ -173,7 +287,6 @@ class OrganData {
),
// ========== LEFT ARM ==========
OrganModel(
id: 'left_elbow',
name: 'elbow',
@ -203,7 +316,6 @@ class OrganData {
),
// ========== RIGHT ARM ==========
OrganModel(
id: 'right_elbow',
name: 'elbow',
@ -307,7 +419,69 @@ class OrganData {
bodyView: BodyView.front,
position: OrganPosition(x: 0.57, y: 0.91),
),
// ========== UPPER LEG (NEW) ==========
OrganModel(
id: 'left_upperleg',
name: 'upperleg',
nameAr: 'الجزء_العلوي_من_الساق',
description: 'Left Upper Leg',
descriptionAr: 'الجزء العلوي من الساق الأيسر',
bodyView: BodyView.front,
position: OrganPosition(x: 0.40, y: 0.63),
),
OrganModel(
id: 'right_upperleg',
name: 'upperleg',
nameAr: 'الجزء_العلوي_من_الساق',
description: 'Right Upper Leg',
descriptionAr: 'الجزء العلوي من الساق الأيمن',
bodyView: BodyView.front,
position: OrganPosition(x: 0.60, y: 0.63),
),
// ========== LOWER LEG lowerleg key (NEW) ==========
OrganModel(
id: 'left_lowerleg',
name: 'lowerleg',
nameAr: 'الجزء_السفلي_من_الساق',
description: 'Left Lower Leg',
descriptionAr: 'الجزء السفلي من الساق الأيسر',
bodyView: BodyView.front,
position: OrganPosition(x: 0.41, y: 0.78),
),
OrganModel(
id: 'right_lowerleg',
name: 'lowerleg',
nameAr: 'الجزء_السفلي_من_الساق',
description: 'Right Lower Leg',
descriptionAr: 'الجزء السفلي من الساق الأيمن',
bodyView: BodyView.front,
position: OrganPosition(x: 0.57, y: 0.78),
),
// ========== LOWER LIMB (NEW) ==========
OrganModel(
id: 'left_lower_limb',
name: 'lower_limb',
nameAr: 'الطرف_السفلي',
description: 'Left Lower Limb',
descriptionAr: 'الطرف السفلي الأيسر',
bodyView: BodyView.front,
position: OrganPosition(x: 0.40, y: 0.67),
),
OrganModel(
id: 'right_lower_limb',
name: 'lower_limb',
nameAr: 'الطرف_السفلي',
description: 'Right Lower Limb',
descriptionAr: 'الطرف السفلي الأيمن',
bodyView: BodyView.front,
position: OrganPosition(x: 0.60, y: 0.67),
),
];
static const List<OrganModel> frontViewOrgansForFemale = [
// ========== HEAD & FACE ==========
OrganModel(
@ -341,12 +515,65 @@ class OrganData {
id: 'nose_mouth',
name: 'oral_cavity',
nameAr: 'تجويف_الفم',
description: 'Nose/Mouth',
description: 'Mouth',
descriptionAr: 'الأنف/الفم',
bodyView: BodyView.front,
position: OrganPosition(x: 0.54, y: 0.12),
position: OrganPosition(x: 0.54, y: 0.14),
),
// ========== EARS (NEW) ==========
OrganModel(
id: 'left_ear',
name: 'ears',
nameAr: 'الأذن',
description: 'Left Ear',
descriptionAr: 'الأذن اليسرى',
bodyView: BodyView.front,
position: OrganPosition(x: 0.43, y: 0.12),
),
OrganModel(
id: 'right_ear',
name: 'ears',
nameAr: 'الأذن',
description: 'Right Ear',
descriptionAr: 'الأذن اليمنى',
bodyView: BodyView.front,
position: OrganPosition(x: 0.656, y: 0.12),
),
// ========== NOSE (NEW) ==========
OrganModel(
id: 'nose',
name: 'nose',
nameAr: 'الأنف',
description: 'Nose',
descriptionAr: 'الأنف',
bodyView: BodyView.front,
position: OrganPosition(x: 0.54, y: 0.115),
),
// ========== HEAD SPECIFIC (NEW) ==========
OrganModel(
id: 'front_head',
name: 'head',
nameAr: 'الرأس',
description: 'Front Head',
descriptionAr: 'مقدمة الرأس',
bodyView: BodyView.front,
position: OrganPosition(x: 0.54, y: 0.05),
),
// // ========== BEHAVIOR / THOUGHTS (NEW) ==========
// OrganModel(
// id: 'behavior_thoughts',
// name: 'problem_concerning_behavior_or_thoughts',
// nameAr: 'مشكلة_سلوكية_أو_نفسية',
// description: 'Behavior / Thoughts',
// descriptionAr: 'سلوك / أفكار',
// bodyView: BodyView.front,
// position: OrganPosition(x: 0.54, y: 0.02),
// ),
// ========== NECK ==========
OrganModel(
id: 'throat',
@ -358,6 +585,26 @@ class OrganData {
position: OrganPosition(x: 0.54, y: 0.17),
),
// ========== HALF NECK (NEW) ==========
OrganModel(
id: 'left_halfneck',
name: 'halfneck',
nameAr: 'نصف_الرقبة',
description: 'Left Half Neck',
descriptionAr: 'نصف الرقبة الأيسر',
bodyView: BodyView.front,
position: OrganPosition(x: 0.48, y: 0.175),
),
OrganModel(
id: 'right_halfneck',
name: 'halfneck',
nameAr: 'نصف_الرقبة',
description: 'Right Half Neck',
descriptionAr: 'نصف الرقبة الأيمن',
bodyView: BodyView.front,
position: OrganPosition(x: 0.60, y: 0.175),
),
// ========== SHOULDERS ==========
OrganModel(
id: 'left_shoulder',
@ -378,6 +625,26 @@ class OrganData {
position: OrganPosition(x: 0.75, y: 0.22),
),
// ========== UPPER LIMB (NEW) ==========
OrganModel(
id: 'left_upper_limb',
name: 'upper_limb',
nameAr: 'الطرف_العلوي',
description: 'Left Upper Limb',
descriptionAr: 'الطرف العلوي الأيسر',
bodyView: BodyView.front,
position: OrganPosition(x: 0.26, y: 0.30),
),
OrganModel(
id: 'right_upper_limb',
name: 'upper_limb',
nameAr: 'الطرف_العلوي',
description: 'Right Upper Limb',
descriptionAr: 'الطرف العلوي الأيمن',
bodyView: BodyView.front,
position: OrganPosition(x: 0.76, y: 0.30),
),
// ========== CHEST ==========
OrganModel(
id: 'left_chest',
@ -407,6 +674,26 @@ class OrganData {
position: OrganPosition(x: 0.65, y: 0.22),
),
// ========== BREASTS (NEW female only) ==========
OrganModel(
id: 'left_breast',
name: 'breasts',
nameAr: 'الثدي',
description: 'Left Breast',
descriptionAr: 'الثدي الأيسر',
bodyView: BodyView.front,
position: OrganPosition(x: 0.4, y: 0.27),
),
OrganModel(
id: 'right_breast',
name: 'breasts',
nameAr: 'الثدي',
description: 'Right Breast',
descriptionAr: 'الثدي الأيمن',
bodyView: BodyView.front,
position: OrganPosition(x: 0.62, y: 0.27),
),
// ========== RIBS ==========
OrganModel(
id: 'left_ribs',
@ -456,6 +743,28 @@ class OrganData {
position: OrganPosition(x: 0.51, y: 0.44),
),
// ========== ABDOMEN GENERAL (NEW) ==========
// OrganModel(
// id: 'abdomin',
// name: 'abdomin',
// nameAr: 'البطن_العام',
// description: 'Abdomen',
// descriptionAr: 'البطن',
// bodyView: BodyView.front,
// position: OrganPosition(x: 0.54, y: 0.36),
// ),
// ========== SKIN (NEW) ==========
// OrganModel(
// id: 'skin',
// name: 'skin',
// nameAr: 'الجلد',
// description: 'Skin',
// descriptionAr: 'الجلد',
// bodyView: BodyView.front,
// position: OrganPosition(x: 0.54, y: 0.50),
// ),
// ========== PELVIS ==========
OrganModel(
id: 'left_groin',
@ -477,7 +786,6 @@ class OrganData {
),
// ========== LEFT ARM ==========
OrganModel(
id: 'left_elbow',
name: 'elbow',
@ -507,7 +815,6 @@ class OrganData {
),
// ========== RIGHT ARM ==========
OrganModel(
id: 'right_elbow',
name: 'elbow',
@ -611,6 +918,68 @@ class OrganData {
bodyView: BodyView.front,
position: OrganPosition(x: 0.57, y: 0.91),
),
// ========== UPPER LEG (NEW) ==========
OrganModel(
id: 'left_upperleg',
name: 'upperleg',
nameAr: 'الجزء_العلوي_من_الساق',
description: 'Left Upper Leg',
descriptionAr: 'الجزء العلوي من الساق الأيسر',
bodyView: BodyView.front,
position: OrganPosition(x: 0.40, y: 0.63),
),
OrganModel(
id: 'right_upperleg',
name: 'upperleg',
nameAr: 'الجزء_العلوي_من_الساق',
description: 'Right Upper Leg',
descriptionAr: 'الجزء العلوي من الساق الأيمن',
bodyView: BodyView.front,
position: OrganPosition(x: 0.65, y: 0.63),
),
// ========== LOWER LEG lowerleg key (NEW) ==========
OrganModel(
id: 'left_lowerleg',
name: 'lowerleg',
nameAr: 'الجزء_السفلي_من_الساق',
description: 'Left Lower Leg',
descriptionAr: 'الجزء السفلي من الساق الأيسر',
bodyView: BodyView.front,
position: OrganPosition(x: 0.41, y: 0.78),
),
OrganModel(
id: 'right_lowerleg',
name: 'lowerleg',
nameAr: 'الجزء_السفلي_من_الساق',
description: 'Right Lower Leg',
descriptionAr: 'الجزء السفلي من الساق الأيمن',
bodyView: BodyView.front,
position: OrganPosition(x: 0.59, y: 0.78),
),
// ========== LOWER LIMB (NEW) ==========
OrganModel(
id: 'left_lower_limb',
name: 'lower_limb',
nameAr: 'الطرف_السفلي',
description: 'Left Lower Limb',
descriptionAr: 'الطرف السفلي الأيسر',
bodyView: BodyView.front,
position: OrganPosition(x: 0.40, y: 0.67),
),
OrganModel(
id: 'right_lower_limb',
name: 'lower_limb',
nameAr: 'الطرف_السفلي',
description: 'Right Lower Limb',
descriptionAr: 'الطرف السفلي الأيمن',
bodyView: BodyView.front,
position: OrganPosition(x: 0.65, y: 0.67),
),
];
// ==================== BACK VIEW ====================
@ -742,6 +1111,16 @@ class OrganData {
position: OrganPosition(x: 0.60, y: 0.43),
),
// ========== ANUS (NEW) ==========
OrganModel(
id: 'anus',
name: 'anus',
nameAr: 'فتحة_الشرج',
description: 'Anus',
descriptionAr: 'فتحة الشرج',
bodyView: BodyView.back,
position: OrganPosition(x: 0.525, y: 0.5),
),
// ========== GLUTES ==========
OrganModel(
id: 'sacrum',
@ -750,7 +1129,7 @@ class OrganData {
description: 'Sacrum',
descriptionAr: 'العجز',
bodyView: BodyView.back,
position: OrganPosition(x: 0.50, y: 0.52),
position: OrganPosition(x: 0.50, y: 0.46),
),
OrganModel(
id: 'left_glute',
@ -809,6 +1188,7 @@ class OrganData {
position: OrganPosition(x: 0.57, y: 0.79),
),
];
static const List<OrganModel> backViewOrgansForFemale = [
// ========== HEAD & NECK ==========
OrganModel(
@ -879,6 +1259,17 @@ class OrganData {
position: OrganPosition(x: 0.62, y: 0.28),
),
// // ========== SKIN BACK (NEW) ==========
// OrganModel(
// id: 'skin_back',
// name: 'skin',
// nameAr: 'الجلد',
// description: 'Skin',
// descriptionAr: 'الجلد',
// bodyView: BodyView.back,
// position: OrganPosition(x: 0.50, y: 0.30),
// ),
// ========== MID BACK ==========
OrganModel(
id: 'mid_spine',
@ -945,7 +1336,7 @@ class OrganData {
description: 'Sacrum',
descriptionAr: 'العجز',
bodyView: BodyView.back,
position: OrganPosition(x: 0.50, y: 0.5),
position: OrganPosition(x: 0.50, y: 0.47),
),
OrganModel(
id: 'left_glute',
@ -1010,7 +1401,6 @@ class OrganData {
static List<OrganModel> getOrgansForView(BodyView view, {String? genderKey}) {
final bool isFemale = genderKey != null && (genderKey.toLowerCase() == 'female' || genderKey == 'أنثى' || genderKey == '2');
if (view == BodyView.front) {
return isFemale ? frontViewOrgansForFemale : frontViewOrgansForMale;
} else {
@ -1039,4 +1429,4 @@ class OrganData {
return null;
}
}
}
}
Loading…
Cancel
Save