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의 주요 목표
OMOP CDM의 주요 목적은 다양한 의료 데이터의 통합과 상호 운용성을 보장하는 데 있습니다. 데이터를 공통된 형식으로 변환하면 여러 기관에서 발생한 데이터를 하나의 기준으로 분석할 수 있기 때문에 데이터의 일관성을 유지하면서도 대규모 데이터 통합이 가능해집니다.
주요 목표는 다음과 같습니다:
- 데이터 표준화: 여러 의료기관에서 발생하는 데이터를 공통된 형식으로 변환하여 일관성 있게 저장할 수 있습니다.
- 재현 가능한 연구: 동일한 분석을 반복해도 같은 결과를 얻을 수 있도록 데이터 구조를 제공하여, 연구의 재현 가능성을 높입니다.
- 데이터 통합: 다양한 출처의 데이터를 하나의 표준으로 통합하여 대규모 데이터 기반 연구에 활용할 수 있습니다.
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와 연결되어 있어, 환자가 어느 방문에서 어떤 진단을 받았는지 알 수 있습니다.
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 같은 유연한 데이터베이스 시스템과 함께 사용하면 더 복잡한 실험 데이터를 효과적으로 처리할 수 있습니다.
'Data Science > database' 카테고리의 다른 글
DBMS와 NoSQL의 차이점과 최신 트렌드: LIMS 데이터베이스 구축에 적합한 선택은? (1) | 2024.10.28 |
---|---|
ISO 27001을 활용한 의료 데이터베이스 보호 및 데이터 관리 체계 구축 가이드 (0) | 2024.10.28 |
2023년과 2024년 개정 개인정보보호법에 따른 환자 데이터 보호와 정보 교환 방안 (3) | 2024.10.28 |
구글 스프레드시트와 database 연동 (1) | 2022.04.25 |