The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.

Batch Conversion Workflow

When to Use Batch Conversion

When populating a Markov model, you may need to convert dozens of parameters simultaneously. Rather than entering each one manually, ParCC’s Bulk Conversion module lets you upload a CSV, select columns, and convert them all at once.

Supported Conversion Types

  1. Rate to Probability – for incidence rates from clinical trials
  2. Odds to Probability – for odds ratios from logistic regression
  3. HR to Intervention Probability – for applying hazard ratios to control arm probabilities

Example: PLATO Trial Parameters

Step 1: Prepare Your CSV

Create a CSV with at least these columns:

Endpoint,Control_Prob,Hazard_Ratio,Time_Horizon
CV Death,0.0525,0.79,1
MI,0.0643,0.84,1
Stroke,0.0138,1.01,1
Major Bleeding,0.1143,1.04,1
Dyspnea AE,0.0789,1.37,1
All-cause Mortality,0.0595,0.78,1

Step 2: Upload and Configure

  1. Navigate to Bulk Conversion
  2. Upload your CSV (or click “Load Sample Dataset” for a pre-built PLATO example)
  3. Select Conversion Type: HR -> Intervention Probability
  4. Select Value Column: Control_Prob
  5. Select HR Column: Hazard_Ratio
  6. Time Source: Constant = 1 (or from column)

Step 3: Run and Review

Click Run Bulk Conversion. The output table adds:

Column Description
Rate_Control Instantaneous rate derived from control probability
Rate_Intervention Control rate multiplied by HR
Intervention_Prob Converted probability for intervention arm
ARR Absolute Risk Reduction (control - intervention)
NNT Number Needed to Treat (for beneficial effects)

Step 4: Download

Click Download Results to get a CSV you can paste directly into your model spreadsheet.

Example Output

# Simulate what ParCC produces
df <- data.frame(
  Endpoint = c("CV Death", "MI", "Stroke", "Major Bleeding", "Dyspnea AE", "All-cause Mortality"),
  Control_Prob = c(0.0525, 0.0643, 0.0138, 0.1143, 0.0789, 0.0595),
  HR = c(0.79, 0.84, 1.01, 1.04, 1.37, 0.78),
  stringsAsFactors = FALSE
)

t <- 1  # 1-year horizon

df$Rate_Ctrl <- -log(1 - df$Control_Prob) / t
df$Rate_Int <- df$Rate_Ctrl * df$HR
df$Interv_Prob <- round(1 - exp(-df$Rate_Int * t), 5)
df$ARR <- round(df$Control_Prob - df$Interv_Prob, 5)
df$NNT <- ifelse(df$ARR > 0, ceiling(1 / df$ARR), NA)

# Clean display
result <- df[, c("Endpoint", "Control_Prob", "HR", "Interv_Prob", "ARR", "NNT")]
print(result)
#>              Endpoint Control_Prob   HR Interv_Prob      ARR NNT
#> 1            CV Death       0.0525 0.79     0.04171  0.01079  93
#> 2                  MI       0.0643 0.84     0.05430  0.01000 100
#> 3              Stroke       0.0138 1.01     0.01394 -0.00014  NA
#> 4      Major Bleeding       0.1143 1.04     0.11859 -0.00429  NA
#> 5          Dyspnea AE       0.0789 1.37     0.10649 -0.02759  NA
#> 6 All-cause Mortality       0.0595 0.78     0.04672  0.01278  79

Notice that endpoints with HR > 1 (Stroke, Major Bleeding, Dyspnea) show negative ARR, meaning the intervention increases the event risk – these rows correctly show NA for NNT.

Tips

References

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.