Jump to content

Experience Sharing

From Pharmacopedia
Revision as of 00:53, 19 May 2026 by MDElliottMD (talk | contribs) (Modernize Experience Sharing: rename indications->problems (3 spots + SuggestIndication->SuggestProblem); document <vote> single/multi modes; add 'Beyond per-medicine reports' section pointing at Special:MyProfile / MyLifeStory / MyAssessment / MyCohorts / MyShareLog; expand Privacy with the 4-level visibility mode, cohorts, link tokens, reciprocal sharing, share-log; soften 'no demographic information' to acknowledge opt-in profile-side demographics; strip all em-dashes per the standing proj...)


Experience Sharing The dual-perspective core of Pharmacopedia
how users and clinicians contribute lived experience to every facet of the site

What experience sharing is

Every medicine page on Pharmacopedia carries two parallel streams of experiential data, kept rigorously separate everywhere they're rendered:

  • Personal, anyone who has taken (or is taking) the medicine themselves.
  • Clinical, verified healthcare providers prescribing or managing it.

A medicine's profile is the platform for both perspectives. The lived experience of the people who use the meds and the people who prescribe them will hopefully accumulate with sufficient numbers such that different kinds of truth emerge.

Pharmacopedia is trying to hone in on them both, for everything we can, and maybe find something like truth in this space so long devoid of granular information.

For everyone: the personal-perspective surfaces

You don't need any verification to share personal experience. Just 2-Factor Authentication (TOTP, optionally a passkey). Anything you add is reviewed by moderators before it becomes part of a page's public profile, at least for now.

1. Rate an effect

Every medicine page lists named effects (sleepiness, appetite changes, libido, etc.) using the <effect> tag. Click any effect to expand its controls:

  • Did you experience it?   yes / no
  • Was it wanted (good) or unwanted (bad)?   positive / neutral / negative

The medicine's page aggregates everyone's answers into a frequency and a valence balance.

Try it, click any of these:

Dry mouth👤 100% (n=1)⚕️ no reports yet
Increased libido👤 no reports yet⚕️ no reports yet
Increased energy👤 no reports yet⚕️ no reports yet
Headache👤 100% -33.0 (n=1)⚕️ no reports yet
Vivid dreams👤 no reports yet⚕️ no reports yet

(These five demo effects exist only on this page. Click them, change your answer, refresh: your responses persist, but no real medicine page sees them.)

2. Vote on existing items

Hover over any element on a medicine page (an effect, a problem, an anecdote) and a small up/down arrow appears. One click registers your agreement or disagreement with whatever the element says. The vote totals appear next to the arrows. This is the default binary vote.

Some prompts call for a choice from a list rather than a simple agreement. The <vote> tag supports two extra modes for that:

  • Single, pick exactly one of several options (radio-style).
  • Multi, pick any subset of the options (checkbox-style).

Both render as a chart-icon chip that expands inline to a picker, with per-option count bars. Multi-option votes are how the wiki crowdsources answers to questions like "Which medicines should count as mood stabilizers?" where the honest answer is more than one.

Try a freestanding binary vote:

The site theme should stay purple/grey/white0

The Pendell's corner callouts should appear at the top of each page rather than the bottom0

3. The personal-experience block

At the top of every medicine page, the <pharmaExperience/> tag renders a compact readout summarizing all approved personal and clinical reports. Logged-in users can add or update their own report below the readout.

For a personal report, the form asks:

  • Effective for you? (0–5)
  • Side-effect burden? (0–5)
  • How long have you taken it? (single day / weeks / months / years)
  • Are you still taking it?
  • Optional: median daily dose, primary route

The live block, scoped to this page:

👥 No personal reports yet
No clinical reports yet

Log in to add your own experience.

4. Suggest something that's missing

If a medicine you know is missing an effect, a problem it treats, an anecdote, or a titration strategy you've encountered, file it through one of the suggestion forms. Submissions enter a moderation queue rather than going live immediately.

5. Share a relevant article

The "Relevant literature" section at the bottom of every medicine page accepts user-submitted references via the <pharmaLiterature/> form: title, author, year, DOI/PMID/URL. Submissions are queued for moderator review before they appear publicly.


For verified providers

Providers are users who have applied at Special:VerifyProvider and been approved by an administrator. Verification grants the provider user-group, which unlocks an additional perspective on every widget.

The provider perspective on effects

When a provider opens an <effect> widget, they see a second set of inputs alongside the patient inputs:

  • How often does this happen, across your patients? (0%, <10%, ~20%, ~33%, ~50%, ~66%, ~80%, 90+%)
  • Clinical valence: wanted / neutral / unwanted

Patient and provider data are stored separately and aggregated separately. The readout shows both:

👥 12 personal reports · avg efficacy 3.4/5 · avg side-effect burden 2.1/5 · median use 8 months · median dose 20 mg/day · 67% still taking it
⚕ 4 provider reports · avg efficacy 3.8/5 · avg side-effect burden 1.6/5 · 1,247 patients managed total

Provider-perspective experience report

The <pharmaExperience/> block, for providers, asks:

  • Clinical efficacy across the patients you've managed (0–5)
  • Clinical side-effect burden across those patients (0–5)
  • Approximate patient count
  • Typical starting and target doses
  • Notes (optional, free text)

Provider-perspective literature

