Get Survey Information

GET /surveys



Enables the retrieval of survey information based upon the query parameters given. This is the survey definition and not survey data; to get survey data you must use the Report end-points.

The start and end date used for each survey is the first form start date and last form end date. In other words, it takes the max of the information and rater form end dates and the min of the information and rater form start dates. It is provided for convenience for the user (used in the IOL3 display).

Dates will be provided in ISO 8601 format. For example, 2012-02-13T01:34:52Z will be used instead of February 2, 2012 1:34:52a UTC. This can be parsed in Java using the SimpleDateFormat and this pattern "yyyy-MM-dd'T'HH:mm:ss'Z".
new java.text.SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z").format(new Date());

The response will include some IDs for:

  • institution - more information about this can be found using the GET /institutions REST end-point.
  • information form ID - more information about this can be found using the GET /forms REST end-point.
  • rater form ID - more information about this can be found using the GET /forms REST end-point.
In addition, the information and rater form will hold additional values to provide details on when the forms started/ended and the survey subject (first and last name along with title).

This REST end-point is used by the Report Management page in IOL3.

Resource URL

https://api.ideasystem.org/v1/surveys

Parameters

page
optional
Default: 0
Example: /v1/surveys?page=1
Used to retrieve more results. Can be incremented until the results returned are less than the max parameter.
max
optional
Default: 100
Example: /v1/surveys?max=10
The max parameter can be used to limit how many results are returned. It is recommended that this value be set as low as possible given the client needs. The max allowable value is 100. If a value greater than 100 is specified, only 100 results will be returned.
has_reports
optional
Default: ALL
Example: /v1/surveys?has_reports=true
Filters surveys based on whether there are associated reports. If parameter is not included, all surveys will be returned independent of whether they have reports. If parameter is included, only surveys matching filter will be returned. For example, to filter by surveys that have associated reports set has_reports=true. Possible values include: ALL, true, false
institution
optional
 
Example: /v1/surveys?institution=IDEA
Filters surveys based on institution name. This parameter supports wildcards. For example, to get all surveys for institutions with names container ‘IDEA’ set institution=IDEA.
institution_id
optional
 
Example: /v1/surveys?institution_id=12345
Filters surveys based on institution ID. This ID can be found using the GET /institutions REST end-point. This will over-ride any definition of institution name; in other words, don't use institution and institution_id together.
survey_group_id
optional
 
Example: /v1/surveys?survey_group_id=1234
Filters surveys by specified survey group ID. This is the group ID that IDEA uses and is returned from the initial submission as groupID (see the /services/survey REST end-point).
src_survey_group_id
optional
 
Example: /v1/surveys?src_survey_group_id=1234
Filters surveys by specified source survey group ID. This is the client supplied group ID.
reports_generated_since
optional
 
Example: /v1/surveys?reports_generated_since=2012-09-06T00%3A00%3A00Z
Filters the surveys that have had reports generated since the specified date. This allows the client to see only the "most recent" surveys.
types
optional
 
Example: /v1/surveys?types=chair%2C16%2C17
Filter the surveys by type; this can be specified by the information or rater form IDs (e.g, 13, 16, 17) or by the type name (e.g., chair, diagnostic). You can get a list of valid form type IDs through the GET /forms REST end-point. This allows the client to see only the certain type of surveys.
valid
optional
 
Example: /v1/surveys?valid=true
By default this end-point will only return valid surveys. If you want to see invalid surveys, set this parameter to false. Test/demo surveys or surveys that have been replaced by resubmitted data are marked as invalid.
sort
optional
Default: +id
Example: /v1/surveys?sort=-created
Sort the surveys returned based upon the given fields. You can specify one or more of the following:
  • id: sort based upon the IDEA survey ID
  • created: sort based upon the date the survey was created.
  • ended: sort based upon the date the survey ended.
  • institution: sort based upon the institution name this survey is associated with.
  • subject: sort based upon the survey subject name.
