from django.contrib import admin from .models import ( CaseBase, TraditionalCase, ScriptCase, TeachingCase, CaseStage, ScoringRule ) @admin.register(CaseBase) class CaseBaseAdmin(admin.ModelAdmin): list_display = [ 'id', 'title', 'case_type', 'difficulty', 'department', 'patient_age', 'patient_gender', 'osce_enabled', 'publish_status', 'status', 'created_at' ] list_filter = ['case_type', 'difficulty', 'publish_status', 'status', 'osce_enabled'] search_fields = ['title', 'chief_complaint', 'tags', 'icd_codes'] ordering = ['-created_at'] @admin.register(TraditionalCase) class TraditionalCaseAdmin(admin.ModelAdmin): list_display = ['id', 'case'] search_fields = ['case__title'] @admin.register(ScriptCase) class ScriptCaseAdmin(admin.ModelAdmin): list_display = ['id', 'case', 'emotional_state', 'cultural_level'] search_fields = ['case__title'] @admin.register(TeachingCase) class TeachingCaseAdmin(admin.ModelAdmin): list_display = ['id', 'case'] search_fields = ['case__title'] @admin.register(CaseStage) class CaseStageAdmin(admin.ModelAdmin): list_display = ['id', 'case', 'stage_name', 'stage_type', 'stage_mode', 'sort_order', 'timeout_seconds'] list_filter = ['stage_type', 'stage_mode'] search_fields = ['case__title', 'stage_name'] ordering = ['case', 'sort_order'] @admin.register(ScoringRule) class ScoringRuleAdmin(admin.ModelAdmin): list_display = ['id', 'case', 'dimension', 'competency_dimension', 'score_weight', 'ai_auto_score'] list_filter = ['ai_auto_score', 'osce_dimension'] search_fields = ['case__title', 'dimension']