diff --git a/assets/images/svg/active-check.svg b/assets/images/svg/active-check.svg
new file mode 100644
index 0000000..c94a3a0
--- /dev/null
+++ b/assets/images/svg/active-check.svg
@@ -0,0 +1,3 @@
+
diff --git a/assets/images/svg/alert-square.svg b/assets/images/svg/alert-square.svg
new file mode 100644
index 0000000..87b52e3
--- /dev/null
+++ b/assets/images/svg/alert-square.svg
@@ -0,0 +1,3 @@
+
diff --git a/assets/images/svg/arrow-right.svg b/assets/images/svg/arrow-right.svg
new file mode 100644
index 0000000..8818d72
--- /dev/null
+++ b/assets/images/svg/arrow-right.svg
@@ -0,0 +1,3 @@
+
diff --git a/assets/images/svg/delete_icon.svg b/assets/images/svg/delete_icon.svg
new file mode 100644
index 0000000..2e37d0d
--- /dev/null
+++ b/assets/images/svg/delete_icon.svg
@@ -0,0 +1,3 @@
+
diff --git a/lib/core/api/api_client.dart b/lib/core/api/api_client.dart
index dc8b576..b1d1d87 100644
--- a/lib/core/api/api_client.dart
+++ b/lib/core/api/api_client.dart
@@ -18,25 +18,25 @@ abstract class ApiClient {
   static final NavigationService _navigationService = getIt.get();
 
   Future post(
-    String endPoint, {
-    required Map body,
-    required Function(dynamic response, int statusCode, {int? messageStatus, String? errorMessage}) onSuccess,
-    required Function(String error, int statusCode, {int? messageStatus, Failure? failureType}) onFailure,
-    bool isAllowAny,
-    bool isExternal,
-    bool isRCService,
-    bool isPaymentServices,
-    bool bypassConnectionCheck,
-  });
+      String endPoint, {
+        required Map body,
+        required Function(dynamic response, int statusCode, {int? messageStatus, String? errorMessage}) onSuccess,
+        required Function(String error, int statusCode, {int? messageStatus, Failure? failureType}) onFailure,
+        bool isAllowAny,
+        bool isExternal,
+        bool isRCService,
+        bool isPaymentServices,
+        bool bypassConnectionCheck,
+      });
 
   Future get(
-    String endPoint, {
-    required Function(dynamic response, int statusCode) onSuccess,
-    required Function(String error, int statusCode) onFailure,
-    Map? queryParams,
-    bool isExternal,
-    bool isRCService,
-  });
+      String endPoint, {
+        required Function(dynamic response, int statusCode) onSuccess,
+        required Function(String error, int statusCode) onFailure,
+        Map? queryParams,
+        bool isExternal,
+        bool isRCService,
+      });
 
   String getSessionId(String id);
 
