Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Experience Sharing: Difference between revisions

From Pharmacopedia
[unchecked revision][unchecked revision]
No edit summary
 
(4 intermediate revisions by 2 users not shown)
Line 8: Line 8:
== What experience sharing is ==
== What experience sharing is ==


Every medicine page on Pharmacopedia carries '''two parallel streams''' of experiential data, kept rigorously separate everywhere they're rendered:
Every [[Category:Medicine|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.
* '''Personal''', anyone who has taken (or is taking) the medicine themselves.
* '''Clinical''' — verified healthcare providers prescribing or managing it.
* '''Clinical''', verified healthcare providers prescribing or managing it.


A medicine's profile is the conversation between those two perspectives. The lived experience of the person who takes a drug and the provider's view of the same drug across hundreds of patients are different kinds of truth, and Pharmacopedia is trying to hone them both, and maybe find some consensus(?).
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 several different sorts of truth emerge.<br><br>Pharmacopedia is trying to hone in on them all, however we can, and maybe find precision and accuracy in this space so long devoid of granular information.


== For everyone: the personal-perspective surfaces ==
== For everyone: the personal-perspective surfaces ==


You don't need any verification to share personal experience. Just 2-Factor Authentication. Anything you add is reviewed by moderators before it becomes part of a page's public profile, at least for now.
You don't need any verification to share personal experience. Just 2-Factor Authentication (TOTP +/- 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 ===
=== 1. Rate an effect ===


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


* '''Did you experience it?''' &nbsp; yes / no
* '''Did you experience it?''' &nbsp; yes / no
* '''Was it wanted (good) or unwanted (bad)?''' &nbsp; positive / neutral / negative
* '''How as it?''' &nbsp; -100 (worst) to +100 (best)


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


'''Try it &mdash; click any of these:'''
'''Try it, click any of these:'''


<effect slug="demo-drymouth" label="Dry mouth"/>
<effect slug="demo-drymouth" label="Dry mouth"/>
Line 36: Line 36:
<effect slug="demo-vivid"    label="Vivid dreams"/>
<effect slug="demo-vivid"    label="Vivid dreams"/>


(These five demo effects exist only on this page. Click them, change your answer, refresh &mdash; your responses persist, but no real medicine page sees them.)
(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 ===
=== 2. Vote on existing items ===


Hover over any element on a medicine page &mdash; an effect, an indication, an anecdote &mdash; 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.
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.


'''Try a freestanding vote:'''
Some prompts call for a choice from a list rather than a simple agreement. The <code>&lt;vote&gt;</code> 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:'''


<vote slug="demo-vote-a">The site theme should stay purple/grey/white</vote>
<vote slug="demo-vote-a">The site theme should stay purple/grey/white</vote>
Line 50: Line 57:
=== 3. The personal-experience block ===
=== 3. The personal-experience block ===


At the top of every medicine page, the <code>&lt;pharmaExperience/&gt;</code> 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.
At the top of every medicine page, the <code>&lt;pharmaExperience/&gt;</code> 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:
For a personal report, the form asks:
Line 66: Line 73:
=== 4. Suggest something that's missing ===
=== 4. Suggest something that's missing ===


If a medicine you know is missing an effect, indication, anecdote, or titration strategy you've encountered, file it through one of the suggestion forms. Submissions enter a moderation queue rather than going live immediately.
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.


* [[Special:SuggestEffect|Suggest an effect]]
* [[Special:SuggestEffect|Suggest an effect]]
* [[Special:SuggestIndication|Suggest an indication]]
* [[Special:SuggestProblem|Suggest a problem]]
* [[Special:SuggestTitration|Suggest a titration strategy]]
* [[Special:SuggestTitration|Suggest a titration strategy]]
* [[Special:SuggestAnecdote|Suggest an anecdote]]
* [[Special:SuggestAnecdote|Suggest an anecdote]]
Line 109: Line 116:
=== Provider-perspective literature ===
=== Provider-perspective literature ===


Providers can also upload PDFs (within reason &mdash; size limits apply) when submitting literature, not just citations. The Literature queue makes those PDFs available to admins for verification before publication.
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.


----
----
Line 115: Line 136:
== Privacy and identity ==
== Privacy and identity ==


* Usernames are visible next to submitted anecdotes, votes, and literature entries.
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.
* Personal-experience reports (efficacy/burden ratings) are aggregated into the readout but '''individual reports are not linked to usernames''' on the public page.
 
* Provider documents uploaded for verification are deleted immediately after the admin decision &mdash; approved or rejected. Nothing is retained.
=== What is anonymized end-to-end ===
* No demographic information is collected.
 
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 <code>&lt;discuss/&gt;</code> 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 <code>display_name</code> 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 <code>display_name</code> 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 <code>LocalSettings.php</code> 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.
 


----
----