Dissolution_Profile_f2_Calculator
Dissolution Profile f2 Calculator
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
- • 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
| ID | Requirement | Criticality | Acceptance criterion |
|---|---|---|---|
| URS-001 | The utility shall accept an input.csv file with exact headers defined in the data contract. | High | The file is processed without manual header editing. |
| URS-002 | The utility shall perform deterministic evaluation for Dissolution Profile f2 Calculator using input values, approved limits and domain rules. | High | Each row receives a PASS / WARNING / FAIL status. |
| URS-003 | The utility shall validate mandatory fields, data types, numeric ranges, units and domain plausibility. | High | Schema, format and conversion errors are explicitly reported. |
| URS-004 | The utility shall identify critical deviations for parameters stated in the method description and specification. | High | A critical deviation causes FAIL or a dedicated critical finding. |
| URS-005 | The utility shall generate output.json with machine-readable results, source values, warnings and failures. | High | JSON is suitable for LIMS/ELN/MES integration, QA/QC review and archival. |
| URS-006 | The result shall not depend on machine learning or undocumented heuristics. | Medium | All decisions are based on explicit rules, thresholds and input values. |
| URS-007 | The system shall preserve traceability between batch/sample, input data, applied rules and final status. | High | The output contains the batch/sample identifier and checked parameters. |
| URS-008 | The documentation shall support IQ/OQ/PQ preparation and inspection discussion. | Medium | URS, FS, CSV/JSON contract and test scenarios are supplied with the utility. |
| URS-009 | The utility shall support batch processing of multiple input.csv rows. | Medium | Each row is evaluated independently; errors in one row do not mask errors in others. |
| URS-010 | The utility shall support a simple operating model: demo mode and execution with input/output files. | Medium | The CLI scenario is reproducible in test and production environments. |
input.csv contract
| # | Field | Type | Sample | Purpose |
|---|---|---|---|---|
| 1 | Batch | string | DISS-F2-2026-001 | Batch or lot identifier used for traceability, review and deviation investigation. |
| 2 | Ref15 | string / decimal | 25.0 | Controlled input parameter used by deterministic QC rules and traceable result generation. |
| 3 | Test15 | string / decimal | 26.0 | Controlled input parameter used by deterministic QC rules and traceable result generation. |
| 4 | Ref30 | string / decimal | 50.0 | Controlled input parameter used by deterministic QC rules and traceable result generation. |
| 5 | Test30 | string / decimal | 52.0 | Controlled input parameter used by deterministic QC rules and traceable result generation. |
| 6 | Ref45 | string / decimal | 75.0 | Controlled input parameter used by deterministic QC rules and traceable result generation. |
| 7 | Test45 | string / decimal | 76.0 | Controlled input parameter used by deterministic QC rules and traceable result generation. |
| 8 | Ref60 | string / decimal | 90.0 | Controlled input parameter used by deterministic QC rules and traceable result generation. |
| 9 | Test60 | string / decimal | 91.0 | Controlled input parameter used by deterministic QC rules and traceable result generation. |
| 10 | Ref90 | string / decimal | 98.0 | Controlled input parameter used by deterministic QC rules and traceable result generation. |
| 11 | Test90 | string / decimal | 99.0 | Controlled 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
| ID | Function | Implementation |
|---|---|---|
| FS-001 | CSV import | Read input.csv in UTF-8/CSV-compatible format and validate the header and expected columns. |
| FS-002 | Schema validation | Check mandatory fields, column count, critical missing values and row structure. |
| FS-003 | Type conversion | Convert numeric, flag and text values; invalid formats are recorded as row-level errors. |
| FS-004 | Domain rule engine | Apply domain rules for Dissolution Profile f2 Calculator, including limits from the utility description and approved specification. |
| FS-005 | Status aggregation | Produce final status: FAIL for critical failure, WARNING for non-critical deviation, PASS for conformance. |
| FS-006 | JSON export | Write output.json with detailed checks, source values, warnings, failures and critical findings. |
| FS-007 | Audit support | Keep the result structure suitable for review, deviation investigation, calculation reproduction and IQ/OQ/PQ preparation. |
| FS-008 | Integration contract | Support the production scenario: LIMS/ELN/MES creates input.csv, the utility returns output.json, and the portal displays description and documentation. |
| FS-009 | Error handling | Report errors unambiguously and do not substitute missing values with calculated values unless the rule is explicitly defined. |
| FS-010 | Version control support | Document 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
| URS | FS | OQ/PQ coverage |
|---|---|---|
| URS-001, URS-003 | FS-001, FS-002, FS-003 | OQ-001/OQ-002/OQ-003 |
| URS-002, URS-004 | FS-004, FS-005 | OQ-004/PQ-001 |
| URS-005, URS-007 | FS-006, FS-007 | OQ-005/PQ-002 |
| URS-008, URS-010 | FS-008, FS-010 | IQ-001/OQ-006 |
OQ/PQ test scenarios
| ID | Scenario | Expected result |
|---|---|---|
| OQ-001 | Valid sample row | PASS or acceptable WARNING according to the rules. |
| OQ-002 | Mandatory column missing | Schema error or FAIL. |
| OQ-003 | Non-numeric value in numeric field | Type-conversion error. |
| OQ-004 | Critical parameter outside limit | FAIL and critical finding. |
| OQ-005 | Multiple rows with different statuses | Independent row-level evaluation. |
| PQ-001 | User real batch/sample | Reviewed 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.
OpenDental & 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.
OpenInfectious Diseases QC Suite
QC utility package for infectious diseases: antibacterial, antiviral, antifungal and antiparasitic products, microbiology, sterility, endotoxins, viral safety and vaccine release checks.
OpenLumex 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