← Back to all sparks
C

campsis

INFRA · APIS
Velocity3.8

Generic PK/PD Simulation Platform Campsis

Campsis breaks its API on purpose: snake_case throughout, RxODE compatibility cut loose.

pharmacometricsclinical-trial-simulationbreaking-changesjson-interfaceapi-consolidation
Current state
Campsis runs clinical-trial simulations from pharmacometric models, sitting on mrgsolve and rxode2 as interchangeable engines, with the sibling package Campsismod supplying the model object layer. Version 1.9.0 is the release where the suite stops carrying its history: the whole API migrates to snake_case, backward compatibility with the old RxODE package is removed, and result processing is refactored into output functions that can be applied as a collection, with an NCA table the first substantial one. Campsismod made the same snake_case move a week earlier, so this is a suite-wide rename rather than one package's decision.
Where it's heading
The 1.8 and 1.9 releases together describe a package being made drivable from outside R. JSON interfaces arrived first for models in Campsismod 1.3.0 and for datasets in Campsis 1.8.0, then extended to scenarios, settings and study replication; the output side has now been generalised the same way, from fixed result processing to a collection of output functions applied to simulated results. Renaming every function and cutting RxODE loose is the cost of that consolidation, paid in one deliberate breaking release rather than spread across several.
Prediction
With the rename and the RxODE removal behind it, the next releases should restore the rxode2 engine to the test suite, which 1.9.0 removed temporarily, and continue filling out the output-function catalogue beyond NCA. The JSON surface looks like the intended entry point for driving Campsis from outside R, though the entries do not say what is meant to consume it.

Recent moves

  1. 15d ago

    snake_case across the API; RxODE compatibility removed

    ⚡ SPARK

    The release that makes Campsis 1.x consistent with itself: every function renamed to snake_case, legacy RxODE support dropped, and result processing refactored into output functions applicable as a collection, with NCA the first substantial one. Read alongside Campsismod 1.4.0 a week earlier, this is the suite committing to one naming convention and one engine lineage.

    View source ↗
  2. 5mo ago

    JSON arguments reach Dataset, Scenarios and Settings

    Extends the JSON constructor argument introduced for models and datasets to scenarios and settings, and adds a show method for scenarios, continuing the run of work that makes a simulation specifiable as data rather than as R code. A truncation bug for datasets exported in minutes is fixed alongside.

    View source ↗
  3. 7mo ago

    Maintenance release for future package warnings

    Silences warnings raised by the future package and refreshes the pkgdown site. Housekeeping between the two JSON-interface releases either side of it.

    View source ↗
  4. 7mo ago

    JSON import for Campsis datasets

    Brings the JSON import route to datasets, a day after Campsismod did the same for models. This is the start of the serialisation arc that 1.8.2 and 1.9.0 extend to scenarios, settings and study replication.

    View source ↗
  5. 1y ago

    Dosing gains vectorized compartments and cycle repetition

    Bolus and infusion objects accept vectors of compartment names and vectorized compartment properties, and new methods update amount, interval and additional-dose counts or repeat an initial schedule across a cycle. Practical expressiveness for building dosing regimens rather than a change in what can be simulated.

    View source ↗
  6. 1y ago

    Parameter uncertainty from SIR and bootstrap output

    Adds sampling of parameter uncertainty from SIR or bootstrap output and includes omegas and sigmas when simulating with uncertainty, with generation delegated to Campsismod. The delegation is an early instance of the division of labour between the two packages that the later JSON and rename work formalises.

    View source ↗