feat(forms): add isolated Form A consultation testing
This commit is contained in:
25 files changed
+1046
-253
No files matched your search
@@ -1,9 +1,9 @@
|
||||
# Phase 9 — Two-form integration specification
|
||||
|
||||
**Recorded:** 2026-10-28 UTC
|
||||
**Recorded:** 2026-10-28 UTC; revised 2026-10-29 UTC
|
||||
|
||||
**Scope:** future Form A consultation configuration and future Form C referral initiation
|
||||
**Status:** owner direction documented; no Jotform or Astro route activation authorized
|
||||
**Scope:** Form A consultation isolated-test integration and future Form C referral initiation
|
||||
**Status:** owner-reported Jotform consultation configuration; Astro routes limited to isolated testing; no production activation authorized
|
||||
|
||||
## Decision revision
|
||||
|
||||
@@ -22,7 +22,7 @@ This revision does not enable a new route, add an iframe placement, modify Form
|
||||
|---|---|---|---|
|
||||
| `contact` | Existing, owner-tested | General contact enquiries | Current two-contact-route gate only |
|
||||
| `landing` | Existing, owner-tested | Five named campaign landing journeys | Current five-landing-route gate only |
|
||||
| `consultation` | Planned; not configured or emitted | Family service consultations | Builder configuration, synthetic acceptance and a separately approved Astro allowlist |
|
||||
| `consultation` | Configured in Jotform; isolated-test Astro placements only | Family service consultations | Owner browser acceptance; no production route authorization |
|
||||
|
||||
The context value is presentation-only. It is not an authorization, attribution, security, analytics or visitor-controlled value. `formContext` remains the known case-sensitive hidden-field Unique Name; no other Jotform field ID or condition name is inferred here.
|
||||
|
||||
@@ -42,11 +42,7 @@ The consultation context reuses the current Form A adult contact and preferred c
|
||||
|
||||
The values in the right column are planning labels, not Jotform option values or IDs. Operations and the Jotform owner must approve the exact Builder labels, translations, requiredness and conditions.
|
||||
|
||||
When **Autism Diagnostic Evaluation** is selected, show this owner-approved explanation:
|
||||
|
||||
> AIA can help families connect with qualified providers who offer autism diagnostic evaluations. Diagnostic evaluations are not currently available at our clinic.
|
||||
|
||||
This is referral-assistance language. It does not state or imply that AIA currently provides an in-clinic diagnostic evaluation, offers a diagnosis, or has completed a diagnostic-professional hire.
|
||||
Do not add a conditional explanatory note when **Autism Diagnostic Evaluation** is selected. An AIA client advocate will explain available options and coordination with qualified diagnostic providers during the subsequent conversation. The consultation form must not imply that AIA currently provides an in-clinic diagnostic evaluation, offers a diagnosis, or has completed a diagnostic-professional hire.
|
||||
|
||||
Do not add child name, date of birth, age, diagnosis, medical history, records, insurance member ID, payment, location or booking questions to the initial consultation context. Do not make any additional consultation field required without a separately documented operations, clinical and privacy decision. Whether an existing optional free-text message remains visible requires the existing Form A privacy treatment; it is not an additional required consultation field under this specification.
|
||||
|
||||
@@ -64,18 +60,21 @@ Form C remains a separate future physical Jotform created from a blank form. Its
|
||||
|
||||
The visible form must instruct referrers not to submit patient names, dates of birth, diagnosis narratives, medical records or other patient-identifying information. Detailed referrals remain in the separately approved protected workflow. No Form C ID, hosted URL, iframe, language route or conditional logic is assigned by this document.
|
||||
|
||||
## Future route and component matrix
|
||||
## Isolated-test route and component matrix
|
||||
|
||||
The following is a future integration plan. Every listed consultation surface continues to use its current inactive/off/mock behavior until Form A's consultation configuration is approved, synthetically tested and added through a separately authorized code change.
|
||||
The following nine placements are implemented only for an explicitly authorized, non-indexing isolated-test build. Normal staging, mock, indexing-enabled and production builds retain their existing inactive/off/mock behavior. The seven existing Form A production-eligible placements remain a separate frozen allowlist.
|
||||
|
||||
| Route or entry point | Locale | Current component / behavior | Future physical form and context | Dependencies |
|
||||
|---|---|---|---|---|
|
||||
| `/client-consultation` | EN | `FormShell.astro` through `PageLayout.astro`; inactive logical `service` form | Form A / `consultation` | Builder fields, EN copy, new allowlist and synthetic acceptance |
|
||||
| `/es/client-consultation` | ES | Same component; inactive logical `service` form | Form A / `consultation` | Spanish Form A labels, errors, evaluation explanation and locale test |
|
||||
| `/schedule-consultation` | EN | `FormShell.astro` through `PageLayout.astro`; inactive logical `service` form | Form A / `consultation` | Builder configuration, no-booking copy review and acceptance |
|
||||
| `/aba-therapy` drawer | EN | `ServiceInquiryDrawer.astro`; inactive legacy child-data drawer | Form A / `consultation` | Separate drawer/copy redesign, clinical approval and dialog accessibility test |
|
||||
| `/autism-evaluations` drawer | EN | Same drawer; inactive legacy evaluation variant | Form A / `consultation` | Required referral-assistance wording and clinical approval |
|
||||
| `/learner-social-club` drawer | EN | Same drawer; inactive legacy Social Club variant | Form A / `consultation` | Program-eligibility/copy approval and dialog accessibility test |
|
||||
| `/client-consultation` | EN | `FormShell.astro` through `PageLayout.astro`; immediate isolated-test iframe | Form A / `consultation` | Owner Jotform visibility/requiredness/confirmation acceptance |
|
||||
| `/es/client-consultation` | ES | Same component; immediate isolated-test iframe | Form A / `consultation` | Spanish Jotform labels, errors and locale acceptance |
|
||||
| `/schedule-consultation` | EN | `FormShell.astro` through `PageLayout.astro`; immediate isolated-test iframe | Form A / `consultation` | No-booking copy and owner acceptance |
|
||||
| `/aba-therapy` drawer | EN | `ServiceInquiryDrawer.astro`; explicit user-triggered isolated-test drawer | Form A / `consultation` | Owner acceptance and dialog accessibility review |
|
||||
| `/autism-evaluations` drawer | EN | Same component; explicit user-triggered isolated-test drawer | Form A / `consultation` | Clinical/operations copy and owner acceptance |
|
||||
| `/learner-social-club` drawer | EN | Same component; explicit user-triggered isolated-test drawer | Form A / `consultation` | Program copy and owner acceptance |
|
||||
| `/es/aba-therapy` drawer | ES | Same shared drawer; explicit user-triggered isolated-test drawer | Form A / `consultation` | Spanish Jotform and fluent-language acceptance |
|
||||
| `/es/autism-evaluations` drawer | ES | Same shared drawer; explicit user-triggered isolated-test drawer | Form A / `consultation` | Spanish Jotform and fluent-language acceptance |
|
||||
| `/es/learner-social-club` drawer | ES | Same shared drawer; explicit user-triggered isolated-test drawer | Form A / `consultation` | Spanish Jotform and fluent-language acceptance |
|
||||
| `/referrals` | EN | `FormShell.astro`, `logicalForm=referral`; inactive | Form C / future referral initiation | Create and verify Form C; no patient data in initial form |
|
||||
|
||||
English and Spanish service-page CTAs already route visitors to the client consultation routes. They are navigation dependencies, not independent Form A iframe placements. The same is true of homepage, services, FAQ and library consultation CTAs that resolve to those pages.
|
||||
@@ -84,14 +83,20 @@ The current Tour CTA in `src/content/pages/en/tour.mdx` points to `/client-consu
|
||||
|
||||
## Owner and Jotform actions before consultation activation
|
||||
|
||||
1. Confirm that extending the active Form A with a `consultation` context will not change the approved `contact` or `landing` journeys; record the rollback method for the Builder configuration.
|
||||
2. Configure the exact hidden context value, service question, option labels, requiredness, conditional evaluation explanation, EN/ES translations, validation messages and confirmation language in Jotform. Do not invent fields or accept query-controlled context values.
|
||||
1. Confirm that the configured Form A `consultation` context has not changed the approved `contact` or `landing` journeys; record the rollback method for the Builder configuration.
|
||||
2. Verify the exact hidden context value, service question, five display options, requiredness, EN/ES translations, validation messages and confirmation language in Jotform. Do not invent fields or accept query-controlled context values.
|
||||
3. Confirm that no child/clinical/payment/location/booking fields, webhooks, integrations, answer-bearing notifications, PDF attachments, analytics or forwarding are introduced for the consultation context.
|
||||
4. Obtain intake/operations, clinical and privacy approval for the field set, the evaluation explanation and the approved service options. Obtain fluent English/Spanish review for all added presentation and error text.
|
||||
4. Obtain intake/operations, clinical and privacy approval for the field set and approved service options. Obtain fluent English/Spanish review for all added presentation and error text.
|
||||
5. Run separately authorized synthetic Jotform and Astro-iframe acceptance tests with no real patient data. Cover both locales, all service choices, validation/error states, no-JavaScript and keyboard behavior, confirmation, notifications, responsive sizes and direct hosted fallback.
|
||||
6. Only then authorize a new fixed Astro allowlist and production-gate update. The current seven Form A routes remain the only permitted real iframes until that implementation is independently reviewed.
|
||||
6. Only then authorize a production allowlist and production-gate update. The current seven Form A routes remain the only production-eligible real iframes until that implementation is independently reviewed.
|
||||
7. For Form C, separately authorize creation from a blank form, then verify its minimum fields, PHI protections, recipients, retention, hosted/iframe behavior and protected-workflow handoff before mapping `/referrals`.
|
||||
|
||||
## Retained gates
|
||||
|
||||
This decision does not close P9-01, P9-03, P9-05, P9-06, P9-07, P9-09 or P9-10. Form A's existing owner-reported direct and sampled embedded acceptance does not prove the new consultation context. Final real screen-reader, all-route responsive, runtime telemetry/privacy, hosting, notification-recipient and release-owner acceptance remain open.
|
||||
|
||||
## 2026-10-29 supersession and implementation addendum
|
||||
|
||||
The owner reports that the Form A `consultation` context and its conditional rules have been configured through the connected Jotform app. The repository now permits the nine matrix placements only when every isolated-test gate is present, including `PUBLIC_AIA_FORMS_CONSULTATION_TEST_APPROVED=true`. Three standalone pages load the fixed consultation URL immediately; six English/Spanish service drawers retain no iframe `src` until the visitor explicitly opens them. This does not change the frozen seven-route production allowlist.
|
||||
|
||||
The earlier version of this specification required a conditional Autism Diagnostic Evaluation explanation. That requirement is superseded: no conditional explanatory note is required in Form A or Astro. The historical decision is preserved by this dated addendum; the current contract is the client-advocate conversation described above.
|
||||
Reference in new issue
Block a user