Dissolution_Profile_f2_Calculator

Dissolution Profile f2 Calculator

Lumex QC URS & FS input.csv output.json rule-based LIMS-ready dissolution
Open selection

Utility description: Dissolution Profile f2 Calculator

Dissolution Profile f2 Calculator — Calculation of Dissolution Profile Similarity Factor

ℹ️  Utility checks similarity of dissolution profiles of two batches (e.g., test and reference):
   • Similarity factor f2: 50–100 (similar), <50 (dissimilar)
   • Minimum time points: 3 (excluding t=0)
   • Maximum difference at last point: ≤10%

⚠️  CRITICAL: f2 < 50 → dissolution profiles are NOT similar!
   This may require additional bioequivalence studies.

Usage:
 Dissolution_Profile_f2_Calculator.exe                            → demo mode (console output)
 Dissolution_Profile_f2_Calculator.exe input.csv output.json      → evaluate your data

Input format:
Batch,RefT1,TestT1,RefT2,TestT2,...,RefTn,TestTn

Example:
 DISS-F2-2026-001,25.0,26.0,50.0,52.0,75.0,76.0,90.0,91.0,98.0,99.0

— WHY IS THIS NEEDED?
Comparison of dissolution profiles is necessary when changing formulation, manufacturing process, or site for solid dosage forms.
• Factor f2 (factor of similarity) is a model-independent approach recommended by FDA and EMA.
• An f2 value between 50 and 100 indicates no clinically significant differences in rate and extent of dissolution.
• Method is applicable if dissolution exceeds 85% in less than 15 minutes (profiles considered similar automatically) or if at least 3-4 points are used before reaching 85% dissolution.
• Automation eliminates manual calculation errors of sum of squared differences.

⚠️  CRITICAL:
• f2 >= 50 is the standard similarity criterion.
• Difference in mean dissolution values at any time point should not exceed 10-15% (depending on regulatory requirements).
• Difference at the last time point should not exceed 10%.
• Variance (RSD) at early points should not exceed 20%, at later points 10%.

Key features:
• Calculation of f2 per USP <711> formula.
• Check of point count and difference at the final point.
• Generation of JSON report for LIMS.

Critical parameters:
• Similarity Factor f2: 50-100
• Time Points: >= 3
• Max Diff at Last Point: <= 10%

💡 Usage tips:
1. Use identical time points for reference and test profiles.
2. If dissolution is very rapid (<85% in 15 min), f2 may be insensitive; consider other metrics.
3. Note that f2 is sensitive to the number of points: more points -> lower f2 for the same difference.
4. For highly variable profiles, use bootstrap methods (not implemented in this version).

⚠️ Note: The f2 formula is logarithmic and inverse: the greater the difference between profiles, the lower the f2. A value of 100 means identical profiles.

input.csv

Batch,Ref15,Test15,Ref30,Test30,Ref45,Test45,Ref60,Test60,Ref90,Test90
DISS-F2-2026-001,25.0,26.0,50.0,52.0,75.0,76.0,90.0,91.0,98.0,99.0
DISS-F2-2026-002,25.0,30.0,50.0,58.0,75.0,85.0,90.0,95.0,98.0,99.5
DISS-FAIL-2026-003,25.0,10.0,50.0,20.0,75.0,30.0,90.0,40.0,98.0,50.0

Utility description

Dissolution Profile f2 Calculator — Calculation of Dissolution Profile Similarity Factor

ℹ️  Utility checks similarity of dissolution profiles of two batches (e.g., test and reference):
   • Similarity factor f2: 50–100 (similar), <50 (dissimilar)
   • Minimum time points: 3 (excluding t=0)
   • Maximum difference at last point: ≤10%

⚠️  CRITICAL: f2 < 50 → dissolution profiles are NOT similar!
   This may require additional bioequivalence studies.

Usage:
 Dissolution_Profile_f2_Calculator.exe                            → demo mode (console output)
 Dissolution_Profile_f2_Calculator.exe input.csv output.json      → evaluate your data

