エクセルマクロ作成の手引

エクセルマクロは、ご自身で作成していただけます。

弊社にて提供しておりますエクセルファイルの中身を見ていただけますと、比較的簡単に改造してお使いいただけると思います。

「対応表」シートの記載だけで殆どの場合に対応できると思いますが、その際に必要となる情報は以下のとおりです。

なお、エクセルにて ALT+F11 でソースコードの編集画面が開きますので、その内容をお読みいただくのが最も正確です。

難しい場合や、時間的な余裕がない場合には、弊社にご依頼いただければ有償で開発いたします。 NCD Helper 周辺ソフトウェアのカスタマイズなどのご依頼・お問い合わせ にてお気軽にご依頼ください。

ここでは、以下のファイルを用いて説明いたします。 要素名が架空のものであるため、実際には NCD の登録には使えませんが、一通りの機能が網羅されております。

NCD登録_説明用.xlsm をダウンロード

ダウンロードしたファイルを開こうとすると、マクロを含むため、PC のセキュリティにて阻止されてしまいます。 エクセルマクロ実行におけるセキュリティについて を参考に、制限を解除してご利用ください。

このエクセルファイルは、既存の手術データから Google Chrome の拡張機能である NCD Helper を使用して、手術データを NCD(National Clinical Database)に効率的に登録するためのマクロファイルです。

  • Main シート
  • データシート
  • 対応表シート

その他のワークシートは動作に必須ではありません。

  1. 「Main」シートのボタンからユーザーフォームを起動
  2. フォームの「新規用コピー」または「全体コピー」ボタンを使用して、「対応表」で指定された変換処理により作成された NCD Helper 形式のテキストをクリップボードにコピー
  3. Google Chrome で NCD の登録ページを開き、NCD Helper の「データ注入」ボタンを押す
  • 一行目はタイトル行として使用
  • 項目名を記載
  • 実際のデータは二行目から入力

項目名説明
NCD要素名NCD の登録ページで使用されている入力項目の要素を指定(必須項目)
NCD要素意味入力項目の表示名(メモ用)
分類新規の場合は新規用コピー、全体コピーの場合は「新規」および空白の項目が使用
タイプ変換形式のタイプを指定
データ列変換に使用する元データの列を指定(アルファベット形式または数値で指定、複数指定時はカンマ区切り)
入力パラメータ変換パラメータを指定(変換形式のタイプにより内容が異なる)
出力パラメータ変換パラメータを指定(変換形式のタイプにより内容が異なる)
コメント備考欄(メモ用)
  • 項目名には半角カンマを使用しないことを推奨
  • NCD要素名として既に使用された文字列を指定した場合、その値がデータとして使用される

患者番号 患者性別 患者生年月日 最終分類 学会区分 学会区分詳細 疾病分類 疾病部位詳細 入院日 退院日 手術開始日時 手術終了日時 ICU在室日数 術者/処置者 助手 麻酔法 手技 生存確認日 生死 入院時体重 術直後体重 退院時体重 BMI 採皮部 選択肢A 選択肢B 選択肢C 選択肢D
123456 0 1957/5/29 末梢動脈閉塞疾患(PDA)(閉塞性動脈硬化症ASO) Ⅴ難治性潰瘍 その他の潰瘍(下腿・足潰瘍を含む) 下肢 2024/4/29 2024/5/1 2024/4/30 10:30 2024/4/30 11:42 間 黒男 ピノ コ 全身麻酔 K084 四肢切断術(下腿) 2024/5/1 生存 56.2 51.2 52.6 20 鼠径部
123457 1 1946/7/31 末梢動脈閉塞疾患(PDA)(閉塞性動脈硬化症ASO) Ⅴ難治性潰瘍 その他の潰瘍(A)(B)(C) 下肢 2024/4/28 2024/5/10 2024/4/30 23:45 2024/5/1 0:54 2 間 黒男 ピノ コ 全身麻酔 K084 四肢切断術(足) 2024/5/10 死亡 72.4 70.3 72.4 33 足底部

