Files
akmon/doc_eldercare/eldercare_system_development_plan.md
2026-01-20 08:04:15 +08:00

28 KiB
Raw Blame History

养老管理系统开发方案 (基于现有数据库结构)

项目概述

基于现有 zhipao.sql 数据库结构,开发一套完整的多租户养老管理系统,采用 uni-app-x 框架,严格遵循 UTS Android 兼容性要求。

数据库设计方案

1. 复用现有核心组件

1.1 用户管理系统 (完整复用)

-- 直接使用现有表结构
-- ak_users (基础用户表)
-- ak_user_contacts (联系方式)  
-- ak_user_profiles (个人资料)
-- ak_user_roles (用户角色关联)

1.2 权限角色系统 (扩展现有)

-- 基于现有角色系统,增加养老系统特有角色
INSERT INTO public.ak_roles (name, description, level, is_system) VALUES
('elder', '入住老人', 5, true),
('family', '家属用户', 15, true),
('caregiver', '护理员', 25, true),
('nurse', '护士', 35, true),
('doctor', '医生', 45, true),
('facility_admin', '机构管理员', 55, true),
('system_admin', '系统管理员', 100, true);

-- 添加养老系统权限
INSERT INTO public.ak_permissions (code, name, resource_type, action, description) VALUES
-- 老人权限
('elder.profile.read', '查看个人档案', 'profile', 'read', '查看自己的档案信息'),
('elder.health.read', '查看健康记录', 'health', 'read', '查看自己的健康数据'),

-- 家属权限  
('family.elder.read', '查看老人信息', 'elder', 'read', '查看关联老人的信息'),
('family.visit.create', '预约探访', 'visit', 'create', '预约探访老人'),

-- 护理员权限
('caregiver.care.manage', '护理管理', 'care', 'manage', '执行日常护理任务'),
('caregiver.elder.read', '查看老人信息', 'elder', 'read', '查看负责老人信息'),

-- 护士权限
('nurse.health.manage', '健康管理', 'health', 'manage', '管理老人健康记录'),
('nurse.medication.manage', '用药管理', 'medication', 'manage', '管理用药计划'),

-- 医生权限
('doctor.diagnosis.manage', '诊疗管理', 'diagnosis', 'manage', '管理医疗诊断'),
('doctor.prescription.manage', '处方管理', 'prescription', 'manage', '开具处方');

1.3 多租户架构 (改造复用)

-- 地区管理 → 机构区域管理
-- ak_regions 表直接使用

-- 学校管理 → 养老机构管理  
-- 基于 ak_schools 表结构
CREATE TABLE public.ec_facilities (
    id uuid PRIMARY KEY DEFAULT gen_random_uuid(),
    name VARCHAR(128) NOT NULL, -- 机构名称
    region_id uuid REFERENCES public.ak_regions(id), -- 所属地区
    type VARCHAR(32), -- 机构类型nursing_home, assisted_living, day_care
    license_number VARCHAR(64), -- 许可证号
    contact_phone VARCHAR(32), -- 联系电话
    address TEXT, -- 详细地址
    capacity INT, -- 床位总数
    current_occupancy INT DEFAULT 0, -- 当前入住人数
    created_at TIMESTAMP WITH TIME ZONE DEFAULT now()
);

-- 班级管理 → 护理单元管理
-- 基于 ak_classes 表结构  
CREATE TABLE public.ec_care_units (
    id uuid PRIMARY KEY DEFAULT gen_random_uuid(),
    facility_id uuid REFERENCES public.ec_facilities(id) ON DELETE CASCADE,
    name VARCHAR(32) NOT NULL, -- 护理单元名称(如A栋1楼、康复区)
    unit_type VARCHAR(32), -- 单元类型general, dementia, medical, rehab
    bed_capacity INT, -- 床位数
    current_occupancy INT DEFAULT 0, -- 当前入住数
    created_at TIMESTAMP WITH TIME ZONE DEFAULT now()
);

1.4 设备管理系统 (改造复用)

-- 基于 ak_devices 表,扩展为健康监测设备
CREATE TABLE public.ec_devices (
    id uuid PRIMARY KEY DEFAULT gen_random_uuid(),
    facility_id uuid REFERENCES public.ec_facilities(id),
    elder_id uuid REFERENCES public.ak_users(id), -- 关联老人
    device_type VARCHAR(32) NOT NULL, -- 设备类型blood_pressure, glucose, heart_rate, fall_detector
    device_name VARCHAR(64), -- 设备名称
    device_mac VARCHAR(64), -- 设备MAC
    location VARCHAR(128), -- 设备位置
    bind_time TIMESTAMP WITH TIME ZONE DEFAULT now(),
    status VARCHAR(16) DEFAULT 'active', -- active, inactive, maintenance
    last_sync TIMESTAMP WITH TIME ZONE, -- 最后同步时间
    extra JSONB -- 设备特有配置
);

2. 养老系统核心业务表

2.1 老人档案管理

-- 老人基本档案
CREATE TABLE public.ec_elders (
    id uuid PRIMARY KEY DEFAULT gen_random_uuid(),
    user_id uuid UNIQUE REFERENCES public.ak_users(id) ON DELETE CASCADE, -- 关联用户表
    facility_id uuid REFERENCES public.ec_facilities(id), -- 所属机构
    care_unit_id uuid REFERENCES public.ec_care_units(id), -- 护理单元
    elder_code VARCHAR(32) UNIQUE, -- 老人编号
    name VARCHAR(64) NOT NULL, -- 姓名
    id_card VARCHAR(32), -- 身份证号
    gender VARCHAR(16), -- 性别
    birthday DATE, -- 出生日期
    nationality VARCHAR(32), -- 民族
    religion VARCHAR(32), -- 宗教信仰
    marital_status VARCHAR(16), -- 婚姻状况
    education VARCHAR(32), -- 文化程度
    occupation VARCHAR(64), -- 职业
    admission_date DATE, -- 入住日期
    care_level VARCHAR(16), -- 护理等级self_care, assisted, full_care, dementia
    room_number VARCHAR(16), -- 房间号
    bed_number VARCHAR(16), -- 床位号
    payment_method VARCHAR(16), -- 付费方式self_pay, insurance, government
    monthly_fee DECIMAL(10,2), -- 月费用
    deposit DECIMAL(10,2), -- 押金
    status VARCHAR(16) DEFAULT 'active', -- 状态active, discharged, deceased
    created_at TIMESTAMP WITH TIME ZONE DEFAULT now(),
    updated_at TIMESTAMP WITH TIME ZONE DEFAULT now()
);

-- 家属联系人
CREATE TABLE public.ec_family_contacts (
    id uuid PRIMARY KEY DEFAULT gen_random_uuid(),
    elder_id uuid REFERENCES public.ec_elders(id) ON DELETE CASCADE,
    user_id uuid REFERENCES public.ak_users(id), -- 关联家属用户账号
    name VARCHAR(64) NOT NULL, -- 联系人姓名
    relationship VARCHAR(32), -- 关系son, daughter, spouse, sibling, other
    phone VARCHAR(32), -- 电话
    email VARCHAR(128), -- 邮箱
    address TEXT, -- 地址
    is_emergency_contact BOOLEAN DEFAULT false, -- 是否紧急联系人
    is_primary BOOLEAN DEFAULT false, -- 是否主要联系人
    created_at TIMESTAMP WITH TIME ZONE DEFAULT now()
);

2.2 健康管理

-- 健康档案
CREATE TABLE public.ec_health_records (
    id uuid PRIMARY KEY DEFAULT gen_random_uuid(),
    elder_id uuid REFERENCES public.ec_elders(id) ON DELETE CASCADE,
    record_type VARCHAR(32), -- 记录类型admission, routine, emergency, discharge
    record_date DATE,
    height_cm INT, -- 身高
    weight_kg DECIMAL(5,2), -- 体重
    blood_pressure_systolic INT, -- 收缩压
    blood_pressure_diastolic INT, -- 舒张压
    heart_rate INT, -- 心率
    temperature DECIMAL(4,1), -- 体温
    blood_sugar DECIMAL(5,2), -- 血糖
    medical_history TEXT, -- 病史
    current_medications TEXT, -- 当前用药
    allergies TEXT, -- 过敏史
    mental_status TEXT, -- 心理状态
    mobility_level VARCHAR(16), -- 行动能力independent, assisted, wheelchair, bedridden
    cognitive_level VARCHAR(16), -- 认知能力normal, mild, moderate, severe
    recorded_by uuid REFERENCES public.ak_users(id), -- 记录人
    created_at TIMESTAMP WITH TIME ZONE DEFAULT now()
);

