# jokerificous27/bmimis architecture

> Architecture diagram of the GitHub repository jokerificous27/bmimis, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-12). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/jokerificous27/bmimis
- Repository: https://github.com/jokerificous27/bmimis

## Overview

This is a role-based PNP Health Service application for personnel BMI assessments, monthly weigh-ins, interventions, compliance monitoring, and official reporting. The main workflow is staff registering personnel, recording and reviewing assessments and monthly weights, then monitoring compliance and producing reports or printable forms; personnel can also view their own health information. The graph preserves the README’s major capabilities and uses sampled source references where available. Several feature modules were not sampled, so their internal call paths are not asserted.

Main entry points: [`app/Services/MonthlyMonitoringService.php`](https://github.com/jokerificous27/bmimis/blob/main/app/Services/MonthlyMonitoringService.php) (Monthly monitoring), [`app/Services/AssessmentService.php`](https://github.com/jokerificous27/bmimis/blob/main/app/Services/AssessmentService.php) (Assessment processing), [`app/Providers/FortifyServiceProvider.php`](https://github.com/jokerificous27/bmimis/blob/main/app/Providers/FortifyServiceProvider.php) (Authentication and permissions), [`app/Models/BmiAssessment.php`](https://github.com/jokerificous27/bmimis/blob/main/app/Models/BmiAssessment.php) (Personnel health records)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_records["Access and Personnel"]
  node_auth["Authentication and permissions"]
  node_personnel["Personnel records"]
  node_users[("User accounts<br/>[User.php]")]
end

subgraph group_health["Health Records"]
  node_assessments["BMI assessments"]
  node_assessment_service["Assessment processing"]
  node_bmi["BMI evaluation"]
  node_health_records[("Personnel health records<br/>[BmiAssessment.php]")]
end

subgraph group_operations["Monitoring and Care"]
  node_station["Weigh-in station<br/>[Station.php]"]
  node_monthly_service["Monthly monitoring"]
  node_monthly_records[("Monthly weight records")]
  node_review["Measurement review"]
  node_interventions["Interventions and follow-ups"]
  node_compliance["Compliance monitoring<br/>[Index.php]"]
end

subgraph group_insight["Analytics and Reports"]
  node_dashboard["Dashboards and analytics"]
  node_reports["Reports and exports"]
  node_print["Official print forms"]
  node_report_builder["Report builder<br/>[ReportBuilder.php]"]
end

subgraph group_admin["Administration"]
  node_admin["System administration"]
  node_settings["System settings<br/>[Settings.php]"]
  node_audit[("Audit trail<br/>[ActivityLog.php]")]
end

node_staff(("Health staff"))
node_personnel_actor(("PNP personnel"))

node_staff -->|"signs in"| node_auth
node_personnel_actor -->|"signs in"| node_auth
node_staff -->|"registers personnel"| node_personnel
node_staff -->|"records assessments"| node_assessments
node_staff -->|"records weigh-ins"| node_station
node_personnel_actor -.->|"views health information"| node_monthly_records
node_auth -->|"authenticates"| node_users
node_personnel -->|"organizes profiles"| node_health_records
node_assessments -.->|"submits assessments"| node_assessment_service
node_assessment_service -->|"evaluates BMI"| node_bmi
node_assessment_service -->|"writes assessments"| node_health_records
node_station -.->|"records measurements"| node_monthly_service
node_monthly_service -->|"writes weights"| node_monthly_records
node_review -->|"answers review"| node_monthly_service
node_review -->|"creates assessment"| node_assessment_service
node_monthly_service -->|"checks assessments"| node_health_records
node_staff -->|"manages care"| node_interventions
node_staff -->|"monitors compliance"| node_compliance
node_dashboard -->|"reads monitoring"| node_monthly_service
node_staff -->|"reviews analytics"| node_dashboard
node_staff -->|"exports reports"| node_reports
node_reports -->|"builds report data"| node_report_builder
node_staff -->|"opens print forms"| node_print
node_print -->|"reads year sheet"| node_monthly_service
node_admin -.->|"configures settings"| node_settings
node_staff -->|"administers system"| node_admin

click node_auth "https://github.com/jokerificous27/bmimis/blob/main/app/Providers/FortifyServiceProvider.php"
click node_personnel "https://github.com/jokerificous27/bmimis/tree/main/app/Livewire/Personnel"
click node_users "https://github.com/jokerificous27/bmimis/blob/main/app/Models/User.php"
click node_assessments "https://github.com/jokerificous27/bmimis/tree/main/app/Livewire/Assessments"
click node_assessment_service "https://github.com/jokerificous27/bmimis/blob/main/app/Services/AssessmentService.php"
click node_bmi "https://github.com/jokerificous27/bmimis/tree/main/app/Services/Bmi"
click node_health_records "https://github.com/jokerificous27/bmimis/blob/main/app/Models/BmiAssessment.php"
click node_station "https://github.com/jokerificous27/bmimis/blob/main/app/Livewire/Monitoring/Station.php"
click node_monthly_service "https://github.com/jokerificous27/bmimis/blob/main/app/Services/MonthlyMonitoringService.php"
click node_monthly_records "https://github.com/jokerificous27/bmimis/blob/main/app/Models/MonthlyWeightMonitoring.php"
click node_review "https://github.com/jokerificous27/bmimis/blob/main/app/Livewire/Monitoring/MeasurementReview.php"
click node_interventions "https://github.com/jokerificous27/bmimis/tree/main/app/Livewire/Interventions"
click node_compliance "https://github.com/jokerificous27/bmimis/blob/main/app/Livewire/Compliance/Index.php"
click node_dashboard "https://github.com/jokerificous27/bmimis/blob/main/app/Livewire/Dashboard/HealthServiceDashboard.php"
click node_reports "https://github.com/jokerificous27/bmimis/blob/main/app/Http/Controllers/ReportController.php"
click node_print "https://github.com/jokerificous27/bmimis/blob/main/app/Http/Controllers/PrintController.php"
click node_report_builder "https://github.com/jokerificous27/bmimis/blob/main/app/Services/Reports/ReportBuilder.php"
click node_admin "https://github.com/jokerificous27/bmimis/tree/main/app/Livewire/Admin"
click node_settings "https://github.com/jokerificous27/bmimis/blob/main/app/Support/Settings.php"
click node_audit "https://github.com/jokerificous27/bmimis/blob/main/app/Models/ActivityLog.php"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_auth,node_personnel,node_users toneBlue
class node_assessments,node_assessment_service,node_bmi,node_health_records toneAmber
class node_station,node_monthly_service,node_monthly_records,node_review,node_interventions,node_compliance toneMint
class node_dashboard,node_reports,node_print,node_report_builder toneRose
class node_admin,node_settings,node_audit,node_staff,node_personnel_actor toneIndigo
```

## Components

### Access and Personnel

- [Authentication and permissions](https://github.com/jokerificous27/bmimis/blob/main/app/Providers/FortifyServiceProvider.php): `app/Providers/FortifyServiceProvider.php`
- [Personnel records](https://github.com/jokerificous27/bmimis/tree/main/app/Livewire/Personnel): `app/Livewire/Personnel`
- [User accounts](https://github.com/jokerificous27/bmimis/blob/main/app/Models/User.php): `app/Models/User.php`

### Health Records

- [BMI assessments](https://github.com/jokerificous27/bmimis/tree/main/app/Livewire/Assessments): `app/Livewire/Assessments`
- [Assessment processing](https://github.com/jokerificous27/bmimis/blob/main/app/Services/AssessmentService.php): `app/Services/AssessmentService.php`
- [BMI evaluation](https://github.com/jokerificous27/bmimis/tree/main/app/Services/Bmi): `app/Services/Bmi`
- [Personnel health records](https://github.com/jokerificous27/bmimis/blob/main/app/Models/BmiAssessment.php): `app/Models/BmiAssessment.php`

### Monitoring and Care

- [Weigh-in station](https://github.com/jokerificous27/bmimis/blob/main/app/Livewire/Monitoring/Station.php): `app/Livewire/Monitoring/Station.php`
- [Monthly monitoring](https://github.com/jokerificous27/bmimis/blob/main/app/Services/MonthlyMonitoringService.php): `app/Services/MonthlyMonitoringService.php`
- [Monthly weight records](https://github.com/jokerificous27/bmimis/blob/main/app/Models/MonthlyWeightMonitoring.php): `app/Models/MonthlyWeightMonitoring.php`
- [Measurement review](https://github.com/jokerificous27/bmimis/blob/main/app/Livewire/Monitoring/MeasurementReview.php): `app/Livewire/Monitoring/MeasurementReview.php`
- [Interventions and follow-ups](https://github.com/jokerificous27/bmimis/tree/main/app/Livewire/Interventions): `app/Livewire/Interventions`
- [Compliance monitoring](https://github.com/jokerificous27/bmimis/blob/main/app/Livewire/Compliance/Index.php): `app/Livewire/Compliance/Index.php`

### Analytics and Reports

- [Dashboards and analytics](https://github.com/jokerificous27/bmimis/blob/main/app/Livewire/Dashboard/HealthServiceDashboard.php): `app/Livewire/Dashboard/HealthServiceDashboard.php`
- [Reports and exports](https://github.com/jokerificous27/bmimis/blob/main/app/Http/Controllers/ReportController.php): `app/Http/Controllers/ReportController.php`
- [Official print forms](https://github.com/jokerificous27/bmimis/blob/main/app/Http/Controllers/PrintController.php): `app/Http/Controllers/PrintController.php`
- [Report builder](https://github.com/jokerificous27/bmimis/blob/main/app/Services/Reports/ReportBuilder.php): `app/Services/Reports/ReportBuilder.php`

### Administration

- [System administration](https://github.com/jokerificous27/bmimis/tree/main/app/Livewire/Admin): `app/Livewire/Admin`
- [System settings](https://github.com/jokerificous27/bmimis/blob/main/app/Support/Settings.php): `app/Support/Settings.php`
- [Audit trail](https://github.com/jokerificous27/bmimis/blob/main/app/Models/ActivityLog.php): `app/Models/ActivityLog.php`

### Other components

- **Health staff**
- **PNP personnel**

## Connections

- Health staff → Authentication and permissions: signs in (evidence: `README.md`)
- PNP personnel → Authentication and permissions: signs in (evidence: `README.md`)
- Health staff → Personnel records: registers personnel (evidence: `README.md`)
- Health staff → BMI assessments: records assessments (evidence: `README.md`)
- Health staff → Weigh-in station: records weigh-ins (evidence: `README.md`)
- PNP personnel → Monthly weight records: views health information
- Authentication and permissions → User accounts: authenticates (evidence: `app/Providers/FortifyServiceProvider.php`)
- Personnel records → Personnel health records: organizes profiles
- BMI assessments → Assessment processing: submits assessments
- Assessment processing → BMI evaluation: evaluates BMI (evidence: `app/Services/AssessmentService.php`)
- Assessment processing → Personnel health records: writes assessments (evidence: `app/Services/AssessmentService.php`)
- Weigh-in station → Monthly monitoring: records measurements
- Monthly monitoring → Monthly weight records: writes weights (evidence: `app/Services/MonthlyMonitoringService.php`)
- Measurement review → Monthly monitoring: answers review (evidence: `app/Livewire/Monitoring/MeasurementReview.php`)
- Measurement review → Assessment processing: creates assessment
- Monthly monitoring → Personnel health records: checks assessments (evidence: `app/Services/MonthlyMonitoringService.php`)
- Health staff → Interventions and follow-ups: manages care (evidence: `README.md`)
- Health staff → Compliance monitoring: monitors compliance (evidence: `README.md`)
- Dashboards and analytics → Monthly monitoring: reads monitoring (evidence: `app/Livewire/Dashboard/HealthServiceDashboard.php`)
- Health staff → Dashboards and analytics: reviews analytics (evidence: `README.md`)
- Health staff → Reports and exports: exports reports (evidence: `README.md`)
- Reports and exports → Report builder: builds report data (evidence: `app/Http/Controllers/ReportController.php`)
- Health staff → Official print forms: opens print forms (evidence: `README.md`)
- Official print forms → Monthly monitoring: reads year sheet (evidence: `app/Http/Controllers/PrintController.php`)
- System administration → System settings: configures settings
- Health staff → System administration: administers system (evidence: `README.md`)