NCD要素名 NCD要素意味 分類 変換処理 データ列 入力パラメータ 出力パラメータ 条件値
TEMP固定値temp_value
PATIENT_ID院内管理コード新規患者番号
SEX患者性別新規患者性別0|1|*NOTEMPTY*|*EMPTY*男|女|その他|未記入
DATE_BIRTHDAY患者生年月日新規日付患者生年月日
OPE_START_TIME(架空の要素)時刻手術開始日時
PREOP_DAYS(架空の要素)日付差分入院日,手術開始日時
OPE_TIME(架空の要素)時刻差分手術終了日時,手術開始日時
OPE_TIME_時間(架空の要素)OPE_TIME
OPE_TIME_分(架空の要素)OPE_TIME
日帰り(架空の要素)日付判定入院日,退院日
DATE_HOSP_DEAD_DATE死亡年月日日付判定生存確認日,生死死亡
DATE_OUT_FROM_CU最重症ケアユニットからの退出日日付加算手術開始日時,ICU在室日数
BW_増加量(架空の要素)数値差分入院時体重,退院時体重
BW_変化(架空の要素)数値比較入院時体重,退院時体重増加|不変|減少
TEMP数値加算入院時体重,術直後体重,退院時体重
BW_平均(架空の要素)数値逓倍TEMP0.333
BMI_分類(架空の要素)数値分類BMI18.5|25やせ過ぎ|普通|普通|肥満|肥満
学会区分_番号(架空の要素)文字列抽出学会区分1|1
学会区分_本体(架空の要素)文字列削除学会区分1|1
学会区分_文字購入(架空の要素)文字列挿入学会区分1| @
最終分類_小文字(架空の要素)文字列変換最終分類2
マスイ法(架空の要素)文字列置換麻酔法麻酔マスイ
disease_region疾患部位連結疾病分類,疾病部位詳細
手技_接尾辞(架空の要素)分離手技2
助手_イニシャル姓(架空の要素)イニシャル姓助手
助手_イニシャル名(架空の要素)イニシャル名助手
学会区分詳細_カッコ削除(架空の要素)正規表現学会区分詳細(.+?)
学会区分詳細_カッコ有無(架空の要素)正規表現マッチ学会区分詳細(.+?)カッコあり|カッコなし
学会区分詳細_カッコ内部(架空の要素)正規表現サブマッチ学会区分詳細((.+?))0
学会区分詳細_サブマッチ置換(架空の要素)正規表現サブマッチ置換学会区分詳細((.+?))1番目のカッコ内は "$1" です
all_skin_donor_site採皮部LIKE採皮部*耳*|*鎖骨*|*鼠径*|*内果*|*足底*|*その他*0|1|2|3|4|5
生死◯✕(架空の要素)CB項目生死生存|死亡◯|✕
複数選択(架空の要素)複数カラムCB選択肢A,選択肢B,選択肢C,選択肢D◯|◯|◯|◯0|1|2|3
単一選択(架空の要素)複数カラムRB選択肢A,選択肢B,選択肢C,選択肢D◯|◯|◯|◯0|1|2|3
AFTER_30_STATUS術後30日状態生死判定生存確認日,生死,手術開始日時死亡|30不明|死亡|生存
last_disease_name疾患名参照最終分類最終分類変換表|A|B|2
hosp_diag1_code入院時診断参照正規表現外傷病名外傷病名
TEMP削除

ここで利用されている変換機能は、 エクセルマクロ変換処理一覧 にて説明されています。

「データコピー用フォームの表示」ボタンを押してください。

「対応表」シートには、変換処理が一通り網羅されています。
わかりやすさ優先のため、実際には存在しない NCD 要素を設定しておりますことをご了承ください。

それぞれの変換処理は、 エクセルマクロ変換処理一覧 で解説していますので、併せて参考にしてください。

項目内容
NCD要素名PATIENT_ID
変換処理(指定なし)
データ列患者番号
入力パラメータなし
出力パラメータなし

サンプルデータでの処理例

サンプル入力データ(患者番号)変換結果(PATIENT_ID)
データ1123456123456
データ2123457123457

解説
PATIENT_ID は院内の患者管理コードを表す要素です。変換処理は指定されていないため、データ列「患者番号」の値がそのまま出力されます。サンプルデータの例からも分かるように、入力値がそのまま変換結果として使用されています。

