CCA

Tech Partner

Documentation

Partner DocumentationGeneral ConceptsTechnical Terminology

Technical Terminology

Partners implementing the Intake and Scheduling API must collect all required user inputs, validate values where specified, and submit them through the appropriate API endpoints. The client application is responsible for enforcing every constraint defined on this page before submission.

Preferred Modality

The client application must collect the member's preferred counseling modality and submit it as part of the intake request.

ConstraintValue
FieldPreferred modality
Typeenum
CardinalityExactly one value

Allowed values:

  • telephonic
  • virtual
  • in_person

Area of Support

The client application must collect the member's primary area of support.

ConstraintValue
FieldPrimary area of support
Typeenum
CardinalityExactly one value
Match ruleMust exactly match one of the EAPX values below

Allowed values:

  1. Grief/Loss
  2. Relationship/Family Concerns
  3. Adjustment/Change
  4. Stress
  5. Workplace Concerns
  6. Addiction Concerns
  7. Anxiety
  8. Depression
  9. Emotion Regulation
  10. Self Growth

Risk Assessment Questions

The client application must collect responses to the following risk assessment questions before proceeding with intake or scheduling.

#QuestionType
1Are you experiencing any thoughts of hurting yourself?boolean (Yes / No)
2Are you experiencing any thoughts of hurting others?boolean (Yes / No)
3Are you seeking support for substance abuse–related concerns?boolean (Yes / No)

Classification Rule

If any response = Yes, the case must be classified as High Risk.

State Management — High Risk

When a High Risk condition is detected, the client application must enter a blocked state immediately. The intake or scheduling flow must not continue.

RuleRequirement
Flow terminationDisable all forward navigation; the workflow must not proceed
Cross-page navigationDisable navigation to other application pages
MessagingRender the exact emergency message below with organization-specific values supplied by the API
Cache expirationThe blocked state expires after 24 hours
Manual resetThe blocked state may also be cleared by resetting the application cache

Required blocked-state message (render with dynamic organization values):

Thank you for answering. To complete your request, please call our 24/7 support line now:

{Emergency Phone Number by Country}

Support is moments away.

If you are experiencing suicidal thoughts, homicidal thoughts, or domestic violence, please call us at {Emergency Phone Number by Country}. If you are experiencing a life-threatening situation, please call emergency services or go to the nearest emergency room.

Identify Location (In-App Scheduling Only)

In-App Scheduling requires the client application to collect the member's location before querying provider availability.

FieldTypeRequiredValidation
countrystringYesValid country value
statestringYes when country = USOne of the allowed U.S. states and territories below

When country is United States, state must be one of:

  • All 50 U.S. states
  • Puerto Rico
  • U.S. Virgin Islands

U.S. values must use USPS two-letter abbreviations (e.g., CA, NY, TX, PR, VI).

Choose Provider and Schedule Time (In-App Scheduling Only)

Provider Query

The system takes into account providers availability and licenses as follows:

  • Domestic (U.S.): Backend queries self-scheduling providers whose licensed state matches the state selected by the member.
  • International: Backend queries self-scheduling providers located in the country selected by the member.

Provider Profile — Required Display Fields

The API returns the following provider attributes. The client application must display all listed fields:

AttributeNotes
Profile photo
Provider's full name
Professional license
Preferred pronounsOptional
Accepted insurance plansDomestic providers only
Languages spoken
Provider biographyMaximum 400 characters
Next available appointmentEarliest bookable slot is 72 hours from the current time
Additional availability
Time zoneAll availability and time slots must be presented in the member's local time zone, based on the user's location and system time settings

Booking Rules — System Validation Constraints

The client application must enforce the following scheduling constraints:

ConstraintRule
Minimum lead timeAppointment requests must be scheduled at least 72 hours in advance
Maximum lead timeAppointment requests may only be scheduled between 72 hours and 30 days in the future
Overlap preventionA request cannot overlap with an existing booking for the same provider
DurationAppointment duration is always 45 minutes
UI (booking & confirmation)Must reflect a 45-minute meeting
Slot intervalsAvailable time slots are displayed in 45-minute intervals separated by 15 minutes of buffer, beginning at the first available start time defined by the provider

