次の方法で共有


医療データ ソリューションの SDOH データセット - 変換 (プレビュー) を使用する

[この記事はプレリリース ドキュメントであり、変更されることがあります。]

このセクションでは、医療データ ソリューションの SDOH データセット - 変換 (プレビュー) を使用して、SDOH (健康の社会的決定要因) データセットのインジェスト、変換、統合を行う方法に関するガイダンスを提供します。

SDOH データセット - 変換 (プレビュー) でパブリック データセットを準備する の手順を完了すると、SDOH データセットのインジェストの準備が整います。 以下の要件も検討します。

  1. 一時ファイルのコピーがアップロードされないように、どのファイルもローカルで開いていないことを確認します。
  2. ファイルの秘密度ラベルを 一般 または パブリック に設定する必要があります。

インジェスト プロセスを開始するには:

  1. 医療データ ソリューション環境で、healthcare#_msft_sdoh_ingestion データ パイプラインを開きます。

  2. 実行 ボタンを選択します。

正常に実行されると、SDOH データセットを分析ワークロードで使用する準備が整います。

インジェスト メカニズムを理解する

この機能のエンドツーエンドの実行には、大まかに以下の連続したステップが含まれます。

  1. SDOH データセットを OneLake から Ingest フォルダーに取り込みます。
  2. SDOH データセットを Ingest から Process フォルダーに移動します。
  3. SDOH データセットをブロンズ レイクハウスの専用のデルタ テーブルに変換します。
  4. ブロンズのデルタ テーブルをシルバー レイクハウスに取り込み、業界データモデル (IDM) の影響を受けたデータモデルに変換します。

OneLake から SDOH データセットを取り込む

SDOH データセットを Ingest フォルダーにアップロード した後、実行が開始されます。 実行パイプラインは、次のステージで、ファイルをブロンズ レイクハウスの整理された Process フォルダーに移動します。 エラーが発生した場合、パイプラインはファイルを Failed フォルダーに移動します。

これらのフォルダーと、フォルダー間のファイル移動の詳細については、フォルダーの説明 を参照してください。

SDOH データセットを移動する

raw_process_movement ノートブックは、ブロンズ レイクハウスの整理された Process フォルダーにファイルを移動します。 このサブフォルダー構造は次のとおりです: Files\Process\SDOH\<file format>\<publisher name>\<dataset-specific folders

処理されたファイルはそれぞれのサブフォルダーに保存され、ファイル名の先頭にインジェスト タイムスタンプが追加されます。

SDOH データセットをデルタ テーブルに変換する

ファイルが Process フォルダーに移動すると、healthcare#_msft_bronze_ingestion ノートブックによって、ブメタデータ、レイアウト、およびデータ テーブルがロンズ レイクハウスにデルタ テーブル形式で入力されます。 レイアウト情報は SD_Layout テーブルに入力され、メタデータ情報は SD_Metadata テーブルに入力され、データは実行時に生成される個々のデータ テーブルに入力されます。 データ テーブルには SD_ という接頭辞が付き、テーブル名にシート/ファイル名が含まれます。 すべてのデータセットのすべてのデータシートでは、テーブル構造が保持されます。 元のデータシートと対応するブロンズ デルタ テーブルを比較して、ばらつきを理解することができます。

デルタ テーブルをシルバー データ モデルに変換する

ブロンズのインジェクションが成功すると、healthcare#_msft_bronze_silver_ingestion ノートブックはシルバー レイクハウスでカスタムデータ モデルを定義するのに役立ちます。 このノートブックでは以下を行います。

  • 対応するテーブルのコンテキストを保持しながらブロンズ レイクハウス内のデータを正規化し、ソース コンテキスト内のデータを識別またはクエリできます。
  • シルバー レイクハウスの各ソース コンテキストに専用のテーブルを作成します。

以下は、シルバー レイクハウスの主なテーブルです。

  • SocialDeterminant: 各社会的決定要因の実際のデータ ポイントと、場所の構成 シートに入力された場所の詳細が含まれます。
  • SocialDeterminantCategory: 各社会的決定要因のデータ ポイントのカテゴリが含まれます。
  • SocialDeterminantSubCategory: 各社会的決定要因のデータ ポイントのサブカテゴリが含まれます。
  • UnitOfMeasure (IDM テーブル): 測定単位の詳細が含まれます。
  • SocialDeterminantDataSetMetadata: データセット名、公開元、公開日など、データセットに関する情報が含まれます。

