반응형

OMOP CDM(Observational Medical Outcomes Partnership Common Data Model)은 의료 데이터를 표준화하여 다양한 의료 기관과 연구소에서 발생하는 데이터를 통합하고 분석할 수 있도록 돕는 데이터 모델입니다. 여러 출처에서 생성된 데이터를 하나의 공통된 구조로 변환하여 연구자들이 데이터를 일관되게 분석하고 활용할 수 있게 합니다. 주로 의료 연구, 약물 안전성 평가, 임상 시험 등의 분야에서 광범위하게 사용됩니다.

OMOP CDM은 미국의 OHDSI(Observational Health Data Sciences and Informatics)라는 조직에서 관리하고 있으며, 대규모 데이터 기반의 연구를 수행하기 위해 개발되었습니다. 이 모델은 의료 데이터를 통합하기 위한 목적으로 만들어졌으며, 환자의 다양한 의료 기록, 약물 투여, 진단, 실험 결과 등을 구조화된 형식으로 저장할 수 있도록 도와줍니다.

 

https://ohdsi.github.io/CommonDataModel/cdm54.html#specimen

 

OMOP CDM v5.4

This is the specification document for the OMOP Common Data Model, v5.4. This is the latest version of the OMOP CDM. Each table is represented with a high-level description and ETL conventions that should be followed. This is continued with a discussion of

ohdsi.github.io

 

 

OMOP CDM의 주요 목표

OMOP CDM의 주요 목적은 다양한 의료 데이터의 통합과 상호 운용성을 보장하는 데 있습니다. 데이터를 공통된 형식으로 변환하면 여러 기관에서 발생한 데이터를 하나의 기준으로 분석할 수 있기 때문에 데이터의 일관성을 유지하면서도 대규모 데이터 통합이 가능해집니다.

주요 목표는 다음과 같습니다:

  1. 데이터 표준화: 여러 의료기관에서 발생하는 데이터를 공통된 형식으로 변환하여 일관성 있게 저장할 수 있습니다.
  2. 재현 가능한 연구: 동일한 분석을 반복해도 같은 결과를 얻을 수 있도록 데이터 구조를 제공하여, 연구의 재현 가능성을 높입니다.
  3. 데이터 통합: 다양한 출처의 데이터를 하나의 표준으로 통합하여 대규모 데이터 기반 연구에 활용할 수 있습니다.

OMOP CDM의 주요 테이블

OMOP CDM은 환자 정보를 여러 개의 테이블로 분리하여 저장하며, 각 테이블은 특정한 정보를 관리합니다. 이 테이블들은 서로 외래 키(foreign key)를 통해 연결되어 데이터 간의 관계를 효율적으로 관리합니다. 주요 테이블은 다음과 같습니다:

1. Person 테이블

Person 테이블은 환자의 기본 정보를 저장하는 테이블입니다. 이 테이블에는 환자의 성별, 출생 연도, 인종, 민족 등의 정보가 포함됩니다. 각 환자는 고유한 person_id를 가지며, 이를 통해 다른 테이블에서 참조할 수 있습니다.

CREATE TABLE Person ( 
	person_id INT PRIMARY KEY, -- 환자 고유 ID 
    gender_concept_id INT, -- 성별 코드 
    year_of_birth INT, -- 출생 연도 
    race_concept_id INT, -- 인종 코드 
    ethnicity_concept_id INT -- 민족 코드 
);

2. Visit Occurrence 테이블

Visit Occurrence 테이블은 환자의 의료 방문 기록을 저장합니다. 이 테이블에는 환자가 방문한 이유나 방문 유형(입원, 외래, 응급실 등)이 포함됩니다. 환자가 방문할 때마다 새로운 visit_occurrence_id가 생성되어 특정 환자의 방문 기록을 추적할 수 있습니다.

CREATE TABLE Visit_Occurrence ( 
	visit_occurrence_id INT PRIMARY KEY, -- 방문 기록 고유 ID 
    person_id INT, -- 환자 ID (Person 테이블과 연관) 
    visit_concept_id INT, -- 방문 유형 코드 
    visit_start_date DATE, -- 방문 시작일 
    visit_end_date DATE -- 방문 종료일 
);

3. Condition Occurrence 테이블

Condition Occurrence 테이블은 환자가 특정 방문에서 진단받은 질병이나 증상을 기록하는 테이블입니다. 예를 들어, 환자가 "고혈압"으로 진단받았다면, 이 테이블에 그 기록이 저장됩니다. 또한, 이 테이블은 visit_occurrence_id와 연결되어 있어, 환자가 어느 방문에서 어떤 진단을 받았는지 알 수 있습니다.

