152 lines
5.2 KiB
Python
152 lines
5.2 KiB
Python
"""
|
|
Django admin configuration for ot app.
|
|
"""
|
|
|
|
from django.contrib import admin
|
|
from django.utils.translation import gettext_lazy as _
|
|
|
|
from .models import (
|
|
OTConsult,
|
|
OTSession,
|
|
OTTargetSkill,
|
|
OTProgressReport,
|
|
)
|
|
|
|
|
|
@admin.register(OTConsult)
|
|
class OTConsultAdmin(admin.ModelAdmin):
|
|
"""Admin interface for OTConsult model."""
|
|
|
|
list_display = ['patient', 'consultation_date', 'provider', 'recommendation', 'signed_by',
|
|
'signed_at', 'tenant']
|
|
list_filter = ['consultation_date', 'recommendation', 'tenant', 'signed_at']
|
|
search_fields = ['patient__mrn', 'patient__first_name_en', 'patient__last_name_en',
|
|
'reasons']
|
|
readonly_fields = ['id', 'created_at', 'updated_at']
|
|
date_hierarchy = 'consultation_date'
|
|
|
|
fieldsets = (
|
|
(_('Patient & Provider'), {
|
|
'fields': ('patient', 'tenant', 'consultation_date', 'provider', 'appointment')
|
|
}),
|
|
(_('Referral Information'), {
|
|
'fields': ('reasons', 'top_difficulty_areas')
|
|
}),
|
|
(_('Assessment'), {
|
|
'fields': ('developmental_motor_milestones', 'self_help_skills', 'feeding_participation')
|
|
}),
|
|
(_('Behavior'), {
|
|
'fields': ('infant_behavior_descriptors', 'current_behavior_descriptors')
|
|
}),
|
|
(_('Recommendations'), {
|
|
'fields': ('recommendation', 'recommendation_notes')
|
|
}),
|
|
(_('Signature'), {
|
|
'fields': ('signed_by', 'signed_at'),
|
|
'classes': ('collapse',)
|
|
}),
|
|
(_('Metadata'), {
|
|
'fields': ('id', 'created_at', 'updated_at'),
|
|
'classes': ('collapse',)
|
|
}),
|
|
)
|
|
|
|
|
|
@admin.register(OTSession)
|
|
class OTSessionAdmin(admin.ModelAdmin):
|
|
"""Admin interface for OTSession model."""
|
|
|
|
list_display = ['patient', 'session_date', 'session_type', 'provider', 'cooperative_level_display',
|
|
'signed_by', 'tenant']
|
|
list_filter = ['session_date', 'session_type', 'tenant', 'signed_at']
|
|
search_fields = ['patient__mrn', 'patient__first_name_en', 'patient__last_name_en']
|
|
readonly_fields = ['id', 'cooperative_level_display', 'distraction_tolerance_display',
|
|
'created_at', 'updated_at']
|
|
date_hierarchy = 'session_date'
|
|
|
|
fieldsets = (
|
|
(_('Patient & Provider'), {
|
|
'fields': ('patient', 'tenant', 'session_date', 'session_type', 'provider', 'appointment')
|
|
}),
|
|
(_('Child Behavior'), {
|
|
'fields': ('cooperative_level', 'cooperative_level_display', 'distraction_tolerance',
|
|
'distraction_tolerance_display')
|
|
}),
|
|
(_('Activities'), {
|
|
'fields': ('activities_checklist', 'activities_performed')
|
|
}),
|
|
(_('Session Notes'), {
|
|
'fields': ('observations', 'recommendations')
|
|
}),
|
|
(_('Signature'), {
|
|
'fields': ('signed_by', 'signed_at'),
|
|
'classes': ('collapse',)
|
|
}),
|
|
(_('Metadata'), {
|
|
'fields': ('id', 'created_at', 'updated_at'),
|
|
'classes': ('collapse',)
|
|
}),
|
|
)
|
|
|
|
|
|
@admin.register(OTTargetSkill)
|
|
class OTTargetSkillAdmin(admin.ModelAdmin):
|
|
"""Admin interface for OTTargetSkill model."""
|
|
|
|
list_display = ['session', 'skill_name', 'score', 'score_percentage', 'achievement_level', 'order']
|
|
list_filter = ['session__patient', 'session__session_date']
|
|
search_fields = ['skill_name', 'session__patient__mrn']
|
|
readonly_fields = ['id', 'score_percentage', 'achievement_level']
|
|
|
|
fieldsets = (
|
|
(None, {
|
|
'fields': ('session', 'skill_name', 'order')
|
|
}),
|
|
(_('Scoring'), {
|
|
'fields': ('score', 'score_percentage', 'achievement_level')
|
|
}),
|
|
(_('Notes'), {
|
|
'fields': ('notes',),
|
|
'classes': ('collapse',)
|
|
}),
|
|
(_('Metadata'), {
|
|
'fields': ('id',),
|
|
'classes': ('collapse',)
|
|
}),
|
|
)
|
|
|
|
|
|
@admin.register(OTProgressReport)
|
|
class OTProgressReportAdmin(admin.ModelAdmin):
|
|
"""Admin interface for OTProgressReport model."""
|
|
|
|
list_display = ['patient', 'report_date', 'provider', 'sessions_attended', 'attendance_rate',
|
|
'signed_by', 'tenant']
|
|
list_filter = ['report_date', 'tenant', 'signed_at']
|
|
search_fields = ['patient__mrn', 'patient__first_name_en', 'patient__last_name_en']
|
|
readonly_fields = ['id', 'attendance_rate', 'created_at', 'updated_at']
|
|
date_hierarchy = 'report_date'
|
|
|
|
fieldsets = (
|
|
(_('Patient & Provider'), {
|
|
'fields': ('patient', 'tenant', 'report_date', 'provider')
|
|
}),
|
|
(_('Attendance'), {
|
|
'fields': ('sessions_scheduled', 'sessions_attended', 'attendance_rate')
|
|
}),
|
|
(_('Progress Summary'), {
|
|
'fields': ('goals_progress', 'overall_progress')
|
|
}),
|
|
(_('Recommendations'), {
|
|
'fields': ('recommendations', 'continue_treatment')
|
|
}),
|
|
(_('Signature'), {
|
|
'fields': ('signed_by', 'signed_at'),
|
|
'classes': ('collapse',)
|
|
}),
|
|
(_('Metadata'), {
|
|
'fields': ('id', 'created_at', 'updated_at'),
|
|
'classes': ('collapse',)
|
|
}),
|
|
)
|