Skip to main content

Screening

A service to create, manage, and progress through Mindstep screenings.

tip

A "screening" is a single journey through the Mindstep triage system, covering one or more conditions. The outcome of a screening is a set of "results".

Most screenings consist of a number of "sequences". A sequence is an ordered list of instructions that a client can iterate over to obtain necessary data from an end user in order to progress the screening to its next state.

A screening can only transition to another state once the necessary data to do so has been provided. In most cases a new state is represented by a new sequence and this pattern is repeated until the screening reaches its end state.

Endpoints

POST /v1/screening

Create a new screening resource. Automatically handles rescreening based on the provided user identifier. Returns a screening identifier that can be used to subsequently interact with the screening resource, as well as the initial state of the screening.

Request body

  • userId (string, required): a unique identifier to represent the individual to whom this screening belongs.
  • type (string, required): the type of screening. See Screening Types to learn more.

Response body (example)

{
"id": "41ef5634-9cd4-41d1-9314-c634c549b3cc",
"state": {
"id": "symptoms",
"sequence": [
{
"type": "Message",
"text": "Over the last 2 weeks, did you experience any of these symptoms?"
},
{
"type" : "OptionGroup",
"maxSelections" : 7,
"onSubmit" : {
"type" : "User.Submitted<Screening.Response>",
"value" : {
"type" : "Screening.Response",
"key" : "symptomsIndication"
}
},
"options" : [
{
"exclusive" : false,
"label" : "Concussion",
"value" : "Concussion"
},
{
"exclusive" : false,
"label" : "Trouble sleeping",
"value" : "Trouble_Sleeping"
},
{
"exclusive" : false,
"label" : "Feeling down",
"value" : "Feeling_Down"
},
{
"exclusive" : false,
"label" : "Trouble focusing",
"value" : "Trouble_Focusing"
},
{
"exclusive" : false,
"label" : "Headaches",
"value" : "Headaches"
},
{
"exclusive" : false,
"label" : "Memory loss",
"value" : "Memory_Loss"
},
{
"exclusive" : false,
"label" : "Feeling worried",
"value" : "Feeling_Worried"
},
{
"exclusive" : true,
"label" : "None apply to me",
"value" : "None"
}
]
}
]
}
}

Discussion

In this example the screening resource is in a state that requires input from an end user. The sequence included in the response is a set of instructions that describe the necessary input.

The sequence begins with a "message" which includes literal text to be displayed to the user. The message is followed by an "option group" consisting of 8 options, each of which has a plain text label to be presented and a value to be returned to the service when selected.

The onSubmit property of the option group type represents instructions for returning this data. In this case, the next request to POST /v1/screening/:id would require a body consisting of a JSON-encoded object with symptomsIndication as its only property. The value of that property would be an array containing the values of the selected options.

See the section on sequences for detailed information on the types that can be contained within a sequence.

POST /v1/screening/:id

Advance an existing screening to its next state.

Parameters

  • id (string, required): a screening identifier obtained from a successful request to POST /v1/screening.

Request body

  • data (object): a map of response keys to values as instructed by the sequence representing the current state of the screening.

Response body (example)

The response body takes the same format as the response from POST /v1/screening. A sequence will be present in the response until the screening reaches its end state.

Discussion

Once a screening has been created a client is expected to repeatedly call this endpoint, sending back the requested data, until the response indicates that the screening has reached its end state. The end state is always indicated by an id of end. All other states will include a sequence that instructs the client on how to proceed.

See the section on sequences for detailed information on the types that can be contained within a sequence.

Screening types

Mindstep offers screenings for a number of conditions. The screening types available to you may differ depending on your package. To obtain access to further screenings please contact your account manager.

  • Mental Health (type mental_health) screens for clinical anxiety and clinical depression.
  • Sleep Quality (type sleep_quality) screens for sleep quality and fatigue levels.
  • Social Media (type social_media) measures social media dependency.
  • OCD (type ocd) measures severity of OCD symptoms.
  • Brain Fog (type brain_fog) screens for Brain Fog in isolation of as sequelae of other conditions.
  • Concussion (type concussion) screens for post-concussive syndrome.
  • Migraine (type migraine) screens for clinical migraine.
  • ADHD (type adhd) screens for adult ADHD.
  • Cognition (type cognition) screens for Mild Cognitive Impairment (early dementia).
  • PTSD (type ptsd) measures likelihood of post-traumatic stress disorder.
  • Attachment (type attachment) measures attachment style and severity.