// Prediction Conf.
// この表示を有効にするにはdspcnf.txtの各screen節の中に表示位置とグラフのスケール
// （predict_top, predict_bottom, predict_ordinate）を指定してください．

// 薬剤濃度予測．書ける計算式（モデル）は２０種類まで．
// 収載モデルはおおむね，StanpumpとExcel_PkPd140forPaperChart102.xlsを参考にしています．
// お好みに合わせて入れ替えてください．

// 数学的な計算誤差は概ね±１％以内ですが，
// フェンタのＣ２とエスラックスのＣｅはボーラス投与後約１０分間，
// 最大３〜４％ほど高めに出ます．（Ｋxxが大きい（時定数が短い）ため）

//// 薬剤濃度未来予測を追加しました．

// 薬剤の持続投与を停止したと仮定したばあいの一定時間分の未来の濃度予測と
// 現在の持続投与速度を無限に続けたと仮定したばあいの濃度予測を表示できます．

default_decline_minutes = 30 60 120;
// （1〜120分）とりあえず30分間の未来を表示．60と120に切り替え可．

// 上記の機能を有効にするにはdspcnf.txtの各screen節の中にpredict_decline_widthとして
// グラフ横幅の広さを指定してください．そうしないと未来予測グラフは表示されません．


models
{
    Propofol(adult)
    {
        // 文献：濃度予測窓を左クリックして出るダイアログにタイトルとして表示するだけで，
        //       それ以外の使い道はありません．括弧や等号や空白を含むばあいは""で括ってください．
        article = "MarshB,Br.J.Anesth.67:41-48,1992 (adopted Vc from Gepts) ke0=White(1996 WCA Sydney Abstract) [体重]" ;

        // 薬剤メニュー内での名称（４個まで半角空白で区切って）
        drug = ﾌﾟﾛﾎﾟﾌｫｰﾙ ﾌﾟﾛﾎﾟ ﾃﾞｨﾌﾟﾘﾊﾞﾝ ﾃﾞｨﾌﾟﾘ ﾃﾞｨﾌﾟﾘﾊﾞﾝ1% ;

        // 計算式を書いてください．ke0を書かないとCe0(効果器濃度)無しになります．
        // さらにk13を書かないと２コンパートメントになります．
        // v1,k10,k12,k21を０や負の値にすることはできません．
        // v2はv1,k12,k21から，v3はv1,k13,k31から計算します．直接ここに書いても無駄です．
        k10 = 0.119 ;
        k12 = 0.114 ;
        k13 = 0.042 ;
        k21 = 0.055 ;
        k31 = 0.0033 ;
        ke0 = 0.260 ;
        v1  = 0.228 * 体重値 ;          // 体重値はdmgcnf.txt内でdemograph関数で引いています．

        // ＝の右辺が成立しなかったとき，左辺の文字をエラー文字列として画面表示します．
        // 下の例では，体重が0.5〜200kg以外だと「Propofol->体重？」のエラーダイアログを表示します．
        // （注意：「成立したときにエラー表示」ではない）
        // 書ける式は８つまで．
        // ここで書いている制限範囲は誤入力防止のために適当に決めたもので，
        // 論文に適用範囲として書かれているわけではありません．
        // “0.5<=体重値<=200”は“0.5<=体重値&体重値<=200”と同じ意味です．
        dependency
        {
            "体重？" = 0.5 <= 体重値 <= 200 ;
        }

        // 新たにファイルを開くか，モニタ開始したときはこの設定に戻す．
        // noneを書くと「何も表示しない」のがdefaultになります．
        // １行丸ごと書かない(default_view全体をコメントアウト)と，前回終了時の設定をそのまま次回に使用します．
        default_view = Ce C1;            // Ce C1 C2 C3 or none．グラフ表示したいものを列挙．

        // グラフの色(RGB値)です．色自体には特に意味はありません．好みに合わせて書き替えてください．
        // １行丸ごと(default_color_XX=自体)を，書かないと前回終了時の設定をそのまま次回に使用します．
        default_color_Ce = 192 0 0;
        default_color_C1 = 255 96 96;
        default_color_C2 = 255 96 96;
        default_color_C3 = 255 96 96;

        // 画面にプロットするときの単位と倍率
        view_scale_factor = 1μg/ml;     // 1μg/mlがグラフの“１”の位置にプロットされます．
        // 使える単位は g, mg, μg, ng, pg，分母はl(litter)とml(mili-litter)．
        // つまり1μg/mlを1mg/lと書いても同じです．
    }

    Propofol(3-11y)
    {
        article = "KatariaBK,Anesthesiology80:104-122,1994 (3-11yr) [体重,年令]" ;
        drug = ﾌﾟﾛﾎﾟﾌｫｰﾙ ﾌﾟﾛﾎﾟ ﾃﾞｨﾌﾟﾘﾊﾞﾝ ﾃﾞｨﾌﾟﾘ ﾃﾞｨﾌﾟﾘﾊﾞﾝ1% ;

        k10 = 0.035 / 0.41 ;
        k12 = 0.077 / 0.41 ;
        k13 = 0.026 / 0.41 ;
        k21 = 体重値 * 0.077 / (体重値 * 0.78 + 3.1 * 年令値 - 15.5) ;
        k31 = 0.026 / 6.9 ;
        // ke0 = 0.260 ;     // ←小児用のKe0が見つからないので…大人用のKe0を使う？
        v1  = 0.41 * 体重値 ;
        
        dependency
        {
            "体重？" = 0.5 <= 体重値 <= 200 ;
            "年令？" = 0 <= 年令値 <= 120 ;
            "体重年令不適当？" = 0.5 <= 体重値 & 0 <= 年令値 & 体重値 * 0.78 + 3.1 * 年令値 > 15.6 ;
        }
        default_view = none;             // <- defaultで「何もプロットしない」
//        default_color_Ce = 192 0 0;      // <- 大人用のKe0を使うときはuncommentしてください．
//        default_color_C1 = 255 96 96;
        default_color_C1 = 176 0 0;
        default_color_C2 = 255 96 96;
        default_color_C3 = 255 96 96;
        view_scale_factor = 1μg/ml;
    }

    Remifentanil1
    {
        article = "Minto,Anesthesiology86,1997 [体重,身長,年令,性別]" ;
        drug = ｱﾙﾁﾊﾞ ;
        k10 = Minto_CL1 / Minto_V1 ;
        k12 = Minto_CL2 / Minto_V1 ;
        k13 = Minto_CL3 / Minto_V1 ;
        k21 = Minto_CL2 / Minto_V2 ;
        k31 = Minto_CL3 / Minto_V3 ;
        ke0 = Minto_KE0 ;
        v1  = Minto_V1 ;
        dependency
        {
            "体重？" = 0.5 <= 体重値 <= 200 ;
            "身長？" = 30 <= 身長値 <= 230 ;
            "年令？" = 0.01 <= 年令値 <= 110 ;
            "性別？" = 性別文字列 == '男' | 性別文字列 == '女' ;
            "LBM≦0" = LeanBodyMass > 0 ;
        }
        default_view = Ce C1;
        default_color_Ce = 0 40 255;
        default_color_C1 = 96 128 255;
        default_color_C2 = 96 128 255;
        default_color_C3 = 96 128 255;
        view_scale_factor = 1ng/ml;
    }

    Remifentanil2
    {
        article = "EganTD,Anesthesiology79,1993 Ke0=EganTD,Anesthesiology84,1996 [体重]" ;
        drug = ｱﾙﾁﾊﾞ ;
        k10 = 0.396 ;
        k12 = 0.323 ;
        k13 = 0.022 ;
        k21 = 0.147 ;
        k31 = 0.016 ;
        ke0 = 0.433 ;
        v1  = 0.089873418 * 体重値 ;    // <- なんで，こんなに桁数が多いの？
        dependency
        {
            "体重？" = 0.5 <= 体重値 <= 200 ;
        }
        default_view = none;
        default_color_Ce = 0 40 255;
        default_color_C1 = 96 128 255;
        default_color_C2 = 96 128 255;
        default_color_C3 = 96 128 255;
        view_scale_factor = 1ng/ml;
    }

    Fentanyl1
    {
        article = "ShaferSL,Anesthesiology73:1091-1192,1990 ke0=ScottJC (Fentanyl4 below)" ;
        drug = ﾌｪﾝﾀ ;
        k10 = 0.0828 ;
        k12 = 0.471 ;
        k13 = 0.225 ;
        k21 = 0.102 ;
        k31 = 0.00601 ;
        ke0 = 0.147 ;
        v1  = 6.09 ;
        default_view = none;
        default_color_Ce = 0 40 255;
        default_color_C1 = 96 128 255;
        default_color_C2 = 96 128 255;
        default_color_C3 = 96 128 255;
        view_scale_factor = 1ng/ml;
    }

    Fentanyl2
    {
        article = "ShaferSL,Anesthesiology73:1091-1192,1990(weight scaled) ke0=ScottJC (Fentanyl4 below) [体重]" ;
        drug = ﾌｪﾝﾀ ;
        k10 = 0.0798 ;
        k12 = 0.451 ;
        k13 = 0.190 ;
        k21 = 0.106 ;
        k31 = 0.00591 ;
        ke0 = 0.147 ;
        v1  = 0.105 * 体重値 ;
        dependency
        {
            "体重？" = 0.5 <= 体重値 <= 200 ;
        }
        default_view = none;
        default_color_Ce = 0 40 255;
        default_color_C1 = 96 128 255;
        default_color_C2 = 96 128 255;
        default_color_C3 = 96 128 255;
        view_scale_factor = 1ng/ml;
    }

    Fentanyl3
    {
        article = "ShaferSL,Anesthesiology73:1091-1192,1990(linear model) ke0=ScottJC (Fentanyl4 below) [体重]" ;
        drug = ﾌｪﾝﾀ ;
        k10 = Shafer_CL1 / Shafer_V1 ;
        k12 = Shafer_CL2 / Shafer_V1 ;
        k13 = Shafer_CL3 / Shafer_V1 ;
        k21 = Shafer_CL2 / Shafer_V2 ;
        k31 = Shafer_CL3 / Shafer_V3 ;
        ke0 = 0.147 ;
        v1  = Shafer_V1 ;
        dependency
        {
            "体重？" = 0.5 <= 体重値 <= 200 ;
        }
        default_view = Ce C1;
        default_color_Ce = 0 40 255;
        default_color_C1 = 96 128 255;
        default_color_C2 = 96 128 255;
        default_color_C3 = 96 128 255;
        view_scale_factor = 1ng/ml;
    }
    Fentanyl4
    {
        article = "ScottJC,J Pharmacol Exp Ther 240(1):159-166,1987" ;
        drug = ﾌｪﾝﾀ ;
        k10 = 0.056 ;
        k12 = 0.373 ;
        k13 = 0.180 ;
        k21 = 0.096 ;
        k31 = 0.0077 ;
        ke0 = 0.147 ;
        v1  = 12.7 ;
        default_view = none;
        default_color_Ce = 0 40 255;
        default_color_C1 = 96 128 255;
        default_color_C2 = 96 128 255;
        default_color_C3 = 96 128 255;
        view_scale_factor = 1ng/ml;
    }

    Rocuronium1
    {
        article = "Szenohradszky,Anesthesiology77:899-904,1992 [体重]" ;
        drug = Rb ｴｽﾗｯｸｽ ｴｽﾗ ﾛｸﾛ ;
        k10 = 0.0375 ; // 0.00289 / 0.077
        k12 = 0.1142 ; // 0.00879 / 0.077
        k13 = 0.0196 ; // 0.00151 / 0.077
        k21 = 0.1758 ; // 0.00879 / 0.050
        k31 = 0.0189 ; // 0.00151 / 0.080
        ke0 = 0.588 ;  // <-下のWierdaから引き写し
        v1  = 0.077 * 体重値 ;
        dependency
        {
            "体重？" = 0.5 <= 体重値 <= 200 ;
        }
        default_view = Ce C1;
        default_color_Ce = 0 144 0;
        default_color_C1 = 64 208 64;
        default_color_C2 = 64 208 64;
        default_color_C3 = 64 208 64;
        view_scale_factor = 1μg/ml;
    }

    Rocuronium2
    {
        article = "Wierda,Can.J.Anesth.38:4:430-435,1991 [体重]" ;
        drug = Rb ｴｽﾗｯｸｽ ｴｽﾗ ﾛｸﾛ ;
        k10 = 0.1 ;
        k12 = 0.21 ;
        k13 = 0.028 ;
        k21 = 0.13 ;
        k31 = 0.01 ;
        ke0 = 0.588 ;
        v1  = 0.044 * 体重値 ;
        dependency
        {
            "体重？" = 0.5 <= 体重値 <= 200 ;
        }
        default_view = none;
        default_color_Ce = 0 144 0;
        default_color_C1 = 64 208 64;
        default_color_C2 = 64 208 64;
        default_color_C3 = 64 208 64;
        view_scale_factor = 1μg/ml;
    }

    Vecuronium(young)
    {
        article = "Rupp,Anesthesiology67:45-49,1987 [体重]" ;
        drug = Vb ﾏｽｷｭﾗｯｸｽ ﾏｽｷｭﾗ ﾏｽｷｭ ﾍﾞｸﾛ ;
        k10 = 0.1 ;
        k12 = 0.1436 ;
        k13 = 0.03436 ;
        k21 = 0.1102 ;
        k31 = 0.014384 ;
        ke0 = 0.169 ;
        v1  = 0.052 * 体重値 ;
        dependency
        {
            "体重？" = 0.5 <= 体重値 <= 200 ;
        }
        default_view = none;
        default_color_Ce = 0 144 0;
        default_color_C1 = 64 208 64;
        default_color_C2 = 64 208 64;
        default_color_C3 = 64 208 64;
        view_scale_factor = 1μg/ml;
    }

    Vecuronium(elder)
    {
        article = "Rupp,Anesthesiology67:45-49,1987 [体重]" ;
        drug = Vb ﾏｽｷｭﾗｯｸｽ ﾏｽｷｭﾗ ﾏｽｷｭ ﾍﾞｸﾛ ;
        k10 = 0.1276 ;
        k12 = 0.32322 ;
        k13 = 0.08267 ;
        k21 = 0.2266 ;
        k31 = 0.002207 ;
        ke0 = 0.165 ;
        v1  = 0.029 * 体重値 ;
        dependency
        {
            "体重？" = 0.5 <= 体重値 <= 200 ;
        }
        default_view = Ce C1;
        default_color_Ce = 0 144 0;
        default_color_C1 = 64 208 64;
        default_color_C2 = 64 208 64;
        default_color_C3 = 64 208 64;
        view_scale_factor = 1μg/ml;
    }

    Dexmedetomidine1
    {
        article = "Barry,Dyck (@Stanpump) [身長]" ;
        drug = Dex ﾌﾟﾚｾﾃﾞｯｸｽ ﾌﾟﾚｾ ;
        k10 = (0.00791 * 身長値 - 0.927) / 7.99 ;
        k12 = 2.26 / 7.99 ;
        k13 = 1.99 / 7.99 ;
        k21 = 2.26 / 13.8 ;
        k31 = 1.99 / 187 ;
        v1  = 7.99 ;
        dependency
        {
            "身長？" = 30 <= 身長値 <= 230 ;
        }
        default_view = C1;
        default_color_C1 = 128 128 0;
        default_color_C2 = 192 192 0;
        default_color_C3 = 192 192 0;
        view_scale_factor = 1ng/ml;
    }

    Dexmedetomidine2
    {
        article = "Barry,Dyck (@Stanpump)" ;
        drug = Dex ﾌﾟﾚｾﾃﾞｯｸｽ ﾌﾟﾚｾ ;
        k10 = 0.0552 ;
        k12 = 0.258 ;
        k13 = 0.247 ;
        k21 = 0.163 ;
        k31 = 0.0112 ;
        v1  = 8.0574 ;
        default_view = none;
        default_color_C1 = 128 128 0;
        default_color_C2 = 192 192 0;
        default_color_C3 = 192 192 0;
        view_scale_factor = 1ng/ml;
    }

    Midazolam1
    {
        article = "Geller/Sladen/Ramsey,ICU multicenter study (@Stanpump) [体重,身長]" ;
        drug = ﾐﾀﾞｿﾞﾗﾑ ﾄﾞﾙﾐｶﾑ ﾄﾞﾙﾐ ;
        k10 = (0.0889 + 0.151 * BodySurfaceArea) / 33 ;
        k12 = 0.622 / 33 ;
        k13 = 0.264 / 33 ;
        k21 = 0.622 / (3.32 + 32.1 * BodySurfaceArea) ;
        k31 = 0.264 / 365 ;
        ke0 = .693 / 4.0 ;
        v1  = 33 ;
        dependency
        {
            "体重？" = 0.5 <= 体重値 <= 200 ;
            "身長？" = 30 <= 身長値 <= 230 ;
        }
        default_view = Ce;
        default_color_Ce = 176 0 0;
        default_color_C1 = 255 96 96;
        default_color_C2 = 255 96 96;
        default_color_C3 = 255 96 96;
        view_scale_factor = 1μg/ml;
    }

    Midazolam2
    {
        article = "Greenblatt,Clin.Pharm.Ther,Apr.1989 (@Stanpump) [体重]" ;
        drug = ﾐﾀﾞｿﾞﾗﾑ ﾄﾞﾙﾐｶﾑ ﾄﾞﾙﾐ ;
        k10 = 0.0151 ;
        k12 = 0.0526 ;
        k21 = 0.0241 ;
        ke0 = .693 / 4.0 ;
        v1  = 0.73 * 体重値 ;
        dependency
        {
            "体重？" = 0.5 <= 体重値 <= 200 ;
        }
        default_view = none;
        default_color_Ce = 176 0 0;
        default_color_C1 = 255 96 96;
        default_color_C2 = 255 96 96;
        view_scale_factor = 1μg/ml;
    }

    Ketamine
    {
        article = "Domino,Clin.Pharm.Ther36:645-653,1991 (@Stanpump) [体重]" ;
        drug = ｹﾀﾗｰﾙ ｹﾀﾐﾝ ;
        k10 = 0.438 ;
        k12 = 0.592 ;
        k13 = 0.590 ;
        k21 = 0.247 ;
        k31 = 0.0146 ;
        v1  = 0.063 * 体重値 ;
        dependency
        {
            "体重？" = 0.5 <= 体重値 <= 200 ;
        }
        default_view = C1;
        default_color_C1 = 80 80 80;
        default_color_C2 = 160 160 160;
        default_color_C3 = 160 160 160;
        view_scale_factor = 1μg/ml;
    }
}

