규제 문서가 데이터 추출을
거부하는 이유
의약품 규제 제출 문서는 데이터 추출이 가장 쉬운 문서처럼 보입니다. 모든 후원사가 동일한 순서로 사용하는 번호가 매겨진 섹션까지, 국제적으로 합의된 고정 구조를 따릅니다. 그러나 임상 연구 보고서와 CTD 모듈을 구조화된 데이터로 변환하는 규제 업무 전문가들은 동일한 실패를 반복해서 경험합니다. 반환된 표가 필요한 표가 아닌 경우가 많습니다. 그 이유는 문서가 길기 때문이 아닙니다. 완전한 신약 신청서는 수십만 페이지에 달할 수 있으며, 이는 사실이지만 길이만으로 추출이 실패하지는 않습니다. 그 이유는 단일 규제 문서가 동일한 사실을 둘 이상의 형태로 저장하며, 아무도 어떤 형태를 의미하는지 명시하지 않으면 추출이 실패하기 때문입니다.

주요 요점
- 세상에서 가장 고정된 문서일수록 추출이 계속 실패하는 경우가 많습니다.
- 하나의 중대한 이상 반응이 세 가지 상세 수준으로 세 섹션에 존재할 수 있으므로, "이상 반응 추출"에는 세 가지 합법적인 답이 있습니다.
- 원하는 열과 형태를 지정하면 해당 필드 이름이 전체 프로그램에 걸쳐 유지됩니다.
규제 문서 패밀리와 중요한 필드
규제 제출은 하나의 문서가 아닙니다. 이는 Common Technical Document(CTD)라는 형식으로 묶인 문서 패밀리로, International Council for Harmonisation이 2000년 11월에 모든 보건 당국이 동일한 구조로 검토할 수 있도록 채택했습니다. CTD는 5개 모듈로 구성됩니다. 모듈 1은 지역별 행정 자료, 모듈 2는 요약 및 개요, 모듈 3은 품질 및 화학, 제조, 관리(CMC), 모듈 4는 비임상 시험 보고서, 모듈 5는 임상 시험 보고서를 담습니다. 전자 버전인 eCTD는 동일한 구조를 XML 백본으로 감싸지만, 기본 콘텐츠와 모듈 번호는 동일합니다. 이 조화된 프레임워크는 ICH가 발행합니다.
임상 연구 보고서(CSR)는 시험 데이터 추출이 필요할 때 대부분의 사람이 의미하는 문서입니다. ICH E3에 정의된 고정 16개 섹션 보고서로, 모듈 5에 위치하며 모듈 2의 임상 요약에서 상호 참조됩니다. 안전성 서술은 단일 사망 또는 중대한 이상 반응에 대한 짧은 산문 형식의 기록으로, 한 환자에게 발생한 사건의 이야기를 담는 자유 텍스트 블록입니다. 모듈 3의 CMC 규격 표는 의약품 원료 또는 제품이 충족해야 하는 파라미터(예: 역가, 불순물, 용출 한계)를 나열합니다. 이러한 각 문서는 인식 가능한 필드 집합을 가지며, 추출이 목표로 해야 하는 것이 바로 이 집합입니다.
| 문서 | 위치 | 추출되는 필드 |
|---|---|---|
| 임상 연구 보고서 | CTD 모듈 5, ICH E3 정의 | 시험 제목, 시험 단계, 적응증, 1차 및 2차 평가변수, 환자 집단, 유효성 결과 요약, 이상 반응 발생률 |
| 안전성 서술 | CSR 부록 16, 사건별 1건 | 피험자 ID, 사건 용어, 중증도, 발병일, 취해진 조치, 결과, 인과성 평가 |
| CMC 규격 표 | CTD 모듈 3 | 의약품 원료명, 시험명, 허용 기준, 분석 방법, 제조소 |
| 통합 안전성 요약 | CTD 모듈 2.7.4 | 안전성 평가 집단, 노출 데이터, 신체 계통별 이상 반응 빈도 |
해당 필드 목록은 추측이 아닙니다. 안전성 필드는 데이터 표준에서 비롯됩니다. ICH E2D는 케이스가 완전한 것으로 간주되기 위해 갖추어야 할 최소 요소(식별 가능한 신고자, 식별 가능한 환자, 이상 반응, 의심 제품)를 규정하며, 그 부록에는 환자, 제품, 사건 세부 정보의 보다 완전한 목록이 나와 있습니다. 전자 전송 형식인 ICH E2B(R3)는 이를 안전성 데이터베이스가 이름으로 기대하는 공식 데이터 요소로 전환합니다. 따라서 누군가 피험자 ID, 사건 용어, 중증도, 발병일, 취해진 조치, 결과, 인과성 평가를 원한다고 말할 때, 그들은 업계가 이미 합의한 필드를 요청하는 것입니다. ICH E2D 가이드라인은 최소 세트의 출처입니다.
규제 제출물의 필드는 표준화되어 있습니다. 문서에서 필드가 나타나는 위치는 그렇지 않으며, 이 격차가 추출 오류가 발생하는 지점입니다.
고정 구조가 여전히 추출을 방해하는 이유

