Intravitreal_Particulate_Matter_Analyzer

Intravitreal Particulate Matter Analyzer

AdvancedPharma CSV→JSON EU-first LabWare URS & FS
Open selection
Intravitreal Particulate Matter Analyzer — Intravitreal Injection Particulate Matter Analyzer

ℹ️ Utility controls cleanliness of ophthalmic products:
• Particles ≥10 μm (≤600 per syringe)
• Particles ≥25 μm (≤60 per syringe)
• Visible particles (0 tolerance)
• Glass fragments (0 tolerance)
• Silicone oil droplets
• Needle patency

⚠️ CRITICAL: The eye has no lymphatic system for particle clearance!
Any particle can cause irreversible retinal damage.

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

Input format:
BatchNumber,ProductName,Volume_ml,Particles_ge10um_per_unit,Particles_ge25um_per_unit,Visible_Particles_Count,Visible_Particle_Type,Silicone_Droplets_Count,Glass_Fragments_Count,Protein_Aggregates_Count,Needle_Occlusion

Example:
EYE-PM-2026-001,Aflibercept PFS 2mg,0.05,15,2,0,None,5,0,3,false

— WHY IS THIS NEEDED?
Particle control is critical for intravitreal drugs (Roche, Novartis, Kanghong):
• Injection is made directly into vitreous humor, where there is no rapid particle clearance mechanism
• Particles can settle on retina, causing mechanical damage or inflammation
• Thin needles (30G-32G) are easily clogged by even small aggregates
• Silicone oil from syringe can emulsify and cause visual artifacts in patient

⚠️ CRITICAL:
• Particles ≥10 μm ≤600 per unit (stricter than USP <788> due to small volume)
• Particles ≥25 μm ≤60 per unit
• Visible particles: Absolute Zero Tolerance
• Glass fragments: Absolute Zero (retinal detachment risk)
• Silicone droplets: Minimization (≤10) to prevent visual disturbances
• Needle: Must be fully patent

Key features:
• Calculation per packaging unit (syringe), not per mL, due to very small volume (0.05 mL)
• Separation of particle types (glass, silicone, protein)
• Visible particle inspection control
• Needle occlusion testing

Critical parameters:
• Particles ≥10 μm: ≤600 particles/syringe
• Particles ≥25 μm: ≤60 particles/syringe
• Visible particles: 0
• Glass: 0
• Silicone: ≤10

💡 Usage tips:
1. Use Light Obscuration method for sub-visible particles
2. Confirm results with microscopy for particle type identification
3. For silicone droplets, use fluorescence or special microscopy methods
4. Carefully check needle integrity after patency test
5. Any visible particle leads to immediate batch rejection

⚠️ Note: In ophthalmology, USP <789> (visible) and <788> (sub-visible) standards are applied with maximum strictness. Due to small dose volume (0.05 mL), even one large particle is significant contamination. The utility helps ensure safety unattainable with standard parenteral approaches.

input.csv

BatchNumber,ProductName,Volume_ml,Particles_ge10um_per_unit,Particles_ge25um_per_unit,Visible_Particles_Count,Visible_Particle_Type,Silicone_Droplets_Count,Glass_Fragments_Count,Protein_Aggregates_Count,Needle_Occlusion
EYE-PM-2026-001,Aflibercept PFS 2mg,0.05,15,2,0,None,5,0,3,false
EYE-PM-2026-002,Ranibizumab PFS 0.5mg,0.05,25,3,0,None,8,0,2,false
EYE-PM-2026-003,Faricimab PFS 6mg,0.05,800,70,0,None,12,0,5,false
Intravitreal Particulate Matter Analyzer — URS and FS

Intravitreal Particulate Matter Analyzer — URS and FS

The English user requirements and functional specification are provided below.


Intravitreal Particulate Matter Analyzer — URS

Intravitreal Particulate Matter Analyzer

This document is generated for the English localization. Non-Russian portal languages must use this English version, not a mixed Russian/English document.

Purpose

Define user requirements for a standalone FUZKK utility that accepts laboratory CSV data, evaluates the records using limits embedded in code, and produces LabWare-compatible JSON.

Scope

The utility is intended for preliminary QC/QA review, integration testing, LIMS/LabWare flow and evidence-trail preparation. Final release decisions remain under the laboratory's validated procedure and responsible personnel.

Users

QC analyst, QA reviewer, CSV/validation engineer, LIMS/LabWare integration engineer, responsible laboratory specialist.

