电子医嘱及资料录入系统简介

上传人:不*** 文档编号:93114507 上传时间:2019-07-16 格式:DOC 页数:70 大小:973.96KB
返回 下载 相关 举报
电子医嘱及资料录入系统简介_第1页
第1页 / 共70页
电子医嘱及资料录入系统简介_第2页
第2页 / 共70页
电子医嘱及资料录入系统简介_第3页
第3页 / 共70页
电子医嘱及资料录入系统简介_第4页
第4页 / 共70页
电子医嘱及资料录入系统简介_第5页
第5页 / 共70页
点击查看更多>>
资源描述

《电子医嘱及资料录入系统简介》由会员分享,可在线阅读,更多相关《电子医嘱及资料录入系统简介(70页珍藏版)》请在金锄头文库上搜索。

1、/ 课程设计报告 题目 电子医嘱录入系统 系 别 年 级 专 业 班 级 学 号 学生姓名 指导教师 职 称 讲师 设计时间 目录1 绪论11.1课题背景和意义11.2主要研究内容12 系统功能设计22.1初始化模块22.2预约模块22.3查看预约信息模块22.4删除预约信息模块32.5创建病人信息模块32.6修改病人信息模块32.7查看病人信息模块32.8保存信息并退出模块33 系统详细设计43.1数据表的存储组织43.1.1病人信息数据结构43.1.2科室信息数据结构53.1.3病人预约信息数据结构53.1.4三种结构的关联63.2 主要算法设计73.2.1初始化模块83.2.2预约模块9

2、3.2.3查看预约模块103.2.4删除预约模块113.2.5创建病人信息模块123.2.6修改病人信息模块133.2.7查看病人信息模块143.2.8保存信息并退出模块154系统测试164.1病人信息管理测试174.2病人预约信息管理测试214.3文件信息存取测试245 总结与展望245.1 全文总结24心 得 体 会25参 考 文 献261 绪论1.1课题背景和意义随着社会的信息化,各个行业的管理与运营都逐渐开始使用电子系统来取代传统的管理模式。使用电子医嘱管理可以帮助医院更为便捷的管理医嘱,通过计算机技术给医院的管理人员和就诊病人在病历创建、预约查询以及记录统计等方面带来便利,为医院在管

3、理医嘱方面提供一种更好的方式。1.2主要研究内容本系统使用C语言编写了电子医嘱管理系统,主要实现医院中医生医嘱的电子管理。通过此系统可对医嘱进行管理和维护操作,实现电子医嘱管理的一般功能。主要内容包括:(1) 电子医嘱查询。提供按照科室信息、病人信息查询;(2) 电子医嘱创建。提供病人信息、预约记录的录入功能;(3) 电子医嘱编辑。提供对系统数据的修改、删除等功能;(4) 电子医嘱维护。提供对系统数据的保存、读取等功能。系统采用菜单方式作为人机交互界面,为用户提供便捷的使用方式。用户根据菜单提示,选择所需要的服务,系统自动做出相应的响应。医嘱信息包含病人姓名、身份证号、科室名称、就诊科室等。科

4、室信息、病人信息的读取和保存要求有一定的格式规范,录入的信息以文件的形式保存并可以对其进行浏览、查询、修改、删除等基本操作。整个程序基于链表实现,一个就诊信息的更改不影响其他的就诊记录。2 系统功能设计电子医嘱管理系统是由五大功能模块组成:预约模块、查看预约信息模块、删除预约信息模块、创建病人信息模块、修改病人信息模块、查看病人信息模块、保存信息并退出模块以及初始化模块如图2.1所示。 图2.1电子医嘱管理系统的功能模块2.1初始化模块创建链表并将文件中的格式化信息读取到内存链表中。2.2预约模块预约模块的操作流程包括选择预约科室,输入预约人员身份证号,若存在病人则预约,若不存在则返回主界面。

5、2.3查看预约信息模块查看预约信息模块的操作流程包括输入预约人员身份证号码得到相关预约科室信息,若存在病人则预约,若不存在则返回主界面。2.4删除预约信息模块删除预约信息模块的操作流程包括输入预约人员身份证号码得到相关预约科室信息,选择删除预约科室删除成功返回主界面。2.5创建病人信息模块创建病人信息模块的操作流程依次输入身份证号码、姓名、年龄、性别、联系电话、住址、密码并回车添加病人信息。2.6修改病人信息模块修改病人信息模块的操作流程输入病人身份证号显示病人信息输入修改项并输入修改的内容,若退出则按0返回主界面。2.7查看病人信息模块查看病人信息模块的操作流程输入病人身份证号码显示病人信息

6、按回车返回主界面。2.8保存信息并退出模块保存信息并退出模块的操作流程直接退出程序将链表中的信息保存到文件。3 系统详细设计3.1数据表的存储组织根据2.3节中设计,系统建立病人基本信息和病人预约信息表。在系统实现中,采用内存链表和磁盘文件二级的数据存储结构来存放这些数据信息。系统将文件信息转换为内存链表,再将链表转换成磁盘文件形式。系统首先将磁盘文件数据转入内存链表,在通过对链表数据的处理,对用户请求作出响应。 本系统以病人信息文件以及预约信息二份文本文件作为表单对应的磁盘存储,在内存中以结构变量的方式分别存放基本信息,并以链表的形式将所有的数据组织起来。 3.1.1病人信息数据结构病人信息

