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

About:Pharmacopedia.ext: Difference between revisions

From Pharmacopedia
[checked revision][checked revision]
Crypto note: the Mode A KDF scheme v2 (Argon2id MODERATE) is live, not future
Document HYD-PCP, the thirteenth assessment (the wellbeing check-in shipped in v0.9.8.0)
Line 12: Line 12:
* Two-perspective data capture (personal vs. provider) wherever clinically meaningful
* Two-perspective data capture (personal vs. provider) wherever clinically meaningful
* User profile with dimensional personality / autism assessments (CATI, CAT-Q, MBTI, Enneagram, PID-5-BF, OCEAN/BFI-10) and rich auto-generated reports
* User profile with dimensional personality / autism assessments (CATI, CAT-Q, MBTI, Enneagram, PID-5-BF, OCEAN/BFI-10) and rich auto-generated reports
* Further self-report instruments (BPNS, NFCS, OCI-PCP, WHOQOL-BREF) on the same auto-scored, report-bearing pattern
* Further self-report instruments (BPNS, NFCS, OCI-PCP, WHOQOL-BREF) and the HYD-PCP wellbeing check-in, on the same auto-scored, report-bearing pattern
* ADHD screening (ASRS and AMAAS-SR) plus a Formal testing log of standardized-test scores, every score field carrying its own visibility
* ADHD screening (ASRS and AMAAS-SR) plus a Formal testing log of standardized-test scores, every score field carrying its own visibility
* Diagnosis autocomplete backed by ~41,500 ICD-10-CM, ICD-11, and DSM-5 codes
* Diagnosis autocomplete backed by ~41,500 ICD-10-CM, ICD-11, and DSM-5 codes
Line 215: Line 215:
* '''Enneagram''' (9 type sliders + 45-item screening test)
* '''Enneagram''' (9 type sliders + 45-item screening test)
* '''MBTI''' (4 dichotomy sliders + 32-item OEJTS test)
* '''MBTI''' (4 dichotomy sliders + 32-item OEJTS test)
* '''Self-report assessments''' (PID-5-BF, CATI, CAT-Q, BPNS, NFCS, OCI-PCP, WHOQOL-BREF, each a collapsible inline test)
* '''Self-report assessments''' (PID-5-BF, CATI, CAT-Q, BPNS, NFCS, OCI-PCP, WHOQOL-BREF, HYD-PCP, each a collapsible inline test)
* '''ADHD screening''' (ASRS adult-ADHD screener and AMAAS-SR attention self-report, each a collapsible inline test)
* '''ADHD screening''' (ASRS adult-ADHD screener and AMAAS-SR attention self-report, each a collapsible inline test)
* '''Formal testing''' (a log of standardized-test scores; raw score, percentile and pass/fail each carry their own privacy setting)
* '''Formal testing''' (a log of standardized-test scores; raw score, percentile and pass/fail each carry their own privacy setting)
Line 287: Line 287:
|}
|}


Four further self-report instruments are available on the same collapsible-inline-test, auto-scored, report-bearing pattern:
Five further self-report instruments are available on the same collapsible-inline-test, auto-scored, report-bearing pattern:


{| class="wikitable"
{| class="wikitable"
Line 299: Line 299:
|-
|-
| '''WHOQOL-BREF-PCP''' || 26 || 4 domains (Physical, Psychological, Social, Environment) + 2 overall items, 5-point Likert || quality of life
| '''WHOQOL-BREF-PCP''' || 26 || 4 domains (Physical, Psychological, Social, Environment) + 2 overall items, 5-point Likert || quality of life
|-
| '''HYD-PCP''' || 8 || 8 single-item domains, each one bipolar slider (−100 really poorly to +100 really well); no subscales, no cutoffs || everyday wellbeing, re-taken and watched over time; a locally authored check-in, not validated
|}
|}


