PharmaSUG 2017 AD24
PharmaSUG 2017 AD24
SAS Macro for Derivation of Best Overall Response per RECIST 1.1
Bob Zhong, Jiangfan Li, Hong Xie, Peter De Porre, Kenneth Maahs, Kyounghwa Bae
Johnson & Johnson, Spring House, PA
ABSTRACT
Response Evaluation Criteria in Solid Tumors version 1.1 (RECIST 1.1) has been quickly adopted since
its publication in 2009 as an efficacy assessment standard in oncology clinical trials in solid tumors.
However, the rules for determining best overall response (BOR) need to take into considerations of
practical situations and certain clarifications in details are needed to handle real-world data. We
addressed some ambiguities in RECIST 1.1 and provided detailed handlings required to develop a SAS
macro for an accurate derivation of BOR.
BOR is derived from time-point overall responses of CR, PR, SD, PD, NE, and Unknown. To derive BOR,
responses that do not affect derivation of BOR are taken out first. After this step of data manipulation,
only the first three remaining time-point overall responses are needed to derive BOR. Complicated cases
such as PR-SD-PR and unconfirmed CR or PR are calculated in more detail. Our macro can be applied to
clinical trials with/without requirement of CR/PR confirmation, and in both interim analyses (potential
future data available) and final analysis (no future data).
This macro will allow for both accurate and timely determination of best overall responses via computer
programming.
INTRODUCTION
RECIST (Response Evaluation Criteria in Solid Tumors) 1.1 ([1]) provides good concept of best overall
responses (BOR). However, the RECIST rules for determining BOR have ambiguities and inaccuracies.
For example, the RECIST Table 3 ([1] p.235).
1
<paper title>, continued
ambiguities, extensively filled in details to bridge gaps in the original RECIST 1.1, set up rules for deriving
BOR, and developed solid SAS macro tools for quick and accurate derivation of BOR. User-guide,
sample programs, and the SAS macro tools (in SAS catalog for both Windows and Linux/Unix) will be
provided upon request.
CR/PR CONFIRMATION
CR CONFIRMATION
To confirm a CR (the first CR), we look for another CR (the confirming CR) at least 4 weeks (study-
dependent) after the first CR. It is required that there is no other overall response, except CR and NE,
between the first CR and the confirming CR.
If such confirming CR exists, then the subject BOR is confirmed CR.
If such confirming CR is guaranteed non-existing (e.g. the first CR followed by PD or off-study), then
the subject BOR can be NE or SD, if the requirement of SD is satisfied.
If there is no confirming CR in the current data, but there is a chance for such confirming CR in the
future data. Then the subject’s BOR is an unconfirmed CR (uCR). This is only applicable to the
interim analysis.
PR CONFIRMATION
To confirm a PR (the first PR), we look for another CR or PR (the confirming CR or PR) at least 4 weeks
(study-dependent) after the first PR. It is required that there is no other overall response, except CR or
PR or NE, between the first PR and the confirming CR or PR.
If such confirming CR or PR exists, then the subject’s BOR is PR (confirmed).
If such confirming CR or PR is guaranteed non-existing (e.g. the first PR followed by PD or off-study),
then the subject BOR can be NE or SD, if the requirement of SD is satisfied .
If there is no confirming CR or PR in the current data but there is a chance for such confirming CR or
PR in the future data. Then the subject’s BOR is an unconfirmed PR (uPR). This is only applicable to
interim analysis.
2
<paper title>, continued
%bestovrs_fa( dsn = ,
insl = ,
inrs = ,
sdwin = ,
crwin = ,
opt = ,
cleanup = yes );
where
dsn
is the input/output dataset which should contain USUBJID (Unique Subject Identifier).
insl
is the subject level input dataset:
1. should include all patients in &dsn
2. one record per subject
3. sorted by USUBJID
4. contains the following variables:
USUBJID
RFSTDTC - Subject Reference Start Date/Time
For interim analysis, &insl should also contain
FINALFL - Final Status Flag (Y/N)
The value of FINALFL should be exact 'Y' or 'N', case sensitive. If FINALFL = 'Y', then the patient has
no more disease assessment expected in the future. In the final analysis, everyone has FINALFL =
'Y', and so the flag FINALFL is not needed in %BESTOVRS_FA. For interim analysis, caller needs to
derive FINALFL of which "Y" includes (but not limited to)
lost-to-follow up
withdrawal of consent
ended the study
died
In some studies, a subsequent anti-cancer therapy also makes FINALFL = 'Y'.
FINALFL does not play the role if the patient has experienced a PD.
inrs
is the input overall response data, containing standard variables: USUBJID RSDTC RSSTRESC, and
sorted by USUBJID. &inrs should contain all overall responses only. &inrs should contain neither
target lesion assessment nor non-target lesion assessment. RSSTRESC should hold standard values
COMPLETE RESPONSE
PARTIAL RESPONSE
STABLE DISEASE
PROGRESSIVE DISEASE
NOT EVALUABLE
or their abbreviations CR/PR/SD/PD/NE. Non-standard values in RSSTRESC will be ignored.
sdwin
is the SD sustaining windows in days. sdwin = 0 or missing means no requirement on SD windows.
crwin
is the CR/PR confirmation windows in days. If missing or 0, then no CR/PR will be confirmed.
opt
is the output dataset option for convenience.
cleanup
is the yes/no option to clean up working data sets.
3
<paper title>, continued
COMPUTATIONAL PRINCIPLES
The computation is trivial if the study does not require CR/PR confirmation. So here we only address the
case when CR and PR need to be confirmed.
NOTATIONS
X1 - number of days from randomization/start of study treatment to 1st time point overall response
evaluation
X2 - number of days from randomization/start of study treatment to 2nd time point of overall response
evaluation
X3 - number of days from randomization/start of study treatment to 3rd time point of overall response
evaluation
XX - minimal number of days required for SD per protocol (i.e. &sdwin). This is the timespan from
RFSTDT to the day of SD.
DATA PREPARATION
Each of the following steps does not affect one's best overall response. The purpose of data preparation
is to enable the best overall response to be determined by one's first 3 time-point assessments.
Step 1. Remove any NE if any other disease evaluation exists except NE.
Step 3. Remove any assessment after the first PD, (CR, PR), or (CR, SD).
Step 5. Keep only the first PR and the last PR from a queue of continuous PRs
Step 6. Keep only the first CR and the last CR from a queue of continuous CRs.
Step 7. Remove SD before PR or CR for a queue beginning with SD, followed by PR or CR.
That is, (SD, PR, ...) or (SD, CR, ...).
Step 8. Remove the second PR from data queue (PR, PR, CR)
Step 9. Remove the first PR from any two consecutive PRs from a queue of (PR, PR, SD) if the time
interval between the two PRs is less than YY.
Step 10. Remove the first CR from any two consecutive CRs from a queue of (PR, CR, CR) if the time
interval between the two CRs is less than YY.
Step 11. Remove (PR, SD) from a queue beginning with (PR, SD), followed by PR or CR.
That is (PR, SD, PR) or (PR, SD, CR).
Step 12. Remove any assessments except CR if two consecutive CRs exist with the time interval
between two CRs are ≥ YY.
4
<paper title>, continued
5
<paper title>, continued
SPECIAL CASES
There are a few special cases that RECIST 1.1 offers multiple conclusions in the discussion. However, in
reality, given data, we need to derive a single best overall response. By working with different groups in
clinical trials, we set up the following derivation rules.
CR FOLLOWED BY PR (CR-PR)
In this case, the PR implicitly might be a PD. So if X1 ≥ XX, then the BOR is SD. Otherwise the BOR is
PD.
CR FOLLOWED BY SD (CR-SD)
Similar as in the previous case, the SD implicitly might be a PD. So if X1 ≥ XX, then the BOR is SD.
Otherwise the BOR is PD.
6
<paper title>, continued
SAMPLE PROGRAMS
CREATE SAMPLE DATA
data dat(drop=i);
length USUBJID $1;
do i=1 to 6;
USUBJID = i;
output;
end;
lable USUBJID = Unique Subject Identifier;
data inrs;
infile datalines;
input USUBJID $1. RSSTRESC $21. RSDTC $10.;
datalines;
1 COMPLETE RESPONSE 2019-07-02
1 COMPLETE RESPONSE 2019-09-01
2 PARTIAL RESPONSE 2018-05-10
2 STABLE DISEASE 2018-06-14
2 PARTIAL RESPONSE 2018-07-10
3 STABLE DISEASE 2017-08-07
3 STABLE DISEASE 2017-09-07
3 STABLE DISEASE 2017-10-07
3 PARTIAL RESPONSE 2017-11-07
3 PARTIAL RESPONSE 2017-12-07
4 STABLE DISEASE 2017-06-14
4 PROGRESSIVE DISEASE 2017-07-14
5 STABLE DISEASE 2016-11-27
5 UNKNOWN 2016-12-27
6 PARTIAL RESPONSE 2017-03-10
6 PARTIAL RESPONSE 2017-04-01
;
run;
%bestovrs_fa(dsn = dat,
insl = insl,
inrs = inrs,
7
<paper title>, continued
%bestovrs_ia(dsn = dat,
insl = insl,
inrs = inrs,
sdwin = 84, %* 12 weeks;
crwin = 28, %* 4 weeks;
opt = drop=note);
%* Now dat has two variables: USUBJID, BESTOVRS. In this example,
output from %bestovrs_ia and %bestovrs_fa are different.;
CONCLUSION
We developed this macro tool on Windows SAS 9.2 as well as Linux SAS 9.4. All cases are examined
thoroughly in order to make computation possible. We followed RECIST 1.1, filled in all gaps, covered all
cases, and produced a one-valued macro tool. The macros enable the programming team to compute
Best Overall Response quickly, easily, and reliably.
REFERENCES
[1]. Eisenhauera, E.A., Therasseb, P., Bogaertsc, J., Schwartzd, L.H., Sargente, D., Fordf, R., Danceyg,
J., Arbuckh, S., Gwytheri, S., Mooneyg, M., Rubinsteing, L., Shankarg, L., Doddg, L., Kaplanj, R.,
Lacombec, D., Verweijk, J. 2009. “New response evaluation criteria in solid tumours: Revised
RECIST guideline (version 1.1).” European Journal of Cancer, 45:228 – 247. Also available at
https://ctep.cancer.gov/protocolDevelopment/docs/recist_guideline.pdf
CONTACT INFORMATION
Your comments and questions are valued and encouraged. Contact the author at:
Name: Bob Zhong
Email: [email protected]
8
<paper title>, continued