@@ -87,16 +87,16 @@ class ApiClientImp implements ApiClient {
 
   @override
   post(
-    String endPoint, {
-    required Map body,
-    required Function(dynamic response, int statusCode, {int? messageStatus, String? errorMessage}) onSuccess,
-    required Function(String error, int statusCode, {int? messageStatus, Failure? failureType}) onFailure,
-    bool isAllowAny = false,
-    bool isExternal = false,
-    bool isRCService = false,
-    bool isPaymentServices = false,
-    bool bypassConnectionCheck = false,
-  }) async {
+      String endPoint, {
+        required Map body,
+        required Function(dynamic response, int statusCode, {int? messageStatus, String? errorMessage}) onSuccess,
+        required Function(String error, int statusCode, {int? messageStatus, Failure? failureType}) onFailure,
+        bool isAllowAny = false,
+        bool isExternal = false,
+        bool isRCService = false,
+        bool isPaymentServices = false,
+        bool bypassConnectionCheck = false,
+      }) async {
     String url;
     if (isExternal) {
       url = endPoint;
@@ -322,10 +322,10 @@ class ApiClientImp implements ApiClient {
   @override
   get(String endPoint,
       {required Function(dynamic response, int statusCode) onSuccess,
-      required Function(String error, int statusCode) onFailure,
-      Map? queryParams,
-      bool isExternal = false,
-      bool isRCService = false}) async {
+        required Function(String error, int statusCode) onFailure,
+        Map? queryParams,
+        bool isExternal = false,
+        bool isRCService = false}) async {
     String url;
     if (isExternal) {
       url = endPoint;
diff --git a/lib/core/api_consts.dart b/lib/core/api_consts.dart
index 9f5abce..fd61480 100644
--- a/lib/core/api_consts.dart
+++ b/lib/core/api_consts.dart
@@ -727,7 +727,7 @@ const FAMILY_FILES= 'Services/Authentication.svc/REST/GetAllSharedRecordsByStatu
 class ApiConsts {
   static const maxSmallScreen = 660;
 
-  static AppEnvironmentTypeEnum appEnvironmentType = AppEnvironmentTypeEnum.uat;
+  static AppEnvironmentTypeEnum appEnvironmentType = AppEnvironmentTypeEnum.prod;
 
   // static String baseUrl = 'https://uat.hmgwebservices.com/'; // HIS API URL UAT
 
@@ -812,6 +812,8 @@ class ApiConsts {
    static final String checkActivationCodeForFamily = 'Services/Authentication.svc/REST/CheckActivationCodeForFamilyFile';
    static final String getAllPendingRecordsByResponseId = 'Services/Authentication.svc/REST/GetAllPendingRecordsByResponseId';
     static final String getAllSharedRecordsByStatus = 'Services/Authentication.svc/REST/GetAllSharedRecordsByStatus';
+    static final String removeFileFromFamilyMembers = 'Services/Authentication.svc/REST/ActiveDeactive_PatientFile';
+    static final String acceptAndRejectFamilyFile = 'Services/Authentication.svc/REST/Update_FileStatus';
 
 
   // static values for Api
diff --git a/lib/core/app_assets.dart b/lib/core/app_assets.dart
index 513a52a..89f2e82 100644
--- a/lib/core/app_assets.dart
+++ b/lib/core/app_assets.dart
@@ -146,6 +146,8 @@ class AppAssets {
   static const String ic_low_result = '$svgBasePath/low_result.svg';
   static const String ic_critical_low_result = '$svgBasePath/critical_low_result.svg';
   static const String switch_user = '$svgBasePath/switch_user.svg';
+  static const String activeCheck = '$svgBasePath/active-check.svg';
+  static const String deleteIcon = '$svgBasePath/delete_icon.svg';
 
   //bottom navigation//
   static const String homeBottom = '$svgBasePath/home_bottom.svg';
@@ -157,6 +159,8 @@ class AppAssets {
   static const String feedback = '$svgBasePath/feedback.svg';
   static const String news = '$svgBasePath/news.svg';
   static const String heart = '$svgBasePath/heart.svg';
+  static const String alertSquare = '$svgBasePath/alert-square.svg';
+  static const String arrowRight = '$svgBasePath/arrow-right.svg';
 
   // PNGS //
   static const String hmg_logo = '$pngBasePath/hmg_logo.png';
diff --git a/lib/core/app_state.dart b/lib/core/app_state.dart
index 030cc36..404e22b 100644
--- a/lib/core/app_state.dart
+++ b/lib/core/app_state.dart
@@ -38,15 +38,15 @@ class AppState {
   AuthenticatedUser? _authenticatedChildUser;
 
   int? _superUserID;
+  bool isChildLoggedIn = false;
 
-  void setAuthenticatedUser(AuthenticatedUser authenticatedUser, {bool isFamily = false}) {
+  void setAuthenticatedUser(AuthenticatedUser? authenticatedUser, {bool isFamily = false}) {
     if (isFamily) {
       _authenticatedChildUser = authenticatedUser;
     } else {
       setIsAuthenticated = true;
       _authenticatedRootUser = authenticatedUser;
     }
-
   }
 
   AuthenticatedUser? getAuthenticatedUser({bool isFamily = false}) {
@@ -59,8 +59,12 @@ class AppState {
 
   int? get getSuperUserID => _superUserID;
 
+  bool get getIsChildLoggedIn => isChildLoggedIn;
+
   set setSuperUserID(int? value) => _superUserID = value;
 
+  set setIsChildLoggedIn(bool value) => isChildLoggedIn = value;
+
   String _userBloodGroup = "";
 
   String get getUserBloodGroup => _userBloodGroup;
@@ -103,8 +107,6 @@ class AppState {
 
   set setDeviceTypeID(v) => deviceTypeID = v;
 
-
-
   String _familyFileTokenID = "";
 
   String get getFamilyFileTokenID => _familyFileTokenID;
@@ -151,9 +153,8 @@ class AppState {
   }
 
   ///this will be called if there is any problem in getting the user location
-  void resetLocation(){
+  void resetLocation() {
     userLong = 0.0;
     userLong = 0.0;
   }
-
 }
diff --git a/lib/core/dependencies.dart b/lib/core/dependencies.dart
index 1fe2317..a3bb4c7 100644
--- a/lib/core/dependencies.dart
+++ b/lib/core/dependencies.dart
@@ -97,11 +97,7 @@ class AppDependencies {
     // Global/shared VMs → LazySingleton
 
     getIt.registerLazySingleton(
-      () => LabViewModel(
-        labRepo: getIt(),
-        errorHandlerService: getIt(),
-        navigationService: getIt()
-      ),
+      () => LabViewModel(labRepo: getIt(), errorHandlerService: getIt(), navigationService: getIt()),
     );
 
     getIt.registerLazySingleton(
diff --git a/lib/core/enums.dart b/lib/core/enums.dart
index e94b3e2..4151bed 100644
--- a/lib/core/enums.dart
+++ b/lib/core/enums.dart
@@ -30,7 +30,7 @@ enum LoginTypeEnum { sms, whatsapp, face, fingerprint }
 
 enum AppEnvironmentTypeEnum { dev, uat, preProd, qa, staging, prod }
 
-enum FamilyFileEnum { active, inactive, blocked, deleted, pending }
+enum FamilyFileEnum { active, inactive, blocked, deleted, pending, rejected }
 
 extension CalenderExtension on CalenderEnum {
   int get toInt {
@@ -152,6 +152,8 @@ extension FamilyFileEnumExtenshion on FamilyFileEnum {
       case FamilyFileEnum.pending:
         return 2;
       case FamilyFileEnum.inactive:
+        return 6;
+      case FamilyFileEnum.rejected:
         return 4;
     }
   }
@@ -170,6 +172,8 @@ extension FamilyFileEnumExtenshion on FamilyFileEnum {
         return isArabic ? 'محذوف' : 'Deleted';
       case FamilyFileEnum.pending:
         return isArabic ? 'قيد الانتظار' : 'Pending';
+        case FamilyFileEnum.rejected:
+        return isArabic ? 'مرفوض' : 'Rejected';
     }
   }
 
diff --git a/lib/core/utils/request_utils.dart b/lib/core/utils/request_utils.dart
index cd813ed..a4ea936 100644
--- a/lib/core/utils/request_utils.dart
+++ b/lib/core/utils/request_utils.dart
@@ -262,7 +262,7 @@ class RequestUtils {
 
   static Future getAddFamilyRequest({required String nationalIDorFile, required String mobileNo, required String countryCode}) async {
     FamilyFileRequest request = FamilyFileRequest();
-    int? loginType = 0; // Default to National ID
+    int? loginType = 0;
 
     if (countryCode == CountryEnum.saudiArabia.countryCode || countryCode == '+966') {
       loginType = (nationalIDorFile.length == 10) ? 1 : 2;
diff --git a/lib/core/utils/utils.dart b/lib/core/utils/utils.dart
index efa01d0..bac2470 100644
--- a/lib/core/utils/utils.dart
+++ b/lib/core/utils/utils.dart
@@ -627,8 +627,17 @@ class Utils {
     double width = 24,
     double height = 24,
     BoxFit fit = BoxFit.cover,
+    double? border,
+    double? borderRadius,
   }) {
-    return Image.asset(icon, width: width, height: height, fit: fit);
+    return Container(
+      decoration: BoxDecoration(
+        border: border != null ? Border.all(color: AppColors.whiteColor, width: border) : null,
+        borderRadius: border != null ? BorderRadius.circular(borderRadius ?? 0) : null,
+      ),
+      child: Image.asset(icon, width: width, height: height, fit: fit),
+    );
+    // return Image.asset(icon, width: width, height: height, fit: fit, );
   }
 
   /// Widget to build an SVG from network
diff --git a/lib/features/authentication/authentication_repo.dart b/lib/features/authentication/authentication_repo.dart
index 96bdc0b..c034a69 100644
--- a/lib/features/authentication/authentication_repo.dart
+++ b/lib/features/authentication/authentication_repo.dart
@@ -206,38 +206,93 @@ class AuthenticationRepoImp implements AuthenticationRepo {
       int? patientID,
       int? loginType}) async {
     AppState appState = getIt.get();
+    // if (isRegister) {
+    //   newRequest["activationCode"] = activationCode ?? "0000";
+    //   newRequest["isSilentLogin"] = activationCode != null ? false : true;
+    // } else {
+    //   newRequest.activationCode = activationCode ?? "0000";
+    //   newRequest.isSilentLogin = activationCode != null ? false : true;
+    //   newRequest.projectOutSA = newRequest.zipCode == '966' ? false : true;
+    //   newRequest.isDentalAllowedBackend = false;
+    //   newRequest.forRegisteration = newRequest.isRegister ?? false;
+    //   newRequest.isRegister = false;
+    // }
+    // Map familyRequest = {};
+    // if (isFormFamilyFile) {
+    //   AppState appState = getIt.get();
+    //   familyRequest = {};
+    //   familyRequest['PatientShareRequestID'] = patientShareRequestID;
+    //   familyRequest['ResponseID'] = responseID;
+    //   familyRequest['Status'] = 3;
+    //   familyRequest["PatientID"] = appState.getAuthenticatedUser()!.patientId ?? 0;
+    //   familyRequest["LogInTokenID"] = appState.getFamilyFileTokenID;
+    //   familyRequest["activationCode"] = activationCode ?? "0000";
+    //   familyRequest["PatientMobileNumber"] = newRequest.patientMobileNumber;
+    //   familyRequest["PatientIdentificationID"] = newRequest.patientIdentificationID;
+    // }
+    // Map switchRequest = {};
+    // if (isSwitchUser) {
+    //   switchRequest = newRequest.toJson();
+    //
+    //   switchRequest['PatientID'] = responseID;
+    //   switchRequest['IsSilentLogin'] = true;
+    //   switchRequest['LogInTokenID'] = null;
+    //   switchRequest['SearchType'] = 2;
+    //   if (loginType != 0) {
+    //     switchRequest['SuperUser'] = patientID;
+    //     switchRequest['DeviceToken'] = null;
+    //   } else {
+    //     switchRequest["LoginType"] = 2;
+    //   }
+    //
+    //   if (appState.getSuperUserID == responseID) {
+    //     // switchRequest['LoginType'] = 3;
+    //     switchRequest['PatientIdentificationID'] = "";
+    //     // switchRequest['ProjectOutSA'] = newRequest.zipCode == '966' ? false : true;
+    //     switchRequest.remove('NationalID');
+    //     switchRequest.remove('isDentalAllowedBackend');
+    //     switchRequest.remove('ProjectOutSA');
+    //     switchRequest.remove('ForRegisteration');
+    //     appState.setSuperUserID = null;
+    //   }
+    // }
+
     if (isRegister) {
       newRequest["activationCode"] = activationCode ?? "0000";
-      newRequest["isSilentLogin"] = activationCode != null ? false : true;
+      newRequest["isSilentLogin"] = activationCode == null;
     } else {
       newRequest.activationCode = activationCode ?? "0000";
-      newRequest.isSilentLogin = activationCode != null ? false : true;
-      newRequest.projectOutSA = newRequest.zipCode == '966' ? false : true;
+      newRequest.isSilentLogin = activationCode == null;
+      newRequest.projectOutSA = newRequest.zipCode != '966';
       newRequest.isDentalAllowedBackend = false;
       newRequest.forRegisteration = newRequest.isRegister ?? false;
       newRequest.isRegister = false;
     }
+
     Map familyRequest = {};
     if (isFormFamilyFile) {
-      AppState appState = getIt.get();
-      familyRequest = {};
-      familyRequest['PatientShareRequestID'] = patientShareRequestID;
-      familyRequest['ResponseID'] = responseID;
-      familyRequest['Status'] = 3;
-      familyRequest["PatientID"] = appState.getAuthenticatedUser()!.patientId ?? 0;
-      familyRequest["LogInTokenID"] = appState.getFamilyFileTokenID;
-      familyRequest["activationCode"] = activationCode ?? "0000";
-      familyRequest["PatientMobileNumber"] = newRequest.patientMobileNumber;
-      familyRequest["PatientIdentificationID"] = newRequest.patientIdentificationID;
+      familyRequest = {
+        'PatientShareRequestID': patientShareRequestID,
+        'ResponseID': responseID,
+        'Status': 3,
+        'PatientID': appState.getAuthenticatedUser()?.patientId ?? 0,
+        'LogInTokenID': appState.getFamilyFileTokenID,
+        'activationCode': activationCode ?? "0000",
+        'PatientMobileNumber': newRequest.patientMobileNumber,
+        'PatientIdentificationID': newRequest.patientIdentificationID,
+      };
     }
+
     Map switchRequest = {};
     if (isSwitchUser) {
       switchRequest = newRequest.toJson();
+      switchRequest.addAll({
+        'PatientID': responseID,
+        'IsSilentLogin': true,
+        'LogInTokenID': null,
+        'SearchType': 2,
+      });
 
-      switchRequest['PatientID'] = responseID;
-      switchRequest['IsSilentLogin'] = true;
-      switchRequest['LogInTokenID'] = null;
-      switchRequest['SearchType'] = 2;
       if (loginType != 0) {
         switchRequest['SuperUser'] = patientID;
         switchRequest['DeviceToken'] = null;
@@ -246,13 +301,8 @@ class AuthenticationRepoImp implements AuthenticationRepo {
       }
 
       if (appState.getSuperUserID == responseID) {
-        switchRequest['LoginType'] = 3;
         switchRequest['PatientIdentificationID'] = "";
-        // switchRequest['ProjectOutSA'] = newRequest.zipCode == '966' ? false : true;
-        switchRequest.remove('NationalID');
-        switchRequest.remove('isDentalAllowedBackend');
-        switchRequest.remove('ProjectOutSA');
-        switchRequest.remove('ForRegisteration');
+        switchRequest.removeWhere((key, value) => ['NationalID', 'isDentalAllowedBackend', 'ProjectOutSA', 'ForRegisteration'].contains(key));
       }
     }
 
@@ -303,7 +353,6 @@ class AuthenticationRepoImp implements AuthenticationRepo {
   @override
   Future>> checkIfUserAgreed({required dynamic commonAuthanticatedRequest}) async {
     commonAuthanticatedRequest['Region'] = 1;
-    print("dsfsdd");
     try {
       GenericApiModel? apiResponse;
       Failure? failure;
@@ -338,7 +387,6 @@ class AuthenticationRepoImp implements AuthenticationRepo {
   @override
   Future>> getUserAgreementContent({required dynamic commonAuthanticatedRequest}) async {
     commonAuthanticatedRequest['Region'] = 1;
-    print("dsfsdd");
     try {
       GenericApiModel? apiResponse;
       Failure? failure;
diff --git a/lib/features/authentication/authentication_view_model.dart b/lib/features/authentication/authentication_view_model.dart
index b3f9617..467a476 100644
--- a/lib/features/authentication/authentication_view_model.dart
+++ b/lib/features/authentication/authentication_view_model.dart
@@ -366,7 +366,7 @@ class AuthenticationViewModel extends ChangeNotifier {
         isForRegister: isForRegister,
         patientOutSA: isForRegister
             ? isPatientOutsideSA(request: payload)
-            : selectedCountrySignup.countryCode == CountryEnum.saudiArabia
+            : selectedCountrySignup.countryCode == CountryEnum.saudiArabia.countryCode
                 ? false
                 : true,
         payload: payload,
@@ -374,9 +374,6 @@ class AuthenticationViewModel extends ChangeNotifier {
         isFormFamilyFile: isFormFamilyFile,
         responseID: responseID);
 
-
-
-
     // TODO: GET APP SMS SIGNATURE HERE
     request.sMSSignature = await getSignature();
 
@@ -434,18 +431,17 @@ class AuthenticationViewModel extends ChangeNotifier {
     return isUserComingForRegister;
   }
 
-  Future checkActivationCode(
-      {required String? activationCode,
-      required OTPTypeEnum otpTypeEnum,
-      required Function(String? message) onWrongActivationCode,
-      Function()? onResendActivation,
-      bool isFormFamilyFile = false,
-      dynamic patientShareRequestID,
-      dynamic responseID,
-      bool isSwitchUser =false,
-        int? patientID,
-
-      }) async {
+  Future checkActivationCode({
+    required String? activationCode,
+    required OTPTypeEnum otpTypeEnum,
+    required Function(String? message) onWrongActivationCode,
+    Function()? onResendActivation,
+    bool isFormFamilyFile = false,
+    dynamic patientShareRequestID,
+    dynamic responseID,
+    bool isSwitchUser = false,
+    int? patientID,
+  }) async {
     bool isForRegister = (_appState.getUserRegistrationPayload.healthId != null || _appState.getUserRegistrationPayload.patientOutSa == true || _appState.getUserRegistrationPayload.patientOutSa == 1);
 
     final request = RequestUtils.getCommonRequestWelcome(
@@ -508,15 +504,15 @@ class AuthenticationViewModel extends ChangeNotifier {
       });
     } else {
       final resultEither = await _authenticationRepo.checkActivationCodeRepo(
-          newRequest: CheckActivationCodeRegisterReq.fromJson(request),
-          activationCode: activationCode,
-          isRegister: false,
-          isFormFamilyFile: isFormFamilyFile,
-          patientShareRequestID: patientShareRequestID,
-          responseID: responseID,
-          isSwitchUser: isSwitchUser,
-          patientID: patientID,
-          loginType: _appState.getSuperUserID != null ? 0 : 2,
+        newRequest: CheckActivationCodeRegisterReq.fromJson(request),
+        activationCode: activationCode,
+        isRegister: false,
+        isFormFamilyFile: isFormFamilyFile,
+        patientShareRequestID: patientShareRequestID,
+        responseID: responseID,
+        isSwitchUser: isSwitchUser,
+        patientID: patientID,
+        loginType: _appState.getSuperUserID != null ? 0 : 2,
       );
 
       resultEither.fold(
@@ -531,8 +527,6 @@ class AuthenticationViewModel extends ChangeNotifier {
                 LoaderBottomSheet.hideLoader();
                 await _dialogService.showCommonBottomSheetWithoutH(message: failure.message, label: LocaleKeys.notice.tr(), onOkPressed: () {});
               }), (apiResponse) async {
-        print("API Response Data: ${apiResponse.data}");
-
         final activation = CheckActivationCode.fromJson(apiResponse.data as Map);
 
         if (activation.errorCode == '699') {
@@ -551,17 +545,27 @@ class AuthenticationViewModel extends ChangeNotifier {
           return;
         } else {
           if (isFormFamilyFile) {
-            await navigateToFamilyFilePage();
-            // _dialogService.showCommonBottomSheetWithoutH(
-            //     message: "Family File Added Successfully",
-            //     onOkPressed: () async {
-            //       print("navigating to family file page");
-            //
-            //     });
+            // await navigateToFamilyFilePage();
+            MedicalFileViewModel medicalVm = getIt();
+            if (!_appState.getIsChildLoggedIn) {
+              await medicalVm.getFamilyFiles(status: 0);
+              await medicalVm.getAllPendingRecordsByResponseId();
+              _navigationService.popUntilNamed(AppRoutes.medicalFilePage);
+            }
           } else {
             if (activation.list != null && activation.list!.isNotEmpty) {
-              if(isSwitchUser){
-                _appState.setSuperUserID = _appState.getAuthenticatedUser()?.patientId;
+              if (isSwitchUser) {
+                if (_appState.getIsChildLoggedIn) {
+                  _appState.setSuperUserID = null;
+                  _appState.setIsChildLoggedIn = false;
+                  activation.list!.first.isParentUser = true;
+                } else {
+                  _appState.setSuperUserID = _appState.getAuthenticatedUser()?.patientId;
+                  _appState.setIsChildLoggedIn = true;
+                  activation.list!.first.isParentUser = false;
+                }
+              } else {
+                activation.list!.first.isParentUser = true;
               }
               _appState.setAuthenticatedUser(activation.list!.first);
               _appState.setPrivilegeModelList(activation.list!.first.listPrivilege!);
@@ -576,7 +580,14 @@ class AuthenticationViewModel extends ChangeNotifier {
               _appState.getSelectDeviceByImeiRespModelElement!.logInType = loginTypeEnum.toInt;
             }
             LoaderBottomSheet.hideLoader();
-            insertPatientIMEIData(loginTypeEnum.toInt);
+//
+            if (!isSwitchUser && !_appState.getIsChildLoggedIn) {
+              MedicalFileViewModel medicalVm = getIt();
+              insertPatientIMEIData(loginTypeEnum.toInt);
+              await medicalVm.getFamilyFiles(status: 0); //TODO:  Remove status: 1 by Aamir Need to Discuss With Sultan
+              // medicalVm.getAllPendingRecordsByResponseId();
+            }
+
             await clearDefaultInputValues();
             if (isUserAgreedBefore) {
               navigateToHomeScreen();
diff --git a/lib/features/authentication/models/resp_models/authenticated_user_resp_model.dart b/lib/features/authentication/models/resp_models/authenticated_user_resp_model.dart
index e6a8e17..8209a0f 100644
--- a/lib/features/authentication/models/resp_models/authenticated_user_resp_model.dart
+++ b/lib/features/authentication/models/resp_models/authenticated_user_resp_model.dart
@@ -70,6 +70,8 @@ class AuthenticatedUser {
   dynamic authenticatedUserPatientType;
   dynamic authenticatedUserStatus;
   int? superUser;
+  bool? isParentUser;
+
   AuthenticatedUser({
     this.setupId,
     this.patientType,
@@ -139,7 +141,8 @@ class AuthenticatedUser {
     this.authenticatedUserPatientPayType,
     this.authenticatedUserPatientType,
     this.authenticatedUserStatus,
-    this.superUser
+    this.superUser,
+    this.isParentUser,
   });
 
   factory AuthenticatedUser.fromRawJson(String str) => AuthenticatedUser.fromJson(json.decode(str));
@@ -147,148 +150,150 @@ class AuthenticatedUser {
   String toRawJson() => json.encode(toJson());
 
   factory AuthenticatedUser.fromJson(Map json) => AuthenticatedUser(
-    setupId: json["SetupID"],
-    patientType: json["PatientType"],
-    patientId: json["PatientID"],
-    firstName: json["FirstName"],
-    middleName: json["MiddleName"],
-    lastName: json["LastName"],
-    firstNameN: json["FirstNameN"],
-    middleNameN: json["MiddleNameN"],
-    lastNameN: json["LastNameN"],
-    relationshipId: json["RelationshipID"],
-    gender: json["Gender"],
-    dateofBirth: json["DateofBirth"],
-    dateofBirthN: json["DateofBirthN"],
-    nationalityId: json["NationalityID"],
-    phoneResi: json["PhoneResi"],
-    phoneOffice: json["PhoneOffice"],
-    mobileNumber: json["MobileNumber"],
-    faxNumber: json["FaxNumber"],
-    emailAddress: json["EmailAddress"],
-    bloodGroup: json["BloodGroup"],
-    rhFactor: json["RHFactor"],
-    isEmailAlertRequired: json["IsEmailAlertRequired"],
-    isSmsAlertRequired: json["IsSMSAlertRequired"],
-    preferredLanguage: json["PreferredLanguage"],
-    isPrivilegedMember: json["IsPrivilegedMember"],
-    memberId: json["MemberID"],
-    expiryDate: json["ExpiryDate"],
-    isHmgEmployee: json["IsHmgEmployee"],
-    employeeId: json["EmployeeID"],
-    emergencyContactName: json["EmergencyContactName"],
-    emergencyContactNo: json["EmergencyContactNo"],
-    patientPayType: json["PatientPayType"],
-    dhccPatientRefId: json["DHCCPatientRefID"],
-    isPatientDummy: json["IsPatientDummy"],
-    status: json["Status"],
-    isStatusCleared: json["IsStatusCleared"],
-    patientIdentificationType: json["PatientIdentificationType"],
-    patientIdentificationNo: json["PatientIdentificationNo"],
-    projectId: json["ProjectID"],
-    infoSourceId: json["InfoSourceID"],
-    address: json["Address"],
-    age: json["Age"],
-    ageDesc: json["AgeDesc"],
-    areaId: json["AreaID"],
-    crsVerificationStatus: json["CRSVerificationStatus"],
-    crsVerificationStatusDesc: json["CRSVerificationStatusDesc"],
-    crsVerificationStatusDescN: json["CRSVerificationStatusDescN"],
-    createdBy: json["CreatedBy"],
-    genderDescription: json["GenderDescription"],
-    healthIdFromNhicViaVida: json["HealthIDFromNHICViaVida"],
-    ir: json["IR"],
-    isoCityId: json["ISOCityID"],
-    isoCountryId: json["ISOCountryID"],
-    isVerfiedFromNhic: json["IsVerfiedFromNHIC"],
-    listPrivilege: json["ListPrivilege"] == null ? [] : List.from(json["ListPrivilege"]!.map((x) => ListPrivilege.fromJson(x))),
-    marital: json["Marital"],
-    occupationId: json["OccupationID"],
-    outSa: json["OutSA"],
-    poBox: json["POBox"],
-    receiveHealthSummaryReport: json["ReceiveHealthSummaryReport"],
-    sourceType: json["SourceType"],
-    strDateofBirth: json["StrDateofBirth"],
-    tempAddress: json["TempAddress"],
-    zipCode: json["ZipCode"],
-    eHealthIdField: json["eHealthIDField"],
-    authenticatedUserPatientPayType: json["patientPayType"],
-    authenticatedUserPatientType: json["patientType"],
-    authenticatedUserStatus: json["status"],
-    superUser: json["superUser"],
-  );
+        setupId: json["SetupID"],
+        patientType: json["PatientType"],
+        patientId: json["PatientID"],
+        firstName: json["FirstName"],
+        middleName: json["MiddleName"],
+        lastName: json["LastName"],
+        firstNameN: json["FirstNameN"],
+        middleNameN: json["MiddleNameN"],
+        lastNameN: json["LastNameN"],
+        relationshipId: json["RelationshipID"],
+        gender: json["Gender"],
+        dateofBirth: json["DateofBirth"],
+        dateofBirthN: json["DateofBirthN"],
+        nationalityId: json["NationalityID"],
+        phoneResi: json["PhoneResi"],
+        phoneOffice: json["PhoneOffice"],
+        mobileNumber: json["MobileNumber"],
+        faxNumber: json["FaxNumber"],
+        emailAddress: json["EmailAddress"],
+        bloodGroup: json["BloodGroup"],
+        rhFactor: json["RHFactor"],
+        isEmailAlertRequired: json["IsEmailAlertRequired"],
+        isSmsAlertRequired: json["IsSMSAlertRequired"],
+        preferredLanguage: json["PreferredLanguage"],
+        isPrivilegedMember: json["IsPrivilegedMember"],
+        memberId: json["MemberID"],
+        expiryDate: json["ExpiryDate"],
+        isHmgEmployee: json["IsHmgEmployee"],
+        employeeId: json["EmployeeID"],
+        emergencyContactName: json["EmergencyContactName"],
+        emergencyContactNo: json["EmergencyContactNo"],
+        patientPayType: json["PatientPayType"],
+        dhccPatientRefId: json["DHCCPatientRefID"],
+        isPatientDummy: json["IsPatientDummy"],
+        status: json["Status"],
+        isStatusCleared: json["IsStatusCleared"],
+        patientIdentificationType: json["PatientIdentificationType"],
+        patientIdentificationNo: json["PatientIdentificationNo"],
+        projectId: json["ProjectID"],
+        infoSourceId: json["InfoSourceID"],
+        address: json["Address"],
+        age: json["Age"],
+        ageDesc: json["AgeDesc"],
+        areaId: json["AreaID"],
+        crsVerificationStatus: json["CRSVerificationStatus"],
+        crsVerificationStatusDesc: json["CRSVerificationStatusDesc"],
+        crsVerificationStatusDescN: json["CRSVerificationStatusDescN"],
+        createdBy: json["CreatedBy"],
+        genderDescription: json["GenderDescription"],
+        healthIdFromNhicViaVida: json["HealthIDFromNHICViaVida"],
+        ir: json["IR"],
+        isoCityId: json["ISOCityID"],
+        isoCountryId: json["ISOCountryID"],
+        isVerfiedFromNhic: json["IsVerfiedFromNHIC"],
+        listPrivilege: json["ListPrivilege"] == null ? [] : List.from(json["ListPrivilege"]!.map((x) => ListPrivilege.fromJson(x))),
+        marital: json["Marital"],
+        occupationId: json["OccupationID"],
+        outSa: json["OutSA"],
+        poBox: json["POBox"],
+        receiveHealthSummaryReport: json["ReceiveHealthSummaryReport"],
+        sourceType: json["SourceType"],
+        strDateofBirth: json["StrDateofBirth"],
+        tempAddress: json["TempAddress"],
+        zipCode: json["ZipCode"],
+        eHealthIdField: json["eHealthIDField"],
+        authenticatedUserPatientPayType: json["patientPayType"],
+        authenticatedUserPatientType: json["patientType"],
+        authenticatedUserStatus: json["status"],
+        superUser: json["superUser"],
+        isParentUser: json["isParentUser"] ?? false,
+      );
 
   Map toJson() => {
-    "SetupID": setupId,
-    "PatientType": patientType,
-    "PatientID": patientId,
-    "FirstName": firstName,
-    "MiddleName": middleName,
-    "LastName": lastName,
-    "FirstNameN": firstNameN,
-    "MiddleNameN": middleNameN,
-    "LastNameN": lastNameN,
-    "RelationshipID": relationshipId,
-    "Gender": gender,
-    "DateofBirth": dateofBirth,
-    "DateofBirthN": dateofBirthN,
-    "NationalityID": nationalityId,
-    "PhoneResi": phoneResi,
-    "PhoneOffice": phoneOffice,
-    "MobileNumber": mobileNumber,
-    "FaxNumber": faxNumber,
-    "EmailAddress": emailAddress,
-    "BloodGroup": bloodGroup,
-    "RHFactor": rhFactor,
-    "IsEmailAlertRequired": isEmailAlertRequired,
-    "IsSMSAlertRequired": isSmsAlertRequired,
-    "PreferredLanguage": preferredLanguage,
-    "IsPrivilegedMember": isPrivilegedMember,
-    "MemberID": memberId,
-    "ExpiryDate": expiryDate,
-    "IsHmgEmployee": isHmgEmployee,
-    "EmployeeID": employeeId,
-    "EmergencyContactName": emergencyContactName,
-    "EmergencyContactNo": emergencyContactNo,
-    "PatientPayType": patientPayType,
-    "DHCCPatientRefID": dhccPatientRefId,
-    "IsPatientDummy": isPatientDummy,
-    "Status": status,
-    "IsStatusCleared": isStatusCleared,
-    "PatientIdentificationType": patientIdentificationType,
-    "PatientIdentificationNo": patientIdentificationNo,
-    "ProjectID": projectId,
-    "InfoSourceID": infoSourceId,
-    "Address": address,
-    "Age": age,
-    "AgeDesc": ageDesc,
-    "AreaID": areaId,
-    "CRSVerificationStatus": crsVerificationStatus,
-    "CRSVerificationStatusDesc": crsVerificationStatusDesc,
-    "CRSVerificationStatusDescN": crsVerificationStatusDescN,
-    "CreatedBy": createdBy,
-    "GenderDescription": genderDescription,
-    "HealthIDFromNHICViaVida": healthIdFromNhicViaVida,
-    "IR": ir,
-    "ISOCityID": isoCityId,
-    "ISOCountryID": isoCountryId,
-    "IsVerfiedFromNHIC": isVerfiedFromNhic,
-    "ListPrivilege": listPrivilege == null ? [] : List.from(listPrivilege!.map((x) => x.toJson())),
-    "Marital": marital,
-    "OccupationID": occupationId,
-    "OutSA": outSa,
-    "POBox": poBox,
-    "ReceiveHealthSummaryReport": receiveHealthSummaryReport,
-    "SourceType": sourceType,
-    "StrDateofBirth": strDateofBirth,
-    "TempAddress": tempAddress,
-    "ZipCode": zipCode,
-    "eHealthIDField": eHealthIdField,
-    "patientPayType": authenticatedUserPatientPayType,
-    "patientType": authenticatedUserPatientType,
-    "status": authenticatedUserStatus,
-    "superUser": superUser,
-  };
+        "SetupID": setupId,
+        "PatientType": patientType,
+        "PatientID": patientId,
+        "FirstName": firstName,
+        "MiddleName": middleName,
+        "LastName": lastName,
+        "FirstNameN": firstNameN,
+        "MiddleNameN": middleNameN,
+        "LastNameN": lastNameN,
+        "RelationshipID": relationshipId,
+        "Gender": gender,
+        "DateofBirth": dateofBirth,
+        "DateofBirthN": dateofBirthN,
+        "NationalityID": nationalityId,
+        "PhoneResi": phoneResi,
+        "PhoneOffice": phoneOffice,
+        "MobileNumber": mobileNumber,
+        "FaxNumber": faxNumber,
+        "EmailAddress": emailAddress,
+        "BloodGroup": bloodGroup,
+        "RHFactor": rhFactor,
+        "IsEmailAlertRequired": isEmailAlertRequired,
+        "IsSMSAlertRequired": isSmsAlertRequired,
+        "PreferredLanguage": preferredLanguage,
+        "IsPrivilegedMember": isPrivilegedMember,
+        "MemberID": memberId,
+        "ExpiryDate": expiryDate,
+        "IsHmgEmployee": isHmgEmployee,
+        "EmployeeID": employeeId,
+        "EmergencyContactName": emergencyContactName,
+        "EmergencyContactNo": emergencyContactNo,
+        "PatientPayType": patientPayType,
+        "DHCCPatientRefID": dhccPatientRefId,
+        "IsPatientDummy": isPatientDummy,
+        "Status": status,
+        "IsStatusCleared": isStatusCleared,
+        "PatientIdentificationType": patientIdentificationType,
+        "PatientIdentificationNo": patientIdentificationNo,
+        "ProjectID": projectId,
+        "InfoSourceID": infoSourceId,
+        "Address": address,
+        "Age": age,
+        "AgeDesc": ageDesc,
+        "AreaID": areaId,
+        "CRSVerificationStatus": crsVerificationStatus,
+        "CRSVerificationStatusDesc": crsVerificationStatusDesc,
+        "CRSVerificationStatusDescN": crsVerificationStatusDescN,
+        "CreatedBy": createdBy,
+        "GenderDescription": genderDescription,
+        "HealthIDFromNHICViaVida": healthIdFromNhicViaVida,
+        "IR": ir,
+        "ISOCityID": isoCityId,
+        "ISOCountryID": isoCountryId,
+        "IsVerfiedFromNHIC": isVerfiedFromNhic,
+        "ListPrivilege": listPrivilege == null ? [] : List.from(listPrivilege!.map((x) => x.toJson())),
+        "Marital": marital,
+        "OccupationID": occupationId,
+        "OutSA": outSa,
+        "POBox": poBox,
+        "ReceiveHealthSummaryReport": receiveHealthSummaryReport,
+        "SourceType": sourceType,
+        "StrDateofBirth": strDateofBirth,
+        "TempAddress": tempAddress,
+        "ZipCode": zipCode,
+        "eHealthIDField": eHealthIdField,
+        "patientPayType": authenticatedUserPatientPayType,
+        "patientType": authenticatedUserPatientType,
+        "status": authenticatedUserStatus,
+        "superUser": superUser,
+        "isParentUser": isParentUser,
+      };
 }
 
 class ListPrivilege {
@@ -309,16 +314,16 @@ class ListPrivilege {
   String toRawJson() => json.encode(toJson());
 
   factory ListPrivilege.fromJson(Map json) => ListPrivilege(
-    id: json["ID"],
-    serviceName: json["ServiceName"],
-    previlege: json["Previlege"],
-    region: json["Region"],
-  );
+        id: json["ID"],
+        serviceName: json["ServiceName"],
+        previlege: json["Previlege"],
+        region: json["Region"],
+      );
 
   Map toJson() => {
-    "ID": id,
-    "ServiceName": serviceName,
-    "Previlege": previlege,
-    "Region": region,
-  };
+        "ID": id,
+        "ServiceName": serviceName,
+        "Previlege": previlege,
+        "Region": region,
+      };
 }
diff --git a/lib/features/medical_file/medical_file_repo.dart b/lib/features/medical_file/medical_file_repo.dart
index 9c18696..994f9f9 100644
--- a/lib/features/medical_file/medical_file_repo.dart
+++ b/lib/features/medical_file/medical_file_repo.dart
@@ -29,6 +29,10 @@ abstract class MedicalFileRepo {
   Future>>> getAllPendingRecordsByResponseId({required Map request});
 
   Future>> addFamilyFile({required dynamic request});
+
+  Future>> removeFamilyFile({required int? id});
+
+  Future>> acceptRejectFamilyFile({required int? id, required int? status});
 }
 
 class MedicalFileRepoImp implements MedicalFileRepo {
@@ -328,10 +332,6 @@ class MedicalFileRepoImp implements MedicalFileRepo {
         onSuccess: (response, statusCode, {messageStatus, errorMessage}) {
           try {
             final list = response['GetAllPendingRecordsList'];
-            // if (list == null || list.isEmpty) {
-            //   throw Exception("lab list is empty");
-            // }
-
             final familyLists = list.map((item) => FamilyFileResponseModelLists.fromJson(item as Map)).toList().cast();
 
             apiResponse = GenericApiModel>(
@@ -384,4 +384,74 @@ class MedicalFileRepoImp implements MedicalFileRepo {
       return Left(UnknownFailure(e.toString()));
     }
   }
+
+  @override
+  Future>> removeFamilyFile({required int? id}) async {
+    Map request = {};
+    request["ID"] = id;
+    request['IsActive'] = false;
+    try {
+      GenericApiModel? apiResponse;
+      Failure? failure;
+      await apiClient.post(
+        ApiConsts.removeFileFromFamilyMembers,
+        body: request,
+        onFailure: (error, statusCode, {messageStatus, failureType}) {
+          failure = failureType;
+        },
+        onSuccess: (response, statusCode, {messageStatus, errorMessage}) {
+          try {
+            apiResponse = GenericApiModel(
+              messageStatus: messageStatus,
+              statusCode: statusCode,
+              errorMessage: errorMessage,
+              data: response,
+            );
+          } catch (e) {
+            failure = DataParsingFailure(e.toString());
+          }
+        },
+      );
+      if (failure != null) return Left(failure!);
+      if (apiResponse == null) return Left(ServerFailure("Unknown error"));
+      return Right(apiResponse!);
+    } catch (e) {
+      return Left(UnknownFailure(e.toString()));
+    }
+  }
+
+  @override
+  Future>> acceptRejectFamilyFile({required int? id, required int? status}) async {
+    Map request = {};
+    request["ID"] = id;
+    request['Status'] = status;
+    try {
+      GenericApiModel? apiResponse;
+      Failure? failure;
+      await apiClient.post(
+        ApiConsts.acceptAndRejectFamilyFile,
+        body: request,
+        onFailure: (error, statusCode, {messageStatus, failureType}) {
+          failure = failureType;
+        },
+        onSuccess: (response, statusCode, {messageStatus, errorMessage}) {
+          try {
+            apiResponse = GenericApiModel(
+              messageStatus: messageStatus,
+              statusCode: statusCode,
+              errorMessage: errorMessage,
+              data: response,
+            );
+          } catch (e) {
+            failure = DataParsingFailure(e.toString());
+          }
+        },
+      );
+      if (failure != null) return Left(failure!);
+      if (apiResponse == null) return Left(ServerFailure("Unknown error"));
+      return Right(apiResponse!);
+    } catch (e) {
+      return Left(UnknownFailure(e.toString()));
+    }
+  }
 }
diff --git a/lib/features/medical_file/medical_file_view_model.dart b/lib/features/medical_file/medical_file_view_model.dart
index 64075b4..df8027f 100644
--- a/lib/features/medical_file/medical_file_view_model.dart
+++ b/lib/features/medical_file/medical_file_view_model.dart
@@ -1,4 +1,5 @@
 import 'dart:convert';
+import 'dart:developer';
 
 import 'package:flutter/material.dart';
 import 'package:hmg_patient_app_new/core/app_state.dart';
@@ -83,7 +84,7 @@ class MedicalFileViewModel extends ChangeNotifier {
   void onFamilyFileTabChange(int index) {
     setSelectedFamilyFileTabIndex = index;
     if (index == 1) {
-      getAllPendingRecordsByResponseId();
+      //   getAllPendingRecordsByResponseId();
     }
     notifyListeners();
   }
@@ -270,148 +271,50 @@ class MedicalFileViewModel extends ChangeNotifier {
         if (apiResponse.messageStatus == 2) {
           _dialogService.showErrorBottomSheet(message: apiResponse.errorMessage!, onOkPressed: () {});
         } else if (apiResponse.messageStatus == 1) {
-          patientFamilyFiles = apiResponse.data!;
           if (apiResponse.data != null) {
-            patientFamilyFiles.insert(
-              0,
-              FamilyFileResponseModelLists(
-                patientId: _appState.getAuthenticatedUser()!.patientId,
-                patientName: '${_appState.getAuthenticatedUser()!.firstName!} ${_appState.getAuthenticatedUser()!.lastName!}',
-                isActive: true,
-                gender: _appState.getAuthenticatedUser()!.gender!,
-                responseId: _appState.getAuthenticatedUser()!.patientId,
-                age: _appState.getAuthenticatedUser()!.age,
-                mobileNumber: _appState.getAuthenticatedUser()!.mobileNumber,
-                patientIdenficationNumber: _appState.getAuthenticatedUser()!.patientIdentificationNo,
-                emaiLAddress: _appState.getAuthenticatedUser()!.emailAddress,
-                genderDescription: _appState.getAuthenticatedUser()!.genderDescription,
-              ),
+            // Add current user as the first active family file
+            final currentUser = _appState.getAuthenticatedUser()!;
+            final currentUserFamilyFile = FamilyFileResponseModelLists(
+              patientId: currentUser.patientId,
+              patientName: '${currentUser.firstName!} ${currentUser.lastName!}',
+              isActive: true,
+              gender: currentUser.gender!,
+              responseId: currentUser.patientId,
+              age: currentUser.age,
+              mobileNumber: currentUser.mobileNumber,
+              patientIdenficationNumber: currentUser.patientIdentificationNo,
+              emaiLAddress: currentUser.emailAddress,
+              genderDescription: currentUser.genderDescription,
             );
 
-            // final List activeFamilyFiles = [];
-            // final List tempPendingFamilyFiles = [];
-            // for (var element in apiResponse.data!) {
-            //   if (element.status != null && element.status == FamilyFileEnum.active.toInt) {
-            //     activeFamilyFiles.add(FamilyFileResponseModelLists(
-            //         patientId: element.patientId,
-            //         patientName: element.patientName!,
-            //         isActive: element.status == FamilyFileEnum.active.toInt ? true : false,
-            //         gender: element.gender!,
-            //         responseId: element.patientId,
-            //         mobileNumber: element.mobileNumber,
-            //         age: element.age,
-            //         patientIdenficationNumber: element.patientIdenficationNumber,
-            //         relationship: element.relationship,
-            //         relationshipId: element.relationshipId,
-            //         relationshipN: element.relationshipN,
-            //         status: element.status,
-            //         statusDescription: element.statusDescription,
-            //         createdOn: element.createdOn,
-            //         editedOn: element.editedOn,
-            //         patientDataVerified: element.patientDataVerified,
-            //         regionId: element.regionId,
-            //         familyRegionId: element.familyRegionId,
-            //         genderDescription: element.genderDescription,
-            //         genderImage: element.genderImage,
-            //         emaiLAddress: element.emaiLAddress));
-            //   }
-            //
-            //   if (element.status != null && element.status == FamilyFileEnum.pending.toInt) {
-            //     tempPendingFamilyFiles.add(FamilyFileResponseModelLists(
-            //         patientId: element.patientId,
-            //         patientName: element.patientName!,
-            //         isActive: element.status == FamilyFileEnum.active.toInt ? true : false,
-            //         gender: element.gender!,
-            //         responseId: element.patientId,
-            //         mobileNumber: element.mobileNumber,
-            //         age: element.age,
-            //         patientIdenficationNumber: element.patientIdenficationNumber,
-            //         relationship: element.relationship,
-            //         relationshipId: element.relationshipId,
-            //         relationshipN: element.relationshipN,
-            //         status: element.status,
-            //         statusDescription: element.statusDescription,
-            //         createdOn: element.createdOn,
-            //         editedOn: element.editedOn,
-            //         patientDataVerified: element.patientDataVerified,
-            //         regionId: element.regionId,
-            //         familyRegionId: element.familyRegionId,
-            //         genderDescription: element.genderDescription,
-            //         genderImage: element.genderImage,
-            //         emaiLAddress: element.emaiLAddress));
-            //   }
-            // }
-            // patientFamilyFiles.addAll(activeFamilyFiles.where((element) => !patientFamilyFiles.any((e) => e.patientId == element.patientId)));
-            // pendingFamilyFiles.addAll(tempPendingFamilyFiles);
+            // Clear and start fresh with current user
+            patientFamilyFiles.clear();
+            patientFamilyFiles.add(currentUserFamilyFile);
 
             final List activeFamilyFiles = [];
-            final List tempPendingFamilyFiles = [];
-            // final Set pendingIds = {};
-
-            // for (var element in apiResponse.data!) {
-            //   if (element.status != null && element.status == FamilyFileEnum.pending.toInt) {
-            //     tempPendingFamilyFiles.add(FamilyFileResponseModelLists(
-            //         patientId: element.patientId,
-            //         patientName: element.patientName!,
-            //         isActive: false,
-            //         gender: element.gender!,
-            //         responseId: element.patientId,
-            //         mobileNumber: element.mobileNumber,
-            //         age: element.age,
-            //         patientIdenficationNumber: element.patientIdenficationNumber,
-            //         relationship: element.relationship,
-            //         relationshipId: element.relationshipId,
-            //         relationshipN: element.relationshipN,
-            //         status: element.status,
-            //         statusDescription: element.statusDescription,
-            //         createdOn: element.createdOn,
-            //         editedOn: element.editedOn,
-            //         patientDataVerified: element.patientDataVerified,
-            //         regionId: element.regionId,
-            //         familyRegionId: element.familyRegionId,
-            //         genderDescription: element.genderDescription,
-            //         genderImage: element.genderImage,
-            //         emaiLAddress: element.emaiLAddress));
-            //   } else if (element.status != null && element.status == FamilyFileEnum.active.toInt) {
-            //     activeFamilyFiles.add(FamilyFileResponseModelLists(
-            //         patientId: element.patientId,
-            //         patientName: element.patientName!,
-            //         isActive: element.status == FamilyFileEnum.active.toInt ? true : false,
-            //         gender: element.gender!,
-            //         responseId: element.patientId,
-            //         mobileNumber: element.mobileNumber,
-            //         age: element.age,
-            //         patientIdenficationNumber: element.patientIdenficationNumber,
-            //         relationship: element.relationship,
-            //         relationshipId: element.relationshipId,
-            //         relationshipN: element.relationshipN,
-            //         status: element.status,
-            //         statusDescription: element.statusDescription,
-            //         createdOn: element.createdOn,
-            //         editedOn: element.editedOn,
-            //         patientDataVerified: element.patientDataVerified,
-            //         regionId: element.regionId,
-            //         familyRegionId: element.familyRegionId,
-            //         genderDescription: element.genderDescription,
-            //         genderImage: element.genderImage,
-            //         emaiLAddress: element.emaiLAddress));
-            //   }
-            // }
+            final List pendingFamilyFiles = [];
 
             for (var element in apiResponse.data!) {
-              if (element.status == null) continue;
+              if (element.status == null) {
+                continue;
+              }
 
-              final isPending = element.status == FamilyFileEnum.pending.toInt;
+              final isPending = element.status == FamilyFileEnum.pending.toInt || element.status == FamilyFileEnum.rejected.toInt;
               final isActive = element.status == FamilyFileEnum.active.toInt;
 
-              if (!isPending && !isActive) continue;
+              print("====== Element Status: ${element.status}, isPending: $isPending, isActive: $isActive ============");
+
+              if (!isPending && !isActive) {
+                continue;
+              }
 
               final familyFile = FamilyFileResponseModelLists(
+                id: element.id,
                 patientId: element.patientId,
                 patientName: element.patientName!,
-                isActive: isActive,
+                isActive: element.isActive,
                 gender: element.gender!,
-                responseId: element.patientId,
+                responseId: element.responseId,
                 mobileNumber: element.mobileNumber,
                 age: element.age,
                 patientIdenficationNumber: element.patientIdenficationNumber,
@@ -431,14 +334,22 @@ class MedicalFileViewModel extends ChangeNotifier {
               );
 
               if (isPending) {
-                tempPendingFamilyFiles.add(familyFile);
-              } else if (isActive) {
+                familyFile.isRequestFromMySide = true;
+                pendingFamilyFiles.add(familyFile);
+              }
+              if (isActive) {
                 activeFamilyFiles.add(familyFile);
               }
             }
 
-            patientFamilyFiles.addAll(activeFamilyFiles.where((element) => patientFamilyFiles.every((e) => e.patientId != element.patientId || e.status != FamilyFileEnum.active.toInt)));
-            pendingFamilyFiles.addAll(tempPendingFamilyFiles.where((element) => pendingFamilyFiles.every((e) => e.patientId != element.patientId)));
+            for (var activeFile in activeFamilyFiles) {
+              if (!patientFamilyFiles.any((e) => e.responseId == activeFile.responseId)) {
+                patientFamilyFiles.add(activeFile);
+              }
+            }
+
+            this.pendingFamilyFiles.clear();
+            this.pendingFamilyFiles.addAll(pendingFamilyFiles);
           }
 
           notifyListeners();
@@ -463,11 +374,12 @@ class MedicalFileViewModel extends ChangeNotifier {
           if (apiResponse.data != null) {
             final List tempPendingFamilyFiles = [];
             for (var element in apiResponse.data!) {
-              if (element.status != null && element.status == FamilyFileEnum.pending.toInt) {
+              if (element.status != null && element.status == FamilyFileEnum.pending.toInt || element.status == FamilyFileEnum.active.toInt) {
                 tempPendingFamilyFiles.add(FamilyFileResponseModelLists(
+                    id: element.id,
                     patientId: element.patientId,
                     patientName: element.patientName!,
-                    isActive: element.status == FamilyFileEnum.active.toInt ? true : false,
+                    isActive: element.status,
                     gender: element.gender,
                     responseId: element.patientId,
                     mobileNumber: element.mobileNumber,
@@ -488,7 +400,11 @@ class MedicalFileViewModel extends ChangeNotifier {
                     emaiLAddress: element.emaiLAddress));
               }
             }
+            // pendingFamilyFiles.addAll(tempPendingFamilyFiles.where((element) => !pendingFamilyFiles.any((e) => e.responseId == element.responseId)));
             pendingFamilyFiles.addAll(tempPendingFamilyFiles.where((element) => !pendingFamilyFiles.any((e) => e.patientId == element.patientId)));
+
+            print("====== Pending Family Length: ${pendingFamilyFiles.length} ============");
+            print("====== Pending Family Files: ${jsonEncode(pendingFamilyFiles)} ============");
           }
           notifyListeners();
         }
@@ -496,42 +412,6 @@ class MedicalFileViewModel extends ChangeNotifier {
     );
   }
 
-  // Future switchFamilyFiles({Function(dynamic)? onSuccess, Function(String)? onError}) async {
-  //   // final result = await medicalFileRepo.getPatientFamilyFiles();
-  //   final result = await medicalFileRepo.getPatientFamilyFiles(3, _appState.superUserID != null ? _appState.superUserID! : _appState.getAuthenticatedUser()!.patientId!);
-  //
-  //   result.fold(
-  //     (failure) async => await errorHandlerService.handleError(
-  //       failure: failure,
-  //       onOkPressed: () {
-  //         onError!(failure.message);
-  //       },
-  //     ),
-  //     (apiResponse) {
-  //       if (apiResponse.messageStatus == 2) {
-  //         _dialogService.showErrorBottomSheet(message: apiResponse.errorMessage!, onOkPressed: () {});
-  //       } else if (apiResponse.messageStatus == 1) {
-  //         patientFamilyFiles = apiResponse.data!;
-  //         patientFamilyFiles.insert(
-  //           0,
-  //           FamilyFileResponseModelLists(
-  //               patientId: _appState.getAuthenticatedUser()!.patientId,
-  //               patientName: '${_appState.getAuthenticatedUser()!.firstName!} ${_appState.getAuthenticatedUser()!.lastName!}',
-  //               isActive: true,
-  //               gender: _appState.getAuthenticatedUser()!.gender!,
-  //               age: _appState.getAuthenticatedUser()!.age,
-  //               mobileNumber: _appState.getAuthenticatedUser()!.mobileNumber,
-  //               responseId: _appState.getAuthenticatedUser()!.patientId),
-  //         );
-  //         notifyListeners();
-  //         if (onSuccess != null) {
-  //           onSuccess(apiResponse);
-  //         }
-  //       }
-  //     },
-  //   );
-  // }
-
   Future switchFamilyFiles({Function(dynamic)? onSuccess, int? responseID, int? patientID, String? phoneNumber, Function(String)? onError}) async {
     authVM.phoneNumberController.text = phoneNumber!.startsWith("0") ? phoneNumber.replaceFirst("0", "") : phoneNumber;
 
@@ -555,34 +435,107 @@ class MedicalFileViewModel extends ChangeNotifier {
 
     final resultEither = await medicalFileRepo.addFamilyFile(request: request.toJson());
     resultEither.fold((failure) async => await errorHandlerService.handleError(failure: failure), (apiResponse) async {
-      if (apiResponse != null && apiResponse.data != null) {
-        request.isPatientExcluded = apiResponse.data["IsPatientExcluded"];
-        request.responseID = apiResponse.data["ReponseID"];
+      if (apiResponse.messageStatus == 2) {
         LoaderBottomSheet.hideLoader();
-        _dialogService.showExceptionBottomSheet(
-            message: apiResponse.data['Message'],
+        _dialogService.showErrorBottomSheet(
+            message: apiResponse.errorMessage!,
             onOkPressed: () {
-              LoaderBottomSheet.showLoader();
-              authVM.sendActivationCode(
-                  otpTypeEnum: otpTypeEnum,
-                  nationalIdOrFileNumber: request.sharedPatientIdentificationId!,
-                  phoneNumber: request.sharedPatientMobileNumber!,
-                  isForRegister: false,
-                  isExcludedUser: apiResponse.data['IsPatientExcluded'],
-                  responseID: apiResponse.data["ReponseID"],
-                  isFormFamilyFile: true);
-            },
-            onCancelPressed: () {
               navigationService.pop();
             });
+      } else if (apiResponse.messageStatus == 1) {
+        if (apiResponse.data != null) {
+          request.isPatientExcluded = apiResponse.data["IsPatientExcluded"];
+          request.responseID = apiResponse.data["ReponseID"];
+          LoaderBottomSheet.hideLoader();
+          _dialogService.showExceptionBottomSheet(
+              message: apiResponse.data["Message"],
+              onOkPressed: () {
+                LoaderBottomSheet.showLoader();
+                authVM.sendActivationCode(
+                    otpTypeEnum: otpTypeEnum,
+                    nationalIdOrFileNumber: request.sharedPatientIdentificationId!,
+                    phoneNumber: request.sharedPatientMobileNumber!,
+                    isForRegister: false,
+                    isExcludedUser: apiResponse.data['IsPatientExcluded'],
+                    responseID: apiResponse.data["ReponseID"],
+                    isFormFamilyFile: true);
+              },
+              onCancelPressed: () {
+                navigationService.pop();
+              });
+        }
       }
     });
   }
 
   Future handleFamilyFileRequestOTPVerification() async {
     LoaderBottomSheet.showLoader();
-    await getFamilyFiles();
-    await getAllPendingRecordsByResponseId();
+    if (!_appState.getIsChildLoggedIn) {
+      await getFamilyFiles(status: 0);
+      await getAllPendingRecordsByResponseId();
+    }
+
     LoaderBottomSheet.hideLoader();
   }
+
+  Future removeFileFromFamilyMembers({int? id}) async {
+    NavigationService navigationService = getIt.get();
+    _dialogService.showExceptionBottomSheet(
+        message: "Remove this member?",
+        onOkPressed: () async {
+          LoaderBottomSheet.showLoader();
+          final result = await medicalFileRepo.removeFamilyFile(id: id);
+          result.fold(
+            (failure) async => await errorHandlerService.handleError(failure: failure),
+            (apiResponse) {
+              if (apiResponse.messageStatus == 2) {
+                LoaderBottomSheet.hideLoader();
+                _dialogService.showErrorBottomSheet(
+                    message: apiResponse.errorMessage!,
+                    onOkPressed: () {
+                      navigationService.pop();
+                    });
+              } else if (apiResponse.messageStatus == 1) {
+                patientFamilyFiles.removeWhere((element) => element.id == id);
+                LoaderBottomSheet.hideLoader();
+                notifyListeners();
+                navigationService.pop();
+              }
+            },
+          );
+        },
+        onCancelPressed: () {
+          navigationService.pop();
+        });
+  }
+
+  Future acceptRejectFileFromFamilyMembers({int? id, int? status}) async {
+    NavigationService navigationService = getIt.get();
+    LoaderBottomSheet.showLoader();
+    final result = await medicalFileRepo.acceptRejectFamilyFile(id: id, status: status);
+    result.fold(
+      (failure) async => await errorHandlerService.handleError(failure: failure),
+      (apiResponse) {
+        if (apiResponse.messageStatus == 2) {
+          LoaderBottomSheet.hideLoader();
+          _dialogService.showErrorBottomSheet(
+              message: apiResponse.errorMessage!,
+              onOkPressed: () {
+                navigationService.pop();
+              });
+        } else if (apiResponse.messageStatus == 1) {
+          // FamilyFileResponseModelLists moveProfile = pendingFamilyFiles.firstWhere((element) => element.id == patientID);
+          // moveProfile.status = 3;
+          // moveProfile.statusDescription = "Approved";
+          // patientFamilyFiles.add(moveProfile);
+          pendingFamilyFiles.removeWhere((element) => element.id == id);
+          //TODO: Call Api Here To Load Family Members
+          getFamilyFiles(status: 0);
+          getAllPendingRecordsByResponseId();
+          LoaderBottomSheet.hideLoader();
+          onFamilyFileTabChange(0);
+        }
+      },
+    );
+  }
 }
diff --git a/lib/features/medical_file/models/family_file_response_model.dart b/lib/features/medical_file/models/family_file_response_model.dart
index 82fe3d8..f4aa557 100644
--- a/lib/features/medical_file/models/family_file_response_model.dart
+++ b/lib/features/medical_file/models/family_file_response_model.dart
@@ -23,83 +23,90 @@ class FamilyFileResponseModelLists {
   String? patientIdenficationNumber;
   String? patientName;
   String? statusDescription;
+  bool? isSuperUser = false;
+  bool? isRequestFromMySide;
 
-  FamilyFileResponseModelLists({
-    this.id,
-    this.patientId,
-    this.responseId,
-    this.relationshipId,
-    this.relationship,
-    this.relationshipN,
-    this.regionId,
-    this.familyRegionId,
-    this.status,
-    this.isActive,
-    this.editedOn,
-    this.createdOn,
-    this.age,
-    this.emaiLAddress,
-    this.gender,
-    this.genderDescription,
-    this.genderImage,
-    this.mobileNumber,
-    this.patientDataVerified,
-    this.patientIdenficationNumber,
-    this.patientName,
-    this.statusDescription,
-  });
+  FamilyFileResponseModelLists(
+      {this.id,
+      this.patientId,
+      this.responseId,
+      this.relationshipId,
+      this.relationship,
+      this.relationshipN,
+      this.regionId,
+      this.familyRegionId,
+      this.status,
+      this.isActive,
+      this.editedOn,
+      this.createdOn,
+      this.age,
+      this.emaiLAddress,
+      this.gender,
+      this.genderDescription,
+      this.genderImage,
+      this.mobileNumber,
+      this.patientDataVerified,
+      this.patientIdenficationNumber,
+      this.patientName,
+      this.statusDescription,
+      this.isSuperUser,
+      this.isRequestFromMySide});
 
   factory FamilyFileResponseModelLists.fromRawJson(String str) => FamilyFileResponseModelLists.fromJson(json.decode(str));
 
   String toRawJson() => json.encode(toJson());
 
   factory FamilyFileResponseModelLists.fromJson(Map json) => FamilyFileResponseModelLists(
-    id: json["ID"],
-    patientId: json["PatientID"],
-    responseId: json["ResponseID"],
-    relationshipId: json["RelationshipID"],
-    relationship: json["Relationship"],
-    relationshipN: json["RelationshipN"],
-    regionId: json["RegionID"],
-    familyRegionId: json["FamilyRegionID"],
-    status: json["Status"],
-    isActive: json["IsActive"],
-    editedOn: json["EditedOn"],
-    createdOn: json["CreatedOn"],
-    age: json["Age"],
-    emaiLAddress: json["EmaiLAddress"],
-    gender: json["Gender"],
-    genderDescription: json["GenderDescription"],
-    genderImage: json["GenderImage"],
-    mobileNumber: json["MobileNumber"],
-    patientDataVerified: json["PatientDataVerified"],
-    patientIdenficationNumber: json["PatientIdenficationNumber"],
-    patientName: json["PatientName"],
-    statusDescription: json["StatusDescription"],
-  );
+        id: json["ID"],
+        patientId: json["PatientID"],
+        responseId: json["ResponseID"],
+        relationshipId: json["RelationshipID"],
+        relationship: json["Relationship"],
+        relationshipN: json["RelationshipN"],
+        regionId: json["RegionID"],
+        familyRegionId: json["FamilyRegionID"],
+        status: json["Status"],
+        isActive: json["IsActive"],
+        editedOn: json["EditedOn"],
+        createdOn: json["CreatedOn"],
+        age: json["Age"],
+        emaiLAddress: json["EmaiLAddress"],
+        gender: json["Gender"],
+        genderDescription: json["GenderDescription"],
+        genderImage: json["GenderImage"],
+        mobileNumber: json["MobileNumber"],
+        patientDataVerified: json["PatientDataVerified"],
+        patientIdenficationNumber: json["PatientIdenficationNumber"],
+        patientName: json["PatientName"],
+        statusDescription: json["StatusDescription"],
+        isSuperUser: json["isSuperUser"] ?? false,
+        isRequestFromMySide: json["isRequestFromMySide"] ?? false,
+      );
 
   Map toJson() => {
-    "ID": id,
-    "PatientID": patientId,
-    "ResponseID": responseId,
-    "RelationshipID": relationshipId,
-    "Relationship": relationship,
-    "RelationshipN": relationshipN,
-    "RegionID": regionId,
-    "FamilyRegionID": familyRegionId,
-    "Status": status,
-    "IsActive": isActive,
-    "EditedOn": editedOn,
-    "CreatedOn": createdOn,
-    "Age": age,
-    "EmaiLAddress": emaiLAddress,
-    "Gender": gender,
-    "GenderDescription": genderDescription,
-    "GenderImage": genderImage,
-    "MobileNumber": mobileNumber,
-    "PatientDataVerified": patientDataVerified,
-    "PatientIdenficationNumber": patientIdenficationNumber,
-    "PatientName": patientName,
-    "StatusDescription": statusDescription,
-  };
+        "ID": id,
+        "PatientID": patientId,
+        "ResponseID": responseId,
+        "RelationshipID": relationshipId,
+        "Relationship": relationship,
+        "RelationshipN": relationshipN,
+        "RegionID": regionId,
+        "FamilyRegionID": familyRegionId,
+        "Status": status,
+        "IsActive": isActive,
+        "EditedOn": editedOn,
+        "CreatedOn": createdOn,
+        "Age": age,
+        "EmaiLAddress": emaiLAddress,
+        "Gender": gender,
+        "GenderDescription": genderDescription,
+        "GenderImage": genderImage,
+        "MobileNumber": mobileNumber,
+        "PatientDataVerified": patientDataVerified,
+        "PatientIdenficationNumber": patientIdenficationNumber,
+        "PatientName": patientName,
+        "StatusDescription": statusDescription,
+        "isSuperUser": isSuperUser,
+        "isRequestFromMySide": isRequestFromMySide,
+      };
 }
diff --git a/lib/presentation/home/landing_page.dart b/lib/presentation/home/landing_page.dart
index cb2f76f..da19747 100644
--- a/lib/presentation/home/landing_page.dart
+++ b/lib/presentation/home/landing_page.dart
@@ -16,6 +16,7 @@ import 'package:hmg_patient_app_new/extensions/string_extensions.dart';
 import 'package:hmg_patient_app_new/extensions/widget_extensions.dart';
 import 'package:hmg_patient_app_new/features/authentication/authentication_view_model.dart';
 import 'package:hmg_patient_app_new/features/habib_wallet/habib_wallet_view_model.dart';
+import 'package:hmg_patient_app_new/features/medical_file/medical_file_view_model.dart';
 import 'package:hmg_patient_app_new/features/my_appointments/models/resp_models/patient_appointment_history_response_model.dart';
 import 'package:hmg_patient_app_new/features/my_appointments/my_appointments_view_model.dart';
 import 'package:hmg_patient_app_new/features/prescriptions/prescriptions_view_model.dart';
@@ -81,6 +82,7 @@ class _LandingPageState extends State {
         myAppointmentsViewModel.getPatientAppointments(true, false);
         myAppointmentsViewModel.getPatientMyDoctors();
         prescriptionsViewModel.initPrescriptionsViewModel();
+
       }
     });
     super.initState();
diff --git a/lib/presentation/medical_file/medical_file_page.dart b/lib/presentation/medical_file/medical_file_page.dart
index 4b5259f..b87d657 100644
--- a/lib/presentation/medical_file/medical_file_page.dart
+++ b/lib/presentation/medical_file/medical_file_page.dart
@@ -29,6 +29,7 @@ import 'package:hmg_patient_app_new/presentation/book_appointment/book_appointme
 import 'package:hmg_patient_app_new/presentation/book_appointment/widgets/appointment_calendar.dart';
 import 'package:hmg_patient_app_new/presentation/insurance/insurance_home_page.dart';
 import 'package:hmg_patient_app_new/presentation/insurance/widgets/patient_insurance_card.dart';
+import 'package:hmg_patient_app_new/services/dialog_service.dart';
 import 'package:hmg_patient_app_new/widgets/appbar/collapsing_list_view.dart';
 import 'package:hmg_patient_app_new/presentation/medical_file/medical_reports_page.dart';
 import 'package:hmg_patient_app_new/presentation/medical_file/patient_sickleaves_list_page.dart';
@@ -80,7 +81,7 @@ class _MedicalFilePageState extends State {
         medicalFileViewModel.setIsPatientSickLeaveListLoading(true);
         medicalFileViewModel.getPatientSickLeaveList();
         if (appState.getSuperUserID == null) {
-          medicalFileViewModel.getFamilyFiles(status: 3); //TODO:  Remove status: 1 by Aamir Need to Discuss With Sultan
+          medicalFileViewModel.getFamilyFiles(status: 0); //TODO:  Remove status: 1 by Aamir Need to Discuss With Sultan
           medicalFileViewModel.getAllPendingRecordsByResponseId(); //TODO:  Added By Aamir
         }
 
@@ -97,121 +98,139 @@ class _MedicalFilePageState extends State {
     medicalFileViewModel = Provider.of(context, listen: false);
     bookAppointmentsViewModel = Provider.of(context, listen: false);
     NavigationService navigationService = getIt.get();
-    return Scaffold(
-      backgroundColor: AppColors.bgScaffoldColor,
-      body: CollapsingListView(
-        title: LocaleKeys.medicalFile.tr(context: context),
-        isLeading: false,
-        child: SingleChildScrollView(
-          child: Column(
-            crossAxisAlignment: CrossAxisAlignment.start,
-            children: [
-              SizedBox(height: 16.h),
-              TextInputWidget(
-                labelText: LocaleKeys.search.tr(context: context),
-                hintText: "Type any record",
-                controller: TextEditingController(),
-                keyboardType: TextInputType.number,
-                isEnable: true,
-                prefix: null,
-                autoFocus: false,
-                isBorderAllowed: false,
-                isAllowLeadingIcon: true,
-                padding: EdgeInsets.symmetric(vertical: 8.h, horizontal: 8.h),
-                leadingIcon: AppAssets.student_card,
-              ).paddingSymmetrical(24.h, 0.0),
-              SizedBox(height: 16.h),
-              Container(
-                width: double.infinity,
-                decoration: RoundedRectangleBorder().toSmoothCornerDecoration(color: AppColors.whiteColor, borderRadius: 24),
-                child: Padding(
-                  padding: EdgeInsets.all(16.h),
-                  child: Column(
-                    crossAxisAlignment: CrossAxisAlignment.start,
-                    children: [
-                      Row(
-                        crossAxisAlignment: CrossAxisAlignment.start,
-                        children: [
-                          Image.asset(appState.getAuthenticatedUser()?.gender == 1 ? AppAssets.male_img : AppAssets.femaleImg, width: 56.h, height: 56.h),
-                          SizedBox(width: 8.h),
-                          Column(
-                            crossAxisAlignment: CrossAxisAlignment.start,
-                            children: [
-                              "${appState.getAuthenticatedUser()!.firstName} ${appState.getAuthenticatedUser()!.lastName}".toText18(isBold: true),
-                              SizedBox(height: 4.h),
-                              Wrap(
-                                direction: Axis.horizontal,
-                                spacing: 4.h,
-                                runSpacing: 4.h,
-                                children: [
-                                  AppCustomChipWidget(
-                                    icon: AppAssets.file_icon,
-                                    labelText: "${LocaleKeys.fileNo.tr(context: context)}: ${appState.getAuthenticatedUser()!.patientId}",
-                                    onChipTap: () {
-                                      navigationService.pushPage(
-                                          page: FamilyMedicalScreen(
-                                        profiles: medicalFileViewModel.patientFamilyFiles,
-                                        onSelect: (FamilyFileResponseModelLists p1) {},
-                                      ));
-                                    },
-                                  ),
-                                  AppCustomChipWidget(
-                                    icon: AppAssets.checkmark_icon,
-                                    labelText: LocaleKeys.verified.tr(context: context),
-                                    iconColor: AppColors.successColor,
-                                  ),
-                                ],
-                              ),
-                            ],
-                          )
-                        ],
-                      ),
-                      SizedBox(height: 16.h),
-                      Divider(color: AppColors.dividerColor, height: 1.h),
-                      SizedBox(height: 16.h),
-                      Wrap(
-                        direction: Axis.horizontal,
-                        spacing: 4.h,
-                        runSpacing: 4.h,
-                        children: [
-                          AppCustomChipWidget(
-                            labelText: "${appState.getAuthenticatedUser()!.age} Years Old",
-                          ),
-                          AppCustomChipWidget(
-                            icon: AppAssets.blood_icon,
-                            labelText: "${LocaleKeys.bloodType.tr(context: context)}: ${appState.getUserBloodGroup}",
-                            iconColor: AppColors.primaryRedColor,
-                          ),
-                        ],
-                      ),
-                    ],
-                  ),
-                ),
-              ).paddingSymmetrical(24.h, 0.0),
-              SizedBox(height: 16.h),
-              Consumer(builder: (context, medicalFileVM, child) {
-                return Column(
+    return CollapsingListView(
+      title: "Medical File".needTranslation,
+      trailing: Row(
+        children: [
+          Wrap(spacing: -15, children: [
+            Utils.buildImgWithAssets(icon: AppAssets.babyGirlImg, width: 32.h, height: 32.h, border: 1.5.h, borderRadius: 50.h),
+            Utils.buildImgWithAssets(icon: AppAssets.femaleImg, width: 32.h, height: 32.h, border: 1.5.h, borderRadius: 50.h),
+            Utils.buildImgWithAssets(icon: AppAssets.male_img, width: 32.h, height: 32.h, border: 1.5.h, borderRadius: 50.h),
+          ]),
+          SizedBox(width: 4.h),
+          Utils.buildSvgWithAssets(icon: AppAssets.arrow_down)
+        ],
+      ).onPress(() {
+        DialogService dialogService = getIt.get();
+        dialogService.showFamilyBottomSheetWithoutH(
+            label: "Who do you want to book for?".needTranslation,
+            message: "This clinic or doctor is only available for the below eligible profiles.".needTranslation,
+            onSwitchPress: (FamilyFileResponseModelLists profile) {
+              medicalFileViewModel.switchFamilyFiles(responseID: profile.responseId, patientID: profile.patientId, phoneNumber: profile.mobileNumber);
+            },
+            profiles: medicalFileViewModel.patientFamilyFiles);
+      }),
+      isLeading: false,
+      child: SingleChildScrollView(
+        child: Column(
+          crossAxisAlignment: CrossAxisAlignment.start,
+          children: [
+            SizedBox(height: 16.h),
+            TextInputWidget(
+              labelText: LocaleKeys.search.tr(context: context),
+              hintText: "Type any record".needTranslation,
+              controller: TextEditingController(),
+              keyboardType: TextInputType.number,
+              isEnable: true,
+              prefix: null,
+              autoFocus: false,
+              isBorderAllowed: false,
+              isAllowLeadingIcon: true,
+              padding: EdgeInsets.symmetric(vertical: 8.h, horizontal: 8.h),
+              leadingIcon: AppAssets.student_card,
+            ).paddingSymmetrical(24.h, 0.0),
+            SizedBox(height: 16.h),
+            Container(
+              width: double.infinity,
+              decoration: RoundedRectangleBorder().toSmoothCornerDecoration(color: AppColors.whiteColor, borderRadius: 24),
+              child: Padding(
+                padding: EdgeInsets.all(16.h),
+                child: Column(
+                  crossAxisAlignment: CrossAxisAlignment.start,
                   children: [
-                    CustomTabBar(
-                      activeTextColor: Color(0xffED1C2B),
-                      activeBackgroundColor: Color(0xffED1C2B).withValues(alpha: .1),
-                      tabs: [
-                        CustomTabBarModel(AppAssets.myFilesBottom, LocaleKeys.general.tr(context: context).needTranslation),
-                        CustomTabBarModel(AppAssets.insurance, LocaleKeys.insurance.tr(context: context)),
-                        CustomTabBarModel(AppAssets.requests, LocaleKeys.request.tr(context: context).needTranslation),
-                        CustomTabBarModel(AppAssets.more, "More".needTranslation),
+                    Row(
+                      crossAxisAlignment: CrossAxisAlignment.start,
+                      children: [
+                        Image.asset(appState.getAuthenticatedUser()?.gender == 1 ? AppAssets.male_img : AppAssets.femaleImg, width: 56.h, height: 56.h),
+                        SizedBox(width: 8.h),
+                        Column(
+                          crossAxisAlignment: CrossAxisAlignment.start,
+                          children: [
+                            "${appState.getAuthenticatedUser()!.firstName} ${appState.getAuthenticatedUser()!.lastName}"
+                                .toText18(isBold: true, weight: FontWeight.w600, textOverflow: TextOverflow.ellipsis, maxlines: 1),
+                            SizedBox(height: 4.h),
+                            Wrap(
+                              direction: Axis.horizontal,
+                              spacing: 4.h,
+                              runSpacing: 4.h,
+                              children: [
+                                AppCustomChipWidget(
+                                  icon: AppAssets.file_icon,
+                                  labelText: "${LocaleKeys.fileNo.tr(context: context)}: ${appState.getAuthenticatedUser()!.patientId}",
+                                  onChipTap: () {
+                                    navigationService.pushPage(
+                                        page: FamilyMedicalScreen(
+                                      profiles: medicalFileViewModel.patientFamilyFiles,
+                                      onSelect: (FamilyFileResponseModelLists p1) {},
+                                    ));
+                                  },
+                                ),
+                                AppCustomChipWidget(
+                                  icon: AppAssets.checkmark_icon,
+                                  labelText: LocaleKeys.verified.tr(context: context),
+                                  iconColor: AppColors.successColor,
+                                ),
+                              ],
+                            ),
+                          ],
+                        )
+                      ],
+                    ),
+                    SizedBox(height: 16.h),
+                    Divider(color: AppColors.dividerColor, height: 1.h),
+                    SizedBox(height: 16.h),
+                    Wrap(
+                      direction: Axis.horizontal,
+                      spacing: 4.h,
+                      runSpacing: 4.h,
+                      children: [
+                        AppCustomChipWidget(
+                          labelText: "${appState.getAuthenticatedUser()!.age} Years Old",
+                        ),
+                        AppCustomChipWidget(
+                          icon: AppAssets.blood_icon,
+                          labelText: "${LocaleKeys.bloodType.tr(context: context)}: ${appState.getUserBloodGroup}",
+                          iconColor: AppColors.primaryRedColor,
+                        ),
                       ],
-                      onTabChange: (index) {
-                        medicalFileVM.onTabChanged(index);
-                      },
-                    ).paddingSymmetrical(24.h, 0.0),
-                    SizedBox(height: 24.h),
-                    getSelectedTabData(medicalFileVM.selectedTabIndex),
+                    ),
                   ],
-                );
-              }),
-            ],
-          ),
+                ),
+              ),
+            ).paddingSymmetrical(24.h, 0.0),
+            SizedBox(height: 16.h),
+            Consumer(builder: (context, medicalFileVM, child) {
+              return Column(
+                children: [
+                  CustomTabBar(
+                    activeTextColor: Color(0xffED1C2B),
+                    activeBackgroundColor: Color(0xffED1C2B).withValues(alpha: .1),
+                    tabs: [
+                      CustomTabBarModel(AppAssets.myFilesBottom, LocaleKeys.general.tr(context: context).needTranslation),
+                      CustomTabBarModel(AppAssets.insurance, LocaleKeys.insurance.tr(context: context)),
+                      CustomTabBarModel(AppAssets.requests, LocaleKeys.request.tr(context: context).needTranslation),
+                      CustomTabBarModel(AppAssets.more, "More".needTranslation),
+                    ],
+                    onTabChange: (index) {
+                      medicalFileVM.onTabChanged(index);
+                    },
+                  ).paddingSymmetrical(24.h, 0.0),
+                  SizedBox(height: 24.h),
+                  getSelectedTabData(medicalFileVM.selectedTabIndex),
+                ],
+              );
+            }),
+          ],
         ),
       ),
     );
@@ -576,28 +595,28 @@ class _MedicalFilePageState extends State {
                                   horizontalOffset: 100.0,
                                   child: FadeInAnimation(
                                     child: SizedBox(
-                                  width: 80.h,
-                                  child: Column(
-                                    crossAxisAlignment: CrossAxisAlignment.center,
-                                    children: [
-                                      Image.network(
-                                        myAppointmentsVM.patientMyDoctorsList[index].doctorImageURL!,
-                                        width: 64.h,
-                                        height: 64.h,
-                                        fit: BoxFit.fill,
-                                      ).circle(100).toShimmer2(isShow: false, radius: 50.h),
-                                      SizedBox(height: 8.h),
-                                      Expanded(
-                                        child: (myAppointmentsVM.patientMyDoctorsList[index].doctorName)
-                                            .toString()
-                                            .toText12(fontWeight: FontWeight.w500, isCenter: true, maxLine: 2)
-                                            .toShimmer2(isShow: false),
+                                      width: 80.h,
+                                      child: Column(
+                                        crossAxisAlignment: CrossAxisAlignment.center,
+                                        children: [
+                                          Image.network(
+                                            myAppointmentsVM.patientMyDoctorsList[index].doctorImageURL!,
+                                            width: 64.h,
+                                            height: 64.h,
+                                            fit: BoxFit.fill,
+                                          ).circle(100).toShimmer2(isShow: false, radius: 50.h),
+                                          SizedBox(height: 8.h),
+                                          Expanded(
+                                            child: (myAppointmentsVM.patientMyDoctorsList[index].doctorName)
+                                                .toString()
+                                                .toText12(fontWeight: FontWeight.w500, isCenter: true, maxLine: 2)
+                                                .toShimmer2(isShow: false),
+                                          ),
+                                        ],
                                       ),
-                                    ],
+                                    ),
                                   ),
                                 ),
-                              ),
-                            ),
                               )
                             : Utils.getNoDataWidget(context, noDataText: "You don't have any completed visits yet.".needTranslation, isSmallWidget: true, width: 62, height: 62)
                                 .paddingSymmetrical(24.h, 0.h);
diff --git a/lib/presentation/my_family/my_family.dart b/lib/presentation/my_family/my_family.dart
index a2bcfaa..7de92f4 100644
--- a/lib/presentation/my_family/my_family.dart
+++ b/lib/presentation/my_family/my_family.dart
@@ -1,7 +1,10 @@
+import 'dart:convert';
+
 import 'package:easy_localization/easy_localization.dart';
 import 'package:flutter/material.dart';
 import 'package:hmg_patient_app_new/core/app_assets.dart';
 import 'package:hmg_patient_app_new/core/app_export.dart';
+import 'package:hmg_patient_app_new/core/app_state.dart';
 import 'package:hmg_patient_app_new/core/dependencies.dart';
 import 'package:hmg_patient_app_new/core/enums.dart';
 import 'package:hmg_patient_app_new/core/utils/validation_utils.dart';
@@ -11,10 +14,10 @@ import 'package:hmg_patient_app_new/features/authentication/authentication_view_
 import 'package:hmg_patient_app_new/features/medical_file/medical_file_view_model.dart';
 import 'package:hmg_patient_app_new/features/medical_file/models/family_file_response_model.dart';
 import 'package:hmg_patient_app_new/generated/locale_keys.g.dart';
-import 'package:hmg_patient_app_new/presentation/lab/collapsing_list_view.dart';
 import 'package:hmg_patient_app_new/presentation/my_family/widget/family_cards.dart';
+import 'package:hmg_patient_app_new/services/dialog_service.dart';
 import 'package:hmg_patient_app_new/theme/colors.dart';
-import 'package:hmg_patient_app_new/widgets/appbar/app_bar_widget.dart';
+import 'package:hmg_patient_app_new/widgets/appbar/collapsing_list_view.dart';
 import 'package:hmg_patient_app_new/widgets/buttons/custom_button.dart';
 import 'package:hmg_patient_app_new/widgets/common_bottom_sheet.dart';
 import 'package:hmg_patient_app_new/widgets/custom_tab_bar.dart';
@@ -48,100 +51,75 @@ class _FamilyMedicalScreenState extends State {
 
   @override
   Widget build(BuildContext context) {
-    return Scaffold(
-      body: CollapsingListView(
-          title: "My Medical File".needTranslation,
-          child: Column(
-            mainAxisSize: MainAxisSize.min,
-            crossAxisAlignment: CrossAxisAlignment.start,
-            children: [
-              CustomTabBar(
-                tabs: tabs,
-                onTabChange: (index) {
-                  medicalVM!.onFamilyFileTabChange(index);
-                },
+    AppState appState = getIt.get();
+    return CollapsingListView(
+      title: "My Medical File".needTranslation,
+      bottomChild: appState.getAuthenticatedUser()!.isParentUser!
+          ? Container(
+              decoration: RoundedRectangleBorder().toSmoothCornerDecoration(
+                color: AppColors.whiteColor,
+                customBorder: BorderRadius.only(topLeft: Radius.circular(24), topRight: Radius.circular(24)),
               ),
-              SizedBox(height: 25.h),
-              Consumer(builder: (context, medicalVM, child) => getFamilyTabs(index: medicalVM.getSelectedFamilyFileTabIndex)),
-              SizedBox(height: 20.h),
-            ],
-          ).paddingSymmetrical(20, 0)),
-      bottomSheet: Container(
-          decoration: RoundedRectangleBorder().toSmoothCornerDecoration(
-            color: AppColors.whiteColor,
-            customBorder: BorderRadius.only(topLeft: Radius.circular(24), topRight: Radius.circular(24)),
+              padding: EdgeInsets.symmetric(vertical: 10.h, horizontal: 20.h),
+              child: CustomButton(
+                  text: "Add a new family member".needTranslation,
+                  onPressed: () {
+                    DialogService dialogService = getIt.get();
+                    dialogService.showAddFamilyFileSheet(
+                        label: "Add Family Member".needTranslation,
+                        message: "Please fill the below field to add a new family member to your profile".needTranslation,
+                        onVerificationPress: () {
+                          medicalVM?.addFamilyFile(otpTypeEnum: OTPTypeEnum.sms, isExcludedUser: true);
+                        });
+                  },
+                  icon: AppAssets.add_icon,
+                  height: 56.h,
+                  fontWeight: FontWeight.w600))
+          : SizedBox(),
+      child: Column(
+        mainAxisSize: MainAxisSize.min,
+        crossAxisAlignment: CrossAxisAlignment.start,
+        children: [
+          CustomTabBar(
+            tabs: tabs,
+            onTabChange: (index) {
+              medicalVM!.onFamilyFileTabChange(index);
+            },
           ),
-          padding: EdgeInsets.symmetric(vertical: 10.h, horizontal: 20.h),
-          child: CustomButton(
-              text: "Add a new family member",
-              onPressed: () {
-                showModelSheet();
-              },
-              icon: AppAssets.add_icon,
-              height: 56.h,
-              fontWeight: FontWeight.w600)),
+          SizedBox(height: 25.h),
+          Consumer(builder: (context, medicalVM, child) => getFamilyTabs(index: medicalVM.getSelectedFamilyFileTabIndex)),
+          SizedBox(height: 20.h),
+        ],
+      ).paddingSymmetrical(20, 0),
     );
-    // return Scaffold(
-    //   backgroundColor: AppColors.scaffoldBgColor,
-    //   appBar: CustomAppBar(
-    //     onBackPressed: () {
-    //       Navigator.of(context).pop();
-    //     },
-    //     onLanguageChanged: (lang) {},
-    //     hideLogoAndLang: true,
-    //   ),
-    //   body: SingleChildScrollView(
-    //     child: Column(
-    //       mainAxisSize: MainAxisSize.min,
-    //       crossAxisAlignment: CrossAxisAlignment.start,
-    //       children: [
-    //         LocaleKeys.myMedicalFile.tr().toText26(color: AppColors.textColor, weight: FontWeight.w600, letterSpacing: -2),
-    //         SizedBox(height: 25.h),
-    //         CustomTabBar(
-    //           tabs: tabs,
-    //           onTabChange: (index) {
-    //             medicalVM!.onFamilyFileTabChange(index);
-    //           },
-    //         ),
-    //         SizedBox(height: 25.h),
-    //         Consumer(builder: (context, medicalVM, child) => getFamilyTabs(index: medicalVM.getSelectedFamilyFileTabIndex)),
-    //         SizedBox(height: 20.h),
-    //       ],
-    //     ).paddingSymmetrical(20, 0),
-    //   ),
-    //   bottomSheet: Container(
-    //       decoration: RoundedRectangleBorder().toSmoothCornerDecoration(
-    //         color: AppColors.whiteColor,
-    //         customBorder: BorderRadius.only(topLeft: Radius.circular(24), topRight: Radius.circular(24)),
-    //       ),
-    //       padding: EdgeInsets.symmetric(vertical: 10.h, horizontal: 20.h),
-    //       child: CustomButton(
-    //         text: "Add a new family member",
-    //         onPressed: () {
-    //           showModelSheet();
-    //         },
-    //         icon: AppAssets.add_icon,
-    //         height: 56.h,
-    //         fontWeight: FontWeight.w600,
-    //       )),
-    // );
   }
 
   Widget getFamilyTabs({required int index}) {
     switch (index) {
       case 0:
+        print(jsonEncode(medicalVM!.patientFamilyFiles));
         return FamilyCards(
           profiles: medicalVM!.patientFamilyFiles,
           onSelect: (FamilyFileResponseModelLists profile) {
             medicalVM!.switchFamilyFiles(responseID: profile.responseId, patientID: profile.patientId, phoneNumber: profile.mobileNumber);
           },
+          onRemove: (FamilyFileResponseModelLists profile) {
+            medicalVM!.removeFileFromFamilyMembers(id: profile.id);
+          },
+          isLeftAligned: true,
           isShowDetails: true,
+          isShowRemoveButton: true,
         );
       case 1:
+        print(jsonEncode(medicalVM!.pendingFamilyFiles));
         return FamilyCards(
           profiles: medicalVM!.pendingFamilyFiles,
+          isRequestDesign: true,
           onSelect: (FamilyFileResponseModelLists profile) {
-            // medicalVM!.switchFamilyFiles(responseID: profile.responseId, patientID: profile.patientId, phoneNumber: profile.mobileNumber);
+            medicalVM!.acceptRejectFileFromFamilyMembers(id: profile.id, status: 3);
+          },
+          onRemove: (FamilyFileResponseModelLists profile) {
+            medicalVM!.acceptRejectFileFromFamilyMembers(id: profile.id, status: 4);
           },
           isShowDetails: true,
         );
@@ -149,85 +127,4 @@ class _FamilyMedicalScreenState extends State {
         return SizedBox.shrink();
     }
   }
-
-  Future showModelSheet() async {
-    AuthenticationViewModel authVm = getIt.get();
-    return await showCommonBottomSheetWithoutHeight(context,
-        title: "Add Family Member",
-        useSafeArea: true,
-        child: Column(
-          crossAxisAlignment: CrossAxisAlignment.start,
-          mainAxisAlignment: MainAxisAlignment.start,
-          mainAxisSize: MainAxisSize.min,
-          children: [
-            "Please fill the below field to add a new family member to your profile".toText16(color: AppColors.textColor, weight: FontWeight.w500),
-            SizedBox(height: 20.h),
-            Container(
-              decoration: BoxDecoration(color: Colors.white, borderRadius: BorderRadius.circular(24)),
-              padding: EdgeInsets.symmetric(horizontal: 16.h, vertical: 8.h),
-              child: Column(
-                children: [
-                  CustomCountryDropdown(
-                    countryList: CountryEnum.values,
-                    onCountryChange: authVm.onCountryChange,
-                  ).paddingOnly(top: 8.h, bottom: 16.h),
-                  Divider(height: 1.h, color: AppColors.spacerLineColor),
-                  TextInputWidget(
-                    labelText: LocaleKeys.nationalIdNumber.tr(),
-                    hintText: "xxxxxxxxx",
-                    controller: authVm.nationalIdController,
-                    // focusNode: _nationalIdFocusNode,
-                    isEnable: true,
-                    prefix: null,
-                    isAllowRadius: true,
-                    isBorderAllowed: false,
-                    isAllowLeadingIcon: true,
-                    autoFocus: true,
-                    keyboardType: TextInputType.number,
-                    padding: EdgeInsets.symmetric(vertical: 8.h),
-                    leadingIcon: AppAssets.student_card,
-                  ).paddingOnly(top: 8.h, bottom: 8.h),
-                  Divider(height: 1.h, color: AppColors.spacerLineColor),
-                  TextInputWidget(
-                    labelText: LocaleKeys.phoneNumber.tr(),
-                    hintText: "",
-                    controller: authVm.phoneNumberController,
-                    isEnable: true,
-                    prefix: authVm.selectedCountrySignup.countryCode,
-                    isAllowRadius: true,
-                    isBorderAllowed: false,
-                    isAllowLeadingIcon: true,
-                    autoFocus: true,
-                    keyboardType: TextInputType.number,
-                    padding: EdgeInsets.symmetric(vertical: 8.h),
-                    leadingIcon: AppAssets.smart_phone,
-                  ).paddingOnly(top: 8.h, bottom: 4.h),
-                ],
-              ),
-            ),
-            SizedBox(height: 20.h),
-            CustomButton(
-                text: "Verify the member",
-                onPressed: () {
-                  FocusScope.of(context).unfocus();
-                  if (ValidationUtils.isValidatedIdAndPhoneWithCountryValidation(
-                    nationalId: authVm.nationalIdController.text,
-                    selectedCountry: authVm.selectedCountrySignup,
-                    phoneNumber: authVm.phoneNumberController.text,
-                    onOkPress: () {
-                      Navigator.of(context).pop();
-                    },
-                  )) {
-                    // authVm.addFamilyMember(otpTypeEnum: OTPTypeEnum.sms, isExcludedUser: true);
-                    medicalVM?.addFamilyFile(otpTypeEnum: OTPTypeEnum.sms, isExcludedUser: true);
-                  }
-                },
-                icon: AppAssets.add_icon,
-                height: 56.h,
-                fontWeight: FontWeight.w600),
-            SizedBox(height: 20.h),
-          ],
-        ),
-        callBackFunc: () {});
-  }
 }
diff --git a/lib/presentation/my_family/widget/family_cards.dart b/lib/presentation/my_family/widget/family_cards.dart
index 3916756..166b06d 100644
--- a/lib/presentation/my_family/widget/family_cards.dart
+++ b/lib/presentation/my_family/widget/family_cards.dart
@@ -17,10 +17,23 @@ import 'package:hmg_patient_app_new/widgets/chip/custom_chip_widget.dart';
 class FamilyCards extends StatefulWidget {
   final List profiles;
   final Function(FamilyFileResponseModelLists) onSelect;
+  final Function(FamilyFileResponseModelLists) onRemove;
   final bool isShowDetails;
   final bool isBottomSheet;
+  final bool isRequestDesign;
+  final bool isLeftAligned;
+  final bool isShowRemoveButton;
 
-  const FamilyCards({super.key, required this.profiles, required this.onSelect, this.isShowDetails = false, this.isBottomSheet = false});
+  const FamilyCards(
+      {super.key,
+      required this.profiles,
+      required this.onSelect,
+      required this.onRemove,
+      this.isShowDetails = false,
+      this.isBottomSheet = false,
+      this.isRequestDesign = false,
+      this.isLeftAligned = false,
+      this.isShowRemoveButton = false});
 
   @override
   State createState() => _FamilyCardsState();
@@ -29,91 +42,315 @@ class FamilyCards extends StatefulWidget {
 class _FamilyCardsState extends State {
   AppState appState = getIt();
 
+  // bool isShowActions = true;
+
   @override
   Widget build(BuildContext context) {
-    return GridView.builder(
-      shrinkWrap: true,
-      physics: NeverScrollableScrollPhysics(),
-      itemCount: widget.profiles.length,
-      gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
-        crossAxisCount: 2,
-        crossAxisSpacing: 10.h,
-        mainAxisSpacing: 10.h,
-        childAspectRatio: widget.isShowDetails ? 0.56.h : 0.74.h,
-      ),
-      padding: EdgeInsets.only(bottom: 80.h),
-      itemBuilder: (context, index) {
-        final profile = widget.profiles[index];
-        final isActive = (profile.responseId == appState.getAuthenticatedUser()?.patientId);
-        return Container(
-          padding: EdgeInsets.symmetric(vertical: 15.h, horizontal: 15.h),
-          decoration: RoundedRectangleBorder().toSmoothCornerDecoration(color: AppColors.whiteColor, borderRadius: 24),
-          child: Opacity(
-            opacity: isActive || profile.status == FamilyFileEnum.pending.toInt ? 0.4 : 1.0, // Fade all content if active
-            child: Column(
-              mainAxisSize: MainAxisSize.min,
-              children: [
-                SizedBox(height: 5.h),
-                Utils.buildImgWithAssets(
-                    icon: profile.gender == null
-                        ? AppAssets.dummy_user
-                        : profile.gender == 1
-                            ? ((profile.age ?? 0) < 7 ? AppAssets.babyBoyImg : AppAssets.male_img)
-                            : (profile.age! < 7 ? AppAssets.babyGirlImg : AppAssets.femaleImg),
-                    width: 80.h,
-                    height: 78.h),
-                SizedBox(height: 8.h),
-                (profile.patientName ?? "Unknown").toText16(isBold: false, isCenter: true, maxlines: 1, weight: FontWeight.w600),
-                SizedBox(height: 4.h),
-                CustomChipWidget(
-                    chipType: ChipTypeEnum.alert,
-                    backgroundColor: AppColors.lightGrayBGColor,
-                    chipText: "Relation: ${profile.relationship ?? "N/A"}",
-                    iconAsset: AppAssets.heart,
-                    isShowBorder: false,
-                    borderRadius: 8.h,
-                    textColor: AppColors.textColor),
-                widget.isShowDetails ? SizedBox(height: 4.h) : SizedBox(),
-                widget.isShowDetails
-                    ? CustomChipWidget(
+    if (widget.isRequestDesign) {
+      return Column(
+        children: [
+          Row(
+            children: [
+              Utils.buildSvgWithAssets(icon: AppAssets.alertSquare),
+              SizedBox(width: 8.h),
+              "Sent Requests".needTranslation.toText14(color: AppColors.textColor, isUnderLine: true, weight: FontWeight.w500),
+              SizedBox(width: 4.h),
+              Utils.buildSvgWithAssets(icon: AppAssets.arrowRight),
+            ],
+          ),
+          SizedBox(height: 24.h),
+          ListView.builder(
+            shrinkWrap: true,
+            physics: NeverScrollableScrollPhysics(),
+            padding: EdgeInsets.zero,
+            itemCount: widget.profiles.where((profile) => profile.isRequestFromMySide ?? false).length,
+            itemBuilder: (context, index) {
+              final mySideProfiles = widget.profiles.where((profile) => profile.isRequestFromMySide ?? false).toList();
+              FamilyFileResponseModelLists profile = mySideProfiles[index];
+
+              return Container(
+                margin: EdgeInsets.only(
+                  bottom: 12.h,
+                ),
+                padding: EdgeInsets.symmetric(
+                  vertical: 15.h,
+                  horizontal: 15.h,
+                ),
+                decoration: RoundedRectangleBorder().toSmoothCornerDecoration(color: AppColors.whiteColor, borderRadius: 24),
+                child: Opacity(
+                  opacity: 1.0,
+                  child: Column(
+                    mainAxisSize: MainAxisSize.min,
+                    crossAxisAlignment: CrossAxisAlignment.start,
+                    mainAxisAlignment: MainAxisAlignment.start,
+                    children: [
+                      CustomChipWidget(
+                        height: 30.h,
+                        chipType: ChipTypeEnum.alert,
+                        backgroundColor: profile.status == FamilyFileEnum.pending.toInt
+                            ? AppColors.alertLightColor.withValues(alpha: 0.20)
+                            : profile.status == FamilyFileEnum.rejected.toInt
+                                ? AppColors.primaryRedColor.withValues(alpha: 0.20)
+                                : profile.status == FamilyFileEnum.active.toInt
+                                    ? AppColors.lightGreenColor
+                                    : AppColors.lightGrayBGColor,
+                        chipText: profile.statusDescription ?? "N/A",
+                        iconAsset: null,
+                        isShowBorder: false,
+                        borderRadius: 8.h,
+                        textColor: profile.status == FamilyFileEnum.pending.toInt
+                            ? AppColors.alertLightColor
+                            : profile.status == FamilyFileEnum.rejected.toInt
+                                ? AppColors.primaryRedColor
+                                : profile.status == FamilyFileEnum.active.toInt
+                                    ? AppColors.textGreenColor
+                                    : AppColors.alertColor,
+                      ),
+                      Wrap(
+                        alignment: WrapAlignment.start,
+                        children: [
+                          (profile.patientName ?? "").toText16(
+                            isBold: false,
+                            isCenter: true,
+                            maxlines: 1,
+                            weight: FontWeight.w600,
+                          ),
+                          ("has ${(profile.statusDescription ?? "").toLowerCase()} your family member request").toText14(
+                            isBold: false,
+                            isCenter: true,
+                            maxlines: 1,
+                            weight: FontWeight.w500,
+                            color: AppColors.greyTextColor,
+                          ),
+                        ],
+                      ),
+                      SizedBox(height: 4.h),
+                      CustomChipWidget(
+                        height: 30.h,
                         chipType: ChipTypeEnum.alert,
                         backgroundColor: AppColors.lightGrayBGColor,
-                        chipText: "Age: ${profile.age ?? "N/A"} Years",
+                        chipText: "Medical File: ${profile.responseId ?? "N/A"}",
+                        iconAsset: null,
                         isShowBorder: false,
                         borderRadius: 8.h,
                         textColor: AppColors.textColor,
-                      )
-                    : SizedBox(),
-                widget.isShowDetails ? SizedBox(height: 8.h) : SizedBox(),
-                Spacer(),
-                if (isActive)
-                  CustomButton(
-                    height: 40.h,
-                    onPressed: () {},
-                    text: LocaleKeys.active.tr(),
-                    backgroundColor: Colors.grey.shade200,
-                    borderColor: Colors.grey.shade200,
-                    textColor: AppColors.greyTextColor,
-                    fontSize: 13.h,
-                  ).paddingOnly(top: 0, bottom: 0)
-                else
-                  CustomButton(
-                    height: 40.h,
-                    onPressed: () => widget.onSelect(profile),
-                    text: LocaleKeys.switchAccount.tr(),
-                    backgroundColor: AppColors.secondaryLightRedColor,
-                    borderColor: AppColors.secondaryLightRedColor,
-                    textColor: AppColors.primaryRedColor,
-                    fontSize: 13.h,
-                    icon: widget.isBottomSheet ? null : AppAssets.switch_user,
-                    iconColor: AppColors.primaryRedColor,
-                    padding: EdgeInsets.symmetric(vertical: 0, horizontal: 0),
-                  ).paddingOnly(top: 0, bottom: 0),
+                      ),
+                    ],
+                  ),
+                ),
+              );
+            },
+          ),
+          SizedBox(height: 20.h),
+          if (widget.profiles.where((profile) => !(profile.isRequestFromMySide ?? false)).isNotEmpty)
+            Row(
+              children: [
+                Utils.buildSvgWithAssets(icon: AppAssets.alertSquare),
+                SizedBox(width: 8.h),
+                "Users who want to view your profile".needTranslation.toText14(color: AppColors.textColor, isUnderLine: true, weight: FontWeight.w500),
+                SizedBox(width: 4.h),
+                Utils.buildSvgWithAssets(icon: AppAssets.arrowRight),
               ],
             ),
+
+          // Items for second group (requests from others)
+          ListView.builder(
+            shrinkWrap: true,
+            physics: NeverScrollableScrollPhysics(),
+            itemCount: widget.profiles.where((profile) => !(profile.isRequestFromMySide ?? false)).length,
+            itemBuilder: (context, index) {
+              final otherProfiles = widget.profiles.where((profile) => !(profile.isRequestFromMySide ?? false)).toList();
+              FamilyFileResponseModelLists profile = otherProfiles[index];
+              return Container(
+                margin: EdgeInsets.only(bottom: 12.h),
+                padding: EdgeInsets.symmetric(vertical: 15.h, horizontal: 15.h),
+                decoration: RoundedRectangleBorder().toSmoothCornerDecoration(color: AppColors.whiteColor, borderRadius: 24),
+                child: Opacity(
+                  opacity: 1.0,
+                  child: Column(
+                    mainAxisSize: MainAxisSize.min,
+                    crossAxisAlignment: CrossAxisAlignment.start,
+                    mainAxisAlignment: MainAxisAlignment.start,
+                    children: [
+                      CustomChipWidget(
+                        height: 30.h,
+                        chipType: ChipTypeEnum.alert,
+                        backgroundColor: profile.status == FamilyFileEnum.pending.toInt
+                            ? AppColors.alertLightColor.withValues(alpha: 0.20)
+                            : profile.status == FamilyFileEnum.rejected.toInt
+                                ? AppColors.primaryRedColor.withValues(alpha: 0.20)
+                                : profile.status == FamilyFileEnum.active.toInt
+                                    ? AppColors.lightGreenColor
+                                    : AppColors.lightGrayBGColor,
+                        chipText: profile.statusDescription ?? "N/A",
+                        iconAsset: null,
+                        isShowBorder: false,
+                        borderRadius: 8.h,
+                        textColor: profile.status == FamilyFileEnum.pending.toInt
+                            ? AppColors.alertLightColor
+                            : profile.status == FamilyFileEnum.rejected.toInt
+                                ? AppColors.primaryRedColor
+                                : profile.status == FamilyFileEnum.active.toInt
+                                    ? AppColors.textGreenColor
+                                    : AppColors.alertColor,
+                      ),
+                      Wrap(
+                        alignment: WrapAlignment.start,
+                        children: [
+                          (profile.patientName ?? "").toText16(isBold: false, isCenter: true, maxlines: 1, weight: FontWeight.w600),
+                          (profile.status == FamilyFileEnum.active.toInt ? "can view your family".needTranslation : "wants to add you as their family member".needTranslation).toText14(
+                            isBold: false,
+                            isCenter: true,
+                            maxlines: 1,
+                            weight: FontWeight.w500,
+                            color: AppColors.greyTextColor,
+                          ),
+                        ],
+                      ),
+                      SizedBox(height: 4.h),
+                      CustomChipWidget(
+                        height: 30.h,
+                        chipType: ChipTypeEnum.alert,
+                        backgroundColor: AppColors.lightGrayBGColor,
+                        chipText: "Medical File: ${profile.patientId ?? "N/A".needTranslation}",
+                        iconAsset: null,
+                        isShowBorder: false,
+                        borderRadius: 8.h,
+                        textColor: AppColors.textColor,
+                      ),
+                      SizedBox(height: 16.h),
+                      Row(
+                        children: [
+                          profile.status == FamilyFileEnum.active.toInt
+                              ? SizedBox()
+                              : Expanded(
+                                  child: CustomButton(
+                                    height: 40.h,
+                                    text: LocaleKeys.confirm.tr(),
+                                    onPressed: () {
+                                      widget.onSelect(profile);
+                                    },
+                                    backgroundColor: AppColors.lightGreenButtonColor,
+                                    borderColor: AppColors.lightGreenButtonColor,
+                                    textColor: AppColors.textGreenColor,
+                                    icon: null,
+                                  ),
+                                ),
+                          profile.status == FamilyFileEnum.active.toInt ? SizedBox() : SizedBox(width: 8.h),
+                          Expanded(
+                            child: CustomButton(
+                              height: 40.h,
+                              text: profile.status == FamilyFileEnum.active.toInt ? LocaleKeys.removeMember.tr() : LocaleKeys.cancel.tr(),
+                              onPressed: () {
+                                widget.onRemove(profile);
+                              },
+                              backgroundColor: AppColors.secondaryLightRedColor,
+                              borderColor: AppColors.secondaryLightRedColor,
+                              textColor: AppColors.primaryRedColor,
+                              icon: null,
+                              iconColor: AppColors.primaryRedColor,
+                            ),
+                          ),
+                        ],
+                      ),
+                    ],
+                  ),
+                ),
+              );
+            },
           ),
-        );
-      },
-    );
+        ],
+      );
+    } else {
+      return GridView.builder(
+        shrinkWrap: true,
+        physics: NeverScrollableScrollPhysics(),
+        itemCount: widget.profiles.length,
+        gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
+          crossAxisCount: 2,
+          crossAxisSpacing: 10.h,
+          mainAxisSpacing: 10.h,
+          childAspectRatio: widget.isShowDetails ? 0.56.h : 0.66.h,
+        ),
+        padding: EdgeInsets.only(bottom: 20.h),
+        itemBuilder: (context, index) {
+          final profile = widget.profiles[index];
+          final isActive = (profile.responseId == appState.getAuthenticatedUser()?.patientId);
+          final isParentUser = appState.getAuthenticatedUser()?.isParentUser ?? false;
+          final canSwitch = isParentUser || (!isParentUser && profile.responseId == appState.getSuperUserID);
+          return Container(
+            padding: EdgeInsets.symmetric(vertical: 15.h, horizontal: 15.h),
+            decoration: RoundedRectangleBorder().toSmoothCornerDecoration(color: AppColors.whiteColor, borderRadius: 24),
+            child: Opacity(
+              opacity: isActive || profile.status == FamilyFileEnum.pending.toInt || !canSwitch ? 0.4 : 1.0, // Fade all content if active
+              child: Stack(
+                children: [
+                  Column(
+                    mainAxisSize: MainAxisSize.min,
+                    children: [
+                      Utils.buildImgWithAssets(
+                          icon: profile.gender == null
+                              ? AppAssets.dummy_user
+                              : profile.gender == 1
+                                  ? ((profile.age ?? 0) < 7 ? AppAssets.babyBoyImg : AppAssets.male_img)
+                                  : (profile.age! < 7 ? AppAssets.babyGirlImg : AppAssets.femaleImg),
+                          width: 80.h,
+                          height: 78.h),
+                      SizedBox(height: 8.h),
+                      (profile.patientName ?? "Unknown").toText16(isBold: false, isCenter: true, maxlines: 1, weight: FontWeight.w600),
+                      SizedBox(height: 4.h),
+                      CustomChipWidget(
+                          chipType: ChipTypeEnum.alert,
+                          backgroundColor: AppColors.lightGrayBGColor,
+                          chipText: "Relation:${profile.relationship ?? "N/A"}",
+                          iconAsset: AppAssets.heart,
+                          isShowBorder: false,
+                          borderRadius: 8.h,
+                          textColor: AppColors.textColor),
+                      widget.isShowDetails ? SizedBox(height: 4.h) : SizedBox(),
+                      widget.isShowDetails
+                          ? CustomChipWidget(
+                              chipType: ChipTypeEnum.alert,
+                              backgroundColor: AppColors.lightGrayBGColor,
+                              chipText: "Age:${profile.age ?? "N/A"} Years",
+                              isShowBorder: false,
+                              borderRadius: 8.h,
+                              textColor: AppColors.textColor,
+                            )
+                          : SizedBox(),
+                      widget.isShowDetails ? SizedBox(height: 8.h) : SizedBox(),
+                      Spacer(),
+                      CustomButton(
+                        height: 40.h,
+                        onPressed: () {
+                          if (canSwitch) widget.onSelect(profile);
+                        },
+                        text: isActive ? "Active".needTranslation : "Switch".needTranslation,
+                        backgroundColor: isActive || !canSwitch ? Colors.grey.shade200 : AppColors.secondaryLightRedColor,
+                        borderColor: isActive || !canSwitch ? Colors.grey.shade200 : AppColors.secondaryLightRedColor,
+                        textColor: isActive || !canSwitch ? AppColors.greyTextColor : AppColors.primaryRedColor,
+                        fontSize: 13.h,
+                        icon: isActive ? AppAssets.activeCheck : AppAssets.switch_user,
+                        iconColor: isActive || !canSwitch ? (isActive ? null : AppColors.greyTextColor) : AppColors.primaryRedColor,
+                        padding: EdgeInsets.symmetric(vertical: 0, horizontal: 0),
+                      ).paddingOnly(top: 0, bottom: 0),
+                    ],
+                  ),
+                  if (widget.isShowRemoveButton) ...[
+                    Positioned(
+                      top: 0,
+                      right: 0,
+                      child: Utils.buildSvgWithAssets(icon: AppAssets.deleteIcon).onPress(() {
+                        if (!isActive) widget.onRemove(profile);
+                      }),
+                    ),
+                  ],
+                ],
+              ),
+            ),
+          );
+        },
+      );
+    }
   }
 }
diff --git a/lib/presentation/my_family/widget/my_family_sheet.dart b/lib/presentation/my_family/widget/my_family_sheet.dart
index da822b1..1c085ca 100644
--- a/lib/presentation/my_family/widget/my_family_sheet.dart
+++ b/lib/presentation/my_family/widget/my_family_sheet.dart
@@ -7,7 +7,7 @@ import 'package:hmg_patient_app_new/widgets/common_bottom_sheet.dart';
 
 class MyFamilySheet {
   static Future show(BuildContext context, List familyLists, Function(FamilyFileResponseModelLists) onSelect) async {
-    return await showCommonBottomSheetWithoutHeight(
+    return showCommonBottomSheetWithoutHeight(
       context,
       titleWidget: Column(
         crossAxisAlignment: CrossAxisAlignment.start,
@@ -22,6 +22,7 @@ class MyFamilySheet {
             Navigator.of(context).pop(); // Close the bottom sheet
             onSelect(profile); // Call the onSelect callback
           },
+          onRemove: (profile) {},
           isBottomSheet: true),
       callBackFunc: () {},
     );
diff --git a/lib/presentation/profile_settings/profile_settings.dart b/lib/presentation/profile_settings/profile_settings.dart
index 58273fc..2afa3e0 100644
--- a/lib/presentation/profile_settings/profile_settings.dart
+++ b/lib/presentation/profile_settings/profile_settings.dart
@@ -1,16 +1,25 @@
+import 'dart:convert';
+import 'dart:developer';
+
 import 'package:easy_localization/easy_localization.dart';
 import 'package:flutter/material.dart';
 import 'package:flutter_swiper_view/flutter_swiper_view.dart';
 import 'package:hmg_patient_app_new/core/app_assets.dart';
 import 'package:hmg_patient_app_new/core/app_export.dart';
+import 'package:hmg_patient_app_new/core/app_state.dart';
+import 'package:hmg_patient_app_new/core/dependencies.dart';
+import 'package:hmg_patient_app_new/core/enums.dart';
 import 'package:hmg_patient_app_new/core/utils/utils.dart';
 import 'package:hmg_patient_app_new/extensions/int_extensions.dart';
 import 'package:hmg_patient_app_new/extensions/string_extensions.dart';
 import 'package:hmg_patient_app_new/extensions/widget_extensions.dart';
 import 'package:hmg_patient_app_new/features/habib_wallet/habib_wallet_view_model.dart';
+import 'package:hmg_patient_app_new/features/medical_file/medical_file_view_model.dart';
+import 'package:hmg_patient_app_new/features/medical_file/models/family_file_response_model.dart';
 import 'package:hmg_patient_app_new/features/profile_settings/profile_settings_view_model.dart';
 import 'package:hmg_patient_app_new/presentation/habib_wallet/habib_wallet_page.dart';
 import 'package:hmg_patient_app_new/presentation/habib_wallet/recharge_wallet_page.dart';
+import 'package:hmg_patient_app_new/services/dialog_service.dart';
 import 'package:hmg_patient_app_new/widgets/appbar/collapsing_list_view.dart';
 import 'package:hmg_patient_app_new/theme/colors.dart';
 import 'package:hmg_patient_app_new/widgets/app_language_change.dart';
@@ -48,6 +57,7 @@ class _ProfileSettingsState extends State {
 
   @override
   Widget build(BuildContext context) {
+    final MedicalFileViewModel medicalFileViewModel = getIt.get();
     return CollapsingListView(
       title: "Profile & Settings".needTranslation,
       logout: () {},
@@ -57,11 +67,12 @@ class _ProfileSettingsState extends State {
         physics: NeverScrollableScrollPhysics(),
         child: Consumer(
           builder: (context, model, child) {
+            print(jsonEncode(medicalFileViewModel.patientFamilyFiles));
             return Column(
               crossAxisAlignment: CrossAxisAlignment.start,
               children: [
                 Swiper(
-                  itemCount: length,
+                  itemCount: medicalFileViewModel.patientFamilyFiles.length,
                   layout: SwiperLayout.STACK,
                   loop: true,
                   itemWidth: MediaQuery.of(context).size.width - 42,
@@ -75,7 +86,21 @@ class _ProfileSettingsState extends State {
                     builder: DotSwiperPaginationBuilder(color: Color(0xffD9D9D9), activeColor: AppColors.blackBgColor),
                   ),
                   itemBuilder: (BuildContext context, int index) {
-                    return FamilyCardWidget().paddingOnly(right: 16);
+                    return FamilyCardWidget(
+                      profile: medicalFileViewModel.patientFamilyFiles[index],
+                      onAddFamilyMemberPress: () {
+                        DialogService dialogService = getIt.get();
+                        dialogService.showAddFamilyFileSheet(
+                            label: "Add Family Member".needTranslation,
+                            message: "Please fill the below field to add a new family member to your profile".needTranslation,
+                            onVerificationPress: () {
+                              medicalFileViewModel.addFamilyFile(otpTypeEnum: OTPTypeEnum.sms, isExcludedUser: true);
+                            });
+                      },
+                      onFamilySwitchPress: (FamilyFileResponseModelLists profile) {
+                        medicalFileViewModel.switchFamilyFiles(responseID: profile.responseId, patientID: profile.patientId, phoneNumber: profile.mobileNumber);
+                      },
+                    ).paddingOnly(right: 16);
                   },
                 ),
                 GridView(
@@ -224,16 +249,20 @@ class _ProfileSettingsState extends State {
 }
 
 class FamilyCardWidget extends StatelessWidget {
-  FamilyCardWidget();
+  final Function() onAddFamilyMemberPress;
+  final Function(FamilyFileResponseModelLists member) onFamilySwitchPress;
+  final FamilyFileResponseModelLists profile;
+
+  const FamilyCardWidget({required this.onAddFamilyMemberPress, required this.profile, required this.onFamilySwitchPress(FamilyFileResponseModelLists member)});
 
   @override
   Widget build(BuildContext context) {
+    AppState appState = getIt.get();
+    final isActive = (profile.responseId == appState.getAuthenticatedUser()?.patientId);
+    final isParentUser = appState.getAuthenticatedUser()?.isParentUser ?? false;
+    final canSwitch = isParentUser || (!isParentUser && profile.responseId == appState.getSuperUserID);
     return Container(
-      decoration: RoundedRectangleBorder().toSmoothCornerDecoration(
-        color: AppColors.whiteColor,
-        borderRadius: 20.h,
-        hasShadow: true,
-      ),
+      decoration: RoundedRectangleBorder().toSmoothCornerDecoration(color: AppColors.whiteColor, borderRadius: 20.h, hasShadow: true),
       child: Column(
         children: [
           Column(
@@ -243,16 +272,16 @@ class FamilyCardWidget extends StatelessWidget {
                 crossAxisAlignment: CrossAxisAlignment.start,
                 spacing: 8.h,
                 children: [
-                  Image.asset(true ? AppAssets.male_img : AppAssets.femaleImg, width: 56.h, height: 56.h),
+                  Image.asset((profile.gender == 1) ? AppAssets.male_img : AppAssets.femaleImg, width: 56.h, height: 56.h),
                   Column(
                     crossAxisAlignment: CrossAxisAlignment.start,
                     spacing: 0.h,
                     mainAxisSize: MainAxisSize.min,
                     children: [
-                      "Mahmoud Shrouf Shrouf".toText18(isBold: true, weight: FontWeight.w600, textOverflow: TextOverflow.ellipsis, maxlines: 1),
+                      (profile.patientName ?? "").toText18(isBold: true, weight: FontWeight.w600, textOverflow: TextOverflow.ellipsis, maxlines: 1),
                       AppCustomChipWidget(
                         icon: AppAssets.file_icon,
-                        labelText: "File no: 3423443",
+                        labelText: "File no: ${profile.patientId}",
                         iconSize: 14,
                       ),
                     ],
@@ -266,11 +295,11 @@ class FamilyCardWidget extends StatelessWidget {
                   alignment: WrapAlignment.start,
                   spacing: 8.h,
                   children: [
-                    AppCustomChipWidget(labelText: "35 Years Old"),
-                    AppCustomChipWidget(labelText: "Blood: A+"),
+                    AppCustomChipWidget(labelText: "${profile.age} Years Old"),
+                    AppCustomChipWidget(labelText: "Blood: N/A"),
                     AppCustomChipWidget(
                       icon: AppAssets.insurance_active_icon,
-                      labelText: "Insurance Active",
+                      labelText: "Insurance N/A",
                       iconColor: AppColors.bgGreenColor,
                       iconSize: 14,
                       backgroundColor: AppColors.bgGreenColor.withValues(alpha: 0.15),
@@ -281,9 +310,92 @@ class FamilyCardWidget extends StatelessWidget {
             ],
           ).paddingOnly(top: 16, right: 16, left: 16, bottom: 12).expanded,
           1.divider,
-          CustomButton(icon: AppAssets.add_family, text: "Add a new family member".needTranslation, onPressed: () {}).paddingOnly(top: 12, right: 16, left: 16, bottom: 16),
+          _buildActionButton(appState),
+
+          // if (appState.getAuthenticatedUser()!.isParentUser ?? false) ...[
+          //   if (member!.responseId != appState.getAuthenticatedUser()!.patientId) ...[
+          //     CustomButton(
+          //       icon: AppAssets.switch_user,
+          //       text: "Switch Family File".needTranslation,
+          //       onPressed: () {
+          //         onFamilySwitchPress(member!);
+          //       },
+          //     ).paddingOnly(top: 12, right: 16, left: 16, bottom: 16),
+          //   ] else
+          //     ...[
+          //       CustomButton(
+          //         icon: AppAssets.add_family,
+          //         text: "Add a new family member".needTranslation,
+          //         onPressed: () {
+          //           onAddFamilyMemberPress();
+          //         },
+          //       ).paddingOnly(top: 12, right: 16, left: 16, bottom: 16),
+          //     ]
+          // ] else
+          //   ...[
+          //     if (appState.getSuperUserID != null && appState.getSuperUserID == member!.responseId) ...[
+          //       CustomButton(
+          //         icon: AppAssets.switch_user,
+          //         text: "Switch Back To Family File".needTranslation,
+          //         onPressed: () {
+          //           onFamilySwitchPress(member!);
+          //         },
+          //       ).paddingOnly(top: 12, right: 16, left: 16, bottom: 16),
+          //     ] else
+          //       ...[
+          //         CustomButton(
+          //           icon: AppAssets.switch_user,
+          //           text: "Disabled".needTranslation,
+          //           backgroundColor: Colors.grey.shade200,
+          //           borderColor: Colors.grey.shade200,
+          //           textColor: AppColors.greyTextColor,
+          //           onPressed: () {},
+          //           iconColor: AppColors.greyTextColor,
+          //         ).paddingOnly(top: 12, right: 16, left: 16, bottom: 16),
+          //       ]
+          //   ]
         ],
       ),
     );
   }
+
+  Widget _buildActionButton(AppState appState) {
+    final isParentUser = appState.getAuthenticatedUser()?.isParentUser ?? false;
+    final int? currentUserId = appState.getAuthenticatedUser()?.patientId;
+    final int? superUserId = appState.getSuperUserID;
+
+    if (isParentUser) {
+      return _buildParentUserButton(currentUserId);
+    } else {
+      return _buildNonParentUserButton(superUserId);
+    }
+  }
+
+  Widget _buildParentUserButton(int? currentUserId) {
+    final canSwitch = profile.responseId != currentUserId;
+
+    return CustomButton(
+      icon: canSwitch ? AppAssets.switch_user : AppAssets.add_family,
+      text: canSwitch ? "Switch Family File".needTranslation : "Add a new family member".needTranslation,
+      onPressed: canSwitch ? () => onFamilySwitchPress(profile) : onAddFamilyMemberPress,
+      backgroundColor: canSwitch ? AppColors.secondaryLightRedColor : AppColors.primaryRedColor,
+      borderColor: canSwitch ? AppColors.secondaryLightRedColor : AppColors.primaryRedColor,
+      textColor: canSwitch ? AppColors.primaryRedColor : AppColors.whiteColor,
+      iconColor: canSwitch ? AppColors.primaryRedColor : AppColors.whiteColor,
+    ).paddingOnly(top: 12, right: 16, left: 16, bottom: 16);
+  }
+
+  Widget _buildNonParentUserButton(int? superUserId) {
+    final canSwitchBack = superUserId != null && superUserId == profile.responseId;
+
+    return CustomButton(
+      icon: AppAssets.switch_user,
+      text: canSwitchBack ? "Switch Back To Family File".needTranslation : "Switch".needTranslation,
+      backgroundColor: canSwitchBack ? AppColors.primaryRedColor : Colors.grey.shade200,
+      borderColor: canSwitchBack ? AppColors.primaryRedColor : Colors.grey.shade200,
+      textColor: canSwitchBack ? AppColors.whiteColor : AppColors.greyTextColor,
+      iconColor: canSwitchBack ? AppColors.whiteColor : AppColors.greyTextColor,
+      onPressed: canSwitchBack ? () => onFamilySwitchPress(profile) : () {},
+    ).paddingOnly(top: 12, right: 16, left: 16, bottom: 16);
+  }
 }
diff --git a/lib/services/dialog_service.dart b/lib/services/dialog_service.dart
index 6ee0ddc..4d332b3 100644
--- a/lib/services/dialog_service.dart
+++ b/lib/services/dialog_service.dart
@@ -4,12 +4,15 @@ import 'package:hmg_patient_app_new/core/app_assets.dart';
 import 'package:hmg_patient_app_new/core/utils/size_utils.dart';
 import 'package:hmg_patient_app_new/extensions/route_extensions.dart';
 import 'package:hmg_patient_app_new/extensions/string_extensions.dart';
+import 'package:hmg_patient_app_new/features/medical_file/models/family_file_response_model.dart';
 import 'package:hmg_patient_app_new/generated/locale_keys.g.dart';
+import 'package:hmg_patient_app_new/presentation/my_family/widget/family_cards.dart';
 import 'package:hmg_patient_app_new/services/navigation_service.dart';
 import 'package:hmg_patient_app_new/theme/colors.dart';
 import 'package:hmg_patient_app_new/widgets/bottomsheet/exception_bottom_sheet.dart';
 import 'package:hmg_patient_app_new/widgets/buttons/custom_button.dart';
 import 'package:hmg_patient_app_new/widgets/common_bottom_sheet.dart';
+import 'package:hmg_patient_app_new/widgets/family_files/family_file_add_widget.dart';
 
 abstract class DialogService {
   Future showErrorBottomSheet({String title = "", required String message, Function()? onOkPressed, Function()? onCancelPressed});
@@ -18,7 +21,12 @@ abstract class DialogService {
 
   Future showCommonBottomSheetWithoutH({String? label, required String message, required Function() onOkPressed, Function()? onCancelPressed});
 
+  Future showFamilyBottomSheetWithoutH(
+      {String? label, required String message, required Function(FamilyFileResponseModelLists response) onSwitchPress, required List profiles});
+
   Future showPhoneNumberPickerSheet({String? label, String? message, required Function() onSMSPress, required Function() onWhatsappPress});
+
+  Future showAddFamilyFileSheet({String? label, String? message, required Function() onVerificationPress});
 // TODO : Need to be Fixed showPhoneNumberPickerSheet ( From Login ADn Signup Bottom Sheet Move Here
 }
 
@@ -93,6 +101,24 @@ class DialogServiceImp implements DialogService {
         title: label ?? "", child: exceptionBottomSheetWidget(context: context, message: message, onOkPressed: onOkPressed, onCancelPressed: onCancelPressed), callBackFunc: () {});
   }
 
+  @override
+  Future showFamilyBottomSheetWithoutH(
+      {String? label, required String message, required Function(FamilyFileResponseModelLists response) onSwitchPress, required List profiles}) async {
+    final context = navigationService.navigatorKey.currentContext;
+    if (context == null) return;
+    showCommonBottomSheetWithoutHeight(context,
+        title: label ?? "",
+        child: FamilyCards(
+          profiles: profiles,
+          onSelect: (FamilyFileResponseModelLists profile) {
+            onSwitchPress(profile);
+          },
+          onRemove: (FamilyFileResponseModelLists profile) {},
+          isShowDetails: false,
+        ),
+        callBackFunc: () {});
+  }
+
   @override
   Future showPhoneNumberPickerSheet({String? label, String? message, required Function() onSMSPress, required Function() onWhatsappPress}) async {
     final context = navigationService.navigatorKey.currentContext;
@@ -100,6 +126,18 @@ class DialogServiceImp implements DialogService {
     showCommonBottomSheetWithoutHeight(context,
         title: label ?? "", child: showPhoneNumberPickerWidget(context: context, message: message, onSMSPress: onSMSPress, onWhatsappPress: onWhatsappPress), callBackFunc: () {});
   }
+
+  @override
+  Future showAddFamilyFileSheet({String? label, String? message, required Function() onVerificationPress}) async {
+    final context = navigationService.navigatorKey.currentContext;
+    if (context == null) return;
+    showCommonBottomSheetWithoutHeight(context,
+        title: label ?? "",
+        child: FamilyFileAddWidget(() {
+          onVerificationPress();
+        }, message ?? ""),
+        callBackFunc: () {});
+  }
 }
 
 Widget exceptionBottomSheetWidget({required BuildContext context, required String message, required Function() onOkPressed, Function()? onCancelPressed}) {
@@ -216,3 +254,12 @@ Widget showPhoneNumberPickerWidget({required BuildContext context, String? messa
     //     );
   });
 }
+
+// Widget familyMemberAddWidget() {
+//   AuthenticationViewModel authVm = getIt.get();
+//   return showCommonBottomSheetWithoutHeight(context,
+//       title: "Add Family Member".needTranslation,
+//       useSafeArea: true,
+//       child:
+//       callBackFunc: () {});
+// }
diff --git a/lib/widgets/appbar/collapsing_list_view.dart b/lib/widgets/appbar/collapsing_list_view.dart
index b18c6ee..60b0f03 100644
--- a/lib/widgets/appbar/collapsing_list_view.dart
+++ b/lib/widgets/appbar/collapsing_list_view.dart
@@ -22,10 +22,11 @@ class CollapsingListView extends StatelessWidget {
   VoidCallback? logout;
   VoidCallback? history;
   Widget? bottomChild;
+  Widget? trailing;
   bool isClose;
   bool isLeading;
 
-  CollapsingListView({required this.title, this.child, this.search, this.isClose = false, this.bottomChild, this.report, this.logout, this.history, this.isLeading = true});
+  CollapsingListView({required this.title, this.child, this.search, this.isClose = false, this.bottomChild, this.report, this.logout, this.history, this.isLeading = true, this.trailing});
 
   @override
   Widget build(BuildContext context) {
@@ -97,7 +98,8 @@ class CollapsingListView extends StatelessWidget {
                                   if (logout != null) actionButton(context, t, title: "Logout".needTranslation, icon: AppAssets.logout).onPress(logout!),
                                   if (report != null) actionButton(context, t, title: "Report".needTranslation, icon: AppAssets.report_icon).onPress(report!),
                                   if (history != null) actionButton(context, t, title: "History".needTranslation, icon: AppAssets.insurance_history_icon).onPress(history!),
-                                  if (search != null) Utils.buildSvgWithAssets(icon: AppAssets.search_icon).onPress(search!).paddingOnly(right: 24)
+                                  if (search != null) Utils.buildSvgWithAssets(icon: AppAssets.search_icon).onPress(search!).paddingOnly(right: 24),
+                                  if (trailing != null) trailing!,
                                 ],
                               )),
                         ),
diff --git a/lib/widgets/buttons/custom_button.dart b/lib/widgets/buttons/custom_button.dart
index 2f8a9ec..b253c36 100644
--- a/lib/widgets/buttons/custom_button.dart
+++ b/lib/widgets/buttons/custom_button.dart
@@ -23,28 +23,30 @@ class CustomButton extends StatelessWidget {
   final double? width;
   final double iconSize;
   final TextOverflow? textOverflow;
+  final BorderSide? borderSide;
 
-  CustomButton({
-    Key? key,
-    required this.text,
-    required this.onPressed,
-    this.backgroundColor = const Color(0xFFED1C2B),
-    this.borderColor = const Color(0xFFED1C2B),
-    this.textColor = Colors.white,
-    this.borderRadius = 12,
-    this.borderWidth = 2,
-    this.padding = const EdgeInsets.fromLTRB(8, 10, 8, 10),
-    this.fontSize = 16,
-    this.fontFamily,
-    this.fontWeight = FontWeight.w500,
-    this.isDisabled = false,
-    this.icon,
-    this.iconColor = Colors.white,
-    this.height = 56,
-    this.width,
-    this.iconSize = 24,
-    this.textOverflow,
-  }) : super(key: key);
+  CustomButton(
+      {Key? key,
+      required this.text,
+      required this.onPressed,
+      this.backgroundColor = const Color(0xFFED1C2B),
+      this.borderColor = const Color(0xFFED1C2B),
+      this.textColor = Colors.white,
+      this.borderRadius = 12,
+      this.borderWidth = 2,
+      this.padding = const EdgeInsets.fromLTRB(8, 10, 8, 10),
+      this.fontSize = 16,
+      this.fontFamily,
+      this.fontWeight = FontWeight.w500,
+      this.isDisabled = false,
+      this.icon,
+      this.iconColor = Colors.white,
+      this.height = 56,
+      this.width,
+      this.iconSize = 24,
+      this.textOverflow,
+      this.borderSide})
+      : super(key: key);
 
   @override
   Widget build(BuildContext context) {
@@ -57,17 +59,15 @@ class CustomButton extends StatelessWidget {
           decoration: RoundedRectangleBorder().toSmoothCornerDecoration(
               color: isDisabled ? Colors.transparent : backgroundColor,
               borderRadius: borderRadius,
-              side: BorderSide(
-                width: borderWidth.h,
-                color: isDisabled ? borderColor.withOpacity(0.5) : borderColor,
-              )),
+              customBorder: BorderRadius.circular(borderRadius),
+              side: borderSide ?? BorderSide(width: borderWidth.h, color: isDisabled ? borderColor.withValues(alpha: 0.5) : borderColor)),
           child: Row(
             crossAxisAlignment: CrossAxisAlignment.center,
             mainAxisAlignment: MainAxisAlignment.center,
             children: [
               if (icon != null)
                 Padding(
-                  padding: const EdgeInsets.only(right: 8.0, left: 8.0),
+                  padding: EdgeInsets.only(right: 8.h, left: 8.h),
                   child: Utils.buildSvgWithAssets(icon: icon!, iconColor: iconColor, isDisabled: isDisabled, width: iconSize, height: iconSize),
                 ),
               Padding(
@@ -85,17 +85,6 @@ class CustomButton extends StatelessWidget {
               ),
             ],
           ),
-        )
-
-        //     .toSmoothContainer(
-        //   smoothness: 1,
-        //   side: BorderSide(width: borderWidth, color: backgroundColor),
-        //   borderRadius: BorderRadius.circular(borderRadius * 1.2),
-        //   foregroundDecoration: BoxDecoration(
-        //     color: isDisabled ? backgroundColor.withOpacity(0.5) : Colors.transparent,
-        //     borderRadius: BorderRadius.circular(borderRadius),
-        //   ),
-        // ),
-        );
+        ));
   }
 }
diff --git a/lib/widgets/chip/custom_chip_widget.dart b/lib/widgets/chip/custom_chip_widget.dart
index 1d0b5ef..5dee4f0 100644
--- a/lib/widgets/chip/custom_chip_widget.dart
+++ b/lib/widgets/chip/custom_chip_widget.dart
@@ -17,6 +17,7 @@ class CustomChipWidget extends StatelessWidget {
   final Color? textColor;
   final Color? borderColor;
   final bool isShowBorder;
+  final double? height;
 
   const CustomChipWidget({
     super.key,
@@ -31,6 +32,7 @@ class CustomChipWidget extends StatelessWidget {
     this.textColor,
     this.borderColor,
     this.isShowBorder = false,
+    this.height,
   });
 
   @override
@@ -39,6 +41,7 @@ class CustomChipWidget extends StatelessWidget {
     final hasOnTap = onTap != null || hasIcon;
 
     return Container(
+      height: height,
       decoration: BoxDecoration(
         borderRadius: BorderRadius.circular(borderRadius),
         color: isSelected ? chipType.color : backgroundColor ?? chipType.backgroundColor,
diff --git a/lib/widgets/family_files/family_file_add_widget.dart b/lib/widgets/family_files/family_file_add_widget.dart
new file mode 100644
index 0000000..8e57f91
--- /dev/null
+++ b/lib/widgets/family_files/family_file_add_widget.dart
@@ -0,0 +1,105 @@
+import 'package:easy_localization/easy_localization.dart';
+import 'package:flutter/cupertino.dart';
+import 'package:flutter/material.dart';
+import 'package:hmg_patient_app_new/core/app_assets.dart';
+import 'package:hmg_patient_app_new/core/dependencies.dart';
+import 'package:hmg_patient_app_new/core/enums.dart';
+import 'package:hmg_patient_app_new/core/utils/size_utils.dart';
+import 'package:hmg_patient_app_new/core/utils/validation_utils.dart';
+import 'package:hmg_patient_app_new/extensions/string_extensions.dart';
+import 'package:hmg_patient_app_new/extensions/widget_extensions.dart';
+import 'package:hmg_patient_app_new/features/authentication/authentication_view_model.dart';
+import 'package:hmg_patient_app_new/features/medical_file/medical_file_view_model.dart';
+import 'package:hmg_patient_app_new/generated/locale_keys.g.dart';
+import 'package:hmg_patient_app_new/theme/colors.dart';
+import 'package:hmg_patient_app_new/widgets/buttons/custom_button.dart';
+import 'package:hmg_patient_app_new/widgets/dropdown/country_dropdown_widget.dart';
+import 'package:hmg_patient_app_new/widgets/input_widget.dart';
+
+class FamilyFileAddWidget extends StatelessWidget {
+  final Function()? onVerificationPress;
+  final String message;
+
+  const FamilyFileAddWidget(this.onVerificationPress, this.message, {super.key});
+
+  @override
+  Widget build(BuildContext context) {
+    AuthenticationViewModel authVm = getIt.get();
+    MedicalFileViewModel? medicalVM = getIt.get();
+    // TODO: implement build
+    return Column(
+      crossAxisAlignment: CrossAxisAlignment.start,
+      mainAxisAlignment: MainAxisAlignment.start,
+      mainAxisSize: MainAxisSize.min,
+      children: [
+        message.toText16(color: AppColors.textColor, weight: FontWeight.w500),
+        SizedBox(height: 20.h),
+        Container(
+          decoration: BoxDecoration(color: Colors.white, borderRadius: BorderRadius.circular(24)),
+          padding: EdgeInsets.symmetric(horizontal: 16.h, vertical: 8.h),
+          child: Column(
+            children: [
+              CustomCountryDropdown(
+                countryList: CountryEnum.values,
+                onCountryChange: authVm.onCountryChange,
+              ).paddingOnly(top: 8.h, bottom: 16.h),
+              Divider(height: 1.h, color: AppColors.spacerLineColor),
+              TextInputWidget(
+                labelText: LocaleKeys.nationalIdNumber.tr(),
+                hintText: "xxxxxxxxx",
+                controller: authVm.nationalIdController,
+                isEnable: true,
+                prefix: null,
+                isAllowRadius: true,
+                isBorderAllowed: false,
+                isAllowLeadingIcon: true,
+                autoFocus: true,
+                keyboardType: TextInputType.number,
+                padding: EdgeInsets.symmetric(vertical: 8.h),
+                leadingIcon: AppAssets.student_card,
+              ).paddingOnly(top: 8.h, bottom: 8.h),
+              Divider(height: 1.h, color: AppColors.spacerLineColor),
+              TextInputWidget(
+                labelText: LocaleKeys.phoneNumber.tr(),
+                hintText: "",
+                controller: authVm.phoneNumberController,
+                isEnable: true,
+                prefix: authVm.selectedCountrySignup.countryCode,
+                isAllowRadius: true,
+                isBorderAllowed: false,
+                isAllowLeadingIcon: true,
+                autoFocus: true,
+                keyboardType: TextInputType.number,
+                padding: EdgeInsets.symmetric(vertical: 8.h),
+                leadingIcon: AppAssets.smart_phone,
+              ).paddingOnly(top: 8.h, bottom: 4.h),
+            ],
+          ),
+        ),
+        SizedBox(height: 20.h),
+        CustomButton(
+            text: "Verify the member".needTranslation,
+            onPressed: () {
+              FocusScope.of(context).unfocus();
+              if (ValidationUtils.isValidatedIdAndPhoneWithCountryValidation(
+                nationalId: authVm.nationalIdController.text,
+                selectedCountry: authVm.selectedCountrySignup,
+                phoneNumber: authVm.phoneNumberController.text,
+                onOkPress: () {
+                  Navigator.of(context).pop();
+                },
+              )) {
+                // authVm.addFamilyMember(otpTypeEnum: OTPTypeEnum.sms, isExcludedUser: true);
+                if (onVerificationPress != null) {
+                  onVerificationPress!();
+                }
+              }
+            },
+            icon: AppAssets.add_icon,
+            height: 56.h,
+            fontWeight: FontWeight.w600),
+        SizedBox(height: 20.h),
+      ],
+    );
+  }
+}