calc
{
    BodySurfaceArea =                     // 体重(kg)，身長(cm)
        体重値 ^ 0.425 * 身長値 ^ 0.725 * 0.007184 ;

    LeanBodyMass =                        // 体重(kg)，身長(cm)，性別文字列(男または女)
        性別文字列 == '男' ?
            1.10 * 体重値 - 128 * (体重値 / 身長値) ^ 2 :
        性別文字列 == '女' ?
            1.07 * 体重値 - 148 * (体重値 / 身長値) ^ 2 :
        '' ; // <- 性別が男でも女でもない場合は意図的に欠損値を返して計算を失敗させる．

    Minto_V1  = 5.1 - 0.0201 * (年令値 - 40) + 0.072 * (LeanBodyMass - 55) ;
    Minto_V2  = 9.82 - 0.0811 * (年令値 - 40) + 0.108 * (LeanBodyMass - 55) ;
    Minto_V3  = 5.42 ;
    Minto_CL1 = 2.6 - 0.0162 * (年令値 - 40) + 0.0191 * (LeanBodyMass - 55) ;
    Minto_CL2 = 2.05 - 0.0301 * (年令値 - 40) ;
    Minto_CL3 = 0.076 - 0.00113 * (年令値 - 40) ;
    Minto_KE0 = 0.595 - 0.007 * (年令値 - 40) ;

    Shafer_V1  = 2.7 + 0.059 * 体重値 ;
    Shafer_V2  = 12.5 + 0.273 * 体重値 ;
    Shafer_V3  = 101 + 2.21 * 体重値 ;
    Shafer_CL1 = 0.223 + 0.00488 * 体重値 ;
    Shafer_CL2 = 1.27 + 0.0278 * 体重値 ;
    Shafer_CL3 = 0.607 + 0.0133 * 体重値 ;
}
