Types Reference List

A list of types currently available with the Heydoc API

Jessica Magri avatar
Written by Jessica Magri
Updated over a week ago

This article gives a current list of types that are available with the Heydoc API. For general information about types, see here.

Note: Data types that have an exclamation mark ( ! ) after them are required for the query or mutation that you want to perform.


Account Statement

This type allows you to display the output of a query for a patient's account statement.

Type

Input Field - Data Type

AccountStatement

id - ID!

statementType - AccountStatementType

date - Date

start - Date

end - Date

header - String

accountReferenceNumber - String

comments - String

account - Account

invoices - Invoice

totalPaid - Float

totalPrice - Float

totalOutstanding - Float

createdAt - Date

updatedAt - Date

deleted - Boolean


Account Statement Data

This type allows you to query a patient's account statement.

Type

Input Field - Data Type

AccountStatementData

data - AccountStatement

pageInfo - PageInfoForCursorPagination


Add Contact Phone Data

This type allows you to mutate an external contact's phone number.

Type

Input Field - Data Type

AddContactPhoneData

phoneNumber - String!

phoneType - PhoneType!


Add Custom Attribute Data

This type allows you to mutate the addpatientattribute attribute fields for a mutation.

Type

Input Field - Data Type

AddCustomAttributeData

title - String!

text - String!

response - String!


Add Patient Number Data

This type allows you to mutate a patient's ID number.

Type

Input Field - Data Type

AddPatientNumberData

numberId - ID!

value - String!


Add Phone Data

This type allows you to mutate a phone number.

Type

Input Field - Data Type

AddPhoneData

phoneNumber - String!

phoneType - String!


Address

This type allows you to display the output of a query or mutation for an address for letters, patients, practice locations, etc.

Type

Input Field - Data Type

Address

address - String

city - String

postcode - String

country - String


Appointment

This type allows you to display the output of a query or mutation for a specific appointment.

Type

Input Field - Data Type

Appointment

title - String

duration - Int

price - Int

id - ID


Appointment Type

This type allows you to display the output of a query or mutation for an appointment type.

Type

Input Field - Data Type

AppointmentType

id - ID

title - String


Booking

This type allows you to display the output of a query or mutation for a specific booking.

Type

Input Field - Data Type

Booking

id - ID!

deleted - Boolean

cancellationReason - String

doctorName - String

doctor - User

location - BookingLocation

appointment - Appointment

start - Date

end - Date

patient - Patient

patientID - ID

bookingJourney - Journey

createdAt - Date

updatedAt - Date

videoUrl - String

comments - String

reference - String


Booking Address

This type allows you to display the output of a query or mutation for a booking address.

Type

Input Field - Data Type

BookingAddress

address - String

city - String

postcode - String

country - String


Booking Data

This type allows you to query or mutate the data for a booking.

Type

Input Field - Data Type

BookingData

data - Booking

pageInfo - PageInfo


Booking Data Input

Use this type to define the displayed output of a mutation for a new booking.

Type

Input Field - Data Type

BookingDataInput

patient - ID

location - ID

bookingType - ID

doctor - ID

comments - String

start - Date

end - Date


Booking Journey Input

Use this type to define the displayed output of a mutation for the journey of a patient booking.

Type

Input Field - Data Type

BookingJourneyInput

journeyStage - JourneyStage

date - Date


Booking Location

Use this type to query a configured location in your practice.

Type

Input Field - Data Type

BookingLocation

id - ID!

header - String

name - String

address - BookingAddress


Booking Response Payload

Use this type to display the data and error outputs of a mutation for a new booking.

Type

Input Field - Data Type

BookingResponsePayload

data - Booking

error - String


Boolean

A Boolean is a scalar type which can have either a value of true or false.


Communication Preferences

This type allows you to display the output of a query for a communication preference.

Type

Input Field - Data Type

CommunicationPreferences

receiveEmail - Boolean

receiveSMS - Boolean

promotionalMarketing - Boolean

privacyPolicy - PrivacyPolicy


Contact

This type allows you to display the output of a query or mutation an external contact.

Type

Input Field - Data Type

Contact