-- 基于现有 ak_biometric_data 表结构扩展
-- 生命体征监测数据
CREATE TABLE public.ec_vital_signs (
    id uuid PRIMARY KEY DEFAULT gen_random_uuid(),
    elder_id uuid REFERENCES public.ec_elders(id) ON DELETE CASCADE,
    device_id uuid REFERENCES public.ec_devices(id), -- 监测设备
    vital_type VARCHAR(32), -- 体征类型blood_pressure, heart_rate, temperature, oxygen, glucose
    systolic_pressure INT, -- 收缩压
    diastolic_pressure INT, -- 舒张压
    heart_rate INT, -- 心率
    temperature DECIMAL(4,1), -- 体温
    oxygen_saturation INT, -- 血氧饱和度
    glucose_level DECIMAL(5,2), -- 血糖
    measured_at TIMESTAMP WITH TIME ZONE, -- 测量时间
    measured_by uuid REFERENCES public.ak_users(id), -- 测量人
    notes TEXT, -- 备注
    is_abnormal BOOLEAN DEFAULT false, -- 是否异常
    created_at TIMESTAMP WITH TIME ZONE DEFAULT now()
);

2.3 护理管理

-- 护理计划 (基于 ak_training_plans 改造)
CREATE TABLE public.ec_care_plans (
    id uuid PRIMARY KEY DEFAULT gen_random_uuid(),
    elder_id uuid REFERENCES public.ec_elders(id) ON DELETE CASCADE,
    plan_name VARCHAR(128) NOT NULL, -- 计划名称
    plan_type VARCHAR(32), -- 计划类型daily, medical, rehabilitation, nutrition
    description TEXT, -- 描述
    start_date DATE, -- 开始日期
    end_date DATE, -- 结束日期
    frequency VARCHAR(32), -- 频率daily, weekly, monthly
    assigned_caregiver uuid REFERENCES public.ak_users(id), -- 负责护理员
    created_by uuid REFERENCES public.ak_users(id), -- 创建人
    status VARCHAR(16) DEFAULT 'active', -- 状态
    created_at TIMESTAMP WITH TIME ZONE DEFAULT now(),
    updated_at TIMESTAMP WITH TIME ZONE DEFAULT now()
);

-- 护理任务 (基于 ak_assignments 改造)
CREATE TABLE public.ec_care_tasks (
    id uuid PRIMARY KEY DEFAULT gen_random_uuid(),
    elder_id uuid REFERENCES public.ec_elders(id) ON DELETE CASCADE,
    care_plan_id uuid REFERENCES public.ec_care_plans(id),
    task_name VARCHAR(128) NOT NULL, -- 任务名称
    task_type VARCHAR(32), -- 任务类型medication, hygiene, mobility, nutrition, social
    description TEXT, -- 任务描述
    scheduled_time TIMESTAMP WITH TIME ZONE, -- 计划执行时间
    assigned_to uuid REFERENCES public.ak_users(id), -- 分配给
    priority VARCHAR(16) DEFAULT 'normal', -- 优先级low, normal, high, urgent
    estimated_duration INT, -- 预计耗时(分钟)
    status VARCHAR(16) DEFAULT 'pending', -- 状态pending, in_progress, completed, cancelled
    due_date TIMESTAMP WITH TIME ZONE, -- 截止时间
    created_by uuid REFERENCES public.ak_users(id), -- 创建人
    created_at TIMESTAMP WITH TIME ZONE DEFAULT now(),
    updated_at TIMESTAMP WITH TIME ZONE DEFAULT now()
);

