KR20220164986A - 코호트 추출 방법, 이를 구현한 코호트 추출 장치 및 코호트 추출 프로그램 - Google Patents

코호트 추출 방법, 이를 구현한 코호트 추출 장치 및 코호트 추출 프로그램 Download PDF

Info

Publication number
KR20220164986A
KR20220164986A KR1020210073385A KR20210073385A KR20220164986A KR 20220164986 A KR20220164986 A KR 20220164986A KR 1020210073385 A KR1020210073385 A KR 1020210073385A KR 20210073385 A KR20210073385 A KR 20210073385A KR 20220164986 A KR20220164986 A KR 20220164986A
Authority
KR
South Korea
Prior art keywords
history table
event
stage
current
condition
Prior art date
Application number
KR1020210073385A
Other languages
English (en)
Inventor
류대협
이유나
Original Assignee
주식회사 라인웍스
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 라인웍스 filed Critical 주식회사 라인웍스
Priority to KR1020210073385A priority Critical patent/KR20220164986A/ko
Priority to PCT/KR2022/006743 priority patent/WO2022260291A1/ko
Publication of KR20220164986A publication Critical patent/KR20220164986A/ko

Links

Images

Classifications

    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H10/00ICT specially adapted for the handling or processing of patient-related medical or healthcare data
    • G16H10/60ICT specially adapted for the handling or processing of patient-related medical or healthcare data for patient-specific data, e.g. for electronic patient records
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H40/00ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices
    • G16H40/20ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices for the management or administration of healthcare resources or facilities, e.g. managing hospital staff or surgery rooms
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H70/00ICT specially adapted for the handling or processing of medical references