id - ID!

title - String

status - String

firstName - String

lastName - String

fullName - String

email - String
phones - Phone

address - Address

medicalSpecialty - String

company - String

createdAt - Date

updatedAt - Date


Contact Data

Use this type to define the displayed output of a mutation for a contact.

Type

Input Field - Data Type

ContactData

data - Contact

pageInfo - PageInfo


Contact Response Payload

Use this type to display the data and error outputs of a mutation for an existing patient.

Type

Input Field - Data Type

ContactResponsePayload

data - Contact

error - String!


Create Label Data

This type allows you to mutate a digital label for your practice.

Type

Input Field - Data Type

CreateLabelData

color - String!

title - String!


Create Letter Data Input

Use this type to define the displayed output of a mutation for a new letter.

Type

Input Field - Data Type

CreateLetterDataInput

patient - String!

contact - String

location - String

doctor - String

title - String!

body - String!

date - Date

reviewStatus - ReviewStatus


Create Patient Data Input

Use this type to define the displayed output of a mutation for a new patient.

Type

Input Field - Data Type

CreatePatientDataInput

title - String

first - String

last - String

email - String

dob - Date

gender - String

sex - String

address - String

city - String

postcode - String

country - String

phoneType - String

phoneNumber - String

paymentReference - String

communicationPreferences - PatientCommunicationPreferencesInput

labels - ID!

customAttributes - AddCustomAttributeData


Cursor Pagination