Each field should be preceded by a + (ascending) or - (descending) to specify the ordering of the sort.
subject
optional
 
Example: /v1/surveys?subject=smith
Filter the surveys by survey subject name. This will search the first, middle, and last names.
program_code
optional
 
Example: /v1/surveys?program_code=01.01
Filter the surveys by program (CIP) code. This will search for surveys whose info form has program equal to the provided code.
start_date
optional
 
Example: /v1/surveys?start_date=2015-10-16
Filter the surveys by start date. This provides an ability to pull all the surveys for a term, year, or any other date range (when used in combination with end_date).
end_date
optional
 
Example: /v1/surveys?end_date=2015-10-21
Filter the surveys by end date. This provides an ability to pull all the surveys for a term, year, or any other date range (when used in combination with start_date).
discipline_code
optional
 
Example: /v1/surveys?discipline_code=100
Filter the surveys by discipline code. This will search for surveys whose info form has discipline equal to the provided code.
discipline_id
optional
 
Example: /v1/surveys?discipline_id=1
Filter the surveys by discipline ID. This will search for surveys whose info form has discipline equal to the provided ID.
subject_email
optional
 
Example: /v1/surveys?subject_email=j.smith%40ideaedu.org
Filter the surveys by subject email address. This will search for surveys whose info form subject has email equal to the provided value.
subject_sex
optional
 
Example: /v1/surveys?subject_sex=Female
Filter the surveys by subject sex. This will search for surveys whose info form subject has sex equal to the provided value. Valid values are [Male, Female].
subject_appointment
optional
 
Example: /v1/surveys?subject_appointment=Tenured
Filter the surveys by subject appointment status. This will search for surveys whose info form subject has appointment equal to the provided value. Valid values are [Tenured, Tenure Track, Adjunct].
subject_employment_status
optional
 
Example: /v1/surveys?subject_employment_status=Full+Time
Filter the surveys by subject employment status. This will search for surveys whose info form subject has employment status equal to the provided value. Valid values are [Full Time, Part Time]
subject_role
optional
 
Example: /v1/surveys?subject_role=Primary
Filter the surveys by subject role. This will search for surveys whose info form subject has role to the provided value. Valid values are [Primary, Secondary, Lab, Teaching Assistant, Preceptor].
subject_src_id
optional
 
Example: /v1/surveys?subject_src_id=ABC123
Filter the surveys by subject source ID. This will search for surveys whose info form subject has source ID equal to the provided value.
course_src_id
optional
 
Example: /v1/surveys?course_src_id=2017-Q1-CS100
Filter the surveys by course source ID. This will search for surveys whose course has source ID equal to the provided value.
course_subject
optional
 
Example: /v1/surveys?course_subject=Intro+to+Comp+Sci
Filter the surveys by course subject. This will search for surveys whose course has subject equal to the provided value.
course_number
optional
 
Example: /v1/surveys?course_number=CS100
Filter the surveys by course number. This will search for surveys whose course has number equal to the provided value.
course_delivery_mode
optional
 
Example: /v1/surveys?course_delivery_mode=Face+to+Face
Filter the surveys by course delivery mode. This will search for surveys whose delivery mode is equal to the provided value. Valid values are [Online, Face to Face, Hybrid, Unknown].
course_type
optional
 
Example: /v1/surveys?course_type=Graduate
Filter the surveys by course type. This will search for surveys whose type is equal to the provided value. Valid values are [Graduate, Undergraduate, Professional, Developmental, Undergraduate Non Transferable, Undergraduate Transferable].
course_section_src_id
optional
 
Example: /v1/surveys?course_section_src_id=2017-Q1-CS100-A
Filter the surveys by course section source ID. This will search for surveys whose course section has source ID equal to the provided value.
course_section_subject
optional
 
Example: /v1/surveys?course_section_subject=Intro+to+Comp+Sci
Filter the surveys by course section subject. This will search for surveys whose course section has subject equal to the provided value.
course_section_number
optional
 
