当前位置: 首页 > news >正文

【Python】实战:生成无关联单选问卷 csv《压疮风险评估表》

目录

一、适用场景

二、业务需求

三、Python 文件

(1)创建文件

(2)代码示例

四、csv 文件



一、适用场景

实战场景:

  • 问卷全部为单选题
  • 问卷问题全部为必填
  • 问题之间无关联关系
  • 每个问题的答案分数不同
  • 根据问卷全部问题得分生成总分数
  • 根据问卷总分数生成对应判断文案结果
  • 生成 csv 文件表格需要设置固定表头
  • 表格内容需要根据总分从小到大排列


二、业务需求

压疮风险评估表 - Braden

危险因素/分数

1 分

2 分

3 分

4 分

评分

1. 感官感觉:对不适的压力具有反应的能力

完全受损,对疼痛刺激无反应(没有呻吟、退缩,或握手动作),这是由于意识水平下降及全身表面对疼痛感觉能力下降。

大部份受限,仅对疼痛刺激有反应,除了呻吟和烦躁不安, 不能表达不适;或有感官障碍,身体一半以上感觉疼痛或不适的能力受限制。

轻度受限,对口头指令有反应,但常常不能表达不适或翻身的需要,或由于感觉受损,而对疼痛的反应能力受限,或只在一两个肢体感不适。

无受损害,对口头指令有反应,没有感觉受损而使活动受限或有不适感。

2. 潮湿情况:皮肤的潮湿程度

持续潮湿,由于出汗或小便,皮肤总是处于潮湿状态( 这状态且在每次移动或翻身时发现)。

常常潮湿,

皮肤经常潮湿,床单至

少每班(早、午、晚)更

换一次。

偶尔潮湿,皮肤偶尔潮湿,床单需要每天额外换一次。

几乎不潮湿,

皮肤经常保持干燥,仅在常规时间需要更换床单。

3. 活动情况:身体活动程度

卧床,不能下床。

局限于轮椅,活动行走严重受限或无法站立,不能承受身体重量或必须依赖轮椅。

偶尔行走,

每日行走短距离时需要或不需要帮助。

经常行走,

每日户外行走至少两次和室内行走至少两小时一次。

4. 移动情况:变换和控制体位的能力

完全不能,如果没有协助的话,身体或四肢不作任何甚至微小的位置改变。

严重受限,作很微小的身体或肢体位置的改变,但不能经常或独立地作明显的移动。

轻度受限,能经常独立地作微小的四肢或身体移动。

不受限,不需要协助就能完成较大的和经常的体位改变。

5. 摩擦力

有问题需要中等到最大的协助才能移动,且以滑行方式移动。身体经常移位,需要最大帮助才能恢复体位。痉挛、挛缩或烦躁导致不断的摩擦。

潜在问题

移动无力或需少许帮助。移动时皮肤可能会因而跟床单、椅子等摩擦。坐着或躺卧时,较长时间可维持良好的体位,但偶尔也滑下。

无明显问题

在床上或椅子上可以独立移动,并具有足够的肌力完全抬举身体来移动。所有的时间在床上或椅子上能保持良好的体位。

6. 营养情况

非常差,每餐进食少于1 / 3份量。液体进入量少或禁食或进行静脉输入多于5日。

可能营养不足,每餐进食约1 / 2份量

(每日给与3份量的蛋白质作计算单位,间中会进食营养补充)。

适当,每餐进食多于1 / 2份量,每日进食4份量的蛋白质(包括肉、奶类产品)。(进食以管饲为主)

良好,每餐进食整份餐份量,有足够蛋白质提供,应须额外营养补充剂,而两餐间有进食小食。

压疮风险总分

□ 分

压疮风险分级

□ 级

0 低风险:16 分或以上

1 中风险:12-15 分

2 高风险:少于 12 分

压疮风险分级标准

分级

分级名称

分级标准

0

低风险

总分 16 分及以上

1

中风险

总分 12-15 分

2

高风险

少于 12 分



三、Python 文件

(1)创建文件

PerceptualCommunicateForm.py

(2)代码示例

  • 以下代码是用来生成压疮风险评估表的所有可能性分数组合,并且根据分数组合来判断风险等级。
  • 导入必要的模块:os、csv、product(笛卡尔积生成器),用于生成多个序列的笛卡尔积。
  • 定义 6 个列表,分别存储 6 个问题的评分选项。
  • 对 6 个问题的评分选项进行详细描述,以及每个选项对应的评分标准。
  • 配置 CSV 文件的基本参数:文件路径和文件名、表头。
  • 检查是否已存在该 CSV 文件,如已存在则先删除。
  • 接下来,使用 for 循环遍历所有可能的分数组合,计算分数总和,并根据总分来判断风险等级。如果总分大于等于 16,则为低风险;如果总分在 12 到 15 之间,则为中风险;如果总分小于 12,则为高风险。
  • 生成 CSV 文件,表格内容未排序。根据 6 个问题的评分选项,生成笛卡尔积,并计算出总分和风险等级,将结果写入CSV文件。其中,使用了 with open 语句来打开文件,并使用 newline='' '' 参数来避免写入 csv 文件时出现空行的问题。
  • 编辑已存在的 CSV 文件,按表格第 2 列从小到大排序内容。
  • 最后,关闭文件。
