임상시험 문서 추출환자당 한 행을 넘어서

2021년, 7개 제약회사의 임상 데이터 관리팀이 완료된 3상 연구 20건을 모아 이에 대해 제기된 모든 데이터 쿼리를 집계했습니다. 총 1,939,606건의 쿼리가 20,125명의 참가자에 걸쳐 발생했습니다. 전체 쿼리 트래픽의 절반 이상을 생성한 5가지 양식 유형은 병용 약물, 검사실, 이상반응, 노출, 약물 책임이었습니다. 이 다섯 가지 양식의 공통점은 레이아웃이 아니라, 그중 어느 것도 환자당 하나의 레코드가 아니라는 점입니다. 이 글은 바로 그 구조적 사실과, 임상시험 문서 추출을 실행했을 때 데이터가 실제로 동작하는 방식과 맞지 않는 스프레드시트가 나오는 것이 무엇을 의미하는지에 관한 것입니다.

수작업 입력은 그만 — AI가 대신 읽어드립니다
이미지나 PDF를 업로드하세요 — 10초 만에 정형 데이터로
지금 체험하기 →
Hero image with the title 'Clinical Trial Document Extraction Beyond One Row Per Patient' and three icons for Protocol CRF CSR, Arrays Not Rows, and Semantic Extraction

핵심 요점

  1. 20,125명의 참가자에 걸친 1,939,606건의 데이터 쿼리 중 절반 이상이 공통된 특성을 지닌 5가지 양식 유형에서 발생했습니다. 그 특성은 환자당 하나의 레코드가 아니라는 점입니다.
  2. 임상시험 데이터는 배열로 제공됩니다. 한 피험자에게 여러 이상반응이 있고, 한 이벤트에 여러 관련 레코드가 있는 반면, 스프레드시트는 한 행이 하나의 항목이라고 가정합니다. 따라서 백로그는 구조적 문제이지 타이핑 속도의 문제가 아닙니다.
  3. 먼저 필요한 입도를 정의하세요. 이벤트당 한 행 또는 방문을 열로 하는 피험자당 한 행. 그러면 열이 저절로 정의되고 인간의 검토만 남습니다.

임상시험 문서 세트와 각 문서의 내용

프로토콜, CRF/eCRF, CSR, 안전성 내러티브의 데이터 형태를 비교한 4열 비교표

임상시험 문서는 단일 문서 유형이 아닙니다. 동일한 연구를 네 가지 다른 관점에서 설명하는 작은 문서군이며, 각 관점마다 서로 다른 데이터 형태가 생성됩니다.

문서정의내부 데이터 형태
프로토콜연구 계획서로, 평가 일정을 포함합니다: 각 참가자에 대해 어떤 절차가 어떤 방문에서 수행되는지방문 × 평가 그리드(방문당 한 행, 절차당 한 열)
CRF / eCRF증례 보고서로, 각 방문에서 발생한 사항을 기록하는 도구피험자당 방문별 한 페이지, 이벤트에 대한 반복 블록 포함
CSR임상 연구 보고서로, 전체 연구에 대한 통합 규제 요약요약표, 환자 목록, 내러티브가 동일한 이벤트를 서로 다른 세부 수준으로 설명
안전성 내러티브사망, 중대한 이상반응 및 기타 플래그된 이벤트에 대한 산문 형식의 기록자유 텍스트, 이벤트당 내러티브 하나

임상 연구 보고서는 설계상 고정된 구조를 가집니다. 임상 연구 보고서의 구조와 내용에 대한 국제 가이드라인인 ICH E3는 이상반응 요약을 섹션 12.2에, 상세 이상반응 표시를 섹션 14.3.1에, 환자별 이상반응 목록을 섹션 16.2.7에 배치합니다. 섹션 12.2.2는 각 이상반응, 각 치료군에서 발생한 환자 수, 발생률을 기관계별로 그룹화하고 중증도와 인과관계별로 분류한 표를 요구합니다. 섹션 16.2.7은 동일한 이벤트가 피험자별로 하나씩 나타나는 곳입니다.

이것이 임상 연구 보고서 데이터 추출이 어려워지는 첫 번째 지점입니다: 동일한 이상반응 데이터가 한 문서 안에 세 가지 형태로 존재하며(집계 표, 피험자별 목록, 내러티브), 사용자가 어떤 형태를 의미하는지 명시하지 않고 "이상반응"을 요청하면 모델이 우연히 먼저 찾는 형태가 반환됩니다.