구조가 고정되고 필드가 표준이라면 추출은 간단해야 합니다. 그러나 그렇지 않으며, 가장 명확한 예는 단일 임상 연구 보고서 내에서 이상 반응 데이터가 구성되는 방식입니다.
ICH E3은 동일한 이상 반응 정보를 세 가지 다른 섹션, 세 가지 다른 세부 수준에 배치합니다. 섹션 12.2는 보고서 본문의 안전성 평가이며, 12.2.2는 치료 그룹별로 그룹화되고 비교된 요약 표에 표시된 사건을 요청합니다. 이러한 상세 표시는 실제로 12.2에 인쇄되지 않습니다. 가이드라인은 이를 섹션 14.3.1로 안내하며, 여기서 각 사건은 신체 계통, 중증도 및 관련성과 함께 배치됩니다. 그런 다음 섹션 16.2.7은 사건이 한 번에 한 피험자씩 나타나는 목록입니다. ICH E3 가이드라인 텍스트는 이것들이 동일한 기본 사건의 다른 표현임을 명시합니다.
이것이 첫 번째 구조적 함정입니다. 도구에 원하는 형태를 지정하지 않고 "이상 반응"을 요청하면, 선택할 수 있는 세 가지 합법적인 후보(집계 비율 표, 피험자별 목록, 서술)가 있습니다. 열 이름으로 표현된 요청은 모델이 먼저 읽는 표시에서 가져오며, 피험자별 목록을 원했지만 요약 표를 얻은 경우, 이벤트당 한 행을 기대했던 곳에 개수로 가득 찬 표가 생깁니다. 이것은 긴 문서 문제가 아닙니다. 특정성 문제이며, 50페이지 분량의 보고서에서도 나타납니다.
그 위에 두 가지 실패 지점이 더 있습니다. 모듈 간 참조(cross-module referencing)는 원하는 숫자가 보고 있는 위치에 인쇄되어 있지 않을 수 있음을 의미합니다. 모듈 2 요약은 모듈 5 연구 보고서와 동일한 결과를 설명하며, 반복하지 않고 해당 보고서를 다시 참조합니다. 값이 상호 참조로만 나타나는 경우, 요약이 아닌 원본 보고서에서 읽어야 합니다. 중첩 및 병합된 표 머리글(nested and merged table headers)이 두 번째입니다: 이상 반응 표는 일상적으로 병합된 셀을 사용하여 신체 계통(body system) 및 우선 용어(preferred term) 계층을 표현하므로, 단순한 판독기는 사건 용어는 캡처하지만 각 용어가 속한 신체 계통을 놓칩니다. 이러한 기계적 실패 모드는 문서 처리 개요의 더 넓은 그림의 일부이므로, 이 문서는 그리드가 아닌 규제 구조에 초점을 맞춥니다.
이 작업에 종사하는 사람들은 더 평이한 표현으로 같은 말을 합니다. 규제 업무 전문가들이 정보를 교환하는 서브레딧에서 일상적인 작업 자동화에 관한 스레드는 같은 작업 집합을 맴돌고 있습니다: 시험 보고서 요약, 프로토콜 골격 초안 작성, 긴 PDF에서 동일한 숫자를 반복적으로 추출하기. 이 작업은 통계 분석처럼 지적으로 어렵지는 않습니다. 팀을 지치게 하는 것은 그 외에는 엄격한 문서 유형 내부의 반복성입니다. 엄격함이 템플릿이 작동해야 한다는 착각을 주기 때문이며, 그런 다음 동일한 섹션이지만 다른 표를 가진 새로운 연구 보고서가 조용히 그 템플릿을 무너뜨립니다.
업계가 스스로에게 주는 추출 조언에 나타나는 버전이 있습니다. PDF에서 스프레드시트로 표를 복사하는 것에 대한 잘 알려진 질문에서, 불만은 데이터가 하나의 지저분한 셀로 붙여넣어진다는 것입니다: "그렇게 하면 데이터가 거의 항상 단일 셀에 붙여넣어집니다." 이것은 규제 사례와 동일한 실패를 축소한 것입니다. 값은 존재하고 읽을 수 있지만, 값을 의미 있게 만든 구조는 사라졌습니다. r/excel 스레드는 일반적인 PDF에 관한 것이며, 그 패턴은 직접적으로 적용됩니다.
수동 추출이 실제로 실패하는 지점

