# wStatistics_install **Repository Path**: winter-lonely/wstatistics_install ## Basic Information - **Project Name**: wStatistics_install - **Description**: wStatistics安装 - **Primary Language**: Python - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2022-10-31 - **Last Updated**: 2024-07-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: 医保, Python ## README # wStatistics数据筛选系统 [文档原链接](https://thoughts.aliyun.com/share/61df89724e103a0011a4a694?source=wiki) ## 一、市场痛点 多地医疗保障局监管本地医疗机构时都需要筛选医保违规数据,这个过程存在很多问题。例如: ### 1、直接通过SQL语句操作数据库 信息人员将各个医疗机构的数据导入到自己的数据库内,然后利用sql语句初步筛选。因为数据不干净等问题,这个过程通常非常慢。加上这种直接操作数据库的方式可能会出现数据准确性的问题,如重复导入数据、误删数据等等。因为个人临时建表建库可能没有考虑到性能问题,因此数据筛选等操作可能都很慢。 ### 2、使用excel进行详细筛选及做统计表等操作 数据利用数据库初步筛选后,导出到excel,利用excel进行详细的筛选及做统计表,一般将一个医疗机构一个问题筛选为一个单独的excel文件,这就造成了大多数时间都在做重复性劳动——因为每个表的样式、呈现方式等都是相同的,操作都是相似的,再加上一般需要做成百上千个表。 ### 3、筛选规则可能不统一 每家医疗机构筛选同样的数据可能因为各种人为原因造成筛选规则的不一样,这就会造成工作上的偏差,因此规则的统一是必要的,也是必须的。 ### 4、技术人员或技术能力的缺失 虽然技术人员(数据筛选人员)在医疗保障局是必要的,但是因为各种原因,造成人员缺乏,甚至技术能力的缺乏,造成技术效率极其低下。 ### 5、可能面临oracle侵权诉讼问题 因技术人员技术能力低下加上医保相关数据的数据库一般为oracle数据库等情况,实际工作中技术人员大多使用oracle数据库,但是oracle数据库商用需要授权,因此可能面临oracle侵权诉讼问题。 ## 二、系统优势 ### 1、筛选速度快 该系统能自动导入数据,并能承担千万级甚至亿级数据量的筛选,加上能自动生成结果报表,速度有质的提升。经过对比,原来需要一星期才能完成的筛选工作,现在可能只需要半天甚至更短。 ### 2、任何人都能筛选数据 该系统通过WEB页面完全控制,只需要简单的输入与点击即可筛选数据,任何人都可以操作。只有规则录入时可能需要技术人员。检查过程中95%以上的规则都是简单的规则,只需要简单的点击即可生成规则,剩下5%左右复杂的规则才需要专业的技术人员。如果多地区同时使用此系统,还可以共用技术人员。 ### 3、筛选规则统一 因为筛选利用系统内定义的规则,保证每次筛选此条规则都是相同的逻辑,减少人员筛选带来的误差。并且如果多地区使用此系统,相互之间也可以共享规则。 ### 4、动态扩容 如果数据筛选的工作量比较多,原来系统主机的算力不够,可以动态扩容算力。只需要将计算模块安装到任意一台电脑,将此电脑与系统内网相连,即可自动扩容算力,计算结束后此电脑可以卸载计算模块,不影响继续干原来的工作。 ### 5、使用成本极低 可以将办公电脑升级硬件改造为该系统,根据实际数据量配置。经过测试,利用1000块钱的硬件(32G内存,512G SATA固态硬盘)升级新的办公电脑,完全能够支持5000万数据量的筛选工作。再加上此系统可以替代数据筛选人员,减少数据筛选时间,节省下来的人工费用更可观。 ### 6、根据实际工作经验开发 市场上的软件系统大多根据调研需求开发,真正投入使用时会遇到很多问题。但该系统根据实际工作经验开发并完善,每个功能都来自于实践,并且已经正式投入使用。 ### 7、医药机构对接接口费用低 该系统数据只有一张表,暂时包含68列数据(可以定制),足够满足日常检查需要。医药机构对接此接口时只需要一个视图(复杂的sql语句)即可对接,医药机构信息系统厂商收费相对较低甚至根本不会收费。 ### 8、可以提高地区医保基金监管能力 如果多家医保局同时使用此系统,相互之间可以共享规则,再加上系统使用门槛及成本较低,就可以提高地区的医保基金监管能力。系统最终的愿景是随便找一个人前往医药机构,简单输入与点击后,根据提前对接好的接口,系统自动导入并筛选违规数据,从而得出该医药机构违规问题及金额。 ## 三、系统技术栈 1. 数据库:以MySQL为基本数据库,Redis为任务数据库。 2. 后端:Nginx代理后端FastAPI服务,Celery为任务队列。 3. 前端:使用React语言、AntDesign框架。 ## 四、安装试用 ### 1、 安装 ``` bash yum install git -y git clone https://gitee.com/winter-lonely/wstatistics_install.git cd wstatistics_install chmod +x install.sh ./install.sh ``` ### 2、 生成模拟数据(已经生成5万条数据:`mock/mock.zip`) ``` bash python mock/mock.py ``` ### 备注:测试环境为AnolisOS8.6,在线试用可以利用[龙蜥实验室](https://lab.openanolis.cn/#/apply/home)或者自己安装AnolisOS8.6 ## 五、自行安装AnolisOS8.6 ### 1、 下载AnolisOS8.6系统镜像 1. [官方社区镜像链接](https://mirrors.openanolis.cn/anolis/8.6/isos/GA/x86_64/AnolisOS-8.6-x86_64-minimal.iso) 2. [阿里云镜像链接](https://mirrors.aliyun.com/anolis/8.6/isos/GA/x86_64/AnolisOS-8.6-x86_64-minimal.iso) ### 2、 将系统镜像写入到U盘 以下提供Window和Linux下各一种方式,当然也可以自行安装 1. Rufus软件(Windows系统,[程序链接](./rufus-3.17p.exe)) 1. 插入U盘:记得备份U盘数据 2. 选择下载的AnolisOS系统镜像 3. 分区类型选择GPT 4. 开始 5. 以dd模式写入 2. dd命令(Linux系统) ``` bash # 查询U盘位置 fdisk -l # 假设U盘位置为/dev/sdb # 系统镜像位置/path_to_iso/AnolisOS-8.6-x86_64-minimal.iso dd if=/path_to_iso/AnolisOS-8.6-x86_64-minimal.iso of=/dev/sdb bs=4M status=progress ``` 3. 安装可能遇到的问题 1. 无法U盘启动:确认CPU是x86_64架构 2. 安装源本地介质不存在:一般是写入损坏,重新将系统镜像写入U盘 ### 3、 安装AnolisOS8.6 1. BIOS设置U盘启动 2. Test this media & Install,确保镜像没有损坏 3. 软件选择:基本环境选择“服务器” 4. 内核选择ANCK 5. 安装目的地:直接点击完成,如果硬盘存在旧数据,则回收磁盘全部空间。 6. 日期和时间:亚洲/上海 7. 设置root密码 8. 安装完成后,重启显示黑窗口。 ### 4、 进入系统终端 - 输入用户名root、个人设置的密码(输入时不显示),即可进入系统终端。 - 可按照第四步的安装步骤安装wStatistics数据筛选系统 ### 5、设置静态IP(可选) 1. 查看网卡 ``` bash cd /etc/sysconfig/network-scripts/ ls # 出现网卡名字,如ifcfg-ens33 ``` 2. 编辑网卡,根据自己网络环境设置 ``` bash vi ifcfg-ens33 # 英文i进入编辑模式,屏幕左下角显示INSERT # 编辑如下内容(存在就更改,不存在就添加) # 开机启动 ONBOOT=yes # 静态IP BOOTPROTO=static # IP IPADDR=192.168.8.21 # 子网掩码 NETMASK=255.255.255.0 # 网关 GATEWAY=192.168.8.1 # DNS DNS1=114.114.114.114 # 按Esc键,屏幕左下角INSERT消失,输入:wq保存并退出 ``` 3. 插上网线,重启网卡 ``` bash # 关闭网卡 ifconfig ens33 down # 启动网卡 ifconfig ens33 up ``` 4. 测试网络连接 ``` bash ping www.aliyun.com -c 4 ``` ## 六、其它 1. 检查违规金额是否比明细费用金额大,如果大,则很可能为错误数据,需要手动核验。 ``` bash python CheckErrorMoney.py result_dir ``` - 注意事项 1. 该脚本将检查该文件夹下的所有检查结果数据 2. 违规金额超过明细费用总额`0.1`即为可能错误数据 3. 使用前需要安装`openpyxl`包 ## 七、联系方式 winter_lonely@126.com