Input format:
Batch,RefT1,TestT1,RefT2,TestT2,...,RefTn,TestTn

Example:
 DISS-F2-2026-001,25.0,26.0,50.0,52.0,75.0,76.0,90.0,91.0,98.0,99.0

— WHY IS THIS NEEDED?
Comparison of dissolution profiles is necessary when changing formulation, manufacturing process, or site for solid dosage forms.
• Factor f2 (factor of similarity) is a model-independent approach recommended by FDA and EMA.
• An f2 value between 50 and 100 indicates no clinically significant differences in rate and extent of dissolution.
• Method is applicable if dissolution exceeds 85% in less than 15 minutes (profiles considered similar automatically) or if at least 3-4 points are used before reaching 85% dissolution.
• Automation eliminates manual calculation errors of sum of squared differences.

⚠️  CRITICAL:
• f2 >= 50 is the standard similarity criterion.
• Difference in mean dissolution values at any time point should not exceed 10-15% (depending on regulatory requirements).
• Difference at the last time point should not exceed 10%.
• Variance (RSD) at early points should not exceed 20%, at later points 10%.

Key features:
• Calculation of f2 per USP <711> formula.
• Check of point count and difference at the final point.
• Generation of JSON report for LIMS.

Critical parameters:
• Similarity Factor f2: 50-100
• Time Points: >= 3
• Max Diff at Last Point: <= 10%

💡 Usage tips:
1. Use identical time points for reference and test profiles.
2. If dissolution is very rapid (<85% in 15 min), f2 may be insensitive; consider other metrics.
3. Note that f2 is sensitive to the number of points: more points -> lower f2 for the same difference.
4. For highly variable profiles, use bootstrap methods (not implemented in this version).

⚠️ Note: The f2 formula is logarithmic and inverse: the greater the difference between profiles, the lower the f2. A value of 100 means identical profiles.

URS & FS — User Requirements and Functional Specification

This document describes the controlled interface, user requirements and functional behaviour of Dissolution_Profile_f2_Calculator. The utility is intended for automated verification of laboratory, pharmacopoeial, analytical or manufacturing QC parameters using input.csv and producing a structured output.json result.

Domain limits and critical parameters

Before production use, all limits must be verified against the approved specification, registration dossier, pharmacopoeial monograph, validated method and local SOPs.
  • • Factor f2 (factor of similarity) is a model-independent approach recommended by FDA and EMA.
  • • An f2 value between 50 and 100 indicates no clinically significant differences in rate and extent of dissolution.
  • • Method is applicable if dissolution exceeds 85% in less than 15 minutes (profiles considered similar automatically) or if at least 3-4 points are used before reaching 85% dissolution.
  • • Automation eliminates manual calculation errors of sum of squared differences.
  • • f2 >= 50 is the standard similarity criterion.
  • • Difference in mean dissolution values at any time point should not exceed 10-15% (depending on regulatory requirements).
  • • Difference at the last time point should not exceed 10%.
  • • Variance (RSD) at early points should not exceed 20%, at later points 10%.
  • • Calculation of f2 per USP <711> formula.
  • • Check of point count and difference at the final point.
  • • Generation of JSON report for LIMS.
  • • Similarity Factor f2: 50-100
  • • Time Points: >= 3
  • • Max Diff at Last Point: <= 10%
  • • Maximum difference at last point: ≤10%

URS — User Requirements Specification

