@burdenoff/microfe-mybodyshield 2026.511.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +12 -0
- package/dist/dev/main.d.ts +2 -0
- package/dist/dev/main.d.ts.map +1 -0
- package/dist/generated/global-operations.d.ts +2 -0
- package/dist/generated/global-operations.d.ts.map +1 -0
- package/dist/generated/global-types.d.ts +18199 -0
- package/dist/generated/global-types.d.ts.map +1 -0
- package/dist/generated/wspace-operations.d.ts +2 -0
- package/dist/generated/wspace-operations.d.ts.map +1 -0
- package/dist/generated/wspace-types.d.ts +43046 -0
- package/dist/generated/wspace-types.d.ts.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +5 -0
- package/dist/mybodyshield/MyBodyShieldRoot.d.ts +5 -0
- package/dist/mybodyshield/MyBodyShieldRoot.d.ts.map +1 -0
- package/dist/mybodyshield/MyBodyShieldRoot.js +364 -0
- package/dist/mybodyshield/MyBodyShieldRoot.js.map +1 -0
- package/dist/mybodyshield/MyBodyShieldRoutes.d.ts +2 -0
- package/dist/mybodyshield/MyBodyShieldRoutes.d.ts.map +1 -0
- package/dist/mybodyshield/MyBodyShieldRoutes.js +199 -0
- package/dist/mybodyshield/MyBodyShieldRoutes.js.map +1 -0
- package/dist/mybodyshield/index.d.ts +5 -0
- package/dist/mybodyshield/index.d.ts.map +1 -0
- package/dist/mybodyshield/index.js +3 -0
- package/dist/mybodyshield/pages/AdminAiinsightsPage.d.ts +2 -0
- package/dist/mybodyshield/pages/AdminAiinsightsPage.d.ts.map +1 -0
- package/dist/mybodyshield/pages/AdminAiinsightsPage.js +161 -0
- package/dist/mybodyshield/pages/AdminAiinsightsPage.js.map +1 -0
- package/dist/mybodyshield/pages/AdminAnalyticsPage.d.ts +2 -0
- package/dist/mybodyshield/pages/AdminAnalyticsPage.d.ts.map +1 -0
- package/dist/mybodyshield/pages/AdminAnalyticsPage.js +193 -0
- package/dist/mybodyshield/pages/AdminAnalyticsPage.js.map +1 -0
- package/dist/mybodyshield/pages/AdminComplianceReportsPage.d.ts +2 -0
- package/dist/mybodyshield/pages/AdminComplianceReportsPage.d.ts.map +1 -0
- package/dist/mybodyshield/pages/AdminComplianceReportsPage.js +214 -0
- package/dist/mybodyshield/pages/AdminComplianceReportsPage.js.map +1 -0
- package/dist/mybodyshield/pages/AdminDashboardPage.d.ts +2 -0
- package/dist/mybodyshield/pages/AdminDashboardPage.d.ts.map +1 -0
- package/dist/mybodyshield/pages/AdminDashboardPage.js +186 -0
- package/dist/mybodyshield/pages/AdminDashboardPage.js.map +1 -0
- package/dist/mybodyshield/pages/AdminOrganizationManagementPage.d.ts +2 -0
- package/dist/mybodyshield/pages/AdminOrganizationManagementPage.d.ts.map +1 -0
- package/dist/mybodyshield/pages/AdminOrganizationManagementPage.js +252 -0
- package/dist/mybodyshield/pages/AdminOrganizationManagementPage.js.map +1 -0
- package/dist/mybodyshield/pages/AdminSystemSettingsPage.d.ts +2 -0
- package/dist/mybodyshield/pages/AdminSystemSettingsPage.d.ts.map +1 -0
- package/dist/mybodyshield/pages/AdminSystemSettingsPage.js +159 -0
- package/dist/mybodyshield/pages/AdminSystemSettingsPage.js.map +1 -0
- package/dist/mybodyshield/pages/AdminUserManagementPage.d.ts +2 -0
- package/dist/mybodyshield/pages/AdminUserManagementPage.d.ts.map +1 -0
- package/dist/mybodyshield/pages/AdminUserManagementPage.js +208 -0
- package/dist/mybodyshield/pages/AdminUserManagementPage.js.map +1 -0
- package/dist/mybodyshield/pages/FitnessAssessmentsPage.d.ts +2 -0
- package/dist/mybodyshield/pages/FitnessAssessmentsPage.d.ts.map +1 -0
- package/dist/mybodyshield/pages/FitnessAssessmentsPage.js +194 -0
- package/dist/mybodyshield/pages/FitnessAssessmentsPage.js.map +1 -0
- package/dist/mybodyshield/pages/FitnessClientDetailsPage.d.ts +2 -0
- package/dist/mybodyshield/pages/FitnessClientDetailsPage.d.ts.map +1 -0
- package/dist/mybodyshield/pages/FitnessClientDetailsPage.js +192 -0
- package/dist/mybodyshield/pages/FitnessClientDetailsPage.js.map +1 -0
- package/dist/mybodyshield/pages/FitnessClientManagementPage.d.ts +2 -0
- package/dist/mybodyshield/pages/FitnessClientManagementPage.d.ts.map +1 -0
- package/dist/mybodyshield/pages/FitnessClientManagementPage.js +128 -0
- package/dist/mybodyshield/pages/FitnessClientManagementPage.js.map +1 -0
- package/dist/mybodyshield/pages/FitnessDashboardPage.d.ts +2 -0
- package/dist/mybodyshield/pages/FitnessDashboardPage.d.ts.map +1 -0
- package/dist/mybodyshield/pages/FitnessDashboardPage.js +156 -0
- package/dist/mybodyshield/pages/FitnessDashboardPage.js.map +1 -0
- package/dist/mybodyshield/pages/FitnessReportsPage.d.ts +2 -0
- package/dist/mybodyshield/pages/FitnessReportsPage.d.ts.map +1 -0
- package/dist/mybodyshield/pages/FitnessReportsPage.js +138 -0
- package/dist/mybodyshield/pages/FitnessReportsPage.js.map +1 -0
- package/dist/mybodyshield/pages/FitnessWorkoutPlansPage.d.ts +2 -0
- package/dist/mybodyshield/pages/FitnessWorkoutPlansPage.d.ts.map +1 -0
- package/dist/mybodyshield/pages/FitnessWorkoutPlansPage.js +176 -0
- package/dist/mybodyshield/pages/FitnessWorkoutPlansPage.js.map +1 -0
- package/dist/mybodyshield/pages/PatientAppointmentsPage.d.ts +2 -0
- package/dist/mybodyshield/pages/PatientAppointmentsPage.d.ts.map +1 -0
- package/dist/mybodyshield/pages/PatientAppointmentsPage.js +132 -0
- package/dist/mybodyshield/pages/PatientAppointmentsPage.js.map +1 -0
- package/dist/mybodyshield/pages/PatientDashboardPage.d.ts +2 -0
- package/dist/mybodyshield/pages/PatientDashboardPage.d.ts.map +1 -0
- package/dist/mybodyshield/pages/PatientDashboardPage.js +190 -0
- package/dist/mybodyshield/pages/PatientDashboardPage.js.map +1 -0
- package/dist/mybodyshield/pages/PatientFitnessTrackingPage.d.ts +2 -0
- package/dist/mybodyshield/pages/PatientFitnessTrackingPage.d.ts.map +1 -0
- package/dist/mybodyshield/pages/PatientFitnessTrackingPage.js +137 -0
- package/dist/mybodyshield/pages/PatientFitnessTrackingPage.js.map +1 -0
- package/dist/mybodyshield/pages/PatientHealthGoalsPage.d.ts +2 -0
- package/dist/mybodyshield/pages/PatientHealthGoalsPage.d.ts.map +1 -0
- package/dist/mybodyshield/pages/PatientHealthGoalsPage.js +131 -0
- package/dist/mybodyshield/pages/PatientHealthGoalsPage.js.map +1 -0
- package/dist/mybodyshield/pages/PatientHealthOverviewPage.d.ts +2 -0
- package/dist/mybodyshield/pages/PatientHealthOverviewPage.d.ts.map +1 -0
- package/dist/mybodyshield/pages/PatientHealthOverviewPage.js +273 -0
- package/dist/mybodyshield/pages/PatientHealthOverviewPage.js.map +1 -0
- package/dist/mybodyshield/pages/PatientLabResultsPage.d.ts +2 -0
- package/dist/mybodyshield/pages/PatientLabResultsPage.d.ts.map +1 -0
- package/dist/mybodyshield/pages/PatientLabResultsPage.js +133 -0
- package/dist/mybodyshield/pages/PatientLabResultsPage.js.map +1 -0
- package/dist/mybodyshield/pages/PatientMedicationsPage.d.ts +2 -0
- package/dist/mybodyshield/pages/PatientMedicationsPage.d.ts.map +1 -0
- package/dist/mybodyshield/pages/PatientMedicationsPage.js +158 -0
- package/dist/mybodyshield/pages/PatientMedicationsPage.js.map +1 -0
- package/dist/mybodyshield/pages/PatientMentalHealthPage.d.ts +2 -0
- package/dist/mybodyshield/pages/PatientMentalHealthPage.d.ts.map +1 -0
- package/dist/mybodyshield/pages/PatientMentalHealthPage.js +152 -0
- package/dist/mybodyshield/pages/PatientMentalHealthPage.js.map +1 -0
- package/dist/mybodyshield/pages/PatientNutritionTrackingPage.d.ts +2 -0
- package/dist/mybodyshield/pages/PatientNutritionTrackingPage.d.ts.map +1 -0
- package/dist/mybodyshield/pages/PatientNutritionTrackingPage.js +141 -0
- package/dist/mybodyshield/pages/PatientNutritionTrackingPage.js.map +1 -0
- package/dist/mybodyshield/pages/PatientVitalSignsPage.d.ts +2 -0
- package/dist/mybodyshield/pages/PatientVitalSignsPage.d.ts.map +1 -0
- package/dist/mybodyshield/pages/PatientVitalSignsPage.js +160 -0
- package/dist/mybodyshield/pages/PatientVitalSignsPage.js.map +1 -0
- package/dist/mybodyshield/pages/ProviderCalendarPage.d.ts +2 -0
- package/dist/mybodyshield/pages/ProviderCalendarPage.d.ts.map +1 -0
- package/dist/mybodyshield/pages/ProviderCalendarPage.js +127 -0
- package/dist/mybodyshield/pages/ProviderCalendarPage.js.map +1 -0
- package/dist/mybodyshield/pages/ProviderCarePlansPage.d.ts +2 -0
- package/dist/mybodyshield/pages/ProviderCarePlansPage.d.ts.map +1 -0
- package/dist/mybodyshield/pages/ProviderCarePlansPage.js +153 -0
- package/dist/mybodyshield/pages/ProviderCarePlansPage.js.map +1 -0
- package/dist/mybodyshield/pages/ProviderClinicalToolsPage.d.ts +2 -0
- package/dist/mybodyshield/pages/ProviderClinicalToolsPage.d.ts.map +1 -0
- package/dist/mybodyshield/pages/ProviderClinicalToolsPage.js +174 -0
- package/dist/mybodyshield/pages/ProviderClinicalToolsPage.js.map +1 -0
- package/dist/mybodyshield/pages/ProviderDashboardPage.d.ts +2 -0
- package/dist/mybodyshield/pages/ProviderDashboardPage.d.ts.map +1 -0
- package/dist/mybodyshield/pages/ProviderDashboardPage.js +154 -0
- package/dist/mybodyshield/pages/ProviderDashboardPage.js.map +1 -0
- package/dist/mybodyshield/pages/ProviderPatientDetailsPage.d.ts +2 -0
- package/dist/mybodyshield/pages/ProviderPatientDetailsPage.d.ts.map +1 -0
- package/dist/mybodyshield/pages/ProviderPatientDetailsPage.js +295 -0
- package/dist/mybodyshield/pages/ProviderPatientDetailsPage.js.map +1 -0
- package/dist/mybodyshield/pages/ProviderPatientManagementPage.d.ts +2 -0
- package/dist/mybodyshield/pages/ProviderPatientManagementPage.d.ts.map +1 -0
- package/dist/mybodyshield/pages/ProviderPatientManagementPage.js +133 -0
- package/dist/mybodyshield/pages/ProviderPatientManagementPage.js.map +1 -0
- package/dist/mybodyshield/pages/ProviderPrescriptionsPage.d.ts +2 -0
- package/dist/mybodyshield/pages/ProviderPrescriptionsPage.d.ts.map +1 -0
- package/dist/mybodyshield/pages/ProviderPrescriptionsPage.js +138 -0
- package/dist/mybodyshield/pages/ProviderPrescriptionsPage.js.map +1 -0
- package/dist/mybodyshield/pages/ProviderReportsPage.d.ts +2 -0
- package/dist/mybodyshield/pages/ProviderReportsPage.d.ts.map +1 -0
- package/dist/mybodyshield/pages/ProviderReportsPage.js +149 -0
- package/dist/mybodyshield/pages/ProviderReportsPage.js.map +1 -0
- package/dist/mybodyshield/pages/SharedAppointmentsPage.d.ts +2 -0
- package/dist/mybodyshield/pages/SharedAppointmentsPage.d.ts.map +1 -0
- package/dist/mybodyshield/pages/SharedAppointmentsPage.js +129 -0
- package/dist/mybodyshield/pages/SharedAppointmentsPage.js.map +1 -0
- package/dist/mybodyshield/pages/SharedCommunityPage.d.ts +2 -0
- package/dist/mybodyshield/pages/SharedCommunityPage.d.ts.map +1 -0
- package/dist/mybodyshield/pages/SharedCommunityPage.js +152 -0
- package/dist/mybodyshield/pages/SharedCommunityPage.js.map +1 -0
- package/dist/mybodyshield/pages/SharedEmergencyAlertsPage.d.ts +2 -0
- package/dist/mybodyshield/pages/SharedEmergencyAlertsPage.d.ts.map +1 -0
- package/dist/mybodyshield/pages/SharedEmergencyAlertsPage.js +165 -0
- package/dist/mybodyshield/pages/SharedEmergencyAlertsPage.js.map +1 -0
- package/dist/mybodyshield/pages/SharedEmergencyPage.d.ts +2 -0
- package/dist/mybodyshield/pages/SharedEmergencyPage.d.ts.map +1 -0
- package/dist/mybodyshield/pages/SharedEmergencyPage.js +183 -0
- package/dist/mybodyshield/pages/SharedEmergencyPage.js.map +1 -0
- package/dist/mybodyshield/pages/SharedHealthAnalyticsPage.d.ts +2 -0
- package/dist/mybodyshield/pages/SharedHealthAnalyticsPage.d.ts.map +1 -0
- package/dist/mybodyshield/pages/SharedHealthAnalyticsPage.js +159 -0
- package/dist/mybodyshield/pages/SharedHealthAnalyticsPage.js.map +1 -0
- package/dist/mybodyshield/pages/SharedMarketplacePage.d.ts +2 -0
- package/dist/mybodyshield/pages/SharedMarketplacePage.d.ts.map +1 -0
- package/dist/mybodyshield/pages/SharedMarketplacePage.js +193 -0
- package/dist/mybodyshield/pages/SharedMarketplacePage.js.map +1 -0
- package/dist/mybodyshield/pages/SharedMessagesPage.d.ts +2 -0
- package/dist/mybodyshield/pages/SharedMessagesPage.d.ts.map +1 -0
- package/dist/mybodyshield/pages/SharedMessagesPage.js +156 -0
- package/dist/mybodyshield/pages/SharedMessagesPage.js.map +1 -0
- package/dist/mybodyshield/pages/WellnessAssessmentsPage.d.ts +2 -0
- package/dist/mybodyshield/pages/WellnessAssessmentsPage.d.ts.map +1 -0
- package/dist/mybodyshield/pages/WellnessAssessmentsPage.js +147 -0
- package/dist/mybodyshield/pages/WellnessAssessmentsPage.js.map +1 -0
- package/dist/mybodyshield/pages/WellnessClientsPage.d.ts +2 -0
- package/dist/mybodyshield/pages/WellnessClientsPage.d.ts.map +1 -0
- package/dist/mybodyshield/pages/WellnessClientsPage.js +182 -0
- package/dist/mybodyshield/pages/WellnessClientsPage.js.map +1 -0
- package/dist/mybodyshield/pages/WellnessDashboardPage.d.ts +2 -0
- package/dist/mybodyshield/pages/WellnessDashboardPage.d.ts.map +1 -0
- package/dist/mybodyshield/pages/WellnessDashboardPage.js +136 -0
- package/dist/mybodyshield/pages/WellnessDashboardPage.js.map +1 -0
- package/dist/mybodyshield/pages/WellnessProgramsPage.d.ts +2 -0
- package/dist/mybodyshield/pages/WellnessProgramsPage.d.ts.map +1 -0
- package/dist/mybodyshield/pages/WellnessProgramsPage.js +140 -0
- package/dist/mybodyshield/pages/WellnessProgramsPage.js.map +1 -0
- package/dist/mybodyshield/providers/MyBodyShieldProvider.d.ts +6 -0
- package/dist/mybodyshield/providers/MyBodyShieldProvider.d.ts.map +1 -0
- package/dist/mybodyshield/providers/MyBodyShieldProvider.js +27 -0
- package/dist/mybodyshield/providers/MyBodyShieldProvider.js.map +1 -0
- package/dist/mybodyshield/store/mybodyshieldStore.d.ts +197 -0
- package/dist/mybodyshield/store/mybodyshieldStore.d.ts.map +1 -0
- package/dist/mybodyshield/store/mybodyshieldStore.js +710 -0
- package/dist/mybodyshield/store/mybodyshieldStore.js.map +1 -0
- package/dist/mybodyshield/types/index.d.ts +51 -0
- package/dist/mybodyshield/types/index.d.ts.map +1 -0
- package/dist/mybodyshield/utils/cn.d.ts +4 -0
- package/dist/mybodyshield/utils/cn.d.ts.map +1 -0
- package/dist/mybodyshield/utils/navigation.d.ts +2 -0
- package/dist/mybodyshield/utils/navigation.d.ts.map +1 -0
- package/dist/mybodyshield/utils/navigation.js +8 -0
- package/dist/mybodyshield/utils/navigation.js.map +1 -0
- package/package.json +107 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MyBodyShieldRoutes.js","names":[],"sources":["../../src/mybodyshield/MyBodyShieldRoutes.tsx"],"sourcesContent":["import { lazy, Suspense } from 'react';\nimport { Navigate, Route, Routes } from 'react-router-dom';\nimport { Loader2 } from 'lucide-react';\nimport { AdminDashboardPage as IndexPage } from './pages/AdminDashboardPage';\n\nconst AdminAnalyticsPage = lazy(() =>\n import('./pages/AdminAnalyticsPage').then((m) => ({ default: m.AdminAnalyticsPage }))\n);\nconst AdminComplianceReportsPage = lazy(() =>\n import('./pages/AdminComplianceReportsPage').then((m) => ({\n default: m.AdminComplianceReportsPage,\n }))\n);\nconst AdminAiinsightsPage = lazy(() =>\n import('./pages/AdminAiinsightsPage').then((m) => ({ default: m.AdminAiinsightsPage }))\n);\nconst AdminOrganizationManagementPage = lazy(() =>\n import('./pages/AdminOrganizationManagementPage').then((m) => ({\n default: m.AdminOrganizationManagementPage,\n }))\n);\nconst AdminUserManagementPage = lazy(() =>\n import('./pages/AdminUserManagementPage').then((m) => ({ default: m.AdminUserManagementPage }))\n);\nconst AdminSystemSettingsPage = lazy(() =>\n import('./pages/AdminSystemSettingsPage').then((m) => ({ default: m.AdminSystemSettingsPage }))\n);\nconst FitnessAssessmentsPage = lazy(() =>\n import('./pages/FitnessAssessmentsPage').then((m) => ({ default: m.FitnessAssessmentsPage }))\n);\nconst FitnessClientDetailsPage = lazy(() =>\n import('./pages/FitnessClientDetailsPage').then((m) => ({ default: m.FitnessClientDetailsPage }))\n);\nconst FitnessClientManagementPage = lazy(() =>\n import('./pages/FitnessClientManagementPage').then((m) => ({\n default: m.FitnessClientManagementPage,\n }))\n);\nconst FitnessDashboardPage = lazy(() =>\n import('./pages/FitnessDashboardPage').then((m) => ({ default: m.FitnessDashboardPage }))\n);\nconst FitnessReportsPage = lazy(() =>\n import('./pages/FitnessReportsPage').then((m) => ({ default: m.FitnessReportsPage }))\n);\nconst FitnessWorkoutPlansPage = lazy(() =>\n import('./pages/FitnessWorkoutPlansPage').then((m) => ({ default: m.FitnessWorkoutPlansPage }))\n);\nconst PatientAppointmentsPage = lazy(() =>\n import('./pages/PatientAppointmentsPage').then((m) => ({ default: m.PatientAppointmentsPage }))\n);\nconst PatientDashboardPage = lazy(() =>\n import('./pages/PatientDashboardPage').then((m) => ({ default: m.PatientDashboardPage }))\n);\nconst PatientFitnessTrackingPage = lazy(() =>\n import('./pages/PatientFitnessTrackingPage').then((m) => ({\n default: m.PatientFitnessTrackingPage,\n }))\n);\nconst PatientHealthGoalsPage = lazy(() =>\n import('./pages/PatientHealthGoalsPage').then((m) => ({ default: m.PatientHealthGoalsPage }))\n);\nconst PatientHealthOverviewPage = lazy(() =>\n import('./pages/PatientHealthOverviewPage').then((m) => ({\n default: m.PatientHealthOverviewPage,\n }))\n);\nconst PatientLabResultsPage = lazy(() =>\n import('./pages/PatientLabResultsPage').then((m) => ({ default: m.PatientLabResultsPage }))\n);\nconst PatientMedicationsPage = lazy(() =>\n import('./pages/PatientMedicationsPage').then((m) => ({ default: m.PatientMedicationsPage }))\n);\nconst PatientMentalHealthPage = lazy(() =>\n import('./pages/PatientMentalHealthPage').then((m) => ({ default: m.PatientMentalHealthPage }))\n);\nconst PatientNutritionTrackingPage = lazy(() =>\n import('./pages/PatientNutritionTrackingPage').then((m) => ({\n default: m.PatientNutritionTrackingPage,\n }))\n);\nconst PatientVitalSignsPage = lazy(() =>\n import('./pages/PatientVitalSignsPage').then((m) => ({ default: m.PatientVitalSignsPage }))\n);\nconst ProviderCalendarPage = lazy(() =>\n import('./pages/ProviderCalendarPage').then((m) => ({ default: m.ProviderCalendarPage }))\n);\nconst ProviderCarePlansPage = lazy(() =>\n import('./pages/ProviderCarePlansPage').then((m) => ({ default: m.ProviderCarePlansPage }))\n);\nconst ProviderClinicalToolsPage = lazy(() =>\n import('./pages/ProviderClinicalToolsPage').then((m) => ({\n default: m.ProviderClinicalToolsPage,\n }))\n);\nconst ProviderDashboardPage = lazy(() =>\n import('./pages/ProviderDashboardPage').then((m) => ({ default: m.ProviderDashboardPage }))\n);\nconst ProviderPatientDetailsPage = lazy(() =>\n import('./pages/ProviderPatientDetailsPage').then((m) => ({\n default: m.ProviderPatientDetailsPage,\n }))\n);\nconst ProviderPatientManagementPage = lazy(() =>\n import('./pages/ProviderPatientManagementPage').then((m) => ({\n default: m.ProviderPatientManagementPage,\n }))\n);\nconst ProviderPrescriptionsPage = lazy(() =>\n import('./pages/ProviderPrescriptionsPage').then((m) => ({\n default: m.ProviderPrescriptionsPage,\n }))\n);\nconst ProviderReportsPage = lazy(() =>\n import('./pages/ProviderReportsPage').then((m) => ({ default: m.ProviderReportsPage }))\n);\nconst SharedAppointmentsPage = lazy(() =>\n import('./pages/SharedAppointmentsPage').then((m) => ({ default: m.SharedAppointmentsPage }))\n);\nconst SharedCommunityPage = lazy(() =>\n import('./pages/SharedCommunityPage').then((m) => ({ default: m.SharedCommunityPage }))\n);\nconst SharedEmergencyPage = lazy(() =>\n import('./pages/SharedEmergencyPage').then((m) => ({ default: m.SharedEmergencyPage }))\n);\nconst SharedEmergencyAlertsPage = lazy(() =>\n import('./pages/SharedEmergencyAlertsPage').then((m) => ({\n default: m.SharedEmergencyAlertsPage,\n }))\n);\nconst SharedHealthAnalyticsPage = lazy(() =>\n import('./pages/SharedHealthAnalyticsPage').then((m) => ({\n default: m.SharedHealthAnalyticsPage,\n }))\n);\nconst SharedMarketplacePage = lazy(() =>\n import('./pages/SharedMarketplacePage').then((m) => ({ default: m.SharedMarketplacePage }))\n);\nconst SharedMessagesPage = lazy(() =>\n import('./pages/SharedMessagesPage').then((m) => ({ default: m.SharedMessagesPage }))\n);\nconst WellnessAssessmentsPage = lazy(() =>\n import('./pages/WellnessAssessmentsPage').then((m) => ({ default: m.WellnessAssessmentsPage }))\n);\nconst WellnessClientsPage = lazy(() =>\n import('./pages/WellnessClientsPage').then((m) => ({ default: m.WellnessClientsPage }))\n);\nconst WellnessDashboardPage = lazy(() =>\n import('./pages/WellnessDashboardPage').then((m) => ({ default: m.WellnessDashboardPage }))\n);\nconst WellnessProgramsPage = lazy(() =>\n import('./pages/WellnessProgramsPage').then((m) => ({ default: m.WellnessProgramsPage }))\n);\n\nfunction PageLoader() {\n return (\n <div className=\"flex min-h-[320px] items-center justify-center\">\n <Loader2 className=\"h-8 w-8 animate-spin text-primary\" />\n </div>\n );\n}\n\nexport function MyBodyShieldRoutes() {\n return (\n <Suspense fallback={<PageLoader />}>\n <Routes>\n <Route index element={<IndexPage />} />\n <Route path=\"admin/analytics\" element={<AdminAnalyticsPage />} />\n <Route path=\"admin/compliance-reports\" element={<AdminComplianceReportsPage />} />\n <Route path=\"admin/aiinsights\" element={<AdminAiinsightsPage />} />\n <Route path=\"admin/organization-management\" element={<AdminOrganizationManagementPage />} />\n <Route path=\"admin/user-management\" element={<AdminUserManagementPage />} />\n <Route path=\"admin/system-settings\" element={<AdminSystemSettingsPage />} />\n <Route path=\"fitness/assessments\" element={<FitnessAssessmentsPage />} />\n <Route path=\"fitness/client-details\" element={<FitnessClientDetailsPage />} />\n <Route path=\"fitness/client-management\" element={<FitnessClientManagementPage />} />\n <Route path=\"fitness/dashboard\" element={<FitnessDashboardPage />} />\n <Route path=\"fitness/reports\" element={<FitnessReportsPage />} />\n <Route path=\"fitness/workout-plans\" element={<FitnessWorkoutPlansPage />} />\n <Route path=\"patient/appointments\" element={<PatientAppointmentsPage />} />\n <Route path=\"patient/dashboard\" element={<PatientDashboardPage />} />\n <Route path=\"patient/fitness-tracking\" element={<PatientFitnessTrackingPage />} />\n <Route path=\"patient/health-goals\" element={<PatientHealthGoalsPage />} />\n <Route path=\"patient/health-overview\" element={<PatientHealthOverviewPage />} />\n <Route path=\"patient/lab-results\" element={<PatientLabResultsPage />} />\n <Route path=\"patient/medications\" element={<PatientMedicationsPage />} />\n <Route path=\"patient/mental-health\" element={<PatientMentalHealthPage />} />\n <Route path=\"patient/nutrition-tracking\" element={<PatientNutritionTrackingPage />} />\n <Route path=\"patient/vital-signs\" element={<PatientVitalSignsPage />} />\n <Route path=\"provider/calendar\" element={<ProviderCalendarPage />} />\n <Route path=\"provider/care-plans\" element={<ProviderCarePlansPage />} />\n <Route path=\"provider/clinical-tools\" element={<ProviderClinicalToolsPage />} />\n <Route path=\"provider/dashboard\" element={<ProviderDashboardPage />} />\n <Route path=\"provider/patient-details\" element={<ProviderPatientDetailsPage />} />\n <Route path=\"provider/patient-management\" element={<ProviderPatientManagementPage />} />\n <Route path=\"provider/prescriptions\" element={<ProviderPrescriptionsPage />} />\n <Route path=\"provider/reports\" element={<ProviderReportsPage />} />\n <Route path=\"shared/appointments\" element={<SharedAppointmentsPage />} />\n <Route path=\"shared/community\" element={<SharedCommunityPage />} />\n <Route path=\"shared/emergency\" element={<SharedEmergencyPage />} />\n <Route path=\"shared/emergency-alerts\" element={<SharedEmergencyAlertsPage />} />\n <Route path=\"shared/health-analytics\" element={<SharedHealthAnalyticsPage />} />\n <Route path=\"shared/marketplace\" element={<SharedMarketplacePage />} />\n <Route path=\"shared/messages\" element={<SharedMessagesPage />} />\n <Route path=\"wellness/assessments\" element={<WellnessAssessmentsPage />} />\n <Route path=\"wellness/clients\" element={<WellnessClientsPage />} />\n <Route path=\"wellness/dashboard\" element={<WellnessDashboardPage />} />\n <Route path=\"wellness/programs\" element={<WellnessProgramsPage />} />\n <Route path=\"*\" element={<Navigate to=\"\" replace />} />\n </Routes>\n </Suspense>\n );\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { MyBodyShieldRoot } from './MyBodyShieldRoot';
|
|
2
|
+
export type { MyBodyShieldRootProps, NavItem, FooterItem } from './types';
|
|
3
|
+
export { useMyBodyShield } from './providers/MyBodyShieldProvider';
|
|
4
|
+
export { useMyBodyShieldStore } from './store/mybodyshieldStore';
|
|
5
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mybodyshield/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,YAAY,EAAE,qBAAqB,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AdminAiinsightsPage.d.ts","sourceRoot":"","sources":["../../../src/mybodyshield/pages/AdminAiinsightsPage.tsx"],"names":[],"mappings":"AAsDA,wBAAgB,mBAAmB,4CA2FlC"}
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
import { useMyBodyShieldStore as e } from "../store/mybodyshieldStore.js";
|
|
2
|
+
import { AlertCircle as t, Brain as n, DollarSign as r, Target as i, TrendingUp as a, Zap as o } from "lucide-react";
|
|
3
|
+
import { jsx as s, jsxs as c } from "react/jsx-runtime";
|
|
4
|
+
import { Card as l, CardContent as u, CardHeader as d, CardTitle as f } from "@burdenoff/fe-libs/ui";
|
|
5
|
+
//#region src/mybodyshield/pages/AdminAiinsightsPage.tsx
|
|
6
|
+
var p = [
|
|
7
|
+
{
|
|
8
|
+
id: 1,
|
|
9
|
+
category: "Readmission Risk",
|
|
10
|
+
description: "Sarah Johnson shows elevated readmission risk based on A1C trends and missed follow-ups",
|
|
11
|
+
confidence: 87,
|
|
12
|
+
action: "Schedule proactive endocrinology consult"
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
id: 2,
|
|
16
|
+
category: "Drug Interaction",
|
|
17
|
+
description: "Potential adverse interaction detected between Lisinopril and new NSAID prescription for Robert Wilson",
|
|
18
|
+
confidence: 94,
|
|
19
|
+
action: "Review medication list with prescribing physician"
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
id: 3,
|
|
23
|
+
category: "Diagnostic Suggestion",
|
|
24
|
+
description: "Michael Chen lipid panel trend suggests possible familial hypercholesterolemia screening",
|
|
25
|
+
confidence: 78,
|
|
26
|
+
action: "Order genetic screening panel"
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
id: 4,
|
|
30
|
+
category: "Cost Optimization",
|
|
31
|
+
description: "Generic substitution available for 23 active brand-name prescriptions saving est. $4,200/month",
|
|
32
|
+
confidence: 99,
|
|
33
|
+
action: "Generate substitution report for pharmacy review"
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
id: 5,
|
|
37
|
+
category: "Care Gap",
|
|
38
|
+
description: "Lisa Thompson overdue for recommended PCOS screening follow-up by 45 days",
|
|
39
|
+
confidence: 92,
|
|
40
|
+
action: "Send automated appointment reminder"
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
id: 6,
|
|
44
|
+
category: "Population Health",
|
|
45
|
+
description: "Spike in respiratory complaints in zip code 30301 — possible environmental trigger",
|
|
46
|
+
confidence: 71,
|
|
47
|
+
action: "Cross-reference with air quality data"
|
|
48
|
+
}
|
|
49
|
+
];
|
|
50
|
+
function m() {
|
|
51
|
+
let { patients: m, labResults: h } = e(), g = h.filter((e) => e.status === "abnormal" || e.status === "critical").length;
|
|
52
|
+
return /* @__PURE__ */ c("div", {
|
|
53
|
+
className: "space-y-6 p-6",
|
|
54
|
+
children: [
|
|
55
|
+
/* @__PURE__ */ c("div", { children: [/* @__PURE__ */ s("h1", {
|
|
56
|
+
className: "text-2xl font-semibold",
|
|
57
|
+
children: "AI Insights"
|
|
58
|
+
}), /* @__PURE__ */ s("p", {
|
|
59
|
+
className: "text-sm text-muted-foreground",
|
|
60
|
+
children: "AI-powered predictive analytics and clinical decision support"
|
|
61
|
+
})] }),
|
|
62
|
+
/* @__PURE__ */ c("div", {
|
|
63
|
+
className: "grid gap-4 md:grid-cols-4",
|
|
64
|
+
children: [
|
|
65
|
+
/* @__PURE__ */ c(l, { children: [/* @__PURE__ */ c(d, {
|
|
66
|
+
className: "flex flex-row items-center justify-between space-y-0 pb-2",
|
|
67
|
+
children: [/* @__PURE__ */ s(f, {
|
|
68
|
+
className: "text-sm font-medium",
|
|
69
|
+
children: "Prediction Accuracy"
|
|
70
|
+
}), /* @__PURE__ */ s(i, { className: "h-4 w-4 text-green-500" })]
|
|
71
|
+
}), /* @__PURE__ */ c(u, { children: [/* @__PURE__ */ s("div", {
|
|
72
|
+
className: "text-2xl font-bold",
|
|
73
|
+
children: "92.3%"
|
|
74
|
+
}), /* @__PURE__ */ s("p", {
|
|
75
|
+
className: "text-xs text-muted-foreground",
|
|
76
|
+
children: "Based on last 500 predictions"
|
|
77
|
+
})] })] }),
|
|
78
|
+
/* @__PURE__ */ c(l, { children: [/* @__PURE__ */ c(d, {
|
|
79
|
+
className: "flex flex-row items-center justify-between space-y-0 pb-2",
|
|
80
|
+
children: [/* @__PURE__ */ s(f, {
|
|
81
|
+
className: "text-sm font-medium",
|
|
82
|
+
children: "Readmission Risk Flags"
|
|
83
|
+
}), /* @__PURE__ */ s(t, { className: "h-4 w-4 text-orange-500" })]
|
|
84
|
+
}), /* @__PURE__ */ c(u, { children: [/* @__PURE__ */ s("div", {
|
|
85
|
+
className: "text-2xl font-bold",
|
|
86
|
+
children: "18"
|
|
87
|
+
}), /* @__PURE__ */ c("p", {
|
|
88
|
+
className: "text-xs text-muted-foreground",
|
|
89
|
+
children: [g, " linked to abnormal labs"]
|
|
90
|
+
})] })] }),
|
|
91
|
+
/* @__PURE__ */ c(l, { children: [/* @__PURE__ */ c(d, {
|
|
92
|
+
className: "flex flex-row items-center justify-between space-y-0 pb-2",
|
|
93
|
+
children: [/* @__PURE__ */ s(f, {
|
|
94
|
+
className: "text-sm font-medium",
|
|
95
|
+
children: "Anomalies Detected"
|
|
96
|
+
}), /* @__PURE__ */ s(o, { className: "h-4 w-4 text-red-500" })]
|
|
97
|
+
}), /* @__PURE__ */ c(u, { children: [/* @__PURE__ */ s("div", {
|
|
98
|
+
className: "text-2xl font-bold",
|
|
99
|
+
children: "7"
|
|
100
|
+
}), /* @__PURE__ */ c("p", {
|
|
101
|
+
className: "text-xs text-muted-foreground",
|
|
102
|
+
children: [
|
|
103
|
+
"Across ",
|
|
104
|
+
m.length,
|
|
105
|
+
" monitored patients"
|
|
106
|
+
]
|
|
107
|
+
})] })] }),
|
|
108
|
+
/* @__PURE__ */ c(l, { children: [/* @__PURE__ */ c(d, {
|
|
109
|
+
className: "flex flex-row items-center justify-between space-y-0 pb-2",
|
|
110
|
+
children: [/* @__PURE__ */ s(f, {
|
|
111
|
+
className: "text-sm font-medium",
|
|
112
|
+
children: "Est. Cost Savings"
|
|
113
|
+
}), /* @__PURE__ */ s(r, { className: "h-4 w-4 text-emerald-500" })]
|
|
114
|
+
}), /* @__PURE__ */ c(u, { children: [/* @__PURE__ */ s("div", {
|
|
115
|
+
className: "text-2xl font-bold",
|
|
116
|
+
children: "$128K"
|
|
117
|
+
}), /* @__PURE__ */ s("p", {
|
|
118
|
+
className: "text-xs text-muted-foreground",
|
|
119
|
+
children: "YTD preventive interventions"
|
|
120
|
+
})] })] })
|
|
121
|
+
]
|
|
122
|
+
}),
|
|
123
|
+
/* @__PURE__ */ c(l, { children: [/* @__PURE__ */ s(d, { children: /* @__PURE__ */ c(f, {
|
|
124
|
+
className: "flex items-center gap-2",
|
|
125
|
+
children: [/* @__PURE__ */ s(n, { className: "h-5 w-5" }), "AI-Generated Insights"]
|
|
126
|
+
}) }), /* @__PURE__ */ s(u, { children: /* @__PURE__ */ s("div", {
|
|
127
|
+
className: "space-y-4",
|
|
128
|
+
children: p.map((e) => /* @__PURE__ */ c("div", {
|
|
129
|
+
className: "p-4 rounded-lg border bg-muted/30",
|
|
130
|
+
children: [
|
|
131
|
+
/* @__PURE__ */ c("div", {
|
|
132
|
+
className: "flex items-center justify-between mb-2",
|
|
133
|
+
children: [/* @__PURE__ */ s("span", {
|
|
134
|
+
className: "text-xs font-medium px-2 py-0.5 rounded-full bg-primary/10 text-primary",
|
|
135
|
+
children: e.category
|
|
136
|
+
}), /* @__PURE__ */ c("div", {
|
|
137
|
+
className: "flex items-center gap-1",
|
|
138
|
+
children: [/* @__PURE__ */ s(a, { className: "h-3 w-3 text-green-500" }), /* @__PURE__ */ c("span", {
|
|
139
|
+
className: "text-xs font-medium",
|
|
140
|
+
children: [e.confidence, "% confidence"]
|
|
141
|
+
})]
|
|
142
|
+
})]
|
|
143
|
+
}),
|
|
144
|
+
/* @__PURE__ */ s("p", {
|
|
145
|
+
className: "text-sm",
|
|
146
|
+
children: e.description
|
|
147
|
+
}),
|
|
148
|
+
/* @__PURE__ */ c("p", {
|
|
149
|
+
className: "text-xs text-muted-foreground mt-2",
|
|
150
|
+
children: ["Recommended: ", e.action]
|
|
151
|
+
})
|
|
152
|
+
]
|
|
153
|
+
}, e.id))
|
|
154
|
+
}) })] })
|
|
155
|
+
]
|
|
156
|
+
});
|
|
157
|
+
}
|
|
158
|
+
//#endregion
|
|
159
|
+
export { m as AdminAiinsightsPage };
|
|
160
|
+
|
|
161
|
+
//# sourceMappingURL=AdminAiinsightsPage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AdminAiinsightsPage.js","names":[],"sources":["../../../src/mybodyshield/pages/AdminAiinsightsPage.tsx"],"sourcesContent":["import { Card, CardContent, CardHeader, CardTitle } from '@burdenoff/fe-libs/ui';\nimport { Brain, Target, AlertCircle, DollarSign, TrendingUp, Zap } from 'lucide-react';\nimport { useMyBodyShieldStore } from '../store/mybodyshieldStore';\n\nconst aiInsights = [\n {\n id: 1,\n category: 'Readmission Risk',\n description:\n 'Sarah Johnson shows elevated readmission risk based on A1C trends and missed follow-ups',\n confidence: 87,\n action: 'Schedule proactive endocrinology consult',\n },\n {\n id: 2,\n category: 'Drug Interaction',\n description:\n 'Potential adverse interaction detected between Lisinopril and new NSAID prescription for Robert Wilson',\n confidence: 94,\n action: 'Review medication list with prescribing physician',\n },\n {\n id: 3,\n category: 'Diagnostic Suggestion',\n description:\n 'Michael Chen lipid panel trend suggests possible familial hypercholesterolemia screening',\n confidence: 78,\n action: 'Order genetic screening panel',\n },\n {\n id: 4,\n category: 'Cost Optimization',\n description:\n 'Generic substitution available for 23 active brand-name prescriptions saving est. $4,200/month',\n confidence: 99,\n action: 'Generate substitution report for pharmacy review',\n },\n {\n id: 5,\n category: 'Care Gap',\n description: 'Lisa Thompson overdue for recommended PCOS screening follow-up by 45 days',\n confidence: 92,\n action: 'Send automated appointment reminder',\n },\n {\n id: 6,\n category: 'Population Health',\n description:\n 'Spike in respiratory complaints in zip code 30301 — possible environmental trigger',\n confidence: 71,\n action: 'Cross-reference with air quality data',\n },\n];\n\nexport function AdminAiinsightsPage() {\n const { patients, labResults } = useMyBodyShieldStore();\n const abnormalResults = labResults.filter(\n (l) => l.status === 'abnormal' || l.status === 'critical'\n ).length;\n\n return (\n <div className=\"space-y-6 p-6\">\n <div>\n <h1 className=\"text-2xl font-semibold\">AI Insights</h1>\n <p className=\"text-sm text-muted-foreground\">\n AI-powered predictive analytics and clinical decision support\n </p>\n </div>\n\n <div className=\"grid gap-4 md:grid-cols-4\">\n <Card>\n <CardHeader className=\"flex flex-row items-center justify-between space-y-0 pb-2\">\n <CardTitle className=\"text-sm font-medium\">Prediction Accuracy</CardTitle>\n <Target className=\"h-4 w-4 text-green-500\" />\n </CardHeader>\n <CardContent>\n <div className=\"text-2xl font-bold\">92.3%</div>\n <p className=\"text-xs text-muted-foreground\">Based on last 500 predictions</p>\n </CardContent>\n </Card>\n <Card>\n <CardHeader className=\"flex flex-row items-center justify-between space-y-0 pb-2\">\n <CardTitle className=\"text-sm font-medium\">Readmission Risk Flags</CardTitle>\n <AlertCircle className=\"h-4 w-4 text-orange-500\" />\n </CardHeader>\n <CardContent>\n <div className=\"text-2xl font-bold\">18</div>\n <p className=\"text-xs text-muted-foreground\">\n {abnormalResults} linked to abnormal labs\n </p>\n </CardContent>\n </Card>\n <Card>\n <CardHeader className=\"flex flex-row items-center justify-between space-y-0 pb-2\">\n <CardTitle className=\"text-sm font-medium\">Anomalies Detected</CardTitle>\n <Zap className=\"h-4 w-4 text-red-500\" />\n </CardHeader>\n <CardContent>\n <div className=\"text-2xl font-bold\">7</div>\n <p className=\"text-xs text-muted-foreground\">\n Across {patients.length} monitored patients\n </p>\n </CardContent>\n </Card>\n <Card>\n <CardHeader className=\"flex flex-row items-center justify-between space-y-0 pb-2\">\n <CardTitle className=\"text-sm font-medium\">Est. Cost Savings</CardTitle>\n <DollarSign className=\"h-4 w-4 text-emerald-500\" />\n </CardHeader>\n <CardContent>\n <div className=\"text-2xl font-bold\">$128K</div>\n <p className=\"text-xs text-muted-foreground\">YTD preventive interventions</p>\n </CardContent>\n </Card>\n </div>\n\n <Card>\n <CardHeader>\n <CardTitle className=\"flex items-center gap-2\">\n <Brain className=\"h-5 w-5\" />\n AI-Generated Insights\n </CardTitle>\n </CardHeader>\n <CardContent>\n <div className=\"space-y-4\">\n {aiInsights.map((insight) => (\n <div key={insight.id} className=\"p-4 rounded-lg border bg-muted/30\">\n <div className=\"flex items-center justify-between mb-2\">\n <span className=\"text-xs font-medium px-2 py-0.5 rounded-full bg-primary/10 text-primary\">\n {insight.category}\n </span>\n <div className=\"flex items-center gap-1\">\n <TrendingUp className=\"h-3 w-3 text-green-500\" />\n <span className=\"text-xs font-medium\">{insight.confidence}% confidence</span>\n </div>\n </div>\n <p className=\"text-sm\">{insight.description}</p>\n <p className=\"text-xs text-muted-foreground mt-2\">Recommended: {insight.action}</p>\n </div>\n ))}\n </div>\n </CardContent>\n </Card>\n </div>\n );\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AdminAnalyticsPage.d.ts","sourceRoot":"","sources":["../../../src/mybodyshield/pages/AdminAnalyticsPage.tsx"],"names":[],"mappings":"AAqBA,wBAAgB,kBAAkB,4CAyHjC"}
|
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
import { useMyBodyShieldStore as e } from "../store/mybodyshieldStore.js";
|
|
2
|
+
import { Activity as t, BarChart3 as n, Calendar as r, Heart as i, TrendingUp as a, Users as o } from "lucide-react";
|
|
3
|
+
import { jsx as s, jsxs as c } from "react/jsx-runtime";
|
|
4
|
+
import { Card as l, CardContent as u, CardHeader as d, CardTitle as f } from "@burdenoff/fe-libs/ui";
|
|
5
|
+
//#region src/mybodyshield/pages/AdminAnalyticsPage.tsx
|
|
6
|
+
var p = [
|
|
7
|
+
{
|
|
8
|
+
department: "Cardiology",
|
|
9
|
+
patients: 342,
|
|
10
|
+
appointments: 128,
|
|
11
|
+
satisfaction: 4.8
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
department: "Endocrinology",
|
|
15
|
+
patients: 215,
|
|
16
|
+
appointments: 89,
|
|
17
|
+
satisfaction: 4.7
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
department: "Pulmonology",
|
|
21
|
+
patients: 178,
|
|
22
|
+
appointments: 72,
|
|
23
|
+
satisfaction: 4.9
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
department: "Psychiatry",
|
|
27
|
+
patients: 289,
|
|
28
|
+
appointments: 156,
|
|
29
|
+
satisfaction: 4.6
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
department: "Rheumatology",
|
|
33
|
+
patients: 134,
|
|
34
|
+
appointments: 58,
|
|
35
|
+
satisfaction: 4.8
|
|
36
|
+
}
|
|
37
|
+
], m = [
|
|
38
|
+
{
|
|
39
|
+
month: "Sep",
|
|
40
|
+
appointments: 890
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
month: "Oct",
|
|
44
|
+
appointments: 945
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
month: "Nov",
|
|
48
|
+
appointments: 1020
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
month: "Dec",
|
|
52
|
+
appointments: 980
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
month: "Jan",
|
|
56
|
+
appointments: 1080
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
month: "Feb",
|
|
60
|
+
appointments: 1120
|
|
61
|
+
}
|
|
62
|
+
];
|
|
63
|
+
function h() {
|
|
64
|
+
let { patients: h, appointments: g } = e();
|
|
65
|
+
return /* @__PURE__ */ c("div", {
|
|
66
|
+
className: "space-y-6 p-6",
|
|
67
|
+
children: [
|
|
68
|
+
/* @__PURE__ */ c("div", { children: [/* @__PURE__ */ s("h1", {
|
|
69
|
+
className: "text-2xl font-semibold",
|
|
70
|
+
children: "Platform Analytics"
|
|
71
|
+
}), /* @__PURE__ */ s("p", {
|
|
72
|
+
className: "text-sm text-muted-foreground",
|
|
73
|
+
children: "Comprehensive healthcare platform performance metrics"
|
|
74
|
+
})] }),
|
|
75
|
+
/* @__PURE__ */ c("div", {
|
|
76
|
+
className: "grid gap-4 md:grid-cols-4",
|
|
77
|
+
children: [
|
|
78
|
+
/* @__PURE__ */ c(l, { children: [/* @__PURE__ */ c(d, {
|
|
79
|
+
className: "flex flex-row items-center justify-between space-y-0 pb-2",
|
|
80
|
+
children: [/* @__PURE__ */ s(f, {
|
|
81
|
+
className: "text-sm font-medium",
|
|
82
|
+
children: "Total Patients"
|
|
83
|
+
}), /* @__PURE__ */ s(o, { className: "h-4 w-4 text-blue-500" })]
|
|
84
|
+
}), /* @__PURE__ */ c(u, { children: [/* @__PURE__ */ s("div", {
|
|
85
|
+
className: "text-2xl font-bold",
|
|
86
|
+
children: h.length.toLocaleString()
|
|
87
|
+
}), /* @__PURE__ */ c("div", {
|
|
88
|
+
className: "flex items-center gap-1 text-xs text-green-600",
|
|
89
|
+
children: [/* @__PURE__ */ s(a, { className: "h-3 w-3" }), "+15.3%"]
|
|
90
|
+
})] })] }),
|
|
91
|
+
/* @__PURE__ */ c(l, { children: [/* @__PURE__ */ c(d, {
|
|
92
|
+
className: "flex flex-row items-center justify-between space-y-0 pb-2",
|
|
93
|
+
children: [/* @__PURE__ */ s(f, {
|
|
94
|
+
className: "text-sm font-medium",
|
|
95
|
+
children: "Total Appointments"
|
|
96
|
+
}), /* @__PURE__ */ s(r, { className: "h-4 w-4 text-green-500" })]
|
|
97
|
+
}), /* @__PURE__ */ c(u, { children: [/* @__PURE__ */ s("div", {
|
|
98
|
+
className: "text-2xl font-bold",
|
|
99
|
+
children: g.length
|
|
100
|
+
}), /* @__PURE__ */ c("div", {
|
|
101
|
+
className: "flex items-center gap-1 text-xs text-green-600",
|
|
102
|
+
children: [/* @__PURE__ */ s(a, { className: "h-3 w-3" }), "+8.2%"]
|
|
103
|
+
})] })] }),
|
|
104
|
+
/* @__PURE__ */ c(l, { children: [/* @__PURE__ */ c(d, {
|
|
105
|
+
className: "flex flex-row items-center justify-between space-y-0 pb-2",
|
|
106
|
+
children: [/* @__PURE__ */ s(f, {
|
|
107
|
+
className: "text-sm font-medium",
|
|
108
|
+
children: "Avg Satisfaction"
|
|
109
|
+
}), /* @__PURE__ */ s(i, { className: "h-4 w-4 text-red-500" })]
|
|
110
|
+
}), /* @__PURE__ */ c(u, { children: [/* @__PURE__ */ s("div", {
|
|
111
|
+
className: "text-2xl font-bold",
|
|
112
|
+
children: "4.76/5.0"
|
|
113
|
+
}), /* @__PURE__ */ c("div", {
|
|
114
|
+
className: "flex items-center gap-1 text-xs text-green-600",
|
|
115
|
+
children: [/* @__PURE__ */ s(a, { className: "h-3 w-3" }), "+0.12"]
|
|
116
|
+
})] })] }),
|
|
117
|
+
/* @__PURE__ */ c(l, { children: [/* @__PURE__ */ c(d, {
|
|
118
|
+
className: "flex flex-row items-center justify-between space-y-0 pb-2",
|
|
119
|
+
children: [/* @__PURE__ */ s(f, {
|
|
120
|
+
className: "text-sm font-medium",
|
|
121
|
+
children: "Active Care Plans"
|
|
122
|
+
}), /* @__PURE__ */ s(t, { className: "h-4 w-4 text-purple-500" })]
|
|
123
|
+
}), /* @__PURE__ */ c(u, { children: [/* @__PURE__ */ s("div", {
|
|
124
|
+
className: "text-2xl font-bold",
|
|
125
|
+
children: "847"
|
|
126
|
+
}), /* @__PURE__ */ c("div", {
|
|
127
|
+
className: "flex items-center gap-1 text-xs text-green-600",
|
|
128
|
+
children: [/* @__PURE__ */ s(a, { className: "h-3 w-3" }), "+11.7%"]
|
|
129
|
+
})] })] })
|
|
130
|
+
]
|
|
131
|
+
}),
|
|
132
|
+
/* @__PURE__ */ c("div", {
|
|
133
|
+
className: "grid gap-4 md:grid-cols-2",
|
|
134
|
+
children: [/* @__PURE__ */ c(l, { children: [/* @__PURE__ */ s(d, { children: /* @__PURE__ */ c(f, {
|
|
135
|
+
className: "flex items-center gap-2",
|
|
136
|
+
children: [/* @__PURE__ */ s(n, { className: "h-5 w-5" }), "Monthly Appointment Trends"]
|
|
137
|
+
}) }), /* @__PURE__ */ s(u, { children: /* @__PURE__ */ s("div", {
|
|
138
|
+
className: "space-y-3",
|
|
139
|
+
children: m.map((e) => /* @__PURE__ */ c("div", {
|
|
140
|
+
className: "flex items-center gap-3",
|
|
141
|
+
children: [
|
|
142
|
+
/* @__PURE__ */ s("span", {
|
|
143
|
+
className: "w-8 text-sm text-muted-foreground",
|
|
144
|
+
children: e.month
|
|
145
|
+
}),
|
|
146
|
+
/* @__PURE__ */ s("div", {
|
|
147
|
+
className: "flex-1 h-3 bg-muted rounded overflow-hidden",
|
|
148
|
+
children: /* @__PURE__ */ s("div", {
|
|
149
|
+
className: "h-3 bg-primary rounded",
|
|
150
|
+
style: { width: `${e.appointments / 1200 * 100}%` }
|
|
151
|
+
})
|
|
152
|
+
}),
|
|
153
|
+
/* @__PURE__ */ s("span", {
|
|
154
|
+
className: "text-sm font-medium w-16 text-right",
|
|
155
|
+
children: e.appointments
|
|
156
|
+
})
|
|
157
|
+
]
|
|
158
|
+
}, e.month))
|
|
159
|
+
}) })] }), /* @__PURE__ */ c(l, { children: [/* @__PURE__ */ s(d, { children: /* @__PURE__ */ s(f, { children: "Department Performance" }) }), /* @__PURE__ */ s(u, { children: /* @__PURE__ */ s("div", {
|
|
160
|
+
className: "space-y-4",
|
|
161
|
+
children: p.map((e) => /* @__PURE__ */ c("div", {
|
|
162
|
+
className: "flex items-center justify-between p-3 rounded-lg bg-muted/50",
|
|
163
|
+
children: [/* @__PURE__ */ c("div", { children: [/* @__PURE__ */ s("p", {
|
|
164
|
+
className: "text-sm font-medium",
|
|
165
|
+
children: e.department
|
|
166
|
+
}), /* @__PURE__ */ c("p", {
|
|
167
|
+
className: "text-xs text-muted-foreground",
|
|
168
|
+
children: [
|
|
169
|
+
e.patients,
|
|
170
|
+
" patients | ",
|
|
171
|
+
e.appointments,
|
|
172
|
+
" appts"
|
|
173
|
+
]
|
|
174
|
+
})] }), /* @__PURE__ */ c("div", {
|
|
175
|
+
className: "flex items-center gap-1",
|
|
176
|
+
children: [/* @__PURE__ */ s("span", {
|
|
177
|
+
className: "text-sm font-medium",
|
|
178
|
+
children: e.satisfaction
|
|
179
|
+
}), /* @__PURE__ */ s("span", {
|
|
180
|
+
className: "text-yellow-500 text-xs",
|
|
181
|
+
children: "★"
|
|
182
|
+
})]
|
|
183
|
+
})]
|
|
184
|
+
}, e.department))
|
|
185
|
+
}) })] })]
|
|
186
|
+
})
|
|
187
|
+
]
|
|
188
|
+
});
|
|
189
|
+
}
|
|
190
|
+
//#endregion
|
|
191
|
+
export { h as AdminAnalyticsPage };
|
|
192
|
+
|
|
193
|
+
//# sourceMappingURL=AdminAnalyticsPage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AdminAnalyticsPage.js","names":[],"sources":["../../../src/mybodyshield/pages/AdminAnalyticsPage.tsx"],"sourcesContent":["import { Card, CardContent, CardHeader, CardTitle } from '@burdenoff/fe-libs/ui';\nimport { BarChart3, TrendingUp, Users, Calendar, Activity, Heart } from 'lucide-react';\nimport { useMyBodyShieldStore } from '../store/mybodyshieldStore';\n\nconst departmentMetrics = [\n { department: 'Cardiology', patients: 342, appointments: 128, satisfaction: 4.8 },\n { department: 'Endocrinology', patients: 215, appointments: 89, satisfaction: 4.7 },\n { department: 'Pulmonology', patients: 178, appointments: 72, satisfaction: 4.9 },\n { department: 'Psychiatry', patients: 289, appointments: 156, satisfaction: 4.6 },\n { department: 'Rheumatology', patients: 134, appointments: 58, satisfaction: 4.8 },\n];\n\nconst monthlyTrends = [\n { month: 'Sep', appointments: 890 },\n { month: 'Oct', appointments: 945 },\n { month: 'Nov', appointments: 1020 },\n { month: 'Dec', appointments: 980 },\n { month: 'Jan', appointments: 1080 },\n { month: 'Feb', appointments: 1120 },\n];\n\nexport function AdminAnalyticsPage() {\n const { patients, appointments } = useMyBodyShieldStore();\n\n return (\n <div className=\"space-y-6 p-6\">\n <div>\n <h1 className=\"text-2xl font-semibold\">Platform Analytics</h1>\n <p className=\"text-sm text-muted-foreground\">\n Comprehensive healthcare platform performance metrics\n </p>\n </div>\n\n <div className=\"grid gap-4 md:grid-cols-4\">\n <Card>\n <CardHeader className=\"flex flex-row items-center justify-between space-y-0 pb-2\">\n <CardTitle className=\"text-sm font-medium\">Total Patients</CardTitle>\n <Users className=\"h-4 w-4 text-blue-500\" />\n </CardHeader>\n <CardContent>\n <div className=\"text-2xl font-bold\">{patients.length.toLocaleString()}</div>\n <div className=\"flex items-center gap-1 text-xs text-green-600\">\n <TrendingUp className=\"h-3 w-3\" />\n +15.3%\n </div>\n </CardContent>\n </Card>\n <Card>\n <CardHeader className=\"flex flex-row items-center justify-between space-y-0 pb-2\">\n <CardTitle className=\"text-sm font-medium\">Total Appointments</CardTitle>\n <Calendar className=\"h-4 w-4 text-green-500\" />\n </CardHeader>\n <CardContent>\n <div className=\"text-2xl font-bold\">{appointments.length}</div>\n <div className=\"flex items-center gap-1 text-xs text-green-600\">\n <TrendingUp className=\"h-3 w-3\" />\n +8.2%\n </div>\n </CardContent>\n </Card>\n <Card>\n <CardHeader className=\"flex flex-row items-center justify-between space-y-0 pb-2\">\n <CardTitle className=\"text-sm font-medium\">Avg Satisfaction</CardTitle>\n <Heart className=\"h-4 w-4 text-red-500\" />\n </CardHeader>\n <CardContent>\n <div className=\"text-2xl font-bold\">4.76/5.0</div>\n <div className=\"flex items-center gap-1 text-xs text-green-600\">\n <TrendingUp className=\"h-3 w-3\" />\n +0.12\n </div>\n </CardContent>\n </Card>\n <Card>\n <CardHeader className=\"flex flex-row items-center justify-between space-y-0 pb-2\">\n <CardTitle className=\"text-sm font-medium\">Active Care Plans</CardTitle>\n <Activity className=\"h-4 w-4 text-purple-500\" />\n </CardHeader>\n <CardContent>\n <div className=\"text-2xl font-bold\">847</div>\n <div className=\"flex items-center gap-1 text-xs text-green-600\">\n <TrendingUp className=\"h-3 w-3\" />\n +11.7%\n </div>\n </CardContent>\n </Card>\n </div>\n\n <div className=\"grid gap-4 md:grid-cols-2\">\n <Card>\n <CardHeader>\n <CardTitle className=\"flex items-center gap-2\">\n <BarChart3 className=\"h-5 w-5\" />\n Monthly Appointment Trends\n </CardTitle>\n </CardHeader>\n <CardContent>\n <div className=\"space-y-3\">\n {monthlyTrends.map((m) => (\n <div key={m.month} className=\"flex items-center gap-3\">\n <span className=\"w-8 text-sm text-muted-foreground\">{m.month}</span>\n <div className=\"flex-1 h-3 bg-muted rounded overflow-hidden\">\n <div\n className=\"h-3 bg-primary rounded\"\n style={{ width: `${(m.appointments / 1200) * 100}%` }}\n />\n </div>\n <span className=\"text-sm font-medium w-16 text-right\">{m.appointments}</span>\n </div>\n ))}\n </div>\n </CardContent>\n </Card>\n <Card>\n <CardHeader>\n <CardTitle>Department Performance</CardTitle>\n </CardHeader>\n <CardContent>\n <div className=\"space-y-4\">\n {departmentMetrics.map((dept) => (\n <div\n key={dept.department}\n className=\"flex items-center justify-between p-3 rounded-lg bg-muted/50\"\n >\n <div>\n <p className=\"text-sm font-medium\">{dept.department}</p>\n <p className=\"text-xs text-muted-foreground\">\n {dept.patients} patients | {dept.appointments} appts\n </p>\n </div>\n <div className=\"flex items-center gap-1\">\n <span className=\"text-sm font-medium\">{dept.satisfaction}</span>\n <span className=\"text-yellow-500 text-xs\">★</span>\n </div>\n </div>\n ))}\n </div>\n </CardContent>\n </Card>\n </div>\n </div>\n );\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AdminComplianceReportsPage.d.ts","sourceRoot":"","sources":["../../../src/mybodyshield/pages/AdminComplianceReportsPage.tsx"],"names":[],"mappings":"AAyEA,wBAAgB,0BAA0B,4CA8HzC"}
|