보고서 아래의 제출 데이터는 CDISC Study Data Tabulation Model을 따릅니다. 이상반응 도메인은 피험자별 사건별 레코드 1건으로 정의되는데, 이는 한 참가자가 동일한 테이블에 여러 번 나타날 수 있다는 공식적인 표현입니다. 하나의 사건에 첨부되는 관련 세부 정보(예: 통과한 독성 등급의 순서)는 이상반응 레코드와 일대다 관계로 연결된 별도의 도메인에 있습니다. 문서 하나가 행 하나인 송장이나 영수증만 추출해 본 적이 있다면, 이 부분이 당신을 놀라게 할 것입니다. 전체 모델은 CDISC에 문서화되어 있습니다.

평평한 테이블이 배열을 만나는 지점

한 피험자 여러 사건, 한 사건 여러 레코드, 한 피험자 여러 방문의 3열 비교

스프레드시트는 한 행이 하나의 사물이라고 가정합니다. 임상시험 데이터는 세 가지 특정 지점에서 이 가정을 깨며, 각각은 위에 언급된 문서에서 나타납니다.

한 피험자, 여러 이상반응. 한 참가자는 시험 기간 동안 0개, 1개 또는 수십 개의 이상반응을 경험할 수 있으며, 각각 고유한 용어, 시작 날짜, 중증도, 중대성, 인과관계, 취해진 조치 및 결과가 있습니다. 각 피험자에게 한 행을 주는 테이블은 사건을 삭제하거나 한 셀에 밀어 넣어야 합니다. 이것이 시작 통계에서 쿼리 트래픽을 생성한 배열입니다. 모든 사건은 깨끗한 레코드가 되기 전에 검토되고 조정되어야 하기 때문입니다.

한 사건, 여러 관련 레코드. 중대한 이상반응은 단일 셀이 아닙니다. 발병과 해소, 인과관계 평가, 그리고 새로운 정보가 도착함에 따라 여러 후속 항목이 있습니다. 데이터 모델에서 이들은 연결된 레코드이며, 인쇄된 보고서에서는 내러티브와 목록의 한 줄, 요약표의 한 줄이 됩니다.

한 피험자, 여러 방문, 여러 검사 패널. 검사실 수치는 모든 방문에서 반복됩니다. 스크리닝, 4주, 8주, 12주에 수집된 혈액 화학 패널은 동일한 사람에게 첨부된 동일한 매개변수의 4세트입니다. 프로토콜 평가 일정 자체는 2차원 그리드이며, 검사실 데이터는 그로부터 확장됩니다.

이 문제의 순전히 기계적인 버전도 별도로 있습니다. 인쇄된 테이블은 종종 병합된 헤더 셀과 들여쓰기를 사용하여 기관계 및 선호 용어 계층을 표현하므로, 단순한 추출기는 사건 용어는 올바르게 읽지만 그 용어가 속한 기관계는 잃어버립니다. 이 실패 모드는 병합된 셀이 테이블 추출을 깨뜨리는 이유에서 자세히 다루므로, 이 문서는 그리드가 아닌 구조에 초점을 맞춥니다.

이 작업에 종사하는 사람들의 불만은 미묘하지 않습니다. r/clinicalresearch에서 "I hate data entry" 스레드에 글을 쓴 코디네이터는 이렇게 단언했습니다: "가끔은 내가 너무 느리고 작업이 너무 지루하다고 느껴요. 지금 200개가 넘는 쿼리가 있는 사이트에서 일하고 있어요." 사이트의 데이터 입력 백로그 정리에 대한 별도의 스레드는 대부분의 팀이 이미 실행하는 트리아지를 안내합니다: 가장 오래된 쿼리부터 처리하고, 환자별로 작업하고, 매일 입력 시간을 확보하세요. 그 어떤 트리아지도 백로그가 존재하는 이유를 해결하지 못합니다. 데이터가 배열로 도착하고 목적지가 행이기 때문입니다.

임상시험 문서 추출은 문서의 출력 입도와 스프레드시트의 출력 입도가 첫 시도에 일치하는 경우가 드물기 때문에 느립니다.

