x QBOS REST API documentation for CANUTRI

QBOS REST API documentation (CANUTRI)

(return to Main Document)

Introduction

The CANUTRI API allows client applications to maintain CANUTRI data record sets.

Audience

This developer's guide is intended for software developers needing a technical reference for using the QBOS REST API. The information you find in this guide is written by software engineering, and is authoritative on how the API behaves.

Additional resources, information about this guide

Occasionally, we make a mistake in this documentation, or unknowingly break a feature that you depend on. If this has happened to you, we apologize! You can help us fix the issue by contacting us at: pkajaani@qbos.com. We appreciate your help.

Getting Started

To place any request in a QBOS API application from a third party application you need to first authenticate your user account and set/calculate values for the following request headers: x-qbos-id, x-qbos-nonce, x-qbos-date-utc, x-qbos-hash-version, x-qbos-auth

See details in Authentication Documentation.

Custom resource vs. standard resource URI format

Custom resource (a.k.a applet) URI contains the resource vendor id in place of "/o/" in the standard object URI. Compare: .../v1/o/...with .../v1/{vendor_id}/...

CANUTRI properties

Properties prefixed with '_' (underscore) are read-only properties. i.e. POST and PUT processing will ignore these properties.

Name Type Max
Length
Numeric Required
For POST
Filterable Default Description
_client_Id bigint Yes NULL This is the Data Org Id.
_owner_Id bigint Yes Yes NULL This is the user id of the record owner. Defaults to the creatorOpid.
_creator_Opid bigint Yes Yes NULL This is the user id of the original record submitter.
_create_Date datetime No {timestamp}   Not enterable upon Insert. System sets this date upon record creation.
status_id int Yes Yes 5575 The status id of the record. Taken from the Life Cycle statuses in ADS.
_status_Change_Date datetime No NULL Not enterable. System sets this date whenever the statusid is changed.
Current_diet nvarchar 30 Yes NULL
Current_diet_intake integer Yes Yes NULL
Nutrition_Supplements nvarchar 20 Yes NULL This property is populated by a Type 2 Value List.
Click here for the appropriate API and sample of value options for this column.
Tube_feeding nvarchar 20 Yes NULL This property is populated by a Type 2 Value List.
Click here for the appropriate API and sample of value options for this column.
Tube_feed_rate nvarchar 20 Yes NULL
Food_allergies nvarchar 20 Yes NULL This property is populated by a Type 2 Value List.
Click here for the appropriate API and sample of value options for this column.
Diabetes nvarchar 20 Yes NULL This property is populated by a Type 2 Value List.
Click here for the appropriate API and sample of value options for this column.
Diabetes_type nvarchar 20 Yes NULL This property is populated by a Type 2 Value List.
Click here for the appropriate API and sample of value options for this column.
FSBS nvarchar 20 Yes NULL This property is populated by a Type 2 Value List.
Click here for the appropriate API and sample of value options for this column.
FSBS_last_reading datetime Yes NULL
IV_access nvarchar 20 Yes NULL This property is populated by a Type 2 Value List.
Click here for the appropriate API and sample of value options for this column.
IV_access_last_changed datetime Yes NULL
IV_access_type nvarchar 30 Yes NULL
IV_access_site_appearance nvarchar 20 Yes NULL This property is populated by a Type 2 Value List.
Click here for the appropriate API and sample of value options for this column.
IV_access_site nvarchar 30 Yes NULL
Tube_feeding_type nvarchar 20 Yes NULL This property is populated by a Type 2 Value List.
Click here for the appropriate API and sample of value options for this column.
Tube_feed_formula decimal(3,1) 3 Yes Yes NULL
One_time_bolus integer Yes Yes NULL
FSBS_results nvarchar 20 Yes NULL
Is_declined bit Yes Yes NULL This property is populated by a Type 1 Value List.
Click here for the appropriate API and sample of value options for this column.
Is_noChange bit Yes Yes NULL This property is populated by a Type 1 Value List.
Click here for the appropriate API and sample of value options for this column.

