# voraman/angkorfhospital architecture

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

- Interactive diagram: https://gitdiagram.com/voraman/angkorfhospital
- Repository: https://github.com/voraman/angkorfhospital

## Overview

Angkor F Clinic is a Laravel/Inertia clinic-management application, apparently focused on fertility care. The tree identifies patient, appointment, visit, medical-order, laboratory, billing, inventory, reporting, and administration domains. A typical user workflow enters a patient visit, records care or orders, processes lab work and inventory, then handles billing and reports. The README is an untouched template, so product capabilities are inferred from module names; edges are limited to relationships visible in the sampled controller and frontend excerpts.

Main entry points: [`app/Http/Controllers/MedicalOrderController.php`](https://github.com/voraman/angkorfhospital/blob/dev/app/Http/Controllers/MedicalOrderController.php) (Medical orders), [`app/Http/Controllers/BillingController.php`](https://github.com/voraman/angkorfhospital/blob/dev/app/Http/Controllers/BillingController.php) (Billing), [`app/Http/Controllers/AppointmentController.php`](https://github.com/voraman/angkorfhospital/blob/dev/app/Http/Controllers/AppointmentController.php) (Appointments), [`app/Http/Controllers/VisitController.php`](https://github.com/voraman/angkorfhospital/blob/dev/app/Http/Controllers/VisitController.php) (Visits)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_care["Patient Care"]
  node_patients["Patients"]
  node_appointments["Appointments"]
  node_visits["Visits"]
  node_records["Medical records"]
  node_orders["Medical orders"]
  node_labresults["Lab results"]
  node_labreports["Fertility reports"]
  node_appointmentstore[("Appointment records<br/>[Appointment.php]")]
  node_visitstore[("Visit records<br/>[Visit.php]")]
  node_orderstore[("Medical-order records<br/>[MedicalOrder.php]")]
  node_labpanels[("Lab panels<br/>[LabPanel.php]")]
end

subgraph group_operations["Clinic Operations"]
  node_billing["Billing"]
  node_billingservice["Order billing"]
  node_inventory["Inventory"]
  node_orderprocessing["Order processing"]
  node_scheduler["Appointment scheduling"]
  node_visitflow["Visit flow"]
  node_billingstore[("Billing records<br/>[Billing.php]")]
  node_inventoryrecords[("Inventory records<br/>[Inventory.php]")]
end

subgraph group_insights["Reports"]
  node_dashboard["Clinic dashboard"]
  node_billingreports["Billing reports"]
  node_activity["Activity logs"]
  node_reportexports["Report exports<br/>[BillingsExport.php]"]
end

subgraph group_admin["Administration"]
  node_useradmin["User management"]
  node_userpage["User management page<br/>[UserManager.vue]"]
  node_userstore[("User records<br/>[User.php]")]
end

node_staff(("Clinic staff"))

node_staff -->|"manages"| node_appointments
node_staff -->|"manages"| node_patients
node_staff -->|"records"| node_visits
node_staff -->|"manages"| node_orders
node_staff -->|"manages"| node_billing
node_staff -->|"administers"| node_userpage
node_userpage -->|"requests routes"| node_useradmin
node_useradmin -->|"reads and writes"| node_userstore
node_billing -->|"queries"| node_appointmentstore
node_billing -->|"queries"| node_visitstore
node_billing -->|"manages"| node_billingstore
node_billing -->|"uses"| node_billingservice
node_orders -->|"queries"| node_labpanels
node_orders -->|"loads items"| node_inventoryrecords
node_orders -->|"manages"| node_orderstore
node_orders -->|"processes"| node_orderprocessing
node_appointments -->|"schedules"| node_scheduler
node_visits -->|"coordinates"| node_visitflow
node_staff -->|"enters"| node_labresults
node_staff -->|"views"| node_labreports
node_staff -->|"views"| node_dashboard
node_staff -->|"views"| node_billingreports
node_billingreports -->|"exports"| node_reportexports
node_staff -->|"reviews"| node_activity

click node_patients "https://github.com/voraman/angkorfhospital/blob/dev/app/Http/Controllers/PatientController.php"
click node_appointments "https://github.com/voraman/angkorfhospital/blob/dev/app/Http/Controllers/AppointmentController.php"
click node_visits "https://github.com/voraman/angkorfhospital/blob/dev/app/Http/Controllers/VisitController.php"
click node_records "https://github.com/voraman/angkorfhospital/blob/dev/app/Http/Controllers/MedicalRecordController.php"
click node_orders "https://github.com/voraman/angkorfhospital/blob/dev/app/Http/Controllers/MedicalOrderController.php"
click node_labresults "https://github.com/voraman/angkorfhospital/blob/dev/app/Http/Controllers/LabResultController.php"
click node_labreports "https://github.com/voraman/angkorfhospital/blob/dev/app/Http/Controllers/SemenAnalysisReportController.php"
click node_billing "https://github.com/voraman/angkorfhospital/blob/dev/app/Http/Controllers/BillingController.php"
click node_billingservice "https://github.com/voraman/angkorfhospital/blob/dev/app/Services/MedicalOrderBillingService.php"
click node_inventory "https://github.com/voraman/angkorfhospital/blob/dev/app/Http/Controllers/InventoryController.php"
click node_orderprocessing "https://github.com/voraman/angkorfhospital/blob/dev/app/Services/MedicalOrderProcessingService.php"
click node_scheduler "https://github.com/voraman/angkorfhospital/blob/dev/app/Services/AppointmentScheduler.php"
click node_visitflow "https://github.com/voraman/angkorfhospital/blob/dev/app/Services/VisitFlowService.php"
click node_dashboard "https://github.com/voraman/angkorfhospital/blob/dev/app/Http/Controllers/DashboardController.php"
click node_billingreports "https://github.com/voraman/angkorfhospital/blob/dev/app/Http/Controllers/BillingReportController.php"
click node_activity "https://github.com/voraman/angkorfhospital/blob/dev/app/Http/Controllers/ActivityLogController.php"
click node_useradmin "https://github.com/voraman/angkorfhospital/blob/dev/app/Http/Controllers/Settings/UserManagementController.php"
click node_userpage "https://github.com/voraman/angkorfhospital/blob/dev/resources/js/pages/settings/UserManager.vue"
click node_userstore "https://github.com/voraman/angkorfhospital/blob/dev/app/Models/User.php"
click node_appointmentstore "https://github.com/voraman/angkorfhospital/blob/dev/app/Models/Appointment.php"
click node_visitstore "https://github.com/voraman/angkorfhospital/blob/dev/app/Models/Visit.php"
click node_billingstore "https://github.com/voraman/angkorfhospital/blob/dev/app/Models/Billing.php"
click node_orderstore "https://github.com/voraman/angkorfhospital/blob/dev/app/Models/MedicalOrder.php"
click node_labpanels "https://github.com/voraman/angkorfhospital/blob/dev/app/Models/LabPanel.php"
click node_inventoryrecords "https://github.com/voraman/angkorfhospital/blob/dev/app/Models/Inventory.php"
click node_reportexports "https://github.com/voraman/angkorfhospital/blob/dev/app/Exports/BillingsExport.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_patients,node_appointments,node_visits,node_records,node_orders,node_labresults,node_labreports,node_appointmentstore,node_visitstore,node_orderstore,node_labpanels toneBlue
class node_billing,node_billingservice,node_inventory,node_orderprocessing,node_scheduler,node_visitflow,node_billingstore,node_inventoryrecords toneAmber
class node_dashboard,node_billingreports,node_activity,node_reportexports toneMint
class node_useradmin,node_userpage,node_userstore toneRose
class node_staff toneIndigo
```

## Components

### Patient Care

- [Patients](https://github.com/voraman/angkorfhospital/blob/dev/app/Http/Controllers/PatientController.php): `app/Http/Controllers/PatientController.php`
- [Appointments](https://github.com/voraman/angkorfhospital/blob/dev/app/Http/Controllers/AppointmentController.php): `app/Http/Controllers/AppointmentController.php`
- [Visits](https://github.com/voraman/angkorfhospital/blob/dev/app/Http/Controllers/VisitController.php): `app/Http/Controllers/VisitController.php`
- [Medical records](https://github.com/voraman/angkorfhospital/blob/dev/app/Http/Controllers/MedicalRecordController.php): `app/Http/Controllers/MedicalRecordController.php`
- [Medical orders](https://github.com/voraman/angkorfhospital/blob/dev/app/Http/Controllers/MedicalOrderController.php): `app/Http/Controllers/MedicalOrderController.php`
- [Lab results](https://github.com/voraman/angkorfhospital/blob/dev/app/Http/Controllers/LabResultController.php): `app/Http/Controllers/LabResultController.php`
- [Fertility reports](https://github.com/voraman/angkorfhospital/blob/dev/app/Http/Controllers/SemenAnalysisReportController.php): `app/Http/Controllers/SemenAnalysisReportController.php`
- [Appointment records](https://github.com/voraman/angkorfhospital/blob/dev/app/Models/Appointment.php): `app/Models/Appointment.php`
- [Visit records](https://github.com/voraman/angkorfhospital/blob/dev/app/Models/Visit.php): `app/Models/Visit.php`
- [Medical-order records](https://github.com/voraman/angkorfhospital/blob/dev/app/Models/MedicalOrder.php): `app/Models/MedicalOrder.php`
- [Lab panels](https://github.com/voraman/angkorfhospital/blob/dev/app/Models/LabPanel.php): `app/Models/LabPanel.php`

### Clinic Operations

- [Billing](https://github.com/voraman/angkorfhospital/blob/dev/app/Http/Controllers/BillingController.php): `app/Http/Controllers/BillingController.php`
- [Order billing](https://github.com/voraman/angkorfhospital/blob/dev/app/Services/MedicalOrderBillingService.php): `app/Services/MedicalOrderBillingService.php`
- [Inventory](https://github.com/voraman/angkorfhospital/blob/dev/app/Http/Controllers/InventoryController.php): `app/Http/Controllers/InventoryController.php`
- [Order processing](https://github.com/voraman/angkorfhospital/blob/dev/app/Services/MedicalOrderProcessingService.php): `app/Services/MedicalOrderProcessingService.php`
- [Appointment scheduling](https://github.com/voraman/angkorfhospital/blob/dev/app/Services/AppointmentScheduler.php): `app/Services/AppointmentScheduler.php`
- [Visit flow](https://github.com/voraman/angkorfhospital/blob/dev/app/Services/VisitFlowService.php): `app/Services/VisitFlowService.php`
- [Billing records](https://github.com/voraman/angkorfhospital/blob/dev/app/Models/Billing.php): `app/Models/Billing.php`
- [Inventory records](https://github.com/voraman/angkorfhospital/blob/dev/app/Models/Inventory.php): `app/Models/Inventory.php`

### Reports

- [Clinic dashboard](https://github.com/voraman/angkorfhospital/blob/dev/app/Http/Controllers/DashboardController.php): `app/Http/Controllers/DashboardController.php`
- [Billing reports](https://github.com/voraman/angkorfhospital/blob/dev/app/Http/Controllers/BillingReportController.php): `app/Http/Controllers/BillingReportController.php`
- [Activity logs](https://github.com/voraman/angkorfhospital/blob/dev/app/Http/Controllers/ActivityLogController.php): `app/Http/Controllers/ActivityLogController.php`
- [Report exports](https://github.com/voraman/angkorfhospital/blob/dev/app/Exports/BillingsExport.php): `app/Exports/BillingsExport.php`

### Administration

- [User management](https://github.com/voraman/angkorfhospital/blob/dev/app/Http/Controllers/Settings/UserManagementController.php): `app/Http/Controllers/Settings/UserManagementController.php`
- [User management page](https://github.com/voraman/angkorfhospital/blob/dev/resources/js/pages/settings/UserManager.vue): `resources/js/pages/settings/UserManager.vue`
- [User records](https://github.com/voraman/angkorfhospital/blob/dev/app/Models/User.php): `app/Models/User.php`

### Other components

- **Clinic staff**

## Connections

- Clinic staff → Appointments: manages
- Clinic staff → Patients: manages
- Clinic staff → Visits: records
- Clinic staff → Medical orders: manages
- Clinic staff → Billing: manages
- Clinic staff → User management page: administers
- User management page → User management: requests routes
- User management → User records: reads and writes
- Billing → Appointment records: queries
- Billing → Visit records: queries
- Billing → Billing records: manages
- Billing → Order billing: uses
- Medical orders → Lab panels: queries
- Medical orders → Inventory records: loads items
- Medical orders → Medical-order records: manages
- Medical orders → Order processing: processes
- Appointments → Appointment scheduling: schedules
- Visits → Visit flow: coordinates
- Clinic staff → Lab results: enters
- Clinic staff → Fertility reports: views
- Clinic staff → Clinic dashboard: views
- Clinic staff → Billing reports: views
- Billing reports → Report exports: exports
- Clinic staff → Activity logs: reviews
