【系統分析師】高分論文:論快速應用開發方法及應用

【摘要】
我在某縣衛生健康委員會公共衛生信息中心工作,是信息中心的負責人。2021年5月,我中心受縣瘓病預防控制中心委托,為某種瘓病疫苗3期臨床項日開發受試對象攔截系統。我負責系統架構設計、需求分析以及后期的部分編碼工作。通過與慶病預防控制中心領導、二級醫院和衛生院的信息科負責人溝通后,我們認為該系統存在開發時間緊,預算不高等特點,適合采用數據流批處理的架構,采用快速應用開發方法。

快速應用開發方法將該系統分為規劃階段、設計階段、實現階段、系統版本迭代階段、運行階段等,每個階段完成了該階段的重要任務。系統通過多次迭代,最終順利完成。系統運行后效果很好,得到了瘓病預防控制中心隨訪組負責人和工作人員的高度肯定和贊揚。

【正文】
本人在某縣衛生健康委員會公共衛生信息中心(以下簡稱“衛健委信息中心”)工作,是信息中心的負責人,主要負責整個縣區衛生信息化事業的發展。2021 年5月,我縣疚病預防控制中心與某大型疫苗研發企業合作,開展某種瘓病疫苗的3 期臨床試驗項目。我中心受縣慶病預防控制中心委托,為某種瘓病疫苗3期臨床項目開發受試對象攔截系統(以下簡稱“系統”)。該系統的一個關鍵環節是及時追蹤受試對象在當地2家醫院和5家鄉鎮衛生院的就診情況,從而及時安排對應隨訪工作人員去做相應的現場隨訪。項目初期,疾病預防控制中心采用醫院人工上報的方式追蹤,效率低下且容易漏報,疾病預防控制中心領導與我中心溝通,希望可以通過信息化的手段進一步提高受試對象追蹤效率。

在與族病預防控制中心領導進行面對面的溝通之后,我們獲取到了一些項目的宏觀要求:
(1)受試對象攔截系統最好在2周內開發完成。
(2)由于時間比較緊迫,無法使用正常的信息化項目開發流程來申請預算,所以開發預算不是特別充裕。
(3)受試對象攔截系統需要部署到2家二級醫院和5家鄉鎮衛生院,但攔截系統使用人員指派難度鉸大,所以對系統運行自動化程度要求高。

按照上述情況,我與2家二級醫院和5家鄉鎮衛生院的信息科相關負資人討論之后認為時間緊、預算不高的前提下,受試對象欄截系統適合采用數據流批處理的架構。系統從各家醫院數據庫抽取數據,然后經過轉換后,保存為文件,最后將文件發送給族控中心對應負貴人。并且認為系統開發采用快速應用開發方法比較合適。

快速應用開發(RAD)是基于構件的開發方法,強調用戶參與、開發或復用構件、模塊化要求高。一般不適用于新技術,快速應用開發方法的基本思想為:
(1)讓用戶更主動地參與到系統分析、設計、構造活動中。
(2)組織召開一系列重點突出的研討會,并讓項目投資方、用戶、系統分析師、設計人員和開發人員一起參與。
(3)采取迭代方式加速需求分析和設計。
(4)盡快讓用戶看到一個可以工作的系統。

快速應用開發方法可以分為規劃、設計、實現、系統版本迭代和運行五個階段,而設計和實現一般需要多次迭代,下面我就受試對象攔截系統的開發過程介紹如下:

一、規劃階段
規劃階段初步確定系統架構和系統開發方法之后,我與慶控中心領導溝通,組織召開了一次多方碰頭會。參會人員有縣慶病預防控制中心領導、縣公共衛生信息中心負責人、縣疾病預防控制中心信息維護員、慶病預防控制中心疫苗項目隨訪工作負責人、二級醫院信息科科長以及鄉鎮衛生院信息系統工程師等。在碰頭會上,我們創建了受試對象攔截系統溝通交流工作群,方便以后溝通交流。

