Skip to content
医療計算機
JavaScript HTML
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
image
lib
.gitignore
README.md
config.xml
favicon256.png
favicon32.png
formula.json
index.html
med.js
startup_1024x748.png
startup_320x460.png
startup_768x1004.png

README.md

医療計算機

医療計算機

「医療計算機」は各種医学的計算を行うアプリケーションです。 細心の注意を払って作成しておりますが、臨床での使用には必ず元文献をご参照の上、検算を行なってください。

使い方

ウェブブラウザ上からの使用

app.kcrt.net上に、医療計算機の安定版をホストしております。 ウェブブラウザでアクセスするか、iOSではWebClipとして登録して使用してください。

Androidアプリケーション

PhoneGap:Buildを使用して時々ビルドしています。常に最新版であるとは限りません。 PhoneGap:Buildのサイト上からダウンロードして下さい。 将来的にはGoogle Play(旧Android Market)に登録できればと思っております。

iOSアプリケーション

理論上はPhoneGap:Buildで作成できると思います。 しかしApp Storeでの公開にはフリーウェアでも年会費として99米ドルをAppleに払わなければいけないため、現在のところは残念ながら予定しておりません。 もしApp Storeにフリーウェアプランのようなものができたらまた考えたいと思います。

Windows Phone

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を読み込み、項目の表示や計算を行なっています。 formula.jsonは以下のような構成になっています。

{
	"menu": {
		(メニュー部分)
	},
	"formula": {
		(数式部分)
	}
}

menu セクション

"大項目": {
	"小項目1": {
		"info": "メニューに表示される情報",
		"id": "..."
	},
	"小項目2": {
		"info": "メニューに表示される情報",
		"id": "..."
	}
}

メニューは大項目で区切られたいくつかの小項目からなります。小項目はinfoで詳しい説明を付加することが可能です。 idに後述のformulaのIDを指定することで対応するformulaへのリンクとなります。 また、idがhttpから開始する場合は外部リンクとみなされます。

formula セクション (htmlタイプ)

"_id_": {
	"type": "html",
	"html": "<div>本日は...</div>",
	"ref": {
		"参考文献": "URLなど"
	}
}

id では前述のmenuに対応したIDを指定します。 typehtml を指定することで、 html で指定した文字列をそのまま表示します。

formula セクション (imageタイプ)

"_id_": {
	"type": "image",
	"src": "_filename_",
	"ref": {
		"参考文献": "URLなど"
	}
}

id では前述のmenuに対応したIDを指定します。 typeimage を指定することで、 src で指定したファイルを表示します。 ファイル名は相対パスでも絶対パスでも構いません。

formula セクション (input/outputタイプ)

"_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部分

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がそのまま表示されます。

output部分

" _項目名_ ": {"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項目を使用出来ます。
formula, codeで使用できる関数
  • 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へのリンクに自動的に変換されます。
You can’t perform that action at this time.