출력 테이블의 입도 선택

긴 형식과 넓은 형식 출력 테이블 입도의 사용 사례별 2열 비교

추출을 시작하기 전에 결과의 각 행이 무엇을 나타내야 하는지 결정하십시오. 두 가지 실행 가능한 답변이 있으며, 각각 다른 질문에 대응합니다.

1

긴 형식: 이벤트당 한 행

각 이상반응은 고유한 행을 가지며, 피험자 식별자는 해당 피험자의 모든 이벤트에서 반복됩니다. 유용한 열: 피험자 ID, 이벤트 용어, 시작 날짜, 중증도, 중대성(Y/N), 인과관계, 취해진 조치, 결과. "등급 3 이상의 이벤트를 가진 피험자가 몇 명인가"와 같은 질문이 있거나 행을 통계 도구에 전달해야 할 때 이 형식을 선택하십시오. 피험자 식별자가 반복되는 행을 다시 연결하는 역할을 합니다.

2

넓은 형식: 피험자당 한 행, 방문이 열로

피험자당 한 행이며, 방문 값이 열 이름에 접힙니다(헤모글로빈, 스크리닝 / 헤모글로빈, 4주 / 헤모글로빈, 12주). "각 방문에서 각 피험자의 값은 무엇인가"라는 질문이 있고 시간에 따라 비교하려 할 때 유용합니다. 단점은 시간점이 추가될 때마다 테이블이 더 넓어지고, 긴 시험은 읽기에 불편할 정도로 넓어질 수 있다는 점입니다.

시트에 던질 질문에서 입도를 결정한 다음 원본 문서를 살펴보십시오. 원본이 피험자별 목록이고 피험자별 비교를 원한다면 긴 형식을 넓은 형식으로 변환하는 것이며, 이 변환은 어떤 추출 도구도 무료로 해주지 않는 실제 작업입니다. 원본이 요약표이고 이벤트 수준의 행을 원한다면 추출할 세부 정보가 애초에 없으므로 목록이 필요합니다.

열에 대한 한 가지 주의 사항입니다. 코딩된 데이터셋에 포함되어 있기 때문에 이상반응 테이블에 "MedDRA 선호 용어" 열을 추가하고 싶은 유혹이 있습니다. 원본 문서에 이미 코딩된 용어가 표시되지 않는 한 해당 열은 추출할 수 없습니다. 선호 용어를 할당하는 것은 읽기 단계가 아니라 코딩 단계이기 때문입니다. 다음 섹션에서는 추출이 원본에서 무엇을 가져올 수 있고 무엇을 가져올 수 없는지에 대해 설명합니다.

수작업 입력은 그만 — AI가 대신 읽어드립니다
이미지나 PDF를 업로드하세요 — 10초 만에 정형 데이터로
지금 체험하기 →

의미 기반 추출이 반복 구조를 처리하는 방법

템플릿 기반 도구가 여기서 어려움을 겪는 이유는 템플릿이 위치에 고정되어 있기 때문입니다. 이상반응 표 추출은 위치 기반 논리가 가장 먼저 실패하는 영역입니다. 한 건의 이상반응이 있는 피험자와 여섯 건이 있는 피험자는 완전히 다른 줄 수를 차지하므로 동일한 좌표가 두 번 일치하지 않습니다. 의미를 읽는 비전 모델은 그러한 좌표에 의존하지 않습니다.

맞춤 열 추출이 그 메커니즘입니다. 페이지에 영역을 그리는 대신 Subject ID, Event Term, Severity, Serious 등 원하는 열 이름을 입력하면 AI가 열 이름의 의미를 이해하여 각 값을 찾습니다. 입력한 열 이름은 출력 테이블의 헤더가 되며, 피험자의 이상반응 행이 하나든 열 개든 읽기 논리는 일관되게 유지됩니다. 전반적인 접근 방식은 AI 문서 추출이 실제로 무엇인지에서 설명하므로 처음 접하는 경우 참고하세요.