項目内容
NCD要素名SEX
変換処理(指定なし)
データ列患者性別
入力パラメータ0|1|NOTEMPTY|EMPTY
出力パラメータ男|女|その他|未記入

サンプルデータでの処理例

サンプル入力データ(患者性別)変換結果(SEX)
データ10
データ21

解説
SEX は患者の性別を表す要素です。数値コードを文字列に変換します:

  • 0 は「男」に変換
  • 1 は「女」に変換
  • その他の値(空でない)は「その他」に変換
  • 空値は「未記入」に変換 サンプルデータでは、0と1の基本的な変換例が示されています。
項目内容
NCD要素名DATE_BIRTHDAY
変換処理日付
データ列患者生年月日
入力パラメータなし
出力パラメータなし

サンプルデータでの処理例

サンプル入力データ(患者生年月日)変換結果
データ11957/5/29DATE_BIRTHDAY_YYYY: 1957
DATE_BIRTHDAY_MM: 05
DATE_BIRTHDAY_DD: 29
データ21946/7/31DATE_BIRTHDAY_YYYY: 1946
DATE_BIRTHDAY_MM: 07
DATE_BIRTHDAY_DD: 31

解説
DATE_BIRTHDAYは患者の生年月日を処理する要素です。日付型の変換処理により、1つの日付データを3つの要素(年、月、日)に分解します:

  • YYYY: 4桁の年
  • MM: 2桁の月(01-12)
  • DD: 2桁の日(01-31) 月と日は必ず2桁で出力されます(例:5月→05)。
項目内容
NCD要素名OPE_START_TIME (架空)
変換処理時刻
データ列手術開始日時
入力パラメータなし
出力パラメータなし

サンプルデータでの処理例

サンプル入力データ(手術開始日時)変換結果(OPE_START_TIME)
データ12024/4/30 10:3010:30
データ22024/4/30 23:4523:45

解説
OPE_START_TIMEは手術開始時刻を表す要素です。日付時刻データから時刻部分(hh:mm形式)のみを抽出します。日付部分は破棄され、24時間形式で出力されます。

項目内容
NCD要素名PREOP_DAYS (架空)
変換処理日付差分
データ列入院日,手術開始日時
入力パラメータなし
出力パラメータなし

サンプルデータでの処理例

サンプル入力データ変換結果(PREOP_DAYS)
データ1入院日: 2024/4/29
手術開始日時: 2024/4/30
1
データ2入院日: 2024/4/28
手術開始日時: 2024/4/30
2

解説
PREOP_DAYSは入院から手術までの日数を計算する要素です。入院日から手術開始日までの日数を計算します。手術開始日時からは日付部分のみを使用し、時刻は考慮されません。

項目内容
NCD要素名OPE_TIME (架空)
変換処理時刻差分
データ列手術終了日時,手術開始日時
入力パラメータなし
出力パラメータなし

サンプルデータでの処理例

サンプル入力データ変換結果(OPE_TIME)
データ1開始: 2024/4/30 10:30
終了: 2024/4/30 11:42
72
データ2開始: 2024/4/30 23:45
終了: 2024/5/1 0:54
69

解説
OPE_TIMEは手術時間を分単位で計算する要素です。手術開始時刻から終了時刻までの差を分数で表します。日付をまたぐ場合(データ2の例)でも正しく計算されます。

項目内容
NCD要素名OPE_TIME_時間 (架空)
変換処理
データ列OPE_TIME
入力パラメータなし
出力パラメータなし

サンプルデータでの処理例

サンプル入力データ(分)変換結果(時間)
データ1721
データ2691

解説
OPE_TIME_時間は、OPE_TIMEで計算された手術時間(分)を時間単位に変換する要素です。分を60で割った商(整数部分)を出力します。72分→1時間、69分→1時間というように計算されます。

項目内容
NCD要素名OPE_TIME_分 (架空)
変換処理
データ列OPE_TIME
入力パラメータなし
出力パラメータなし

サンプルデータでの処理例

サンプル入力データ(分)変換結果(分)
データ17212
データ2699

