みーのぺーじ

みーが趣味でやっているPCやソフトウェアについて.Python, Javascript, Processing, Unityなど.

josler-sync

josler-syncは,日本内科学会が運営している研修システムであるJ-OSLERの入力を,退院サマリーのデータをもとに自動で行うソフトウェアです.

患者IDや性別,年齢などの事務的なデータをJ-OSLERに手入力するのが非常に面倒なので作成しました.内科専門研修が可能な基幹病院の多くでは「退院サマリー」の作成が義務付けられています.退院サマリーに登録した症例をエクセルデータに出力し,これをJ-OSLERに同期することで,大幅な時間短縮が可能です.

2020/03/26にバージョンアップしましたので,下記より最新版をご利用ください.この記事のバージョンは2020/03/26現在動作しませんのでご了承ください.

josler-sync (2020年版) - みーのぺーじ

動作環境

  • infocom Medi-Bank (動作確認済み)
  • Windows 7, 8, 10 (32bit or 64bit)
  • MacOSは現在非対応です.

ダウンロード

インストール

上記zipファイルを任意のディレクトリに展開し,josler-sync.exeを実行してください.Windows SmartScreenが実行を阻止しますが,「詳細情報」→「実行」を選択してください*1

使い方

J-OSLERにログインした後,インポート,同期,削除の3つの機能が使用可能となります.

f:id:atsuhiro-me:20180708023521p:plain

ログイン

J-OSLERのユーザー情報を入力します.正常にログインできた場合は下記のようにloginと表示されます.なお,ログイン情報はJ-OSLERサーバーにhttps通信で送信することのみに使用されます.

josler-sync.
username:UX******
password:******
login.

インポート

まずは退院サマリーから症例を出力します.infocomのMedi-Bankならば,登録情報の検索画面にてエクセルファイルに出力する機能があります.例えば2018/4/1から専門医研修を開始した場合は,退院日を2018/4/1以降に指定して自分の症例を検索することで,登録可能な症例を一括で取得できます.その他の退院サマリーソフトウェアも後述のkeys.jsonを編集することで対応可能と思われます.

f:id:atsuhiro-me:20180728102810p:plain:w300 (検索条件の例)

f:id:atsuhiro-me:20180728102907p:plain:w300 (「一覧出力」をクリック)

f:id:atsuhiro-me:20180728102958p:plain:w300 (「ファイル出力」をクリック)

f:id:atsuhiro-me:20180708015721p:plain:w300 (plist.xlsxの一例)

これをjosler-sync.exeと同じディレクトリにplist.xlsxという名前で保存します.josler-syncでログイン後,"i"と入力しエンターを押します.するとローカルデータベースに読み込まれます.患者番号(ID)が重複する場合は最新のものに上書きされるため,何度もインポート可能です.

退院サマリーソフトによっては必要な項目が出力できない場合があります.その場合はエクセルで列を増やすことで対応可能です.例えば年齢が出力できない場合は,列を1つ増やして1行目に「年齢」,その下に数字を列挙していきます.

退院サマリーの病名と,レポートの病名は異なることがあります.その場合はエクセル上でプロブレムリストを編集します.「プロブレム1」「プロブレム2」「プロブレム3」という列を作成し病名を列挙していきます.この作業を行わずにJ-OSLERで編集してもよいでしょう.

default症例の作成

J-OSLERには施設名など何度も同じ情報を入力しなければならない箇所が複数あり,面倒です.新規症例登録にて,患者IDを「default」と指定した症例は,同期にて他の症例の初期値として扱われます.「経験時期」を「専門研修(プログラム研修)」,「患者の施設名」を現在勤務している病院,「担当状況」を「入院症例」に選択して保存することを推奨します.

f:id:atsuhiro-me:20180708025448p:plain:w300

同期

ローカルデータベースに読み込んだ症例はJ-OSLERと同期することでサーバーにデータが反映されます.josler-syncでログイン後,"s"と入力しエンターを押します.

J-OSLERに以前に入力した情報は,更新日時を比較し最新のものが反映されます.例えば,IDが00001の患者情報をエクセルファイルからインポートし,J-OSLER上に同一のIDが存在しない場合は新規にJ-OSLERに症例登録します.IDが00002の患者をJ-OSLERに登録済みであり,ローカルデータベースに情報がない場合は,J-OSLERの情報をローカルデータベースにダウンロードします.IDが00003の患者情報がJ-OSLERに登録済みであり,変更があるためエクセルファイルから再度読み込んだ場合は,更新日時を比較しJ-OSLERの情報を上書きします.

したがって,何度も同期を行いながら症例登録を進めていくことができます.

削除

J-OSLERに登録した症例を一括で削除したい場合に使用します.状態が「作成中」の症例のみ削除され,「依頼済み」「承認済み」など工程が進んでいるデータは削除されません.

技能技術評価を一括入力

技能技術評価には評価すべき項目がたくさんあります.

f:id:atsuhiro-me:20180728114100p:plain:w300 (気が遠くなるようなたくさんの項目)

大量の項目の評価をクリックして入力するのが面倒なので,一括で評価入力する機能を追加しました.josler-syncでログイン後,"m 2"と入力しエンターを押すことで,すべての評価が星2つ(適切である)に一括入力されます.数値を変更すれば,1:十分に適切である,2:適切である,3:援助を要する,として入力します.この機能を使用する場合は,現在の評価が未作成である必要があります.すでに新規作成されている場合は上書きできません.

ファイルの解説

keys.json

keys.jsonは,退院サマリーのデータとローカルデータベースとJ-OSLERの項目の対応付けを示したjson形式のファイルで,メモ帳などのテキストエディタで編集が可能です.

下記を例に詳細を説明します.

[
  {
    "id": "shoreiHyokaIraiForm:ukemochiKikanTo",
    "name": "受持終了日",
    "xkeys": ["退院日", "退科日"],
    "type": "date"
  },...
]

"id"はJ-OSLERの項目,"name"はローカルデータベースの項目,"xkeys"はエクセルファイルのヘッダー(1行目)です.エクセルファイルの「退院日」又は「退科日」という項目の日付が,インポートすることによって「受持終了日」という項目にローカルデータベースに読み込まれ,同期をすることでJ-OSLERの「shoreiHyokaIraiForm:ukemochiKikanTo」という項目に保存されます.xkeysを編集することでMedi-Bank以外の退院サマリーソフトにも対応可能です.

plist.json

ローカルデータベースの情報は,ログアウト時にplist.jsonというファイルに保存されます.plist.jsonを削除すればローカルデータベースはリセットされます.このファイルを編集することも可能です.

ライセンス

  • josler-syncはフリーソフトウェアです.下記に従う限りにおいて用途の制限はありません.
  • josler-syncのソースファイルは公開していません.実行ファイルのリバースエンジニアリングを禁止します.
  • josler-syncの実行ファイルを再配布することは禁止します.
  • josler-syncを実行することによって生じたいかなる損害に対して保証は行いません.

更新履歴

  • 2018-7-8
    • 新規公開
  • 2018-7-28
    • 症例が「依頼済」「承認」の状態に対応
    • 技能技術評価一括入力の追加
  • 2018-8-7
    • 「依頼済」「承認」の状態の症例の処理のバグ修正

(J-OSLER, Medi-Bank, エクセルは,それぞれ日本内科学会,インフォコム株式会社,マイクロソフト株式会社の商品です.)

*1:SmartScreenを回避するには費用と労力がかかるのでご理解ください.