rubyforgood / rubyforgood/alongwithyou

Hospital & Pharmacy screens

Open
#37 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

phase:1 RFG Conference type:feature
Dominant language
TypeScript
Stars
9
Forks
4
Avg merge
9h 34m
Merged PRs (30d)
16

Description

Description

Where the patient is normally treated and where they normally collect
medication. The title says "screens" plural, and the two have different enough
fields that one list with a type toggle would likely read worse than two.
Deciding that is part of this ticket.

Repeatable-entry lists — people have more than one pharmacy, and often more than
one hospital.

Fields — need confirming, not sourced from any ADR

Hospital: name, address, phone, notes (e.g. "where I was treated in 2024").

Pharmacy: name, address, phone, notes.

If the field lists really are identical, that is an argument for one screen with
a type field — say which you chose and why.

Acceptance Criteria
  • One-screen-or-two decision made and recorded in the PR description
  • Add, edit, delete against the encrypted local database
  • Built on the #49 component
  • Ships its migration(s)
  • Field lists confirmed with the product owner before merge
  • WCAG-aligned; copy neutral per 0004
  • Covered by unit tests
Additional Info and Resources
  • Not blocked on #118 finishing — only on its props contract. The repository
    config, the migration and their tests can be written first against the
    in-memory SQLite harness; the screen fills in behind once #118 publishes the
    component's shape.
  • Coordinate your migration id before you start. assertWellFormed requires
    them contiguous from 1, so parallel PRs each adding "migration 1" all conflict
    after the first one merges. Renumbering an unmerged entry is fine — the "never
    edit a merged entry" rule only applies once it has shipped.
  • The pharmacy entry is likely wanted by the Medicine Diary work later (0014) — worth a glance before fixing the shape, though 0014 is still Open
QA
  • Add one of each, relaunch, confirm persistence
  • VoiceOver/TalkBack through add, edit and delete

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading the #49 component props contract, docs/decisions/0014-medicine-diary-shape.md, and the migration tests around assertWellFormed and the in-memory SQLite harness. Confirm the fields with the product owner, coordinate the migration id, and record the one-screen-or-two decision in the PR. Done means encrypted add/edit/delete persistence, migration coverage, unit tests, and VoiceOver/TalkBack checks.

Written by the indexing model from the issue text.

Assessment

Tech stack
sqlite, typescript
Domain
accessibility, database, mobile, testing
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.