제1장
임상시험은 사람을 대상으로 하는 실험이다. 임상시험이 만들어 내는 것은 새 의약품 그 자체가 아니라 그 의약품에 관한 근거이며, 그 근거는 오직 데이터의 형태로만 존재한다. 이 장에서는 임상시험 데이터가 어디에서 생겨나는지, 첫 피험자를 등록하기 전에 어떤 설계 결정이 데이터의 모양을 정하는지, 그 과정에서 누가 무엇을 책임지는지, 그리고 WIA-BIO-010 v1.0 표준과 이 책이 그 흐름을 어떻게 구성하는지를 살펴본다.
모든 임상시험은 하나의 문서, 곧 임상시험계획서(protocol)에서 시작한다. 계획서는 시험이 답하려는 질문, 참여할 수 있는 사람의 조건, 각 피험자가 받을 처치, 어느 방문에서 무엇을 측정할지, 일차 평가변수가 무엇이며 어떻게 분석할지를 정한다. 그다음부터 임상시험은 긴 변환의 사슬이다. 시험 담당 간호사나 시험자가 관찰 결과를 증례기록서(CRF)에 기록하는데, 오늘날에는 대부분 전자자료수집(EDC) 시스템 안에서 이루어진다. 데이터 관리자는 에디트 체크(edit check)와 질의(query)로 데이터를 정제하고, 데이터베이스를 잠근다. 통계 프로그래머는 원자료를 표준 도표화 데이터셋으로, 다시 분석 데이터셋으로 변환한다. 통계학자는 표·목록·그림을 만들고, 의뢰자는 임상시험결과보고서를 작성해 규제 제출 자료를 꾸린다. 규제기관은 이를 심사하고, 근거가 충분하면 제품을 허가한다.
이 사슬의 연결 고리 하나하나가 의미를 잃어버릴 수 있는 지점이다. 다음 세 가지 실패 유형은 너무 자주 되풀이되어, 데이터 관리 실무자라면 누구나 각각에 얽힌 경험담 하나쯤은 가지고 있다.
이 실패들은 어느 것도 악의에서 비롯되지 않는다. 시험 기록이 무엇인지, 무엇을 담아야 하는지, 한 단계에서 다음 단계로 어떻게 옮겨 가는지에 대한 합의된 구조가 없기 때문에 생긴다. 데이터 표준은 바로 이 빈자리를 채운다. WIA-BIO-010 v1.0은 §1.2에서 자신의 범위를 다음과 같이 밝힌다.
범위가 넓은 만큼, 이것이 어떤 성격의 표준인지 분명히 해 둘 필요가 있다. WIA-BIO-010은 임상 데이터 분야에서 이미 자리 잡은 업계 표준을 대체하지 않는다. 오히려 그것들에 기대고 있다. 데이터를 어떻게 수집할지는 CDISC CDASH가, 어떻게 도표화하고 분석할지는 CDISC SDTM과 ADaM이, 의학 용어 코딩은 MedDRA가, 독성 등급은 CTCAE가 정하며, 윤리와 품질의 틀은 ICH 의약품 임상시험 관리기준(GCP)이 제공한다. WIA-BIO-010이 더하는 것은 간결한 JSON 데이터 모델, 그것을 구현한 TypeScript SDK, 명령행 시연 도구, 검증 규칙과 오류 코드, 그리고 준수 시스템이 따라야 할 통계·안전성 관행에 대한 기술이다. 이 책은 외부 표준을 각자의 영역에서 권위 있는 기준으로 존중하고, WIA-BIO-010은 그것들을 하나의 구현 가능한 시스템으로 묶어 주는 접착제로 다룬다.
의약품 개발은 관례적으로 네 단계로 나뉜다. 이 단계 구분은 정확히 네 건의 시험을 수행하라는 법적 요구가 아니다. 답해야 할 질문들을, 대체로 그 질문을 던지는 것이 안전하고 합리적이 되는 순서대로 정리한 틀이다. 명세 §2가 각 단계를 설명하며, SDK는 같은 구분을 TrialPhase 타입('I' | 'II' | 'III' | 'IV')으로 표현한다.
사람에게 처음 투여하는 시험은 제품을 안전하게 투여할 수 있는지, 어느 용량에서 그런지를 묻는다. 명세는 핵심 산출물로 최대내약용량(MTD), 약동학(PK, 몸이 약에 하는 일), 약력학(PD, 약이 몸에 하는 일)을 든다. 일차 평가 항목은 용량제한독성(DLT), 이상사례의 빈도와 중증도, 그리고 흡수·분포·대사·배설(ADME)이다. 많은 약물의 제1상 시험은 건강한 자원자를 대상으로 하지만, 건강한 사람을 노출시키는 것이 비윤리적인 세포독성 항암제의 경우에는 다른 치료 선택지를 소진한 환자가 참여한다. 용량 증량은 이 단계의 대표적인 설계 문제이며, 1.4절에서 가장 널리 알려진 규칙을 따라가 본다.
견딜 만한 용량 범위를 알게 되면, 제2상은 목표 질환 환자에서 대규모 확증 시험을 정당화할 만큼의 활성이 나타나는지, 그리고 어느 용량을 다음 단계로 가져갈지를 묻는다. 평가변수는 종양 반응, 바이오마커 변화, 증상 점수처럼 비교적 단기적이거나 대리(surrogate) 지표인 경우가 많다. 이 단계의 목적은 아직 증명이 아니라 결정이기 때문이다. 명세는 단일군 시험, 무작위배정 제2상, Simon 2단계 설계, 적응적 설계를 대표적인 선택지로 들고, 무익성을 예측의 문제로 정의한다. 제2상에서 본 결과를 전제로 제3상이 성공할 가능성이 얼마인가 하는 물음이다. 이 설계들은 1.5절에서 다시 다룬다.
제3상은 주장을 증명하는 단계다. 명세가 이 단계에 요구하는 통계적 조건은 어느 규제기관이든 인정하는 것들이다. 사전에 명시된 일차 평가변수, 제1종 오류율 통제(통상 양측 α = 0.05), 충분한 검정력(80 % 이상), 그리고 치료의향(ITT) 일차 분석이다. 명세의 "규제 기준"은 여기에 유효성은 일차 평가변수로, 안전성은 이익-위험 평가로, 품질은 GCP 준수로 판단한다는 점을 덧붙인다. 제2장에서 다루는 표본크기, 검정력, 검정, 다중성, 중간분석은 모두 제3상 결과를 믿을 만하게 만들기 위한 도구다.
허가는 제한된 수의 환자를 제한된 기간 동안 추적한 결과에 근거한다. 드문 이상반응, 장기적 영향, 그리고 핵심 시험에서 제외된 집단에서의 성능은 제품이 널리 쓰인 뒤에야 드러난다. 제4상은 시판 후 연구와 감시를 포괄하며, 일상 진료 데이터에서 얻는 실사용 근거(RWE)를 점점 더 많이 활용한다. 명세는 주요 활동으로 드문 이상사례 탐지, 장기 유효성, 비교 유효성을 든다.
| 단계 | 주된 목적 | 전형적 대상 | 핵심 평가변수와 산출물 | 통계적 초점 |
|---|---|---|---|---|
| 제1상 | 안전성, 내약성, 용량 탐색 | 건강한 자원자, 또는 건강인 노출이 비윤리적일 때는 환자 | DLT, MTD, PK/PD 지표, ADME, 이상사례 빈도 | 용량 증량 규칙, 기술적 안전성 요약 |
| 제2상 | 유효성 신호, 용량 선택, 추가 안전성 | 목표 질환 환자 | 반응률, 바이오마커·대리 지표 변화, 흔한 이상사례 | 진행/중단 결정, 무익성, 제3상을 위한 효과크기 추정 |
| 제3상 | 유효성과 안전성의 확증 | 더 크고 대표성 있는 환자 집단, 대개 대조군과 무작위배정 | 사전 명시된 일차 평가변수, 이차 평가변수, 안전성 프로파일, 삶의 질 | α 통제, 검정력 80 % 이상, ITT 분석, 다중성, 중간 모니터링 |
| 제4상 | 장기·실사용 환경에서의 안전성과 유효성 | 허가 후 일상 진료에서 치료받는 환자 | 드문 이상사례, 장기 결과, 비교 유효성 | 신호 탐지, 관찰연구 방법과 비뚤림 통제 |
임상시험이 만들어 내는 데이터는 첫 방문보다 훨씬 앞서 내려진 설계 선택에 의해 모양이 정해진다. 이 선택을 이해하지 못하는 데이터 관리자는 계획서의 질문에 답할 수 없는 데이터베이스를 만들게 된다. 다음 용어들은 모든 계획서와 이 책의 이후 모든 장에 등장한다.
무작위배정은 우연에 의한 절차로 피험자를 치료군에 배정하여, 결과에 영향을 주는 알려진 요인과 알려지지 않은 요인이 평균적으로 군 사이에 균형을 이루게 한다. 결과의 차이를 치료 때문이라고 말할 수 있게 해 주는 것이 바로 무작위배정이다. 단순 무작위배정(피험자마다 동전 던지기)은 작은 시험에서 군 크기를 눈에 띄게 어긋나게 만들 수 있으므로, 대부분의 시험은 순열 블록(permuted block)을 쓴다. 예를 들어 네 건의 배정으로 이루어진 블록마다 정확히 두 건씩 각 군에 배정하는 식이다. 여기서 블록 크기는 설명을 위한 예시이며, 실제 계획서는 기관 직원이 다음 배정을 예측하지 못하도록 블록 크기를 숨기거나 바꾸는 경우가 많다.
층화는 강한 예후 인자로 정의된 하위집단, 예컨대 기저 HbA1c가 기준값 이상인지 미만인지, 또는 시험기관별로 무작위배정을 따로 수행하여 각 군이 비슷한 구성을 갖게 한다. 일차 분석은 보통 층화 인자로 보정하므로, 층화 인자는 실제로 사용된 그대로 기록해야 한다. WIA-BIO-010에서 Randomization 객체는 배정 일자(date), 배정 치료(treatment), 선택 항목인 randomizationNumber와 arm, 그리고 인자 이름을 수준에 대응시키는 자유 형식의 stratification 맵을 담는다.
눈가림(blinding, masking)은 배정 사실에 영향을 받을 수 있는 사람들에게 치료 배정을 숨기는 것이다. 공개(open-label) 시험에서는 모두가 알고, 단일 눈가림 시험에서는 피험자가 모르며, 이중 눈가림 시험에서는 피험자도 시험자와 평가자도 모른다. 눈가림은 결과 측정, 특히 통증 점수처럼 주관적인 측정을 보호한다. 이것은 배정의 순간을 보호하는 배정 은폐(allocation concealment)와 구별된다. 피험자를 등록하는 사람이 다음 피험자가 어느 군에 배정될지를 알아서는 안 된다. 알게 되면 의식적이든 아니든 특정 환자를 그 군으로 유도할 수 있기 때문이다. 배정 은폐는 공개 시험에서도 가능하지만, 은폐가 완벽하더라도 눈가림이 늘 가능한 것은 아니다.
무작위배정 시험은 시험 치료를 위약, 표준치료, 활성 대조약, 또는 다른 용량과 같은 대조군과 비교한다. 무엇을 검정하느냐에 따라 가설을 세우는 방식이 달라진다.
치료의향(ITT) 원칙은 무작위배정된 모든 피험자를, 실제로 치료를 받았는지, 치료를 바꿨는지, 중도탈락했는지와 관계없이 배정된 군에서 분석한다. 무작위배정이 만든 균형을 지키며, "이 치료를 하기로 결정하면 어떤 일이 생기는가"라는 실용적 질문에 답한다. 계획서순응(PP) 집단은 중대한 계획서 위반 없이 계획서를 충분히 따른 피험자만 남긴다. 위반의 이유가 무작위인 경우는 드물기 때문에 PP 추정치는 비뚤림에 더 노출되지만, 민감도 분석으로서 중요하다. 특히 비열등성 시험에서 그렇다. 시험 수행이 엉성하면 두 군이 비슷해 보이는 경향이 있고, 이는 ITT 분석에서 비열등성 주장을 부당하게 유리하게 만들기 때문이다. 많은 계획서는 몇 가지 정당한 제외만 둔 채 ITT에 가까운 전체 분석군(full analysis set)도 정의한다. 데이터 모델에 주는 함의는 간단하다. 분석 집단 플래그는 수집하는 것이 아니라 파생하는 것이며, 데이터베이스는 무작위배정된 모든 피험자를 보존해야 한다.
명세 §1.4는 핵심 용어로 LOCF(last observation carried forward, 마지막 관측값 대체)를 든다. LOCF는 결측된 이후 값을 그 피험자의 마지막 기록값으로 채운다. 간편해서 한때 널리 쓰였지만, 탈락 이후 아무것도 변하지 않았으리라고 가정하고, 변동성을 과소평가하며, 질병 경과에 따라 어느 방향으로든 결과를 비뚤게 만들 수 있다. 규제 당국의 관점은 이 방법에서 멀어졌다. 추정대상(estimand)에 관한 ICH E9(R1) 부록(2019)은 치료 중단이나 구제약 사용 같은 중간사건(intercurrent event)을 어떻게 다룰지 미리 밝히고, 그 추정대상에 맞는 결측 처리 방법, 즉 반복측정 혼합모형, 다중대체, 원칙에 입각한 민감도 분석을 고르도록 요구한다. 이 책이 LOCF를 언급하는 것은 명세가 언급하기 때문이지 권장하기 때문이 아니다.
README는 적응적 시험과 바스켓/엄브렐러 시험을 주요 활용 사례로 든다. 적응적 설계는 제1종 오류를 훼손하지 않으면서 중간분석 시점에 사전 계획된 변경, 예컨대 군 제외, 표본크기 재추정, 하위집단 강화, 제2상에서 제3상으로의 연속 전환을 허용한다. 바스켓 시험은 하나의 분자적 특징을 공유하는 여러 질환에서 하나의 치료를 시험한다. 엄브렐러 시험은 한 질환 안에서 여러 치료를 각각 바이오마커로 정의된 하위집단에 맞춰 시험한다. 플랫폼 시험은 마스터 계획서를 열어 둔 채 시간에 따라 군을 추가하거나 제거한다. 이들 모두 데이터 시스템에 큰 부담을 준다. 시험 도중 군 정의가 바뀌고, 모든 분석은 각 피험자가 무작위배정될 당시 어떤 설계 버전이 유효했는지를 알아야 하기 때문이다.
ClinicalTrial 타입은 phase, status, primaryEndpoint, 선택 항목인 secondaryEndpoints, sampleSize, 선택 항목인 protocolVersion을 기록하고, Randomization 타입은 군과 층화를 기록한다. 눈가림, 대조 유형, 가설 유형(우월성 또는 비열등성), 적응적 특성을 담는 필드는 없다. 구현자는 이런 정보를 등록 모듈(명세 §8.1)이 관리하는 계획서 메타데이터에 두고 protocolVersion으로 참조해야 하며, 피험자 기록에 임시 필드를 즉흥적으로 만들어 넣어서는 안 된다.
용량 증량 문제는 말로 하기는 쉽다. 미리 정한 여러 용량 단계가 있다. 용량이 너무 낮으면 효과가 없고, 너무 높으면 받아들일 수 없는 독성이 생긴다. 피험자는 낮은 용량부터 작은 집단 단위로 치료받고, 각 집단의 경험이 다음 집단에 무엇을 할지를 결정한다. 명세 §2.1은 제1상의 통계적 고려사항으로 고전적인 해법인 3+3 설계를 제시한다.
명세의 문구("≥2/3 DLT이면 중단, 직전 용량이 MTD")는 첫 코호트만 명시적으로 다룬다. 6명인 경우는 같은 논리에서 따라 나오며, 위의 4단계에 적어 두었다. 계획서에 분명히 적어야 할 흔한 보완 규칙으로, MTD로 선언되는 단계 자체가 6명에게서 시험되었어야 한다는 조건이 있다. 3명만 치료하고 0/3이었던 단계 바로 다음에서 증량이 멈췄다면, 그 단계를 MTD로 선언하기 전에 3명을 더 치료한다.
용량 단계를 네 개로 계획한 가상의 최초 인체 투여 시험을 생각해 보자. 아래 순서는 설명을 위해 지어낸 것이며 실제 시험 데이터가 아니다.
| 코호트 | 용량 단계 | 해당 단계 누적 치료 인원 | 해당 단계 누적 DLT | 결정 |
|---|---|---|---|---|
| 1 | 1 | 3 | 0 | 0/3 → 2단계로 증량 |
| 2 | 2 | 3 | 1 | 1/3 → 2단계를 6명으로 확대 |
| 3 | 2 | 6 | 1 | 1/6 → 3단계로 증량 |
| 4 | 3 | 3 | 2 | 2/3 → 중단, MTD = 2단계 |
모두 12명이 치료받았다. 2단계가 MTD로 선언되며, 이미 6명으로 확대되었으므로 코호트를 더 둘 필요가 없다. 4단계에는 도달하지 않았다. 이 결정 규칙은 몇 줄의 코드로 표현할 수 있을 만큼 단순하며, 코드로 적어 보는 것은 계획서와 소프트웨어가 같은 규칙을 따르는지 확인하는 좋은 방법이기도 하다.
type Decision = 'ESCALATE' | 'EXPAND' | 'STOP';
// WIA-BIO-010 명세 §2.1의 3+3 규칙 (6명 분기를 명시)
function threePlusThree(treated: number, dlts: number): Decision {
if (treated === 3) {
if (dlts === 0) return 'ESCALATE';
if (dlts === 1) return 'EXPAND';
return 'STOP'; // 3명 중 2~3명
}
if (treated === 6) {
return dlts <= 1 ? 'ESCALATE' : 'STOP'; // 6명 중 2명 이상이면 중단
}
throw new Error('3+3 규칙은 3명 또는 6명 코호트만 평가한다');
}
// 표 1-2의 예시 순서 (실제 시험 데이터 아님)
const cohorts = [
{ level: 1, treated: 3, dlts: 0 },
{ level: 2, treated: 3, dlts: 1 },
{ level: 2, treated: 6, dlts: 1 },
{ level: 3, treated: 3, dlts: 2 },
];
for (const c of cohorts) {
console.log(`level ${c.level}: ${c.dlts}/${c.treated} -> ${threePlusThree(c.treated, c.dlts)}`);
}
예상 출력:
level 1: 0/3 -> ESCALATE
level 2: 1/3 -> EXPAND
level 2: 1/6 -> ESCALATE
level 3: 2/3 -> STOP
3+3 규칙은 투명하고 현장에서 통계 소프트웨어가 없어도 적용할 수 있어 오랫동안 널리 쓰였다. 약점도 그만큼 잘 알려져 있다. 우선 보수적이다. 많은 피험자가 최종 MTD보다 한참 낮아 효과를 기대하기 어려운 용량에서 치료받는다. 또 MTD 자체에서 치료받는 피험자가 적어서, 권장 용량에서의 독성률이 매우 부정확하게 추정된다. 6명 중 1명의 DLT는 넓은 범위의 실제 독성률과 모두 양립한다. 그리고 기억이 없다. 각 결정은 현재 단계의 코호트만 쓰고 다른 단계에서 알게 된 것을 무시한다. 목표 독성률을 명시적으로 겨냥하지도 않는다. 연속재평가법(CRM)이나 베이지안 최적구간(BOIN) 설계 같은 모형 기반·모형 보조 설계가 이런 점을 보완하며 사용이 늘고 있다. 따라서 WIA-BIO-010 구현은 3+3 규칙을 유일한 증량 논리로 하드코딩하지 말고, 코호트 단위의 용량, DLT 수, 결정 기록을 일반적인 형태로 저장해야 한다.
데이터 모델 관점에서 얻는 실무적 교훈은, DLT 정의와 DLT 평가 기간이 계획서 수준의 개념이라는 점이다. 어떤 이상사례가 DLT로 계산되는지는 그 등급, 첫 투여 이후 발생 시점, 약물과의 관련성에 따라 달라지며, 이 정보는 모두 제4장에서 다루는 이상사례 기록에 담긴다. 용량 증량 결정은 그 기록들까지 거슬러 추적할 수 있어야 하는 파생 사실이다.
제2상은 불확실성 속의 결정에 관한 단계다. 제3상의 비용과 위험을 정당화할 만큼 신호가 있는가? 명세 §2.2에 열거된 설계들은 이 질문에 각기 다른 방식으로 답한다.
모든 피험자가 시험 치료를 받고, 관찰된 반응률을 과거 기준값과 비교한다. 실제 반응률이 기존 치료가 달성하는 수준보다 낫지 않다면 이만큼의 반응자를 볼 수 있겠는가를 묻는 것이다. 단일군 시험은 작고 빠르며 항암 분야에서 흔하다. 약점은 기준값 자체에 있다. 과거 반응률은 다른 환자, 다른 시기, 다른 평가 관행에서 나온 것이므로, 차이가 치료가 아니라 환자 선택을 반영할 수 있다.
대조군 또는 여러 용량 사이에서 무작위배정하면 표본이 커지는 대가로 그런 비뚤림의 상당 부분이 사라진다. 무작위배정 제2상 시험은 보통 확정적인 차이를 보일 만큼의 검정력을 갖도록 설계하지 않는다. 여러 용량이나 요법 중 나은 것을 선택하거나, 유망한 치료가 너무 일찍 버려지지 않도록 완화된 α로 선별하도록 설계한다. 그 결과는 제3상에서 다시 검증된다.
Simon 2단계 설계는 무익성에 따른 조기 중단을 둔 단일군 설계다. 시험자는 관심 가치가 없는 반응률(p0), 추구할 가치가 있는 반응률(p1), 그리고 허용 가능한 오류율을 정한다. 설계 계산은 네 개의 숫자를 내놓는다. 1단계 표본크기 n1, 1단계 기준값 r1, 전체 표본크기 n, 최종 기준값 r이다. 처음 n1명에서 반응이 r1건 이하이면 시험을 중단하고, 그렇지 않으면 n명까지 등록을 계속하여 전체 반응이 r건을 넘으면 유망하다고 판단한다. 흔히 쓰는 변형은 두 가지다. 최적(optimal) 설계는 치료가 관심 가치가 없을 때의 기대 표본크기를 최소화하고, 미니맥스(minimax) 설계는 최대 표본크기를 최소화한다. 기준값은 계획서의 설계 계산에서 나와야 하며, 데이터를 본 뒤에 고르는 것이 아니다.
명세는 제2상 무익성을 P(제3상 성공 | 제2상 데이터) < 기준값 → 중단으로 기술한다. 이것은 베이지안 예측확률이다. 지금까지 관찰한 데이터와 사전분포가 주어졌을 때, 향후 시험 또는 이 시험의 완료가 성공 기준에 도달할 가능성이 얼마인가를 묻는다. 그 확률이 미리 정한 기준값 아래로 떨어지면 계속하는 것이 가치 있을 가능성이 낮다. 명세는 기준값을 정하지 않으며, 이 책도 여기서 정하지 않는다. 중간 무익성 판단에 쓰이는 관례는 제2장에서, 중단 규칙을 문서화하는 방법은 제6장에서 다룬다. 데이터 설계에서 중요한 것은, 무익성 분석이 중간 자료 마감 시점 데이터의 적시성과 완전성만큼만 좋다는 사실이다.
임상시험 데이터는 많은 사람의 손을 거치며, 각 역할에는 데이터 시스템이 접근 권한과 감사추적에 반영해야 할 고유한 책임이 따른다. 이 책임의 국제적 틀은 ICH 의약품 임상시험 관리기준(GCP), 곧 E6 가이드라인이다. 명세의 참고문헌은 E6(R2) 개정판을 인용하지만, ICH는 2025년에 위험 기반 품질관리와 전산화 시스템의 적합성을 더 강조한 E6(R3)를 채택했다. 이 변화가 구현자에게 갖는 의미는 제8장에서 다시 다룬다.
| 역할 | 핵심 책임 | 데이터와의 관계 |
|---|---|---|
| 의뢰자(sponsor) | 시험을 시작·관리하고 재정을 부담하며, 품질과 규제 제출에 대한 전반적 책임을 진다 | 시험 데이터베이스, 통계분석, 제출 자료를 소유하며 신속 안전성 보고를 책임진다 |
| 임상시험수탁기관(CRO) | 계약으로 위임받은 의뢰자 업무(모니터링, 데이터 관리, 생물통계 등)를 수행한다 | EDC를 운영하고 SDTM/ADaM 데이터셋을 만드는 경우가 많으나, 최종 책임은 의뢰자에게 남는다 |
| 시험책임자(PI)와 기관 팀 | 기관에서 시험을 수행하고, 동의를 받으며, 피험자를 돌본다 | 근거문서와 CRF 입력을 만들고, 데이터 질의에 답하며, 이상사례와 중대한 이상사례를 의뢰자에게 보고한다 |
| 임상시험심사위원회(IRB) | 계획서, 동의 문서, 변경 사항을 독립적으로 심사·승인하며 피험자의 권리와 안전을 보호한다 | 안전성 정보와 변경 사항을 받으며, 그 승인은 필수 문서가 된다 |
| 독립적 자료모니터링위원회(DSMB) | 시험 진행 중 누적되는 안전성 데이터와, 계획된 경우 유효성 데이터를 검토하는 독립 전문가 집단 | 독립 통계학자가 준비한 눈가림 해제 중간 데이터를 보고, 계속·변경·중단을 권고한다 |
| 모니터(CRA) | 의뢰자를 대신해 시험이 계획서와 GCP를 따르는지 확인한다 | CRF 입력을 근거문서와 대조 확인하고, 지적 사항과 질의를 제기한다 |
| 규제기관 | 시험을 승인하고 제품을 허가하며, 의뢰자와 기관을 실태조사한다 | 신청서, 안전성 보고, 최종 제출 자료를 받고 어떤 기록이든 조사할 수 있다 |
명세 §1.2가 언급하는 규제기관은 미국 식품의약국(FDA), 유럽의약품청(EMA), 일본 의약품의료기기종합기구(PMDA)이다. 유럽연합에서 시험 승인 자체는 임상시험 규정(EU) No 536/2014에 따라 회원국 관할 당국이 담당하며, 예전의 EudraCT 기반 절차를 대체한 임상시험정보시스템(CTIS)을 통해 이루어진다. 각 지역의 제출 절차는 제6장에서 다룬다.
국내 독자에게는 같은 역할이 국내 체계에 그대로 대응한다. 식품의약품안전처(식약처)는 임상시험용 의약품의 임상시험계획을 승인하고, 의약품 임상시험 관리기준(KGCP)은 ICH-GCP에 맞추어 의뢰자, 시험자, IRB의 의무를 정한다. 국내 시험은 흔히 질병관리청이 운영하는 임상연구정보서비스(CRIS)에, 다국가 시험은 ClinicalTrials.gov에 등록한다. 이 책은 국내 체계를 맥락으로만 언급한다. WIA-BIO-010 자체는 국가별 규칙을 정하지 않으며, 국내 요건은 언제나 현행 법령을 기준으로 확인해야 한다.
이런 역할 분담에서 따라 나오는 한 가지 결과는 따로 강조할 만하다. ClinicalTrials.gov의 NCT 번호 같은 등록 식별자는 의뢰자의 소프트웨어가 아니라 등록처가 부여한다. SDK의 ClinicalTrial.id 필드에는 "예: NCT 번호"라는 설명이 붙어 있는데, 제5장에서 보듯 SDK의 registerTrial은 그 형식의 자리표시 값을 스스로 생성한다. 운영 시스템은 등록처가 번호를 발급하면 그 번호를 저장해야 하며, 스스로 생성한 값을 등록번호처럼 내세워서는 안 된다.
이 표준은 작은 저장소 형태로 공개되어 있다. 구성 요소마다 권위와 성숙도가 다르므로, 어느 것에 기대기 전에 무엇이 무엇인지 알아 두어야 한다.
| 경로 | 내용 | 이 책의 취급 |
|---|---|---|
spec/WIA-BIO-010-v1.0.md | 규범 명세 1.0.0판: §1–§10과 부록 A(계산 예제) | 일차 자료. 계산이나 인용에 오류가 있는 곳은 그렇다고 밝히고 바로잡은 값을 제시한다 |
README.md | 명세 요약: 단계 표, 공식, SDK·CLI 예제, WIA 연계 목록, 활용 사례 | 이차 자료. 일부 예제는 적힌 그대로는 실행되지 않는다(제5장) |
api/typescript/src/types.ts, index.ts | @wia/bio-010 SDK(1.0.0판): 데이터 타입, 상수, ClinicalTrialSDK 클래스와 독립 함수 | 데이터 모델의 참조 구현. 근사식과 결함은 제5장과 제8장에서 정리한다 |
cli/wia-bio-010.sh | register-trial, report-ae, calc-sample-size, generate-submission 등의 명령을 가진 셸 스크립트 | 출력만 보여 주는 시연 도구일 뿐이며, 계산·적합성·제출 도구가 아니다 |
simulator/ | 범용 대화형 페이지 템플릿 | 임상시험 논리가 없으므로 시험·검정력 시뮬레이터로 쓰지 않는다 |
spec/PHASE-1…4-*.md | 다른 표준 ID와 무관한 내용을 담은 템플릿 파일 네 개 | 이 표준의 일부가 아니며 인용하지 않는다 |
명세는 여덟 개의 약어를 정의한다. 이 책 전체에서 아래 의미로 사용한다.
| 용어 | 의미 | 주로 다루는 장 |
|---|---|---|
| ICF | 피험자 동의서: 시험의 목적, 절차, 위험, 권리를 설명받은 뒤 참여에 동의하는 문서 | 6, 7 |
| CRF | 증례기록서: 계획서가 정한 피험자별 데이터 기록. 오늘날에는 거의 전자 형태다 | 3, 7 |
| EDC | 전자자료수집: CRF 데이터를 입력·검증·질의하는 전산 시스템 | 7 |
| AE | 이상사례: 치료와의 관련성과 무관하게 피험자에게 생긴 바람직하지 않은 모든 의학적 사건 | 4 |
| SAE | 중대한 이상사례: 사망, 생명 위협, 입원 등 규제상 중대성 기준을 충족하는 이상사례 | 4, 6 |
| ITT | 치료의향: 무작위배정된 모든 피험자를 배정된 군에서 분석 | 2, 3 |
| PP | 계획서순응: 중대한 계획서 위반이 없는 피험자로 한정한 분석 | 2, 3 |
| LOCF | 마지막 관측값 대체: 결측값을 채우는 단순한 방법으로, 지금은 권장되지 않는다 | 1, 2 |
이 책은 명세의 순서가 아니라 데이터가 흘러가는 논리적 순서를 따른다. 명세의 각 부분을 어느 장에서 다루는지는 표 1-6과 같다.
| 명세 절 | 주제 | 장 |
|---|---|---|
| §1 | 목적, 범위, 철학, 용어 | 1 |
| §2 | 임상시험 단계, 3+3, 제2상 설계 | 1(제3상 요건은 2에서도) |
| §3.1–§3.3 | CDISC CDASH, SDTM, ADaM | 3 |
| §3.4 | EDC 요건과 검증 | 7 |
| §4 | 표본크기, 검정력, 검정, 구간추정, 다중성, 중간분석 | 2 |
| §5.1–§5.4 | MedDRA, 중증도 등급, 인과관계, 중대한 이상사례 | 4 |
| §5.5 | 안전성 모니터링 | 6 |
| §6 | FDA, EMA, PMDA 및 ICH-GCP 요건 | 6 |
| §7.1–§7.2 | 시험 등록과 환자 데이터 모델 | 3 |
| §7.3 | 이상사례 데이터 모델 | 4 |
| §8.1, §8.3 | 필수 구성요소, 검증 규칙 | 7, 8 |
| §8.2, §8.4 | API 인터페이스, 오류 코드 | 5, 8 |
| §9.1 | 피험자 보호와 동의 | 7 |
| §9.2–§9.3 | 안전성 모니터링 주기, 중단 규칙 | 6 |
| §10 | 참고문헌과 인용된 표준 버전 | 전반, 버전 관련 주석은 8 |
| 부록 A | 표본크기와 상대위험 계산 예제 | 2, 8 |
@wia/bio-010 SDK와 CLI를 알려진 결함까지 포함해 설명한다.다음 장으로 넘어가기 전에, WIA-BIO-010 구현을 맡은 독자는 자신의 프로젝트에 대해 아래 항목을 하나씩 확인할 수 있어야 한다.
| # | 확인 항목 | 중요한 이유 |
|---|---|---|
| 1 | 시험 단계를 TrialPhase 값 I–IV로 기록하고, 유효한 계획서 버전을 참조한다 | 단계와 계획서 버전이 어떤 규칙과 분석이 적용되는지를 정한다 |
| 2 | v1.0 타입이 다루지 않는 설계 속성(눈가림, 대조 유형, 우월성·비열등성, 적응적 특성)을 계획서 메타데이터에 둔다 | 분석과 모니터링이 이에 의존하므로 피험자 기록에서 즉흥적으로 만들어서는 안 된다 |
| 3 | 층화 인자를 무작위배정에 실제로 쓰인 그대로 저장한다 | 일차 분석은 보통 층화 인자로 보정한다 |
| 4 | 무작위배정된 모든 피험자가 이후 상태와 관계없이 데이터베이스에 남는다 | ITT 분석이 이를 요구한다 |
| 5 | 제1상에서 코호트 용량, DLT 수, 증량 결정을 이상사례 기록까지 추적할 수 있다 | 증량 결정을 재구성할 수 있어야 한다 |
| 6 | 접근 권한과 감사추적이 의뢰자, CRO, 기관, 모니터, DSMB 역할을 구분한다 | GCP는 역할마다 다른 책임을 부여하며, 눈가림 해제 데이터는 권한이 있는 사람에게만 가야 한다 |
| 7 | 등록 식별자는 등록처가 발급한 그대로 저장하며 자체 생성하지 않는다 | 스스로 만든 "NCT" 문자열은 등록이 아니다 |
| 8 | 팀이 저장소의 어느 부분이 규범이고 어느 부분이 시연용인지 알고 있다 | CLI, 시뮬레이터 페이지, PHASE 파일을 적합성의 근거로 써서는 안 된다 |
ClinicalTrial 타입으로 표현할 수 없는 설계 속성 두 가지를 들고, 어디에 기록할지 말하라.