-- 护理记录 (基于 ak_assignment_submissions 改造)
CREATE TABLE public.ec_care_records (
    id uuid PRIMARY KEY DEFAULT gen_random_uuid(),
    task_id uuid REFERENCES public.ec_care_tasks(id) ON DELETE CASCADE,
    elder_id uuid REFERENCES public.ec_elders(id) ON DELETE CASCADE,
    caregiver_id uuid REFERENCES public.ak_users(id) ON DELETE CASCADE, -- 护理员
    start_time TIMESTAMP WITH TIME ZONE, -- 开始时间
    end_time TIMESTAMP WITH TIME ZONE, -- 结束时间
    actual_duration INT, -- 实际耗时(分钟)
    care_content TEXT, -- 护理内容
    elder_condition TEXT, -- 老人状况描述
    issues_notes TEXT, -- 问题或注意事项
    photo_urls TEXT[], -- 相关照片
    status VARCHAR(16) DEFAULT 'completed', -- 状态
    rating INT, -- 护理质量评分(1-5)
    supervisor_notes TEXT, -- 主管备注
    created_at TIMESTAMP WITH TIME ZONE DEFAULT now()
);

2.4 医疗管理

-- 医疗记录
CREATE TABLE public.ec_medical_records (
    id uuid PRIMARY KEY DEFAULT gen_random_uuid(),
    elder_id uuid REFERENCES public.ec_elders(id) ON DELETE CASCADE,
    doctor_id uuid REFERENCES public.ak_users(id), -- 医生
    visit_type VARCHAR(32), -- 就诊类型routine, emergency, consultation, follow_up
    visit_date TIMESTAMP WITH TIME ZONE, -- 就诊时间
    chief_complaint TEXT, -- 主诉
    symptoms TEXT, -- 症状
    diagnosis TEXT, -- 诊断
    treatment_plan TEXT, -- 治疗方案
    prescription TEXT, -- 处方
    follow_up_date DATE, -- 复诊日期
    notes TEXT, -- 医生备注
    created_at TIMESTAMP WITH TIME ZONE DEFAULT now()
);

-- 用药管理
CREATE TABLE public.ec_medications (
    id uuid PRIMARY KEY DEFAULT gen_random_uuid(),
    elder_id uuid REFERENCES public.ec_elders(id) ON DELETE CASCADE,
    medical_record_id uuid REFERENCES public.ec_medical_records(id), -- 关联医疗记录
    medication_name VARCHAR(128) NOT NULL, -- 药品名称
    dosage VARCHAR(64), -- 剂量
    frequency VARCHAR(64), -- 用药频率
    route VARCHAR(32), -- 给药途径oral, injection, topical
    start_date DATE, -- 开始日期
    end_date DATE, -- 结束日期
    prescribed_by uuid REFERENCES public.ak_users(id), -- 开药医生
    instructions TEXT, -- 用药说明
    side_effects TEXT, -- 副作用注意
    status VARCHAR(16) DEFAULT 'active', -- 状态active, completed, discontinued
    created_at TIMESTAMP WITH TIME ZONE DEFAULT now()
);

-- 用药记录
CREATE TABLE public.ec_medication_logs (
    id uuid PRIMARY KEY DEFAULT gen_random_uuid(),
    medication_id uuid REFERENCES public.ec_medications(id) ON DELETE CASCADE,
    elder_id uuid REFERENCES public.ec_elders(id) ON DELETE CASCADE,
    administered_by uuid REFERENCES public.ak_users(id), -- 给药人
    scheduled_time TIMESTAMP WITH TIME ZONE, -- 计划给药时间
    actual_time TIMESTAMP WITH TIME ZONE, -- 实际给药时间
    dosage_given VARCHAR(64), -- 实际给药剂量
    status VARCHAR(16), -- 状态given, refused, missed, delayed
    notes TEXT, -- 备注
    side_effects_observed TEXT, -- 观察到的副作用
    created_at TIMESTAMP WITH TIME ZONE DEFAULT now()
);

2.5 服务管理

