医疗数据组工具脚本

医疗数据组工具脚本-1

项目构架

明日采平行样
明日16天采样
不用采平行样
数据总表
A:平行采样
B:16天采样
每天采样组
C:按照每日采样编码
明日采样名单总表
送检单
采样管编码

项目需求:明日采样方案生成,采样管编码,送检单生成

处理日期相关代码:

获取今日日期和明日日期,数据格式为numpy.datetime64。

today=datetime.date.today()
today=np.datetime64(today)
tommorow = today+1

获取excel文件内容相关代码:

获取目录下包含名为“总表”的xlsx文件。

import os
path=os.getcwd()
files=os.listdir()
for fi in files:
    if '总表' in fi and '.xls' in fi:
        break

信息预处理

去掉无用信息
import pandas as pd
df=pd.read_excel(fi,keep_default_na=False)
columns=df.columns
for column in columns:
    if 'Unnamed' in column:
        del df[column]      
时间格式统一
df['末次暴露时间'] = pd.to_datetime(df['末次暴露时间'])
去掉“转出“人员信息
df=df[~df.备注.str.contains('转出')]
按采样的分类方式排序后,按身份证号去重,可得到下次的真正采样方式。
#重写columns防止columns格式与代码不统一。
Id=[c for c in columns if '身份证号' in c ][0]
#利用身份证号去重,找到Id='身份证号'
result.drop_duplicates(subset=[Id], keep='first',inplace=True)
依据-房间号\分组- 排序
num=[c for c in columns if '房间号' in c ][0]
group=[g for g in columns if '分组' in g ][0]
result.sort_values(by=[group,num], ascending=True, inplace=True)
新表从新编号:
result=result.reset_index(drop=True,col_level=1)
result.index=result.index+1

分类新建送检单

#Rguan:人体标本送检管
Bg=Rguan[Rguan.标本类型=='鼻+咽+肛拭子']
Bg['标本类型']='鼻拭子'
Yg=Rguan[Rguan.标本类型=='鼻+咽+肛拭子']
Yg['标本类型']='咽拭子'
Gg=Rguan[Rguan.标本类型=='鼻+咽+肛拭子']
Gg['标本类型']='肛拭子'
Rg=Rguan[~(Rguan.标本类型=='鼻+咽+肛拭子')]
#将所有类型合并为一个表并按分组,房间排序。
Rg=Rg.append([Bg,Yg,Gg],ignore_index=True)
Rg.sort_values(by=['分组','房间号'], ascending=True, inplace=True)

创建明日采样目录,采样名单文件

out_day=str(tommrow)[:10]
    try:
        os.mkdir('./{}'.format(out_day))
    except:
        print('目录创建有问题,可能已经有目录了,请验证。')
    result.to_excel('./{d}/{d}采样名单.xlsx'.format(d=out_day),startrow=2)
    
    return result

环境采样管编码

def hj_work(f):
    df=pd.read_excel(path+f,header=2)
   
    names=df['采样点名称'].str.split('+',expand=True)[0]
    room=df['采样点名称'].str.split('+',expand=True)[1]
    nums=df[df.columns[0]].astype(str)
    result='WH-'+nums+'-'+names
    result=pd.concat([result,room], axis=1)
    result.to_excel(path+'打码-{}'.format(f))
    return
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
一、项目简介 本项目是一套基于JavaWeb的私人诊所管理系统,主要针对计算机相关专业的正在做毕设的学生和需要项目实战练习的Java学习者。 包含:项目源码、数据脚本、软件工具、项目说明等,该项目可以直接作为毕设使用。 项目都经过严格调试,确保可以运行! 二、技术实现 ​后台框架:JSP、Servlet、JDBC ​数据库:MySQL 开发环境:JDK、Eclipse、Tomcat 三、系统功能 该私人诊所管理系统采用B/S结构,使用JAVA开发语言,结合JSP技术,以MySQL作为后台数据库。 该系统包含多个角色:用户、医生、管理员等,系统的功能模块如下所示: (1)登陆模块,可分为普通用户、医生、管理员等角色登录。 (2)用户注册模块,对用户注册的用户名的要求,不同的用户要求要有不同的用户名。 (3)系统管理模块,包括添加管理员,管理员密码的修改。 (4)挂号管理模块,包括患者的名字、性别、年龄、现住地址和患者简介。 (5)患者管理模块,对患者进行增加、患者删除、患者信息的修改。 (6)开药管理模块,对药品的增加、删除、修改、查询,患者病历查 (7)科室管理模块,管理员可以新建,修改,删除,科室信息 (8)留言管理,管理员可以新建,修改,删除留言信息 (9)预约挂号模块,用户可以在线进行预约挂号,用户可以选择普通号和专家号。 该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值