Draft: not yet reviewed by a clinician
Use this page to prepare questions for your care team. It does not replace their advice. Your own targets and doses come from your nephrologist, diabetes team and renal dietitian.
Targets and warnings¶
The app shows the same rules this handbook explains. Its targets are starting points to discuss with your care team; your team's numbers always win (architecture contract).
Warnings on each food¶
Every food and log entry gets medium or high warnings per serving:
| Nutrient | Medium | High | Why |
|---|---|---|---|
| Potassium | 101–200 mg | over 200 mg | NKF calls a food with 200 mg or more per serving "high" (NKF); a food with exactly 200 mg shows yellow in the app |
| Phosphorus | 101–150 mg | over 150 mg, or any food with a phosphate additive | additive phosphorus is almost fully absorbed and under-counted in databases (NKF; Kalantar-Zadeh 2010; St-Jules 2017) |
| Sodium | 141–400 mg | over 400 mg | FDA "low sodium" is 140 mg or less (FDA) |
| Carbohydrate | 15–30 g (1–2 carb choices) | over 30 g, or a high-glycemic food with 15 g or more | type 1 carb counting |
| Protein | 15–25 g | over 25 g | a large portion for a limited intake |
- The high-glycemic flag only raises a warning to "high" from one carb choice (15 g) up, so a tablespoon of ketchup or one slice of white bread is not red for glycemic index alone.
- Star fruit and potassium-chloride salt substitutes always rate high, with a note explaining why.
- Potassium additives: a packaged food whose ingredients list a potassium additive, such as potassium chloride or potassium lactate, but whose label gives no potassium number gets a medium potassium warning: "contains a potassium additive; potassium not listed". When the label lists potassium, the normal thresholds apply. The app finds these additives in the ingredient list of a scanned food or one you typed in with Quick add. This rule is marked for review by a renal dietitian (architecture contract, v0.3 item 9; Barcodes and label photos).
- A missing value is never treated as 0: a food from a label or a barcode that does not list potassium or phosphorus says "not listed", and every total it is part of is shown as a lower bound ("≥ 55 mg", "+ 1 not listed") with Not complete instead of OK, because the true total may be higher. A total that is already near or over the limit keeps its warning: a missing value can only add to it.
- Hypo treatments (glucose tablets, measured juice) get no carbohydrate warning: fast carbohydrate is the point of treating a low. Their potassium, phosphorus and sodium warnings still show, so the lowest-potassium rescue can be chosen. Low treatments are never blocked or warned against (Treating a low).
- The color: red if any warning is high, yellow if any is medium, otherwise green.
Your day¶
For each nutrient with a target the app shows ok below 80 % of the target (you can change the 80 % in your profile), caution from 80 % to 100 %, and over above 100 %, plus an "if you eat what's planned" projection from planned entries. A target with the same minimum and maximum, such as protein "about 56 g", is a target, not a limit: it reads Near target or Above target. Hypo treatments are logged like any food and never blocked or warned against.
How close counts as on target. Two settings decide when a number counts as "over":
- A meal's carbohydrate shows as over only when it is more than your carbohydrate tolerance above the meal's goal. The tolerance is 10 g unless you change it (5–20 g) in Settings → Meal guidance, the same number the meal suggestions use. Ask your diabetes team: if you take fixed insulin doses, consistent carbohydrate helps your glucose (ADA 2026, Rec 5.28). A 65 g dinner against a 60 g goal is on target; a 75 g dinner says "more than 10 g over the per-meal goal".
- No diabetes? If your profile says Diabetes: None, meals have no carbohydrate goal: Today shows no carbohydrate line in each meal and never says a meal is over. Your day's carbohydrate still counts.
- Carbohydrate you ate to treat a low is left out of the meal's goal, so treating a low never makes a meal "over". It still counts in your day's totals, and an alert that shows anyway says how much it left out ("not counting 15 g used to treat a low").
- An "about" target (protein "about 56 g") is over as soon as you pass it, unless you set Profile → "About" targets: on target up to (% above), from 0 to 10 %. With 5 %, 58 g of protein reads Near target ("2 g above, within your tolerance") and 59 g reads Above target. No guideline gives this number, so the app starts at 0 and leaves it to you and your dietitian. Limits such as potassium and sodium never get a tolerance.
Day or week?¶
- Potassium, sodium, fluid and carbohydrate are judged per day.
- Phosphorus, protein, calories and calcium are judged on the weekly average, compared with the previous period (KDOQI 2020).
- With hemodialysis days set, potassium, sodium and fluid are also totaled since the last session against your per-day target × days, so the long weekend gap is visible (Cabrera 2015; Foley 2011). See Dialysis days.
Running high over several days¶
When you plan food for today or a later day, Today and the Plan week also look back a few days, because one high day after another is a different situation from one high day:
- Potassium, sodium and fluid: if the day goes over your limit with what's planned and it was also over on at least 2 of the 3 days before, Today shows Running high, for example "Potassium was over your limit on 2 of the last 3 days, and with what's planned it goes over again: 2,700 / 2,500 mg", and names the planned foods that add the most. The Plan week marks that day "Running high: potassium".
- On hemodialysis with your dialysis days set, the same three nutrients are added up since your last dialysis day instead, against your limit × the number of days, so the long weekend gap shows up early.
- Phosphorus and protein: if the days you logged in the past week, with what's planned, average above your target, Today shows Weekly average high. They are judged on the weekly average, so lighter days around it balance it out (KDOQI 2020).
It uses only your own targets. It only looks at food you plan: past days never get it, and a nutrient the plan adds none of is never mentioned. Food that does not list a value counts as nothing, as everywhere in the app. It is information for you and your care team: it never stops you from planning or logging anything, carbohydrate is not part of it, and a low treatment is never named as something to cut. How many days count ("2 of the last 3", at least 3 logged days for a weekly average) is the app's own rule and is waiting for clinical review.
Suggested targets¶
If you edit your details or targets while the suggestion loads, the app keeps your entries. Save any changed details, then suggest again when you are ready.
"Suggest targets" in your profile fills in starting values from the same table as Eating well, labeled "discuss with your care team":
- Weight basis: "per kg" means per kg of a reference weight. With a saved height the app uses your weight when your BMI is in the healthy range and adjusts it towards that range when it is not; without a height it uses your weight as entered. The first note always says which weight it used (design note 05).
- Sodium 2,000 mg and calcium 1,000 mg at every stage.
- Potassium review ceilings 4,000 mg (stages 1–3a), 3,500 (3b), 3,000 (4), 2,500 (5 and hemodialysis) and 3,500 (peritoneal dialysis), always with the note "Only restrict potassium if your blood potassium is high; your care team sets the number."
- Phosphorus 1,000 mg (stages 1–4 and both dialysis types), 900 mg at stage 5 before dialysis.
- Protein 0.8–1.0 g/kg at stages 1–2; 1.0–1.2 g/kg on dialysis. At stages 3–5 before dialysis, with diabetes it suggests 0.8 g/kg ("about X g/day") and never less, because guidelines advise against going below 0.8 g/kg with diabetes (ADA 2026, Rec 11.3; KDIGO 2024, Rec 3.3.1.1; design note 05). Without diabetes it shows 0.6–0.8 g/kg; going below 0.8 is only for people their team supervises closely.
- Energy 30 kcal/kg until you add your age, sex, height and activity (below), with carbohydrate at 45 % of calories, split per meal. The 45 % is the app's default: there is no ideal share for everyone, so your diabetes team sets yours (ADA 2026, Rec 5.13).
- Fluid not tracked before dialysis; 1,500 mL on hemodialysis (1,000 mL plus an assumed 500 mL of urine) and 2,000 mL on peritoneal dialysis.
Personalized targets¶
After you save, delete or import lab results, the history and kidney-function card refresh together. A slow reply from before your change will not replace the refreshed results.
Optional details in Profile → About you and your results in Lab results (Profile → Blood and urine
tests) make "Suggest targets" start from you rather than from a 70 kg example (design note 05).
If your patient portal or a spreadsheet has your past results, Lab results → Import from a spreadsheet
reads a CSV file with a date column and one column per test, for example Date, Potassium (mmol/L),
Creatinine (umol/L). The file is read on your device: you see every result, converted, and tick the ones to
keep; only those are sent, never your name or the file's other columns. Results the app cannot read as one
number (such as "<0.5" or ">90") are listed and left out, so you can type them by hand if you want them.
If you have a photo or a screenshot of a lab report instead, or the PDF from your lab's website, Lab results → Read a lab report
photo or PDF can copy the printed results for you to check, but only when your admin has an AI on your own network
(Optional AI): every row starts unticked and only the rows you tick are saved. A PDF
is opened on your device; only the pages you tick are sent, as pictures.
If you use an iPhone and linked your health system in the Health app, Lab results → Import from Apple Health (clinical
records) can read those results from the Health export, on your phone (steps below).
If your patient portal (MyChart or another) can download your health summary as a file, Lab results → Import from a patient portal
file (C-CDA .xml) can read its lab results in the same way (steps below).
Which detail changes which target is listed in First setup.
Under each suggested number, Why this number? shows the rule, its source and grade, and an Expert
opinion badge where part of the rule is the app's own choice; nothing is saved until you tap
Save profile. The app shows what would change compared with your saved targets, and after a new lab
result it offers Review suggested targets without changing anything by itself.
Blood potassium (a result from the last 90 days) moves the potassium review ceiling. "Default" is the stage number above, for example 3,000 mg at stage 4. Potassium is the same number in both unit systems (mmol/L = mEq/L).
| Your blood potassium | Suggested potassium |
|---|---|
| below 3.5 | no limit |
| 3.5–5.0 | one step higher than the default (stage 4: 3,500 mg); the default if you ticked "I have had high potassium" |
| 5.1–5.5 | the default, but no more than 3,000 mg |
| 5.6–5.9 | no more than 2,500 mg |
| 6.0 or more | no more than 2,000 mg, and an urgent alert (see below) |
Blood phosphate (last 90 days) sets phosphorus:
| Your blood phosphate | Suggested phosphorus |
|---|---|
| below 2.5 mg/dL | no limit |
| 2.5–4.5 mg/dL | 1,000 mg |
| above 4.5 mg/dL | 800 mg |
| Your blood phosphate | Suggested phosphorus |
|---|---|
| 0.79 mmol/L or below | no limit |
| 0.80–1.46 mmol/L | 1,000 mg |
| 1.47 mmol/L or above | 800 mg |
The app turns a result in mmol/L into mg/dL and rounds it to one decimal before it compares, so the edges sit where the rounded value crosses 2.5 and 4.5 mg/dL: 0.80 mmol/L is 2.48 mg/dL, shown as 2.5, and 1.46 mmol/L is 4.52 mg/dL, shown as 4.5. The Labs screen shows the converted value while you type ("Will be saved as …").
Other details that change the suggestion:
- Calories use your age, sex, height and activity, kept inside KDOQI's 25–35 kcal per kg, and are rounded to 10 kcal (KDOQI 2020, 3.1.1). Without age and height the app keeps 30 kcal/kg.
- Protein goes up, not down, from age 65 or with signs of poor nutrition (albumin below 3.8 g/dL (38 g/L), weight loss over 5 % in 6 months, a low BMI, or frailty): 0.8–1.0 g/kg at stages 3–5 before dialysis, 1.0–1.2 g/kg at stages 1–2, and 1.2–1.3 g/kg on dialysis with nutrition risk (design note 05).
- Fluid on hemodialysis is 1,000 mL plus your 24-hour urine output; on peritoneal dialysis, urine output plus the fluid your exchanges remove.
- Fiber gets a goal of at least 14 g per 1,000 kcal (ADA 2026, Rec 5.24).
- No starting targets during pregnancy or breastfeeding, under age 18, or in the first 12 weeks after a transplant.
Import lab results from the iPhone Health app¶
If you linked your health system (your hospital or clinic) in the iPhone Health app, your lab results are in the Health app, and the app can read them from the Health export. The files are read on your phone. Nothing is uploaded: you check every result, and only the results you keep are saved on your server.
- In the Health app, tap your picture (top right), then Export All Health Data. It can take a few minutes. Save the zip file to the Files app.
- In this app, go to Profile → Lab results and find Import from Apple Health (clinical records). Tap Choose Files, choose the export.zip you saved, and tap Open. The app opens the zip on your phone and reads only the small files in its clinical-records folder (one per record: lab results, medicines, visits). You do not need to unzip it or open them.
- The app reads the files and shows a line such as "41 results found in 380 files". Below it are the results it recognised, each converted to the app's units. The results you do not have yet are ticked: untick any you do not want. A result you already saved is not ticked.
- Tap Save. A potassium of 6.0 mmol/L or more shows the same urgent warning as when you type it.
If the app says it cannot open a zip (an older browser), or you already unzipped it, do this for step 2 instead: in Files, tap the zip file to unzip it and open the new folder apple_health_export, then clinical-records. In the app, tap Choose Files, go to the clinical-records folder, tap Select, then Select All, and tap Open.
What to know:
- The app keeps only the nine tests it uses (potassium, phosphate, albumin, bicarbonate, urine albumin-to-creatinine ratio, creatinine, cystatin C, eGFR and HbA1c) and only final, amended or corrected results. Everything else in the folder is skipped and counted, for example medicines, visits, blood pressure and tests the app does not use.
- A result is listed as not imported, with the reason, when it has no single number (such as "<0.5"), a unit the app cannot convert, no usable date, or a number outside the plausible range. You can type those by hand if you want them.
- The app does not read your name, your record numbers, your doctors or the notes in the files, and it does not send the files anywhere. It reads up to 2,000 files at a time, up to 1 MB each; if you have more, choose some of them.
- The app only copies the numbers. It does not say whether a result is normal, high or low, and it never changes your saved targets: talk to your care team about what a result means.
Import lab results from a patient-portal file¶
Many patient portals (MyChart and others) let you download your health summary or a visit summary as a file for other apps. If yours does, the app can read the lab results in it. The file is read on your phone or computer. Nothing is uploaded: you check every result, and only the results you keep are saved on your server.
- In your patient portal, open your health summary or a visit summary and choose Download. If it asks which format, choose XML (it may be called C-CDA or CCD), not the PDF. The menus are named differently in each portal, so look for "Download" or "Share". Save the file where you can find it.
- In this app, go to Profile → Lab results and find Import from a patient portal file (C-CDA .xml). Tap Choose Files, pick the .xml file (you can pick several), and tap Open.
- The app reads the file and shows a line such as "12 results found in 1 file". Below it are the results it recognised, each converted to the app's units. The results you do not have yet are ticked: untick any you do not want. A result you already saved is not ticked.
- Tap Save. A potassium of 6.0 mmol/L or more shows the same urgent warning as when you type it.
What to know:
- The app reads only the Results part of the summary, only the nine tests it uses (potassium, phosphate, albumin, bicarbonate, urine albumin-to-creatinine ratio, creatinine, cystatin C, eGFR and HbA1c), and only results marked completed. Everything else in the file (medicines, allergies, vital signs, visits, and tests the app does not use) is skipped and counted.
- A result is listed as not imported, with the reason, when it has no single number (such as "<0.5"), a unit the app cannot convert, no usable date, or a number outside the plausible range. You can type those by hand if you want them.
- The app does not read your name, address, record numbers, doctors or the notes in the file, and it does not send the file anywhere. It reads up to 20 files at a time, up to 5 MB each. A file that is not a health summary, or that is damaged, is skipped and counted; so is a file that contains a document type declaration, which a real health summary does not have.
- The app only copies the numbers. It does not say whether a result is normal, high or low, and it never changes your saved targets: talk to your care team about what a result means.
- A portal's file may have results the app cannot place (a different code or unit). The line at the top says how many were left out; type those by hand.
Weights and blood pressure from the Health app¶
If your scale or your blood pressure cuff sends its readings to the iPhone Health app, the app can bring those weights and readings into your log from the Health export. The file is read on your phone. Nothing is uploaded while it is read: you see what was found first, and only the weights and readings you keep are saved on your server.
- In the Health app, tap your picture (top right), then Export All Health Data. It can take a few minutes. Save the zip file to the Files app.
- In this app, tap Import from Apple Health (in Trends, under your weight and blood pressure, or in Settings → Your data). Choose the export.zip you saved. The app opens it on your phone and reads only the file called export.xml inside it. That file can be very large, hundreds of megabytes; that is normal. The app reads it in pieces and shows how far it has got. Cancel stops it.
- The app shows a line such as "Found 412 weights and 168 blood pressure readings", the dates the file covers, and what it left out and why. Choose the last 3 months (the default) or everything in the file, then tap Import.
- The app says how many weights and readings it added. If you import the same file again, nothing is added twice: what is already in your log is skipped.
If the app says it cannot open a zip (an older browser), or you already unzipped it, choose the file itself instead: in Files, tap
export.zip to unzip it, open the new folder apple_health_export, and choose export.xml (not export_cda.xml).
What to know:
- The app reads only weights (in kg or lb) and blood pressure readings (a top and a bottom number in mmHg taken at the same time). Nothing else in the file is read: not heart rate, steps, workouts, medicines, blood glucose or insulin, and not your name. It does not send the file anywhere.
- A weight or reading outside the range the app accepts, a unit it does not read, or half a reading (a top number with no bottom number) is left out. The sheet says how many and why.
- Readings from a watch are not ticked. A watch takes blood pressure without an arm cuff. The app lists any source with "Watch" in its name on its own, with a note, and leaves it unticked: tick it only if you want those readings in your log.
- The app keeps at most 20 weights and 30 blood pressure readings a day. If the file has more on one day, the earliest of that day are kept and the sheet says how many were left out.
- The app only copies the numbers. It does not say whether a weight or a reading is good or bad, and it never changes the weight in your Profile: talk to your care team about what they mean.
Examples¶
What the app shows for some builtin foods, per serving (USDA FoodData Central):
| Food and serving | Potassium | Phosphorus | Sodium | Carbs | Rating and why |
|---|---|---|---|---|---|
| Banana, 1 medium (118 g) | 422 mg | 26 mg | 1 mg | 27 g | red: potassium over 200 mg |
| White rice, cooked, 1 cup (158 g) | 55 mg | 68 mg | 2 mg | 45 g | red: carbohydrate over 30 g (fine for kidneys; count it for insulin) |
| White bread, 1 slice (29 g) | 37 mg | 28 mg | 142 mg | 14 g | yellow: sodium 141–400 mg, quick-acting carbohydrate |
| Cola, regular, 12 fl oz can | 18 mg | 33 mg | 11 mg | 38 g | red: phosphate additive, and over 30 g carbohydrate |
| Apple juice, ½ cup, logged as a low treatment | 125 mg | 9 mg | 5 mg | 14 g | yellow: potassium only; no carbohydrate warning |
| Glucose gel, 1 tube | 0 mg | 0 mg | 0 mg | 15 g | green: no potassium at all, like glucose tablets |
A red rating is not a ban. It tells you to check the portion and the rest of your day. Rice is red only because of its carbohydrate, which you count for insulin; for your kidneys it is a low-potassium choice.
Get help now if…¶
Call 911 (or your local emergency number)
Your lab potassium is 6.5 mmol/L or more (KDIGO 2024, Table 28), or you have chest pain, fainting, a very slow, weak or irregular pulse, or sudden severe weakness, especially if your potassium has been high (MedlinePlus).
Call your care team today
A potassium of 6.0–6.4 mmol/L: if you feel unwell, go to hospital now to be checked and treated; if you feel well, call your team today for a repeat test within 24 hours (KDIGO 2024, Table 28). The app's day status is about food, not blood levels; a "green" day does not mean your blood potassium is safe. Full list: Get help now.
Related pages¶
- First setup · Logging food · Reports for your care team
- Potassium · Phosphorus · Dialysis days · Blood potassium · Treating a low
Sources¶
- Project architecture contract: nutrient registry, thresholds, daily status, suggested targets.
- Design note 05: personalized targets (v0.3).
- NKF: potassium; NKF: phosphorus; FDA: sodium in your diet.
- Kalantar-Zadeh 2010; St-Jules 2017.
- KDOQI 2020 nutrition guideline; Cabrera 2015; Foley 2011.
- KDIGO 2024 CKD guideline, Table 28 (action levels for high potassium) and Rec 3.3.1.1 (protein); MedlinePlus: high potassium level (warning signs).
- ADA Standards of Care 2026, section 11, Rec 11.3 (protein with diabetes and CKD).
- ADA Standards of Care 2026, section 5, Rec 5.13 (no ideal carbohydrate share), Rec 5.24 (fiber) and Rec 5.28 (consistent carbohydrate with fixed insulin doses).
- USDA FoodData Central: the food values in the examples.
Not yet reviewed by a clinician. Facts and sources last checked 2026-10-07.