Landscapes

  • Health & Medical Sciences (AREA)
  • Engineering & Computer Science (AREA)
  • Epidemiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Primary Health Care (AREA)
  • Public Health (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Biomedical Technology (AREA)
  • Medical Treatment And Welfare Office Work (AREA)

Abstract

코호트 추출 장치의 동작 방법으로서, 코호트 생성 조건을 입력받고, 임상데이터웨어하우스에서 상기 코호트 생성 조건에 해당하는 이벤트들을 추출하는 단계, 추출한 각 이벤트의 이벤트 식별자, 환자 식별자, 그리고 최초 단계의 조건 만족을 나타내는 비트열을 포함하는 최초 히스토리 테이블을 생성하는 단계, 현재 단계의 조건을 입력받고, 직전 단계의 히스토리 테이블에 포함된 환자들 중에서, 상기 현재 단계의 조건에 해당하는 이벤트를 가지는 현재 단계 환자들을 식별하고, 상기 직전 단계의 히스토리 테이블에 포함된 상기 현재 단계 환자들의 각 이벤트에 대해 비트열을 갱신하고, 상기 현재 단계에서 추출된 신규 이벤트들을 추가하여 현재 단계의 히스토리 테이블을 생성하는 단계, 그리고 단계별 히스토리 테이블을 순차적으로 생성한 이후, 최종 단계의 히스토리 테이블을 이용하여 코호트 테이블을 생성하는 단계를 포함한다.

Description

코호트 추출 방법, 이를 구현한 코호트 추출 장치 및 코호트 추출 프로그램{METHOD FOR EXTRACTING PATIENT COHORT, APPARATUS AND PROGRAM IMPLEMENTING THE METHOD}
본 개시는 환자 코호트 추출에 관한 것이다.
연구자는 임상데이터웨어하우스(Clinical Data Warehouse, CDW)에서 추출한 코호트(Cohort)를 이용하여 의료 연구를 진행하기 때문에, 코호트 추출이 매우 중요하다. 따라서, 연구자는 각종 조건을 만족하는 코호트가 적정한지 판단하고, 조건을 변경해 가면서 적정 환자수의 코호트를 추출하려고 한다.
하지만, 종래의 코호트 추출 장치는 조건들을 입력받고, CDW에서 모든 조건을 만족하는 환자군을 출력하는데, 조건에 따라 추출된 환자수가 가변된다. 따라서, 연구자는 조건을 변경해 가면서 방대한 CDW에서 코호트 추출 작업을 반복해야 하므로, 연구자가 만족할 만한 코호트를 얻기까지 상당한 시간이 걸린다. 또한, 조건 수가 늘어나면 쿼리량이 늘어나는데, 변경되지 않은 조건의 환자까지 다시 추출해야 하므로, 불필요한 작업이 반복된다.
본 개시는, 코호트를 단계적으로 추출 방법, 이를 구현한 코호트 추출 장치 및 코호트 추출 프로그램을 제공하는 것이다.
구체적으로, 본 개시는 단계마다 각 환자의 이벤트들을 포함하는 히스토리 테이블을 생성하고, 히스토리 테이블에 이벤트별로 조건 만족 여부를 나타내는 비트열(bit string)을 업데이트하면서 코호트를 추출하는 방법을 제공하는 것이다.
한 실시예에 따른 코호트 추출 장치의 동작 방법으로서, 코호트 생성 조건을 입력받고, 임상데이터웨어하우스에서 상기 코호트 생성 조건에 해당하는 이벤트들을 추출하는 단계, 추출한 각 이벤트의 이벤트 식별자, 환자 식별자, 그리고 최초 단계의 조건 만족을 나타내는 비트열을 포함하는 최초 히스토리 테이블을 생성하는 단계, 현재 단계의 조건을 입력받고, 직전 단계의 히스토리 테이블에 포함된 환자들 중에서, 상기 현재 단계의 조건에 해당하는 이벤트를 가지는 현재 단계 환자들을 식별하고, 상기 직전 단계의 히스토리 테이블에 포함된 상기 현재 단계 환자들의 각 이벤트에 대해 비트열을 갱신하고, 상기 현재 단계에서 추출된 신규 이벤트들을 추가하여 현재 단계의 히스토리 테이블을 생성하는 단계, 그리고 단계별 히스토리 테이블을 순차적으로 생성한 이후, 최종 단계의 히스토리 테이블을 이용하여 코호트 테이블을 생성하는 단계를 포함한다.
단계별로 생성되는 각 히스토리 테이블은 해당 단계의 조건을 만족하는 이벤트들을 포함하고, 각 이벤트의 이벤트 식별자, 환자 식별자, 그리고 해당 단계까지의 조건 만족 여부를 나타내는 비트열이 기재될 수 있다. 상기 비트열은 각 단계의 조건 만족 여부를 1 또는 0으로 나타내는 자리가 지정될 수 있다.
상기 현재 단계의 히스토리 테이블을 생성하는 단계는 상기 직전 단계의 히스토리 테이블에서 상기 현재 단계 환자들의 이벤트들을 확인하고, 확인한 이벤트의 비트열을 상기 현재 단계의 조건 만족을 나타내는 값으로 갱신하여, 상기 현재 단계의 히스토리 테이블에 기록할 수 있다.
상기 현재 단계의 히스토리 테이블을 생성하는 단계는 상기 현재 단계에서 신규 이벤트가 추출되면, 상기 신규 이벤트의 식별자, 환자 식별자, 그리고 상기 현재 단계의 조건 만족을 나타내는 비트열을 상기 현재 단계의 히스토리 테이블에 기록할 수 있다. 상기 신규 이벤트의 비트열은 상기 현재 단계에 지정된 자리의 값이 1이고, 다른 단계에 지정된 자리의 값이 0으로 기재될 수 있다.
상기 현재 단계의 히스토리 테이블을 생성하는 단계는 상기 직전 단계의 히스토리 테이블에 포함된 환자들 중에서, 상기 현재 단계의 조건에 해당하는 이벤트를 가지지 않는 이전 단계 환자를 식별하고, 상기 이전 단계 환자의 이벤트들을 상기 현재 단계의 히스토리 테이블에 기록하지 않을 수 있다.
상기 동작 방법은 특정 단계에서 추출된 이벤트 수 또는 환자 수를 요청받으면, 상기 특정 단계의 히스토리 테이블을 이용하여 상기 이벤트 수 또는 상기 환자 수를 계산하는 단계를 더 포함할 수 있다.
상기 동작 방법은 특정 단계의 변경 조건을 입력받는 단계, 상기 특정 단계의 직전 단계에서 생성된 직전 단계 히스토리 테이블을 가져오는 단계, 그리고 상기 직전 단계 히스토리 테이블에 포함된 환자들 중에서, 상기 특정 단계의 변경 조건에 해당하는 이벤트를 가지는 특정 단계 환자들을 식별하고, 상기 직전 단계 히스토리 테이블에 포함된 상기 특정 단계 환자들의 각 이벤트에 대해 비트열을 갱신하고, 상기 특정 단계에서 추출된 신규 이벤트들을 추가하여 상기 특정 단계의 히스토리 테이블을 재생성하는 단계를 더 포함할 수 있다.
상기 동작 방법은 재생성된 상기 특정 단계의 히스토리 테이블을 이용하여, 상기 특정 단계 이후 단계의 히스토리 테이블을 순차적으로 재생성하는 단계를 더 포함할 수 있다.
다른 실시예에 따른 코호트 추출 장치의 동작 방법으로서, 조건을 입력받는 단계, 직전 단계에서 생성된 제1 히스토리 테이블에 포함된 환자들의 임상데이터를 기초로, 상기 제1 히스토리 테이블에 포함된 환자들 중에서 상기 조건을 만족하는 현재 단계 환자를 식별하는 단계, 상기 제1 히스토리 테이블에 포함된 상기 현재 단계 환자의 모든 이벤트들의 이벤트 식별자, 환자 식별자, 그리고 갱신된 비트열을 제2 히스토리 테이블에 기록하는 단계, 상기 조건에 해당하는 신규 이벤트가 추출되는 경우, 상기 신규 이벤트의 이벤트 식별자, 환자 식별자, 그리고 현재 단계에서 추출된 이벤트를 나타내는 비트열을 제2 히스토리 테이블에 기록하는 단계, 그리고 상기 제2 히스토리 테이블을 현재 단계의 히스토리 테이블로 저장하는 단계를 포함한다.
상기 동작 방법은 상기 제1 히스토리 테이블에 포함된 상기 현재 단계 환자의 모든 이벤트들의 경우, 상기 제1 히스토리 테이블에 기록된 비트열에서 현재 단계에 지정된 자리의 값이 1로 갱신된 비트열이 상기 제2 히스토리 테이블에 기록될 수 있다.
상기 신규 이벤트의 경우, 상기 현재 단계에 지정된 자리의 값이 1이고, 다른 단계에 지정된 자리의 값이 0인 비트열이 상기 제2 히스토리 테이블에 기록될 수 있다.
상기 제1 히스토리 테이블에 포함된 이벤트들 중에서, 상기 조건에 해당하는 이벤트를 가지지 않는 이전 단계 환자의 이벤트들은 상기 제2 히스토리 테이블에 기록되지 않을 수 있다.
또 다른 실시예에 따라 컴퓨터 판독 가능한 저장매체에 저장되고 적어도 하나의 프로세서에 의해 실행되는 명령어들을 포함하는 컴퓨터 프로그램으로서, 코호트 생성 조건을 입력받고, 임상데이터웨어하우스에서 상기 코호트 생성 조건에 해당하는 이벤트들을 추출하는 단계, 추출한 각 이벤트의 이벤트 식별자, 환자 식별자, 그리고 최초 단계의 조건 만족을 나타내는 비트열을 포함하는 최초 히스토리 테이블을 생성하는 단계, 현재 단계의 조건을 입력받고, 직전 단계의 히스토리 테이블에 포함된 환자들 중에서, 상기 현재 단계의 조건에 해당하는 이벤트를 가지는 현재 단계 환자들을 식별하고, 상기 직전 단계의 히스토리 테이블에 포함된 상기 현재 단계 환자들의 각 이벤트에 대해 비트열을 갱신하고, 상기 현재 단계에서 추출된 신규 이벤트들을 추가하여 현재 단계의 히스토리 테이블을 생성하는 단계, 그리고 단계별 히스토리 테이블을 순차적으로 생성한 이후, 최종 단계의 히스토리 테이블을 이용하여 코호트 테이블을 생성하는 단계를 실행하도록 기술된 명령어들을 포함할 수 있다.
단계별로 생성되는 각 히스토리 테이블은 해당 단계의 조건을 만족하는 이벤트들을 포함하고, 각 이벤트의 이벤트 식별자, 환자 식별자, 그리고 해당 단계까지의 조건 만족 여부를 나타내는 비트열이 기재될 수 있다. 상기 비트열은 각 단계의 조건 만족 여부를 1 또는 0으로 나타내는 자리가 지정될 수 있다.
상기 현재 단계의 히스토리 테이블을 생성하는 단계는 상기 직전 단계의 히스토리 테이블에서 상기 현재 단계 환자들의 이벤트들을 확인하고, 확인한 이벤트의 비트열을 상기 현재 단계의 조건 만족을 나타내는 값으로 갱신하여, 상기 현재 단계의 히스토리 테이블에 기록하고, 상기 현재 단계에서 신규 이벤트가 추출되면, 상기 신규 이벤트의 식별자, 환자 식별자, 그리고 상기 현재 단계의 조건 만족을 나타내는 비트열을 상기 현재 단계의 히스토리 테이블에 기록할 수 있다.
실시예에 따르면, 단계마다 추출된 각 환자의 이벤트들 및 각 이벤트의 단계별 조건 만족 여부를 나타내는 비트열을 히스토리 테이블로 관리하기 때문에, 복수의 히스토리 테이블들을 이용하여, 각 단계에서의 환자 수 및 이벤트 수를 빠르게 계산할 수 있고, 이를 통해 연구자는 코호트의 적정성을 빠르게 판단할 수 있다.
실시예에 따르면, 각 이벤트의 단계별 조건 만족 여부를 나타내는 비트열을 통해, 이벤트가 추출된 단계 및 이벤트가 조건을 만족하는 단계를 빠르게 확인할 수 있다.
실시예에 따르면, 최종 단계까지의 이벤트 추출을 완료한 이후에, 특정 단계의 조건을 변경해야 하는 경우, 직전 단계에서 생성된 히스토리 테이블을 이용하여, 변경 조건을 만족하는 이벤트들을 포함하는 새로운 히스토리 테이블을 생성할 수 있다.
도 1과 도 2는 종래의 코호트 추출 방법을 설명하는 도면이다.
도 3은 코호트 추출 장치를 설명하는 도면이다.
도 4부터 도 6은 코호트 추출 방법을 예시적으로 설명하는 도면이다.
도 7은 히스토리 테이블을 이용한 코호트 재추출 방법을 설명하는 도면이다.
도 8은 코호트 추출 방법의 흐름도이다.
도 9는 한 실시예에 따른 컴퓨팅 장치의 하드웨어 구성도이다.
아래에서는 첨부한 도면을 참고로 하여 본 개시의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "…부", "…기", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
도 1과 도 2는 종래의 코호트 추출 방법을 설명하는 도면이다.
도 1을 참고하면, 종래의 코호트 추출 장치(10)는 연구자로부터 코호트 조건(criteria)(조건1, 조건2, …., 조건n)을 입력받고, 각종 환자 데이터를 저장하는 임상데이터웨어하우스(Clinical Data Warehouse, CDW)(20)에서 모든 조건을 만족하는 K명의 환자들을 추출한다. 종래의 코호트 추출 장치(10)는 K명 환자들의 데이터들을 포함하는 코호트 테이블을 출력한다.
만약, 연구자가 조건1을 변경하거나, 조건1을 삭제하고 싶은 경우, 종래의 코호트 추출 장치(10)로 변경된 조건들을 입력하고, 모든 조건을 만족하는 M명의 환자들로 구성된 코호트를 얻을 수 있다. 하지만, 종래의 코호트 추출 장치(10)는 입력 조건들 중 하나라도 변경되면, 코호트 추출 작업을 다시 진행해야 하므로, 코호트 추출 작업을 반복하게 되고, 변경되지 않은 조건의 환자들까지 다시 추출해야 하므로, 불필요한 작업이 반복된다. 또한 조건 수가 늘어나면 쿼리량이 늘어나서 추출 시간이 상당히 소요될 수 있다.
도 2를 참고하면, 종래의 코호트 추출 장치(10)는 연구자로부터 코호트 조건(조건1, 조건2, …., 조건n)을 단계적으로 입력받고, 점차 환자수를 줄여 가면서 K명의 환자들을 추출할 수 있다. 즉, 종래의 코호트 추출 장치(10)는 조건1을 만족하는 제1환자군을 추출하고, 제1환자군에서 조건2를 만족하는 제2환자군을 추출하고, 제2환자군에서 조건3을 만족하는 제3환자군을 추출하면서, K명의 환자군을 추출할 수 있다.
각 단계에서 추출된 환자군은 해당 단계까지의 모든 조건을 만족하는 환자들이라서, 연구자는 최초 단계부터 현재 단계까지 설정된 모든 조건을 만족하는 환자들을 얻을 수 있다. 이처럼, 종래의 코호트 추출 장치(10)는 환자들을 추출하는 데 집중하고 있어서, 현재 단계까지의 모든 조건(예를 들면, 고혈압 진단, 50대, 남성, A약물 처방, B약물 처방)을 만족하는 환자만을 식별한다. 따라서, 연구자는 추출된 환자가 현재 단계까지의 모든 조건(예를 들면, 고혈압 진단, 50대, 남성, A약물 처방, B약물 처방)에 해당한다는 것을 알 수 있을 뿐, 환자가 A약물과 B약물을 함께 처방받은 것인지 따로 처방받은 것인지, A약물을 고혈압 진단 시 처방받은 것인지 다른 질병 진단 시 처방받은 것인지 알기는 어렵다. 만약, 연구자가 A약물과 B약물을 함께 처방받은 코호트를 얻고자 하는 경우, 환자 데이터를 분석해서 환자들을 재선별해야 한다.
한편, 키워드 검색과 같이 검색을 원하는 속성이 한 가지이면, 검색 장치는 1차원 데이터에서 원하는 대상을 추출하면 된다. 하지만, 코호트 추출 작업은 한 환자의 임상데이터에서 추출한다고 하더라도, 나이, 성별, 주진단명, 부진단명, 진단 날짜, 투약한 약물명, 처방 날짜 등의 속성마다의 테이블에서 조건에 적합한 데이터를 가져와야 한다. 따라서, 코호트 추출 작업은 테이블의 양, 속성의 특성 및 검색 조건에 따라 검색 속도가 기하급수적으로 느려지게 되는데 이러한 작업을 조건을 변경할 때마다 반복해야 한다면, 시간 및 자원이 낭비될 수 있다.
다음에서 이러한 종래 방법을 개선한 코호트 추출 방법에 대해 자세히 설명한다.
도 3은 코호트 추출 장치를 설명하는 도면이다.
도 3을 참고하면, 코호트 추출 장치(100)는 적어도 하나의 프로세서에 의해 동작하는 컴퓨팅 장치이다. 코호트 추출 장치(100)의 프로세서가 컴퓨터 프로그램에 포함된 명령어들을 실행함으로써, 본 개시의 동작을 수행한다. 컴퓨터 프로그램은 프로세서가 본 개시의 동작을 실행하도록 기술된 명령어들(instructions)을 포함하고, 비일시적-컴퓨터 판독가능 저장매체(non-transitory computer readable storage medium)에 저장될 수 있다. 컴퓨터 프로그램은 네트워크를 통해 다운로드되거나, 제품 형태로 판매될 수 있고, 연구소, 병원 등의 다양한 사이트의 컴퓨팅 장치에 설치될 수 있다.
코호트 추출 장치(100)는 각종 환자 데이터를 저장하는 임상데이터웨어하우스(CDW)(20)에서 코호트를 추출한다. 임상데이터웨어하우스(CDW)(20)에서 추출되는 환자 데이터의 종류는 다양할 수 있는데, 편의 상 임상 데이터라고 통칭한다. 또한, 코호트 추출 장치(100)는 다양한 저장소로부터 환자 데이터를 추출할 수 있는데, 편의 상 임상데이터웨어하우스에서 추출한다고 설명한다.
코호트 추출 장치(100)는 단계별로 조건을 입력받는데, 단계마다 조건에 해당하는 이벤트들을 추출하고, 이벤트들을 환자별로 정렬하여 각 환자의 이벤트들을 포함하는 히스토리 테이블을 생성한다. 여기서, 이벤트는 임상데이터웨어하우스(CDW)(20)에서 확인 가능한 정보로서, 일정 시점에 환자에게 발생한 사건, 행위 등을 구분하는 정보를 의미한다. 예를 들어, 이벤트는, 질병 진단 이벤트(예를 들면, E10-E14 질병코드를 받은 당뇨병 진단 내역), 약물 처방 이벤트(예를 들면, Aspirin을 처방받은 내역), 검사 이벤트(예를 들면, 저밀도지단백(LDL)콜레스테롤 검사 받은 내역), 입원 이벤트(예를 들면, 응급실 방문 내역) 등으로 정의될 수 있다. 여기서, 조건은 코호트 생성(entry) 조건(예를 들면, 고혈압 질병을 한 번이라도 진단받은 사람), 그리고 추출하고자 하는 세부 조건(예를 들면, 약물, 나이 등)을 포함할 수 있다. 세부 조건은 해당 항목의 포함 또는 미포함으로 정의될 수 있고, 범위로 정의될 수 있다.
코호트 추출 장치(100)는 코호트 생성(entry) 조건에 대한 히스토리 테이블1을 최초로 생성한 이후, 단계별로 입력된 조건(criteria)을 이용하여 히스토리 테이블2, …, 히스토리 테이블n을 별도로 생성한다.
히스토리 테이블은 이벤트별로 각 현재 단계까지의 조건 만족 여부를 0, 1로 나타내는 비트열(bit string)을 포함한다. 비트열의 자리마다 단계가 할당되고, 해당 비트의 값이 1이면 해당 단계의 조건을 만족하는 것을 나타내고, 해당 비트의 값이 0이면 해당 단계의 조건을 만족하지 않는다는 것을 나타낼 수 있다. 예를 들어, 비트열이 10비트인 경우, "0000000001"은 단계1의 조건을 만족하는 이벤트를 나타내고, "0000000011"은 단계1 및 단계2의 조건을 만족하는 이벤트를 나타내며, "0000000010"은 단계2의 조건을 만족하는 이벤트를 나타낸다.
코호트 추출 장치(100)는 이전 단계의 히스토리 테이블에 포함된 환자들 중에서, 현재 단계의 조건에 해당하는 이벤트를 가지는 현재 단계 환자를 식별한다. 그리고, 코호트 추출 장치(100)는 현재 단계의 조건을 만족하는 이벤트들로 구성된 현재 단계의 히스토리 테이블을 생성한다.
이때, 코호트 추출 장치(100)는 이전 단계의 히스토리 테이블에 존재하는 현재 단계 환자의 이벤트가 있으면 해당 이벤트의 비트열을 갱신(예를 들면, "0000000001"에서 "0000000011"로 갱신)하고, 현재 단계에서 추출된 이벤트를 신규 이벤트로 추가해서, 현재 단계의 히스토리 테이블을 생성한다. 신규 이벤트는 현재 단계에 할당된 비트가 "1"인 비트열(예를 들면, "0000000010")이 기재될 수 있다.
코호트 추출 장치(100)는 이전 단계의 히스토리 테이블에 포함된 환자들 중에서, 현재 단계의 조건에 해당하는 이벤트가 없는 이전 단계 환자를 식별한다. 그리고, 코호트 추출 장치(100)는 이전 단계의 히스토리 테이블에서 이전 단계 환자의 이벤트들을 현재 단계의 히스토리 테이블로 가져오지 않는다.
히스토리 테이블은 단계별로 생성되고, 이벤트 단위로 기재되고, 환자에 따라서는 복수의 이벤트들이 기재될 수 있는데, 해당 단계의 조건에 해당하는 이벤트를 하나라도 가지는 환자의 이벤트들이 기재된다. 이러한 히스토리 테이블의 스키마는 다양하게 정의될 수 있는데, 예를 들면 표 1과 같이, 행마다 이벤트가 기재되고, 열은 이벤트 정보가 기재되며, 환자별로 정렬될 수 있다. 이벤트 정보는, 환자 식별자(person_ID), 방문 식별자(visit_ID), 이벤트 시작일(start_date), 이벤트 종료일(end_date), 이벤트 종류(event_type), 세부 조건 종류(criteria_type)를 포함할 수 있다. 여기서, 방문 식별자(visit_ID), 이벤트 시작일(start_date), 이벤트 종료일(end_date)는 이벤트를 구분하는 데 사용되는 이벤트 식별자로 사용될 수 있다.
person_ID visit_ID start_date end_date event_type criteria_type
A 1 2021-01-02 2021-01-03 0000000011
A 3 2021-01-10 2021-01-20 0000000010 criteria1
(e.g., drug)
B 5 2021-02-01 2021-02-07 0000000010 criteria1
(e.g., drug)
B 7 2021-02-15 2021-02-17 0000000011
표 1에서, 환자 식별자(person_ID)는 조건을 만족하는 환자를 구분하는 식별자이다. 방문 식별자(visit_ID)는 이벤트가 발생한 방문을 구분하는 식별자이다. 이벤트 시작일(start_date) 및 이벤트 종료일(end_date)은 이벤트의 시작일 및 종료일을 나타낸다. 이벤트 종류(event_type)는 이벤트의 단계 정보로서, 각 현재 단계까지의 조건 만족 여부를 0, 1로 나타내는 비트열로 표현될 수 있고, 단계에 따라 갱신될 수 있다. 세부 조건 종류(criteria_type)는 이벤트가 추출된 세부 조건을 나타내는 정보로서, 이벤트가 최초 추출된 세부 조건이 기재된다.
코호트 추출 장치(100)는 각 단계의 히스토리 테이블에서, 환자 수 및 이벤트 수를 계산하여 출력할 수 있다. 따라서, 연구자는 환자 수 및 이벤트 수를 보고 추출된 코호트의 적정성을 손쉽게 판단할 수 있다.
코호트 추출 장치(100)는 히스토리 테이블에서 특정 이벤트 종류를 가지는 이벤트들만을 빠르게 추출할 수 있다. 예를 들면, 코호트 추출 장치(100)는 히스토리 테이블에서, 이벤트 종류가 "********11"로 기재된 이벤트들을 추출하면, 조건1을 만족하는 이벤트들 중에서, 조건2를 만족하는 환자에 의해 발생된 이벤트 수를 계산할 수 있고, "********11"로 기재된 이벤트의 환자 식별자를 기초로 조건1 및 조건2를 만족하는 이벤트를 가지는 환자 수를 계산할 수 있다. 따라서, 코호트 추출 장치(100)는 이벤트 수나 환자 수 계산을 위해 SQL 쿼리를 새로 생성해서 CDW에서 추출할 필요 없고, 히스토리 테이블의 이벤트 종류 열에서 비트 연산을 하면 되므로 이벤트 수 및 환자 수를 빠르게 계산할 수 있다.
코호트 추출 장치(100)는 최종 단계 또는 특정 단계의 히스토리 테이블로부터 코호트 테이블을 생성하고, 이를 출력할 수 있다. 코호트 테이블은 히스토리 테이블에 포함된 환자들의 각종 임상데이터를 포함한다.
한편, 연구자는 최종 단계까지의 이벤트 추출을 완료한 이후에, 특정 단계의 조건을 변경하고 싶을 수 있다. 이 경우, 연구자는 코호트 추출 장치(100)로 변경하고자 하는 특정 단계, 그리고 변경 조건을 입력한다. 그러면, 코호트 추출 장치(100)는 저장된 히스토리 테이블들 중에서 특정 단계의 직전 단계에서 생성된 히스토리 테이블을 가져오고, 이 히스토리 테이블을 이용하여, 변경 조건을 만족하는 이벤트들을 포함하는 특정 단계의 새로운 히스토리 테이블을 생성할 수 있다.
다음에서, 코호트 추출 장치(100)가 단계별로 히스토리 테이블을 생성하는 방법에 대해 자세히 설명한다.
도 4부터 도 6은 코호트 추출 방법을 예시적으로 설명하는 도면이다.
도 4부터 도 6을 참고하여, 코호트 추출 장치(100)가 단계별로 히스토리 테이블을 생성하는 방법에 대해 예시적으로 설명한다.
최초 단계인 단계1의 조건은 코호트 생성(entry) 조건으로서, 예를 들면, 고혈압 질병을 한 번이라도 진단받은 사람일 수 있다. 단계2의 조건은 약물(drug)이라고 가정한다. 단계2에서 약물 또는 특정 약물을 처방받은 이벤트가 추출된다. 단계3의 조건은 나이(age)라고 가정한다. 단계3에서 특정 나이대에 해당하는 환자가 추출된다.
먼저 도 4를 참고하면, 코호트 추출 장치(100)는 단계1의 조건을 입력받고, 임상데이터웨어하우스(CDW)에서 단계1의 조건에 해당하는 고혈압 진단 이벤트들을 추출한다. 예를 들면, 9개의 이벤트들인 event1, event2, …, event9가 추출되는 데, event1 및 event2는 환자A의 고혈압 진단 이벤트이고, event3은 환자B의 고혈압 진단 이벤트이고, event4 및 event5는 환자C의 고혈압 진단 이벤트이고, event6은 환자D의 고혈압 진단 이벤트이고, event7 및 event8는 환자E의 고혈압 진단 이벤트이고, event9는 환자F의 고혈압 진단 이벤트라고 가정한다.
코호트 추출 장치(100)는 단계1의 조건에 따라 추출한 이벤트들을 히스토리 테이블1로 저장하되, 환자 식별자 및 이벤트 식별자(방문 식별자, 이벤트 시작일, 이벤트 종료일)와 함께, 현재 단계까지의 조건 만족 여부를 나타내는 비트열을 이벤트 종류에 기록할 수 있다. 코호트 추출 장치(100)는 표 2와 같이 단계1의 히스토리 테이블을 생성할 수 있다. 편의 상, 히스토리 테이블에서 이벤트 시작일(start_date), 이벤트 종료일(end_date)의 값을 생략한다.
event person_ID visit_ID event_type criteria_type
1 A 1 0000000001
2 A 3 0000000001
3 B 5 0000000001
4 C 7 0000000001
5 C 9 0000000001
6 D 11 0000000001
7 E 13 0000000001
8 E 15 0000000001
9 F 17 0000000001
표 2를 참고하면, 단계1에서 추출된 이벤트들이므로, 단계1에 할당된 맨 끝자리가 1인 "0000000001"이 이벤트 종류에 기재될 수 있다. 단계1은 코호트 생성 조건이므로, 이벤트가 추출된 세부 조건을 나타내는 세부 조건 종류는 값이 비어 있다(NULL).
코호트 추출 장치(100)는 단계1에서 추출된 이벤트 수를 요청받은 경우, 단계1의 히스토리 테이블에서 이벤트 종류(event_type)가 "0000000001"인 행 수를 계산하고, 이벤트 수 9를 출력할 수 있다.
코호트 추출 장치(100)는 단계1에서 추출된 환자 수를 요청받은 경우, 단계1의 히스토리 테이블에서 환자 식별자(person_ID)로 구분되는 수를 계산하고, 환자 수 6을 출력할 수 있다.
도 5를 참고하면, 코호트 추출 장치(100)는 단계2의 조건(약물)을 입력받고, 히스토리 테이블1로부터 단계2의 조건을 만족하는 이벤트들을 포함하는 히스토리 테이블2를 생성한다.
코호트 추출 장치(100)는 임상데이터웨어하우스(CDW)를 참조하여, 단계1의 히스토리 테이블1에 포함된 환자들 중에서, 단계2의 조건(약물)에 해당하는 이벤트를 가지는 현재 단계 환자를 식별한다. 그리고, 코호트 추출 장치(100)는 단계1의 히스토리 테이블1에 기록된 현재 단계 환자의 모든 이벤트들의 비트열을 갱신(예를 들면, "0000000001"에서 "0000000011"로 갱신)하고, 단계2에서 추출된 이벤트를 신규 이벤트로 추가해서, 단계2의 히스토리 테이블2를 생성한다. 이때, 코호트 추출 장치(100)는 히스토리 테이블1에 포함된 환자들 중에서, 단계2의 조건(약물)에 해당하는 이벤트를 하나도 가지지 않는 환자(이전 단계 환자)를 식별하고, 이전 단계 환자의 이벤트들을 단계2의 히스토리 테이블로 가져오지 않고 제외한다.
예를 들면, 히스토리 테이블1에 포함된 환자들 중에서, 환자B는 단계2의 조건(약물)에 해당하는 이벤트를 가지지 않는다고 가정한다. 단계2에서 event10-event14가 새로 추출된다고 가정한다. 그러면, 코호트 추출 장치(100)는 표 3과 같이, 히스토리 테이블2를 생성할 수 있다. 히스토리 테이블2에 기록된 환자 수는 5이고, 이벤트 수는 13이다.
event person_ID visit_ID event_type criteria_type
1 A 1 0000000011
New 10 A 2 0000000010 drug
2 A 3 0000000011
4 C 7 0000000011
New 11 C 8 0000000010 drug
5 C 9 0000000011
6 D 11 0000000011
New 12 D 12 0000000010 drug
7 E 13 0000000011
New 13 E 14 0000000010 drug
8 E 15 0000000011
9 F 17 0000000011
New 14 F 18 0000000010 drug
표 3을 참고하면, 환자B는 단계2의 조건(약물)에 해당하는 이벤트를 가지지 않으므로, 환자B의 고혈압 진단 이벤트인 event3은 히스토리 테이블2에 기록되지 않는다.
히스토리 테이블1에 포함된 event1, event2, event4-event9의 이벤트 종류 "0000000001"은, 단계2의 조건(약물)에 해당하는 이벤트를 가지는 현재 단계 환자의 이벤트들이므로, 단계2에 할당된 두번째 자리가 1인 "0000000011"로 갱신된다.
단계2에서 새로 추출된 event 10-event14가 히스토리 테이블2에 추가되고, 이들의 이벤트 종류는 단계2에 할당된 끝에서 두번째 자리가 1인 "0000000010"이 기재된다. 또한 event10-event14는 단계2의 조건에서 최초로 추출되었으므로, 세부 조건 종류(criteria_type)에 약물(drug)이 기재된다.
코호트 추출 장치(100)는 단계2에서 추출된 이벤트 수를 요청받은 경우, 히스토리 테이블2에서 이벤트 종류(event_type)가 "0000000010"인 행 수를 계산하고, 이벤트 수 5를 출력할 수 있다.
도 6을 참고하면, 코호트 추출 장치(100)는 단계3의 조건을 입력받고, 히스토리 테이블2로부터 단계3의 조건을 만족하는 이벤트들을 포함하는 히스토리 테이블3을 생성한다.
코호트 추출 장치(100)는 임상데이터웨어하우스(CDW)를 참조하여, 단계2의 히스토리 테이블2에 포함된 환자들 중에서, 단계3의 조건에 해당하는 이벤트를 가지는 현재 단계 환자를 식별한다. 그리고, 코호트 추출 장치(100)는 단계2의 히스토리 테이블2에 기록된 현재 단계 환자의 이벤트의 비트열을 갱신(예를 들면, "0000000011"에서 "0000000111"로 갱신)한다. 그리고, 코호트 추출 장치(100)는 단계3에서 추출된 신규 이벤트를 단계3의 히스토리 테이블3에 추가할 수 있다.
코호트 추출 장치(100)는 히스토리 테이블2에 포함된 환자들 중에서, 단계3의 조건에 해당하지 않는 이전 단계 환자가 있으면, 이 환자의 이벤트들을 삭제한다.
한편, 조건이 나이/성별인 경우, 나이/성별 계산 조건은 환자의 가장 빠른 이벤트(Earliest event), 가장 늦은 이벤트(Latest event), 각 이벤트(Each event)가 가능하다.
예를 들면, 히스토리 테이블2에 포함된 환자들 중에서, 환자D는 단계3의 조건(나이)에 해당하지 않고, 나머지 환자들은 단계3 조건을 만족하는 현재 단계 환자라고 가정한다. 그러면, 코호트 추출 장치(100)는 표 4와 같이, 이전 단계 환자인 환자D의 event6 및 event12를 포함하지 않는 히스토리 테이블3을 생성할 수 있다. 코호트 추출 장치(100)는 단계2의 히스토리 테이블2에 기록된 현재 단계 환자의 이벤트들의 비트열을 갱신한다. 비트열은 단계3에 할당된 세번째 자리가 1로 갱신된다.
또한, 코호트 추출 장치(100)는 단계3에서 추출된 신규 이벤트를 단계3의 히스토리 테이블3에 추가하는데, 나이 계산 조건이 환자의 가장 빠른 이벤트인 경우, 표 4과 같이, 환자A, 환자C, 환자E, 환자F 각각의 가장 빠른 이벤트인 event1, event4, event7, event9와 동일한 이벤트 식별자를 가지는 new event15, new event16, new event17, new event18을 히스토리 테이블3에 추가할 수 있다. 그리고, 코호트 추출 장치(100)는 new event15, new event16, new event17, new event18의 세부 조건 종류(criteria_type)에 나이(age)를 기재한다.
event person_ID visit_ID event_type
(bit string)
criteria_type
1 A 1 0000000111
New 15 A 1 0000000100 age
10 A 2 0000000110 drug
2 A 3 0000000111
4 C 7 0000000111
New 16 C 7 0000000100 age
11 C 8 0000000110 drug
5 C 9 0000000111
7 E 13 0000000111
New 17 E 13 0000000100 age
13 E 14 0000000110 drug
8 E 15 0000000111
9 F 17 0000000111
New 18 F 17 0000000100 age
14 F 18 0000000110 drug
한편, 나이/성별 조건으로 추출된 event15, event16, event17, event18은 event1, event4, event7, event9와 동일한 이벤트 식별자(방문 식별자, 이벤트 시작일, 이벤트 종료일)를 가지므로, 이벤트 수를 계산할 때, 나이/성별 조건으로 추출된 이벤트들은 이벤트 수에서 제외될 수 있다. 따라서, 히스토리 테이블3에 기록된 환자 수는 4이고, 이벤트 수는 11로 계산될 수 있다. 코호트 추출 장치(100)는 각 히스토리 테이블에서 세부 조건 종류가 나이/성별(criteria_type='age', criteria_type='gender')인 이벤트들을 식별하고, 이를 전체 이벤트 수에서 제외할 수 있다.
이와 같은 방식으로, 코호트 추출 장치(100)는 단계마다 각 환자의 이벤트들을 포함하는 히스토리 테이블을 생성하는데, 히스토리 테이블에 이벤트별로 조건 만족 여부를 나타내는 비트열을 갱신해 둔다. 따라서, 코호트 추출 장치(100)는 조건을 만족하는 환자수를 검색할 때마다 SQL 쿼리를 작성할 필요 없이, 복수의 히스토리 테이블들을 이용하여, 각 단계에서의 환자 수 및 이벤트 수를 빠르게 계산할 수 있다. 특히, 이벤트 종류에 표시된 비트열을 통해, 이벤트가 추출된 단계 및 이벤트가 조건을 만족하는 단계를 빠르게 확인할 수 있다.
도 7은 히스토리 테이블을 이용한 코호트 재추출 방법을 설명하는 도면이다.
도 7을 참고하면, 코호트 추출 장치(100)는 코호트 생성(entry) 조건에 대한 히스토리 테이블1을 최초로 생성한 이후, 단계별로 입력된 조건을 이용하여 히스토리 테이블2, …, 히스토리 테이블n을 별도로 생성한다.
이후, 연구자가 단계k(예를 들면, 단계3)의 조건을 변경하는 경우, 코호트 추출 장치(100)는 직전 단계인 단계2의 히스토리 테이블2를 이용하여, 단계3의 변경된 조건에 해당하는 신규 히스토리 테이블3을 생성할 수 있다. 코호트 추출 장치(100)는 이렇게 재생성된 신규 히스토리 테이블3을 이용하여, 단계3 이후 단계의 히스토리 테이블을 순차적으로 재생성할 수 있다.
이처럼, 연구자가 조건을 변경하더라도, 변경 전의 히스토리 테이블을 그대로 사용하고, 변경된 조건에 대해서만 이벤트를 추출하면 되므로, 코호트 추출 속도가 향상될 수 있다.
도 8은 코호트 추출 방법의 흐름도이다.
도 8을 참고하면, 코호트 추출 장치(100)는 최초 단계에서 코호트 생성 조건을 입력받고, 임상데이터웨어하우스(CDW)에서 코호트 생성 조건에 해당하는 이벤트들을 추출한다(S110).
코호트 추출 장치(100)는 추출한 이벤트들의 이벤트 식별자(방문 식별자, 이벤트 시작일, 이벤트 종료일), 환자 식별자, 그리고 최초 단계의 조건 만족을 나타내는 비트열을 포함하는 최초 히스토리 테이블을 생성한다(S120).
이후, 코호트 추출 장치(100)는 현재 단계의 조건을 입력받고, 직전 단계의 히스토리 테이블에 포함된 환자들의 임상데이터에서, 현재 단계의 조건에 해당하는 이벤트를 추출한다(S130).
코호트 추출 장치(100)는 직전 단계의 히스토리 테이블에 포함된 환자들 중에서 현재 단계의 조건에 해당하는 이벤트가 추출된 현재 단계 환자들을 식별하고, 직전 단계의 히스토리 테이블에 포함된 현재 단계 환자들의 이벤트들의 비트열을 갱신하고, 현재 단계에서 처음 추출된 신규 이벤트를 추가해서, 현재 단계의 히스토리 테이블을 생성한다(S140). 코호트 추출 장치(100)는 직전 단계의 히스토리 테이블에 포함된 환자들 중에서 현재 단계의 조건에 해당하는 이벤트를 가지지 않는 이전 단계 환자들을 식별하고, 직전 단계의 히스토리 테이블에 저장된 이전 단계 환자들의 이벤트들은 현재 단계의 히스토리 테이블에 저장하지 않는다.
코호트 추출 장치(100)는 현재 단계가 최종 단계인지 판단한다(S150). 코호트 추출 장치(100)는 현재 단계가 최종 단계가 아니면, 다음 추출 단계의 조건을 입력받을 수 있는 상태로 대기한다. 코호트 추출 장치(100)는 종료 또는 코호트 테이블 생성 요청받으면, 현재 단계가 최종 단계라고 판단할 수 있다.
현재 단계가 최종 단계이면, 코호트 추출 장치(100)는 최종 단계의 히스토리 테이블을 이용하여 코호트 테이블을 생성한다(S160).
이처럼, 코호트 추출 장치(100)는 단계별 히스토리 테이블을 순차적으로 생성한 이후, 최종 단계의 히스토리 테이블을 이용하여 코호트 테이블을 생성한다.
도 9는 한 실시예에 따른 컴퓨팅 장치의 하드웨어 구성도이다.
도 9를 참고하면, 코호트 추출 장치(100)는 적어도 하나의 프로세서에 의해 동작하는 컴퓨팅 장치로 구현될 수 있다.
코호트 추출 장치(100)는 하나 이상의 프로세서(110), 프로세서(110)에 의하여 수행되는 컴퓨터 프로그램을 로드하는 메모리(130), 컴퓨터 프로그램 및 각종 데이터를 저장하는 저장 장치(150), 그리고 통신 인터페이스(170)를 포함할 수 있다. 이외에도, 코호트 추출 장치(100)는 다양한 구성 요소를 더 포함할 수 있다.
프로세서(110)는 코호트 추출 장치(100)의 동작을 제어하는 장치로서, 컴퓨터 프로그램에 포함된 명령어들을 처리하는 다양한 형태의 프로세서일 수 있고, 예를 들면, CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), GPU(Graphic Processing Unit) 또는 본 개시의 기술 분야에 잘 알려진 임의의 형태의 프로세서 중 적어도 하나를 포함하여 구성될 수 있다.
메모리(130)는 각종 데이터, 명령 및/또는 정보를 저장한다. 메모리(130)는 본 개시의 동작을 실행하도록 기술된 명령어들이 프로세서(110)에 의해 처리되도록 해당 컴퓨터 프로그램을 저장 장치(150)로부터 로드할 수 있다. 메모리(130)는 예를 들면, ROM(read only memory), RAM(random access memory) 등 일 수 있다.
저장 장치(150)는 컴퓨터 프로그램, 각종 데이터를 비임시적으로 저장할 수 있다. 저장 장치(150)는 ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리 등과 같은 비휘발성 메모리, 하드 디스크, 착탈형 디스크, 또는 본 개시가 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터로 읽을 수 있는 기록 매체를 포함하여 구성될 수 있다.
통신 인터페이스(170)는 유/무선 통신을 지원하는 유/무선 통신 모듈일 수 있다. 통신 인터페이스(170)는 임상데이터웨어하우스(CDW)(20)에 접속할 수 있다.
컴퓨터 프로그램은, 프로세서(110)에 의해 실행되는 명령어들(instructions)을 포함하고, 비일시적-컴퓨터 판독가능 저장매체(non-transitory computer readable storage medium)에 저장되며, 명령어들은 프로세서(110)가 본 개시의 동작을 실행하도록 만든다. 컴퓨터 프로그램은 네트워크를 통해 다운로드되거나, 제품 형태로 판매될 수 있다.
컴퓨터 프로그램은 코호트 생성 조건을 입력받고, 임상데이터웨어하우스(CDW)에서 코호트 생성 조건에 해당하는 이벤트들을 추출하고, 추출한 이벤트들의 이벤트 정보, 환자 식별자, 그리고 현재 단계까지의 조건 만족 여부를 나타내는 비트열을 포함하는 최초 히스토리 테이블을 생성하는 명령어들을 포함할 수 있다. 그리고 컴퓨터 프로그램은 현재 단계의 조건을 입력받고, 직전 단계의 히스토리 테이블에 포함된 환자들 중에서, 현재 단계의 조건에 해당하는 이벤트를 가지는 현재 단계 환자를 식별한 후, 직전 단계의 히스토리 테이블에 포함된 현재 단계 환자의 이벤트의 비트열을 갱신하고, 현재 단계에서 추출된 이벤트를 신규 이벤트로 추가해서, 현재 단계의 히스토리 테이블을 생성하는 명령어들을 포함할 수 있다. 프로그램은 현재 단계가 최종 단계인지 판단하고, 현재 단계가 최종 단계이면, 최종 단계의 히스토리 테이블을 이용하여 코호트 테이블을 생성하는 명령어들을 포함할 수 있다. 컴퓨터 프로그램은 현재 단계가 최종 단계가 아니면, 다음 추출 단계의 조건을 입력받을 수 있는 상태로 대기하는 명령어들을 포함할 수 있다.
이상에서 설명한 본 개시의 실시예는 장치 및 방법을 통해서만 구현이 되는 것은 아니며, 본 개시의 실시예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있다.
이상에서 본 개시의 실시예에 대하여 상세하게 설명하였지만 본 개시의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 개시의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 개시의 권리범위에 속하는 것이다.