解説
OPE_TIME_分は、OPE_TIMEで計算された手術時間(分)から時間を除いた残りの分を計算する要素です。分を60で割った余りを出力します。72分→12分、69分→9分というように計算されます。

項目内容
NCD要素名日帰り (架空)
変換処理日付判定
データ列入院日,退院日
入力パラメータなし
出力パラメータなし

サンプルデータでの処理例

サンプル入力データ変換結果
データ1入院日: 2024/4/29
退院日: 2024/5/1
false
データ2入院日: 2024/4/28
退院日: 2024/5/10
false

解説
日帰りは、入院日と退院日が同じ日かどうかを判定する要素です。サンプルデータでは両方とも入院期間が1日以上あるため、falseが出力されています。同日の場合はtrueが出力されます。

項目内容
NCD要素名DATE_HOSP_DEAD_DATE
変換処理日付判定
データ列生存確認日,生死
入力パラメータ死亡
出力パラメータなし

サンプルデータでの処理例

サンプル入力データ変換結果
データ1生存確認日: 2024/5/1
生死: 生存
-
データ2生存確認日: 2024/5/10
生死: 死亡
2024/5/10

解説
DATE_HOSP_DEAD_DATEは、患者の死亡日を記録する要素です。生死が「死亡」の場合のみ生存確認日が死亡年月日として出力されます。生存の場合は空白(-)となります。

項目内容
NCD要素名DATE_OUT_FROM_CU
変換処理日付加算
データ列手術開始日時,ICU在室日数
入力パラメータなし
出力パラメータなし

サンプルデータでの処理例

サンプル入力データ変換結果
データ1手術開始日時: 2024/4/30
ICU在室日数: なし
-
データ2手術開始日時: 2024/4/30
ICU在室日数: 2
2024/5/2

解説
DATE_OUT_FROM_CUは、ICUからの退出日を計算する要素です。手術開始日にICU在室日数を加算して算出されます。ICU在室日数が未記入の場合は空白(-)となります。

項目内容
NCD要素名BW_増加量 (架空)
変換処理数値差分
データ列入院時体重,退院時体重
入力パラメータなし
出力パラメータなし

サンプルデータでの処理例

サンプル入力データ変換結果
データ1入院時: 56.2
退院時: 52.6
-3.6
データ2入院時: 72.4
退院時: 72.4
0

解説
BW_増加量は、入院時と退院時の体重差を計算する要素です。退院時体重から入院時体重を引いた値が出力されます。マイナスの場合は体重減少を、0の場合は変化なしを、プラスの場合は体重増加を示します。

項目内容
NCD要素名BW_変化 (架空)
変換処理数値比較
データ列入院時体重,退院時体重
入力パラメータなし
出力パラメータ増加|不変|減少

サンプルデータでの処理例

サンプル入力データ変換結果
データ1入院時: 56.2
退院時: 52.6
減少
データ2入院時: 72.4
退院時: 72.4
不変

解説
BW_変化は、体重の変化を「増加」「不変」「減少」のいずれかに分類する要素です。入院時と退院時の体重を比較し、結果を文字列で出力します。同値の場合は「不変」となります。

項目内容
NCD要素名BW_平均 (架空)
変換処理数値逓倍
データ列TEMP
入力パラメータ0.333
出力パラメータなし

サンプルデータでの処理例

サンプル入力データ(合計値)変換結果
データ1160.0 (56.2 + 51.2 + 52.6)53.28
データ2215.1 (72.4 + 70.3 + 72.4)71.6283

解説
BW_平均は、入院時、術直後、退院時の3つの体重値の平均を計算する要素です。まず3つの体重値の合計(TEMP)を計算し、それに0.333を掛けて平均値を算出します。

項目内容
NCD要素名BMI_分類 (架空)
変換処理数値分類
データ列BMI
入力パラメータ18.5|25
出力パラメータやせ過ぎ|普通|普通|肥満|肥満

サンプルデータでの処理例

サンプル入力データ(BMI)変換結果
データ120普通
データ233肥満

