Forms

Endpoints for creating and managing forms for patients to fill out

Create a user with forms

Creates a user and a set of forms for them to fill out

Securityapi_key or azure_auth
Request
path Parameters
SiteSlug
required
string <slug> (Slug) ^[osl][a-zA-Z0-9]{3,}$

The Slipstream slug that uniquely identifies a physical practice

Example: s8n6EzC
Request Body schema: application/json
required
required
object (FormUserRequest)

A patient or provider who can be assigned forms to fill

required
Array of objects (FormGroupWithFormsRequest)

Groups of forms that the user will fill out

Responses
200

The user record and corresponding forms and form groups

400

Malformed Request (ProblemDetails)

401

Unauthorized - Provide proof of identity (ProblemDetails)

403

Forbidden - Insufficient permissions (ProblemDetails)

404

Not Found - Could not find a matching entity (ProblemDetails)

422

Unprocessable - Request was well formed but could not be actioned (ProblemDetails)

429

Too many requests - Chill out (ProblemDetails)

4XX

User Error (ProblemDetails)

5XX

Server Error (ProblemDetails)

post/sites/{SiteSlug}/forms
Request samples
application/json
{
  • "User": {
    },
  • "FormGroups": [
    ]
}
Response samples
application/json
{
  • "Slug": "_8n6EzC",
  • "FormGroups": [
    ]
}

List Form Users

List all form users for a site

Securityapi_key or azure_auth
Request
path Parameters
SiteSlug
required
string <slug> (Slug) ^[osl][a-zA-Z0-9]{3,}$

The Slipstream slug that uniquely identifies a physical practice

Example: s8n6EzC
query Parameters
pageSize
integer <int32> [ 1 .. 250 ]

The number of items to retrieve in this request

Example: pageSize=50
nextPageToken
string

A token retrieved from a previous request, used to retrieve the next page of results

includeFormGroups
boolean

If true, the response will include the form groups of the user

Example: includeFormGroups=false
Responses
200

The user details for this site

400

Malformed Request (ProblemDetails)

401

Unauthorized - Provide proof of identity (ProblemDetails)

403

Forbidden - Insufficient permissions (ProblemDetails)

404

Not Found - Could not find a matching entity (ProblemDetails)

422

Unprocessable - Request was well formed but could not be actioned (ProblemDetails)

429

Too many requests - Chill out (ProblemDetails)

4XX

User Error (ProblemDetails)

5XX

Server Error (ProblemDetails)

get/sites/{SiteSlug}/forms/users
Request samples
Response samples
application/json
{
  • "Items": [
    ],
  • "NextPageToken": "eyJ0eXAiOi"
}

Get patient details

Gets the details of a patient

Securityapi_key or azure_auth
Request
path Parameters
SiteSlug
required
string <slug> (Slug) ^[osl][a-zA-Z0-9]{3,}$

The Slipstream slug that uniquely identifies a physical practice

Example: s8n6EzC
UserSlug
required
string <slug>

The Slipstream slug that uniquely identifies a user

Example: _8n6EzC
query Parameters
includeFormGroups
boolean

If true, the response will include the form groups of the user

Example: includeFormGroups=false
Responses
200

The user record and corresponding forms and form groups

400

Malformed Request (ProblemDetails)

401

Unauthorized - Provide proof of identity (ProblemDetails)

403

Forbidden - Insufficient permissions (ProblemDetails)

404

Not Found - Could not find a matching entity (ProblemDetails)

422

Unprocessable - Request was well formed but could not be actioned (ProblemDetails)

429

Too many requests - Chill out (ProblemDetails)

4XX

User Error (ProblemDetails)

5XX

Server Error (ProblemDetails)

get/sites/{SiteSlug}/forms/users/{UserSlug}
Request samples
Response samples
application/json
{
  • "DisplayName": "John Smith",
  • "FirstName": "John",
  • "LastName": "Smith",
  • "Email": "John.Smith@henryscheinone.com",
  • "Phone": "+64 555-555-5555",
  • "DateOfBirth": "1990-01-01",
  • "FormGroups": [
    ]
}

Update a form user

Update a form user's patient details

Securityapi_key or azure_auth
Request
path Parameters
SiteSlug
required
string <slug> (Slug) ^[osl][a-zA-Z0-9]{3,}$

