Chuyển đến nội dung chính

レッスン 17: LOCATION、CARE_SITE、PROVIDER — 医療施設システム

3 つの医療システム データ テーブル: LOCATION (地理)、CARE_SITE (医療施設)、PROVIDER (医師、医療スタッフ)、およびそれらが臨床データにリンクする方法。

🏗️ アーキテクチャ — レッスン 17 場所、ケアサイト、および プロバイダー — 医療施設システム 初心者向け OMOP CDM 5.4 — A to Z を理解する パート 6: 医療システム、経済および派生要素 xdev.asia

医療システムの階層: 場所 → ケアサイト → プロバイダー

はじめに

医療システム データ グループには、医療サービスを どこ と 誰 が提供するかを説明する 3 つのテーブルが含まれています。ベトナムの病院では、医療施設(中央、省、地区)、診療科、担当医師の情報がここに保管されています。


1. 場所 — 地理的位置

###1.1.テーブル構造

コラムタイプ必須説明
location_id整数✅PK固有の ID
address_1VARCHAR(50)住所行 1
address_2VARCHAR(50)行 2 のアドレス
cityVARCHAR(50)市 / 地区 / 地区
stateVARCHAR(2)州/県 (米国: 2 文字)
zipVARCHAR(9)郵便番号
countyVARCHAR(20)郡
location_source_valueVARCHAR(50)ソースコード
country_concept_id整数FK → CONCEPT (国)
country_source_valueVARCHAR(80)ソース国コード
latitudeフロート緯度
longitudeフロート経度

###1.2.ベトナム向けETL

INSERT INTO location (
    location_id,
    address_1,
    city,
    state,
    zip,
    country_concept_id,
    country_source_value,
    latitude,
    longitude
) VALUES (
    1001,
    '78 Giải Phóng',
    'Hai Bà Trưng',
    'HN',            -- Mã tỉnh 2 ký tự
    '100000',        -- Mã bưu điện VN
    4330442,         -- concept_id cho 'Viet Nam'
    'VN',
    21.0024,         -- Latitude
    105.8432         -- Longitude
);

VN に注意してください: 学校 state 2 文字のみ - 短縮された州コード (HN、HCM、DN...) を使用します。 完全なものが必要な場合は、使用します location_source_value 「ハノイ」を救え。


2. CARE_SITE — 健康診断および治療施設

###2.1.テーブル構造

コラムタイプ必須説明
care_site_id整数✅PK固有の ID
care_site_nameVARCHAR(255)施設名
place_of_service_concept_id整数施設タイプ(FK→CONCEPT)
location_id整数FK → 場所
care_site_source_valueVARCHAR(50)ソースコード
place_of_service_source_valueVARCHAR(50)ソースタイプコード

###2.2.医療機関の種類 (place_of_service_concept_id)

コンセプトIDコンセプト名VN の例
8717入院病院内科
8756外来病院外来診療
8940オフィスプライベートクリニック
8883介護施設介護施設介護施設
8716ホームヘルスエージェンシーホームケア
8761緊急治療室救急部門
581382遠隔医療遠隔診察

###2.3.ベトナムの病院データからの ETL の例

-- Bệnh viện Bạch Mai
INSERT INTO care_site VALUES (
    2001,                        -- care_site_id
    'Bệnh viện Bạch Mai',       -- care_site_name
    8717,                        -- Inpatient Hospital
    1001,                        -- location_id (78 GP, HBT)
    'BV-BACHMAI-001',            -- care_site_source_value
    'TUYEN_TW'                   -- place_of_service_source_value
);

-- Khoa Nội tiêu hóa - Bạch Mai
INSERT INTO care_site VALUES (
    2002,
    'Khoa Nội Tiêu hóa - BV Bạch Mai',
    8756,                        -- Outpatient Hospital
    1001,                        -- cùng location
    'BV-BM-NOI-TIEUHOA',
    'KHOA_NOITRU'
);

###2.4.ベトナム分散型モデル

  CARE_SITE (Tuyến TW)
  ├── BV Bạch Mai (care_site_id = 2001)
  │   ├── Khoa Nội Tiêu hóa (2002)
  │   ├── Khoa Tim mạch (2003)
  │   └── Khoa Cấp cứu (2004)
  │
  CARE_SITE (Tuyến Tỉnh)
  ├── BV Đa khoa Hà Nội (2010)
  │   ├── Khoa Ngoại (2011)
  │   └── Khoa Sản (2012)
  │
  CARE_SITE (Tuyến Huyện)
  └── TTYT Hoàng Mai (2020)
      └── Phòng khám đa khoa (2021)

注意: OMOP CDM には CARE_SITE の親子構造がありません。階層が必要な場合は、命名規則を使用するか、別のマッピング テーブルを追加します。


3. 提供者 — 医療スタッフ

###3.1.テーブル構造

