Python×医療事務(×トロント)

#医療 / #医療事務 / #IT / #トロント / #歯科助手 / #のんびり / #備忘録 / #趣味

電子カルテ 開発 事前準備 ②

はじめに

前回の続きです

機械学習を搭載している電子カルテを作成していくにあたって調べています

chocolate22554.hatenablog.com

 

内容

いくつか参考記事があったのだが 先にGitでリポジトリ公開されており、チュートリアルもあり、わかりやすい記事があった MedCATから

towardsdatascience.com

この方は大規模なサーバーやインフラなしでMedCATというGitで公開されている電子カルテ MedCATを元に進めていく模様

   GitHub - CogStack/MedCAT: Medical Concept Annotation Tool 

 

 

いろんな病院のEHR(Electronic Health Record  電子カルテの略)のデータ

Google Health unveils EHR data aggregation tool for clinicians

Amazon Comprehend Medical | AWS

(下記からは自分なりに英語を意訳したもの 和訳すると違う意味だがなんとなくで訳してまとめている)

 MedCAT   チュートリアルの全体像

  1. Introduction — 

    GitHub - CogStack/MedCATtutorials: General tutorials for the setup and use of MedCAT.

  2. Dataset Analysis and Preparation — データ分析と準備
    ML projectについて、  データセットについて, 事前処理テキスト、モデリングを始める前にするすべてのこと
  3. Extracting Diseases from Electronic Health Records 電子カルテから疾患の抽出
     MedCAT のライブラリ(python)、固有表現認識(テキストから人名、日付等の固有表表現を抽出するタスク            

    アノテートされたデータがないドメインで固有表現認識!?https://ai-scholar.tech › ner-weak-supervision        )  
     ,
    医学概念(medical concepts)とつなげる。
    <MEDCATをどのように使いたいを知るなら この3番で十分ということ
  4. Analysing the Results
    中級・上級レベルのMedCAT ライブラリの部分   
    NER+L & MetaAnnotations のための完璧なパイプラインを構築する方法
    <Meta 使っていくんですね
  5. Analysing the Results — 分析の結果
    電子カルテから該当部分を抽出できたかどうかみていく
  6. Other Tools and Functions of the MedCAT library-----MedCATライブラリの 他のツールと機能
    (ICD10 codes

    International Classification of Diseases (ICD)


    , SNOMED CT) & What to expect in the Future

    SNOMED CT - Wikipedia

     



    https://www.jstage.jst.go.jp/article/johokanri/51/4/51_4_243/_pdf

記事内で電子カルテの記録はフリーテキストというのを何回か伝えているのですが、

電子カルテ記録の例で英語バージョンですが ぐしゃぐしゃしてますね

電子カルテはまだ形式化されているのでいいですが、紙カルテは筆跡等違うので読解が困難をきたします

自然言語処理(該当文書をどのように分けるか等色々な方法がある)

Natural Language Processing (NLP) as Named Entity Detection and Linking (NER+L)

NERは医療用語の該当箇所を分ける

NER means detecting the entity in the text

 

バイオメディカル(生物医療)のデータベースと照合させる

おそらく日本で言う 区分番号と NERで区分した 医療用語やテキスト自体を照合させ 本当に正しいか 漏れがないかを確認する

UMLSがデータが一番多いようでここではそれを使うようです

 

L means linking the recognised entity to a concept in a biomedical database

医療単語とデータベースを照合させる作業の部分はとても大事で、なぜかというと同じ様な意味を持っている単語をまとめることができるからということ。この作業がなければ例えば何人の患者さんが心臓病を持っているか 正確に数えることが難しくなるということ

The linking part is essential because it allows us to standardise and organize the detected entities, as multiple recognised entities can link to the same medical concept in a biomedical database. For example, in an EHR we can have:

 

例でいうと下記 太字の単語はすべて心臓病を指す

  • The patient was diagnosed with malignant neoplasm of breast
  • Previous medical history includes breast cancer
  • Reason for admission: breast CA
  •  

The dataset — MIMIC-III

It includes clinical notes, demographics, vital signs, laboratory tests and more

使うには申請が必要なよう、何日かで承諾されるらしい

The dataset can not be downloaded directly, but one needs tosubmit a request  first

Environment setup (if running locally)

ローカル環境で使う場合↑

主にpythonを扱う  Rを使うかもしれないし 少し補助的にJavascriptを使うと助かるかもしれないということ。

pythonは3.5以上のverであれば使えるということ

下記を行っているがvenvでなくて、Anaconda のcondaを仮想環境として使うで良さそう

$ python3 -m venv medcat

 

chocolate22554.hatenablog.com

 

まとめ

先に触れたチュートリアル 1〜5の中身が内容が充実してそうなのでもっと紐解きたいが、一旦ここまでにして次に移ります

データセットの部分等 日本でいうとどれが当てはまるか調べる必要がありそうです

必要あれば 更に記事内容を追加していく予定

 

 

 

 

電子カルテ 開発 事前準備 (①?)

はじめに

以前も調べたことあるんですが 機械学習を含んでいる電子カルテを一旦簡単に作りたくて調べました  備忘録も兼ねて記録  

 

 

記事の概要

海外でも電子カルテがシンプルでなかったりすると煩わしさを感じるんですね

simple electronic medical record system designed for research | JAMIA Open | Oxford Academic

github.com

最初ぐらいしか見てないですが どの言語も 電子カルテ作成はできるが pythonだとほかコードより文字数が少なくできるようです

(pythonベースの電子カルテを購入することも書いてますが今回 話題が違うので省きます)

https://www.quora.com/Is-it-a-good-idea-to-use-Python-to-build-EHR

 

 

英語verだと python電子カルテのコード等 Gitで公開されてます

 

electronic-health-records · GitHub Topics · GitHub

 

 

まとめ

質問等みていると 私の検索不足かもしれませんんが、日本語では広告の電子カルテのことばかり出て、開発のページが全く出ません

英語だと オープンソースは当たり前 開発している方も多く ソースが多いと感じました

python自体が英語ソースが多い言語なのでそうなのかもしれないですが、日本語の電子カルテ開発情報は少なすぎますね

一旦ここで締めくくります

Bubble 使ってみた② チュートリアル?

はじめに

前回の記事の続きです

chocolate22554.hatenablog.com

 

tour選択したら 他画面に移ったので 忘れないために引き続き 備忘録 兼ねて 記録

 

 

記事の概要

①reference と tour  と書かれていたと思うのですが下にあるtour を選択

下記画像 の画面になりました

シンプルな画面で見やすい

開発中止されましたが ATOM 思い出す

②青いボタンの start をクリック

③6つのアプリを構成していく上で使うボタンや機能の部分(違うコンセプトとエリア部分)があるようです

(そういえば 日本語 選択したのに 普通に 英語で進んでます)

④インターフェース部分(デザイン部分)

ドラッグ・アンド・ドロップでできる+パワーポイントのスライドのようにも使える模様

⑤ワークフロー部分  プログラミング部分? 詳細に設定

⑥データベース部分  データの構成や 格納されている?データを見たり修正可能

SQLのような?)