Claims (15)

  1. 코호트 추출 장치의 동작 방법으로서,
    코호트 생성 조건을 입력받고, 임상데이터웨어하우스에서 상기 코호트 생성 조건에 해당하는 이벤트들을 추출하는 단계,
    추출한 각 이벤트의 이벤트 식별자, 환자 식별자, 그리고 최초 단계의 조건 만족을 나타내는 비트열을 포함하는 최초 히스토리 테이블을 생성하는 단계,
    현재 단계의 조건을 입력받고, 직전 단계의 히스토리 테이블에 포함된 환자들 중에서, 상기 현재 단계의 조건에 해당하는 이벤트를 가지는 현재 단계 환자들을 식별하고, 상기 직전 단계의 히스토리 테이블에 포함된 상기 현재 단계 환자들의 각 이벤트에 대해 비트열을 갱신하고, 상기 현재 단계에서 추출된 신규 이벤트들을 추가하여 현재 단계의 히스토리 테이블을 생성하는 단계, 그리고
    단계별 히스토리 테이블을 순차적으로 생성한 이후, 최종 단계의 히스토리 테이블을 이용하여 코호트 테이블을 생성하는 단계
    를 포함하는 동작 방법.
  2. 제1항에서,
    단계별로 생성되는 각 히스토리 테이블은
    해당 단계의 조건을 만족하는 이벤트들을 포함하고, 각 이벤트의 이벤트 식별자, 환자 식별자, 그리고 해당 단계까지의 조건 만족 여부를 나타내는 비트열이 기재되며,
    상기 비트열은 각 단계의 조건 만족 여부를 1 또는 0으로 나타내는 자리가 지정되는, 동작 방법.
  3. 제1항에서,
    상기 현재 단계의 히스토리 테이블을 생성하는 단계는
    상기 직전 단계의 히스토리 테이블에서 상기 현재 단계 환자들의 이벤트들을 확인하고, 확인한 이벤트의 비트열을 상기 현재 단계의 조건 만족을 나타내는 값으로 갱신하여, 상기 현재 단계의 히스토리 테이블에 기록하는, 동작 방법.
  4. 제1항에서,
    상기 현재 단계의 히스토리 테이블을 생성하는 단계는
    상기 현재 단계에서 신규 이벤트가 추출되면, 상기 신규 이벤트의 식별자, 환자 식별자, 그리고 상기 현재 단계의 조건 만족을 나타내는 비트열을 상기 현재 단계의 히스토리 테이블에 기록하고,
    상기 신규 이벤트의 비트열은 상기 현재 단계에 지정된 자리의 값이 1이고, 다른 단계에 지정된 자리의 값이 0으로 기재되는, 동작 방법.
  5. 제1항에서,
    상기 현재 단계의 히스토리 테이블을 생성하는 단계는
    상기 직전 단계의 히스토리 테이블에 포함된 환자들 중에서, 상기 현재 단계의 조건에 해당하는 이벤트를 가지지 않는 이전 단계 환자를 식별하고, 상기 이전 단계 환자의 이벤트들을 상기 현재 단계의 히스토리 테이블에 기록하지 않는, 동작 방법.
  6. 제1항에서,
    특정 단계에서 추출된 이벤트 수 또는 환자 수를 요청받으면, 상기 특정 단계의 히스토리 테이블을 이용하여 상기 이벤트 수 또는 상기 환자 수를 계산하는 단계
    를 더 포함하는, 동작 방법.
  7. 제1항에서,
    특정 단계의 변경 조건을 입력받는 단계,
    상기 특정 단계의 직전 단계에서 생성된 직전 단계 히스토리 테이블을 가져오는 단계, 그리고
    상기 직전 단계 히스토리 테이블에 포함된 환자들 중에서, 상기 특정 단계의 변경 조건에 해당하는 이벤트를 가지는 특정 단계 환자들을 식별하고, 상기 직전 단계 히스토리 테이블에 포함된 상기 특정 단계 환자들의 각 이벤트에 대해 비트열을 갱신하고, 상기 특정 단계에서 추출된 신규 이벤트들을 추가하여 상기 특정 단계의 히스토리 테이블을 재생성하는 단계
    를 더 포함하는, 동작 방법.
  8. 제7항에서,
    재생성된 상기 특정 단계의 히스토리 테이블을 이용하여, 상기 특정 단계 이후 단계의 히스토리 테이블을 순차적으로 재생성하는 단계
    를 더 포함하는, 동작 방법.
  9. 코호트 추출 장치의 동작 방법으로서,
    조건을 입력받는 단계,
    직전 단계에서 생성된 제1 히스토리 테이블에 포함된 환자들의 임상데이터를 기초로, 상기 제1 히스토리 테이블에 포함된 환자들 중에서 상기 조건을 만족하는 현재 단계 환자를 식별하는 단계,
    상기 제1 히스토리 테이블에 포함된 상기 현재 단계 환자의 모든 이벤트들의 이벤트 식별자, 환자 식별자, 그리고 갱신된 비트열을 제2 히스토리 테이블에 기록하는 단계,
    상기 조건에 해당하는 신규 이벤트가 추출되는 경우, 상기 신규 이벤트의 이벤트 식별자, 환자 식별자, 그리고 현재 단계에서 추출된 이벤트를 나타내는 비트열을 제2 히스토리 테이블에 기록하는 단계, 그리고
    상기 제2 히스토리 테이블을 현재 단계의 히스토리 테이블로 저장하는 단계를 포함하는, 동작 방법.
  10. 제9항에서,
    상기 제1 히스토리 테이블에 포함된 상기 현재 단계 환자의 모든 이벤트들의 경우, 상기 제1 히스토리 테이블에 기록된 비트열에서 현재 단계에 지정된 자리의 값이 1로 갱신된 비트열이 상기 제2 히스토리 테이블에 기록되는, 동작 방법.
  11. 제9항에서,
    상기 신규 이벤트의 경우, 상기 현재 단계에 지정된 자리의 값이 1이고, 다른 단계에 지정된 자리의 값이 0인 비트열이 상기 제2 히스토리 테이블에 기록되는, 동작 방법.
  12. 제9항에서,
    상기 제1 히스토리 테이블에 포함된 이벤트들 중에서, 상기 조건에 해당하는 이벤트를 가지지 않는 이전 단계 환자의 이벤트들은 상기 제2 히스토리 테이블에 기록되지 않는, 동작 방법.
  13. 컴퓨터 판독 가능한 저장매체에 저장되고 적어도 하나의 프로세서에 의해 실행되는 명령어들을 포함하는 컴퓨터 프로그램으로서,
    코호트 생성 조건을 입력받고, 임상데이터웨어하우스에서 상기 코호트 생성 조건에 해당하는 이벤트들을 추출하는 단계,
    추출한 각 이벤트의 이벤트 식별자, 환자 식별자, 그리고 최초 단계의 조건 만족을 나타내는 비트열을 포함하는 최초 히스토리 테이블을 생성하는 단계,
    현재 단계의 조건을 입력받고, 직전 단계의 히스토리 테이블에 포함된 환자들 중에서, 상기 현재 단계의 조건에 해당하는 이벤트를 가지는 현재 단계 환자들을 식별하고, 상기 직전 단계의 히스토리 테이블에 포함된 상기 현재 단계 환자들의 각 이벤트에 대해 비트열을 갱신하고, 상기 현재 단계에서 추출된 신규 이벤트들을 추가하여 현재 단계의 히스토리 테이블을 생성하는 단계, 그리고
    단계별 히스토리 테이블을 순차적으로 생성한 이후, 최종 단계의 히스토리 테이블을 이용하여 코호트 테이블을 생성하는 단계
    를 실행하도록 기술된 명령어들을 포함하는, 컴퓨터 프로그램.
  14. 제13항에서,
    단계별로 생성되는 각 히스토리 테이블은
    해당 단계의 조건을 만족하는 이벤트들을 포함하고, 각 이벤트의 이벤트 식별자, 환자 식별자, 그리고 해당 단계까지의 조건 만족 여부를 나타내는 비트열이 기재되며,
    상기 비트열은 각 단계의 조건 만족 여부를 1 또는 0으로 나타내는 자리가 지정되는, 컴퓨터 프로그램.
  15. 제13항에서,
    상기 현재 단계의 히스토리 테이블을 생성하는 단계는
    상기 직전 단계의 히스토리 테이블에서 상기 현재 단계 환자들의 이벤트들을 확인하고, 확인한 이벤트의 비트열을 상기 현재 단계의 조건 만족을 나타내는 값으로 갱신하여, 상기 현재 단계의 히스토리 테이블에 기록하고,
    상기 현재 단계에서 신규 이벤트가 추출되면, 상기 신규 이벤트의 식별자, 환자 식별자, 그리고 상기 현재 단계의 조건 만족을 나타내는 비트열을 상기 현재 단계의 히스토리 테이블에 기록하는, 컴퓨터 프로그램.

