1. 용어 이해
"carcinoma"는 상피조직에서 발생하는 암종을 이야기하며, "adenocarcinoma"는 점액 소화액과 같은 물질을 생성하는 샘(gland)에서 기원한 악성종양을 의미합니다.
대장암의 경우 대장과 직장에 점액을 분비하고 수분을 흡수하는 수많은 샘이 있기 때문에 압도적으로 샘암종(adenocarcinoma)이 많이 발생합니다.
암보험에서는 조직 검사지에 "carcinoma" 라고 기재되어 있다면, 암 진단비를 검토하여야 합니다.
2. 조직 검사지
조직 검사지에 다음과 같은 데이터가 있다고 가정해보겠습니다.
CASENO | STR |
1 | tubular adenocarcinoma, moderately differentiated |
2 | Histologic type; poorly cohesive carcinoma |
SQL 로는 다음과 같은 방식으로 재현해볼 수 있습니다.
select 1 as caseno, 'tubular adenocarcinoma, moderately differentiated' as str from dual union all
select 2 as caseno, 'Histologic type; poorly cohesive carcinoma' as str from dual
3. carcinoma 추출 오류
여기에서 carcinoma 인 경우를 추출하려고 무심코 sql 을 작성하다보면, adenocarcinoma 에도 carcinoma가 포함되어 있어서 함께 추출이 되어버립니다.
4. carcinoma 만 추출하는 가장 효율적인 방법은 무엇일까요?
다양한 방법이 있을 수 있겠지만,
가장 확실하고 손쉬운 방법은 adenocarcinoma 를 제거(STEP1)한 다음 해당 문자열에서 carcinoma 를 추출(CANCER_TYPE)하는 것입니다.
select caseno, str,
regexp_substr(str,'carcinoma',1,1,'i') as cancer_type_x, -- 잘못된 방법
regexp_replace(str,'adenocarcinoma','') as step1, -- adenocarcinoma 제거
regexp_substr(regexp_replace(str,'adenocarcinoma',''),'carcinoma',1,1,'i') as cancer_type
from (
select 1 as caseno, 'tubular adenocarcinoma, moderately differentiated' as str from dual union all
select 2 as caseno, 'Histologic type; poorly cohesive carcinoma' as str from dual
)
CASENO | STR | CANCER_TYPE_X | STEP1 | CANCER_TYPE |
1 | tubular adenocarcinoma, moderately differentiated | carcinoma | tubular , moderately differentiated | |
2 | Histologic type; poorly cohesive carcinoma | carcinoma | Histologic type; poorly cohesive carcinoma carcinoma | carcinoma |
'프리랜서 > CDW' 카테고리의 다른 글
NCCN Risk stratification (0) | 2022.08.11 |
---|---|
전립선비대증 진단 IPSS (0) | 2022.08.09 |
전립선암 분자진단/암유전자 검사를 받는 것이 좋을까요? (0) | 2022.08.02 |
EMR & ESD (0) | 2022.07.29 |
Extract biopsy info and calculate NCCN Risk stratification (0) | 2022.07.12 |