2025-10-06 15:25:37 +03:00

83 lines
4.6 KiB
Python

"""
URL configuration for inpatients app.
"""
from django.urls import path, include
from . import views
app_name = 'inpatients'
urlpatterns = [
# Main views
path('', views.InpatientDashboardView.as_view(), name='dashboard'),
# wards
path('wards/', views.WardListView.as_view(), name='ward_list'),
path('wards/<int:pk>/', views.WardDetailView.as_view(), name='ward_detail'),
path('wards/create/', views.WardCreateView.as_view(), name='ward_create'),
path('wards/<int:pk>/edit/', views.WardUpdateView.as_view(), name='ward_update'),
path('wards/stats/', views.ward_stats, name='ward_stats'),
# Admissions
path('admissions/', views.AdmissionListView.as_view(), name='admission_list'),
path('admissions/<int:pk>/', views.AdmissionDetailView.as_view(), name='admission_detail'),
path('admissions/create/', views.AdmissionCreateView.as_view(), name='admission_create'),
path('admissions/<int:pk>/edit/', views.AdmissionUpdateView.as_view(), name='admission_update'),
path('admission/search/', views.admission_search, name='admission_search'),
path('discharge/<int:admission_id>/', views.discharge_patient, name='discharge_patient'),
# path('discharge/<int:admission_id>/summary/', views.discharge_summary, name='discharge_summary'),
# Discharge Summaries
path('discharges/', views.DischargeSummaryListView.as_view(), name='discharge_summary_list'),
path('discharges/<int:pk>/', views.DischargeSummaryDetailView.as_view(), name='discharge_summary_detail'),
path('discharges/create/', views.DischargeSummaryCreateView.as_view(), name='discharge_summary_create'),
path('discharges/<int:pk>/edit/', views.DischargeSummaryUpdateView.as_view(), name='discharge_summary_update'),
path('discharges/<int:pk>/delete/', views.DischargeSummaryDeleteView.as_view(), name='discharge_summary_delete'),
path('transfers/', views.TransferManagementView.as_view(), name='transfer_management'),
path('transfer/<int:admission_id>/', views.transfer_patient, name='transfer_patient'),
path('transfers/<int:transfer_id>/approve/', views.approve_transfer, name='approve_transfer'),
path('transfers/<int:transfer_id>/complete/', views.complete_transfer, name='complete_transfer'),
path('transfers/<int:transfer_id>/cancel/', views.cancel_transfer, name='cancel_transfer'),
path('transfers/<int:transfer_id>/reject/', views.reject_transfer, name='reject_transfer'),
# Beds
path('beds/', views.BedManagementView.as_view(), name='bed_management'),
path('beds/list/', views.BedListView.as_view(), name='bed_list'),
path('beds/create/', views.BedCreateView.as_view(), name='bed_create'),
path('beds/<int:pk>/', views.BedDetailView.as_view(), name='bed_detail'),
path('beds/<int:pk>/edit/', views.BedUpdateView.as_view(), name='bed_update'),
path('beds/<int:pk>/delete/', views.BedDeleteView.as_view(), name='bed_delete'),
path('beds/available/', views.get_available_beds, name='get_available_beds'),
path('beds/<int:pk>/clean/', views.clean_bed, name='clean_bed'),
path('beds/<int:pk>/block/', views.block_bed, name='block_bed'),
path('beds/<int:pk>/unblock/', views.unblock_bed, name='unblock_bed'),
path('beds/<int:pk>/maintenance/', views.maintenance_bed, name='maintenance_bed'),
path('beds/grid/', views.bed_grid, name='bed_grid'),
path('beds/<int:bed_id>/status/', views.update_bed_status, name='update_bed_status'),
path('beds/<int:bed_id>/assign-patient/', views.assign_patient_to_bed, name='assign_patient_to_bed'),
path('beds/<int:bed_id>/utilization/', views.bed_utilization, name='bed_utilization'),
path('beds/<int:bed_id>/details/', views.bed_details, name='bed_details'),
path('beds/<int:bed_id>/refresh-history/', views.refresh_bed_history, name='refresh_bed_history'),
# HTMX Endpoints for Bed Management
path('htmx/bed-stats/', views.htmx_bed_management_stats, name='htmx_bed_stats'),
path('htmx/filter-beds/', views.htmx_filter_beds, name='htmx_filter_beds'),
path('htmx/bed-details-modal/<int:bed_id>/', views.htmx_bed_details_modal, name='htmx_bed_details_modal'),
path('htmx/bed-status-form/<int:bed_id>/', views.htmx_update_bed_status_form, name='htmx_bed_status_form'),
path('htmx/bulk-bed-actions/', views.htmx_bulk_bed_actions, name='htmx_bulk_bed_actions'),
path('htmx/export-bed-data/', views.htmx_export_bed_data, name='htmx_export_bed_data'),
path('htmx/schedule-maintenance/', views.htmx_schedule_maintenance, name='htmx_schedule_maintenance'),
path('htmx/view-alerts/', views.htmx_view_alerts, name='htmx_view_alerts'),
# Actions
# API endpoints
# path('api/', include('inpatients.api.urls')),
]