資訊人看醫學

 前言

我畢業於畜牧系,紮實唸了好些生化、生理、內分泌的課程,在醫學院做過助理;後因台灣生技就業市場不佳,為了糊口,轉行寫企業軟體,Oracle ERP從採購、倉儲、製造、出貨、財務都摸過了。算是跨生技、資訊的雙領域人吧!

有些學者鼓勵大家跨領域學習,說這樣才能綜合不同學問,從新的角度看事情。美國名校甚至要求學生畢業後離開母校,到另一名校就業,以避免狹隘門戶之見妨礙思想開拓。

也因為這樣,我發現企業軟體,跟人體有許多雷同之處;而資訊人員維修企業軟體的方法,也適用於人體。

企業軟體運作原理不是秘密

企業軟體用程式碼撰寫,人體用DNA撰寫。企業軟體採購、倉儲、製造等模組,就像人體呼吸、消化、循環等系統。軟體工程師比醫生好的是,工程師看得懂程式碼寫些什麼。企業軟體與上帝撰寫、測試演化數億年的人體比起來,只能算是簡單幼稚的小玩意。人體有各種排除災害、自我修復的機制,不需要工程師在旁負責維修、管制,非常奧妙,讓人敬佩不已地。

以Oracle ERP為例,像人體一般,不同模組表面上分開,實際彼此密切相關。說是公開程式碼,但實際能看到的約有八成,兩成是編譯過的,看不到內容。據說著作權屬Oracle工程師,並不屬Oracle。不過Oracle會提供詳盡手冊,描述設計原理與理念、運作方式。比起醫生看不懂絕大多數DNA寫啥,人體設計理念只能用各種實驗來揣測,軟體工程師狀況好太多。如果你是Oracle公司內部工程師,看到的程式碼更完整。

Oracle ERP有很多版本,大同但小異,每版都有自己的小毛病,就像不同的人有不同體質,有人咖啡因過敏,有人乳糖過敏。對企業主而言,只要想用的重要功能正常,小毛病將就忍忍也無所謂。

除了先天程式碼,企業主會因應自己需要,改變資訊系統設定。Oracle有許多設定參數,允許不同狀況走不同邏輯。用戶輸入資料品質,也會影響Oracle系統運作是否順暢,這就像後天環境影響。先天加後天,每一家企業用的Oracle ERP,其實都是獨特的個體。

企業軟體生病了怎麼醫

程式規模小又公開程式碼,工程師了解企業軟體,比醫生了解人體多很多。但軟體工程師反而比醫生膽小、謹慎得多。

如果企業軟體生病,工程師並不敢隨便寫段程式修改它。因為太複雜了,天曉得連鎖反應會到哪去。也許你修改之後,物料規畫恢復正常,但配銷模組沒法正常出貨了,這等於宣判企業死刑!工程師能做的,就是詳細研究運作原理,出問題部份錯誤邏輯為何,甚至研究程式碼,然後:「避開它!」看看能否跳過這段流程。資訊部門有時會修正部份參數設定,配合改正現場作業,導正系統恢復正常,但就不會改程式本身。這相當於人改變飲食、生活習慣等來治病。

如果前面程式已累積錯誤資料,導至系統異常。調查確切知其原理之後,寫隻小程式改正錯誤資料,這相當於短期服藥。

Oracle有提供修補程式,從根本程式碼邏輯改變問題,這相當於人長期服藥,改變體內生化作用邏輯。

企業藥物測試

Oracle公司會在網站上提供修補程式,從程式碼根本解決問題。以前有提供修改單一小問題的修補程式。但因為頭痛醫頭,腳痛醫腳,常修正甲模組卻毀了乙模組。企業軟體毀了,對企業而言,不能正常運作,動不動就是上百萬的損失。Oracle後來放棄小修補程式,網站上只放非常大,全面性的修補程式。Oracle宣稱,大型修補程式都經過全面測試,不至於產生不可預測、毀滅性的後果。

使用大型修補程式,系統版本隨之更新,等於換了一個人似地。新版有新功能,但也會產生新問題。如果新問題正是你重用的部份,新未必勝過舊。所以企業工程師,遇到小問題,到 Oracle網站查,看到答案是上大修補程式,他們衡量利害得失,未必會盲從Oracle建議,還是先設法「避開它!」。真的要上大修補程式,也會把原軟體複製一份,做成測試區,在測試區更新之後,在備份軟體上全面測試,確定無誤,才請企業各部門上線用新版。