All assessment items submit raw responses to <code>pcp_profile_fields</code> under namespace <code>{key}_raw</code> (e.g. <code>cati_raw</code>); the computed scores live under namespace <code>{key}</code> with keys like <code>subscale_SOC</code>, <code>total</code>, plus a <code>taken_at</code> timestamp. Re-scoring happens automatically on every save (autosave fires <code>scoreResponses()</code> on the full raw set, skipping "unsure" rows). Each completed assessment also auto-upserts a Life-story keyframe row (see [[#Life-story timeline|Life-story timeline]]) so trajectories plot over time.
All assessment items submit raw responses to <code>pcp_profile_fields</code> under namespace <code>{key}_raw</code> (e.g. <code>cati_raw</code>); the computed scores live under namespace <code>{key}</code> with keys like <code>subscale_SOC</code>, <code>total</code>, plus a <code>taken_at</code> timestamp. Re-scoring happens automatically on every save (autosave fires <code>scoreResponses()</code> on the full raw set, skipping "unsure" rows). Each completed assessment also auto-upserts a Life-story keyframe row (see [[#Life-story timeline|Life-story timeline]]) so trajectories plot over time.


All twelve assessments (the six dimensional, these four, and the two ADHD screeners below) are registered in <code>AssessmentRegistry</code> and so can also be administered to outside respondents (see [[#Administer assessments to others|Administer assessments to others]]).
All thirteen assessments (the six dimensional, these five, and the two ADHD screeners below) are registered in <code>AssessmentRegistry</code> and so can also be administered to outside respondents (see [[#Administer assessments to others|Administer assessments to others]]).


=== ADHD screening ===
=== ADHD screening ===
Line 459: Line 461:
== Administer assessments to others ==
== Administer assessments to others ==


A registered user (the '''owner''') can send any of the twelve registered assessment scales to people outside the wiki (the '''respondents'''), collect their results, and follow them over time. Respondents need no account; a one-time invite link is their only credential. The subsystem is built so that, by default, a respondent's results are readable only by the owner, and the owner can additionally choose a zero-knowledge mode in which not even a site administrator can read them.
A registered user (the '''owner''') can send any of the thirteen registered assessment scales to people outside the wiki (the '''respondents'''), collect their results, and follow them over time. Respondents need no account; a one-time invite link is their only credential. The subsystem is built so that, by default, a respondent's results are readable only by the owner, and the owner can additionally choose a zero-knowledge mode in which not even a site administrator can read them.


=== Assessment registry ===
=== Assessment registry ===
Line 465: Line 467:
<code>AssessmentRegistry</code> (<code>includes/Assessments/AssessmentRegistry.php</code>) is the single source of truth: an assessment registered there once autopopulates the owner's scale-picker, the respondent take-flow, and the dashboards. Each entry names a scorer class and a '''response model''':
<code>AssessmentRegistry</code> (<code>includes/Assessments/AssessmentRegistry.php</code>) is the single source of truth: an assessment registered there once autopopulates the owner's scale-picker, the respondent take-flow, and the dashboards. Each entry names a scorer class and a '''response model''':
* <code>radio</code>, discrete labelled radio buttons (CATI, CAT-Q, PID-5-BF, NFCS, BPNS, OCI-PCP, WHOQOL-BREF, ASRS)
* <code>radio</code>, discrete labelled radio buttons (CATI, CAT-Q, PID-5-BF, NFCS, BPNS, OCI-PCP, WHOQOL-BREF, ASRS)
* <code>slider</code>, one continuous slider per item with uniform end anchors (OCEAN, Enneagram, AMAAS)
* <code>slider</code>, one continuous slider per item with uniform end anchors (OCEAN, Enneagram, AMAAS, HYD-PCP)
* <code>bipolar</code>, one slider per item with the item's own two opposing phrases as the anchors (MBTI)
* <code>bipolar</code>, one slider per item with the item's own two opposing phrases as the anchors (MBTI)


Line 498: Line 500:
* <code>pcp_administer_research</code>, the de-identified research pool
* <code>pcp_administer_research</code>, the de-identified research pool


The 12-instrument submission handler reuses the existing assessment scorers in <code>includes/Assessments/</code> rather than reimplementing scoring.
The 13-instrument submission handler reuses the existing assessment scorers in <code>includes/Assessments/</code> rather than reimplementing scoring.


== Choice / multi voting ==
== Choice / multi voting ==
Line 855: Line 857:
   |  |-- DatePicker.php            (range / possibility-mix date widget backend + injectBirthdayContextOnce)
   |  |-- DatePicker.php            (range / possibility-mix date widget backend + injectBirthdayContextOnce)
   |  |-- Assessments/
   |  |-- Assessments/
   |  |  |-- AssessmentRegistry.php (single source of truth for the 12 instruments)
   |  |  |-- AssessmentRegistry.php (single source of truth for the 13 instruments)
   |  |  |-- AdminCrypto.php        (X25519 / Argon2id / AES-256-GCM helper)
   |  |  |-- AdminCrypto.php        (X25519 / Argon2id / AES-256-GCM helper)
   |  |  |-- Cati.php, CatiNorms.php
   |  |  |-- Cati.php, CatiNorms.php