""" Django admin configuration for referrals app. """ from django.contrib import admin from django.utils.translation import gettext_lazy as _ from .models import ( Referral, ReferralAutoRule, ) @admin.register(Referral) class ReferralAdmin(admin.ModelAdmin): """Admin interface for Referral model.""" list_display = ['patient', 'from_clinic', 'to_clinic', 'urgency', 'status', 'created_at', 'tenant'] list_filter = ['urgency', 'status', 'from_clinic', 'to_clinic', 'tenant', 'created_at'] search_fields = ['patient__mrn', 'patient__first_name_en', 'patient__last_name_en', 'external_provider_name'] readonly_fields = ['id', 'is_internal', 'is_external', 'is_pending', 'response_time', 'created_at', 'updated_at'] date_hierarchy = 'created_at' fieldsets = ( (_('Patient & Status'), { 'fields': ('patient', 'tenant', 'status', 'urgency') }), (_('Source'), { 'fields': ('from_clinic', 'from_provider') }), (_('Destination (Internal)'), { 'fields': ('to_clinic', 'to_provider'), 'classes': ('collapse',) }), (_('Destination (External)'), { 'fields': ('external_provider_name', 'external_provider_contact'), 'classes': ('collapse',) }), (_('Referral Details'), { 'fields': ('reason', 'clinical_summary') }), (_('Response'), { 'fields': ('response_notes', 'responded_at'), 'classes': ('collapse',) }), (_('Additional Information'), { 'fields': ('notes', 'completed_at') }), (_('Metadata'), { 'fields': ('id', 'is_internal', 'is_external', 'is_pending', 'response_time', 'created_at', 'updated_at'), 'classes': ('collapse',) }), ) @admin.register(ReferralAutoRule) class ReferralAutoRuleAdmin(admin.ModelAdmin): """Admin interface for ReferralAutoRule model.""" list_display = ['name', 'trigger_clinic', 'target_clinic', 'urgency', 'auto_create', 'is_active', 'tenant'] list_filter = ['urgency', 'auto_create', 'is_active', 'trigger_clinic', 'target_clinic', 'tenant'] search_fields = ['name', 'description', 'target_external_provider'] readonly_fields = ['id', 'created_at', 'updated_at'] fieldsets = ( (None, { 'fields': ('name', 'tenant', 'is_active') }), (_('Description'), { 'fields': ('description',) }), (_('Trigger Conditions'), { 'fields': ('trigger_clinic', 'trigger_keywords') }), (_('Target (Internal)'), { 'fields': ('target_clinic',), 'classes': ('collapse',) }), (_('Target (External)'), { 'fields': ('target_external_provider',), 'classes': ('collapse',) }), (_('Rule Configuration'), { 'fields': ('urgency', 'auto_create') }), (_('Metadata'), { 'fields': ('id', 'created_at', 'updated_at'), 'classes': ('collapse',) }), )