7、在内存中采用结构类型进行描述。病人结构成员包括:病人姓名、身份证号、性别、年龄、联系方式、家庭住址、密码。病人姓名、身份证号、性别、年龄、联系方式、家庭住址、密码均以字符数组的形式存储。在病人结构中有一个个结构指针,指向下一个病人结构,通过这个指针可以组成病人链表。该结构变量实现病人信息表在计算机上的存储,其结构声明如图3.1所示。typedef struct patientinfchar name10;char number19;char sex10;char age10;char tel20;char addr20;char PassWord5;struct patientinf *nex

8、t;patinf;图3.1病人结构3.1.2科室信息数据结构科室信息在内存中采用结构类型进行描述。科室结构成员包括:科室名称。科室名称以指针数组的形式存储。在科室结构中有二个结构指针,一个指向下一个科室结构,通过这个指针可以组成科室信息链表,一个指向下一个病人结构,通过这个指针可以组成病人链表。该结构变量实现病人信息表在计算机上的存储,其结构声明如图3.2所示。typedef struct headchar *name;struct head *next;struct pat *next_;class_;图3.2科室结构3.1.3病人预约信息数据结构病人预约信息在内存中采用结构类型进行描述。预

9、约结构成员包括:病人身份证号。病人身份证号以字符数组的形式存储。在预约结构中有一个结构指针,指向下一个预约结构通过该指针可以将某一科室的所有预约病人链接起来,组成就诊链表。该结构变量实现病人预约信息表在计算机上的存储,其结构声明如图3.3所示。typedef struct patchar number19;struct pat *next;patient;图3.3预约结构3.1.4三种结构的关联本系统数据之间以指针相结合的方式来链接系统中各类对象。系统中,科室结构中的病人身份证号以及科室编号的值将科室和预约病人关联起来。在系统实现中为了提高查询效率,查询模块实现中采用了值的相等对记录进行定位。

10、科室、预约病人之间存在着层次关系,为了在内存中较好的体现这种层次关系,本系统采用二重链表的方式组织信息之间的关联关系。具体结构如图3.4所示。科室信息存放在二重链表的主链结点上,每个主链结点除了保存下一个结点的地址,还保存该科室的预约病人的基本信息链表头结点地址;预约病人信息存放在二重链表中相应科室的预约病人链结点上,每个结点保存下一个预约病人基本信息结点的地址。图3.4二重链表存储结构示意图病人信息存放在单链表中,具体结构如图3.5所示。病人信息结点除了保存病人信息还保存下一个结点的地址。NULL病人信息PatInfHEAD图3.5单链表存储结构示意图3.2 主要算法设计 本系统在算法设计上

11、采用“自顶向下,逐步求精”的设计方法。由全局到局部、由整体到细节、由抽象到具体,逐步将系统的问题分解为相对简单的小规模问题。本系统依照使用功能分成几个子模块:预约模块、查看预约信息模块、删除预约信息模块、创建病人信息模块、修改病人信息模块、查看病人信息模块、保存信息并退出模块以及初始化模块。 系统的总控模块的算法流程如图3.1所示。系统运行文本菜单初始化界面加载文件中存储的链表数据系统功能模块的选择和运行保存数据链表关闭系统结束图3.1主程序运行流程图3.2.1初始化模块初始化模块负责将文本文件转换成内存链表。在第2章的概要设计中,系统数据分为二种基础数据,这二种系统数据要求储存到数据文件中。

12、为便于处理每个文件,本系统将三种数据分别存放在二个文本文件中。为了实现上述功能编辑了三个子函数与一个创建单链表语句 : struct head *TreeListCreat(int n);void PatInfToListRead();void AppointedInfToListRead();PatInfHEAD-next=NULL; 初始化的过程包括将预约信息文件、病人信息文件从数据文件中读取并存放到所创建的链表中。算法流程如图3.2所示。图3.2初始化模块运行流程图3.2.2预约模块预约模块中包括找到对应预约科室尾部结点并添加结点其中使用到四个函数:struct pat * mainLi

13、stLocatedSearch(char *str);struct pat* leafListTailSearch(struct pat* head);patinf *PatInfNodeSearch(char *number);struct pat* leafListnodeAdd(patient *previous);过程包括找到所预约科室头结点然后根据头结点找到添加链表的尾结点输入信息在添加结点。算法流程如图3.3所示。图3.3预约模块运行流程图3.2.3查看预约模块查看预约模块中包括找到病人预约二重链表中所有的预约信息使用到两个子函数:void AppointNumDisplay();void PatAppointedSearch(char *str);过程包括遍历分科室遍历二级链表然后显示预约信息。算法流程如图3.4所示。图3.4查看预约模块运行流程图3.2.4删除预约模块删除预约模块中包括找到结点位置,和找到结点前一个位置用到四个子函数:struct pat * leafListLocatedSearch(struct pat *secondlist,char *num);struct pat * mainListLocatedSearch(char *str);struct pat

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 专业基础教材

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号