-
Notifications
You must be signed in to change notification settings - Fork 0
Illness list
Symptrace can download extra illnesses from this wiki, so the list grows without shipping a new build. The app fetches this file:
https://raw.githubusercontent.com/wiki/nowheremanmail/trackmyillness/Illnesses.json
It is downloaded only when someone opens Settings → Add from an illness → More illnesses, and it never carries anything about the reader — see the Privacy Policy.
{
"version": 1,
"illnesses": [
{
"id": "hypothyroidism",
"symbol": "cross.vial.fill",
"name": { "en": "Hypothyroidism", "es": "Hipotiroidismo" },
"treatments": [
{ "name": { "en": "Thyroid medication", "es": "Medicación tiroidea" },
"symbol": "pill.fill", "color": "teal" }
],
"symptoms": [
{ "name": { "en": "Fatigue", "es": "Cansancio" },
"symbol": "zzz", "color": "purple" }
]
}
]
}| Field | Required | Notes |
|---|---|---|
version |
yes |
1. An app that doesn't understand the version says so rather than guessing. |
id |
yes | Stable, unique. An id the app already ships (migraine, asthma, …) is ignored, so a built-in can't be shadowed. |
name |
yes | An object of language code → name. |
symbol |
no | An SF Symbol name. |
color |
no | One of blue, teal, green, yellow, orange, red, pink, purple, indigo, brown, gray. |
treatments, symptoms
|
yes | At least one of each — an illness with only one kind would leave half the app empty. |
Every name is an object keyed by language code, so one file serves every
reader:
"name": { "en": "Vertigo", "es": "Vértigo", "ca": "Vertigen",
"de": "Schwindel", "fr": "Vertige", "it": "Vertigini",
"pt": "Vertigem" }The published file carries every name in the seven languages the app itself
ships: en, es, ca, de, fr, it and pt.
The app picks the closest match to the reader's language: the exact tag first
(pt-BR), then the base language (pt), then English, and finally any language
present — so a name written in only one language still shows up rather than
disappearing. Adding a language is just another key; no app change is needed.
This file is downloaded from the network, so the app treats it as untrusted and degrades instead of breaking:
- An unknown SF Symbol or colour name falls back to a sensible default rather than drawing a blank.
- Names are trimmed and capped at 60 characters.
- An illness with no readable name, no id, or no treatments or no symptoms is skipped entirely.
- The same id twice keeps the first one.
- At most 60 illnesses and 40 items per kind are read, and the file itself is capped at 512 KB.
- These are tracking labels, not medical advice. Keep them generic ("rescue medication", not a brand or a dose) — what someone actually takes is between them and their doctor.
- Never set a default dose.
- Reuse the exact wording of names that already exist in other illnesses. The app matches on name, ignoring case and accents, so a shared symptom is created once instead of twice.