一、參加醫(yī)信工程師創(chuàng)新大會
? ? 參會之前,我并沒有打算去講課,因為在4月24日,我已經(jīng)在“醫(yī)信大講堂”講了一堂網(wǎng)課,把我的所思所想與大家做了一個分享,而且我在“簡書”連續(xù)寫了6篇文章(1個系列)詳細介紹了我這2年時間怎么樣“從0到1開發(fā)設計一套信息科管理系統(tǒng)(一)”做了分享,然后相繼發(fā)布了“產(chǎn)程進展圖開發(fā)啟示錄”與“對醫(yī)信群提問的精彩回復”2篇文章補充,距離工程師大會6月20日前后時間間隔不到2個月,感覺我想已經(jīng)輸出了很多,沒什么東西可講,現(xiàn)在是好好學習“充電”的時候,本抱著“吃瓜群眾”學習心態(tài)去參會,順便見一下來自全國各地的“網(wǎng)友”。
? ? ? 端午前歺,鮑(鮑長春) 在微信上留言問我寫好課件就提交給會務組去排期,當時我有點懵,我提交什么課件?我和鮑說了我這次并沒有打算去講課的原因,但是他說與郭校長溝通以后,還是決定讓我過來講點東西,而且“邀請函”都準備好發(fā)給我了!頓時感覺自己準備上“梁山”,既然要上“梁山”,那就當個“好漢”吧,我不能讓人家“熱臉貼冷屁股”。我當時問鮑我不想講技術問題,還有哪些可以講的,鮑說20日下午有一個拓展課可以講一下。應對這種“江湖救急”,幸虧我平時還有些知識儲備,2天之內火速寫完“一名醫(yī)院工程師的自我修養(yǎng)”。
? ? 由于信息化不受重視,信息科也自然不受重視,特別是基層醫(yī)院尤其嚴重,我們這些來自基層的醫(yī)信工程師普遍都有些自卑, 我認為我們醫(yī)信工程師最大的問題是“自信問題”,所以在寫“一名醫(yī)院工程師的自我修養(yǎng)”整篇文章充滿了“加油打氣”的基調。如果不解決“自信”問題,好比上戰(zhàn)場,就算給他一把好槍,他會懷疑是否有這個能力掌握好它。
二、超乎意料的效果
? ? ? 講完“一名醫(yī)院工程師的自我修養(yǎng)”,好似上一趟“HIT春晚”,黃昊主任在他的“愚人老黃”微信公眾號做了解讀轉載了這篇文章,再加上各位大佬的微信朋友圈轉發(fā),得到“病毒”式的傳播,目前閱讀量已超過4000+,對于我來說這個閱讀量相當恐怖,是我平時一篇文章20的倍!有更多人知道我這個無名小卒。TED創(chuàng)始人克里斯·安德森曾說演講的本質就是就像讓觀眾獲得一個心儀的禮物,我真心希望所有的醫(yī)信工程師能收到這份“自信”的禮物。
三、重要分享補充
? ? 郭校長告訴我還可以再講一堂課(22日上午有還空期),我說腦子都快被”榨干“了,實在想不出講什么,還有什么要分享給大家的。來虎門與歐學穎主任交流中,無意中他提到,他來工程師大會最想聽到”思考問題的方法“,正所謂“授人以魚,不如授人以漁”。這幾天回想一下,我認為手里有2個重要的”思考問題的方法“可以分享給大家,可能有些人知道,知道的就直接跳過,不知道的請往下閱讀(可能存在一定的難度),雖然沒有大會上面講,但現(xiàn)在是互聯(lián)網(wǎng)時代依然可以很方便分享給大家。
分享一:搞定任意復雜sql的秘密武器---“遞歸思考”
? ? ? 不管你使用韓春春開發(fā)的”艾歐云可視化開發(fā)平臺“,還是我們平時的工作,怎么寫sql是我們醫(yī)信工程師的必備技能之一。寫一般sql語句我相信大家都會,但是遇到復雜統(tǒng)計需求,總感覺腦子不夠用,寫sql比較吃力,那是否存在某種”套路“來幫助我們,其實是有的。我在吳軍老師在《吳軍的谷歌方法論》專欄中提到怎么樣用”遞歸“來解決現(xiàn)實當中的問題,也很適合解決寫sql問題。下面就我來分享這個“套路”----“遞歸思考”。
? ? ? ? 首先說“遞歸“之前,普通人的一般思考方式”遞推“,對應計算機里面的”遞推算法“,而“遞歸”是一種簡化問題的有效手段,”遞推“搞不定的時候,就用“遞歸”,幾乎可以解決大部分的問題。
? 舉例說明,查詢住院患者資料表中最近4個月存在相同住院號不同姓名的記錄(理論上一個住院號只對應一個姓名),給入院處置室工作人員查詢使用,看上去非常簡單的統(tǒng)計,實際上并沒有那么簡單。
? ? ”遞推“思路,首先找出相同住院號出現(xiàn)存在多條記錄,同時還要判斷是否出現(xiàn)多個姓名,我曾經(jīng)是這樣思考問題,很快走進“死胡同”,說來慚愧,我當時花了一天時間都沒有搞定, 所以我印象深刻,”遞推“的特點把所有存在的“問題”都解決,最后形成一個大的解決方案。
? ”遞歸“思路,學會化解縮小問題,比如先解決“查詢住院患者資料表中最近4個月存在相同住院號數(shù)據(jù)”,這樣就簡單多了,信手拈來,如果有必要再繼續(xù)化解,再遞歸向上合并sql。按照這種思路,就寫出sql遞歸了4次就可以解決問題,如下圖所示:
分享二:2個報表數(shù)據(jù)不一致查因的通用方法
? 報表出錯問題十分常見,有時候比較難查,耗時比較長,是否存在一些通用”套路“,其實是有的,以下方法是我還在HIT公司干活的時候向”老司機“學的,一直受用至今。
? ? 首先要解決的問題,理論上兩張報表統(tǒng)計口徑是否一致。如果理論上都不一致,就沒必要查了。舉例說明,我們醫(yī)院有兩個”概念“經(jīng)常搞混淆。有很多次,財務科的人問我為什么”結算方式“的”現(xiàn)金“和”支付方式“的“現(xiàn)金”查出來的數(shù)據(jù)怎么對不上。由于歷史原因,his系統(tǒng)把”結算方式“的”現(xiàn)金“和”支付方式“的“現(xiàn)金”設置一樣,導致混淆。結算方式的作用主要用來區(qū)分業(yè)務類型,比如“自費結算”、“醫(yī)保結算”、“離休干部”;支付方式主要用說明給錢方式,比如“現(xiàn)金”、“銀行卡”、“醫(yī)保卡”、“記賬”等;
? ? 學會縮小時間范圍,通常采用“二分排除法”。我們的報表通常是一個月的,這樣很難找出原因。先查1-15日,是否數(shù)據(jù)對上,如果能,就跳到15-30日查詢對比依此類推。目的,先把“錯誤數(shù)據(jù)”限制一個最小范圍內查因。
? ? 為什么會出錯。通常原因,某一張報表這個在“錯誤數(shù)據(jù)最小范圍內”可能原因:1、數(shù)據(jù)異常(可能系統(tǒng)bug導致后臺數(shù)據(jù)不完整);2、sql書寫考慮欠缺(比如最近新增支付方式,where條件里面并沒有包含進來);
? 怎么查因。先寫出sql查詢正確的數(shù)據(jù),再判斷有問題的sql,通常逐步注釋掉后面where條件,再判斷,是否存在差異數(shù)據(jù)。如果下圖所示:
? ? 我在寫這篇文章不僅僅是為了幫助我們一線醫(yī)信工程師,也是幫助我自己在工作實踐總結工作方法,以后我自己也要翻看的。最后祝所有醫(yī)信工程師,能干活!能寫作!
馮火 2019-06-30