-- 餐饮服务
CREATE TABLE public.ec_meal_services (
    id uuid PRIMARY KEY DEFAULT gen_random_uuid(),
    facility_id uuid REFERENCES public.ec_facilities(id) ON DELETE CASCADE,
    meal_date DATE NOT NULL, -- 用餐日期
    meal_type VARCHAR(16), -- 餐次类型breakfast, lunch, dinner, snack
    menu_items JSONB, -- 菜单项目
    nutritional_info JSONB, -- 营养信息
    special_diet_options JSONB, -- 特殊饮食选项
    created_by uuid REFERENCES public.ak_users(id), -- 创建人
    created_at TIMESTAMP WITH TIME ZONE DEFAULT now()
);

-- 用餐记录
CREATE TABLE public.ec_meal_records (
    id uuid PRIMARY KEY DEFAULT gen_random_uuid(),
    elder_id uuid REFERENCES public.ec_elders(id) ON DELETE CASCADE,
    meal_service_id uuid REFERENCES public.ec_meal_services(id),
    meal_type VARCHAR(16), -- 餐次
    meal_date DATE, -- 用餐日期
    food_items JSONB, -- 实际用餐项目
    appetite_level VARCHAR(16), -- 食欲good, fair, poor
    amount_consumed VARCHAR(16), -- 进食量full, half, quarter, none
    assistance_needed BOOLEAN DEFAULT false, -- 是否需要协助
    assisted_by uuid REFERENCES public.ak_users(id), -- 协助人员
    notes TEXT, -- 备注
    created_at TIMESTAMP WITH TIME ZONE DEFAULT now()
);

-- 活动安排
CREATE TABLE public.ec_activities (
    id uuid PRIMARY KEY DEFAULT gen_random_uuid(),
    facility_id uuid REFERENCES public.ec_facilities(id) ON DELETE CASCADE,
    activity_name VARCHAR(128) NOT NULL, -- 活动名称
    activity_type VARCHAR(32), -- 活动类型recreation, therapy, education, social, exercise
    description TEXT, -- 活动描述
    location VARCHAR(128), -- 活动地点
    start_time TIMESTAMP WITH TIME ZONE, -- 开始时间
    end_time TIMESTAMP WITH TIME ZONE, -- 结束时间
    max_participants INT, -- 最大参与人数
    instructor uuid REFERENCES public.ak_users(id), -- 活动指导员
    requirements TEXT, -- 参与要求
    materials_needed TEXT, -- 所需物品
    status VARCHAR(16) DEFAULT 'scheduled', -- 状态
    created_by uuid REFERENCES public.ak_users(id), -- 创建人
    created_at TIMESTAMP WITH TIME ZONE DEFAULT now()
);

-- 活动参与记录
CREATE TABLE public.ec_activity_participations (
    id uuid PRIMARY KEY DEFAULT gen_random_uuid(),
    activity_id uuid REFERENCES public.ec_activities(id) ON DELETE CASCADE,
    elder_id uuid REFERENCES public.ec_elders(id) ON DELETE CASCADE,
    participation_status VARCHAR(16), -- 参与状态registered, attended, absent, cancelled
    enjoyment_level VARCHAR(16), -- 参与满意度excellent, good, fair, poor
    behavior_notes TEXT, -- 行为观察记录
    staff_notes TEXT, -- 工作人员备注
    created_at TIMESTAMP WITH TIME ZONE DEFAULT now()
);

-- 访客管理
CREATE TABLE public.ec_visits (
    id uuid PRIMARY KEY DEFAULT gen_random_uuid(),
    elder_id uuid REFERENCES public.ec_elders(id) ON DELETE CASCADE,
    visitor_name VARCHAR(64) NOT NULL, -- 访客姓名
    visitor_relationship VARCHAR(32), -- 与老人关系
    visitor_id_card VARCHAR(32), -- 访客身份证
    visitor_phone VARCHAR(32), -- 访客电话
    visit_date DATE, -- 访问日期
    start_time TIME, -- 开始时间
    end_time TIME, -- 结束时间
    visit_purpose TEXT, -- 访问目的
    items_brought TEXT, -- 携带物品
    approved_by uuid REFERENCES public.ak_users(id), -- 审批人
    check_in_time TIMESTAMP WITH TIME ZONE, -- 实际签到时间
    check_out_time TIMESTAMP WITH TIME ZONE, -- 实际签出时间
    status VARCHAR(16) DEFAULT 'scheduled', -- 状态scheduled, in_progress, completed, cancelled
    notes TEXT, -- 备注
    created_at TIMESTAMP WITH TIME ZONE DEFAULT now()
);

3. AI分析与报告系统 (基于现有系统改造)

3.1 健康预警系统

-- 基于 ak_ai_reports 改造
CREATE TABLE public.ec_health_alerts (
    id uuid PRIMARY KEY DEFAULT gen_random_uuid(),
    elder_id uuid REFERENCES public.ec_elders(id) ON DELETE CASCADE,
    alert_type VARCHAR(32), -- 预警类型vital_signs, medication, fall_risk, behavior
    severity VARCHAR(16), -- 严重程度low, medium, high, critical
    title VARCHAR(128), -- 预警标题
    description TEXT, -- 预警描述
    data_source JSONB, -- 触发预警的数据
    ai_analysis JSONB, -- AI分析结果
    recommendations TEXT, -- 建议措施
    status VARCHAR(16) DEFAULT 'active', -- 状态active, acknowledged, resolved
    acknowledged_by uuid REFERENCES public.ak_users(id), -- 确认人
    acknowledged_at TIMESTAMP WITH TIME ZONE, -- 确认时间
    resolved_by uuid REFERENCES public.ak_users(id), -- 处理人
    resolved_at TIMESTAMP WITH TIME ZONE, -- 处理时间
    created_at TIMESTAMP WITH TIME ZONE DEFAULT now()
);

-- 基于 ak_video_analysis 改造 - 行为分析
CREATE TABLE public.ec_behavior_analysis (
    id uuid PRIMARY KEY DEFAULT gen_random_uuid(),
    elder_id uuid REFERENCES public.ec_elders(id) ON DELETE CASCADE,
    device_id uuid REFERENCES public.ec_devices(id), -- 监控设备
    analysis_type VARCHAR(32), -- 分析类型fall_detection, wandering, sleep_pattern, activity_level
    video_url TEXT, -- 视频链接
    timestamp_start TIMESTAMP WITH TIME ZONE, -- 分析开始时间
    timestamp_end TIMESTAMP WITH TIME ZONE, -- 分析结束时间
    ai_results JSONB, -- AI分析结果
    confidence_score DECIMAL(3,2), -- 置信度
    is_anomaly BOOLEAN DEFAULT false, -- 是否异常
    alert_generated BOOLEAN DEFAULT false, -- 是否生成预警
    reviewed_by uuid REFERENCES public.ak_users(id), -- 审核人
    review_notes TEXT, -- 审核备注
    created_at TIMESTAMP WITH TIME ZONE DEFAULT now()
);

4. 系统配置与管理

4.1 通知模板系统

-- 基于现有通知系统扩展
CREATE TABLE public.ec_notification_templates (
    id uuid PRIMARY KEY DEFAULT gen_random_uuid(),
    template_code VARCHAR(64) UNIQUE NOT NULL, -- 模板代码
    template_name VARCHAR(128) NOT NULL, -- 模板名称
    category VARCHAR(32), -- 分类health, care, visit, emergency, system
    subject_template TEXT, -- 标题模板
    content_template TEXT, -- 内容模板
    variables JSONB, -- 模板变量定义
    delivery_methods VARCHAR(16)[], -- 发送方式app, sms, email
    is_active BOOLEAN DEFAULT true, -- 是否启用
    created_at TIMESTAMP WITH TIME ZONE DEFAULT now()
);

-- 通知发送记录
CREATE TABLE public.ec_notification_logs (
    id uuid PRIMARY KEY DEFAULT gen_random_uuid(),
    template_id uuid REFERENCES public.ec_notification_templates(id),
    recipient_id uuid REFERENCES public.ak_users(id), -- 接收人
    elder_id uuid REFERENCES public.ec_elders(id), -- 关联老人
    subject VARCHAR(256), -- 实际标题
    content TEXT, -- 实际内容
    delivery_method VARCHAR(16), -- 发送方式
    delivery_status VARCHAR(16), -- 发送状态pending, sent, failed, delivered
    sent_at TIMESTAMP WITH TIME ZONE, -- 发送时间
    delivered_at TIMESTAMP WITH TIME ZONE, -- 送达时间
    error_message TEXT, -- 错误信息
    created_at TIMESTAMP WITH TIME ZONE DEFAULT now()
);