IDRequirementCriticalityAcceptance criterion
URS-001The utility shall accept an input.csv file with exact headers defined in the data contract.HighThe file is processed without manual header editing.
URS-002The utility shall perform deterministic evaluation for Dissolution Profile f2 Calculator using input values, approved limits and domain rules.HighEach row receives a PASS / WARNING / FAIL status.
URS-003The utility shall validate mandatory fields, data types, numeric ranges, units and domain plausibility.HighSchema, format and conversion errors are explicitly reported.
URS-004The utility shall identify critical deviations for parameters stated in the method description and specification.HighA critical deviation causes FAIL or a dedicated critical finding.
URS-005The utility shall generate output.json with machine-readable results, source values, warnings and failures.HighJSON is suitable for LIMS/ELN/MES integration, QA/QC review and archival.
URS-006The result shall not depend on machine learning or undocumented heuristics.MediumAll decisions are based on explicit rules, thresholds and input values.
URS-007The system shall preserve traceability between batch/sample, input data, applied rules and final status.HighThe output contains the batch/sample identifier and checked parameters.
URS-008The documentation shall support IQ/OQ/PQ preparation and inspection discussion.MediumURS, FS, CSV/JSON contract and test scenarios are supplied with the utility.
URS-009The utility shall support batch processing of multiple input.csv rows.MediumEach row is evaluated independently; errors in one row do not mask errors in others.
URS-010The utility shall support a simple operating model: demo mode and execution with input/output files.MediumThe CLI scenario is reproducible in test and production environments.

input.csv contract

#FieldTypeSamplePurpose
1BatchstringDISS-F2-2026-001Batch or lot identifier used for traceability, review and deviation investigation.
2Ref15string / decimal25.0Controlled input parameter used by deterministic QC rules and traceable result generation.
3Test15string / decimal26.0Controlled input parameter used by deterministic QC rules and traceable result generation.
4Ref30string / decimal50.0Controlled input parameter used by deterministic QC rules and traceable result generation.
5Test30string / decimal52.0Controlled input parameter used by deterministic QC rules and traceable result generation.
6Ref45string / decimal75.0Controlled input parameter used by deterministic QC rules and traceable result generation.
7Test45string / decimal76.0Controlled input parameter used by deterministic QC rules and traceable result generation.
8Ref60string / decimal90.0Controlled input parameter used by deterministic QC rules and traceable result generation.
9Test60string / decimal91.0Controlled input parameter used by deterministic QC rules and traceable result generation.
10Ref90string / decimal98.0Controlled input parameter used by deterministic QC rules and traceable result generation.
11Test90string / decimal99.0Controlled input parameter used by deterministic QC rules and traceable result generation.
Batch,Ref15,Test15,Ref30,Test30,Ref45,Test45,Ref60,Test60,Ref90,Test90
DISS-F2-2026-001,25.0,26.0,50.0,52.0,75.0,76.0,90.0,91.0,98.0,99.0
DISS-F2-2026-002,25.0,30.0,50.0,58.0,75.0,85.0,90.0,95.0,98.0,99.5
DISS-FAIL-2026-003,25.0,10.0,50.0,20.0,75.0,30.0,90.0,40.0,98.0,50.0

FS — Functional Specification

IDFunctionImplementation
FS-001CSV importRead input.csv in UTF-8/CSV-compatible format and validate the header and expected columns.
FS-002Schema validationCheck mandatory fields, column count, critical missing values and row structure.
FS-003Type conversionConvert numeric, flag and text values; invalid formats are recorded as row-level errors.
FS-004Domain rule engineApply domain rules for Dissolution Profile f2 Calculator, including limits from the utility description and approved specification.
FS-005Status aggregationProduce final status: FAIL for critical failure, WARNING for non-critical deviation, PASS for conformance.
FS-006JSON exportWrite output.json with detailed checks, source values, warnings, failures and critical findings.
FS-007Audit supportKeep the result structure suitable for review, deviation investigation, calculation reproduction and IQ/OQ/PQ preparation.
FS-008Integration contractSupport the production scenario: LIMS/ELN/MES creates input.csv, the utility returns output.json, and the portal displays description and documentation.
FS-009Error handlingReport errors unambiguously and do not substitute missing values with calculated values unless the rule is explicitly defined.
FS-010Version control supportDocument the utility version, input contract, executable checksum and rule application date.

Example output.json

