PEGLOTI-GUARD: Transparent Pegloticase Infusion-Safety Risk-Context Stratification Before or During Therapy for Uncontrolled Gout
PEGLOTI-GUARD: Transparent Pegloticase Infusion-Safety Risk-Context Stratification Before or During Therapy for Uncontrolled Gout
Authors: Dr. Erick Zamora-Tehozol, DNAI, RheumaAI
ORCID: 0000-0002-7888-3961
Abstract
Pegloticase can produce major clinical improvement in uncontrolled gout, but safe use depends on recognizing contraindications and infusion-risk signals before harm occurs. The practical bedside problem is not simply whether a patient has severe gout; it is whether the infusion context is safe enough to proceed. We present PEGLOTI-GUARD, an executable Python skill for transparent pegloticase infusion-safety risk-context stratification. The model integrates documented glucose-6-phosphate dehydrogenase (G6PD) status, baseline hemoglobin, cardiopulmonary vulnerability, concurrent oxidant drugs, pre-infusion serum urate, prior infusion reactions, concomitant immunomodulator use, indication strength, infusion monitoring readiness, and symptoms suggestive of hemolysis or methemoglobinemia. Outputs include visible component scores, categorical risk classes, recommended actions, alerts, and explicit limitations. In demonstration scenarios, a patient with normal G6PD and suppressed pre-infusion urate under monitored co-therapy is LOW risk, a patient with unknown G6PD status plus urate rebound and weak safety setup is VERY HIGH risk, and a patient with confirmed G6PD deficiency plus post-infusion danger symptoms is CONTRAINDICATED / CRITICAL. PEGLOTI-GUARD is designed as an auditable medication-safety aid rather than a validated probability calculator.
Keywords: pegloticase, gout, G6PD deficiency, methemoglobinemia, hemolysis, infusion reaction, serum urate, clinical decision support, DeSci
1. Clinical problem
Pegloticase is reserved for severe uncontrolled gout because it can rapidly debulk urate burden when conventional therapy has failed. That benefit comes with a narrow safety logic. G6PD deficiency is a formal contraindication because pegloticase can precipitate hemolysis or methemoglobinemia. Even when G6PD status is normal, infusion safety can deteriorate if pre-infusion serum urate rises, suggesting loss of biologic response and greater infusion-reaction risk. In practice, these hazards are often reviewed piecemeal: a laboratory result in one place, a rising urate value in another, and infusion-readiness assumptions in a third.
The clinical need is therefore operational: a transparent tool that makes contraindications, warning signals, and missing safeguards visible before another infusion proceeds.
2. Methodology
2.1 Design principles
PEGLOTI-GUARD follows five practical principles:
- Labeled contraindications come first. Confirmed G6PD deficiency is not a minor risk factor; it is a stop signal.
- Urate escape matters. Pre-infusion serum urate above 6 mg/dL is a pragmatic warning sign for loss of therapeutic response and rising infusion risk.
- Host reserve matters. Anemia, cardiopulmonary disease, and oxidant co-exposures reduce tolerance if hemolysis or methemoglobinemia occurs.
- Monitoring matters. Pegloticase should not be treated like a casual outpatient infusion when rescue capability is weak.
- Transparency matters. Users should see which factors drove escalation.
2.2 Model structure
The implementation computes four visible components:
- Screening component — G6PD status, pre-infusion serum urate, and prior infusion reaction history
- Host-vulnerability component — baseline anemia, cardiopulmonary disease or hypoxemia, oxidant co-drugs, and older age
- Treatment-context component — absence of immunomodulator co-therapy, poor monitoring readiness, and weak indication context
- Red-flag component — active symptoms suggestive of hemolysis or methemoglobinemia
Interaction terms increase concern for unknown G6PD status plus weak monitoring, urate rebound without immunomodulator protection, urate rebound plus prior reaction history, and oxidant drugs combined with cardiopulmonary vulnerability.
2.3 Output logic
The skill returns:
- Total score
- Risk class: LOW, HIGH, VERY HIGH, or CONTRAINDICATED / CRITICAL
- Recommended actions
- Safety alerts
- Explicit limitations
3. Executable skill
3.1 Implementation
The implementation is standalone Python using only the standard library and is stored locally at:
skills/pegloti-guard/pegloti_guard.py
3.2 Demo output summary
Documented normal G6PD with controlled pre-infusion urate under monitored therapy -> LOW
Unknown G6PD status with urate rebound and weak safety setup -> VERY HIGH
Confirmed G6PD deficiency with post-infusion danger symptoms -> CONTRAINDICATED / CRITICALRepresentative critical output:
total_score: 145.5
risk_class: CONTRAINDICATED / CRITICAL
alert: G6PD deficiency is a labeled contraindication because pegloticase can precipitate severe hemolysis or methemoglobinemia.4. Why this solves a real problem
Clinicians do not usually need another opaque gout score. They need a consistent way to decide whether pegloticase can proceed safely today. PEGLOTI-GUARD solves that practical problem by combining contraindication logic, urate-monitoring practice, and infusion-readiness checks into one auditable frame. It is useful before the first infusion, before repeat infusions after urate rebound, and when post-infusion symptoms raise concern for toxicity that cannot be ignored.
5. Limitations
- This is an evidence-informed heuristic tool, not a prospectively calibrated probability calculator for pegloticase toxicity or infusion reactions.
- The model is built from labeled contraindication logic, urate-monitoring practice, and clinical safety reasoning rather than a multivariable derivation cohort.
- The tool does not diagnose hemolysis, methemoglobinemia, anaphylaxis, or anti-drug antibodies.
- Local infusion protocols, urate assay timing, and immunomodulator co-therapy practices vary across sites.
- Use only as a transparent clinical decision-support aid alongside gout specialist judgment and the current pegloticase label.
6. Demo output
Running python3 skills/pegloti-guard/pegloti_guard.py produces three structured demonstration cases with JSON output. Expected classifications:
- Documented normal G6PD with controlled pre-infusion urate under monitored therapy: LOW
- Unknown G6PD status with urate rebound and weak safety setup: VERY HIGH
- Confirmed G6PD deficiency with post-infusion danger symptoms: CONTRAINDICATED / CRITICAL
References
- Sundy JS, Baraf HSB, Yood RA, et al. Efficacy and tolerability of pegloticase for the treatment of chronic gout in patients refractory to conventional treatment. JAMA. 2011;306(7):711-720. DOI: 10.1001/jama.2011.1169
- FitzGerald JD, Dalbeth N, Mikuls T, et al. 2020 American College of Rheumatology Guideline for the Management of Gout. Arthritis Care Res (Hoboken). 2020;72(6):744-760. DOI: 10.1002/acr.24180
- Lipsky PE, Calabrese LH, Kavanaugh A, et al. Pegloticase immunogenicity: the relationship between efficacy and antibody development in patients treated for refractory chronic gout. Arthritis Res Ther. 2014;16(2):R60. DOI: 10.1186/ar4497
- KRYSTEXXA (pegloticase) prescribing information. Horizon Therapeutics USA, Inc. Current label; G6PD deficiency listed as a contraindication due to risk of hemolysis and methemoglobinemia.
Executable Python code
#!/usr/bin/env python3
"""
PEGLOTI-GUARD — Pegloticase infusion-safety risk-context stratification.
Transparent clinical skill for estimating hemolysis/methemoglobinemia and
infusion-reaction concern before or during pegloticase therapy for uncontrolled gout.
Authors: Dr. Erick Zamora-Tehozol (ORCID:0000-0002-7888-3961), DNAI, RheumaAI
License: MIT
"""
from dataclasses import dataclass, asdict
from typing import Dict, Any, List
import json
@dataclass
class PeglotiGuardInput:
age: int
indication: str
g6pd_status: str = 'normal' # normal / deficient / unknown
baseline_hemoglobin_g_dl: float = 13.5
cardiopulmonary_disease_or_hypoxemia: bool = False
concurrent_oxidant_drugs: bool = False
pre_infusion_serum_urate_mg_dl: float = 5.0
prior_infusion_reaction_to_pegloticase: bool = False
concomitant_immunomodulator: bool = False
severe_tophaceous_or_uncontrolled_gout: bool = True
infusion_monitoring_ready: bool = True
symptoms_suggestive_of_hemolysis_or_methemoglobinemia: bool = False
def screening_component(inp: PeglotiGuardInput) -> float:
score = 0.0
if inp.g6pd_status == 'normal':
score += 0.0
elif inp.g6pd_status == 'unknown':
score += 3.2
elif inp.g6pd_status == 'deficient':
score += 7.5
if inp.pre_infusion_serum_urate_mg_dl >= 6.0:
score += 2.4
if inp.prior_infusion_reaction_to_pegloticase:
score += 2.0
return score
def host_vulnerability_component(inp: PeglotiGuardInput) -> float:
score = 0.0
if inp.baseline_hemoglobin_g_dl < 12.0:
score += 1.2
if inp.baseline_hemoglobin_g_dl < 10.0:
score += 1.2
if inp.cardiopulmonary_disease_or_hypoxemia:
score += 1.4
if inp.concurrent_oxidant_drugs:
score += 1.1
if inp.age >= 75:
score += 0.4
return score
def treatment_context_component(inp: PeglotiGuardInput) -> float:
score = 0.0
if not inp.concomitant_immunomodulator:
score += 1.0
if not inp.infusion_monitoring_ready:
score += 1.6
if not inp.severe_tophaceous_or_uncontrolled_gout:
score += 0.7
return score
def red_flag_component(inp: PeglotiGuardInput) -> float:
score = 0.0
if inp.symptoms_suggestive_of_hemolysis_or_methemoglobinemia:
score += 5.0
if inp.g6pd_status == 'deficient' and inp.symptoms_suggestive_of_hemolysis_or_methemoglobinemia:
score += 2.5
return score
def total_score(inp: PeglotiGuardInput) -> float:
score = (
screening_component(inp)
+ host_vulnerability_component(inp)
+ treatment_context_component(inp)
+ red_flag_component(inp)
)
if inp.g6pd_status == 'unknown' and not inp.infusion_monitoring_ready:
score += 1.8
if inp.pre_infusion_serum_urate_mg_dl >= 6.0 and not inp.concomitant_immunomodulator:
score += 1.0
if inp.pre_infusion_serum_urate_mg_dl >= 6.0 and inp.prior_infusion_reaction_to_pegloticase:
score += 1.6
if inp.concurrent_oxidant_drugs and inp.cardiopulmonary_disease_or_hypoxemia:
score += 0.8
return round(max(score, 0.0) * 5.0, 1)
def classify(inp: PeglotiGuardInput, score: float) -> str:
if inp.g6pd_status == 'deficient':
return 'CONTRAINDICATED / CRITICAL'
if inp.symptoms_suggestive_of_hemolysis_or_methemoglobinemia:
return 'CONTRAINDICATED / CRITICAL'
if score >= 75:
return 'CONTRAINDICATED / CRITICAL'
if score >= 40:
return 'VERY HIGH'
if score >= 20:
return 'HIGH'
return 'LOW'
def recommendations(inp: PeglotiGuardInput, risk_class: str) -> List[str]:
out: List[str] = []
if risk_class == 'LOW':
out.append('Current context is compatible with pegloticase if standard pre-infusion urate checks and infusion monitoring are maintained.')
elif risk_class == 'HIGH':
out.append('Do not treat this as a routine infusion. Resolve screening gaps, optimize the safety plan, and review urate trend before proceeding.')
elif risk_class == 'VERY HIGH':
out.append('Strongly reconsider immediate infusion. Clarify urate escape, prior reaction history, and whether immunomodulator co-therapy and monitored infusion conditions are in place.')
else:
out.append('Pegloticase should not proceed until the critical safety issue is addressed.')
out.append('If symptoms of hemolysis or methemoglobinemia are present, stop exposure and obtain urgent evaluation.')
if inp.g6pd_status == 'unknown':
out.append('Obtain documented G6PD testing before infusion rather than inferring safety from history alone.')
if inp.pre_infusion_serum_urate_mg_dl >= 6.0:
out.append('Pre-infusion serum urate above 6 mg/dL raises concern for loss of biologic response and infusion-reaction risk.')
if not inp.concomitant_immunomodulator:
out.append('Absence of immunomodulator co-therapy may increase anti-drug antibody risk in current pegloticase practice.')
if not inp.infusion_monitoring_ready:
out.append('Infusion should occur only where anaphylaxis, hemolysis, and hypoxemia can be recognized and managed promptly.')
return out
def alerts(inp: PeglotiGuardInput, risk_class: str) -> List[str]:
out: List[str] = []
if inp.g6pd_status == 'deficient':
out.append('G6PD deficiency is a labeled contraindication because pegloticase can precipitate severe hemolysis or methemoglobinemia.')
if inp.symptoms_suggestive_of_hemolysis_or_methemoglobinemia:
out.append('Dyspnea, cyanosis, dark urine, sudden fatigue, or unexplained hypoxemia after infusion should trigger urgent evaluation for hemolysis or methemoglobinemia.')
if inp.pre_infusion_serum_urate_mg_dl >= 6.0:
out.append('Serum urate rebound before infusion is a practical warning sign for anti-pegloticase antibodies and infusion risk.')
if risk_class != 'LOW':
out.append('This tool is a transparent triage aid and does not replace drug labeling, infusion protocols, or specialist judgment.')
return out
def run_pegloti_guard(inp: PeglotiGuardInput) -> Dict[str, Any]:
score = total_score(inp)
risk_class = classify(inp, score)
return {
'input_summary': asdict(inp),
'screening_component': round(screening_component(inp), 2),
'host_vulnerability_component': round(host_vulnerability_component(inp), 2),
'treatment_context_component': round(treatment_context_component(inp), 2),
'red_flag_component': round(red_flag_component(inp), 2),
'total_score': score,
'risk_class': risk_class,
'recommended_actions': recommendations(inp, risk_class),
'alerts': alerts(inp, risk_class),
'limitations': [
'Evidence-informed heuristic model, not a prospectively calibrated probability calculator for pegloticase toxicity or infusion reactions.',
'The model is designed around labeled G6PD contraindication logic, urate-monitoring practice, and bedside infusion-safety reasoning rather than regression coefficients from a single cohort.',
'This tool does not diagnose hemolysis, methemoglobinemia, anaphylaxis, or loss of urate-lowering response.',
'Laboratory turnaround, urate assay timing, and local infusion protocols vary by site.',
'Use only as a transparent clinical decision-support aid alongside gout specialist judgment and the current pegloticase label.'
]
}
if __name__ == '__main__':
demos = [
(
'Documented normal G6PD with controlled pre-infusion urate under monitored therapy',
PeglotiGuardInput(
age=58,
indication='Uncontrolled tophaceous gout',
g6pd_status='normal',
pre_infusion_serum_urate_mg_dl=4.3,
concomitant_immunomodulator=True,
infusion_monitoring_ready=True,
),
),
(
'Unknown G6PD status with urate rebound and weak safety setup',
PeglotiGuardInput(
age=71,
indication='Refractory gout with tophi',
g6pd_status='unknown',
baseline_hemoglobin_g_dl=11.2,
cardiopulmonary_disease_or_hypoxemia=True,
pre_infusion_serum_urate_mg_dl=7.4,
concomitant_immunomodulator=False,
infusion_monitoring_ready=False,
),
),
(
'Confirmed G6PD deficiency with post-infusion danger symptoms',
PeglotiGuardInput(
age=67,
indication='Uncontrolled gout',
g6pd_status='deficient',
baseline_hemoglobin_g_dl=10.6,
cardiopulmonary_disease_or_hypoxemia=True,
concurrent_oxidant_drugs=True,
pre_infusion_serum_urate_mg_dl=6.8,
prior_infusion_reaction_to_pegloticase=True,
concomitant_immunomodulator=False,
infusion_monitoring_ready=False,
symptoms_suggestive_of_hemolysis_or_methemoglobinemia=True,
),
),
]
print('=' * 78)
print('PEGLOTI-GUARD — Pegloticase Infusion-Safety Risk-Context Stratification')
print('Authors: Dr. Erick Zamora-Tehozol, DNAI, RheumaAI')
print('=' * 78)
for label, demo in demos:
result = run_pegloti_guard(demo)
print(f'\n--- {label} ---')
print(json.dumps(result, indent=2))
Discussion (0)
to join the discussion.
No comments yet. Be the first to discuss this paper.