Pet Health Intelligence
Analyzing lab results…
Pawnel is reading your pet's biomarkers against breed-specific ranges
Enter Biomarker Values
Pet Information
Metabolic Panel
Normal: 135–270 mg/dL
Normal: 30–100 mg/dL
Normal: 75–120 mg/dL
Liver & Kidney
Normal: 12–118 U/L
Normal: 8–29 mg/dL
Hematology (CBC)
Endocrine
Normal: 1.0–4.0 µg/dL
📷 Click to upload photo
Next Appointment
Preferred Services
Appointments
Know what's happening inside your dog
Pawnel analyzes 40+ biomarkers with breed-specific AI — catching what annual checkups miss.
Heart & Lipids
5 markers
Evaluates cardiovascular risk and lipid metabolism
Metabolic
4 markers
Screens for diabetes risk and metabolic syndrome
Liver Function
6 markers
Detects liver damage, bile flow issues, and protein synthesis
Kidney Function
4 markers
Monitors renal health and electrolyte balance
Thyroid
4 markers
Assesses thyroid function and autoimmune indicators
Blood & Immune
4 markers
Checks blood cell counts, clotting, and immune response
Endocrine & Hormones
2 markers
Measures stress hormones and adrenal function
Nutrients & Minerals
4 markers
Identifies nutritional deficiencies affecting health
Inflammatory Markers
2 markers
Detects systemic inflammation and infection risk
Ready to get your pet tested?
Upload your pet's lab results and get a personalized AI-powered health report in seconds.
Get your key at console.anthropic.com · Stored locally in your browser only
📋 Replit Backend Setup

To enable PDF parsing and secure API calls, add this backend to your Replit project:

# backend/main.py (Flask — pip install flask anthropic)
from flask import Flask, request, jsonify
from anthropic import Anthropic
import os

app = Flask(__name__)
client = Anthropic(api_key=os.environ["ANTHROPIC_API_KEY"])

@app.route("/analyze", methods=["POST"])
def analyze():
    data = request.json
    pet = data["pet"]
    labs = data["labs"]

    prompt = f"""You are a veterinary health intelligence system.

Pet: {pet['name']}, {pet['breed']}, {pet['age']} years old, {pet['sex']}, {pet['weight']}kg
Diet: {pet['diet']}

Lab Results:
{format_labs(labs)}

Instructions:
1. Compare each value to breed-specific reference ranges for {pet['breed']}
2. Compute a Metabolic Score from 0-100 (100 = perfect health)
3. Identify flagged biomarkers with clinical significance
4. Generate personalized recommendations based on breed predispositions

Respond ONLY with valid JSON matching this schema:
{{
  "metabolic_score": integer,
  "score_label": "Excellent|Good|Fair|Needs Attention",
  "score_summary": "one sentence",
  "flags": [
    {{"biomarker": str, "value": str, "unit": str, "breed_range": str,
      "flag": "normal|elevated|low|critical", "clinical_note": str}}
  ],
  "narrative": "2-3 paragraph interpretation",
  "recommendations": [
    {{"title": str, "description": str, "priority": "high|medium|low"}}
  ],
  "retest_recommendation": "date or timeframe",
  "vet_followup_recommended": boolean,
  "vet_followup_reason": str or null
}}"""

    response = client.messages.create(
        model=os.environ.get("MODEL", "claude-sonnet-4-20250514"),
        max_tokens=2000,
        messages=[{"role": "user", "content": prompt}]
    )

    import json
    result = json.loads(response.content[0].text)
    return jsonify(result)

def format_labs(labs):
    lines = []
    for key, val in labs.items():
        if val: lines.append(f"  {key}: {val}")
    return "\n".join(lines)

if __name__ == "__main__":
    app.run(host="0.0.0.0", port=8080)

Add ANTHROPIC_API_KEY to Replit Secrets. Set your Replit app URL below.

Biomarkers Included