All variables computed in Tables.Rmd (and replicated in revision 0311.Rmd) from the REDCap source data.
Identifiers & Filtering
id |
Internal row ID per center |
paste0("{center}_", row_number()) |
Discont_Day |
Day terlipressin discontinued (0–13) |
First day where discont_terli_dayN == 1 via qc_check() |
center_id |
Center abbreviation |
str_extract(subjectid, "^[^-]+") |
center |
Numeric center grouping (factor, 1–10) |
BID/MGH/Yale=1, PEN=2, OCH=3, BSW=4, CPM/CSF/UNM=5, Mayo/MCM/NWM=7, MMC=9, CCF/INU=10 |
Baseline Creatinine & eGFR
baseline_scr_calculated |
Estimated SCr from eGFR=75 |
Inverse CKD-EPI 2021 via numerical optimization (optimize()) |
baseline_scr_new |
Best available baseline SCr |
(1) baseline_scr if days_to_admit != 0, else (2) baseline_scr_120to365_value, else (3) min(calculated, scr_admit) |
baseline_scr_new_2 |
Strict baseline (no calculated fallback) |
Only options (1) and (2) above |
eGFR |
Estimated GFR |
CKD-EPI 2021 from baseline_scr_new_2 |
ckd_baseline |
Baseline CKD |
eGFR < 60 → 1 |
AKI Staging
ratio |
SCr ratio at terli initiation |
scr_terli_day0 / baseline_scr_new |
delta |
SCr delta at terli initiation |
scr_terli_day0 - baseline_scr_new |
akin |
AKIN stage at initiation |
1: ratio 1.5–2 OR delta > 0.3; 2: ratio 2–3; 3: ratio ≥ 3 OR SCr ≥ 4 |
discont_ratio |
SCr ratio at discontinuation |
lowest_creatinine / baseline_scr_new |
discont_delta |
SCr delta at discontinuation |
lowest_creatinine - baseline_scr_new |
discont_aki_stage |
AKIN stage at discontinuation |
Same staging as akin, using lowest_creatinine |
difference |
AKI stage change |
akin - discont_aki_stage |
Clinical Scores
Child-Pugh Score
child_pugh_score |
Sum of 5 components (5–15) |
| Bilirubin (mg/dL) |
< 2 |
2–3 |
> 3 |
| Albumin (g/dL) |
> 3.5 |
2.8–3.5 |
< 2.8 |
| INR |
< 1.7 |
1.7–2.3 |
> 2.3 |
| Ascites |
Absent (1) |
Slight (2) |
Moderate (3) |
| HE grade |
None (0) |
Grade 1–2 |
Grade 3–4 |
CLIF-C Score
clif_c_score |
10 * (0.33 * organ_score + 0.04 * age + 0.63 * log(WBC) - 2) |
clif_c_score_new |
Median-imputed (missing → population median) |
| Liver (T.bili mg/dL) |
< 6 |
6–12 |
≥ 12 |
| Kidney (SCr mg/dL) |
< 2 |
2–3.5 |
≥ 3.5 |
| Brain (HE grade) |
1 |
2–3 |
4–5 |
| Coagulation (INR) |
< 2 |
2–2.5 |
≥ 2.5 |
| Circulation |
MAP ≥ 70, no pressors |
MAP < 70, no pressors |
Any pressors |
| Respiratory (SpO2/FiO2) |
> 357 |
214–357 |
≤ 214 |
ACLF Grade & Organ Failures
aclf_grade |
Organ failure count (capped at 3) |
Count of organ failures below |
organ_failure_sum |
Total organ failure count (uncapped) |
Sum of 6 binary flags |
liver_f |
Liver failure |
bili_terli_day0 >= 6 |
brain_f |
Brain failure |
he_terli_day0 > 1 |
coagulation_f |
Coagulation failure |
inr_terli_day0 >= 2 |
circulatory_f |
Circulatory failure |
map_terli_day0_time0 < 70 |
respiratory_f |
Respiratory failure |
spo2_terli_day0 / fio2_terli_day0 <= 357 |
kidney_f |
Kidney failure |
scr_terli_day0 >= 1.5 |
MELD Scores
day0_meld |
MELD at Day 0 |
9.57*log(Cr) + 3.78*log(bili) + 11.20*log(INR) + 6.43; Cr capped 1–4 |
day0_meld_na |
MELD-Na at Day 0 |
MELD + sodium correction (Na capped 125–137); applied only if MELD > 11 |
day0_meld_3 |
MELD 3.0 at Day 0 |
Includes sex factor (+1.33 if female), albumin, sodium, and bilirubin-sodium / albumin-Cr interactions |
admit_meld |
MELD at admission |
Same as day0_meld using admission labs |
admit_meld_na |
MELD-Na at admission |
|
admit_meld_3 |
MELD 3.0 at admission |
Median-imputed if missing |
admit_meld_3_raw |
MELD 3.0 raw (pre-imputation) |
|
Outcome Variables
HRS Response
lowest_creatinine |
Lowest SCr around discontinuation |
min(last_scr_2, last_scr, scr_day1_post_terli) |
last_scr |
SCr on discontinuation day |
scr_terli_day{Discont_Day} |
last_scr_2 |
SCr day before discontinuation |
scr_terli_day{Discont_Day - 1} |
HRS_reversal_new |
Primary outcome |
lowest_creatinine <= 1.5 AND (scr_day0 - lowest_creatinine) >= 0.3 |
hrs_responders |
Response category |
0 = No stage improvement, 1 = Partial (improved but SCr > 0.3 above baseline), 2 = Complete (≤ 0.3 above baseline) |
hrs_responders_cat_2 |
Binary responder |
0 = Non-responder, 1 = Any response |
hrs_rebound |
SCr rebound post-terli |
scr_day1_post_terli - last_scr >= 0.3 |
Survival / Competing Risk
90-Day Death Outcomes
time_to_death_90days |
Follow-up time for 90-day death analysis (days) |
0–90 |
min(time_to_death, 90) – all follow-up capped at 90 days |
time_to_death_status_90days |
90-day death event indicator |
1 = died within 90 days; 0 = alive at 90 days, OR died after 90 days (censored at 90), OR lost to follow-up |
1 only if time_to_death_status == 1 AND time_to_death <= 90; all other patients get 0 |
90-Day Transplant Outcomes
time_to_transplant_90days |
Follow-up time for 90-day transplant analysis (days) |
0–90 |
min(time_to_transplant_cmp, 90) |
time_to_transplant_status_90days |
90-day transplant event indicator |
2 = transplanted within 90 days; 0 = not transplanted within 90 days, OR transplanted after 90 days (censored at 90) |
2 only if transplant_lt_status == 2 AND time_to_transplant_cmp <= 90; all other patients get 0 |
90-Day Competing Risk (Death vs. Transplant)
time_to_death_90days_cmp |
Competing risk follow-up time (days) |
0–90 |
min(time_to_death_90days, time_to_transplant_90days) – whichever event came first |
time_to_death_status_90days_cmp |
Competing risk event indicator |
0 = censored (alive, no transplant within 90 days); 1 = death within 90 days (death came first or tied); 2 = transplant within 90 days (transplant came first) |
If death time ≤ transplant time: use death status; if transplant time < death time: use transplant status |
- Patient dies day 30, no transplant:
time = 30, status = 1 (death)
- Patient transplanted day 20, alive at 90 days:
time = 20, status = 2 (transplant)
- Patient alive at 90 days, no transplant:
time = 90, status = 0 (censored)
- Patient dies day 50, transplanted day 40:
time = 40, status = 2 (transplant came first)
- Patient died after 90 days:
time = 90, status = 0 (censored – death beyond window)
- Patient lost to follow-up day 60:
time = 60, status = 0 (censored)
Transplant
transplant_lt |
LT timing category |
1 = During hospitalization (LT or SLKT), 2 = Within 90 days post-discharge, 3 = After 90 days (within 1 year), 0 = No transplant |
transplant_slkt |
Simultaneous liver-kidney transplant indicator |
1 if slkt_during_hospital == 1 OR dc_lt_90days == 2 OR lt_type_1yr == 2, else 0 |
transplant_lt_status |
Transplant status for competing risk |
0 = no transplant, 2 = transplanted (coded as 2 for competing risk with death = 1) |
time_to_transplant |
Days from terlipressin initiation to transplant |
NA if no transplant |
time_to_transplant_cmp |
Transplant time for competing risk (999 if no transplant) |
999 serves as a large censoring time so pmin with death time selects death |
transplant_outcome |
Transplanted within 90 days (binary) |
1 if time_to_transplant_status_90days == 2, else 0 |
listed_transplant |
Listed for liver transplant |
1 if lt_eval == 2 OR lteval_listingstatus == 1, else 0 |
Treatment Course Variables
discont_reason_terli |
Reason at discontinuation day |
discont_reason_terli_day{Discont_Day} |
terli_ae_abdpain |
Abdominal pain AE |
From discontinuation day |
terli_ae_nausea |
Nausea AE |
From discontinuation day |
terli_ae_diarrhea |
Diarrhea AE |
From discontinuation day |
terli_ae_volover |
Volume overload AE |
From discontinuation day |
terli_ae_brady |
Bradycardia AE |
From discontinuation day |
terli_7 |
Respiratory failure reason |
discont_reason_terli == 7 |
terli_8 |
Ischemic event reason |
discont_reason_terli == 8 |
terli_ae_respfail |
Respiratory failure composite |
terli_7 == 1 OR terli_ae_volover == 1 |
any_ae |
Any adverse event |
Any AE flag == 1 |
mean_map_day0 |
Mean MAP on Day 0 |
Average of 4 daily MAP time-point readings |
dosechange_day |
First day of dose adjustment |
First day (2–13) with dosechange_terli_dayN == 1 |
dosechange_status |
Any dose change |
Binary: any change days 2–12 |
time_to_dosechange |
Day of first dose change |
|
total_albumin |
Total albumin across treatment |
rowSums(albumintotal_terli_day0:day13) |
Criteria / Exclusion Flags
criteria_1 |
Discontinued day 1 with no dose |
total_terli_day1 == 0 AND discont_terli_day1 == 1 |
criteria_2 |
ACLF grade ≥ 3 |
aclf_grade >= 3 |
criteria_3 |
SCr ≥ 5 |
scr_terli_day0 >= 5 |
criteria_4 |
Respiratory compromise |
SpO2/FiO2 < 357 |
criteria_5 |
High MELD 3.0 |
admit_meld_3 > 35 |
HRS_Criteria |
Any criteria 1–4 met |
|
HRS_criteria_3 |
Criteria 2, 3, or 4 (without 1) |
|
HRS_criteria_meld |
Criteria 2–5 |
|
Dose-Change Subgroups (revision 0311)
discont_before_day3 |
Discontinued before day 3 |
Discont_Day < 3 |
pc_change_before_day3 |
Dose changed days 1–3, continued > day 3 |
|
pc_nochange_after_day3 |
No change days 1–3, continued > day 3 |
|
pc_day3 |
Discontinued exactly day 3 |
Discont_Day == 3 |
Other
fena |
Fractional excretion of sodium |
100 * (scr_admit * ua_na) / (sodium_admit * ua_cr) |
urine_pc |
Urine protein:creatinine ratio |
uaprotein_hrs / ua_cr_value_hrs |
race_2 |
Binary race |
White or missing → 1, else 0 |
rrt_2 |
RRT binary (need-not-candidate = 0) |
rrt == 2 recoded to 0 |
bili_cal |
Bilirubin (coalesced) |
coalesce(bili_terli_day0, tbili_admit, mean) |
Longitudinal Lab Tracking
| SCr |
scr_admit |
scr_aki |
scr_terli_day0–13 |
scr_day1–14_post_terli |
dc_scr, dc_scr30, 60, 90, scr_value_1yr |
| T.Bili |
tbili_admit |
tbili_aki |
bili_terli_day0–13 |
– |
dc_tbili |
| INR |
inr_admit |
inr_aki |
inr_terli_day0–13 |
– |
dc_inr |
| Albumin |
albumin_admit |
albumin_aki |
alb_terli_day0–13 |
– |
dc_albumin |
| Sodium |
sodium_admit |
sodium_aki |
na_terli_day0–13 |
– |
dc_sna |
| Cystatin C |
cystatinc_admit |
cystatinc_aki |
cystatinc_terli_day0–13 |
– |
– |
Multiple Imputation (revision 0311)
Predictive mean matching (PMM), m=10 imputations, 50 iterations, seed=12345.
Imputed predictors: sex_male, scr_admit, tbili_admit, sodium_admit, inr_admit, albumin_admit, bili_terli_day0, he_terli_day0, inr_terli_day0, map_terli_day0_time0, fio2_terli_day0, spo2_terli_day0, scr_terli_day0, wbc_terli_day0
Post-imputation: Clinical scores (CLIF-C, ACLF grade, Child-Pugh, MELD) are recomputed on each imputed dataset.
Models fit: Fine-Gray competing risk models pooled with Rubin’s rules via run_pooled_fg(), stratified by HRS criteria, transplant listing status, and other subgroups.