This type allows you to navigate to different pages of a data set (for example the different pages of a patient's account statement).

Type

Input Field - Data Type

CursorPagination

cursor - String

direction - CursorPaginationDirection
pageSize - Int


Cursor Pagination Direction

This type determines the values that you can use for a cursor pagination type.

Enum Value

Definition

PREVIOUS

Go to the previous page

NEXT

Go to the next page


Custom Attribute

This type allows you to display the output of a query for a custom patient ID number.

Type

Input Field - Data Type

CustomAttribute

id - ID

title - String

text - String

response - String


Date

This type specifies a single time and date in the query, mutation, or type. The date type is formatted as:

YYYY-MM-DD

For example: 2021-12-31


Date Range

This type allows you to specify a date range for a query.

Type

Input Field - Data Type

DateRange

start - Date

end - Date


Float

The Float scalar type represents signed double-precision fractional values as specified by IEEE 754.


ID

The ID scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String, however this is not intended to be human-readable.

When expected as an input type, any string or integer input value will be accepted as an ID.


ID Type

The IdType type allows you to query or mutate an ID number for a patient or user.

Enum Value

Definition

SYSTEM

An internal identifier (do not attempt to query or mutate this value)

USER

The value is a Heydoc system user

COMPUCARE

The value is for an ID linked with the Compucare system

NHS_UK

The value is for an ID linked with the National Health Service


Integer

The Int scalar type represents whole numeric values. Integers can represent values between -(2^31) and 2^31 - 1 .

For example: 123


Invoice

This type allows you to display the output of a query or mutation for an invoice.

Type

Input Field - Data Type

Invoice

id - ID

status - String

paidOrOutstanding - String

invoiceNumber - Int

paymentReference - String

date - Date

patientID - ID

patient - Patient

payeeDetails - String

doctorID - ID

doctor - User

location - String

lineItems - LineItem

payments - InvoicePayment

tax - Float

total - Float

outstanding - Float

comments - String

extraInfo - String

type - String

createdAt - Date

updatedAt - Date


Invoice Data

Use this type to define the displayed output of a mutation for an invoice.

Type

Input Field - Data Type

InvoiceData

data - Invoice

pageInfo - PageInfo


Invoice Payment

This type allows you to query or mutate the payment details of an invoice.

Type

Input Field - Data Type

InvoicePayment

id - ID!

paymentAmmount - Float

paymentSource - String!

paymentDate - Date!

comment - String


Journey

This type allows you to query or mutate the process of a patient checking into your practice.

Type

Input Field - Data Type

Journey

arrived - Date

consultation - Date

departed - Date

dna - Date


Journey Stage

This type provides definitions for the different values possible in a query or mutation for a patient's booking journey.

Enum Value

Definition

arrived

The patient has arrived at the practice

consultation

The patient is having their appointment/consultation

departed

The patient has left the practice

dna

The patient did not attend


Lab

This type allows you to display the output of a query for a lab.

Type

Input Field - Data Type

Lab

id - ID!

status - String

patient - Patient

doctor - User

requestDate - Date

sampleDate - Date

fasting - Boolean

orderNumber - String

parsedResults - String

resultsReceivedAt - Date

testList - String

createdAt - Date

updatedAt - Date


Lab Comments

This type allows you to query a clinician comment for a lab request.

Type

Input Field - Data Type

LabComments

doctor - User

comments - String

signature - String


Lab Data

Use this type to define the displayed output of a mutation for a lab test.

Type

Input Field - Data Type

LabData

data - Lab

pageInfo - PageInfo


Lab Query Options

This type allows you to query a lab result's status.

Type

Input Field - Data Type

LabQueryOptions

includeDeleted - Boolean

createdAt - DateRange

updatedAt - DateRange

resultsReceivedAt - DateRange


Label

This type allows you to display the output of a query or mutation for a digital label.

Type

Input Field - Data Type

Label

id - ID!

color - String
title - String


Label Data

Use this type to define the displayed output of a mutation for a label.

Type

Input Field - Data Type

LabelData

data - Label

pageInfo - PageInfo


Letter

This type allows you to display the output of a query for a specific letter.

Type

Input Field - Data Type

Letter

id - ID!

deleted - Boolean
patient - Patient

doctor - User

date - Date

title - String

body - String

contact - LetterContact

createdAt - Date

updatedAt - Date


Letter Contact

This type allows you to query an external contact for a letter.

Type

Input Field - Data Type

LetterContact

name - String

email - String


Letter Data

Use this type to define the displayed output of a mutation for a letter.

Type

Input Field - Data Type

LetterData

data - Letter

pageInfo - PageInfo


Letter Response Payload

Use this type to display the data and error outputs of a mutation for a letter.

Type

Input Field - Data Type

LetterResponsePayload

data - Letter

error - String


Line Item

This type allows you to display the output of a query or mutation for a line item on an invoice.

Type

Input Field - Data Type

LineItem

id - ID

date - Date

title - String

productType - String

itemCode - String

cost - Float

price - Float

quantity - Float

taxRate - Float

total - Float


New Contact Payload

Use this type to display the data and error outputs of a mutation for a new contact.

Type

Input Field - Data Type

NewContactPayload

data - Contact

error - String


New Invoice Data Input

Use this type to define the displayed output of a mutation for a new invoice.

Type

Input Field - Data Type

NewInvoiceDataInput

date - Date!

patientId - ID!

doctorId - ID!

locationId - ID!

comments - String

extraInfo - String

lineItems - NewLineItemDataInput
payments - NewInvoicePaymentDataInput


New Invoice Payment Data Input

Use this type to define the displayed output of a mutation for a new invoice payment method.

Type

Input Field - Data Type

NewInvoicePaymentDataInput

paymentAmount - Float!

paymentTypeId - ID!

paymentDate - Date!

comment - String


New Invoice Response Payload

Use this type to display the data and error outputs of a mutation for a new invoice.

Type

Input Field - Data Type

NewInvoiceResponsePayload

data - Invoice
error - String


New Label Payload

Use this type to display the data and error outputs of a mutation for a new label.

Type

Input Field - Data Type

NewLabelPayload

data - Invoice
error - String


New Line Item Data Input

Use this type to define the displayed output of a mutation for a new line item on an invoice.

Type

Input Field - Data Type

NewLineItemDataInput

date - Date!

productId - ID!

quantity - Int!

price - Float

referenceId - ID


New Patient Document Payload

Use this type to display the data and error outputs of a mutation for a new patient document.

Type

Input Field - Data Type

NewPatientDocumentPayload

data - PatientDocument

error - String


New Practice Template Document Payload

Use this type to display the data and error outputs of a mutation for a new practice template document made in the Heydoc Microsoft Word add-in.

Type

Input Field - Data Type

NewPracticeTemplateDocumentPayload

data - PracticeTemplateDocument

error - String


Page Info

This type specifies the number of pages and results that you want returned in a query.

Type

Input Field - Data Type

PageInfo

page - Int
pageSize - Int

hasMore - Boolean


Page Info for Cursor Pagination

This type specifies the size of the page that you want returned and the results displayed on them for a cursor pagination type.

Type

Input Field - Data Type

PageInfoForCursorPagination

pageSize - Int

hasMore - Boolean


Pagination

This type lets you define which specific pages you want returned and the results displayed on them.

Type

Input Field - Data Type

Pagination

page - Int
pageSize - Int


Patient

This type allows you to display the output of a query or mutation for a specific patient.

Type

Input Field - Data Type

Patient

id - ID

title - String

status - String

firstName - String

lastName - String

fullName - String

dob - Date

gender - String

sex - String

email - String

googleClientId - String

paymentReference - String

phones - Phone

occupation - String

address - Address

membershipName - String

membershipStartDate - String

numbers - PatientNumber

customAttributes - CustomAttribute

communicationPreferences - CommunicationPreferences

bookings - Booking

invoices - Invoice

letters - Letter

labs - Lab

labels - PatientLabel

prescriptions - PrescriptionData

records - RecordData

createdAt - Date

updatedAt - Date

accessGroups - PatientAccessGroup


Patient Access Group

This type allows you to display the output of a query or mutation for a patient access group.

Type

Input Field - Data Type

PatientAccessGroup

id - ID!

name - String!

label - String!


Patient Communication Preferences Input

This type allows you to query and mutate a patient's communication preferences.

Type

Input Field - Data Type

PatientCommunicationPreferencesInput

receiveEmail - Boolean

receiveSMS - Boolean

promotionalMarketing - Boolean
privacyPolicy - String


Patient Data

Use this type to define the displayed output of a mutation for a patient.

Type

Input Field - Data Type

PatientData

data - Patient

pageInfo - PageInfo


Patient Document

This type allows you to display the output of a query or mutation for a document on a patient's record.

Type

Input Field - Data Type

PatientDocument

id - ID!
title - String

patientID - ID

patient - Patient

path - String

name - String

type - String

url - String

parent - ID

deleted - Boolean

dateCreated - Date

dateModified - Date

uploadUrl - String


Patient Document Data

Use this type to define the displayed output of a mutation for a patient document.

Type

Input Field - Data Type

PatientDocumentData

data - PatientDocument

pageInfo - PageInfo


Patient Label

This type allows you to display the output of a query or mutation for a specific patient label.

Type

Input Field - Data Type

PatientLabel

color - String

text - String

id - ID!

labelReferenceID - ID!


Patient Number

This type allows you to display the output of a query or mutation for a patient ID number.

Type

Input Field - Data Type

PatientNumber

name - String

value - String


Patient Response Payload

Use this type to display the data and error outputs of a mutation for an existing patient.

Type

Input Field - Data Type

PatientResponsePayload

data - Patient

error - String


Phone

This type allows you to display the output of a query or mutation for a phone number.

Type

Input Field - Data Type

Phone

phoneType - String

phoneNumber - String


Phone Type

Use this type to specify the type of phone number that you want to query or mutate.

Enum Value

Mobile

Office

Home

Fax

Other


Practice

This type allows you to display the output of a query for a practice.

Type

Input Field - Data Type

Practice

id - ID!

locations - PracticeLocation

appointmentTypes - AppointmentType
paymentTypes - PracticePaymentType

accessGroups - PracticeAccessGroups


Practice Access Groups

This type allows you to query an access group linked to a practice location.

Type

Input Field - Data Type

PracticeAccessGroups

id - ID!

name - String!

label - String!


Practice Location

Use this type to query the details of a practice's location.

Type

Input Field - Data Type

PracticeLocation

id - ID!

name - String!

groupName - String!


Practice Numbers

Use this type to query or mutate a practice ID number's settings.

Type

Input Field - Data Type

PracticeNumbers

id - ID!

name - String!

primary - Boolean!

deleted - Boolean!

idType - IdType!


Practice Payment Type

This type allows you to query and mutate a payment method used by your practice.

Type

Input Field - Data Type

PracticePaymentType

id - ID!

name - String!


Practice Template Document

Use this type to display the output of a query or mutation for a specific practice template in the Heydoc Microsoft Word add-in.

Type

Input Field - Data Type

PracticeTemplateDocument

id - ID!

patientID - ID

path - String

name - String

type - String

url - String

deleted - Boolean

dateCreated - Date

dateModified - Date

uploadUrl - String

downloadUrl - String


Practice Template Document Data

Use this type to define the displayed output of a query for a practice template made in the Heydoc Microsoft Word add-in.

Type

Input Field - Data Type

PracticeTemplateDocumentData

data - PracticeTemplateDocument

pageInfo - PageInfo


Prescription

This type allows you to display the output of a query for a specific prescription.

Type

Input Field - Data Type

Prescription

patient - Patient

doctor - User

date - Date

status - String

drugs - PrescriptionDrug


Prescription Data

This type allows you to display the output of a query for prescription data.

Type

Input Field - Data Type

PrescriptionData

data - Prescription

pageInfo - PageInfo


Prescription Drug

This type allows you to display the output of a query for a prescription drug.

Type

Input Field - Data Type

PrescriptionDrug

drug - String

dosage - String

quantity - String

repeat - Int

comments - String


Privacy Policy

This type allows you to display the output of a query for a privacy policy.

Type

Input Field - Data Type

PrivacyPolicy

response - String


Product

This type allows you to display the output of a query or mutation for a specific product.

Type

Input Field - Data Type

Product

id - ID!

status - String

productType - ProductType

itemCode - String

name - String

serialNumber - String

tax - Tax

stockLevel - Int

price - Float

cost - Float

supplierName - String

comments - String

appointments - Product

isBookable - Boolean

duration - Int

color - String

isVideoConsultation - Boolean

requiresPayment - Boolean

requiresConfirmation - Boolean

createdAt - Date

updatedAt - Date


Product Data

Use this type to define the displayed output of a mutation for a product.

Type

Input Field - Data Type

ProductData

data - Product

pageInfo - PageInfo


Product Data Input

Use this type to define the displayed output of a mutation for an existing product.

Type

Input Field - Data Type

ProductDataInput

productType - ProductType

name - String

price - Float

itemCode - String

membershipFrequency - String

supplierName - String

duration - Int

color - String

isBookable - Boolean

serialNumber - String

stockLevel - Int

cost - Float

comments - String

isVideoConsultation - Boolean

requiresPayment - Boolean

requiresConfirmation - Boolean


Product Label

This type allows you to display the output of mutation for a digital product label.

Type

Input Field - Data Type

ProductLabel

colour - String

text - String

id - ID!

referenceId - ID!


Product Response Payload

Use this type to display the data and error outputs of a mutation for an existing patient.

Type

Input Field - Data Type

ProductResponsePayload

data - Product

error - String


Product Type

You can define different product types with enum values:

Type

Enum Values

ProductType

appointment

medication

vaccine

lab

membership

pathway

other


Query Options

This type allows you to give more specific parameters when making a query request.

Type

Input Field - Data Type

QueryOptions

includeDeleted - Boolean

createdAt - DateRange

updatedAt - DateRange


Record

This type allows you to display the output of a query for a specific record.

Type

Input Field - Data Type

Record

id - ID

consultationId - String

sectionId - String

sectionTitle - String

recordType - String

patient - ID

doctorName - String

term - String

title - String

date - Date

start - Date

snomed - Snomed

observation - String

dosage - String

quantity - String

batchNumber - String

expiryDate - String

repeat - Int

sampleDate - Date

injectionDate - Date

fasting - Boolean

comments - String

createdAt - Date

updatedAt - Date


Record Data

Use this type to define the displayed output of a mutation for a record.

Type

Input Field - Data Type

RecordData

data - Record

pageInfo - PageInfo


Review Status

Use this type to specify the status of a letter for a query or mutation.

Enum Value

Definition

NONE

No status assigned to the letter

AWAITING_REVIEW

Letter is awaiting review

AWAITING_CORRECTION

Letter is waiting to be edited

COMPLETED

Letter is ready to be sent


Sharing Token

This type allows you to generate a token for the sharing portal.

Type

Input Field - Data Type

SharingToken

token - String


Snomed

This type allows you to display the output of a query for a snomed term.

Type

Input Field - Data Type

Snomed

conceptId - String

term - String


String

The String scalar type represents text data. The String type is most often used in GraphQL to represent human-readable text.

For example: head , shoulders , knees


Tax

This type allows you to display the output of a query for a taxrate.

Type

Input Field - Data Type

Tax

taxName - String

taxRate - Int

taxCode - String


Token

This type allows you to create a unique login code for users in your practice.

Type

Input Field - Data Type

Token

token - String!

user - User


Update Contact Data Address Input

Use this type to define the displayed output of a mutation for an external contact's address.

Type

Input Field - Data Type

UpdateContactDataAddressInput

address - String

city - String

postcode - String

country - String


Update Contact Data Input

Use this type to define the displayed output of a mutation for an external contact.

Type

Input Field - Data Type

UpdateContactDataInput

title - String

first - String

last - String

email - String

phones - UpdateContactDataphoneInput

address - UpdateContactDataAddressInput

medicalSpecialty - String

company - String


Update Contact Data Phone Input

Use this type to define the displayed output of a mutation for an external contact's phone number.

Type

Input Field - Data Type

UpdateContactDataPhoneInput

phoneNumber - String

phoneType - PhoneType


Update Contact Phone Data

This type allows you to mutate an external contact's phone data.

Type

Input Field - Data Type

UpdateContactPhoneData

phoneNumber - String

phoneType - PhoneType


Update Custom Attribute Data

Use this type to define the displayed output for custom attribute data in a mutation.

Type

Input Field - Data Type

UpdateCustomAttributeData

title - String

text - String

response - String


Update Invoice Data Input

Use this type to define the displayed output for a mutation for an invoice.

Type

Input Field - Data Type

UpdateInvoiceDataInput

date - Date

doctorId - ID

locationId - ID

comments - String

extraInfo - String


Update Invoice Payment Data Input

Use this type to define the displayed output for an update mutation for an invoice payment method.

Type

Input Field - Data Type

UpdateInvoicePaymentDataInput

paymentAmount - Float

paymentTypeId - ID

paymentDate - Date

comment - String


Update Letter Data Input

Use this type to define the displayed output of a mutation for a letter.

Type

Input Field - Data Type

UpdateLetterDataInput

patient - String

contact - String

location - String

doctor - String

title - String

body - String

date - Date

reviewStatus - ReviewStatus


Update Line Item Data Input

Use this type to define the displayed output of an update mutation for a line item on an invoice.

Type

Input Field - Data Type

UpdateLineItemDataInput

date - Date

productId - ID

quantity - Int

price - Float

referenceId - ID


Update Patient Data Input

Use this type to define the displayed output for an update mutation for a patient.

Type

Input Field - Data Type

UpdatePatientDataInput

title - String

first - String

last - String

email - String

dob - Date

gender - String

sex - String

address - String

city - String

postcode - String

country - String

paymentReference - String

communicationPreferences - PatientCommunicationPreferencesInput


Update Phone Data

Use this type to define the displayed output for an update mutation for a phone number.

Type

Input Field - Data Type

UpdatePhoneData

phoneNumber - String

phoneType - String


User

This type allows you to display the output of a query for a specific user.

Type

Input Field - Data Type

User

id - ID!

firstName - String!

lastName - String!

email - String!

fullName - String!

isDoctor - Boolean

accessGroups - UserAccessGroup

bookings - BookingData

letters - LetterData


User Access Group

This type allows you to display the output of a query for a user access group.

Type

Input Field - Data Type

UserAccessGroup

id - ID!

name - String!

label - String!


User Data

Use this type to define the displayed output of a mutation for a user.

Type

Input Field - Data Type

UserData

data - User

pageInfo - PageInfo

Did this answer your question?