国民医療費の概況

国民医療費の概況

Node.js v18.12.1 / Chart.js 3.9.1

国民医療費の概況 2022年度(令和4年)

棒グラフの横軸は 5歳刻みの年齢階級とし、縦軸のはそれぞれの医療費を示す。医療費は「医科療医療費」「歯科診療医療費」「薬局調剤医療費」「その他」の積み上げグラフとして内訳を示す。また、医療費は、各年齢層の総額と一人当たりの医療費を切り替えて表示できる。折れ線グラフは、各年齢層の総人口を示したものである。
[image1.png]

国民医療費の概況 2020年度(令和2年)

必要なデータは

厚生労働省のサイトからダウンロードする

厚生労働省の当該ページ「 国民医療費の概況」に飛ぶ
2020年度(令和2年)
https://www.mhlwgojp/toukei/saikin/hw/k-iryohi/20/index.html
2022年度(令和4年)
https://wwwmhlwgojp/toukei/saikin/hw/k-iryohi/22/index.html

Excelファイルをダウンロードする

「統計表1~7・参考1~2をxlsx形式でダウンロードできます」というリンクを探してクリックすると、統計表 toukei.xlsx がダウンローされる。
このファイルには複数のシートが格納されているが、ここで使用するのは、「第5表(総数)」と「参考2」である。前者は 5歳刻みの年齢階級ごとの医療費の総額および一人当たりの医療費が、後者は 同じく 5歳刻みの年齢階級ごとの人口が記録されている。
[シート] 第5表(総数)
[image2.png]
同じシートに年齢階級別の一人当たりの医療費も記載されている
[image3.png]
[シート] 参考2
[image4.png]

Excelシートからグラフの作成に必要なを抜き出し、3本の csvファイルを作成する

1. 年齢階級別の医療費(総額)
年齢階級ごとに、医療費の総額、内訳として、(1)医科診療医療費、(2)歯科診療医療費、(3)薬局調剤医療費、(4)その他医療費を作成する。単位は億円。
元データには上記(1)〜(3)の項目しかない。それらの合計は総額より少ないので、その差額を「その他」として計上した。
2. 年齢階級別の一人当たりの医療費
年齢階級ごとに一人当たりの医療費を上記と同じ内訳で表す。データは「第5表(総数)」にすでにあるので、切り貼りするだけでよい。(人口で割るような操作は要らない)
3. 年齢階級別の人口
人口をグラフに表示するためにシート「参考2」からデータを抜き出す。
(注意)全てのシートで、金額のカンマ区切りが半角スペースになっていて戸惑うが、Excelのセルの書式設定で「標準」にすれば普通に数値に戻すことができる。(一部不可)

グラフの入力となる JSONファイルを作成する

Node.jsのバッチ処理により、グラフ(Chart.js)の入力となる JSON形式のテキストファイルを作成する。ファイルには Chart.jsのプロパティに直接代入できる形で 5個のオブジェクトを作成する。
(1) 年齢階級別の医療費(総額)のリスト
2次元の配列を要素に持つオブジェクトを作成する。年齢階級ごとに、科目(医科診療、歯科診療、薬局調剤、その他)別の医療費を要素とした配列を持つ。単位は億円。
(2) 年齢階級別の1人当たりの医療費のリスト
1人当たりの医療費のオブジェクトを (1)と同じ構造で作成する。単位は万円。
(3) 科目のリスト
グラフの凡例に表示する。
(4) 年齢階級見出しのリスト
グラフの横軸の見出しとして表示する。
(5) 人口リスト
年齢階級別の人口総数のリスト。単位万人。折れ線グラフとして表示する。
JavaScriptコード:makeData.js
2022年度の全データ:data_source_2022.txt

グラフを表示する

HTML & JavaScript
年齢階級別 国民医療費:graph.html
年齢階級別 国民医療費(円グラフ):graph2.html