再论Web应用在医学研究中构建数据收集问卷(Streamlit_survey包体验)
概述
医学队列研究是临床研究的重要形式,这种研究通过收集临床诊疗过程中产生的数据而阐述疾病相关的因素。在临床数据收集过程中,Web APP体现出了一定的优势。相比传统方法和大型问卷调查网站,Web应用更具灵活性和可控性,可以作为下一代临床数据收集的工具。
传统方法与Web应用的比较
- 传统方法:
- 纸质问卷:数据收集效率低,不易保存,需要重新整理成电子表格。
- Excel表格:界面不够友好,便携性不好。
- Web应用:
- 便捷易用:受试者可在任何设备上完成问卷,包括,手机、电脑、平板,方便数据收集。
- 实时分析:数据实时存储,录入的数据直接整理成电子表格,方便数据后期处理。
- 低成本:无需纸张或人工调查,降低成本。
- 高可控性:可根据研究需求定制问卷,确保数据质量。
大型问卷调查网站与Web应用的比较
- 大型问卷调查网站:
- 数据隐私问题:数据可能被用于非研究目的,存在隐私安全风险。
- Web应用:
- 可定制性强:可根据研究需求设计问卷和数据分析流程,包括设置权限,增加知情同意等内容。在队列建成以后,还可以作为队列宣传展示的页面。
- 数据所有权:研究人员拥有数据的所有权和控制权,可以登陆数据库后台对数据进行操作。
使用Streamlit_survey和Deta Space构建Web应用
Streamlit是一个Python库,用于快速构建和部署Web应用程序。其本身提供了st.form()函数来收集数据,而streamlit有一个扩展包streamlit_survey,可以实现更复杂的交互形式,比如问题分支,多页问卷等;Deta Space是一个免费的云端数据库,可轻松存储和管理数据。这里结合streamlit_survey 和Deta Space,尝试构建一个数据收集问卷。
主要设计:
-
问卷前端:
- 使用Streamlit_survey包创建问卷表单,包括25个问题,分为4个页面,患者一般信息,患者术前和术中信息,患者术后信息和随访信息。之前使用st.form()函数本身构建过一个简单的问卷, 但是问题变多的时候,如何组织这些问题使其美观易用就成了一个问题,通过streamlit_survey包可以部分的解决这些问题。
- 主要使用了slider和radio等输入形式,使得通过滑动和点击即可完成输入,以适应手机和平板的操作习惯,便利数据输入。
-
数据收集:
- 受试者在线填写问卷,数据实时存储于Deta Space数据库。可以登陆数据库后台对数据进行删除等操作,提高了数据的安全性。
-
数据初步分析:
- Streamlit APP上可以增加一定的页面对数据进行初步统计分析,体现数据的现状。
- Streamlit APP上可以增加一定的页面对数据进行初步统计分析,体现数据的现状。
总结
Web应用结合Streamlit框架和Deta Space数据库,为医学研究数据收集提供了灵活、高效、安全的方式,可显著提升医学研究效率和数据质量。体验地址:https://little-survey.streamlit.app/,欢迎大家反馈问题。
参考资料:
- Streamlit官网: https://streamlit.io/
- Streamlit_survey包: https://github.com/Valires/streamlit-survey
- Deta Space官网: https://deta.space/docs/en/