解説
BMI_分類は、BMI値を基準値(18.5と25)と比較して分類する要素です。

  • 18.5未満:やせ過ぎ
  • 18.5以上25未満:普通
  • 25以上:肥満
項目内容
NCD要素名学会区分_番号 (架空)
変換処理文字列抽出
データ列学会区分
入力パラメータ1|1
出力パラメータなし

サンプルデータでの処理例

サンプル入力データ変換結果
データ1Ⅴ難治性潰瘍
データ2Ⅴ難治性潰瘍

解説
学会区分_番号は、学会区分の文字列から先頭の番号部分を抽出する要素です。入力パラメータの1|1は、1文字目から1文字分を抽出することを指定しています。

項目内容
NCD要素名学会区分_本体 (架空)
変換処理文字列削除
データ列学会区分
入力パラメータ1|1
出力パラメータなし

サンプルデータでの処理例

サンプル入力データ変換結果
データ1Ⅴ難治性潰瘍難治性潰瘍
データ2Ⅴ難治性潰瘍難治性潰瘍

解説
学会区分_本体は、学会区分の文字列から先頭の番号部分を除いた説明部分を抽出する要素です。入力パラメータの1|1は、1文字目から1文字分を削除することを指定しています。

項目内容
NCD要素名学会区分_文字購入 (架空)
変換処理文字列挿入
データ列学会区分
入力パラメータ1| @
出力パラメータなし

サンプルデータでの処理例

サンプル入力データ変換結果
データ1Ⅴ難治性潰瘍Ⅴ @ 難治性潰瘍
データ2Ⅴ難治性潰瘍Ⅴ @ 難治性潰瘍

解説
学会区分_文字購入は、学会区分の番号と説明部分の間に「@」を挿入する要素です。入力パラメータの1| @は、1文字目の後に「@」を挿入することを指定しています。

項目内容
NCD要素名最終分類_小文字 (架空)
変換処理文字列変換
データ列最終分類
入力パラメータ2
出力パラメータなし

サンプルデータでの処理例

サンプル入力データ変換結果
データ1末梢動脈閉塞疾患(PDA)(閉塞性動脈硬化症ASO)末梢動脈閉塞疾患(pda)(閉塞性動脈硬化症aso)
データ2末梢動脈閉塞疾患(PDA)(閉塞性動脈硬化症ASO)末梢動脈閉塞疾患(pda)(閉塞性動脈硬化症aso)

解説
最終分類_小文字は、文字列中のアルファベットを小文字に変換する要素です。入力パラメータの2は、vbLowerCase(小文字変換)を指定しています。日本語はそのまま維持されます。

項目内容
NCD要素名マスイ法 (架空)
変換処理文字列置換
データ列麻酔法
入力パラメータ麻酔
出力パラメータマスイ

サンプルデータでの処理例

サンプル入力データ変換結果
データ1全身麻酔全身マスイ
データ2全身麻酔全身マスイ

解説
マスイ法は、麻酔法の表記を「麻酔」から「マスイ」に変換する要素です。文字列中の「麻酔」という部分を「マスイ」に置換します。

項目内容
NCD要素名disease_region
変換処理連結
データ列疾病分類,疾病部位詳細
入力パラメータなし
出力パラメータなし

サンプルデータでの処理例

サンプル入力データ変換結果
データ1疾病分類: 下肢
疾病部位詳細: 足
下肢足
データ2疾病分類: 下肢
疾病部位詳細: 足
下肢足

解説
disease_regionは、疾病分類と疾病部位詳細を単純に連結する要素です。区切り文字等は使用せず、2つの値を直接つなげます。

項目内容
NCD要素名手技_接尾辞 (架空)
変換処理分離
データ列手技
入力パラメータ
出力パラメータ2

サンプルデータでの処理例

サンプル入力データ変換結果
データ1K084 四肢切断術(下腿)(下腿)
データ2K084 四肢切断術(足)(足)

解説
手技_接尾辞は、手技の文字列から「術」の後ろにあるカッコ書きの部分を抽出する要素です。入力パラメータで「術」を指定し、その後の2番目の要素(カッコ書き部分)を取り出します。

項目内容
NCD要素名助手_イニシャル姓 (架空)
変換処理イニシャル姓
データ列助手
入力パラメータなし
出力パラメータなし

