エクセルマクロ作成の手引
概要
エクセルマクロは、ご自身で作成していただけます。
弊社にて提供しておりますエクセルファイルの中身を見ていただけますと、比較的簡単に改造してお使いいただけると思います。
「対応表」シートの記載だけで殆どの場合に対応できると思いますが、その際に必要となる情報は以下のとおりです。
- マクロの「対応表」シートには、変換処理を設定します。
- 正規表現を利用することができます。
- VBA の LIKE が手軽なマッチング処理に利用できます。
なお、エクセルにて ALT+F11
でソースコードの編集画面が開きますので、その内容をお読みいただくのが最も正確です。
難しい場合や、時間的な余裕がない場合には、弊社にご依頼いただければ有償で開発いたします。 NCD Helper 周辺ソフトウェアのカスタマイズなどのご依頼・お問い合わせ にてお気軽にご依頼ください。
使用するファイル
ここでは、以下のファイルを用いて説明いたします。 要素名が架空のものであるため、実際には NCD の登録には使えませんが、一通りの機能が網羅されております。
ダウンロードしたファイルを開こうとすると、マクロを含むため、PC のセキュリティにて阻止されてしまいます。 エクセルマクロ実行におけるセキュリティについて を参考に、制限を解除してご利用ください。
NCD Helper データ登録用エクセルマクロファイルの構成
このエクセルファイルは、既存の手術データから Google Chrome の拡張機能である NCD Helper を使用して、手術データを NCD(National Clinical Database)に効率的に登録するためのマクロファイルです。
必要なワークシート
- Main シート
- データシート
- 対応表シート
その他のワークシートは動作に必須ではありません。
基本的な利用方法
- 「Main」シートのボタンからユーザーフォームを起動
- フォームの「新規用コピー」または「全体コピー」ボタンを使用して、「対応表」で指定された変換処理により作成された NCD Helper 形式のテキストをクリップボードにコピー
- 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_平均 | (架空の要素) | 数値逓倍 | TEMP | 0.333 | |||
BMI_分類 | (架空の要素) | 数値分類 | BMI | 18.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 | 削除 |
ここで利用されている変換機能は、 エクセルマクロ変換処理一覧 にて説明されています。
Main シート
「データコピー用フォームの表示」ボタンを押してください。
対応表の各行における変換の解説
「対応表」シートには、変換処理が一通り網羅されています。
わかりやすさ優先のため、実際には存在しない NCD 要素を設定しておりますことをご了承ください。
それぞれの変換処理は、 エクセルマクロ変換処理一覧 で解説していますので、併せて参考にしてください。
1. (指定なし)
項目 | 内容 |
---|---|
NCD要素名 | PATIENT_ID |
変換処理 | (指定なし) |
データ列 | 患者番号 |
入力パラメータ | なし |
出力パラメータ | なし |
サンプルデータでの処理例
サンプル | 入力データ(患者番号) | 変換結果(PATIENT_ID) |
---|---|---|
データ1 | 123456 | 123456 |
データ2 | 123457 | 123457 |
解説
PATIENT_ID は院内の患者管理コードを表す要素です。変換処理は指定されていないため、データ列「患者番号」の値がそのまま出力されます。サンプルデータの例からも分かるように、入力値がそのまま変換結果として使用されています。
2. (指定なし)
項目 | 内容 |
---|---|
NCD要素名 | SEX |
変換処理 | (指定なし) |
データ列 | 患者性別 |
入力パラメータ | 0|1|NOTEMPTY|EMPTY |
出力パラメータ | 男|女|その他|未記入 |
サンプルデータでの処理例
サンプル | 入力データ(患者性別) | 変換結果(SEX) |
---|---|---|
データ1 | 0 | 男 |
データ2 | 1 | 女 |
解説
SEX は患者の性別を表す要素です。数値コードを文字列に変換します:
- 0 は「男」に変換
- 1 は「女」に変換
- その他の値(空でない)は「その他」に変換
- 空値は「未記入」に変換 サンプルデータでは、0と1の基本的な変換例が示されています。
3. (指定なし)
項目 | 内容 |
---|---|
NCD要素名 | DATE_BIRTHDAY |
変換処理 | 日付 |
データ列 | 患者生年月日 |
入力パラメータ | なし |
出力パラメータ | なし |
サンプルデータでの処理例
サンプル | 入力データ(患者生年月日) | 変換結果 |
---|---|---|
データ1 | 1957/5/29 | DATE_BIRTHDAY_YYYY: 1957 DATE_BIRTHDAY_MM: 05 DATE_BIRTHDAY_DD: 29 |
データ2 | 1946/7/31 | DATE_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)。
4. 時刻
項目 | 内容 |
---|---|
NCD要素名 | OPE_START_TIME (架空) |
変換処理 | 時刻 |
データ列 | 手術開始日時 |
入力パラメータ | なし |
出力パラメータ | なし |
サンプルデータでの処理例
サンプル | 入力データ(手術開始日時) | 変換結果(OPE_START_TIME) |
---|---|---|
データ1 | 2024/4/30 10:30 | 10:30 |
データ2 | 2024/4/30 23:45 | 23:45 |
解説
OPE_START_TIMEは手術開始時刻を表す要素です。日付時刻データから時刻部分(hh:mm形式)のみを抽出します。日付部分は破棄され、24時間形式で出力されます。
5. 日付差分
項目 | 内容 |
---|---|
NCD要素名 | PREOP_DAYS (架空) |
変換処理 | 日付差分 |
データ列 | 入院日,手術開始日時 |
入力パラメータ | なし |
出力パラメータ | なし |
サンプルデータでの処理例
サンプル | 入力データ | 変換結果(PREOP_DAYS) |
---|---|---|
データ1 | 入院日: 2024/4/29 手術開始日時: 2024/4/30 | 1 |
データ2 | 入院日: 2024/4/28 手術開始日時: 2024/4/30 | 2 |
解説
PREOP_DAYSは入院から手術までの日数を計算する要素です。入院日から手術開始日までの日数を計算します。手術開始日時からは日付部分のみを使用し、時刻は考慮されません。
6. 時刻差分
項目 | 内容 |
---|---|
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の例)でも正しく計算されます。
7. 時
項目 | 内容 |
---|---|
NCD要素名 | OPE_TIME_時間 (架空) |
変換処理 | 時 |
データ列 | OPE_TIME |
入力パラメータ | なし |
出力パラメータ | なし |
サンプルデータでの処理例
サンプル | 入力データ(分) | 変換結果(時間) |
---|---|---|
データ1 | 72 | 1 |
データ2 | 69 | 1 |
解説
OPE_TIME_時間は、OPE_TIMEで計算された手術時間(分)を時間単位に変換する要素です。分を60で割った商(整数部分)を出力します。72分→1時間、69分→1時間というように計算されます。
8. 分
項目 | 内容 |
---|---|
NCD要素名 | OPE_TIME_分 (架空) |
変換処理 | 分 |
データ列 | OPE_TIME |
入力パラメータ | なし |
出力パラメータ | なし |
サンプルデータでの処理例
サンプル | 入力データ(分) | 変換結果(分) |
---|---|---|
データ1 | 72 | 12 |
データ2 | 69 | 9 |
解説
OPE_TIME_分は、OPE_TIMEで計算された手術時間(分)から時間を除いた残りの分を計算する要素です。分を60で割った余りを出力します。72分→12分、69分→9分というように計算されます。
9. 日付判定
項目 | 内容 |
---|---|
NCD要素名 | 日帰り (架空) |
変換処理 | 日付判定 |
データ列 | 入院日,退院日 |
入力パラメータ | なし |
出力パラメータ | なし |
サンプルデータでの処理例
サンプル | 入力データ | 変換結果 |
---|---|---|
データ1 | 入院日: 2024/4/29 退院日: 2024/5/1 | false |
データ2 | 入院日: 2024/4/28 退院日: 2024/5/10 | false |
解説
日帰りは、入院日と退院日が同じ日かどうかを判定する要素です。サンプルデータでは両方とも入院期間が1日以上あるため、falseが出力されています。同日の場合はtrueが出力されます。
10. 日付判定
項目 | 内容 |
---|---|
NCD要素名 | DATE_HOSP_DEAD_DATE |
変換処理 | 日付判定 |
データ列 | 生存確認日,生死 |
入力パラメータ | 死亡 |
出力パラメータ | なし |
サンプルデータでの処理例
サンプル | 入力データ | 変換結果 |
---|---|---|
データ1 | 生存確認日: 2024/5/1 生死: 生存 | - |
データ2 | 生存確認日: 2024/5/10 生死: 死亡 | 2024/5/10 |
解説
DATE_HOSP_DEAD_DATEは、患者の死亡日を記録する要素です。生死が「死亡」の場合のみ生存確認日が死亡年月日として出力されます。生存の場合は空白(-)となります。
11. 日付加算
項目 | 内容 |
---|---|
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在室日数が未記入の場合は空白(-)となります。
12. 数値差分
項目 | 内容 |
---|---|
NCD要素名 | BW_増加量 (架空) |
変換処理 | 数値差分 |
データ列 | 入院時体重,退院時体重 |
入力パラメータ | なし |
出力パラメータ | なし |
サンプルデータでの処理例
サンプル | 入力データ | 変換結果 |
---|---|---|
データ1 | 入院時: 56.2 退院時: 52.6 | -3.6 |
データ2 | 入院時: 72.4 退院時: 72.4 | 0 |
解説
BW_増加量は、入院時と退院時の体重差を計算する要素です。退院時体重から入院時体重を引いた値が出力されます。マイナスの場合は体重減少を、0の場合は変化なしを、プラスの場合は体重増加を示します。
13.数値比較
項目 | 内容 |
---|---|
NCD要素名 | BW_変化 (架空) |
変換処理 | 数値比較 |
データ列 | 入院時体重,退院時体重 |
入力パラメータ | なし |
出力パラメータ | 増加|不変|減少 |
サンプルデータでの処理例
サンプル | 入力データ | 変換結果 |
---|---|---|
データ1 | 入院時: 56.2 退院時: 52.6 | 減少 |
データ2 | 入院時: 72.4 退院時: 72.4 | 不変 |
解説
BW_変化は、体重の変化を「増加」「不変」「減少」のいずれかに分類する要素です。入院時と退院時の体重を比較し、結果を文字列で出力します。同値の場合は「不変」となります。
14. 数値逓倍
項目 | 内容 |
---|---|
NCD要素名 | BW_平均 (架空) |
変換処理 | 数値逓倍 |
データ列 | TEMP |
入力パラメータ | 0.333 |
出力パラメータ | なし |
サンプルデータでの処理例
サンプル | 入力データ(合計値) | 変換結果 |
---|---|---|
データ1 | 160.0 (56.2 + 51.2 + 52.6) | 53.28 |
データ2 | 215.1 (72.4 + 70.3 + 72.4) | 71.6283 |
解説
BW_平均は、入院時、術直後、退院時の3つの体重値の平均を計算する要素です。まず3つの体重値の合計(TEMP)を計算し、それに0.333を掛けて平均値を算出します。
15. 数値分類
項目 | 内容 |
---|---|
NCD要素名 | BMI_分類 (架空) |
変換処理 | 数値分類 |
データ列 | BMI |
入力パラメータ | 18.5|25 |
出力パラメータ | やせ過ぎ|普通|普通|肥満|肥満 |
サンプルデータでの処理例
サンプル | 入力データ(BMI) | 変換結果 |
---|---|---|
データ1 | 20 | 普通 |
データ2 | 33 | 肥満 |
解説
BMI_分類は、BMI値を基準値(18.5と25)と比較して分類する要素です。
- 18.5未満:やせ過ぎ
- 18.5以上25未満:普通
- 25以上:肥満
16. 文字列抽出
項目 | 内容 |
---|---|
NCD要素名 | 学会区分_番号 (架空) |
変換処理 | 文字列抽出 |
データ列 | 学会区分 |
入力パラメータ | 1|1 |
出力パラメータ | なし |
サンプルデータでの処理例
サンプル | 入力データ | 変換結果 |
---|---|---|
データ1 | Ⅴ難治性潰瘍 | Ⅴ |
データ2 | Ⅴ難治性潰瘍 | Ⅴ |
解説
学会区分_番号は、学会区分の文字列から先頭の番号部分を抽出する要素です。入力パラメータの1|1は、1文字目から1文字分を抽出することを指定しています。
17. 文字列削除
項目 | 内容 |
---|---|
NCD要素名 | 学会区分_本体 (架空) |
変換処理 | 文字列削除 |
データ列 | 学会区分 |
入力パラメータ | 1|1 |
出力パラメータ | なし |
サンプルデータでの処理例
サンプル | 入力データ | 変換結果 |
---|---|---|
データ1 | Ⅴ難治性潰瘍 | 難治性潰瘍 |
データ2 | Ⅴ難治性潰瘍 | 難治性潰瘍 |
解説
学会区分_本体は、学会区分の文字列から先頭の番号部分を除いた説明部分を抽出する要素です。入力パラメータの1|1は、1文字目から1文字分を削除することを指定しています。
18. 文字列挿入
項目 | 内容 |
---|---|
NCD要素名 | 学会区分_文字購入 (架空) |
変換処理 | 文字列挿入 |
データ列 | 学会区分 |
入力パラメータ | 1| @ |
出力パラメータ | なし |
サンプルデータでの処理例
サンプル | 入力データ | 変換結果 |
---|---|---|
データ1 | Ⅴ難治性潰瘍 | Ⅴ @ 難治性潰瘍 |
データ2 | Ⅴ難治性潰瘍 | Ⅴ @ 難治性潰瘍 |
解説
学会区分_文字購入は、学会区分の番号と説明部分の間に「@」を挿入する要素です。入力パラメータの1| @は、1文字目の後に「@」を挿入することを指定しています。
19. 文字列変換
項目 | 内容 |
---|---|
NCD要素名 | 最終分類_小文字 (架空) |
変換処理 | 文字列変換 |
データ列 | 最終分類 |
入力パラメータ | 2 |
出力パラメータ | なし |
サンプルデータでの処理例
サンプル | 入力データ | 変換結果 |
---|---|---|
データ1 | 末梢動脈閉塞疾患(PDA)(閉塞性動脈硬化症ASO) | 末梢動脈閉塞疾患(pda)(閉塞性動脈硬化症aso) |
データ2 | 末梢動脈閉塞疾患(PDA)(閉塞性動脈硬化症ASO) | 末梢動脈閉塞疾患(pda)(閉塞性動脈硬化症aso) |
解説
最終分類_小文字は、文字列中のアルファベットを小文字に変換する要素です。入力パラメータの2は、vbLowerCase(小文字変換)を指定しています。日本語はそのまま維持されます。
20. 文字列置換
項目 | 内容 |
---|---|
NCD要素名 | マスイ法 (架空) |
変換処理 | 文字列置換 |
データ列 | 麻酔法 |
入力パラメータ | 麻酔 |
出力パラメータ | マスイ |
サンプルデータでの処理例
サンプル | 入力データ | 変換結果 |
---|---|---|
データ1 | 全身麻酔 | 全身マスイ |
データ2 | 全身麻酔 | 全身マスイ |
解説
マスイ法は、麻酔法の表記を「麻酔」から「マスイ」に変換する要素です。文字列中の「麻酔」という部分を「マスイ」に置換します。
21. 連結
項目 | 内容 |
---|---|
NCD要素名 | disease_region |
変換処理 | 連結 |
データ列 | 疾病分類,疾病部位詳細 |
入力パラメータ | なし |
出力パラメータ | なし |
サンプルデータでの処理例
サンプル | 入力データ | 変換結果 |
---|---|---|
データ1 | 疾病分類: 下肢 疾病部位詳細: 足 | 下肢足 |
データ2 | 疾病分類: 下肢 疾病部位詳細: 足 | 下肢足 |
解説
disease_regionは、疾病分類と疾病部位詳細を単純に連結する要素です。区切り文字等は使用せず、2つの値を直接つなげます。
22. 分離
項目 | 内容 |
---|---|
NCD要素名 | 手技_接尾辞 (架空) |
変換処理 | 分離 |
データ列 | 手技 |
入力パラメータ | 術 |
出力パラメータ | 2 |
サンプルデータでの処理例
サンプル | 入力データ | 変換結果 |
---|---|---|
データ1 | K084 四肢切断術(下腿) | (下腿) |
データ2 | K084 四肢切断術(足) | (足) |
解説
手技_接尾辞は、手技の文字列から「術」の後ろにあるカッコ書きの部分を抽出する要素です。入力パラメータで「術」を指定し、その後の2番目の要素(カッコ書き部分)を取り出します。
23. イニシャル姓
項目 | 内容 |
---|---|
NCD要素名 | 助手_イニシャル姓 (架空) |
変換処理 | イニシャル姓 |
データ列 | 助手 |
入力パラメータ | なし |
出力パラメータ | なし |
サンプルデータでの処理例
サンプル | 入力データ | 変換結果 |
---|---|---|
データ1 | ピノ コ | P |
データ2 | ピノ コ | P |
解説
助手_イニシャル姓は、助手の名前から姓のイニシャルを抽出する要素です。日本語の姓をローマ字に変換し、その最初の1文字を大文字で出力します。
24. イニシャル名
項目 | 内容 |
---|---|
NCD要素名 | 助手_イニシャル名 (架空) |
変換処理 | イニシャル名 |
データ列 | 助手 |
入力パラメータ | なし |
出力パラメータ | なし |
サンプルデータでの処理例
サンプル | 入力データ | 変換結果 |
---|---|---|
データ1 | ピノ コ | K |
データ2 | ピノ コ | K |
解説
助手_イニシャル名は、助手の名前から名のイニシャルを抽出する要素です。スペース以降の名前をローマ字に変換し、その最初の1文字を大文字で出力します。
25. 正規表現
項目 | 内容 |
---|---|
NCD要素名 | 学会区分詳細_カッコ削除 (架空) |
変換処理 | 正規表現 |
データ列 | 学会区分詳細 |
入力パラメータ | (.+?) |
出力パラメータ | なし |
サンプルデータでの処理例
サンプル | 入力データ | 変換結果 |
---|---|---|
データ1 | その他の潰瘍(下腿・足潰瘍を含む) | その他の潰瘍 |
データ2 | その他の潰瘍(A)(B)(C) | その他の潰瘍 |
解説
学会区分詳細_カッコ削除は、文字列からカッコ書きの部分を全て削除する要素です。正規表現を使用して、「(」と「)」で囲まれた部分を特定し、削除します。
26. 正規表現マッチ
項目 | 内容 |
---|---|
NCD要素名 | 学会区分詳細_カッコ有無 (架空) |
変換処理 | 正規表現マッチ |
データ列 | 学会区分詳細 |
入力パラメータ | (.+?) |
出力パラメータ | カッコあり|カッコなし |
サンプルデータでの処理例
サンプル | 入力データ | 変換結果 |
---|---|---|
データ1 | その他の潰瘍(下腿・足潰瘍を含む) | カッコあり |
データ2 | その他の潰瘍(A)(B)(C) | カッコあり |
解説
学会区分詳細_カッコ有無は、文字列中にカッコ書きが存在するかどうかを判定する要素です。正規表現で「(」と「)」のペアを検索し、存在すれば「カッコあり」、なければ「カッコなし」を出力します。
27. 正規表現サブマッチ
項目 | 内容 |
---|---|
NCD要素名 | 学会区分詳細_カッコ内部 (架空) |
変換処理 | 正規表現サブマッチ |
データ列 | 学会区分詳細 |
入力パラメータ | ((.+?)) |
出力パラメータ | 0 |
サンプルデータでの処理例
サンプル | 入力データ | 変換結果 |
---|---|---|
データ1 | その他の潰瘍(下腿・足潰瘍を含む) | 下腿・足潰瘍を含む |
データ2 | その他の潰瘍(A)(B)(C) | A |
解説
学会区分詳細_カッコ内部は、文字列中の最初のカッコ内の内容を抽出する要素です。正規表現のサブマッチを使用して、最初の「(」と「)」の間の文字列を取得します。
28. 正規表現サブマッチ置換
項目 | 内容 |
---|---|
NCD要素名 | 学会区分詳細_サブマッチ置換 (架空) |
変換処理 | 正規表現サブマッチ置換 |
データ列 | 学会区分詳細 |
入力パラメータ | ((.+?)) |
出力パラメータ | 1番目のカッコ内は "$1" です |
サンプルデータでの処理例
サンプル | 入力データ | 変換結果 |
---|---|---|
データ1 | その他の潰瘍(下腿・足潰瘍を含む) | 1番目のカッコ内は "下腿・足潰瘍を含む" です |
データ2 | その他の潰瘍(A)(B)(C) | 1番目のカッコ内は "A" です |
解説
学会区分詳細_サブマッチ置換は、カッコ内の内容を指定された文章形式に変換する要素です。$1は最初のカッコ内の内容を参照し、それを文章の中に組み込みます。
29. LIKE
項目 | 内容 |
---|---|
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
30. CB項目
項目 | 内容 |
---|---|
NCD要素名 | 生死◯✕ (架空) |
変換処理 | CB項目 |
データ列 | 生死 |
入力パラメータ | 生存|死亡 |
出力パラメータ | ◯|✕ |
サンプルデータでの処理例
サンプル | 入力データ | 変換結果 |
---|---|---|
データ1 | 生存 | ◯ |
データ2 | 死亡 | ✕ |
解説
生死◯✕は、生死の状態を記号で表現する要素です。「生存」を「◯」に、「死亡」を「✕」に変換します。
31. 複数カラムCB
項目 | 内容 |
---|---|
NCD要素名 | 複数選択 (架空) |
変換処理 | 複数カラムCB |
データ列 | 選択肢A,選択肢B,選択肢C,選択肢D |
入力パラメータ | ◯|◯|◯|◯ |
出力パラメータ | 0|1|2|3 |
サンプルデータでの処理例
サンプル | 入力データ | 変換結果 |
---|---|---|
データ1 | A:◯, B:◯, C:✕, D:✕ | 0,1 |
データ2 | A:✕, B:◯, C:◯, D:◯ | 1,2,3 |
解説
複数選択は、複数の選択肢(A~D)の状態を数値のリストに変換する要素です。「◯」がついている選択肢の番号(0~3)をカンマ区切りで出力します。
32. 単一選択
項目 | 内容 |
---|---|
NCD要素名 | 単一選択 (架空) |
変換処理 | 複数カラムRB |
データ列 | 選択肢A,選択肢B,選択肢C,選択肢D |
入力パラメータ | ◯|◯|◯|◯ |
出力パラメータ | 0|1|2|3 |
サンプルデータでの処理例
サンプル | 入力データ | 変換結果 |
---|---|---|
データ1 | A:◯, B:◯, C:✕, D:✕ | 0 |
データ2 | A:✕, B:◯, C:◯, D:◯ | 1 |
解説
単一選択は、複数の選択肢(A~D)から最初に「◯」がついている選択肢の番号を出力する要素です。複数選択と異なり、最初の「◯」のみが考慮されます。
33. 生死判定
項目 | 内容 |
---|---|
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日以内の確認がない場合:「不明」
34. 参照
項目 | 内容 |
---|---|
NCD要素名 | last_disease_name |
変換処理 | 参照 |
データ列 | 最終分類 |
入力パラメータ | 最終分類変換表|A|B|2 |
出力パラメータ | なし |
サンプルデータでの処理例
サンプル | 入力データ | 変換結果 |
---|---|---|
データ1 | 末梢動脈閉塞疾患(PDA)(閉塞性動脈硬化症ASO) | 末梢動脈閉塞性疾患(PAD)(閉塞性動脈硬化症ASO) |
データ2 | 末梢動脈閉塞疾患(PDA)(閉塞性動脈硬化症ASO) | 末梢動脈閉塞性疾患(PAD)(閉塞性動脈硬化症ASO) |
解説
「最終分類変換表」というワークシートを参照し、対応する疾患名に変換しています。
35. 参照正規表現
項目 | 内容 |
---|---|
NCD要素名 | - |
変換処理 | 参照正規表現 |
データ列 | 傷病名 |
入力パラメータ | 外傷病名 |
出力パラメータ | なし |
「外傷病名」シートの内容
正規表現パターン | コード | 説明 |
---|---|---|
犬咬創 | W54 | 犬咬創 |
... | ... | ... |
(額|頭|顔|口|唇|眼|顎|耳|鼻|頬|脳|眉).*(創|打撲|傷|骨折) | S01.8 | 頭部のその他の部位の開放創 |
... | ... | ... |
サンプルデータでの処理例
サンプル | 入力データ | 変換結果 |
---|---|---|
データ1 | 犬咬創 | W54 |
データ2 | 前額部挫創 | S01.8 |
解説
「外傷病名」というワークシートを参照し、対応する病名コードを取得しています。
35. 削除
項目 | 内容 |
---|---|
NCD要素名 | TEMP (一時変数) |
変換処理 | 削除 |
データ列 | なし |
入力パラメータ | なし |
出力パラメータ | なし |
サンプルデータでの処理例
サンプル | 入力データ | 変換結果 |
---|---|---|
データ1 | (任意の一時データ) | (削除) |
データ2 | (任意の一時データ) | (削除) |
解説
TEMPは、処理の過程で使用された一時変数を削除する要素です。この処理により、最終的な出力から一時的に使用したデータを除外します。変換処理における後処理(クリーンアップ)として機能します。