前端页面结构规划

1. 用户角色页面结构

1.1 老人用户 (Elder)

pages/elder/
├── dashboard.uvue          # 个人仪表板
├── profile/
│   ├── basic.uvue         # 基本信息
│   ├── health.uvue        # 健康档案
│   └── family.uvue        # 家属联系
├── health/
│   ├── vitals.uvue        # 生命体征
│   ├── medications.uvue   # 用药记录
│   └── records.uvue       # 健康记录
├── services/
│   ├── meals.uvue         # 餐饮服务
│   ├── activities.uvue    # 活动安排
│   └── visits.uvue        # 访客管理
└── notifications.uvue      # 消息通知

1.2 家属用户 (Family)

pages/family/
├── dashboard.uvue          # 家属仪表板
├── elder/
│   ├── overview.uvue      # 老人概况
│   ├── health.uvue        # 健康状况
│   ├── care.uvue          # 护理记录
│   └── activities.uvue    # 活动参与
├── visits/
│   ├── schedule.uvue      # 探访预约
│   └── history.uvue       # 探访记录
├── communication/
│   ├── messages.uvue      # 消息中心
│   └── alerts.uvue        # 健康预警
└── reports.uvue            # 护理报告

1.3 护理员 (Caregiver)

pages/caregiver/
├── dashboard.uvue          # 工作仪表板
├── tasks/
│   ├── today.uvue         # 今日任务
│   ├── schedule.uvue      # 任务安排
│   └── history.uvue       # 历史记录
├── elders/
│   ├── list.uvue          # 负责老人列表
│   ├── profile.uvue       # 老人详情
│   └── care-notes.uvue    # 护理笔记
├── records/
│   ├── care.uvue          # 护理记录
│   ├── vitals.uvue        # 生命体征
│   └── incidents.uvue     # 事件记录
└── handover.uvue           # 交班记录

1.4 护士 (Nurse)

pages/nurse/
├── dashboard.uvue          # 护士工作台
├── patients/
│   ├── list.uvue          # 老人列表
│   ├── assessment.uvue    # 健康评估
│   └── care-plans.uvue    # 护理计划
├── medications/
│   ├── administration.uvue # 给药管理
│   ├── schedule.uvue      # 用药安排
│   └── monitoring.uvue    # 用药监控
├── health/
│   ├── vitals.uvue        # 生命体征监测
│   ├── alerts.uvue        # 健康预警
│   └── reports.uvue       # 健康报告
└── documentation.uvue      # 护理文档

1.5 医生 (Doctor)

pages/doctor/
├── dashboard.uvue          # 医生工作台
├── patients/
│   ├── list.uvue          # 患者列表
│   ├── medical-history.uvue # 病史查看
│   └── consultation.uvue  # 会诊记录
├── diagnosis/
│   ├── examination.uvue   # 查体记录
│   ├── diagnosis.uvue     # 诊断记录
│   └── treatment.uvue     # 治疗方案
├── prescriptions/
│   ├── create.uvue        # 开具处方
│   ├── review.uvue        # 处方审核
│   └── history.uvue       # 处方历史
└── reports/
    ├── medical.uvue       # 医疗报告
    └── statistics.uvue    # 统计分析

1.6 机构管理员 (Facility Admin)

pages/admin/
├── dashboard.uvue          # 管理仪表板
├── residents/
│   ├── list.uvue          # 入住老人管理
│   ├── admission.uvue     # 入住办理
│   └── discharge.uvue     # 出院办理
├── staff/
│   ├── list.uvue          # 员工管理
│   ├── scheduling.uvue    # 排班管理
│   └── performance.uvue   # 绩效管理
├── facilities/
│   ├── rooms.uvue         # 房间管理
│   ├── equipment.uvue     # 设备管理
│   └── maintenance.uvue   # 维护记录
├── services/
│   ├── meals.uvue         # 餐饮管理
│   ├── activities.uvue    # 活动管理
│   └── visits.uvue        # 访客管理
├── finance/
│   ├── billing.uvue       # 费用管理
│   ├── payments.uvue      # 收费记录
│   └── reports.uvue       # 财务报表
└── reports/
    ├── occupancy.uvue     # 入住率报告
    ├── care-quality.uvue  # 护理质量
    └── statistics.uvue    # 统计报表

