【Mermaid記法】でのフローチャート作成が便利(コードあり)

Mermaid.js でフローチャートをつくる

最近仕事の関係でフローチャート的なものを手軽に作る方法を調べていまして, Mermaid 記法にたどり着きました。

https://mermaid.js.org/

普段 Obsidian など Markdownベースでメモを書いたりブログの記事を下書きしている自分にとって,テキストベースの情報のみでフローチャートを作成できるというのはなかなか革新的でした。

記法もシンプルで,1時間ほどいじっていたらそれなりに理解できますし,複雑なフローも作成できてしまいます。ちょっとした診療ガイドの下書きとか,引き継ぎ情報を作る時だとか,使える場面は色々あるなあと。テキストだけよりもフローチャート付きで示した方が情報伝達は非常に効率的になりますからね。

Powerpointなどで綺麗な図を毎回作ってもいいのですが,時間かかりすぎますからね…手軽にフローチャートが作れるのは嬉しいです。

医師のキャリアフローチャート

そんなこんなで勉強がてら「医師のキャリア」フローを作成してみました。

以下のような図がサクっとできてしまいます(▼)。

医師キャリアその1(縦方向)


医師のキャリア縦向き


こちらは stateDiagram という記法です.見た目は結構好きなのですが,矢印の装飾が1パターンしかなく点線などは使えません.また入れ子を複雑にしたり改行(\n)を入れるとデザインが乱れます(2023春時点).
─ ads ─

医師キャリアその2(横方向)

医師のキャリア横向き

こちらは flowchart です.Mermaidの一番代表的なプログラムですね.かなり複雑な入れ子構造や改行もデザイン崩壊させず可能です.

これらの画像は .pngで出力したものですが,実際にはテキストベースになっています。Mermaid 記法に対応したテキストツール上でテキストを編集すれば,リアルタイムにフローチャートが編集できます。

Obsidian や Visual Studio code などマークダウンに対応したアプリに対応プラグインを入れればプレビューできるようになりますし,Notionも対応しています。

ChatGPTでも適当なプロンプトを入れて「Mermaid 記法で出力して」といえばコードを吐いてくれます。これ精度が高くなったらめちゃくちゃ便利だと思うのですが,残念ながら日本語を含む指示だと自分がテストした2023年4月時点では極めて単純なものしかできませんでした。進化を待ちたいと思います…🧘

ソースコード

特に需要もないと思いますが,上記画像のコードを晒します。途中で追記した部分もあり少し汚くなっていますが…😅

以下のサイトで実際にコードを打ち込むと,フローチャートが確認できますので,是非!

https://mermaid.live/edit

医師キャリア1(縦向き)の Mermaid 記法コード

stateDiagram-v2

初期研修終了-->行政・公的機関
初期研修終了-->王道:とりあえずJISマーク
初期研修終了-->足の裏の米粒:基礎研究ガチ勢
初期研修終了-->フリー道:QOL極振り
初期研修終了-->ハイブリ道:異端児・風雲児
初期研修終了-->地域道

王道-->ハイブリ道
王道-->地域道
王道-->行政・公的機関
王道-->フリー道:仕事選びやすい
王道-->足の裏の米粒
王道-->指導医道
足の裏の米粒-->指導医道
足の裏の米粒-->アカデミア:心臓を捧げろ
フリー道-->地域道
地域道-->フリー道
ポスドク-->指導医道
ポスドク-->フリー道

state 王道
{
    direction TB
    専攻医-->専門医:3-6年で試験
}

state 指導医道
{
    direction TB
    指導医-->科部長
}

state 足の裏の米粒
{
    direction TB
    限界大学院生-->Ph.D.
}

state 行政・公的機関
{
    direction LR
    医系技官-->医務技監
    保健所
}


state ハイブリ道
{
    direction LR
    海外臨床
    企業
}

state アカデミア
{
    ポスドク-->助教:ポスト得られたら
    助教-->講師
    講師-->准教授
    准教授-->教授
}

state フリー道
{
    direction LR
    バイト-->非常勤
    非常勤-->バイト
}

state 地域道
{
    direction LR
    開業医
    僻地離島
}

医師キャリア2(横向き)の Mermaid 記法コード

flowchart LR

A{"初期研修終了\n〈26歳~〉"}
B(専攻医)
C{専門医試験}
D("専門医\n〈アラサー〉")
E("指導医\n〈アラフォー〉")
G["科部長 @市中病院"]
I(博士 Ph.D.)
J("ポスドク/客員研究員\n(限界医局員)")
K(助教)
L(講師)
M(准教授)
N(教授)
O("無給医\n(限界)大学院生")

    subgraph id1 ["王道 〜JISマーク取得道〜"]
    direction LR
    B== "3~6年" ==> C
    C==>D
        subgraph id3 [指導医道]
        direction LR
        E-.-G
        end
    end

    subgraph id2 [地域道]
    direction LR
    開業医
    僻地\n離島
    end

    subgraph id4 [フリー道]
    direction LR
    非常勤-.-バイト医
    end

    subgraph id5 ["アカデミア ~心臓を捧げろ~"]
    I-->J
    J-->|熾烈なポジション争い|id7
        subgraph id6 [足の裏の米粒]
        O-->I
        end
        subgraph id7 [深海]
        direction LR
         K-->L-->M-->N
        end
    end

    subgraph id8 ["行政・公的機関"]
    direction LR
    医系技官-.->|登り詰めた先|医務技監
    保健所
    end

    subgraph id9 [なんかスゴい道]
    Y[企業]
    Z[海外臨床]
    end

A==>B
A-.->id2
A-.-|QOL極振り|id4
A-.->|"ガチデミア基礎研究ルート"|id6
A-.->id8
A-.->|"異端児・風雲児"|id9
D-->id6
D-->E
I-->E
id1-.->id2
id1-.-id9
id1-.-id4
id2-.-id4
id4-.-id5
id5-.->id2
id5-.-id8
id5-.-id9

文法はこちら

皆さんもフローチャート描きたいときにオススメです。

細かい flowchart 記法は以下で確認することができます。

余談

色々と立て込んでいるうちに新年度ももう1ヶ月…やりたいことは数多くあるのですが,ままならぬものです。お待ちいただいている方々には大変申し訳ない気持ちでいっぱいですが,医療統計 Youtube の方も含め,色々ぼちぼち作り進めていきたいです🙇

[おすすめ本紹介]

Users’ Guides to the Medical Literature


タイトル通り「医学論文を現場でどう応用するか?」迷える臨床家のためのユーザーズガイド。Tips 集のような構成で,どこからでもつまみ読みできます(通読向きではない)。医学論文の批判的吟味を学ぶにあたり 1 冊だけ選ぶならコレ,という極めて網羅性の高い一冊です。著者 Gordon Guyatt 氏は “EBM” という言葉を作った張本人。分厚い本ですが,気軽に持ち歩ける Kindle 版はオススメです。邦訳版もあります。

医学文献ユーザーズガイド 第3版


表紙が全然違いますが「Users’ Guides to the Medical Literature (JAMA)」の邦訳版。医学文献を批判的吟味するためのTips集としてかなりの網羅性を誇る代表的な一冊です。唯一の欠点は Kindle版がないこと(英語版はある)と,和訳が気になる部分が結構あること。2つでした。原著とセットで手に入れると最強の気分を味わえます。鈍器としても使えます

─ ads ─
>医療統計の解説チャンネル

医療統計の解説チャンネル

スキマ時間で「まるきりゼロから」医療統計の基本事項を解説していく Youtube チャンネルを 2 人で共同運営しています。

CTR IMG