development guide - mbot-dev/1000_builder GitHub Wiki

4. 開発の手順

4-1. プロジェクトから支給されるもの

  • 開発用のAPIサーバー
  • バリデージョン チェック用のサーバー
  • 本稼働用のAPIサーバー
  • アクセス・トークンを取得するための資格情報(Consumer Key と Secret Key)
  • 対象となる病院の医療期間ID
  • 質問の受付場所(このリポジトリのissue)
4-1.1 資格情報と医療期間ID
  • 資格情報 => ベンダー毎に付与、開発と本稼働で同じものを使用
  • 医療期間ID => 病院毎に付与

4-2. 方針決定

  • API一覧を参考にし、電子カルテからどの情報を千年カルテに送信するかを決定する。

4-3. アクセス権設定

  • 病院の方針に基づき、情報の種類(病名、処方、報告書...)毎にアクセス権を設定する。

4-4. プログラミング (API使用ガイドを参照)

  • APIのJSONデータを生成できるようにする。
  • POST手順を組み込む。
  • コンポジジョン単位にUUIDを生成しデータベース等で管理する。(次項の修正と削除で必要)

4-5. バリデーション チェック

  • 開発用のAPIサーバーからは生成したMMLが返却される。
  • これをバリデーションサーバーを使用して妥当性の検証を行う。
検証が不合格になるケース
  • JSON構造が間違っている。
  • JSONの属性名が間違っている。
  • 必須データが入っていない。
  • セットする値が間違っている。
  • MMLテーブルの値を使用するケース
  • 日数や期間等の指定 PND 形式を使用していない
  • 日付と時刻の区切り文字 T が必要

4-6. 送信した診療データ(コンポジション)が修正された場合

  • 修正されたデータでコンポジションを再度送信する。
  • その際、コンテキストの UUID は修正前のものを使用する。
  • HTTPメソッドはPOSTとする。(PUTではない、またURLは同じ)

4-7. 送信した診療データ(コンポジション)を削除する場合

  • コンテキストの UUID に削除対象のものを設定する。
  • confirmDate は削除した時刻(削除対象のconfirmDateより新しい事)を設定する。
  • patient は対象患者。
  • creator 削除対象の医師とは異なっていても良い。
  • accessRight は不要。
  • コンポジションのcontent属性は不要。(content属性自体がないこと)
  • RESTのエンドポイントは POST の場合に同じであるが、HTTP メソッドは DELETE とする。

4-8. 開発用のサーバーと本稼働用サーバーの違い

項目 開発用 本稼働用
生成したMML 返却する 返却しない
外部参照ファイル 無視 プロジェクトへ送信
コンポジション修正 修正版MMLを返却 返却しない
コンポジション削除 レスポンス: HTTP statusのみ 同左