import os
import csv
from itertools import product# 压疮风险评估表-Braden
Score_1 = [1, 2, 3, 4]
Score_2 = [1, 2, 3, 4]
Score_3 = [1, 2, 3, 4]
Score_4 = [1, 2, 3, 4]
Score_5 = [1, 2, 3]
Score_6 = [1, 2, 3, 4]'''
[压疮风险评估表问卷问题及答案(得分)]
-- Score_1:第 1 题评分
-- Score_2:第 2 题评分
-- Score_3:第 3 题评分
-- Score_4:第 4 题评分
-- Score_5:第 5 题评分
-- Score_6:第 6 题评分第 1 题:[感官感觉]对不适的压力具有反应的能力()
a.完全受损,对疼痛刺激无反应(没有呻吟、退缩,或握手动作),这是由于意识水平下降及全身表面对疼痛感觉能力下降。  
b.大部份受限,仅对疼痛刺激有反应,除了呻吟和烦躁不安,不能表达不适;或有感官障碍,身体一半以上感觉疼痛或不适的能力受限制。
c.轻度受限,对口头指令有反应,但常常不能表达不适或翻身的需要,或由于感觉受损,而对疼痛的反应能力受限,或只在一两个肢体感不适。
d.无受损害,对口头指令有反应,没有感觉受损而使活动受限或有不适感。
-- 评分标准
a.1 分
b.2 分
c.3 分
d.4 分第 2 题:[潮湿情况]皮肤的潮湿程度()
a.持续潮湿,由于出汗或小便,皮肤总是处于潮湿状态( 这状态且在每次移动或翻身时发现)。
b.常常潮湿,皮肤经常潮湿,床单至少每班(早、午、晚)更换一次。
c.偶尔潮湿,皮肤偶尔潮湿,床单需要每天额外换一次。
d.几乎不潮湿,皮肤经常保持干燥,仅在常规时间需要更换床单。
-- 评分标准
a.1 分
b.2 分
c.3 分
d.4 分第 3 题:[活动情况]身体活动程度()
a.卧床,不能下床。
b.局限于轮椅,活动行走严重受限或无法站立,不能承受身体重量或必须依赖轮椅。
c.偶尔行走,每日行走短距离时需要或不需要帮助。
d.经常行走,每日户外行走至少两次和室内行走至少两小时一次。
-- 评分标准
a.1 分
b.2 分
c.3 分
d.4 分第 4 题:[移动情况]变换和控制体位的能力()
a.完全不能,如果没有协助的话,身体或四肢不作任何甚至微小的位置改变。
b.严重受限,作很微小的身体或肢体位置的改变,但不能经常或独立地作明显的移动。
c.轻度受限,能经常独立地作微小的四肢或身体移动。
d.不受限,不需要协助就能完成较大的和经常的体位改变。
-- 评分标准
a.1 分
b.2 分
c.3 分
d.4 分第 5 题:[摩擦力]()
a.有问题,需要中等到最大的协助才能移动,且以滑行方式移动。身体经常移位,需要最大帮助才能恢复体位。痉挛、挛缩或烦躁导致不断的摩擦。
b.潜在问题,移动无力或需少许帮助。移动时皮肤可能会因而跟床单、椅子等摩擦。坐着或躺卧时,较长时间可维持良好的体位,但偶尔也滑下。
c.无明显问题,在床上或椅子上可以独立移动,并具有足够的肌力完全抬举身体来移动。所有的时间在床上或椅子上能保持良好的体位。
-- 评分标准
a.1 分
b.2 分
c.3 分第 6 题:[营养情况]()
a.非常差,每餐进食少于1/3份量。液体进入量少或禁食或进行静脉输入多于5日。
b.可能营养不足,每餐进食约1/2份量(每日给与3份量的蛋白质作计算单位,间中会进食营养补充)。
c.适当,每餐进食多于1/2份量,每日进食4份量的蛋白质(包括肉、奶类产品)。(进食以管饲为主)
d.良好,每餐进食整份餐份量,有足够蛋白质提供,应须额外营养补充剂,而两餐间有进食小食。
-- 评分标准
a.1 分
b.2 分
c.3 分
d.4 分
''''''
[压疮风险总分]
-- 评分标准:以上 6 个问题评分之和
''''''
[压疮风险分级标准]
-- 等级标准:根据压疮风险总分分级
0 低风险:16 分及以上
1 中风险:12-15 分
2 高风险:少于 12 分
'''# 配置文件:配置csv文件表格基本参数
# 文件路径和文件名称
filename = r'E:\ScoreGradeForm\CSVFiles\压疮风险评估表.csv'
# 表头
csvheader = ['压疮风险分级', '压疮风险总分', '问题 1 评分[感官感觉]', '问题 2 评分[潮湿情况]','问题 3 评分[活动情况]', '问题 4 评分[移动情况]', '问题 5 评分[摩擦力]', '问题 6 评分[营养情况]']# 删除文件:检查是否已存在该csv文件,如已存在则先删除
if os.path.exists(filename):os.remove(filename)# 新建文件:生成csv文件,表格内容未排序
with open(filename, 'a+', encoding='utf-8-sig', newline='') as csvfile_0:# 生成表头header = csvheaderwriter = csv.writer(csvfile_0)writer.writerow(header)# 生成表格内容for scoreGroup in product(Score_1, Score_2, Score_3, Score_4, Score_5, Score_6):if sum(scoreGroup) >= 16:grade = '低风险'elif 12 <= sum(scoreGroup) <= 15:grade = '中风险'elif sum(scoreGroup) < 12:grade = '高风险'else:grade = '其他等级'writer.writerow([grade, sum(scoreGroup), scoreGroup[0], scoreGroup[1], scoreGroup[2], scoreGroup[3],scoreGroup[4], scoreGroup[5]])# 编辑文件:将已存在的csv文件进行调整,按表格第2列从小到大排序内容
with open(filename, 'r', encoding='utf-8-sig') as csvfile_1:rows = list(csv.reader(csvfile_1))rows[1:] = sorted(rows[1:], key=lambda x: int(x[1]))with open(filename, 'w', encoding='utf-8-sig', newline='') as csvfile_2:writer = csv.writer(csvfile_2)writer.writerows(rows)