Example: /v1/surveys?course_section_number=CS100-A
Filter the surveys by course section number. This will search for surveys whose course section has number equal to the provided value.
course_section_delivery_mode
optional
 
Example: /v1/surveys?course_section_delivery_mode=Face+to+Face
Filter the surveys by course section delivery mode. This will search for surveys whose delivery mode is equal to the provided value. Valid values are [Online, Face to Face, Hybrid, Unknown].

Response

The response will be an HTTP 200 along with a JSON body that contains the surveys that match the given query parameters. If an error occurs with the parameters that are passed in, an HTTP 400 will be returned along with an error message in a JSON body. All other errors will return an HTTP 500 (Internal Server Error).

Response Parameters (JSON Body)

max
Example: "max": 50
Shows the maximum number of responses.
page
Example: "page": 1
Shows the page number.
total_results
Example: "total_results": 143
Shows the total number of results that are provided by the given query.
data
Example: "data": { ... }
An array of survey objects will be returned in this section. The size of this array should match the total_results.
data.id
Example: "id": 1
The survey ID.
data.group_id
Example: "group_id": 1
The survey group ID.
data.src_name
Example: "src_name": "IOL3"
The source name this survey is associated with, i.e., where it came from.
data.src_id
Example: "src_id": "1"
The source survey ID. This is an ID that is given to the IDEA system by our clients. For IOL3, this is the ID that it stores.
data.src_group_id
Example: "src_group_id": "1"
The source survey group ID. This is an ID for a group of surveys that is given to the IDEA system by our clients. For Campus Labs, this would be the administrativeID.
data.year
Example: "year": 2012
This indicates the year that this survey was administered.
data.term
Example: "term": "Fall"
This indicates a term in which this survey was administered. For example, it might be Spring, January, or Q1.
data.includes_gap_analysis
Example: "includes_gap_analysis": true
True if this survey includes gap analysis and false otherwise.
data.demographic_group_ids
Example: "demographic_group_ids": []
An array of demographic group IDs that were selected for use in this survey. The details on the demographic group can be retrieved using the /demographic_groups end-point. Optional.
data.end_date
Example: "end_date": "2012-09-06T00:00:00Z"
The end date of the survey. This will be the latest of the information and rater form end dates.
data.start_date
Example: "start_date": "2012-09-06T00:00:00Z"
The start date of the survey. This will be earliest of the information and rater form start dates.
data.creation_date
Example: "creation_date": "2012-09-06T00:00:00Z"
The date this survey was created. For IOL3, this will be when the client request is created.
data.course
Example: "course": { ... }
Defines the course information. This will include details like the time and days that the class meets, the course name and number, and a local code used for grouping in reports.
data.course.title
Example: "title": "Intro to Biology"
Defines the course title.
data.course.number
Example: "number": "101"
Defines the course number.
data.course.local_code
Example: "local_code": "01 02 345
The local code provides a way to group related surveys. This will be useful in grouping data later in group summary reports. This is free-form so any type of text can be used.
data.course.days
Example: "days": "MWF"
Defines the days that the course meets. This is free-form so any type of days can be used. For example, it might meet on Monday, Wednesday, and Friday and specified as "MWF" or "Mon, Wed, Fri".
data.course.time
Example: "time": "14:30"
Defines the time that the course meets. This is free-form so any type of time can be used.
data.course.src_id
Example: "src_id": "01-23-456-789"
Provides a mapping from to the source system's course. This is optional.
data.course.subject
Example: "subject": "BIO"
The course's subject. For example, BIO in BIO 101. This is optional.
data.course.type
Example: "type": "undergraduate"
The type of course. This is optional but if provided will be one of the following: Undergraduate (Undergrad, U), Graduate (Grad, G), Professional (Prof, P), Developmental (Dev, D), Undergraduate Transferable (Undergraduate-Transferable, UT), or Undergraduate Non Transferable (Undergraduate-Non-Transferable, UNT).
data.course.delivery_mode
Example: "delivery_mode": "online"
The delivery mode of the course. This is optional but if provided will be one of the following: Online (OL, on line, on_line, on-line), Face to Face (face-to-face, facetoface, F2F), or Hybrid.
data.course.term_type
Example: "term_type": "semester"
The term type this course is part of. This is optional but if provided will be one of the following: Semester, Trimester, Quarter, Intersession, Module, or Annual.
data.course.start_date
Example: "start_date": "2016-01-01"
The date the course starts on in the form of yyyy-MM-dd where yyyy is the 4 digit year (e.g., 2017), MM is the 2 digit month (e.g, 01), and dd is the 2 digit day of month (e.g., 24).
data.course.end_date
Example: "end_date": "2017-01-01"
The date the course ends on in the form of yyyy-MM-dd where yyyy is the 4 digit year (e.g., 2017), MM is the 2 digit month (e.g, 05), and dd is the 2 digit day of month (e.g., 10).
data.course.section
Example: "section": { ... }
When a survey is associated with only 1 section of a course, this portion might be populated to provide details on that course section.
data.course.section.title
Example: "title": "Intro to Biology"
Defines the course section title.
data.course.section.number
Example: "number": "101"
Defines the course section number.
data.course.section.src_id
Example: "src_id": "01-23-456-789"
Provides a mapping from to the source system's course section. This is optional.
data.course.section.subject
Example: "subject": "BIO"
The course section's subject. For example, BIO in BIO 101. This is optional.
data.course.section.start_date
Example: "start_date": "2016-01-01"
The date the course section starts on in the form of yyyy-MM-dd where yyyy is the 4 digit year (e.g., 2017), MM is the 2 digit month (e.g, 01), and dd is the 2 digit day of month (e.g., 24).
data.course.section.end_date
Example: "end_date": "2017-01-01"
The date the course section ends on in the form of yyyy-MM-dd where yyyy is the 4 digit year (e.g., 2017), MM is the 2 digit month (e.g, 05), and dd is the 2 digit day of month (e.g., 10).
data.course.section.delivery_mode
Example: "delivery_mode": "online"
The delivery mode of the course section. This is optional but if provided will be one of the following: Online (OL, on line, on_line, on-line), Face to Face (face-to-face, facetoface, F2F), or Hybrid.
data.course.section.days
Example: "days": "MWF"
Defines the days that the course section meets. This is free-form so any type of days can be used. For example, it might meet on Monday, Wednesday, and Friday and specified as "MWF" or "Mon, Wed, Fri".
data.course.section.time
Example: "time": "14:30"
Defines the time that the course section meets. This is free-form so any type of time can be used.
data.course.section.local_code
Example: "local_code": "01 02 345
The local code provides a way to group related surveys. This will be useful in grouping data later in group summary reports. This is free-form so any type of text can be used.
data.info_form
Example: "info_form": { ... }
The information form contains details about survey form that the survey subject will fill out. For the Administrator and Chair system, this will include any gap analysis questions. For the Student Ratings system, this will include objectives and other information about the course that is being taught.
data.info_form.id
Example: "id": 123
The ID of the form. This matches up with the IDs that can be retrieved from the /forms end-point. It allows the user of this data to look-up the meta-data about the form including the questions.
data.info_form.startDate
Example: "startDate": "2012-09-06T00:00:00Z"
The date that this survey first becomes available to respondents.
data.info_form.endDate
Example: "endDate": "2012-09-06T23:59:59Z"
The date that this survey becomes unavailable to respondents.
data.info_form.discipline_code
Example: "discipline_code": 1611
The discipline code for the information form. This value is optional.
data.info_form.respondents
Example: "respondents": [ ... ]
An array of survey subject information. More than likely, this will be a single survey subject. It will contain the survey subject's name (first and last) and title.
data.info_form.respondents.first_name
Example: "first_name": "Bob"
The first name of info form respondent; this is the survey subject (e.g., faculty member, administrator, chair).
data.info_form.respondents.middle_name
Example: "middle_name": "Lee"
The middle name of info form respondent; this is the survey subject (e.g., faculty member, administrator, chair).
data.info_form.respondents.last_name
Example: "last_name": "Smith"
The last name of info form respondent; this is the survey subject (e.g., faculty member, administrator, chair).
data.info_form.respondents.title
Example: "title": "Dean of Medicine"
The title of info form respondent; this is the survey subect's title (e.g., Chair, Professor, Provost).
data.info_form.respondents.position_code
Example: "position_code": 1234
The position code of this survey subject. This is used in the Feedback System for Administrators to denote the type of Administrator this person is. For example, a Dean of Agriculture would select position code 1201 where 1201 is the ID of the position code.
data.info_form.respondents.src_id
Example: "src_id": "9876-5432-10"
The survey subject's source ID; this is optional but if provided gives a way to map the survey data to a 3rd party system.
data.info_form.respondents.email
Example: "email": "someName@someInstitution.edu"
The email address for the survey subject; this is optional.
data.info_form.respondents.role
Example: "role": "Primary"
The survey subject's role in the class; this is optional but if provided will be Primary, Secondary, Lab, Teaching Assistant, or Preceptor.
data.info_form.respondents.sex
Example: "sex": "Male"
The survey subject's sex; this is optional but if provided will be Male or Female.
data.info_form.respondents.employment_status
Example: "employment_status": "Full-time"
The survey subject's employment status; this is optional but if provided will be Full-time or Part-time.
data.info_form.respondents.appointment
Example: "appointment": "Tenured"
The survey subject's appointment type; this is optional but if provided will be Adjunct, Tenured, or Tenure-track.
data.info_form.respondents.races
Example: "races": []
A list of the survey subject's races. This is optional but if provided is an unordered list of String values that are unique (aka, a Set).
data.rater_form
Example: "rater_form": { ... }
The rater form contains details about the survey form that the survey respondents will fill out.
data.rater_form.id
Example: "id": 123
The ID of the form. This matches up with the IDs that can be retrieved from the /forms end-point. It allows the user of this data to look-up the meta-data about the form including the questions.
data.rater_form.startDate
Example: "startDate": "2012-09-06T00:00:00Z"
The date that this survey first becomes available to respondents.
data.rater_form.endDate
Example: "endDate": "2012-09-06T23:59:59Z"
The date that this survey becomes unavailable to respondents.
rater_form.custom_question_groups
Example: "custom_question_groups": [ ... ]
Defines the custom (or extra) questions that were added to this survey.
rater_form.custom_question_groups.number
Example: "number": 1
custom question group number
rater_form.custom_question_groups.type
Example: "type": "open"
custom question group type, one of: scaled (legacy), likert, open, semanticDifference, multipleChoice, fillInTheBlank, mixed
rater_form.custom_question_groups.title
Example: "title": Question Group 1
custom question group title
rater_form.custom_question_groups.message
Example: "message": "question group 1"
custom question group message
rater_form.custom_question_groups.questions
Example: "questions": [ ... ]
array of questions in this group
rater_form.custom_question_groups.questions.id
Example: "id": 1
unique question identifier in the IDEA system
rater_form.custom_question_groups.questions.number
Example: "number": 12
custom question number
rater_form.custom_question_groups.questions.text
Example: "text": "Likert question 8"
custom question text
rater_form.custom_question_groups.questions.type
Example: "type": "scaled"
One of: scaled (legacy), likert, open, semanticDifference, multipleChoiceSingleAnswer, multipleChoiceMultipleAnswer, fillInTheBlank
rater_form.custom_question_groups.questions.response_options
array of valid response options for a scaled question
rater_form.custom_question_groups.questions.response_options.value
Example: "value": 1
response value
rater_form.custom_question_groups.questions.response_options.description
Example: "description": "Very Low"
response option description
rater_form.custom_question_groups.questions.response_options.abbreviation
Example: "abbreviation": "Very Low"
short response option name/description
rater_form.custom_question_groups.questions.response_options.is_excluded
Example: "is_excluded": false
true if this response option should be excluded from calculated values
rater_form.custom_question_groups.response_options
Example: "response_options":[ ... ]
array of valid response options for a scaled question group. If each question has it's own response options, this should be omitted
rater_form.custom_question_groups.response_options.description
Example: "description": "Very High"
response option description
rater_form.custom_question_groups.response_options.abbreviation
Example: "abbreviation": "Very High"
short response option name/description
rater_form.custom_question_groups.response_options.is_excluded
Example: "is_excluded": false
true if this response option should be excluded from calculated values
data.institution_id
Example: "institution_id": 1
The ID of the institution that this survey is associated with. This matches up with the IDs that can be retrieved from the /institutions end-point. It allows the user of this data to look-up the meta-data about the institution this survey is associated with (name, FICE, etc.).
data.institution_name
Example: "institution_name": "IDEA Center"
The name of the institution that this survey is associated with. This matches up with the names that can be retrieved from the /institutions end-point.

