""" API URL Configuration for Tenhal Healthcare Platform. This module sets up the DRF router and registers all API viewsets. """ from rest_framework.routers import DefaultRouter from django.urls import path, include # Core from core.api_views import ( PatientViewSet, ClinicViewSet, FileViewSet, SubFileViewSet, ConsentViewSet, AttachmentViewSet, AuditLogViewSet ) # Appointments from appointments.api_views import ( AppointmentViewSet, ProviderViewSet, RoomViewSet, ScheduleViewSet ) # Finance from finance.api_views import ( InvoiceViewSet, PaymentViewSet, ServiceViewSet, PackageViewSet, PackagePurchaseViewSet, PayerViewSet ) # Referrals from referrals.api_views import ReferralViewSet # Psychology from psychology.api_views import ( PsychologyConsultationViewSet, PsychologyAssessmentViewSet, PsychologySessionViewSet, PsychologyGoalViewSet, PsychologyProgressReportViewSet, ) # MDT from mdt.api_views import ( MDTNoteViewSet, MDTContributionViewSet, MDTApprovalViewSet, MDTMentionViewSet, MDTAttachmentViewSet, ) # Create router router = DefaultRouter() # Core endpoints router.register(r'patients', PatientViewSet, basename='patient') router.register(r'clinics', ClinicViewSet, basename='clinic') router.register(r'files', FileViewSet, basename='file') router.register(r'subfiles', SubFileViewSet, basename='subfile') router.register(r'consents', ConsentViewSet, basename='consent') router.register(r'attachments', AttachmentViewSet, basename='attachment') router.register(r'audit-logs', AuditLogViewSet, basename='auditlog') # Appointments endpoints router.register(r'appointments', AppointmentViewSet, basename='appointment') router.register(r'providers', ProviderViewSet, basename='provider') router.register(r'rooms', RoomViewSet, basename='room') router.register(r'schedules', ScheduleViewSet, basename='schedule') # Finance endpoints router.register(r'invoices', InvoiceViewSet, basename='invoice') router.register(r'payments', PaymentViewSet, basename='payment') router.register(r'services', ServiceViewSet, basename='service') router.register(r'packages', PackageViewSet, basename='package') router.register(r'package-purchases', PackagePurchaseViewSet, basename='packagepurchase') router.register(r'payers', PayerViewSet, basename='payer') # Referrals endpoints router.register(r'referrals', ReferralViewSet, basename='referral') # Psychology endpoints router.register(r'psychology/consultations', PsychologyConsultationViewSet, basename='psychology-consultation') router.register(r'psychology/assessments', PsychologyAssessmentViewSet, basename='psychology-assessment') router.register(r'psychology/sessions', PsychologySessionViewSet, basename='psychology-session') router.register(r'psychology/goals', PsychologyGoalViewSet, basename='psychology-goal') router.register(r'psychology/progress-reports', PsychologyProgressReportViewSet, basename='psychology-progress-report') # MDT endpoints router.register(r'mdt/notes', MDTNoteViewSet, basename='mdt-note') router.register(r'mdt/contributions', MDTContributionViewSet, basename='mdt-contribution') router.register(r'mdt/approvals', MDTApprovalViewSet, basename='mdt-approval') router.register(r'mdt/mentions', MDTMentionViewSet, basename='mdt-mention') router.register(r'mdt/attachments', MDTAttachmentViewSet, basename='mdt-attachment') urlpatterns = [ path('', include(router.urls)), path('auth/', include('rest_framework.urls', namespace='rest_framework')), ]