{
  "utilityId": "dissolution-profile-f2-calculator",
  "utilityName": "Dissolution_Profile_f2_Calculator",
  "overallStatus": "PASS|WARNING|FAIL",
  "sourceFile": "input.csv",
  "checks": [
    {
      "parameter": "Batch",
      "value": "DISS-F2-2026-001",
      "status": "PASS|WARNING|FAIL",
      "message": "Rule-based check result"
    },
    {
      "parameter": "Ref15",
      "value": "25.0",
      "status": "PASS|WARNING|FAIL",
      "message": "Rule-based check result"
    },
    {
      "parameter": "Test15",
      "value": "26.0",
      "status": "PASS|WARNING|FAIL",
      "message": "Rule-based check result"
    },
    {
      "parameter": "Ref30",
      "value": "50.0",
      "status": "PASS|WARNING|FAIL",
      "message": "Rule-based check result"
    },
    {
      "parameter": "Test30",
      "value": "52.0",
      "status": "PASS|WARNING|FAIL",
      "message": "Rule-based check result"
    },
    {
      "parameter": "Ref45",
      "value": "75.0",
      "status": "PASS|WARNING|FAIL",
      "message": "Rule-based check result"
    },
    {
      "parameter": "Test45",
      "value": "76.0",
      "status": "PASS|WARNING|FAIL",
      "message": "Rule-based check result"
    },
    {
      "parameter": "Ref60",
      "value": "90.0",
      "status": "PASS|WARNING|FAIL",
      "message": "Rule-based check result"
    },
    {
      "parameter": "Test60",
      "value": "91.0",
      "status": "PASS|WARNING|FAIL",
      "message": "Rule-based check result"
    },
    {
      "parameter": "Ref90",
      "value": "98.0",
      "status": "PASS|WARNING|FAIL",
      "message": "Rule-based check result"
    },
    {
      "parameter": "Test90",
      "value": "99.0",
      "status": "PASS|WARNING|FAIL",
      "message": "Rule-based check result"
    }
  ],
  "criticalFindings": [],
  "warnings": [],
  "generatedFor": "QA/QC review and LIMS integration"
}

Traceability matrix

URSFSOQ/PQ coverage
URS-001, URS-003FS-001, FS-002, FS-003OQ-001/OQ-002/OQ-003
URS-002, URS-004FS-004, FS-005OQ-004/PQ-001
URS-005, URS-007FS-006, FS-007OQ-005/PQ-002
URS-008, URS-010FS-008, FS-010IQ-001/OQ-006

OQ/PQ test scenarios

IDScenarioExpected result
OQ-001Valid sample rowPASS or acceptable WARNING according to the rules.
OQ-002Mandatory column missingSchema error or FAIL.
OQ-003Non-numeric value in numeric fieldType-conversion error.
OQ-004Critical parameter outside limitFAIL and critical finding.
OQ-005Multiple rows with different statusesIndependent row-level evaluation.
PQ-001User real batch/sampleReviewed result with retained input/output files.

QA/QC and change control

  • Do not rename columns without updating the validator, documentation and test set.
  • Retain input.csv, output.json, executable version, documentation and checksum.
  • Before production use, perform IQ/OQ/PQ or equivalent CSV/CSA verification.
  • Critical limits must be verified against the approved specification, local SOPs and registration dossier.

Included in packages

Addiction Medicine & Controlled Substances QC Suite

QC utility package for addiction medicine and regulated medicinal products: addiction-treatment medicines, opioids, benzodiazepines, stimulants, sedatives, volatile impurities, assay/identity/dissolution/release checks.

Open

Dental & Dental Materials QC Suite

QC utility package for dental medicinal products, oral-care products and dental materials: anaesthetics, antiseptics, analgesic/anti-infective products, polymers/minerals, resins, bonding workflows, microbiology, stability and material QC.

Open

Infectious Diseases QC Suite

QC utility package for infectious diseases: antibacterial, antiviral, antifungal and antiparasitic products, microbiology, sterility, endotoxins, viral safety and vaccine release checks.

Open

Lumex QC Suite

A single Lumex package combining the former Lumex and Lumex2 sets: instrumental and general pharmaceutical QC, AAS/ICP, CE, HPLC, NIR/PAT, stability, dissolution, content uniformity, system suitability and statistical control.

Open