The Slipstream slug that uniquely identifies a physical practice

Example: s8n6EzC
UserSlug
required
string <slug>

The Slipstream slug that uniquely identifies a user

Example: _8n6EzC
Request Body schema: application/json
required
DisplayName
required
string

The full name of the user, formatted according to the user's preference/culture

FirstName
string

The first of the user

LastName
required
string

The last name of the user

Email
string or null <email>

The email address of the user

Phone
string or null <phone>

The phone number of the user

DateOfBirth
string or null <date>

The date of birth of the user

ExternalId
string or null

The unique identifier of the user assigned by the client/PMS

Responses
204

Form User updated (no content)

400

Malformed Request (ProblemDetails)

401

Unauthorized - Provide proof of identity (ProblemDetails)

403

Forbidden - Insufficient permissions (ProblemDetails)

404

Not Found - Could not find a matching entity (ProblemDetails)

422

Unprocessable - Request was well formed but could not be actioned (ProblemDetails)

429

Too many requests - Chill out (ProblemDetails)

4XX

User Error (ProblemDetails)

5XX

Server Error (ProblemDetails)

patch/sites/{SiteSlug}/forms/users/{UserSlug}
Request samples
application/json
{
  • "DisplayName": "John Smith",
  • "FirstName": "John",
  • "LastName": "Smith",
  • "Email": "John.Smith@henryscheinone.com",
  • "Phone": "+64 555-555-5555",
  • "DateOfBirth": "1990-01-01",
  • "ExternalId": "123e4567-e89b-12d3-a456-426614174000"
}
Response samples
application/problem+json
{
  • "title": "The Name field is required.",
  • "detail": "The Name field is required.",
  • "status": 400,
  • "traceId": "00-84c1fd4063c38d9f3900d06e56542d48-85d1d4-00"
}

Delete a form user record

Delete a form user record and all its associated form data

Securityapi_key or azure_auth
Request
path Parameters
SiteSlug
required
string <slug> (Slug) ^[osl][a-zA-Z0-9]{3,}$

The Slipstream slug that uniquely identifies a physical practice

Example: s8n6EzC
UserSlug
required
string <slug>

The Slipstream slug that uniquely identifies a user

Example: _8n6EzC
Responses
204

Form User removed (no content)

400

Malformed Request (ProblemDetails)

401

Unauthorized - Provide proof of identity (ProblemDetails)

403

Forbidden - Insufficient permissions (ProblemDetails)

404

Not Found - Could not find a matching entity (ProblemDetails)

422

Unprocessable - Request was well formed but could not be actioned (ProblemDetails)

429

Too many requests - Chill out (ProblemDetails)

4XX

User Error (ProblemDetails)

5XX

Server Error (ProblemDetails)

delete/sites/{SiteSlug}/forms/users/{UserSlug}
Request samples
Response samples
application/problem+json
{
  • "title": "The Name field is required.",
  • "detail": "The Name field is required.",
  • "status": 400,
  • "traceId": "00-84c1fd4063c38d9f3900d06e56542d48-85d1d4-00"
}

List form groups for a user

Lists all form groups for a user

Securityapi_key or azure_auth
Request
path Parameters
SiteSlug
required
string <slug> (Slug) ^[osl][a-zA-Z0-9]{3,}$

The Slipstream slug that uniquely identifies a physical practice

Example: s8n6EzC
UserSlug
required
string <slug>

The Slipstream slug that uniquely identifies a user

Example: _8n6EzC
query Parameters
pageSize
integer <int32> [ 1 .. 250 ]

The number of items to retrieve in this request

Example: pageSize=50
nextPageToken
string

A token retrieved from a previous request, used to retrieve the next page of results

Responses
200

List of form groups and their associated forms

400

Malformed Request (ProblemDetails)

401

Unauthorized - Provide proof of identity (ProblemDetails)

403

Forbidden - Insufficient permissions (ProblemDetails)

404

Not Found - Could not find a matching entity (ProblemDetails)

422

Unprocessable - Request was well formed but could not be actioned (ProblemDetails)

429

Too many requests - Chill out (ProblemDetails)

4XX

User Error (ProblemDetails)

5XX

Server Error (ProblemDetails)

get/sites/{SiteSlug}/forms/users/{UserSlug}/groups
Request samples
Response samples
application/json
{
  • "Items": [
    ]
}