Example

This request will retrieve up to 10 surveys that are on the 2nd page (page 0 on a zero-number list) where the institution contains IDEA and the survey has reports available.

Request

GET /v1/surveys?page=1&max=10&institution=IDEA&has_reports=true

Response (as JSON)

HTTP 200
{
"max": 10,
"page": 1,
"total_results": 12,
"data": [
    {
        "id": 123,
        "group_id": 234,
        "src_name": "IOL3",
        "src_id": "4321",
        "src_group_id": "5432",
        "year": 2012,
        "term": "09/03/2012",
        "includes_gap_analysis": true,
        "demographic_group_ids": [ 654, 657, 658, 662 ], //Optional list that defines what demographic groups were selected.
        "end_date": "2012-09-25T00:00:00Z",
        "start_date": "2012-09-06T00:00:00Z",
        "creation_date": "2012-09-05T14:20:07Z",
        "course": {
            "title": "Introduction to REST APIs",
            "number": "101",
            "local_code": "012345", // Institution defined local code
            "days": "MWF",
            "time": "14:30",
            "src_id": "01-23456789-0011",
            "subject": "REST",
            "type": "undergraduate",
            "delivery_mode": "Face to Face",
            "term_type": "semester",
            "start_date": "2017-01-01",
            "end_date": "2017-05-01",
            "section": {
                "title": "RESTful APIs Lab",
                "number": "101a",
                "src_id": "01-23456789-0012",
                "subject": "REST",
                "start_date": "2017-01-01",
                "end_date": "2017-05-01",
                "delivery_mode": "hybrid",
                "days": "TU",
                "time": "08:30",
                "local_code": "54321" // Institution defined local code
            }
        },
        "info_form":
        {
            "id": 456,
            "start_date": "2012-09-06T00:00:00Z",
            "end_date": "2012-09-25T00:00:00Z",
            "respondents":
            [
                {
                    "first_name": "Test",
                    "middle_name": "My",
                    "last_name": "Subject",
                    "title": "Dean",
                    "position_code": 12,
                    "src_id": "0123-4567890",
                    "email": "some.person@institution.edu",
                    "role": "primary",
                    "sex": "female",
                    "employment_status": "full-time",
                    "appointment": "tenured",
                    "races": [
                        "Hispanic",
                        "Pacific Islander"
                    ]
                }
            ]
        },
        "rater_form":
        {
            "id": 457,
            "start_date": "2012-09-06T00:00:00Z",
            "end_date": "2012-09-25T00:00:00Z",
            "custom_question_groups":
             [
                {
                    "number": 1,
                    "type":"open",
                    "title": "Open Question Group Title",
                    "message": "This is an open question group message",
                    "questions":
                    [
                        {
                            "id": 123,
                            "number": 1,
                            "text": "This is an open question 1",
                            "type": "open",
                            "response_options": []
                        }
                    ]
                },
                {
                    "number": 2,
                    "type":"scale",
                    "title": "Scaled Question Group Title",
                    "message": "This is a scaled question group message",
                    "questions":
                    [
                        {
                            "id": 124,
                            "number": 1,
                            "text": "This is a scaled question 1",
                            "type": "scaled",
                            "response_options":
                            [
                                {
                                    "value": 1,
                                    "description": "This is option 1",
                                    "abbreviation": "O1",
                                    "is_excluded": false
                                },
                                {
                                    "value": 2,
                                    "description": "This is option 2",
                                    "abbreviation": "O2",
                                    "is_excluded": false
                                },
                                {
                                    "value": 3,
                                    "description": "This is option 3",
                                    "abbreviation": "O3",
                                    "is_excluded": false
                                },
                                {
                                    "value": 4,
                                    "description": "Cannot Judge",
                                    "abbreviation": "CJ",
                                    "is_excluded": true
                                }
                            ]
                        }, ...
                    ]
                },...
             ]
        },
        "institution_id": 54209,
        "institution_name": "IDEA Center"
    },
    {
        "id": 123,
        "group_id": 235,
        "src_name": "IOL3",
        "src_id": "4322",
        "src_group_id": "5433",
        "year": 2012,
        "term": "09/03/2012",
        "includes_gap_analysis": false,
        "end_date": "2012-09-25T00:00:00Z",
        "start_date": "2012-09-06T00:00:00Z",
        "creation_date": "2012-09-05T14:20:07Z",
        "info_form":
        {
            "id": 456,
            "start_date": "2012-09-06T00:00:00Z",
            "end_date": "2012-09-25T00:00:00Z",
            "respondents":
            [
                {
                    "first_name": "Test",
                    "middle_name": "My",
                    "last_name": "Subject",
                    "title": "Dean",
                    "position_code": 12,
                    "src_id": "0123-4567890",
                    "email": "some.person@institution.edu",
                    "role": "primary",
                    "sex": "female",
                    "employment_status": "full-time",
                    "appointment": "tenured",
                    "races": [
                        "Hispanic",
                        "Pacific Islander"
                    ]
                }
            ]
        },
        "rater_form":
        {
            "id": 457,
            "start_date": "2012-09-06T00:00:00Z",
            "end_date": "2012-09-25T00:00:00Z",
             "custom_question_groups":
             [
                {
                    "number": 1,
                    "type": "open",
                    "title": "Open Question Group Title",
                    "message": "This is an open question group message",
                    "questions":
                    [
                        {
                            "id": 123,
                            "number": 1,
                            "text": "This is an open question 1",
                            "type": "open",
                            "response_options": []
                        }
                    ]
                },
                {
                    "number": 2,
                    "type": "scaled",
                    "title": "Scaled Question Group Title",
                    "message": "This is a scaled question group message",
                    "questions":
                    [
                        {
                            "id": 124,
                            "number": 1,
                            "text": "This is a scaled question 1",
                            "type": "scaled",
                            "response_options":
                            [
                                {
                                    "value": 1,
                                    "description": "This is option 1",
                                    "abbreviation": "O1",
                                    "is_excluded": false
                                },
                                {
                                    "value": 2,
                                    "description": "This is option 2",
                                    "abbreviation": "O2",
                                    "is_excluded": false
                                },
                                {
                                    "value": 3,
                                    "description": "This is option 3",
                                    "abbreviation": "O3",
                                    "is_excluded": false
                                },
                                {
                                    "value": 4,
                                    "description": "Cannot Judge",
                                    "abbreviation": "CJ",
                                    "is_excluded": true
                                }
                            ]
                        }, ...
                    ]
                },...
             ]
        },
        "institution_id": 54209,
        "institution_name": "IDEA Center"
    }]
}