Example 1: Provider availability from 9:00 AM–1:00 PM

  • 9:00 AM – 9:45 AM
  • 10:00 AM – 10:45 AM
  • 11:00 AM – 11:45 AM
  • 12:00 PM – 12:45 PM

Example 2: Provider availability from 2:30 PM–4:30 PM

  • 2:30 PM – 3:15 PM
  • 3:30 PM – 4:15 PM

No Available Appointment Handling

If the availability API returns no appointment slots matching the member's preferences, the client application must seamlessly fall back to submitting an intake request without scheduling data (see Stand-Alone Intake). This routes the member to the internal provider matching team, who will connect the user with a provider outside of the In-App Scheduling system.

Clinical Screening Questions (PHQ-9 & GAD-7)

The client application must collect PHQ-9 and GAD-7 survey responses and submit them with the intake request. These responses are stored for clinical context and help determine the risk severity of a case.

Note: Risk-based handling of survey results (e.g., classifying a member as high risk and redirecting them to the blocked page) is not currently enforced and will be implemented in a future phase.

GAD-7 Survey Format

Response values (all GAD-7 questions 1–7):

ValueLabel
0Not at all
1Several days
2More than half the days
3Nearly every day

Questions:

  1. Feeling nervous, anxious, or on edge
  2. Not being able to stop or control worrying
  3. Worrying too much about different things
  4. Trouble relaxing
  5. Being so restless that it is hard to sit still
  6. Becoming easily annoyed or irritable
  7. Feeling afraid, as if something awful might happen

PHQ-9 Survey

Response values (PHQ-9 questions 1–9):

ValueLabel
0Not at all
1Several days
2More than half the days
3Nearly every day

Questions:

  1. Little interest or pleasure in doing things
  2. Feeling down, depressed, or hopeless
  3. Trouble falling or staying asleep, or sleeping too much
  4. Feeling tired or having little energy
  5. Poor appetite or overeating
  6. Feeling bad about yourself — or that you are a failure or have let yourself or your family down
  7. Trouble concentrating on things, such as reading the newspaper or watching television
  8. Moving or speaking so slowly that other people could have noticed, or the opposite — being so fidgety or restless that you have been moving around more than usual
  9. Thoughts that you would be better off dead or of hurting yourself in some way

PHQ-9 Question 10 (Functional Impact):

ValueLabel
0I did not check off any problems
1Not difficult at all
2Somewhat difficult
3Very difficult
4Extremely difficult

Basic Demographics

The client application must collect the following member information before submitting an intake or scheduling request.

Personal Information

FieldTypeRequiredValidation / Notes
First NamestringYes
Last NamestringYes
Preferred NamestringNo
Date of BirthdateYesSee State Management — Under 18 below

State Management — Under 18

If the member is under 18 years old, the client application must enter a blocked state immediately. Parental consent is required to provide counseling to a minor.

RuleRequirement
Flow terminationBlock the member from continuing; the workflow must not proceed
Cross-page navigationThe member must not be able to navigate back to any other page
MessagingRender the exact emergency message below with organization-specific values rendered dynamically
Cache expirationThe block automatically expires after 24 hours, after which the member may access the site again

Required blocked-state message (render with dynamic organization values):

Thank you for answering. To complete your request, please call our 24/7 support line now:

{Emergency Phone Number by Country}

Support is moments away.

If you are experiencing suicidal thoughts, homicidal thoughts, or domestic violence, please call us at {Emergency Phone Number by Country}. If you are experiencing a life-threatening situation, please call emergency services or go to the nearest emergency room.

Identity Information

FieldTypeRequiredAllowed Values
GenderenumYesAgender, Bi-gendered, Female, Gender Fluid, Gender Queer, Intersex, Male, Non-Binary/Non-Conforming, Other, Pangender, Transgender, Unable to Answer, Unknown / Decline
Preferred PronounsenumNoHe/Him, He/They, She/Her, She/They, They/Them, XE/XEM, Other

