자그마치 20여년동안 모은 임상 데이터를 썼다는데 놀라운 연구. 국제 질병 코드와 타임스탬프 외에는 환자의 데이터 중 어떤 것도 사용하지 않았기 때문에 해석에서 왜곡이 발생할 소지가 높다는 것을 누누이 강조하고 있다. 예컨대, 우울장애와 고양이나 개한테 물린 것이 높은 연관성을 가졌는데, 이것이 정말 인과 관계가 있다고 해석하면 안 된다. 저자는 20여년 동안 반려동물을 가정에 들이는 비율이 많이 높아졌기 때문에 동물에게 물리는 사건도 함께 늘어난 것은 아닐까 라는 해석을 내놨다. 기본 데이터가 가지는 특성으로 해석에 주의해야 한다는 점은 동의하긴 하지만, 데이터 양이 방대함에도 시간적 관계가 1단계를 벗어나지 못하는 한계도 같이 가져온 것 같다. 연령대, 성별을 포함시켰다면 어땠으려나.
데이터셋
-
미시건 대학 Health System에서 모아둔 데이터를 대상으로 함.
-
타임스탬프 있는 4,120 만개의 레코드
-
160만명의 환자
-
총 기간 22년
-
레코드 구조 : {환자id, ICD-9 코드, 타임스탬프}
쌍 연관 분석
-
고유한 코드 개수: 14,499개
-
코드쌍 개수 : 약 1 억 5,101 만개
-
축소된 코드쌍 개수 : 300만개
-
개별 코드는 적어도 30명 이상의 환자에게 달려있을 것.
-
코드쌍은 적어도 10명 이상의 환자에게 달려있을 것.
연관성 지표
-
카이제곱 검정은 두 변수간 연관성을 있는지 보여준다. (실제로 관찰되는 코드쌍의 빈도 vs 그 코드쌍이 연관성이 전혀 없다는 가정하에 코드쌍이 나타날 빈도를 비교함. 비교 결과 차이가 클 수록 두 변수의 연관성이 있음을 나타냄.)
-
p value는 두 변수가 정말 연관성이 있는지를 우연에 의해 나타날 확률이 얼마인지로 보여준다.
-
Yate’s 의 연속성 보정 방법은 소표본 자료에 대해 카이제곱보다 보다 정확한 검정 방법을 제공한다. (300만개로 줄인 코드쌍 때문에 표본수가 작은 경우도 있어서 Yate’s 방법을 사용했다고 봄.)
시간적 관계 모델
307만 코드쌍 중 연관성 지표 기준으로** **유의미한 코드쌍 397,717 개를 걸러냄.
아래 흥미로운 임상적 연관성을 기간별로 나열함. 화살표가 시간 순서를 나타냄.
(이전 질병코드) -> (다음 질병코드)
-
1일 이상 떨어져있는 코드쌍 51,219 개
-
삼첨판 패쇄부전 -> 니코틴 의존
-
급성충수염 -> 니코틴 의존
-
니코틴 의존 -> 루게릭
-
우울장애 -> 고양이 등 동물한테 물림
-
우울장애 -> 개한테 물림
-
당뇨 -> 위궤양
-
위궤양/천공 -> 관리 안하는 당뇨
-
관리 안하는 당뇨 -> 헬리코박터 파이로리
-
당뇨 -> 헬리코박터 파이로리
-
방광의 악성 신생물 -> 당뇨
-
요통/등 통증 -> 불면증
-
결장의 악성신생물 -> 골연화증
-
궐랑 바레 신드롬(바이러스 감염 후 나타나는 다발성 신경염) -> 급성신부전
-
궐랑 바레 신드롬(바이러스 감염 후 나타나는 다발성 신경염) -> 만성 신장질병
-
식도의 악성 신생물 -> 위식도역류병
-
-
1일~30일 떨어져있는 코드쌍 3,032 개
-
1년 이상 떨어져있는 코드쌍 54,831개
-
고지혈증 -> 헬리코박터 파이로리
-
우울장애 -> 고양이 등 동물한테 물림
-
-
5년 이상 떨어져있는 코드쌍 48,499개
-
갑상선기능저하증 -> 대상포진
-
고지혈증 -> 헬리코박터 파이로리
-
우울장애 -> 고양이 등 동물한테 물림
-
광장공포증/공포장애 -> 유방암 조영술로 미세석회화 촬영
-
-
10년 이상 떨어져있는 코드쌍 17,730개
-
갑상선기능저하증 -> 대상포진
-
고지혈증 -> 헬리코박터 파이로리
-
결론 및 주의할점
-
시간적인 관계가 단순히 코드 변화로 인해 생길 수도 있음. 예) 2005년에 부인과 검진 코드가 개편되었는데, 그로인해 부인과 검진(ICD V72.3) -> 주기적 부인과 검진(ICD V72.31) 시간적 연관성이 있다고 나옴.
-
심슨의 역설, 의심스러운 연관성도 나올 수 있으므로 해석에 주의해야함. 인구적 특성이 모두 제거된 데이터이므로, 데이터가 통합되면서 왜곡이 발생할 소지가 큼.
-
화살표를 사슬로 연결시켜 해석하면 안됨. a->b와 b->c는 끊어서 해석해야함. a->b->c를 의미하지 않음.
이 아래부터는 ICD 코드쌍의 기간별로 세부적인 그래프를 요약했다.
전체 ICD 코드쌍 네트워크
1일 이상 떨어져있는 코드쌍 그래프
그림 A는 전체 네트워크 그래프 중에서 1일 이상 시간적으로 떨어져있는 코드쌍만을 추린것. 그 결과 877개 노드와 874 에지로 구성된 네트워크만 남음.
그림 B는 A 네트워크를 일부 확대한 것이고, 노드 사이의 화살표는 시간적인 순서를 의미함. 화살표가 가리키는 방향이 나중에 생긴 코드. 주의할 것은 화살표를 사슬로 연결시켜 해석하면 안됨. a->b와 b->c는 끊어서 해석해야함. a->b->c를 의미하지 않음.
1일~30일 떨어져있는 코드쌍 3,032 개 중 일부
-
증가된 전립선 특이항원 -> 전립선 양성 종양
-
심장의 승모판 질환 -> 심장판막치환술
-
심장의 승모판 이상 -> 심장판막치환술
-
분만 전의 태아 둔위(엉덩이 위치) -> 태아 둔위, 분만
-
분만 전의 양수과소(임신 말기에 양수가 300ml 이하인 상태) -> 양수과소, 분만
5년 이상 떨어져있는 코드쌍 48,499개 중 일부
-
만성 신장병 -> 신장 투석
-
만성 신장병 -> 합병증, 신장 이식
-
신장 이식 -> 합병증, 신장 이식
-
합병증, 신장 이식 -> 예방 면역 요법
-
합병증, 신장 이식 -> 만성 신장병
-
예방 면역 요법 -> 말기 신장병
-
대동맥 판막 이상 -> 심장 판막 이식
-
알레르기성 비염 -> 동물 털/비듬으로 인한 비염
-
꽃가루에 의한 알레르기성 비염 -> 동물 털/비듬으로 인한 비염
-
하지 골관절염 -> 무릎 관절 치환술
-
골반, 허벅지, 관절 통증 -> 골반/허벅지에 국한된 골관절염
10년 이상 떨어져있는 코드쌍 17,730개 중 일부
-
신장병, 신장 이식, 예방 면역 요법 과 관련된 연관쌍들
-
근시 -> 난시
-
울혈성 심부전증 -> 자동 이식형 심장제세동기
-
감독, 일반 정상 임신 -> 출산, 노산, 분만 전 (연관성이 높다고 수치가 나왔지만, 말이 안되는 경우라 해석에 주의해야 함)
-
유방 X선 검사 -> 이상 발견, 유방 X선
참고문헌
Hanauer, D. A., & Ramakrishnan, N. (2013). Modeling temporal relationships in large scale clinical associations. Journal of the American Medical Informatics Association, 20(2), 332–341. https://doi.org/10.1136/amiajnl-2012-001117