Create a form group for a user

Creates a form group with zero or more forms for a user to fill out

Securityapi_key or azure_auth
Request
path Parameters
SiteSlug
required
string <slug> (Slug) ^[osl][a-zA-Z0-9]{3,}$

The Slipstream slug that uniquely identifies a physical practice

Example: s8n6EzC
UserSlug
required
string <slug>

The Slipstream slug that uniquely identifies a user

Example: _8n6EzC
Request Body schema: application/json
required
required
object (FormGroupWithFormsRequest)

A group of forms to be filled by a patient or provider for a specific purpose

Responses
200

The form group and corresponding forms

400

Malformed Request (ProblemDetails)

401

Unauthorized - Provide proof of identity (ProblemDetails)

403

Forbidden - Insufficient permissions (ProblemDetails)

404

Not Found - Could not find a matching entity (ProblemDetails)

422

Unprocessable - Request was well formed but could not be actioned (ProblemDetails)

429

Too many requests - Chill out (ProblemDetails)

4XX

User Error (ProblemDetails)

5XX

Server Error (ProblemDetails)

post/sites/{SiteSlug}/forms/users/{UserSlug}/groups
Request samples
application/json
{
  • "FormGroup": {
    }
}
Response samples
application/json
{
  • "Forms": [
    ],
  • "Slug": "_8n6EzC",
  • "ExpiresAt": "2019-08-24T14:15:22Z",
  • "DisplayName": "New patient onboarding"
}

Get a form group

Get a form group and the associated forms

Securityapi_key or azure_auth
Request
path Parameters
SiteSlug
required
string <slug> (Slug) ^[osl][a-zA-Z0-9]{3,}$

The Slipstream slug that uniquely identifies a physical practice

Example: s8n6EzC
UserSlug
required
string <slug>

The Slipstream slug that uniquely identifies a user

Example: _8n6EzC
GroupSlug
required
string <slug>

The Slipstream slug that uniquely identifies a form group

Example: _8n6EzC
Responses
200

The form group and the associated forms

400

Malformed Request (ProblemDetails)

401

Unauthorized - Provide proof of identity (ProblemDetails)

403

Forbidden - Insufficient permissions (ProblemDetails)

404

Not Found - Could not find a matching entity (ProblemDetails)

422

Unprocessable - Request was well formed but could not be actioned (ProblemDetails)

429

Too many requests - Chill out (ProblemDetails)

4XX

User Error (ProblemDetails)

5XX

Server Error (ProblemDetails)

get/sites/{SiteSlug}/forms/users/{UserSlug}/groups/{GroupSlug}
Request samples
Response samples
application/json
{
  • "Forms": [
    ],
  • "Slug": "_8n6EzC",
  • "ExpiresAt": "2019-08-24T14:15:22Z",
  • "DisplayName": "New patient onboarding"
}

Delete a form group

Delete a form group and the associated forms

Securityapi_key or azure_auth
Request
path Parameters
SiteSlug
required
string <slug> (Slug) ^[osl][a-zA-Z0-9]{3,}$

The Slipstream slug that uniquely identifies a physical practice

Example: s8n6EzC
UserSlug
required
string <slug>

The Slipstream slug that uniquely identifies a user

Example: _8n6EzC
GroupSlug
required
string <slug>

The Slipstream slug that uniquely identifies a form group

Example: _8n6EzC
Responses
204

Forms Group removed (no content)

400

Malformed Request (ProblemDetails)

401

Unauthorized - Provide proof of identity (ProblemDetails)

403

Forbidden - Insufficient permissions (ProblemDetails)

404

Not Found - Could not find a matching entity (ProblemDetails)

422

Unprocessable - Request was well formed but could not be actioned (ProblemDetails)

429

Too many requests - Chill out (ProblemDetails)

4XX

User Error (ProblemDetails)

5XX

Server Error (ProblemDetails)

delete/sites/{SiteSlug}/forms/users/{UserSlug}/groups/{GroupSlug}
Request samples
Response samples
application/problem+json
{
  • "title": "The Name field is required.",
  • "detail": "The Name field is required.",
  • "status": 400,
  • "traceId": "00-84c1fd4063c38d9f3900d06e56542d48-85d1d4-00"
}

List forms for a form group

Lists all forms for a form group