2. 共享组件设计

2.1 基础组件

components/
├── common/
│   ├── EcHeader.uvue      # 页面头部
│   ├── EcSidebar.uvue     # 侧边栏
│   ├── EcCard.uvue        # 信息卡片
│   ├── EcList.uvue        # 列表组件
│   ├── EcForm.uvue        # 表单组件
│   ├── EcModal.uvue       # 模态框
│   └── EcPagination.uvue  # 分页组件
├── charts/
│   ├── VitalChart.uvue    # 生命体征图表
│   ├── HealthTrend.uvue   # 健康趋势图
│   └── StatisticChart.uvue # 统计图表
├── elder/
│   ├── ElderCard.uvue     # 老人信息卡
│   ├── HealthStatus.uvue  # 健康状态
│   └── CareLevel.uvue     # 护理等级显示
├── tasks/
│   ├── TaskList.uvue      # 任务列表
│   ├── TaskCard.uvue      # 任务卡片
│   └── TaskProgress.uvue  # 任务进度
└── notifications/
    ├── AlertBadge.uvue    # 预警徽章
    ├── MessageList.uvue   # 消息列表
    └── NotificationItem.uvue # 通知项

3. UTS Android 严格兼容性要求

3.1 代码规范

// ✅ 正确的 UTSJSONObject 访问模式
把必须的type都集中到 /eldercar/atypes.uts中

function processElderData(data: UTSJSONObject): ElderInfo {
    return {
        id: (data as UTSJSONObject).getString('id') ?? '',
        name: (data as UTSJSONObject).getString('name') ?? '',
        age: (data as UTSJSONObject).getNumber('age') ?? 0,
        careLevel: (data as UTSJSONObject).getString('care_level') ?? 'self_care',
        isActive: (data as UTSJSONObject).getBoolean('is_active') ?? true
    }
}

// ✅ 安全的布尔值检查


// ✅ UTS 兼容的函数定义
当前用户获取从/utils/store中获取

4. 开发优先级与里程碑

第一阶段:核心基础功能 (4周)

  1. 用户认证与权限系统
  2. 老人档案管理
  3. 基础护理记录
  4. 简单的健康监测

第二阶段:护理业务完善 (4周)

  1. 完整的护理计划与任务管理
  2. 用药管理系统
  3. 餐饮与活动服务
  4. 访客管理

第三阶段:高级功能 (4周)

  1. AI健康预警系统
  2. 行为分析与跌倒检测
  3. 报表统计系统
  4. 移动端优化

第四阶段:系统完善 (2周)

  1. 多租户管理界面
  2. 系统配置与维护
  3. 数据导入导出
  4. 性能优化与测试

技术架构说明

后端架构

  • 数据库: Supabase PostgreSQL
  • 认证: /components/supadb/
  • 存储: /components/supadb/ Storage (照片、视频、文档)
  • 实时通信: /components/supadb/ Realtime
  • API: /components/supadb/ajsupa.uts

前端架构

  • 框架: uni-app-x
  • 状态管理: /utils/store
  • UI组件: 自定义组件库 (严格UTS兼容)
  • 图表: uCharts (UTS兼容版本)
  • 网络请求: uni.request (UTS兼容封装)

开发工具链

  • IDE: VS Code + uni-app插件
  • 版本控制: Git
  • 部署: Supabase + 小程序云开发
  • 监控: Supabase Dashboard + 自定义监控

这个开发方案充分利用了现有数据库结构的优势,同时满足养老管理系统的特殊需求,确保系统的可扩展性和维护性。

这个系统的目录就放在/pages/eldercare/ ,可以分角色创建不同的目录和页面,可以参考 /sports/下面的页面