Skill Tracer
Skills › Scientific Agent Skills › pkpd-modeling › dataset-standards.md

dataset-standards.md

51 lines · skills/pkpd-modeling/references/dataset-standards.md at 5f2bc03

Open on GitHub
1# Population PK event data
2

Population PK event data

Raw lines 1 to 2
3## Preserve event meaning
4
5Keep one record per event/observation with numeric ID and a time basis interpretable across the
6complete subject history. TIME generally advances from a subject/occasion origin; TAD is separate.
7NONMEM reset events (EVID 3/4) can restart the model/time; do not treat every dose as a reset.
8IDs must remain contiguous in the file. Sorting by TIME alone can corrupt tied-event order.
9
10| Field | Meaning and common checks |
11| --- | --- |
12| ID | Numeric subject identifier in NONMEM; do not concatenate discontinuous blocks silently |
13| TIME | Actual event time; units consistent with CL, Q, ka and infusion rate |
14| DV | Numeric observation when MDV=0; missing placeholders only under declared semantics |
15| EVID | 0 observation, 1 dose, 2 other, 3 reset, 4 reset+dose (ordinary cases) |
16| MDV | Whether DV contributes to likelihood; advanced values are engine-specific |
17| AMT | Amount administered, with stated units and input compartment |
18| RATE | 0 bolus; positive infusion rate; -1 modeled rate Rn; -2 modeled duration Dn |
19| II/ADDL | Interval and additional doses; ADDL requires a meaningful positive interval |
20| SS | Engine-specific steady-state instruction; does not prove real-world steady state |
21| CMT | Model compartment, not an assay or analyte label |
22| BLQ/LLOQ | Separate censoring indicator and assay threshold |
24For an ongoing constant steady-state infusion, SS with AMT=0 and positive RATE uses II=0;
25a blanket rule requiring AMT>0 and II>0 would reject valid data. Other advanced dosing conventions
26must be checked against the installed engine manual. NONMEM was not run in this refresh.
27[Vendor platform and documentation access](https://www.iconplc.com/solutions/technologies/nonmem).

Preserve event meaning

Keep one record per event/observation with numeric ID and a time basis interpretable across the complete subject history. TIME generally advances from a subject/occasion origin; TAD is separate. NONMEM reset events (EVID 3/4) can restart the model/time; do not treat every dose as a reset. IDs must remain contiguous in the file. Sorting by TIME alone can corrupt tied-event order.

FieldMeaning and common checks
IDNumeric subject identifier in NONMEM; do not concatenate discontinuous blocks silently
TIMEActual event time; units consistent with CL, Q, ka and infusion rate
DVNumeric observation when MDV=0; missing placeholders only under declared semantics
EVID0 observation, 1 dose, 2 other, 3 reset, 4 reset+dose (ordinary cases)
MDVWhether DV contributes to likelihood; advanced values are engine-specific
AMTAmount administered, with stated units and input compartment
RATE0 bolus; positive infusion rate; -1 modeled rate Rn; -2 modeled duration Dn
II/ADDLInterval and additional doses; ADDL requires a meaningful positive interval
SSEngine-specific steady-state instruction; does not prove real-world steady state
CMTModel compartment, not an assay or analyte label
BLQ/LLOQSeparate censoring indicator and assay threshold

For an ongoing constant steady-state infusion, SS with AMT=0 and positive RATE uses II=0; a blanket rule requiring AMT>0 and II>0 would reject valid data. Other advanced dosing conventions must be checked against the installed engine manual. NONMEM was not run in this refresh. Vendor platform and documentation access.

Raw lines 3 to 28
29## Ordering and missingness
31A pre-dose sample belongs before the same-time dose; a post-dose sample belongs after it. Infer
32order from collection/administration records, not an arbitrary epsilon. The checker cannot resolve
33unknown order. Do not invent dose history from nominal schedules when actual doses are available.
35Nonnumeric DV is not a safe representation of BLQ. Use documented numeric placeholders plus
36censoring flags and a model likelihood. The parser's treatment of tokens depends on engine/data
37configuration; there is no universal guarantee that text becomes zero. Genuine missing samples,
38BLQ observations and data excluded for a prespecified reason are separate categories.
40Carry units and provenance for covariates (weight, age, renal function estimate, genotype).
41Time-varying weight or organ function should not silently become baseline constants. Renal
42estimates in mL/min and mL/min/1.73m² are not interchangeable; record the equation and indexing.

Ordering and missingness

A pre-dose sample belongs before the same-time dose; a post-dose sample belongs after it. Infer order from collection/administration records, not an arbitrary epsilon. The checker cannot resolve unknown order. Do not invent dose history from nominal schedules when actual doses are available.

Nonnumeric DV is not a safe representation of BLQ. Use documented numeric placeholders plus censoring flags and a model likelihood. The parser's treatment of tokens depends on engine/data configuration; there is no universal guarantee that text becomes zero. Genuine missing samples, BLQ observations and data excluded for a prespecified reason are separate categories.

Carry units and provenance for covariates (weight, age, renal function estimate, genotype). Time-varying weight or organ function should not silently become baseline constants. Renal estimates in mL/min and mL/min/1.73m² are not interchangeable; record the equation and indexing.

Raw lines 29 to 43
44## What the bundled checker establishes
46`check_popk_dataset.py` checks common row consistency, finite numeric values, subject blocks,
47time/reset ordering, dosing fields, observation count, covariates and duplicate/tied records.
48It is not an NM-TRAN validator, dose reconstruction engine, censoring-likelihood check or proof that
49a particular control stream interprets the data correctly. Pure PD, placebo, multi-analyte and
50advanced dosing workflows need a tailored schema. Keep the derivation code and compare model
51predictions around event boundaries using an independent simple case.

What the bundled checker establishes

check_popk_dataset.py checks common row consistency, finite numeric values, subject blocks, time/reset ordering, dosing fields, observation count, covariates and duplicate/tied records. It is not an NM-TRAN validator, dose reconstruction engine, censoring-likelihood check or proof that a particular control stream interprets the data correctly. Pure PD, placebo, multi-analyte and advanced dosing workflows need a tailored schema. Keep the derivation code and compare model predictions around event boundaries using an independent simple case.

Raw lines 44 to 51