四、csv 文件

生成如下结果表格:

示例表格结果如下,因篇幅限制展示不全,完整表格请用代码生成: 

压疮风险分级压疮风险总分问题 1 评分[感官感觉]问题 2 评分[潮湿情况]问题 3 评分[活动情况]问题 4 评分[移动情况]问题 5 评分[摩擦力]问题 6 评分[营养情况]
高风险6111111
高风险7111112
高风险7111121
高风险7111211
高风险7112111
高风险7121111
高风险7211111
高风险8111113
高风险8111122
高风险8111131
高风险8111212
高风险8111221
高风险8111311
高风险8112112
高风险8112121
高风险8112211
高风险8113111
高风险8121112
高风险8121121
高风险8121211
高风险8122111
高风险8131111
高风险8211112
高风险8211121
高风险8211211
高风险8212111
高风险8221111
高风险8311111
高风险9111114
高风险9111123
高风险9111132
高风险9111213
高风险9111222
高风险9111231
高风险9111312
http://www.lryc.cn/news/62494.html

相关文章:

  • rsync 远程删除文件
  • LinkedBlockingQueue原理
  • 哈希表题目:网格照明
  • Python多线程爬虫为何效率低下?解析原因并提高爬虫速度的方法
  • Python 标准方形信号定义(完美实现)
  • [Daimayuan] 走不出的迷宫(C++,图论,DP)
  • 【LeetCode: 1416. 恢复数组 | 暴力递归=>记忆化搜索=>动态规划 】
  • centos7查看磁盘io
  • 浅析低代码开发的典型应用构建场景v
  • 3 连续模块(二)
  • ElasticSearch 部署及安装ik分词器
  • 汽车充电桩检测设备TK4860C交流充电桩检定装置
  • 备份和恢复:确保数据安全
  • 8 DWA(一)
  • mysql慢查询日志
  • Sentinel介绍及搭建
  • 最受信任的低代码平台排行榜
  • Django框架之创建项目、应用并配置数据库
  • 软件测试之基础概念学习篇(需求 + 测试用例 + 开发模型 + 测试模型 + BUG)
  • Windows下版本控制器(SVN) - 1、开发中的实际问题+2、版本控制简介
  • Learning Dynamic Facial Radiance Fields for Few-Shot Talking Head Synthesis 笔记
  • SpringBoot 项目整合 Redis 教程详解
  • 3ASC25H214 DATX130以力控制为基础的装配应用方面已经形成了一个解决方案
  • Java的位运算
  • FastDFS分布式文件存储
  • Android的AAC架构
  • 高功率激光切割中不良现象的排除技巧
  • MySQL-----复合查询
  • 10.Yarn概述
  • MFC实现背景透明,控件不透明的对话框,且点击图片有事件响应