← Run history

Independent population-PK analysis — run R-20261008-134033-5040

primary template pk_2cmt_oral_v1 v1.0.0 · status completed · 2026-10-08T13:40:49Z

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.09 3.81 – 4.39 -2.6%yes
V2/F (L)3535.4 31.4 – 40 +1.2%yes
Q/F (L/h)8.17.96 7.54 – 8.4 -1.8%yes
V3/F (L)120117 110 – 125 -2.1%yes
KA (1/h)1.11.14 0.958 – 1.36 +3.7%yes
IIV CL (CV%)3026.6 – -11.4%–

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.0893.61 3.81 – 4.39 26.64.47no
V2/F (L)35.426.16 31.4 – 40 24.920.2no
Q/F (L/h)7.9572.77 7.54 – 8.4 ––no
V3/F (L)117.43.16 110 – 125 ––no
KA (1/h)1.1418.9 0.958 – 1.36 29.434.9no
Residual: add.sd2.628145–––no
Residual: prop.sd0.14633.45–––no

RSE on the natural scale ≈ 100 × SE(log θ); 95% CI = exp(log θ ± 1.96 SE). OFV = 4372.5187 · AIC = 5151.5619 · 60 subjects, 413 observations (0 censored) · covariance |r|,|s| (full) · estimation time 12.3 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: 473 (413 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_handlingexclude7BLQ method M1: BLQ records discarded before estimation SYN-002, SYN-011, SYN-020, SYN-030, SYN-039, SYN-042

6. Analysis spec (confirmed by the assessor)

Confirmed 2026-10-08T13:40:33Z by djindetoss (GitHub) (/confirm on issue #1).

{
  "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": "primary",
  "blq_method": "M1",
  "template": "pk_2cmt_oral_v1"
}

7. Traceability manifest

Run ID / parentR-20261008-134033-5040 / — (root R-20261008-134033-5040)
Templatepk_2cmt_oral_v1 v1.0.0, catalogue 1.0.0, template hash 20187e5bfc228783…
Script SHA-256f4123a0e77a2b3bd59dd40bf39e2465bf71d2ed09ea9771160537259e2d766a6
Raw data SHA-2561cb7adff311dcd25660f2353d892964c98ad1932a6b69b6ed28c6ebfcaa48c6b
Prepared data SHA-256643cf77a70d32f3e284a6391b2438c2c1ee0b95f85d8b6c246098e4ef7f82494
Seed20240607
Extractoranthropic (claude-opus-5-5, prompt system_v2) jobs J-b823cbe978, J-48c9e512c3
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
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:f06569d1205364bbae0a193aa680e1b568ae8a9202d1932cfb783b58bac64b06 · commit n/a
Full manifest.json
{
  "run_id": "R-20261008-134033-5040",
  "parent_run_id": null,
  "root_run_id": "R-20261008-134033-5040",
  "purpose": "analysis",
  "analysis_type": "primary",
  "sensitivity_fields": [],
  "status": "completed",
  "created_at": "2026-10-08T13:40:33Z",
  "completed_at": "2026-10-08T13:40:49Z",
  "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": "primary",
    "blq_method": "M1",
    "template": "pk_2cmt_oral_v1"
  },
  "spec_hash": "5c35bee5bc26c533ecfbf89e2cc3a004ae8575e9508e07875adba84dacdf6d07",
  "methodology_hash": "b654e16c214dc3976105d8ac0299bbdd62f10838806e6f9b8c4930f04667771a",
  "template": {
    "id": "pk_2cmt_oral_v1",
    "version": "1.0.0",
    "hash": "20187e5bfc2287839003d53a964bb462a329804328371be6f7ff57134648472d",
    "catalogue_version": "1.0.0"
  },
  "script_hash": "f4123a0e77a2b3bd59dd40bf39e2465bf71d2ed09ea9771160537259e2d766a6",
  "seed": 20240607,
  "input_data": {
    "raw_file": "data/raw/adpc_synthetic.csv",
    "raw_hash": "1cb7adff311dcd25660f2353d892964c98ad1932a6b69b6ed28c6ebfcaa48c6b",
    "prepared_hash": "643cf77a70d32f3e284a6391b2438c2c1ee0b95f85d8b6c246098e4ef7f82494"
  },
  "extractor": {
    "name": "anthropic",
    "model": "claude-opus-5-5",
    "prompt_version": "system_v2",
    "job_ids": [
      "J-b823cbe978",
      "J-48c9e512c3"
    ]
  },
  "confirmation": {
    "at": "2026-10-08T13:40:33Z",
    "by": "djindetoss (GitHub)",
    "mode": "/confirm on issue #1"
  },
  "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"
    }
  },
  "environment": {
    "platform": "Linux-6.17.0-1022-azure-x86_64-with-glibc2.39",
    "machine": "x86_64",
    "container_image": "ghcr.io/djindetoss/pk-analysis-poc@sha256:f06569d1205364bbae0a193aa680e1b568ae8a9202d1932cfb783b58bac64b06",
    "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": 15.5,
    "resumed_from_checkpoint": false
  },
  "outputs": {},
  "comparable": true
}

Generated 2026-10-08T13:40:49Z by pk-analysis-poc 0.1.0 — synthetic data, demonstrator only.