「医療計算機」は各種医学的計算を行うアプリケーションです。 細心の注意を払って作成しておりますが、臨床での使用には必ず元文献をご参照の上、検算を行なってください。
app.kcrt.net上に、医療計算機の安定版をホストしております。 ウェブブラウザでアクセスするか、iOSではWebClipとして登録して使用してください。
PhoneGap:Buildを使用して時々ビルドしています。常に最新版であるとは限りません。 PhoneGap:Buildのサイト上からダウンロードして下さい。 将来的にはGoogle Play(旧Android Market)に登録できればと思っております。
理論上はPhoneGap:Buildで作成できると思います。 しかしApp Storeでの公開にはフリーウェアでも年会費として99米ドルをAppleに払わなければいけないため、現在のところは残念ながら予定しておりません。 もしApp Storeにフリーウェアプランのようなものができたらまた考えたいと思います。
PhoneGap:Buildのサイト上からダウンロードすることができますが、実機を持ち合わせていないためテストできません。 動作報告をお待ちしております。
動作報告やバグ報告は、メールまたは、Twitterに連絡ください。すべてのメールに目を通しますが、必ずしも全てに返答できるとは限りません。 計算の追加などの要望に関しましては、可能な場合は参考となる文献を教えていただけると助かります。
Copyright © 2012 TAKAHASHI, Kyohei
This Application program includes jQuery and jQuery Mobile. Redistributed under the [MIT License][mit]. [MIT]: http://www.opensource.org/licenses/mit-license.php
医療計算機でformula.jsonを読み込み、項目の表示や計算を行なっています。 formula.jsonは以下のような構成になっています。
{
"menu": {
(メニュー部分)
},
"formula": {
(数式部分)
}
}
"大項目": {
"小項目1": {
"info": "メニューに表示される情報",
"id": "..."
},
"小項目2": {
"info": "メニューに表示される情報",
"id": "..."
}
}
メニューは大項目で区切られたいくつかの小項目からなります。小項目はinfoで詳しい説明を付加することが可能です。 idに後述のformulaのIDを指定することで対応するformulaへのリンクとなります。 また、idがhttpから開始する場合は外部リンクとみなされます。
"_id_": {
"type": "html",
"html": "<div>本日は...</div>",
"ref": {
"参考文献": "URLなど"
}
}
id では前述のmenuに対応したIDを指定します。 type に html を指定することで、 html で指定した文字列をそのまま表示します。
"_id_": {
"type": "image",
"src": "_filename_",
"ref": {
"参考文献": "URLなど"
}
}
id では前述のmenuに対応したIDを指定します。 type に image を指定することで、 src で指定したファイルを表示します。 ファイル名は相対パスでも絶対パスでも構いません。
"_id_" : {
"input" : {
"height": {"name": "身長[cm]", "type": "float", "min": 30, "max": 300},
"weight": {"name": "体重[kg]", "type": "float", "min": 3, "max": 300}
},
"output": {
"BMI": {"name": "BMI", "formula" : "weight/(height/100)/(height/100)", "toFixed": 2},
"who": {"name": "WHO(世界保健機関)", "text" : "≧25: overwight, ≧30: obese"},
"jasso": {"name": "日本肥満学会", "text": "<18.5: 低体重, 22: 標準体重,≧25: 肥満"}
},
"ref": {
"Wikipedia" : "http://ja.wikipedia.org/wiki/%E3%83%9C%E3%83%87%E3%82%A3%E3%83%9E%E3%82%B9%E6%8C%87%E6%95%B0"
}
}
id では前述のmenuに対応したIDを指定します。
input 部分では "変数名": {"name": "表示", "type": "入力タイプ", (それぞれのタイプに合わせたオプション) } で、入力を指定します。
- "type": " float " 数値
- "min": 数値 - 入力できる最小の値を指定します。例えば、負の値の入力を拒否したい場合は0を指定します。
- "max": 数値 - 入力できる最大の値を指定します。
- "placeholder" ( option ) : 文字列 - 入力ヒントを指定します。
- "type": " text " 文字列
- "placeholder" ( option ) : 文字列 - 入力ヒントを指定します。
- "type": " slider " 数値(スライダー)
- "min": 数値 - 入力できる最小の値を指定します。例えば、負の値の入力を拒否したい場合は0を指定します。
- "max": 数値 - 入力できる最大の値を指定します。
- min, maxを省略した場合はそれぞれ0, 100とみなされます。
- "type": " sex " 性別
- (オプション無し)
- 変数は男を選んだ場合は1, 女を選んだ場合は0となります。
- "type": " onoff " スウィッチ
- "on": 文字列 - オンの時の文字列です。
- "off": 文字列 - オフの時の文字列です。
- 変数はオンを選んだ場合は1, オフを選んだ場合は0となります。
- on, offを省略した場合はそれぞれ"Yes", "No"とみなされます。
- "type": " select " 選択ボックス
- "item": {"項目1": 値1, "項目2": 値2, ...} - 選択項目です。
- 変数は選択した項目に対応する値となります。
- "type": " date " 日付選択
- "dafault": 文字列 - デフォルトの日付です。"today"とかけば本日を指定できます。 " 変数はUnix epochからのミリ秒となります。
- "type": " info " 情報
- "text": 文字列 - 文字列が表示されます。
- "type": " html " 情報
- "html": 文字列 - htmlがそのまま表示されます。
" _項目名_ ": {"name": " _表示名_ ", "formula" : "weight/(height/100)/(height/100)", "toFixed": 2}
output部分では、 text , formula , code のいずれかを指定します。
- " text "がある場合、文字列をそのまま出力します。情報の補足が必要な場合に使用してください。
- " formula "がある場合、それを数式として使用します。input部分で指定した項目を変数として使用出来ます。
- " code "がある場合、それをJavaScriptコードとして使用します。表示項目を返り値(return)として指定してください。
- " toFixed "で四捨五入を行う桁を指定できます。例えば、1/3を"toFixed": 2で表示した場合0.33となります。
- " toFixed "を省略した場合、値が数値として解釈できない場合は変換は行われません。数値として解釈できる場合は"toFixed": 2を指定したのと同じになります。
- 値が整数値になることがわかっているなど、変換を行いたくない場合は"toFixed": ""を指定してください。
- ただし、" name "に" hidden "または空文字列が指定された場合は出力を行いません。
- formulaまたはcodeでは、すでに計算の終わっている他のoutput項目を使用出来ます。
- JavaScriptの関数(Math.powなど)が使用出来ます。
- GetZScore( Value , Average , SD ) - Average, SDに対応するZScore(例: 0.32)を返します。
- GetZScoreStr( Value, Average , SD ) - GetZScoreを整形して返します。(例: 1.32 (-0.32SD) )
- BSA_DuBois( height, weight ) - DuBois法で求めた体表面積(m²)を返します。
- GetZScoreFromLMS( value , l , m , s ) - LMS法に基づいたZScoreを計算します。
- GetPercentileFromZScore( zscore ) - ZScoreに対応するパーセンタイル値を返します。
- GetValueFromZScore( zscore , l , m , s ) - ZScoreに対応するパーセンタイル値を返します。
"ref": {
"表示名": "URL",
"表示名": "URL"
}
表示名 には人が識別できる文字列(書籍名や、論文名など)を指定します。 URL を指定するとリンクが作成されます。
- 空文字列を指定すると 表示名 のみ表示され、リンクとなりません。
- isbn: で始まるコードを指定すると、Amazon.co.jpなどへのリンクに自動的に変換されます。
- pubmed: で始まるコードを指定すると、pubmedへのリンクに自動的に変換されます。