Oracle不時推出最新版本,宣稱有多少新功能,鼓勵企業更新。資訊主管多半面面相噓,你推我擠,沒人想當第一隻白老鼠。等有其他企業更新了,測過了,運作了一兩年,該發生的問題都出過更正過,這才為自己企業導入新版本。

如果是牽扯金額更龐大,如工業軟體,一停機就可能損失上億。那最好用上市測試過幾十年的老系統,新軟體公司極難打入市場,就算世界首富比爾蓋茲也不行。大型工業系統,沒人敢冒險用Microsoft Windows。

有時懷孕會因不明原因流產,胎兒是新組合,也應在子宮內做測試吧!

人生病了怎麼辦

最近坊間出了些指控藥廠的書,說藥廠上供政界獻金,中控醫學研究經費,下達媒體廣告費,形成綿密的天羅地網,造成正規醫學只能用藥物治療;更鼓勵病人長期服藥,以便讓藥廠賺取豐厚利潤。

我是局外人,對這些指控,只能聽聽就算了,不便發表意見。但比照軟體工程師維修企業軟體,還真覺得醫界用藥大膽且隨便得多。也許是人命沒企業的命值錢,也許是藥廠在作怪,但都不應該。

先考慮「避開它」而不是吃藥

藥會改變人體運作機制,就像改寫程式,因為不知連鎖反應後果如何,最好短期為之,並應視為不得已而為之的最後手段。以軟體工程師的邏輯,人生病了,最先該做的,不是投藥,而是「避開它!」。

找出過敏原,不要碰乳製品、咖啡因,有些人拉肚子、頭痛的宿疾就會不藥而癒。當初我偏頭痛,找了各式各樣醫生,吃了一堆藥,結果都沒用,愈來愈嚴重,甚至送醫急救,還有醫生宣稱是治不好的病。最後,居然是坊間講義雜誌一小篇咖啡因過敏報導救了我。

以政府的立場來說,如果憂鬱症的人愈來愈多,就應檢討是否工時過長、貧富差距過大、社會福利不足、就業率低等等,導致這種現象,並設法加以改善;而不是做問卷調查,然後叫有問題的全去看醫生吃藥。

短期用藥策略

醫學界對藥品審核很認真,很用心,是出了名。FDA嚴苛的規定,讓藥廠為此投下天文數字金錢。

但有一點邏輯上的問題:每個人都是不同獨立個體,先天加上後天,他生理運作方式與測試者未必相同。做實驗時,都用純品系的動物,控制的環境,以減少變異影響結果;但投入市場時,面對的可是差異很大,各種民族、風俗、不同飲食習慣的人。

對個人,死亡代表失去一切;對企業,就是生意做不起來,財務頻頻出狀況。只要他是那0.1%,99.9%人沒問題,對他一點意義都沒有;反過來說,對99.9%有毒或無效的藥物,對那0.1%也未必沒用。

軟體工程師到新公司就職,雖然同樣是Oracle ERP,版本與設定多半不同,老方法多數失效。過去治療ERP的經驗,固然有助於快速研判問題,但最好還是向新公司老工程師學習解決訣竅。就算上Oracle 網站查答案,也必需查同版次(相當於同一人)的解答。此外,還要考慮後天設定問題,因此資訊部門會把系統備份成測試區,把查到的答案,新研究出來的資料糾正方案,在測試區跑一遍,確定無誤,才敢在正式區下藥。

對人醫來說,這等於是把病患DNA與後天影響備份起來,針對他開發藥物、治療程序。目前只能在科幻小說中出現。但至少中醫或印度傳統醫療,承認人本身差異很大,先研究表裡虛實寒熱,推測這人生理屬於那一種系統(版本),再找適合他的配方。而非認定一種藥所有人都適用。

因此醫生會面對意外狀況:病人藥物過敏死亡。我不會因此控告醫生,因為他們無法解讀DNA,沒上帝寫給他們的病患個人設計手冊,又不能備份測試,只能直接給病患下藥。以工程師角度來看,壓力著實大得驚人,所以能夠體諒。

但對病人而言,成為統計數字着實難受;如果這統計數字消費者無法驗證(個體數=1怎麼統計﹖),全憑醫者良心,那又不知是否有劣醫、偽劣藥廠把自己的錯誤混雜其中。我養過三隻貓,打過四次疫苗:兩隻一次,一隻兩次,其中三次出狀況:嚴重過敏、失效、得了貓瘟(潛伏期與發作時間與打疫苗時間吻合),這怎麼看都不像是藥廠宣稱萬分之幾的機會。牧場有成千上萬隻牲畜,可驗證疫苗效果;寵物就只能隨獸醫說了。狀況未改善之前,我不敢再輕易嘗試。