User requirements

  1. The utility shall run without arguments and print its self-description, a built-in input.csv example from GetDemoData(), and demo evaluation for the embedded records.
  2. The utility shall run with two arguments: input.csv output.json.
  3. The utility shall not read input.csv and shall not write output.json when started without arguments.
  4. CSV numeric values shall be parsed using CultureInfo.InvariantCulture.
  5. Output shall be generated as LabWare-compatible JSON with Header, Samples, Results, Status, StatusCode, ErrorMessage, Description and DescriptionEN.
  6. For PASS records, ErrorMessage shall be an empty string.
  7. Embedded limits shall follow this priority: Ph. Eur. → British Pharmacopoeia / UK implementation → EAEU / regional requirements → EMA/ICH/EU guidance → USP fallback.
  8. If an exact monograph is not known, strict standard API limits are used where applicable: assay 98–102%, total impurities ≤1.0%, individual impurity ≤0.5%.
  9. For biologics and mAb-like products, aggregation, sterility and endotoxin checks shall be included where relevant to the utility purpose.
  10. If a parameter may arrive in different units, the unit shall be represented as a separate input field or explicitly reflected in the input.csv field name.

Input CSV

BatchNumber,ProductName,Volume_ml,Particles_ge10um_per_unit,Particles_ge25um_per_unit,Visible_Particles_Count,Visible_Particle_Type,Silicone_Droplets_Count,Glass_Fragments_Count,Protein_Aggregates_Count,Needle_Occlusion
EYE-PM-2026-001,Aflibercept PFS 2mg,0.05,15,2,0,None,5,0,3,false
EYE-PM-2026-002,Ranibizumab PFS 0.5mg,0.05,25,3,0,None,8,0,2,false
EYE-PM-2026-003,Faricimab PFS 6mg,0.05,800,70,0,None,12,0,5,false

input.csv fields

FieldSample
BatchNumberEYE-PM-2026-001
ProductNameAflibercept PFS 2mg
Volume_ml0.05
Particles_ge10um_per_unit15
Particles_ge25um_per_unit2
Visible_Particles_Count0
Visible_Particle_TypeNone
Silicone_Droplets_Count5
Glass_Fragments_Count0
Protein_Aggregates_Count3
Needle_Occlusionfalse

Utility description

Intravitreal Particulate Matter Analyzer — Intravitreal Injection Particulate Matter Analyzer

Intravitreal Particulate Matter Analyzer — Intravitreal Injection Particulate Matter Analyzer

ℹ️ Utility controls cleanliness of ophthalmic products:
• Particles ≥10 μm (≤600 per syringe)
• Particles ≥25 μm (≤60 per syringe)
• Visible particles (0 tolerance)
• Glass fragments (0 tolerance)
• Silicone oil droplets
• Needle patency

⚠️ CRITICAL: The eye has no lymphatic system for particle clearance!
Any particle can cause irreversible retinal damage.

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

Input format:
BatchNumber,ProductName,Volume_ml,Particles_ge10um_per_unit,Particles_ge25um_per_unit,Visible_Particles_Count,Visible_Particle_Type,Silicone_Droplets_Count,Glass_Fragments_Count,Protein_Aggregates_Count,Needle_Occlusion

Example:
EYE-PM-2026-001,Aflibercept PFS 2mg,0.05,15,2,0,None,5,0,3,false

— WHY IS THIS NEEDED?
Particle control is critical for intravitreal drugs (Roche, Novartis, Kanghong):
• Injection is made directly into vitreous humor, where there is no rapid particle clearance mechanism
• Particles can settle on retina, causing mechanical damage or inflammation
• Thin needles (30G-32G) are easily clogged by even small aggregates
• Silicone oil from syringe can emulsify and cause visual artifacts in patient

⚠️ CRITICAL:
• Particles ≥10 μm ≤600 per unit (stricter than USP <788> due to small volume)
• Particles ≥25 μm ≤60 per unit
• Visible particles: Absolute Zero Tolerance
• Glass fragments: Absolute Zero (retinal detachment risk)
• Silicone droplets: Minimization (≤10) to prevent visual disturbances
• Needle: Must be fully patent

Key features:
• Calculation per packaging unit (syringe), not per mL, due to very small volume (0.05 mL)
• Separation of particle types (glass, silicone, protein)
• Visible particle inspection control
• Needle occlusion testing

Critical parameters:
• Particles ≥10 μm: ≤600 particles/syringe
• Particles ≥25 μm: ≤60 particles/syringe
• Visible particles: 0
• Glass: 0
• Silicone: ≤10

