About:Pharmacopedia.ext: Difference between revisions
From Pharmacopedia
More actions
| [checked revision] | [checked revision] |
MDElliottMD (talk | contribs) Version header 0.9.6.9 -> 0.9.7.0 for the 0.9.7.0 release |
MDElliottMD (talk | contribs) Doc pass for v0.9.7.0: ADHD screening (ASRS, AMAAS), Formal testing + per-field privacy, plants skin + assessment card family |
||
| 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 | ||
* 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 | ||
* '''Life-story timeline''': visual swimlanes (vis-timeline 7.7.3, vendored Apache-2.0) plus a synchronized trait-trajectory overlay (vis.Graph2d); card-list view alongside; quick-add free-text observation parser; range-date episode form with severity slider | * '''Life-story timeline''': visual swimlanes (vis-timeline 7.7.3, vendored Apache-2.0) plus a synchronized trait-trajectory overlay (vis.Graph2d); card-list view alongside; quick-add free-text observation parser; range-date episode form with severity slider | ||
| Line 47: | Line 48: | ||
** <code>ext.pharmacopedia.lifegraph</code>: trait-trajectory overlay (vis.Graph2d) synced to timeline | ** <code>ext.pharmacopedia.lifegraph</code>: trait-trajectory overlay (vis.Graph2d) synced to timeline | ||
** <code>ext.pharmacopedia.kitsync</code>: glue that propagates kit-widget changes into legacy hidden inputs + drives privacy-mode toggle | ** <code>ext.pharmacopedia.kitsync</code>: glue that propagates kit-widget changes into legacy hidden inputs + drives privacy-mode toggle | ||
* '''Styles (CSS):''' | * '''Styles (CSS):''' a dark-theme palette across two skins, the default pharmaceutical skin and an earth-toned plants skin applied to plant-origin pages by content category. Self-hosted Geist, Newsreader and Source Serif web fonts. The assessment card family (the verdict card and the featured radar card) and the Shulgin's Corner literary-quote component are components in <code>ext.pharmacopedia.css</code>. | ||
* '''Schema:''' <code>sql/</code>, ~25 core tables plus migration patches. Picked up via <code>LoadExtensionSchemaUpdates</code> hook. | * '''Schema:''' <code>sql/</code>, ~25 core tables plus migration patches. Picked up via <code>LoadExtensionSchemaUpdates</code> hook. | ||
| Line 174: | Line 175: | ||
* '''MBTI''' (4 dichotomy sliders + 32-item OEJTS test) | * '''MBTI''' (4 dichotomy sliders + 32-item OEJTS test) | ||
* '''Personality / autism assessments''' (PID-5-BF, CATI, CAT-Q, each as a collapsible inline test) | * '''Personality / autism assessments''' (PID-5-BF, CATI, CAT-Q, each as 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) | |||
* '''Diagnoses''' (multi-row with ICD-10-CM + ICD-11 autocomplete, severity slider 0–100, disability slider 0–100, status, origin, dates, notes) | * '''Diagnoses''' (multi-row with ICD-10-CM + ICD-11 autocomplete, severity slider 0–100, disability slider 0–100, status, origin, dates, notes) | ||
* '''Medicines I have tried''' (multi-row with med-name autocomplete, dose, route 16-option dropdown, schedule with datalist suggestions, efficacy + burden sliders 0–100, periods via date-picker) | * '''Medicines I have tried''' (multi-row with med-name autocomplete, dose, route 16-option dropdown, schedule with datalist suggestions, efficacy + burden sliders 0–100, periods via date-picker) | ||
| Line 244: | Line 247: | ||
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. | ||
=== ADHD screening === | |||
Two attention / ADHD instruments sit alongside the dimensional assessments, each a collapsible inline test on <code>Special:MyProfile</code> and a card render on the public profile: | |||
* '''ASRS''' (Adult ADHD Self-Report Scale, Part A): a 6-item binary screener. The card counts how many of the 6 cardinal items fall in the screening range; 4 or more is a positive screen. The public profile renders it as a '''verdict card''', a screen-positive or screen-negative result word with a 6-cell cardinal-item strip and a screening-result detail line. | |||
* '''AMAAS-SR''' (a 30-item experimental attention self-report): three symptom subscales, inattention, hyperactivity and impulsivity, each scored as a percentage of the subscale maximum. The public profile renders it as a '''featured radar card''', a 3-axis radar carrying a deliberately arbitrary 66.66% threshold triangle that is labelled experimental and not a validated cutoff. AMAAS has no validated norms; the card discloses this in plain sight rather than presenting a clinical cutoff. | |||
Both instruments store responses in <code>pcp_profile_fields</code> under the <code>asrs</code> and <code>amaas</code> namespaces, the same pattern as the dimensional assessments. | |||
=== Formal testing === | |||
The '''Formal testing''' block on <code>Special:MyProfile</code> is a log of standardized tests the user has taken (entrance exams, AP exams, IQ tests, and the like; retakes are welcome, and the year disambiguates them). Each entry resolves against a catalog (<code>pcp_formal_tests</code>) or is a custom free-text test, and records up to three score fields, raw score, percentile and pass/fail, each with an optional estimate flag. | |||
Every score field has its own '''per-field visibility'''. Raw score, percentile and pass/fail each carry a separate privacy setting (<code>uts_vis_raw</code>, <code>uts_vis_pct</code>, <code>uts_vis_passfail</code>), so a user can publish a percentile while keeping the raw score private. The <code>Special:MyProfile</code> editor shows three privacy toggles per entry; the public <code>Special:UserProfile</code> gates each score line independently by its own field visibility. Scores are stored in <code>pcp_user_test_scores</code>, managed through the <code>pharmacopediaformaltest</code> API. | |||
== Life-story timeline == | == Life-story timeline == | ||
| Line 504: | Line 522: | ||
|- | |- | ||
| <code>pharmacopediarefupgrade</code> || Free-text ref linker (op=candidates / apply / dismiss) | | <code>pharmacopediarefupgrade</code> || Free-text ref linker (op=candidates / apply / dismiss) | ||
|- | |||
| <code>pharmacopediaformaltest</code> || Formal-testing score operations (list / add / update / delete), with per-field visibility | |||
|} | |} | ||
| Line 595: | Line 615: | ||
|- | |- | ||
| <code>pcp_literature</code> || Citation attachments | | <code>pcp_literature</code> || Citation attachments | ||
|- | |||
| <code>pcp_formal_tests</code> || Catalog of standardized tests (abbrev, full name, category, score format) | |||
|- | |||
| <code>pcp_user_test_scores</code> || Per-user formal-test scores; raw score / percentile / pass-fail, each with its own visibility (uts_vis_raw / uts_vis_pct / uts_vis_passfail) and an estimate flag | |||
|} | |} | ||