Securityapi_key or azure_auth
Request
path Parameters
SiteSlug
required
string <slug> (Slug) ^[osl][a-zA-Z0-9]{3,}$

The Slipstream slug that uniquely identifies a physical practice

Example: s8n6EzC
UserSlug
required
string <slug>

The Slipstream slug that uniquely identifies a user

Example: _8n6EzC
GroupSlug
required
string <slug>

The Slipstream slug that uniquely identifies a form group

Example: _8n6EzC
query Parameters
includeUserResponses
boolean

If true, the response will include the responses of the user

Example: includeUserResponses=false
Responses
200

List of forms

400

Malformed Request (ProblemDetails)

401

Unauthorized - Provide proof of identity (ProblemDetails)

403

Forbidden - Insufficient permissions (ProblemDetails)

404

Not Found - Could not find a matching entity (ProblemDetails)

422

Unprocessable - Request was well formed but could not be actioned (ProblemDetails)

429

Too many requests - Chill out (ProblemDetails)

4XX

User Error (ProblemDetails)

5XX

Server Error (ProblemDetails)

get/sites/{SiteSlug}/forms/users/{UserSlug}/groups/{GroupSlug}/forms
Request samples
Response samples
application/json
{
  • "Items": [
    ]
}

Add a form to a form group, or reset it if it already exists (allowing it to be refilled)

Add/Reset one form to an existing form group

Securityapi_key or azure_auth
Request
path Parameters
SiteSlug
required
string <slug> (Slug) ^[osl][a-zA-Z0-9]{3,}$

The Slipstream slug that uniquely identifies a physical practice

Example: s8n6EzC
UserSlug
required
string <slug>

The Slipstream slug that uniquely identifies a user

Example: _8n6EzC
GroupSlug
required
string <slug>

The Slipstream slug that uniquely identifies a form group

Example: _8n6EzC
Request Body schema: application/json
required
Type
required
string (FormType)

The type of form to be filled by a patient or provider.

Enum Value Description
Custom

Custom forms that can be created by the practice, and will have an associated custom schema

MedicalHistory

A complete medical history

OralHealth

A complete oral health history

PatientDetails

Basic patient information such as name, DOB, address, etc.

TermsAndConditions

Terms and conditions that a patient must agree to

ContactConsent

A patient's consent to be contacted

HealthScreening

A health screening form

NHSPracticeRecords

Practice records forms

TypeId
string or null

A unique identifier for the type of form. Only one form with a given typeId can be added to a form group This field is required if the form type is custom, otherwise it will be defaulted to the type of the form.

DisplayName
string or null

The name of the form to show the user. Leave null to use the Type / TypeId

object or null <= 500 properties

Metadata used to prefill the form with. Enabling the form to have the patient's previous responses for the same form to make reviewing and submitting the form on subsequent visits more convenient.

Responses
200

Form created content

400

Malformed Request (ProblemDetails)

401

Unauthorized - Provide proof of identity (ProblemDetails)

403

Forbidden - Insufficient permissions (ProblemDetails)

404

Not Found - Could not find a matching entity (ProblemDetails)

422

Unprocessable - Request was well formed but could not be actioned (ProblemDetails)

429

Too many requests - Chill out (ProblemDetails)

4XX

User Error (ProblemDetails)

5XX

Server Error (ProblemDetails)

post/sites/{SiteSlug}/forms/users/{UserSlug}/groups/{GroupSlug}/forms
Request samples
application/json
{
  • "Type": "MedicalHistory",
  • "TypeId": "MedicalHistory",
  • "DisplayName": null,
  • "InitialState": {
    }
}
Response samples
application/json
{
  • "CurrentState": {
    },
  • "ResponseFileUrl": null,
  • "SubmittedDate": "2024-10-24T14:30:15+02:00",
  • "Slug": null,
  • "Type": "MedicalHistory",
  • "TypeId": "MedicalHistory",
  • "DisplayName": null,
  • "InitialState": {
    }
}

Get form details

Gets the form details with the user's responses

Securityapi_key or azure_auth
Request
path Parameters
SiteSlug
required
string <slug> (Slug) ^[osl][a-zA-Z0-9]{3,}$

The Slipstream slug that uniquely identifies a physical practice

Example: s8n6EzC
UserSlug
required
string <slug>

The Slipstream slug that uniquely identifies a user

