株式会社メドレーDeveloper Portal

2019-04-02

電子処方箋実証事業における FHIR の活用と標準化の展望

こんにちは。CLINICS 事業部の児玉です。

今回は、メドレーが 2018 年 12 月に厚生労働省から受託した「電子処方箋の本格運用に向けた実証事業」で、医療情報標準規格のFHIRを基盤とした電子処方箋管理システムを構築しましたので、その内容についてご紹介します。

FHIR とは

FHIR(Fast Healthcare Interoperability Resources)とは、医療情報交換の国際標準規格である HL7(Health Level 7)の中で最も新しい規格であり、インターネットテクノロジーをベースとした、シンプルで効率的にシステム間での情報共有を可能にする「次世代の医療情報標準規格」として世界各国で注目されています。

HL7 は、世界に 30 以上の国際支部を有しており、日本では 1998 年に日本 HL7 協会が設立されました。そして、現在流通している HL7 規格には、データ交換に利用されるHL7v2と、医用文書の記述に利用されるCDA(Clinical Document Architecture)が存在します。

電子処方箋とは

電子処方箋とは、従来の紙に印刷された処方箋ではなく、医療機関と調剤薬局が電子データを用いて処方内容をやりとりする仕組みです。単純にペーパーレス化することだけが目的ではなく、患者個人の服薬履歴を電子的に管理して、重複投薬の適正化を図るといった目的もあります。

実証事業の背景と概略

2016 年 3 月の法令改正で、処方箋の電子的な交付が可能となり、運用ガイドラインも策定されました。しかし、法令改正から数年が経過した現在においても、実運用での課題が払拭できずに、電子処方箋の全国的な普及は進んでおりません。

20190328142501.png
ガイドラインに定められた運用フロー(電子処方せんの運用ガイドラインより転載)

元来、処方箋には医師の記名押印、または署名が必要であると医師法で定められています。現行のガイドラインは、この規則を踏襲して設計されていますので、紙の処方箋の代替としてCDA で記述された静的ファイルを必要とし、記名押印の代替としてHPKIを使用した電子署名が必要となります。

また、クライアント端末で生成された静的ファイルが、インターネットに流通するフローとなっていますので、改ざんの検知を可能とするために電子タイムスタンプを付与する必要があります。

このように複雑化された運用フローが、電子処方箋の普及を阻害する要因の 1 つであると考えられます。

こうした状況を踏まえ、現行のガイドラインに縛られず、円滑な運用ができる仕組みを検討するために、実際の医療機関と調剤薬局を使用したフィールド実験を実施しました。


実証事業概略

  • 実施目的:電子処方箋の運用の仕組みの検討・実証・考察
  • 実施期間:2019 年 2 月 4 日 - 2019 年 3 月 17 日
  • 実証エリア:東京都港区
  • 協力施設:2 医療機関 / 6 薬局
  • 利用実績:64 件

電子処方箋管理システムの概要

以下に示すのは、今回の実証事業で開発した評価システムです。本システムは「処方箋管理システム」「医療機関システム」「薬局システム」「PHR アプリ」の 4 つのシステムから構成されています。

20190328140004.png
システム概観

  • 処方箋管理システム

    医療機関システム、薬局システム及び PHR アプリから接続され、各システムからの処理要求を受けて、処方データと調剤データの返答、作成、編集、及び削除を行う。

  • 医療機関システム

    診療結果としての処方データを処方箋管理システムに登録し、その結果として返される処方箋アクセスコードを患者に共有する。処方箋アクセスコードは QR コードの活用を想定し、QR コードを印字した紙又は電子データを患者に共有する。

*「QR コード」は株式会社デンソーウェーブの登録商標です。
  • 薬局システム

    訪問してきた患者の本人確認を行った上で、処方箋アクセスコードを受け取り、処方箋管理システムにアクセスし処方データを参照する。処方後は調剤データを処方箋管理システムに格納する。

  • PHR アプリ

    患者がオンライン診療やお薬手帳の機能を利用するためのアプリ。処方箋管理システムへのアクセスが許可され、医療機関システムから受け取った処方箋アクセスコードを元に、調剤結果を参照することを可能にする。


医療機関システムは、メドレーのクラウド電子カルテ「CLINICS カルテ」を利用しましたが、システム連携に関わる部分については、他の電子カルテなどでも活用できるよう、疎に結合した設計を意識しました。

