About:Pharmacopedia.ext: Difference between revisions
From Pharmacopedia
More actions
| [checked revision] | [checked revision] |
MDElliottMD (talk | contribs) Crypto note: the Mode A KDF scheme v2 (Argon2id MODERATE) is live, not future |
MDElliottMD (talk | contribs) 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: | ||
|} | |} | ||
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 | 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 | 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 | 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 | | | |-- 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 | ||