KR1020210073385A 2021-06-07 2021-06-07 코호트 추출 방법, 이를 구현한 코호트 추출 장치 및 코호트 추출 프로그램 KR20220164986A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020210073385A KR20220164986A (ko) 2021-06-07 2021-06-07 코호트 추출 방법, 이를 구현한 코호트 추출 장치 및 코호트 추출 프로그램
PCT/KR2022/006743 WO2022260291A1 (ko) 2021-06-07 2022-05-11 코호트 추출 방법, 이를 구현한 코호트 추출 장치 및 코호트 추출 프로그램

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210073385A KR20220164986A (ko) 2021-06-07 2021-06-07 코호트 추출 방법, 이를 구현한 코호트 추출 장치 및 코호트 추출 프로그램

Publications (1)

Publication Number Publication Date
KR20220164986A true KR20220164986A (ko) 2022-12-14

Family

ID=84426159

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210073385A KR20220164986A (ko) 2021-06-07 2021-06-07 코호트 추출 방법, 이를 구현한 코호트 추출 장치 및 코호트 추출 프로그램

Country Status (2)

Country Link
KR (1) KR20220164986A (ko)
WO (1) WO2022260291A1 (ko)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101241060B1 (ko) * 2011-03-29 2013-03-11 주식회사 인피니트헬스케어 의료 영상 정보 저장과 표시 방법 및 그 장치
KR101496179B1 (ko) * 2013-05-24 2015-02-26 삼성에스디에스 주식회사 데이터 부재 태깅 기반의 정보 검색 시스템 및 방법
US20160328526A1 (en) * 2015-04-07 2016-11-10 Accordion Health, Inc. Case management system using a medical event forecasting engine
KR20200086168A (ko) * 2019-01-08 2020-07-16 연세대학교 산학협력단 실용학적 임상시험 지원 시스템 및 방법
KR102251373B1 (ko) * 2019-07-23 2021-05-12 서울대학교병원 임상연구를 위한 cdw 연구검색 시스템과 방법