ブロンズ デルタ レイク テーブルとそれに対応するシルバー レイクハウス表現を比較して、カスタム データ モデルの変換を理解できます。 カスタム データ モデル テーブルは、従来の FHIR ベースのテーブルと比較して、構造と構成が異なります。

サンプル: 食品環境と社会経済的条件が糖尿病に与える影響を分析する

ある郡の食品環境と社会経済的条件が、その郡の糖尿病患者数に与える影響を理解しようとしているシナリオを考えてみましょう。

食品環境と世帯収入の中央値は、最近取り込まれた SDOH 公開データセット、具体的には USDA の食品環境アトラスと AHRQ の SDOH データ からの SDOH 情報を表しています。 シルバー レイクハウスの SDOH データ モデル (SocialDeterminant テーブル) のファーストフード店の数、食料品店の数、世帯収入の中央値などのフィールドを使用できます。

SELECT
  SocialDeterminantName,
  SocialDeterminantValue,
  SocialDeterminantDescription,
  parsedJson.CountyName AS CountyName,
  parsedJson.CountyFIPS AS CountyFIPS,
  parsedJson.StateName AS StateName
FROM
  healthcare1_msft_silver.SocialDeterminant sd
LATERAL VIEW json_tuple(sd.LocationJson, 'STATENAME', 'COUNTYNAME', 'COUNTYFIPS') parsedJson AS StateName, CountyName, CountyFIPS) sd
ON sd.CountyFIPS = fip_zip_mapping.STCOUNTYFP
WHERE
  sd.SocialDeterminantName IN ('GROC16', 'FFR16', 'ACS_MEDIAN_HH_INC')
AND sd.SocialDeterminantValue IS NOT NULL

一方、糖尿病患者数は、医療データ ソリューションの臨床パイプラインからの臨床情報を参照しており、これも展開とインストールが必要です。 このパイプラインに臨床データを取り込むことも、提供された臨床サンプル データを使用することもできます。 患者の住所や患者の状態などのフィールドを使用して、必要なメジャーを取得します。

WITH ExpandedPatients AS (
  SELECT
    p.id_orig,
    address_item.postalCode AS postalCode,
    address_item.state AS state
  FROM
    healthcare1_msft_silver.patient p
    LATERAL VIEW explode(p.address) exploded_address AS address_item
)
SELECT
  fzm.STCOUNTYFP,
  SUM(CASE WHEN c.code.text LIKE '%Asthma%' THEN 1 ELSE 0 END) AS Total_Asthma_Patients,
  SUM(CASE WHEN c.code.text LIKE '%Diabetes%' THEN 1 ELSE 0 END) AS Total_Diabetes_Patients,
  SUM(CASE WHEN c.code.text LIKE '%Hypertension%' THEN 1 ELSE 0 END) AS Total_Hypertension_Patients
FROM
  ExpandedPatients ep
JOIN healthcare1_msft_silver.condition c ON ep.id_orig = c.subject.id_orig
JOIN healthcare1_msft_silver.fips_zip_mapping fzm ON ep.postalCode = fzm.ZIP
GROUP BY
  fzm.STCOUNTYFP

本質的に、これら 2 つのデータセットの間には直接的な関係はありません。 リンク要素は、その場所の詳細です。

  • 食品環境データは郡レベルで利用でき、SocialDeterminant テーブルの Locationjson 列を展開し、CountyFIPS フィールドを使用してアクセスできます。
  • 臨床データには FHIR 形式の患者の住所が含まれており、そこから郡の情報を取得できます。 患者の郵便番号のみが利用可能な場合は、それを取得し、郵便番号から FIPS コードへのマッピングテーブルを作成して、SDOH データセットにリンクできます。 このマッピング テーブルは、パブリック データ リポジトリですぐに利用できます。

位置データを準備したら、2 つのデータセットをリンクして、必要なすべてのデータ ポイントを表示するゴールド レイクハウス クエリを構築できます。 SQL クエリのサンプルを次に示します。

FROM
   social_determinants sd
JOIN
   patient_conditions pc
ON
   sd.CountyFIPS = pc.STCOUNTYFP

これで、最終的なデータセットを解析して視覚化し、糖尿病患者数とファストフード店の存在との関係を判断できます。 したがって、シルバー レイヤーでは堅牢なデータの正規化が可能になるため、クエリを構築し、異なるデータセット内および異なるデータセット間で包括的なインサイトを導き出すことができます。