Skip to contents

This page collects common questions our users and contributors ask and short, actionable answers. Each question is collapsible — click to expand.

Quick navigation

In which section do you have questions?


Uploading & supported data formats

Which file types can I upload and what format should my data follow?

The app accepts common formats: CSV, RDS, XPT (SAS transport), parquet and Excel. The preferred layout is the ADNCA-like table used throughout the package (see the user guide). Key points:

  • Provide one row per sample measurement (concentration/time) with columns for subject, analyte (PARAM), time (AFRLT/ARRLT), and dose identifiers.
  • Include units where possible or map units in the Mapping step.
  • If you only want to try the app, use the included dummy dataset (available from the app UI).
If you run into parsing issues, upload a small redacted sample (no PHI) and open an issue with the sample and steps to reproduce.
My columns have different names — how do I map them reliably?

Use the Mapping tab to assign your dataset columns to the required roles (PARAM, AVAL, AFRLT, etc.). A few tips:

  • Use the supplemental Grouping_Variables mapping for extra grouping columns (AGE, SEX, TRT01A).
  • If you have metabolites, select PARAM values in the Metabolites control so the app sets METABFL = 'Y' correctly.
  • After mapping, review the Preview tab to confirm values look correct before running NCA.
If you expect to re-run the same mapping later, export the settings from the Setup page and re-import them next time.

What are duplicates and how to resolve them?

The app says I have duplicate time records — what does that mean and how do I fix it?

Duplicates are rows with the same subject, analyte and time and can break slope selection and NCA calculations. The Mapping UI detects potentially blocking duplicates and opens a modal allowing you to select which rows to KEEP. Recommended workflow:

  1. Inspect the rows in the modal — the table shows each duplicate group.
  2. Select the single row you want to keep for each duplicate group and click Keep Selected.
If you need to clean the data outside the app, export the dataset, fix duplicates, and re-upload.

NCA settings and all available options

Derivation of partial AUC t1-t2: can the App use nominal or actual times conditionally?

Currently, no. The App calculates partial AUC t1-t2 using whichever time column you indicated during column mapping (typically AFRLT for actual relative time). There is not yet a built-in option to switch between nominal and actual times conditionally based on the deviation between them.

Practical workarounds:

  • Pre-compute a column in your dataset that selects nominal or actual time per-row based on your deviation rule (for example, create a USE_TIME column: if |AFRLT - NFRLT| < threshold then NFRLT else AFRLT) and map that column as the time variable in the app.
  • Export the session script after mapping and modify the partial AUC calculation to use your chosen time variable or conditional logic offline.
If you’d like this feature built into the app (an option to choose nominal/actual/conditional), I can add a small enhancement proposal and a TODO entry so we can implement it later.

Validation and CDISC outputs

How is the project validated and what about CDISC outputs? You can see our current validations and future plan in the validations page

Reporting bugs & requesting features

Where should I open issues or request features?

The user section in CONTRIBUTING.md specifies how to act in each of these cases.

Use GitHub Issues for bugs and feature requests. For questions and brainstorming use Discussions. When opening an issue, please include:

  • A short title and description.
  • Steps to reproduce (minimal reproducible example if possible).
  • App version (shown in the UI footer), screenshots, and console logs if helpful.
If the issue involves private data, provide a redacted/synthetic example or reach out to the maintainers for secure alternatives. Here is a link for Bug Reports.

Still have questions? Check at our GitHub discussions and if your question is still not there, feel free to open a Q&A topic!