コラムタイプ必須説明
provider_id整数✅PK固有の ID
provider_nameVARCHAR(255)名前 (匿名化を推奨)
npiVARCHAR(20)国内プロバイダー識別子 (米国)
deaVARCHAR(20)DEA 番号 (米国)
specialty_concept_id整数専門(FK→CONCEPT)
care_site_id整数FK → CARE_SITE
year_of_birth整数誕生年
gender_concept_id整数性別
provider_source_valueVARCHAR(50)ソースコード
specialty_source_valueVARCHAR(50)ソース特殊コード
specialty_source_concept_id整数FK → コンセプト
gender_source_valueVARCHAR(50)ソースの性別
gender_source_concept_id整数FK → コンセプト

###3.2. OMOPの専門分野

-- Tìm specialty concepts phổ biến
SELECT
    c.concept_id,
    c.concept_name,
    c.vocabulary_id
FROM concept c
WHERE c.domain_id = 'Provider'
  AND c.standard_concept = 'S'
  AND c.concept_name LIKE '%Cardiol%'
ORDER BY c.concept_name;
-- 38004451 | Cardiology | Medicare Specialty

###3.3.ベトナム人医師向けETL

INSERT INTO provider (
    provider_id,
    provider_name,
    specialty_concept_id,
    care_site_id,
    provider_source_value,
    specialty_source_value
) VALUES (
    3001,
    NULL,                    -- De-identify: không lưu tên
    38004451,                -- Cardiology
    2003,                    -- Khoa Tim mạch - BV Bạch Mai
    'BS-BM-TM-001',         -- Mã bác sĩ nội bộ
    'TIM_MACH'               -- Chuyên khoa nguồn
);

匿名化: ベトナムでは、研究データを医師の匿名化が必要になることがよくあります。セット provider_name = NULL そしてそのままにしておいてください provider_source_value 暗号化。


4. 医療システムの 3 つのテーブルの関係

  ┌──────────┐
  │ LOCATION │  ← Địa lý (tỉnh, thành phố, tọa độ)
  │ 1001     │
  └────┬─────┘
       │ location_id
       ↓
  ┌──────────┐
  │CARE_SITE │  ← Cơ sở y tế (BV, Khoa)
  │ 2001     │
  └────┬─────┘
       │ care_site_id
       ↓
  ┌──────────┐
  │ PROVIDER │  ← Bác sĩ, nhân viên y tế
  │ 3001     │
  └──────────┘

  Ba bảng này được tham chiếu từ:
  ┌───────────────────────┐
  │ PERSON               │ ← location_id, care_site_id, provider_id
  │ VISIT_OCCURRENCE     │ ← care_site_id, provider_id
  │ CONDITION_OCCURRENCE │ ← provider_id
  │ DRUG_EXPOSURE        │ ← provider_id
  │ ... (tất cả bảng     │
  │      clinical)       │
  └───────────────────────┘

5. 分析クエリ

###5.1.医療機関別の患者分布

SELECT
    cs.care_site_name,
    c.concept_name AS facility_type,
    COUNT(DISTINCT vo.person_id) AS patient_count,
    COUNT(vo.visit_occurrence_id) AS visit_count
FROM visit_occurrence vo
JOIN care_site cs ON vo.care_site_id = cs.care_site_id
JOIN concept c ON cs.place_of_service_concept_id = c.concept_id
GROUP BY cs.care_site_name, c.concept_name
ORDER BY visit_count DESC;

###5.2.医師の専門分野ごとの分析

SELECT
    c_spec.concept_name AS specialty,
    COUNT(DISTINCT p.provider_id) AS provider_count,
    COUNT(DISTINCT co.person_id) AS patient_count,
    COUNT(*) AS diagnosis_count
FROM condition_occurrence co
JOIN provider p ON co.provider_id = p.provider_id
JOIN concept c_spec ON p.specialty_concept_id = c_spec.concept_id
GROUP BY c_spec.concept_name
ORDER BY diagnosis_count DESC
LIMIT 10;

###5.3.患者の地理的分布 (VN)

SELECT
    l.state AS province_code,
    l.city,
    COUNT(DISTINCT per.person_id) AS patient_count
FROM person per
JOIN location l ON per.location_id = l.location_id
WHERE l.country_concept_id = 4330442  -- Vietnam
GROUP BY l.state, l.city
ORDER BY patient_count DESC;

概要

  1. 場所: 地理 (VN: 2 桁の州番号 + 郵便番号)
  2. CARE_SITE: 医療機関 place_of_service_concept_id 分類
  3. 提供者: 医療スタッフ、研究において匿名化が必要
  4. 関係: LOCATION → CARE_SITE → PROVIDER (階層)
  5. すべての臨床表が参照されています provider_id そして care_site_id

次の記事: PAYER_PLAN_PERIOD & COST — 医療費と保険費。


参考文献