지난 섹션에서 설명한 배열 문제와 일치하는 여러 기능이 있습니다:

  • 계산 열을 사용하면 AI가 단순히 값을 복사하는 대신 추출 중에 값을 계산할 수 있습니다. 이상반응 목록의 경우 피험자별 이상반응 건수와 소계가 명시된 총계와 일치하지 않을 때 행에 플래그를 지정하는 조건부 검사가 포함됩니다. 계산은 열 이름이나 규칙에 작성되므로 배치의 모든 문서에 동일한 방식으로 적용됩니다.
  • 추론 열을 사용하면 AI가 문서에 인쇄되지 않은 값을 인쇄된 내용에서 도출하여 할당할 수 있습니다. 이는 추적 상태와 같은 범주에 유용하며, 모델이 이상반응이 진행 중으로 설명되는지 여부를 읽습니다. 이는 의학적 판단을 대체하는 것이 아니며, 판정이 필요한 열은 이러한 방식으로 구축해서는 안 됩니다.
  • 다중 페이지 병합은 여러 페이지에 걸친 문서를 하나의 행으로 접습니다. 여러 인쇄 페이지에 걸쳐 계속되는 이상반응 목록이나 별도로 스캔된 시트에 분산된 피험자 기록은 피험자 식별자와 같은 공유 값을 기준으로 그룹화할 수 있으며, 필드는 해당 값을 포함하는 페이지에서 채워집니다. 이는 일반적으로 다중 페이지 PDF에 도움이 되는 것과 동일한 설정입니다.
  • 배치 처리는 여러 파일을 한 번에 읽고 결과를 하나의 테이블로 병합하므로 CRF 페이지 폴더나 CSR 목록 세트가 문서별 내보내기 더미 대신 단일 시트가 됩니다. 이 패턴은 다른 임상시험 기록에서 임상 데이터 배치 추출에 사용되는 것과 동일합니다.
  • 모델 티어는 손으로 작성한 항목이 있는 스캔 양식이 소스일 때 중요합니다. 손으로 작성한 이상반응 양식은 알려진 까다로운 사례이며, 상위 처리 티어는 복잡한 레이아웃과 밀집된 필기를 위해 더 강력한 모델을 사용합니다.
  • 경계 상자 검증이 포함된 검토 모드는 추출된 안전성 테이블을 사용 가능하게 만드는 부분입니다. 셀에 마우스를 올리면 원본 문서에서 해당 값이 나온 정확한 위치가 강조 표시되고, 영역을 클릭하면 해당 셀로 돌아갑니다. 중요한 필드의 경우 "추출 신뢰"를 "스팟 체크"로 전환하여 전체 목록을 다시 읽는 대신 몇 초 만에 확인할 수 있습니다.
JPG/PNG/PDF AI 추출

파일은 안전하게 처리되며 저장되지 않습니다.

시험 문서에서 피험자별로 구조가 반복되는 곳이면 어디든 동일한 추출 패턴이 적용됩니다. 방문 패널 테이블, 임상 검사실 보고서, 이상반응 목록은 내용은 다르지만 근본적인 문제는 같습니다. 관심 있는 단위가 반복되고, 도구는 이를 평평하게 만드는 대신 반복을 보존해야 합니다.

이런 종류의 추출로 할 수 없는 일

도구를 과장해서 소개하는 것보다 한계를 명확히 하는 편이 더 유용합니다. 특히 규제가 적용되는 분야에서는 블로그 게시물의 주장이 검증된 시스템과 같지 않기 때문입니다.

이상반응을 코딩하지 않습니다. 보고된 용어를 기관계 아래의 선호 용어에 매핑하는 의학 사전인 MedDRA로의 용어 선택은 별도의 규칙에 따라 진행되는 독립적인 코딩 단계입니다. 사전과 그 계층은 MedDRA 유지관리 및 지원 서비스 기구가 관리합니다. 추출은 이미 인쇄된 코딩 용어를 읽을 수는 있지만, 용어를 지정하지는 않습니다.

안전성을 판정하지 않습니다. 인과관계, 중대성, 예측성 결정은 자격을 갖춘 전문가의 몫입니다. 추론 열은 문서가 말하는 내용을 읽은 결과이지 의학적 평가가 아닙니다.

비식별화하지 않습니다. 시험 문서의 피험자 식별자는 출력에 그대로 남습니다. 파일이 데이터 협약이 없는 곳으로 이동하는 경우, 그 처리는 별도의 신중한 단계입니다.

