Screening
A service to create, manage, and progress through Mindstep screenings.
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 toPOST /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.