サンプルデータでの処理例

サンプル入力データ変換結果
データ1ピノ コP
データ2ピノ コP

解説
助手_イニシャル姓は、助手の名前から姓のイニシャルを抽出する要素です。日本語の姓をローマ字に変換し、その最初の1文字を大文字で出力します。

項目内容
NCD要素名助手_イニシャル名 (架空)
変換処理イニシャル名
データ列助手
入力パラメータなし
出力パラメータなし

サンプルデータでの処理例

サンプル入力データ変換結果
データ1ピノ コK
データ2ピノ コK

解説
助手_イニシャル名は、助手の名前から名のイニシャルを抽出する要素です。スペース以降の名前をローマ字に変換し、その最初の1文字を大文字で出力します。

項目内容
NCD要素名学会区分詳細_カッコ削除 (架空)
変換処理正規表現
データ列学会区分詳細
入力パラメータ(.+?)
出力パラメータなし

サンプルデータでの処理例

サンプル入力データ変換結果
データ1その他の潰瘍(下腿・足潰瘍を含む)その他の潰瘍
データ2その他の潰瘍(A)(B)(C)その他の潰瘍

解説
学会区分詳細_カッコ削除は、文字列からカッコ書きの部分を全て削除する要素です。正規表現を使用して、「(」と「)」で囲まれた部分を特定し、削除します。

項目内容
NCD要素名学会区分詳細_カッコ有無 (架空)
変換処理正規表現マッチ
データ列学会区分詳細
入力パラメータ(.+?)
出力パラメータカッコあり|カッコなし

サンプルデータでの処理例

サンプル入力データ変換結果
データ1その他の潰瘍(下腿・足潰瘍を含む)カッコあり
データ2その他の潰瘍(A)(B)(C)カッコあり

解説
学会区分詳細_カッコ有無は、文字列中にカッコ書きが存在するかどうかを判定する要素です。正規表現で「(」と「)」のペアを検索し、存在すれば「カッコあり」、なければ「カッコなし」を出力します。

項目内容
NCD要素名学会区分詳細_カッコ内部 (架空)
変換処理正規表現サブマッチ
データ列学会区分詳細
入力パラメータ((.+?))
出力パラメータ0

サンプルデータでの処理例

サンプル入力データ変換結果
データ1その他の潰瘍(下腿・足潰瘍を含む)下腿・足潰瘍を含む
データ2その他の潰瘍(A)(B)(C)A

解説
学会区分詳細_カッコ内部は、文字列中の最初のカッコ内の内容を抽出する要素です。正規表現のサブマッチを使用して、最初の「(」と「)」の間の文字列を取得します。

項目内容
NCD要素名学会区分詳細_サブマッチ置換 (架空)
変換処理正規表現サブマッチ置換
データ列学会区分詳細
入力パラメータ((.+?))
出力パラメータ1番目のカッコ内は "$1" です

サンプルデータでの処理例

サンプル入力データ変換結果
データ1その他の潰瘍(下腿・足潰瘍を含む)1番目のカッコ内は "下腿・足潰瘍を含む" です
データ2その他の潰瘍(A)(B)(C)1番目のカッコ内は "A" です

解説
学会区分詳細_サブマッチ置換は、カッコ内の内容を指定された文章形式に変換する要素です。$1は最初のカッコ内の内容を参照し、それを文章の中に組み込みます。

項目内容
NCD要素名all_skin_donor_site
変換処理LIKE
データ列採皮部
入力パラメータ|鎖骨|鼠径|内果|足底|その他
出力パラメータ0|1|2|3|4|5

サンプルデータでの処理例

サンプル入力データ変換結果
データ1鼠径部2
データ2足底部4

解説
all_skin_donor_siteは、採皮部の記述を数値コードに変換する要素です。部位名称をワイルドカードパターンでマッチングし、対応する数値に変換します:

  • → 0
  • 鎖骨 → 1
  • 鼠径 → 2
  • 内果 → 3
  • 足底 → 4
  • その他 → 5
