site_id • The associated site idsite_name • The associated site name site_qualified • Flag if the site is qualified for the trial site_inactive • Inactive flag to deactivate the site in a Trial Account scanners_validated • An array of the scanners validated for the group. Each object has the following fields. * uuid • Scanner Id * name • Scanner name * study_uid • The study UID used in the process of scanner validation for the group |
| Permission | group_view |
| Errors |
MISSING_FIELDS • A required field is missing or does not have data in it. The error_subtype holds a array of all the missing fields NOT_FOUND • The group can not be found NOT_PERMITTED • You are not permitted to view this group |
| Notes |
| Description | Delete a group |
|---|---|
| URL | /group/delete |
| Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The group uuid |
| Returns |
status • OK |
| Permission | group_edit |
| Errors |
MISSING_FIELDS • A required field is missing or does not have data in it. The error_subtype holds a array of all the missing fields NOT_FOUND • The group can not be found NOT_PERMITTED • You are not permitted to delete this group NOT_EMPTY • The group still has studies in it ACTIVE_QUERY • The group has outstanding Queries |
| Notes |
| Description | Add or update a user to a group |
|---|---|
| URL | /group/user/add |
| Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The group id user_id • Id of the user role_id • Id of the users role within the group (optional). If not passed the default group role will be assigned event_share • Notify the user on a share into the group namespace (optional) event_approve • Notify the user on a approval needed into the group namespace (optional) event_upload • Notify the user on an upload into the group namespace (optional) event_upload_fail • Notify the user on a failed upload into the group namespace (optional) event_harvest • Notify the user on a harvest into the group namespace (optional) event_new_report • Notify the user when a report is attached in the group namespace (optional) event_report_remove • Notify the user when a report is removed in the group namespace (optional) event_study_comment • Notify the user when a comment is attached to a study in the namespace (optional) event_status_change • Notify the user when the status of a study is changed (optional) event_message • Notify the user when a message is sent to the group namespace (optional) event_node • Notify the user when a group node sends an event (optional) event_link • Notify the user when an anonymous link is hit in the namespace (optional) event_link_mine • Notify the user when an anonymous link created by the user is hit in the namespace (optional) event_thin_study_success • Notify the user when a thin study retrieval they initiated succeeds (optional) event_thin_study_fail • Notify the user when a thin study retrieval they initiated fails (optional) event_case_assignment • Notify the user when they are assigned a case as a medical or admin user (optional) event_incoming_study_request • Notify the user when they get an incoming study request (optional) event_query_add • Notify the user when a new query is issued (optional) event_query_edit • Notify the user when a query is edited (optional) event_query_new_recipient • Notify the user when they are added to a query as a new recipient (optional) event_query_reply • Notify the user when they leave a new reply in a query (optional) event_site_qualified • Notify the user when a trial site is qualified for the clinical trial account (optional) no_physician_alias_share • Flag to exclude this group from a physician alias share (optional) |
| Returns |
status • OK |
| Permission | group_edit |
| Errors |
MISSING_FIELDS • A required field is missing or does not have data in it. The error_subtype holds a array of all the missing fields NOT_FOUND • The group can not be found NOT_PERMITTED • You are not permitted to edit the group ROLE_NAMESPACE_MISMATCH (INCOMPATIBLE_ROLE) • The role cannot be used for groups, data contains role_id and namespace_id USER_NOT_FOUND • The user was not found or is not in the account ROLE_NOT_FOUND • The role was not found or is not in the account INVALID_FLAG • An invalid flag was passed. The error_subtype holds the name of the invalid flag CAN_NOT_PROMOTE • A user can not switch themselves to an admin role if they are currently not in an admin role |
| Notes |
| Description | Remove a user from a group |
|---|---|
| URL | /group/user/delete |
| Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The group id user_id • Id of the user |
| Returns |
status • OK |
| Permission | group_edit |
| Errors |
MISSING_FIELDS • A required field is missing or does not have data in it. The error_subtype holds a array of all the missing fields NOT_FOUND • The group can not be found NOT_PERMITTED • You are not permitted to edit the group |
| Notes |
| Description | List the users in a group |
|---|---|
| URL | /group/user/list |
| Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The group id filter.* Filters (optional) page.* Pagination (optional) sort_by • Sorting (optional) |
| Returns |
status • OK page • The pagination status hash users • An array of the users. Each object holds the following fields * user_id • The user id * user_name • The user name * role_id • The users role id * role_name • The users role name * event_share • Notify the user on a share into the group namespace * event_approve • Notify the user on a approval needed into the group namespace * event_upload • Notify the user on an upload into the group namespace * event_upload_fail • Notify the user on a failed upload into the group namespace * event_harvest • Notify the user on a harvest into the group namespace * event_new_report • Notify the user when a report is attached in the group namespace * event_report_remove • Notify the user when a report is removed in the group namespace * event_study_comment • Notify the user when a comment is attached to a study in the namespace * event_status_change • Notify the user when the status of a study is changed * event_message • Notify the user when a message is sent to the group namespace * event_node • Notify the user when a group node sends an event * event_link • Notify the user when an anonymous link is hit in the namespace * event_link_mine • Notify the user when an anonymous link created by the user is hit in the namespace * event_thin_study_success • Notify the user when a thin study retrieval they initiated succeeds * event_thin_study_fail • Notify the user when a thin study retrieval they initiated fails * event_case_assignment • Notify the user when they are assigned a case as a medical or admin user * event_incoming_study_request • Notify the user when they get an incoming study request * event_query_add • Notify the user when a new query is issued * event_query_edit • Notify the user when a query is edited * event_query_new_recipient • Notify the user when they are added to a query as a new recipient * event_query_reply • Notify the user when they leave a new reply in a query * event_site_qualified • Notify the user when a trial site is qualified for the clinical trial account * no_physician_alias_share • Flag to exclude this group from a physician alias share |
| Permission | group_view |
| Errors |
MISSING_FIELDS • A required field is missing or does not have data in it. The error_subtype holds a array of all the missing fields NOT_FOUND • The group can not be found NOT_PERMITTED • You are not permitted list the group |
| Notes |
| Description | Validate scanners in the group |
|---|---|
| URL | /group/scanner/validate |
| Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The group id scanner_id • The scanner id study_uid • The study uid used to validate the scaner. Required when validating (optional) invalidate • Flag if the scaner is being invalidated |
| Returns |
status • OK |
| Permission | scanner_validate |
| Errors |
MISSING_FIELDS • A required field is missing or does not have data in it. The error_subtype holds a array of all the missing fields NOT_FOUND • The group or scanner was not found. The error_subtype holds the type of field not found NOT_PERMITTED • You are not permitted to validate scanners ALREADY • The scanner is already validated/invalidated |
| Notes |
Role commands
| Description | List the roles for an account |
|---|---|
| URL | /role/list |
| Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) account_id • uuid of the account filter.* Filters (optional) page.* Pagination (optional) sort_by • Sorting (optional) |
| Returns |
status • OK page • The pagination status hash roles • An array of the roles. Each object holds the following same fields as the /role/get call |
| Permission | role_view |
| Errors |
MISSING_FIELDS • A required field is missing or does not have data in it. The error_subtype holds a array of all the missing fields NOT_FOUND • The account can not be found NOT_PERMITTED • You are not permitted to view this list |
| Notes |
| Description | Add a role |
|---|---|
| URL | /role/add |
| Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) name • Name of the role for_account • A flag that the role can be used in an account, default is on (optional) for_group • A flag that the role can be used in a group, default is on (optional) for_location • A flag that the role can be used in a location, default is on (optional) account_id • uuid of the account permissions • A hash of the role permissions (optional) settings • A hash of the role settings (optional) setting_{SETTING_NAME} • Set an individual setting. This is an alternative to the settings hash for easier use in the API tester (optional) |
| Returns |
status • OK uuid • The uuid |
| Permission | role_edit |
| Errors |
MISSING_FIELDS • A required field is missing or does not have data in it. The error_subtype holds a array of all the missing fields ACCOUNT_NOT_FOUND • The account was not found NOT_PERMITTED • You are not permitted to add a role to that account INVALID_JSON • The field is not in valid JSON format. The error_subtype holds the name of the field INVALID_PERMISSION • Invalid permission flag. The error_subtype holds the name of the permission flag. INVALID_PERMISSION_VALUE • The permission flag has an invalid value. The error_subtype holds the name of the permission flag. |
| Notes | If permissions are not passed the role is given the default set of permissions |
| Description | Save a role |
|---|---|
| URL | /role/set |
| Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The role uuid name • Name of the role (optional) description • Description of the role (optional) for_account • A flag that the role can be used in an account (optional) for_group • A flag that the role can be used in a group (optional) for_location • A flag that the role can be used in a location (optional) permissions • A hash of the role permissions (optional) permission_{PERMISSION_NAME} • Set an individual permission. This is an alternative to the permissions hash for easier use in the API tester (optional) settings • A hash of the role settings (optional) setting_{SETTING_NAME} • Set an individual setting. This is an alternative to the settings hash for easier use in the API tester (optional) |
| Returns |
status • OK |
| Permission | role_edit |
| Errors |
NOT_FOUND • The role can not be found NOT_PERMITTED • You are not permitted to edit the role INVALID_JSON • The field is not in valid JSON format. The error_subtype holds the name of the field INVALID_PERMISSION • Invalid permission flag. The error_subtype holds the name of the permission flag. INVALID_PERMISSION_VALUE • The permission flag has an invalid value. The error_subtype holds the name of the permission flag. NO_OTHER_ROLE_EDIT • No other role has role_edit permissions so you can not disable role_edit for this role |
| Notes | The permissions hash does not need to be complete. It can include only the items you want to update or the entire set. |
| Description | Set some role settings fields |
|---|---|
| URL | /role/settings |
| Parameters |
sid • The session id uuid • The role uuid settings • A hash of the role settings (optional) setting_{SETTING_NAME} • Set an individual setting. This is an alternative to the settings hash for easier use in the API tester (optional) |
| Returns |
status • OK --- Settings after change. --- |
| Permission |
role_setting_edit IF there is some setting passed to set, and for each setting there is check against permissions.setting_{SETTING_NAME} user have to be in the same account if no setting is passed to change, as if get current settings |
| Errors |
NOT_FOUND • The role can not be found NOT_PERMITTED • You are not permitted to edit the role settings or user is not in the same account NOT_PERMITTED_SETTING • You are not permitted to edit this settings field. The error_subtype holds the name of the invalid setting NO_ROLE_OVERRIDE • The setting does not allow a role override INVALID_SETTING • An invalid setting was passed. The error_subtype holds the name of the invalid setting INVALID_SETTING_VALUE • An invalid setting value was passed. The error_subtype holds the name of the setting with the invalid value |
| Notes | This overwrites only provided keys for settings, not touching the others. |
| Description | Get a role |
|---|---|
| URL | /role/get |
| Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The role uuid |
| Returns |
status • OK uuid • The role uuid name • Name of the role description • Description of the role. for_account • A flag that the role can be used in an account for_group • A flag that the role can be used in a group for_location • A flag that the role can be used in a location, type • Type of the role. If it is system generated this will be either admin or user permissions • The role permissions as a JSON hash settings • The role settings as a JSON hash |
| Permission | role_view |
| Errors |
MISSING_FIELDS • A required field is missing or does not have data in it. The error_subtype holds a array of all the missing fields NOT_FOUND • The role can not be found NOT_PERMITTED • You are not permitted to view this role |
| Notes |
| Description | Delete a role |
|---|---|
| URL | /role/delete |
| Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The role uuid |
| Returns |
status • OK |
| Permission | role_edit |
| Errors |
MISSING_FIELDS • A required field is missing or does not have data in it. The error_subtype holds a array of all the missing fields NOT_FOUND • The role can not be found NOT_PERMITTED • You are not permitted to delete this role IN_USE • The role is in use. The error_subtype holds a array of the objects that are using it |
| Notes |
| Description | Get the default permissions |
|---|---|
| URL | /role/default/permissions |
| Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) account_id • The account id (optional) |
| Returns |
status • OK permissions • A hash of the permissions. Each key is a permission and the value list is the default admin/user values as per the permissions documentation |
| Errors |
MISSING_FIELDS • A required field is missing or does not have data in it. The error_subtype holds a array of all the missing fields |
| Notes |
| Description | Build a detailed role report |
|---|---|
| URL | /role/report/detail |
| Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) account_id • The account id |
| Returns |
status • OK report_id • The report id |
| Permission | role_view |
| Errors |
MISSING_FIELDS • A required field is missing or does not have data in it. The error_subtype holds a array of all the missing fields NOT_FOUND • The account was not found NOT_PERMITTED • You are not permitted to run this report REPORT_ERROR • Unable to start the report |
| Notes | This call will kick off the building of the report. Poll for the report status with /report/status command and download it with the /report/zip command. |
Activity commands
| Description | List the activities for the user |
|---|---|
| URL | /activity/list |
| Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) account_id • Limit to activities in this account and the personal activities filter.* Filters (optional) page.* Pagination (optional) sort_by • Sorting (optional) strict_account_filter • Flag to apply the account_id to personal activites as well (optional) study_extra • Flag to return extra study fields (optional) |
| Returns |
status • OK page • The pagination status hash activities • An array of the activities. Each object holds the same fields as the /activity/get call |
| Errors |
MISSING_FIELDS • A required field is missing or does not have data in it. The error_subtype holds a array of all the missing fields |
| Notes |
| Description | Count the activities for the user |
|---|---|
| URL | /activity/list/count |
| Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) account_id • Limit to activities in this account and the personal activities filter.* Filters (optional) |
| Returns |
status • OK count • Count of the activities |
| Errors |
MISSING_FIELDS • A required field is missing or does not have data in it. The error_subtype holds a array of all the missing fields RUNNING • This call is currently runnning for the user |
| Notes |
| Description | Get the activity |
|---|---|
| URL | /activity/get |
| Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The activity uuid study_extra • Flag to return extra study fields (optional) |
| Returns |
status • OK uuid • The activity uuid created • The date and time the activity was created. created_by • The name of the user who created the activity. type • Type of activities. Based on the type different fields are returned as follows priority • Activity priority
|
| Errors |
MISSING_FIELDS • A required field is missing or does not have data in it. The error_subtype holds a array of all the missing fields NOT_FOUND • The activity was not found NOT_PERMITTED • You are not permitted to access this activity |
| Notes |
|
| Description | Delete an activity |
|---|---|
| URL | /activity/delete |
| Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The activity uuid |
| Returns |
status • OK |
| Errors |
MISSING_FIELDS • A required field is missing or does not have data in it. The error_subtype holds a array of all the missing fields NOT_FOUND • The activity was not found NOT_PERMITTED • You are not permitted to delete this activity |
| Notes |
Audit commands
| Description | Audit the changes to an object |
|---|---|
| URL | /audit/object |
| Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The uuid of the object to audit filter.* • Filters (optional) page.* Pagination (optional) reverse • Flag to reverse the default sort order (optional) download • Flag to create a zipped CSV file. A report_id will be returned and the file can be accessed via /report/status and /report/zip (optional) customfield_detail • Flag to include the customfield name in the detail (optional) |
| Returns |
status • OK report_id • The report id if the download flag was set. The rest of the parameters will not be returned (optional) page • The pagination status hash events • An array of the events associated with this object. Each object in the array will have the following fields * uuid • uuid of the object * action • The type of change or event * what • Name of the object the action was on * who • Name of the user who did this * proxy • Name of the proxy user who did this if the action was done by a proxy * when • Date and time * type • Type of object the action was on * detail • Details - see the notes * with • If this event involves another entity (e.g. a share) this field will exist and have the name of the other entity (optional) * track • A JSON hash of tracking keys and values if tracking is applied to this event (optional) * client_address • IP address that performed the action * sid • sid that performed the action * webhook_id • webhook that triggered the action. NOTE: This field exists only if action was triggered by webhook. * causality • A hash that give a clue of what triggered the change. All the hash keys are optional: ** timer_rule_id • Timer rule that applied on the event ** webhook_id • Webhook that triggered the action |
| Permission | audit_view |
| Errors |
MISSING_FIELDS • A required field is missing or does not have data in it. The error_subtype holds a array of all the missing fields NOT_PERMITTED • You are not permitted to audit this object NOT_FOUND • The object was not found |
| Notes |
|
| Description | Audit a user's public key edits and what a user has done in an account |
|---|---|
| URL | /audit/user |
| Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) user_id • The id of the user to audit account_id • The id of the account page.* Pagination (optional) filter.* Filters (optional) reverse • Flag to reverse the default sort order (optional) study_fields • JSON list of study fields to include in the response (optional) download • Flag to create a zipped CSV file. A report_id will be returned and the file can be accessed via /report/status and /report/zip (optional) |
| Returns |
status • OK report_id • The report id if the download flag was set. The rest of the parameters will not be returned (optional) page • The pagination status hash events • An array of the events associated with this object. Each object in the array will have the following fields * uuid • uuid of the object * action • The type of change or event * what • Name of the object the action was on * who • Name of the user who did this * proxy • Name of the proxy user who did this if the action was done by a proxy * when • Date and time * type • Type of object the action was on * detail • Details - see the notes in /audit/object * with • If this event involves another entity (e.g. a share) this field will exist and have the name of the other entity (optional) * track • A JSON hash of tracking keys and values if tracking is applied to this event (optional) * client_address • IP address that performed the action * sid • sid that performed the action * study • A JSON hash of study fields for study events. Returned only if study_fields are provided in the parameters * webhook_id • webhook that triggered the action. NOTE: This field exists only if action was triggered by webhook. |
| Permission | audit_view |
| Errors |
MISSING_FIELDS • A required field is missing or does not have data in it. The error_subtype holds a array of all the missing fields NOT_PERMITTED • You are not permitted to access this user record NOT_FOUND • The user was not found |
| Notes |
|
| Description | Audit all events in an account |
|---|---|
| URL | /audit/account |
| Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) account_id • The id of the account filter.* • Filters (optional) page.* • Pagination (optional) reverse • Flag to reverse the default sort order (optional) download • Flag to create a zipped CSV file. A report_id will be returned and the file can be accessed via /report/status and /report/zip (optional) |
| Returns |
status • OK report_id • The report id if the download flag was set. The rest of the parameters will not be returned (optional) page • The pagination status hash events • An array of the events associated with this object. Each object in the array will have the following fields * uuid • uuid of the object * action • The type of change or event * what • Name of the object the action was on * who • Name of the user who did this * proxy • Name of the proxy user who did this if the action was done by a proxy * when • Date and time * type • Type of object the action was on * detail • Details - see the notes in /audit/object * with • If this event involves another entity (e.g. a share) this field will exist and have the name of the other entity (optional) * track • A JSON hash of tracking keys and values if tracking is applied to this event (optional) * client_address • IP address that performed the action * sid • sid that performed the action * webhook_id • webhook that triggered the action. NOTE: This field exists only if action was triggered by webhook. |
| Permission | audit_view |
| Errors |
MISSING_FIELDS • A required field is missing or does not have data in it. The error_subtype holds a array of all the missing fields NOT_PERMITTED • You are not permitted to access this information NOT_FOUND • The account was not found |
| Notes |
|
| Description | Return deleted records |
|---|---|
| URL | /audit/deleted |
| Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) account_id • The id of the account type • The type of the object (Study|User etc.) page.* Pagination (optional) |
| Returns |
status • OK page • The pagination status hash objects • An array of the objects . Each object in the array will have the following fields * uuid • uuid of the deleted object * who • Name of the user who deleted the object * proxy • Name of the proxy user who did this if the action was done by a proxy * when • Date and time * client_address • IP address that performed the action * sid • sid that performed the action |
| Permission | audit_view |
| Errors |
MISSING_FIELDS • A required field is missing or does not have data in it. The error_subtype holds a array of all the missing fields NOT_PERMITTED • You are not permitted to access this record |
| Notes | Use the uuid to retrieve the full history from /audit/object |
| Description | Log a message |
|---|---|
| URL | /audit/log |
| Parameters |
sid • sid (optional) bucket • Name of the bucket to log to rest_params** • Parameters are logged to a message in the bucket |
| Returns |
status • OK |
| Errors |
MISSING_FIELDS • A required field is missing or does not have data in it. The error_subtype holds a array of all the missing fields INVALID_BUCKET • The bucket name can only contain A-z characters and must be between 4 and 16 characters long |
| Notes |
| Description | Get the failed login events |
|---|---|
| URL | /audit/failedlogins |
| Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) account_id • The id of the account from_time • Only return events after the epoch time (optional) |
| Returns |
status • OK events • An array of the events. Each event is an array with the following fields * Epoch time of the event * LOCKOUT if the login failed due to the lockout or PRIMARY if the login failed due to invalid credentials * The vanity of the event * The client IP address * The rest of the fields hold the email and account information depending on the parameters used for /session/login |
| Errors |
MISSING_FIELDS • A required field is missing or does not have data in it. The error_subtype holds a array of all the missing fields NOT_PERMITTED • You are not permitted to access this information NOT_FOUND • The account was not found |
| Notes | Collection of this data needs to be enabled via the audit_failed_logins account switch |
Namespace commands
| Description | Get the study permissions for the namespace |
|---|---|
| URL | /namespace/permissions |
| Parameters |
(sid || uuid && serial_no) • Either the sid or the node id and serial number (namespace_id || study_id || study_uid && storage_namespace && phi_namespace) • The uuid of the namespace or study or the study_uid/storage_namespace/phi_namespace triplet oauth • Flag to return the OAuth token information for the user (optional) |
| Returns |
status • OK study_edit • The permission flag setting ↳ study_edit_approved • The permission flag setting ↳ study_edit_unapproved • The permission flag setting study_download • The permission flag setting study_browse • The permission flag setting study_share • The permission flag setting ↳ study_share_email • The permission flag setting ↳ study_share_share_code • The permission flag setting ↳ study_share_account • The permission flag setting ↳ study_share_location • The permission flag setting ↳ study_share_group • The permission flag setting ↳ study_share_user • The permission flag setting ↳ study_share_rsna • The permission flag setting ↳ study_share_npi • The permission flag setting ↳ study_share_request • The permission flag setting study_push • The permission flag setting study_delete • The permission flag setting study_approve • The permission flag setting study_view • The permission flag setting study_upload • The permission flag setting study_report_upload • The permission flag setting study_report_delete • The permission flag setting study_sync • The permission flag setting study_merge • The permission flag setting reports • A JSON array of the report ids they can view. This is not returned if they can view all reports oauth • A JSON hash containing the the OAuth token and ttl |
| Errors |
MISSING_FIELDS • A required field is missing or does not have data in it. The error_subtype holds a array of all the missing fields INVALID_CREDENTIALS • The sid or node credentials are invalid NOT_FOUND • The object was not found |
| Notes |
| Description | Set/get the settings for the namespace |
|---|---|
| URL | /namespace/settings |
| Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The uuid of the namespace no_dup_share • Flag to stop duplicate studies (same study_uid and image count) from getting shared into the namespace (optional) study_field_flags • A JSON hash of study_field_* role values to override the role values for studies in the namespace (optional) study_size_soft_threshold_per_user • A threshold for studies size per user. An email (by study_quota_exceeded template) will be sent when this limit is exceeded by a user. A JSON hash of study_field_* role values to override the role values for studies in the namespace (optional) share_related • Flag to make study shares with this namespace include related studies (same PHI namespace, same MRN) (optional) ira_namespace • Flag to make the namespace viable owner namespace for Queries (optional) download_anonymize • Anonymization rules to apply on study download. The setting format should follow the anonymize_tags parameter format of the Storage /study/{namespace}/{studyUid}/download call (optional)storage_always_dicom_tags • A JSON list of DICOM tags that should always be loaded from storage. This is useful for mapped custom fields which should always show the latest value in storage. (optional) -- The following account settings can be over-ridden in the namespace --
remove_private_tags_on_upload • Flag the storage to anonymize or remove all private tags from a study (optional)enable_dicom_wrapping • Value for the setting (optional) auto_enable_dicom_wrapping • Value for the setting (optional) single_file_dicom_wrapping • Value for the setting (optional) disable_duplicate_study_upload • Value for the setting (optional) force_new_study_on_upload • Value for the setting (optional) enable_multipart_uploader • Value for the setting (optional) allow_drag_and_drop_in_study_uploader • Value for the setting (optional) link_defaults • Value for the setting (optional) upload_settings • Value for the setting (optional) auto_create_patient • Value for the setting (optional) enable_epic_patient_lookup • Value for the setting (optional) ui_json • JSON for UI setting (optional) possible options:
pixel_anonymize_color • Value for the setting (optional) priority_notifications • Value for the setting (optional) enable_namespace_ai_questions • Value for the setting (optional) disable_mobile_dicom_wrapping • Value for the setting (optional) enable_dicom_deidentification • Value for the setting (optional) try_update_original_study • Value for the setting (optional) try_update_original_study_from_namespaces • Value for the setting (optional) try_update_original_study_to_namespaces • Value for the setting (optional) must_approve_duplicate_study_uid • Value for the setting (optional) reverse_patient_name • Value for the setting (optional) epic_prompt_for_anonymize • Value for the setting (optional) viewer_study_enable_cpp_transcoding • Value for the setting (optional). Can be set only by sysdamin. ai_settings** • Other AI settings |
| Returns |
status • OK no_dup_share • The setting value study_field_flags • The setting value ------ Account settings that have been over-ridden in the namespace ------ |
| Permission | account_edit or ownership for a PHR namespace to modify the settings |
| Errors |
MISSING_FIELDS • A required field is missing or does not have data in it. The error_subtype holds a array of all the missing fields NOT_FOUND • The namespace was not found INVALID_SETTING • An invalid setting was passed. The error_subtype holds the name of the invalid setting INVALID_SETTING_VALUE • An invalid setting value was passed. The error_subtype holds the name of the setting with the invalid value |
| Notes |
| Description | Validate and get the full description of a share code |
|---|---|
| URL | /namespace/share_code |
| Parameters |
(share_code || namespace_id) • The share code or namespace id (sid || uuid && serial_no) • Either the sid or the node id and serial number (optional) |
| Returns |
status • OK share_code • The share code share_description • The share description share_settings • Share settings JSON structure of the share display settings share_type • What are you sharing with (account|location|group|user) share_name • The name of what you are sharing with namespace_id • Namespace for the share code account_id • Id of the account currency • 3-letter ISO code for currency to charge in (optional - see notes) charge_description • The description of the charge (optional - see notes) second_opinion_share • Flag if this is a second opinion workflow (optional) second_opinion_config • JSON configuration for the second opinion workflow (optional) second_opinion_case • The second opinion case. The fields are per /case/get (optional) pricing • Pricing table in JSON format. (optional - see notes) customfields_pricing • Pricing table in JSON format. (optional - see notes) sum_price_matches • A flag to be used with customfields_pricing pricing table payment_processor • JSON hash of the payment processor information (optional) cc_description • A description of the users credit card on file (optional - see notes) enable_dicom_wrapping • Is dicom wrapping enabled for the associated account enable_dicom_deidentification • Is the dicom de-identification tool enabled for the associated account enable_dicomdir_scan • Is dicomdir scanning enabled for the associated account consolidate_wrapped_jpegs • Is consolidated wrapped jpegs enabled for the associated account upload_one_study • Only allow one study to be selected and uploaded render_wrapped_pdf • Value of the flag for the associated account render_wrapped_avi • Value of the flag for the associated account render_wrapped_video • Value of the flag for the associated account render_wrapped_docx • Value of the flag for the associated account sr_render_css • Value of the flag for the associated account auto_wrap_images • Value of the flag for the associated account reencode_dicom_mp4 • Value of the flag for the associated account duplicate_study_check • Value of the flag for the associated account disable_duplicate_study_upload • Flag for the setting force_new_study_on_upload • Flag for the setting confirm_before_upload • Value of the flag for the associated account study_download_no_reports • Value of the flag for the associated account share_charge_by_modality • Charge shares (including second opinion) by modality of a shared study auto_enable_dicom_wrapping • Flag for the setting single_file_dicom_wrapping • Flag for the setting enable_multipart_uploader • Flag for the setting allow_drag_and_drop_in_study_uploader • Flag for the setting upload_select_none • Flag for the setting hide_help_tool • Flag for the setting is_production • Flag if this is a production site is_anonymous • Flag if this is an anonymous upload anonymize_rules • If the upload should anonymize the study this will hold the rules from the /namespace/anonymize calls dicom_tag_map • If the upload should anonymize the study this will hold the dicom tag to name map prompt_for_anonymize • Flag to prompt if the anonymization rules should be applied batch_encode_cine • Value of the flag for the associated account encapsulate_wrapped_pdf • Value of the flag for the associated account dicom_deidentification_at_ingress • Value of the flag for the associated account upload_settings • Value of the namespace setting customfields • An array of the custom fields that should be captured during the share process ordered by display_order. Each object has the following fields plus these additional fields. (This is only returned if the share has custom fields). If a sid is passed all custom fields for the namespace will be returned * capture_on_share_code • Should the field be capture on the share code * wrapped_dicom_only • Only capture for wrapped DICOM uploads * dicom_only • Only capture for non-wrapped DICOM uploads link_parameters • A JSON hash of any additional parameters generated by a link usage (optional) permissions • The namespace permissions |
| Errors |
MISSING_FIELDS • A required field is missing or does not have data in it. The error_subtype holds a array of all the missing fields NOT_FOUND • The share code was not found or if gateway credentials are passed is not valid for gateway uploads INVALID_LINK • The anonymous upload link is no longer valid |
| Notes |
Namespace share_settings is a JSON hash; keys are the action, value are specific to the action and defined here:
|
| Description | Set/get the price for sharing with a namespace, also enable and configure the second opinion workflow |
|---|---|
| URL | /namespace/share/pricing |
| Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The uuid of the namespace currency • 3-letter ISO code for currency to charge in (USD|GBP) (optional) charge_description • The description of the charge (optional) pricing • Pricing table in JSON format (optional) customfields_pricing • Pricing table in JSON format (optional) sum_price_matches • Flag to search for all matches in customfields_pricing table and to add them up (optional) second_opinion_share • Flag to enable/disable the second opinion workflow for the share (optional) second_opinion_config • JSON configuration for the second opinion workflow (optional) share_charge_by_modality • Charge shares (including second opinion) by modality of a shared study if this flag is set (optional) |
| Returns |
status • OK currency • 3-letter ISO code for currency to charge in is_production • Flag if this is a production site charge_description • The description of the charge pricing • Pricing table in JSON format. customfields_pricing • Pricing table in JSON format. sum_price_matches • Flag to search for all matches in pricing table and to add them up second_opinion_share • Flag to enable/disable the second opinion workflow for the share second_opinion_config • JSON configuration for the second opinion workflow share_charge_by_modality • Charge shares (including second opinion) by modality of a shared study if this flag is set |
| Permission | account_edit if setting account_view if getting |
| Errors |
MISSING_FIELDS • A required field is missing or does not have data in it. The error_subtype holds a array of all the missing fields NOT_PERMITTED • You are not permitted to price this namespace NOT_FOUND • The namespace was not found INVALID_JSON • The field is not in valid JSON format. The error_subtype holds the name of the field INVALID_INTEGER • The price is not an integer number INVALID_CONDITION • The pricing condition is invalid INVALID_FLAG • The field is not a valid flag NOT_LIST • The customfields_pricing table is not a JSON list NOT_HASH • The pricing field is not a hash INVALID_CURRENCY • Invalid currency NEEDS_ANY_OR_ALL • The hash needs an "ANY" or "ALL" key ONLY_ALL • If the hash has an ALL value it can't have any other values INVALID_AMOUNT • An invalid amount. The error_subtype holds the invalid amount |
| Notes |
Pricing table
|
| Description | Calculate price for sharing with this namespace. The price is calculated based on customfields, so it is useless for namespaces set up to charge by modality. |
|---|---|
| URL | /namespace/share/price |
| Parameters |
uuid • The uuid of the namespace customfield-{CUSTOMFIELD_UUID} • Custom field(s) defined for the case (or study) account objects with values entered in the second opinion wizard (or in the image share screen) (optional) |
| Returns |
status • OK price • Calculated price in pennies or null for no price match |
| Errors |
NOT_FOUND • The namespace can not be found NOT_CUSTOMFIELDS_PRICING • The namespace is set up to charge by modality |
| Notes |
|
| Description | Set/get the anonymization rules for the namespace |
|---|---|
| URL | /namespace/anonymize |
| Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The uuid of the namespace rules • Anonymization rules in JSON format. The format is a hash with the keys the names of the fields to anonymize and the values the regular expressions to apply. (optional) anonymization_id • The uuid of the anonymization profile to connect to the namespace. (optional) prompt_for_anonymize • Flag to prompt if the anonymization rules should be applied. Only applicable to ingress anonymization. (optional) |
| Returns |
status • OK rules • The anonymization rules in JSON format. anonymization_id • The uuid of the anonymization profile the namespace is connected to anonymize_at_ingress • If the anonymize at ingress feature is turned on this flag is returned prompt_for_anonymize • Flag to prompt if the anonymization rules should be applied. Only applicable to ingress anonymization dicom_tag_map • If the anonymize at ingress feature is turned on this map of field names to dicom tags is returned |
| Permission | account_edit |
| Errors |
MISSING_FIELDS • A required field is missing or does not have data in it. The error_subtype holds a array of all the missing fields NOT_PERMITTED • You are not permitted to anonymize this namespace NOT_FOUND • The namespace or anonymization profile was not found. The error_subtype holds the type of the not found item INVALID_JSON • The field is not in valid JSON format. The error_subtype holds the name of the field NOT_HASH • The rules field is not a hash INVALID_FIELD_NAME • The field name is n the rules hash is invalid. The error_subtype holds the invalid field name INVALID_REGEXP • Invalid regular expression. The error_subtype holds the invalid regexp. ONLY_ONE • You can pass either the rules parameter with non-empty rule set or non-empty anonymization_id parameter, but not both HAS_ANONYMIZATION_PROFILE • The namespace has an anonymization profile connected, the anonymization rules cannot be set HAS_ANONYMIZATION_RULES • The namespace has anonymization rules set, the namespace cannot be connected to an anonymization profile therefore |
| Notes |
|
| Description | Set/get the cover page template for the namespace |
|---|---|
| URL | /namespace/coverpage |
| Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The uuid of the namespace coverpage • The coverpage value. See the notes for formatting details or pass an empty string to remove the current cover page. (optional) |
| Returns |
status • OK coverpage • The coverpage value. |
| Permission | account_edit |
| Errors |
MISSING_FIELDS • A required field is missing or does not have data in it. The error_subtype holds a array of all the missing fields NOT_PERMITTED • You are not permitted to do this NOT_FOUND • The namespace was not found |
| Notes |
The coverpage value should be a JSON structure with Text::Template expressions for the key values. e.g.
\{ "title": "This is an outside study", "footer": "Dicomgrid.com", "uploadedDate": "{$created_at}", "uploadedBy": "{$created_by_name}", "studyInstanceUid": "{$study_uid}", "modality": "{$modality}", "accessionNumber": "{$accession_number}", "studyDescription": "{$study_description}", "studyDate": "{$study_date}" \} |
| Description | Validate custom field values for a namespace |
|---|---|
| URL | /namespace/validate/customfields |
| Parameters |
share_code • The share code customfield-{CUSTOMFIELD_UUID} • Custom field(s) |
| Returns |
status • OK |
| Errors |
INVALID_CUSTOMFIELD • Invalid custom field(s) name or value were passed. The error_subtype holds an array of the error details |
| Notes |
| Description | Set/get the event default values that are applied when a user is added to a namespace |
|---|---|
| URL | /namespace/event/defaults |
| Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The uuid of the namespace event_share • Notify the user on a share into the namespace (optional) event_approve • Notify the user on a approval needed into the namespace (optional) event_upload • Notify the user on an upload into the namespace (optional) event_upload_fail • Notify the user on a failed upload into the namespace (optional) event_harvest • Notify the user on a harvest into the namespace (optional) event_new_report • Notify the user when a report is attached in the namespace (optional) event_report_remove • Notify the user when a report is removed in the namespace (optional) event_study_comment • Notify the user when a comment is attached to a study in the namespace (optional) event_status_change • Notify the user when the status of a study is changed (optional) event_message • Notify the user when a message is sent to the namespace (optional) event_node • Notify the user when a namespace node sends an event (optional) event_link • Notify the user when an anonymous link is hit in the namespace (optional) event_link_mine • Notify the user when an anonymous link created by the user is hit in the namespace (optional) event_thin_study_success • Notify the user when a thin study retrieval they initiated succeeds (optional) event_thin_study_fail • Notify the user when a thin study retrieval they initiated fails (optional) event_case_assignment • Notify the user when they are assigned a case as a medical or admin user (optional) event_incoming_study_request • Notify the user when they get an incoming study request (optional) event_query_add • Notify the user when a new query is issued (optional) event_query_edit • Notify the user when a query is edited (optional) event_query_new_recipient • Notify the user when they are added to a query as a new recipient (optional) event_query_reply • Notify the user when they leave a new reply in a query (optional) event_site_qualified • Notify the user when a trial site is qualified for the clinical trial account (optional) |
| Returns |
status • OK event_share • Notify the user on a share into the namespace event_approve • Notify the user on a approval needed into the namespace event_upload • Notify the user on an upload into the namespace event_upload_fail • Notify the user on a failed upload into the namespace event_harvest • Notify the user on a harvest into the namespace event_new_report • Notify the user when a report is attached in the namespace event_report_remove • Notify the user when a report is removed in the namespace event_study_comment • Notify the user when a comment is attached to a study in the namespace event_status_change • Notify the user when the status of a study is changed event_message • Notify the user when a message is sent to the namespace event_node • Notify the user when a namespace node sends an event event_link • Notify the user when an anonymous link is hit in the namespace event_link_mine • Notify the user when an anonymous link created by the user is hit in the namespace event_thin_study_success • Notify the user when a thin study retrieval they initiated succeeds event_thin_study_fail • Notify the user when a thin study retrieval they initiated fails event_case_assignment • Notify the user when they are assigned a case as a medical or admin user event_incoming_study_request • Notify the user when they get an incoming study request event_query_add • Notify the user when a new query is issued event_query_edit • Notify the user when a query is edited event_query_new_recipient • Notify the user when they are added to a query as a new recipient event_query_reply • Notify the user when they leave a new reply in a query event_site_qualified • Notify the user when a trial site is qualified for the clinical trial account |
| Permission | account_edit |
| Errors |
MISSING_FIELDS • A required field is missing or does not have data in it. The error_subtype holds a array of all the missing fields NOT_PERMITTED • You are not permitted to apply defaults to this namespace NOT_FOUND • The namespace was not found INVALID_FLAG • An invalid flag was passed. The error_subtype holds the name of the invalid flag |
| Notes |
| Description | Set/get the study default values for the namespace |
|---|---|
| URL | /namespace/study/defaults |
| Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The uuid of the namespace defaults • Default values in JSON format. The format is a hash with the keys the names of the fields and the values are the default value. The available field name are as listed in the returned field hash. (optional) |
| Returns |
status • OK defaults • The default values in JSON format. fields • A hash of the fields that can have default values. The study fields have the DICOM tag as the value and the custom fields have the field name as the value. |
| Permission | account_edit |
| Errors |
MISSING_FIELDS • A required field is missing or does not have data in it. The error_subtype holds a array of all the missing fields NOT_PERMITTED • You are not permitted to apply defaults to this namespace NOT_FOUND • The namespace was not found INVALID_JSON • The field is not in valid JSON format. The error_subtype holds the name of the field NOT_HASH • The rules field is not a hash INVALID_FIELD_NAME • The field name in the default hash is invalid. The error_subtype holds the invalid field name |
| Notes |
|
| Description | Get the FQDN for the storage engine |
|---|---|
| URL | /namespace/engine/fqdn |
| Parameters |
(namespace_id || study_id || study_uid && storage_namespace && phi_namespace) • The uuid of the namespace or study or the study_uid/storage_namespace/phi_namespace triplet source • The source of the query (optional) |
| Returns |
status • OK engine_fqdn • The FQDN of the storage engine to use engine_url • URL of the storage engine to use storage_namespace • Storage namespace to use |
| Errors |
MISSING_FIELDS • A required field is missing or does not have data in it. The error_subtype holds a array of all the missing fields NOT_FOUND • The namespace was not found PENDING_RESTORE • The study is getting retrieved from the archive. Try this call again after a delay |
| Notes |
| Description | Build a report of the users who have been removed from the namespace |
|---|---|
| URL | /namespace/removed/user/report |
| Parameters |
sid • The session id uuid • The UUID of the namespace account_id • The UUID of the account. A report will be produced for group, location and account namespaces of this account email • Optional email address to send the report to |
| Returns |
status • OK report_id • The report id |
| Permission | account_edit or sysadmin or support user |
| Errors |
MISSING_FIELDS • A required field is missing or does not have data in it. The error_subtype holds a array of all the missing fields NOT_FOUND • The namespace was not found NOT_PERMITTED • You are not permitted to do this |
| Notes |
| Description | Ask an AI question for the namespace |
|---|---|
| URL | /namespace/question |
| Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The namespace id question • The question to ask or a JSON array of questions to ask detail • Optional detail to pass through to the AI stack |
| Returns |
status • OK |
| Permission | group_edit, location_edit or account_edit |
| Errors |
MISSING_FIELDS • A required field is missing or does not have data in it. The error_subtype holds a array of all the missing fields NOT_FOUND • The namespace or question was not found. NOT_PERMITTED • You are not permitted to do this NODE_NOT_SETUP • A node needs to be attached to the namespace for this question IN_PROCESS • The question is currently in process |
| Notes |
|
| Description | Attach an audit action to a namespace |
|---|---|
| URL | /namespace/audit |
| Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The id of the namespace action • The audit action (AI_ACTION) detail • Additional information |
| Returns |
status • OK |
| Errors |
MISSING_FIELDS • A required field is missing or does not have data in it. The error_subtype holds a array of all the missing fields NOT_FOUND • The study can not be found INVALID_ACTION • An invalid action was passed |
| Notes |
help commands
| Description | Get help |
|---|---|
| URL | /help/get |
| Parameters |
sid • The session id key • The help key |
| Returns |
status • OK text • The help text |
| Errors |
MISSING_FIELDS • A required field is missing or does not have data in it. The error_subtype holds a array of all the missing fields NOT_FOUND • The help was not found |
| Notes |
| Description | Set help text |
|---|---|
| URL | /help/set |
| Parameters |
sid • The session id of a system administrator or account support user key • The help key text • The help text |
| Returns |
status • OK |
| Errors |
MISSING_FIELDS • A required field is missing or does not have data in it. The error_subtype holds a array of all the missing fields NOT_SYSADMIN_OR_SUPPORT • The user is not a sysadmin or support user |
| Notes |
Terminology commands
| Description | List terminology overrides for the account |
|---|---|
| URL | /terminology/account/overrides |
| Parameters |
sid • The session id of a system administrator or account administrator (account_id || vanity || study_uid && storage_namespace && phi_namespace) • The uuid or vanity name of the account or study triplet to apply any account overrides for (optional) |
| Returns |
status • OK tags • An array of hashes of tags * tag • The tag * val • The value of the tag * language • The language of the tag * vanity • The vanity of the tag |
| Errors |
MISSING_FIELDS • A required field is missing or does not have data in it. The error_subtype holds a array of all the missing fields NOT_FOUND • The account or vanity was not found |
| Notes | If a tag is not overridden for the account or vanity it is not returned. |
| Description | Get the terminology tags |
|---|---|
| URL | /terminology/tags |
| Parameters |
tags • A comma separated list of the terminology tags to look up (optional) language • The ISO 639-1 language code (account_id || vanity || study_uid && storage_namespace && phi_namespace) • The uuid or vanity name of the account or study triplet to apply any account overrides for (optional) |
| Returns |
status • OK values • A hash of the tags and their values |
| Errors |
MISSING_FIELDS • A required field is missing or does not have data in it. The error_subtype holds a array of all the missing fields |
| Notes | If a tag does not have a value in the database the tag is not returned |
| Description | Set terminology values |
|---|---|
| URL | /terminology/set |
| Parameters |
sid • The session id of a system administrator or account administrator tag • The tag to set language • The ISO 639-1 language code account_id • The uuid of the account to apply the tag for (optional) vanity • Vanity to apply the tag for (optional) value • The value of the tag. If this is empty the tag is deleted |
| Returns |
status • OK |
| Permission | account_edit or sysadmin |
| Errors |
MISSING_FIELDS • A required field is missing or does not have data in it. The error_subtype holds a array of all the missing fields NOT_SYSADMIN_OR_SUPPORT • The user is not a sysadmin or support user and is trying to set global tags NOT_PERMITTED • The user is not an account administrator and is trying to set account tags NO_VALUE • The value parameter was not passed NOT_FOUND • The account was not found |
| Notes |
| Description | Get a list of the terminology tags |
|---|---|
| URL | /terminology/list |
| Parameters |
tags • A comma separated list of the terminology tags to look up language • The ISO 639-1 language code (account_id || vanity) • The uuid or vanity name of the account to apply any account overrides for (optional) |
| Returns |
status • OK tags • An array of hashes of tags * tag • The tag * val • The value of the tag * language • The language of the tag |
| Errors |
MISSING_FIELDS • A required field is missing or does not have data in it. The error_subtype holds a array of all the missing fields |
| Notes | If you pass in both a vanity and account_id the account/vanity override tags will be returned as well |
| Description | Get the terminology in i18next format |
|---|---|
| URL | /terminology/i18next |
| Parameters |
lng • The language code (account_id || vanity) • The uuid or vanity name of the account to apply any account overrides for (optional) |
| Returns | The data in i18next format |
| Errors |
MISSING_FIELDS • A required field is missing or does not have data in it. The error_subtype holds a array of all the missing fields |
| Notes |
Analytics commands
| Description | Get the study analytics |
|---|---|
| URL | /analytics/study |
| Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) (account_id || namespace_id) • The account or namespace to get the analytics for. namespace_id parameter accepts JSON arrays of namespace UUIDs period • The time period (day|week|month|year) count • The number of periods to get end_date • The end date, default is today if not passed (optional) modality • Filter analytics by modality (optional) customfield-{CUSTOMFIELD_UUID} • Filter analytics by a subset of study customfields (optional) time_zone • The report's time zone. Time zone selection order: current user's time zone, time_zone parameter, UTC by default. report • Flag if the result should be returned as a report (optional) email • Send the report to this email address(es) when it is done (optional) |
| Returns |
status • OK current • The date and timestamp for how current the analytics data is. This is not returned when report flag is passed. periods • An array of the periods for earliest to latest each object in the array will have the following fields. This is not returned when report flag is passed. * start • Starting date of the period * end • Ending date of the period * label • Display label for the period * study_create • Number of studies created * study_create_harvest • Number of harvested studies created * study_create_upload • Number of uploaded studies created * study_create_share • Number of shared studies created * study_create_copy • Number of copied studies created * study_delete • Number of studies deleted * study_view • Number of studies viewed * study_report_view • Number of reports viewed * study_download • Number of studies downloaded * study_push • Number of studies pushed * study_share_out • Number of studies shared out of the account or namespace * study_share_in • Number of studies shared into the account or namespace * study_approve • Number of studies approved into the account or namespace * study_auto_approve • Number of studies auto approved into the account or namespace * study_view_load • Average time in ms for the study view load time report_id • The report id. This is returned when report flag is passed. |
| Permission | analytics_view |
| Errors |
MISSING_FIELDS • A required field is missing or does not have data in it. The error_subtype holds a array of all the missing fields INVALID_PARAMETERS • Only pass a account_id or namespace_id PHR_NAMESPACE • Only pass non-PHR namespaces NOT_LIST • The field is not a JSON array. The error_subtype holds the name of the field INVALID_FLAG • An invalid flag was passed. The error_subtype holds the name of the invalid flag INVALID_EMAIL • An invalid email address was passed INVALID_UUID • The field is not a valid UUID. The error_subtype holds the name of the field VALIDATION_FAILED • The modality parameter validation failed MULTIPLE_ACCOUNTS • Namespaces from different accounts provided NOT_FOUND • The account or namespace can not be found NOT_PERMITTED • You are not permitted to view analytics for this account or namespace INVALID_PERIOD • An invalid period INVALID_END_DATE • An invalid period INVALID_COUNT • Invalid or excessive count value |
| Notes |
|
| Description | Get the patient portal analytics |
|---|---|
| URL | /analytics/patient/portal |
| Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) account_id • The account id patient_id • Patient filter (optional) period • The time period (day|week|month|year) count • The number of periods to get end_date • The end date, default is today if not passed (optional) time_zone • The report's time zone. Time zone selection order: current user's time zone, time_zone parameter, UTC by default. |
| Returns |
status • OK current • The date and timestamp for how current the analytics data is periods • An array of the periods for earliest to latest each object in the array will have the following fields * start • Starting date of the period * end • Ending date of the period * label • Display label for the period * study_view • Number of studies viewed * study_report_view • Number of reports viewed * study_download • Number of studies downloaded * study_share_out • Number of studies shared out of the account or namespace * login • Number of logins |
| Permission | analytics_view |
| Errors |
MISSING_FIELDS • A required field is missing or does not have data in it. The error_subtype holds a array of all the missing fields NOT_FOUND • The account or patient can not be found NOT_PERMITTED • You are not permitted to view analytics for this account or namespace INVALID_PERIOD • An invalid period INVALID_END_DATE • An invalid period INVALID_COUNT • Invalid or excessive count value |
| Notes |
| Description | Get the radreport analytics |
|---|---|
| URL | /analytics/radreport |
| Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) account_id • The account id namespace_id • Namespace filter (optional) user_id • User filter (optional) period • The time period (day|week|month|year) count • The number of periods to get end_date • The end date, default is today if not passed (optional) time_zone • The report's time zone. Time zone selection order: current user's time zone, time_zone parameter, UTC by default. |
| Returns |
status • OK current • The date and timestamp for how current the analytics data is periods • An array of the periods for earliest to latest each object in the array will have the following fields * start • Starting date of the period * end • Ending date of the period * label • Display label for the period * radreport_create • Number of radreports created * radreport_delete • Number of radreports deleted * radreport_signed • Number of radreports signed * radreport_report_generated • Number of radreports generated * namespaces • A JSON array of unique namespaces covered by the period. Each array element is a hash with a id and name kv pair * users • A JSON array of unique users covered by the period. Each array element is a hash with a id and name kv pair |
| Permission | analytics_view |
| Errors |
MISSING_FIELDS • A required field is missing or does not have data in it. The error_subtype holds a array of all the missing fields NOT_FOUND • The account or patient can not be found NOT_PERMITTED • You are not permitted to view analytics for this account or namespace INVALID_PERIOD • An invalid period INVALID_END_DATE • An invalid period INVALID_COUNT • Invalid or excessive count value |
| Notes |
| Description | Get the user analytics |
|---|---|
| URL | /analytics/user |
| Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) account_id • The account id namespace_id • Namespace filter (optional) user_id • User filter (optional) period • The time period (hour|day|week|month|year) count • The number of periods to get end_date • The end date, for backwards compatibility (optional) end_time • The end date and time, default is now if not passed (optional) time_zone • The report's time zone. Time zone selection order: current user's time zone, time_zone parameter, UTC by default. |
| Returns |
status • OK current • The date and timestamp for how current the analytics data is periods • An array of the periods for earliest to latest each object in the array will have the following fields * start • Starting date and time of the period * end • Ending date and time of the period * label • Display label for the period * study_approve • Number of studies approved * study_reject • Number of studies rejected * study_upload_epic • Number of studies uploaded using Epic workflow * study_view • Number of studies viewed * study_view_load • Average time in ms for the study view load time * namespaces • A JSON array of unique namespaces covered by the period. Each array element is a hash with a id and name kv pair * users • A JSON array of unique users covered by the period. Each array element is a hash with a id and name kv pair |
| Permission | analytics_view |
| Errors |
MISSING_FIELDS • A required field is missing or does not have data in it. The error_subtype holds a array of all the missing fields NOT_FOUND • The account or patient can not be found NOT_PERMITTED • You are not permitted to view analytics for this account or namespace INVALID_PERIOD • An invalid period INVALID_END_DATE • An invalid period INVALID_COUNT • Invalid or excessive count value |
| Notes |
Filter commands
| Description | List the filters the user has |
|---|---|
| URL | /filter/list |
| Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) type • The type of filter to list (repeat this to get multiple types) account_id • Limit to global filters and filters within the account namespaces filter.* Filters (optional) page.* Pagination (optional) sort_by • Sorting (optional) |
| Returns |
status • OK page • The pagination status hash filters • An array of the filters the user has. Each object holds the following same fields as the /filter/get call |
| Errors | |
| Notes |
| Description | Add a filter |
|---|---|
| URL | /filter/add |
| Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) name • The name of the filter type • The type of the filter configuration • The configuration as a JSON data structure account_id • The account id to link this filter with (optional) tier_parent_id • The uuid of the filter that this filter should be a child of (optional, for tiered filters) |
| Returns |
status • OK uuid • The filter uuid |
| Errors | INVALID_CONFIG • The configuration is invalid |
| Notes |
The configuration can be either of these forms
|
| Description | Get a filter |
|---|---|
| URL | /filter/get |
| Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The filter uuid |
| Returns |
status • OK name • The name of the filter type • The type of the filter configuration • The configuration as a JSON data structure owner • Flag if the user is the owner of this filter account_id • The account id this filter is linked with namespace_id • The namespace id this filter is linked with tier_children • The tree of tiered filter descendants (empty list if no tiered descendants) tier_parent_id • The uuid of immediate tiered ancestor (not present if no tiered ancestor) |
| Errors |
NOT_FOUND • The filter can not be found |
| Notes |
| Description | Edit a filter |
|---|---|
| URL | /filter/set |
| Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The filter uuid name • The name of the filter (optional) type • The type of the filter (optional) configuration • The configuration as a JSON data structure (optional) account_id • The account id to link this filter with (optional) |
| Returns |
status • OK uuid • The filter uuid |
| Errors |
NOT_FOUND • The filter can not be found NOT_PERMITTED • You are not the owner of the filter INVALID_CONFIG • The configuration is invalid |
| Notes |
| Description | Delete a filter |
|---|---|
| URL | /filter/delete |
| Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The filter uuid |
| Returns |
status • OK |
| Errors |
NOT_FOUND • The filter can not be found NOT_PERMITTED • You are not the owner of the filter |
| Notes |
| Description | Share a filter |
|---|---|
| URL | /filter/share |
| Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The filter uuid (account_id || location_id || group_id || user_id || role_id) • uuid of the account, location, group, user, or role to share this filter with |
| Returns |
status • OK |
| Errors |
NOT_FOUND • The filter or share object can not be found. The error_subtype holds a the name of the key that can not be found NOT_PERMITTED • You are not the owner of the filter or are not permitted to share a filter with the destination INVALID_PARAMETERS • Only pass a account_id or a location_id or a group_id or a user_id |
| Notes |
| Description | Stop sharing a filter |
|---|---|
| URL | /filter/share/stop |
| Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The filter uuid (account_id || location_id || group_id || user_id || role_id) • uuid of the account, location, group, user, or role to stop sharing this filter with |
| Returns |
status • OK |
| Errors |
NOT_FOUND • The filter can not be found NOT_PERMITTED • You are not the owner of the filter |
| Notes |
| Description | Get the filter shares |
|---|---|
| URL | /filter/share/list |
| Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The filter uuid |
| Returns |
status • OK account_id • A list of the account_id's the filter is shared with location_id • A list of the location_id's the filter is shared with group_id • A list of the group_id's the filter is shared with user_id • A list of the user_id's the filter is shared with role_id • A list of the role_id's the filter is shared with |
| Errors |
NOT_FOUND • The filter can not be found |
| Notes |
Custom field commands
Custom fields| Description | List the custom fields for the account |
|---|---|
| URL | /customfield/list |
| Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) account_id • uuid of the account filter.* Filters (optional) page.* Pagination (optional) sort_by • Sorting (optional) |
| Returns |
status • OK page • The pagination status hash customfields • An array of the customfields. Each object holds the following same fields as the /customfield/get call |
| Permission | customfield_view or role_view |
| Errors |
MISSING_FIELDS • A required field is missing or does not have data in it. The error_subtype holds a array of all the missing fields NOT_FOUND • The account can not be found NOT_PERMITTED • You are not permitted to view this list |
| Notes |
| Description | Add a custom field to the account |
|---|---|
| URL | /customfield/add |
| Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) account_id • uuid of the account name • Name of the customfield object • The object to associate the customfield with (Study|User_account|Group|Location|Account|Patient|Case|Order|Appointment|Dicomdata|Scanner|Query) type • Type of the custom field (text|number|date|memo|select|multiselect|radio|checkbox|search|bool|picker) (optional) capture_on_share_code • Flag if the field should be captured during a share code exchange (only applicable to study fields) (optional) capture_on_destination_search • Flag if the field should be captured during query retrieve on /destination/search call (only applicable to study fields) (optional) display_order • Integer to order how the fields should be displayed (optional) wrapped_dicom_only • Only capture for wrapped DICOM uploads during a share code exchange (optional) dicom_only • Only capture for non-wrapped DICOM uploads during a share code exchange (optional) required • Flag if the field is required (optional) options • Additional options in JSON format (optional) hl7_segment • Segment to map this field to in HL7 ORM messages. Valid values are (NTE|PID|PID1|PV1|PV2|OBR|DG1|OBX|CTI|BLG|ORC) (only applicable to study fields) (optional) hl7_field • Segment field number to map this field to in HL7 ORM messages. Valid values are 1 to 64. (only applicable to study fields) (optional) hl7_component • Component number to map this field to in HL7 ORM messages. Valid values are 1 to 64. (only applicable to study fields) (optional) load_hl7 • If this is set to a HL7 message type the value of this field will be updated from the hl7_segment, hl7_field and hl7_component from incoming HL7 messages of the matching message type (only applicable to study fields) (optional) load_hl7_filter • Filter token for the load_hl7 option (only applicable to study fields) (optional) dicom_tag • DICOM tag to map this field to. Format should be of form (1234,1234). (only applicable to study fields) (optional) other_dicom_tags • JSON array of other DICOM tags to map this field to. (only applicable to study fields) (optional) load_dicom_tag • Flag to load the current value from the study into this field. (only applicable if a dicom_tag is specified) (optional) dicom_tag_ignore_empty • Flag to not map an empty custom field to the DICOM tag. (only applicable if a dicom_tag is specified) (optional) load_from_sr • Load the value from the structured reports in the study (only applicable to study fields) .(optional) field_flag • Default customfield flag (optional) ui_json • JSON for UI settings (optional) load_order • If this flag is on the value of this field will be loaded from a customfield of the matching Order. The customfield is defined by the other_customfield_id parameter (optional) other_customfield_id • Id of a customfield to map its value to this customfield's value (optional) |
| Returns |
status • OK uuid • uuid of the customfield |
| Permission | customfield_edit |
| Errors |
MISSING_FIELDS • A required field is missing or does not have data in it. The error_subtype holds a array of all the missing fields ACCOUNT_NOT_FOUND • The account can not be found NOT_FOUND • The Customfield can not be found NOT_PERMITTED • You are not permitted to add a customfield to this account INVALID_FLAG • An invalid flag was passed. The error_subtype holds the name of the invalid flag INVALID_INTEGER • Invalid integer. The error_subtype holds the invalid integer. INVALID_TYPE • An invalid type was passed. INVALID_OBJECT • An invalid object was passed. INVALID_JSON • The field is not in valid JSON format. The error_subtype holds the name of the field INVALID_OPTIONS • An option is invalid. The error_subtype holds the specific error message INVALID_HL7_OBJECT • HL7 fields can only be applied to study fields INVALID_HL7_SEGMENT • Invalid segment name INVALID_DICOM_TAG_OBJECT • DICOM tags can only be applied to study fields INVALID_DICOM_TAG • The DICOM tag is invalid INVALID_SEARCH_SOURCE • An invalid search source was passed. NO_DICOM_TAG_DEFINED • The load_dicom_tag flag is set but the dicom_tag field is not defined |
| Notes |
|
| Description | Edit a custom field |
|---|---|
| URL | /customfield/set |
| Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • uuid of the customfield name • Name of the customfield (optional) capture_on_share_code • Flag if the study type field should be captured during a share code exchange (optional) capture_on_destination_search • Flag if the field should be captured during query retrieve on /destination/search call (optional) display_order • Integer to order how the fields should be displayed (optional) wrapped_dicom_only • Only capture for wrapped DICOM uploads during a share code exchange (optional) dicom_only • Only capture for non-wrapped DICOM uploads during a share code exchange (optional) required • Flag if the field is required (optional) options • Additional options in JSON format (optional) hl7_segment • Segment to map this field to in HL7 ORM messages. Valid values are (NTE|PID|PID1|PV1|PV2|OBR|DG1|OBX|CTI|BLG|ORC) (only applicable to study fields) (optional) hl7_field • Segment field number to map this field to in HL7 ORM messages. Valid values are 1 to 64. (only applicable to study fields) (optional) hl7_component • Component number to map this field to in HL7 ORM messages. Valid values are 1 to 64. (only applicable to study fields) (optional) load_hl7 • If this is set to a HL7 message type the value of this field will be updated from the hl7_segment, hl7_field and hl7_component from incoming HL7 messages of the matching message type (only applicable to study fields) (optional) load_hl7_filter • Filter token for the load_hl7 option (only applicable to study fields) (optional) dicom_tag • Dicom tag to map this field to. Format should be of form (1234,1234). (only applicable to study fields) (optional) other_dicom_tags • JSON array of other DICOM tags to map this field to. (only applicable to study fields) (optional) load_dicom_tag • Flag to load the current value from the study into this field. (only applicable if a dicom_tag is specified) (optional) dicom_tag_ignore_empty • Flag to not map an empty custom field to the DICOM tag. (only applicable if a dicom_tag is specified) (optional) load_from_sr • Load the value from the structured reports in the study. (only applicable to study fields) .(optional) field_flag • Default customfield flag (optional) ui_json • JSON for UI settings (optional) load_order • If this flag is on the value of this field will be loaded from a customfield of the matching Order. The customfield is defined by the other_customfield_id parameter (optional) other_customfield_id • Id of a customfield to map its value to this customfield's value (optional) other_customfield_no_overwrite_with_blank • Flag if the customfield should be updated with a blank value (optional) other_customfield_no_refresh_on_reshare • Flag if the customfield should be updated on Study reshare (optional) |
| Returns |
status • OK |
| Permission | customfield_edit |
| Errors |
MISSING_FIELDS • A required field is missing or does not have data in it. The error_subtype holds a array of all the missing fields NOT_FOUND • The object was not found. The error_subtype holds the name of the key for the object that can not be found NOT_PERMITTED • You are not permitted to edit the customfield INVALID_FLAG • An invalid flag was passed. The error_subtype holds the name of the invalid flag INVALID_INTEGER • Invalid integer. The error_subtype holds the invalid integer. INVALID_JSON • The field is not in valid JSON format. The error_subtype holds the name of the field INVALID_OPTIONS • An option is invalid. The error_subtype holds the specific error message INVALID_HL7_OBJECT • HL7 fields can only be applied to study fields INVALID_HL7_SEGMENT • Invalid segment name INVALID_HL7_FIELD • Invalid field number INVALID_DICOM_TAG_OBJECT • DICOM tags can only be applied to study fields INVALID_DICOM_TAG • The DICOM tag is invalid NO_DICOM_TAG_DEFINED • The load_dicom_tag flag is set but the dicom_tag field is not defined |
| Notes |
|
| Description | Delete a customfield |
|---|---|
| URL | /customfield/delete |
| Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • uuid of the customfield |
| Returns |
status • OK |
| Permission | customfield_edit |
| Errors |
MISSING_FIELDS • A required field is missing or does not have data in it. The error_subtype holds a array of all the missing fields NOT_FOUND • The customfield can not be found NOT_PERMITTED • You are not permitted to delete the customfield |
| Notes |
| Description | Lookup a custom field by name |
|---|---|
| URL | /customfield/lookup |
| Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) account_id • uuid of the account name • Name of the customfield |
| Returns |
status • OK uuid • Id of the customfield object • Object it is associated with type • Type of the customfield |
| Permission | You need to be a member of the account |
| Errors |
MISSING_FIELDS • A required field is missing or does not have data in it. The error_subtype holds a array of all the missing fields NOT_FOUND • The customfield can not be found NOT_PERMITTED • You are not permitted to do this |
| Notes |
| Description | Search and return the results for a search type customfield |
|---|---|
| URL | /customfield/search |
| Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • uuid of the customfield search • The value to search for (optional) extended • If provided then below parameters are used instead of search, see Notes. (optional) filter.* • Filters, used for search_source= account_users only (optional) |
| Returns |
status • OK results • An array of the search results |
| Permission |
You need to be a member of the account For search_source= account_users and extended=1 account_user_view or case_edit is required.
|
| Errors |
MISSING_FIELDS • A required field is missing or does not have data in it. The error_subtype holds a array of all the missing fields NOT_FOUND • The customfield can not be found NOT_PERMITTED • You are not permitted to do this NOT_A_SEARCH • This is not a search type of customfield |
| Notes | If extended=1 provided, then for search_source=account_users not search but filter.* are applied and data returned is the same way as in /account/user/list. Plus extended filter.user_first_last.like=%part matches "first last" like "%part".
|
| Description | Add a mapping rule to the customfield |
|---|---|
| URL | /customfield/mapping/add |
| Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) from_customfield_id • The source custom field id to_customfield_id • The destination custom field id overwrite_with_blank • Flag if the destination customfield should be updated with a blank value, 1 by default (optional) refresh_on_reshare • Flag if the destination customfield should be updated on Study reshare, 1 by default (optional) refresh_on_edit • Flag if the destination customfield should be updated on the source customfield edit, 1 by default (optional) reverse_refresh_on_edit • Flag if the mapping should apply in reverse, ie to the customfield designated as a from_customfield_id of the original study when a shared version of the study is edited, 0 by default (optional) |
| Returns |
status • OK uuid • uuid of the mapping rule |
| Permission | customfield_edit in the account of the source customfield |
| Errors |
MISSING_FIELDS • A required field is missing or does not have data in it. The error_subtype holds a array of all the missing fields NOT_PERMITTED • You are not permitted to do this NOT_FOUND • The customfield can not be found, The error_subtype refers to a customfield by the following values: FROM_CUSTOMFIELD or TO_CUSTOMFIELD ALREADY_EXISTS • The mapping rule already exists INVALID_FLAG • An invalid flag was passed. The error_subtype holds the name of the invalid flag |
| Notes | The calling user should be a support or sysadmin user to add a mapping rule to map custom fields between accounts. |
| Description | Edit a customfield mapping rule |
|---|---|
| URL | /customfield/mapping/set |
| Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • uuid of the customfield mapping rule overwrite_with_blank • Flag if the destination customfield should be updated with a blank value, 1 by default (optional) refresh_on_reshare • Flag if the destination customfield should be updated on Study reshare, 1 by default (optional) refresh_on_edit • Flag if the destination customfield should be updated on the source customfield edit, 1 by default (optional) reverse_refresh_on_edit • Flag if the mapping should apply in reverse, ie to the customfield designated as a from_customfield_id of the original study when a shared version of the study is edited, 0 by default (optional) |
| Returns |
status • OK |
| Permission | customfield_edit in the account of the source customfield |
| Errors |
MISSING_FIELDS • A required field is missing or does not have data in it. The error_subtype holds a array of all the missing fields NOT_PERMITTED • You are not permitted to do this NOT_FOUND • The customfield mapping rule can not be found INVALID_FLAG • An invalid flag was passed. The error_subtype holds the name of the invalid flag |
| Notes |
| Description | Delete a customfield mapping rule |
|---|---|
| URL | /customfield/mapping/delete |
| Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • uuid of the customfield mapping rule |
| Returns |
status • OK |
| Permission | customfield_edit in the account of the source customfield |
| Errors |
MISSING_FIELDS • A required field is missing or does not have data in it. The error_subtype holds a array of all the missing fields NOT_PERMITTED • You are not permitted to do this NOT_FOUND • The customfield mapping rule can not be found |
| Notes |
Webhook commands
| Description | List the webhooks for the account |
|---|---|
| URL | /webhook/list |
| Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) account_id • uuid of the account |
| Returns |
status • OK webhooks • An array of the webhooks. Each object holds the following same fields as the /webhook/get call |
| Permission | webhook_view |
| Errors |
MISSING_FIELDS • A required field is missing or does not have data in it. The error_subtype holds a array of all the missing fields NOT_FOUND • The account can not be found NOT_PERMITTED • You are not permitted to view this list |
| Notes |
| Description | Add a webhook to the account |
|---|---|
| URL | /webhook/add |
| Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) account_id • uuid of the account node_id • uuid of the node to proxy the webhook through (optional) name • Name of the webhook event • Event to call it on (See the notes for the available events) url • URL to call method • Method to call it with (POST|GET|POST_JSON|PUT|GET_JSON) suspended • This webhook is suspended and not triggered (optional) parameters • A JSON object of the parameter names and values (optional) retry • Retry the webhook if it fails (optional) sid_user_id • UUID of the user to generate a sid as (optional) filter_field • Name of the study field (by default) or another object's field (should have prefix like "webhook.") to filter on (optional) filter_regexp • Regular expression to match the value of the filter_field against (optional) once • Flag that this webhook should only be run once for a specific study (optional) by_uid • Flag to expand the once search to include studies with the same study_uid (optional) by_accession_number • Flag to expand the once search to include studies with the same accession_number (optional) by_webhook_event • Flag to fire WEBHOOK_FAILED once at final unsuccessful try of a failing webhook (optional) delay • Number of seconds to delay running this webhook for after it is triggered (optional) max_age • Ignore studies that are more than this number of days old based on the study_date (optional) auth • A JSON hash with the authentication details (optional) cron • Cron timing string for CRON events e.g 0 9 * * mon-fri (optional) |
| Returns |
status • OK uuid • uuid of the webhook |
| Permission | webhook_edit |
| Errors |
MISSING_FIELDS • A required field is missing or does not have data in it. The error_subtype holds a array of all the missing fields ACCOUNT_NOT_FOUND • The account can not be found NODE_NOT_FOUND • The node can not be found USER_NOT_FOUND • The basic authentication user can not be found NOT_PERMITTED • You are not permitted to add a webhook to this account INVALID_METHOD • An invalid method was passed INVALID_EVENT • An invalid event was passed INVALID_JSON • The parameters field is not in valid JSON format. NOT_HASH • The parameter or auth field is not a hash. SID_USER_NOT_FOUND • The sid user can not be found SID_USER_NOT_IN_ACCOUNT • The sid user is not a member of this account INVALID_REGEXP • Invalid regular expression INVALID_FILTER_FIELD • Invalid filter field name INCOMPLETE_FILTER • Both a field and regexp are required INVALID_TRANSFORM_CONDITION • The transform condition is invalid SFDC_NOT_HASH • The SFDC auth value is not a JSON hash SFDC_JWT_NOT_HASH • The SFDC auth value is not a JSON hash SFDC_MISSING_FIELDS • Fields are missing for the SFDC auth hash SFDC_JWT_MISSING_FIELDS • Fields are missing for the SFDC auth hash FDC_JWT_INVALID_PRIVATE_KEY • The private key is invalid CUSTOM_NOT_HASH • The custom auth value is not a JSON hash INVALID_URL • The url value is invalid INVALID_CRON • The cron value is invalid NOT_WITH_CRON • The delay or retry option can not be used for cron events SID_USER_PRIVILEGE_ESCALATION • The user for sid_user_id has higher privileges that the calling user |
| Notes |
|
| Description | Edit a webhook |
|---|---|
| URL | /webhook/set |
| Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • uuid of the webhook name • Name of the webhook (optional) event • Event to call it on (optional see add command for options) url • URL to call (optional) method • Method to call it with (optional see add command for options) suspended • This webhook is suspended and not triggered (optional) parameters • A JSON object of the parameter names and values (optional see add command for options) node_id • uuid of the node to proxy the webhook through (optional) retry • Retry the webhook if it fails (optional) sid_user_id • UUID of the user to generate a sid as (optional) filter_field • Name of the field to filter on (optional) filter_regexp • Regular expression to match the value of the filter_field against (optional) once • Flag that this webhook should only be run once for a specific study (optional) by_uid • Flag to expand the once search to include studies with the same study_uid (optional) by_accession_number • Flag to expand the once search to include studies with the same accession_number (optional) by_webhook_event • Flag to fire WEBHOOK_FAILED once at final unsuccessful try of a failing webhook (optional) delay • Number of seconds to delay running this webhook for after it is triggered (optional) max_age • Ignore studies that are more than this number of days old based on the study_date (optional) auth • A JSON hash with the authentication details (optional) cron • Cron timing string for CRON events (optional) |
| Returns |
status • OK |
| Permission | webhook_edit |
| Errors |
MISSING_FIELDS • A required field is missing or does not have data in it. The error_subtype holds a array of all the missing fields NOT_FOUND • The webhook can not be found NOT_PERMITTED • You are not permitted to edit the webhook INVALID_METHOD • An invalid method was passed INVALID_EVENT • An invalid event was passed INVALID_JSON • The parameters field is not in valid JSON format. NOT_HASH • The parameter field is not a hash. NODE_NOT_FOUND • The node can not be found SID_USER_NOT_FOUND • The sid user can not be found SID_USER_NOT_IN_ACCOUNT • The sid user is not a member of this account INVALID_REGEXP • Invalid regular expression INVALID_FILTER_FIELD • Invalid filter field name INCOMPLETE_FILTER • Both a field and regexp are required INVALID_TRANSFORM_CONDITION • The transform condition is invalid SFDC_NOT_HASH • The SFDC auth value is not a JSON hash SFDC_MISSING_FIELDS • Fields are missing for the SFDC auth hash INVALID_URL • The url value is invalid INVALID_CRON • The cron value is invalid NOT_WITH_CRON • The delay or retry option can not be used for cron events SID_USER_PRIVILEGE_ESCALATION • The user for sid_user_id has higher privileges that the calling user |
| Notes |
| Description | Get a webhook |
|---|---|
| URL | /webhook/get |
| Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • uuid of the webhook |
| Returns |
status • OK uuid • uuid of the webhook name • Name of the webhook event • Event to call it on url • URL to call method • Method to call it with suspended • This webhook is suspended and not triggered parameters • An object of the parameter names and values node_id • uuid of the node to proxy the webhook through retry • Retry the webhook if it fails sid_user_id • UUID of the user to generate a sid as filter_field • Name of the field to filter on filter_regexp • Regular expression to match the value of the filter_field against once • Flag that this webhook should only be run once for a specific study by_uid • Flag to expand the once search to include studies with the same study_uid by_accession_number • Flag to expand the once search to include studies with the same accession_number by_webhook_event • Flag to fire WEBHOOK_FAILED once at final unsuccessful try of a failing webhook last_error • Error text from the last time this webhook failed delay • Number of seconds to delay running this webhook for after it is triggered max_age • Ignore studies that are more than this number of days old based on the study_date auth • A JSON hash with the authentication details cron • Cron timing string for CRON events |
| Permission | webhook_view |
| Errors |
MISSING_FIELDS • A required field is missing or does not have data in it. The error_subtype holds a array of all the missing fields NOT_FOUND • The webhook can not be found NOT_PERMITTED • You are not permitted to view the webhook |
| Notes |
| Description | Delete a webhook |
|---|---|
| URL | /webhook/delete |
| Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • uuid of the webhook |
| Returns |
status • OK |
| Permission | webhook_edit |
| Errors |
MISSING_FIELDS • A required field is missing or does not have data in it. The error_subtype holds a array of all the missing fields NOT_FOUND • The webhook can not be found NOT_PERMITTED • You are not permitted to delete the webhook |
| Notes |
| Description | Manually trigger a webhook |
|---|---|
| URL | /webhook/trigger |
| Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • uuid of the webhook study_id • uuid of the study to fire the webhook for |
| Returns |
status • OK |
| Permission | webhook_edit |
| Errors |
MISSING_FIELDS • A required field is missing or does not have data in it. The error_subtype holds a array of all the missing fields NOT_FOUND • The webhook or study can not be found NOT_PERMITTED • You are not permitted to trigger the webhook |
| Notes | This is an administrative call that can be used to re-fire triggers |
| Description | Run a webhook and return the results |
|---|---|
| URL | /webhook/run |
| Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • uuid of the webhook study_id • uuid of the study to run the webhook for |
| Returns |
status • OK results • The content returned from the webhook call |
| Permission | webhook_run |
| Errors |
MISSING_FIELDS • A required field is missing or does not have data in it. The error_subtype holds a array of all the missing fields NOT_FOUND • The webhook or study can not be found NOT_PERMITTED • You are not permitted to run the webhook INVALID_WEBHOOK_SETUP • The webhook must be a MANUAL webhook with no delay or retry options enabled |
| Notes |
|
| Description | Send an event that may trigger a webhook |
|---|---|
| URL | /webhook/event |
| Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) type • The type of event (STUDY_UPLOAD_START|STUDY_UPLOAD_END) (namespace_id || share_code) • The namespace or share code for the event integration_key • The integration key associated with the event (optional) study_count • The number of studies associated with the event (optional) |
| Returns |
status • OK |
| Permission | |
| Errors |
MISSING_FIELDS • A required field is missing or does not have data in it. The error_subtype holds a array of all the missing fields INVALID_TYPE • Invalid event type |
| Notes |
| Description | Send an email (a helper method for webhooks) |
|---|---|
| URL | /webhook/email |
| Parameters |
webhook_id • The uuid of the calling webhook to • The email address(es) to send the email to subject • The subject of the email text • The text part of the email html • The HTML part of the email template_id • The email template UUID to be used |
| Returns |
status • OK |
| Permission | This can only be called by a webhook |
| Errors |
MISSING_FIELDS • A required field is missing or does not have data in it. The error_subtype holds a array of all the missing fields NOT_PERMITTED • This is not a call from a valid webhook PARSE_FAILED • Template parsing failed for a field. The error_subtype holds the name of the field |
| Notes |
|
Link commands
Links allow you to generate static URLs that give controlled access to the application| Description | List the links for the study, user or account |
|---|---|
| URL | /link/list |
| Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) (study_id || user_id || account_id) • uuid of the study, user or account to get the links for filter.* Filters (optional) page.* Pagination (optional) sort_by • Sorting (optional) |
| Returns |
status • OK page • The pagination status hash links • An array of the links. Each object holds the following same fields as the /link/get call |
| Permission | link_view |
| Errors |
MISSING_FIELDS • A required field is missing or does not have data in it. The error_subtype holds a array of all the missing fields NOT_FOUND • The account can not be found NOT_PERMITTED • You are not permitted to view this list |
| Notes |
| Description | Add a link |
|---|---|
| URL | /link/add |
| Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) (study_id || filter && account_id || namespace_id || user_id && account_id) • uuid of the study or a JSON hash of the study filter expression and the account_id or the namespace_id if the action is STUDY_UPLOAD or the user_id and the account_id if the action is LOGIN action • Link action (STUDY_LIST|STUDY_VIEW|STUDY_UPLOAD|LOGIN) password • Link password (optional) password_max_attempts • The maximum number of failed password attempt (optional) password_is_dob • Flag that the password is the patient_birth_date for the study (study_id is required) (optional) skip_email_prompt • Skip the prompt for email step (optional) pin_auth • An account member email and PIN authentication is required (optional) include_priors • Include prior studies (optional) max_hits • The maximum number of times the link can be used (optional) minutes_alive • The maximum number of minutes the link will be alive for (optional) email • Email the link to these addresses (optional) mobile_phone • Send the link to this phone number (optional) message • Message to include in the email (optional) share_on_view • Flag to share the study with the email after it is viewed (optional) notify • Comma or space separated list of additional emails to notify of link usage (optional) use_share_code • Flag to use the namespace share code settings for a STUDY_UPLOAD (optional) share_code • share code for a STUDY_UPLOAD (optional) parameters • JSON array of parameters to add to the redirect URL or return in /namespace/share_code if an upload e.g. ["integration_key","abc"] Where abc is integration key. (optional) meeting_id • UUID of the meeting to associate the link with (optional) anonymize • Anonymization rules to the applied to any STUDY_UPLOAD done with this link. Rules are formatted as per the rules parameter in /namespace/anonymize (optional) prompt_for_anonymize • Flag to prompt if the anonymization rules should be applied on ingress referer • The link can only be accessed from the specified referer. The referer can be a regexp to match multiple referers (optional) acceptance_required • Flag that acceptance of TOS is required (optional) mfm_page • Flag to launch the MFM page instead of the viewer (optional) charge_amount • Amount to charge in pennies before the link can be accessed (optional) charge_currency • Charge currency (optional) charge_description • Charge description (optional) upload_match • A JSON hash of DICOM tags and regular expressions they must match uploaded against this link (optional) upload_study_customfields • A JSON hash of customfields that will be mapped to a study on study upload. A key is a customfield UUID, a value is a value for the field (optional) workflow • The workflow this link is intended for (patient_studies) (optional) ui_json • JSON for UI settings (optional) inherit_permissions • Flag for the link sessions to inherit permissions from the user stored in the user_id link attribute (optional) |
| Returns |
status • OK uuid • The link uuid url • URL for the link which will take you to the UI entry point for links to enter email, password etc. redirect_url • URL for the /link/redirect API which will take you directly to the study viewer or uploader |
| Permission |
link_edit for STUDY_(VIEW|LIST) or LOGIN and link_edit_upload for STUDY_UPLOAD can_proxy_login is required to pass the user_id parameter |
| Errors |
MISSING_FIELDS • A required field is missing or does not have data in it. The error_subtype holds a array of all the missing fields NOT_FOUND • The patient or study could not be found. The error_subtype holds the type of object not found NOT_PERMITTED • You are not permitted to create links INVALID_ACTION • An invalid action was passed INVALID_EMAIL • An invalid email address was passed INVALID_PHONE • An invalid cellular phone number was passed NOT_LIST • The field is not a JSON array. The error_subtype holds the name of the field INVALID_JSON • The field is not in valid JSON format. The error_subtype holds the name of the field NOT_HASH • The rules field is not a hash INVALID_FIELD_NAME • The field name in the rules hash is invalid. The error_subtype holds the invalid field name INVALID_REGEXP • Invalid regular expression. The error_subtype holds the invalid regexp. INVALID_PHI_FIELD • The password_is_phi field is invalid or a study_id was not passed VALIDATE • A validation error. The error_subtype holds the details on the error INVALID_CHARGE • The charge is invalid. The error_subtype holds the details on the error INVALID_UPLOAD_MATCH • The upload_match is invalid. The error_subtype holds the details on the error VALIDATION_FAILED • The workflow parameter validation failed INSECURE_PARAMETERS • The LOGIN link is not a one-time link and not secured by a password |
| Notes |
|
| Description | Get a link |
|---|---|
| URL | /link/get |
| Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • Id of the link short_id • Short ID of the link for the 'patient_studies' workflow url • URL for the link which will take you to the UI entry point for links to enter email, password etc. redirect_url • URL for the /link/redirect API which will take you directly to the study viewer or uploader description • Description of the link email • Email address the link was sent to mobile_phone • Cellular phone number the link was sent to message • Message to include in the email share_on_view • Flag to share the study with the email after it is viewed notify • Comma or space separated list of additional emails to notify of link usage study_id • uuid of the study filter • The filter expression user_id • The user id account_id • The account id action • Link action has_password • Flag if the link has a password or not password_is_dob • Flag that the password is the patient_birth_date for the study skip_email_prompt • Skip the prompt for email step pin_auth • An account member email and PIN authentication is required password_max_attempts • The maximum number of failed password attempt is_meeting • Flag if the link is for a meeting max_hits • The maximum number of times the link can be used include_priors • Include prior studies minutes_alive • The maximum number of minutes the link will be alive for namespace_id • Id of the namespace for upload links namespace_name • Name of the namespace for upload links use_share_code • Flag to use the namespace share code settings for a STUDY_UPLOAD parameters • JSON array parameters to add to the redirect URL anonymize • Any anonymization rules prompt_for_anonymize • Flag to prompt if the anonymization rules should be applied on ingress referer • The link can only be accessed from the specified referer acceptance_required • Flag that acceptance of TOS is required mfm_page • Flag to launch the MFM page instead of the viewer charge_amount • Amount to charge in pennies before the link can be accessed charge_currency • Charge currency charge_description • Charge description upload_match • A JSON hash of DICOM tags and regular expressions they must match uploaded against this link upload_study_customfields • A JSON hash of customfields that will be mapped to a study on study upload created • Created datetime stamp of the link workflow • The workflow this link is intended for ui_json • JSON for UI settings inherit_permissions • Flag for the link sessions to inherit permissions from the user stored in the user_id link attribute |
| Returns |
status • OK |
| Permission | link_view |
| Errors |
MISSING_FIELDS • A required field is missing or does not have data in it. The error_subtype holds a array of all the missing fields NOT_FOUND • The link was not found NOT_PERMITTED • You are not permitted to view the link |
| Notes |
| Description | Delete a link |
|---|---|
| URL | /link/delete |
| Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • Id of the link |
| Returns |
status • OK |
| Permission | link_edit or link_edit_upload |
| Errors |
MISSING_FIELDS • A required field is missing or does not have data in it. The error_subtype holds a array of all the missing fields NOT_FOUND • The link was not found NOT_PERMITTED • You are not permitted to delete the link |
| Notes |
|
| Description | Get the status of a link |
|---|---|
| URL | /link/status |
| Parameters |
(uuid || pin) • Id or PIN of the link link_charge_id • The uuid of the prior charge against this link (optional) |
| Returns |
status • OK action • Link action has_password • Flag if the link has a password or not is_meeting • Flag if the link is for a meeting skip_email_prompt • Flag to skip the prompt for email step pin_auth • An account member email and PIN authentication is required pin_auth_text • The account setting value, only returned if pin_auth is required acceptance_required • Flag that acceptance of TOS is required charge_amount • Amount to charge in pennies before the link can be accessed charge_currency • Charge currency charge_description • Charge description upload_match • A JSON hash of DICOM tags and the values they must match for a study to be uploaded against this link (optional) |
| Permission | |
| Errors |
MISSING_FIELDS • A required field is missing or does not have data in it. The error_subtype holds a array of all the missing fields NOT_FOUND • The link was not found INVALID_SOURCE • The referer is invalid IP_BLOCKED • An IP whitelist blocked access INVALID_PIN • An invalid PIN was entered PIN_LOCKOUT • Too many invalid PIN entries |
| Notes |
| Description | Get a session for the link |
|---|---|
| URL | /link/session |
| Parameters |
(uuid || pin || short_id) • Id, short Id or PIN of the link password • Password if needed (optional) email_address • The users email (optional) link_charge_id • The uuid of the prior charge against this link (optional) |
| Returns |
status • OK sid • sid action • Link action study_count • The study count for the list share_code • The share code to use if this is an upload pin_required • Flag if a PIN is required to validate this session pin_via • How was the PIN sent, the options are TOKEN,EMAIL or SMS acceptance_required • Flag that acceptance of TOS is required |
| Permission | |
| Errors |
MISSING_FIELDS • A required field is missing or does not have data in it. The error_subtype holds a array of all the missing fields NOT_FOUND • The link was not found INVALID_CREDENTIALS • Invalid password or email if pin_auth is required. INVALID_SOURCE • The referer is invalid IP_BLOCKED • An IP whitelist blocked access CHARGE_REQUIRED • A charge is required to access this link DISABLED • This call is disabled for the account, you must use /link/redirect INVALID_PIN • An invalid PIN was entered PIN_LOCKOUT • Too many invalid PIN entries ONLY_ONE • You can pass either uuid or short_id, not both |
| Notes |
| Description | Try a link and get a redirect to the study |
|---|---|
| URL | /link/redirect |
| Parameters |
(uuid || pin || short_id) • Id, short Id or PIN of the link sid • sid from /link/session (optional) password • Password if needed (optional) link_charge_id • The uuid of the prior charge against this link (optional) v • A JSON hash with the following keys pairs. The JSON must be encrypted (optional)
|
| Returns | This call returns a 302 redirect to either the study list or study viewer or uploader page with the session setup in a cookie or in the URL if the link is valid |
| Permission | |
| Errors |
MISSING_FIELDS • A required field is missing or does not have data in it. The error_subtype holds a array of all the missing fields LINK_NOT_FOUND • The link was not found INVALID_CREDENTIALS • Invalid password. EXPIRED • The link has expired INVALID_SOURCE • The referer is invalid IP_BLOCKED • An IP whitelist blocked access NOT_PERMITTED • The configuration of this link requires the link UI be used instead of direct access INVALID_PIN • An invalid PIN was entered PIN_LOCKOUT • Too many invalid PIN entries ONLY_ONE • You can pass either uuid or short_id, not both |
| Notes |
|
| Description | Construct a link from external data. This enables creation of links without other API calls |
|---|---|
| URL | /link/external |
| Parameters |
u • The uuid of the user_account record to create the guest link as v • A JSON hash with the following keys pairs. The JSON must be encrypted and base64 encoded
|
| Returns | This creates a link and uses the /link/redirect call to redirect the user to either the study viewer or a study list if multiple studies are found |
| Errors |
MISSING_PARAMETERS • The u or v parameter is missing ACCOUNT_USER_NOT_FOUND • The account user record was not found ACCOUNT_NOT_SET • The account is not setup for the integration DECRYPT_FAILED • The decryption failed NOT_HASH • The v parameter is not a JSON hash NO_FILTER • A filter expressions was not passed INVALID_SOURCE • The referer is invalid |
| Notes |
Setup and encryption details are here If the link is valid but an associated study is not found this returns an HTML "Study not found." error for display in the browser. |
| Description | Construct a link for a SSO with share to PHR account access |
|---|---|
| URL | /link/sso |
| Parameters |
u • The uuid of the user_account record v • An encrypted JSON hash as per the instructions in the SSO to a PHR account with a study share section of the documentation |
| Returns | This link logs the user into a PHR account with any associated studies shared into it |
| Errors |
MISSING_FIELDS • A required field is missing or does not have data in it. The error_subtype holds a array of all the missing fields ACCOUNT_USER_NOT_FOUND • The account user record was not found ACCOUNT_NOT_SET • The account is not setup for the integration DECRYPT_FAILED • The decryption failed NOT_HASH • The v parameter is not a JSON hash MISSING_INFO • User information is missing from the hash |
| Notes |
| Description | Return the sid for a link usage |
|---|---|
| URL | /link/sid |
| Parameters |
uuid • The uuid of the link usage email • Email address to associate with this usage |
| Returns |
status • OK sid • sid |
| Errors |
NOT_FOUND • The usage was not found |
| Notes |
| Description | email the link to another person |
|---|---|
| URL | /link/mail |
| Parameters |
sid • sid uuid • The uuid of the link email • Email address |
| Returns |
status • OK |
| Permission | link_view |
| Errors |
MISSING_FIELDS • A required field is missing or does not have data in it. The error_subtype holds a array of all the missing fields NOT_FOUND • The link was not found NOT_PERMITTED • You are not permitted to do this INVALID_EMAIL • Enter a valid email address |
| Notes |
| Description | Apply a charge against the link |
|---|---|
| URL | /link/charge |
| Parameters |
uuid • The uuid of the link charge_token • The stripe charge token |
| Returns |
status • OK uuid • The link charge uuid |
| Permission | |
| Errors |
MISSING_FIELDS • A required field is missing or does not have data in it. The error_subtype holds a array of all the missing fields NOT_FOUND • The link was not found CHARGE_FAILED • The charge failed. The error_subtype holds the details on the error |
| Notes |
| Description | Generate a one time PIN to access the link |
|---|---|
| URL | /link/pin |
| Parameters |
sid • sid uuid • The uuid of the link |
| Returns |
status • OK pin • The PIN duration • The number of seconds the PIN is valid for |
| Permission | link_view link_edit_pin |
| Errors |
MISSING_FIELDS • A required field is missing or does not have data in it. The error_subtype holds a array of all the missing fields NOT_FOUND • The link was not found |
| Notes | The PIN can we used in place of the UUID in the link session or redirect calls |
Purge commands
Purging rules| Description | List the purging rules for the account |
|---|---|
| URL | /purge/list |
| Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) account_id • uuid of the account filter.* Filters (optional) page.* Pagination (optional) sort_by • Sorting (optional) |
| Returns |
status • OK page • The pagination status hash purges • An array of the purging rules. Each object holds the following same fields as the /purge/get call |
| Permission | purge_view |
| Errors |
MISSING_FIELDS • A required field is missing or does not have data in it. The error_subtype holds a array of all the missing fields NOT_FOUND • The account can not be found NOT_PERMITTED • You are not permitted to view this list |
| Notes |
| Description | Add a purging rule |
|---|---|
| URL | /purge/add |
| Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) name • Name of the purge rule account_id • uuid of the account the rule is for object • The object to be purged, Study by default (Study|Hl7) (optional) days_old • Studies greater than or equal to these days old will be purged days_old_how • How should the days old value be calculated using the 'U'pdated, 'C'reated or 'S'tudy date namespaces • A JSON array of namespace uuid to limit the rule to (optional) modalities • A JSON array of modalities to limit the rule to (optional) minors • Apply this rule to minors - flag (optional) adults • Apply this rule to adults - flag (optional) thin • Make the studies thin rather than deleting - flag (optional) archive • Archive the studies rather than deleting them - flag (optional) skinny • Make the studies skinny rather than deleting - flag (optional) owned_phr • Apply this rule to owned PHR namespaces - flag (optional) shared_from_phr • If a study was shared from a PHR namespace delete the copy in the PHR namespace as well - flag (optional) suspended • This rule is suspended and not applied - flag (optional) max_deletes • Maximum number of purges per run of the rule (optional) study_status_tags • A comma separated list of study status tags to purge (optional) global • Flag to make this a global purge rule (optional) |
| Returns |
status • OK uuid • The purge uuid |
| Permission | purge_edit |
| Errors |
MISSING_FIELDS • A required field is missing or does not have data in it. The error_subtype holds a array of all the missing fields NOT_LIST • The field is not a JSON array. The error_subtype holds the name of the field INVALID_FLAG • An invalid flag was passed. The error_subtype holds the name of the invalid flag VALIDATION_FAILED • A field failed validation. The error_subtype holds the name of the invalid field GT_ZERO • The parameter must be great than zero. The error_subtype holds the name of the parameter NOT_A_NUMBER • The parameter must be a valid number. The error_subtype holds the name of the parameter NOT_FOUND • The account or namespace was not found. The error_subtype holds the uuid of the not found item NOT_PERMITTED • You are not permitted to add a purge to that account ONLY_ONE_FLAG • You can set either the skinny, thin or archive flag, not multiple |
| Notes |
|
| Description | Modify a purging rule |
|---|---|
| URL | /purge/set |
| Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • Id of the purge rule name • Name of the purge rule (optional) days_old • Studies greater than or equal to these days old will be purged (optional) days_old_how • How should the days old value be calculated using the 'U'pdated, 'C'reated or 'S'tudy date (optional) namespaces • A JSON array of namespace uuid to limit the rule to (optional) modalities • A JSON array of modalities to limit the rule to) (optional) minors • Apply this rule to minors - flag (optional) adults • Apply this rule to adults - flag (optional) thin • Make the studies thin rather than deleting - flag (optional) archive • Archive the studies rather than deleting them - flag (optional) skinny • Make the studies skinny rather than deleting - flag (optional) owned_phr • Apply this rule owned PHR namespaces - flag (optional) shared_from_phr • If a study was shared from a PHR namespace delete the copy in the PHR namespace as well - flag (optional) suspended • This rule is suspended and not applied - flag (optional) max_deletes • Maximum number of purges per run of the rule (optional) study_status_tags • A comma separated list of study status tags to purge (optional) global • Flag to make this a global purge rule (optional) |
| Returns |
status • OK |
| Permission | purge_edit |
| Errors |
MISSING_FIELDS • A required field is missing or does not have data in it. The error_subtype holds a array of all the missing fields INVALID_JSON • The field is not in valid JSON format. The error_subtype holds the name of the field INVALID_FLAG • An invalid flag was passed. The error_subtype holds the name of the invalid flag VALIDATION_FAILED • A field failed validation. The error_subtype holds the name of the invalid field GT_ZERO • The parameter must be great than zero. The error_subtype holds the name of the parameter NOT_A_NUMBER • The parameter must be a valid number. The error_subtype holds the name of the parameter NOT_FOUND • The account or namespace was not found. The error_subtype holds the uuid of the not found item NOT_PERMITTED • You are not permitted to edit a purge rule ONLY_ONE_FLAG • You can set either the skinny, thin or archive flag, not multiple |
| Notes |
| Description | Get a purging rule |
|---|---|
| URL | /purge/get |
| Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • Id of the purge rule |
| Returns |
status • OK account_id • uuid of the account the rule is for object • The object to be purged name • Name of the purge rule days_old • Studies greater than or equal to these days old will be purged days_old_how • How should the days old value be calculated using the 'U'pdated, 'C'reated or 'S'tudy date namespaces • A JSON array of namespace uuid to limit the rule to namespaces_names • A JSON array of the namespace names to limit the rule to modalities • A JSON array of modalities to limit the rule to minors • Apply this rule to minors - flag adults • Apply this rule to adults - flag thin • Make the studies thin rather than deleting - flag archive • Archive the studies rather than deleting them - flag skinny • Make the studies skinny rather than deleting - flag owned_phr • Apply this rule owned PHR namespaces - flag shared_from_phr • If a study was shared from a PHR namespace delete the copy in the PHR namespace as well - flag suspended • This rule is suspended and not applied - flag max_deletes • Maximum number of purges per run of the rule study_status_tags • A comma separated list of study status tags to purge global • Is this a global purge rule |
| Permission | purge_view |
| Errors |
MISSING_FIELDS • A required field is missing or does not have data in it. The error_subtype holds a array of all the missing fields NOT_FOUND • The rule was not found NOT_PERMITTED • You are not permitted to view purge rules for this account |
| Notes |
| Description | Delete a purging rule |
|---|---|
| URL | /purge/delete |
| Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • Id of the purge rule |
| Returns |
status • OK |
| Permission | purge_edit |
| Errors |
MISSING_FIELDS • A required field is missing or does not have data in it. The error_subtype holds a array of all the missing fields NOT_FOUND • The rule was not found NOT_PERMITTED • You are not permitted to delete purge rules for this account |
| Notes |
| Description | Run purge rule(s) |
|---|---|
| URL | /purge/run |
| Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) (rule_id || account_id) • Id of the purge rule or the account id if all purge rules should be run object • Limit purging to this object only (optional) dry_run • Do a dry run of the rule - flag |
| Returns |
status • OK |
| Permission | purge_edit |
| Errors |
MISSING_FIELDS • A required field is missing or does not have data in it. The error_subtype holds a array of all the missing fields NOT_FOUND • The rule or account was not found NOT_PERMITTED • You are not permitted to run purge rules for this account |
| Notes |
|
Message commands
| Description | Get a list of the users messages |
|---|---|
| URL | /message/list |
| Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) filter.* Filters (optional) page.* Pagination (optional) sort_by • Sorting (optional) |
| Returns |
status • OK page • The pagination status hash messages • An array of the messages. Each object holds the following same fields as the /message/get call |
| Permission | message_view |
| Errors |
MISSING_FIELDS • A required field is missing or does not have data in it. The error_subtype holds a array of all the missing fields |
| Notes |
|
| Description | Send a message |
|---|---|
| URL | /message/add |
| Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) (namespace_id || user_id || group_id || location_id || account_id || email || share_code || study_id || study_request_id || query_id) • The namespace, entity, email, share code, study, study request or query to send the message to body • The body of the message subject • The subject of the message (optional) parent_id • The uuid of the parent message (optional) |
| Returns |
status • OK uuid • The message uuid |
| Permission | message_edit query_reply |
| Errors |
MISSING_FIELDS • A required field is missing or does not have data in it. The error_subtype holds a array of all the missing fields NOT_FOUND • The recipient or the parent message cannot be found NOT_PERMITTED • You are not permitted to send to the recipient |
| Notes |
| Description | Get a message |
|---|---|
| URL | /message/get |
| Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • Id of the message |
| Returns |
status • OK user_id • Id of the user who send the message user_name • Name of the user who sent the message namespace_id • Id of the namespace the message was sent to namespace_name • Name of the namespace the message was sent to body • The message body subject • The message subject created • Created datetime stamp of the message is_mine • Flag if I created this message parent_id • The uuid of the parent message study_id • The uuid of study associated with this message query_id • The uuid of the Query associated with this message tags • An array of user tags associated with this object (This is only returned if the object has tags) |
| Permission | message_view query_view |
| Errors |
MISSING_FIELDS • A required field is missing or does not have data in it. The error_subtype holds a array of all the missing fields NOT_FOUND • The message can not be found NOT_PERMITTED • You are not permitted to view this message |
| Notes |
| Description | Delete a message |
|---|---|
| URL | /message/delete |
| Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • Id of the message |
| Returns |
status • OK |
| Permission | message_edit |
| Errors |
MISSING_FIELDS • A required field is missing or does not have data in it. The error_subtype holds a array of all the missing fields NOT_FOUND • The message can not be found NOT_PERMITTED • You are not permitted to delete this message |
| Notes |
|
| Description | Return the count of messages since the counter was reset |
|---|---|
| URL | /message/count |
| Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) reset • Flag to reset counter back to zero (optional) |
| Returns |
status • OK count • Number of messages |
| Errors | |
| Notes |
Dictionary commands
Dictionaries are used to do a lookup and replace on records. Once defined they can be attached to accounts or namespaces and are triggered when a record is created or edited.| Description | Get a list of the account dictionaries |
|---|---|
| URL | /dictionary/list |
| Parameters |