2016年07月24日

ORCA-APIの転帰区分

こんにちはdaihyouです。
先日ORCA-APIを触っていて、意外なことがわかりました。
APIで定義されている患者病名の転記区分とORCA内部での転記区分とは別だと言うことです。
ORCA内部では1:治癒、2:死亡、3:中止、8:移行 ですが、
APIでは、F:治癒、D:死亡、R:軽快、N:不変、S:後遺症残、U:不明、W:悪化 です。
APIから上記の区分を渡すと、ORCAが変換するのでしょうね。
CLAIMを実装していれば、周知なんだとか。
勉強になりました。
posted by 株式会社アプセル at 14:59| Comment(0) | TrackBack(0) | 日記

2016年07月15日

セミナーを開催します

こんにちは。daihyouです。
この度、ワークブレイン株式会社様と共同でセミナーをやらせて頂く事になりました。
印刷書式作成ツールのJaspersoftStudio、
レポート生成ライブラリのJasperReportsLibrary、
BIツールのJasperReportsServer
これらにご興味をお持ちの方は是非ご参加ください。
詳しくはこちらをご覧ください。
月1回開催で全6回、内容は6回とも同じです。東京開催も大阪開催もあります。
ご参加をお待ちしております。
posted by 株式会社アプセル at 15:48| Comment(0) | TrackBack(0) | 日記

2016年07月05日

シェルスクリプトから日医標準レセプトソフトAPIを叩く

先日ORCAカンファレンス2016に参加してきたのですが、今後はデータベースから直接データを取得するのではなく、APIから取得してくださいと言われたので、シェルスクリプトからでもできるのか挑戦してみました。

ここでの例は、ORCAサーバーのホストがlocalhost、ポートが8000、ユーザー名がormaster、パスワードがpassword、患者番号は000001です。

APIはGETメソッドで取得できるため、curlコマンドが使えそうです。また、結果はXMLで返ってくるため、xmllintコマンドで必要なデータを抽出できそうです。xmllitコマンドはlibxml2-utilsパッケージに含まれているため、最初にインストールしてください。

まずはHTTPヘッダーを確認します。次のコマンドを実行します。

$ curl -X GET 'http://localhost:8000/api01rv2/patientgetv2?id=000001' -I -u ormaster:password

次の結果が返ってくれば成功です。

HTTP/1.1 200 OK
Date: Tue, 05 Jul 2016 05:46:43 GMT
Server: glserver/1.4.9
Content-Type: application/xml
Content-Length: 2500

HTTPのステータスの意味を解説したりはしません。

いよいよ患者情報のXMLを取得します。

$ curl -X GET 'http://localhost:8000/api01rv2/patientgetv2?id=000001' -u ormaster:password -o patient.xml

取得したXMLをpatient.xmlとして保存しています。

patient.xmlの中身を確認します。

$ xmllint --shell patient.xml

シェルの使い方はman xmllintで確認してください。

いよいよ患者氏名を取得します。

$ xmllint --xpath "/xmlio2/patientinfores/Patient_Information/WholeName/text()" patient.xml |nkf -w80 --numchar-input

何故か結果がUnicode文字参照で返ってくるため、nkfコマンドでUTF-8に変換しています。nkfコマンドはjma-receiptがセットアップされている環境であればインストールされているはずです。
posted by 株式会社アプセル at 15:11| Comment(0) | TrackBack(0) | 技術