Skip to content

PRD: Daily Observation #2

Description

@devtrillo

Problem Statement

A User needs a simple, structured way to record what they observed for a Chart Day. That chart data must remain owned by the User, visible to their FertilityCare Practitioner, and safely correctable without losing the history of changes.

Solution

Add Daily Observation entry and management. A User can create, edit, and delete their own Daily Observations. A Daily Observation can include Flow Level, Mucus Observation details, Peak Day or Peak Count fields when applicable, an Observation Note, and an optional Manual Stamp Override. Observation History records edits, Observation Note changes, Manual Stamp Override changes, and deletions. A deleted Daily Observation leaves the Chart Day blank.

User Stories

  1. As a User, I want to create a Daily Observation for today, so that I can keep my Cycle Chart current.
  2. As a User, I want to create a Daily Observation for a past Chart Day, so that I can catch up if I missed a day.
  3. As a User, I want to record Flow Level, so that bleeding intensity is represented accurately.
  4. As a User, I want to record Mucus Observation details, so that my CrMS Code can be derived from the correct data.
  5. As a User, I want to record sensation, color or quality, stretch, lubrication, and frequency, so that my Mucus Observation matches CrMS charting needs.
  6. As a User, I want to mark Peak Day when applicable, so that my Cycle Chart reflects the peak I identified.
  7. As a User, I want to set Peak Count at the end of the day, so that the Chart Stamp can show the correct post-peak marker.
  8. As a User, I want Lumara to pre-fill Peak Day or Peak Count when a CrMS Rule supports it, so that charting is faster without removing my confirmation.
  9. As a User, I want to add an Observation Note, so that I can capture optional context for my Daily Observation.
  10. As a User, I want my Observation Note visible to my FertilityCare Practitioner, so that Chart Review has the same context I recorded.
  11. As a User, I want to edit my Daily Observation, so that I can correct mistakes.
  12. As a User, I want to delete my Daily Observation, so that an incorrect Chart Day can become blank again.
  13. As a User, I want edits and deletions recorded in Observation History, so that Chart Review stays transparent.
  14. As a FertilityCare Practitioner, I want to see Observation History, so that I can understand what changed without treating old values as active chart data.
  15. As a User, I want to see Observation History, so that I understand my own chart changes.
  16. As a User, I want to set a Manual Stamp Override, so that I can choose the Chart Stamp Category when needed.
  17. As a FertilityCare Practitioner, I want Manual Stamp Overrides visible during Chart Review, so that I know when a Chart Stamp did not come directly from derived data.
  18. As a FertilityCare Practitioner, I do not want to edit a User's Daily Observation, so that chart ownership stays with the User.

Implementation Decisions

  • Create a Daily Observation command seam for create, edit, and delete.
  • Enforce one Daily Observation per User per Chart Day.
  • Only the charting User can create, edit, or delete their Daily Observations and Observation Notes.
  • A FertilityCare Practitioner can view Daily Observations only through an active Practitioner Relationship.
  • Observation Notes are User-entered text and are not translated automatically.
  • Observation History records changes to Daily Observation data, Observation Notes, Manual Stamp Overrides, and deletions.
  • Previous values in Observation History are historical context, not active chart data.
  • Deleting a Daily Observation makes the Chart Day blank.
  • Manual Stamp Override stores a User-selected Chart Stamp Category and does not imply a practitioner changed chart data.

Testing Decisions

  • Test the Daily Observation command seam rather than individual UI internals.
  • Tests should cover create, edit, delete, Observation Note edit, Manual Stamp Override change, and Observation History visibility.
  • Authorization tests should prove a FertilityCare Practitioner cannot change a User's Daily Observation.
  • Authorization tests should prove a User cannot change another User's Daily Observation.
  • Tests should verify deleting a Daily Observation leaves a blank Chart Day.

Out of Scope

  • Full Cycle Chart rendering.
  • CrMS Code and Chart Stamp derivation beyond accepting the fields needed by that derivation.
  • Practitioner Notes.
  • Practitioner Correction Suggestions.
  • Review Signals.
  • Free-form User journal features outside Observation Notes.

Further Notes

This PRD depends on Account & Practitioner Access for identity and Practitioner Relationships.

Metadata

Metadata

Assignees

No one assigned

    Labels

    prdProduct requirements documentready-for-agentFully specified, ready for an AFK agent

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions