Dashboard
Messages
Advanced Chatbot
Subscribers
Workshops
Video Resources
Tai Chi Videos
Coach Pei Corner
Johanna Corner
BFSAN Inquiries
Programs
12-Week Risk Reduction
Command Center
Participants
Consent Audit
Baseline Review
Goal Configuration
Weekly Scoring
Interventions
Coach Messages
Analytics
Daily Logs
Email Templates
30-Day Challenge
Nutritional Wellness
Tai Chi Program
Pickleball Program
8-Week Challenge
Soon
Educational Seminar
Soon
System
Cookie Consent Logs
Testimonials
Submissions
Users
System Settings
View Website
Edit Knowledge
Log In
Edit Knowledge Base Item
← Back to List
Title
Category
SubCategory
User Intent
Primary Question
Keywords (comma separated)
Content (Knowledge provided to AI)
@section Styles { .profile-header { background: #fff; padding: 25px; border-radius: 12px; border: 1px solid #eef0f3; margin-bottom: 25px; display: flex; justify-content: space-between; align-items: center; box-shadow: 0 4px 12px rgba(0,0,0,0.03); } .user-avatar-large { width: 70px; height: 70px; border-radius: 50%; background: #3182ce; color: #fff; display: flex; align-items: center; justify-content: center; font-size: 28px; font-weight: 800; } .profile-tabs { display: flex; gap: 15px; border-bottom: 2px solid #e2e8f0; margin-bottom: 25px; overflow-x: auto; white-space: nowrap; } .profile-tab { padding: 12px 20px; font-weight: 700; font-size: 14px; color: #64748b; cursor: pointer; border-bottom: 3px solid transparent; transition: all 0.2s; text-decoration: none; } .profile-tab:hover { color: #085536; } .profile-tab.active { color: #085536; border-bottom-color: #085536; } .tab-content { display: none; } .tab-content.active { display: block; } .metric-card { background: #f8fafc; border: 1px solid #eef0f3; border-radius: 8px; padding: 20px; text-align: center; } .metric-label { font-size: 11px; font-weight: 800; text-transform: uppercase; color: var(--text-muted); display: block; margin-bottom: 8px; } .metric-value { font-size: 32px; font-weight: 900; color: #085536; } .daily-table { width: 100%; border-collapse: collapse; font-size: 13px; } .daily-table th { background: #f1f5f9; padding: 12px; text-align: left; font-weight: 700; color: #4a5568; border-bottom: 1px solid #e2e8f0; } .daily-table td { padding: 12px; border-bottom: 1px solid #f1f5f9; } .data-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 15px; font-size: 14px; } .data-item { padding: 12px; background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 8px; } .data-item strong { display: block; font-size: 11px; text-transform: uppercase; color: #64748b; margin-bottom: 4px; font-weight: 800; } .chart-container { background: #fff; border: 1px solid #e2e8f0; border-radius: 8px; padding: 20px; } } @if (TempData["SuccessMessage"] != null) { @TempData["SuccessMessage"] } @if (TempData["ErrorMessage"] != null) { @TempData["ErrorMessage"] } Back to Challenge Dashboard @if (!Model.Enrollment.AdminApproved) { Pending Admin Approval This participant has completed onboarding but cannot start Day 1 until you approve their profile. Approve Participant } @(string.IsNullOrWhiteSpace(Model.Enrollment.User?.FirstName) ? "U" : Model.Enrollment.User!.FirstName.Substring(0,1).ToUpper()) @Model.Enrollment.User?.FirstName @Model.Enrollment.User?.LastName @Model.Enrollment.User?.Email Enrolled: @Model.Enrollment.EnrollmentDate.ToString("MMM dd, yyyy") @if (Model.Enrollment.IsCompleted) { Completed } else if (Model.Enrollment.IsActive) { Active Participant } else { Inactive } Overview & Metrics Day 0: Baseline Data Day 0: Goal Setting Consents Daily Logs Send Message Total Challenge Score @Model.Enrollment.TotalScore @if (Model.Enrollment.TotalScore Low Score - Needs Encouragement } Days Logged @totalLogs / 30 Consistency Rate @(Math.Round(Model.ConsistencyRate))% Weekly Score Trend Domain Breakdown (Week @Model.CurrentWeek) Key Strength @Model.StrengthArea Area for Improvement @Model.ImprovementArea @if (Model.Baseline != null) { Participant Information Preferred Name @(string.IsNullOrEmpty(Model.Baseline.PreferredName) ? "N/A" : Model.Baseline.PreferredName) Date of Birth @(Model.Baseline.DateOfBirth?.ToString("MMM dd, yyyy") ?? "N/A") Timezone @(string.IsNullOrEmpty(Model.Baseline.Timezone) ? "N/A" : Model.Baseline.Timezone) Preferred Comm. @(string.IsNullOrEmpty(Model.Baseline.PreferredCommunication) ? "N/A" : Model.Baseline.PreferredCommunication) Emergency Contact @Model.Baseline.EmergencyContactName @Model.Baseline.EmergencyContactPhone (@Model.Baseline.EmergencyContactRelationship) Primary Care Provider @Model.Baseline.PrimaryCareProviderName @Model.Baseline.PrimaryCareProviderPhone Medical History Medical History @Model.Baseline.MedicalHistoryJson Other History @(string.IsNullOrEmpty(Model.Baseline.MedicalHistoryOther) ? "None" : Model.Baseline.MedicalHistoryOther) Family History @Model.Baseline.FamilyHistoryJson Prostate Cancer Treatment @(string.IsNullOrEmpty(Model.Baseline.ProstateCancerTreatmentDetails) ? "None" : Model.Baseline.ProstateCancerTreatmentDetails) Current Medications @(string.IsNullOrEmpty(Model.Baseline.CurrentMedications) ? "None" : Model.Baseline.CurrentMedications) Vitals & Biomarkers Height & Weight @Model.Baseline.HeightInches in, @Model.Baseline.WeightLbs lbs Blood Pressure @Model.Baseline.BloodPressureSystolic / @Model.Baseline.BloodPressureDiastolic Resting Heart Rate @Model.Baseline.RestingHeartRate bpm Waist Circumference @Model.Baseline.WaistCircumferenceInches in PSA @(Model.Baseline.Psa.HasValue ? $"{Model.Baseline.Psa} (Date: {Model.Baseline.PsaCollectionDate:d})" : "N/A") HbA1c @(Model.Baseline.HbA1c.HasValue ? Model.Baseline.HbA1c.ToString() : "N/A") Total Cholesterol @(Model.Baseline.TotalCholesterol.HasValue ? Model.Baseline.TotalCholesterol.ToString() : "N/A") HDL / LDL @(Model.Baseline.Hdl.HasValue ? Model.Baseline.Hdl.ToString() : "N/A") / @(Model.Baseline.Ldl.HasValue ? Model.Baseline.Ldl.ToString() : "N/A") Fasting Glucose @(Model.Baseline.FastingGlucose.HasValue ? Model.Baseline.FastingGlucose.ToString() : "N/A") Safety & Readiness Clearance Status @Model.Baseline.ClearanceStatus Mobility Level @Model.Baseline.MobilityLevel Assistive Devices @Model.Baseline.AssistiveDevicesJson Pain with Activity @(Model.Baseline.HasPainWithActivity ? "Yes: " + Model.Baseline.PainDetails : "No") Dizziness / Chest Discomfort @(Model.Baseline.HasDizziness ? "Yes" : "No") / @(Model.Baseline.HasChestDiscomfort ? "Yes" : "No") Fall Concern / Breathlessness @(Model.Baseline.HasFallConcern ? "Yes" : "No") / @(Model.Baseline.HasBreathlessness ? "Yes" : "No") Recent Surgery @(Model.Baseline.HasRecentSurgery ? "Yes: " + Model.Baseline.RecentSurgeryDetails : "No") Clinician Restrictions @(string.IsNullOrEmpty(Model.Baseline.ClinicianRestrictions) ? "None" : Model.Baseline.ClinicianRestrictions) Safety Flags @(Model.Baseline.HasSafetyFlags ? "Yes" : "No") Movement Baseline Daily Steps @Model.Baseline.DailySteps Active Days/Week @Model.Baseline.ActiveDaysPerWeek Aerobic Min/Week @Model.Baseline.AerobicMinutesPerWeek Strength Days/Week @Model.Baseline.StrengthDaysPerWeek Sedentary Hours/Day @Model.Baseline.SedentaryHoursPerDay Tai Chi Experience @Model.Baseline.TaiChiExperience Pickleball Experience @Model.Baseline.PickleballExperience Preferred Activities @Model.Baseline.PreferredActivitiesJson Movement Confidence @Model.Baseline.MovementConfidence / 10 Nutrition & Holistic Wellness Water Intake @Model.Baseline.DailyWaterIntake @Model.Baseline.WaterIntakeUnit Fruit/Veg Intake @Model.Baseline.FruitVegetableIntake Whole Grains @Model.Baseline.WholeGrainIntake Lean Protein @Model.Baseline.LeanPlantProteinIntake Processed Meat @Model.Baseline.ProcessedMeatIntake Sugary Beverages @Model.Baseline.SugaryBeverageIntake Meal Planning Freq. @Model.Baseline.MealPlanningFrequency Sleep Hours & Quality @Model.Baseline.SleepHoursPerNight hrs (Quality: @Model.Baseline.SleepQuality/10) Stress Level @Model.Baseline.StressLevel / 10 Recovery Days/Week @Model.Baseline.RecoveryDaysPerWeek Social Support @Model.Baseline.SocialSupport Readiness to Change @Model.Baseline.ReadinessToChange Accessibility Needs Needs @Model.Baseline.AccessibilityNeedsJson Language Pref. @Model.Baseline.LanguagePreference Support Format @Model.Baseline.PreferredSupportFormat } else { No baseline data submitted. } @if (Model.Goal != null) { Movement Goals (By Day 30) Target Daily Steps @Model.Goal.TargetDailySteps steps Frequency @Model.Goal.MovementDaysPerWeek days/week Duration @Model.Goal.MovementMinutesPerSession min/session Strength Training @Model.Goal.StrengthTrainingDaysGoal days/week Location @Model.Goal.MovementLocation Activities @Model.Goal.MovementActivitiesJson Nutrition Goals (By Day 30) Fruit Servings @Model.Goal.FruitServingsGoal servings Veggie Servings @Model.Goal.VegetableServingsGoal servings Whole Grains @Model.Goal.WholeGrainServingsGoal servings Lean Protein Meals @Model.Goal.LeanProteinMealsGoal meals Ultra-Processed Max @Model.Goal.UltraProcessedFoodMaxGoal times Sugary Bev. Max @Model.Goal.SugarSweetenedBeverageMaxGoal times Meal Planning Goal @(Model.Goal.MealPlanningGoal ? "Yes" : "No") Additional Nutrition Goals @Model.Goal.NutritionGoalsJson Fluid Intake Goal Target Fluid Intake @Model.Goal.FluidIntakeGoalAmount @Model.Goal.FluidIntakeUnit Wellness & Social Goals (By Day 30) Sleep Goal @Model.Goal.SleepGoalHours hrs/night Stress Mgmt Time @Model.Goal.StressManagementMinutes min/session Stress Mgmt Days @Model.Goal.StressManagementDaysPerWeek days/week Stress Activities @Model.Goal.StressActivitiesJson Social Days/Week @Model.Goal.SocialSupportDaysPerWeek Social Goals @Model.Goal.SocialGoalsJson } else { No goals submitted yet. } Legal & Consent Records @if (Model.Consents.Any()) { Type Version Signed By (Signature) IP Address Date Signed Status @foreach(var consent in Model.Consents) { @consent.ConsentType @consent.ConsentVersion @consent.SignatureData @consent.IpAddress @consent.SignedAt.ToString("MMM dd, yyyy HH:mm") @if (consent.RevokedAt == null) { ACTIVE } else { REVOKED } } } else { No consent records found. } .log-card { border: 1px solid #e2e8f0; border-radius: 8px; margin-bottom: 20px; background: #fff; box-shadow: 0 2px 4px rgba(0,0,0,0.02); } .log-header { padding: 15px 20px; background: #f8fafc; border-bottom: 1px solid #e2e8f0; border-radius: 8px 8px 0 0; display: flex; justify-content: space-between; align-items: center; } .log-header h4 { margin: 0; font-size: 16px; color: #1e293b; font-weight: 800; display: flex; align-items: center; gap: 10px; } .log-body { padding: 20px; display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 20px; } .log-section { background: #fafafa; border: 1px solid #f1f5f9; padding: 15px; border-radius: 6px; } .log-section h5 { margin: 0 0 10px 0; font-size: 13px; color: #085536; text-transform: uppercase; font-weight: 800; letter-spacing: 0.5px; border-bottom: 2px solid #e2e8f0; padding-bottom: 8px; } .log-row { display: flex; justify-content: space-between; margin-bottom: 8px; font-size: 13px; border-bottom: 1px dashed #e2e8f0; padding-bottom: 4px; } .log-row strong { color: #64748b; } .log-row span { color: #0f172a; font-weight: 600; text-align: right; max-width: 60%; word-break: break-word; } .status-badge { padding: 4px 10px; border-radius: 4px; font-size: 11px; font-weight: 800; text-transform: uppercase; } .status-badge.GREEN { background: #dcfce7; color: #166534; } .status-badge.YELLOW { background: #fef08a; color: #854d0e; } .status-badge.RED { background: #fee2e2; color: #991b1b; } @if (Model.Enrollment.DailyLogs.Any()) { @foreach (var log in Model.Enrollment.DailyLogs.OrderByDescending(l => l.DayNumber)) { Day @log.DayNumber (@log.LogDate.ToString("MMM dd, yyyy")) Score: @log.PointsEarned @log.ColorStatus Movement Activity @(string.IsNullOrEmpty(log.MovementActivity) ? "None" : log.MovementActivity) Duration @log.MovementMinutes min Steps @log.StepsToday Strength Training @(log.StrengthTrainingToday ? "Yes" : "No") Domain Status @(log.MovementStatus == 1.0m ? "Met" : log.MovementStatus == 0.5m ? "Partially Met" : "Not Met") Nutrition Fruit Servings @log.FruitServings Veggie Servings @log.VegetableServings Whole Grains @log.WholeGrainServings Lean Protein Meals @log.LeanProteinMeals Ultra-Processed Count @log.UltraProcessedFoodCount Sugary Beverages @log.SugarSweetenedBeverageCount Domain Status @(log.NutritionHydrationStatus == 1.0m ? "Met" : log.NutritionHydrationStatus == 0.5m ? "Partially Met" : "Not Met") Fluid & Sleep Fluid Intake @log.FluidIntakeAmount @log.FluidIntakeUnit Sleep Hours @log.SleepHoursLastNight hrs Domain Status @(log.RestorationStatus == 1.0m ? "Met" : log.RestorationStatus == 0.5m ? "Partially Met" : "Not Met") Mental & Social Mental Wellness @(string.IsNullOrEmpty(log.MentalWellnessAction) ? "None" : log.MentalWellnessAction) Mindfulness Duration @log.MentalWellnessMinutes min Social Activity @(log.SocialActivityCompleted ? "Yes" : "No") Social Details @(string.IsNullOrEmpty(log.SocialActivityDescription) ? "None" : log.SocialActivityDescription) Learning Status @(log.LearningStatus == 1.0m ? "Met" : log.LearningStatus == 0.5m ? "Partially Met" : "Not Met") @if (!string.IsNullOrEmpty(log.Notes) || !string.IsNullOrEmpty(log.MealBreakfastDescription) || !string.IsNullOrEmpty(log.MealLunchDescription) || !string.IsNullOrEmpty(log.MealDinnerDescription)) { Notes & Meals @if(!string.IsNullOrEmpty(log.MealBreakfastDescription)){ Breakfast @log.MealBreakfastDescription } @if(!string.IsNullOrEmpty(log.MealLunchDescription)){ Lunch @log.MealLunchDescription } @if(!string.IsNullOrEmpty(log.MealDinnerDescription)){ Dinner @log.MealDinnerDescription } @if(!string.IsNullOrEmpty(log.MealSnackDescription)){ Snack @log.MealSnackDescription } @if(!string.IsNullOrEmpty(log.Notes)){ Daily Reflection/Notes @log.Notes } } } } else { No daily logs submitted yet. } Send Direct Encouragement Email Compose a direct message to this participant. This email will be sent immediately to @Model.Enrollment.User?.Email and formatted professionally using the BrightPath Foundation template. Subject Line Message Body Send Email @section Scripts { document.addEventListener('DOMContentLoaded', function () { // Weekly Trend Chart var trendCtx = document.getElementById('weeklyTrendChart'); if (trendCtx) { new Chart(trendCtx.getContext('2d'), { type: 'bar', data: { labels: ['Week 1', 'Week 2', 'Week 3', 'Week 4'], datasets: [{ label: 'Score', data: [ @(Model.WeeklyTrend[0].ToString("0.##")), @(Model.WeeklyTrend[1].ToString("0.##")), @(Model.WeeklyTrend[2].ToString("0.##")), @(Model.WeeklyTrend[3].ToString("0.##")) ], backgroundColor: '#085536', borderRadius: 4 }] }, options: { responsive: true, maintainAspectRatio: false, plugins: { legend: { display: false } }, scales: { y: { beginAtZero: true, max: 100 } } } }); } // Domain Scores Chart var domainCtx = document.getElementById('domainScoresChart'); if (domainCtx) { var domainLabels = []; var domainData = []; @foreach(var ds in Model.DomainScores) { @:domainLabels.push('@ds.Key'); @:domainData.push(@(ds.Value.ToString("0.##"))); } new Chart(domainCtx.getContext('2d'), { type: 'doughnut', data: { labels: domainLabels, datasets: [{ data: domainData, backgroundColor: ['#e86f2a', '#085536', '#805ad5', '#3182ce', '#319795'], borderWidth: 0 }] }, options: { responsive: true, maintainAspectRatio: false, cutout: '70%', plugins: { legend: { position: 'right' } } } }); } }); }
Page Title
Page URL
Related Questions (JSON Array of strings)
Recommended Actions (JSON Array of objects)
[]
Active
Save Changes
Cancel