[程式] SAS 用藥日期重複計算

看板Statistics作者 (我愛慢慢跑)時間10年前 (2015/07/15 14:16), 10年前編輯推噓3(307)
留言10則, 2人參與, 最新討論串1/1
[軟體程式類別]: SAS [程式問題]: 資料處理 [軟體熟悉度]: 中(3個月到1年) [問題敘述]: 該問題是健保資料庫的用藥天數重複問題。 先簡單說明問題 data output; set output; array run{10} day1 - day10; run; ID start_date end_date day1 day2 day3 day4 day5 day6 day7 day8 day9 day10 A 1 5 A 3 8 第一筆起始日期為1結束日期為5,但我該如何在day1-day5填上1的資料。 同樣第二筆資料,我該如何在day3-day8填上1的資料說。 以下為詳細說明 ID 就醫日期 給藥天數 就醫日期數值 結束日期數值 上次結束日期數值 A 20061002 30 17072 17101 . A 20061003 30 17076 17105 17101 A 20061008 30 17082 17111 17105 就醫日期數值是將就醫日期轉換成數值, 結束日期為就醫日期數值加上給藥天數。 一般來說,用藥天數重複,可將該次的結束日期數值, 與下次的就醫日期與結束日期運算,可以使用LAG,DIF,IFN 器計算。 但資料庫有時候存在很多例外。 例如該病人1002領藥30天,1003又領藥30天,1008又領藥30天。 的確是呈現藥物濫用,目前想要計算重複用藥天數。 例如該病人的用藥天數如下: 後方切時間點以方便說明。 第一筆 17072-17101 : 17072 - 17076 - 17082 - 17101 第二筆 17076-17105 : 17076 - 17082 - 17101 - 17105 第三筆 17082-17111 : 17082 - 17101 - 17105 -17111 由上面可知道,在17076-17081,這6天是兩筆資料重複。 17082-17101,這20天是三筆資料重複。 17102-17105,這4天是兩筆資料重複。 如果不算重複次數,可以知道在這三筆資料總共有30天重複用藥天數。 請問這要該如何計算呢? [程式範例]: 目前想到比較簡單的方法是 由於我全部的追蹤時間是11年,因此先往右開11年 (共4701的欄位 day14976 -day18992。 第一筆資料為17072-17101 ,就day17072-day17101都補上1。 第二筆資料為17076-17105,就day17176-day17105都補上1。 .. 之後再加總某個日期欄位,如果大於1,表示當天有資料重複。 不知道各位是否有其他建議方式? 再請指教,謝謝。 ----------------------------------------------------------------------------- -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.250.55.184 ※ 文章網址: https://www.ptt.cc/bbs/Statistics/M.1436941019.A.018.html ※ 編輯: shga (111.250.55.184), 07/15/2015 14:17:47

07/16 01:52, , 1F
純粹路過提醒,門診的給藥天數會高估,以當次看診開的所
07/16 01:52, 1F

07/16 01:52, , 2F
有藥中最多天數當做給藥天數。可能要留意這部份~
07/16 01:52, 2F

07/16 02:39, , 3F
健保資料庫已經很大,再開那麼多欄實際上應該不可行
07/16 02:39, 3F

07/16 14:13, , 4F
原po的想法基本上可行,我也這麼處理過,但如同樓上講的
07/16 14:13, 4F

07/16 14:13, , 5F
,欄位太多,跑起來很慢。但我覺得更重要的是探討幾種可
07/16 14:13, 5F

07/16 14:13, , 6F
能性:1. 想看的藥常與慢性藥一起給,給藥天數就是慢性
07/16 14:13, 6F

07/16 14:13, , 7F
藥而非探討的藥。2. 住院資料就更高估了,無法以住院天
07/16 14:13, 7F

07/16 14:13, , 8F
數當吃藥起迄日。3. 病人會在藥吃完前先回診拿藥銜接。4.
07/16 14:13, 8F

07/16 14:13, , 9F
同一成份的藥10mg開10天跟5mg開20天,總劑量不變。是否
07/16 14:13, 9F

07/16 14:13, , 10F
用DDD取代開藥天數。
07/16 14:13, 10F
文章代碼(AID): #1LfVhR0O (Statistics)