⑦スタイルやテーマを決める部分?  骨組み?フレームワークのような場所?

API と Plugin?を追加したりできるタブ

 

⑨設定タブ  アプリの設定変更  自分のアプリがWeb上でどのように見えるか等 設定できる

⑩ダブルクリック等して 配置等 変えれる

⑪タイトル等 変えれる

⑫説明している最中でしたが、どこかのボタン押して ページ遷移してしまい Home画面に一旦戻ることにしました

アプリ作成はまた今度していきます

 

 

▶▶続く

Bubble 使ってみた①

はじめに

Bubbleというノーコードツールが気になっていたので軽く使いました

 

 

記事の概要

①下記URLにてGoogleアカウント か メールアドレスに 新規登録

bubble.io

②登録後、下記画面にて 「Build」を選び 「Next」をクリック

(HIRE や EARN もあり 人を雇ったり、案件受託もある模様)

③どこでBubbleを知ったか 適当なものにチェックし「Complete」 (完了)

④マイページのような画面に移動したが メール認証してなかったようで下記ポップが出たためメール認証を済ませる


⑤メール認証後、再度ログイン  ホーム画面?が開きました

わかりにくいですが上記画像の下に

No thanks. I want to create an app on the Free plan. 」

というリンクがあるのでクリック(下記画像参照)

⑥下記 アプリ作成の画面が出る

とりあえず下記で記載⇓

「create a new app」が青くなるのでクリック

⑦開発画面と思われる画面に遷移 左にアシスタント が出てくる

⑧アシスタントok「Let's get started(青いボタンを押すと)」 にすると

下記のようなものが出るので スキップするか 該当のものを選択

⑨日本語設定の画面もあった

しかし英語系のものを 日本語選択 すると逆にわけがわからなくなることが多い

一旦 試しに 日本語 選択

⑩「b」となってるところをクリックすると アプリのアイコン?にするものを自分のフォルダから画像選択できる(私はこだわり無いのでスキップ)

⑪課金の促しと思ったら 無料含めてのプラグインをこの段階で入れるかどうかの案内だった

おそらくアプリ内の課金の際のpaypal

Twilioもあってワクワク

PDF Viewerもあった

Bubble公式のplugin 入れると便利だよ的なことを言われている? とりあえずインストール

上記画像の インストールページにて下記文章が記載があり、 自分で作ったAPIや 他APIを 自分のアプリ内で使う時に 必要らしい

なので上記 ダウンロードは必須っぽい

⑬一旦終わり  マニュアル見るか、作成していくか

 

▶▶続く?

 

 

Google  ドライブを ダークモードに変更する

はじめに

備忘録も兼ねてです

VSCode にてダークモード多用しているため Googleドキュメントを併用使用する際に 白い画面で眩しく感じます

そのため Googleドキュメントも ダークモードがないかおもって調べました

 

 

内容とまとめ

下記画像の結果でした

Androidのみでしか使用できないようです

 

ヘルプにてダークモードを調べました

 

そのため、PCにてコード編集

タブレット等Andoroidであれば、スタンドで立て 併用するのがありかなと思いました

キーボード使用したいなら、bluetoothキーボード別途 購入して使用するか。

 

今回 Andoroidでしか使えないことが分かったので画面の暗さを暗くして対応することにしました