処方箋管理システムは、前述の通り FHIR インターフェイスを基盤として構築しました。これは現行のガイドラインには記載されていない新たな試みです。

HPKI を利用したSSO(Single Sign On)による本人資格確認と、FHIR インターフェイスを利用したクラウドベースでのデータフローを実現することが可能であれば、複雑化の要因となっている静的ファイル、電子署名、タイムスタンプは不要であると考えました。

データ設計

FHIR には「リソース」と呼ばれるデータセットが定められています。リソースは、Patient(患者)、Practitioner(施術者)、Organization(組織)といった粒度で設計されており、リソース単位でのデータ交換が可能です。

FHIR を利用するためには、その目的に応じたリソースの選定と、リソースの下位概念であるフィールドに設定する具体的な値を定義する必要があります。

例えば、日本では人名を記述する際に、漢字氏名とカナ氏名を併記することが一般的ですが、グローバル・スタンダードではありません。このような国の事情に応じて、ローカライズされた記述ルールを定める必要があります。

実証事業で使用したリソース

リソース説明
Patient患者
Practitioner施術者(処方医/薬剤師)
PractitionerRole施術者役割
Organization組織(医療機関/調剤薬局)
MedicationRequest投薬要求
MedicationDispense調剤実施
Coverage保険

FHIR を使用した所感

FHIR の改版は on-Going で行われています。実証事業のための開発を始めた頃は、STU3(Standard for Trial Use 3)が公式バージョンでした。しかし、あるとき急に FHIR のホームページが接続不安定になり困っていたところ、翌日には R4(Release 4)に更新されていたということもありました。

このように、日進月歩の FHIR をプロダクトに組み込むには、タイミングの見極めと、アップデートに追従する「覚悟」を決めることが大切だと思います。

20190328210514.png
2018 年 12 月 27 日に R4 が Current Version になりました

FHIR の利点は、従来の HL7 規格と比較した実装容易性にあると考えます。REST(REpresentational State Transfer)のように、Web サービスでは一般的に普及している概念を標準として取り込んでいるため、実装者は特別な知識を習得する必要がありません。また、FHIR を実装するためのオープンソースライブラリが豊富に提供されており、これらを活用することによって、本当に必要な処理に注力して開発することが可能となります。

臨床概念モデルとしての観点では、CDA のベースとなっているHL7v3-RIM(Reference Information Model)と比較すると、クラス、継承のようなオブジェクト指向の概念が廃止されています。あらゆる臨床概念をモデリング可能とすることを目指した RIM と比べると、さすがに表現可能な範囲は狭まると思われますが、網羅性は実用域のレベルには達しているのではないでしょうか。

また、1:1 のシステム連携におけるデータ交換では、すでに稼働している v2 インターフェイスを、無理して FHIR に置き換える必要は無いと思います。用途に応じて、既存の規格と共存していくのが大切であると考えます。

実運用へ向けての課題

FHIR リソースは、臨床概念としてユニバーサルに利用可能なものを中心に構成されています。保険情報のような各国の医療制度に応じて異なるものや、調剤技法に対する「一包化」や「粉砕」などの細かな指示情報に関しては、ある程度アドホックにマッピングするしかありませんでした。実装者によるマッピングのブレが生じないようにするためには、指標となるガイドラインの策定が必要になります。

また、リソースにマッピングする医薬品や用法のマスターコードについては、厚生労働省標準マスターの利用が望まれます。しかしながら、満遍なく普及しているとは言い難い状況ですので、標準マスター利用の推奨も併せてガイドラインに明記することが必要です。

ガイドラインは、メドレー 1 社で策定することが可能なものではなく、医療情報システムの開発に関わる多くの開発者に FHIR を利用していただき、実装方法についての議論を交わす必要があります。しかし、現時点での日本国内における FHIR の活用事例は、残念ながらほとんど見られません。

次にご紹介するのは、FHIR を使用した簡単なコードのサンプルと、ローカル環境で FHIR Server を簡易的に動かす方法です。実装者の方が FHIR に触れるきっかけになればと思って書きましたので、ご参考にしていただけますと幸いです。

FHIR の実装サンプル

FHIR を理解するためには、実際にコードを書いて動かしてみるのが一番だと思います。ここでは、ローカル環境で FHIR Server を起動して、リソースを登録する簡単なプログラムを書いてみました。(オープンソースの恩恵を最大限に享受しています。)

実行環境

  • macOS v10.14.3
  • Ruby v2.5.1
  • Docker v18.09.2

