79 lines
3.8 KiB
Python
79 lines
3.8 KiB
Python
from django.urls import path
|
|
from . import views
|
|
|
|
app_name = 'blood_bank'
|
|
|
|
urlpatterns = [
|
|
# Dashboard
|
|
path('', views.dashboard, name='dashboard'),
|
|
|
|
# Donor Management
|
|
path('donors/', views.DonorListView.as_view(), name='donor_list'),
|
|
path('donors/<int:donor_id>/', views.donor_detail, name='donor_detail'),
|
|
path('donors/create/', views.donor_create, name='donor_create'),
|
|
path('donors/<int:donor_id>/update/', views.donor_update, name='donor_update'),
|
|
path('donors/<int:donor_id>/eligibility/', views.donor_eligibility_check, name='donor_eligibility'),
|
|
|
|
# Blood Unit Management
|
|
path('units/', views.blood_unit_list, name='blood_unit_list'),
|
|
path('units/<int:unit_id>/', views.blood_unit_detail, name='blood_unit_detail'),
|
|
path('units/create/', views.blood_unit_create, name='blood_unit_create'),
|
|
path('units/create/<int:donor_id>/', views.blood_unit_create, name='blood_unit_create_for_donor'),
|
|
|
|
# Blood Testing
|
|
path('units/<int:unit_id>/test/', views.blood_test_create, name='blood_test_create'),
|
|
path('units/<int:unit_id>/crossmatch/<int:patient_id>/', views.crossmatch_create, name='crossmatch_create'),
|
|
|
|
# Blood Requests
|
|
path('requests/', views.blood_request_list, name='blood_request_list'),
|
|
path('requests/<int:request_id>/', views.blood_request_detail, name='blood_request_detail'),
|
|
path('requests/create/', views.blood_request_create, name='blood_request_create'),
|
|
|
|
# Blood Issue and Transfusion
|
|
path('requests/<int:request_id>/issue/', views.blood_issue_create, name='blood_issue_create'),
|
|
path('transfusions/', views.transfusion_list, name='transfusion_list'),
|
|
path('transfusions/<int:transfusion_id>/', views.transfusion_detail, name='transfusion_detail'),
|
|
path('issues/<int:issue_id>/transfusion/', views.transfusion_create, name='transfusion_create'),
|
|
|
|
# Inventory Management
|
|
path('inventory/', views.inventory_overview, name='inventory_overview'),
|
|
|
|
# Quality Control
|
|
path('quality-control/', views.quality_control_list, name='quality_control_list'),
|
|
path('quality-control/create/', views.quality_control_create, name='quality_control_create'),
|
|
|
|
# Reports
|
|
path('reports/', views.reports_dashboard, name='reports_dashboard'),
|
|
|
|
# API Endpoints
|
|
path('api/blood-availability/', views.api_blood_availability, name='api_blood_availability'),
|
|
path('api/donor-search/', views.api_donor_search, name='api_donor_search'),
|
|
|
|
# Blood Unit Management APIs
|
|
path('api/units/<int:unit_id>/move/', views.api_move_unit, name='api_move_unit'),
|
|
path('api/expiry-report/', views.api_expiry_report, name='api_expiry_report'),
|
|
|
|
# Blood Request Management APIs
|
|
path('api/requests/<int:request_id>/cancel/', views.api_cancel_request, name='api_cancel_request'),
|
|
path('api/check-availability/', views.api_check_availability, name='api_check_availability'),
|
|
path('api/urgency-report/', views.api_urgency_report, name='api_urgency_report'),
|
|
|
|
# Quality Control APIs
|
|
path('api/initiate-capa/', views.api_initiate_capa, name='api_initiate_capa'),
|
|
path('api/review-results/', views.api_review_results, name='api_review_results'),
|
|
|
|
# Transfusion Management APIs
|
|
path('api/record-vital-signs/', views.api_record_vital_signs, name='api_record_vital_signs'),
|
|
path('api/transfusions/<int:transfusion_id>/stop/', views.api_stop_transfusion, name='api_stop_transfusion'),
|
|
path('api/transfusions/<int:transfusion_id>/complete/', views.api_complete_transfusion,
|
|
name='api_complete_transfusion'),
|
|
|
|
# Inventory Management APIs
|
|
path('api/inventory-locations/', views.api_inventory_locations, name='api_inventory_locations'),
|
|
path('api/locations/<int:location_id>/update/', views.api_update_location, name='api_update_location'),
|
|
|
|
# Export and Utility APIs
|
|
path('api/export-csv/', views.api_export_csv, name='api_export_csv'),
|
|
]
|
|
|