食品與長期用藥策略

Oracle現在不提供頭痛醫頭,腳痛醫腳的小修補程式,只給全面更新的大程式。這邏輯以人醫來說,他們認為,如原因不明,長期用治標的止痛藥治療頭痛,非常危險!就算只改變一小段生理反應,你也必需考慮全局。

修改企業軟體,有些不良反應,短期內不會出現;待用戶遇到特殊狀況,系統才發病。測個一年是基本需求,測個十幾二十年,那就很穩定了,當然測愈久愈好。Oracle雖然隔幾年就改版一次,但新模組與舊模組,其穩定性與貼心程度,仍有相當差別。20多年歷史的物料規畫模組,就是出了名地穩定。

比照人來說,天然的食物,如新鮮水果、蔬菜,在人類演化過程中已測試幾百萬年,算是很安全的。但長期服藥、食品添加物,反式脂肪等非天然加工產品,短短數十年的歷史,待考驗的地方仍多。何況現代社會無法用死亡不繁殖,淘汰不適合加工產品者,演化近乎停頓。

目前許多國家,把健康食品從嚴厲的藥物管制法裡抽出來,另定規範較鬆的健康食品管理法,用動物測兩三個月沒問題就上市。真搞不懂,藥物可能兩週療程結束就不吃了,影響有限;食品可能一吃就十幾年,影響深遠;照道理,健康食品應比藥物嚴才對啊!

人吃得太雜,就算添加物有問題,也很難證明。還是舉寵物做例子,因為牠們常會同一品牌飼料,一吃好幾年。

飼料算是健康食品了,各種營養成份比例、維生素礦物質含量,各大廠均花了不少心思研究,而且用高溫消毒殺菌過。獸醫不斷推銷吃飼料最健康的概念,反對飼主自己煮或餵生肉。

但實際上,用飼料養貓養到5、6歲時,就該做腎功能檢查,如果功能減退,就要換腎臟病專用處方飼料。若忽略這一點,貓可能在6、7歲時因腎臟病過世。未得腎臟病之前,飼料貓平常總有些小毛病:牙齦發炎、牙結石、皮膚病、口臭等等。

原因為何? R. S. Anderson在他研究報告指出,貓祖先來自沙漠,食物水份不足時,貓會優先考慮濃縮尿,而不是多喝水。為了避免貓因吃乾飼料,過於濃縮尿導至尿道結石,所以乾飼料裡多加了鹽,強迫貓多喝水。高鹽與腎病的關係,已眾所皆知。

Francis M. Pottenger的研究報告,更明白指出,光是把肉煮熟後給貓吃,就足以讓牠們生病。如果為了避開高鹽,改餵熟肉為主的罐頭,反而比乾飼料更傷腎!飼料加工,高溫消毒是不可或缺的一環。雖然乾飼料裡加入大量植物成份、維他命,能緩和這種現象,但無法100%消除。

帶骨生肉,是否像獸醫宣稱那般致命?我總懷疑,因為對貓而言,這是測了幾百萬年的食物。Francis M. Pottenger諸多貓實驗,更是對生肉100%肯定。我試了一下,每週餵貓兩三天帶骨生肉,效果驚人:完全沒有小毛病,骨骼健壯,毛皮軟亮如絲緞。獸醫顧慮寄生蟲,但現代牧場都會定期驅蟲;肉腐敗會有肉毒桿菌,但貓能學會判斷何時不能吃;獸醫說骨頭會刺傷腸胃,但貓的口顎像碎骨鉗,腸胃則能把骨頭消化成粉筆灰。獸醫臨床遇到的問題,應有其它原因存在。比如說囚禁,能使貓心智失常,失去判斷能力。

結語

如果人寫的電腦軟體,複雜到某種程度時,修理它都必需十分小心,人醫只能比軟體工程師更謹慎!先避開病因,其次短期投藥,實在沒辦法才長期服藥,應是軟體工程師與醫生共同遵守金科玉律。

參考書目

R. S. Anderson著(1986),楊清白譯,犬貓營養學,合記圖書出版設發行。

Francis M. Pottenger, Jr., M. D. (1983) Pottenger’s Cat, Price-Pottenger Nutrition Foundation, Inc.

nline-block; height: 20px; margin: 0px 2px; overflow: hidden; text-decoration-line: none; text-indent: -1000px; width: 20px;" target="_blank" title="分享到推特">twitter

留言

這個網誌中的熱門文章

驚人的視力恢復眼球操: 活到60歲也不會得到老花眼的秘密。

漲價的世界:通貨膨脹是財富再分配的遊戲

斷食善終