碰頭會進一步明確了業務流程,即受試對象攔截系統每天都將昨天在各家醫院就診的受試對象的就診信息反饋到縣慶病預防控制中心,瘓病預防控制中心的隨訪人員按照信息進行相應的隨訪。碰頭會明確了受試對象攔截系統需求:攔截2家二級醫院和5家鄉鎮衛生院的門診患者和住院患者:門診患者需要提供姓名、性別、身份證號碼、家庭住址、就診日期和患者診斷;住院患者需要提供姓名、性別、身份證號碼、家庭住址、入院診斷、入院日期、床號;每天上報昨天的攔截信息到瘓病預防控制中心;攔截對象數據庫在項目初期就已經確定,項目期間發生變動的概率很小。

二、設計階段
該階段依據系統需求,通過認證分析和設計,我們得到受試對象攔截系統統一采用 Python 語言進行開發,并提供以下幾個重要功能:
(1)攔截人員數據庫管理:由于攔截人員數據庫在項目期間幾乎不會發生變動,可以采用導入醫院信息系統數據庫的方式導入人員數據。
(2)數據抓取:可以編寫 SQL 腳本從數據庫抽取數據。
(3)數據清洗:編寫數據清洗模塊,可以依賴 Python 統計框架 Pandas。
(4)報表生成:提供“門診患者攔截信息〞和“住院患者攔截信息〞兩個報表,報表格式為“.xlsx”。
(5)報表加密:報表“xlsx”文件使用 2ip壓縮,在壓縮過程中使用對稱密碼加密,各醫院和疾病預防控制中心事先溝通好使用的加密密鑰。
(6)報表發送:報表壓縮包使用電子郵件發送。

三、實現階段
2家醫院和 5家鄉鎮衛生院信息系統工程師負責編寫數據抓取的 SQL腳本,衛健委信息中心負責實現數據清洗、報表生成、報表打包加密以及報表發送等模塊。系統開發期間,瘓病預防控制中心領導負責完成受試對象攔截系統建設的相關申請,申請書需要縣衛生健康委員會領導批準并加蓋縣衛生健康委員會公章。

四、系統版本迭代階段
(1)第一次系統迭代。
三天之后,鄉鎮衛生院受試對象攔截系統完成編碼工作,我們將一周攔截數據反饋給瘓病預防控制中心隨訪負責人,安排隨訪人員試用,得到如下反饋:鄉鎮衛生院獲取到的患者數據質量不高,許多患者沒有身份證號碼:許多患者的住址和手機號碼也缺失嚴重。

經過進一步研究討論,我們按照是否有身份證號碼等信息分類別處理,進一步生成“門診患者通過身份證號碼攔截信息”“門診患者通過姓名攔截(需人工核實)”“無身份證號碼門診患者人工排查輔助工具”“住院患者通過身份證號碼攔截”“住院患者通過姓名攔截(需人工核實)”無身份證號碼住院患者人工排查輔助表”共6張核心報表。

(2)第二次系統迭代。
第二次系統迭代主要是提高受試對象攔截系統運行的可靠性,優化運行錯誤處理,便于系統在后臺運行。

五、運行階段
經過兩次用戶反饋和開發迭代,我們完成了鄉鎮衛生院受試對象攔截系統開發。通過測試后、系統進入試運行階段,在試運行階段,我每天人工執行一次腳本,觀察是否有測試階段未發現的異常發生,連續運行1周之后,我設置了 Linux服務,讓系統任務自動運行。與此同時,我將攔截系統的相關代碼通過 GitHub 共享給2家二級醫院的信息科,醫院信息系統工程師將代碼中的 SQL 腳本替換為適合自家醫院信息系統的 SQL 腳本后開始測試和手工試運行,1周之后,也采用 Linux cron 的方式自動運行。

受試對象攔截系統經過約 10天的開發,順利完成并開始運行。由于采用快速應用開發的方式,用戶參與早,反饋非常及時,整個系統比較簡單,花費也非常小。系統可以較好地滿足客戶的實際業務需求,極大地提高了族病預防控制中心,隨訪效率,慶病預防控制中心隨訪組的工作人員對這個系統非常滿意。