Also Published As

Publication number Publication date
WO2022260291A1 (ko) 2022-12-15

Similar Documents

Publication Publication Date Title
US9378269B1 (en) Method and computing device for maintaining dependencies among reference elements
US8943059B2 (en) Systems and methods for merging source records in accordance with survivorship rules
US9703811B2 (en) Assessing database migrations to cloud computing systems
JP4758150B2 (ja) 外部メタデータの処理
US9274936B2 (en) Database code testing framework
CN108132957B (zh) 一种数据库处理方法及装置
US20190004875A1 (en) Artificial Creation Of Dominant Sequences That Are Representative Of Logged Events
US10255263B2 (en) Data storage and retrieval system and method for storing cell coordinates in a computer memory
US9378271B2 (en) Database system for analysis of longitudinal data sets
CN108228861B (zh) 用于执行机器学习的特征工程的方法及系统
CN106415532B (zh) 诊疗数据检索系统
EP3362916B1 (en) Signature-based cache optimization for data preparation
US8271416B2 (en) Method for dynamically determining a predetermined previous condition of a rule-based system
CA2480688A1 (en) Method and apparatus for querying relational databases
JP6042974B2 (ja) データ管理装置、データ管理方法及び非一時的な記録媒体
US11461333B2 (en) Vertical union of feature-based datasets
US11074296B2 (en) Query generation assist method and query generation assist apparatus
CN114201615B (zh) 基于数据快照的科研数据变动回顾方法及服务器
US10216792B2 (en) Automated join detection
EP3495971A1 (en) Method and device for database design and creation
US9576008B2 (en) System and method for search indexing
KR20220164986A (ko) 코호트 추출 방법, 이를 구현한 코호트 추출 장치 및 코호트 추출 프로그램
CN113628707B (zh) 一种患者病历数据的处理方法、装置、设备和存储介质
JP2024521461A (ja) コホート抽出方法、これを実現したコホート抽出装置およびコホート抽出プログラム
JP6245571B2 (ja) データ構造、データ生成装置、その方法及びプログラム

Legal Events

Date Code Title Description
N231 Notification of change of applicant
E902 Notification of reason for refusal