막연하게 "오류"라고 말하는 대신 구체적인 실수를 짚어보는 것이 도움이 됩니다. 한 사람이 임상 연구 보고서(CSR)와 스프레드시트를 놓고 작업할 때, 세 가지 문제가 예측 가능한 순서로 발생합니다.
잘못된 세분성(grain)이 추출됩니다. 보고서는 한 섹션에서 개수(count)를, 다른 섹션에서 피험자 수준의 행을 제공합니다. 12.2의 편리한 표를 읽다 보면 분석에 실제로 필요한 사건 수준 레코드(event-level record) 대신 비율(rate)을 얻게 되기 쉽습니다. 이 실수는 재작업을 강제합니다. 수정된 데이터가 전혀 다른 섹션에서 나와야 하기 때문입니다.
계층(hierarchy)이 평탄화됩니다. 신체 계통(body system), 우선 용어(preferred term), 개별 사건 순서는 3단계 구조입니다. 이를 평평한 행으로 옮겨 적으면 중간 단계가 자주 사라지고, 모든 사건이 특정 신체 계통에 연결되지 않은 채 남게 됩니다. 나중에 이를 재구성하려면 원본 표로 돌아가야 합니다.
하나의 논리적 레코드(logical record)가 여러 페이지에 걸쳐 있습니다. 중대한 사건에 대한 안전성 서술(safety narrative)은 페이지 나눔(page break)을 넘어 이어질 수 있고, 피험자의 사건은 수십 페이지에 걸쳐 계속되는 부록(appendix)에 분산될 수 있습니다. 손으로 옮겨 적으면 해당 레코드가 두 개의 행으로 나뉘거나, 조각 중 하나가 통째로 누락됩니다.
이러한 실수 중 어느 것도 타이핑 속도와는 관련이 없습니다. 이는 문서가 인쇄된 후에는 온전히 유지하지 못하는 구조를 사람이 수동으로 붙들고 있기 때문에 발생하는 문제입니다. 이것이 추출의 근거이며, 동시에 올바른 추출 방식을 선택해야 하는 근거이기도 합니다. 템플릿 기반 도구(template-based tool)는 동일한 세 가지 실수를 기계 속도로 반복하기 때문입니다. 위치에 따라 매칭하다가 표가 조금만 이동해도 의미를 잃어버립니다.
템플릿을 그리는 대신 열 정의하기

