データ作成マニュアル
1.はじめに
1.1 本マニュアルの目的
施策立案支援技術「Policy Twin」のデモで利用するデータをご紹介します。
2.ユースケース
2.1 ユースケース: 重複服薬
2.1.1 概要
シミュレーションの入出力は、ユースケースごとに定義されます。 PolicyTwinでは、以下に説明する入力ファイルを用意する必要があります。
-
学習データ(csv)
-
テストデータ(csv)
-
設定ファイル(json)
-
フロー(BPMN)
-
目標指標表示設定(json)
また重複服薬を題材に、PolicyTwinのシミュレーションを実行する場合のサンプルデータを配布しています。
サンプルデータ(ZIP形式で一括ダウンロード)
2.1.2 学習データ(csv)
シミュレーションで機械学習によって目標指標の算出を行う場合もあり、その場合は施策に関連する学習データを登録します。内容としては主に目標指標の推定に用いるヒト・モノの属性データです。
※重複服薬のシミュレーションでは学習を行わないため、下記のようにpidのカラムのみを記載します。学習を行う場合のデータの作成方法や使用法については、別のユースケースを公開する際に詳細をご説明します。
pid
2.1.3 テストデータ(csv)
シミュレーション実行時に、PolicyTwinで目標指標の算出に使用するデータで、主にヒト・モノの属性データです。例えば重複服薬の事例だと、複数の人々の薬の処方データなどが該当します。ユーザーを識別するID(pid)と、後述のフローの条件式で使用している属性データを含めておく必要があります。
下記の例では、複数の人々の薬の処方データに基づき、フローの条件式で使われている属性(ある個人の服薬の種類数、受診した医療機関数、受診した回数、ガンなどの疾病を持つか、等の個人単位の情報)を記載しています。
pid,種類数_服薬_全期間_1,種類数_服薬_全期間_2,種類数_服薬_全期間_3,種類数_服薬_一定期間_1,種類数_服薬_一定期間_2,種類数_服薬_一定期間_3,医療機関数_重複服薬_1,医療機関数_重複服薬_2,医療機関数_重複服薬_3,受診回数_同一傷病_1,受診回数_同一傷病_2,受診回数_同一傷病_3,医療機関数_同一処方_1,医療機関数_同一処方_2,医療機関数_同一処方_3,合計日数_同一処方_1,合計日数_同一処方_2,合計日数_同一処方_3,状態_ガン,状態_人工透析,状態_認知症,状態_シャント,状態_難病,状態_精神病,状態_過去勧奨通知,FLAG_同意,FLAG_区内医療機関
1,10,0,6,3,8,0,4,4,2,20,9,23,0,0,0,21,25,25,0,0,1,0,0,0,0,0,1
2,4,13,19,5,0,4,0,1,2,22,26,9,3,0,1,50,47,54,0,0,0,0,0,0,0,0,1
3,16,0,17,8,7,4,2,4,2,21,28,16,3,0,2,52,17,47,0,1,0,0,1,1,0,0,1
...
2.1.4 設定ファイル(json)
シミュレーションの際に用いられる設定ファイルです。シミュレーションで扱う問題の種類に応じた評価エンジン名などを指定する必要があります。
下記の例では、重複服薬の問題に対応する評価エンジン名("Repeated Medication")などを指定しています。
{
"engine": "Repeated Medication",
"config": {
"treatmentNotation": {
"visit": ["訪問指導A", "訪問指導" ,"HOME-VISIT-GUIDANCE"],
"visit-resource": 25,
"notice": ["勧奨通知A", "通知", "NOTIFICATION"],
"notice-resource": 300
},
"costCoefficient": {
"visit": 15822,
"notice": -236
},
"improvementCoefficient": {
"visit": 0.8
}
}
}
2.1.5 フロー(bpmn)
シミュレーションの実行対象となる施策をBPMN(Business Process Model and Notation)形式のフローとして作成します。シミュレーションではフローの上を、複数の人(前述のテストデータに該当)が条件分岐に沿って仮想的に流れていきます。
下記の例では、重複服薬のPolicy(仮想的な自治体における重複服薬のフロー)を記載しています。
2.1.6 目標指標表示設定(json)
シミュレーションの実行結果を画面表示する際に用いられる設定ファイルです。
下記の例では、重複服薬の評価エンジンで算出された結果である3つの目標指標の数値に対し、それぞれ日本語・英語での表示名を指定しています。
{
"widgetFactorComparisonRadar": {
"chart": {
"totalCost": {
"ja": "医療費節減効果(円)",
"en": "Medical cost savings"
},
"citizenRisk": {
"ja": "通知勧奨数(人)",
"en": "Number of Notifications"
},
"hospitalDays": {
"ja": "保健指導数(人)",
"en": "Number of Health Guidance"
},
"effect": {
"ja": "健康改善効果(人)",
"en": "Health Improvement Effects"
},
"userResponses": {
"ja": "リソース:通知勧奨",
"en": "Resources : Notifications"
},
"resources": {
"ja": "リソース:保健指導",
"en": "Resources : Health Guidance"
}
}
},
"widgetPolicyEffect": {
"totalCost": {
"ja": "医療費節減効果(円)",
"en": "Medical cost savings"
},
"citizenRisk": {
"ja": "通知勧奨数(人)",
"en": "Number of Notifications"
},
"hospitalDays": {
"ja": "保健指導数(人)",
"en": "Number of Health Guidance"
},
"effect": {
"ja": "健康改善効果(人)",
"en": "Health Improvement Effects"
},
"userResponses": {
"ja": "リソース:通知勧奨数",
"en": "Resources : Notifications"
},
"resources": {
"ja": "リソース:保健指導数",
"en": "Resources : Health Guidance"
}
},
"dialogFilterCandidates": {
"totalCost": {
"ja": "医療費節減効果(円)",
"en": "Medical cost savings"
},
"citizenRisk": {
"ja": "通知勧奨数(人)",
"en": "Number of Notifications"
},
"hospitalDays": {
"ja": "保健指導数(人)",
"en": "Number of Health Guidance"
},
"effect": {
"ja": "健康改善効果(人)",
"en": "Health Improvement Effects"
},
"userResponses": {
"ja": "リソース:通知勧奨数",
"en": "Resources : Notifications"
},
"resources": {
"ja": "リソース:保健指導数",
"en": "Resources : Health Guidance"
}
},
"dialogTargetCandidates": {
"totalCost": {
"ja": "医療費節減効果(円)",
"en": "Medical cost savings"
},
"citizenRisk": {
"ja": "通知勧奨数(人)",
"en": "Number of Notifications"
},
"hospitalDays": {
"ja": "保健指導数(人)",
"en": "Number of Health Guidance"
},
"effect": {
"ja": "健康改善効果(人)",
"en": "Health Improvement Effects"
},
"userResponses": {
"ja": "リソース:通知勧奨数",
"en": "Resources : Notifications"
},
"resources": {
"ja": "リソース:保健指導数",
"en": "Resources : Health Guidance"
}
},
"chartAxises": {
"totalCost": {
"ja": "医療費節減効果(円)",
"en": "Medical cost savings"
},
"citizenRisk": {
"ja": "通知勧奨数(人)",
"en": "Number of Notifications"
},
"hospitalDays": {
"ja": "保健指導数(人)",
"en": "Number of Health Guidance"
},
"effect": {
"ja": "健康改善効果(人)",
"en": "Health Improvement Effects"
},
"userResponses": {
"ja": "リソース:通知勧奨数",
"en": "Resources : Notifications"
},
"resources": {
"ja": "リソース:保健指導数",
"en": "Resources : Health Guidance"
}
},
"widgetKPI": {
"totalCost": {
"ja": "医療費節減効果(円)",
"en": "Medical cost savings"
},
"citizenRisk": {
"ja": "通知勧奨数(人)",
"en": "Number of Notifications"
},
"hospitalDays": {
"ja": "保健指導数(人)",
"en": "Number of Health Guidance"
},
"effect": {
"ja": "健康改善効果(人)",
"en": "Health Improvement Effects"
},
"userResponses": {
"ja": "リソース:通知勧奨数",
"en": "Resources : Notifications"
},
"resources": {
"ja": "リソース:保健指導数",
"en": "Resources : Health Guidance"
}
}
}
2.1.7 各目標指標の説明
重複服薬では以下の5つの目標指標で施策の効果を評価します。
- 医療費節減効果:医療費を節減できる金額(円)
- 通知勧奨数:はがき・薬局などで通知が必要となった対象者の人数(人)
- 保健指導数:通知をした対象者の中で、訪問指導の参加に同意する対象者の人数(人)
- 健康改善効果:保健指導に参加した対象者の中で、改善が見込まれる人数(人)
- リソース:予め定まっている保健指導可能なリソース上限値と上記保健指導数との関係値