這次受試患者攔截系統的開發過程,讓我頗有感觸,并不是投資巨大的大型系統才是好系統。這次系統采用批處理的方式,無 Web 界面、無用戶授權,按照與常規信息化系統比較,這個系統頂多算一個初期模型,但在系統實際使用過程中發現,很貼合業務實際需求,雖然系統本身非常簡單,但發揮了極大的價值:另外一個感受就是,信息系統的價值只有在有能力的業務人員手里才能體現出來,沒有人使用,系統就是一個擺設。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/94513.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/94513.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/94513.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

4056:【GESP2403八級】接竹竿

/*4056:【GESP2403八級】接竹竿flag 數組 存儲每個元素出現的位置,nxt[i]j;存儲每個位置 后面第一次出現 與a【i】相等的位置//其中 a【i]a[j] :記錄i的下一個位置 ,flag 存儲每個值的位置下一次 具有下一次,相當于的鏈表了&…

企業落地版 AutoGen 多智能體工程(完整示例)

企業生產級參考實現,目標是一套可直接部署的模板工程,包含: FastAPI HTTP API(任務提交、狀態查詢) Celery 異步任務隊列(Redis Broker) PostgreSQL + pgvector(向量存儲,RAG) SQLAlchemy + Alembic(ORM 與遷移) AutoGen 多智能體編排(Planner / Coder / Executor…

前端的請求協議對應java的接收

application/json前端發送 JSON 數據,后端用 RequestBody 接收并自動映射為 Java 對象。前端示例(Axios):axios.post("/api/user", { name: "張三", age: 20 }, {headers: { "Content-Type": "…

esp32_hid_device 調試遇到的一些問題

nimble to windows10 22h2esp_hid_device 的keyboardReportMap在win10 22h2 csr4.0 下好像識別不了, Windows(和大多數 BIOS/UEFI)只認 6-byte key array 的 HID Keyboard 描述符。如果不是 6 個字節,Windows HID 驅動就會認為這不…

觀察者模式 (Observer Pattern)與幾個C++應用例子

1. 模式定義與核心思想 觀察者模式定義了一種一對多的依賴關系,讓多個觀察者對象同時監聽某一個主題對象。當這個主題對象的狀態發生變化時,它會自動通知所有觀察者對象,使它們能夠自動更新自己。核心思想: 解耦主題和觀察者。主題…

[系統架構設計師]論文(二十三)

[系統架構設計師]論文(二十三) 一.論軟件系統架構評估 1.架構所關注的質量屬性主要有:性能,可用性,安全性,可修改性 1)性能。性能是指系統的響應能力,即要經過多長時間才能對某個事件…

攻克 Java 分布式難題:并發模型優化與分布式事務處理實戰指南

攻克 Java 分布式難題:并發模型優化與分布式事務處理實戰指南 開場:從“搖搖欲墜”到“穩如磐石”,你的分布式系統進階之路 你是否曾經遇到過這樣的場景?精心打造的電商應用,在大促開啟的瞬間,頁面響應變得…

如何在Ubuntu中刪除或修改已有的IP地址設置?

在 Ubuntu 中為新增加的網卡設置網絡時,需要區分原有網卡和新網卡的配置,確保它們可以獨立工作(可在同一網段或不同網段)。以下是具體步驟,假設你需要為新網卡配置靜態 IP(以 192.168.1.190/24 為例&#x…

Ansible Playbook 概述與實踐案例(下)

#作者:張桐瑞 文章目錄四、條件判斷的實現五、循環的實現六、Jinja模板應用1、Jinja模板2、handlers組件七、角色 role1、角色介紹2、案例: 部署zabbix-agent四、條件判斷的實現 when: 條件 - hosts: appserveruser: roottasks:- name: create userAuser: nameuser…

LeetCode 100 -- Day6

1. 哈希:49、128(1)49 字母異位詞分組 -- 字典from collections import defaultdict class Solution(object):def groupAnagrams(self, strs):"""創建字典{sorted_string:原str}"""resultsdefaultd…

多因素認證(MFA/2FA)實戰指南:如何保護你的賬號

一、MFA/2FA 基礎認知 1. 概念辨析與演進 單因素認證(1FA)的局限性:僅依賴 “知識因素”(如密碼),據 2024 年 Verizon 數據泄露報告,81% 的賬戶入侵源于密碼泄露 —— 要么是用戶使用弱密碼&a…

vue3 字符 居中顯示

在Vue 3中&#xff0c;要實現字符的居中顯示&#xff0c;你可以使用多種方法&#xff0c;具體取決于你是想在HTML元素內居中文本&#xff0c;還是在CSS樣式中實現。下面是一些常見的方法&#xff1a;1. 使用內聯樣式你可以直接在元素上使用style屬性來實現文本的居中。<temp…

《Spring Boot 進階:從零到一打造自定義 @Transactional》 ——支持多數據源、動態傳播行為、可插拔回滾策略

《Spring Boot 進階&#xff1a;從零到一打造自定義 Transactional》 ——支持多數據源、動態傳播行為、可插拔回滾策略版本&#xff1a;Spring Boot 3.2.x JDK 17一、背景與痛點痛點默認 Transactional 限制多數據源只能綁定一個 DataSourceTransactionManager多租戶無法在運…

open3D學習筆記

這里寫自定義目錄標題 核心3D數據結構 1.1 PointCloud(點云) 最近鄰搜索 (KNN/Radius) 與空間索引(KDTree/Octree) 法線估計 (Normal Estimation) 聚類分割 (基于歐氏距離的聚類) 1.2 TriangleMesh (三角形網格) 泊松表面重建 (Poisson Surface Reconstruction) 滾球法 (Ba…

gt_k_char設計模塊

是不是再fiber或者gt設計中經常遇到接收數據沒有對齊&#xff1f;是的。很多協議需要手動對齊設計。這不&#xff0c;它來了。下面是手動對齊代碼設計&#xff0c;本人在很多工程和項目中應用過&#xff0c;現在共享出來&#xff0c;給大家使用。module gt_k_char (input …

網頁版云手機怎么樣

隨著科技的不斷發展&#xff0c;云手機這一新興概念逐漸走入大眾視野&#xff0c;而網頁版云手機作為云手機的一種便捷使用方式&#xff0c;備受關注&#xff0c;下面從多個方面來探討網頁版云手機究竟怎么樣。與傳統的需要在本地設備安裝專門APP的云手機使用方式不同&#xff…

XFile v2 系統架構文檔

XFile v2 系統架構文檔 1. 概述 XFile 是一個基于 Go 語言開發的分布式文件管理系統&#xff0c;提供本地文件存儲、網絡文件共享、安全認證和多種文件操作功能。該系統采用模塊化設計&#xff0c;支持大文件分片存儲、用戶權限管理、雙因素認證等高級功能。 XFile系統的核心特…

寫一個天氣查詢Mcp Server

上篇文章&#xff0c;我們聊到了 MCP 的基本概念&#xff0c;帶大家快速入門了 MCP。 說入門應該毫不夸張&#xff0c;對于科普性質的文章&#xff0c;只需要知道這件事情的誕生背景以及有什么作用就可以了。 但是&#xff0c;如果要開發給大模型調用的 Mcp Server&#xff0…

leecode-三數之和

思路 我的思路先順序遍歷一個變量,然后使用首尾雙指針去遍歷&#xff0c;根據結果去更新另外兩個變量&#xff0c;如何和為零&#xff0c;將結果加入集合&#xff0c;但是這里要注意去重。 class Solution {public List<List<Integer>> threeSum(int[] nums) {// 排…

【數學建模】灰色關聯分析的核心步驟

文章目錄步驟一&#xff1a;讀數據步驟二&#xff1a;指標正向化步驟三&#xff1a;數據標準化步驟三&#xff1a;數據標準化步驟四&#xff1a;結果處理步驟一&#xff1a;讀數據 步驟一&#xff1a;讀數據 X xlsread(‘blind date.xlsx’); % 讀取Excel文件中的相親數據 詳…