Healthcare Research Platform

Healthcare Research Platform

Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.

Base URLs:

Authentication

  • HTTP Authentication, scheme: bearer

Project

Retrieve all project lists.

Code samples

URL obj = new URL("http://localhost:3030/api/projects");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

GET /projects

Example responses

200 Response

[
  {
    "id": {
      "value": 0
    },
    "name": "string",
    "isOpen": true,
    "info": {
      "property1": {},
      "property2": {}
    },
    "createdAt": "2019-08-24T14:15:22Z",
    "deletedAt": "2019-08-24T14:15:22Z"
  }
]

Responses

Status

Meaning

Description

Schema

200

OK

A list of projects is returned.

Inline

default

Default

An unexpected error has occurred.

Inline

Response Schema

Status Code default

Name

Type

Required

Restrictions

Description

» code

integer(int32)

true

none

none

» message

string

true

none

none

Create a new project for healthcare research.

Code samples

URL obj = new URL("http://localhost:3030/api/projects");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

POST /projects

Body parameter

{
  "name": "string",
  "isOpen": true,
  "info": {
    "property1": {},
    "property2": {}
  }
}

Parameters

Name

In

Type

Required

Description

body

body

object

true

Provide project details.

Example responses

default Response

{
  "code": 0,
  "message": "string"
}

Responses

Status

Meaning

Description

Schema

201

Created

Project created successfully.

None

default

Default

An unexpected error has occurred.

Inline

Response Schema

Status Code default

Name

Type

Required

Restrictions

Description

» code

integer(int32)

true

none

none

» message

string

true

none

none

Retrieve information for a specific project.

Code samples