項目内容
NCD要素名生死◯✕ (架空)
変換処理CB項目
データ列生死
入力パラメータ生存|死亡
出力パラメータ◯|✕

サンプルデータでの処理例

サンプル入力データ変換結果
データ1生存
データ2死亡

解説
生死◯✕は、生死の状態を記号で表現する要素です。「生存」を「◯」に、「死亡」を「✕」に変換します。

項目内容
NCD要素名複数選択 (架空)
変換処理複数カラムCB
データ列選択肢A,選択肢B,選択肢C,選択肢D
入力パラメータ◯|◯|◯|◯
出力パラメータ0|1|2|3

サンプルデータでの処理例

サンプル入力データ変換結果
データ1A:◯, B:◯, C:✕, D:✕0,1
データ2A:✕, B:◯, C:◯, D:◯1,2,3

解説
複数選択は、複数の選択肢(A~D)の状態を数値のリストに変換する要素です。「◯」がついている選択肢の番号(0~3)をカンマ区切りで出力します。

項目内容
NCD要素名単一選択 (架空)
変換処理複数カラムRB
データ列選択肢A,選択肢B,選択肢C,選択肢D
入力パラメータ◯|◯|◯|◯
出力パラメータ0|1|2|3

サンプルデータでの処理例

サンプル入力データ変換結果
データ1A:◯, B:◯, C:✕, D:✕0
データ2A:✕, B:◯, C:◯, D:◯1

解説
単一選択は、複数の選択肢(A~D)から最初に「◯」がついている選択肢の番号を出力する要素です。複数選択と異なり、最初の「◯」のみが考慮されます。

項目内容
NCD要素名AFTER_30_STATUS
変換処理生死判定
データ列生存確認日,生死,手術開始日時
入力パラメータ死亡|30
出力パラメータ不明|死亡|生存

サンプルデータでの処理例

サンプル入力データ変換結果
データ1生存確認日: 2024/5/1
生死: 生存
手術開始日時: 2024/4/30
生存
データ2生存確認日: 2024/5/10
生死: 死亡
手術開始日時: 2024/4/30
死亡

解説
AFTER_30_STATUSは、術後30日時点での生存状態を判定する要素です。手術日から30日以内の生死状態を判定し、以下のルールで出力します:

  • 死亡の場合:「死亡」
  • 生存で30日以内の確認:「生存」
  • 30日以内の確認がない場合:「不明」
項目内容
NCD要素名last_disease_name
変換処理参照
データ列最終分類
入力パラメータ最終分類変換表|A|B|2
出力パラメータなし

サンプルデータでの処理例

サンプル入力データ変換結果
データ1末梢動脈閉塞疾患(PDA)(閉塞性動脈硬化症ASO)末梢動脈閉塞性疾患(PAD)(閉塞性動脈硬化症ASO)
データ2末梢動脈閉塞疾患(PDA)(閉塞性動脈硬化症ASO)末梢動脈閉塞性疾患(PAD)(閉塞性動脈硬化症ASO)

解説
「最終分類変換表」というワークシートを参照し、対応する疾患名に変換しています。

項目内容
NCD要素名-
変換処理参照正規表現
データ列傷病名
入力パラメータ外傷病名
出力パラメータなし

「外傷病名」シートの内容

正規表現パターンコード説明
犬咬創W54犬咬創
.........
(額|頭|顔|口|唇|眼|顎|耳|鼻|頬|脳|眉).*(創|打撲|傷|骨折)S01.8頭部のその他の部位の開放創
.........

サンプルデータでの処理例

サンプル入力データ変換結果
データ1犬咬創W54
データ2前額部挫創S01.8

解説
「外傷病名」というワークシートを参照し、対応する病名コードを取得しています。

項目内容
NCD要素名TEMP (一時変数)
変換処理削除
データ列なし
入力パラメータなし
出力パラメータなし

サンプルデータでの処理例

サンプル入力データ変換結果
データ1(任意の一時データ)(削除)
データ2(任意の一時データ)(削除)

解説
TEMPは、処理の過程で使用された一時変数を削除する要素です。この処理により、最終的な出力から一時的に使用したデータを除外します。変換処理における後処理(クリーンアップ)として機能します。