FHIR Server

Docker コンテナで FHIR Server を起動します。簡単に動かせるように、DockerHub に公開されているHAPI-FHIRのコンテナイメージを利用します。

HAPI-FHIR とは、カナダのトロントにある医療研究機関の UHN(University Health Network)が立ち上げたプロジェクトで、FHIR のオープンソースライブラリを提供することを目的に活動しています。

https://github.com/jamesagnew/hapi-fhir

https://hub.docker.com/r/petersonjared/hapi-fhir

Docker コンテナイメージの取得

$ docker pull petersonjared/hapi-fhir
$ docker run -d -p 8080:8080 --name=fhir petersonjared/hapi-fhir:dstu3
$ docker exec -it fhir /docker-entrypoint.sh java -jar /usr/local/jetty/start.jar

Docker をインストールするのが面倒な人は、HAPI-FHIR がグローバルに公開しているテストサーバーを利用することも可能です。ただし、世界中の人がテストに利用しているサーバーですので、機微な個人情報は登録しないよう注意が必要です。

FHIR Client

FHIR Client は、Ruby で動かします。以下の Gem を利用します。

$ gem install fhir_client
$ gem install fhir_models

Ruby のコードです。Patient リソースを作成して FHIR Server に登録します。

patient.rb

require 'fhir_client'

client = FHIR::Client.new("https://localhost:8080/baseDstu3")
FHIR::Model.client = client

patient = FHIR::Patient.new

# 患者 ID
identifier = FHIR::Identifier.new
identifier.value = '12345678'
patient.identifier = identifier

# 患者氏名
human_name = FHIR::HumanName.new
human_name.family = 'Kodama'
human_name.given = 'Yoshinori'
patient.name.push(human_name)

# 性別
patient.gender = 'male'

patient.create
puts patient.id

上記のコードを実行すると、FHIR Server に Patient リソースが登録されます。ここでリソースを一意に特定するリソース ID が採番されます。今回は 19953 が採番されました。(puts patient.id で確認)

このリソース ID を利用して、FHIR Server に HTTP リクエストを送ります。

$ curl https://localhost:8080/baseDstu3/Patient/19953

そうすると、先ほど登録したリソースが JSON 形式で取得できます。

{
  "resourceType": "Patient",
  "id": "19953",
  "meta": {
    "versionId": "1",
    "lastUpdated": "2019-03-21T09:12:44.660+00:00"
  },
  "text": {
    "status": "generated",
    "div": "<div xmlns=\"https://www.w3.org/1999/xhtml\"><div class=\"hapiHeaderText\">Yoshinori <b>KODAMA </b></div><table class=\"hapiPropertyTable\"><tbody><tr><td>Identifier</td><td>12345678</td></tr></tbody></table></div>"
  },
  "identifier": [
    {
      "value": "12345678"
    }
  ],
  "name": [
    {
      "family": "Kodama",
      "given": ["Yoshinori"]
    }
  ],
  "gender": "male"
}

もちろん、患者 ID など利用して検索することも可能です。

$ curl https://localhost:8080/baseDstu3/Patient?identifier=12345678

さいごに

今回の実証事業では、FHIR のインターフェイスを活用することにより、シンプルなアーキテクチャとシームレスなフローで、迅速に処方箋管理システムの構築ができ、電子処方箋の運用評価を行うことができました。本実証事業の最終成果報告書は厚生労働省のサイトに公開されていますので、詳細について興味のある方はこちらをご参照ください。

https://www.mhlw.go.jp/stf/denshishohousen.html

メドレーは、実証事業で得られた知見を可能な限りオープンにして電子処方箋の普及推進に取り組むことはもちろん、インターネットを活用したオープンな技術の普及活動に積極的に取り組み、医療機関と患者の双方にとってより良い医療の実現を目指してまいります。

お知らせ

今回の電子処方箋実証事業の成果と、システム開発に活用した FHIR について共有するイベントを、以下のとおり 4 月 23 日(火)に開催します。お時間ある方はぜひご参加ください。

https://techplay.jp/event/725549

また、メドレーでは医療業界に存在する課題に IT を駆使して取り組んでいきたいメンバーを、デザイナー・エンジニアを中心に全職種絶賛募集中です。皆さまからのご応募お待ちしております。

https://www.medley.jp/recruit/creative.html

株式会社メドレーDeveloper Portal

© 2016 MEDLEY, INC.