Providers can also upload PDFs (within reason; size limits apply) when submitting literature, not just citations. The Literature queue makes those PDFs available to admins for verification before publication.


Beyond per-medicine reports

The medicine-page surfaces above are one half of how Pharmacopedia treats lived experience. The other half lives on your own profile pages, where you can keep a structured record of yourself across time and choose what (if anything) to share with whom.

  • Special:MyProfile holds opt-in demographics (everything chip-pickered or sliderable: smoking, alcohol, political position, chronotype, education, employment, income, etc.) and your assessment results (CATI, CAT-Q, PID-5-BF, OCEAN/BFI-10, and others as they're added).
  • Special:MyLifeStory is a free-form life-event timeline with structured event types: life events, episodes (time-bounded periods like "manic episode" or "depressive period"), and observations (free-text natural-language entries the parser pulls dates, polarity, and references out of). It renders as a visual swimlane timeline with trait-trajectory overlays.
  • Special:MyAssessment is the rich-report view for individual assessments, with subscale breakdowns and time-trajectory plots.
  • Special:MyCohorts is where you create and curate the cohorts you can share things with (see Privacy below).
  • Special:MyShareLog is the audit log of who has viewed which of your shared records.

None of these are required. The wiki works just as well if you only ever vote on a few effects and never open any of them. They exist for users who want to build a richer self-description and have it inform their experience of medicines they take.


Privacy and identity

Pharmacopedia keeps user identity structurally separated from contributed content. Every rating, vote, and report is stored against an opaque voter hash, never a user ID, so the database itself does not link a contribution back to the account that made it.

What is anonymized end-to-end

The following are always anonymous, there is no opt-in to attach your name:

  • Up/down votes on any element (including single/multi choice votes)
  • Effect reports (yes/no/valence/frequency per effect, both personal and provider perspectives)
  • Likert ratings on problems
  • Interaction matrix votes and their attached free-text notes
  • Experience-report ratings (efficacy, burden, duration, dose, current-use, patient count)

For these, the database holds only an HMAC-SHA256 hash of your user id keyed against a server secret. A direct read of the database cannot map a row back to an account; the server re-computes the hash at request time to recognize "your" rows for your own display.

What is opt-in (default: anonymous)

Two surfaces let you choose at submission time whether your username is attached:

  • Comments (the threaded <discuss/> blocks)
  • Literature submissions (citations and PDFs uploaded against a medicine page)

Both forms include a checkbox, "Show my username publicly", that defaults to unchecked. If you leave it unchecked, the submission is stored without your username; only the voter hash is retained. If you check it, your username is stored in a separate display_name column and shown publicly next to the submission.

Existing comments and literature entries from before this change kept their original attribution: at migration time, the historical username was preserved into display_name because those rows were posted with the implicit understanding that the name would be visible.

Sharing your profile, life story, and assessments

The medicine-page contributions above are anonymous by default. Your profile-side records (demographics, assessments, life story) are private by default and visible only to you unless you explicitly share them.

Every shareable record carries a visibility mode you choose per record:

  • Private (the default), only you can see it.
  • Default (attributed by your username) when the wiki normally credits authorship.
  • Username, attached to a public surface with your name shown.
  • Anonymous (🎭), attached to a public surface with no byline; the "no byline" option hides the inline attribution line only and does not anonymize the page itself.

Beyond those four modes, you can also share specific records via:

  • Cohorts, named groups of named users you've curated at Special:MyCohorts. Sharing to a cohort grants exactly that cohort access to exactly that record.
  • Link tokens, one-off opaque URLs you can send to anyone (including non-users) for a single record. Tokens are revocable.
  • Reciprocal sharing, records visible to anyone who has shared their own equivalent record with you.

Every view of a shared record is logged. You can audit who has seen what at Special:MyShareLog (IPs are masked).

Edit and delete of your own contributions

You can still edit or delete your own comment even though the row no longer stores your user id. The server matches the row's voter hash against the hash computed from your current session at the moment you press Edit or Delete; only a match permits the change. Sysops can edit/delete any comment.

Provider verification

  • Documents uploaded via Special:VerifyProvider are stored privately on disk only until an administrator decides on the application.
  • On approval or rejection the documents are deleted immediately from disk and the file-path field on the application row is wiped.
  • The verification decision is logged with the reviewing admin's identity, not the applicant's documents.

What is not collected, and what is opt-in

  • Not collected at all: tracking cookies, analytics scripts, third-party beacons, or client-side identifiers in the markup of voted/rated elements that could be cross-referenced to other rows.
  • Collected only with your participation, on your own profile: demographics (age, sex, gender, location, smoking, alcohol, etc.) and assessment results. These live at Special:MyProfile, are private to you by default, and you choose whether and how to share them. They are never automatically attached to any per-medicine rating or vote you make.

Caveats, what this does and doesn't protect against

  • The HMAC secret lives in LocalSettings.php on the server. A determined administrator with both source-code access AND database access could still recompute the hash for a given user id and cross-reference rows. The protection is against casual DB inspection and against breach of the database alone, not against the server operator acting in bad faith.
  • MediaWiki's core revision history (wiki edits, page moves) still records the editing account name as part of normal wiki history. That data is separate from the contribution surfaces described above.
  • Comments and literature submissions you mark "show my username" remain public until you delete them.
  • Records you share to a cohort, by username, or by link token are visible to whoever you've granted access, until you revoke that access.