# rivanalamsyah/sistem-informasi-manajemen-rumah-sakit architecture

> Architecture diagram of the GitHub repository rivanalamsyah/sistem-informasi-manajemen-rumah-sakit, 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/rivanalamsyah/sistem-informasi-manajemen-rumah-sakit
- Repository: https://github.com/rivanalamsyah/sistem-informasi-manajemen-rumah-sakit

## Overview

SIMRS Enterprise is a monolithic Laravel hospital-management system: staff use role-oriented web modules to manage patient care and hospital operations, while patients can browse a public hospital portal. The documented workflow spans registration, outpatient or inpatient care, EMR, laboratory and pharmacy services, then billing and reporting; warehouse logistics and administration support it. The tree and README establish these capabilities, but most module implementations were not sampled, so arrows between clinical stages are omitted rather than inferred. Sampled code confirms warehouse dashboard delegation and direct user/login audit writes.

Main entry points: [`routes/web.php`](https://github.com/rivanalamsyah/sistem-informasi-manajemen-rumah-sakit/blob/main/routes/web.php) (Web routes), [`app/Models/Patient.php`](https://github.com/rivanalamsyah/sistem-informasi-manajemen-rumah-sakit/blob/main/app/Models/Patient.php) (Application records), [`resources/views/layouts/admin.blade.php`](https://github.com/rivanalamsyah/sistem-informasi-manajemen-rumah-sakit/blob/main/resources/views/layouts/admin.blade.php) (Blade interface), [`app/Http/Controllers/Warehouse/WarehouseController.php`](https://github.com/rivanalamsyah/sistem-informasi-manajemen-rumah-sakit/blob/main/app/Http/Controllers/Warehouse/WarehouseController.php) (Warehouse logistics)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_clinical["Patient Care"]
  node_registration["Registration"]
  node_outpatient["Outpatient care"]
  node_inpatient["Inpatient care"]
  node_emr["Medical records"]
  node_laboratory["Laboratory"]
  node_pharmacy["Pharmacy"]
end

subgraph group_operations["Hospital Operations"]
  node_billing["Billing"]
  node_warehouse["Warehouse logistics"]
  node_warehouse_service["Warehouse service"]
  node_master["Master data<br/>[BedController.php]"]
  node_dashboard["Analytics dashboard"]
  node_reports["Reports"]
end

subgraph group_admin["Administration"]
  node_auth["Authentication"]
  node_users["Users and roles<br/>[UserController.php]"]
  node_role_permissions["Role permissions"]
  node_audit[("Activity audit<br/>[ActivityLog.php]")]
  node_login_history[("Login history<br/>[UserLogin.php]")]
end

subgraph group_platform["Web Platform"]
  node_web["Web routes<br/>[web.php]"]
  node_portal["Hospital portal"]
  node_db[("Application records<br/>[Patient.php]")]
  node_views["Blade interface<br/>[admin.blade.php]"]
end

node_staff(("Hospital staff"))
node_patient(("Public visitor"))

node_staff -->|"requests"| node_web
node_patient -->|"requests"| node_web
node_web -->|"dispatches"| node_auth
node_web -->|"dispatches"| node_portal
node_web -->|"dispatches"| node_registration
node_web -->|"dispatches"| node_outpatient
node_web -->|"dispatches"| node_inpatient
node_web -->|"dispatches"| node_emr
node_web -->|"dispatches"| node_laboratory
node_web -->|"dispatches"| node_pharmacy
node_web -->|"dispatches"| node_billing
node_web -->|"dispatches"| node_warehouse
node_web -->|"dispatches"| node_master
node_web -->|"dispatches"| node_dashboard
node_web -->|"dispatches"| node_reports
node_web -->|"dispatches"| node_users
node_web -->|"dispatches"| node_role_permissions
node_auth -->|"writes"| node_audit
node_auth -->|"writes"| node_login_history
node_users -->|"writes"| node_audit
node_role_permissions -->|"writes"| node_audit
node_warehouse -->|"requests metrics"| node_warehouse_service
node_registration -->|"reads/writes"| node_db
node_outpatient -->|"reads/writes"| node_db
node_inpatient -->|"reads/writes"| node_db
node_emr -->|"reads/writes"| node_db
node_laboratory -->|"reads/writes"| node_db
node_pharmacy -->|"reads/writes"| node_db
node_billing -->|"reads/writes"| node_db
node_warehouse -->|"reads/writes"| node_db
node_master -->|"reads/writes"| node_db
node_dashboard -->|"reads"| node_db
node_reports -->|"reads"| node_db
node_users -->|"reads/writes"| node_db
node_role_permissions -->|"reads/writes"| node_db
node_portal -->|"renders"| node_views
node_registration -->|"renders"| node_views
node_outpatient -->|"renders"| node_views
node_inpatient -->|"renders"| node_views
node_emr -->|"renders"| node_views
node_laboratory -->|"renders"| node_views
node_pharmacy -->|"renders"| node_views
node_billing -->|"renders"| node_views
node_warehouse -->|"renders"| node_views
node_dashboard -->|"renders"| node_views
node_reports -->|"renders"| node_views
node_users -->|"renders"| node_views
node_role_permissions -->|"renders"| node_views

click node_web "https://github.com/rivanalamsyah/sistem-informasi-manajemen-rumah-sakit/blob/main/routes/web.php"
click node_auth "https://github.com/rivanalamsyah/sistem-informasi-manajemen-rumah-sakit/blob/main/app/Http/Controllers/Auth/LoginController.php"
click node_portal "https://github.com/rivanalamsyah/sistem-informasi-manajemen-rumah-sakit/blob/main/app/Http/Controllers/PublicController.php"
click node_registration "https://github.com/rivanalamsyah/sistem-informasi-manajemen-rumah-sakit/blob/main/app/Http/Controllers/RegistrationController.php"
click node_outpatient "https://github.com/rivanalamsyah/sistem-informasi-manajemen-rumah-sakit/blob/main/app/Http/Controllers/OutpatientController.php"
click node_inpatient "https://github.com/rivanalamsyah/sistem-informasi-manajemen-rumah-sakit/blob/main/app/Http/Controllers/InpatientController.php"
click node_emr "https://github.com/rivanalamsyah/sistem-informasi-manajemen-rumah-sakit/blob/main/app/Http/Controllers/MedicalRecordController.php"
click node_laboratory "https://github.com/rivanalamsyah/sistem-informasi-manajemen-rumah-sakit/blob/main/app/Http/Controllers/LaboratoryController.php"
click node_pharmacy "https://github.com/rivanalamsyah/sistem-informasi-manajemen-rumah-sakit/blob/main/app/Http/Controllers/PharmacyController.php"
click node_billing "https://github.com/rivanalamsyah/sistem-informasi-manajemen-rumah-sakit/blob/main/app/Http/Controllers/BillingController.php"
click node_warehouse "https://github.com/rivanalamsyah/sistem-informasi-manajemen-rumah-sakit/blob/main/app/Http/Controllers/Warehouse/WarehouseController.php"
click node_warehouse_service "https://github.com/rivanalamsyah/sistem-informasi-manajemen-rumah-sakit/blob/main/app/Services/WarehouseService.php"
click node_master "https://github.com/rivanalamsyah/sistem-informasi-manajemen-rumah-sakit/blob/main/app/Http/Controllers/Master/BedController.php"
click node_dashboard "https://github.com/rivanalamsyah/sistem-informasi-manajemen-rumah-sakit/blob/main/app/Http/Controllers/DashboardController.php"
click node_reports "https://github.com/rivanalamsyah/sistem-informasi-manajemen-rumah-sakit/blob/main/app/Http/Controllers/ReportController.php"
click node_users "https://github.com/rivanalamsyah/sistem-informasi-manajemen-rumah-sakit/blob/main/app/Http/Controllers/User/UserController.php"
click node_role_permissions "https://github.com/rivanalamsyah/sistem-informasi-manajemen-rumah-sakit/blob/main/app/Http/Controllers/User/RolePermissionController.php"
click node_audit "https://github.com/rivanalamsyah/sistem-informasi-manajemen-rumah-sakit/blob/main/app/Models/ActivityLog.php"
click node_login_history "https://github.com/rivanalamsyah/sistem-informasi-manajemen-rumah-sakit/blob/main/app/Models/UserLogin.php"
click node_db "https://github.com/rivanalamsyah/sistem-informasi-manajemen-rumah-sakit/blob/main/app/Models/Patient.php"
click node_views "https://github.com/rivanalamsyah/sistem-informasi-manajemen-rumah-sakit/blob/main/resources/views/layouts/admin.blade.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_registration,node_outpatient,node_inpatient,node_emr,node_laboratory,node_pharmacy toneBlue
class node_billing,node_warehouse,node_warehouse_service,node_master,node_dashboard,node_reports toneAmber
class node_auth,node_users,node_role_permissions,node_audit,node_login_history toneMint
class node_web,node_portal,node_db,node_views toneRose
class node_staff,node_patient toneIndigo
```

## Components

### Patient Care

- [Registration](https://github.com/rivanalamsyah/sistem-informasi-manajemen-rumah-sakit/blob/main/app/Http/Controllers/RegistrationController.php): `app/Http/Controllers/RegistrationController.php`
- [Outpatient care](https://github.com/rivanalamsyah/sistem-informasi-manajemen-rumah-sakit/blob/main/app/Http/Controllers/OutpatientController.php): `app/Http/Controllers/OutpatientController.php`
- [Inpatient care](https://github.com/rivanalamsyah/sistem-informasi-manajemen-rumah-sakit/blob/main/app/Http/Controllers/InpatientController.php): `app/Http/Controllers/InpatientController.php`
- [Medical records](https://github.com/rivanalamsyah/sistem-informasi-manajemen-rumah-sakit/blob/main/app/Http/Controllers/MedicalRecordController.php): `app/Http/Controllers/MedicalRecordController.php`
- [Laboratory](https://github.com/rivanalamsyah/sistem-informasi-manajemen-rumah-sakit/blob/main/app/Http/Controllers/LaboratoryController.php): `app/Http/Controllers/LaboratoryController.php`
- [Pharmacy](https://github.com/rivanalamsyah/sistem-informasi-manajemen-rumah-sakit/blob/main/app/Http/Controllers/PharmacyController.php): `app/Http/Controllers/PharmacyController.php`

### Hospital Operations

- [Billing](https://github.com/rivanalamsyah/sistem-informasi-manajemen-rumah-sakit/blob/main/app/Http/Controllers/BillingController.php): `app/Http/Controllers/BillingController.php`
- [Warehouse logistics](https://github.com/rivanalamsyah/sistem-informasi-manajemen-rumah-sakit/blob/main/app/Http/Controllers/Warehouse/WarehouseController.php): `app/Http/Controllers/Warehouse/WarehouseController.php`
- [Warehouse service](https://github.com/rivanalamsyah/sistem-informasi-manajemen-rumah-sakit/blob/main/app/Services/WarehouseService.php): `app/Services/WarehouseService.php`
- [Master data](https://github.com/rivanalamsyah/sistem-informasi-manajemen-rumah-sakit/blob/main/app/Http/Controllers/Master/BedController.php): `app/Http/Controllers/Master/BedController.php`
- [Analytics dashboard](https://github.com/rivanalamsyah/sistem-informasi-manajemen-rumah-sakit/blob/main/app/Http/Controllers/DashboardController.php): `app/Http/Controllers/DashboardController.php`
- [Reports](https://github.com/rivanalamsyah/sistem-informasi-manajemen-rumah-sakit/blob/main/app/Http/Controllers/ReportController.php): `app/Http/Controllers/ReportController.php`

### Administration

- [Authentication](https://github.com/rivanalamsyah/sistem-informasi-manajemen-rumah-sakit/blob/main/app/Http/Controllers/Auth/LoginController.php): `app/Http/Controllers/Auth/LoginController.php`
- [Users and roles](https://github.com/rivanalamsyah/sistem-informasi-manajemen-rumah-sakit/blob/main/app/Http/Controllers/User/UserController.php): `app/Http/Controllers/User/UserController.php`
- [Role permissions](https://github.com/rivanalamsyah/sistem-informasi-manajemen-rumah-sakit/blob/main/app/Http/Controllers/User/RolePermissionController.php): `app/Http/Controllers/User/RolePermissionController.php`
- [Activity audit](https://github.com/rivanalamsyah/sistem-informasi-manajemen-rumah-sakit/blob/main/app/Models/ActivityLog.php): `app/Models/ActivityLog.php`
- [Login history](https://github.com/rivanalamsyah/sistem-informasi-manajemen-rumah-sakit/blob/main/app/Models/UserLogin.php): `app/Models/UserLogin.php`

### Web Platform

- [Web routes](https://github.com/rivanalamsyah/sistem-informasi-manajemen-rumah-sakit/blob/main/routes/web.php): `routes/web.php`
- [Hospital portal](https://github.com/rivanalamsyah/sistem-informasi-manajemen-rumah-sakit/blob/main/app/Http/Controllers/PublicController.php): `app/Http/Controllers/PublicController.php`
- [Application records](https://github.com/rivanalamsyah/sistem-informasi-manajemen-rumah-sakit/blob/main/app/Models/Patient.php): `app/Models/Patient.php`
- [Blade interface](https://github.com/rivanalamsyah/sistem-informasi-manajemen-rumah-sakit/blob/main/resources/views/layouts/admin.blade.php): `resources/views/layouts/admin.blade.php`

### Other components

- **Hospital staff**
- **Public visitor**

## Connections

- Hospital staff → Web routes: requests
- Public visitor → Web routes: requests
- Web routes → Authentication: dispatches
- Web routes → Hospital portal: dispatches
- Web routes → Registration: dispatches
- Web routes → Outpatient care: dispatches
- Web routes → Inpatient care: dispatches
- Web routes → Medical records: dispatches
- Web routes → Laboratory: dispatches
- Web routes → Pharmacy: dispatches
- Web routes → Billing: dispatches
- Web routes → Warehouse logistics: dispatches
- Web routes → Master data: dispatches
- Web routes → Analytics dashboard: dispatches
- Web routes → Reports: dispatches
- Web routes → Users and roles: dispatches
- Web routes → Role permissions: dispatches
- Authentication → Activity audit: writes
- Authentication → Login history: writes
- Users and roles → Activity audit: writes
- Role permissions → Activity audit: writes
- Warehouse logistics → Warehouse service: requests metrics
- Registration → Application records: reads/writes
- Outpatient care → Application records: reads/writes
- Inpatient care → Application records: reads/writes
- Medical records → Application records: reads/writes
- Laboratory → Application records: reads/writes
- Pharmacy → Application records: reads/writes
- Billing → Application records: reads/writes
- Warehouse logistics → Application records: reads/writes
- Master data → Application records: reads/writes
- Analytics dashboard → Application records: reads
- Reports → Application records: reads
- Users and roles → Application records: reads/writes
- Role permissions → Application records: reads/writes
- Hospital portal → Blade interface: renders
- Registration → Blade interface: renders
- Outpatient care → Blade interface: renders
- Inpatient care → Blade interface: renders
- Medical records → Blade interface: renders
- Laboratory → Blade interface: renders
- Pharmacy → Blade interface: renders
- Billing → Blade interface: renders
- Warehouse logistics → Blade interface: renders
- Analytics dashboard → Blade interface: renders
- Reports → Blade interface: renders
- Users and roles → Blade interface: renders
- Role permissions → Blade interface: renders
