OpenPKFlow — End-to-End Study Pipeline Report

{{ title }}

Generated (UTC) {{ generated_at }}
Software OpenPKFlow {{ openpkflow_version }}
Stages Completed {{ stages_completed | join(", ") if stages_completed else "none" }}

Pipeline Overview

{% if methods %} {% for key, value in methods.items() %} {% if value is not none %} {% endif %} {% endfor %} {% endif %}
Stages requested {{ stages_requested | join(", ") if stages_requested else "none" }}
Stages completed {{ stages_completed | join(", ") if stages_completed else "none" }}
{{ key }} {{ value }}
{% if stage_status %} {% for name, status in stage_status.items() %} {% endfor %}
Stage Status
{{ name }} {% if status == "completed" %} {{ status }} {% elif status.startswith("failed") %} {{ status }} {% else %} {{ status }} {% endif %}
{% endif %}
{% if warnings %}

Warnings

{{ warnings | length }} warning(s) collected during pipeline run
    {% for w in warnings %}
  • {{ w }}
  • {% endfor %}
{% endif %} {% if dissolution is not none %}

Dissolution Similarity (f1 / f2)

Reference {{ dissolution.reference_label }}
Test {{ dissolution.test_label }}
Timepoints {{ dissolution.n_timepoints }}
f1 (difference) {{ "%.4g"|format(dissolution.f1_value) }}
f2 (similarity) {{ "%.4g"|format(dissolution.f2_value) }} {% if dissolution.f2_value >= 50 %} f2 >= 50 {% else %} f2 < 50 {% endif %}
{% if dissolution.f2_value >= 50 %} f2 >= 50 supports similarity between the reference and test profiles (FDA 1997 guidance threshold). {% else %} f2 < 50 does not support similarity between the reference and test profiles. {% endif %}
{% if dissolution.time_points %} {% for t, rm, tm in zip(dissolution.time_points, dissolution.reference_mean, dissolution.test_mean) %} {% endfor %}
Time Reference mean Test mean
{{ t }} {{ "%.4g"|format(rm) }} {{ "%.4g"|format(tm) }}
{% endif %}
{% endif %} {% if nca is not none %}

Non-Compartmental Analysis

AUC method {{ nca.auc_method }}
BLQ method {{ nca.blq_method }}
Subjects {{ nca.results | length }}
{% for row in nca_rows %} {% endfor %}
Subject AUClast AUCinf_obs Cmax Tmax half_life CL / CL_F Vz / Vz_F
{{ row.subject }} {{ fmt(row.AUClast) }} {{ fmt(row.AUCinf_obs) }} {{ fmt(row.Cmax) }} {{ fmt(row.Tmax) }} {{ fmt(row.half_life) }} {{ fmt(row.cl) }} {{ fmt(row.vz) }}
{% endif %} {% if be is not none %}

Bioequivalence (Paired TOST)

Parameter {{ be.parameter }}
Subjects (n) {{ be.n }}
GMR (T/R) {{ "%.4f"|format(be.gmr) }}
90% CI [{{ "%.4f"|format(be.gmr_lower_90ci) }}, {{ "%.4f"|format(be.gmr_upper_90ci) }}]
Limits [{{ "%.2f"|format(be.be_lower) }}, {{ "%.2f"|format(be.be_upper) }}]
CV intra (%) {{ "%.1f"|format(be.cv_intra_pct) }}
Conclusion {% if be.bioequivalent %} BIOEQUIVALENT {% else %} NOT BIOEQUIVALENT {% endif %}
Paired TOST screening inside OpenPKFlow. For formal regulator-facing BE analysis, export to BioEqPy and run ANOVA/TOST with the full study design.
{% endif %}

Disclaimer

Regulatory Notice {{ disclaimer }}