검증되고 감사 인증을 받은 시스템이 아닙니다. 규제 대상 전자 기록에는 모든 변경에 대한 감사 추적 및 문서화된 시스템 검증과 같은 요구사항이 있으며, 이는 ICH E6(R3) 및 21 CFR Part 11에 명시되어 있습니다. 이 도구에는 그러한 인증이 없으므로 기록 시스템보다 앞선 단계, 즉 사람이 검토하는 1차 패스로 사용되어야 하며 기록 데이터베이스로 사용되어서는 안 됩니다. 대규모로 검증된 임상 데이터를 보관하는 시스템은 Medidata Rave, Veeva Vault EDC, Oracle Clinical One과 같은 전자 데이터 수집 플랫폼이며, Castor 및 REDCap과 같은 더 가벼운 옵션도 있습니다. 여기서의 비교 대상은 그러한 플랫폼이 아닙니다. 비교 대상은 목록을 읽고 다시 입력하는 사람입니다.

한계를 명시한 뒤에도 남는 작업은 여전히 대부분입니다. 반복되는 값을 문서에서 꺼내 사람이 확인할 수 있는 테이블로 옮기는 일, 즉 한 번에 하나씩 입력하는 대신 말이죠. 그 격차는 코디네이터가 쿼리 백로그를 처리하느라 분주하고 데이터 관리자가 이미 디지털화되었음에도 수작업으로 입력되는 임상 데이터를 다루는 상황을 낳습니다.

FAQ

AI가 CRF 또는 CSR에서 이상반응 테이블을 추출할 수 있나요? 네, 어떤 테이블을 의미하는지 정의하기만 하면 됩니다. CSR에는 요약표, 피험자별 목록, 내러티브와 동일한 이벤트가 포함될 수 있으므로 Subject ID, Event Term, Start Date, Severity 등 원하는 특정 형식의 열을 지정하세요. 추출은 값을 읽을 뿐, 세 가지 표시 중 어떤 것을 가져올지 결정하지 않습니다.

추출이 MedDRA에서 이상반응 코딩을 대체하나요? 아닙니다. 보고된 용어를 선호 용어와 기관계로 코딩하는 것은 별도의 절차이며 고유한 규칙이 있고 인간의 검토가 필요합니다. 추출은 이미 코딩된 용어가 포함된 문서에서 그 용어를 가져올 수는 있지만, 코딩을 수행하지는 않습니다.

모든 이상반응을 올바른 피험자에게 연결하려면 어떻게 해야 하나요? 피험자 식별자를 별도의 열로 추출하고 모든 이벤트 행에서 반복되도록 하세요. 긴 형식에서 식별자는 반복되는 행을 한 참가자에게 연결하는 역할을 합니다. 피험자의 기록이 별도로 스캔된 여러 페이지에 걸쳐 있는 경우, 해당 식별자로 그룹화된 Multi-Page Merge를 사용하여 이벤트가 펼쳐지기 전에 조각들이 하나의 기록으로 합쳐지도록 하세요.

규제 제출에 적합한가요? 기록 시스템이 아닌 검토 가능한 1차 패스로 사용하세요. 검증되거나 감사 인증을 받은 플랫폼이 아니며 ICH-GCP 또는 21 CFR Part 11 인증을 주장하지 않고, 비식별화나 판정을 수행하지 않습니다. 검증된 기록 데이터베이스는 전자 데이터 수집 시스템으로 유지됩니다.

문서의 형태가 시트의 형태를 결정해야 합니다

임상시험 문서 추출이 인보이스 추출보다 어려운 이유는 기술적이기보다 구조적입니다. 인보이스는 행 하나에 하나씩 도착합니다. 시험 문서는 배열로 도착합니다: 한 피험자가 여러 방문에 걸쳐 있고, 한 피험자에게 여러 이상반응이 있으며, 한 이벤트에 여러 관련 기록이 있습니다. 실제로 필요한 출력의 입도를 정하면 열을 정의하는 것은 간단한 결정이 되며, 남은 작업은 검토이며, 바로 그곳이 자격을 갖춘 사람이 시간을 보내야 할 곳입니다.

하나의 이상반응 목록이나 방문 패널 문서로 시작하여 원하는 열을 정의하고, 전체 배치를 확정하기 전에 테이블이 반환되는 것을 확인하세요.

📮 contact email: [email protected]