CANUTRI Relationships

Parent and Child relations to CANUTRI.

Note that the only Required status on relationships that affect a POST of an object are on the parent relations. A Required status on a child relation is only meaningful when POSTing the child object.

Linking during POST: a custom object record can be linked to a parent or child record (custom or standard) during POST by including (in the payload) the realtion id paired with the parent or child object record being linked to. For example: { "REl_3025" : 1832 }      Multiple links may be created in the same POST.

Relation Id Cardinality
(Parent-to-Child)
Required
For POST
Links Up To Is Unary?*
REL_2957 1-1 Yes CA_Assessment
Parent Relations

CANUTRI

Child Relations
Relation Id Cardinality
(Parent-to-Child)
Required
**on POST of child
Links Down To  
REL_3025 1-Many Yes** Food_Allergies_Description  
REL_3024 1-Many Yes** Nutri_Supplements_Description  
REL_3026 1-Many Yes** Nutri_symptoms_issues  
REL_2925 1-Many Assessment_Issue  
REL_3028 1-Many Medication_PU  
REL_3027 1-Many Treatment_PU  
REL_3029 1-Many CP_POC_Issue  
REL_3030 1-1 Notes  
 



Read CANUTRI by id:

GET https:/.../v1/517090/CANUTRI/{id}

Response codes:

  • 200 - OK
  • 404 - Not found or user does not have permission to access resources of this type.
  • 400 - Client error
  • 500 - Server error

Response data: GET https:/.../v1/517090/CANUTRI/2
Unauthorized request.

Read CANUTRI by parent id:

GET https:/.../v1/517090/{parent_relation_id}/{parent_id}/links/CANUTRI[?{filter}]

Response codes:

  • 400 - Client error
  • 500 - Server error
  • 404 - Not found or user does not have permission to access resources of this type.
  • 200 - OK

Response data: GET https:/.../v1/517090/2957/4/links/CANUTRI
Unauthorized request.

Read CANUTRI by filter:

GET https:/.../v1/517090/CANUTRI[?{filter}]

Response codes:

  • 200 - OK
  • 400 - Client error
  • 404 - Not found or user does not have permission to access resources of this type.
  • 500 - Server error

Response data: GET https:/.../v1/517090/CANUTRI?id=2
Unauthorized request.

Create CANUTRI:

POST https:/.../v1/517090/CANUTRI

Request data [See properties]:

Response codes:

Update CANUTRI:

PUT https:/.../v1/517090/CANUTRI/{id}

Request data [See properties]:

Response codes:

  • 200 - OK Content returned [See response data]
  • 204 - OK No content
  • 400 - Client error
  • 404 - Not found
  • 500 - Server error

Delete CANUTRI:

DELETE https:/.../v1/517090/CANUTRI/{id}

The "id" in JSON payload is required to match the {id} in the URI to ensure that deletion requests are intended and safe

Response codes:

  • 204 - OK
  • 400 - Client error
  • 404 - Not found
  • 500 - Server error

Create Link for CANUTRI:

POST https:/.../v1/517090/{relation_id}/{link_to_id}/links/CANUTRI/{id}


{relation_id} can indicate either a parent or a child relation.

Response codes:

  • 204 - OK
  • 400 - Client error
  • 404 - Not found
  • 500 - Server error

Delete Link for CANUTRI:

DELETE https:/.../v1/517090/{parent_relation_id}/{parent_id}/links/CANUTRI/{id}


Deleting a link from CANUTRI down to a child object must be explicitly indicated by negating the relation id:

DELETE https:/.../v1/517090/{-child_relation_id}/{child_id}/links/CANUTRI/{id}

Response codes:

  • 204 - OK
  • 400 - Client error
  • 404 - Not found
  • 500 - Server error