sql
코드 복사
CREATE TABLE Condition_Occurrence ( 
	condition_occurrence_id INT PRIMARY KEY, -- 질병 기록 고유 ID 
    person_id INT, -- 환자 ID 
    condition_concept_id INT, -- 질병 코드
    condition_start_date DATE, -- 질병 시작일 
    visit_occurrence_id INT -- 방문 기록 ID와 연결 
);

4. Drug Exposure 테이블

Drug Exposure 테이블은 환자가 복용한 약물 정보를 기록합니다. 여기에는 약물 이름, 투약 시작일과 종료일, 복용 방법 등이 포함됩니다. 이 테이블을 통해 환자가 어떤 약물을 언제 복용했는지를 추적할 수 있습니다.

CREATE TABLE Drug_Exposure ( 
	drug_exposure_id INT PRIMARY KEY, -- 약물 투여 기록 고유 ID 
    person_id INT, -- 환자 ID 
    drug_concept_id INT, -- 약물 코드 
    drug_exposure_start_date DATE, -- 약물 투여 시작일 
    drug_exposure_end_date DATE -- 약물 투여 종료일 
);

5. Measurement 테이블

Measurement 테이블은 환자에게 수행된 실험 결과를 기록합니다. 이 테이블에는 실험 날짜, 측정된 값, 단위 등이 저장됩니다. 예를 들어, 혈압이나 혈당 검사와 같은 결과가 여기에 저장됩니다. 이를 통해 각 환자가 받은 실험 결과를 추적할 수 있습니다.

CREATE TABLE Measurement ( 
	measurement_id INT PRIMARY KEY, -- 실험 기록 고유 ID 
    person_id INT, -- 환자 ID 
    measurement_concept_id INT, -- 실험 항목 코드 
    measurement_date DATE, -- 실험 날짜 
    value_as_number FLOAT, -- 측정값 (숫자형) 
    unit_concept_id INT -- 측정 단위 
);

실험 데이터와 OMOP CDM의 확장

OMOP CDM은 유연한 구조를 가지고 있어서, NGS(Next-Generation Sequencing)Proteomics와 같은 복잡한 실험 데이터를 통합할 수 있습니다. 하지만 실험 데이터는 필드가 많고 형식도 다양하기 때문에, 기본 CDM 테이블에 바로 통합하기에는 어려움이 있습니다. 이를 해결하기 위해 NoSQL 같은 유연한 데이터를 처리할 수 있는 시스템을 함께 사용하는 것이 유리할 수 있습니다.

NGS 데이터를 위한 Sample 및 Experiment 테이블

Sample 테이블Experiment 테이블을 추가하여 한 명의 환자가 여러 번 검체를 제공하고, 각각의 검체에서 여러 번 실험이 수행되는 상황을 관리할 수 있습니다.

CREATE TABLE Sample ( 
	sample_id INT PRIMARY KEY, -- 검체 고유 ID 
    person_id INT, -- 환자 ID 
    sample_collection_date DATE, -- 검체 수집 날짜 
    sample_type VARCHAR(255) -- 검체 유형 (혈액, 조직 등) 
);
 
CREATE TABLE Experiment ( 
	experiment_id INT PRIMARY KEY, -- 실험 고유 ID 
    sample_id INT, -- 검체 ID 
    experiment_type VARCHAR(255), -- 실험 종류 (예: NGS, Proteomics) 
    experiment_date DATE -- 실험 날짜 
);

NoSQL을 사용한 하이브리드 접근

실험 데이터는 다양하고 유연하게 처리할 필요가 있기 때문에 NoSQL을 사용하는 것이 적합할 수 있습니다. 예를 들어, MongoDB 같은 NoSQL 데이터베이스에서는 실험 데이터를 문서 구조로 저장하여 실험마다 다른 데이터를 유연하게 관리할 수 있습니다. 이렇게 하면 OMOP CDM의 기본 구조와 함께 NoSQL 데이터베이스에서 실험 데이터를 저장하고 관리할 수 있습니다.

질병 코드와 표준화

OMOP CDM에서는 ICD-10이나 SNOMED CT 같은 표준화된 질병 코드를 사용합니다. 표준화된 질병 코드를 사용하면 데이터의 일관성을 유지할 수 있으며, 여러 기관의 데이터를 통합하여 분석할 때 매우 유용합니다. 사전에 정의된 코드 체계를 사용하면 데이터 간의 비교가 용이해지고 연구 결과의 신뢰성을 높일 수 있습니다.

결론

OMOP CDM은 다양한 의료 데이터를 통합하고 분석할 수 있도록 돕는 강력한 도구입니다. 이 모델을 활용하면 연구자들이 여러 기관의 데이터를 일관된 방식으로 분석할 수 있으며, 각 환자의 의료 기록을 효율적으로 관리할 수 있습니다. NoSQL 같은 유연한 데이터베이스 시스템과 함께 사용하면 더 복잡한 실험 데이터를 효과적으로 처리할 수 있습니다.

반응형

+ Recent posts