組み合わせの決め方と、分析側が整えるデータ(設計メモ)
令和8年度 千葉県地域医療提供体制データ分析チーム構築支援事業 / 可視化ツールの操作設計・データ整備仕様
「組み合わせを先に決めるのか、指標を先に決めるのか」「できない組み合わせをどう判別するのか」を整理し、あわせて
分析側(千葉大)がデータとして整えるべき内容を仕様として示します。要点は、可否を決めるのは“データの型”であり、それをメタデータとして分析側が付与するという一点です。
1結論:指標(データ項目)ファーストを基本にする
指標を先に選び、その指標が持つ「型」と「軸」から、使える見せ方を自動的に決める。
- 職員は「何を見たいか(=指標・データ項目)」で考えるため、指標ファーストが直感的。
- 選んだ指標の型(単一値・内訳・フロー等)と軸(地域・がん種・年齢・年度)から、可能な見せ方だけを提示(不可能なものは自動でグレーアウト)。
- 2指標の掛け合わせは、「比較する指標を追加」という操作にし、型が一致する指標どうしのときだけ選べるようにする。→ 職員が“できない組み合わせ”に触れない。
- 迷いを減らすため、よく使う組み合わせを「テンプレート」として数個用意(初心者導線)。中身は同じ仕組みで動く。
1指標を選ぶ例:手術実施率(見たいこと)
→
2型・軸を読む単一値/地域・がん種・年齢で集計可
→
3使える見せ方が出る色分け地図・棒・ランキング・ヒートマップ
→
4必要なら指標を追加同じ型の指標で二変量・散布図
現行プロトタイプは「データの種類(=型)を先に選ぶ」形(組み合わせファースト)です。仕組みは同じですが、職員にとっては指標ファーストの方が入口として自然なため、指標選択から型を自動判定する形へ寄せることを推奨します。
2指標ファースト と 組み合わせファースト の比較
A. 指標ファースト(推奨)
指標を選ぶ → 型・軸から見せ方が自動で決まる。
長所
- 「何を見たいか」で操作でき直感的。
- 不可能な組み合わせを提示しないので迷わない。
- 指標を足す=比較、と操作が自然に拡張。
留意
- 内訳(構成比)・フローは「1つの指標」ではないため、これらも“データ項目”として一覧に並べる工夫が要る。
B. 組み合わせ(型)ファースト
データの種類(単一値・2指標・構成比・フロー)を先に選ぶ。
長所
- 実装が単純(型ごとに見せ方が固定)。
- 構成比・フローを最初から明示できる。
留意
- 「型」という抽象概念を先に理解させる必要があり、一般職員にはやや難しい。
実装上はどちらも同じ「型・軸メタデータ」で動きます。違いは“入口”だけ。推奨は A(指標ファースト)+ 少数のテンプレート。
3「できる/できない組み合わせ」の判定ロジック
可否は、選んだデータ項目の「型」と「軸」が、各見せ方の「要求する形」を満たすかで決まります。ツールはこれを機械的に照合し、満たさない見せ方を自動で選べなくします。
判定ルール(擬似コード):
見せ方が使える = (項目.型 が 見せ方.受入れる型 に含まれる) かつ (見せ方.必要な軸 が 項目.軸 に揃っている)
2指標の見せ方(二変量・散布図):もう一方の指標が「同じ型(単一値)・同じ地域軸」を持つ ときだけ選択可。
見せ方 × 必要なデータの形(対応表)
| 見せ方 | 必要なデータの型 | 必要な軸 | 指標の数 | 例 |
| 色分け地図(コロプレス) | 単一値 | 地域 | 1 | 手術実施率を医療圏別に |
| 棒グラフ地図 | 単一値 | 地域 | 1 | 患者数を医療圏の棒で |
| ランキング | 単一値 | 地域 | 1 | 救急搬送件数の多い順 |
| ヒートマップ | 単一値 | 地域+カテゴリ軸(例:がん種) | 1 | 医療圏×がん種の手術実施率 |
| 二変量地図 | 単一値 ×2 | 同じ地域軸 | 2 | 手術実施率×無治療率 |
| 散布図 | 単一値 ×2 | 同じ地域軸 | 2 | 手術実施率×自給率 |
| 構成比/構成比地図 | 内訳(合計100%) | 地域 | 1組 | 治療選択(手術・放射線・薬物・無治療) |
| 受療動向フロー | フロー(住所地→受診先) | 地域(2地点) | 1組 | 患者の流出入 |
| プロポーショナルシンボル地図(施設点) | 施設点 | 施設の緯度経度 | 1 | 病院を実位置に、円=病床数/患者数 |
| 表(Excel/VBA相当) | どの型でも可 | — | — | 常に出力可能(フォールバック) |
例:「平均在院日数」を選ぶと単一値なので 色分け地図・棒・ランキング・ヒートマップが有効。二変量は「もう1つ単一値の指標」を足したときだけ有効。フロー・構成比は型が違うので選べない(グレーアウト)。この判定は職員に見える形(灰色)で表現します。
4データ項目の「型」(4種類)
| 型 | 意味 | データの形(列の例) | 使える見せ方 |
単一値 (メジャー) | 地域ごとの1つの数値 | 地域, 軸…, 値 | 色分け地図/棒/ランキング/ヒートマップ/(2つで二変量・散布図) |
内訳 (構成比) | 合計100%になる内訳 | 地域, 軸…, 区分, 値 (例:手術/放射線/薬物/無治療) | 構成比/構成比地図 |
フロー (OD) | 2地点間の量 | 住所地, 受診先, 軸…, 値 | 受療動向フロー(地図)/OD表 |
| クロス集計 | 地域×カテゴリの値 | 地域, カテゴリ, 値 | ヒートマップ/表 |
施設点 (ポイント) | 施設単位の位置と値 | 施設ID, 緯度, 経度, 医療圏, 値… | プロポーショナルシンボル地図/ピン/施設ランキング |
この「型」を分析側がデータに付けておけば、ツールは中身を解釈せずとも、機械的に見せ方の可否を判定できます。
5分析側が整えるべきデータ(整備仕様)
ツールに渡すのは「①データ項目カタログ(メタデータ)」+「②集計値の実データ」+「③軸マスタ」の3点セットです。個票は渡しません(集計・秘匿は分析側で完了)。
① データ項目カタログ(メタデータ)
「どんな指標があり、どの型・軸で、どう説明するか」の一覧。この「説明」列がツールの用語ヘルプにそのまま使われます。
| 項目ID | 表示名 | 説明(ヘルプ表示) | 単位 | 型 | 使える軸 | 秘匿 | 出所/分析項目 |
| M_SURG_RATE | 手術実施率 | 対象患者のうち手術を受けた人の割合 | % | 単一値 | 地域(医療圏/市町村)・がん種・年齢・年度 | あり | 国提供(受療動向)/#9 |
| M_NOTX_RATE | 無治療/BSC率 | 積極的治療を行わなかった人の割合 | % | 単一値 | 地域・がん種・年齢・年度 | あり | 国提供/#9 |
| M_PTS | 患者数 | 診断・治療された患者のおおよその数 | 人 | 単一値 | 地域・がん種・年齢・年度 | あり | DPC/#12 |
| C_TREAT_MIX | 治療選択の構成 | 手術・放射線・薬物・無治療の割合 | % | 内訳 | 地域・がん種・年齢・年度 | あり | 国提供/#9 |
| F_FLOW | 受療動向 | 患者住所地から受診医療圏への流れ | 人 | フロー | 地域(2地点)・がん種・年度 | あり | 国提供・DPC/#10 |
| M_EQUIP | 高額医療機器数 | 手術支援ロボット・放射線治療装置等の台数 | 台 | 単一値 | 地域・年度 | なし | 現況報告書/#8 |
② 集計値の実データ(ロング形式が扱いやすい)
「1行=1つの集計値」の縦持ち。項目IDと軸のコードで値を持ちます(型ごとに形が少し異なります)。
| medical_area | year | cancer | age | item_id | value | suppressed |
| 1201(千葉) | 2024 | all | 75plus | M_SURG_RATE | 59 | 0 |
| 1205(香取海匝) | 2024 | all | 75plus | M_SURG_RATE | 45 | 0 |
| 1209(安房) | 2024 | lung | 85plus | M_SURG_RATE | — | 1 |
内訳(構成比)は 区分(category) 列を追加(手術/放射線/薬物/無治療)。フローは medical_area を origin, dest の2列にします。いずれも同じ「縦持ち+項目ID」の考え方で統一できます。
③ 軸マスタ(コードと表示名の対応)
医療圏マスタ(例)
1201 千葉(千葉市)
1202 東葛南部(市川・船橋 ほか)
1203 東葛北部(松戸・柏 ほか)
1204 印旛(成田・佐倉 ほか)
1205 香取海匝(銚子・旭 ほか)
1206 山武長生夷隅(東金・茂原 ほか)
1207 市原(市原市)
1208 君津(木更津・君津 ほか)
1209 安房(館山・鴨川 ほか)
その他の軸(例)
がん種:all / lung / stomach / colon / breast / other
年齢層:all / 75plus / 85plus
年度:2022 / 2023 / 2024
地域粒度:医療圏(9)/ 市町村(コードは国の行政区域コードに準拠)
※医療圏コードは連携キー。市町村は国土数値情報と同じコードで地図と結合。
④ 秘匿処理・欠測の扱い(分析側で事前に)
- 少人数のセル(例:一定件数未満)は分析側で値をマスクし、
suppressed=1・値は空に。ツールは灰色で「表示なし」を出すだけ(個人特定につながる表示はしない)。
- 該当データが無い組み合わせは、ツール側で「データがありません」を明示。
⑤ 更新運用
- 年度追加・データ更新は、実データ(②)の該当行を差し替え/追記するだけ。カタログ(①)に新項目を1行足せば、ツールの選択肢に自動で加わる設計にできます。
- 見せ方や画面の作り込みは、データ側の変更と切り離せる(=分析側はデータ整備に集中できる)。
6サンプルデータ → 地図・グラフ表現(実例)
ここでは、分析側が整える ②集計値の実データ(前セクション) が、ツール上で 実際にどの地図・グラフになるか を、
実在の千葉県の地理(国土数値情報の市区町村境界)を用いて示します。ツールはCSVの値を色や矢印に機械的に割り当てるだけで、数値の意味(良い・悪い)は解釈しません。
1分析側がCSVを整える型に沿った列(コード・軸・値)で用意
2コードで地図に結合medical_area=医療圏コードで境界データと突合
3値を色/矢印へ割当ツールが描画(意味は判断しない)
4県職員が分布を読む解釈・政策判断は人が行う
例A:単一値(メジャー)→ 色分け地図(コロプレス)
依頼する型:単一値 / 列:medical_area, year, item_id, value, suppressed
▼ 分析班へ依頼するCSV(例:手術実施率 M_SURG_RATE を医療圏別に。1行=1つの集計値)
| medical_area | (名称) | year | item_id | value | suppressed |
| 1201 | (千葉) | 2024 | M_SURG_RATE | 59 | 0 |
| 1202 | (東葛南部) | 2024 | M_SURG_RATE | 62 | 0 |
| 1203 | (東葛北部) | 2024 | M_SURG_RATE | 57 | 0 |
| 1204 | (印旛) | 2024 | M_SURG_RATE | 49 | 0 |
| 1205 | (香取海匝) | 2024 | M_SURG_RATE | 45 | 0 |
| 1206 | (山武長生夷隅) | 2024 | M_SURG_RATE | 41 | 0 |
| 1207 | (市原) | 2024 | M_SURG_RATE | 54 | 0 |
| 1208 | (君津) | 2024 | M_SURG_RATE | 47 | 0 |
| 1209 | (安房) | 2024 | M_SURG_RATE | 43 | 0 |
地図になる仕組み:CSVの medical_area(例 1201)を、国土数値情報の市区町村境界に付与した 医療圏コードで結合します。ツールは value を 5段階に区分して色に対応づけて塗るだけで、値の高低の意味は判断しません。(名称は③軸マスタで対応。CSV本体はコードのみで可)
- →1202 東葛南部=62 は最上位クラスとして最も濃い青で表示。
- →1206 山武長生夷隅=41 は最下位クラスとして最も薄い青。
- →suppressed=1 の行(少人数セル)は値を空にして渡し、地図では灰色「表示なし」。
― ツール上の表示イメージ(千葉県・二次医療圏/実地理)―
手術実施率(%)
40
65
表示なし(秘匿)
例B:内訳(構成比)→ 構成比地図(各医療圏に帯を重ねる)
依頼する型:内訳 / 単一値との違い=category 列を追加し、各地域で合計100
― 構成比地図の表示イメージ(治療選択の内訳)―
手術
放射線
薬物
無治療
▼ 依頼するCSV(区分ごとに1行。合計が100になる内訳)
| medical_area | (名称) | item_id | category | value |
| 1201 | (千葉) | C_TREAT_MIX | surgery(手術) | 58 |
| 1201 | (千葉) | C_TREAT_MIX | radiation(放射線) | 14 |
| 1201 | (千葉) | C_TREAT_MIX | drug(薬物) | 20 |
| 1201 | (千葉) | C_TREAT_MIX | none(無治療) | 8 |
| 1204 | (印旛) | C_TREAT_MIX | surgery(手術) | 49 |
| …(印旛・安房も同様に4区分=4行ずつ。各医療圏で合計100) |
単一値からの差分はこれだけ:category(手術/放射線/薬物/無治療)の列が増え、地域ごとに複数行になります。ツールはこの内訳を各医療圏の 帯グラフ(または円)として地図上に重ね、構成の地域差を見せます。単一値の色分けと同じ結合キー(医療圏コード)で描けます。
例C:フロー(OD)→ 受療動向フロー(住所地→受診先を矢印で)
依頼する型:フロー / 地域列を origin・dest の2列にする(2地点間の量)
▼ 依頼するCSV(住所地→受診先の患者数。1行=1つの流れ)
| origin | (住所地) | dest | (受診先) | item_id | value |
| 1209 | (安房) | 1201 | (千葉) | F_FLOW | 210 |
| 1208 | (君津) | 1201 | (千葉) | F_FLOW | 160 |
| 1206 | (山武長生夷隅) | 1201 | (千葉) | F_FLOW | 190 |
| 1204 | (印旛) | 1203 | (東葛北部) | F_FLOW | 140 |
フローの見せ方:ツールは origin と dest の医療圏コードを両端の重心に結び、矢印の太さ=value(人数)で描きます。どの地域から患者が集まる/流出するかの分布が一目で分かります(判断は人が行う)。
- →安房→千葉=210 が最も太い矢印。周辺から千葉への集約の分布が見える。
3例に共通するのは、「地域コード+軸+値」というCSVの形さえ整えば、ツール側の追加開発なしに地図へ描き分けられるという点です。分析側は型(単一値/内訳/フロー)に沿って列を用意することに集中すればよく、地図の作り込みはツールが担います。
7施設単位(ポイント)データ ― 実データ軸の例
「二次医療圏で集計」は表示粒度の選択で、データの限界ではありません。入院系の多くは個別の病院単位で公開されており(病床機能報告 個票・DPC退院患者調査)、施設の位置(緯度経度)も国土数値情報で取得できます。ここでは実在の千葉県主要病院を実位置に点で表示し、地図に重ねる参照データ2種のカラム構成を、スイッチで切り替えて確認できます。
円の大きさ=許可病床数(病床機能報告)
開設者:
大学病院系
自治体(県・市)
公的(日赤・独法等)
医療法人
円の大きさ=値の大小(面積比)。位置は実在の緯度経度(同一投影で市町村境界に整合)。
下のスイッチで、地図に重ねている2つの参照データの「カラム構成(データ辞書)と実サンプル行」を切り替えて確認できます(現在表示中のデータが地図の円の大きさに反映されます)。
出所:病床機能報告 個票(千葉県オープンデータ・圏域別に病院/有床診療所の個票を公開)。位置は国土数値情報 医療機関(P04)の緯度経度で付与。値は公開値ベースの機能イメージ(機能別内訳は例示)。
カラム構成(データ辞書)
| カラム | 型/単位 | 説明 |
| iryo_code | コード | 医療機関コード(識別子) |
| name | 文字 | 医療機関名 |
| address | 文字 | 所在地(市区町村・住所) |
| medical_area | コード | 二次医療圏(結合キー) |
| opener | 区分 | 開設者(国立大学法人/県/市/日赤/医療法人 等) |
| beds_total | 床 | 許可病床数(合計) |
| func_kodo | 床 | 高度急性期 病床数 |
| func_kyusei | 床 | 急性期 病床数 |
| func_kaifuku | 床 | 回復期 病床数 |
| func_mansei | 床 | 慢性期 病床数 |
| lat, lon | 度 | 緯度・経度(P04で付与=地図の点) |
実サンプル行(抜粋)
| 医療機関名 | 医療圏 | 開設者 | 許可病床 | 高度急性 | 急性 | 回復 | 慢性 |
| 総合病院国保旭中央病院 | 香取海匝 | 地方独法 | 989 | 60 | 720 | 90 | 119 |
| 千葉大学医学部附属病院 | 千葉 | 国立大学 | 850 | 320 | 530 | 0 | 0 |
| 亀田総合病院 | 安房 | 医療法人 | 865 | 100 | 600 | 90 | 75 |
| 松戸市立総合医療センター | 東葛北部 | 市 | 600 | 80 | 520 | 0 | 0 |
出所:DPC導入の影響評価に係る調査「退院患者調査」(施設別に公表=病院情報の公表)。10件未満は「-」でマスク(秘匿)。施設IDでP04の位置に接続。値は機能イメージ。
カラム構成(データ辞書)
| カラム | 型/単位 | 説明 |
| kokuji_no | コード | 告示番号・通番(施設ID) |
| name | 文字 | 施設名 |
| dpc_total | 人/年 | 年間退院患者数(DPC対象) |
| age_dist | 人 | 年齢階級別 退院患者数(10歳刻み) |
| mdc_dist | 人 | 診断群分類(MDC)別 患者数 |
| alos_self | 日 | 平均在院日数(自院) |
| alos_nation | 日 | 平均在院日数(全国) |
| surg_major | 件 | 診療科別 主要手術件数 |
| suppressed | フラグ | 10件未満は「-」(秘匿) |
実サンプル行(抜粋)
| 施設名 | 年間退院患者 | 消化器(MDC06)例 | 平均在院日数(自院) | 主要手術(例) |
| 総合病院国保旭中央病院 | 22,300 | 2,850 | 11.8 | 4,120 |
| 千葉大学医学部附属病院 | 20,100 | 2,400 | 12.9 | 5,600 |
| 亀田総合病院 | 19,400 | 2,510 | 10.6 | 4,780 |
| さんむ医療センター | 3,450 | 210 | 13.2 | - |
対応の要点:分析側は「施設マスタ(施設ID・緯度経度・種別・医療圏コード)+施設別の集計値(病床数/患者数/手術件数…+秘匿フラグ)」を用意。位置は国土数値情報P04(住所のみの場合はジオコーディング)。入院は病院+有床診療所が中心(無床診療所は外来・在宅系)。施設×疾患×年齢と細分するほど「10件未満」の秘匿が増えるため、施設粒度は件数の大きい指標(病床数・機能別病床・救急/手術総数・退院患者数)で有効。受療動向は「住所地=圏域 → 受診先=施設点」が現実的です。
8まとめ(役割分担)
| 主体 | やること |
| 分析側(千葉大) | 個票を集計・秘匿し、①カタログ(型・軸・説明)+②集計値+③軸マスタを整える。指標を増やすときはカタログに1行足す。 |
| ツール | カタログを読み、選んだ指標の型・軸から使える見せ方を機械的に提示。値を地図・グラフ・表で描画し、出力する。中身の良否は判断しない。 |
| 県 各課・会議 | 指標を選んで分布を把握し、解釈・政策判断を行う(所見メモ等に記入)。 |
この設計だと「できる組み合わせ/できない組み合わせ」はデータ(カタログ)が決めるため、画面の作り込みと分析データの整備を分離できます。分析側は“型・軸・説明・値”を整えることに集中すればよく、職員は不可能な操作に触れずに済みます。