이 글은 Schulz Ch.22 시리즈의 세 번째 글이다. CONSORT 2010 의 25 항목 checklist 와 Flow Diagram 을 깊이 다룬다.
1 CONSORT 2010 Checklist — 7 섹션 25 항목
1.1 Section 1: Title and Abstract
| Item | 권고 |
|---|---|
| 1a | Title 에 “randomised trial” 명시 |
| 1b | Structured summary (목적, 방법, 결과, 결론) |
1.2 Section 2: Introduction
| Item | 권고 |
|---|---|
| 2a | 과학적 배경과 정당화 |
| 2b | 구체적 가설·목적 |
1.3 Section 3: Methods (가장 중요한 섹션)
| Item | 권고 |
|---|---|
| 3a | 시험 설계 (예: parallel, factorial) |
| 3b | 시험 시작 후 방법 변경 명시 |
| 4a | Eligibility criteria |
| 4b | Setting (where, when) |
| 5 | Intervention 의 자세 (재현 가능한 수준) |
| 6a | Primary outcome 정의 + 측정 timing |
| 6b | 시험 시작 후 outcome 변경 명시 |
| 7a | Sample size 계산 |
| 7b | Interim analyses + stopping rules |
| 8a | Sequence generation 방법 |
| 8b | Randomisation type (Block, Stratified 등) |
| 9 | Allocation concealment 메커니즘 |
| 10 | Implementation (누가 sequence 생성·등록·배정) |
| 11a | Blinding (누가 blinded) |
| 11b | Blinding 방법 (identical placebo 등) |
| 12a | Statistical methods (primary analysis) |
| 12b | Subgroup, adjusted analyses |
1.4 Section 4: Results
| Item | 권고 |
|---|---|
| 13a | Flow Diagram — 환자 흐름 |
| 13b | Loss to follow-up 사유 |
| 14a | Recruitment dates |
| 14b | 시험 종료 또는 stopping 사유 |
| 15 | Baseline characteristics 표 |
| 16 | Number analysed (each group) |
| 17a | Outcome 결과 + effect size + precision |
| 17b | Binary outcome 의 absolute + relative effect |
| 18 | Subgroup analyses (사전 vs 사후) |
| 19 | Adverse events (모든 important harm) |
1.5 Section 5: Discussion
| Item | 권고 |
|---|---|
| 20 | Limitations (편향 source 등) |
| 21 | Generalizability |
| 22 | 다른 근거와의 일관성 해석 |
1.6 Section 6: Other Information
| Item | 권고 |
|---|---|
| 23 | Trial registration number |
| 24 | Protocol 접근 가능성 |
| 25 | Funding source |
2 Flow Diagram — 4 단계
CONSORT 2010 의 Flow Diagram. 환자 흐름의 visual representation. 25 항목 중 Item 13a 가 강제.
2.1 4 단계
Enrollment
↓
├─ Assessed for eligibility (n = ...)
│ └─ Excluded (n = ...)
│ ├─ Not meeting inclusion (n = ...)
│ ├─ Declined to participate (n = ...)
│ └─ Other reasons (n = ...)
└─ Randomised (n = ...)
Allocation
↓
├─ Allocated to intervention (n = ...)
│ ├─ Received intervention (n = ...)
│ └─ Did not receive (n = ...)
└─ Allocated to control (n = ...)
├─ Received control (n = ...)
└─ Did not receive (n = ...)
Follow-Up
↓
├─ Lost to follow-up (n = ..., 사유)
└─ Discontinued (n = ..., 사유)
Analysis
↓
├─ Analysed (n = ...)
└─ Excluded from analysis (n = ..., 사유)
이전 글에서 자주 언급: Ch.10 (모집), Ch.15 (exclusion) 에서 Flow diagram 의 강제 보고가 exclusion paradox 차단.
3 CONSORT 2010 Extension 들
다양한 시험 유형에 대한 extension:
| Extension | 적용 |
|---|---|
| CONSORT-NPT | 비-약물 시험 (수술·기기·재활) |
| CONSORT-Pragmatic | Pragmatic trial |
| CONSORT-Cluster | Cluster RCT |
| CONSORT-PRO | Patient-reported outcomes |
| CONSORT-AI | AI 시험 (2020) |
| CONSORT-Equity | Health equity 시험 |
| CONSORT-Outcomes | Outcome 보고 강화 (2022) |
4 CONSORT 의 효과
4.1 Turner 외 (2012, Cochrane)
50 개 연구 systematic review:
- CONSORT 채택 학술지에서 보고 품질 개선
- 개선 폭 moderate — 충분하지 않음
- 일부 항목 (sequence generation, concealment) 은 여전히 약함
4.2 2010 vs 1996
CONSORT 1996 → 2010 의 진화. 항목 수 22 → 25. Subgroup, registration, harm 등 추가.
5 보고 사례 — 5 RCT 분석
5.1 사례 1: 좋은 보고 (Radford 외 2006)
Plantar heel pain 시험. 모든 항목 명시. SNOSE 의 expanded criteria 까지 자세히.
5.2 사례 2: 불충분 보고
다수 출판된 RCT — Sequence generation 항목 미보고. CONSORT checklist 부분 사용.
Schulz 의 권고: “Reviewer 가 CONSORT checklist 를 강제. 학술지가 게재 조건 으로.”
6 코드 예시 — CONSORT Checklist 자동 평가
def evaluate_consort_compliance(report_text):
"""
실제 RCT 보고서의 CONSORT 항목 keyword 분석.
"""
text = report_text.lower()
# 핵심 항목별 keyword
items = {
"Item 8a (sequence)": ["random number table", "computer-generated", "permuted block"],
"Item 9 (concealment)": ["sequentially numbered", "central randomisation", "opaque sealed"],
"Item 11 (blinding)": ["blinded", "double-blind", "identical placebo"],
"Item 13a (flow)": ["flow diagram", "consort flow", "trial profile"],
"Item 19 (harm)": ["adverse event", "side effect", "harm"],
"Item 23 (registration)": ["clinicaltrials.gov", "isrctn", "trial registration"],
}
print(f"보고서 분석:\n{report_text[:200]}...\n")
for item, keywords in items.items():
match = any(kw in text for kw in keywords)
status = "[O]" if match else "[X]"
print(f"{status} {item}: {'present' if match else 'MISSING'}")
# 사례
sample_report = """
Patients were randomised centrally by the Centre for Digestive Diseases after screening
in a 1:1 ratio to either faecal microbiota transplantation or placebo, using a
preestablished computer-generated randomisation list. Participants, caregivers, and
study staff were masked to treatment allocation. The trial was registered on
ClinicalTrials.gov (NCT12345678). Adverse events were monitored throughout.
"""
evaluate_consort_compliance(sample_report)7 결론 — Ch.22.2 의 한 줄 요약
CONSORT 2010 의 25 항목 + Flow Diagram 이 RCT 보고의 국제 표준. 채택 학술지 다수.
핵심 메시지:
- 25 항목: Title ~ Funding 까지
- Methods 섹션 (8a, 9, 10, 11) — 가장 중요
- Flow Diagram (Item 13a) — 환자 흐름
- Extension 들: NPT, Pragmatic, Cluster, AI 등
- CONSORT 효과: Moderate 개선, 여전히 부족
다음 글: STARD/STROBE/PRISMA — RCT 이외 보고 지침.
8 관련 주제
9 참고문헌
- Schulz, K. F. & Grimes, D. A. (2019). Essential Concepts in Clinical Research (2nd ed.), Ch.22. Elsevier.
- Schulz, K. F., Altman, D. G., Moher, D., CONSORT Group. (2010). CONSORT 2010 statement. BMJ 340, c332.
- Moher, D., Hopewell, S., Schulz, K. F., et al. (2010). CONSORT 2010 explanation and elaboration. BMJ 340, c869.
- Boutron, I., Altman, D. G., Moher, D., Schulz, K. F., Ravaud, P. (2017). CONSORT for non-pharmacologic treatments. Ann. Intern. Med. 167, 40-47.
- Cruz Rivera, S., Liu, X., Chan, A. W., et al. (2020). Guidelines for clinical trial protocols for AI: SPIRIT-AI extension. Lancet Digit. Health 2, e549-e560.
- Liu, X., Cruz Rivera, S., Moher, D., et al. (2020). Reporting guidelines for clinical trial reports for AI: CONSORT-AI extension. Lancet Digit. Health 2, e537-e548.