Skip to content
AI Dietitians
← Back to Resources

Resources

A meal plan you would actually hand over

A dietitian shows a patient a one-day meal plan on a tablet, with a printed diet plan booklet on the desk

Building a three-day plan that hits an energy target, a protein target, an allergy list and a texture level is slow work. Software can draft it in under a minute. The question worth asking of any tool that does is a narrow one: where did the numbers come from?

Here is our answer, with the working shown.

Meal plan generation in AI Dietitians

1. The numbers are looked up, not written

Ask a language model for “an 8000 kJ day with 90 g of protein” and it will produce one. Every line will carry a portion, a kilojoule figure and a protein figure, and the day will total close to what you asked.

None of that means a lookup happened. A plausible number is exactly the kind of text a model is good at.

So we do not let the model supply the figures. Every item on a generated plan is matched against the Australian Food Composition Database (AFCD, Release 3), published by FSANZ, and the nutrients are calculated the way you would calculate them by hand: take the per-100 g values for that food, scale by the portion, add them up.

2. A worked example

A generated breakfast, with the actual database rows behind it:

ItemAFCD codePer 100 gPortionCalculated
Oats, rolled, uncookedF0061431564 kJ / 12.2 g protein60 g938.4 kJ / 7.3 g
Banana, cavendish, peeled, rawF000262399 kJ / 1.4 g protein120 g478.8 kJ / 1.7 g
Yoghurt, natural, regular fat (~3%)F009694306 kJ / 5.1 g protein170 g520.2 kJ / 8.7 g
Total1937 kJ / 17.7 g protein

Every figure in that last column is arithmetic you can repeat. The food code is stored on the line, so a number can always be traced back to the row it came from.

That is the difference between a plan you can defend and a plan you can only hope about.

3. Why we refuse to guess the match

The matching is deliberately strict, and this is where most of the engineering went.

Search the database for “banana” and you get several rows:

RowEnergy per 100 g
Banana, cavendish, peeled, raw399 kJ
Banana, raw371 kJ
Banana, lady finger or sugar, peeled, raw489 kJ
Banana chip2171 kJ

A tool that grabs the first plausible hit can turn a piece of fruit into banana chips and overstate that line more than fivefold — and because the figure now carries a real food code, it looks more trustworthy, not less.

So a match has to be unambiguous. “Chicken breast, grilled” will not silently take the numbers from “Chicken, breast, lean, grilled”. “Yoghurt, natural” will not take them from “Yoghurt, natural, added sugar”. Raw will not take cooked. If two rows fit equally well, neither wins.

A wrong number wearing a database badge is worse than an honest estimate. We would rather tell you we did not find the food.

4. When the database does not have it, the plan says so

Composition databases do not contain every dish. “Chicken schnitzel with salad” is a real meal and not a single AFCD row.

When no confident match exists, the item keeps its estimated figures and is marked as an estimate — on your screen and on the printed plan. The wording reflects what the plan actually contains, so it is worth reading rather than ignoring:

  • every item matched → the plan states the figures were calculated from the AFCD for the portions shown
  • some matched → it names the count, for example “1 of the 3 foods in this plan has energy and nutrient figures calculated from the Australian Food Composition Database. The other 2 are estimates produced by an AI assistant.”
  • none matched → it says plainly that the figures are estimates

A plan where everything resolved does not carry an AI-estimate warning, because that would not be true of it. A disclaimer printed on everything regardless of content is a disclaimer nobody reads.

Here is that statement on a real handout, generated from the breakfast above plus one dish the database does not contain:

The provenance statement printed on a patient handout

5. The caveat travels with the document

The patient does not see your screen. They see the handout.

So the provenance statement is rendered on the patient and carer handouts themselves, not only in the clinician view — and the FSANZ attribution appears only where FSANZ figures were actually used. A document that leaves your practice carries its own context.

The same applies to the licence: AFCD is published under CC BY-SA 3.0 AU with a mandatory Limitation of Data Statement, and both are carried into print rather than left on screen.

6. What this does not claim

Worth being exact, because precision is the point of the article.

The database itself is not uniform. Of the 1,588 foods we carry, 1,047 are directly analysed; the rest are recipe-derived, borrowed, imputed, label data or estimated — and AFCD records which is which. Scaling assumes the portion is as-eaten; a weight recorded as-purchased will overstate the line.

And the arithmetic being right does not make the plan clinically right. Whether this is the correct plan for this person is your call, as it always was. The tools are built on published methodologies and show their working — the reasoning behind that is on our clinical evidence page, and the boundary we hold between drafting and deciding is set out in what AI should not do in a clinical note.

7. What you get back

A draft plan you can edit line by line, optional imagery per item, and a patient or carer handout you can translate before printing. Free text you enter is de-identified on our Australian server before it forms part of any AI request; that request is then processed in the United States, so redacted content still crosses the border, while your records stay in Sydney. Both facts belong on a governance form, and both are set out on how data is handled.

The blank page is the part worth automating. The numbers should be traceable, the estimates should be labelled, and the judgement stays yours.

See what is included on each plan, or start a 7-day free trial.

References


AI Dietitians provides calculations, drafts and reference information for use by qualified health professionals. Its outputs are indicative only, require professional review, and are not the sole basis for any clinical decision. The treating Accredited Practising Dietitian remains responsible for all clinical content, including nutrient figures. See our Privacy Policy.

← Back to Resources