💡 Usage tips:
1. Use Light Obscuration method for sub-visible particles
2. Confirm results with microscopy for particle type identification
3. For silicone droplets, use fluorescence or special microscopy methods
4. Carefully check needle integrity after patency test
5. Any visible particle leads to immediate batch rejection

⚠️ Note: In ophthalmology, USP <789> (visible) and <788> (sub-visible) standards are applied with maximum strictness. Due to small dose volume (0.05 mL), even one large particle is significant contamination. The utility helps ensure safety unattainable with standard parenteral approaches.

Traceability and limitations

  • The URS is used as the source document for functional specification, CSV review and later validation work.
  • This document does not replace an approved pharmacopoeial monograph, validated analytical method or internal product specification.
  • For product-specific limits, the approved customer specification takes priority.

Intravitreal Particulate Matter Analyzer — FS

Intravitreal Particulate Matter Analyzer

The functional specification describes the behaviour of the standalone FUZKK console utility, input-data format, evaluation algorithm and output JSON structure.

Functional flow

  1. Main() checks the number of arguments.
  2. If no arguments are provided: PrintHello() prints the description and built-in input.csv example, then RunDemoEvaluation() executes Evaluate() over GetDemoData() and prints demo JSON.
  3. If two arguments are provided: RunWithFiles(input.csv, output.json) reads CSV, evaluates each record and writes LabWare-compatible JSON.
  4. LoadData() uses CultureInfo.InvariantCulture and shall not be called in no-arguments mode.
  5. Evaluate() returns a named tuple with BatchNumber, ProductName, Parameters, CriticalFailCount, WarningCount, Recommendation and RecommendationEN.
  6. GetIssues() builds messages for ErrorMessage in WARNING/FAIL cases.

Evaluation rules

  • PASS: CriticalFailCount = 0 and WarningCount = 0.
  • WARNING: CriticalFailCount = 0 and WarningCount > 0.
  • FAIL: CriticalFailCount > 0.
  • ERROR: exception during reading or processing.
  • ErrorMessage remains empty for PASS.
  • Limits are embedded in Program.cs; no external limit configuration is required.

Input and fields

BatchNumber,ProductName,Volume_ml,Particles_ge10um_per_unit,Particles_ge25um_per_unit,Visible_Particles_Count,Visible_Particle_Type,Silicone_Droplets_Count,Glass_Fragments_Count,Protein_Aggregates_Count,Needle_Occlusion
EYE-PM-2026-001,Aflibercept PFS 2mg,0.05,15,2,0,None,5,0,3,false
EYE-PM-2026-002,Ranibizumab PFS 0.5mg,0.05,25,3,0,None,8,0,2,false
EYE-PM-2026-003,Faricimab PFS 6mg,0.05,800,70,0,None,12,0,5,false
FieldSample
BatchNumberEYE-PM-2026-001
ProductNameAflibercept PFS 2mg
Volume_ml0.05
Particles_ge10um_per_unit15
Particles_ge25um_per_unit2
Visible_Particles_Count0
Visible_Particle_TypeNone
Silicone_Droplets_Count5
Glass_Fragments_Count0
Protein_Aggregates_Count3
Needle_Occlusionfalse

Output JSON

{
  "Header": {
    "UtilityName": "Intravitreal_Particulate_Matter_Analyzer",
    "Version": "1.0.0",
    "Timestamp": "UTC",
    "InstrumentID": "FUZKK-QC-WORKSTATION",
    "OperatorID": "Admin"
  },
  "Samples": [
    {
      "SampleID": "from BatchNumber",
      "BatchNumber": "from CSV",
      "ProductName": "from CSV",
      "TestName": "utility-specific test",
      "AnalysisCode": "utility-specific code",
      "Status": "PASS | WARNING | FAIL | ERROR",
      "StatusCode": "1 | 2 | 0 | -1",
      "ErrorMessage": "",
      "Description": "Russian recommendation",
      "DescriptionEN": "English recommendation",
      "Results": [
        {
          "ParameterName": "parameter",
          "ResultValue": 0.0,
          "UnitOfMeasure": "unit",
          "SpecificationLimit": "limit",
          "IsWithinSpec": true
        }
      ]
    }
  ]
}

Included in packages

Ophthalmic & Intravitreal QC Suite

Ophthalmic & Intravitreal QC Suite: FUZKK utility package for CSV→JSON QC checks with EU-first limit priority.

Open