Skip to content

Settings & AI Configuration

Access Settings from the left sidebar. Changes take effect immediately unless noted.

HealthViewer can use an AI model to power several features:

  • Appointment Prep report — summarizes your recent results in plain language for your doctor
  • Medication interpretation — explains what a medication does and how it may affect your labs
  • PDF OCR fallback — extracts results from scanned or image-only PDFs that the built-in parser can’t read

AI is entirely optional. All standard import, tracking, and trend features work without it. When AI is used, your data is sent to the API provider you configure — it is not stored by them, but it does leave your device for that request.

Seven providers are supported. All require an API key except where noted:

ProviderNotesCost
GroqFast, default recommendationFree tier available
Cerebras1M free tokens/day, no credit cardFree
OpenRouter29+ free models (Llama, Gemma, Mistral)Free models available
Google GeminiGenerous free tier (2.0/2.5 Flash)Free tier available
AnthropicClaude models — Claude Haiku is cost-effectivePay per use
OpenAIGPT-4o mini recommendedPay per use
PerplexitySonar models with web searchPay per use

If you’re unsure where to start, Groq or Google Gemini offer free tiers with no credit card required for basic use.

  1. In Settings, scroll to AI Provider & API Keys
  2. Select your provider from the dropdown
  3. Click Get key to open the provider’s API key page
  4. Paste your key into the field and click Save

Your API key is encrypted and stored in your local .hvdb file. It never leaves your device except as part of authenticated API calls to the provider you selected.

To remove a key, click the × button next to it.


Customize the look of the app:

  • Theme — choose from predefined color swatches (Blue, Green, Purple, Rose, Amber)
  • Light / Dark mode — toggle between light and dark
  • Background & Text — override background, foreground, and secondary text colors individually
  • Result status colors — customize the badge colors for Normal, Borderline, Abnormal, and Unknown results
  • Trend chart — customize the reference range fill, trend line color, and data point colors per status (Normal, Borderline, Abnormal)
  • Reset all — restore all custom colors to the current theme’s defaults

Automatically locks the database after a period of inactivity. Options: Disabled, 5, 10, 15, or 30 minutes, 1 hour, or 2 hours.

Default is 15 minutes. When locked, you’ll need to re-enter your password to continue. Your data is not lost — the database file remains encrypted on disk.

Re-encrypts your database with a new password. You must enter your current password first. The new password must be at least 8 characters and different from the current one.


Show or hide optional sections in the left sidebar. Core items (Dashboard, Results, Import, Export, Settings) are always visible. Optional items you can toggle:

Trends · Panels · Journal · Tags · Medications · Providers · Procedures · Vaccinations · Reports

Hiding a section doesn’t delete any data — it just removes it from the sidebar. You can re-enable it at any time.


Create custom calculated biomarkers from existing results. For example, you can compute a ratio of two tests, or subtract one value from another.

  • Name — what the derived test will be called in your Results view
  • Expression — a math formula using variables (e.g. A / B, (A + B) / C)
  • Variables — map each letter to an existing test name
  • Date window — how many days apart two tests can be and still be matched (0 = same day only)
  • Category — auto-detected or manually assigned

After creating or editing a derived test, click Recompute All to apply it across your entire dataset.


Runs a one-time normalization pass over your existing data:

  • Standardizes test names so similar results group together (e.g. “Hgb” and “Hemoglobin”)
  • Fills in missing test categories
  • Corrects Normal/Abnormal status based on stored reference ranges

This is safe to run multiple times. A summary shows how many records were updated.


Shows your trial status (days remaining) or “Licensed” if activated. During the trial, all features are available. When the trial expires, existing data remains readable but adding new results is blocked.

To activate, click Activate License and enter your license key.