← Run history

Independent population-PK analysis — run R-20261008-141415-6b4a

sensitivity · replay template pk_2cmt_oral_v1 v1.0.3 · child of R-20261008-141300-3341 · status completed · 2026-10-08T14:14:30Z

1. Pre-comparison checks

CheckStatusDetail
convergencepassOptimizer message: Normal exit from bobyqa
covariance steppassCovariance matrix obtained (method |r|,|s| (full))
RSE feasibilitypassAll RSE below 50%
parameter boundspassAll estimates and variances within plausible bounds
estimation diagnosticswarnnlmixr2 reported: gradient problems with covariance; see $scaleInfo; since sandwich matrix is corrected, you may compare to $covR or $covS if you wish; S matrix non-positive definite but corrected by S = sqrtm(S%*%S); R matrix non-positive definite but corrected by R = sqrtm(R%*%R); last objective function was not at minimum, possible problems in optimization; ETAs were reset to zero during optimization; (Can control by foceiControl(resetEtaP=.))

2. Comparison with the applicant's reported values

Relative difference = (independent − applicant) / applicant. Flag when |Δ| > 20%.

ParameterApplicantIndependent95% CIΔApplicant value in CIFlag
CL/F (L/h)4.24.14 3.85 – 4.46 -1.4%yes
V2/F (L)3535.2 31.1 – 39.8 +0.6%yes
Q/F (L/h)8.17.97 7.55 – 8.42 -1.6%yes
V3/F (L)120115 108 – 122 -4.4%yes
KA (1/h)1.11.13 0.948 – 1.36 +3.1%yes
IIV CL (CV%)3027.4 – -8.8%–

Possible sources of difference

No parameter differs from the applicant's value by more than the tolerance. Generic factors are listed for completeness.

Facts about this run

Generic factors

3. Parameter estimates

ParameterEstimateRSE %95% CIIIV CV%η-shrinkage SD%Fixed
CL/F (L/h)4.1433.73 3.85 – 4.46 27.44.77no
V2/F (L)35.26.33 31.1 – 39.8 25.620.2no
Q/F (L/h)7.9732.79 7.55 – 8.42 ––no
V3/F (L)114.72.95 108 – 122 ––no
KA (1/h)1.1349.16 0.948 – 1.36 29.135.1no
Residual: add.sd8.0934–––no
Residual: prop.sd0.14373.74–––no

RSE on the natural scale ≈ 100 × SE(log θ); 95% CI = exp(log θ ± 1.96 SE). OFV = 4397.2982 · AIC = 5189.2065 · 60 subjects, 420 observations (7 censored) · covariance |r|,|s| (full) · estimation time 11.9 s.

4. Goodness-of-fit

DV vs PRED
DV vs PRED
DV vs IPRED
DV vs IPRED
CWRES vs TIME
CWRES vs TIME
CWRES vs PRED
CWRES vs PRED
Individual profiles
Individual profiles (first six subjects)

5. Data QC and preparation

Every exclusion or correction is listed. Raw records: 483 → prepared: 480 (420 observations, 60 subjects).

CheckOutcomeRecordsDetailSubjects
required_columnspass0All 11 required columns present
unitsfix4Converted DV and LLOQ from ug/mL to ng/mL SYN-052
duplicatespass0No duplicate records
chronologypass0Every subject has a dose record (60 subjects)
records_before_doseexclude3Observation records before the first dose excluded (3 with a quantified concentration > 0, which is not expected before dosing) SYN-007, SYN-023, SYN-041
ntime_vs_timewarn9Actual time deviates from nominal by more than max(0.5 h, 10% of NTIME); records kept, actual TIME used SYN-005, SYN-007, SYN-012, SYN-014, SYN-019, SYN-025, SYN-035, SYN-046
missing_covariatespass0WT available for all subjects
blq_proportionpass77 BLQ records = 1.7% of observations (6.2% of samples with NTIME >= 24 h)
blq_handlingfix7BLQ method M3: BLQ records kept as left-censored (DV set to LLOQ, CENS = 1)

6. Analysis spec (confirmed by the assessor)

Confirmed 2026-10-08T14:14:15Z by system (replay of a confirmed spec).

{
  "compartments": 2,
  "absorption": "first_order",
  "route": "oral",
  "error_model": "combined",
  "iiv": [
    "CL",
    "V2",
    "KA"
  ],
  "estimation": "FOCEi",
  "reference_values": {
    "CL": 4.2,
    "V2": 35.0,
    "Q": 8.1,
    "V3": 120.0,
    "KA": 1.1,
    "IIV_CL": 30.0
  },
  "analysis_type": "sensitivity",
  "blq_method": "M3",
  "template": "pk_2cmt_oral_v1"
}

7. Traceability manifest