Member Details

FieldTypeRequiredAllowed Values
Member TypeenumYesEmployee, Family Member, Household Member
Marital StatusenumYesCo-habitating, Common-law, Co-Parenting, Decline to Answer, Divorced, In a relationship, Married, Partner, Separated, Single, Unable to Answer, Widowed

Contact Information

FieldTypeRequiredValidation / Notes
EmailstringYes
Phone NumberstringYesMust support international phone number formats
Can we leave a voicemail?booleanYesYes / No

Address Information

FieldTypeRequiredValidation / Notes
Address Line 1stringYes
Address Line 2stringNo
CitystringYes
State / Province / CountyenumYesWhen Country = United States, validate against all U.S. states and territories, including Puerto Rico (PR) and U.S. Virgin Islands (VI). U.S. selections must use USPS two-letter state/territory abbreviations (e.g., CA, NY, PR, VI).
Postal CodestringYesMust support international postal code formats
CountryenumYesMust include all countries globally

Legal Acceptance

FieldTypeRequired
Terms & Agreement and Privacy Policy AcceptancebooleanYes

Success Page

The success page message must vary based on the flow used. The client application must render the appropriate message exactly as defined below, with values rendered dynamically based on organization-specific configuration.

Note: All success page messaging may be overridden by values defined in the organization's internal Custom Success Message Settings. If custom messaging is configured, the client application must render the organization-provided content instead of the default messages below.

In-App Scheduling — Default Success Message

Displayed after an In-App Scheduling request is submitted.

Your appointment request has been received!

Please allow up to 48 hours for your clinician to confirm your appointment. You will receive a confirmation or follow-up via email.

If you do not hear back within that time, feel free to reach out to us at eapsupport@myeap.io

Note: This service is not intended for emergencies. If you are in crisis, please call our 24/7 hotline at {emergency_phone_by_country}.

Stand-Alone Intake — Default Success Message

Displayed after a Stand-Alone Intake request is submitted (the API payload name is Intake).

Your request has been received!

Please allow up to 48 hours to hear back regarding your request. You will receive a confirmation or follow-up via email.

If you do not hear back within that time, feel free to reach out to us at eapsupport@myeap.io

Note: This service is not intended for emergencies. If you are in crisis, please call our 24/7 hotline at {emergency_phone_by_country}.

Intake Customizations

Organization-configurable intake settings are managed on the backend and delivered to the client via the API. The client application must inspect the API response for these configuration values and dynamically render the corresponding UI elements when present.

Configuration Inheritance

Intake customizations can be configured at either the parent or child organization level:

  • Parent-level settings apply to all child organizations by default.
  • Child-level settings override parent configurations and apply only to that specific organization.

Custom Success Messages

PropertyBehavior
SourceBackend organization configuration, returned by the API
UI effectReplaces the default success message for the corresponding flow
Applicable flowsStand-Alone Intake, In-App Scheduling, Work-Life Requests

When a custom success message is configured, the client application must render the organization-provided content instead of the default messages defined in Success Page.

Custom Modality Message

PropertyBehavior
SourceBackend organization configuration, returned by the API
UI effectOptional banner displayed at the top of the Modality Selection page
PurposeOrganization-specific guidance, modality limitations or recommendations, or expectations prior to modality selection

When present, the client application must render this banner before the member selects a counseling modality.

Custom Intake Questions

The API supports organization-level configuration for additional intake UI elements. When returned by the API, the client application must render each custom question dynamically.

PropertyTypeRequiredDescription
Question LabelstringYesDisplay text for the question
Helper TextstringNoSupplemental guidance shown below the label
RequiredbooleanYesIndicates whether the question must be answered (Yes / No)
Question TypeenumYesOne of: text, multi-select, single-select
OptionsstringConditionalComma-separated values; required for multi-select and single-select question types