'''What support needs to know about Trends, Medications and clinician reports.'''
== The three surfaces ==
* '''Trends''' (`/health/trends`, and Health → Trends in both apps) — rolling averages, weight trend, nutrient adequacy, fasting, adherence, consistency, and a ranked insight list. * '''Medications and interaction alerts''' (`/health/medications`, `/health/interactions`) — the member's medication list, one-tap dose logging, and alerts drawn from FDA product labeling. * '''Share with a clinician''' (`/health/exports`) — a generated PDF plus CSV, shared on a revocable link.
== Which of these is paid ==
* '''Medications, dose logging, the interaction check and the alert list are FREE.''' This is a deliberate product decision: interaction information affects member safety and is not paywalled. If a member reports being asked to pay for it, that is a bug, not a tier. * '''Trends and the clinician report are Premium''', enforced server-side.
While pre-launch access is open on loopa, every member holds Premium, so nobody is currently blocked by that line.
== "My trends say there is not enough data" ==
Working as designed. Most trends need '''four fully logged days'''; a day counts as fully logged at three or more meals. The weight trend needs three weigh-ins spanning at least a week. The relationship section needs six weeks each carrying four full days.
The screen states what is missing in words. If a member sees a blank card with no message, that '''is''' a bug — report it.
Partial days are deliberately excluded from averages and shown separately. A member asking "why is my average not counting Tuesday" logged fewer than three meals that day.
== "My nutrient targets are missing" ==
The member's profile is missing '''date of birth or sex'''. Targets are banded by both, and Loopa refuses to guess rather than hand out the wrong iron or calcium figure. Point them at Health → Settings.
== Interaction alerts: what to tell a member ==
* The data is '''FDA-approved product labeling''', obtained through openFDA. Every alert quotes the label's own sentence, names the section it came from, and carries the label's effective date and identifier. * Severity reflects '''where the label states the information''', not a clinical grade. Boxed warning and contraindications map to Severe; warnings to Major; precautions and drug interactions to Moderate; dosing to Timing; patient information to Informational. * Coverage is drug-drug, drug-food, drug-alcohol, drug-caffeine and drug-supplement '''to the extent the labels state them'''. '''Supplement-to-supplement is not covered''', and the app says so. * Loopa '''never''' says a combination is safe, and '''never''' recommends starting, stopping or changing a dose. Every alert directs to a pharmacist or prescriber. Support must not go further than the app does. * '''Nothing about the member is sent to the FDA.''' The labeling is copied to our own infrastructure weekly and the check runs there.
== "Loopa did not flag something my pharmacist did" ==
Say this plainly: Loopa reports what FDA product labeling '''states'''. A pharmacist draws on clinical references that go well beyond labeling, plus the member's own history. The two disagreeing is expected and the pharmacist is the authority.
Also check whether the item is '''unmapped''' — an item typed without picking a suggestion cannot be checked, and its row on the Medications screen says so. Ask the member to re-add it and pick the match.
== "It says no interactions found — am I safe?" ==
No, and the wording is chosen to avoid implying it. The statement names how many items were checked, against what, and at which dataset version. It means nothing was stated in the labeling for the items Loopa could match. Escalate nothing; repeat the app's own line and point them at their pharmacist.
== Share links ==
Format `https://loopa.mobieus.io/shared/`.
* Public by design — the member's clinician has no Loopa account. * Expire on a date the member set (7 days default, 90 max), revocable at any time. * '''Revoking deletes the file''', not just the link. It cannot be un-revoked; the member creates a new report. * An optional passcode is stored hashed. '''We cannot recover it.''' If the member forgot it, they revoke and re-create. * Every access attempt is logged, including failures. A member can see how many times a link was opened.
A link that returns "no longer available" is expired, revoked, or never existed — the page deliberately does not distinguish them, because doing so would confirm to a stranger that a guessed link was real.
== "My report is stuck preparing" ==
Generation runs off the request path. A 180-day report is thousands of rows through a PDF renderer. If it is still preparing after a few minutes, check that the tenant's health worker is running:
systemctl status mobieus-health-worker@loopa
Past three failed attempts a report is marked failed with a reason rather than staying queued forever. The member can create another.
== Where diligence material lives ==
The design docs, the extraction rules, the golden set and the performance work are in `docs/review-2026-08/` in the mobieus-io repository — `interactions.md`, `trends-and-reporting.md`, `clinician-export.md` and `performance.md`. Point enterprise or diligence requests there rather than answering from memory.
== Open item ==
An independent pharmacist review of the interaction golden set and the alert copy has '''not''' been completed. Until it is, do not describe the feature as clinically reviewed in any channel.
'''What support needs to know about Trends, Medications and clinician reports.''' == The three surfaces == * '''Trends''' (`/health/trends`, and Health → Trends in both apps) — rolling averages, weight trend, nutrient adequacy, fasting, adherence, consistency, and a ranked insight list. * '''Medications and interaction alerts''' (`/health/medications`, `/health/interactions`) — the member's medication list, one-tap dose logging, and alerts drawn from FDA product labeling. * '''Share with a clinician''' (`/health/exports`) — a generated PDF plus CSV, shared on a revocable link. == Which of these is paid == * '''Medications, dose logging, the interaction check and the alert list are FREE.''' This is a deliberate product decision: interaction information affects member safety and is not paywalled. If a member reports being asked to pay for it, that is a bug, not a tier. * '''Trends and the clinician report are Premium''', enforced server-side. While pre-launch access is open on loopa, every member holds Premium, so nobody is currently blocked by that line. == "My trends say there is not enough data" == Working as designed. Most trends need '''four fully logged days'''; a day counts as fully logged at three or more meals. The weight trend needs three weigh-ins spanning at least a week. The relationship section needs six weeks each carrying four full days. The screen states what is missing in words. If a member sees a blank card with no message, that '''is''' a bug — report it. Partial days are deliberately excluded from averages and shown separately. A member asking "why is my average not counting Tuesday" logged fewer than three meals that day. == "My nutrient targets are missing" == The member's profile is missing '''date of birth or sex'''. Targets are banded by both, and Loopa refuses to guess rather than hand out the wrong iron or calcium figure. Point them at Health → Settings. == Interaction alerts: what to tell a member == * The data is '''FDA-approved product labeling''', obtained through openFDA. Every alert quotes the label's own sentence, names the section it came from, and carries the label's effective date and identifier. * Severity reflects '''where the label states the information''', not a clinical grade. Boxed warning and contraindications map to Severe; warnings to Major; precautions and drug interactions to Moderate; dosing to Timing; patient information to Informational. * Coverage is drug-drug, drug-food, drug-alcohol, drug-caffeine and drug-supplement '''to the extent the labels state them'''. '''Supplement-to-supplement is not covered''', and the app says so. * Loopa '''never''' says a combination is safe, and '''never''' recommends starting, stopping or changing a dose. Every alert directs to a pharmacist or prescriber. Support must not go further than the app does. * '''Nothing about the member is sent to the FDA.''' The labeling is copied to our own infrastructure weekly and the check runs there. == "Loopa did not flag something my pharmacist did" == Say this plainly: Loopa reports what FDA product labeling '''states'''. A pharmacist draws on clinical references that go well beyond labeling, plus the member's own history. The two disagreeing is expected and the pharmacist is the authority. Also check whether the item is '''unmapped''' — an item typed without picking a suggestion cannot be checked, and its row on the Medications screen says so. Ask the member to re-add it and pick the match. == "It says no interactions found — am I safe?" == No, and the wording is chosen to avoid implying it. The statement names how many items were checked, against what, and at which dataset version. It means nothing was stated in the labeling for the items Loopa could match. Escalate nothing; repeat the app's own line and point them at their pharmacist. == Share links == Format `https://loopa.mobieus.io/shared/<token>`. * Public by design — the member's clinician has no Loopa account. * Expire on a date the member set (7 days default, 90 max), revocable at any time. * '''Revoking deletes the file''', not just the link. It cannot be un-revoked; the member creates a new report. * An optional passcode is stored hashed. '''We cannot recover it.''' If the member forgot it, they revoke and re-create. * Every access attempt is logged, including failures. A member can see how many times a link was opened. A link that returns "no longer available" is expired, revoked, or never existed — the page deliberately does not distinguish them, because doing so would confirm to a stranger that a guessed link was real. == "My report is stuck preparing" == Generation runs off the request path. A 180-day report is thousands of rows through a PDF renderer. If it is still preparing after a few minutes, check that the tenant's health worker is running: <pre>systemctl status mobieus-health-worker@loopa</pre> Past three failed attempts a report is marked failed with a reason rather than staying queued forever. The member can create another. == Where diligence material lives == The design docs, the extraction rules, the golden set and the performance work are in `docs/review-2026-08/` in the mobieus-io repository — `interactions.md`, `trends-and-reporting.md`, `clinician-export.md` and `performance.md`. Point enterprise or diligence requests there rather than answering from memory. == Open item == An independent pharmacist review of the interaction golden set and the alert copy has '''not''' been completed. Until it is, do not describe the feature as clinically reviewed in any channel.