電子処方箋対応(セカンド証明書編)

前回までで、HPKIカードの電子署名モジュールは自作できた。

が、本番カードが来ないので、セカンド証明書を使うしかない。
そして、その症例報告は皆無である。

緒言
  • 物理HPKI証明書の知識は不要。☞ サーバーが署名してローカルにxmlを返却する仕組み。
  • ローカルマシンと管理サーバー間のHandshakeが、分かりにくい。
ローカルマシンとサーバー間のHandshake

初見時の感想は「よう分からんナ~。分からんものを、使う気にならん~」

そこで、「雰囲気で使わずきちんと理解する!整理してOAuth2.0を使う」を読んで、ブラウザー挙動から動きを探った。
(FIDO認証を想定、用語はOAuth2.0とOpenIDで異なるが、OAuth2.0用語に統一)

cf.  セカンドHPKI証明書の覚書きWiki

クエリパラメータの説明 KeyCloadの説明
セカンド証明書署名ライブラリー

物理カードモジュールとは異なり、多業者が参入しているわけではない。
現状 HPKIセカンド証明書リモート署名ライブラリ一式Ver2.10 一択。

提供ライブラリーには、

  1. ExamplePublisherClient.exe
  2. RemoteSignatureClientAdapter.exe
  3. RemoteSignatureClientService.exe

が含まれている。

うち、ソース提供があるのは 1.ExamplePublisherClient のみ。
2.3.は完全にブラックボックスで、リバースエンジニアリング厳禁とある。


その役割分担を推察する。

  1. RemoteSignatureClientAdapter.exeは、ポート番号3000を待ち受けするサービス。タスクスケジューラに登録する。
  2. RemoteSignatureClientService.exeは、ポート番号5000を待ち受けするサービス。タスクスケジューラに登録する。
  3. 上記ポートのリスニングは1.の起動時に走るNode.jsサーバーが担当する。
  4. ExamplePublisherClient.exeは「OAuth2.0+PKCE+OpenID+スマホ認証」のHandshake図で記した煩雑なトークン処理をRemoteSignatureClientAdapterに投げる。🔹 KeyCloakで「生体認証」が完了。
  5. 4.で受け取ったIDトークン+「HPKIセカンド電子証明書管理サービスクライアント証明書」を、(WebAPI選択の場合は)RemoteSignatureClientService経由で管理サーバーに渡す。🔹 「生体認証」+「所有認証」が完了。
  6. 5までが成功すると、管理サーバー上の「HPKI セカンド電子証明書」を使う権利が生じ、PrescriptionDocumentのハッシュ値を管理サーバーに送付する。管理サーバーはこのPrescriptionDocumentのハッシュ値と、管理サーバーがもつKeyinfo要素とSignedProtperties要素を、管理サーバー上の「HPKI セカンド電子証明書」の秘密鍵で署名しPrescriptionSign要素としてJSONで返してくる。
  7. ローカルでPrescriptionDocument要素を作って、6.のPrescriptionSign要素を付加して、電子署名付き処方箋.xmlが完成。

大枠、こういう流れになってると思う。


結語
  1. RemoteSignatureClientAdapterとRemoteSignatureClientServiceの相当物をスクラッチから作るのは、できなくはなかろうがかなりの難題であり、かつ、セキュリティホールができるだろう。MedisがFindexに委託したのもこの所以かもしれん。
  2. ExamplePublischerClient.exeは、WebAPIを選択すると、署名APIUrlの5000ポート、つまり、RemoteSignatureClientServiceを使う。一方、ライブラリを選択すると、直接管理サーバーの署名APIをたたいているようにみえる。つまり、RemoteSignatureClientServiceを使わないようだが、うまく動かない。
  3. 2のWebAPI利用なら、セカンド証明書電子署名モジュールは自作できる。著作権は「一般財団法人 医療情報システム開発センター」および「株式会社ファインデックス」帰属なので、Github公開できないがC#erなら楽勝。

この一連のサービスは遠からず、有料化されるらしい。
有料化されるまでに、本番カード届くのかナ?!

第30回兵庫県黄斑研究会を受講しました。

加齢黄斑変性に対するアイリーア8mgの使用経験 兵庫医大眼科学講師 佐藤孝樹先生
  • ほかの薬剤で効果が不十分だった症例の中でも、効果がみられる症例が確かに存在する。
  • いずれにしても発売後9か月しかたっていないので評価が定まっていない。
DMEに対するアイリーア8mgの使用経験 神戸大学眼科学講師 楠原仙太郎先生
  • アイリーアのターゲット:VEGF-A、VEGF-B、PIGF
  • バビースモ:VEGF-A、Ang2
  • 投与モル比
    ルセンティス 0.5
    アイリーア2mg 1
    バビースモ 2
    アイリーア8mg 4 薬価は一番高い。
    ベオビュ 11 → 強すぎるのでいろいろ副作用が出るのかもしれない。

    以前の「硝子体注射薬の山城先生の感触」を上記と合わせて改訂すると
商品名 効き目
ルーセンティス
ラニビズマブBS(≒ルーセンティスのゾロ)
アイリーア2mg
バビースモ 中(~強)
アイリーア8mg
ベオビュー 強強
長崎大学 大石明生教授
  • AMDの定義がまたまた変わった。
  • 滲出型→新生血管型
  • 50歳の基準を撤廃。↓と関連す。
  • pachychoroidを包含→PNV
  • 典型AMDはなくなった。
  • RAPに対するPDTは推奨されない。

PNV (Pachychoroid Neovasculopathy):パキコロイドに関連して発生するNVという概念が台頭してきているらしい。PDT治療が奏功するPCVはここに属する由。

感想
  • かつては、「神経眼科やってると格好いい」だったのが、いまは「黄斑周りやっとります!😤」みたい。
  • ここでは、日本人学者はPCVをパキコロイドに入れないように抵抗していると書いたが、欧米学派を受け入れつつあるのかな?
  • 開業医的にはバビースモ最強と思ってたけど、アイリーア8mg最強説かもしれない。当院でもスイッチして奏功した例がある。
  • バビースモとアイリーア8mgを交互にカクテルショットみたいな発表は聞いたことがないんだが、レセプターをかえモル比を変えるという戦略はアリかも。