2016-06-30 7 views
1

投薬の順守を計算する適切な方法を見つけることは困難です。完璧な解決策が存在しないことを知っているので、私は、彼が何も持っていないので、患者が投薬を受けたことのない日数を計算したい。私は投薬が発行されるたびにこれをしたい。投薬の順守を計算する:累積的な投薬不足

x <- data.frame(
    patient_id = 1, 
    issue_date = as.Date("1990-01-01") + cumsum(c(0, 35, 30, 25, 30)), 
    no_tablets = 60 
) 

    patient_id issue_date no_tablets 
1   1 1990-01-01   60 
2   1 1990-02-05   60 
3   1 1990-03-07   60 
4   1 1990-04-01   60 
5   1 1990-05-01   60 

は私がコースを外れissue_date秒での差を計算し、それがno_tablets/2(bidaily用量)に等しいかどう患者が取らなければならなかった見ることができます。

私はこのようになります薬局のデータを持っています。 しかし、患者が早期に薬を服用した場合、彼は薬の在庫があるため、この期間よりも次回の時間を長く待つことができます。

私は、累積日数と累積投与量の計算を行い、すべての非累積服薬不足を合計しようとしました。しかし、もし私が患者が一度遅れて、正確に時間通りに薬を服用すれば、この数はまだ立っていて何度も数えられます。

私はこれをどのように行うことができます他のアイデアはありますか? ありがとうございます!

答えて

0

あなたの例では、この患者の錠剤の供給は、再充填の間の日数を超えているようです。あなたが望むものが何であるかの例がなければ、以下のスクリプトで十分です。

x <- data.frame(
    patient_id = c(rep(1, 5), rep(2, 5)), 
    issue_date = c(rep(as.Date("1990-01-01") + cumsum(c(0, 35, 30, 25, 30)), 2)), 
    no_tablets = c(rep(60, 5), rep(31, 5)) 
) 

y <- data.frame(
    patient_id = c(1, 2), 
    pills_per_day = c(2, 1) 
) 

z <- merge(x, y, by = "patient_id") 

library(data.table) 
z <- data.table(z) 
z[, days_excess := (no_tablets/pills_per_day) - ifelse(patient_id == shift(patient_id, 1, type = "lead"), 
                -as.integer(issue_date - shift(issue_date, 1, type="lead")), 
                NA)] 

print(z) 
    patient_id issue_date no_tablets pills_per_day days_excess 
1:   1 1990-01-01   60    2   -5 
2:   1 1990-02-05   60    2   0 
3:   1 1990-03-07   60    2   5 
4:   1 1990-04-01   60    2   0 
5:   1 1990-05-01   60    2   NA 
6:   2 1990-01-01   31    1   -4 
7:   2 1990-02-05   31    1   1 
8:   2 1990-03-07   31    1   6 
9:   2 1990-04-01   31    1   1 
10:   2 1990-05-01   31    1   NA 
+0

ありがとう、あなたの返事をありがとう。私の例では、患者は1日2錠を服用しなければならないため、日数は錠剤の供給日数を超える場合があります。 – Jasper

+0

@ジャスパーもう1人の患者を追加するために私の答えを編集し、2人の患者のために1日に異なる投薬量を追加しました。それをもう一度見て、私はまたcumsum関数を削除し、各リフィルの毎月の超過分を調べました。 – bshelt141

+0

もう一度Brandonに感謝します。問題は、以前の超過分の「在庫」が残っている場合、患者に錠剤欠損が認められることです。だから私は累積的に何かをする必要があると思う。 – Jasper

関連する問題