URL obj = new URL("http://localhost:3030/api/projects/{projectId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

GET /projects/{projectId}

Parameters

Name

In

Type

Required

Description

projectId

path

string

true

Provide the id of the project to retrieve.

Example responses

200 Response

{
  "id": {
    "value": 0
  },
  "name": "string",
  "isOpen": true,
  "info": {
    "property1": {},
    "property2": {}
  },
  "createdAt": "2019-08-24T14:15:22Z",
  "deletedAt": "2019-08-24T14:15:22Z"
}

Responses

Status

Meaning

Description

Schema

200

OK

Specific project information returned.

Inline

default

Default

An unexpected error has occurred.

Inline

Response Schema

Status Code default

Name

Type

Required

Restrictions

Description

» code

integer(int32)

true

none

none

» message

string

true

none

none

Register a user as a participant of the project.

Code samples

URL obj = new URL("http://localhost:3030/api/projects/{projectId}/users");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

POST /projects/{projectId}/users

Body parameter

{
  "userId": "1cUoc4KcejOY89f2PzDc9Z8Fyf53",
  "profile": {
    "birth": "1992-02-24",
    "gender": "female"
  }
}

Parameters

Name

In

Type

Required

Description

body

body

object

true

Provide participant details.

projectId

path

string

true

Provide the id of the project for user registration.

id-token

header

string

true

Provide the unique user token (generated by firebase).

Example responses

default Response

{
  "code": 0,
  "message": "string"
}

Responses

Status

Meaning

Description

Schema

201

Created

Participant registered successfully.

None

default

Default

An unexpected error has occurred.

Inline

Response Schema

Status Code default

Name

Type

Required

Restrictions

Description

» code

integer(int32)

true

none

none

» message

string

true

none

none

Update the profile of the user.

Code samples

URL obj = new URL("http://localhost:3030/api/projects/{projectId}/users/{userId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PATCH");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

PATCH /projects/{projectId}/users/{userId}

Body parameter

{
  "profile": {
    "birth": "1992-02-24",
    "gender": "female"
  }
}

Parameters

Name

In

Type

Required

Description

body

body

object

true

Provide updated participant details.

projectId

path

string

true

Provide the id of the project for user registration.

userId

path

string

true

Provide the id of the user to be updated.

id-token

header

string

true

Provide the unique user token (generated by firebase).

Example responses

default Response

{
  "code": 0,
  "message": "string"
}

Responses

Status

Meaning

Description

Schema

200

OK

User profile updated successfully.

None

default

Default

An unexpected error has occurred.

Inline

Response Schema

Status Code default

Name

Type

Required

Restrictions

Description

» code

integer(int32)

true

none

none

» message

string

true

none

none

Retrieve a list of tasks.

Code samples

URL obj = new URL("http://localhost:3030/api/projects/{projectId}/tasks");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

GET /projects/{projectId}/tasks

Parameters

Name

In

Type

Required

Description

start_time

query

string(date-time)

false

If not provided, retrieves all tasks created after start_time.

end_time

query

string(date-time)

false

If not provided, retrieves all tasks created before end_time.

last_sync_time

query

string(date-time)

false

(For mobile application) Retrieve tasks that were published after last_sync_time.

status

query

string

false

If not provided, retrieves all tasks regardless of status.

type

query

string

false

If not provided, retrieves all tasks regardless of type.

projectId

path

string

true

Provide the id of the project to retrieve.

Enumerated Values

Parameter

Value

status

DRAFT

status

PUBLISHED

type

SURVEY

type

ACTIVITY

Example responses

200 Response

[
  {
    "revisionId": 0,
    "id": "string",
    "title": "string",
    "description": "string",
    "schedule": "0 0/1 * 1/1 * ? *",
    "startTime": "2019-08-24T14:15:22Z",
    "endTime": "2019-08-24T14:15:22Z",
    "validTime": 0,
    "status": "DRAFT",
    "type": "SURVEY",
    "items": [
      {
        "name": "string",
        "type": "QUESTION",
        "contents": {
          "title": "string",
          "explanation": "string",
          "required": true,
          "type": "CHOICE",
          "properties": {
            "tag": "RADIO",
            "options": [
              {
                "value": "string",
                "label": "string"
              }
            ],
            "display_logic": {},
            "skip_logic": [
              {
                "condition": "Or contains val4 1 notcontains val4 2",
                "goToAction": null,
                "goToItemSequence": 3
              }
            ]
          }
        },
        "sequence": 0
      }
    ]
  }
]

Responses

Status

Meaning

Description

Schema

200

OK

List of tasks retrieved successfully.

Inline

default

Default

An unexpected error has occurred.

Inline

Response Schema

Status Code 200

Name

Type

Required

Restrictions

Description

» revisionId

integer

true

none

none

» id

string

true

none

none

» title

string

true

none

none

» description

string

false

none

none

» schedule

string

false

none

in cronQuartz format

» startTime

string(date-time)

false

none

none

» endTime

string(date-time)

false

none

If not exists, there's no expiration.

» validTime

integer

false

none

Valid time of each task (minute-based).

» status

string

true

none

none

» type

string

true

none

none

» items

[any]

true

none

none

»» name

string

true

none

none

»» type

string

true

none

Type of Item

»» contents

any

true

none

According to the type, it will be changed.

oneOf

Name

Type

Required

Restrictions

Description

»»» anonymous

object

false

none

none

»»»» title

string

true

none

Same with query.

»»»» explanation

string

false

none

none

»»»» required

boolean

false

none

none

»»»» type

string

true

none

none

»»»» properties

object

true

none

It depends on the value of 'type'.

oneOf

Name

Type

Required

Restrictions

Description

»»»»» anonymous

object

false

none

none

»»»»»» tag

string

true

none

Only one option can be chosen for radio, dropdown, image. Multiple options can be chosen for checkbox, multi-image.

»»»»»» options

[any]

true

none

none

»»»»»»» value

string

true

none

For Image Question, you have to put link of Image in this field.

»»»»»»» label

string

false

none

This field can be used when type is IMAGE to generate Image Question with label. Also, if you want to create Image Question with label, all options have to include their own labels.

»»»»»» display_logic

object

false

none

Not used in v1.0.

»»»»»» skip_logic

[any]

false

none

none

»»»»»»» condition

string

false

none

Expression that match BranchRule.

»»»»»»» goToAction

string

false

none

Not used in v1.0.

»»»»»»» goToItemSequence

integer

false

none

If condition holds, then skip to sequence $goToItemSequence.

xor

Name

Type

Required

Restrictions

Description

»»»»» anonymous

object

false

none

none

»»»»»» tag

string

true

none

none

xor

Name

Type

Required

Restrictions

Description

»»»»» anonymous

object

false

none

none

»»»»»» tag

string

true

none

none

»»»»»» options

[any]

true

none

none

»»»»»»» value

string

true

none

none

xor

Name

Type

Required

Restrictions

Description

»»»»» anonymous

object

false

none

none

»»»»»» tag

string

true

none

none

»»»»»» low

integer

true

none

Min value of scale.

»»»»»» high

integer

true

none

Max value of scale.

»»»»»» lowLabel

string

false

none

Label of min value.

»»»»»» highLabel

string

false

none

Label of max value.

xor

Name

Type

Required

Restrictions

Description

»»»»» anonymous

object

false

none

none

»»»»»» tag

string

true

none

none

»»»»»» isTime

boolean

false

none

Either isTime or isDate has to be true.

»»»»»» isDate

boolean

false

none

Either isTime or isDate has to be true.

»»»»»» isRange

boolean

false

none

none

xor

Name

Type

Required

Restrictions

Description

»»» anonymous

object

false

none

none

»»»» title

string

false

none

Same with query.

»»»» properties

object

false

none

none

»»»»» display_logic

object

false

none

Not used in v1.0.

xor

Name

Type

Required

Restrictions

Description

»»» anonymous

object

false

none

none

»»»» completionTitle

string

true

none

Title of completion message.

»»»» completionDescription

string

false

none

none

»»»» required

boolean

false

none

none

»»»» type

string

true

none

none

»»»» properties

object

false

none

Field for configurable values. This is not used for v1.0.

continued

Name

Type

Required

Restrictions

Description

»» sequence

integer

true

none

Sequence of this item in a task.

Enumerated Values

Property

Value

status

DRAFT

status

PUBLISHED

type

SURVEY

type

ACTIVITY

type

QUESTION

type

SECTION

type

ACTIVITY

type

CHOICE

type

TEXT

type

RANK

type

SCALE

type

DATETIME

tag

RADIO

tag

CHECKBOX

tag

DROPDOWN

tag

MULTIIMAGE

tag

IMAGE

tag

TEXT

tag

RANK

tag

SLIDER

tag

DATETIME

type

TAPPING_SPEED

type

REACTION_TIME

type

RANGE_OF_MOTION

type

GAIT_AND_BALANCE

type

GUIDED_BREATHING

type

STROOP_TEST

type

SPEECH_RECOGNITION

type

MOBILE_SPIROMETRY

type

SUSTAINED_PHONATION

Status Code default

Name

Type

Required

Restrictions

Description

» code

integer(int32)

true

none

none

» message

string

true

none

none

Create a new task.

Code samples

URL obj = new URL("http://localhost:3030/api/projects/{projectId}/tasks");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

POST /projects/{projectId}/tasks

Body parameter

{
  "type": "SURVEY"
}

Parameters

Name

In

Type

Required

Description

body

body

object

true

Provide task details.

projectId

path

string

true

Provide the id of the project to retrieve.

Example responses

201 Response

{
  "revisionId": 0,
  "id": "string"
}

Responses

Status

Meaning

Description

Schema

201

Created

Task created successfully.

Inline

default

Default

An unexpected error has occurred.

Inline

Response Schema

Status Code 201

Name

Type

Required

Restrictions

Description

» revisionId

integer

true

none

none

» id

string

true

none

none

Status Code default

Name

Type

Required

Restrictions

Description

» code

integer(int32)

true

none

none

» message

string

true

none

none

Upload task results.

Code samples

URL obj = new URL("http://localhost:3030/api/projects/{projectId}/tasks");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PATCH");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

PATCH /projects/{projectId}/tasks

Body parameter

[
  {
    "revisionId": 0,
    "taskId": "string",
    "userId": "string",
    "startedAt": "2019-08-24T14:15:22Z",
    "submittedAt": "2019-08-24T14:15:22Z",
    "itemResults": [
      {
        "itemName": "string",
        "result": "string"
      }
    ]
  }
]

Parameters

Name

In

Type

Required

Description

body

body

array[object]

true

none

projectId

path

string

true

Provide the id of the project to retrieve.

Example responses

default Response

{
  "code": 0,
  "message": "string"
}

Responses

Status

Meaning

Description

Schema

201

Created

Task results uploaded successfully.

None

default

Default

An unexpected error has occurred.

Inline

Response Schema

Status Code default

Name

Type

Required

Restrictions

Description

» code

integer(int32)

true

none

none

» message

string

true

none

none

Retrieve tasks with a specific task_id.

Code samples

URL obj = new URL("http://localhost:3030/api/projects/{projectId}/tasks/{taskId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

GET /projects/{projectId}/tasks/{taskId}

Parameters

Name

In

Type

Required

Description

projectId

path

string

true

Provide the id of the project to retrieve.

taskId

path

string

true

Provide the id of the task.

Example responses

200 Response

[
  {
    "revisionId": 0,
    "id": "string",
    "title": "string",
    "description": "string",
    "schedule": "0 0/1 * 1/1 * ? *",
    "startTime": "2019-08-24T14:15:22Z",
    "endTime": "2019-08-24T14:15:22Z",
    "validTime": 0,
    "status": "DRAFT",
    "type": "SURVEY",
    "items": [
      {
        "name": "string",
        "type": "QUESTION",
        "contents": {
          "title": "string",
          "explanation": "string",
          "required": true,
          "type": "CHOICE",
          "properties": {
            "tag": "RADIO",
            "options": [
              {
                "value": "string",
                "label": "string"
              }
            ],
            "display_logic": {},
            "skip_logic": [
              {
                "condition": "Or contains val4 1 notcontains val4 2",
                "goToAction": null,
                "goToItemSequence": 3
              }
            ]
          }
        },
        "sequence": 0
      }
    ]
  }
]

Responses

Status

Meaning

Description

Schema

200

OK

Task details retrieved successfully.

Inline

default

Default

An unexpected error has occurred.

Inline

Response Schema

Status Code 200

Name

Type

Required

Restrictions

Description

» revisionId

integer

true

none

none

» id

string

true

none

none

» title

string

true

none

none

» description

string

false

none

none

» schedule

string

false

none

in cronQuartz format

» startTime

string(date-time)

false

none

none

» endTime

string(date-time)

false

none

If not exists, there's no expiration.

» validTime

integer

false

none

Valid time of each task (minute-based).

» status

string

true

none

none

» type

string

true

none

none

» items

[any]

true

none

none

»» name

string

true

none

none

»» type

string

true

none

Type of Item

»» contents

any

true

none

According to the type, it will be changed.

oneOf

Name

Type

Required

Restrictions

Description

»»» anonymous

object

false

none

none

»»»» title

string

true

none

Same with query.

»»»» explanation

string

false

none

none

»»»» required

boolean

false

none

none

»»»» type

string

true

none

none

»»»» properties

object

true

none

It depends on the value of 'type'.

oneOf

Name

Type

Required

Restrictions

Description

»»»»» anonymous

object

false

none

none

»»»»»» tag

string

true

none

Only one option can be chosen for radio, dropdown, image. Multiple options can be chosen for checkbox, multi-image.

»»»»»» options

[any]

true

none

none

»»»»»»» value

string

true

none

For Image Question, you have to put link of Image in this field.

»»»»»»» label

string

false

none

This field can be used when type is IMAGE to generate Image Question with label. Also, if you want to create Image Question with label, all options have to include their own labels.

»»»»»» display_logic

object

false

none

Not used in v1.0.

»»»»»» skip_logic

[any]

false

none

none

»»»»»»» condition

string

false

none

Expression that match BranchRule.

»»»»»»» goToAction

string

false

none

Not used in v1.0.

»»»»»»» goToItemSequence

integer

false

none

If condition holds, then skip to sequence $goToItemSequence.

xor

Name

Type

Required

Restrictions

Description

»»»»» anonymous

object

false

none

none

»»»»»» tag

string

true

none

none

xor

Name

Type

Required

Restrictions

Description

»»»»» anonymous

object

false

none

none

»»»»»» tag

string

true

none

none

»»»»»» options

[any]

true

none

none

»»»»»»» value

string

true

none

none

xor

Name

Type

Required

Restrictions

Description

»»»»» anonymous

object

false

none

none

»»»»»» tag

string

true

none

none

»»»»»» low

integer

true

none

Min value of scale.

»»»»»» high

integer

true

none

Max value of scale.

»»»»»» lowLabel

string

false

none

Label of min value.

»»»»»» highLabel

string

false

none

Label of max value.

xor

Name

Type

Required

Restrictions

Description

»»»»» anonymous

object

false

none

none

»»»»»» tag

string

true

none

none

»»»»»» isTime

boolean

false

none

Either isTime or isDate has to be true.

»»»»»» isDate

boolean

false

none

Either isTime or isDate has to be true.

»»»»»» isRange

boolean

false

none

none

xor

Name

Type

Required

Restrictions

Description

»»» anonymous

object

false

none

none

»»»» title

string

false

none

Same with query.

»»»» properties

object

false

none

none

»»»»» display_logic

object

false

none

Not used in v1.0.

xor

Name

Type

Required

Restrictions

Description

»»» anonymous

object

false

none

none

»»»» completionTitle

string

true

none

Title of completion message.

»»»» completionDescription

string

false

none

none

»»»» required

boolean

false

none

none

»»»» type

string

true

none

none

»»»» properties

object

false

none

Field for configurable values. This is not used for v1.0.

continued

Name

Type

Required

Restrictions

Description

»» sequence

integer

true

none

Sequence of this item in a task.

Enumerated Values

Property

Value

status

DRAFT

status

PUBLISHED

type

SURVEY

type

ACTIVITY

type

QUESTION

type

SECTION

type

ACTIVITY

type

CHOICE

type

TEXT

type

RANK

type

SCALE

type

DATETIME

tag

RADIO

tag

CHECKBOX

tag

DROPDOWN

tag

MULTIIMAGE

tag

IMAGE

tag

TEXT

tag

RANK

tag

SLIDER

tag

DATETIME

type

TAPPING_SPEED

type

REACTION_TIME

type

RANGE_OF_MOTION

type

GAIT_AND_BALANCE

type

GUIDED_BREATHING

type

STROOP_TEST

type

SPEECH_RECOGNITION

type

MOBILE_SPIROMETRY

type

SUSTAINED_PHONATION

Status Code default

Name

Type

Required

Restrictions

Description

» code

integer(int32)

true

none

none

» message

string

true

none

none

Update a specific task.

Code samples

URL obj = new URL("http://localhost:3030/api/projects/{projectId}/tasks/{taskId}?revision_id=0");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PATCH");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

PATCH /projects/{projectId}/tasks/{taskId}

Only tasks in DRAFT status can be updated. This is intended for auto-save or status changes.

Body parameter

{
  "title": "string",
  "description": "string",
  "schedule": "0 0/1 * 1/1 * ? *",
  "startTime": "2019-08-24T14:15:22Z",
  "endTime": "2019-08-24T14:15:22Z",
  "validTime": 0,
  "status": "DRAFT",
  "type": "SURVEY",
  "items": [
    {
      "type": "QUESTION",
      "contents": {
        "title": "string",
        "explanation": "string",
        "required": true,
        "type": "CHOICE",
        "properties": {
          "tag": "RADIO",
          "options": [
            {
              "value": "string",
              "label": "string"
            }
          ],
          "display_logic": {},
          "skip_logic": [
            {
              "condition": "Or contains val4 1 notcontains val4 2",
              "goToAction": null,
              "goToItemSequence": 3
            }
          ]
        }
      },
      "sequence": 0
    }
  ]
}

Parameters

Name

In

Type

Required

Description

revision_id

query

integer

true

none

body

body

object

true

none

projectId

path

string

true

Provide the id of the project to retrieve.

taskId

path

string

true

Provide the id of the task.

Example responses

default Response

{
  "code": 0,
  "message": "string"
}

Responses

Status

Meaning

Description

Schema

204

No Content

Task updated successfully.

None

default

Default

An unexpected error has occurred.

Inline

Response Schema

Status Code default

Name

Type

Required

Restrictions

Description

» code

integer(int32)

true

none

none

» message

string

true

none

none

Create in-lab visit data.

Code samples

URL obj = new URL("http://localhost:3030/api/projects/{projectId}/in-lab-visits");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

POST /projects/{projectId}/in-lab-visits

Body parameter

{
  "userId": "string",
  "checkedInBy": "string",
  "startTime": "2019-08-24T14:15:22Z",
  "endTime": "2019-08-24T14:15:22Z",
  "notes": "string"
}

Parameters

Name

In

Type

Required

Description

body

body

object

true

none

projectId

path

string

true

Provide the id of the project to retrieve.

Example responses

201 Response

{
  "id": 0,
  "userId": "string",
  "checkedInBy": "string",
  "startTime": "2019-08-24T14:15:22Z",
  "endTime": "2019-08-24T14:15:22Z",
  "notes": "string",
  "filesPath": "in-lab-visit/u1234"
}

Responses

Status

Meaning

Description

Schema

201

Created

In-lab visit data created successfully.

Inline

default

Default

An unexpected error has occurred.

Inline

Response Schema

Status Code 201

Name

Type

Required

Restrictions

Description

» id

integer

true

none

none

» userId

string

true

none

none

» checkedInBy

string

true

none

none

» startTime

string(date-time)

true

none

none

» endTime

string(date-time)

true

none

none

» notes

string

true

none

none

» filesPath

string

true

none

none

Status Code default

Name

Type

Required

Restrictions

Description

» code

integer(int32)

true

none

none

» message

string

true

none

none

Retrieve a list of in-lab visits.

Code samples

URL obj = new URL("http://localhost:3030/api/projects/{projectId}/in-lab-visits");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

GET /projects/{projectId}/in-lab-visits

Parameters

Name

In

Type

Required

Description

projectId

path

string

true

Provide the id of the project to retrieve.

Example responses

200 Response

[
  {
    "id": 0,
    "userId": "string",
    "checkedInBy": "string",
    "startTime": "2019-08-24T14:15:22Z",
    "endTime": "2019-08-24T14:15:22Z",
    "notes": "string",
    "filesPath": "in-lab-visit/u1234"
  }
]

Responses

Status

Meaning

Description

Schema

200

OK

List of in-lab visits retrieved successfully.

Inline

default

Default

An unexpected error has occurred.

Inline

Response Schema

Status Code 200

Name

Type

Required

Restrictions

Description

» id

integer

true

none

none

» userId

string

true

none

none

» checkedInBy

string

true

none

none

» startTime

string(date-time)

true

none

none

» endTime

string(date-time)

true

none

none

» notes

string

true

none

none

» filesPath

string

true

none

none

Status Code default

Name

Type

Required

Restrictions

Description

» code

integer(int32)

true

none

none

» message

string

true

none

none

Retrieve in-lab visits with a specific inLabVisitId.

Code samples

URL obj = new URL("http://localhost:3030/api/projects/{projectId}/in-lab-visits/{inLabVisitId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

GET /projects/{projectId}/in-lab-visits/{inLabVisitId}

Parameters

Name

In

Type

Required

Description

projectId

path

string

true

Provide the id of the project to retrieve.

inLabVisitId

path

string

true

Provide the id of the in-lab visit data.

Example responses

200 Response

{
  "id": 0,
  "userId": "string",
  "checkedInBy": "string",
  "startTime": "2019-08-24T14:15:22Z",
  "endTime": "2019-08-24T14:15:22Z",
  "notes": "string",
  "filesPath": "in-lab-visit/u1234"
}

Responses

Status

Meaning

Description

Schema

200

OK

In-lab visit data retrieved successfully.

Inline

default

Default

An unexpected error has occurred.

Inline

Response Schema

Status Code 200

Name

Type

Required

Restrictions

Description

» id

integer

true

none

none

» userId

string

true

none

none

» checkedInBy

string

true

none

none

» startTime

string(date-time)

true

none

none

» endTime

string(date-time)

true

none

none

» notes

string

true

none

none

» filesPath

string

true

none

none

Status Code default

Name

Type

Required

Restrictions

Description

» code

integer(int32)

true

none

none

» message

string

true

none

none

Update in-lab visit data with a specific inLabVisitId.

Code samples

URL obj = new URL("http://localhost:3030/api/projects/{projectId}/in-lab-visits/{inLabVisitId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PATCH");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

PATCH /projects/{projectId}/in-lab-visits/{inLabVisitId}

Body parameter

{
  "userId": "string",
  "checkedInBy": "string",
  "startTime": "2019-08-24T14:15:22Z",
  "endTime": "2019-08-24T14:15:22Z",
  "notes": "string"
}

Parameters

Name

In

Type

Required

Description

body

body

object

true

none

projectId

path

string

true

Provide the id of the project to retrieve.

inLabVisitId

path

string

true

Provide the id of the in-lab visit data.

Example responses

200 Response

{
  "id": 0,
  "userId": "string",
  "checkedInBy": "string",
  "startTime": "2019-08-24T14:15:22Z",
  "endTime": "2019-08-24T14:15:22Z",
  "notes": "string",
  "filesPath": "in-lab-visit/u1234"
}

Responses

Status

Meaning

Description

Schema

200

OK

In-lab visit data updated successfully.

Inline

default

Default

An unexpected error has occurred.

Inline

Response Schema

Status Code 200

Name

Type

Required

Restrictions

Description

» id

integer

true

none

none

» userId

string

true

none

none

» checkedInBy

string

true

none

none

» startTime

string(date-time)

true

none

none

» endTime

string(date-time)

true

none

none

» notes

string

true

none

none

» filesPath

string

true

none

none

Status Code default

Name

Type

Required

Restrictions

Description

» code

integer(int32)

true

none

none

» message

string

true

none

none

Schemas

Id




{
  "value": 0
}

Properties

Name

Type

Required

Restrictions

Description

value

integer

true

none

none

BaseTime




{
  "createdAt": "2019-08-24T14:15:22Z",
  "deletedAt": "2019-08-24T14:15:22Z"
}

Properties

Name

Type

Required

Restrictions

Description

createdAt

string(date-time)

false

none

none

deletedAt

string(date-time)

false

none

none

Project




{
  "name": "string",
  "isOpen": true,
  "info": {
    "property1": {},
    "property2": {}
  }
}

Properties

Name

Type

Required

Restrictions

Description

name

string

true

none

none

isOpen

boolean

false

none

none

info

object

false

none

none

» additionalProperties

object

false

none

none

ProjectRes




{
  "id": {
    "value": 0
  },
  "name": "string",
  "isOpen": true,
  "info": {
    "property1": {},
    "property2": {}
  },
  "createdAt": "2019-08-24T14:15:22Z",
  "deletedAt": "2019-08-24T14:15:22Z"
}

Properties

allOf

Name

Type

Required

Restrictions

Description

anonymous

object

false

none

none

» id

object

false

none

none

»» value

integer

true

none

none

and

Name

Type

Required

Restrictions

Description

anonymous

object

false

none

none

» name

string

true

none

none

» isOpen

boolean

false

none

none

» info

object

false

none

none

»» additionalProperties

object

false

none

none

and

Name

Type

Required

Restrictions

Description

anonymous

object

false

none

none

» createdAt

string(date-time)

false

none

none

» deletedAt

string(date-time)

false

none

none

ProjectsRes




[
  {
    "id": {
      "value": 0
    },
    "name": "string",
    "isOpen": true,
    "info": {
      "property1": {},
      "property2": {}
    },
    "createdAt": "2019-08-24T14:15:22Z",
    "deletedAt": "2019-08-24T14:15:22Z"
  }
]

Properties

allOf

Name

Type

Required

Restrictions

Description

anonymous

object

false

none

none

» id

object

false

none

none

»» value

integer

true

none

none

and

Name

Type

Required

Restrictions

Description

anonymous

object

false

none

none

» name

string

true

none

none

» isOpen

boolean

false

none

none

» info

object

false

none

none

»» additionalProperties

object

false

none

none

and

Name

Type

Required

Restrictions

Description

anonymous

object

false

none

none

» createdAt

string(date-time)

false

none

none

» deletedAt

string(date-time)

false

none

none

Projects




[
  {
    "name": "string",
    "isOpen": true,
    "info": {
      "property1": {},
      "property2": {}
    }
  }
]

Properties

Name

Type

Required

Restrictions

Description

name

string

true

none

none

isOpen

boolean

false

none

none

info

object

false

none

none

» additionalProperties

object

false

none

none

Participant




{
  "userId": "1cUoc4KcejOY89f2PzDc9Z8Fyf53",
  "profile": {
    "birth": "1992-02-24",
    "gender": "female"
  }
}

Properties

Name

Type

Required

Restrictions

Description

userId

string

true

none

Unique id of user (generated by Firebase).

profile

object

false

none

Participant information in JSON with no pre-defined fields.

ParticipantUpdate




{
  "profile": {
    "birth": "1992-02-24",
    "gender": "female"
  }
}

Properties

Name

Type

Required

Restrictions

Description

profile

object

true

none

Participant information in JSON with no pre-defined fields.

Participants




[
  {
    "userId": "1cUoc4KcejOY89f2PzDc9Z8Fyf53",
    "profile": {
      "birth": "1992-02-24",
      "gender": "female"
    }
  }
]

Properties

Name

Type

Required

Restrictions

Description

userId

string

true

none

Unique id of user (generated by Firebase).

profile

object

false

none

Participant information in JSON with no pre-defined fields.

TextQuestion




{
  "tag": "TEXT"
}

Properties

Name

Type

Required

Restrictions

Description

tag

string

true

none

none

Enumerated Values

Property

Value

tag

TEXT

ChoiceQuestion




{
  "tag": "RADIO",
  "options": [
    {
      "value": "string",
      "label": "string"
    }
  ],
  "display_logic": {},
  "skip_logic": [
    {
      "condition": "Or contains val4 1 notcontains val4 2",
      "goToAction": null,
      "goToItemSequence": 3
    }
  ]
}

Properties

Name

Type

Required

Restrictions

Description

tag

string

true

none

Only one option can be chosen for radio, dropdown, image. Multiple options can be chosen for checkbox, multi-image.

options

[any]

true

none

none

» value

string

true

none

For Image Question, you have to put link of Image in this field.

» label

string

false

none

This field can be used when type is IMAGE to generate Image Question with label. Also, if you want to create Image Question with label, all options have to include their own labels.

display_logic

object

false

none

Not used in v1.0.

skip_logic

[any]

false

none

none

» condition

string

false

none

Expression that match BranchRule.

» goToAction

string

false

none

Not used in v1.0.

» goToItemSequence

integer

false

none

If condition holds, then skip to sequence $goToItemSequence.

Enumerated Values

Property

Value

tag

RADIO

tag

CHECKBOX

tag

DROPDOWN

tag

MULTIIMAGE

tag

IMAGE

RankQuestion




{
  "tag": "RANK",
  "options": [
    {
      "value": "string"
    }
  ]
}

Properties

Name

Type

Required

Restrictions

Description

tag

string

true

none

none

options

[any]

true

none

none

» value

string

true

none

none

Enumerated Values

Property

Value

tag

RANK

ScaleQuestion




{
  "tag": "SLIDER",
  "low": 0,
  "high": 0,
  "lowLabel": "Somewhat disagree.",
  "highLabel": "Strongly agree"
}

Properties

Name

Type

Required

Restrictions

Description

tag

string

true

none

none

low

integer

true

none

Min value of scale.

high

integer

true

none

Max value of scale.

lowLabel

string

false

none

Label of min value.

highLabel

string

false

none

Label of max value.

Enumerated Values

Property

Value

tag

SLIDER

DateTimeQuestion




{
  "tag": "DATETIME",
  "isTime": true,
  "isDate": true,
  "isRange": false
}

Properties

Name

Type

Required

Restrictions

Description

tag

string

true

none

none

isTime

boolean

false

none

Either isTime or isDate has to be true.

isDate

boolean

false

none

Either isTime or isDate has to be true.

isRange

boolean

false

none

none

Enumerated Values

Property

Value

tag

DATETIME

Question




{
  "title": "string",
  "explanation": "string",
  "required": true,
  "type": "CHOICE",
  "properties": {
    "tag": "RADIO",
    "options": [
      {
        "value": "string",
        "label": "string"
      }
    ],
    "display_logic": {},
    "skip_logic": [
      {
        "condition": "Or contains val4 1 notcontains val4 2",
        "goToAction": null,
        "goToItemSequence": 3
      }
    ]
  }
}

Properties

Name

Type

Required

Restrictions

Description

title

string

true

none

Same with query.

explanation

string

false

none

none

required

boolean

false

none

none

type

string

true

none

none

properties

object

true

none

It depends on the value of 'type'.

oneOf

Name

Type

Required

Restrictions

Description

» anonymous

object

false

none

none

»» tag

string

true

none

Only one option can be chosen for radio, dropdown, image. Multiple options can be chosen for checkbox, multi-image.

»» options

[any]

true

none

none

»»» value

string

true

none

For Image Question, you have to put link of Image in this field.

»»» label

string

false

none

This field can be used when type is IMAGE to generate Image Question with label. Also, if you want to create Image Question with label, all options have to include their own labels.

»» display_logic

object

false

none

Not used in v1.0.

»» skip_logic

[any]

false

none

none

»»» condition

string

false

none

Expression that match BranchRule.

»»» goToAction

string

false

none

Not used in v1.0.

»»» goToItemSequence

integer

false

none

If condition holds, then skip to sequence $goToItemSequence.

xor

Name

Type

Required

Restrictions

Description

» anonymous

object

false

none

none

»» tag

string

true

none

none

xor

Name

Type

Required

Restrictions

Description

» anonymous

object

false

none

none

»» tag

string

true

none

none

»» options

[any]

true

none

none

»»» value

string

true

none

none

xor

Name

Type

Required

Restrictions

Description

» anonymous

object

false

none

none

»» tag

string

true

none

none

»» low

integer

true

none

Min value of scale.

»» high

integer

true

none

Max value of scale.

»» lowLabel

string

false

none

Label of min value.

»» highLabel

string

false

none

Label of max value.

xor

Name

Type

Required

Restrictions

Description

» anonymous

object

false

none

none

»» tag

string

true

none

none

»» isTime

boolean

false

none

Either isTime or isDate has to be true.

»» isDate

boolean

false

none

Either isTime or isDate has to be true.

»» isRange

boolean

false

none

none

Enumerated Values

Property

Value

type

CHOICE

type

TEXT

type

RANK

type

SCALE

type

DATETIME

tag

RADIO

tag

CHECKBOX

tag

DROPDOWN

tag

MULTIIMAGE

tag

IMAGE

tag

TEXT

tag

RANK

tag

SLIDER

tag

DATETIME

Section




{
  "title": "string",
  "properties": {
    "display_logic": {}
  }
}

Properties

Name

Type

Required

Restrictions

Description

title

string

false

none

Same with query.

properties

object

false

none

none

» display_logic

object

false

none

Not used in v1.0.

Activity




{
  "completionTitle": "string",
  "completionDescription": "string",
  "required": true,
  "type": "TAPPING_SPEED",
  "properties": {}
}

Properties

Name

Type

Required

Restrictions

Description

completionTitle

string

true

none

Title of completion message.

completionDescription

string

false

none

none

required

boolean

false

none

none

type

string

true

none

none

properties

object

false

none

Field for configurable values. This is not used for v1.0.

Enumerated Values

Property

Value

type

TAPPING_SPEED

type

REACTION_TIME

type

RANGE_OF_MOTION

type

GAIT_AND_BALANCE

type

GUIDED_BREATHING

type

STROOP_TEST

type

SPEECH_RECOGNITION

type

MOBILE_SPIROMETRY

type

SUSTAINED_PHONATION

Item




{
  "name": "string",
  "type": "QUESTION",
  "contents": {
    "title": "string",
    "explanation": "string",
    "required": true,
    "type": "CHOICE",
    "properties": {
      "tag": "RADIO",
      "options": [
        {
          "value": "string",
          "label": "string"
        }
      ],
      "display_logic": {},
      "skip_logic": [
        {
          "condition": "Or contains val4 1 notcontains val4 2",
          "goToAction": null,
          "goToItemSequence": 3
        }
      ]
    }
  },
  "sequence": 0
}

Properties

Name

Type

Required

Restrictions

Description

name

string

true

none

none

type

string

true

none

Type of Item

contents

any

true

none

According to the type, it will be changed.

oneOf

Name

Type

Required

Restrictions

Description

» anonymous

object

false

none

none

»» title

string

true

none

Same with query.

»» explanation

string

false

none

none

»» required

boolean

false

none

none

»» type

string

true

none

none

»» properties

object

true

none

It depends on the value of 'type'.

oneOf

Name

Type

Required

Restrictions

Description

»»» anonymous

object

false

none

none

»»»» tag

string

true

none

Only one option can be chosen for radio, dropdown, image. Multiple options can be chosen for checkbox, multi-image.

»»»» options

[any]

true

none

none

»»»»» value

string

true

none

For Image Question, you have to put link of Image in this field.

»»»»» label

string

false

none

This field can be used when type is IMAGE to generate Image Question with label. Also, if you want to create Image Question with label, all options have to include their own labels.

»»»» display_logic

object

false

none

Not used in v1.0.

»»»» skip_logic

[any]

false

none

none

»»»»» condition

string

false

none

Expression that match BranchRule.

»»»»» goToAction

string

false

none

Not used in v1.0.

»»»»» goToItemSequence

integer

false

none

If condition holds, then skip to sequence $goToItemSequence.

xor

Name

Type

Required

Restrictions

Description

»»» anonymous

object

false

none

none

»»»» tag

string

true

none

none

xor

Name

Type

Required

Restrictions

Description

»»» anonymous

object

false

none

none

»»»» tag

string

true

none

none

»»»» options

[any]

true

none

none

»»»»» value

string

true

none

none

xor

Name

Type

Required

Restrictions

Description

»»» anonymous

object

false

none

none

»»»» tag

string

true

none

none

»»»» low

integer

true

none

Min value of scale.

»»»» high

integer

true

none

Max value of scale.

»»»» lowLabel

string

false

none

Label of min value.

»»»» highLabel

string

false

none

Label of max value.

xor

Name

Type

Required

Restrictions

Description

»»» anonymous

object

false

none

none

»»»» tag

string

true

none

none

»»»» isTime

boolean

false

none

Either isTime or isDate has to be true.

»»»» isDate

boolean

false

none

Either isTime or isDate has to be true.

»»»» isRange

boolean

false

none

none

xor

Name

Type

Required

Restrictions

Description

» anonymous

object

false

none

none

»» title

string

false

none

Same with query.

»» properties

object

false

none

none

»»» display_logic

object

false

none

Not used in v1.0.

xor

Name

Type

Required

Restrictions

Description

» anonymous

object

false

none

none

»» completionTitle

string

true

none

Title of completion message.

»» completionDescription

string

false

none

none

»» required

boolean

false

none

none

»» type

string

true

none

none

»» properties

object

false

none

Field for configurable values. This is not used for v1.0.

continued

Name

Type

Required

Restrictions

Description

sequence

integer

true

none

Sequence of this item in a task.

Enumerated Values

Property

Value

type

QUESTION

type

SECTION

type

ACTIVITY

type

CHOICE

type

TEXT

type

RANK

type

SCALE

type

DATETIME

tag

RADIO

tag

CHECKBOX

tag

DROPDOWN

tag

MULTIIMAGE

tag

IMAGE

tag

TEXT

tag

RANK

tag

SLIDER

tag

DATETIME

type

TAPPING_SPEED

type

REACTION_TIME

type

RANGE_OF_MOTION

type

GAIT_AND_BALANCE

type

GUIDED_BREATHING

type

STROOP_TEST

type

SPEECH_RECOGNITION

type

MOBILE_SPIROMETRY

type

SUSTAINED_PHONATION

Items




[
  {
    "name": "string",
    "type": "QUESTION",
    "contents": {
      "title": "string",
      "explanation": "string",
      "required": true,
      "type": "CHOICE",
      "properties": {
        "tag": "RADIO",
        "options": [
          {
            "value": "string",
            "label": "string"
          }
        ],
        "display_logic": {},
        "skip_logic": [
          {
            "condition": "Or contains val4 1 notcontains val4 2",
            "goToAction": null,
            "goToItemSequence": 3
          }
        ]
      }
    },
    "sequence": 0
  }
]

Properties

Name

Type

Required

Restrictions

Description

name

string

true

none

none

type

string

true

none

Type of Item

contents

any

true

none

According to the type, it will be changed.

oneOf

Name

Type

Required

Restrictions

Description

» anonymous

object

false

none

none

»» title

string

true

none

Same with query.

»» explanation

string

false

none

none

»» required

boolean

false

none

none

»» type

string

true

none

none

»» properties

object

true

none

It depends on the value of 'type'.

oneOf

Name

Type

Required

Restrictions

Description

»»» anonymous

object

false

none

none

»»»» tag

string

true

none

Only one option can be chosen for radio, dropdown, image. Multiple options can be chosen for checkbox, multi-image.

»»»» options

[any]

true

none

none

»»»»» value

string

true

none

For Image Question, you have to put link of Image in this field.

»»»»» label

string

false

none

This field can be used when type is IMAGE to generate Image Question with label. Also, if you want to create Image Question with label, all options have to include their own labels.

»»»» display_logic

object

false

none

Not used in v1.0.

»»»» skip_logic

[any]

false

none

none

»»»»» condition

string

false

none

Expression that match BranchRule.

»»»»» goToAction

string

false

none

Not used in v1.0.

»»»»» goToItemSequence

integer

false

none

If condition holds, then skip to sequence $goToItemSequence.

xor

Name

Type

Required

Restrictions

Description

»»» anonymous

object

false

none

none

»»»» tag

string

true

none

none

xor

Name

Type

Required

Restrictions

Description

»»» anonymous

object

false

none

none

»»»» tag

string

true

none

none

»»»» options

[any]

true

none

none

»»»»» value

string

true

none

none

xor

Name

Type

Required

Restrictions

Description

»»» anonymous

object

false

none

none

»»»» tag

string

true

none

none

»»»» low

integer

true

none

Min value of scale.

»»»» high

integer

true

none

Max value of scale.

»»»» lowLabel

string

false

none

Label of min value.

»»»» highLabel

string

false

none

Label of max value.

xor

Name

Type

Required

Restrictions

Description

»»» anonymous

object

false

none

none

»»»» tag

string

true

none

none

»»»» isTime

boolean

false

none

Either isTime or isDate has to be true.

»»»» isDate

boolean

false

none

Either isTime or isDate has to be true.

»»»» isRange

boolean

false

none

none

xor

Name

Type

Required

Restrictions

Description

» anonymous

object

false

none

none

»» title

string

false

none

Same with query.

»» properties

object

false

none

none

»»» display_logic

object

false

none

Not used in v1.0.

xor

Name

Type

Required

Restrictions

Description

» anonymous

object

false

none

none

»» completionTitle

string

true

none

Title of completion message.

»» completionDescription

string

false

none

none

»» required

boolean

false

none

none

»» type

string

true

none

none

»» properties

object

false

none

Field for configurable values. This is not used for v1.0.

continued

Name

Type

Required

Restrictions

Description

sequence

integer

true

none

Sequence of this item in a task.

Enumerated Values

Property

Value

type

QUESTION

type

SECTION

type

ACTIVITY

type

CHOICE

type

TEXT

type

RANK

type

SCALE

type

DATETIME

tag

RADIO

tag

CHECKBOX

tag

DROPDOWN

tag

MULTIIMAGE

tag

IMAGE

tag

TEXT

tag

RANK

tag

SLIDER

tag

DATETIME

type

TAPPING_SPEED

type

REACTION_TIME

type

RANGE_OF_MOTION

type

GAIT_AND_BALANCE

type

GUIDED_BREATHING

type

STROOP_TEST

type

SPEECH_RECOGNITION

type

MOBILE_SPIROMETRY

type

SUSTAINED_PHONATION

ItemReq




{
  "type": "QUESTION",
  "contents": {
    "title": "string",
    "explanation": "string",
    "required": true,
    "type": "CHOICE",
    "properties": {
      "tag": "RADIO",
      "options": [
        {
          "value": "string",
          "label": "string"
        }
      ],
      "display_logic": {},
      "skip_logic": [
        {
          "condition": "Or contains val4 1 notcontains val4 2",
          "goToAction": null,
          "goToItemSequence": 3
        }
      ]
    }
  },
  "sequence": 0
}

Properties

Name

Type

Required

Restrictions

Description

type

string

true

none

Type of Item

contents

any

true

none

According to the type, it will be changed.

oneOf

Name

Type

Required

Restrictions

Description

» anonymous

object

false

none

none

»» title

string

true

none

Same with query.

»» explanation

string

false

none

none

»» required

boolean

false

none

none

»» type

string

true

none

none

»» properties

object

true

none

It depends on the value of 'type'.

oneOf

Name

Type

Required

Restrictions

Description

»»» anonymous

object

false

none

none

»»»» tag

string

true

none

Only one option can be chosen for radio, dropdown, image. Multiple options can be chosen for checkbox, multi-image.

»»»» options

[any]

true

none

none

»»»»» value

string

true

none

For Image Question, you have to put link of Image in this field.

»»»»» label

string

false

none

This field can be used when type is IMAGE to generate Image Question with label. Also, if you want to create Image Question with label, all options have to include their own labels.

»»»» display_logic

object

false

none

Not used in v1.0.

»»»» skip_logic

[any]

false

none

none

»»»»» condition

string

false

none

Expression that match BranchRule.

»»»»» goToAction

string

false

none

Not used in v1.0.

»»»»» goToItemSequence

integer

false

none

If condition holds, then skip to sequence $goToItemSequence.

xor

Name

Type

Required

Restrictions

Description

»»» anonymous

object

false

none

none

»»»» tag

string

true

none

none

xor

Name

Type

Required

Restrictions

Description

»»» anonymous

object

false

none

none

»»»» tag

string

true

none

none

»»»» options

[any]

true

none

none

»»»»» value

string

true

none

none

xor

Name

Type

Required

Restrictions

Description

»»» anonymous

object

false

none

none

»»»» tag

string

true

none

none

»»»» low

integer

true

none

Min value of scale.

»»»» high

integer

true

none

Max value of scale.

»»»» lowLabel

string

false

none

Label of min value.

»»»» highLabel

string

false

none

Label of max value.

xor

Name

Type

Required

Restrictions

Description

»»» anonymous

object

false

none

none

»»»» tag

string

true

none

none

»»»» isTime

boolean

false

none

Either isTime or isDate has to be true.

»»»» isDate

boolean

false

none

Either isTime or isDate has to be true.

»»»» isRange

boolean

false

none

none

xor

Name

Type

Required

Restrictions

Description

» anonymous

object

false

none

none

»» title

string

false

none

Same with query.

»» properties

object

false

none

none

»»» display_logic

object

false

none

Not used in v1.0.

xor

Name

Type

Required

Restrictions

Description

» anonymous

object

false

none

none

»» completionTitle

string

true

none

Title of completion message.

»» completionDescription

string

false

none

none

»» required

boolean

false

none

none

»» type

string

true

none

none

»» properties

object

false

none

Field for configurable values. This is not used for v1.0.

continued

Name

Type

Required

Restrictions

Description

sequence

integer

true

none

Sequence of this item in a task.

Enumerated Values

Property

Value

type

QUESTION

type

SECTION

type

ACTIVITY

type

CHOICE

type

TEXT

type

RANK

type

SCALE

type

DATETIME

tag

RADIO

tag

CHECKBOX

tag

DROPDOWN

tag

MULTIIMAGE

tag

IMAGE

tag

TEXT

tag

RANK

tag

SLIDER

tag

DATETIME

type

TAPPING_SPEED

type

REACTION_TIME

type

RANGE_OF_MOTION

type

GAIT_AND_BALANCE

type

GUIDED_BREATHING

type

STROOP_TEST

type

SPEECH_RECOGNITION

type

MOBILE_SPIROMETRY

type

SUSTAINED_PHONATION

ItemsReq




[
  {
    "type": "QUESTION",
    "contents": {
      "title": "string",
      "explanation": "string",
      "required": true,
      "type": "CHOICE",
      "properties": {
        "tag": "RADIO",
        "options": [
          {
            "value": "string",
            "label": "string"
          }
        ],
        "display_logic": {},
        "skip_logic": [
          {
            "condition": "Or contains val4 1 notcontains val4 2",
            "goToAction": null,
            "goToItemSequence": 3
          }
        ]
      }
    },
    "sequence": 0
  }
]

Properties

Name

Type

Required

Restrictions

Description

type

string

true

none

Type of Item

contents

any

true

none

According to the type, it will be changed.

oneOf

Name

Type

Required

Restrictions

Description

» anonymous

object

false

none

none

»» title

string

true

none

Same with query.

»» explanation

string

false

none

none

»» required

boolean

false

none

none

»» type

string

true

none

none

»» properties

object

true

none

It depends on the value of 'type'.

oneOf

Name

Type

Required

Restrictions

Description

»»» anonymous

object

false

none

none

»»»» tag

string

true

none

Only one option can be chosen for radio, dropdown, image. Multiple options can be chosen for checkbox, multi-image.

»»»» options

[any]

true

none

none

»»»»» value

string

true

none

For Image Question, you have to put link of Image in this field.

»»»»» label

string

false

none

This field can be used when type is IMAGE to generate Image Question with label. Also, if you want to create Image Question with label, all options have to include their own labels.

»»»» display_logic

object

false

none

Not used in v1.0.

»»»» skip_logic

[any]

false

none

none

»»»»» condition

string

false

none

Expression that match BranchRule.

»»»»» goToAction

string

false

none

Not used in v1.0.

»»»»» goToItemSequence

integer

false

none

If condition holds, then skip to sequence $goToItemSequence.

xor

Name

Type

Required

Restrictions

Description

»»» anonymous

object

false

none

none

»»»» tag

string

true

none

none

xor

Name

Type

Required

Restrictions

Description

»»» anonymous

object

false

none

none

»»»» tag

string

true

none

none

»»»» options

[any]

true

none

none

»»»»» value

string

true

none

none

xor

Name

Type

Required

Restrictions

Description

»»» anonymous

object

false

none

none

»»»» tag

string

true

none

none

»»»» low

integer

true

none

Min value of scale.

»»»» high

integer

true

none

Max value of scale.

»»»» lowLabel

string

false

none

Label of min value.

»»»» highLabel

string

false

none

Label of max value.

xor

Name

Type

Required

Restrictions

Description

»»» anonymous

object

false

none

none

»»»» tag

string

true

none

none

»»»» isTime

boolean

false

none

Either isTime or isDate has to be true.

»»»» isDate

boolean

false

none

Either isTime or isDate has to be true.

»»»» isRange

boolean

false

none

none

xor

Name

Type

Required

Restrictions

Description

» anonymous

object

false

none

none

»» title

string

false

none

Same with query.

»» properties

object

false

none

none

»»» display_logic

object

false

none

Not used in v1.0.

xor

Name

Type

Required

Restrictions

Description

» anonymous

object

false

none

none

»» completionTitle

string

true

none

Title of completion message.

»» completionDescription

string

false

none

none

»» required

boolean

false

none

none

»» type

string

true

none

none

»» properties

object

false

none

Field for configurable values. This is not used for v1.0.

continued

Name

Type

Required

Restrictions

Description

sequence

integer

true

none

Sequence of this item in a task.

Enumerated Values

Property

Value

type

QUESTION

type

SECTION

type

ACTIVITY

type

CHOICE

type

TEXT

type

RANK

type

SCALE

type

DATETIME

tag

RADIO

tag

CHECKBOX

tag

DROPDOWN

tag

MULTIIMAGE

tag

IMAGE

tag

TEXT

tag

RANK

tag

SLIDER

tag

DATETIME

type

TAPPING_SPEED

type

REACTION_TIME

type

RANGE_OF_MOTION

type

GAIT_AND_BALANCE

type

GUIDED_BREATHING

type

STROOP_TEST

type

SPEECH_RECOGNITION

type

MOBILE_SPIROMETRY

type

SUSTAINED_PHONATION

TaskId




{
  "revisionId": 0,
  "id": "string"
}

Properties

Name

Type

Required

Restrictions

Description

revisionId

integer

true

none

none

id

string

true

none

none

TaskType




{
  "type": "SURVEY"
}

Properties

Name

Type

Required

Restrictions

Description

type

string

true

none

none

Enumerated Values

Property

Value

type

SURVEY

type

ACTIVITY

Task




{
  "revisionId": 0,
  "id": "string",
  "title": "string",
  "description": "string",
  "schedule": "0 0/1 * 1/1 * ? *",
  "startTime": "2019-08-24T14:15:22Z",
  "endTime": "2019-08-24T14:15:22Z",
  "validTime": 0,
  "status": "DRAFT",
  "type": "SURVEY",
  "items": [
    {
      "name": "string",
      "type": "QUESTION",
      "contents": {
        "title": "string",
        "explanation": "string",
        "required": true,
        "type": "CHOICE",
        "properties": {
          "tag": "RADIO",
          "options": [
            {
              "value": "string",
              "label": "string"
            }
          ],
          "display_logic": {},
          "skip_logic": [
            {
              "condition": "Or contains val4 1 notcontains val4 2",
              "goToAction": null,
              "goToItemSequence": 3
            }
          ]
        }
      },
      "sequence": 0
    }
  ]
}

Properties

Name

Type

Required

Restrictions

Description

revisionId

integer

true

none

none

id

string

true

none

none

title

string

true

none

none

description

string

false

none

none

schedule

string

false

none

in cronQuartz format

startTime

string(date-time)

false

none

none

endTime

string(date-time)

false

none

If not exists, there's no expiration.

validTime

integer

false

none

Valid time of each task (minute-based).

status

string

true

none

none

type

string

true

none

none

items

[any]

true

none

none

» name

string

true

none

none

» type

string

true

none

Type of Item

» contents

any

true

none

According to the type, it will be changed.

oneOf

Name

Type

Required

Restrictions

Description

»» anonymous

object

false

none

none

»»» title

string

true

none

Same with query.

»»» explanation

string

false

none

none

»»» required

boolean

false

none

none

»»» type

string

true

none

none

»»» properties

object

true

none

It depends on the value of 'type'.

oneOf

Name

Type

Required

Restrictions

Description

»»»» anonymous

object

false

none

none

»»»»» tag

string

true

none

Only one option can be chosen for radio, dropdown, image. Multiple options can be chosen for checkbox, multi-image.

»»»»» options

[any]

true

none

none

»»»»»» value

string

true

none

For Image Question, you have to put link of Image in this field.

»»»»»» label

string

false

none

This field can be used when type is IMAGE to generate Image Question with label. Also, if you want to create Image Question with label, all options have to include their own labels.

»»»»» display_logic

object

false

none

Not used in v1.0.

»»»»» skip_logic

[any]

false

none

none

»»»»»» condition

string

false

none

Expression that match BranchRule.

»»»»»» goToAction

string

false

none

Not used in v1.0.

»»»»»» goToItemSequence

integer

false

none

If condition holds, then skip to sequence $goToItemSequence.

xor

Name

Type

Required

Restrictions

Description

»»»» anonymous

object

false

none

none

»»»»» tag

string

true

none

none

xor

Name

Type

Required

Restrictions

Description

»»»» anonymous

object

false

none

none

»»»»» tag

string

true

none

none

»»»»» options

[any]

true

none

none

»»»»»» value

string

true

none

none

xor

Name

Type

Required

Restrictions

Description

»»»» anonymous

object

false

none

none

»»»»» tag

string

true

none

none

»»»»» low

integer

true

none

Min value of scale.

»»»»» high

integer

true

none

Max value of scale.

»»»»» lowLabel

string

false

none

Label of min value.

»»»»» highLabel

string

false

none

Label of max value.

xor

Name

Type

Required

Restrictions

Description

»»»» anonymous

object

false

none

none

»»»»» tag

string

true

none

none

»»»»» isTime

boolean

false

none

Either isTime or isDate has to be true.

»»»»» isDate

boolean

false

none

Either isTime or isDate has to be true.

»»»»» isRange

boolean

false

none

none

xor

Name

Type

Required

Restrictions

Description

»» anonymous

object

false

none

none

»»» title

string

false

none

Same with query.

»»» properties

object

false

none

none

»»»» display_logic

object

false

none

Not used in v1.0.

xor

Name

Type

Required

Restrictions

Description

»» anonymous

object

false

none

none

»»» completionTitle

string

true

none

Title of completion message.

»»» completionDescription

string

false

none

none

»»» required

boolean

false

none

none

»»» type

string

true

none

none

»»» properties

object

false

none

Field for configurable values. This is not used for v1.0.

continued

Name

Type

Required

Restrictions

Description

» sequence

integer

true

none

Sequence of this item in a task.

Enumerated Values

Property

Value

status

DRAFT

status

PUBLISHED

type

SURVEY

type

ACTIVITY

type

QUESTION

type

SECTION

type

ACTIVITY

type

CHOICE

type

TEXT

type

RANK

type

SCALE

type

DATETIME

tag

RADIO

tag

CHECKBOX

tag

DROPDOWN

tag

MULTIIMAGE

tag

IMAGE

tag

TEXT

tag

RANK

tag

SLIDER

tag

DATETIME

type

TAPPING_SPEED

type

REACTION_TIME

type

RANGE_OF_MOTION

type

GAIT_AND_BALANCE

type

GUIDED_BREATHING

type

STROOP_TEST

type

SPEECH_RECOGNITION

type

MOBILE_SPIROMETRY

type

SUSTAINED_PHONATION

TaskReq




{
  "title": "string",
  "description": "string",
  "schedule": "0 0/1 * 1/1 * ? *",
  "startTime": "2019-08-24T14:15:22Z",
  "endTime": "2019-08-24T14:15:22Z",
  "validTime": 0,
  "status": "DRAFT",
  "type": "SURVEY",
  "items": [
    {
      "type": "QUESTION",
      "contents": {
        "title": "string",
        "explanation": "string",
        "required": true,
        "type": "CHOICE",
        "properties": {
          "tag": "RADIO",
          "options": [
            {
              "value": "string",
              "label": "string"
            }
          ],
          "display_logic": {},
          "skip_logic": [
            {
              "condition": "Or contains val4 1 notcontains val4 2",
              "goToAction": null,
              "goToItemSequence": 3
            }
          ]
        }
      },
      "sequence": 0
    }
  ]
}

Properties

Name

Type

Required

Restrictions

Description

title

string

true

none

none

description

string

false

none

none

schedule

string

false

none

cronQuartz format. This is required if status is PUBLISHED.

startTime

string(date-time)

false

none

This is required if status is PUBLISHED.

endTime

string(date-time)

false

none

If not exists, there's no expiration.

validTime

integer

false

none

Valid time of each task (minute-based). This is required if status is PUBLISHED.

status

string

true

none

none

type

string

true

none

none

items

[any]

true

none

none

» type

string

true

none

Type of Item

» contents

any

true

none

According to the type, it will be changed.

oneOf

Name

Type

Required

Restrictions

Description

»» anonymous

object

false

none

none

»»» title

string

true

none

Same with query.

»»» explanation

string

false

none

none

»»» required

boolean

false

none

none

»»» type

string

true

none

none

»»» properties

object

true

none

It depends on the value of 'type'.

oneOf

Name

Type

Required

Restrictions

Description

»»»» anonymous

object

false

none

none

»»»»» tag

string

true

none

Only one option can be chosen for radio, dropdown, image. Multiple options can be chosen for checkbox, multi-image.

»»»»» options

[any]

true

none

none

»»»»»» value

string

true

none

For Image Question, you have to put link of Image in this field.

»»»»»» label

string

false

none

This field can be used when type is IMAGE to generate Image Question with label. Also, if you want to create Image Question with label, all options have to include their own labels.

»»»»» display_logic

object

false

none

Not used in v1.0.

»»»»» skip_logic

[any]

false

none

none

»»»»»» condition

string

false

none

Expression that match BranchRule.

»»»»»» goToAction

string

false

none

Not used in v1.0.

»»»»»» goToItemSequence

integer

false

none

If condition holds, then skip to sequence $goToItemSequence.

xor

Name

Type

Required

Restrictions

Description

»»»» anonymous

object

false

none

none

»»»»» tag

string

true

none

none

xor

Name

Type

Required

Restrictions

Description

»»»» anonymous

object

false

none

none

»»»»» tag

string

true

none

none

»»»»» options

[any]

true

none

none

»»»»»» value

string

true

none

none

xor

Name

Type

Required

Restrictions

Description

»»»» anonymous

object

false

none

none

»»»»» tag

string

true

none

none

»»»»» low

integer

true

none

Min value of scale.

»»»»» high

integer

true

none

Max value of scale.

»»»»» lowLabel

string

false

none

Label of min value.

»»»»» highLabel

string

false

none

Label of max value.

xor

Name

Type

Required

Restrictions

Description

»»»» anonymous

object

false

none

none

»»»»» tag

string

true

none

none

»»»»» isTime

boolean

false

none

Either isTime or isDate has to be true.

»»»»» isDate

boolean

false

none

Either isTime or isDate has to be true.

»»»»» isRange

boolean

false

none

none

xor

Name

Type

Required

Restrictions

Description

»» anonymous

object

false

none

none

»»» title

string

false

none

Same with query.

»»» properties

object

false

none

none

»»»» display_logic

object

false

none

Not used in v1.0.

xor

Name

Type

Required

Restrictions

Description

»» anonymous

object

false

none

none

»»» completionTitle

string

true

none

Title of completion message.

»»» completionDescription

string

false

none

none

»»» required

boolean

false

none

none

»»» type

string

true

none

none

»»» properties

object

false

none

Field for configurable values. This is not used for v1.0.

continued

Name

Type

Required

Restrictions

Description

» sequence

integer

true

none

Sequence of this item in a task.

Enumerated Values

Property

Value

status

DRAFT

status

PUBLISHED

type

SURVEY

type

ACTIVITY

type

QUESTION

type

SECTION

type

ACTIVITY

type

CHOICE

type

TEXT

type

RANK

type

SCALE

type

DATETIME

tag

RADIO

tag

CHECKBOX

tag

DROPDOWN

tag

MULTIIMAGE

tag

IMAGE

tag

TEXT

tag

RANK

tag

SLIDER

tag

DATETIME

type

TAPPING_SPEED

type

REACTION_TIME

type

RANGE_OF_MOTION

type

GAIT_AND_BALANCE

type

GUIDED_BREATHING

type

STROOP_TEST

type

SPEECH_RECOGNITION

type

MOBILE_SPIROMETRY

type

SUSTAINED_PHONATION

Tasks




[
  {
    "revisionId": 0,
    "id": "string",
    "title": "string",
    "description": "string",
    "schedule": "0 0/1 * 1/1 * ? *",
    "startTime": "2019-08-24T14:15:22Z",
    "endTime": "2019-08-24T14:15:22Z",
    "validTime": 0,
    "status": "DRAFT",
    "type": "SURVEY",
    "items": [
      {
        "name": "string",
        "type": "QUESTION",
        "contents": {
          "title": "string",
          "explanation": "string",
          "required": true,
          "type": "CHOICE",
          "properties": {
            "tag": "RADIO",
            "options": [
              {
                "value": "string",
                "label": "string"
              }
            ],
            "display_logic": {},
            "skip_logic": [
              {
                "condition": "Or contains val4 1 notcontains val4 2",
                "goToAction": null,
                "goToItemSequence": 3
              }
            ]
          }
        },
        "sequence": 0
      }
    ]
  }
]

Properties

Name

Type

Required

Restrictions

Description

revisionId

integer

true

none

none

id

string

true

none

none

title

string

true

none

none

description

string

false

none

none

schedule

string

false

none

in cronQuartz format

startTime

string(date-time)

false

none

none

endTime

string(date-time)

false

none

If not exists, there's no expiration.

validTime

integer

false

none

Valid time of each task (minute-based).

status

string

true

none

none

type

string

true

none

none

items

[any]

true

none

none

» name

string

true

none

none

» type

string

true

none

Type of Item

» contents

any

true

none

According to the type, it will be changed.

oneOf

Name

Type

Required

Restrictions

Description

»» anonymous

object

false

none

none

»»» title

string

true

none

Same with query.

»»» explanation

string

false

none

none

»»» required

boolean

false

none

none

»»» type

string

true

none

none

»»» properties

object

true

none

It depends on the value of 'type'.

oneOf

Name

Type

Required

Restrictions

Description

»»»» anonymous

object

false

none

none

»»»»» tag

string

true

none

Only one option can be chosen for radio, dropdown, image. Multiple options can be chosen for checkbox, multi-image.

»»»»» options

[any]

true

none

none

»»»»»» value

string

true

none

For Image Question, you have to put link of Image in this field.

»»»»»» label

string

false

none

This field can be used when type is IMAGE to generate Image Question with label. Also, if you want to create Image Question with label, all options have to include their own labels.

»»»»» display_logic

object

false

none

Not used in v1.0.

»»»»» skip_logic

[any]

false

none

none

»»»»»» condition

string

false

none

Expression that match BranchRule.

»»»»»» goToAction

string

false

none

Not used in v1.0.

»»»»»» goToItemSequence

integer

false

none

If condition holds, then skip to sequence $goToItemSequence.

xor

Name

Type

Required

Restrictions

Description

»»»» anonymous

object

false

none

none

»»»»» tag

string

true

none

none

xor

Name

Type

Required

Restrictions

Description

»»»» anonymous

object

false

none

none

»»»»» tag

string

true

none

none

»»»»» options

[any]

true

none

none

»»»»»» value

string

true

none

none

xor

Name

Type

Required

Restrictions

Description

»»»» anonymous

object

false

none

none

»»»»» tag

string

true

none

none

»»»»» low

integer

true

none

Min value of scale.

»»»»» high

integer

true

none

Max value of scale.

»»»»» lowLabel

string

false

none

Label of min value.

»»»»» highLabel

string

false

none

Label of max value.

xor

Name

Type

Required

Restrictions

Description

»»»» anonymous

object

false

none

none

»»»»» tag

string

true

none

none

»»»»» isTime

boolean

false

none

Either isTime or isDate has to be true.

»»»»» isDate

boolean

false

none

Either isTime or isDate has to be true.

»»»»» isRange

boolean

false

none

none

xor

Name

Type

Required

Restrictions

Description

»» anonymous

object

false

none

none

»»» title

string

false

none

Same with query.

»»» properties

object

false

none

none

»»»» display_logic

object

false

none

Not used in v1.0.

xor

Name

Type

Required

Restrictions

Description

»» anonymous

object

false

none

none

»»» completionTitle

string

true

none

Title of completion message.

»»» completionDescription

string

false

none

none

»»» required

boolean

false

none

none

»»» type

string

true

none

none

»»» properties

object

false

none

Field for configurable values. This is not used for v1.0.

continued

Name

Type

Required

Restrictions

Description

» sequence

integer

true

none

Sequence of this item in a task.

Enumerated Values

Property

Value

status

DRAFT

status

PUBLISHED

type

SURVEY

type

ACTIVITY

type

QUESTION

type

SECTION

type

ACTIVITY

type

CHOICE

type

TEXT

type

RANK

type

SCALE

type

DATETIME

tag

RADIO

tag

CHECKBOX

tag

DROPDOWN

tag

MULTIIMAGE

tag

IMAGE

tag

TEXT

tag

RANK

tag

SLIDER

tag

DATETIME

type

TAPPING_SPEED

type

REACTION_TIME

type

RANGE_OF_MOTION

type

GAIT_AND_BALANCE

type

GUIDED_BREATHING

type

STROOP_TEST

type

SPEECH_RECOGNITION

type

MOBILE_SPIROMETRY

type

SUSTAINED_PHONATION

TaskResult




{
  "revisionId": 0,
  "taskId": "string",
  "userId": "string",
  "startedAt": "2019-08-24T14:15:22Z",
  "submittedAt": "2019-08-24T14:15:22Z",
  "itemResults": [
    {
      "itemName": "string",
      "result": "string"
    }
  ]
}

Properties

Name

Type

Required

Restrictions

Description

revisionId

integer

false

none

none

taskId

string

false

none

none

userId

string

false

none

none

startedAt

string(date-time)

false

none

none

submittedAt

string(date-time)

false

none

none

itemResults

[any]

false

none

none

» itemName

string

false

none

none

» result

string

false

none

none

TaskResults




[
  {
    "revisionId": 0,
    "taskId": "string",
    "userId": "string",
    "startedAt": "2019-08-24T14:15:22Z",
    "submittedAt": "2019-08-24T14:15:22Z",
    "itemResults": [
      {
        "itemName": "string",
        "result": "string"
      }
    ]
  }
]

Properties

Name

Type

Required

Restrictions

Description

revisionId

integer

false

none

none

taskId

string

false

none

none

userId

string

false

none

none

startedAt

string(date-time)

false

none

none

submittedAt

string(date-time)

false

none

none

itemResults

[any]

false

none

none

» itemName

string

false

none

none

» result

string

false

none

none

ItemResult




{
  "itemName": "string",
  "result": "string"
}

Properties

Name

Type

Required

Restrictions

Description

itemName

string

false

none

none

result

string

false

none

none

SkipLogic




{
  "condition": "Or contains val4 1 notcontains val4 2",
  "goToAction": null,
  "goToItemSequence": 3
}

Properties

Name

Type

Required

Restrictions

Description

condition

string

false

none

Expression that match BranchRule.

goToAction

string

false

none

Not used in v1.0.

goToItemSequence

integer

false

none

If condition holds, then skip to sequence $goToItemSequence.

InLabVisitReq




{
  "userId": "string",
  "checkedInBy": "string",
  "startTime": "2019-08-24T14:15:22Z",
  "endTime": "2019-08-24T14:15:22Z",
  "notes": "string"
}

Properties

Name

Type

Required

Restrictions

Description

userId

string

true

none

none

checkedInBy

string

true

none

none

startTime

string(date-time)

true

none

none

endTime

string(date-time)

true

none

none

notes

string

false

none

none

InLabVisitUpdateReq




{
  "userId": "string",
  "checkedInBy": "string",
  "startTime": "2019-08-24T14:15:22Z",
  "endTime": "2019-08-24T14:15:22Z",
  "notes": "string"
}

Properties

Name

Type

Required

Restrictions

Description

userId

string

true

none

none

checkedInBy

string

true

none

none

startTime

string(date-time)

true

none

none

endTime

string(date-time)

true

none

none

notes

string

false

none

none

InLabVisitRes




{
  "id": 0,
  "userId": "string",
  "checkedInBy": "string",
  "startTime": "2019-08-24T14:15:22Z",
  "endTime": "2019-08-24T14:15:22Z",
  "notes": "string",
  "filesPath": "in-lab-visit/u1234"
}

Properties

Name

Type

Required

Restrictions

Description

id

integer

true

none

none

userId

string

true

none

none

checkedInBy

string

true

none

none

startTime

string(date-time)

true

none

none

endTime

string(date-time)

true

none

none

notes

string

true

none

none

filesPath

string

true

none

none

Error




{
  "code": 0,
  "message": "string"
}

Properties

Name

Type

Required

Restrictions

Description

code

integer(int32)

true

none

none

message

string

true

none

none