Example: _8n6EzC
GroupSlug
required
string <slug>

The Slipstream slug that uniquely identifies a form group

Example: _8n6EzC
FormSlug
required
string <slug>

The Slipstream slug that uniquely identifies a form

Example: _8n6EzC
Responses
200

The form details

400

Malformed Request (ProblemDetails)

401

Unauthorized - Provide proof of identity (ProblemDetails)

403

Forbidden - Insufficient permissions (ProblemDetails)

404

Not Found - Could not find a matching entity (ProblemDetails)

422

Unprocessable - Request was well formed but could not be actioned (ProblemDetails)

429

Too many requests - Chill out (ProblemDetails)

4XX

User Error (ProblemDetails)

5XX

Server Error (ProblemDetails)

get/sites/{SiteSlug}/forms/users/{UserSlug}/groups/{GroupSlug}/forms/{FormSlug}
Request samples
Response samples
application/json
{
  • "CurrentState": {
    },
  • "ResponseFileUrl": null,
  • "SubmittedDate": "2024-10-24T14:30:15+02:00",
  • "Slug": null,
  • "Type": "MedicalHistory",
  • "TypeId": "MedicalHistory",
  • "DisplayName": null,
  • "InitialState": {
    }
}

Delete a form

Delete a form from the group

Securityapi_key or azure_auth
Request
path Parameters
SiteSlug
required
string <slug> (Slug) ^[osl][a-zA-Z0-9]{3,}$

The Slipstream slug that uniquely identifies a physical practice

Example: s8n6EzC
UserSlug
required
string <slug>

The Slipstream slug that uniquely identifies a user

Example: _8n6EzC
GroupSlug
required
string <slug>

The Slipstream slug that uniquely identifies a form group

Example: _8n6EzC
FormSlug
required
string <slug>

The Slipstream slug that uniquely identifies a form

Example: _8n6EzC
Responses
204

Form removed (no content)

400

Malformed Request (ProblemDetails)

401

Unauthorized - Provide proof of identity (ProblemDetails)

403

Forbidden - Insufficient permissions (ProblemDetails)

404

Not Found - Could not find a matching entity (ProblemDetails)

422

Unprocessable - Request was well formed but could not be actioned (ProblemDetails)

429

Too many requests - Chill out (ProblemDetails)

4XX

User Error (ProblemDetails)

5XX

Server Error (ProblemDetails)

delete/sites/{SiteSlug}/forms/users/{UserSlug}/groups/{GroupSlug}/forms/{FormSlug}
Request samples
Response samples
application/problem+json
{
  • "title": "The Name field is required.",
  • "detail": "The Name field is required.",
  • "status": 400,
  • "traceId": "00-84c1fd4063c38d9f3900d06e56542d48-85d1d4-00"
}

Get form details

Gets the form with the user's responses

Securityapi_key or azure_auth
Request
path Parameters
SiteSlug
required
string <slug> (Slug) ^[osl][a-zA-Z0-9]{3,}$

The Slipstream slug that uniquely identifies a physical practice

Example: s8n6EzC
UserSlug
required
string <slug>

The Slipstream slug that uniquely identifies a user

Example: _8n6EzC
FormTypeOrId
required
string <slug>

The type of form to retrieve, or the form's unique identifier (TypeId) assigned by the client/PMS

Example: _8n6EzC
Responses
200

The form details

400

Malformed Request (ProblemDetails)

401

Unauthorized - Provide proof of identity (ProblemDetails)

403

Forbidden - Insufficient permissions (ProblemDetails)

404

Not Found - Could not find a matching entity (ProblemDetails)

422

Unprocessable - Request was well formed but could not be actioned (ProblemDetails)

429

Too many requests - Chill out (ProblemDetails)

4XX

User Error (ProblemDetails)

5XX

Server Error (ProblemDetails)

get/sites/{SiteSlug}/forms/users/{UserSlug}/forms/{FormTypeOrId}
Request samples
Response samples
application/json
{
  • "CurrentState": {
    },
  • "ResponseFileUrl": null,
  • "SubmittedDate": "2024-10-24T14:30:15+02:00",
  • "Slug": null,
  • "Type": "MedicalHistory",
  • "TypeId": "MedicalHistory",
  • "DisplayName": null,
  • "InitialState": {
    }
}