해결 방법은 데이터가 어디에 있는지 설명하는 것을 멈추고 원하는 것이 무엇인지 설명하는 것입니다. Custom Column Extraction은 열 이름을 기준으로 작동합니다. "Subject ID", "Event Term", "Severity", "Onset Date", "Causality"와 같은 필드 이름을 입력하면 AI는 페이지의 고정된 위치를 매칭하는 대신 열 이름의 의미를 이해하여 각 값을 찾습니다. 입력한 열 이름은 출력 표의 머리글이 됩니다. 읽기가 의미론적이기 때문에 소스가 이벤트가 하나 또는 50개인 피험자별 목록이든, 레이아웃이 지난달에 추출한 연구와 일치하든 동일한 열 이름 세트가 작동합니다.
이는 규정 준수 중심의 문서군에서 특정한 이유로 중요합니다. 구조가 고정되어 있어 필드 이름이 안정적이고 재사용 가능하지만 정확한 표는 고정되어 있지 않으므로 위치 기반 접근 방식은 결코 일반화되지 않습니다. 열을 정의하면 안정적인 부분(필드)은 문서 간에 전달되고 불안정한 부분(레이아웃)은 더 이상 중요하지 않게 됩니다. 이는 모듈별 템플릿을 모든 연구 보고서와 모든 CMC 표에 대해 재구축해야 하는 템플릿 추출 방식과 정반대입니다.
세 가지 열 유형이 대부분의 규제 요구를 충족합니다. 직접 열은 명시적으로 인쇄된 필드를 가져오며, 여기에는 평가변수, 발병일, 규격 한계 등 대부분이 포함됩니다. 계산 열은 추출 중에 계산합니다. 예를 들어 시작 및 종료 날짜에서 기간을 도출하거나 명시된 합계가 구성 요소와 일치하지 않을 때 차이를 출력합니다. 추론 열은 문서에 인쇄되지는 않지만 암시하는 값을 할당하며, 이벤트가 진행 중으로 설명되는지 여부와 같은 범주에 유용합니다. 마지막 유형은 텍스트를 읽는 것이지 임상적 판단이 아니며, 판정이 필요한 모든 것에 사용해서는 안 됩니다.
파일은 안전하게 처리되며 저장되지 않습니다.
일반적인 메커니즘과 이전의 위치 기반 도구와의 차이점은 템플릿 불필요 문서 추출에서 설명합니다. 규제 팀의 경우 실용적인 버전은 이론보다 간단합니다. 열 이름을 한 번 작성하고 프로그램의 모든 보고서에서 재사용하면 됩니다.
추출된 테이블 검토 가능하게 만들기
규제 분야에서 추출된 테이블은 자격을 갖춘 사람이 원본을 다시 읽지 않고도 확인할 수 있을 때만 유용합니다. 이것이 시간을 절약하는 추출과 검증 부담을 추가하는 추출의 차이입니다. 세 가지 기능이 이 문제를 직접 해결합니다.
경계 상자 검증이 포함된 검토 모드(Review Mode)를 사용하면 추출된 셀 위에 마우스를 올려 해당 값이 원본 페이지의 정확히 어느 위치에서 왔는지 확인하고, 페이지의 영역을 클릭하여 해당 셀로 다시 이동할 수 있습니다. 발병일 또는 인과성 평가와 같은 필드의 경우 "추출 신뢰"를 몇 초 만에 "추출 점검"으로 바꿔줍니다. 또한 필드가 편집된 경우 AI의 원래 값을 표시하므로 수정 사항을 추적할 수 있습니다.
Multi-Page Merge는 여러 페이지에 걸친 문서를 피험자 식별자와 같은 공유 값을 기준으로 그룹화하여 단일 행으로 접습니다. 이를 통해 페이지 나눔을 넘어서는 서술이 있는 중대한 이상 반응이나 부록에 분산된 피험자 기록이 두 개의 절반 레코드로 도착하는 것을 방지합니다. 필드는 해당 필드가 있는 페이지에서 채워지며 피험자 ID와 같은 반복 정보는 모든 줄에 전달됩니다.
모델 티어(Model Tier)는 원본이 스캔되거나 촬영된 문서일 때 중요합니다. 오래된 연구 보고서는 종이 스캔본인 경우가 많으며 일부에는 손으로 쓴 주석이 있습니다. 더 높은 처리 티어는 복잡한 필기와 복잡한 레이아웃에 더 강력한 기본 모델을 사용하는 반면, 표준 티어는 대부분의 인쇄된 표 형식 문서를 이미 처리합니다. 동일한 플랫폼은 의료 문서 추출 규정 준수 가이드에 포함된 스캔된 행정 서류와 같은 임상 시험 외 규제 문서도 처리합니다.
일괄 처리는 프로그램 수준의 이유로 같은 목록에 속합니다. 제출 프로그램은 많은 보고서를 생성하며, 이를 그룹으로 처리하면 결과를 하나의 테이블로 병합하여 조정해야 하는 단일 문서 내보내기 더미를 남기지 않습니다. 이 패턴은 출력 세분성 문제가 피험자 전체인 임상 시험 문서 추출을 포함한 다른 임상 기록에 사용되는 것과 동일합니다.
이러한 종류의 추출이 수행하지 않는 작업
경계를 명확히 하는 것이 과장 광고보다 더 유용합니다. 이 분야에서 블로그 게시물의 주장과 검증된 시스템은 매우 다르기 때문입니다.
이상 반응을 코딩하지 않습니다. 보고된 그대로의 용어를 신체 계통 하의 MedDRA 우선 용어에 매핑하는 것은 자체 사전과 규칙을 가진 코딩 단계입니다. 추출은 이미 코딩된 용어를 문서에서 가져올 수는 있지만, 용어를 할당하지는 않습니다.
안전성을 판정하지 않습니다. 인과성, 중대성, 예상 가능성은 자격을 갖춘 사람이 내리는 결정입니다. 추론 열은 문서에 명시된 내용을 읽을 뿐이며, 그 외의 작업은 수행하지 않습니다.
비식별화를 수행하지 않습니다. 보고서의 피험자 식별자는 출력에 그대로 유지됩니다. 파일이 데이터 계약 없이 다른 곳으로 전송되는 경우, 이를 제거하는 것은 별도의 신중한 단계입니다.
검증되거나 감사 인증된 시스템이 아니며, eCTD 게시 도구도 아닙니다. 규제 대상 전자 기록은 모든 변경 사항에 대한 감사 추적 및 문서화된 시스템 검증과 같은 요구 사항을 ICH E6(R3) 및 21 CFR Part 11에 따라 충족해야 합니다. 이 도구는 그러한 인증을 보유하지 않습니다. 대규모로 문서를 관리하고 게시하는 시스템인 LORENZ docuBridge, EXTEDO eCTDmanager 및 EXTEDOpulse, Veeva Vault Submissions, Certara GlobalSubmit은 문서 묶음이 조립, 검증, 제출되는 곳입니다. 추출은 그보다 앞선 단계로, 인간이 검토하는 첫 번째 패스일 뿐이며 시스템 오브 레코드도 게시자도 아닙니다. 여기서의 비교 대상은 해당 플랫폼이 아닙니다. 비교 대상은 보고서를 읽고 다시 입력하는 사람입니다.
이러한 한계 내에서도 여전히 수작업의 대부분이 남아 있습니다. 반복되는 값을 문서에서 꺼내 검토자가 확인할 수 있는 표에 넣는 작업입니다. 이것이 작업을 사람에게서 구조를 잃지 않는 도구로 옮기는 전체적인 목적입니다.
FAQ
AI가 임상 연구 보고서에서 모듈별 템플릿을 만들지 않고도 데이터를 추출할 수 있나요? 네, 페이지에 영역을 그리는 대신 원하는 필드를 열 이름으로 정의하면 됩니다. 의미 기반으로 읽기 때문에 동일한 열 집합이 서로 다른 연구 보고서와 레이아웃에서도 작동합니다. 다만 어떤 섹션의 데이터를 의미하는지 지정해야 합니다. CSR에는 동일한 이상 반응 데이터가 여러 위치에 있기 때문입니다.
CTD 제출 데이터 추출이 정확히 무엇인가요? Common Technical Document를 구성하는 문서에서 구조화된 필드를 추출하는 것입니다. 예를 들어 Module 5 임상 연구 보고서의 평가변수와 이상 반응 세부 정보, Module 3 CMC 규격 표의 규격 한계, Module 2의 요약 수치 등이 해당됩니다. 목표는 사용자가 지정한 열을 기준으로 검토 가능한 표를 만드는 것입니다.
이상 반응별로 한 행씩 원했는데 추출 결과에 개수만 나온 이유는 무엇인가요? CSR에 이상 반응 데이터가 요약 비율 표, 피험자별 목록, 서술의 세 가지 형태로 존재하는데, 요청에서 어떤 형태를 원하는지 지정하지 않았기 때문입니다. 피험자 ID, 사건 용어 등 필요한 형태의 열 이름을 지정하면 요약 표 대신 피험자별 목록을 대상으로 추출합니다.
이 도구가 eCTD 게시 시스템이나 안전성 데이터베이스를 대체하나요? 아닙니다. 추출은 검토 가능한 첫 번째 패스를 생성하며 Veeva Vault, LORENZ docuBridge, EXTEDO와 같은 시스템의 상위 단계에 위치합니다. 검증되고 감사 인증된 플랫폼이 아니며, 제출물을 게시하지 않고, MedDRA로 용어를 코딩하지 않으며, 인과성이나 중증도를 판단하지 않습니다.
구조가 고정되어 있으므로 열도 고정할 수 있습니다
규제 문서는 길기 때문에 추출이 어려운 것이 아닙니다. 고정된 구조 속에서도 동일한 사실이 비율, 행, 문장으로 나타날 수 있고, 상호 참조가 현재 보고 있는 위치에 인쇄되지 않은 숫자를 가리킬 수 있기 때문에 어려운 것입니다. 이를 인정하면 해결책은 더 큰 모델이 아니라 더 단순해집니다. 필드를 지정하고, 원하는 형태를 지정하고, 위치가 아닌 의미로 찾도록 도구에 맡기는 것입니다. 이러한 문서를 고정적으로 만드는 규제 프레임워크는 바로 열 이름을 전체 프로그램에서 재사용할 수 있게 만드는 요소이기도 합니다.
임상 연구 보고서 하나 또는 CMC 규격 표 하나를 가져와 실제로 필요한 열을 정의하고, 배치를 적용하기 전에 출력 결과를 확인해 보세요.