Run ID / parentR-20261008-141415-6b4a / R-20261008-141300-3341 (root R-20261008-134033-5040)
Templatepk_2cmt_oral_v1 v1.0.3, catalogue 1.0.3, template hash 589f254e36326ab2…
Script SHA-256fdffd00a137b56c3daa89e23c5ac8b89b3918ed8e8ca2f41756e74f8b8f8b03b
Raw data SHA-2561cb7adff311dcd25660f2353d892964c98ad1932a6b69b6ed28c6ebfcaa48c6b
Prepared data SHA-25638d30404d452db3275fe44a8f1a96a4e78d3d35377ba67e53bfba0a645a67ff2
Seed20240607
Extractor— (—, prompt —) jobs
R packagesnlmixr2 7.0.1, nlmixr2est 7.1.0, rxode2 5.1.7.1, lotri 1.0.5, ggplot2 4.0.3, jsonlite 2.0.0, R 4.6.1, BLAS /usr/lib/x86_64-linux-gnu/openblas-pthread/libblas.so.3, LAPACK /usr/lib/x86_64-linux-gnu/openblas-pthread/libopenblasp-r0.3.26.so
Python packagespython 3.12.3, jinja2 3.1.4, pandas 2.2.3, numpy 2.1.3, jsonschema 4.23.0, typer 0.12.5
EnvironmentLinux-6.17.0-1022-azure-x86_64-with-glibc2.39 · image ghcr.io/djindetoss/pk-analysis-poc@sha256:dd39ca7673a48f1e3f7b6df134be2b4f4ae00ef4e0a726894a72cbdbdf295b4b · commit n/a
Full manifest.json
{
  "run_id": "R-20261008-141415-6b4a",
  "parent_run_id": "R-20261008-141300-3341",
  "root_run_id": "R-20261008-134033-5040",
  "purpose": "replay",
  "analysis_type": "sensitivity",
  "sensitivity_fields": [],
  "status": "completed",
  "created_at": "2026-10-08T14:14:15Z",
  "completed_at": "2026-10-08T14:14:30Z",
  "spec": {
    "compartments": 2,
    "absorption": "first_order",
    "route": "oral",
    "error_model": "combined",
    "iiv": [
      "CL",
      "V2",
      "KA"
    ],
    "estimation": "FOCEi",
    "reference_values": {
      "CL": 4.2,
      "V2": 35.0,
      "Q": 8.1,
      "V3": 120.0,
      "KA": 1.1,
      "IIV_CL": 30.0
    },
    "analysis_type": "sensitivity",
    "blq_method": "M3",
    "template": "pk_2cmt_oral_v1"
  },
  "spec_hash": "0030756b6dc1154888296838e116220220efa71e79063db429abd47172f527db",
  "methodology_hash": "15de490dc0bac871c1176633475cba04a3be6b1269daf85223fe38a62eed9bde",
  "template": {
    "id": "pk_2cmt_oral_v1",
    "version": "1.0.3",
    "hash": "589f254e36326ab2ae18dce251949169b318f7e59c79210d33428f972dc38600",
    "catalogue_version": "1.0.3"
  },
  "script_hash": "fdffd00a137b56c3daa89e23c5ac8b89b3918ed8e8ca2f41756e74f8b8f8b03b",
  "seed": 20240607,
  "input_data": {
    "raw_file": "data/raw/adpc_synthetic.csv",
    "raw_hash": "1cb7adff311dcd25660f2353d892964c98ad1932a6b69b6ed28c6ebfcaa48c6b",
    "prepared_hash": "38d30404d452db3275fe44a8f1a96a4e78d3d35377ba67e53bfba0a645a67ff2"
  },
  "extractor": {
    "name": null,
    "model": null,
    "prompt_version": null,
    "job_ids": []
  },
  "confirmation": {
    "at": "2026-10-08T14:14:15Z",
    "by": "system",
    "mode": "replay of a confirmed spec"
  },
  "packages": {
    "python": {
      "python": "3.12.3",
      "jinja2": "3.1.4",
      "pandas": "2.2.3",
      "numpy": "2.1.3",
      "jsonschema": "4.23.0",
      "typer": "0.12.5"
    },
    "r": {
      "nlmixr2": "7.0.1",
      "nlmixr2est": "7.1.0",
      "rxode2": "5.1.7.1",
      "lotri": "1.0.5",
      "ggplot2": "4.0.3",
      "jsonlite": "2.0.0",
      "R": "4.6.1",
      "BLAS": "/usr/lib/x86_64-linux-gnu/openblas-pthread/libblas.so.3",
      "LAPACK": "/usr/lib/x86_64-linux-gnu/openblas-pthread/libopenblasp-r0.3.26.so"
    }
  },
  "environment": {
    "platform": "Linux-6.17.0-1022-azure-x86_64-with-glibc2.39",
    "machine": "x86_64",
    "cpu": "AMD EPYC 7763 64-Core Processor",
    "math_env": {
      "OPENBLAS_CORETYPE": "Prescott",
      "OPENBLAS_NUM_THREADS": "1",
      "GLIBC_TUNABLES": "glibc.cpu.hwcaps=-AVX2_Usable,-AVX512F_Usable,-FMA_Usable,-FMA4_Usable,-AVX2,-AVX512F,-FMA,-FMA4"
    },
    "container_image": "ghcr.io/djindetoss/pk-analysis-poc@sha256:dd39ca7673a48f1e3f7b6df134be2b4f4ae00ef4e0a726894a72cbdbdf295b4b",
    "git_commit": null,
    "python_executable": "/opt/venv/bin/python"
  },
  "tool_version": "0.1.0",
  "settings": {
    "tolerance": 0.2,
    "rse_threshold": 50.0,
    "qc": {
      "ntime_abs_tol_h": 0.5,
      "ntime_rel_tol": 0.1,
      "blq_warn_fraction": 0.1
    }
  },
  "engine": {
    "returncode": 0,
    "elapsed_s": 14.9,
    "resumed_from_checkpoint": false
  },
  "outputs": {},
  "comparable": true
}

Generated 2026-10-08T14:14:30Z by pk-analysis-poc 0.1.0 — synthetic data, demonstrator only.