WinForm 做了个医院信息管理系统,支持多角色权限

59 阅读5分钟

前言

在中小型医疗机构中,信息化程度往往不高,很多日常管理工作仍依赖纸质记录或简单的电子表格。这种方式不仅效率低,还容易出错,更难实现信息共享与权限隔离。

本文推荐一套轻量级的医院信息管理系统。它不追求大而全,而是聚焦核心业务流程,用最熟悉的 WinForms 技术栈,实现多角色协同与数据安全管控。

项目介绍

这个系统是一个基于 .NET Framework 的桌面应用程序,采用 Windows Forms 开发用户界面,使用 SQL Server(通过 JSON 模拟或轻量存储)管理数据。

整个系统围绕""患者"这一核心对象展开,同时支持医生、护士、管理员三类角色,每类角色拥有不同的操作权限和专属工作界面,确保信息既共享又受控。

项目功能

1、登录系统

支持多角色认证,首次运行自动创建 admin、doctor、nurse 三个默认账号;登录时按 Enter 键即可提交,退出时自动清理会话。

2、护士工作站

护士可管理患者基本信息,包括增删改查和按姓名、ID、病房快速搜索,所有操作实时刷新,表单支持一键清空,提升录入效率。

3、医生工作站

除完整管理患者信息外,还能查看并维护护士资料,界面采用双标签页设计,患者与护士管理互不干扰,各自配备独立搜索框。

4、管理员工作站

拥有最高权限,通过四个标签页分别管理患者、医生、护士及系统用户账号,支持统一搜索,并可启用或禁用用户状态,保障系统安全。

项目特点

系统最大的优势在于"角色隔离清晰、界面简洁实用"。每个角色看到的界面完全不同,避免了误操作风险。

比如护士看不到医生信息,医生不能修改用户账号,只有管理员能全局掌控。

另外,系统开箱即用——首次启动自动初始化默认账户,无需手动配置数据库;所有交互符合 Windows 原生操作习惯,医护人员几乎无需培训就能上手。

项目技术

.NET Framework 4.7.2

开发工具: Visual Studio 2022

UI框架: Windows Forms

JSON处理: Newtonsoft.Json 13.0.3

项目使用

默认用户账号

系统在首次运行时会自动创建以下三个默认用户,无需手动初始化:

用户名密码角色说明
adminadmin管理员系统管理员账号
doctordoctor医生医生账号
nursenurse护士护士账号

使用指南

护士登录

1、使用护士账号登录(用户名:nurse,密码:nurse)。
2、成功登录后进入"护士工作站"。

3、可对患者信息进行添加、编辑、删除和查看操作。

4、支持按姓名、ID 或病房号快速搜索患者。

医生登录

1、使用医生账号登录(用户名:doctor,密码:doctor)。

2、进入"医生工作站"后,界面包含两个标签页:

  • 患者管理:可完整管理患者信息(增删改查)。

  • 护士管理:可查看并维护护士资料(添加、编辑、删除、查询)。

3、每个标签页均配备独立的搜索功能,互不干扰。

管理员登录

1、使用管理员账号登录(用户名:admin,密码:admin)。

2、进入"管理员工作站",界面包含四个标签页:患者、医生、护士、用户管理。

3、权限范围包括:

  • 查看所有患者信息;

  • 完整管理医生和护士数据;

  • 管理系统用户账号(新增、修改、删除、启用/禁用)。

4、支持统一搜索框,可在当前标签页内快速定位记录。

项目效果

管理员端

患者管理

医生管理

护士管理

用户管理

医生端

护士站端

项目源码

项目代码结构清晰,按角色划分窗体(NurseForm、DoctorForm、AdminForm),公共逻辑如登录验证、数据读写封装在独立类中。源码包含完整的注释,关键流程(如权限判断、JSON 序列化)均有说明。只需用 Visual Studio 打开解决方案,确保安装 .NET Framework 4.7.2 和 Newtonsoft.Json 包,即可直接运行。非常适合学习 WinForm 多窗体协作、角色权限设计,也可作为基层医疗信息化的起点进行二次开发。

总结

这个医院管理系统或许没有复杂的报表或对接医保接口,但它抓住了基层最真实的需求:让不同岗位的人,在同一个系统里高效、安全地完成自己的工作。它证明了,即使不用 Web、不用云,传统的桌面应用依然能在特定场景中发挥巨大价值。如果大家正在寻找一个结构清晰、功能聚焦的 WinForm 实战项目,或者需要一套可快速落地的轻量级医疗管理工具,这个系统值得参考。

关键词

Windows Forms、医院管理系统、多角色权限、C#、.NET Framework、护士工作站、医生工作站、用户认证、JSON存储、桌面应用