v3 Services Public API
Table of contents
- Introduction
- Global information
- Error handling
- Filters
- Fields
- Pagination
- Sorting
- Bundled calls
- Permissions
- Schedules
- Account settings
- Study AI questions
- Namespace AI questions
- Session commands
- User commands
- /user/join
- /user/add
- /user/get
- /user/set
- /user/delete
- /user/password/lost
- /user/password/reset
- /user/welcome
- /user/join/list
- /user/join/request
- /user/invite
- /user/invite/accept
- /user/namespace/list
- /user/event
- /user/event/set
- /user/token
- /user/device/clear
- /user/signature
- /user/enable
- /user/pubkey/list
- /user/pubkey/get
- Study commands
- /study/add
- /study/set
- /study/delete
- /study/list
- /study/count
- /study/count_by_filter
- /study/cfind
- /study/get
- /study/permissions
- /study/exists
- /study/push
- /study/push/hl7
- /study/pdf/hl7
- /study/fax/hl7
- /study/attachment/email
- /study/cmove
- /study/node/can/remove
- /study/share/who
- /study/share
- /study/share/stop
- /study/share/list
- /study/approve
- /study/reject
- /study/audit
- /study/star
- /study/report/detail
- /study/report/series
- /study/viewer/settings
- /study/viewer3/settings
- /study/status/get
- /study/status/set
- /study/status/locks
- /study/status/history
- /study/move
- /study/duplicate
- /study/clone
- /study/split
- /study/freeze
- /study/manual/route
- /study/find/order
- /study/archive
- /study/retrieve
- /study/comment/add
- /study/comment/delete
- /study/comment/get
- /study/validate
- /study/attach/customfields
- /study/external/viewer
- /study/question
- /study/dicomdata/load
- /study/timing/event
- /study/timing/log
- /study/sync
- /study/take
- /study/request/add
- /study/request/get
- /study/request/match
- /study/revive
- Tag commands
- Annotation commands
- Keyimage commands
- Study validation commands
- Study DICOM data commands
- Radiology reports commands
- /radreport/add
- /radreport/set
- /radreport/get
- /radreport/audit
- /radreport/delete
- /radreport/description
- /radreport/user/list
- /radreportmacro/list
- /radreportmacro/add
- /radreportmacro/set
- /radreportmacro/get
- /radreportmacro/delete
- /radreport/pdf
- /radreport/fax
- /radreport/email
- /radreport/template/list
- /radreport/template/add
- /radreport/template/set
- /radreport/template/get
- /radreport/template/get/type
- /radreport/template/delete
- /radreport/template/activate
- Custom code commands
- Case commands
- Patient commands
- Order commands
- HL7 commands
- /hl7/list
- /hl7/outbound/list
- /hl7/add
- /hl7/get
- /hl7/delete
- /hl7/study/report
- /hl7/extract/report
- /hl7/template/list
- /hl7/template/add
- /hl7/template/set
- /hl7/template/get
- /hl7/template/render
- /hl7/template/delete
- /hl7/transform/list
- /hl7/transform/add
- /hl7/transform/set
- /hl7/transform/get
- /hl7/transform/delete
- /hl7/transform/test
- /hl7/parse/fields
- Settings commands
- Node commands
- /node/list
- /node/public
- /node/connect
- /node/approve
- /node/add
- /node/set
- /node/get
- /node/ping
- /node/ping/ack
- /node/deliver
- /node/retrieve
- /node/webhook
- /node/configuration
- /node/delete
- /node/study/queued
- /node/study/anonymized
- /node/found
- /node/found/mwl
- /node/event
- /node/log
- /node/xml
- /node/metric
- /node/performance/set
- /node/performance/get
- /node/progress/add
- /node/progress/list
- /node/progress/get
- Destination commands
- Route commands
- Account commands
- /account/list
- /account/set
- /account/get
- /account/user/add
- /account/user/set
- /account/user/get
- /account/user/delete
- /account/user/enable
- /account/user/list
- /account/user/report/login
- /account/can/share
- /account/can/share/stop
- /account/can/share/list
- /account/css
- /account/settings
- /account/settings/validate
- /account/connect
- /account/md5/counter
- /account/list/requestable
- /account/radreport/email/authorize
- /account/vanity/add
- /account/vanity/get
- /account/vanity/set
- /account/vanity/delete
- /account/vanity/list
- /account/saml/role/list
- /account/saml/role/set
- Location commands
- Group commands
- Role commands
- Activity commands
- Audit commands
- Namespace commands
- /namespace/permissions
- /namespace/settings
- /namespace/share_code
- /namespace/share/pricing
- /namespace/share/price
- /namespace/anonymize
- /namespace/coverpage
- /namespace/validate/customfields
- /namespace/event/defaults
- /namespace/study/defaults
- /namespace/engine/fqdn
- /namespace/removed/user/report
- /namespace/question
- /namespace/audit
- Help commands
- Terminology commands
- Analytics commands
- Filter commands
- Custom field commands
- Webhook commands
- Purge commands
- Link commands
- Message commands
- Dictionary commands
- Report commands
- Meeting commands
- Appointment commands
- Training commands
- RSNA commands
- NPI commands
- Site commands
- Scanner commands
- Query commands
- QC task commands
- Anonymization profile commands
- Rule set commands
- Study timer rule commands
Introduction
The API is implemented as a REST like interface. A call is made to a URL using either a POST or a GET. The URL will return either a HTTP error code or a JSON data structure.Global information
- Italic words represent field's names
- UPPER CASE words represent input data or error tokens
- Every returned data structure has a status field that holds either OK or ERROR
- Date and time stamps are in UTC
- Fields are required unless noted as optional
- Flags are numeric fields with a 1 or 0 value for true or false
Error handling
Errors are flagged by an HTTP error code as follows:- 401 Authorization required - The call needs a valid, logged in session id (sid), valid basic authentication user name and password or an OAuth token
- 405 Method not allowed - The call must be a POST not a GET
- 412 Precondition failed - The returned json data structure will have the status flag set to ERROR. The error_type and the optional error_subtype fields will hold tokens that describe the error. The optional error_data field can hold additional error data.
Filter clauses
Filters can typically be applied to list commands- A filter is one or more parameters of the format filter.FIELD.CONDITION
- The following conditions are supported
- equals - an exact match e.g.
filter.name.equals=jack
- Name field is equal to 'jack' - equals_or_null - an exact match plus any null values
- not_equals - Not equals an exact match e.g.
filter.name.not_equals=jack
- Name field is not equal to 'jack' - not_equals_or_null - Not equals an exact match or is null e.g.
filter.name.not_equals_or_null=jack
- Name field is not equal to 'jack' or is null - like - a wildcard match e.g.
filter.last.like=jack%
- Last name is like 'jack%' - gt - a greater than match e.g.
filter.date.gt=2001-10-10
- Date is greater than 2001-10-10 - ge - a greater than or equal to match e.g.
filter.date.ge=2001-10-10
- Date is greater than or equal to 2001-10-10 - lt - a less than match e.g.
filter.date.lt=2001-10-10
- Date is less than 2001-10-10 - le - a less than or equal to match e.g.
filter.date.le=2001-10-10
- Date is less than or equal to 2001-10-10 - in - match one of the items in the JSON array e.g.
filter.study_status.in=["stage1","stage2"]
- Study status is either stage1 or stage2 - in_or_null - match one of the items in the JSON array or the null value
- equals - an exact match e.g.
- FIELD like
field->'xyz'
to access 'xyz' key for hstore field - Multiple filters are AND'ed together
- Custom fields can be filtered by specifying the field as customfield-CUSTOMFIELD_UUID
- A timezone offset in numeric format can be passed in the filter.tz and will be applied to any dates in the filter e.g.
filter.tz=-4:00
- A timezone name from Olson database can be passed in the filter.tz. Deprecated timezones will apply as UTC.
- Supported date and datetime formats are: YYYY-MM-DD, YYYYMMDD, YYYY-MM-DD hh:mm:ss[.uuuuuu][(+|-)ZZ[:ZZ]]. Timezone offsets are ignored. Server-side timestamps are truncated to seconds before comparison when a filter lacks microseconds part.
- Timezones apply in this order: current user's time zone, filter.tz parameter, UTC by default.
- A filter can be applied on a secondary table by putting the table names into the parameter e.g. filter.TABLE.FIELD.CONDITION
- Invalid filters will return the following error messages
- INVALID_FIELD • The field is not valid for this object. The error_subtype will hold the filter expression this applies to
- INVALID_CONDITION • The condition is not support. The error_subtype will hold the filter expression this applies to
- FILTER_NOT_FOUND • The filter can not be found. The error_subtype will hold the filter UUID
- INVALID_FIELD • The field is not valid for this object. The error_subtype will hold the filter expression this applies to
- Filters can be saved and manipulated by the Filter commands.
- A saved filter can be applied by passing the filter UUID as a filter_id parameter rather than the filter expression.
- To create an OR type of search specify multiple saved filters in the configuration of a saved search as per the /filter/add notes
Fields
- The returned fields for an object can be limited by passing a fields.OBJECT_NAME parameter that contains a JSON array of the fields to return e.g.
fields.account=["uuid","name"]
- All the top level returned fields except
status
can be filter via the special fields._top parameter. e.g.fields._top=["session_expire"]
- Nested objects can be expanded in the API response by passing a expand.OBJECT_NAME parameter that contains a JSON array of the nested objects to expand. Only selected API objects support this. The top level object is referred to as _top. e.g.
expand._top=["study"]
Pagination
If pagination is applied to the list command the following parameters control pagination:- page.rows = Number of rows to return. The default is 100 or 1000 depending on the object type and the maximum is 5000
- page.number = Which page number to display. The default is 1
- page.total = Flag to return page.total in response. See Note below.
The command will return a hash called page with the following parameters in it.
- more - flag if there are more records
- rows - The maximum number of rows in the page
- number - The page number
- total - The total number of rows for that filter. Note: Only for /patient/list, /activity/list, /appointment/list.
Sorting
If a list can be sorted it will support the sort_by parameter in the call. The value of the sort_by parameter is a comma delimited list of fields with the direction of ordering (ascending or descending) appended to the field(s). For example
sort_by=name-asc,date-desc,customfield-d3a6b1f8-a3af-4400-9b96-c5f1578d375d-desc
will sort the results by name in ascending order and then date in descending order.
For customfield-UUID-(asc|desc) sorts type=number as interger, type=date as date, other types as strings.
Invalid sort_by values will return the following error messages
INVALID_SORT_FIELD • The field is not valid for this object. The error_subtype will hold the field name this applies to
INVALID_SORT_ORDER • The sort order for the field is invalid. The error_subtype will hold the field name this applies to
Bundled calls
You can bundle a series of calls into a single call to the server. To do this, POST to /bundle a textual representation of a JSON array of hashes. Each hash must contain the URL key with the value the
API entry point, the rest of the keys should be the parameters for the call. The server will process all the calls in order and return a JSON array of the responses in the same order. For example to get
the account detail and the user's permissions for the account in a single call send
POST /bundle [
{"URL":"/account/get", "sid":"XYZ", "uuid":"ABC"},
{"URL":"/session/permissions", "sid":"XYZ", "account_id":"ABC"}
]
and you will get back an array with two hashes the containing the results of the call. If the POST is malformed the server will return an HTTP_BAD_REQUEST error code. The returned hashes have an additional
HTTP_STATUS_CODE field with the result code for the request. Each call will return a hash even if it is an error hash so you can mix successful and unsuccessful calls and parse the results.
Within a bundled call you can use values from previous calls using templated values. If the value is of the form {{TOKEN}} the value will be substituted if TOKEN was returned by any of the previous calls.
Here is an example of the usage
POST /bundle [
{"URL":"/session/login", "login":"a@b.com", "password":"XYZ"},
{"URL":"/study/list", "sid":"{{sid}}"},
{"URL":"/study/get", "sid":"{{sid}}", "uuid":"{{studies.[0].uuid}}"}
]
The templated values can use dot notation to recurse into the arrays and hashes in the returned data structure as per the last line on the previous example.
inherit_sid flag can be passed as a query string parameter. If passed and equals to 1, then all the bundled API calls will inherit the current sid, it will be passed in the X-AmbraHealth-SID header.
Here is an example of how to run a bundled session from your desktop
- Create a text file called data.json with the following text in it
[ {"URL":"/session/login", "login":"a@b.com", "password":"XYZ"}, {"URL":"/study/list", "sid":"{{sid}}"}, {"URL":"/study/get", "sid":"{{sid}}", "uuid":"{{studies.[0].uuid}}"} ]
- Run it using curl
curl -H "Content-Type: application/json" -X POST -d @data.json https://uat.dicomgrid.com/api/v3/bundle
Permissions
A role has the following permission flags. The default roles are Admin, User, PHR and Anonymous and have the following settings.An additional
role_id=role.UUID
is returned in each permissions JSON hash.
Flag | Admin Value |
User Value |
PHR Value |
Anonymous Value |
Description |
---|---|---|---|---|---|
account_edit | 1 | 0 | 0 | 0 | Can they add and edit the account |
anonymization_edit | 1 | 1 | 0 | 0 | Can they add and edit anonymization rules in the account (account_edit is also required) |
account_view | 1 | 0 | 0 | 0 | Can they view account information |
account_vanity_view | 1 | 0 | 0 | 0 | Can they view or list the account_vanity settings in the account |
account_vanity_edit | 1 | 0 | 0 | 0 | Can they edit and remove account_vanity settings from an account |
account_user_view | 1 | 0 | 0 | 0 | Can they view or list the users in the account |
account_user_edit | 1 | 0 | 0 | 0 | Can they add, edit and remove users from an account |
account_user_invite | 1 | 0 | 0 | 0 | Can they invite users to an account |
user_edit | 0 | 0 | 0 | 0 | Can they create and edit users on the grid |
destination_view | 1 | 0 | 0 | 0 | Can they view or list the destinations in the account |
destination_edit | 1 | 0 | 0 | 0 | Can they add, edit and remove destinations from an account |
destination_search | 0 | 0 | 0 | 0 | Can they search a destination |
destination_search_mwl | 0 | 0 | 0 | 0 | Can they run a modality worklist search on a destination |
destination_search_view | 0 | 0 | 0 | 0 | Can they audit query retrieves on a destination |
group_view | 1 | 0 | 0 | 0 | Can they view or list the groups in the account |
group_edit | 1 | 0 | 0 | 0 | Can they add, edit and remove groups from an account |
group_clone | 1 | 0 | 0 | 0 | Can they clone groups in the account |
location_view | 1 | 0 | 0 | 0 | Can they view or list the locations in the account |
location_edit | 1 | 0 | 0 | 0 | Can they add, edit and remove locations from an account |
location_clone | 1 | 0 | 0 | 0 | Can they clone locations in the account |
role_view | 1 | 0 | 0 | 0 | Can they view or list the roles in the account |
role_edit | 1 | 0 | 0 | 0 | Can they add, edit and remove roles from an account |
role_setting_edit | 1 | 0 | 0 | 0 | Can they call /role/settings to set role.settings. Note: look permission setting_. |
route_view | 1 | 0 | 0 | 0 | Can they view or list the routes in the account |
route_edit | 1 | 0 | 0 | 0 | Can they add, edit and remove routes from an account |
route_manual_route | 1 | 1 | 1 | 1 | Can they manually route studies using the route |
node_view | 1 | 0 | 0 | 0 | Can they view or list the nodes in the account |
node_edit | 1 | 0 | 0 | 0 | Can they add, edit and remove nodes from an account |
node_edit_own | 0 | 0 | 0 | 0 | Can they add, edit and remove their own nodes from an account |
node_connect | 1 | 0 | 0 | 0 | Can they view and connect to public nodes |
node_approve_connect | 1 | 0 | 0 | 0 | Can they approve connect to theirs public nodes |
study_approve | 1 | 0 | 1 | 0 | Can they approve or reject shared studies in the account, group, location |
study_view | 1 | 1 | 1 | 1 | Can they view the studies in the account, group, location |
study_edit | 1 | 0 | 1 | 0 | Can they edit the PHI of the study |
↳ study_edit_approved | 1 | 1 | 1 | 0 | Can they edit the PHI of an approved study |
↳ study_edit_unapproved | 1 | 1 | 1 | 0 | Can they edit the PHI of an unapproved study |
study_unlock | 1 | 0 | 0 | 0 | Can they unlock a study locked by others |
study_star | 1 | 1 | 0 | 0 | Can they star studies |
study_tag | 1 | 1 | 0 | 0 | Can they tag studies |
study_upload | 1 | 0 | 0 | 0 | Can they upload a study to the account, group, location |
study_upload_validate | 0 | 0 | 0 | 0 | An upload requires session validation |
study_report_detail | 1 | 0 | 1 | 0 | Can they get the detail report for studies in the account, group, location |
study_download | 1 | 0 | 1 | 0 | Can they download the study |
study_download_viewer | 1 | 0 | 1 | 0 | Can they download the local study viewer |
study_download_iso | 1 | 0 | 1 | 0 | Can they download the study ISO |
study_browse | 1 | 1 | 1 | 1 | Can they view studies in the web viewer |
study_push | 1 | 0 | 0 | 0 | Can they push the study to a destination |
study_share | 1 | 0 | 1 | 0 | Can they share the study |
↳ study_share_email | 0 | 0 | 1 | 0 | Can they share the study via email |
↳ study_share_share_code | 1 | 1 | 1 | 0 | Can they share the study via a share code |
↳ study_share_account | 1 | 1 | 1 | 0 | Can they share the study with accounts |
↳ study_share_location | 1 | 1 | 1 | 0 | Can they share the study with locations |
↳ study_share_group | 1 | 1 | 1 | 0 | Can they share the study with groups |
↳ study_share_user | 1 | 1 | 1 | 0 | Can they share the study with users |
↳ study_share_rsna | 0 | 0 | 0 | 0 | Can they share the study with the RSNA network |
↳ study_share_npi | 0 | 0 | 0 | 0 | Can they share the study with a NPI number |
↳ study_share_request | 0 | 0 | 0 | 0 | Can they share the study by a study request |
study_delete | 0 | 0 | 1 | 0 | Can they delete a study |
study_delete_image | 0 | 0 | 0 | 0 | Can they delete images and series within a study |
study_thin | 0 | 0 | 0 | 0 | Can they create a thin study |
study_report_share_email | 1 | 0 | 0 | 0 | Can they send attached reports for a study by email |
study_report_view | 1 | 1 | 1 | 1 | Can they view attached reports for a study |
study_report_view_approved | 1 | 1 | 1 | 1 | Can they view attached reports for an approved study |
study_report_view_unapproved | 0 | 0 | 0 | 0 | Can they view attached reports for an unapproved study |
study_report_view_only_own | 0 | 0 | 0 | 0 | Can they only view reports they attached to the study |
study_timing_view | 0 | 0 | 0 | 0 | Can they view the timing log for a study |
study_report_hl7_view | 1 | 1 | 1 | 1 | Can they view HL7 reports for a study |
study_report_hl7_view_approved | 1 | 1 | 1 | 1 | Can they view HL7 reports for an approved study |
study_report_hl7_view_unapproved | 0 | 0 | 0 | 0 | Can they view HL7 reports for an unapproved study |
study_report_upload | 1 | 0 | 1 | 0 | Can they upload a report to a study |
study_report_upload_approved | 1 | 1 | 1 | 0 | Can they upload a report to an approved study |
study_report_upload_unapproved | 0 | 0 | 0 | 0 | Can they upload a report to an unapproved study |
study_report_delete | 1 | 0 | 1 | 0 | Can they delete a report from a study |
study_report_delete_approved | 1 | 1 | 1 | 0 | Can they delete a report from an approved study |
study_report_delete_unapproved | 0 | 0 | 0 | 0 | Can they delete a report from an unapproved study |
study_send_status_view | 1 | 1 | 1 | 1 | Can they view study push statuses when enabled |
study_sync | 0 | 0 | 0 | 0 | Can they force a study to sync against storage and re-run routing rules |
study_status_view | 0 | 0 | 0 | 0 | Can they view the status of the study |
study_status_edit | 0 | 0 | 0 | 0 | Can they edit the status of the study |
study_status_manual_edit | 1 | 1 | 1 | 1 | Can they manually edit the status of the study if study_status_edit is enabled |
study_status_tags_ignore_rules | 1 | 0 | 0 | 0 | Can they ignore behaviour of account.settings.study_status_tags_rules |
study_comment_view | 0 | 0 | 0 | 0 | Can they view the comments for the study |
study_comment_edit | 0 | 0 | 0 | 0 | Can they edit comments for the study |
study_audio_record | 0 | 0 | 0 | 0 | Can they record an audio report for the study |
study_audio_play | 0 | 0 | 0 | 0 | Can they playback audio reports for the study |
study_move | 0 | 0 | 0 | 0 | Can they move the study to another PHI namespace |
study_freeze | 0 | 0 | 0 | 0 | Can they freeze or thaw the study |
study_duplicate | 0 | 0 | 0 | 0 | Can they duplicate studies to another namespace |
study_clone | 0 | 0 | 0 | 0 | Can they clone studies to the same namespace with new study, series and image UIDs |
study_duplicate_request | 0 | 0 | 0 | 0 | Can they duplicate studies by a study requests |
study_manual_route | 0 | 0 | 0 | 0 | Can they manually route a study |
study_split | 0 | 0 | 0 | 0 | Can they split a study |
study_merge | 0 | 0 | 0 | 0 | Can they merge studies together |
study_take | 0 | 0 | 0 | 0 | Can they take a study into namespace with /study/take |
study_request_edit | 0 | 0 | 0 | 0 | Can they create study requests |
study_request_view | 0 | 0 | 0 | 0 | Can they view outgoing study requests |
study_request_view_only_own | 0 | 0 | 0 | 0 | Can they only view their own study requests |
study_request_view_inbound | 0 | 0 | 0 | 0 | Can they view incoming study requests |
study_field_patient_name study_field_patientid study_field_study_description study_field_accession_number study_field_modality study_field_referring_physician study_field_patient_sex study_field_study_date study_field_patient_birth_date study_field_customfield_UUID |
F | F | F | F | Permission for study fields. Customfields contain the UUID of the customfield. Valid values are.
|
setting_{SETTING_NAME} | 1 | 1 | 0 | 0 | Permission for set role.setings.{SETTING_NAME} in /role/settings.
|
audit_view | 1 | 0 | 1 | 0 | Can they view audit information |
analytics_view | 1 | 0 | 1 | 0 | Can they view analytics information |
study_search_require_patient_name | 0 | 0 | 0 | 0 | Patient name is required for a study search |
study_search_require_patient_sex | 0 | 0 | 0 | 0 | Patient gender is required for a study search |
study_search_require_accession_number | 0 | 0 | 0 | 0 | Accession number is required for a study search |
study_search_require_patient_birth_date | 0 | 0 | 0 | 0 | Patient birth date is required for a study search |
study_search_require_patientid | 0 | 0 | 0 | 0 | MRN is required for a study search |
pathology_upload | 1 | 0 | 0 | 0 | Can they upload pathology report |
filter_share | 1 | 0 | 1 | 0 | Can they share filters |
filter_edit_only_own | 0 | 0 | 0 | 0 | Can they only edit their own filters |
customfield_view | 1 | 0 | 0 | 0 | Can they view or list the customfields in the account for administration purposes |
customfield_list | 1 | 0 | 0 | 0 | Can they view or list the customfields in the account for account introspection purposes |
customfield_edit | 1 | 0 | 0 | 0 | Can they add, edit and remove customfields from an account |
case_view | 0 | 0 | 0 | 0 | Can they view or list the cases in the account |
case_view_only_own | 0 | 0 | 0 | 0 | Can they only view or list their own cases in the account (when assigned as medical user) |
case_edit | 0 | 0 | 0 | 0 | Can they add, edit and remove cases from an account |
case_edit_only_own | 0 | 0 | 0 | 0 | Can they only edit and remove their own cases from an account (when assigned as medical user) |
case_delete | 0 | 0 | 0 | 0 | Can they delete cases |
customcode_view | 0 | 0 | 0 | 0 | Can they view or list the code in the account |
customcode_edit | 0 | 0 | 0 | 0 | Can they add, edit and remove code from an account |
customcode_deploy | 0 | 0 | 0 | 0 | Can they deploy code for a namespace |
patient_view | 0 | 0 | 0 | 0 | Can they view or list the patients in the account |
patient_edit | 0 | 0 | 0 | 0 | Can they add, edit and remove patients from an account |
patient_merge | 0 | 0 | 0 | 0 | Can they merge patients in the account |
order_view | 0 | 0 | 0 | 0 | Can they view or list the orders in the account |
order_edit | 0 | 0 | 0 | 0 | Can they add, edit and remove orders from an account |
webhook_view | 0 | 0 | 0 | 0 | Can they view or list the webhooks in the account |
webhook_edit | 0 | 0 | 0 | 0 | Can they add, edit and remove webhooks from an account | webhook_run | 0 | 0 | 0 | 0 | Can they manually run a webhook |
can_proxy_login | 0 | 0 | 0 | 0 | Can they proxy login for "owned" users in an account. Only those owned user's accounts which have that permission will be visible for proxy user. |
radreport_view | 0 | 0 | 0 | 0 | Can they view or list the radreports in the account |
radreport_view_only_own | 0 | 0 | 0 | 0 | Can they view only their radreports |
radreport_edit | 0 | 0 | 0 | 0 | Can they add, edit and remove radreports from an account |
radreport_html_format | 0 | 0 | 0 | 0 | Can they use HTML formatting in radreports |
dictionary_view | 0 | 0 | 0 | 0 | Can they view or list the dictionaries in the account |
dictionary_edit | 0 | 0 | 0 | 0 | Can they add, edit and remove dictionaries from an account |
hl7_message_view | 0 | 0 | 0 | 0 | Can they view or list the HL7 messages in the account |
hl7_message_delete | 0 | 0 | 0 | 0 | Can they delete the HL7 messages in the account |
hl7_template_view | 0 | 0 | 0 | 0 | Can they view or list the HL7 templates in the account |
hl7_template_edit | 0 | 0 | 0 | 0 | Can they add, edit and remove HL7 templates from an account |
hl7_transform_view | 0 | 0 | 0 | 0 | Can they view or list the HL7 transformations in the account |
hl7_transform_edit | 0 | 0 | 0 | 0 | Can they add, edit and remove HL7 transformations from an account |
annotation_view | 1 | 1 | 1 | 1 | Can they view annotations on a study |
annotation_view_only_own | 0 | 0 | 0 | 0 | Can they view only their annotations on a study |
annotation_edit | 1 | 1 | 1 | 0 | Can edit annotations on a study |
annotation_edit_only_own | 1 | 1 | 1 | 1 | Can they only edit their annotations on a study |
meeting_view | 1 | 1 | 1 | 1 | Can they view meetings for a study |
meeting_edit | 0 | 0 | 0 | 0 | Can create and edit meetings for a study |
appointment_view | 0 | 0 | 0 | 0 | Can they view or list the appointments in the account |
appointment_view_only_own | 0 | 0 | 0 | 0 | Can they view only their appointments |
appointment_edit | 0 | 0 | 0 | 0 | Can they add, edit and remove appointments from an account |
keyimage_view | 1 | 1 | 1 | 1 | Can they view key images on a study |
keyimage_edit | 1 | 1 | 1 | 0 | Can edit key images on a study |
validate_view | 0 | 0 | 0 | 0 | Can they view or list the validation rules in the account |
validate_edit | 0 | 0 | 0 | 0 | Can they add, edit and remove validation rules from an account |
dicomdata_view | 0 | 0 | 0 | 0 | Can they view the DICOM data for a study |
dicomdata_edit | 0 | 0 | 0 | 0 | Can they edit the DICOM data for a study |
purge_view | 0 | 0 | 0 | 0 | Can they view or list the purge rules in the account |
purge_edit | 0 | 0 | 0 | 0 | Can they add, edit and remove purge rules from an account |
link_direct | 1 | 1 | 0 | 0 | Can they view and copy the direct link to the study |
link_view | 0 | 0 | 0 | 0 | Can they view or list the links in the account |
link_edit | 0 | 0 | 0 | 0 | Can they add, edit and remove links from an account |
link_edit_pin | 0 | 0 | 0 | 0 | Can they generate a one-time pin for a link |
link_edit_upload | 0 | 0 | 0 | 0 | Can they add, edit and remove study upload links from an account |
message_view | 1 | 1 | 1 | 0 | Can they view messages in the namespace |
message_edit | 1 | 0 | 1 | 0 | Can they send messages to the namespace |
user_modify_sharecode | 1 | 1 | 1 | 0 | Can they modify their personal share code |
user_modify_defaults | 1 | 1 | 1 | 0 | Can they modify their personal defaults |
user_modify_notifications | 1 | 1 | 1 | 0 | Can they modify their notifications |
user_view_others_notifications | 1 | 1 | 1 | 0 | Can they view other user's notifications |
user_modify_others_notifications | 0 | 0 | 0 | 0 | Can they modify other user's notifications |
user_modify_others_email | 0 | 0 | 0 | 0 | Can they modify other user's email address |
user_modify_others_pkey | 0 | 0 | 0 | 0 | Can they modify other user's public key |
user_request_access | 1 | 1 | 1 | 0 | Can they request access to an org |
user_edit_shared_filter | 0 | 0 | 0 | 0 | Can they edit saved searches that have been shared with them |
channel_activity | 1 | 1 | 1 | 0 | Can they subscribe to an activity channel |
channel_study | 1 | 1 | 1 | 1 | Can they subscribe to a job channel |
viewer_config | JSON viewer configuration for the role. Optionally pass in the UUID of a user and that user's viewer configuration will be copied into the role | ||||
viewer3_config | JSON hash for the viewer3 configuration for the role. | ||||
ui_json | JSON structure to control the application UI | ||||
namespace_question | 1 | 0 | 0 | 0 | Can they ask AI questions for a namespace |
job_view | 1 | 1 | 1 | 1 | Can they view asynchronous job statuses |
site_add | 0 | 0 | 0 | 0 | Can they add sites to the account |
site_edit | 0 | 0 | 0 | 0 | Can they edit sites in the account |
site_view | 0 | 0 | 0 | 0 | Can they view sites in the account |
site_delete | 0 | 0 | 0 | 0 | Can they delete sites from the account |
site_qualify | 0 | 0 | 0 | 0 | Can they qualify sites for a trial and inactivate sites |
scanner_add | 0 | 0 | 0 | 0 | Can they add scanners |
scanner_edit | 0 | 0 | 0 | 0 | Can they edit scanners |
scanner_view | 0 | 0 | 0 | 0 | Can they view scanners |
scanner_delete | 0 | 0 | 0 | 0 | Can they delete scanners |
site_user_add | 0 | 0 | 0 | 0 | Can they add users to site contact lists |
site_user_edit | 0 | 0 | 0 | 0 | Can they edit users in site contact lists |
site_user_view | 0 | 0 | 0 | 0 | Can they view site contact lists |
user_setting_set | 0 | 0 | 0 | 0 | Can they overwrite user settings for users having some role |
site_user_delete | 09 | 0 | 0 | 0 | Can they delete users from site contact lists |
terminology_view | 1 | 0 | 0 | 0 | Can they see the terminology administration tab |
terminology_edit | 1 | 0 | 0 | 0 | Can they edit terminology records |
query_add | 0 | 0 | 0 | 0 | Can they add queries owned by the namespace |
query_edit | 0 | 0 | 0 | 0 | Can they edit queries owned by the namespace |
query_view | 0 | 0 | 0 | 0 | Can they view queries owned by the namespace |
query_view_meta | 0 | 0 | 0 | 0 | Can they view query metadata for queries owned by the namespace |
query_view_only_own | 1 | 1 | 1 | 1 | Can they only view queries owned by them |
query_delete | 0 | 0 | 0 | 0 | Can they delete queries owned by the namespace |
query_reply | 0 | 0 | 0 | 0 | Can they reply in queries owned by the namespace |
query_attachment_add | 0 | 0 | 0 | 0 | Can they add attachments to queries owned by the namespace |
query_attachment_view | 0 | 0 | 0 | 0 | Can they view attachments of queries owned by the namespace |
query_attachment_delete | 0 | 0 | 0 | 0 | Can they delete attachments from queries owned by the namespace |
query_attachment_delete_only_own | 1 | 1 | 1 | 1 | Can they only delete query attachments added by them |
qctask_add | 0 | 0 | 0 | 0 | Can they add QC tasks assigned to the namespace |
qctask_edit | 0 | 0 | 0 | 0 | Can they edit QC tasks assigned to the namespace |
qctask_view | 0 | 0 | 0 | 0 | Can they view QC tasks assigned to the namespace |
qctask_delete | 0 | 0 | 0 | 0 | Can they delete QC tasks assigned to the namespace |
qctask_prioritize | 0 | 0 | 0 | 0 | Can they change priorities of QC tasks assigned to the namespace |
saml_role_edit | 0 | 0 | 0 | 0 | Can they add and edit SAML role mappings |
Schedules
Objects with schedules support a JSON hash with the following fields
- start - The daily start time in 24hr HH:MM format
- stop - The daily stop time in 24hr HH:MM format
- mon - Flag if the start and end time should be applied on this day
- tue - Flag if the start and end time should be applied on this day
- wed - Flag if the start and end time should be applied on this day
- thu - Flag if the start and end time should be applied on this day
- fri - Flag if the start and end time should be applied on this day
- sat - Flag if the start and end time should be applied on this day
- sun - Flag if the start and end time should be applied on this day
- tz - The timezone for the schedule. The currently support values for this are.
- US/Eastern
- US/Central
- US/Mountain
- US/Arizona
- US/Pacific
- US/Alaska
- Brazil/East
- Brazil/West
- Africa/Johannesburg
- Europe/London
- Asia/Shanghai
- invert - A flag which means run the schedule outside the scheduled times rather than during it. This is useful for setting a "reverse" schedule. i.e. during business hours do "A", the rest of the time do "B".
Account settings
Account setting control the application workflow and UI for an account. The following settings are available.Name | Type | Default | Un-authenticated access allowed |
User override allowed |
Namespace override allowed |
Node override allowed |
Role override allowed |
Description |
---|---|---|---|---|---|---|---|---|
show_hl7_report_physician_alias_regexp | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Show the hl7_report_physician_alias_regexp option for the routing rules in the UI |
update_study_source_on_notify | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Update the study source for every notification |
allow_phr_upload | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Allow study upload into the PHR namespaces for users associated with this account |
enable_credit_card_processor | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Enable credit card processing for the account |
paypal_account | Text | 0 | 0 | 0 | 0 | 0 | The paypal account email for credit card processing | |
request_join_on_vanity_registration | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Automatically submit a join request if a user registers under a vanity domain |
vanity_registration_customfields | Text | 0 | 0 | 0 | 0 | 0 | 0 | Comma-delimited list of customfield uuids to show on vanity registration page |
login_json | Text | 1 | 0 | 0 | 0 | 0 | JSON structure to control the login page HTML | |
ui_json | Text | 0 | 1 | 1 | 0 | 0 | JSON structure to control the application UI:
|
|
pacs_config_customized | Text | 0 | 0 | 0 | 0 | 1 | JSON structure for PACS. Look permission setting_{SETTING_NAME} for permission flags. | |
notify_attachment_sets_engine_for_thin | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Flag for PACS for /study/attachment/email to work for thin studies. ATTACHMENT request from storage for thin study sets engine if was empty. |
baa_text | Text | 1 | 0 | 0 | 0 | 0 | The HTML to display next to a BAA checkbox that must be accepted for registration | |
training_text | Text | 1 | 0 | 0 | 0 | 0 | The HTML to display for the training manual link | |
faq_text | Text | 1 | 0 | 0 | 0 | 0 | The HTML to display for the FAQ link | |
other_manual_text | Text | 1 | 0 | 0 | 0 | 0 | The HTML to display for the "other" manual link | |
pin_auth_text | Text | 1 | 0 | 0 | 0 | 0 | The HTML to display for a failed pin_auth for /link/session | |
homepage_links | Text | 1 | 0 | 0 | 0 | 0 | A JSON list of hashes of the links to display on the home page | |
enable_dicom_wrapping | Flag | 0 | 0 | 0 | 1 | 0 | 0 | Enable dicom wrapping support on uploading |
auto_enable_dicom_wrapping | Flag | 0 | 0 | 0 | 1 | 0 | 0 | Enable dicom wrapping support on uploading if no DICOM is detected |
single_file_dicom_wrapping | Flag | 0 | 0 | 0 | 1 | 0 | 0 | Limit DICOM wrapping on upload to a single file |
disable_mobile_dicom_wrapping | Flag | 0 | 0 | 0 | 1 | 0 | 0 | Disable dicom wrapping support on uploading for mobile devices |
enable_multipart_uploader | Flag | 1 | 0 | 0 | 1 | 0 | 0 | Enable multipart uploading |
allow_drag_and_drop_in_study_uploader | Flag | 0 | 0 | 0 | 1 | 0 | 0 | Allow Drag-n-Drop in the web uploader |
enable_dicom_deidentification | Flag | 0 | 0 | 0 | 1 | 0 | 0 | Enable the dicom de-identification tool on uploading |
dicom_deidentification_at_ingress | Flag | 1 | 0 | 0 | 0 | 0 | 0 | De-identify at ingress |
enable_dicomdir_scan | Flag | 1 | 0 | 0 | 0 | 0 | 0 | Enable dicomdir scanning on uploading |
from_email_address | Text | 0 | 0 | 0 | 0 | 0 | Use this email address as the from address for email sent from the account. This will be validated as an email address | |
from_email_name | Text | 0 | 0 | 0 | 0 | 0 | Use this display name in emails for email sent from the account. | |
enable_v2_viewer | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Use the version 2 viewer for this account |
enable_v3_viewer | Flag | 0 | 0 | 1 | 0 | 0 | 0 | Use the version 3 proviewer for this account |
auto_create_patient | Flag | 0 | 0 | 0 | 1 | 0 | 0 | Auto create patients from approved studies |
auto_update_patient_studies | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Update the patient's studies when the patient's information changes |
patient_unique_email_phone | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Require that the patient primary phone and email address be unique |
anonymize_at_ingress | Flag | 0 | 0 | 0 | 1 | 0 | 0 | Should anonymization rules be applied at ingress by the uploader or gateway |
limit_query_retrieve_to_input_gateway | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Limit the HL7 driven query retrieve to the gateway that received the HL7 message |
include_mapped_custom_fields_from_storage_ns | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Include DICOM mapped custom fields from the storage namespace when updating the PHI in storage |
include_mapped_custom_fields_from_last_share | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Include DICOM mapped custom fields from the last share namespace when updating the PHI in storage |
update_phi_hl7 | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Update the PHI from ADT HL7 messages |
update_phi_hl7_namespaces | Text | 0 | 0 | 0 | 0 | A CSV list of PHI namespaces to limit the update_phi_hl7 feature too. e.g. f6b013b3-71be-40c6-b26c-5db6a4a2eada,4fcb78c2-ea21-4975-a318-cf5fc1bdf085 {"37b607eb-083e-497f-9923-48119076f62e":"A08","b6465cd6-d39b-4012-ba44-92e4ece81144":"A34"} |
||
update_accession_from_orm | Text | 0 | 0 | 0 | 0 | Using a field in the HL7 ORM find the studies that match and update their accession number to the HL7 accession number. Configure this via a JSON hash with the following keys
| ||
update_phi_syngo_match | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Update the PHI from Syngo patient match ORM messages |
upload_event_on_study_sync | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Fire the upload event notification when the /study/sync webhook is run |
logo_action | Text | 0 | 0 | 0 | 0 | 0 | What action to take when the logo is clicked | |
viewer3_config | Text | 0 | 0 | 0 | 0 | 0 | JSON hash of the viewer3 settings | |
viewer_show_reports | Flag | 1 | 0 | 1 | 1 | 0 | 0 | Show reports in the viewer |
viewer_study_enable_cpp_transcoding | Flag | 0 | 0 | 0 | 1 | 0 | 0 | Flag for /study/viewer/settings and /study/viewer3/settings. Can be set only by sysadmin. |
enable_viewer_print | Flag | 1 | 0 | 1 | 0 | 0 | 0 | Enable the print feature on the viewer |
enable_viewer_export | Flag | 1 | 0 | 1 | 0 | 0 | 0 | Enable the export feature on the viewer |
viewer_diagnostic_quality | Flag | 0 | 0 | 1 | 0 | 0 | 0 | Diagnostic quality viewing |
viewer_diagnostic_quality_always | Flag | 0 | 0 | 1 | 0 | 0 | 0 | Diagnostic quality viewing in all modes including tools |
viewer_preload_diagnostic_images | Flag | 0 | 0 | 1 | 0 | 0 | 0 | Preload diagnostic images in the viewer |
viewer_enable_mpr | Flag | 0 | 0 | 1 | 0 | 0 | 0 | Flag to enable multi planar reconstruction in the viewer |
viewer_store_extra_annotation_data | Number | 0 | 0 | 1 | 0 | 0 | 0 | Capture extra annotation information |
viewer_default_drop_shape_width | Number | 0 | 0 | 1 | 0 | 0 | 0 | Customize the default size of circle and square drop shapes |
viewer_link_series | Flag | 0 | 0 | 1 | 0 | 0 | 0 | Link the series |
viewer_single_instance_series | Flag | 0 | 0 | 1 | 0 | 0 | 0 | Flag to enable viewing each image as a series |
viewer_multiframe_split_method | Number | 0 | 0 | 1 | 1 | 0 | 0 | Method to use when splitting multiframes out of their original series |
viewer_study_page_link_visible | Flag | 1 | 0 | 1 | 0 | 0 | 0 | Should the "Go to Study Page" link display in the viewer |
viewer_study_page_link_url | Text | 0 | 1 | 0 | 0 | 0 | Optional URL for the "Go to Study Page" link in the viewer | |
viewer_setting_not_diagnostic | Flag | 0 | 0 | 1 | 0 | 0 | 0 | Show a dialog explaining diagnostic usage when opening the viewer |
viewer_show_priors_worklist_only | Flag | 0 | 0 | 1 | 0 | 0 | 0 | Only priors currently in the worklist will be displayed as thumbnails in the viewer |
probe_for_accelerator | Flag | 0 | 0 | 1 | 0 | 0 | 0 | Have the viewer look for available accelerators |
enable_viewer_toggle_annotations | Flag | 1 | 0 | 0 | 0 | 0 | 0 | Enable the toggle annotations button for the viewer |
viewer_default_mouse_tool | Text | Scroll | 0 | 1 | 0 | 0 | 0 | The default mouse tool in the viewer |
auto_transcode | Flag | 0 | 0 | 0 | 0 | 0 | Enable pre-caching of all transcoded images during upload | |
auto_transcode_modalities | Text | 0 | 0 | 0 | 0 | 0 | Comma separated list of modalities to preemptively transcode data for | |
case_status_tags | Text | 0 | 0 | 0 | 0 | 0 | Comma separated list of case status tags | |
case_notify_submitted | Text | 0 | 0 | 0 | 0 | 0 | Comma separated list of email addresses to send a case_submitted email when a case is submitted. The special values user assigned_admin and assigned_medical will be replaced by the appropriate email address for the case.
| |
case_notify_completed | Text | 0 | 0 | 0 | 0 | 0 | Comma separated list of email addresses to send a case_completed email when a case is completed. The special values user assigned_admin and assigned_medical will be replaced by the appropriate email address for the case.
| |
study_status_tags | Text | 0 | 0 | 0 | 0 | 0 | Comma separated list of study status tags | |
study_status_tags_default | Text | 0 | 0 | 0 | 0 | 0 | The tag from study_tatus_tags to be interpreted as default for /study/get | |
study_status_set_default_if_empty | Flag | 0 | 0 | 0 | 0 | 0 | 0 | If set then each new study would have study_status = (study_status_tags_default || study_status_tags[0]) by default, undef otherwise |
study_status_mutex_tags | Text | 0 | 0 | 0 | 0 | 0 | Comma separated list of study status tags that lock the study to the user when set | |
study_status_singleton_tags | Text | 0 | 0 | 0 | 0 | 0 | Comma separated list of study status tags that allow the user to have only one locked study in the stage | |
study_status_role_tags | Text | 0 | 0 | 0 | 0 | 0 | A JSON hash. The keys are study status tags and the values are a list of the role uuids that can change to the status | |
study_status_tags_attributes | Text | 0 | 0 | 0 | 0 | 0 | A JSON hash. The keys are study status tags and the values are a list of the attributes attached to the tag | |
study_status_tags_rules | Text | 0 | 0 | 0 | 0 | 0 | A JSON hash where keys are current study_status and values are array of hashes like {"condition":condition-hash-or-bool,"values":["next","possible","statuses"]}, where condition-hash-or-bool is a condition in format used by customfield's show_when field for Study object: hash or [01]. Example: { "first":[{ # simple next "condition":"1", # or {} == true "values":["second"] }], "second":[ { # some condition to match "condition":{"-and":[ {"-eq":[{"-field":"must_appprove"},"1"]}, {"-eq":[{"-field":"modality"},"MG"]} ]}, "values":["third"] }, { # some http-request parameter value "condition":{"-eq":[{"-param":"some_param"},"13"]}, "values":["third","fourth"], }, { # user_account.role.name check with sql-like matching "condition":{"-ilike":[{"-role":"name"},"some_rol%"]}, "values":["fifth"], }, { # user_account.role.uuid check "condition":{"-eq":[{"-role":"id"},"cf443e65-0115-42a3-87e9-6ee2c569da86"]}, "values":["fourth"], }, { # match by customfield "condition":{"-eq":[{"-field":"customfield-cf443e65-0115-42a3-87e9-6ee2c569da86"},"42"]}, "values":["first"], }, { # else "condition":{}, # same as 1 == true "values":["third","fourth"] } ], "third":[ { # condition "condition":{"-eq":[{"-field":"modality"},"MR"]}, "values":["fourth"] }, { # unmatched like slashed specsymbols against 'third' "condition":{"-ilike":[{"-field":"study_status"},"t\_i\%d"]}, "values":["third"], }, { # case-sensitive check fails "condition":{"-like":[{"-field":"study_status"},"_H%d"]}, "values":["third"], }, { # ok, with case-insensitive check against 'third' "condition":{"-ilike":[{"-field":"study_status"},"_H%d"]}, "values":["first"], }, # if not matched anything before, then cant change status ] }; If value is set to non-empty array and there is no role permission study_status_tags_ignore_rules, then the "values" for the first matched "condition" are applied to:
|
|
study_status_tags_ignore_rules_on_set | Flag | 0 | 0 | 0 | 0 | 0 | If it is set, the behaviour of the above setting study_status_tags_rules is ignored only in /study/status/set | |
study_status_timer_suspensive_tags | Text | 0 | 0 | 0 | 0 | 0 | Comma separated list of study status tags that stop the study status timer. This setting is of lower priority than study_status_timer_starting_tags | |
study_status_timer_starting_tags | Text | 0 | 0 | 0 | 0 | 0 | Comma separated list of study status tags that start the study status timer. This setting is of higher priority than study_status_timer_suspensive_tags | |
study_status_timer_reset_on_status_change | Text | 0 | 0 | 0 | 0 | 0 | JSON array of ["status-from","status-to"] pairs which triggers timer reset. Example: [["first","second"],["second","fifth"]] . |
|
study_status_timer_visible_at_last_status | Flag | 0 | 0 | 0 | 0 | 0 | 0 | When a study is at its final status show current timer value. Otherwise -1 will be returned |
study_share_use_account_template | Flag | 0 | 0 | 0 | 0 | 0 | 0 | When sharing a study from the account or attaching a new report use the account mail template instead of the destination template |
study_share_email_confirm | Flag | 1 | 0 | 0 | 0 | 0 | 0 | Require double entry of the share email address to confirm it |
disable_thin_study_share_share_code | Flag | 0 | 0 | 0 | 1 | 0 | 0 | Disables /study/share for thin study |
logout_url | Text | 0 | 0 | 0 | 0 | 0 | URL to take the user to on logout | |
filter_homepage_links_by_vanity | Flag | 0 | 1 | 0 | 0 | 0 | 0 | This setting is responsible for filtering homepage_links inside url. |
unbranded_homepage | Flag | 0 | 1 | 0 | 0 | 0 | 0 | This setting shows that old unbranded homepage_links exist. Could be set only by sysadmin. |
consolidate_wrapped_jpegs | Flag | 0 | 1 | 0 | 0 | 0 | 0 | Consolidate JPEGS when wrapping them |
enable_masshiway | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Enable Mass Hiway integration |
default_list_view | Text | 0 | 0 | 0 | 0 | 0 | The default list view. Accepts: namespace ids, 'USER_NAMESPACE' and 'FILTER-*' (* for a filter ID) | |
enable_dicom_tag_customfields | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Enable storage of any DICOM tag in the study customfield |
patients_from_hl7 | Text | 0 | 0 | 0 | 0 | 0 | Generate patients from HL7 ORM messages using the email address in the HL7 field specified in this setting. Use the notation specified in /hl7/transform/add e.g. PID_13_4 . Optionally you can pass a JSON hash formatted as per the patients_from_hl7_adt setting |
|
patients_from_hl7_conditions | Text | 0 | 0 | 0 | 0 | 0 | A condition to generate patients from HL7 ORM messages. Use the notation specified for conditions in /hl7/transform/add | |
patients_from_hl7_adt | Text | 0 | 0 | 0 | 0 | 0 | Generate patients from HL7 ADT messages. The value for this setting is a JSON hash that maps the Patient fields to corresponding HL7 fields. Customfields and Text::Template expressions are supported e.g. {"birth_date":"PID_7","last":"PID_5_1","email":"PID_13_4","first":"PID_5_2","mobile_phone":"PID_13_1","sex":"PID_8", "customfield-UUID":"{$PV1_35_2} to {$PV1_35_4}"} |
|
patients_from_hl7_adt_conditions | Text | 0 | 0 | 0 | 0 | 0 | A condition to generate patients from HL7 ADT messages. Use the notation specified for conditions in /hl7/transform/add | |
patients_from_hl7_siu | Text | 0 | 0 | 0 | 0 | Generate patients from HL7 SIU S12 messages. The setting is formatted as per the patients_from_hl7_adt setting. | ||
patients_from_hl7_siu_conditions | Text | 0 | 0 | 0 | 0 | A condition to generate patients from HL7 SIU S12 messages. Use the notation specified for conditions in /hl7/transform/add | ||
update_patients_from_hl7 | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Update patients from the hl7 messages |
appointments_from_hl7_adt | Text | 0 | 0 | 0 | 0 | 0 | Generate appointments from HL7 ADT messages. The value for this setting is a JSON hash that maps the appointment fields to corresponding HL7 fields. Customfields and Text::Template expressions are supported e.g. {"start_time":"PV1_33","end_time":"PV1_34","customfield-UUID":"{$PV1_35_2} to {$PV1_35_4}" . In addition if the map has a referring_physician key a PHYSICIAN_ALIAS lookup is performed using the value to find the matching user in the account.
| |
appointments_from_hl7_siu | Text | 0 | 0 | 0 | 0 | 0 | Generate appointments from HL7 SIU messages. The setting is a JSON hash in the same format as for appointments_from_hl7_adt setting but with additional keys:
| |
users_from_hl7_mfn | Text | 0 | 0 | 0 | 0 | 0 | Manage users from HL7 MFN messsages. The value for this setting is a JSON hash with the following fields
|
|
orders_from_hl7 | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Generate orders from HL7 ORM messages |
update_order_status_from_hl7 | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Update orders from HL7 ORM messages. orders_from_hl7 is also required |
orders_from_hl7_adt | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Generate orders from HL7 ADT messages |
reload_hl7_customfields_on_phi_update | Flag | 0 | 0 | 0 | 0 | 0 | Re-load custom fields when study is edited | |
allow_multiple_use_of_orders | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Allow an order to be applied to multiple studies |
link_first_study_only | Flag | 0 | 0 | 0 | 0 | 0 | 0 | When using the filter feature in the /link/* API return only the first study created if multiple studies match the filter |
enable_order_lookup_in_approval | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Enable look of HL7 orders to override PHI in the approval process |
study_push_status | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Enable tracking and display of the study push status for the account |
show_study_copy_push_status | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Enable display of the study push status for the account when they push to a destination node in a different namespace |
show_study_same_uid_push_status | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Enable display of the study push status from all study versions with the same UID in the account |
reverse_patient_name | Flag | 0 | 0 | 0 | 1 | 0 | 0 | Define patient name as last^first instead of first^last |
enable_click_to_filter | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Enable the click to filter feature in the UI |
customfields_last_on_search | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Show the customfields last on the study search dialog |
auto_wrap_images | Flag | 0 | 0 | 0 | 1 | 0 | 0 | Auto wrap the images in storage |
reencode_dicom_mp4 | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Re-encode MP4 DICOM |
render_wrapped_pdf | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Convert PDF to viewer format |
render_wrapped_avi | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Convert AVI to viewer format |
render_wrapped_video | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Convert video to viewer format |
render_wrapped_docx | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Convert *.docx files to viewer format |
sr_render_css | Text | 0 | 0 | 0 | 0 | 0 | CSS for SR rendering> | |
upload_one_study | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Only allow one study to be selected and uploaded |
send_oru_instead_of_orm | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Send the study ORU with an embedded link instead of the ORM for the destination_hl7_orm routing action and the /study/send/hl7 action |
radreport_branding_from_phi_namespace | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Get the radreport branding from the PHI namespace instead of the storage namespace |
viewer_anon_annotations_clear | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Clear out the annotations created by an anonymous viewer |
viewer_enable_tap_navigation | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Enable tap to scroll on the viewer |
viewer_hide_thumbnails | Flag | 0 | 0 | 1 | 0 | 0 | 0 | Hide the viewer thumbnails by default |
viewer_hide_thumbnails_datetime | Flag | 0 | 0 | 1 | 0 | 0 | 0 | Hide the viewer datetime on the thumbnails by default |
viewer_hide_ruler | Flag | 0 | 0 | 1 | 0 | 0 | 0 | Hide the viewer annotation ruler |
viewer_hide_active_measurement_info | Flag | 0 | 0 | 1 | 0 | 0 | 0 | Hide the viewer thumbnails by default |
viewer_show_std_dev | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Show the standard deviation calculation |
other_ingress_tags | Text | 0 | 0 | 1 | 0 | 0 | A JSON list of DICOM tags to be used for the OTHER_INGRESS_TAGS anonymization metafield | |
use_other_ingress_tags_server_side | Flag | 0 | 0 | 0 | 1 | 0 | 0 | Use the other ingress tags for server side anonymization as well as client side anonymization |
login_location | Text | 0 | 0 | 0 | 0 | 0 | A JSON hash of location names and session_expire values for the account | |
sso_share_phr_workflow | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Enable the PHR sharing workflow of the account |
sso_share_phr_workflow_options | Text | 0 | 0 | 0 | 0 | 0 | JSON hash to configure the SSO PHR sharing workflow. The hash can contain the following keys
|
|
sso_second_opinion_workflow | Text | 0 | 0 | 0 | 0 | 0 | JSON hash to configure the SSO second opinion workflow. The hash must contain a key called namespace_id with the value the UUID of the second opinion namespace. An optional key called data_map contains a hash of field names and the SAML attribute to lookup for the field name, this information will be passed to the UI to populate the second opinion form. e.g. {"data_map":{"customfield-83873415-38ab-4100-9a83-235664771cd3":"validated","date_of_birth":"dob"},"namespace_id":"2433468e-96e5-452d-b1e1-b91551425dd8"} |
|
add_oru_report_to_study | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Add the report for ORU HL7 messages to the study if the account has an hl7_template |
create_thin_study_from_oru | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Create a thin study from the ORU if the ORU does not match any existing studies |
create_thin_study_from_orm | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Create a thin study from the ORM if the ORM does not match any existing studies |
create_thin_study_from_oru_study_uid | Text | 0 | 0 | 0 | 0 | 0 | Get the study uid for the create_thin_study_from_oru or create_thin_study_from_orm feature from this hl7 field .e.g. OBX_5_1 |
|
create_thin_study_from_hl7_data_map | Text | 0 | 0 | 0 | 0 | 0 | A JSON hash that has field names for the /study/add command as the keys and the values are the HL7 field specification to get the value from e.g. {"referring_physician":"OBX_5_1"} . This map will be applied to thin studies created via the create_thin_study_from_oru or create_thin_study_from_orm settings to futher populate the thin study with values from the HL7
| |
accession_number_for_study_uid | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Allow the study_uid to be set to the accession number when a study is added and then update with the real study_uid on study acquisition |
ignore_blank_accession_number | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Ignore a blank or empty accession number from storage |
study_stat_filter | Text | 0 | 0 | 0 | 0 | 0 | A JSON array to specify the "stat" studies filter for the account. The first element is a customfield UUID and the second element is the "stat" value. This condition is evaluated on each study modification to set it's stat_filter flag. DEPRECATED. Use type=calculated customfield with name= stat_filter to set calculate rules. See /customfield/add for details. |
|
refresh_data_on_reshare | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Refresh the integration key and customfields on a re-share of a study |
force_reload_load_dicom_tag | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Force a reload of the load_dicom_tag customfields from the DICOM for all downstream versions of a study on a new notify |
study_status_timer | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Enable the study status timer feature |
max_link_studies | Text | 100 | 0 | 0 | 0 | 0 | 0 | Maximum number of studies allowed in an anonymous link or link integration |
update_study_status_in_all_versions | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Update the study status in all versions of the study |
athena_subscribe_orders | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Subscribe to orders from Athena healthcare. In addition to this switch the account needs the following named customfields created and populated.
|
athena_unsolicited_namespace | Text | 0 | 0 | 0 | 0 | 0 | The UUID of the namespace that will invoke the Athena unsolicited orders workflow. This extends the /study/find/order API to search for the patient in Athena for studies in the namespace. The patient_name for the search must have both a first and last name and the study birth date must match the birth date in Athena. It has the same customfield requirements as the athena_subscribe_orders setting. | |
athena_orders_filter | Text | 0 | 0 | 0 | 0 | 0 | A JSON hash of order field names and the regular expression it must match to be processed as an order .e.g. {"description":"/XRAY/"}
|
|
allow_user_password_for_account_login | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Authenticate against both the account_password and user password when logging in using an account_alias |
welcome_password_reset_token_ttl | Number | 0 | 0 | 0 | 0 | 0 | 0 | Reset tokens generated for welcome messages are valid for so many seconds |
ip_whitelist | Text | 0 | 1 | 0 | 0 | 1 | Restrict logins to the specified network or IP address e.g. 195.114.80/24,38.32.26.106/32 A CSV list can be used to specify multiple networks. This is only applied to users who solely belong to the account | |
link_external_whitelist | Text | 0 | 0 | 0 | 0 | 0 | Restrict external links access to the specified network or IP address. Further documentations is in the External links page. | |
load_ack_as_hl7 | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Load the ACK from a delivered study HL7 message back into the system as an incoming HL7 message |
add_on_invite | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Modify the /user/invite behavior to automatically add the user to the account if they are already on the system |
invite_ttl | Number | 0 | 0 | 0 | 0 | 0 | 0 | Account user invites are valid for so many seconds |
duplicate_study_check | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Check for a duplicate study on upload |
disable_duplicate_study_upload | Flag | 0 | 0 | 0 | 1 | 0 | 0 | Disable upload of a duplicate study by uid across account |
must_approve_duplicate_study_uid | Flag | 0 | 0 | 0 | 1 | 0 | 0 | Require approval of a study if the same study_uid already exists in the namespace |
must_approve_on_update_if_duplicate_study_exists | Flag | 0 | 0 | 0 | 1 | 0 | 0 | Require approval on each update of a study if the same study_uid already exists in the namespace |
study_field_validate | Text | 0 | 0 | 1 | 0 | 0 | JSON hash {"$field":{"validate":"REGEX","hint":"STR","validate_error":"STR"},...} similar to /customfield/add's options.{validate,hint,validate_error}. Regexp is matched for /study/approve and /study/set if study is approved or field is not empty. Validation is checked only for provided keys in hash. Each STR should be non-empty string. |
|
study_set_unapproved_allow_bypass_required_fields | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Enable partial_save for /study/set to bypass empty required customfields. |
force_new_study_on_upload | Flag | 0 | 0 | 0 | 1 | 0 | 0 | On upload create a new UID for the study if it already exists in the namespace |
save_original_to_pre_anon_cf | Flag | 0 | 0 | 0 | 1 | 0 | 0 | For client side anonymization save the original values to any pre_anon_* customfields |
add_patientid_to_hl7_query_retrieve | Flag | 0 | 0 | 0 | 0 | 1 | 0 | Add the MRN to the query retrieve triggered via a HL7 message |
max_match_study_hl7 | Number | 100 | 0 | 0 | 0 | 0 | 0 | Maximum number of studies to match against an HL7 message |
include_orm_in_study_find_order | Flag | 1 | 0 | 0 | 0 | 0 | 0 | Include ORM messages when search for orders in /study/find/order |
include_adt_in_study_find_order | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Include ADT messages when search for orders in /study/find/order |
include_only_latest_adt_in_study_find_order | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Include just one ADT message (the most recent) when searching for orders in /study/find/order |
include_only_latest_order_when_searching_by_accession_in_study_find_order | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Include just one order (the most recent) when searching for orders by accession number in /study/find/order |
include_only_latest_order_per_accesion_number_when_searching_by_mrn_in_study_find_order | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Include one order (the most recent) per accession number when searching for orders by MRN in /study/find/order |
include_only_latest_order_per_accesion_number_when_searching_by_patient_name_in_study_find_order | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Include one order (the most recent) per accession number when searching for orders by patient name in /study/find/order |
study_find_order_latest_in_progress | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Include only orders with status=IN_PROGRESS(IP,SC) for ORM/ADT in /study/find/order. This filter is applied before include_only_latest* |
include_manual_orders_in_study_find_order | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Include orders created in Ambra through the API when search for orders in /study/find/order |
use_namespace_name_on_upload_request | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Use the upload namespace name instead of the requestors name and email for upload requests |
confirm_before_upload | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Require the user confirm that they are authorized to upload the study |
study_status_timer_attributes | Text | 0 | 0 | 0 | 0 | 0 | The JSON for color coding studies based on a timer | |
enable_patient_portal | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Enable the patient portal feature |
expose_patient_portal | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Make a patient portal publicly visible |
patient_portal_options | Text | 0 | 0 | 0 | 0 | 0 | JSON hash to configure native patient portal options. An optional key called source_namespace contains a namespace UUID (or an array of namespace UUIDs), this namespace will be searched for studies to share with a patient, other account namespaces will be ignored. | |
patient_portal_limit_hl7 | Number | 0 | 1 | 0 | 0 | 0 | 0 | The number of ORU reports visible in the patient portal |
require_mrn_for_patient_portal | Flag | 0 | 1 | 0 | 0 | 0 | 0 | Require a MRN when searching for patients in the portal |
eshare_on_patient_portal_login | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Unshare all studies and then share patient's studies in the portal on a patient login |
enable_thin_retrieve_in_patient_portal | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Allow retrieving of thin studies in the patient portal |
ignore_mrn_on_thin_retrieve | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Ignore MRN on thin retrieve |
allow_portal_pin_to_dup_addresses | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Allow the patient portal pin to be send to duplicate patient emails or phone numbers |
hide_patient_portal_email_regex | Text | 0 | 0 | 0 | 0 | 0 | A regular expression to hide matching email addresses from the patient portal access screen | |
use_link_on_patient_portal_share | Text | 0 | 0 | 0 | 0 | 0 | The uuid of a link that will be duplicated and emailed when a patient shares a study via email. The link must be a STUDY_VIEW link and have a study_id which will be replaced by the shared study id | |
suppress_new_patient_share_event | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Suppress the emails for the share of existing studies when a new patient is created |
suppress_all_patient_emails | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Suppress all emails to the patients |
suppress_new_report_event_in_phr_for_patients | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Make sure a patient will not get twin new_report emails as a patient and as a PHR namespace user |
study_search_modifiers | Text | 0 | 0 | 0 | 0 | 0 | The JSON hash to change to default study searching behavior
e.g. {"patientid":"equals"} will make the MRN an exact match,
{"accession_number":"like"} will make accession number a partial match |
|
study_edit_reason | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Require a reason for a PHI update |
radreport_sign | Text | 0 | 0 | 0 | 0 | 0 | A JSON hash holding the information for signing a radreport | |
passwdqc | Text | 0 | 0 | 0 | 0 | 0 | The specification string for a passwdqc check against proposed passwords for account users | |
passwd_regexp | Text | 0 | 0 | 0 | 0 | 0 | A JSON list of regular expressions to match against the proposed password for account users. All regular expression must match to allow the password to be used. | |
include_patientid_in_hl7_match | Flag | 1 | 0 | 0 | 0 | 1 | 0 | Match HL7 message to studies by both the accession number and the MRN (patientid - (0010,0020)) |
include_patientid_other_in_hl7_match | Flag | 0 | 0 | 0 | 0 | 1 | 0 | Match HL7 message to studies by both the accession number and the patientid_other value (0010,1000) |
mwl_search_is_cfind | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Use a cfind instead of a MWL query for the MWL searching workflow |
mwl_search_is_cfind_all_rows | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Return all rows instead of 1 if mwl_search_is_cfind is set |
mwl_filter_if_matching_study | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Exclude orders with a matching study for /order/sps/find MWL queries |
force_download_of_attachments | Flag | 0 | 0 | 0 | 0 | 0 | 0 | All attachments must be downloaded before they can be opened |
show_radreport_in_all_namespaces | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Show radreports on all versions of the study |
enable_radreport_attestation | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Require electronic signing of radreport |
enable_radreport_lock_reading | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Enables mechanism "only one report in a study can be edited at the moment". Look /study/lock?type=RADREPORT |
csrf_cookie_samesite_none | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Enable SameSite=None attribute for CSRF cookies set in /link/redirect |
disable_csrf_on_links | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Disable the CSRF cookie for /link/redirect |
disable_link_session | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Disable the /link/session API call for the account |
report_view_phr_delay | Text | 0 | 0 | 0 | 0 | 0 | A setting to delay a study report exposure in patient's portal. A delay can be expressed in a number of minutes to delay or a number of work hours with suffix 'wh', possible setting's formats:
| |
account_time_zone | Text | 0 | 0 | 0 | 0 | 0 | 0 | A timezone for the account. Used for date and time calculations. |
work_hour_matrix | Text | 0 | 0 | 0 | 0 | 0 | 0 | A JSON list of lists which makes up a matrix 7 by 24 of work hours for the account. 1s mark work hours, 0s mark non-work hours, tailing zeroes are optional. The first index is for day of week (0 means monday), the second is for day hour (0 means 00:00-01:00am). |
study_view_phr_delay | Text | 0 | 0 | 0 | 0 | 0 | A setting to delay studies visibility in patient's portal. See format description for report_view_phr_delay | |
link_defaults | Text | 0 | 0 | 0 | 1 | 0 | A JSON hash of the default link add values for the UI | |
upload_settings | Text | 0 | 0 | 0 | 1 | 0 | A JSON hash of the upload settings | |
hl7_fetch_filter | Text | 0 | 0 | 0 | 0 | 0 | A transform condition expression (see /transform/add for format) to match against the HL7 message. Only fire a query retrieve if the message matches the condition | |
account_hl7_map | Text | 0 | 0 | 0 | 0 | 0 | A JSON hash mapping the value in MSH_3 or MSH_5 to another account uuid. The hash key is an HL7 message field, the value can be an comma separated list of account uuids, a hash with account_id and node_id(optional) keys or a list of hashes. The HL7 message will be attached to the mapped account and a node will be replaced with the given one. The special hash key _HL7_FIELD_ can be used to set a different place to get the value .e.g. MSH_6_1 This can only be set by a sysadmin or support user |
|
duplicate_account_hl7_map | Text | 0 | 0 | 0 | 0 | 0 | A JSON hash in the same format as the account_hl7_map setting. The HL7 message will be duplicated to all the mapped accounts with nodes replaced by the corresponding ones. This can only be set by a sysadmin or support user | |
report_csv_download_concat | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Export all CSV rad reports into one CSV file |
update_all_studies | Text | 0 | 0 | 0 | 0 | 0 | JSON array of the field names that should be synced across all copies of the study in the account e.g. ["patient_name","patientid","customfield-UUID"] |
|
batch_encode_cine | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Use slower batched rendering for producing cine files from series; use only if older OS/browser combination prevents viewing regular cine files |
encapsulate_wrapped_pdf | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Storage setting for DICOM encapsulated PDF's |
compress_audio_recordings | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Compress audio recordings in the browser before sending them to storage |
upload_hold | Number | 0 | 0 | 0 | 0 | 0 | 0 | Upload hold time in storage. This is used if the namespace doesn't have an explicit hold time |
namespace_child_study_defaults | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Propagate study default values for parent child namespace setups |
compress_audio_recordings | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Compress audio in the browser before uploading |
study_search_require_regexp | Text | 0 | 0 | 0 | 0 | 0 | A JSON hash of regexp to apply to the study_search_require_* field checks. The keys are the field names and the values are the regexp e.g. {"patient_name":"/^\\\w{3}/"}
| |
query_retrieve_require_regexp | Text | 0 | 0 | 0 | 0 | 0 | A JSON hash of regexp to apply to the /destination/search and /destination/search/mwl calls. The keys are the field names and the values are the regexp e.g. {"patient_name":"/^\\\w{3}/"}
| |
query_retrieve_require_regexp_mwl | Text | 0 | 0 | 0 | 0 | 0 | A JSON hash of regexp to apply to the /destination/search/mwl calls instead of the query_retrieve_require_regexp. The keys are the field names and the values are the regexp e.g. {"patient_name":"/^\\\w{3}/"}
| |
query_retrieve_auto_reject_period_in_days | Number | 0 | 0 | 0 | 0 | 0 | Number of days after which a /destination/search result is automatically removed from the activity list. Defaults to 0 meaning that search results are not removed automatically. | |
query_retrieve_require_criteria_min | Number | 0 | 0 | 0 | 0 | 0 | Minimal number of search criteria for /destination/search Default is 1 | |
enable_drchrono | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Enable the drchrono integration |
exclude_load_dicom_tag | Flag | 1 | 0 | 0 | 0 | 0 | 0 | Do not sync customfields with the load_dicom_tag flag enabled back to the storage DICOM |
auto_fill_patient_in_activity | Flag | 1 | 0 | 0 | 0 | 0 | 0 | Auto fill the patient name when using the MWL or Find Orders features in the Activities queue |
report_from_hl7 | Text | 0 | 0 | 0 | 1 | 0 |
A JSON hash that specifies the message type as the key and directions to extract the report as the value. The base64 encoded report will be extracted from message and be linked with the associated studies.
SR and attachment types of reports are supported. Possible values for the JSON hash are the hl7 field/subfield as string (for pdf attachment reports only) or an object with the following keys (both report types are supported):
{"ORU":"OBX-12_5_5"} , {"ORU":{"report_type":"SR"}} , {"ORU":{"report_type":"attachment", "field": "OBX-12_5_5"}}
|
|
hl7_use_attachment_file_name | Text | 0 | 0 | 0 | 0 | 1 | 0 | A string which indicates the field and subfield of the HL7 OBX segment with an attachment that defines the attachment file name; e.g. OBX_3_3 would indicated the third field and third subfield. If a file name is not found in the indicated field, a default file name is used instead: hl7_report_${id}.pdf . The file name is truncated to 128 characters (the .pdf extension not counted). If the setting is undefined or a zero length string we don't look for a filename and just use the default naming template (this is the default for this setting). |
upload_select_none | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Require selecting studies to upload when multiple studies are added |
link_external_referer | Text | 0 | 0 | 0 | 0 | 0 | Limit access to /link/external to the specific referer. The referer can be a regexp to match multiple referers | |
link_external_whitelist | Text | 0 | 0 | 0 | 0 | 0 | IP address whitelist to apply to the /link/external call. Further documentation here | |
link_external_whitelist_all_links | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Flag to apply the link_external_whitelist setting to all links |
link_external_study_list_path | Text | 0 | 0 | 0 | 0 | 0 | The URL (the path part of it) to redirect /link/external calls to for links of STUDY_LIST type. E.g. '/worklist' | |
link_sticky_anon_users | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Stick anonymous users to links via the email_address so they can edit annotations etc. over multiple sessions |
audit_failed_logins | Number | 0 | 0 | 0 | 0 | 0 | 0 | The maximum number of failed logins against the account vanity(s) to hold for up to 30 days. The information on the failed logins is available via the /audit/failedlogins end point. | storage_delete_delay | Number | 0 | 0 | 0 | 0 | 0 | 0 | The number of minutes to delay deleting a study from storage. During the delay the study can be re-injected into the system via the /study/revive call |
radreport_attestation_signature | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Attach the users signature to the radreport |
hide_help_tool | Flag | 0 | 1 | 0 | 0 | 0 | 0 | Hide the help icon from the UI |
mwl_sending_facility_filter | Text | 0 | 0 | 0 | 1 | 0 | A JSON list of sending_facility values to limit node queries for /order/sps/find too. | |
mwl_filter_expression | Text | 0 | 0 | 0 | 1 | 0 | A filter expression to limit node queries for /order/sps/find e.g. filter.order_sps.modality.equals=MR
| |
siu_push | Text | 0 | 0 | 0 | 0 | 0 |
A JSON hash to configure a SIU push workflow.
A SIU^12 message will schedule the patient studies in the destination namespace to be pushed to the destination.
A SIU^15 message will cancel the scheduled push.
The keys and values in the hash are as follows:
|
|
mrn_qr | Text | 0 | 0 | 0 | 0 | 0 |
A JSON hash to configure a MRN query retrieve and PHI fixup workflow. The keys and values in the hash are as follows:
|
|
search_qr | Text | 0 | 0 | 0 | 0 | 0 |
A JSON hash to configure a search, retrieve and PHI fixup workflow. The keys and values in the hash are as follows:
|
|
hl7_delay_route | Text | 0 | 0 | 0 | 0 | 0 |
A JSON hash to configure a routing delay for an HL7 message. The keys and values in the hash are as follows:
|
|
saml_sync_on_create_only | Flag | 0 | 1 | 0 | 0 | 0 | 0 | Sync up the SAML roles and assignments when the user is provisioned. Do not sync up on subsequent logins and the SAML role attribute is not required |
saml_sync_across_vendor_accounts | Flag | 0 | 1 | 0 | 0 | 0 | 0 | Sync up the SAML roles and assignments for all accounts with the same vendor tag as this account has |
saml_strict_filters | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Throw errors as soon as possible when a non-existent study is passed via study_id or study_uid patameters in the SAML login process. |
external_viewer | Text | 0 | 0 | 0 | 0 | 0 |
A JSON hash or an array of hashes to configure an external viewer or a list of viewers for the account. The keys and values in the hash are as follows:
|
|
allowed_viewer_overrides_in_links | Text | 0 | 0 | 0 | 0 | 0 | A comma separated list of viewers to be used in link.viewer field. viewer , proviewer and externl viewers' tags can be listed here |
|
disable_external_viewer_for_links | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Do not use the external viewer for studies viewed via a link by an anonymous user |
default_external_viewer | Text | 0 | 0 | 0 | 0 | 0 | The default external viewer tag corresponding to an external viewer from the external_viewer list |
|
limit_oru_by_storage_namespace | Text | 0 | 0 | 0 | 0 | 0 |
A JSON hash of storage namespaces that ORU messages can be attached to studies in. The hash keys should be the storage namespace uuid and the hash value should be 1. e.g. {"2b14215c-44a8-4aa6-af70-f7b14d5e32ed":1,"587d5b83-917c-4d95-89a8-f537debaf9de":1}
|
|
epic_patient_lookup_info | Text | 0 | 0 | 0 | 0 | 0 |
A JSON hash to with the information needed for the Epic patient lookup workflow. If the lookup does not return a unique patient the study will be routed to the activity queue for approvals. This setting can also be set at the brand level if multiple Epic integrations are needed into an account. The keys and values in the hash are as follows:
|
|
epic_name_format | Text | 0 | 0 | 0 | 0 | 0 |
By default the patient name is formatted as LAST^MIDDLE^FIRST, change it via this setting e.g. LAST^FIRST^MIDDLE
|
|
enable_epic_patient_lookup | Flag | 0 | 0 | 0 | 1 | 0 | 0 | Enable the Epic patient lookup for the account or namespace |
epic_prompt_for_anonymize | Flag | 0 | 0 | 0 | 1 | 0 | 0 | Enable the prompt_for_anonymize feature for uploads via the Epic integration |
epic_upload_match | Text | 0 | 0 | 0 | 0 | 0 |
Enable the upload_match feature on links to restrict studies can that be uploaded. This field should be in the same format as the upload_match link field. The regular expressions can contain the special tags _LAST_,_FIRST_,_DOB_, _MRN_ or _SEX_ which will be replaced with the data from Epic. For example to restrict uploads to studies that match the patients last name and date of birth use the following setting {"(0010,0030)":"/^_DOB_$/","(0010,0010)":"/_LAST_/"}
|
|
cerner_fhir | Text | 0 | 0 | 0 | 0 | 0 |
A JSON hash to with the information needed for the Cerner SMAR on FHIR integration. The keys and values in the hash are as follows:
|
|
cerner_patient_lookup_info | Text | 0 | 0 | 0 | 0 | 0 |
A JSON hash to with the information needed for the Cerner patient lookup workflow. The keys and values in the hash are as follows:
|
|
mrn_and_family_from_saml | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Extract the mrn and associated family members mrn from the SAML assertion for image viewing |
enable_link_charging | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Enable charging for accessing a link |
ai_attach_scanned_docs_as_pdf | Text | 0 | 0 | 1 | 0 | 0 | Settings for the AI question | |
ai_anonymize_study_images | Text | 0 | 0 | 1 | 0 | 0 | Settings for the AI question | |
ai_anonymize_study_hl7 | Text | 0 | 0 | 1 | 0 | 0 | Settings for the AI question | |
anonymize_study_images_google_dlp | Text | 0 | 0 | 1 | 0 | 0 | Settings for the AI question | |
anonymize_study_images_aws_rekognition | Text | 0 | 0 | 1 | 0 | 0 | Settings for the AI question | |
anonymize_study_images_aws_textract | Text | 0 | 0 | 1 | 0 | 0 | Settings for the AI question | |
anonymize_study_images_tensorflow_east | Text | 0 | 0 | 1 | 0 | 0 | Settings for the AI question | |
anonymize_study_images_atalanta | Text | 0 | 0 | 1 | 0 | 0 | Settings for the AI question | |
anonymize_photo_docs | Text | 0 | 0 | 1 | 0 | 0 | Settings for the AI question | |
analyze_regions_pyradiomics | Text | 0 | 0 | 1 | 0 | 0 | Settings for the AI question | |
detect_phi_in_study_images_google_dlp | Text | 0 | 0 | 1 | 0 | 0 | Settings for the AI question | |
ai_classify_hemorrhage_in_study_images | Text | 0 | 0 | 1 | 0 | 0 | Settings for the AI question | |
ai_study_manual_route | Text | 0 | 0 | 1 | 0 | 0 | Settings for the AI question | |
ai_search_and_replace_study_tags | Text | 0 | 0 | 1 | 0 | 0 | Settings for the AI question | |
ai_delete_duplicate_images | Text | 0 | 0 | 1 | 0 | 0 | Settings for the AI question | |
ai_delete_scanned_docs | Text | 0 | 0 | 1 | 0 | 0 | Settings for the AI question | |
ai_anonymize_attached_pdf | Text | 0 | 0 | 1 | 0 | 0 | Settings for the AI question | |
ai_anonymize_attached_pdf_google_dlp | Text | 0 | 0 | 1 | 0 | 0 | Settings for the AI question | |
ai_lookup_billing_code | Text | 0 | 0 | 1 | 0 | 0 | Settings for the AI question | |
ai_run_custom_code_scripts | Text | 0 | 0 | 1 | 0 | 0 | Settings for the AI question | |
ai_bodypart_abdomen_chest_pelvis | Text | 0 | 0 | 1 | 0 | 0 | Settings for the AI question | |
ai_ocr_study_images_google_vision | Text | 0 | 0 | 1 | 0 | 0 | Settings for the AI question | |
ai_anonymize_study_hl7_dwf | Text | 0 | 0 | 1 | 0 | 0 | Settings for the AI question | |
ai_classify_contrast_in_study_series | Text | 0 | 0 | 1 | 0 | 0 | Settings for the AI question | |
ai_categorize_phi_in_study_images_google_vision_then_dlp | Text | 0 | 0 | 1 | 0 | 0 | Settings for the AI question | |
ai_run_custom_code_namespace_scripts | Text | 0 | 0 | 1 | 0 | 0 | Settings for the AI question | |
ai_obfuscate_faces | Text | 0 | 0 | 1 | 0 | 0 | Settings for the AI question | |
enable_namespace_ai_questions | Text | 0 | 0 | 1 | 0 | 0 | A JSON list of enabled namespace AI questions | |
apply_settings_to_owned_phr | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Apply account settings to studies in owned PHR accounts |
cloud_storage_config | Text | 0 | 0 | 1 | 0 | 0 | Configuration for the cloud storage provider | |
enable_doximity_auth | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Enable Doximity login for the account vanity(s) |
enable_google_auth | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Enable Google login for the account vanity(s) |
enable_recaptcha | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Enable recaptcha on join for the account vanity(s) |
suppress_hl7_eom_sep | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Supress the FS separator at the end of HL7 template messages |
no_default_study_date_time | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Do not set a default date and time if the study does not have one |
include_date_in_smart_search | Flag | 0 | 0 | 0 | 0 | 0 | 0 | In a smart search try parse the value as a DOB |
only_this_account_in_vanity | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Only show this account if accessing it via a vanity URL |
require_pin_to_view | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Hide this account when user did not login with 2FA |
pin_required | Flag | 0 | 0 | 0 | 0 | 0 | 1 | Require MFA for account users, overridable at the role level |
sync_user_login_to_account_login | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Sync the user credentials on account_login and account_password when they are added to an account. If they change their password under an account vanity only update the account_password |
include_in_global_purge | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Include this account in global purging rules |
helpscout_beacon_id | Text | 1 | 0 | 0 | 0 | 0 | Account override for the helpscout beacon id | |
sendgrid_key | Text | 0 | 0 | 0 | 0 | 0 | Account Sendgrid API key. This is setting is never displayed after it is set | |
pixel_anonymize_color | Text | 0 | 0 | 1 | 0 | 0 | Set the background color for pixel anonymization | |
priority_notifications | Flag | 0 | 0 | 0 | 1 | 0 | 0 | Prioritize notifications on the storage queue for the account or namespace |
try_update_original_study | Flag | 0 | 0 | 0 | 1 | 0 | 0 | Enable original study updates within the account |
try_update_original_study_from_namespaces | Text | 0 | 0 | 1 | 0 | 0 | Enable study updates for studies shared to these namespaces (comma delimited list of namespace UUIDs). Namespaces from another account are allowed to be listed here. try_update_original_study_to_namespaces should also be enabled appropriately | |
try_update_original_study_to_namespaces | Text | 0 | 0 | 1 | 0 | 0 | Enable study updates for studies shared from these namespaces (comma delimited list of namespace UUIDs). Namespaces from another account are allowed to be listed here. try_update_original_study_to_namespaces should also be enabled appropriately | |
disable_user_days | Number | 0 | 0 | 0 | 0 | 0 | User accounts will be disabled after this number of days | |
see_all_destination_search_in_activity | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Allow users to see all the available destination searches in the activity queue |
multiple_sso_connections | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Support multiple Pingone connections for the account |
mpi_config | Text | 0 | 0 | 0 | 0 | 0 | A JSON hash to with the information needed for the MPI (master patient index) ORM triggered workflow. Each key is the facility code and the value is a configuration hash with the following KV pairs:
|
|
mpi_allowed | Text | 0 | 0 | 0 | 0 | 0 | UUID of the account that is allowed to perform MPI queries into this account | |
study_download_no_reports | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Remove reports from study downloads |
group_local_pushes_by | Text | 0 | 0 | 0 | 0 | 0 | JSON array of fields to form a group by key for local pushes' statuses. The only allowed value for now is "destination_address" | |
set_phantom_on_reload | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Set the study to phantom state on a re-upload |
bundle_notify_destination_search | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Condense email notifications for destination searhes initiated from a bundle |
always_use_services_phi | Flag | 0 | 0 | 0 | 0 | 0 | 0 | On a notify load the latest services phi into the notify payload so that edits to the study after the notify was generated are preserved |
disable_sticky_phi | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Do not make the PHI information sticky so that if the study data changes it is reflected in the UI |
enable_messages_by_study_uid | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Show messages tied to studies with the same UID in the same account |
duplicate_oru_with_study | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Flag to duplicate Hl7 ORU messages when they duplicate a study between accounts |
enable_take_study_feature | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Flag to enable study take feature |
take_study_number_to_take_at_a_time | Number | 1 | 0 | 0 | 0 | 0 | 0 | Number of studies to take by /study/take |
take_study_source_namespace | Text | 0 | 0 | 0 | 0 | 0 | A namespace UUID from which studies will be taken by /study/take | |
take_study_dedup_by_field | Text | study_uid | 0 | 0 | 0 | 0 | 0 | Ordinary study field name or a 'customfield-UUID' used to guarantee study uniqueness in /study/take destination namespace |
take_study_sort_by | Text | 0 | 0 | 0 | 0 | 0 | Prioritize studies to take on /study/take call, for sorting specifications see Sorting | |
take_study_filter | Text | 0 | 0 | 0 | 0 | 0 | Filter studies to take on /study/take call. This should be a JSON object where each key is a filter, see Filters | |
take_study_method | Text | 0 | 0 | 0 | 0 | 0 | Select if studies should be moved or shared with the destination namespace on /study/take call. Possible values are: "move", "share", "share" by default | |
enable_orders_in_worklist | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Flag to show linked studies in orders tab and linked orders in worklist |
study_requestable_accounts | Text | 0 | 0 | 0 | 0 | 0 | A JSON list of account UUIDs that are allowed to request studies from. This can only be set by a sysadmin | |
study_requestable_namespaces | Text | 0 | 0 | 0 | 0 | A comma separated list of namespace UUIDs that the requested account is allowed to share/duplicate studies from by request. | ||
associate_oru_by_original_accession_number | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Flag to associate Hl7 messages with a study using an accession number of another study which the study is split from |
associate_adt_by_mrn_for_push_hl7 | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Flag to associate ADT Hl7 messages with a study using an patientid of the study during the /study/push/hl7 call processing |
require_site_id_for_groups | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Flag to require site_id attribute to be set for groups in the account. site_id must be set on group creation and edits when the flag is set |
default_query_owner_namespace | Text | 0 | 0 | 0 | 0 | 0 | A namespace UUID to be used as a default owning namespace for the queries created (e.g. auto created queries). | |
query_types | Text | 0 | 0 | 0 | 0 | 0 | A JSON list of allowed query types for the account. Each of the query type is defined by a hash, the keys and values in the hash are as follows:
|
|
query_status_tags | Text | 0 | 0 | 0 | 0 | 0 | A JSON list of allowed query statuses for the account. The first status in the list is used as a default status for newly created queries. The Closed status is processed in a special way. Each of the query status is defined by a hash, the keys and values in the hash are as follows:
|
|
trial_communication_plan | Text | 0 | 0 | 1 | 0 | 0 | A JSON list of escalation rules for the account. Every rule is a hash with the condition and action keys. Each of the condition and action is defined by a hash, condition should follow the condition format used by customfield's show_when field.
The topmost HASH condition is interpreted with AND logic. Condition parameters (the fields to be referred in the condition) are as follows:
action are as follows:
|
|
query_auto_upload_to_unqualified_site | Text | 0 | 0 | 0 | 0 | 0 | A JSON hash with the information needed to create an auto query on study upload for an unqualfied site without test_upload named customfield set for the uploaded study. The keys and values in the hash are as follows:
|
|
query_emails_reply_to | Text | 0 | 0 | 0 | 0 | 0 | An email address to be used for the Reply-To email header of the query-related emails sent out by the service | |
iocm_delete_thin_studies | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Flag to delete a thin study if storage recieves an IOCM delete request |
remove_private_tags_on_upload | Flag | 0 | 0 | 0 | 1 | 0 | 0 | Flag to anonymize or remove all private tags from a study in storage |
remove_private_tags_exceptions | Flag | 0 | 0 | 0 | 1 | 0 | 0 | The list of private tags to not remove from a study in storage. E.g. [{"tag":"(0019,1002)", "creator":"Siemens"},{"tag":"(0019,1003)", "creator":"Siemens"}] |
maximum_allowed_download_studies | Number | 10 | 0 | 0 | 1 | 0 | 0 | A number of studies to be included in a patient zip download |
cache_series_level_tags | Flag | 0 | 0 | 0 | 1 | 0 | 0 | Flag to enable series level tags caching in the storage for the dicomweb series metadata call to perform better |
user_pkey_expiration | Text | 0 | 0 | 0 | 0 | 0 | A JSON hash with user public key expiration settings. The keys and values in the hash are as follows:
|
|
namespace_names_globally_unique | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Flag to require every namespace to have a unique name (even Groups, for example, must have different names than Locations) |
return_matching_manual_routes_for_study | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Flag to return only matching manual routes with studies |
patient_portal_event_new_report_notify_type | Text | 0 | 0 | 0 | 0 | 0 | 0 | Notification type for this event. Either sms or email, default is email. Can be overriden in /patient/set. Note: If there is no valid address (email or mobile) for that type, then the opposite type is used. |
patient_portal_event_share_notify_type | Text | 0 | 0 | 0 | 0 | 0 | 0 | Notification type for this event. Either sms or email, default is email. Can be overriden in /patient/set. Note: If there is no valid address (email or mobile) for that type, then the opposite type is used. |
study_push_sms_on_in_process_options | Text | 0 | 0 | 0 | 1 | 0 | It is JSON Hash like {"timeout":0,"interval":60,"limit":3,"users":["uuid1","uuid2",...]} . Bold digit is default value for each key.users is array of uuids of users in that account having mobile phone. Error is returned on /account/set if these conditions are not fulfilled, with setting error_subtype= study_push_sms_on_in_process_options:$type:$uuid where $type is one of USER_NOT_IN_ACCOUNT,USER_NOT_FOUND,USER_NOT_IN_ACCOUNT,MOBILE_NOT_FOUND .If timeout==0, then this feature is disabled. If enabled and for some node there is any study_push_status.status=~ I|P hanging for more than timeout minutes, then each interval minutes sms is sent to users defined in options for this node account. Sending stops when no study_push_status.status=~I|P for that destionation or limit sms messages were sent.Sms template is study_push_sms_on_in_process_timeout. Note: timeout cant be set to nonzero if users is empty. The counter is reset after 2*(timeout + interval*limit) minutes since last added study_push. Then it could be reactivated on next hanging /study/push.It is triggered on node::monitor, so if interval<15 minutes, it will be triggered later on next node::monitor check. |
|
enforce_field_flags_server_side | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Enforce study field flags in the API. H (hidden) and O (read-only) fields will be discarded on edits, H (hidden) fields will be hidden from the API output |
allow_circular_parent_child_updates | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Flag to restore old behavior of original change being re-applied to the original study of a circular parent-child loop |
sync_external_roles_on_login | Text | 0 | 0 | 0 | 0 | 0 |
A JSON hash to configure synchronization of external user roles and assignments when the user logs in. SAML role mappings apply.
|
|
ingress_filter | Text | 0 | 0 | 1 | 0 | 0 | JSON hash for gateway filters. | |
enable_ingress_filter | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Enable web_uploader_ingress_filter. |
web_uploader_ingress_filter | Text | 0 | 0 | 1 | 0 | 0 | JSON array for UI ingress filters. | |
study_hl7_message_cleanup_days | Number | 31 | 0 | 0 | 0 | 0 | 0 | How many days to keep outbound HL7 messages for /hl7/outbound/list. |
publish_study_ready_for_unapproved_studies | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Publish READY events on the study websocket channels on study ingress event if the study needs an approval |
synchronous_phi_updates | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Flag to update storage PHI data synchronous for the account studies |
account_disabled | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Flag to indicate this account is disabled. Only sysadmin can switch it. 1-disabled in services, 2-UI flag, skipped in services. If disabled, then those permissions are suppressed for not sysadmin|support:
|
enhanced_security | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Flag to enable enhanced security |
non_diagnostic_mode | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Flag to enable the non-diagnostic mode |
Study AI questions
AI questions can be run for a study against the AI neural network stack via the /study/question call. The following questions are available:Question | Description | Account setting |
---|---|---|
which_body_part | Which body part is the study showing | |
has_scanned_docs | Does the study have any scanned documents in it | |
delete_scanned_docs | Delete the scanned documents | ai_delete_scanned_docs |
attach_scanned_docs_as_pdf | Deletes AI identified scanned images within the study | ai_attach_scanned_docs_as_pdf |
anonymize_study_images | Anonymize the study images | ai_anonymize_study_images |
anonymize_study_images_google_dlp | Anonymize the study images using Google DLP | ai_anonymize_study_images_google_dlp |
anonymize_study_images_tensorflow_east | Anonymize the study images using Tensorflow EAST | ai_anonymize_study_images_tensorflow_east |
analyze_regions_pyradiomics | Analyze regions on the study using Pyradiomics | ai_analyze_regions_pyradiomics |
detect_phi_in_study_images_google_dlp | Detect PHI presence in the study images using Google DLP | ai_detect_phi_in_study_images_google_dlp |
anonymize_study_images_aws_rekognition | Anonymize the study images using AWS Rekognition | ai_anonymize_study_images_aws_rekognition |
anonymize_study_images_aws_textract | Anonymize the study images using AWS Textract | ai_anonymize_study_images_aws_textract |
anonymize_study_hl7 | Anonymize the study HL7 | ai_anonymize_study_hl7 |
qureai_detect_brain_bleeds | Detect brain bleeds | |
qureai_detect_chestxray | Read chest xray | |
study_manual_route | Runs routing rules | ai_study_manual_route |
search_and_replace_study_tags | Performs search and replace rules on all images in the study | ai_search_and_replace_study_tags |
delete_duplicate_images | Deletes images which values are identical to specified DICOM tages | ai_delete_duplicate_images |
analyze_study_hl7 | Takes hl7 report and analyzes it | |
anonymize_attached_pdf | Takes all pdf attachments from a study and removes all PHI from them | ai_anonymize_attached_pdf |
anonymize_attached_pdf_google_dlp | Takes all pdf attachments from a study and removes all PHI from them | ai_anonymize_attached_pdf_google_dlp |
lookup_billing_code | Takes study description and populates billing code mapping | ai_lookup_billing_code |
run_custom_code_scripts | Implements ability to run custom code. | ai_run_custom_code_scripts |
bodypart_abdomen_chest_pelvis | Detects if the study image(s) contain(s) abdomen, chest and/or pelvis | ai_bodypart_abdomen_chest_pelvis |
ocr_study_images_google_vision | Performs OCR using Google Vision API and returns detected text | ai_ocr_study_images_google_vision |
ai_anonymize_study_hl7_dwf | Detects if text contains PHI and replaces it with asterisk chars | anonymize_study_hl7_dwf |
classify_contrast_in_study_series | Detects the presence of contrast in a series of study images | ai_classify_contrast_in_study_series |
categorize_phi_in_study_images_google_vision_then_dlp | Detects the presence of phi in study images and assigns categories to results | ai_categorize_phi_in_study_images_google_vision_then_dlp |
classify_hemorrhage_in_study_images | Takes a batch of images and predicts hemorrhages in each image | ai_classify_hemorrhage_in_study_images |
obfuscate_faces | Automatically recognizes coordinates of faces within images in the study and blocks them out | ai_obfuscate_faces |
Namespace AI questions
AI questions can be run for a namespace against the AI neural network stack via the /namespace/question call. The following questions are available:Question | Description | Account setting |
---|---|---|
run_custom_code_namespace_scripts | Implements ability to run custom code. | ai_run_custom_code_namespace_scripts |
Session commands
Description | Log in a session |
---|---|
URL | /session/login |
Parameters |
(email || account_name && account_login) • The users email address or the account name and account_login (DEPRECIATED - Use login and vanity) login • The user account_login or email address vanity • The account vanity name. (optional) (password || use_pkey) • The password for password authentication or a flag to use public key authentication new_password • Change the password or account password to this. (optional) validate_session • If you would like to validate an existing session rather than create a new one pass in the sid of the session to valid in this parameter. It will check if the session is still valid and the credentials are for the session. (optional) location • Login location. (optional) |
Returns |
status • OK sid • The session id uuid • The users uuid name • The users name training_todo • Flag if the user is required to do training 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 sign_required • Flag if a signature is required to validate this session terms_md5 • MD5 of the accepted terms of service privacy_md5 • MD5 of the accepted privacy policy indicator_md5 • MD5 of the accepted indications of use patientid • The primary patientid this session is for (optional) is_proxy • Flag if this is a proxy 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 INVALID_CREDENTIALS • Invalid user name or password. LOCKOUT • Too many failed attempts BAD_PASSWORD • The new_password does not meet the password requirements PASSWORD_RESET • The password needs to be changed VALIDATION_FAILED • The session validation failed WHITELIST_LOCKOUT • Login blocked by the account whitelist BLOCKED • The user is blocked from the system DISABLED • The user is disabled and needs to be /user/enabled to allow access BRAND_NOT_ALLOWED • The user is limited to some brands to login with allowed_login_brands setting SSO_ONLY • The user can only login via SSO ONLY_ONE • You can pass either the password or use_pkey flag, not both PUBLIC_KEY_EXPIRED • The public key has expired and needs to be changed |
Notes |
|
Description | Get the user information for the session owner |
---|---|
URL | /session/user |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) settings • A JSON list of user settings set via /setting/set to return (optional) account_id • Account id to get user_account's settings (optional) |
Returns |
status • OK namespaces • An array of the namespaces the user can access. Each namespace holds the following fields. * uuid • Id of the namespace * name • Description of the namespace sid_md5 • The md5 of the sid accelerator_used • Flag if the session is running through an accelerator session_expire • The session expiration value in minutes settings • JSON hash of the requested settings (optional) The rest of the fields are the same as /user/get |
Errors |
NOT_FOUND • The account is not found |
Notes |
Description | Get the permissions information for the session owner |
---|---|
URL | /session/permissions |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) (account_id || namespace_id) • Either the account or namespaces to get the users permissions for |
Returns |
status • OK The permissions for the user in this account |
Errors | |
Notes |
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_id or namespace_id was not found |
Description | Log out a session |
---|---|
URL | /session/logout |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) |
Returns |
status • OK logout_url • URL to take to use to. Optional and driven by the account setting |
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 sid was not found |
Notes |
Description | Enable cross site request forgery checking for the session |
---|---|
URL | /session/csrf/enable |
Parameters |
sid • The session id redirect_uri • The URL to redirect to account_id • UUID of the account to override the enhanced_security flag |
Returns | A redirect to the passed URL which sets an httponly CSFR token cookie |
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_URL • The URL must be a relative URL NOT_FOUND • The account_id can not be found NOT_MEMBER • The user is not a member of the account |
Notes |
|
Description | Get a uuid from the server |
---|---|
URL | /session/uuid |
Parameters | |
Returns |
status • OK uuid • A uuid |
Errors | |
Notes |
Description | Redirect to the brands OAuth provider |
---|---|
URL | /session/oauth/start |
Parameters | |
Returns | A redirect to the brand OAuth provider |
Errors |
NO_OAUTH • OAuth is not setup for the associated brand |
Notes |
Description | Register and login with oauth |
---|---|
URL | /session/oauth |
Parameters |
code • The OAuth code vendor • The OAuth vendor (doximity|google|brand) redirect_uri • The redirect_uri used to get the code parameter |
Returns |
status • OK sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The users uuid name • The users name new_user • Flag if they are a new 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 INVALID_CODE • Invalid code INVALID_VENDOR • Invalid vendor OTHER_OAUTH • The user is already setup to OAuth via another vendor MISSING_INFORMATION • The response from the OAuth provider is missing either the email, first_name or last_name fields NO_OAUTH • OAuth is not setup for the associated brand AUTH_FAILED • OAuth failed or a user id was not returned |
Notes |
Description | Get an OAuth token to access other API calls |
---|---|
URL | /session/oauth/token |
Parameters |
grant_type • The grant type, set to client_credentials client_id • The users email address client_secret • The users password duration • The number of seconds the token is valid for (optional and defaults to 3600 with a maximum value of 86400) |
Returns |
status • OK access_token • The access token created_at • Timestamp when the token was created expires_in • Number of seconds before the token expires token_type • The token type bearer |
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 LOCKOUT • Too many failed attempts AUTH_FAILED • Authentication failed |
Notes |
|
Description | Validate the PIN for the session |
---|---|
URL | /session/pin |
Parameters |
sid • The session id pin • The PIN remember_device • Remember the device as trusted. (optional) |
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_SID • Invalid sid INVALID_PIN • Invalid PIN PIN_EXPIRED • The PIN has expired |
Notes |
|
Description | Validate the session using a public key |
---|---|
URL | /session/sign |
Parameters |
sid • The session id signature • The Base64-encoded signature |
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_SID • Invalid sid INVALID_SIGNATURE • Invalid signature PUBLIC_KEY_EXPIRED • The public key has expired and needs to be changed |
Notes |
|
Description | Return the TTL for the sid |
---|---|
URL | /session/ttl |
Parameters |
sid • The session id |
Returns |
status • OK ttl • Number of minutes the session has to live |
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 EXPIRED • Expired |
Notes |
User commands
Description | Join the system |
---|---|
URL | /user/join |
Parameters |
first • First name last • Last name password • Password email • Email share_code • Share code they are joining from (optional) captcha_response • Response from captcha (optional) customfield-{CUSTOMFIELD_UUID} • Custom field(s) defined in the vanity_registration_customfields account setting (optional) |
Returns |
status • OK uuid • uuid of the 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 DUPLICATE_EMAIL • The email is already used LOCKOUT • Too many joins attempt BAD_PASSWORD • Password needs to be at least 8 characters long, contain at least two numbers, contain at least two characters and can't be one of your last three passwords CAPTCHA_FAILED • Verifying the captcha failed |
Notes |
|
Description | Add a user |
---|---|
URL | /user/add |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) account_id • Account id to check for the user_edit permission first • First name last • Last name password • Password email • Email alt_emails • Comma-separated list of additional emails (optional) mobile_phone • SMS phone number |
Returns |
status • OK uuid • uuid of the user namespace_id • The association namespace uuid |
Permission | user_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 DUPLICATE_EMAIL • The email is already used BAD_PASSWORD • Password needs to be at least 8 characters long, contain at least two numbers, contain at least two characters and can't be one of your last three passwords NOT_PERMITTED • You are not permitted to do this INVALID_EMAIL • Enter valid alt_emails addresses |
Notes |
|
Description | Get the information for a user |
---|---|
URL | /user/get |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The users uuid (optional). Uses the session user if not passed account_id • Account id if you are trying to get a user other than yourself (optional) public_key_format • The desired public key format to be returned rfc4716, by default (rfc4716|openssh|asis) (optional) |
Returns |
status • OK uuid • The user uuid name • The user name first • First name last • Last name email • Email alt_emails • Comma-separated list of additional emails mobile_phone • SMS phone number namespace_id • Namespace for the user sysadmin • Is the user a sysadmin support • Is the user a support user is_anonymous • Is this an anonymous user event_share • Notify the user on a share into the users namespace event_share_unapproved • Notify the user when a study is shared with the namespace and requires an approval event_approve • Notify the user on a approval needed into the users namespace event_upload • Notify the user on an upload into the users namespace event_upload_fail • Notify the user on a failed upload into the users namespace event_harvest • Notify the user on a harvest into the users namespace event_copy • Notify the user when a study is copied into the users namespace event_new_report • Notify the user when a report is attached in the users namespace event_report_remove • Notify the user when a report is removed in the users namespace event_study_comment • Notify the user when a comment is attached to a study in the users 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 users namespace 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_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 share_code • The share code of the user share_description • The share description of the user time_zone • The users time zone abbreviation pin_required • Flag to require a PIN for every login allowed_login_brands • A comma separated list of Brand UUIDs that the user is allowed to use when logging in npi • NPI number terms_md5 • MD5 of the accepted terms of service privacy_md5 • MD5 of the accepted privacy policy indicator_md5 • MD5 of the accepted indications of use last_login • Timestamp of the last login event_incoming_study_request • Notify the user when they get an incoming study request public_key • A public key for public key authentication ui_json • JSON for UI settings. Possible options:
|
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 user can not be found NOT_PERMITTED • You are not permitted to access this user record |
Notes |
Description | Set the information for a user |
---|---|
URL | /user/set |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The users uuid (optional). Uses the session user if not passed first • First name (optional) last • Last name (optional) email • Email (optional) alt_emails • Comma-separated list of additional emails (optional) mobile_phone • SMS phone number (optional) password • User password (optional) old_password • Previous user password (optional) share_code • The share code of the user (optional) share_description • The share description of the user (optional) account_id • Account id if you are trying to set a user other than yourself (optional) cc_token • The credit card token to attach to the users account (optional) time_zone • The users time zone name as per https://www.postgresql.org/docs/9.1/static/view-pg-timezone-names.html (optional) pin_required • Flag to require a PIN for every login (optional) allowed_login_brands • A comma separated list of Brand UUIDs that the user is allowed to use when logging in (optional) terms_md5 • MD5 of the accepted terms of service privacy_md5 • MD5 of the accepted privacy policy indicator_md5 • MD5 of the accepted indications of use public_key • A public key for public key authentication (optional) ui_json • JSON for UI settings (optional) possible options:
|
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 user can not be found NOT_PERMITTED • You are not permitted to edit this user record. The error_subtype will hold the specific reason permission was denied. DUPLICATE_EMAIL • The email is already used BAD_PASSWORD • Password needs to be at least 8 characters long, contain at least two numbers, contain at least two characters and can't be one of your last three passwords INVALID_TOKEN • The cc_token is invalid INVALID_PASSWORD • The old_password does not match the current password INVALID_TIME_ZONE • The time zone is invalid INVALID_EMAIL • Enter valid alt_emails addresses |
Notes |
|
Description | Delete yourself from the system |
---|---|
URL | /user/delete |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) |
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_PERMITTED • You are not permitted to do this IN_USE • The user is a sid user for a webhook |
Notes |
Description | A lost password request |
---|---|
URL | /user/password/lost |
Parameters |
email • The email inbox • Flag to specify an alternate link directing to /inbox/password.html rather than /password.html (optional) |
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 LOCKOUT • Too many failed attempts |
Notes | An email with a link to reset the password will be mailed to the user |
Description | Reset the users password |
---|---|
URL | /user/password/reset |
Parameters |
token • The reset token password • The new password |
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_TOKEN • The token is invalid BAD_PASSWORD • Password needs to be at least 8 characters long, contain at least two numbers, contain at least two characters and can't be one of your last three passwords |
Notes |
Description | Send a welcome message to the user |
---|---|
URL | /user/welcome |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) email • The email of the user to welcome account_id • Id of the account to welcome them to link • URL to reset the password at. The reset token will be appended to the link |
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 user can not be found INVALID_LINK • The link needs to be a https link within the site domain |
Notes |
|
Description | Get a list of the accounts the user can join |
---|---|
URL | /user/join/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 accounts • An array of the accounts. Each account holds the following fields. * uuid • Id of the account * name • Name 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 |
Notes | This will only return accounts the user is not a member of |
Description | Request to join an account |
---|---|
URL | /user/join/request |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) account_id • Id of the account to request to join |
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 account can not be found NOT_PERMITTED • You are not permitted to join this account ALREADY_MEMBER • The user is already a member of the account |
Notes |
Description | Invite a user to join an account |
---|---|
URL | /user/invite |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) account_id • The account to invite the person too role_id • The role to give the user (optional) email • Email address of the person to invite link • URL to accept the invitation at. The invitation id will be appended to the link link_already • URL to accept the invitation at for an existing user on the system. The invitation id will be appended to the link (optional) groups • A JSON hash with the keys the group uuids to add the user to and the values the role uuid for the group (optional) locations • A JSON hash with the keys the location uuids to add the user to and the values the role uuid for the location (optional) global • Flag if this is a global user (optional). global_role_id • uuid of a role to be used in groups and locations when the global user is added to them, this role overrides groups'/locations' default roles (optional). |
Returns |
status • OK uuid • Id of the invitation |
Permission | account_user_invite |
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 group or location can not be found. The error_subtype holds the uuid of the not found item ROLE_NOT_FOUND • The role can not be found. The error_subtype holds the uuid of the not found item NOT_PERMITTED • You are not permitted to invite users to this account INVALID_EMAIL • Enter a valid email address ALREADY_EXISTS • They are already in this account INVALID_JSON • The field is not in valid JSON format. The error_subtype holds the name of the field NOT_HASH • The field is not a JSON hash. The error_subtype holds the name of the field INVALID_LINK • The link needs to be a https link within the site domain ROLE_NAMESPACE_MISMATCH (INCOMPATIBLE_ROLE) • The role cannot be used for the account, data contains role_id and namespace_id ROLE_NAMESPACE_MISMATCH (GLOBAL_USER_WITH_RESTRICTED_ROLE) • They are adding a global user with a role restricted to group/location and there is a group/location in the account, data contains role_id, namespace_id |
Notes |
|
Description | Accept an invitation |
---|---|
URL | /user/invite/accept |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • Id of the invitation |
Returns |
status • OK |
Errors |
NOT_FOUND • The invitation was not found ACCEPTED • The invitation was already accepted ALREADY_EXISTS • They are already in this account |
Notes | The user will be added to the account and the invitor will be emailed a notification. |
Description | Get the namespace the user has access to |
---|---|
URL | /user/namespace/list |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) account_id • Only return the namespaces for this account (optional) plus_phr • Flag to include the PHR account as well if account_id was specified (optional) name_and_id_only • Flag to return only the the namespace name and uuid (optional) filter.* Filters (optional) |
Returns |
status • OK namespaces • An array of the namespaces. Each namespace holds the following fields. * uuid • Id of the namespace * name • Description of the namespace * type • Type of object the namespace is linked to (account_id|group_id|location_id|user_id) * type_uuid • Id of the object the namespace is linked to * permissions • The users permissions in the namespace * role_id • The role's UUID or null if was not used any for permissions calculation * role_name • The role's name or null if was not used any for permissions calculation * settings • The namespace settings * destinations • An array of the destinations the users can push to. Each object in the array has the same fields as the /destination/get command. * events • A hash of the event flags for the namespace. * share_code • The share code of the namespace. * study_count • The total number of approved, non-phantom studies in the namespace * thin_study_count • The total number of thin studies in the namespace * search_threshold • The total number of studies that should trigger a switch over to a search rather than a list UI * must_approve • Flag if studies must be approved * must_approve_upload • Flag if uploaded studies must be approved * must_approve_harvest • Flag if harvested studies must be approved * must_approve_move • Flag if moved studies must be approved * must_approve_copy • Flag if copied studies must be approved |
Errors | |
Notes |
Description | Get the users event flags for a namespace |
---|---|
URL | /user/event |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) namespace_id • Id of the namespace to set the flags on uuid • Return event flags for this user, not current user (optional) |
Returns |
status • OK event_share • Notify the user on a share into the namespace (optional) event_share_unapproved • Notify the user when a study is shared with the namespace and requires an approval (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_copy • Notify the user when a study is copied 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 an account 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) |
Errors |
NOT_FOUND • The namespace or user can not be found NOT_MEMBER • The user is not a member of this namespace NOT_PERMITTED • You are not allowed to get user's event flags INVALID_FLAG • An invalid flag was passed. The error_subtype holds the name of the invalid flag |
Notes |
|
Description | Set the users event flags for a namespace |
---|---|
URL | /user/event/set |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) namespace_id • Id of the namespace to set the flags on uuid • Return event flags for this user, not current user (optional) event_share • Notify the user on a share into the namespace (optional) event_share_unapproved • Notify the user when a study is shared with the namespace and requires an approval (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_copy • Notify the user when a study is copied 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_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 |
Errors |
NOT_FOUND • The namespace or user can not be found NOT_MEMBER • The user is not a member of this namespace NOT_PERMITTED • You are not allowed to set user's event flags INVALID_FLAG • An invalid flag was passed. The error_subtype holds the name of the invalid flag |
Notes |
|
Description | Set and get the shared secret for a token authenticator |
---|---|
URL | /user/token |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) generate • Flag to generate the shared secret for a token authenticator and enable TOKEN PIN authentication delete • Flag to delete the shared secret and disable TOKEN PIN authentication |
Returns |
status • OK enabled • Flag if token authentication is enabled secret • The base32 encoded shared secret for the authenticator (only returned if the generate flag is passed) |
Errors |
NOT_PERMITTED • You are not permitted to do this ALREADY_DONE • A shared secret was already generated |
Notes |
Description | Forget all trusted (remembered) devices for the user |
---|---|
URL | /user/device/clear |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) |
Returns |
status • OK |
Errors | |
Notes |
Description | Set and get the users signature |
---|---|
URL | /user/signature |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) signature • Set the users signature to this base64 encoded image |
Returns |
status • OK signature • The users signature as a base64 encoded image |
Errors | |
Notes |
Description | Enable a disabled user |
---|---|
URL | /user/enable |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • User uuid disable • A flag indicating whether to disable the user (optional) |
Returns |
status • OK |
Errors |
NOT_FOUND • The user can not be found NOT_PERMITTED • You are not permitted to enable this user NOT_DISABLED • The user is not disabled NOT_ENABLED • The user is not enabled |
Notes |
|
Description | List the users that use public key authentication |
---|---|
URL | /user/pubkey/list |
Parameters |
uuid • The node id serial_no • The serial number of the node public_key_format • The desired public key format to be returned, rfc4716 by default (rfc4716|openssh|asis) (optional) |
Returns |
status • OK users • An array of the users. Each object holds the following fields: email, public_key |
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 node can not be found |
Notes |
|
Description | Set the public key for a user |
---|---|
URL | /user/pubkey/set |
Parameters |
uuid • The node id serial_no • The serial number of the node email • The users email public_key • A public key for public key authentication |
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 node or user can not be found NO_USER_PUBKEY • The user does not use public key authentication |
Notes | The user must have a public key already to set the new public key |
Study commands
Description | Add a study from a node |
---|---|
URL | /study/add |
Parameters |
(sid || uuid && serial_no) • Either the sid or the node id and serial number (study_uid || study_uid && storage_namespace && phi_namespace) • The study uid if node authentication or the storage triplet if sid authentication thin • Flag to add this as a thin study (optional) patient_name • DICOM tag (0010,0010)(optional) patientid • DICOM tag (0010,0020) (optional) patient_sex • DICOM tag (0010,0040) (optional) patient_birth_date • DICOM tag (0010,0030) (optional) patient_birth_time • DICOM tag (0010,0032) (optional) patient_age • DICOM tag (0010,1010) (optional) patient_weight • DICOM tag (0010,1030) (optional) patient_address • DICOM tag (0010,1040) (optional) patient_size • DICOM tag (0010,1020) (optional) patientid_other • DICOM tag (0010,1000) (optional) patient_name_other • DICOM tag (0010,1001) (optional) patient_phone • DICOM tag (0010,2154) (optional) patient_additional_history • DICOM tag (0010,21B0) (optional) study_description • DICOM tag (0008,1030) (optional) accession_number • DICOM tag (0008,0050) (optional) patient_birthname • DICOM tag (0010,1005) (optional) patient_mother_birthname • DICOM tag (0010,1060) (optional) medical_record_locator • DICOM tag (0010,1090) (optional) patient_religious_preference • DICOM tag (0010,21F0) (optional) patient_comments • DICOM tag (0010,4000) (optional) patient_current_location • DICOM tag (0038,0300) (optional) patient_institution_residence • DICOM tag (0038,0400) (optional) patient_ethnic_group • DICOM tag (0010,2160) (optional) patient_occupation • DICOM tag (0010,2180) (optional) study_date • DICOM tag (0008,0020) (optional) study_time • DICOM tag (0008,0030) (optional) modality • DICOM tag (0008,0060) (optional) referring_physician • DICOM tag (0008,0090) (optional) image_count • Images in the study (optional) attachment_count • Attachment count (optional) integration_key • Integration key for the study (optional) destination_ae_title • The destination aetitle (optional) source_ae_title • The source aetitle (optional) node_id • If this is a thin study the gateway UUID to retrieve it from can be specified (optional) customfield-{CUSTOMFIELD_UUID|DICOM_TAG} • Custom field(s), see notes in /study/add (optional) |
Returns |
status • OK uuid • The study uuid engine_fqdn • The FQDN of the engine to store the study on |
Permission |
study_upload or study_thin |
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_INTEGER • An invalid integer was passed. The error_subtype holds the name of the invalid integer INVALID_FLAG • An invalid flag was passed. The error_subtype holds the name of the invalid flag INVALID_CREDENTIALS • The sid or node credentials are invalid ALREADY_EXISTS • The study already exists. The error_subtype holds the uuid of the study and error_data holds the data from the /study/get call INVALID_CUSTOMFIELD • Invalid custom field(s) name or value were passed. The error_subtype holds an array of the error details NOT_PERMITTED • You are not permitted to do this NAMESPACE_NOT_FOUND • The namespace was not found NOT_FOUND • The error_subtype holds the name of the key for the object that can not be found PENDING_RESTORE • The study is getting retrieved from the archive. Try this call again after a delay VALIDATION_FAILED • Some keys are not validated against study_field_validate. The error_subtype holds list of those keys. |
Notes |
|
Description | Update a study |
---|---|
URL | /study/set |
Parameters |
(sid || uuid && serial_no) • Either the sid or the node id and serial number (study_id || study_uid || study_uid && storage_namespace && phi_namespace) • The uuid of the study if sid authentication or the study_uid if node authentication or the storage triplet if you want a future set patient_name • DICOM tag (0010,0010) (optional) patientid • DICOM tag (0010,0020) (optional) patient_sex • DICOM tag (0010,0040) (optional) patient_birth_date • DICOM tag (0010,0030) (optional) patient_birth_time • DICOM tag (0010,0032) (optional) patient_age • DICOM tag (0010,1010) (optional) patient_weight • DICOM tag (0010,1030) (optional) patient_address • DICOM tag (0010,1040) (optional) patient_size • DICOM tag (0010,1020) (optional) patientid_other • DICOM tag (0010,1000) (optional) patient_name_other • DICOM tag (0010,1001) (optional) patient_phone • DICOM tag (0010,2154) (optional) patient_additional_history • DICOM tag (0010,21B0) (optional) study_description • DICOM tag (0008,1030) (optional) accession_number • DICOM tag (0008,0050) (optional) patient_birthname • DICOM tag (0010,1005) (optional) patient_mother_birthname • DICOM tag (0010,1060) (optional) medical_record_locator • DICOM tag (0010,1090) (optional) patient_religious_preference • DICOM tag (0010,21F0) (optional) patient_comments • DICOM tag (0010,4000) (optional) patient_current_location • DICOM tag (0038,0300) (optional) patient_institution_residence • DICOM tag (0038,0400) (optional) patient_ethnic_group • DICOM tag (0010,2160) (optional) patient_occupation • DICOM tag (0010,2180) (optional) study_date • DICOM tag (0008,0020) (optional) study_time • DICOM tag (0008,0030) (optional) modality • DICOM tag (0008,0060) (optional) referring_physician • DICOM tag (0008,0090) (optional) image_count • Images in the study (optional) attachment_count • Attachment count (optional) integration_key • Integration key for the study (optional) destination_ae_title • The destination aetitle (optional) source_ae_title • The source aetitle (optional) node_id • If this is a thin study the gateway UUID to retrieve it from can be specified (optional) customfield-{CUSTOMFIELD_UUID|DICOM_TAG} • Custom field(s), see notes in /study/add (optional) use_upload_permission • Flag to use the upload permissions for the permissions check (optional) find_order_uuid • UUID of the search record used to modify the study (optional) seconds_to_ingest • Flag to re-calculate the seconds_to_ingest metric (optional) parital_save • Flag to bypass unset required customfields. Works only if account setting study_set_unapproved_allow_bypass_required_fields is set (optional) |
Returns |
status • OK uuid • The study uuid |
Permission |
study_edit or study_thin or study_upload if the study was previously uploaded and the use_upload_permission flag was set |
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 study can not be found NOT_PERMITTED • You are not permitted to edit this study INVALID_CUSTOMFIELD • Invalid custom field(s) name or value were passed. The error_subtype holds an array of the error details PENDING_MUST_MATCH • The study is pending a must match approval from storage and can not be edited in this state VALIDATION_FAILED • Some keys are not validated against study_field_validate. The error_subtype holds list of those keys. |
Notes |
|
Description | Delete a study |
---|---|
URL | /study/delete |
Parameters |
(sid || node_id && serial_no) • Either the sid or the node id and serial number (uuid || study_uid && storage_namespace && phi_namespace) • The study uuid or the storage triplet |
Returns |
status • OK |
Permission | study_delete |
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 NOT_PERMITTED • You are not permitted to delete this study |
Notes |
|
Description | Get a list of the studies the user can see |
---|---|
URL | /study/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) template • A JSON hash with name, account_id and language of the template to return (optional) extra • Flag to return extra data as detailed in /study/get (optional) customfield_h • Flag to return a customfield hash as detailed in /study/get (optional) permissions_diff • Flag to return only the permissions that differ from the namespace permissions (optional) fields • A JSON list of the study fields to return (optional) limit.hl7 • Limit the length of Hl7 list to return. Zero means no limit (optional) |
Returns |
status • OK page • The pagination status hash studies • An array of the studies the user has. Each object holds the following same fields as the /study/get call template • The template HTML if a template was requested |
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_TEMPLATE • The template is invalid the error_subtype holds the detail |
Notes |
|
Description | Get a count of the studies the user can see |
---|---|
URL | /study/count |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) filter.* Filters (optional) nocache • Skip cached result, if it exists in cache (optional) cached • Return result only if caching enabled (optional) |
Returns |
status • OK count • The study count |
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 DISABLED • The endpoint is disabled. Either (parameter cached and system flag study_count_cached_disabled are set) OR system flag study_count_disabled is set |
Notes |
|
Description | PACS mode. Get a count of the studies the user can see per each filter set |
---|---|
URL | /study/count_by_filter |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) filter.* • Filters (optional) filter_uuids • JSON array of filter.uuid (optional) |
Returns |
status • OK count_by_filter • JSON hash of pairs {filter.uuid => $count} |
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_FIELD • Invalid filter_uuids JSON array of uuids |
Notes |
|
Description | Get a list of the studies the node can see |
---|---|
URL | /study/cfind |
Parameters |
uuid • The node id serial_no • The serial number of the node entire_account • Flag to search the entire account rather than just the nodes namespace. (optional) is_available • Flag to limit search to studies that are ready for viewing. (optional) filter.* Filters (optional) page.* Pagination (optional) |
Returns |
status • OK page • The pagination status hash studies • An array of the studies the user has. Each object holds the following same fields as the /study/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 NOT_FOUND • The node can not be found RUNNING • This cfind is currently in process |
Notes | The list is sorted by creation order from most recent to oldest |
Description | Get a study |
---|---|
URL | /study/get |
Parameters |
(sid || node_id && serial_no) • Either the sid or the node uuid and serial number (uuid || study_uid && storage_namespace && phi_namespace) • The study uuid or the storage triplet full_hl7 • Flag to return the full hl7 record instead of just the uuid (optional) limit.hl7 • Limit the length of Hl7 list to return. Zero means no limit (optional) permissions_diff • Flag to return only the permissions that differ from the namespace permissions (optional) extra • Flag to return extra data as detailed below (optional) customfield_h • Flag to return a customfield hash as detailed below (optional) shared_from_account_name • Flag to return shared_from_account_name (optional) fields • A JSON list of the study fields to return (optional) |
Returns |
status • OK uuid • Study uuid star • The study star flag study_uid • Study uid in storage phi_namespace • PHI namespace phi_namespace_name • PHI namespace description storage_namespace • Storage namespace storage_namespace_name • Storage namespace description engine_fqdn • The FQDN of the storage engine the study is stored on source • Source of the study (upload|harvest|share|copy) source_ae_title • The source aetitle for the harvesting destination_ae_title • The destination aetitle for the harvesting must_approve • A flag that the study must be approved or rejected before it is generally visible in the namespace share_message • If this study was shared this field will exist and hold any share message phantom • Is this a phantom study, a phantom study is one that is loading into storage thin • Is this a thin study, a thin study is not in storage and needs to be query retrieved to be loaded into storage patient_name • DICOM tag (0010,0010) patientid • DICOM tag (0010,0020) patient_sex • DICOM tag (0010,0040) patient_birth_date • DICOM tag (0010,0030) patient_birth_time • DICOM tag (0010,0032) patient_age • DICOM tag (0010,1010) patient_weight • DICOM tag (0010,1030) patient_address • DICOM tag (0010,1040) patient_size • DICOM tag (0010,1020) patientid_other • DICOM tag (0010,1000) patient_name_other • DICOM tag (0010,1001) patient_phone • DICOM tag (0010,2154) patient_additional_history • DICOM tag (0010,21B0) study_description • DICOM tag (0008,1030) accession_number • DICOM tag (0008,0050) patient_birthname • DICOM tag (0010,1005) patient_mother_birthname • DICOM tag (0010,1060) medical_record_locator • DICOM tag (0010,1090) patient_religious_preference • DICOM tag (0010,21F0) patient_comments • DICOM tag (0010,4000) patient_current_location • DICOM tag (0038,0300) patient_institution_residence • DICOM tag (0038,0400) patient_ethnic_group • DICOM tag (0010,2160) patient_occupation • DICOM tag (0010,2180) study_date • DICOM tag (0008,0020) study_time • DICOM tag (0008,0030) modality • DICOM tag (0008,0060) referring_physician • DICOM tag (0008,0090) transfer_syntax_uid • DICOM tag (0002,0010) image_count • Images in the study attachment_count • Attachment count size • Size of the study in bytes compressed_size • Compressed size of the study in bytes integration_key • Integration key for the study permissions • A hash of the study_* type permissions for this study patient_id • If the user has patient_view permissions in the account this field will exist and hold the patient uuid created • Created datetime stamp of the study updated • Updated datetime stamp of the study study_status • The study status. Is null for just created study. study_status_tags • The available study status tags. (This is only returned if they have study_status_edit permissions on the study and the study is not locked by another user) study_status_tags_default • The "default" value for study_status. It is calculated as (account.settings.study_status_tags_default || account.settings.study_status_tags[0]) study_status_timer • The study status timer value in seconds. A value of -1 means the timer has completed and this is only returned if the study_status_timer account flag is on. is_dicom_wrapped • Is the study a wrapped DICOM is_locked • Is the study locked by another user is_frozen • Is the study frozen is_being_retrieved • Is this a thin study in the process of being retrieved is_cloudpacs • Is the study backed by the Intelerad long term archive shared_from_account_name • First found external account's name in shared_from chain. See notes below. (This is only returned if parameter shared_from_account_name is set) activity_id • The associated activity, if exists has_external_viewer • A flag if the study has an external viewer option stat_filter • Is "stat" flag set. It is the value of name= stat_filter customfield if such exists.seconds_to_ingest • The number of seconds it took to ingest the study. Blank if the study was ingested before this feature was added, -1 if we don't have enough data to calculate this accelerators • A JSON list of accelerator FQDN the study may be on (only returned if the probe_for_accelerator flag is on) viewer_link • Link to the study viewer. If the account has SAML SSO the link will be to the SSO entry point, if not it will be a direct link. hl7 • An array of the hl7 objects associated with this study. Each object has the following fields or is the complete record from /hl7/get if the full_hl7 flag is passed * uuid • Id of the object tags • An array of user tags associated with this object (This is only returned if the object has tags) customfields • An array of the custom fields associated with this study. Each object has the following fields (This is only returned if the study has custom fields) customfields_DICOM • An array of the DICOM tag custom fields associated with this study. Each object has the following fields (This is only returned if the study has DICOM tag custom fields) * tag • DICOM tag * value • Value of the custom field radreports • An array of the radreports associated with this study. Each object has the fields in the /radreport/description call routes • An array of the manual routes that the user can run against this study. Each object has the following fields (This is only returned if manual routes are available) * uuid • Route id * name • Route name * capture_email • Does an email need to be captured to run this rule - flag meetings • An array of the meetings the user can join. Each object has the fields in /meeting/get call (This is only returned if meetings are available) comments • An array of the study comments, order from most recent too earliest. This is only returned if the user has the study_comment_view permissions. Each object has the fields in the /study/comment/get call. study_push_status • An array of the study push status. This is only returned if the study_push_status account setting is enabled. Each object has the following fields. * destination_uuid • Destination Id * destination_name • Destination Name * destination_type • Destination Type * status • The status, either 'I'n process, pe'N'ding, 'S'uccessful, 'P'artial or 'F'ailed * status_reason • Additional detail for the status * image_count • The image count for the push * updated • Date and time the status was last updated * created • Date and time the push was created * group_key • The string key used to group push statuses. Statuses that group: local pushes (by destination address), copy statuses, same UID statuses * is_local • The flag indicating if the corresponding push was local --- The following fields are only returned if the extra flag is specified --- created_at • Date and time the record was created primary_created • Date and time the record for the primary study was created account_name • Name of the account the study is in created_by_name • Name of the user who created the study created_by_email • Email of the user who created the study created_by_mobile_phone • Mobile phone number of the user who created the study created_by_type • Type of user who created the study created_for_name • Name of the user who the study was created for created_for_type • Type of user the study was created for hipaa_name • HIPAA compliant version of the patient name first_name • Patient first name last_name • Patient last name study_status • Study status value message_count • Number of messages associated with this study last_access • Date and time the study was last accessed in storage query_count • Number of open queries associated with this study --- The following field is only returned if the customfield_h flag is specified --- customfield_h • A JSON hash of the customfield values keyed by the UUID --- The following field is only returned if the enable_orders_in_worklist account setting is enabled --- order_count • Number of orders linked with this study (having the same accession_number). This field is filterable. --- The following field is only returned if the enable_radreport_lock_reading account setting is enabled --- radreport_locked_user_id • Only if there is some locked radreport for this study. Contains uuid of lock owner. |
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 NOT_PERMITTED • You are not permitted to access this study |
Notes | If shared_from_account_name is provided: if the study is not shared, then field shared_from_account_name is not returned; if there is no external account in shared_from chain, then shared_from_account_name contains account's name for provided study. |
Description | Get the users permissions on the study |
---|---|
URL | /study/permissions |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The study uuid |
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_view • The permission flag setting study_report_view_only_own • The permission flag setting study_report_hl7_view • 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_status_tags_ignore_rules • The permission flag setting radreport_edit • The permission flag setting radreport_view • The permission flag setting radreport_view_only_own • The permission flag setting meeting_edit • The permission flag setting meeting_view • The permission flag setting link_direct • The permission flag setting link_edit • The permission flag setting link_edit_pin • The permission flag setting link_view • 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 |
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 NOT_PERMITTED • You are not permitted to access this study |
Notes |
Description | Check if a study exists in a namespace |
---|---|
URL | /study/exists |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) (uuid || study_uid && storage_namespace && phi_namespace || study_uid && account_id) • The study uuid, the storage triplet, or the study uid and account id |
Returns |
status • OK exists • Flag if the study exists |
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 | Push a study to a destination |
---|---|
URL | /study/push |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The study uuid destination_id • The destination to push it to batch_no • The batch number if pushing to a CD burner ping • Flag to send the ping job back in this call |
Returns |
status • OK (uuid|ping) • Id of the push job or the ping job if the ping flag was sent |
Permission | study_push |
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 or destination can not be found NOT_PERMITTED • You are not permitted to push this study PENDING • There is already a pending push job NOT_READY • The study is not ready for pushing |
Notes |
Description | Push a study HL7 message to a destination |
---|---|
URL | /study/push/hl7 |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The study uuid destination_id • The destination to push it to hl7_template_id • The HL7 template to use (optional) hl7_id • HL7 message to use in the template (optional) once • Flag that this message should only be sent a maximum of one time (optional) |
Returns |
status • OK uuid • Id of the push job |
Permission | study_push |
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, destination, template or hl7 message can not be found NOT_PERMITTED • You are not permitted to push this study NO_HL7_SUPPORT • The destination doesn't support HL7 |
Notes |
|
Description | Returns a PDF report for the study HL7 message |
---|---|
URL | /study/pdf/hl7 |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The study uuid hl7_id • HL7 message to create the PDF report for |
Returns | Streams back the PDF report |
Permission | study_report_hl7_view |
Errors |
[404] • Not found |
Notes |
|
Description | Fax a PDF report for the study's HL7 message |
---|---|
URL | /study/fax/hl7 |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The study uuid hl7_id • HL7 message to create the PDF report for number • The fax number to send the PDF report to |
Returns |
status • OK |
Permission | study_report_hl7_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 study or HL7 message can not be found INVALID_PHONE • The fax number is invalid PDF_FAILED • The PDF report failed to generate |
Notes |
|
Description | Send a PDF report for the study to email |
---|---|
URL | /study/attachment/email |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The study uuid attachment_guid • JSON array of attachment guids email • The comma-separated list of emails |
Returns |
status • OK |
Permission | study_report_view study_report_share_email |
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 • Incorrect attachment_guid - not JSON array NOT_FOUND • The study or attachment message can not be found INVALID_EMAIL • The email is invalid NOT_ENABLED • The report mailing out is not enabled for the account NOT_PERMITTED • You are not permitted to do it NOT_READY • The study is not ready PDF_FAILED • The PDF report failed to generate, some storage error |
Notes |
Description | Request a cmove of a study |
---|---|
URL | /study/cmove |
Parameters |
uuid • The node id serial_no • The serial number of the node study_uid • The study uid aetitle • The aetitle to send to detail • Additional detail to send on the /node/ping (optional) ping • Flag to send the ping job back in this call |
Returns |
status • OK (uuid|ping) • Id of the push job or the ping job if the ping flag was sent |
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 node can not be found STUDY_NOT_FOUND • The study can not be found DESTINATION_NOT_FOUND • The destination can not be found PENDING • There is already a pending push job NOT_READY • The study is not ready for pushing RETRIEVE • A thin study retrieval error. The error_subtype holds further detail |
Notes |
|
Description | Can a node remove a study from local disk cache |
---|---|
URL | /study/node/can/remove |
Parameters |
uuid • The node id serial_no • The serial number of the node study_uid • The study uid |
Returns |
status • OK can_remove • Flag if the node can remove the study from local cache |
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 node can not be found STUDY_NOT_FOUND • The study can not be found |
Notes |
Description | Who can they share a study |
---|---|
URL | /study/share/who |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The study uuid type • Type of objects you want (account|location|group|user) |
Returns |
status • OK shares • An array of the objects they can share this study with. Each object in the array will have the following fields * uuid • Id of the object * name • Name of the object |
Permission | study_share |
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 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 permitted to share this study |
Notes |
Description | Share a study |
---|---|
URL | /study/share |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) (uuid || study_uid && storage_namespace && phi_namespace) • The study uuid or the storage triplet if you want a future share (account_id || location_id || group_id || user_id || share_code || email || masshiway || rsna || npi || study_request_id) • uuid of the account, location, group, user, study request or share code, email address(es), RSNA, NPI or masshiway recipient to share this study with message • Message to the recipient (optional) integration_key • Integration key to tag the share with (optional) charge_authorized • Flag that the sender authorized charging for this share (optional) charge_modality • Modality of the study the charge was authorized for (optional) customfield-{CUSTOMFIELD_UUID} • Custom field(s) to apply to the shared study (optional) |
Returns |
status • OK |
Permission | study_share |
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 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 permitted to share this study NOT_MATCHED • This study does not match the study request criteria REQUEST_CLOSED • The study request is closed INVALID_PARAMETERS • Only pass a account_id or a location_id or a group_id or a user_id or a share code or an email INVALID_EMAIL • An invalid email was passed for an email share INVALID_NPI • An invalid NPI was passed for a NPI share PHANTOM • This is a phantom study INVALID_JSON • The field is not in valid JSON format. The error_subtype holds the name of the field NOT_HASH • The field is not a JSON hash. The error_subtype holds the name of the field SHARE_FAILED (SAME) • The study can't be shared into the same namespace. SHARE_FAILED (NO_DESTINATION) • The study can't be shared with a deleted object. SHARE_FAILED (DECLINED) • The charge card was declined. SHARE_FAILED (NO_CARD) • The user does not have a card on file. SHARE_FAILED (NO_CHARGE_MODALITY) • The charge modality is required if charge_authorized is set and the charging is by modality. SHARE_FAILED (NO_DUP_SHARE) • The destination namespace has the no_dup_share flag turned on and this study is a duplicate of an existing study in the namespace. SHARE_FAILED (ACCOUNT_DISABLED) • The destination namespace is in disabled account. FORBIDDEN_FIELD • A hidden or read-only customfield was passed. The error_subtype holds the invalid field name. |
Notes |
|
Description | Stop sharing a study |
---|---|
URL | /study/share/stop |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The study uuid (account_id || location_id || group_id || user_id || user_invite_share_id) • uuid of the account, location, group, user or user invitation to stop sharing this study with |
Returns |
status • OK |
Permission | study_share |
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 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 permitted to stop sharing this study INVALID_PARAMETERS • Only pass a account_id or a location_id or a group_id or a user_id |
Notes |
Description | Get the study shares |
---|---|
URL | /study/share/list |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The study uuid name • Flag to return a hash with additional fields: the uuid, name of the object, and an action that created the share (copy|share) (optional) include_indirect_versions • Flag to include indirect study shares in the result (for primary studies only) (optional) include_copies • Flag to include study copies in the result (optional) |
Returns |
status • OK account_id • A list of the account_ids the study is shared with location_id • A list of the location_ids the study is shared with group_id • A list of the group_ids the study is shared with user_id • A list of the user_ids the study is shared with user_invite_share_id • A list of the user invitations the study is shared with |
Permission | study_share |
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 NOT_PERMITTED • You are not permitted to view this list |
Notes |
Description | Approve a study |
---|---|
URL | /study/approve |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The study uuid delay • Number of seconds to delay showing the study as approved and running routing and events on it (optional) must_match • A JSON hash of study field names and values that must match before showing the study as approved and running routing and events on it (optional) |
Returns |
status • OK |
Permission | study_approve |
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 NOT_PERMITTED • You are not permitted to approve this study DELAY_OR_MATCH • You can either delay or match, not both INVALID_DELAY • A delay must be between 0 and 600 seconds INVALID_JSON • The field is not in valid JSON format. The error_subtype holds the name of the field INVALID_FIELD • An invalid must match field was passed. The error_subtype holds the name of the field INVALID_CUSTOMFIELD • Some custom fields are required and not set. The error_subtype holds an array of the error details |
Notes |
|
Description | Reject a study |
---|---|
URL | /study/reject |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The study uuid message • Message to send to the person who shared the study (optional) |
Returns |
status • OK |
Permission | study_approve |
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 NOT_PERMITTED • You are not permitted to approve this study |
Notes |
|
Description | Attach an audit action to a study |
---|---|
URL | /study/audit |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The id of the study (optional if study_uid and storage_namespace are passed) study_uid • The v3 storage uid of the study (optional if uuid is passed) storage_namespace • The storage namespace of the study (optional if uuid is passed) phi_namespace • The phi namespace of the study (optional) action • The audit action (STUDY_VIEW|STUDY_VIEW_REASON|STUDY_EDIT|STUDY_ANONYMIZE|REPORT_UPLOAD|REPORT_REMOVE|REPORT_VIEW|IMAGE_ADDED|IMAGE_UPDATED|IMAGE_DELETED|STUDY_DOWNLOAD|ACCEPTED_NOT_DIAGNOSTIC|CANCELED_NOT_DIAGNOSTIC|AI_ACTION|VIEWER_ACTION|SIGNED_REPORT_ADDENDUM|WEB_UPLOADER_INGRESS_IMAGE_FILTERED) 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 |
|
Description | Set the star flag on a study for the user |
---|---|
URL | /study/star |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The id of the study star • Star flag set on or off (1|0) |
Returns |
status • OK |
Permission | study_star |
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 star this study NOT_FOUND • The study can not be found INVALID_FLAG • An invalid flag was passed. The error_subtype holds the name of the invalid flag |
Notes |
Description | Build a study detailed report |
---|---|
URL | /study/report/detail |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) account_id • Limit to studies in the passed account filter.* Filters (optional) sort_by • Sorting (optional) limit • Maximum size of the report. The default is 30,000 rows. If the report will be bigger than this an error will be returned (optional) |
Returns |
status • OK report_id • The report id |
Permission | study_report_detail |
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 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. |
Description | Build a series detail report for recently acquired studies |
---|---|
URL | /study/report/series |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) namespace_id • Namespace to run the report on hours • Report on studies acquired within the last number of hours limit • Maximum size of the report. The default is 30,000 studies. If the report will be bigger than this an error will be returned (optional) email • Send the report to this email address(es) when it is done |
Returns |
status • OK report_id • The report id |
Permission | study_report_detail |
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 REPORT_ERROR • Unable to start the report |
Notes |
|
Description | Get the viewer settings for the study |
---|---|
URL | /study/viewer/settings |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) (study_id || study_uid && storage_namespace && phi_namespace) • Either the study uuid or the storage triplet |
Returns |
status • OK enable_v2_viewer • Value for the account flag enable_v3_viewer • Value for the account flag enable_viewer_print • Value for the account flag viewer_show_reports • Value for the account flag enable_viewer_export • Value for the account flag viewer_diagnostic_quality • Value for the account flag viewer_diagnostic_quality_always • Value for the account flag viewer_preload_diagnostic_images • Value for the account flag viewer_enable_mpr • Value for the account flag viewer_single_instance_series • Value for the account flag viewer_multiframe_split_method • Value for the account flag viewer_study_page_link_visible • Value for the account flag viewer_study_page_link_url • Value for the account flag viewer_setting_not_diagnostic • Value for the account flag auto_transcode • Value for the account flag auto_transcode_modalities • Value for the account flag viewer_default_mouse_tool • Value for the account flag viewer_link_series • Value for the account flag enable_viewer_toggle_annotations • Value for the account flag enable_dicom_tag_customfields • Value for the account flag radreport_branding_from_phi_namespace • Value for the account flag viewer_anon_annotations_clear • Value for the account flag accession_number_for_study_uid • Value for the account flag viewer_study_enable_cpp_transcoding • Value for the namespace || account flag no_edit_dicom_tags • If enable_dicom_tag_customfields is on this is a JSON list of the DICOM tags that can not be edited accelerators • A JSON list of accelerator FQDN the study may be on (only returned if the probe_for_accelerator flag is on) viewer_config • The viewer configuration JSON |
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 |
Notes |
Description | Get the viewer3 settings for the study |
---|---|
URL | /study/viewer3/settings |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) (study_id || study_uid && storage_namespace && phi_namespace) • Either the study uuid or the storage triplet settings • A JSON list of user settings set via /setting/set to return (optional) |
Returns |
status • OK account_config • The account viewer3_config setting role_config • The role viewer3_config settings user_config • The user viewer3_confing settings accelerators • A JSON list of accelerator FQDN the study may be on (only returned if the probe_for_accelerator flag is on) enable_dicom_tag_customfields • Value for the account flag accession_number_for_study_uid • Value for the account flag viewer_study_page_link_visible • Value for the account flag with any brand override applied no_edit_dicom_tags • If enable_dicom_tag_customfields is on this is a JSON list of the DICOM tags that can not be edited viewer_study_enable_cpp_transcoding • Value for the namespace || account flag non_diagnostic_mode • Value of the corresponding account setting, overridable by the non_diagnostic_mode system flag settings • JSON hash of the requested settings (optional) The rest of the fields are the same as /user/get |
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 |
Notes |
Description | Gets the status and next available tags for a study according to account settings: study_status_tags + study_status_role_tags + study_status_tags_rules and role permission study_status_tags_ignore_rules |
---|---|
URL | /study/status/get |
Parameters |
sid • The session id study_id • Study uuid * • Any other parameters that could be processed by study_status_tags_rules |
Returns |
status • OK study_status • The study status. Is null for just created study. study_status_tags • The available study status tags. (This is only returned if they have study_status_editi> permission on the study and the study is not locked by another user) study_status_tags_default • The "default" value for study_status. It is calculated as (account.settings.study_status_tags_default || account.settings.study_status_tags[0]) |
Permission | study_status_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 study can not be found NOT_PERMITTED • You are not permitted to view the status for this study |
Notes | Now study_status_tags is calculated this way: 1. Original list is account.settings.study_status_tags. 2. If account.settings.study_status_role_tags is non-empty, then all tags which are not set there for provided user_account.role are deleted from the list. 3. If permission study_status_tags_ignore_rules is not set and account.settings.study_status_tags_rules is non-empty, then "next values list" is calculated from that rules and the result is intersection of that two lists. |
Description | Set the status of a study |
---|---|
URL | /study/status/set |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) study_id • Study uuid old • The old study status value new • The new study status value |
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 NOT_PERMITTED • You are not permitted to set the status for this study STALE • The study status you have is stale INVALID_TAG • The study status new value is not a valid value LOCKED • Another user has locked this study SINGLETON • The stage is a singleton stage and the user already has a locked study |
Notes | Possible tags against INVALID_VALUE are calculated as in /study/status/get with one exception - if account.settings.study_status_tags_ignore_rules_on_set is set, then it is calculated with no regard to account.settings.study_status_tags_rules, so only account.settings.study_status_role_tags is relevant. |
Description | Returns a list of the studies the user has locked in the order they were locked |
---|---|
URL | /study/status/locks |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) page.* Pagination (optional) |
Returns |
status • OK page • The pagination status hash studies • An array of the locked studies. Each object holds the following same fields as the /study/get call |
Errors | |
Notes |
Description | Returns the history of the study status changes for the study |
---|---|
URL | /study/status/history |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) study_id • Study uuid |
Returns |
status • OK history • An array of the status changes for the study. Each record has the following fields * date • Date and time of the change * old • The old status value * new • The new status value * seconds • The number of seconds the study was in the old status |
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 NOT_PERMITTED • You are not permitted to view the status for this study |
Notes |
Description | Move the study to another PHI namespace |
---|---|
URL | /study/move |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The study id namespace_id • The namespace id |
Returns |
status • OK |
Permission | study_move |
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 or namespace was not found. NOT_PERMITTED • You are not permitted to move the study to this namespace ALREADY_EXISTS • The study already exists in the destination namespace |
Notes | The user must have share permissions on the namespace they are trying to move the study too. |
Description | Duplicate a study to another namespace |
---|---|
URL | /study/duplicate |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The study id (namespace_id || study_request_id) • The namespace or study request id to duplicate it to include_attachments • Also duplicate attachments (optional) overwrite • Flag if you want to overwrite an existing study in the destination namespace (optional) exclude_phi • Flag to not duplicate PHI data (optional) |
Returns |
status • OK |
Permission | study_duplicate for the study and study_upload for the destination namespace. study_duplicate_request is required additionally when duplicating by request |
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 or namespace was not found. NOT_PERMITTED • You are not permitted to duplicate the study to this namespace ALREADY_EXISTS • The study already exists in the destination namespace FAILED • The storage call failed to run NOT_MATCHED • This study does not match the study request criteria REQUEST_CLOSED • The study request is closed NO_DESTINATION • The study can't be duplicated to a deleted object's namespace |
Notes | This creates a full copy of the study as if it was uploaded into the namespace |
Description | Clone a study optionally changing series/images uids, optionally to specified namespace and uid |
---|---|
URL | /study/clone |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The study id new_series_uids • Flag if you want to generate new uids for the study series (optional) new_image_uids • Flag if you want to generate new uids for the study images (optional) study_uid • The new study uid (optional) phi_namespace • Clone new study to that namespace (optional) |
Returns |
status • OK study_uid • new study uid |
Permission | study_view and study_clone for current study's namespace study_upload for phi_namespace |
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_FLAG • An invalid flag was passed. The error_subtype holds the name of the invalid flag NOT_FOUND • The study or phi_namespace was not found. NOT_PERMITTED • You are not permitted to clone the study. Not enough rights for phi_namespace NOT_AVAILABLE • The study is not available. FAILED • The storage call failed to run ALREADY_EXISTS • There is already study with same uid NOT_IN_ACCOUNT • The phi_namespace is in different account than this study |
Notes |
If both phi_namespace and study_uid are provided, then create a copy of the study in the provided namespace. If only one of those provided, then MISSING_FIELDS. Otherwise this creates a copy of the study with a new UID in the storage namespace. |
Description | Split a study into multiple studies, one per series |
---|---|
URL | /study/split |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The study id namespace_id • The namespace id to split it into no_split • Do not split on the series just create a new study with a study UID |
Returns |
status • OK |
Permission | study_split for the study and study_upload for the destination namespace |
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 or namespace was not found. NOT_AVAILABLE • The study is not available. NOT_PERMITTED • You are not permitted to split the study to this namespace RECENT_NAMESPACE_SPLIT • The study was the result of a split in this namespace within the last 24 hours RUNNING • The split job is currently running |
Notes |
Description | Freeze or thaw a study |
---|---|
URL | /study/freeze |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The study id thaw • Flag to thaw a frozen study |
Returns |
status • OK |
Permission | study_freeze |
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 NOT_AVAILABLE • The study is not available. NOT_PERMITTED • You are not permitted to freeze or thaw the study ALREADY • The study is already frozen or thawed |
Notes |
|
Description | Run a manual routing rule on a study |
---|---|
URL | /study/manual/route |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The study id route_id • The routing rule id email • The email to share with if the rule has a share_email action with the USER_ENTRY token (optional) message • The share message for the email share (optional) |
Returns |
status • OK |
Permission | study_manual_route and route_manual_route |
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 or routing rule was not found. NOT_PERMITTED • You are not permitted to manually route the study ROUTE_NOT_MATCHED • The study does not match the route criteria INVALID_EMAIL • An invalid email address was passed |
Notes |
Description | Find matching HL7 orders for the study |
---|---|
URL | /study/find/order |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The study id (accession_number || patientid || patient_name) • The full or partial accession number, MRN or patient name to search by. If none are passed the studies accession number will be used (optional) page.* Pagination (optional) |
Returns |
status • OK page • The pagination status hash orders • An array of the orders. Each order has the following fields * find_order_uuid • UUID of the search record * accession_number • Accession number * patientid • Patient MRN * patient_name • Patient name * patient_sex • Patient sex * patient_phone • Patient phone * patient_birth_date • Patient birth date * order_datetime • Date and time of the order * study_description • Study description * ordering_provider • Ordering provider sources_used • An array of the sources that were actually looked through for the orders (the source should be configured and an appropriate list of parameters passed in the call). Possible values: orm|adt|athena|epic|manual. |
Permission | study_approve |
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 was not found. NOT_PERMITTED • You are not permitted to find orders for this study |
Notes |
|
Description | Archive a study |
---|---|
URL | /study/archive |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The study id |
Returns |
status • OK |
Permission | study_delete and the study needs to be either the last copy or primary copy |
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 NOT_PERMITTED • You are not permitted to do this ALREADY_THIN • This is already a thin study NO_FRESH_ARCHIVE • A fresh archive copy of the study does not exist |
Notes |
Description | Request that a thin study be retrieved and loaded into storage |
---|---|
URL | /study/retrieve |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The study id |
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 was not found. NOT_PERMITTED • You are not permitted to do this NOT_THIN • This is not a thin study MISSING_INFO • The study needs a study_uid and an accession number NO_QUERY_DESTINATION • No query retrieve destination for a node that creates phantoms is available |
Notes |
Description | Add a comment to the study |
---|---|
URL | /study/comment/add |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) study_id • The study id body • The comment body |
Returns |
status • OK uuid • The comment uuid |
Permission | study_comment_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 study was not found. NOT_PERMITTED • You are not permitted to do this |
Notes |
Description | Delete a study comment |
---|---|
URL | /study/comment/delete |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The comment id |
Returns |
status • OK |
Permission | study_comment_edit and you must be the creator of the comment |
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 comment was not found. NOT_PERMITTED • You are not permitted to do this |
Notes |
Description | Get a study comment |
---|---|
URL | /study/comment/get |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The comment id |
Returns |
status • OK uuid • Comment id study_id • Id of the study the comment is associated with user_id • Id of the user who created the comment user_name • Name of the user who created the comment body • The comment body created • Created datetime stamp of the comment is_mine • Flag if I created this comment |
Permission | study_comment_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 comment was not found. NOT_PERMITTED • You are not permitted to do this |
Notes |
Description | Run a validation rule against the study |
---|---|
URL | /study/validate |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The study id validate_id • The validation id series • Only validate the specified series (optional) |
Returns |
status • OK score • The validation score. The score is the number of conditions that failed conditions • An array of the conditions that failed |
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 or validation was not found. NOT_PERMITTED • You are not permitted to do this UNABLE_TO_VALIDATE • The study is not available or did not return the data needed to validate |
Notes |
|
Description | Attach a customfield report to the study |
---|---|
URL | /study/attach/customfields |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The study id report_name • The report name (optional defaults to customfields.txt) |
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 was not found. NOT_PERMITTED • You are not permitted to do this NOT_AVAILABLE • The study is available |
Notes | A text report with the names and values of the customfields for the study will be attached to the study |
Description | Return the link to the external viewer for the study |
---|---|
URL | /study/external/viewer |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The study id viewer_tag • An external viewer's tag (optional) redirect • A flag to return an HTTP redirect to the viewer URL rather than the JSON structure view_reason • The view reason to be tracked in the audit trail (optional) |
Returns |
status • OK url • The url for the external viewer |
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 was not found. NOT_PERMITTED • You are not permitted to do this NOT_AVAILABLE • The study is not available UNABLE_TO_GENERATE • The link could not be successfully generated |
Notes |
The account's default external viewer (the default_external_viewer ) is selected in case viewer_tag was not passed. The first external viewer from the configured list is selected in case neither viewer_tag nor default_external_viewer were specified.
|
Description | Ask an AI question for the study |
---|---|
URL | /study/question |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The study 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 | study_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 study or question was not found. NOT_PERMITTED • You are not permitted to do this NOT_ENABLED • The account does not have the ai_QUESTION customfield NODE_NOT_SETUP • A node needs to be attached to the study namespace for this question IN_PROCESS • The question is currently in process |
Notes |
|
Description | Load the DICOM data for a study |
---|---|
URL | /study/dicomdata/load |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The study id |
Returns |
status • OK |
Permission | study_view and dicomdata_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 study or question was not found. NOT_PERMITTED • You are not permitted to do this NOT_AVAILABLE • The study is not available in storage RUNNING • A load job is already running |
Notes |
Description | Record a timing event for the study |
---|---|
URL | /study/timing/event |
Parameters |
(sid || node_id && serial_no) • Either the sid or the node uuid and serial number study_uid • The study uid storage_namespace • The storage namespace event • The event size • The number of bytes associated with the event (optional) |
Returns |
status • OK |
Permission | study_upload for sid authentication |
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 |
Notes |
Description | Get the timing log for the study |
---|---|
URL | /study/timing/log |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The study uuid page.* Pagination (optional) sort_by • Sorting (optional) |
Returns |
status • OK events • An array of the events. Each object has the following fields ** created • The time stamp for the event ** event • The description of the event ** size • The number of bytes associated with the event ** node_id • UUID of the associated node ** node_name • Name of the associated node |
Permission | study_timing_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 do this |
Notes |
Description | Sync the study against the storage data and re-run routing rules |
---|---|
URL | /study/sync |
Parameters |
(sid || node_id && serial_no) • Either the sid or the node id and serial number (study_id || study_uid && storage_namespace && phi_namespace) • The study id or the study_uid/storage_namespace/phi_namespace triplet image_count • Update the study image count and then sync (optional) reload_load_dicom_tag • Flag to force a reload of all load_dicom_tag customfields (optional) |
Returns |
status • OK |
Permission |
sysadmin or study_sync permissions or if image_count is passed then study_upload or phr namespace 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 study can not be found NOT_PERMITTED • You are not permitted to sync this study BLOCKED • This is a repeat sync which is not allowed |
Notes |
|
Description | Take studies from take_study_source_namespace namespace. Studies will be shared. |
---|---|
URL | /study/take |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) namespace_id • The namespace id to take a study into |
Returns |
status • OK |
Permission | study_take |
Errors |
NOTHING_TO_TAKE • There is no unshared studies in the source namespace 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 take a study in this account NOT_ENABLED • the feature is not enabled check the enable_take_study_feature and take_study_source_namespace account settings |
Notes |
|
Description | Reuest studies from one of study_request_accounts accounts. Studies will be shared or duplicated. |
---|---|
URL | /study/request/add |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) namespace_id • The namespace id requested studies to put (share or duplicate) into comments • Free form request comments account_id • The account id to send the study request to patientid • The MRN a study should match (optional) patient_first_name • The patient first name a study should match patient_last_name • The patient last name a study should match patient_sex • The patient sex a study should match (optional) patient_birth_date • The patient date of birth a study should match modality • The modality a study should match (optional) study_date_start • The DICOM date that a study date should be greater or equal to (optional) study_date_end • The DICOM date that a study date should be less or equal to (optional) study_description • The string a study description should partially match (optional) |
Returns |
status • OK uuid • The study request uuid |
Permission | study_request_edit |
Errors |
ALREADY • An active (pending or in progress) study request with the same study criteria and the same namespace/account combination already exists NOT_FOUND • The namespace or account was not found. NOT_PERMITTED • You are not permitted to request a study into this namespace |
Notes |
|
Description | Get the study_request |
---|---|
URL | /study/request/get |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The study request uuid |
Returns |
status • OK uuid • The study request uuid comments • Free form request comments study_request_status • Status of the study request. 'N' - pending, 'I' - in progress, 'R' - rejected, 'C' - closed patientid • The MRN a study should match patient_first_name • The patient first name a study should match patient_last_name • The patient last name a study should match patient_sex • The patient sex a study should match patient_birth_date • The patient date of birth a study should match modality • The modality a study should match study_date_start • The DICOM date that a study date should be greater or equal to study_date_end • The DICOM date that a study date should be less or equal to study_description • The string a study description should partially match message_count • The number of message passed through the study request. Returned if the user has message_view permission --- The following fields are only returned if the user has study_request_view permission in the requesting account --- requested_account_id • The account id that the study request is sent to namespace_id • Id of the namespace a study will be received into --- The following fields are only returned if the user has study_request_view_inbound permission in the requested account --- requesting_account_id • Id of the account that the study request was received from requesting_account_name • Name of the account that the study request was received from searches • An array of searches initiated using this study request. Each search holds the following same fields as the /destination/search/get call found • A list of search results produced for searches initiated using this study request. Each search result is an object with the following fields: uuid, destination_search_id, study_fetch_id, and other fields provided by a node (see studies parameter in /node/found) |
Errors |
NOT_FOUND • The study request was not found NOT_PERMITTED • You are not permitted to access this study request |
Notes |
Description | Get matching studies for the request |
---|---|
URL | /study/request/match |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) study_request_id • The study request uuid |
Returns |
status • OK studies • An array of the studies that are mathing request's criteria and the user has study_share_request or study_duplicate_request access permission. Each object holds the same fields as the /study/get call |
Errors |
NOT_FOUND • The study request was not found REQUEST_CLOSED • The request is not active (pending or in progress) |
Notes |
Description | Revive a deleted study from storage during the storage_delete_delay period |
---|---|
URL | /study/revive |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The study uuid |
Returns |
status • OK |
Permission | sysadmin or support |
Errors |
NOT_SYSADMIN_OR_SUPPORT • The user is not a sysadmin or support user NOT_FOUND • The deleted study can not be found CAN_NOT_REVIVE • The study can not be revived |
Notes | This will reload the study from storage as a new study. |
Tag commands
Description | List the tags |
---|---|
URL | /tag/list |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) object • Object class (Study|User_account|Group|Location|Account|Patient|Case|Order|Message) filter.* • Filters (optional) page.* Pagination (optional) sort_by • Sorting (optional) |
Returns |
status • OK tags • An array of the tags |
Errors | |
Notes |
|
Description | Add a tag to an object |
---|---|
URL | /tag/add |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) tag • Value of the tag object • Object class to apply it to (Study|User_account|Group|Location|Account|Patient|Case|Order|Message|Query) object_id • UUID of the object |
Returns |
status • OK |
Permission | study_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 INVALID_OBJECT • The object type is invalid NOT_FOUND • The object was not found NOT_PERMITTED • You are not permitted to tag this object |
Notes |
Description | Delete a tag from an object |
---|---|
URL | /tag/delete |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) tag • Value of the tag object • Object class to apply it to (Study|User_account|Group|Location|Account|Patient|Case|Order) object_id • UUID of the object |
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_OBJECT • The object type is invalid NOT_FOUND • The object was not found |
Notes |
Annotation commands
Description | List the annotations |
---|---|
URL | /annotation/list |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) (study_id || study_uid && storage_namespace && phi_namespace) • The uuid of the study or the storage triplet |
Returns |
status • OK annotations • An array of the annotations. Each object holds the same fields as the /annotation/get call |
Permission | annotation_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 study was not found. NOT_PERMITTED • You are not permitted to view the study of the annotations |
Notes | The list command will return all annotation done on every version of the study. This will allow annotations to be viewed across shares. |
Description | Add an annotation |
---|---|
URL | /annotation/add |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) (study_id || study_uid && storage_namespace && phi_namespace) • The uuid of the study or the storage triplet series_uid • The series uid instance_uid • The instance uid frame_number • The frame number (json || stamp) • The JSON annotation data structure or the stamp flag |
Returns |
status • OK uuid • The uuid |
Permission | annotation_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 study was not found. NOT_PERMITTED • You are not permitted to add annotations to the study INVALID_JSON • The field is not in valid JSON format. The error_subtype holds the name of the field |
Notes |
Description | Edit an annotation |
---|---|
URL | /annotation/set |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • Id of the annotation json • The JSON annotation data structure |
Returns |
status • OK uuid • The uuid |
Permission | annotation_edit and annotation ownership or annotation_edit_only_own reset |
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 was not found. NOT_PERMITTED • You are not permitted to add annotations to the study INVALID_JSON • The field is not in valid JSON format. The error_subtype holds the name of the field LOCKED • The annotation has been locked |
Notes |
Description | Get the annotation |
---|---|
URL | /annotation/get |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • Id of the annotation |
Returns |
status • OK uuid • Id of the annotation user_id • User who created the annotation user_name • The user name series_uid • The series uid instance_uid • The instance uid frame_number • The frame number json • The JSON annotation data structure stamp • The stamp flag locked • Is this annotation locked |
Permission | annotation_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 annotation was not found. NOT_PERMITTED • You are not permitted to view the annotation |
Notes |
Description | Delete the annotation |
---|---|
URL | /annotation/delete |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • Id of the annotation |
Returns |
status • OK |
Permission | annotation_edit and annotation ownership or annotation_edit_only_own reset |
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 annotation was not found. NOT_PERMITTED • You are not permitted to delete the annotation |
Notes |
Description | Lock the annotation |
---|---|
URL | /annotation/lock |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • Id of the annotation |
Returns |
status • OK |
Permission | annotation_edit and annotation ownership or annotation_edit_only_own reset |
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 annotation was not found. NOT_PERMITTED • You are not permitted to delete the annotation CANNOT_LOCK_STAMP • Stamps are not allowed to be locked |
Notes | This operation emits EDIT and LOCK audit records |
Description | Unlock the annotation |
---|---|
URL | /annotation/unlock |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • Id of the annotation |
Returns |
status • OK |
Permission | annotation_edit and annotation ownership or annotation_edit_only_own reset |
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 annotation was not found. NOT_PERMITTED • You are not permitted to delete the annotation |
Notes | This operation emits EDIT and UNLOCK audit records |
Key image commands
Description | List the key images |
---|---|
URL | /keyimage/list |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) (study_id || study_uid && storage_namespace && phi_namespace) • The uuid of the study or the storage triplet |
Returns |
status • OK images • An array of the keyimages. Each object holds the same fields as the /keyimage/get call |
Permission | keyimage_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 study was not found. NOT_PERMITTED • You are not permitted to view the study or key images for the study |
Notes | The list command will return all key images done on every version of the study. This will allow key images to be viewed across shares. |
Description | Add a key image |
---|---|
URL | /keyimage/add |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) (study_id || study_uid && storage_namespace && phi_namespace) • The uuid of the study or the storage triplet series_uid • The series uid instance_uid • The instance uid frame_number • The frame number version • The frame version |
Returns |
status • OK uuid • The uuid |
Permission | keyimage_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 study was not found. NOT_PERMITTED • You are not permitted to mark key images for the study |
Notes |
Description | Get the key image |
---|---|
URL | /keyimage/get |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • Id of the keyimage |
Returns |
status • OK uuid • Id of the keyimage user_id • User who created the keyimage user_name • The user name series_uid • The series uid instance_uid • The instance uid frame_number • The frame number version • The frame version |
Permission | keyimage_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 key image was not found. NOT_PERMITTED • You are not permitted to view the key image |
Notes |
Description | Delete the key image |
---|---|
URL | /keyimage/delete |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • Id of the key image |
Returns |
status • OK |
Permission | keyimage_edit and key image ownership |
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 key image was not found. NOT_PERMITTED • You are not permitted to delete the key image |
Notes |
Study validation commands
Description | List the validation rules |
---|---|
URL | /validate/list |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) account_id • The account id filter.* Filters (optional) page.* Pagination (optional) sort_by • Sorting (optional) |
Returns |
status • OK page • The pagination status hash validates • An array of the validates. Each object holds the same fields as the /validate/get call |
Permission | validate_view or route_view or route_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 view the validation rule |
Notes |
Description | Add a validation rule |
---|---|
URL | /validate/add |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) account_id • The account id name • The validation rule name conditions • The validation conditions |
Returns |
status • OK uuid • The uuid |
Permission | validate_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 add validation rules NOT_FOUND • The object was not found. The error_subtype holds the type of the object INVALID_CONDITION • A condition is invalid. The error_subtype holds more detail |
Notes |
|
Description | Modify a validation rule |
---|---|
URL | /validate/set |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The validation id name • The validation rule name conditions • The validation conditions |
Returns |
status • OK |
Permission | validate_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 validation rule was not found NOT_PERMITTED • You are not permitted to add validation rules INVALID_CONDITION • A condition is invalid. The error_subtype holds more detail |
Notes |
Description | Get a validation rule |
---|---|
URL | /validate/get |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • Id of the validate |
Returns |
status • OK name • Name of the rule conditions • The validation conditions |
Permission | validate_view or route_view or route_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 validate was not found. NOT_PERMITTED • You are not permitted to view the validation rule |
Notes |
Description | Delete the validation rule |
---|---|
URL | /validate/delete |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • Id of the validation rule |
Returns |
status • OK |
Permission | validate_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 validation rule was not found. NOT_PERMITTED • You are not permitted to delete the validation rule IN_USE • The validation rule is used in a routing rule |
Notes |
Study DICOM data commands
Description | List the DICOM data for studies |
---|---|
URL | /dicomdata/list |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) (study_id || namespace_id) • uuid of the study or namespace to search filter.* Filters (optional) page.* Pagination (optional) dicom_tags • A JSON list of the DICOM tags to return (optional) |
Returns |
status • OK page • The pagination status hash dicomdatas • An array of the dicom data objects. Each object holds the same fields as the /dicomdata/get call |
Permission | dicomdata_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 view the DICOM data |
Notes |
|
Description | Get the DICOM data |
---|---|
URL | /dicomdata/get |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • Id of the DICOM data dicom_tags • A JSON list of the DICOM tags to return (optional) customfields • An array of the custom fields associated with this dicomdata. Each object has the following fields (This is only returned if the dicomdata has custom fields) |
Returns |
status • OK uuid • Id of the DICOM data study_id • The study id study_uid • The study uid series_uid • The series uid instance_uid • The instance uid dicom_tags • The DICOM tags and values |
Permission | dicomdata_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 DICOM data was not found. NOT_PERMITTED • You are not permitted to view the DICOM data |
Notes |
Rad report commands
Description | Add a radreport |
---|---|
URL | /radreport/add |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) study_id • Id of the study to add the radreport to type • The type of the radreport fields • A JSON hash of the fields in the report (optional) do_unlock • A flag indicating to unlock study radreport lock (optional) |
Returns |
status • OK uuid • The uuid |
Permission | radreport_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 study was not found. NOT_PERMITTED • You are not permitted to add a radreport to the study INVALID_JSON • The field is not in valid JSON format. The error_subtype holds the name of the field LOCKED • There is radreport-lock for the corresponding study by different SID. |
Notes | If account.settings.enable_radreport_lock_reading is set, then it tries to radreport-lock in a study as in /study/lock?type=RADREPORT, updating it's radreport_uuid. If do_unlock is provided, then drops that radreport-lock after successful save. Error=LOCKED provides error_subtype=RADREPORT_LOCKED, error_data={"locked_radreport_id":radreport_uuid,"locked_user_id":user_uuid}. |
Description | Modify a radreport |
---|---|
URL | /radreport/set |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • Id of the radreport fields • A JSON hash of the fields in the report (optional) attachment • A JSON hash of the storage attachment information (optional) do_unlock • A flag indicating to unlock study radreport lock (optional) |
Returns |
status • OK |
Permission | radreport_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 study was not found. NOT_PERMITTED • You are not permitted to add a radreport to the study INVALID_JSON • The field is not in valid JSON format. The error_subtype holds the name of the field LOCKED • There is radreport-lock for the corresponding study by different SID. |
Notes | Look /radreport/add notes about enable_radreport_lock_reading. |
Description | Get the radreport |
---|---|
URL | /radreport/get |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • Id of the radreport |
Returns |
status • OK uuid • Id of the radreport type • Type of radreport fields • Fields in the radreport attachment • The storage attachment information user_id • User who created the radreport study_id • Associated study created • Date and time the radreport was created updated • Date and time the radreport was updated --- The following field is only returned if the enable_radreport_lock_reading account setting is enabled AND this radreport is locked --- locked_user_id • uuid of lock owner |
Permission | radreport_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 radreport was not found. NOT_PERMITTED • You are not permitted to view the radreport |
Notes |
Description | Attach an audit action to a radreport |
---|---|
URL | /radreport/audit |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The id of the radreport action • The audit action (SIGNED|MEDICAL_EDIT|ADMIN_EDIT|REPORT_GENERATED) detail • Additional information |
Returns |
status • OK |
Permission | radreport_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 radreport can not be found INVALID_ACTION • An invalid action was passed |
Notes |
Description | Delete the radreport |
---|---|
URL | /radreport/delete |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • Id of the radreport |
Returns |
status • OK |
Permission | radreport_edit plus you must have created the radreport |
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 radreport was not found. NOT_PERMITTED • You are not permitted to delete the radreport LOCKED • There is radreport-lock for the corresponding study by different USER. |
Notes |
If account.settings.enable_radreport_lock_reading is set and there is radreport-locked for the study at the moment by different USER, then errot=LOCKED, error_subtype=RADREPORT_LOCKED, error_data={"locked_radreport_id":radreport_uuid,"locked_user_id":user_uuid}. |
Description | Get the description of the radreport |
---|---|
URL | /radreport/description |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • Id of the radreport |
Returns |
status • OK uuid • Id of the radreport description • One line description of the radreport type • Type of radreport can_edit • Can the user edit the radreport. See notes below. --- The following field is only returned if the enable_radreport_lock_reading account setting is enabled AND this radreport is locked --- locked_user_id • uuid of lock owner |
Permission | radreport_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 radreport was not found. NOT_PERMITTED • You are not permitted to view the radreport |
Notes | Only if account.settings.enable_radreport_lock_reading is set. can_edit is set to 0 if this radreport is locked by another sid. |
Description | Lock the radreport or prolongate the current lock |
---|---|
URL | /radreport/lock |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • Id of the radreport |
Returns |
status • OK |
Permission | radreport_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 radreport was not found. NOT_PERMITTED • You are not permitted to lock the radreport LOCKED • This radreport is locked at the moment by another sid. error_subtype=RADREPORT_LOCKED. error_data={"locked_radreport_id":radreport_uuid,"locked_user_id":user_uuid}. |
Notes | If account.settings.enable_radreport_lock_reading is NOT set, then always NOT_PERMITTED. The same user cant lock radreport with other sid. Lock expires in 1 hour. Each next call prolongates it. On successful lock (not prolongate) the RADREPORT_LOCKED event is sent to study channel. |
Description | Unlock the radreport |
---|---|
URL | /radreport/unlock |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • Id of the radreport |
Returns |
status • OK |
Permission | radreport_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 radreport was not found. NOT_PERMITTED • You are not permitted to lock the radreport ALREADY • This report is not locked LOCKED • This radreport is locked at the moment by another user. error_subtype=RADREPORT_LOCKED. error_data={"locked_radreport_id":radreport_uuid,"locked_user_id":user_uuid}. |
Notes | If account.settings.enable_radreport_lock_reading is NOT set, then always NOT_PERMITTED. If lock owner is the same user, then radreport CAN be unlocked even if sid differs. On successful unlock the RADREPORT_UNLOCKED event is sent to study channel. |
Description | List the radreports for a user |
---|---|
URL | /radreport/user/list |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) user_id • The user id filter.* Filters (optional) page.* Pagination (optional) sort_by • Sorting (optional) |
Returns |
status • OK page • The pagination status hash radreports • An array of the radreports. Each object holds the same fields as the /radreport/get call |
Permission | This will only return radreports the calling user has radreport_view permissions for |
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 user was not found. |
Notes |
Description | Get a list of the user radreport macros |
---|---|
URL | /radreportmacro/list |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) account_id • uuid of the account modality • Limit to this modality (optional) type • Limit to this type (optional) filter.* Filters (optional) page.* Pagination (optional) sort_by • Sorting (optional) |
Returns |
status • OK macros • An array of the macros. Each object holds the same fields as the /radreportmacro/get call page • The pagination status hash |
Permission | radreport_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 perform this operation |
Notes |
Description | Add a radreport macro |
---|---|
URL | /radreportmacro/add |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) account_id • uuid of the account modality • Modality type • Type of radreport name • Name of the macro body • JSON body of the macro hotkey • Hotkey of the macro (optional) |
Returns |
status • OK uuid • Id of the macro |
Permission | radreport_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 perform this operation |
Notes |
Description | Edit a radreport macro |
---|---|
URL | /radreportmacro/set |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • uuid of the macro modality • Modality (optional) type • Type of radreport (optional) name • Name of the macro (optional) body • JSON body of the macro (optional) hotkey • Hotkey of the macro (optional) |
Returns |
status • OK uuid • Id of the macro |
Permission | radreport_edit plus ownership of the macro |
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 perform this operation |
Notes |
Description | Get a radreport macro |
---|---|
URL | /radreportmacro/get |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • uuid of the macro |
Returns |
status • OK uuid • Id of the macro modality • Modality type • Type of radreport name • Name of the macro body • JSON body of the macro hotkey • Hotkey of the macro |
Permission | radreport_view plus ownership of the macro |
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 perform this operation |
Notes |
Description | Delete a radreport macro |
---|---|
URL | /radreportmacro/delete |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • uuid of the macro |
Returns |
status • OK |
Permission | radreport_edit plus ownership of the macro |
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 perform this operation |
Notes |
Description | Returns the PDF report |
---|---|
URL | /radreport/pdf |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The radreport uuid |
Returns | Streams back the PDF report |
Permission | radreport_view |
Errors |
[404] • Not found |
Notes |
Description | Fax the radreport |
---|---|
URL | /radreport/fax |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The radreport uuid number • The fax number to send the PDF report to |
Returns |
status • OK |
Permission | radreport_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 radreport can not be found NOT_PERMITTED • You are not permitted to do this INVALID_PHONE • The fax number is invalid PDF_FAILED • The PDF report failed to generate NO_ATTACHMENT • The radreport does not have an attached report NOT_ENABLED • The radreport mailing out is not enabled for the account |
Notes |
Description | Email a radreport |
---|---|
URL | /radreport/email |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The radreport uuid email • The email address(es) to send the radreport to |
Returns |
status • OK |
Permission | radreport_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 radreport can not be found NOT_PERMITTED • You are not permitted to do this INVALID_EMAIL • An invalid email address was passed NO_ATTACHMENT • The radreport does not have an attached report PDF_FAILED • The PDF report failed to generate NOT_ENABLED • The radreport mailing out is not enabled for the account |
Notes |
|
Description | Get a list of the account radreport templates |
---|---|
URL | /radreport/template/list |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) account_id • uuid of the account type • Limit to this type (optional) active • Limit to active templates (optional) filter.* • Filters (optional) page.* • Pagination (optional) sort_by • Sorting (optional) |
Returns |
status • OK templates • An array of the templates. Each object holds the same fields as the /radreport/template/get call page • The pagination status hash |
Permission | radreport_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 perform this operation |
Notes |
Description | Add a radreport template |
---|---|
URL | /radreport/template/add |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) account_id • uuid of the account type • Type of radreport name • Name of the template body • Body of the template preview • Preview of the template (optional) options • JSON options of the template (optional) |
Returns |
status • OK uuid • Id of the template |
Permission | sysadmin or support |
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 |
Description | Edit a radreport template |
---|---|
URL | /radreport/template/set |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • uuid of the template type • Type of radreport (optional) name • Name of the template (optional) body • Body of the template (optional) preview • Preview of the template (optional) options • JSON options of the template (optional) |
Returns |
status • OK uuid • Id of the template |
Permission | sysadmin or support |
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 • You are not permitted to perform this operation |
Notes |
Description | Get a radreport template |
---|---|
URL | /radreport/template/get |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • uuid of the template |
Returns |
status • OK uuid • Id of the template type • Type of radreport name • Name of the template body • Body of the template preview • Preview of the template options • JSON options of the template active • Flag if the template is active |
Permission | radreport_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 radreport template can not be found NOT_PERMITTED • You are not permitted to perform this operation |
Notes |
Description | Get a radreport template by type |
---|---|
URL | /radreport/template/get/type |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) account_id • uuid of the account type • Type of the template |
Returns |
status • OK uuid • Id of the template type • Type of radreport name • Name of the template body • Body of the template preview • Preview of the template options • JSON options of the template active • Flag if the template is active |
Permission | radreport_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 radreport template can not be found NOT_PERMITTED • You are not permitted to perform this operation |
Notes |
Description | Delete a radreport template |
---|---|
URL | /radreport/template/delete |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • uuid of the template |
Returns |
status • OK |
Permission | sysadmin or support |
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 |
Description | Activate a radreport template |
---|---|
URL | /radreport/template/activate |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • uuid of the template |
Returns |
status • OK uuid • Id of the template |
Permission | sysadmin or support |
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 radreport template can not be found NOT_SYSADMIN_OR_SUPPORT • The user is not a sysadmin or support user |
Notes |
|
Custom code commands
Description | Add the code |
---|---|
URL | /customcode/add |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) account_id • uuid of the account name • The name of the code type • Type of code (AI_CUSTOM_VALIDATION_CODE) language • Language of code (PYTHON) code • The code settings • JSON hash of settings (optional) zip • Base64 encoded ZIP file (optional) |
Returns |
status • OK uuid • The code uuid |
Permission | customcode_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 add code INVALID_TYPE • Invalid type INVALID_LANGUAGE • Invalid language NOT_HASH • The field is not a hash |
Notes |
Description | Approve customcode |
---|---|
URL | /customcode/approve |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • uuid of the customcode |
Returns |
status • OK |
Permission | sysadmin or support |
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 customcode can not be found NOT_PERMITTED • You are not permitted to approve customcodes ALREADY • The code is already approved |
Notes |
Description | Get the code |
---|---|
URL | /customcode/get |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The code uuid |
Returns |
status • OK uuid • The code uuid name • code name account_id • account uuid account_name • account name type • code type language • code language code • The code settings • JSON hash of settings approved • Flag shows if this customcode was approved is_deployed • Flag if the code is deployed deployments • An array of the customcode deployments, ordered from most recent to earliest. Each object has the fields in the /customcode/deploy/get call. has_zip • Flag if the code has an associated zip file |
Permission | customcode_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 code can not be found NOT_PERMITTED • You are not permitted to view this code |
Notes |
Description | Modify the code |
---|---|
URL | /customcode/set |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The code uuid name • The name of the code (optional) code • The code (optional) settings • JSON hash of settings (optional) zip • Base64 encoded ZIP file (optional) |
Returns |
status • OK uuid • The code uuid |
Permission | customcode_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 edit the code NOT_HASH • The field is not a hash IS_DEPLOYED • The code is deployed and can not be edited ONE_ZIP_ONLY • Only one code with an attached zip can be deployed to the namespace |
Notes |
Description | Returns the customcode zip file |
---|---|
URL | /customcode/zip |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The code uuid |
Returns | Streams back the zip file |
Errors |
[404] • Not found |
Notes |
Description | Delete the code |
---|---|
URL | /customcode/delete |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The code uuid |
Returns |
status • OK |
Permission | customcode_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 delete the code IS_DEPLOYED • The code is deployed and can not be deleted |
Notes |
Description | Get a list of the code for the account |
---|---|
URL | /customcode/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 customcodes • An array of the customcode. Each object holds the same fields as the /customcode/get call |
Permission | customcode_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 code in this account |
Notes |
|
Description | Deploy customcode for a namespace |
---|---|
URL | /customcode/deploy |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • uuid of the customcode namespace_id • uuid of the namespace |
Returns |
status • OK uuid • Deployment uuid |
Permission | customcode_deploy |
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 customcode can not be found NOT_PERMITTED • You are not permitted to deploy code in this namespace NOT_APPROVED • The customcode should be /customcode/approved before deployment ALREADY • The code is already deployed for this namespace |
Notes |
Description | Un-deploy customcode |
---|---|
URL | /customcode/undeploy |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) deployment_id • Deployment uuid |
Returns |
status • OK |
Permission | customcode_deploy |
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 deployment can not be found NOT_PERMITTED • You are not permitted to undeploy code in this namespace |
Notes |
Description | Get a customcode deployment |
---|---|
URL | /customcode/deploy/get |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • uuid of customcode deployment |
Returns |
status • OK uuid • uuid of the deployment customcode_id • uuid of the customcode customcode_name • name of the customcode namespace_id • uuid of the namespace namespace_name • name of the namespace |
Permission | customcode_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 customcode deployment can not be found NOT_PERMITTED • You are not permitted to do this |
Notes |
Description | List customcode deployments |
---|---|
URL | /customcode/deploy/list |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) (namespace_id || customcode_id) • uuid of either the namespace or customcode to show the deployments for filter.* Filters (optional) page.* Pagination (optional) sort_by • Sorting (optional) |
Returns |
status • OK page • The pagination status hash deployments • An array of the objects. Each object in the array will have the fields available in /customcode/deploy/get |
Permission | customcode_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 namespace or customcode can not be found NOT_PERMITTED • You are not permitted to do this |
Notes |
Case commands
Cases are automatically created by the second opinion workflow for a share codeDescription | Get a case |
---|---|
URL | /case/get |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The case uuid |
Returns |
status • OK uuid • The case uuid name • case name created • Date and time the case was created paid • Flag if a payment being made against the case share_code • Share code the case is associated with user_name • Name of the user the case is for user_email • Email of the user the case is for studies • An array of the studies associated with this case. Each study has the fields from /study/get tags • An array of user tags associated with this object (This is only returned if the object has tags) customfields • An array of the custom fields associated with this case. Each object has the following fields (This is only returned if the case has custom fields) case_status • Status of the case case_status_date • Date and time the case was set to the current status case_status_tags • The available case status tags submitted • Flag if the case was submitted submitted_date • Date and time the case was submitted returned_date • Date and time the case was returned returned_reason • Reason the case was returned completed • Flag if the case is completed completed_date • Date and time the case was completed closed • Flag if the case is closed closed_date • Date and time the case was closed The rest of the fields are not returned to the case owner assigned_admin_id • Id of the admin user assigned to the case assigned_admin_name • Name of the admin user assigned to the case assigned_admin_date • Date and time the case was assigned to the admin user assigned_medical_id • Id of the medical user assigned to the case assigned_medical_name • Name of the medical user assigned to the case assigned_medical_date • Date and time the case was assigned to a medical user locked_user_id • Id of the user who has locked the case locked_user_name • Name of the user who has locked the case |
Permission | case_view or the case owner, or the assigned medical user if case_view and case_view_only_own are enabled |
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 case can not be found NOT_PERMITTED • You are not permitted to view this case |
Notes |
|
Description | Edit a case |
---|---|
URL | /case/set |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The case uuid name • case name (optional) submitted • Flag if the case is submitted (optional) customfield-{CUSTOMFIELD_UUID} • Custom field(s) (optional) -- The rest of the fields can not be set by the case owner --
completed • Flag if the case is completed (optional)closed • Flag if the case is closed (optional) case_status • The case status (optional) assigned_admin_id • Id of the admin user assigned to the case (optional) assigned_medical_id • Id of the medical user assigned to the case (optional) |
Returns |
status • OK |
Permission | case_edit or the case owner, or the assigned medical user if case_edit and case_edit_only_own are enabled |
Errors |
NOT_FOUND • The case or assigned user can not be found NOT_PERMITTED • You are not permitted to edit the case NOT_IN_ACCOUNT • The assigned user is not in the account INVALID_CUSTOMFIELD • Invalid custom field(s) name or value were passed. The error_subtype holds an array of the error details INVALID_CASE_STATUS • Invalid case status LOCKED • The case is locked by another user |
Notes |
|
Description | Return a case to the owner |
---|---|
URL | /case/return |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The case uuid reason • The reason the case was returned |
Returns |
status • OK |
Permission | case_edit, or the assigned medical user if case_edit and case_edit_only_own are enabled |
Errors |
NOT_FOUND • The case can not be found NOT_PERMITTED • You are not permitted to return the case |
Notes | A case can only be returned if it is submitted and not closed or completed |
Description | Delete a case |
---|---|
URL | /case/delete |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The case uuid |
Returns |
status • OK |
Permission | case_delete |
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 case can not be found NOT_PERMITTED • You are not permitted to delete the case |
Notes |
Description | Get a list of the cases for the current user or the account |
---|---|
URL | /case/list |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) account_id • uuid of the account (optional) filter.* Filters (optional) page.* Pagination (optional) sort_by • Sorting (optional) |
Returns |
status • OK page • The pagination status hash cases • An array of the cases. Each object holds the same fields as the /case/get call |
Permission | case_view or case ownership, or the assigned medical user if case_view and case_view_only_own are enabled |
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 cases in this account |
Notes |
Description | Attach or detach a study to a case |
---|---|
URL | /case/attach |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • Case uuid study_id • Study uuid detach • Flag to detach the study from the case (optional) |
Returns |
status • OK |
Permission | Only the assigned admin or medical user can do this |
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 case or study can not be found NOT_PERMITTED • You are not permitted to do this |
Notes | The attached study will be shared into the users PHR account |
Patient commands
Description | Add a patient |
---|---|
URL | /patient/add |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) account_id • uuid of the account to add them to study_id • Id of the study to create a patient from (optional) (name || first && last) • Patient name as either full name or first and last (optional if study_id is used) mrn • MRN (optional if study_id is used) sex • Gender (optional) birth_date • Birth date (optional) email • Email address (optional) mobile_phone • Mobile phone number (optional) alt_email • Alternate email address (optional) alt_mobile_phone • Alternate mobile phone number (optional) customfield-{CUSTOMFIELD_UUID} • Custom field(s) (optional) event_share • Notify the patient if a new study is available on the patient portal (optional) event_new_report • Notify the patient if a report is attached on the patient portal (optional) |
Returns |
status • OK uuid • The uuid |
Permission | patient_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 account or study was not found. The error_subtype holds the type of field not found NOT_PERMITTED • You are not permitted to add a patient to the account INVALID_PHONE • The phone number is invalid INVALID_EMAIL • The email is invalid ALREADY_EXISTS • The patient is already in the account ALREADY_USED • The email or phone number is already used by another patient. The error_subtype holds the field that is already used INVALID_CUSTOMFIELD • Invalid custom field(s) name or value were passed. The error_subtype holds an array of the error details |
Notes |
|
Description | Get a patient |
---|---|
URL | /patient/get |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The patient uuid |
Returns |
status • OK uuid • The patient uuid name • Patient name first • Patient first name last • Patient last name mrn • MRN sex • Gender birth_date • Birth date email • Email address mobile_phone • Mobile phone number alt_email • Alternate email address alt_mobile_phone • Alternate mobile phone number event_share • Notify the patient if a new study is available on the patient portal event_new_report • Notify the patient if a report is attached on the patient portal tags • An array of user tags associated with this object (This is only returned if the object has tags) customfields • An array of the custom fields associated with this patient. Each object has the following fields (This is only returned if the group has custom fields) studies • An array of study ids linked with this patient (having the same mrn), which this user has access to. |
Permission | patient_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 patient can not be found NOT_PERMITTED • You are not permitted to view this patient |
Notes |
Description | Edit a patient |
---|---|
URL | /patient/set |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The patient uuid (name || first && last) • Patient name as either full name or first and last mrn • MRN sex • Gender birth_date • Birth date email • Email address (optional) mobile_phone • Mobile phone number (optional) alt_email • Alternate email address (optional) alt_mobile_phone • Alternate mobile phone number (optional) event_share • Notify the patient if a new study is available on the patient portal (optional) event_new_report • Notify the patient if a report is attached on the patient portal (optional) customfield-{CUSTOMFIELD_UUID} • Custom field(s) (optional) settings • A hash of the patient settings, see Notes. (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 | patient_edit |
Errors |
NOT_FOUND • The patient can not be found NOT_PERMITTED • You are not permitted to edit the patient INVALID_PHONE • The phone number is invalid INVALID_EMAIL • The email is invalid ALREADY_EXISTS • The MRN is in use by another patient ALREADY_USED • The email or phone number is already used by another patient. The error_subtype holds the field that is already used INVALID_CUSTOMFIELD • Invalid custom field(s) name or value were passed. The error_subtype holds an array of the error details NO_PATIENT_OVERRIDE • The setting does not allow a patient 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 | Current allowed settings are patient_portal_event_new_report_notify_type and patient_portal_event_share_notify_type |
Description | Merge patients with optionally setting some of patient fields |
---|---|
URL | /patient/merge |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The destination patient uuid src • The JSON array of patient uuids to merge into destionation do_update_patient_studies • Update patient studies' sex an phone if those are modified (optional) do_delete • Delete src patients after merge (optional) sex • Gender (optional) email • Email address (optional) mobile_phone • Mobile phone number (optional) alt_email • Alternate email address (optional) alt_mobile_phone • Alternate mobile phone number (optional) event_share • Notify the patient if a new study is available on the patient portal (optional) event_new_report • Notify the patient if a report is attached on the patient portal (optional) customfield-{CUSTOMFIELD_UUID} • Custom field(s) (optional) settings • A hash of the patient settings, see Notes. (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 | patient_merge |
Errors |
NOT_FOUND • The patient can not be found NOT_PERMITTED • You are not permitted to merge the patients PATIENT_NAME_DOB_MISMATCH • Patients should contain the same name and date of birth MULTIPLE_ACCOUNTS • Patients from different accounts provided INVALID_PHONE • The phone number is invalid INVALID_EMAIL • The email is invalid ALREADY_USED • The email or phone number is already used by another patient. The error_subtype holds the field that is already used INVALID_CUSTOMFIELD • Invalid custom field(s) name or value were passed. The error_subtype holds an array of the error details NO_PATIENT_OVERRIDE • The setting does not allow a patient 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 | If account.settings.auto_update_patient_studies is set, then do_update_patient_studies is set. |
Description | Delete a patient |
---|---|
URL | /patient/delete |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The patient uuid |
Returns |
status • OK |
Permission | patient_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 patient can not be found NOT_PERMITTED • You are not permitted to delete the patient |
Notes |
Description | Get a list of the patients in the account |
---|---|
URL | /patient/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 patients • An array of the patients. Each object holds the same fields as the /patient/get call |
Permission | patient_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 patients in this account |
Notes | The default sort is by recent activity. |
Description | Get a list of the studies for the patient |
---|---|
URL | /patient/study/list |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The patient id viewable_only • Flag if they only want the studies the user can view |
Returns |
status • OK studies • An array of the studies. Each object holds the same fields as the /study/get call |
Permission | patient_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 patient can not be found NOT_PERMITTED • You are not permitted to view this patient |
Notes |
Description | Find a patient for the portal |
---|---|
URL | /patient/portal/find |
Parameters |
first • The first name last • The last name birth_date • Date of birth mrn • MRN (required if the require_mrn_for_patient_portal account setting is on) |
Returns |
status • OK patient_id • The patient id study_count • The number of studies for the patient email • The obscured version of the patient email mobile_phone • The obscured version of the patient phone alt_email • The obscured version of the patient email alt_mobile_phone • The obscured version of the patient phone dup_email • Flag if another patient has the same email dup_mobile_phone • Flag if another patient has the same mobile_phone other_patients • An array of the other matching patients. Each object holds the same fields as documented above. This field is only returned if there are other matching patients. |
Permission | The enable_patient_portal flag needs to be turned on for the account and the call needs to come for a vanity for 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 patient can not be found NOT_PERMITTED • You are not permitted to perform this search INVALID_DATE • An invalid date was passed |
Notes |
|
Description | Send a PIN to the patient |
---|---|
URL | /patient/portal/pin |
Parameters |
patient_id • The patient id email • Flag if they want the PIN sent via email mobile_phone • Flag if they want the PIN sent via SMS alt_email • Flag if they want the PIN sent via the alt_email alt_mobile_phone • Flag if they want the PIN sent via SMS to the alt_mobile_phone |
Returns |
status • OK |
Permission | The enable_patient_portal flag needs to be turned on for the account and the call needs to come for a vanity for 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 patient can not be found NOT_PERMITTED • You are not permitted to do this |
Notes |
|
Description | Login to the patient portal |
---|---|
URL | /patient/portal/login |
Parameters |
patient_id • The patient id pin • The PIN |
Returns |
status • OK sid • Session id |
Permission | The enable_patient_portal flag needs to be turned on for the account and the call needs to come for a vanity for 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 patient can not be found INVALID_PIN • The PIN is invalid or expired NOT_PERMITTED • You are not permitted to do this LOCKOUT • Too many failed attempts |
Notes |
Description | List user's accounts with patient portal enabled |
---|---|
URL | /patient/portal/list |
Parameters |
page.* Pagination (optional) sort_by • Sorting (optional) |
Returns |
status • OK page • The pagination status hash portals • An array of the accounts with patient portal enabled. Each object holds the following fields * uuid • The account UUID * name • Name of the account * vanity • Vanity host name(s) for the account |
Permission | |
Errors | |
Notes | Only patient portals with the expose_patient_portal setting turned on are returned. |
Order commands
Description | Add a order |
---|---|
URL | /order/add |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) account_id • uuid of the account to add them to patientid • Patient MRN patient_name • Patient name accession_number • Accession number patient_sex • Gender patient_birth_date • DOB referring_physician • Referring physician sending_facility • Sending facility customfield-{CUSTOMFIELD_UUID} • Custom field(s) (optional) |
Returns |
status • OK uuid • The uuid |
Permission | order_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 account was not found. The error_subtype holds the type of field not found NOT_PERMITTED • You are not permitted to add a order to the account INVALID_CUSTOMFIELD • Invalid custom field(s) name or value were passed. The error_subtype holds an array of the error details |
Notes |
Description | Get an order |
---|---|
URL | /order/get |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The order uuid |
Returns |
status • OK uuid • The order uuid patientid • Patient MRN patient_name • Patient name accession_number • Accession number patient_sex • Gender patient_birth_date • DOB referring_physician • Referring physician sending_facility • Sending facility tags • An array of user tags associated with this object (This is only returned if the object has tags) customfields • An array of the custom fields associated with this order. Each object has the following fields (This is only returned if the order has custom fields) sps • An array of the SPS records associated with this order. Each record has the following fields * uuid • Id of the SPS * modality • Modality * scheduled_procedure_step_id • Step ID * requested_procedure_id • Procedure ID * requested_procedure_description • Procedure description * scheduled_station_aetitle • Station AE title * scheduled_procedure_step_start_date • Start date * scheduled_procedure_step_start_time • Start time * scheduled_procedure_step_description • Step description * mpps_status • The modality performed procedure step (mpps) status * mpps_uid • The UID for the mpps --- The following field is only returned if the enable_orders_in_worklist account setting is enabled --- studies • An array of study ids linked with this order (having the same accession_number). |
Permission | order_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 order can not be found NOT_PERMITTED • You are not permitted to view this order |
Notes |
Description | Edit a order |
---|---|
URL | /order/set |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The order uuid patientid • Patient MRN patient_name • Patient name accession_number • Accession number patient_sex • Gender patient_birth_date • DOB referring_physician • Referring physician sending_facility • Sending facility customfield-{CUSTOMFIELD_UUID} • Custom field(s) (optional) |
Returns |
status • OK |
Permission | order_edit |
Errors |
NOT_FOUND • The order can not be found NOT_PERMITTED • You are not permitted to edit the order INVALID_CUSTOMFIELD • Invalid custom field(s) name or value were passed. The error_subtype holds an array of the error details |
Notes |
Description | Delete a order |
---|---|
URL | /order/delete |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The order uuid |
Returns |
status • OK |
Permission | order_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 order can not be found NOT_PERMITTED • You are not permitted to delete the order |
Notes |
Description | Get a list of the orders in the account |
---|---|
URL | /order/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 orders • An array of the orders. Each object holds the same fields as the /order/get call |
Permission | order_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 orders in this account |
Notes |
|
Description | Add a scheduled procedure step to an order |
---|---|
URL | /order/sps/add |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) order_id • uuid of the order modality • Modality scheduled_procedure_step_id • Step ID requested_procedure_id • Procedure ID requested_procedure_description • Procedure description scheduled_station_aetitle • Station AE title scheduled_procedure_step_start_date • Start date scheduled_procedure_step_start_time • Start time scheduled_procedure_step_description • Step description |
Returns |
status • OK uuid • UUID of the SPS |
Permission | order_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 order can not be found NOT_PERMITTED • You are not permitted to edit orders in this account |
Notes |
Description | Edit a scheduled procedure step |
---|---|
URL | /order/sps/set |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • UUID of the SPS modality • Modality (optional) scheduled_procedure_step_id • Step ID (optional) requested_procedure_id • Procedure ID (optional) requested_procedure_description • Procedure description (optional) scheduled_station_aetitle • Station AE title (optional) scheduled_procedure_step_start_date • Start date (optional) scheduled_procedure_step_start_time • Start time (optional) scheduled_procedure_step_description • Step description (optional) |
Returns |
status • OK |
Permission | order_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 SPS can not be found NOT_PERMITTED • You are not permitted to edit orders in this account |
Notes |
Description | Delete a scheduled procedure step |
---|---|
URL | /order/sps/delete |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • UUID of the SPS |
Returns |
status • OK |
Permission | order_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 SPS can not be found NOT_PERMITTED • You are not permitted to edit orders in this account |
Notes |
Description | Set the mpps status of a SPS |
---|---|
URL | /order/sps/status |
Parameters |
uuid • The node id serial_no • The serial number of the node mpps_uid • The mpps UUID of the SPS mpps_status • The mpps status to set (PENDING|IN_PROGRESS|DISCONTINUED|COMPLETED) |
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 SPS can not be found NOT_PERMITTED • You are not permitted to set the status INVALID_STATUS • An invalid status was passed |
Notes |
Description | Find SPS orders for MWL processing |
---|---|
URL | /order/sps/find |
Parameters |
(sid || node_id && serial_no) • Either the sid or the node uuid and serial number account_id • The account uuid if sid authentication is used filter.* Filters (optional) |
Returns |
status • OK sps • An array of the matching sps record. Each record has the following fields * patientid • Patient MRN * patient_name • Patient name * accession_number • Accession number * patient_sex • Gender * patient_birth_date • DOB * referring_physician • Referring physician * modality • Modality * study_uid • Study UID * scheduled_procedure_step_id • Step ID * requested_procedure_id • Procedure ID * requested_procedure_description • Procedure description * scheduled_station_aetitle • Station AE title * scheduled_procedure_step_start_date • Start date * scheduled_procedure_step_start_time • Start time * scheduled_procedure_step_description • Step description * mpps_status • The modality performed procedure step (mpps) status * mpps_uid • The UID for the mpps |
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 node can not be found NOT_PERMITTED • You are not permitted to view orders in this account |
Permission | order_view if sid authentication is used |
Notes |
|
HL7 commands
Description | Get a list of HL7 messages in an account |
---|---|
URL | /hl7/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 messages • An array of the HL7 messages. Each message holds the following fields: * uuid • uuid of the message * created • Created datetime stamp of the message * type • Message type * accession_numbers • Array of the message accession numbers * patientid • Patient MRN * patient_name • Patient name |
Permission | hl7_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 NOT_FOUND • The account_id can not be found NOT_PERMITTED • You are not permitted to do this |
Notes | To filter by accession number use parameter like filter.accession_number_h->'917364'.equals=1 .
|
Description | Get a list of outbound HL7 messages which were gathered by destination. |
---|---|
URL | /hl7/outbound/list |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) account_id • uuid of the account filter.* Filters. See Notes below. (optional) page.* Pagination (optional) sort_by • Sorting (optional) |
Returns |
status • OK page • The pagination status hash messages • An array of the HL7 messages. Each message holds the following fields: * uuid • uuid of the job * created • Created datetime stamp of the message * pickup • Picked up datetime stamp of the job * status • Status code of the job (S|F|P|B|U) - Success, failure, partial transfer, blocked or uncached * destination_uuid • Destination Id * destination_name • Destination Name * message • HL7 message * study_id • Study uuid if was used, undef otherwise * hl7_id • HL7 uuid if was used, undef otherwise * type • Message type * accession_numbers • Array of the message accession numbers * patientid • Patient MRN * patient_name • Patient name |
Permission | hl7_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 NOT_FOUND • The account_id can not be found NOT_PERMITTED • You are not permitted to do this INVALID_FIELD • Filter filter.(hl7,study).* are not supported |
Notes | Some of those messages were generated from study or template, so not all of them are seen in /hl7/list. The message is cleared out after account.settings.study_hl7_message_cleanup_days number of days, null will be returned after this period. |
Description | Add a HL7 message to the system |
---|---|
URL | /hl7/add |
Parameters |
uuid • The node id serial_no • The serial number of the node message • The HL7 message accession_number • Use this accession number instead of the accession number in the HL7 message (optional) |
Returns |
status • OK ack • The HL7 acknowledgement uuid • UUID of the message |
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 node can not be found INVALID_MESSAGE • The message could not parsed as a HL7 message |
Notes |
|
Description | Get a HL7 message |
---|---|
URL | /hl7/get |
Parameters |
(sid || node_id && serial_no) • Either the sid or the node uuid and serial number uuid • The hl7 uuid (study_id || study_uid && storage_namespace && phi_namespace) • The study uuid or the storage triplet (optional) raw • Flag to return the raw HL7 message as well |
Returns |
status • OK uuid • The hl7 uuid created • The date and time the report was created. segments • A JSON list of lists of the segments in the message hl7_template • The hl7_template to render the message with (optional) raw • The hl7 message (optional) |
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 hl7 can not be found NOT_PERMITTED • You are not permitted to access this hl7 |
Notes |
Description | Delete a HL7 message |
---|---|
URL | /hl7/delete |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The hl7 uuid |
Returns |
status • OK |
Permission | hl7_message_delete or study_report_delete permission for the associated study |
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 hl7 can not be found NOT_PERMITTED • You are not permitted to delete this hl7 |
Notes |
Description | Return the latest HL7 report for a study |
---|---|
URL | /hl7/study/report |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) study_id • The study uuid |
Returns |
status • OK text • Plain text version of the report |
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 NOT_PERMITTED • You are not permitted to view this |
Notes |
Description | Extract the report from the HL7 and attach it to the studies |
---|---|
URL | /hl7/extract/report |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The HL7 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 HL7 can not be found NOT_PERMITTED • You are not permitted to access this HL7 message NOT_CONFIGURED • The node setting report_from_hl7 is not configured |
Notes |
Description | List the HL7 templates for the account |
---|---|
URL | /hl7/template/list |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) account_id • The account uuid |
Returns |
status • OK templates • A array of the template objects. Each object contains the fields in /hl7/template/get |
Permission | hl7_template_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 HL7 template to the account |
---|---|
URL | /hl7/template/add |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) account_id • The account uuid name • Name of the template body • The HL7 message with replacement expressions |
Returns |
status • OK uuid • Id of the template |
Permission | hl7_template_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 account can not be found NOT_PERMITTED • You are not permitted to do this INVALID_HL7 • The body is not a valid HL7 message |
Notes |
|
Description | Modify a HL7 template |
---|---|
URL | /hl7/template/set |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The template id name • Name of the template body • The HL7 message with replacement expressions |
Returns |
status • OK |
Permission | hl7_template_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 template can not be found NOT_PERMITTED • You are not permitted to do this INVALID_HL7 • The body is not a valid HL7 message |
Notes |
Description | Get a HL7 template |
---|---|
URL | /hl7/template/get |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The template id |
Returns |
status • OK uuid • The template id name • Name of the template type • Type of the HL7 message body • The HL7 message with replacement expressions |
Permission | hl7_template_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 template can not be found NOT_PERMITTED • You are not permitted to do this |
Notes |
Description | Render a HL7 template for a study |
---|---|
URL | /hl7/template/render |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The template id study_id • The study id hl7_id • Optional hl7 message text • Flag if you want the text returned rather than the JSON hex • Flag if you want a hexdump of the text returned rather than the JSON |
Returns |
status • OK message • The HL7 message |
Permission | hl7_template_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 template or study can not be found NOT_PERMITTED • You are not permitted to do this |
Notes |
Description | Delete a HL7 template |
---|---|
URL | /hl7/template/delete |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The template id |
Returns |
status • OK |
Permission | hl7_template_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 template can not be found NOT_PERMITTED • You are not permitted to do this |
Notes |
Description | List the HL7 transforms for the account |
---|---|
URL | /hl7/transform/list |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) account_id • The account uuid filter.* Filters (optional) page.* Pagination (optional) sort_by • Sorting (optional) |
Returns |
status • OK page • The pagination status hash transforms • A array of the transform objects. Each object contains the fields in /hl7/transform/get |
Permission | hl7_transform_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 HL7 transform to the account |
---|---|
URL | /hl7/transform/add |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) account_id • The account uuid name • Name of the transform order_by • A numeric ordering value. Transformations are run in this order from lowest to highest conditions • A JSON array of the transform conditions replacements • A JSON array of the transform replacements |
Returns |
status • OK uuid • Id of the transform |
Permission | hl7_transform_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 account can not be found NOT_PERMITTED • You are not permitted to do this DUPLICATE_ORDER_BY • The order_by value is used by another transform NOT_LIST • The field is not a JSON array. The error_subtype holds the name of the field INVALID_CONDITION • An invalid condition was passed. The error_subtype holds the details on why it is invalid INVALID_REPLACEMENT • An invalid replacement was passed. The error_subtype holds the details on why it is invalid |
Notes |
|
Description | Modify a HL7 transform |
---|---|
URL | /hl7/transform/set |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The transform id name • Name of the transform order_by • A numeric ordering value. Transformations are run in this order from lowest to highest conditions • A JSON array of the transform conditions replacements • A JSON array of the transform replacements |
Returns |
status • OK |
Permission | hl7_transform_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 account can not be found NOT_PERMITTED • You are not permitted to do this DUPLICATE_ORDER_BY • The order_by value is used by another transform NOT_LIST • The field is not a JSON array. The error_subtype holds the name of the field INVALID_CONDITION • An invalid condition was passed. The error_subtype holds the details on why it is invalid INVALID_REPLACEMENT • An invalid replacement was passed. The error_subtype holds the details on why it is invalid |
Notes |
Description | Get a HL7 transform |
---|---|
URL | /hl7/transform/get |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The transform id |
Returns |
status • OK uuid • The transform id name • Name of the transform order_by • A numeric ordering value. Transformations are run in this order from lowest to highest conditions • A JSON array of the transform conditions replacements • A JSON array of the transform replacements |
Permission | hl7_transform_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 transform can not be found NOT_PERMITTED • You are not permitted to do this |
Notes |
Description | Delete a HL7 transform |
---|---|
URL | /hl7/transform/delete |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The transform id |
Returns |
status • OK |
Permission | hl7_transform_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 transform can not be found NOT_PERMITTED • You are not permitted to do this |
Notes |
Description | Test HL7 transformation |
---|---|
URL | /hl7/transform/test |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) hl7 • HL7 message to run the transformations on |
Returns |
status • OK hl7 • The transformed HL7 message |
Permission | hl7_transform_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 do this |
Notes |
Description | Parse a HL7 message and show the field and values |
---|---|
URL | /hl7/parse/fields |
Parameters |
message • HL7 message to parse fields • Comma delimited list of the field to return. Use the notation specified in /hl7/transform/add (optional) |
Returns |
status • OK fields • A JSON array of the fields and 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 INVALID_MESSAGE • The message could not parsed as a HL7 message |
Notes |
Setting commands
Description | Set a setting value for the user |
---|---|
URL | /setting/set |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) key • The key to store the value under. If the key name begins with temp_ it is only available for the session. value • The value to store user_id • A sysadmin user can set the value for a specific user (optional) role_id • Role uuid to update that key's value for each user having that role (optional) account_id • Account id to set user_account's settings instead of user's (optional) |
Permission | user_setting_set if role_id is provided |
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 account or role can not be found. The error_subtype holds the type of the not found item NOT_PERMITTED • You do not have permission user_setting_set |
Notes |
|
Description | Get a setting value for the user |
---|---|
URL | /setting/get |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) key • The key to get user_id • A sysadmin user can get the value for a specific user (optional) account_id • Account id to get user_account's || user's setting (optional) |
Returns |
status • OK value • The setting value |
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 |
Notes |
|
Description | Get all the settings for a user |
---|---|
URL | /setting/get/all |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) account_id • Account id to get user_account's || user's setting (optional) |
Returns |
status • OK settings • The hash of all non-temporary user settings |
Errors |
NOT_FOUND • The account can not be found |
Notes |
|
Node commands
Harvester commandsDescription | List the nodes for an account |
---|---|
URL | /node/list |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) account_id • uuid of the account (optional) filter.* Filters (optional) page.* Pagination (optional) sort_by • Sorting (optional) |
Returns |
status • OK page • The pagination status hash nodes • An array of the nodes. Each object holds the following same fields as the /node/get call |
Permission | node_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 | If no account_id is provided, then sysadmin user will get all accounts, and the other users would get only which are members of. |
Description | List public nodes |
---|---|
URL | /node/public |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) account_id • The account the user is in filter.* Filters (optional) page.* Pagination (optional) sort_by • Sorting (optional) |
Returns |
status • OK page • The pagination status hash nodes • An array of the nodes. Each object will have the following fields * uuid • Node id * facility_name • Name of the facility it is installed at * facility_zip • Zip code of the facility it is installed at * facility_contact • Name of the facility contact * facility_contact_title • Title of the facility contact * facility_email • Email of the facility contact * facility_notes • Notes about the facility * connect_status • A status indicating a connection request state |
Permission | node_connect |
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 node or account can not be found NOT_PERMITTED • You are not permitted to do this INVALID_FILTER • Invalid filter field |
Notes |
|
Description | Request a connection to a public node |
---|---|
URL | /node/connect |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The node id account_id • The account the user is in message • Message (optional) |
Returns |
status • OK |
Permission | node_connect |
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 node or account can not be found NOT_PERMITTED • You are not permitted to do this ALREADY_CONNECTED • The node is already connected to the account ALREADY_PENDING • The node is pending connection already |
Notes | An email requesting the connection will sent to Ambra, the node operator and the user. The email is generated from the node_connect template for the account the node is located in. |
Description | Approve a public node connection |
---|---|
URL | /node/approve |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The node id account_id • The account which requested the connection |
Returns |
status • OK |
Permission | node_approve_connect |
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 node, node connection request or account can not be found NOT_PERMITTED • You are not permitted to do this ALREADY_CONNECTED • The node is already connected to the account |
Notes |
Description | Add a node |
---|---|
URL | /node/add |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) name • Description of the node uuid • uuid of the node (optional, you can use this to explicitly set the UUID) serial_no • serial_no of the node (optional, a sysadmin can use this to explicitly set the serial no.) (account_id || location_id || group_id) • uuid of the account, location or group to link this node to type • Type of node (STORAGE|HARVESTER|ACCELERATOR|CLEARINGHOUSE|VIRTUAL|UTILITY|XDS) os_type • Node OS type, used with HARVESTER node type only (WINDOWS|MACOS) (optional) accelerator_id • uuid of the accelerator if this is an accelerator node facility_name • Name of the facility it is installed at (optional) facility_zip • Zip code of the facility it is installed at (optional) facility_contact • Name of the facility contact (optional) facility_contact_title • Title of the facility contact (optional) facility_email • Email of the facility contact (optional) facility_notes • Notes about the facility (optional) category • Node category (ACTIVE|INACTIVE|MIGRATION|TEST|DUPLICATE|INTEGRATED|ACCELERATOR) (optional) is_public • Flag if the node is public (optional) ctc_bucket • Name of the S3 bucket to use for a cloud to cloud gateway (optional) primary_node_id • The primary node id (optional) |
Returns |
status • OK uuid • The node uuid serial_no • The node serial number |
Permission | node_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 node to this account INVALID_UUID • Invalid uuid format or this uuid is already in use INVALID_SERIAL_NO • Invalid uuid format for serial_no INVALID_TYPE • Invalid type of node INVALID_OS_TYPE • Invalid OS type of node INVALID_LINKAGE • The linkage is invalid PRIMARY_NODE_NOT_FOUND • The primary node was not found |
Notes |
|
Description | Edit a node |
---|---|
URL | /node/set |
Parameters |
(sid || serial_no) • The session id or serial number of the node uuid • The node id name • Description of the node (optional) configuration • The configuration as a JSON hash of key values pairs (optional) reload_configuration • If this flag is set the node will be instructed to reload it's configuration on the next ping (optional) restart_gateway • If this flag is set the gateway will be instructed to restart the next ping (optional) monitor_study_create • Check if the node is sending studies normally (optional) monitor_study_create_threshold • Threshold in minutes for triggering the monitor_study_create notification (optional) monitor_node_ping • Check if the node is pinging (optional) monitor_node_ping_threshold • Threshold in minutes for triggering the monitor_node_ping notification (optional) monitor_node_slow_push • Check if the node is pushing slowly (optional) monitor_node_slow_push_threshold • Threshold in minutes for triggering the monitor_node_slow_push notification (optional) monitor_node_last_send • Check if the node has sent a study recently (optional) monitor_node_last_send_threshold • Threshold in minutes for triggering the monitor_node_last_send notification (optional) monitor_node_performance_metrics • A JSON hash of metrics that will be checked against the metrics sent to /node/performance/set. If a metric exceeds the value a failure notice will be sent (optional) monitor_email • Email address(es) to send monitor failure notices (optional) warning_email • Email address(es) to send warning notices (optional) storage_namespace • Namespace uuid to attach the node to. This requires a sysadmin sid and must be within the same account (optional) settings • A hash of the account settings that the node can override (optional) setting_{SETTING_NAME} • Set an individual setting. This is an alternative to the settings hash for easier use in the API tester (optional) facility_name • Name of the facility it is installed at (optional) facility_zip • Zip code of the facility it is installed at (optional) facility_contact • Name of the facility contact (optional) facility_contact_title • Title of the facility contact (optional) facility_email • Email of the facility contact (optional) facility_notes • Notes about the facility (optional) category • Node category (ACTIVE|INACTIVE|MIGRATION|TEST|DUPLICATE|INTEGRATED) (optional) is_public • Flag if the node is public (optional) ctc_bucket • Name of the S3 bucket to use for a cloud to cloud gateway (optional) primary_node_id • The primary node id (optional) |
Returns |
status • OK |
Permission | node_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 node can not be found INVALID_JSON • The field is not in valid JSON format. The error_subtype holds the name of the field NOT_PERMITTED • You are not permitted to edit this node INVALID_CONFIGURATION • An invalid combination of configuration options was set. The error_subtype will hold more detail NO_NODE_OVERRIDE • The setting does not allow a node override PRIMARY_NODE_NOT_FOUND • The primary node was not found CANNOT_MOVE_SLAVE • Cannot move the slave and master nodes between namespaces separately CANNOT_MOVE_PRIMARY • Cannot move the slave and master nodes between namespaces separately INVALID_INTEGER • An invalid integer was passed. The error_subtype holds the name of the invalid integer |
Notes |
|
Description | Get a node |
---|---|
URL | /node/get |
Parameters |
uuid • The node id (sid || serial_no) • The session id or serial number of the node |
Returns |
status • OK name • Description of the node uuid • uuid of the node type • The type of the node os_type • Node OS type serial_no • The serial number of the node storage_namespace • The storage namespace the node should harvest to storage_namespace_name • The name of the storage namespace the node should harvest to configuration • The configuration as JSON hash of key values pairs monitor_study_create • Check if the node is sending studies normally monitor_study_create_threshold • Threshold in minutes for triggering the monitor_study_create notification monitor_node_ping • Check if the node is pinging monitor_node_ping_threshold • Threshold in minutes for triggering the monitor_node_ping notification monitor_node_slow_push • Check if the node is pushing slowly monitor_node_slow_push_threshold • Threshold in minutes for triggering the monitor_node_slow_push notification monitor_node_last_send • Check if the node has sent a study recently monitor_node_last_send_threshold • Threshold in minutes for triggering the monitor_node_last_send notification monitor_node_performance_metrics • A JSON hash of metrics that will be checked against the metrics sent to /node/performance/set. monitor_email • Email address(es) to send monitor failure notices warning_email • Email address(es) to send warning notices accelerator_id • uuid of the accelerator if this is an accelerator node account_id • The associated account id settings • A hash of the account settings that the node has overridden has_access • Flag if the user has node_view or node_edit permissions on this node facility_name • Name of the facility it is installed at facility_zip • Zip code of the facility it is installed at facility_contact • Name of the facility contact facility_contact_title • Title of the facility contact facility_email • Email of the facility contact facility_notes • Notes about the facility category • Node category (ACTIVE|INACTIVE|MIGRATION|TEST|DUPLICATE|INTEGRATED) is_public • Flag if the node is public ctc_bucket • Name of the S3 bucket to use for a cloud to cloud gateway (optional) last_ping • Number of seconds since the nodes last ping. -1 if the node has never pinged primary_node_id • The primary node id |
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 node can not be found |
Notes |
Description | Ping node |
---|---|
URL | /node/ping |
Parameters |
uuid • The node id serial_no • The serial number of the node ack • Flag if the gateway wants to use the acknowledge workflow |
Returns |
status • OK reload_configuration • An optional flag field, if set the node should reload it's configuration. restart_gateway • An optional flag field, if set the gateway should restart ack • Flag if an acknowledgement is needed (optional) studies • An array of the studies each object in the array will have the following fields * uuid • Id of the push job * study_uid • The study uid * storage_namespace • The storage namespace * phi_namespace • The phi namespace * engine_fqdn • The FQDN of the storage engine for the study * modality • The study modality * size • The study size * image_count • The study image_count * accession_number • The study accession number * patientid • The study MRN * destination_id • Id of the destination (if the destination is DICOM) * aetitle • The ae title to send to (if the destination is DICOM) * address • The destination address (if the destination is DICOM) * port • The destination port (if the destination is DICOM) * created_at • Timestamp when the push job was created (if the destination is DICOM) * created_by_name • Name of the user who created the push job (if the destination is DICOM) * path • The destination path (if the destination is FOLDER) * bundle • The bundle type (if the destination is FOLDER) * detail • Any additional detail from the /study/cmove or "use_cache" if local routing is required or "is_auto" if this was created by routing rules fetch • An array of the studies to fetch each object in the array will have the following fields * uuid • Id of the fetch job * accession_number • The accession number to query on * destination_id • Id of the destination * aetitle • The ae title to query to * address • The query address * port • The query port * study_uid • Study uid to query for * patientid • Patient id to query for * destination_ae_title • Value of the field in the thin study (optional) * source • Source of the fetch either 'H' for an HL7 triggered fetch or 'O' for other * anonymize • A JSON hash of anonymization rules to apply to retrieved studies (optional) hl7 • An array of HL7 messages to deliver each object in the array will have the following fields * uuid • Id of the job * destination_id • Id of the destination * message • The HL7 message to deliver * address • The HL7 destination address * port • The HL7 destination port search_results • An array of the results from the /destination/search jobs run by the gateway. Each object in the array will have the following fields * uuid • Id of the search results * destination_id • Id of the destination that was searched * payload • Payload from the search * search_id • UUID of the original search search • An array of the search jobs to run. Each object in the array will have the following fields * uuid • Id of the search job * destination_id • Id of the destination * aetitle • The ae title to query to * address • The query address * port • The query port * mwl_search • Flag to indicate if this is a modality worklist search * node_search • Flag to indicate if this is a search from another node * create_thin • Value entered in the /destination/search * create_study • Value entered in the /destination/search * create_study_order • Value entered in the /destination/search * The rest of the fields are the optional search parameters in either the /destination/search or the /destination/search/mwl call webhook • An array of the webhooks to run. Each object in the array will have the following fields * uuid • Id of the webhook job * method • The HTTP method to use * url • The URL to call * parameters • A JSON hash of the call parameters * auth • The webhook auth setting burn • An array of the CD burn jobs to run. Each object in the array will have the following fields * uuid • Id of the burn job * name • Name of the destination * template • The template for the job * priority • Priority of the job * studies • An array of the studies to burn. Each object in the array will have the following fields ** study_uid • The study uid ** modality • The study modality ** size • The study size ** image_count • The study image_count ** study_description • The study description ** study_date • The study date ** storage_namespace • The storage namespace ** phi_namespace • The phi namespace ** engine_fqdn • The FQDN of the storage engine for the study ** labels • A JSON array of the labels log • An array of the log search jobs to run. Each object in the array will have the following fields * start • The start date and time for the log range * end • The end date and time for the log range * type • The log type to process (log|dicom|queue|system) xml • An array of the XML jobs to process |
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 node can not be found |
Notes |
|
Description | Acknowledge the last ping |
---|---|
URL | /node/ping/ack |
Parameters |
uuid • The node id serial_no • The serial number of the node |
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 node can not be found |
Notes |
Description | Update the status of a job picked up /node/ping |
---|---|
URL | /node/deliver |
Parameters |
uuid • The node id serial_no • The serial number of the node job_id • The uuid of the push job, not used for local pushes (optional) status • Status code of the job (S|F|P|B|U) - Success, failure, partial transfer, blocked or uncached status_reason • Detail on the status change (optional) ack • The HL7 ACK if this was an HL7 job (optional) email_reason • Email the user this reason for the status change (optional) is_local • The flag used to indicate the local push (optional) study_uid • The study uid of the local push, required for local pushes only (optional) destination_id • The uuid of the destination, required for local pushes (optional) |
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 node or job can not be found INVALID_STATUS • Invalid status code CONFLICTING_STATUS • This status conflicts with a prior status update |
Notes |
|
Description | Update the status of a fetch job picked up /node/ping |
---|---|
URL | /node/retrieve |
Parameters |
uuid • The node id serial_no • The serial number of the node job_id • The uuid of the fetch job status • Status code of the job (S|F|P) - Success, failure, partial transfer |
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 node or job can not be found INVALID_STATUS • Invalid status code |
Notes | The uuid and serial_no can also be passed using basic auth as the username/password combination |
Description | Set the status of webhook picked up /node/ping |
---|---|
URL | /node/webhook |
Parameters |
uuid • The node id serial_no • The serial number of the node webhook_id • The uuid of the webhook job status • Status code of the job (S|F) - Success, failure error_message • Detailed error message (optional) |
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 node or webhook can not be found INVALID_STATUS • Invalid status code |
Notes | The uuid and serial_no can also be passed using basic auth as the username/password combination |
Description | Get the node configuration |
---|---|
URL | /node/configuration |
Parameters |
uuid • The node id serial_no • The serial number of the node |
Returns |
status • OK storage_namespace • The storage namespace the node should harvest to configuration • The configuration as JSON hash of key values pairs destinations • An array of the destinations for the node. Each object holds the following same fields as the /destination/get call account_settings • A hash of the relevant account settings. (study_search_modifiers) |
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 node can not be found |
Notes |
The uuid and serial_no can also be passed using basic auth as the username/password combination
The ingress_filter element contains a json string which includes the group/element, the type of comparison and the value to test against. A sample document is as follows: |
Description | Delete a node |
---|---|
URL | /node/delete |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The node id |
Returns |
status • OK |
Permission | node_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 node can not be found NOT_PERMITTED • You are not permitted to delete this node HAS_DESTINATIONS • The node has associated destinations |
Notes |
Description | A study was queued for pushing to storage |
---|---|
URL | /node/study/queued |
Parameters |
uuid • The node id serial_no • The serial number of the node study_uid • The study uid |
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 node can not be found |
Notes | A node should notify services when it receives a study that needs to be pushed to the cloud. This call is needed for the monitor_study_create check to work. |
Description | A study was anonymized by the gateway |
---|---|
URL | /node/study/anonymized |
Parameters |
uuid • The node id serial_no • The serial number of the node old_study_uid • The old study uid new_study_uid • The new study uid |
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 node can not be found |
Notes | A node should notify services when a study_uid is anonymized prior to uploading the study to the storage. This call is needed to adjust actions scheduled on the study (shares, edits, etc). |
Description | Return the results of a search |
---|---|
URL | /node/found |
Parameters |
uuid • The node id serial_no • The serial number of the node search_id • The id of the search request status • Status code of the job, S by default (S|F) - Success, failure (optional) studies • A JSON array of the studies found. Each object has the following fields (optional) * study_uid • The study_uid * study_date • The study date * accession_number • The accession number * referring_physician • The referring physician * patient_name • Patient name * patientid • Patient ID * patient_sex • Gender * patient_birth_date • Birth date * study_description • Study description * modality • Modality * result_fields • A JSON structure with the answers for the requested result_fields in /destination/search (optional) |
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 node or search can not be found INVALID_JSON • The field is not in valid JSON format. The error_subtype holds the name of the field ALREADY_DONE • The search has already had results returned against it INVALID_STATUS • An invalid status was passed |
Notes |
Description | Return the results of a modality worklist search |
---|---|
URL | /node/found/mwl |
Parameters |
uuid • The node id serial_no • The serial number of the node search_id • The id of the search request status • Status code of the job, S by default (S|F) - Success, failure (optional) orders • A JSON array of the orders found. Each object has the following fields (optional) * patient_name • Patient name * patientid • Patient id * accession_number • Accession number * patient_sex • Gender * patient_birth_date • Birth date * order_number • Order number * order_date • Order date |
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 node or search can not be found INVALID_JSON • The field is not in valid JSON format. The error_subtype holds the name of the field ALREADY_DONE • The search has already had results returned against it INVALID_STATUS • An invalid status was passed |
Notes |
Description | Notify for a node event |
---|---|
URL | /node/event |
Parameters |
uuid • The node id serial_no • The serial number of the node event • The event (c_echo_error) destination_id • The id of the destination if the event is associated with a destination |
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 node or destination can not be found INVALID_EVENT • Invalid event SCHEDULE_IS_OFF • The event is outside of its scheduled time |
Notes |
Description | Request logs from the node be attached to a study |
---|---|
URL | /node/log |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The node id start • Start time stamp in YYYY-MM-DD HH:MM:SS format end • End time stamp in YYYY-MM-DD HH:MM:SS format type • Type of log (log|dicom|queue|system) defaults to log if not passed |
Returns |
status • OK |
Permission | node_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 node can not be found NOT_PERMITTED • You are not permitted to perform this action INVALID_DATE_TIME • The timestamp is invalid INVALID_RANGE • An invalid time range was specified TRY_LATER • The log search queue is full |
Notes |
|
Description | Send XML to or from a node |
---|---|
URL | /node/xml |
Parameters |
(sid || serial_no) • The session id or serial number of the node uuid • The node id xml • XML message |
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 NOT_FOUND • The node can not be found NOT_PERMITTED • You are not permitted to perform this action INVALID_XML • The XML does not parse FULL • The XML queue is full |
Notes |
|
Description | Record a metric for a job on the node |
---|---|
URL | /node/metric |
Parameters |
uuid • The node id serial_no • The serial number of the node job_id • The uuid of the push job metric • The metric to record |
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 node or job can not be found INVALID_METRIC • The metric is invalid for this job type |
Notes |
The following metrics are supported
|
Description | Set performance counters for the node |
---|---|
URL | /node/performance/set |
Parameters |
uuid • The node id serial_no • The serial number of the node data • A JSON data structure with performance data |
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 node can not be found |
Notes |
Description | Get performance counters for the node |
---|---|
URL | /node/performance/get |
Parameters |
(sid || serial_no) • The session id or serial number of the node uuid • The node id |
Returns |
status • OK data • The node's performance data |
Errors |
NOT_FOUND • The node can not be found NOT_PERMITTED • You are not permitted to view this node |
Notes |
Description | Add a progress record for the node |
---|---|
URL | /node/progress/add |
Parameters |
uuid • The node id serial_no • The serial number of the node queue • The queue state • The status destination_id • The destination uuid (optional) study_uid • Study uid (optional) patientid • DICOM tag (0010,0020) (optional) accession_number • DICOM tag (0008,0050) (optional) detail • JSON detail (optional) |
Returns |
status • OK uuid • The record uuid |
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 node or destination can not be found |
Notes |
Description | List the progress records for the node or destination |
---|---|
URL | /node/progress/list |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) (node_id || destination_id) • The node or destination id filter.* Filters (optional) page.* Pagination (optional) sort_by • Sorting (optional) |
Returns |
status • OK page • The pagination status hash last_ping • Number of seconds since the nodes last ping. -1 if the node has never pinged progresses • An array of the progress records. Each object holds the following same fields as the /node/progress/get call |
Permission | node_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 node can not be found NOT_PERMITTED • You are not permitted to do this |
Notes |
|
Description | Get a node progress record |
---|---|
URL | /node/progress/get |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The node progress uuid |
Returns |
status • OK destination_id • The destination uuid destination_name • The destination name queue • The queue state • The status study_uid • Study uid patientid • DICOM tag (0010,0020) (optional) accession_number • DICOM tag (0008,0050) (optional) detail • JSON detail created • Timestamp |
Permission | node_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 record can not be found NOT_PERMITTED • You are not permitted to do this |
Notes |
Destination commands
Dicom destinationsDescription | List the destinations for the account |
---|---|
URL | /destination/list |
Parameters |
(sid || node_id && serial_no) • Either the sid or the node uuid and serial number account_id • uuid of the account filter.* Filters (optional) page.* Pagination (optional) sort_by • Sorting (optional) |
Returns |
status • OK page • The pagination status hash destinations • An array of the destinations. Each object holds the following same fields as the /destination/get call |
Permission | destination_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 destination to the account |
---|---|
URL | /destination/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 that handles the destination name • Name of the destination type • Type of the destination either DICOM, FOLDER, ACCELERATOR,VIRTUAL, BURNER, XDS, LINKED, DISTRIBUTING or UPLOADER. Defaults to DICOM (optional) linked_destination • uuid of the destination for LINKED destinations linked_qr_to_referred_account • A flag to create resultant studies in the linked destination's account (not the account of LINKED destination where the search was initiated). Meaningful for LINKED destinations only (opional) linked_qr_activity_in_referred_account • A flag to create DESTINATION_SEARCH activities in the linked destination's account. Meaningful for LINKED destinations only (opional) distributed_destinations • A JSON array of destination ids. This list will be used to process requests in round robin manner. Meaningful for DISTRIBUTING destination type only (opional) path • Path of the folder for a FOLDER type of destination (required if FOLDER type) aetitle • Aetitle of the destination (required if DICOM type) address • Address of the destination (required if DICOM type) port • Port of the destination (required if DICOM type) can_query_retrieve • Can this destination support query retrieve from HL7 messages (optional) can_retrieve_thin • Can this destination support retrieving thin studies (optional) can_search • Can this destination support searching (optional) can_search_mwl • Can this destination support searching a modality work list (optional) can_push_hl7 • Can this destination support pushong Hl7 messages (optional) sqlch_psh_if_img_unchg • Squelch pushes to the destination if the image count has not changed and the push is by a routing rule (optional) sqlch_psh_if_route_hl7 • Squelch pushes to the destination if the push was generated by HL7 triggered routing (optional) hl7_address • Address of an attached HL7 destination (optional except for VIRTUAL destinations) hl7_port • Port of an attached HL7 destination (optional except for VIRTUAL destinations) c_echo_interval • Interval in seconds to C echo the destination (optional) c_echo_schedule • C echo schedule (optional) fire_webhooks • Fire webhooks for events associated with this destination (optional) default_query_retrieve_level • Default query retrieve level this can be either (study|series|image) and defaults to study if not specified (optional) push_related_studies • Push all the related studies (same MRN/patientid) in the namespace when a study is pushed (optional) gateway_settings • Gateway settings (optional) cd_burn_info • A JSON hash with the CD burning information (optional) cd_burn_name • Name for the CD burner software (optional) cd_burn_priority • Integer value for the burner priority (optional) sort_order • Integer value for sorting (optional) hl7_fetch_filter • A transform condition expression (see /transform/add for format) to match against the HL7 message. Only fire a query retrieve if the message matches the condition (optional) manual_push_roles • A comma separated list of role uuids, a user is required to have one of them to manually push to this destination (optional) ui_json • JSON for UI settings (optional) |
Returns |
status • OK uuid • uuid of the destination |
Permission | destination_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 account can not be found INVALID_NODE_TYPE • The node is not a harvester NODE_NOT_FOUND • The node can not be found INVALID_VALUE • An invalid value was passed. The error_subtype holds the value DUP_AETITLE • Duplicate aetitle. All destinations for the same node must have a unique aetitle NOT_PERMITTED • You are not permitted to add a destination to this account INVALID_FLAG • An invalid flag was passed. The error_subtype holds the name of the invalid flag INVALID_INTEGER • An invalid integer was passed. The error_subtype holds the name of the invalid integer INVALID_SCHEDULE • The schedule is invalid. The error_subtype holds the error detail INVALID_TYPE • An invalid type was passed INVALID_GATEWAY_TYPE • The type is wrong for the gateway it is getting attached to INVALID_CD_BURN_INFO • Invalid cd_burn_info. The error_subtype holds more detail INVALID_NODE_TYPE • The node type is invalid for this type of destination INVALID_DISTRIBUTED_DESTINATION • distributed_destinations configuration is invalid NOT_SYSADMIN • The user is not a sysadmin user |
Notes |
|
Description | Edit a destination |
---|---|
URL | /destination/set |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • uuid of the destination name • Name of the destination (optional) path • Path of the folder (optional) aetitle • Aetitle of the destination (optional) address • Address of the destination (optional) port • Port of the destination (optional) node_id • uuid of the node that handles the destination (optional) can_query_retrieve • Can this destination support query retrieve from HL7 messages (optional) can_retrieve_thin • Can this destination support retrieving thin studies (optional) can_search • Can this destination support searching (optional) can_search_mwl • Can this destination support searching a modality work list (optional) can_push_hl7 • Can this destination support pushong Hl7 messages (optional) sqlch_psh_if_img_unchg • Squelch pushes to the destination if the image count has not changed and the push is by a routing rule (optional) sqlch_psh_if_route_hl7 • Squelch pushes to the destination if the push was generated by HL7 triggered routing (optional) hl7_address • Address of an attached HL7 destination (optional) hl7_port • Port of an attached HL7 destination (optional) c_echo_interval • Interval in seconds to C echo the destination (optional) c_echo_schedule • C echo schedule (optional) fire_webhooks • Fire webhooks for events associated with this destination (optional) default_query_retrieve_level • Default query retrieve level this can be either (study|series|image) and defaults to study if not specified (optional) push_related_studies • Push all the related studies (same MRN/patientid) in the namespace when a study is pushed (optional) gateway_settings • Gateway settings (optional) cd_burn_info • A JSON hash with the CD burning information (optional) cd_burn_name • Name for the CD burner software (optional) cd_burn_priority • Integer value for the burner priority (optional) sort_order • Integer value for sorting (optional) hl7_fetch_filter • A transform condition expression (see /transform/add for format) to match against the HL7 message. Only fire a query retrieve if the message matches the condition (optional) manual_push_roles • A comma separated list of role uuids, a user is required to have one of them to manually push to this destination (optional) linked_qr_to_referred_account • A flag to create resultant studies in the linked destination's account (not the account of LINKED destination where the search was initiated). Meaningful for LINKED destinations only (opional) linked_qr_activity_in_referred_account • A flag to create DESTINATION_SEARCH activities in the linked destination's account. Meaningful for LINKED destinations only (opional) distributed_destinations • A JSON array of destination ids. This list will be used to process requests in round robin manner. Meaningful for DISTRIBUTING destination type only (opional) ui_json • JSON for UI settings (optional) |
Returns |
status • OK |
Permission | destination_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 destination can not be found NOT_PERMITTED • You are not permitted to edit the destination NODE_NOT_FOUND • The node can not be found INVALID_NODE_TYPE • The node is not a harvester INVALID_VALUE • An invalid value was passed. The error_subtype holds the value DUP_AETITLE • Duplicate aetitle. All destinations for the same node must have a unique aetitle INVALID_FLAG • An invalid flag was passed. The error_subtype holds the name of the invalid flag INVALID_INTEGER • An invalid integer was passed. The error_subtype holds the name of the invalid integer INVALID_SCHEDULE • The schedule is invalid. The error_subtype holds the error detail INVALID_CD_BURN_INFO • Invalid cd_burn_info. The error_subtype holds more detail INVALID_DISTRIBUTED_DESTINATION • distributed_destinations configuration is invalid |
Notes |
Description | Get a destination |
---|---|
URL | /destination/get |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • uuid of the destination |
Returns |
status • OK uuid • uuid of the destination name • Name of the destination type • Type of the destination path • Path of the folder aetitle • Aetitle of the destination address • Address of the destination port • Port of the destination node_id • id of the handle that handles the destination can_query_retrieve • Can this destination support query retrieve from HL7 messages can_retrieve_thin • Can this destination support retrieving thin studies can_search • Can this destination support searching can_search_mwl • Can this destination support searching a modality work list can_push_hl7 • Can this destination support pushong Hl7 messages sqlch_psh_if_img_unchg • Squelch pushes to the destination if the image count has not changed and the push is by a routing rule sqlch_psh_if_route_hl7 • Squelch pushes to the destination if the push was generated by HL7 triggered routing hl7_address • Address of an attached HL7 destination hl7_port • Port of an attached HL7 destination c_echo_interval • Interval in seconds to C echo the destination c_echo_schedule • C echo schedule fire_webhooks • Fire webhooks for events associated with this destination default_query_retrieve_level • Default query retrieve level push_related_studies • Push all the related studies (same MRN/patientid) in the namespace when a study is pushed gateway_settings • Gateway settings cd_burn_info • A JSON hash with the CD burning information cd_burn_name • Name for the CD burner software cd_burn_priority • Integer value for the burner priority sort_order • Integer value for sorting hl7_fetch_filter • A transform condition expression (see /transform/add for format) to match against the HL7 message. Only fire a query retrieve if the message matches the condition linked_destination • uuid of the linked destination if this is a LINKED type destination manual_push_roles • A comma separated list of role uuids, a user is required to have one of them to manually push to this destination linked_qr_to_referred_account • A flag to create resultant studies in the linked destination's account (not the account of LINKED destination where the search was initiated). Meaningful for LINKED destinations only linked_qr_activity_in_referred_account • A flag to create DESTINATION_SEARCH activities in the linked destination's account. Meaningful for LINKED destinations only distributed_destinations • A JSON array of destination ids. This list is used to process requests in round robin manner ui_json • JSON for UI settings |
Permission | destination_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 destination can not be found NOT_PERMITTED • You are not permitted to view the destination |
Notes |
Description | Delete a destination |
---|---|
URL | /destination/delete |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • uuid of the destination |
Returns |
status • OK |
Permission | destination_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 destination can not be found NOT_PERMITTED • You are not permitted to delete the destination |
Notes |
Description | Search a destination |
---|---|
URL | /destination/search |
Parameters |
(sid || node_id && serial_no) • Either the sid or the node uuid and serial number uuid • uuid of the destination study_request_id • uuid of a study request (optional) copy_to • uuid of a namespace to copy the retrieved or create_thin studies into (optional) push_to • uuid of a destination to push the retrieved studies to (optional) return_results • A flag to not create any studies or activities as a result of the search (optional) create_thin • The maximum number of thin studies to create from this search instead of creating an activity for the search results (optional) create_study • The maximum number of studies to retrieve from this search instead of creating an activity for the search results (optional) create_study_order • The retrieved studies will be created in this order. The key follows the Sorting specification, fields reported by /node/found (including result_fields tags) can be used refetch_study • Flag to refetch the search results when studies have been fetched already (optional) (see Notes) share_email • Email to share retrieved studies with on subsequent /destination/retrieve (optional) bundle_id • An integral number Used internally to track searches initiated from a single bundle (optional) customfield-{CUSTOMFIELD_UUID} • Custom field(s) will be set for the resultant studies after /destination/retrieve call (optional) customfield-'{CUSTOMFIELD_NAME}' • Custom field(s) to be set for the resultant studies. (optional) anonymize • A JSON hash of anonymization rules to apply to retrieved studies (optional) anonymize_{STUDY_FIELD} • The anonymization rules breakdown. This overrides the anonymize parameter if passed (optional) tracking_number • A UUID tracking number that can be used to pull a report against this search (optional) -- The rest of the fields are used for the search --
study_uid • Study uid to find (optional)patient_name • Patient name to find (optional) patientid • Patient id to find (optional) accession_number • Accession number to find (optional) referring_physician • Referring physician to find (optional) modality • Modality (optional) start_datetime • DICOM start date time stamp to bound the search (optional) end_datetime • DICOM end date time stamp to bound the search (optional) patient_sex • Gender to find (optional) patient_birth_date • Birth date to find (optional) query_fields • A JSON hash of additional query fields (optional) result_fields • A JSON array of DICOM tags that the destination should return (optional) |
Returns |
status • OK uuid • UUID of the search |
Permission | destination_search |
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 destination, namespace or study request can not be found NOT_PERMITTED • You are not permitted to search the destination NOT_SUPPORTED • The destination does not support searching a destination INVALID_FIELD_NAME • The field cannot be used in anonymization rules. The error_subtype holds the invalid field name. INVALID_REGEXP • Invalid anonymization rule regular expression. The error_subtype holds the invalid regexp. INSUFFICIENT_CRITERIA • Not enough search fields are populated CAN_NOT_TRACK • Tracking only works with the create_study option FORBIDDEN_FIELD • A hidden or read-only study field was passed. The error_subtype holds the invalid field name. |
Notes |
|
Description | Poll destination search results |
---|---|
URL | /destination/search/get |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • uuid of the destination search |
Returns |
status • OK uuid • UUID of the search pickup • Picked up datetime stamp of the search search_status • Status code of the search (S|F) created • Date and time the search job was created updated • Date and time the search job was updated destination_id • Id of the destination results • An array of search results, each object in the array will have a subset of the following fields (depending of what fields were returned by the gateway) * patientid • Patient MRN * patient_name • Patient name * accession_number • Accession number * patient_sex • Gender * patient_birth_date • DOB * referring_physician • Referring physician * modality • Modality * study_date • The study date * study_description • Study description * study_uid • The study uid |
Permission | destination_search |
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 destination search can not be found NOT_PERMITTED • You are not permitted to get the search results |
Notes |
Description | Generate a report against the tracking number of the search(s) |
---|---|
URL | /destination/search/report |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) tracking_number • The tracking number to report on email • Optional email address to send the report to |
Returns |
status • OK report_id • The report id |
Permission | destination_search |
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 | Retrieve a study from a destination |
---|---|
URL | /destination/retrieve |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) -- The following fields are used for the activity retrieve workflow --
activity_id • uuid of the DESTINATION_SEARCH activity to retrieve fromcustomfield-{CUSTOMFIELD_UUID} • Custom field(s) will be set for the study retrieved (optional) customfield-{CUSTOMFIELD_UUID} • Custom field(s) will be set for the study retrieved (optional) -- The following fields are used for the AMP-UI workflow --
destination_search_id • uuid of the destination searchstudy_uid • study_uid of one of the search results accession_number • accession_number of one of the search results (optional) patientid • patientid of one of the search results (optional) -- The following fields are used for the study request workflow --
study_request_found_id • UUID of a study request search results to retrieve and send as study request responsesend_method • The method to send a study as a study request response (share|duplicate) |
Returns |
status • OK |
Permission | destination_search |
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 type of object not found FORBIDDEN_FIELD • A hidden or read-only study field was passed. The error_subtype holds the invalid field name. NOT_PERMITTED • You are not permitted to retriave the search results |
Notes |
|
Description | Run a modality worklist search on a destination |
---|---|
URL | /destination/search/mwl |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • uuid of the destination study_id • The id of the study we are searching for orders for -- The rest of the fields are used for the search --
patient_name • Patient name to find (optional)patientid • Patient id to find (optional) accession_number • Accession number to find (optional) patient_sex • Gender to find (optional) patient_birth_date • Birth date to find (optional) order_number • Order number to find (optional) order_date • Order date to find (optional) |
Returns |
status • OK |
Permission | destination_search |
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 destination or study can not be found NOT_PERMITTED • You are not permitted to search the destination NOT_SUPPORTED • The destination does not support searching a destination INSUFFICIENT_CRITERIA • Not enough search fields are populated |
Notes |
Description | Audit QR actions in an account |
---|---|
URL | /destination/search/audit |
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) sort_by • Sorting (optional) expand.* Field expansion (optional) |
Returns |
status • OK page • The pagination status hash destination_searches • An array of the QR audit events. Each event holds the following fields * uuid • Id of the audit event * status • Status of the destination search. 'N' - pending, 'I' - in progress, 'S' - success, 'F' - Failure * count • Number of found studies * created • Date and time when the QR was initiated * user_id • User who initiated the QR * payload • The search criteria, a JSON object that may contain the following fields: ** patientid Patient MRN ** patient_birth_date • Patient birth date ** accession_number • Accession number ** patient_sex • Patient sex ** modality • Modality ** studyDescription • Study description ** start_datetime • DICOM start date time stamp ** end_datetime • DICOM end date time stamp ** patient_name • Patient name ** study_uid • Study uid ** referring_physician • Referring physician ** order_number • Order number ** order_date • Date and time of the order * results • JSON array of the studies found. Each array element is a JSON object, the list of fields corresponds to the list of fields passed to /node/found in the studies key * front_destination_id • Id of the user-facing destination that was used in the QR process * real_destination_id • Id of the real destination that executed the QR, this may differ from the user-facing destination when a linked of a distributing destination was used * is_foreign_search • Flag if the search originates from another account * originator_account_id • UUID of the account where the search originated * originator_account_name • Name of the account where the search originated * study_fetches • JSON array of the study retrievals, each array element is a JSON object holding the following keys: ** uuid • Id of the Study Fetch job ** accession_number • Accession number ** study_uid • The study uid ** patientid Patient MRN ** created • Date and time when the study retrieve was initiated ** status • Status of the study retrieval. 'N' - pending, 'I' - in progress, 'S' - success, 'F' - Failure, 'P' - Partial |
Permission | destination_search_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_ENABLED • The QR audit feature is not enabled for the account |
Notes |
|
Route commands
Routing rulesDescription | List the routing rules for the account |
---|---|
URL | /route/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 routes • An array of the routing rules. Each object holds the following same fields as the /route/get call |
Permission | route_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 routing rule |
---|---|
URL | /route/add |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) name • Name of the route (account_id || group_id || location_id || namespace_id) • uuid of the account, group or location or namespace the route is linked with for_group • Apply the rule to studies in any group in the account (optional) for_location • Apply the rule to studies in any location in the account (optional) conditions • Route conditions in JSON format actions • Route actions in JSON format options • Route options in JSON format (optional) schedule • Route schedule in JSON format (optional) sequence • An integer value. Routing rules are sorted from low number to high number (optional) on_share • Apply the rule to studies shared into the namespace on_harvest • Apply the rule to studies harvested into the namespace on_upload • Apply the rule to studies uploaded into the namespace - flag (optional) on_copy • Apply the rule to studies copied into the namespace - flag (optional) on_manual_route • Apply this rule for a manually routed study - flag (optional) on_thin • Apply this rule to thin studies when they are created - flag (optional) no_re_run • Do not run this rule on a re-notification from storage - flag (optional) only_re_run • Only run this rule on a re-notification from storage - flag (optional) suspended • This rule is suspended and not applied - flag (optional) delay • Number of minutes to delay running this rule for after it is triggered (optional) delay_seconds • Number of seconds to delay running this rule for after it is triggered (optional) delay_till_schedule • Delay running this rule after it is triggered until the next scheduled time - flag (optional) other_namespaces • A comma separated list of the uuid of other namespaces to apply this rule to (optional) manual_roles • A comma separated list of the uuid of roles that can run the rule manually (optional) delay_from_study_field • Delay running this rule, start counting from this study's datetime field (optional) delay_from_study_seconds • Number of seconds to delay running this rule for after a timepoint defined by delay_from_study_field (optional) rule_set_id • uuid of the rule set to add them to (optional) |
Returns |
status • OK uuid • The route uuid |
Permission | route_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 ACCOUNT_NOT_FOUND • The account was not found NOT_PERMITTED • You are not permitted to add a route to that account NOT_FOUND • The object was not found. The error_subtype holds the type of object not found NOT_GLOBAL • Only global user can use for_group, for_location INVALID_LINKAGE • The linkage is invalid INVALID_CONDITION • A condition is invalid. The error_subtype holds the condition INVALID_ACTION • An action is invalid. The error_subtype holds the error detail INVALID_OPTION • An option is invalid. The error_subtype holds the error detail INVALID_SCHEDULE • The schedule is invalid. The error_subtype holds the error detail INVALID_OTHER_NAMESPACES • The other_namespaces is invalid. The error_subtype holds the error detail INVALID_MANUAL_ROLES • The manual_roles is invalid. The error_subtype holds the error detail |
Notes |
|
Description | Save a routing rule |
---|---|
URL | /route/set |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The route uuid name • Name of the route (optional) (account_id || group_id || location_id || namespace_id) • uuid of the account, group or location or namespace the route is linked with (optional) for_group • Apply the rule to studies in any group in the account (optional) for_location • Apply the rule to studies in any location in the account (optional) conditions • Route conditions in JSON format (optional) actions • Route actions in JSON format (optional) options • Route options in JSON format (optional) schedule • Route schedule in JSON format (optional) sequence • An integer value. Routing rules are sorted from low number to high number (optional) on_share • Apply the rule to studies shared into the namespace (optional) on_harvest • Apply the rule to studies harvested into the namespace (optional) on_upload • Apply the rule to studies uploaded into the namespace - flag (optional) on_copy • Apply the rule to studies copied into the namespace - flag (optional) on_manual_route • Apply this rule for a manually routed study- flag (optional) on_thin • Apply this rule to thin studies when they are created - flag (optional) no_re_run • Do not run this rule on a re-notification from storage - flag (optional) only_re_run • Only run this rule on a re-notification from storage - flag (optional) suspended • This rule is suspended and not applied - flag (optional) delay • Number of minutes to delay running this rule for after it is triggered (optional) delay_seconds • Number of seconds to delay running this rule for after it is triggered (optional) delay_till_schedule • Delay running this rule after it is triggered until the next scheduled time - flag (optional) other_namespaces • A comma separated list of the uuid of other namespaces to apply this rule to (optional) for_group • Apply the rule to studies in any group in the account (optional) for_location • Apply the rule to studies in any location in the account (optional) manual_roles • A comma separated list of the uuid of roles that can run the rule manually (optional) delay_from_study_field • Delay running this rule, start counting from this study's datetime field (optional) delay_from_study_seconds • Number of seconds to delay running this rule for after a timepoint defined by delay_from_study_field (optional) rule_set_id • uuid of the rule set to add them to (optional) |
Returns |
status • OK |
Permission | route_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 type of object not found NOT_PERMITTED • You are not permitted to edit the route NOT_GLOBAL • Only global user can use for_group, for_location INVALID_FLAG • An invalid flag was passed. The error_subtype holds the name of the invalid flag INVALID_JSON • The field is not in valid JSON format. The error_subtype holds the name of the field INVALID_LINKAGE • The linkage is invalid INVALID_CONDITION • A condition is invalid. The error_subtype holds the condition INVALID_ACTION • An action is invalid. The error_subtype holds the error detail INVALID_OPTION • An option is invalid. The error_subtype holds the error detail INVALID_SCHEDULE • The schedule is invalid. The error_subtype holds the error detail INVALID_OTHER_NAMESPACES • The other_namespaces is invalid. The error_subtype holds the error detail INVALID_MANUAL_ROLES • The manual_roles is invalid. The error_subtype holds the error detail WRONG_ACCOUNT • The passed linkage belongs to another account |
Notes | See the /route/add command notes for the format of the conditions and actions fields |
Description | Get a routing rule |
---|---|
URL | /route/get |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The route uuid |
Returns |
status • OK name • Name of the route namespace_id • uuid of the namespaces the route is associated with namespace_name • Name of the namespaces the route is associated with for_group • Apply the rule to studies in any group in the account for_location • Apply the rule to studies in any location in the account conditions • Route conditions as a JSON structure actions • Route actions as a JSON structure options • Route actions as a JSON structure schedule • Route schedule in JSON format sequence • An integer value. Routing rules are sorted from low number to high number on_share • Apply the rule to studies shared into the namespace - flag on_harvest • Apply the rule to studies harvested into the namespace - flag on_upload • Apply the rule to studies uploaded into the namespace - flag on_copy • Apply the rule to studies copied into the namespace - flag on_manual_route • Apply this rule for a manually routed study- flag on_thin • Apply this rule to thin studies when they are created - flag no_re_run • Do not run this rule on a re-notification from storage - flag only_re_run • Only run this rule on a re-notification from storage - flag suspended • This rule is suspended and not applied - flag delay • Number of minutes to delay running this rule for after it is triggered delay_seconds • Number of seconds to delay running this rule for after it is triggered delay_till_schedule • Delay running this rule after it is triggered until the next scheduled time - flag capture_email • Does an email need to be captured to run this rule - flag other_namespaces • A comma separated list of the uuid of other namespaces to apply this rule to manual_roles • A comma separated list of the uuid of roles that can run the rule manually delay_from_study_field • Delay running this rule, start counting from this study's datetime field delay_from_study_seconds • Number of seconds to delay running this rule for after a timepoint defined by delay_from_study_field rule_set_id • uuid of the rule set to add them to |
Permission | route_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 route can not be found NOT_PERMITTED • You are not permitted to view the route |
Notes |
Description | Delete a routing rule |
---|---|
URL | /route/delete |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The route uuid |
Returns |
status • OK |
Permission | route_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 route can not be found NOT_PERMITTED • You are not permitted to delete the route |
Notes |
Description | Test the matching on PHYSICIAN_ALIAS |
---|---|
URL | /route/physician/alias/match |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) account_id • The account to test in lv • The tag text to match against the PHYSICIAN_ALIAS rule. |
Returns |
status • OK users • An array of the users that matched the tag. Each object holds the fields from the /account/user/get call excluding the locations and groups fields |
Permission | route_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 account can not be found NOT_PERMITTED • You are not permitted to do this |
Notes |
Account (organization) commands
Description | List the accounts the user belongs to |
---|---|
URL | /account/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) permissions • Flag to return the users role and permissions in the accounts (optional) |
Returns |
status • OK page • The pagination status hash accounts • An array of the accounts. Each object holds the following same fields as the /account/get call --- The following field fields are append to the account objects if the permissions flag is specified --- * permissions • The users permissions in the account * role_id • uuid of the users account role * role_name • Name of the users account role * default_role_id • uuid of the default account role * default_role_name • Name of the default account role |
Errors | |
Notes |
Description | Save an account |
---|---|
URL | /account/set |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The account uuid name • Name of the account (optional) password_expire • Number of days before account passwords expire. No expiration if zero. (optional) session_expire • Number of minutes before an idle session expires. (optional) must_approve • Flag if shared studies must be approved for the account namespace (optional) must_approve_upload • Flag if uploaded studies must be approved (optional) must_approve_harvest • Flag if harvested studies must be approved (optional) must_approve_move • Flag if moved studies must be approved (optional) must_approve_copy • Flag if copied studies must be approved (optional) no_share • Flag if studies can not be shared with this account (optional). Studies can still be shared with locations, groups and users in the account. can_request • Flag if user can request to join the account (optional) share_code • The share code of the account (optional) share_description • The share description of the account (optional) share_settings • Share settings JSON structure of the share display settings (optional) share_via_gateway • Flag if a gateway share is allowed (optional) hl7_template • The HL7 reporting template for the account (optional) search_threshold • The number of studies record in the namespace to switch the UI from list to search mode (optional) settings • A hash of the account 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) css • Custom CSS for the account (optional) vendor • Vendor name (optional) client_code • The client_code (optional) role_id • Id for the default role for the account (optional) customfield-{CUSTOMFIELD_UUID} • Custom field(s) (optional) site_management_account_id • The corresponding site management account (optional) |
Returns |
status • OK |
Permission | account_edit, sysadmin or support is required to set site_management_account_id |
Errors |
NOT_FOUND • The object was not found. The error_subtype holds the name of field that triggered the error NOT_PERMITTED • You are not permitted to modify this record DUPLICATE_NAME • The account name is already taken INVALID_FLAG • An invalid flag was passed. The error_subtype holds the name of the invalid flag DUP_SHARE_CODE • The share code is already used INVALID_CUSTOMFIELD • Invalid custom field(s) name or value were passed. The error_subtype holds an array of the error details INVALID_INTEGER • An invalid integer was passed. The error_subtype holds the name of the invalid integer INVALID_JSON • The field is not in valid JSON format. The error_subtype holds the name of the field ROLE_NAMESPACE_MISMATCH (INCOMPATIBLE_ROLE) • The role cannot be used for the account, data contains role_id and namespace_id NOT_SITE_MANAGEMENT_ACCOUNT • The account passed in site_management_account_id does not have the enable_site_management setting enabled NOT_SYSADMIN_OR_SUPPORT • The user is not a sysadmin or support user |
Notes |
|
Description | Get an account |
---|---|
URL | /account/get |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The account uuid permissions • Flag to return the users role and permissions in the accounts (optional) brand_settings • A comma delimited list of the settings from /brand/get for this vanity to return (optional) role_settings • A comma delimited list of the user's role settings to return (optional) |
Returns |
status • OK uuid • Account uuid name • Name of the account vanity • Vanity host name(s) for the account password_expire • Number of days before account passwords expire. session_expire • Number of minutes before an idle session expires. namespace_id • Namespace of the account must_approve • Flag if shared studies must be approved must_approve_upload • Flag if uploaded studies must be approved must_approve_harvest • Flag if harvested studies must be approved must_approve_move • Flag if moved studies must be approved must_approve_copy • Flag if copied studies must be approved no_share • Flag to stop sharing into this namespace can_request • Flag if user can request to join the account share_code • The share code of the account share_description • The share description of the account share_settings • Share settings JSON structure of the share display settings share_via_gateway • Flag if a gateway share is allowed hl7_template • The HL7 reporting template for the account search_threshold • The number of studies record in the namespace to switch the UI from list to search mode css • The account CSS settings vendor • Vendor name client_code • The client_code role_id • Id of the default role for the account role_name • Name of the default role for the account settings • A hash of the account settings and brand settings (returned as brand_(SETTING NAME) role_settings • A hash of the user's role settings connected • Flag if they are connected to a payment processor tags • An array of user tags associated with this object (This is only returned if the object has tags) customfields • An array of the custom fields associated with this account. Each object has the following fields (This is only returned if the group has custom fields) site_management_account_id • The corresponding site management account --- The following field fields are returned if the permissions flag is specified --- * permissions • The users permissions in the account * role_id • uuid of the users account role * role_name • Name of the users account role * default_role_id • uuid of the default account role * default_role_name • Name of the default account role * has_activity_permission • Flag if the user has activity permissions within 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 account can not be found |
Notes |
Description | Add a user to an account |
---|---|
URL | /account/user/add |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The account uuid (email || user_id) • The email address or uuid of the user to add role_id • uuid of the users role in the account (optional). account_email • Users account_email. Only set this if it is different than the users login email (optional). account_alias • Users alias in the account. (optional). account_login • Users login name in the account. (optional). account_password • Password for the account_password. (optional). password_reset • Flag if the password needs to be reset. (optional). global • Flag if this is a global user (optional). global_role_id • uuid of a role to be used in groups and locations when the global user is added to them, this role overrides groups'/locations' default roles (optional). epic_user • Epic user used to map Epic users into Ambra's ones to track activity. (optional). session_expire • Number of minutes before an idle session expires. (optional) max_sessions • Over-ride value for the max number of simultaneous sessions the user can have. (optional). set_default_organization • A flag to set this account as a default one for the user using user_default_organization Setting. (optional) sso_only • Flag if the user can only login via SSO. (optional). external_roles • A comma separated list or a JSON list of External roles assigned to the user. These roles will be mapped when user logs in. (optional). event_share • Notify the user on a share into the account namespace (optional) event_share_unapproved • Notify the user when a study is shared with the namespace and requires an approval (optional) event_approve • Notify the user on a approval needed into the account namespace (optional) event_upload • Notify the user on an upload into the account namespace (optional) event_upload_fail • Notify the user on a failed upload into the account namespace (optional) event_harvest • Notify the user on a harvest into the account namespace (optional) event_copy • Notify the user when a study is copied into the account namespace (optional) event_join • Notify the user on a join request for the account (optional) event_purge • Notify the user the results of a purge job for the account (optional) event_new_report • Notify the user when a report is attached in the account namespace (optional) event_report_remove • Notify the user when a report is removed in the account 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 account namespace (optional) event_node • Notify the user when an account 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) settings • A hash of the account settings that the user can override (optional) setting_{SETTING_NAME} • Set an individual setting. This is an alternative to the settings hash for easier use in the API tester (optional) customfield-{CUSTOMFIELD_UUID} • Custom field(s) (optional) |
Returns |
status • OK uuid • uuid of the user |
Permission | account_user_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 account can not be found NOT_PERMITTED • You are not permitted to add this user to the account USER_NOT_FOUND • The user can not be found ALREADY_EXISTS • The user is already a member of the account INVALID_FLAG • An invalid flag was passed. The error_subtype holds the name of the invalid flag DUPLICATE_NAME • The account_login is already in use BAD_PASSWORD • Password needs to be at least 8 characters long, contain at least two numbers, contain at least two characters and can't be one of your last three passwords INVALID_CUSTOMFIELD • Invalid custom field(s) name or value were passed. The error_subtype holds an array of the error details ROLE_NAMESPACE_MISMATCH (INCOMPATIBLE_ROLE) • The role cannot be used for the account, data contains role_id and namespace_id ROLE_NAMESPACE_MISMATCH (GLOBAL_USER_WITH_RESTRICTED_ROLE) • They are adding a global user with a role restricted to group/location and there is a group/location in the account, data contains role_id, namespace_id and user_id |
Notes |
|
Description | Edit the users account information |
---|---|
URL | /account/user/set |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The account uuid user_id • The users uuid role_id • uuid of the users role in the account (optional). account_email • Users account_email. Only set this if it is different than the users login email (optional). account_alias • Users alias in the account. (optional). account_login • Users login name in the account. (optional). account_password • Password for the account_password. (optional). password_reset • Flag if the password needs to be reset. (optional). global • Flag if this is a global user. (optional). global_role_id • uuid of a role to be used in groups and locations when the global user is added to them, this role overrides groups'/locations' default roles (optional). epic_user • Epic user used to map Epic users into Ambra's ones to track activity (optional). session_expire • Number of minutes before an idle session expires. (optional) max_sessions • Over-ride value for the max number of simultaneous sessions the user can have. (optional). sso_only • Flag if the user can only login via SSO. (optional). external_roles • A comma separated list or a JSON list of External roles assigned to the user. These roles will be mapped when user logs in. (optional). event_share • Notify the user on a share into the account namespace (optional) event_share_unapproved • Notify the user when a study is shared with the namespace and requires an approval (optional) event_approve • Notify the user on a approval needed into the account namespace (optional) event_upload • Notify the user on an upload into the account namespace (optional) event_upload_fail • Notify the user on a failed upload into the account namespace (optional) event_harvest • Notify the user on a harvest into the account namespace (optional) event_copy • Notify the user when a study is copied into the account namespace (optional) event_join • Notify the user on a join request for the account (optional) event_purge • Notify the user the results of a purge job for the account (optional) event_new_report • Notify the user when a report is attached in the account namespace (optional) event_report_remove • Notify the user when a report is removed in the account 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 account namespace (optional) event_node • Notify the user when an account 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) customfield-{CUSTOMFIELD_UUID} • Custom field(s) (optional) settings • A hash of the account settings that the user can override (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 | account_user_edit or the user can set the event flags and custom fields for themselves |
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 edit this user USER_NOT_FOUND • The user can not be found or is not a member of this account ROLE_NOT_FOUND • The role was not found or is not an account role INVALID_FLAG • An invalid flag was passed. The error_subtype holds the name of the invalid flag DUPLICATE_NAME • The account_login is already in use BAD_PASSWORD • Password needs to be at least 8 characters long, contain at least two numbers, contain at least two characters and can't be one of your last three passwords INVALID_CUSTOMFIELD • Invalid custom field(s) name or value were passed. The error_subtype holds an array of the error details CAN_NOT_PROMOTE • A user can not switch themselves to an admin role if they are currently not in an admin role NO_USER_OVERRIDE • The setting does not allow a user override ROLE_NAMESPACE_MISMATCH (INCOMPATIBLE_ROLE) • The role cannot be used for the account, data contains role_id and namespace_id ROLE_NAMESPACE_MISMATCH (GLOBAL_USER_WITH_RESTRICTED_ROLE) • They are making the user global with a role restricted to group/location and there is a group/location in the account, data contains role_id, namespace_id and user_id. |
Notes |
|
Description | Get the users account information |
---|---|
URL | /account/user/get |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The account uuid user_id • The users uuid |
Returns |
status • OK uuid • The user_account uuid user_id • The user id user_name • The user name user_email • The user email address user_alt_emails • The user alt_emails addresses role_id • uuid of the users account role role_name • Name of the users account role disabled • Is the user disabled disabled_in_account • Is the user disabled in the account account_email • Email address for account usage account_alias • Users account alias account_login • Users login name in the account password_reset • Flag if the password needs to be reset user_account_id • Id linking user and account for external integrations global • Flag if this is a global user. global_role_id • uuid of a role to be used in groups and locations when the global user is added to them, this role overrides groups'/locations' default roles. epic_user • Epic user used to map Epic users into Ambra's ones to track activity. session_expire • Number of minutes before an idle session expires last_login • The users last login date and time max_sessions • Over-ride value for the max number of simultaneous sessions the user can have sso_only • Flag if the user can only login via SSO external_roles • A comma separated list or a JSON list of External roles assigned to the user. These roles will be mapped when user logs in. event_share • Notify the user on a share into the account namespace event_share_unapproved • Notify the user when a study is shared with the namespace and requires an approval event_approve • Notify the user on a approval needed into the account namespace event_upload • Notify the user on an upload into the account namespace event_upload_fail • Notify the user on a failed upload into the account namespace event_harvest • Notify the user on a harvest into the account namespace event_copy • Notify the user when a study is copied into the account namespace event_join • Notify the user on a join request for the account event_purge • Notify the user the results of a purge job for the account event_new_report • Notify the user when a report is attached in the account namespace event_report_remove • Notify the user when a report is removed in the account 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 account namespace event_node • Notify the user when an account 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 (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 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) groups • An array of the accounts groups the user is a member of locations • An array of the accounts locations the user is a member of. Both of these contain the following fields. * uuid • uuid of the group/location * name • name of the group/location * role_id • uuid of the role in the group/location * role_name • name of the role in the group/location tags • An array of user tags associated with this object (This is only returned if the object has tags) customfields • An array of the custom fields associated with this user. Each object has the following fields (This is only returned if the user has custom fields) settings • A hash of the account settings that the user has overridden |
Permission | account_user_view or the user can get the information for themselves |
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 USER_NOT_FOUND • The user can not be found or is not a member of this account |
Notes | Filter for disabled is filter.user_disabled.equals , filter for disabled_in_account is filter.disabled.equals
|
Description | Delete a user from the account |
---|---|
URL | /account/user/delete |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The account uuid user_id • The user uuid user_account_id • The user_account uuid from /account/user/get call. See Notes. (optional) |
Returns |
status • OK |
Permission | account_user_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 account can not be found NOT_PERMITTED • You are not permitted to delete this user USER_NOT_FOUND • The user can not be found or is not a member of this account IN_USE • The user is a sid user for an account webhook USER_ACCOUNT_NOT_FOUND • The user_account_id is not found |
Notes |
The user will also be deleted from all groups and locations in the account Parameter user_account_id is used only to delete user_account for already deleted user. In which case user_id should not be provided. |
Description | Enable/disable user in account |
---|---|
URL | /account/user/enable |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The account uuid user_id • The user uuid disable • A flag indicating whether to disable the user (optional) |
Returns |
status • OK |
Permission | sysadmin or support or administrator in provided account |
Errors |
NOT_FOUND • The USER, ACCOUNT, ACCOUNT_USER can not be found NOT_PERMITTED • You are not permitted to enable this user NOT_DISABLED • The user is not disabled NOT_ENABLED • The user is not enabled INVALID_FLAG • An invalid flag was passed. The error_subtype holds the name of the invalid flag |
Notes |
|
Description | List the users in an account |
---|---|
URL | /account/user/list |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The account uuid filter_deleted_users • Filters for already deleted users to deal with dangling user_account records. If unset then interpreted as existing . See Notes. (optional)filter.* Filters (optional) page.* Pagination (optional) sort_by • Sorting (optional) |
Permission | account_user_view or case_edit |
Returns |
status • OK page • The pagination status hash users • An array of the users. Each object holds the fields from the /account/user/get call excluding the locations and groups fields |
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 list the users in this account |
Notes |
Parameter filter_deleted_users is used for filtering dangling user_account records for deleted users:
|
Description | Build a user login report |
---|---|
URL | /account/user/report/login |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The account uuid user_id • Limit to this user_id (optional) |
Permission | account_user_view |
Returns |
status • OK report_id • The report id |
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 list the users in this account |
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. |
Description | Set a rule on who can share with whom |
---|---|
URL | /account/can/share |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) account_id • The account id by_type • The type of object that can share. (user|account|group|location) by_id • The uuid of the object that can share with_type • The type of object that they can share with (user|account|group|location) with_id • The uuid of the object that they can share with |
Returns |
status • OK |
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_FOUND • The account can not be found NOT_PERMITTED • You are not permitted to perform this action BY_NOT_FOUND • The "by" object can not be found WITH_NOT_FOUND • The "with" object can not be found INVALID_TYPE • The type of object is invalidate. The error_subtype holds the type that is invalid |
Notes |
Description | Stop a account share rule |
---|---|
URL | /account/can/share/stop |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) account_id • The account id by_type • The type of object that can share. (user|account|group|location) by_id • The uuid of the object that can share with_type • The type of object that they can share with (user|account|group|location) with_id • The uuid of the object that they can share with |
Returns |
status • OK |
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_FOUND • The account can not be found NOT_PERMITTED • You are not permitted to perform this action BY_NOT_FOUND • The "by" object can not be found WITH_NOT_FOUND • The "with" object can not be found INVALID_TYPE • The type of object is invalidate. The error_subtype holds the type that is invalid |
Notes |
Description | Get a list of the account share rules |
---|---|
URL | /account/can/share/list |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) account_id • The account id |
Returns |
status • OK rules • An array of the account share rules. Each rule holds the following fields. * by_type • The type of object that can share. (user|account|group|location) * by_id • The uuid of the object that can share * by_name • The name of the object that can share * with_type • The type of object that they can share with (user|account|group|location) * with_id • The uuid of the object that they can share with * with_name • The name of the object that they can share with |
Permission | account_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 perform this action |
Notes |
Description | Get any customized css for the account |
---|---|
URL | /account/css |
Parameters |
(account_id || vanity) • The account_id or vanity name to get the css for (optional) |
Returns | A CSS file |
Errors | |
Notes |
Description | Get the settings for an account |
---|---|
URL | /account/settings |
Parameters |
sid • The session id (optional if not passed then only un-authenticated settings are returned) (account_id || vanity) • The account_id or vanity name to get the settings for settings • A comma delimited list of the settings to return (optional) brand_settings • A comma delimited list of the settings from /brand/get for this vanity to return (optional) namespace_id • Apply overrides for the namespace (optional) |
Returns |
status • OK settings • A hash of the account settings, brand settings (returned as brand_(SETTING NAME)), vanity_(SETTING NAME), and vanity registration customfields if defined |
Errors |
NOT_FOUND • The account or namespace can not be found |
Notes | vanity_(SETTING NAME) are returned only if vanity is provided |
Description | Validate settings for an account |
---|---|
URL | /account/settings/validate |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The account uuid settings • A hash of the account settings with values to validate (optional) setting_{SETTING_NAME} • Validate an individual setting. This is an alternative to the settings hash (optional) |
Returns |
status • OK |
Errors |
NOT_FOUND • The account or namespace can not be 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 | Connect the account to the payment processor |
---|---|
URL | /account/connect |
Parameters |
sid • The session id uuid • The account_id code • The OAuth code |
Returns |
status • OK |
Permission | account_edit |
Errors |
NOT_FOUND • The account can not be found NOT_PERMITTED • You are not permitted to do this TOKEN_FAILED • The OAuth code did not return a valid token from the processor |
Notes |
Description | Return a counter value for the passed MD5 value |
---|---|
URL | /account/md5/counter |
Parameters |
(sid || node_id && serial_no) • Either a sid or the node id and serial number uuid • UUID of the account (only needed for sid authentication) md5 • The MD5 value |
Returns |
status • OK counter • The numeric counter value |
Errors |
NOT_FOUND • The account can not be found or the user is not a part of it |
Notes | If the MD5 does not exist for the account a new counter value will be created. If it does exist the old counter value will be returned. |
Description | List the accounts that are allowed to be requested for a study |
---|---|
URL | /account/list/requestable |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) namespace_id • Id of the namespace to receive requested studies into |
Returns |
status • OK accounts • An array of the accounts. Each object holds the following fields: uuid, name |
Permission |
study_request_edit |
Errors |
NOT_FOUND • The namespace can not be found NOT_PERMITTED • You are not allowed to list requestable accounts |
Notes |
|
Description | Authorize the system to send out radreports |
---|---|
URL | /account/radreport/email/authorize |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The account id captcha_response • A solved captcha |
Returns |
status • OK |
Permission |
The requesting user should be a sysadmin of the account |
Errors |
NOT_FOUND • The account can not be found NOT_PERMITTED • You are not the account's sysadmin NOT_ENABLED • The feature of sending radreports out is not enabled for the account CAPTCHA_FAILED • The captcha is not solved |
Notes |
Description | Adds the vanity |
---|---|
URL | /account/vanity/add |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) account_id • The account uuid vanity • The uuid or vanity of the record sort_order • Integer value for sorting (optional) ui_json • JSON for UI setting (optional) |
Returns |
status • OK |
Permission | account_vanity_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 account or account_vanity can not be found NOT_PERMITTED • You are not permitted to perform this operation VALIDATION_FAILED • Invalid vanity regexp. |
Notes |
|
Description | Get the vanity settings |
---|---|
URL | /account/vanity/get |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) account_id • The account uuid (uuid or vanity) • Uuid or vanity of the record |
Returns |
status • OK uuid • The account_vanity uuid vanity • The vanity ui_json • JSON for UI setting sort_order • Integer value for sorting |
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 account_vanity can not be found |
Notes |
|
Description | Edit the vanity settings |
---|---|
URL | /account/vanity/set |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) account_id • The account uuid (uuid or vanity) • The uuid or vanity of the record sort_order • Integer value for sorting (optional) ui_json • JSON for UI setting (optional) |
Returns |
status • OK |
Permission | account_vanity_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 account or account_vanity can not be found NOT_PERMITTED • You are not permitted to perform this operation |
Notes |
|
Description | List vanities in the account |
---|---|
URL | /account/vanity/list |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) account_id • The account uuid filter.* Filters (optional) page.* Pagination (optional) sort_by • Sorting (optional) |
Returns |
status • OK page • The pagination status hash vanities • An array of the vanities. Each object holds the following same fields as the /accout/vanity/get call |
Permission | account_vanity_view 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_FOUND • The account can not be found NOT_PERMITTED • You are not permitted to perform this operation |
Notes |
|
Description | Delete an account_vanity record |
---|---|
URL | /account/vanity/delete |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) account_id • The account uuid (uuid or vanity) • The uuid or vanity of the record |
Returns |
status • OK |
Permission | account_vanity_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_FOUND • The account or account_vanity can not be found NOT_PERMITTED • You are not permitted to perform this operation |
Notes |
Description | Get the list of SAML role mappings |
---|---|
URL | /account/saml/role/list |
Parameters |
sid • The session id of a system administrator or account support user account_id • UUID of the account |
Returns |
status • OK roles An array of the role mappings. Each object has the following fields. * saml_role • Value of the SAML role attribute to map * namespace_id • Assign the user to this namespace (if any) * for_group • A flag indicating whether to apply this mapping to groups in case no namespace_id specified * for_location • A flag indicating whether to apply this mapping to locations in case no namespace_id specified * namespace_name • The namespace name * role_id • Assign the user to this role * role_name • Role name * event_share • Notify the user on a share into the namespace * event_share_unapproved • Notify the user when a study is shared with the namespace and requires an approval * 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_message • Notify the user when a message is sent to the namespace * event_node • Notify the user when a node sends an event * event_copy • Notify the user when a study is copied into 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_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_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 * event_incoming_study_request • Notify the user when they get an incoming study request * sequence • A numeric sequence field. Mappings are listed and processed by this order |
Permission |
saml_role_edit |
Errors |
NOT_SYSADMIN_OR_SUPPORT • The user is not a sysadmin or support user NOT_FOUND • The account can not be found NOT_FOUND • The account can not be found |
Notes |
Description | Edit a SAML role mapping |
---|---|
URL | /account/saml/role/set |
Parameters |
sid • The session id of a system administrator or account support user account_id • UUID of the account saml_role • Value of the SAML role attribute to map namespace_id • Assign the user to this namespace (optional) for_group • A flag indicating whether to apply this mapping to groups in case no namespace_id specified (optional) for_location • A flag indicating whether to apply this mapping to locations in case no namespace_id specified (optional) role_id • Assign the user to this role event_share • Notify the user on a share into the namespace (optional) event_share_unapproved • Notify the user when a study is shared with the namespace and requires an approval (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 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_message • Notify the user when a message is sent to the namespace (optional) event_node • Notify the user when a node sends an event (optional) event_copy • Notify the user when a study is copied into 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_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) sequence • A numeric sequence field. Mappings are listed and processed by this order (optional) delete • Flag to delete this mapping (optional) |
Returns |
status • OK |
Permission |
saml_role_edit |
Errors |
NOT_SYSADMIN_OR_SUPPORT • The user is not a sysadmin or support user NOT_FOUND • The account, role or namespaces can not be found ROLE_NAMESPACE_MISMATCH, subtype INCOMPATIBLE_ROLE, data contains role_id and optionally namespace_id • A role in the mapping cannot be used for the namespace or conflicts with current for_* flags |
Notes |
|
Location commands
Description | List the locations for an account |
---|---|
URL | /location/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 locations • An array of the locations. Each object holds the following same fields as the /location/get call |
Permission | location_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 location |
---|---|
URL | /location/add |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) name • Name of the location account_id • uuid of the account must_approve • Flag if shared studies must be approved for the location (optional) must_approve_upload • Flag if uploaded studies must be approved (optional) must_approve_harvest • Flag if harvested studies must be approved (optional) must_approve_move • Flag if moved studies must be approved (optional) must_approve_copy • Flag if copied studies must be approved (optional) no_share • Flag if studies can not be shared with this location (optional). Studies can still be shared with users in the location. share_code • The share code of the location (optional) share_description • The share description of the location (optional) share_settings • Share settings JSON structure of the share display settings (optional) share_via_gateway • Flag if a gateway share is allowed (optional) hl7_template • The HL7 reporting template for the location (optional) search_threshold • The number of studies record in the namespace to switch the UI from list to search mode (optional) role_id • Id for the default role for the location (optional) customfield-{CUSTOMFIELD_UUID} • Custom field(s) (optional) |
Returns |
status • OK uuid • The uuid namespace_id • The association namespace uuid |
Permission | location_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_FOUND • The object was not found. The error_subtype holds the name of field that triggered the error NOT_PERMITTED • You are not permitted to add a location to the account INVALID_FLAG • An invalid flag was passed. The error_subtype holds the name of the invalid flag DUP_SHARE_CODE • The share code is already used DUP_NAMESPACE_NAME • namespace_names_globally_unique is enabled and there is another namespace with the same name INVALID_CUSTOMFIELD • Invalid custom field(s) name or value were passed. The error_subtype holds an array of the error details INVALID_JSON • The field is not in valid JSON format. The error_subtype holds the name of the field ROLE_NAMESPACE_MISMATCH (INCOMPATIBLE_ROLE) • The role cannot be used for a location, data contains role_id and namespace_id ROLE_NAMESPACE_MISMATCH (GLOBAL_USER_WITH_RESTRICTED_ROLE) • You are adding the location to the account with a global user with restricted role, data contains role_id and user_id |
Notes |
Description | Save a location |
---|---|
URL | /location/set |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The location uuid name • Name of the location (optional) must_approve • Flag if shared studies must be approved for the location (optional) must_approve_upload • Flag if uploaded studies must be approved (optional) must_approve_harvest • Flag if harvested studies must be approved (optional) must_approve_move • Flag if moved studies must be approved (optional) must_approve_copy • Flag if copied studies must be approved (optional) no_share • Flag if studies can not be shared with this location (optional). Studies can still be shared with users in the location. share_code • The share code of the location (optional) share_description • The share description of the location (optional) share_settings • Share settings JSON structure of the share display settings (optional) share_via_gateway • Flag if a gateway share is allowed (optional) hl7_template • The HL7 reporting template for the location (optional) search_threshold • The number of studies record in the namespace to switch the UI from list to search mode (optional) role_id • Id for the default role for the location (optional) customfield-{CUSTOMFIELD_UUID} • Custom field(s) (optional) |
Returns |
status • OK |
Permission | location_edit |
Errors |
NOT_FOUND • The object was not found. The error_subtype holds the name of field that triggered the error NOT_PERMITTED • You are not permitted to edit the location INVALID_FLAG • An invalid flag was passed. The error_subtype holds the name of the invalid flag DUP_SHARE_CODE • The share code is already used DUP_NAMESPACE_NAME • namespace_names_globally_unique is enabled and there is another namespace with the same name INVALID_CUSTOMFIELD • Invalid custom field(s) name or value were passed. The error_subtype holds an array of the error details INVALID_JSON • The field is not in valid JSON format. The error_subtype holds the name of the field ROLE_NAMESPACE_MISMATCH (INCOMPATIBLE_ROLE) • The role cannot be used for locations, data contains role_id and namespace_id |
Notes |
Description | Get a location |
---|---|
URL | /location/get |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The location uuid |
Returns |
status • OK uuid • The location uuid name • Name of the location namespace_id • namespace of the location must_approve • Flag if shared studies must be approved must_approve_upload • Flag if uploaded studies must be approved must_approve_harvest • Flag if harvested studies must be approved must_approve_move • Flag if moved studies must be approved must_approve_copy • Flag if copied studies must be approved no_share • Flag to stop sharing into this namespace share_code • The share code of the location share_description • The share description of the location share_settings • Share settings JSON structure of the share display settings share_via_gateway • Flag if a gateway share is allowed (optional) hl7_template • The HL7 reporting template for the location search_threshold • The number of studies record in the namespace to switch the UI from list to search mode (optional) tags • An array of user tags associated with this object (This is only returned if the object has tags) role_id • Id of the default role for the location role_name • Name of the default role for the location customfields • An array of the custom fields associated with this location. Each object has the following fields (This is only returned if the group has custom fields) |
Permission | location_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 location can not be found NOT_PERMITTED • You are not permitted to view this location |
Notes |
Description | Delete a location |
---|---|
URL | /location/delete |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The location uuid |
Returns |
status • OK |
Permission | location_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 location can not be found NOT_PERMITTED • You are not permitted to delete the location NOT_EMPTY • The location still has studies in it |
Notes |
Description | Add or update a user to a location |
---|---|
URL | /location/user/add |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The location id user_id • Id of the user role_id • Id of the users role within the location (optional). If not passed the default location role will be assigned event_share • Notify the user on a share into the location namespace (optional) event_share_unapproved • Notify the user when a study is shared with the namespace and requires an approval (optional) event_approve • Notify the user on a approval needed into the location namespace (optional) event_upload • Notify the user on an upload into the location namespace (optional) event_upload_fail • Notify the user on a failed upload into the location namespace event_harvest • Notify the user on a harvest into the location namespace (optional) event_copy • Notify the user when a study is copied into the location namespace (optional) event_new_report • Notify the user when a report is attached in the location namespace (optional) event_report_remove • Notify the user when a report is removed in the location 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 location namespace (optional) event_node • Notify the user when a location 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 location from a physician alias share (optional) |
Returns |
status • OK |
Permission | location_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 location can not be found NOT_PERMITTED • You are not permitted to edit the location ROLE_NAMESPACE_MISMATCH (INCOMPATIBLE_ROLE) • The role cannot be used for locations, 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 location |
---|---|
URL | /location/user/delete |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The location id user_id • The user id |
Returns |
status • OK |
Permission | location_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 location can not be found NOT_PERMITTED • You are not permitted to edit the location |
Notes |
Description | List the users in a location |
---|---|
URL | /location/user/list |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The location 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 * user_email • The user email * role_id • The users role id * role_name • The users role name * event_share • Notify the user on a share into the location namespace * event_share_unapproved • Notify the user when a study is shared with the namespace and requires an approval * event_approve • Notify the user on a approval needed into the location namespace * event_upload • Notify the user on an upload into the location namespace * event_upload_fail • Notify the user on a failed upload into the location namespace * event_harvest • Notify the user on a harvest into the location namespace * event_copy • Notify the user when a study is copied into the location namespace * event_new_report • Notify the user when a report is attached in the location namespace * event_report_remove • Notify the user when a report is removed in the location 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 location namespace * event_node • Notify the user when a location 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 location from a physician alias share |
Permission | location_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 location can not be found NOT_PERMITTED • You are not permitted list the users at the location |
Notes |
Group commands
Description | List the groups for an account |
---|---|
URL | /group/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 groups • An array of the groups. Each object holds the following same fields as the /group/get call |
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 account can not be found NOT_PERMITTED • You are not permitted to view this list |
Notes |
Description | Add a group |
---|---|
URL | /group/add |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) name • Name of the group account_id • uuid of the account must_approve • Flag if shared studies must be approved for the group (optional) must_approve_upload • Flag if uploaded studies must be approved (optional) must_approve_harvest • Flag if harvested studies must be approved (optional) must_approve_move • Flag if moved studies must be approved (optional) must_approve_copy • Flag if copied studies must be approved (optional) no_share • Flag if studies can not be shared with this group (optional). Studies can still be shared with users in the group. share_code • The share code of the group (optional) share_description • The share description of the group (optional) share_settings • Share settings JSON structure of the share display settings (optional) share_via_gateway • Flag if a gateway share is allowed (optional) hl7_template • The HL7 reporting template for the group (optional) search_threshold • The number of studies record in the namespace to switch the UI from list to search mode (optional) role_id • Id for the default role for the group (optional) customfield-{CUSTOMFIELD_UUID} • Custom field(s) (optional) site_id • The associated site id. Required in case require_site_id_for_groups account setting is set (optional) |
Returns |
status • OK uuid • The uuid namespace_id • The association namespace uuid |
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 ACCOUNT_NOT_FOUND • The account was not found NOT_FOUND • The object was not found. The error_subtype holds the name of field that triggered the error NOT_PERMITTED • You are not permitted to add a group to that account INVALID_FLAG • An invalid flag was passed. The error_subtype holds the name of the invalid flag DUP_SHARE_CODE • The share code is already used DUP_NAMESPACE_NAME • namespace_names_globally_unique is enabled and there is another namespace with the same name INVALID_CUSTOMFIELD • Invalid custom field(s) name or value were passed. The error_subtype holds an array of the error details INVALID_JSON • The field is not in valid JSON format. The error_subtype holds the name of the field ROLE_NAMESPACE_MISMATCH (INCOMPATIBLE_ROLE) • The role cannot be used for a group, data contains role_id and namespace_id ROLE_NAMESPACE_MISMATCH (GLOBAL_USER_WITH_RESTRICTED_ROLE) • You are adding the group to the account with a global user with restricted role, data contains role_id and user_id SITE_NOT_ALLOWED • The account is not listed in the site account's linked_study_accounts setting |
Notes |
Description | Save a group |
---|---|
URL | /group/set |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The group uuid name • Name of the group (optional) must_approve • Flag if shared studies must be approved for the group (optional) must_approve_upload • Flag if uploaded studies must be approved (optional) must_approve_harvest • Flag if harvested studies must be approved (optional) must_approve_move • Flag if moved studies must be approved (optional) must_approve_copy • Flag if copied studies must be approved (optional) no_share • Flag if studies can not be shared with this group (optional). Studies can still be shared with users in the group. share_code • The share code of the group (optional) share_description • The share description of the group (optional) share_settings • Share settings JSON structure of the share display settings (optional) share_via_gateway • Flag if a gateway share is allowed (optional) hl7_template • The HL7 reporting template for the group (optional) search_threshold • The number of studies record in the namespace to switch the UI from list to search mode (optional) role_id • Id for the default role for the group (optional) customfield-{CUSTOMFIELD_UUID} • Custom field(s) (optional) site_id • The associated site id. Required in case require_site_id_for_groups account setting is set (optional) site_qualified • Flag if the site is qualified for the trial (optional) site_inactive • Inactive flag to deactivate the site in a Trial Account (optional) |
Returns |
status • OK |
Permission | group_edit |
Errors |
NOT_FOUND • The object was not found. The error_subtype holds the name of field that triggered the error NOT_PERMITTED • You are not permitted to edit the location INVALID_FLAG • An invalid flag was passed. The error_subtype holds the name of the invalid flag DUP_SHARE_CODE • The share code is already used DUP_NAMESPACE_NAME • namespace_names_globally_unique is enabled and there is another namespace with the same name INVALID_CUSTOMFIELD • Invalid custom field(s) name or value were passed. The error_subtype holds an array of the error details INVALID_JSON • The field is not in valid JSON format. The error_subtype holds the name of the field ROLE_NAMESPACE_MISMATCH (INCOMPATIBLE_ROLE) • The role cannot be used for groups, data contains role_id and namespace_id SITE_NOT_ALLOWED • The account is not listed in the site account's linked_study_accounts setting |
Notes |
Description | Get a group |
---|---|
URL | /group/get |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The group uuid |
Returns |
status • OK uuid • The group uuid name • Name of the group namespace_id • Namespace of the group must_approve • Flag if shared studies must be approved must_approve_upload • Flag if uploaded studies must be approved must_approve_harvest • Flag if harvested studies must be approved must_approve_move • Flag if moved studies must be approved must_approve_copy • Flag if copied studies must be approved no_share • Flag to stop sharing into this group share_code • The share code of the group share_description • The share description of the group share_settings • Share settings JSON structure of the share display settings share_via_gateway • Flag if a gateway share is allowed (optional) hl7_template • The HL7 reporting template for the group search_threshold • The number of studies record in the namespace to switch the UI from list to search mode tags • An array of user tags associated with this object (This is only returned if the object has tags) role_id • Id of the default role for the group role_name • Name of the default role for the group customfields • An array of the custom fields associated with this group. Each object has the following fields (This is only returned if the group has custom fields) -- The following fields are returned when there is a site association for the group --
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_share_unapproved • Notify the user when a study is shared with the namespace and requires an approval (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_copy • Notify the user when a study is copied 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 * user_email • The user email * 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_share_unapproved • Notify the user when a study is shared with the namespace and requires an approval * 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_copy • Notify the user when a study is copied 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. |
Description | List the access control filters |
---|---|
URL | /role/filter/list |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) account_id • The account id filter.* Filters (optional) page.* Pagination (optional) sort_by • Sorting (optional) |
Returns |
status • OK page • The pagination status hash role_filters • An array of the access control filters. Each object holds the same fields as the /role/filter/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_PERMITTED • You are not permitted to view the access control filters NOT_FOUND • The account can not be found |
Notes |
Description | Add an access contol filter |
---|---|
URL | /role/filter/add |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) account_id • The account id role_id • The role id (optional) name • The access control filter name (optional) filter • JSON hash of the object filter expression permissions_mask • JSON hash of permissions to restrict, values should be zeroes object_type • The object to associate the filter with (Route) |
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 NOT_PERMITTED • You are not permitted to add access control filters NOT_HASH • The field is not a JSON hash. The error_subtype holds the name of the field VALIDATION_FAILED • A field failed validation. The error_subtype holds the name of the invalid field NOT_FOUND • The object was not found. The error_subtype holds the type of the object 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 |
Description | Modify an access control filter |
---|---|
URL | /role/filter/set |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The access control filter id name • The access control filter name (optional) filter • JSON hash of the object filter expression (optional) permissions_mask • JSON hash of permissions to restrict, values should be zeroes (optional) |
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 access control filter was not found NOT_PERMITTED • You are not permitted to modify access control filters NOT_HASH • The field is not a JSON hash. 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 |
Description | Get an access control filter |
---|---|
URL | /role/filter/get |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The access control filter id |
Returns |
status • OK uuid • The access control filter id account_id • The account id role_id • The role id name • The access control filter name filter • JSON hash of the object filter expression permissions_mask • JSON hash of permissions to restrict, values should be zeroes object_type • The object to associate the filter with created_by • Name of the user who created the access control filter created • Date and time the access control filter was created updated • Date and time the access control filter was updated |
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 access control filter was not found. NOT_PERMITTED • You are not permitted to view the access control filter |
Notes |
Description | Delete the access control filter |
---|---|
URL | /role/filter/delete |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • Id of the access control filter |
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 access control filter was not found. NOT_PERMITTED • You are not permitted to delete the access control filter |
Notes |
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 * user_id • UUID of the user who did this (see notes) * proxy • Name of the proxy user who did this if the action was done by a proxy * proxy_id • UUID of the proxy user who did this if the action was done by a proxy (see notes) * 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 ** dictionary_attach_id • Dictionary_attach that triggered the action ** purge_id • Purge rule that triggered the delete action ** parent_study_id • Study that triggered the edit action by the means of parent-child namespace relations ** other_study_id • Study that triggered the edit action by the means of update_all_studies account setting ** other_customfield_ids • A list of customfield UUIDs that were mapped to the object's customfields by the means of customfield mappings or customfield.other_customfield_id link ** customfield_mapping_ids • A list of customfield mappings applied to the edit |
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:
cloud_storage_config • Value for the setting (optional) 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 NO_NAMESPACE_OVERRIDE • The setting does not allow a namespace override for __DELETE__ . |
Notes | Use the value __DELETE__ to delete an account-overriden setting.
|
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 enable_ingress_filter • Value of the flag for the associated account web_uploader_ingress_filter • Value of the setting 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 |
sid • The session id (optional) 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 FORBIDDEN_FIELD • A hidden or read-only customfield was passed. The error_subtype holds the invalid field name. |
Notes | This call takes into account customfield visibility for the user if sid parameter is passed |
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_share_unapproved • Notify the user when a study is shared with the namespace and requires an approval (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_copy • Notify the user when a study is copied 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_share_unapproved • Notify the user when a study is shared with the namespace and requires an approval 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_copy • Notify the user when a study is copied 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 group_by • The customfield to group report results by. The parameter should follow customfield-{CUSTOMFIELD_UUID} template (optional)
|
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 * group • A customfield value, returned only when group_by parameter 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 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 VALIDATION_FAILED • The group_by parameter validation failed |
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 fieldsDescription | 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|calculated) (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) include_in_analytics • Flag to include the customfield in analytical reports. See group_by parameter in /analytics/patient/portal (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 or set options.recalculate_on_edit 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 RESERVED_NAME • This name is reserved DUPLICATE_NAME • There is already calculated field with such a name |
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) include_in_analytics • Flag to include the customfield in analytical reports. See group_by parameter in /analytics/patient/portal (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 or set options.recalculate_on_edit 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 RESERVED_NAME • This name is reserved. Reserved name is stat_filter for now. DUPLICATE_NAME • There is already calculated field with such a name USED_BY_ANOTHER_CF • This customfield is used by some calculated customfield |
Notes |
|
Description | Get a custom field |
---|---|
URL | /customfield/get |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • uuid of the customfield |
Returns |
status • OK uuid • uuid of the customfield name • Name of the customfield object • The object the customfield is associated with type • The type of the custom field capture_on_share_code • Flag if the study type field should be captured during a share code exchange capture_on_destination_search • Flag if the field should be captured during query retrieve on /destination/search call display_order • Integer to order how the fields should be displayed wrapped_dicom_only • Flag if only capture for wrapped DICOM uploads during a share code exchange dicom_only • Flag if only capture for non-wrapped DICOM uploads during a share code exchange required • Flag if the field is required options • Additional options in JSON format hl7_segment • Segment to map this field to in HL7 ORM messages. (only applicable to study fields) hl7_field • Segment field number to map this field to in HL7 ORM messages. (only applicable to study fields) 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) load_hl7_filter • Filter token for the load_hl7 option (only applicable to study fields) dicom_tag • Dicom tag to map this field to. (only applicable to study fields) 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) dicom_tag_ignore_empty • Flag to not map an empty custom field to the DICOM tag. (only applicable if a dicom_tag is specified) load_from_sr • Load the value from the structured reports in the study field_flag • Default customfield flag ui_json • JSON for UI settings. 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 other_customfield_id • Id of a customfield to map its value to this customfield's value other_customfield_no_overwrite_with_blank • Flag if the customfield should be updated with a blank value other_customfield_no_refresh_on_reshare • Flag if the customfield should be updated on Study reshare include_in_analytics • Flag to include the customfield in analytical reports. See group_by parameter in /analytics/patient/portal customfield_mapping • An array of the customfield mappung rules that map this customfield to other customfields. Each object in the array has the same fields as the /customfield/mapping/get command. |
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 customfield can not be found NOT_PERMITTED • You are not permitted to view the customfield |
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 USED_BY_ANOTHER_CF • This customfield is used by some calculated 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 | List customfield mapping rules |
---|---|
URL | /customfield/mapping/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 customfield_mappings • An array of the mapping rules. Each object holds the following same fields as the /customfield/mapping/get call |
Permission | customfield_view or 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 account can not be found NOT_PERMITTED • You are not permitted to view this list |
Notes |
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 rule_set_id • uuid of the rule set to add them to (optional) name • Name of the mapping (optional) 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 name • Name of the mapping (optional) 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 | Get a customfield mapping rule |
---|---|
URL | /customfield/mapping/get |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • uuid of the customfield mapping rule |
Returns |
uuid • uuid of the mapping rule name • Name of the mapping rule rule_set_id • uuid of the rule set to add them to to_customfield_id • uuid of the destination customfield from_customfield_id • uuid of the source customfield overwrite_with_blank • Flag if the destination customfield should be updated with a blank value refresh_on_reshare • Flag if the destination customfield should be updated on Study reshare refresh_on_edit • Flag if the destination customfield should be updated on the source customfield edit reverse_refresh_on_edit • Flag if the mapping should apply in reverse, i.e. to the customfield of the original study when a shared version of the study is edited status • OK |
Permission | customfield_view or 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 mapping rule can not be found NOT_PERMITTED • You are not permitted to view the customfield mapping rule |
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 applicationDescription | 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, an optional key match (an integer value) makes the matching process flexible and requires this number of matches (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) viewer • The study viewer to use for the link (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 for action's account 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 VIEWER_DISABLED • The viewer parameter is passes while disable_external_viewer_for_links account setting is in effect VIEWER_NOT_ALLOWED • The viewer passed is not listed in allowed_viewer_overrides_in_links account setting VIEWER_NOT_CONFIGURED • The viewer is not configured for the account FORBIDDEN_FIELD • Anonymization rules or upload_study_customfields parameter refer to hidden or read-only study fields. The error_subtype holds the invalid field name. |
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 rulesDescription | 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) delete_shares • Flag to delete all the shared versions of a study in the storage namespace (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) delete_shares • Flag to delete all the shared versions of a study in the storage namespace (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 delete_shares • Flag to delete all the shared versions of a study in the storage namespace 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 |
sid • The session id (optional if basic authentication or an OAuth token is used) account_id • The account id filter.* Filters (optional) page.* Pagination (optional) sort_by • Sorting (optional) |
Returns |
status • OK page • The pagination status hash dictionaries • An array of the dictionaries. Each object holds the following same fields as the /dictionary/get call |
Permission | dictionary_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 do this |
Notes |
Description | Add a dictionary |
---|---|
URL | /dictionary/add |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) account_id • The account id name • The dictionary name object • Object this is applied against (Study|Order|User_account|Case|Patient) lookup • A JSON array of field names that will be concatenated and MD5 hashed for the dictionary lookup value replace • A JSON array of the field names that will be replaced for a successful lookup case_sensitive • Flag if the dictionary lookup is case sensitive or not sequence • An integer value. Dictionaries are processed from low number to high number. This is of higher priority than the same field of the dictionary attachments (optional) |
Returns |
status • OK uuid • The dictionary uuid |
Permission | dictionary_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 account can not be found NOT_PERMITTED • You are not permitted to do this 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_FIELD • An invalid field name was passed. The error_subtype holds the name of the invalid field INVALID_OBJECT • An invalid object was passed |
Notes |
|
Description | Edit a dictionary |
---|---|
URL | /dictionary/set |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The dictionary id name • The dictionary name sequence • An integer value. Dictionaries are processed from low number to high number. This is of higher priority than the same field of the dictionary attachments (optional) |
Returns |
status • OK |
Permission | dictionary_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 dictionary can not be found NOT_PERMITTED • You are not permitted to do this |
Notes |
Description | Get a dictionary |
---|---|
URL | /dictionary/get |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The dictionary id |
Returns |
status • OK uuid • The dictionary id account_id • The account id name • The dictionary name object • The object this is applied against lookup • A JSON array of field names that will be concatenated and MD5 hashed for the dictionary lookup value replace • A JSON array of the field names to replace for a successful lookup case_sensitive • Flag if the dictionary is case sensitive or not sequence • An integer value. Dictionaries are processed from low number to high number. This is of higher priority than the same field of the dictionary attachments attachments • An array of the attachments the dictionary has. Each record has the following fields * uuid • Id of the attachment * account_id|namespace_id • Id of the account or namespace it is attached to * name • Name of the account or namespace it is attached to * sequence • An integer value. Attachments are processed from low number to high number * skip_if_lookup_unchanged • Flag to skip the lookup if the lookup field(s) are un-changed * skip_if_replace_has_value • Flag to skip the lookup if the replace field already has a value * add_if_no_match • Flag to add the lookup and replace values to the dictionary if no match occurs * approve_if_match • Approve the object if there was a match (optional) |
Permission | dictionary_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 dictionary can not be found NOT_PERMITTED • You are not permitted to do this |
Notes |
Description | Delete a dictionary |
---|---|
URL | /dictionary/delete |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The dictionary id |
Returns |
status • OK |
Permission | dictionary_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 dictionary can not be found NOT_PERMITTED • You are not permitted to do this |
Notes |
Description | List all the entries in a dictionary |
---|---|
URL | /dictionary/entries |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The dictionary id lookup • Only return the entry for the optional lookup entry (optional) |
Returns |
status • OK entries • An array of the entries with the following fields. * lookup • The JSON array of the lookup values * replace • The JSON array of the replacement fields * md5 • The md5 of the lookup values * regexp • The regexp ordering number |
Permission | dictionary_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 dictionary can not be found NOT_PERMITTED • You are not permitted to do this NOT_LIST • The field is not a JSON array. The error_subtype holds the name of the field |
Notes |
Description | Add or update an entry to the dictionary |
---|---|
URL | /dictionary/entry/add |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The dictionary id lookup • The JSON array of the lookup values to add. Alternatively a regular expression if the regexp parameter is passed replace • The JSON array of the replacement field values regexp • An integer value that indicates that this entry is a regular expression (optional) |
Returns |
status • OK |
Permission | dictionary_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 dictionary can not be found NOT_PERMITTED • You are not permitted to do this NOT_LIST • The field is not a JSON array. The error_subtype holds the name of the field INVALID_LOOKUP • The lookup does not have the required number of fields INVALID_REGEXP • Invalid regular expression. The error_subtype holds the invalid regexp. INVALID_INTEGER • Invalid integer. The error_subtype holds the invalid integer. |
Notes |
|
Description | Delete an entry form the dictionary |
---|---|
URL | /dictionary/entry/delete |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The dictionary id lookup • The JSON array of the lookup values or the regular expression to delete |
Returns |
status • OK |
Permission | dictionary_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 dictionary or entry can not be found NOT_PERMITTED • You are not permitted to do this NOT_LIST • The field is not a JSON array. The error_subtype holds the name of the field |
Notes |
Description | Attach a dictionary to an account or namespace |
---|---|
URL | /dictionary/attach |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The dictionary id (account_id || namespace_id) • uuid of the account or namespace to the dictionary to sequence • An integer value. Attachments are processed from low number to high number (optional) skip_if_lookup_unchanged • Flag to skip the lookup if the lookup field(s) are un-changed (optional) skip_if_replace_has_value • Flag to skip the lookup if the replace field already has a value (optional) add_if_no_match • Flag to add the lookup and replace values to the dictionary if no match occurs (optional) approve_if_match • Approve the object if there was a match (optional) run_once • Flag to make dictionary apply only once per object (optional) delay • An integer number of seconds to delay the dictionary application (optional) global_counter • A flag if you want the counter to run against the account namespace instead of the object namespace (optional) |
Returns |
status • OK uuid • Id of the attachment |
Permission | dictionary_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 dictionary or entry can not be found NOT_PERMITTED • You are not permitted to do this |
Notes |
|
Description | Modify a dictionary attachment |
---|---|
URL | /dictionary/attach/set |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The dictionary attach id sequence • An integer value. Attachments are processed from low number to high number (optional) skip_if_lookup_unchanged • Flag to skip the lookup if the lookup field(s) are un-changed (optional) skip_if_replace_has_value • Flag to skip the lookup if any of the replace fields already has a value (optional) add_if_no_match • Flag to add the lookup and replace values to the dictionary if no match occurs (optional) approve_if_match • Approve the object if there was a match (optional) run_once • Flag to make dictionary apply only once per object (optional) delay • An integer number of seconds to delay the dictionary application (optional) global_counter • A flag if you want the counter to run against the account namespace instead of the object namespace (optional) |
Returns |
status • OK |
Permission | dictionary_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 dictionary attachment can not be found NOT_PERMITTED • You are not permitted to do this |
Notes |
Description | Detach a dictionary |
---|---|
URL | /dictionary/detach |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The dictionary attach id |
Returns |
status • OK |
Permission | dictionary_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 dictionary attachment can not be found NOT_PERMITTED • You are not permitted to do this |
Notes |
Report commands
Description | Get the status of the report |
---|---|
URL | /report/status |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) report_id • The report id |
Returns |
status • OK percent • The percent complete the report is. An integer from 0 to 100 |
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 report can not be found REPORT_FAILED • The report failed |
Notes | When the report is 100 percent complete download it using the /report/zip command |
Description | Download the zipped report |
---|---|
URL | /report/zip |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) report_id • The report id |
Returns | A binary stream of the zipped data with a content type of application/zip |
Errors |
[404] • The report can not be found or is not available for download |
Notes |
|
Meeting commands
A meeting is when a presenters actions in the viewer are broadcast to the meeting participantsDescription | Create a meeting |
---|---|
URL | /meeting/add |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) (study_id || study_uid && storage_namespace && phi_namespace) • The uuid of the study or the storage triplet name • Title of the meeting state • State of the meeting |
Returns |
status • OK uuid • The uuid of the meeting |
Permission | meeting_edit |
Errors |
NOT_FOUND • The study can not be found NOT_PERMITTED • You are not permitted to create a meeting for the study |
Notes |
|
Description | Modify a meeting |
---|---|
URL | /meeting/set |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • UUID of the meeting name • Title of the meeting (optional) state • State of the meeting (optional) |
Returns |
status • OK |
Permission | meeting_edit |
Errors |
NOT_FOUND • The meeting can not be found NOT_PERMITTED • You are not permitted to modify the meeting |
Notes |
Description | Get a meeting |
---|---|
URL | /meeting/get |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • UUID of the meeting |
Returns |
status • OK uuid • UUID of the meeting name • Title of the meeting state • Current state of the meeting user_id • User who created the meeting user_name • The user name link_id • UUID of the associated link |
Permission | meeting_view |
Errors |
NOT_FOUND • The meeting can not be found NOT_PERMITTED • You are not permitted to get the meeting |
Notes |
Description | Join a meeting |
---|---|
URL | /meeting/join |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • UUID of the meeting |
Returns | The fields from /meeting/get |
Permission | meeting_view |
Errors |
NOT_FOUND • The meeting can not be found NOT_PERMITTED • You are not permitted to do this |
Notes |
Description | Leave the meeting |
---|---|
URL | /meeting/leave |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • UUID of the meeting |
Returns |
status • OK |
Permission | |
Errors | |
Notes |
Description | List of meeting attendees |
---|---|
URL | /meeting/roster |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • UUID of the meeting |
Returns |
status • OK users • JSON array containing the following for each attendee: * uuid • User id * name • The user name * presenter • 1/0 Flag if they are the presenter |
Permission | meeting_view |
Errors |
NOT_FOUND • The meeting can not be found NOT_PERMITTED • You are not permitted to do this |
Notes |
Description | Change the meeting presenters |
---|---|
URL | /meeting/presenter |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • UUID of the meeting user_id • UUID of the user to make the presenter |
Returns |
status • OK |
Permission | meeting_edit |
Errors |
NOT_FOUND • The meeting can not be found NOT_PERMITTED • You are not permitted to do this NOT_ATTENDING • The user is not attending the meeting |
Notes |
Description | A keep alive ping by the meeting owner |
---|---|
URL | /meeting/ping |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • UUID of the meeting |
Returns |
status • OK |
Permission | meeting_view |
Errors |
NOT_FOUND • The meeting can not be found |
Notes |
|
Description | Delete a meeting |
---|---|
URL | /meeting/delete |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • UUID of the meeting |
Returns |
status • OK |
Permission | meeting_edit |
Errors |
NOT_FOUND • The meeting can not be found NOT_PERMITTED • You are not permitted to delete the meeting |
Notes |
|
Description | Send an event to a meeting |
---|---|
URL | /meeting/events/add |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • UUID of the meeting event • Event to send to the meeting |
Returns |
status • OK |
Permission | meeting_edit |
Errors |
NOT_FOUND • The meeting can not be found NOT_PERMITTED • You are not permitted to do this |
Notes |
Appointment commands
Description | Add a appointment |
---|---|
URL | /appointment/add |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) account_id • uuid of the account to add them to patient_id • Id of the patient to create the appointment for user_id • Id of the user to create the appointment for (optional defaults to current user) description • Description of the appointment (optional) start_time • Start date and time of the appointment end_time • End date and time of the appointment customfield-{CUSTOMFIELD_UUID} • Custom field(s) (optional) |
Returns |
status • OK uuid • The uuid |
Permission | appointment_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 type of object not found NOT_PERMITTED • You are not permitted to add a appointment to the account INVALID_CUSTOMFIELD • Invalid custom field(s) name or value were passed. The error_subtype holds an array of the error details INVALID_DATE_TIME • The timestamp is invalid INVALID_RANGE • An invalid time range was specified |
Notes |
|
Description | Get an appointment |
---|---|
URL | /appointment/get |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The appointment uuid |
Returns |
status • OK uuid • The appointment uuid patient_id • Id of the patient patient_name • Name of the patient first • First name of the patient last • Last name of the patient patient_mrn • MRN of the patient user_id • Id of the user user_name • Name of the user description • Description of the appointment start_time • Start date and time of the appointment end_time • End date and time of the appointment customfields • An array of the custom fields associated with this appointment. Each object has the following fields (This is only returned if the group has custom fields) external_id • The appointment ID in a placer/filler Hl7 application appointment_status • Status of the appointment (A|C|D) - Active, Cancelled, Discontinued |
Permission | appointment_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 appointment can not be found NOT_PERMITTED • You are not permitted to view this appointment |
Notes |
Description | Edit a appointment |
---|---|
URL | /appointment/set |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The appointment uuid user_id • Id of the user description • Description of the appointment start_time • Start date and time of the appointment end_time • End date and time of the appointment customfields • An array of the custom fields associated with this appointment. Each object has the following fields (This is only returned if the group has custom fields) status • Status of the appointment (A|C|D) - Active, Cancelled, Discontinued (optional) |
Returns |
status • OK |
Permission | appointment_edit |
Errors |
NOT_FOUND • The appointment can not be found NOT_PERMITTED • You are not permitted to edit the appointment INVALID_CUSTOMFIELD • Invalid custom field(s) name or value were passed. The error_subtype holds an array of the error details INVALID_DATE_TIME • The timestamp is invalid INVALID_RANGE • An invalid time range was specified |
Notes |
Description | Delete a appointment |
---|---|
URL | /appointment/delete |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The appointment uuid |
Returns |
status • OK |
Permission | appointment_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 appointment can not be found NOT_PERMITTED • You are not permitted to delete the appointment |
Notes |
Description | Get a list of the appointments in the account |
---|---|
URL | /appointment/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 appointments • An array of the appointments. Each object holds the same fields as the /appointment/get call |
Permission | appointment_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 appointments in this account |
Notes |
|
Training commands
Description | Get the training forms to be done |
---|---|
URL | /training/todo |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) |
Returns |
status • OK account_id • Id of the account the training is for account_name • The name of the account the training is for group_number • The group number group_description • The description for the group of forms forms • JSON array containing the forms to be done * form_number • The formstack id of the form * form_description • The form description |
Errors |
ALL_DONE • No more training is needed |
Notes |
Description | Mark the form as done |
---|---|
URL | /training/done |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) account_id • Id of the account the training is for form_number • The formstack id of the form additional_parameters** • Additional parameters will be logged as part of the TRAINING_DONE user audit event |
Returns |
status • OK next • If the user has more training this will contain a hash of the fields from /training/todo |
Errors |
NOT_FOUND • The form was not found for this user |
Notes |
RSNA commands
Description | Retrieve RSNA Image Share exam |
---|---|
URL | /rsna/phr_study |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) exam_id • RSNA-generated exam ID/token/email (DEPRECATED June 2015 - use access_code) dob • Patient's date of birth YYYYMMDD pin • RSNA-generated PIN (DEPRECATED June 2015 - use access_code) access_code • RSNA-generated access code namespace • Namespace where retrieved exam will be stored clearinghouse • Clearinghouse to retrieve exam from: test or blank (optional) |
Returns |
studies • JSON array containing the following for each study in the exam: * study_uuid • The study_uuid * study_uid • The study_uid * report • Is a report associated to the study (0 = no, 1 = yes) |
Errors |
EXAM_NOT_FOUND • Exam cannot be found in designated RSNA Image Share clearinghouse ERROR_CREATING_STUDY • An unknown error was received when study was added via /study/add
|
Notes |
The exam is retrieved in a background job. Poll /api/v3/storage/study/{namespace}/{study_uid}/schema to determine when the retrieval is complete.
|
NPI commands
Description | Find an NPI number |
---|---|
URL | /npi/find |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) last • Last name state • 2 letter state code first • First name (optional) zip • Zip code (optional) |
Returns |
providers • JSON array containing the following fields for each provider: * npi • The NPI * name • The providers name * city • The city the provider is located in |
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 LOOKUP_FAILED • The lookup against the NPI registry failed |
Notes |
Site commands
Description | Get a list of the sites in the account |
---|---|
URL | /site/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 sites • An array of the sites. Each object holds the same fields as the /site/get call |
Permission | site_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 sites in this account |
Notes |
Description | Add a site |
---|---|
URL | /site/add |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) account_id • uuid of the account to add them to name • The sites name site_id • The site to attach them to as a satellite site (optional) country • The country of the site (optional) state • The state code of the site (optional) zip • The zip code of the site (optional) city • The city the site is located in (optional) address1 • Address line 1 of the site (optional) address2 • Address line 2 of the site (optional) |
Returns |
status • OK uuid • The uuid |
Permission | site_add |
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 type of object not found NOT_PERMITTED • You are not permitted to add a site to the account DIFFERENT_ACCOUNTS • The site and satellite sites are from different accounts NESTED_SATELLITE_SITE • The satellite site has its satellite sites |
Notes |
Description | Edit a site |
---|---|
URL | /site/set |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The site uuid name • The sites name (optional) site_id • The site to attach them to as a satellite site (optional) country • The country of the site (optional) state • The state code of the site (optional) zip • The zip code of the site (optional) city • The city the site is located in (optional) inactive • Flag if the site is actively used. Might be used to filter out inactive sites (optional) address1 • Address line 1 of the site (optional) address2 • Address line 2 of the site (optional) |
Returns |
status • OK |
Permission | site_edit |
Errors |
NOT_FOUND • The site can not be found NOT_PERMITTED • You are not permitted to edit the site 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 DIFFERENT_ACCOUNTS • The site and satellite sites are from different accounts NESTED_SATELLITE_SITE • The satellite site has its satellite sites INVALID_FLAG • An invalid flag was passed. The error_subtype holds the name of the invalid flag |
Notes |
Description | Get a site |
---|---|
URL | /site/get |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The site uuid |
Returns |
status • OK uuid • The site uuid name • The sites name site_id • The site to attach them to as a satellite site country • The country of the site state • The state code of the site zip • The zip code of the site city • The city the site is located in address1 • Address line 1 of the site address2 • Address line 2 of the site account_id • UUID of the account satellite_sites • An array of the satellite sites. Each object has the following fields. * uuid • Site Id * name • Site name trials • An array of the associated trials (groups). Each object has the following fields. * uuid • Group Id * name • Group name * account_name • The group's account (Trial study) name * inactive • Flag if the trial is inactive (corresponds to the group's site_inactive flag) * qualified • Flag if the trial is qualified (corresponds to the group's site_qualified flag) inactive • Flag if the site is actively used. Might be used to filter out inactive sites |
Permission | site_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 site can not be found NOT_PERMITTED • You are not permitted to view this site |
Notes |
Description | Delete a site |
---|---|
URL | /site/delete |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The site uuid |
Returns |
status • OK |
Permission | site_delete |
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 site can not be found NOT_PERMITTED • You are not permitted to delete the site |
Notes |
Description | Add a user to a site contact list |
---|---|
URL | /site/user/add |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The site id (user_id || email) • Id or email of the user role_name • The role name that should be used for the user in groups site_email • Users contact email for the site. Only set this if it is different than the users login email (optional). |
Returns |
status • OK |
Permission | site_user_add |
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 site can not be found NOT_PERMITTED • You are not permitted to add users to the site USER_NOT_FOUND • The user was not found ALREADY_EXISTS • The user is in the contact list already |
Notes |
Description | Edit a site contact list record |
---|---|
URL | /site/user/set |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The site id user_id • Id of the user role_name • The role name that should be used for the user in groups (optional) site_email • Users contact email for the site. Only set this if it is different than the users login email (optional). |
Returns |
status • OK |
Permission | site_user_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 site can not be found NOT_PERMITTED • You are not permitted to edit users in the site USER_NOT_FOUND • The user was not found in the contact list |
Notes |
Description | List the users in a site contact list |
---|---|
URL | /site/user/list |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The site 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 * user_email • The user email * role_name • The users role name * site_email • Users contact email for the site. * groups • An array of trials the user is a member of. Each object in the array will have the following fields ** group_name • The trial site name ** group_account_name • The trial account name ** group_role_name • The role name of the user in the trial site |
Permission | site_user_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 site can not be found NOT_PERMITTED • You are not permitted list the site contact list |
Notes |
Description | Remove a user from a site contact list |
---|---|
URL | /site/user/delete |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The site id user_id • Id of the user |
Returns |
status • OK |
Permission | site_user_delete |
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 site can not be found USER_NOT_FOUND • The user can not be found in the contact list NOT_PERMITTED • You are not permitted to delete users from the contact list |
Notes |
Scanner commands
Description | Get a list of the scanners in the account |
---|---|
URL | /scanner/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 scanners • An array of the scanners. Each object holds the same fields as the /scanner/get call |
Permission | scanner_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 scanners in this account |
Notes |
Description | Add a scanner |
---|---|
URL | /scanner/add |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) site_id • Id of the site to add them to name • Name of the scanner modality • Modality (optional) serial_no • The serial number of the scanner (optional) manufacturer • The manufacturer of the scanner (optional) model • The scanner model (optional) customfield-{CUSTOMFIELD_UUID} • Custom field(s) (optional) |
Returns |
status • OK uuid • The uuid |
Permission | scanner_add |
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 type of object not found NOT_PERMITTED • You are not permitted to add a scanner to the account |
Notes |
Description | Edit a scanner |
---|---|
URL | /scanner/set |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The scanner uuid name • Name of the scanner (optional) modality • Modality (optional) serial_no • The serial number of the scanner (optional) manufacturer • The manufacturer of the scanner (optional) model • The scanner model (optional) customfield-{CUSTOMFIELD_UUID} • Custom field(s) (optional) |
Returns |
status • OK |
Permission | scanner_edit |
Errors |
NOT_FOUND • The scanner can not be found NOT_PERMITTED • You are not permitted to edit the scanner 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 | Get a scanner |
---|---|
URL | /scanner/get |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The scanner uuid |
Returns |
status • OK uuid • The scanner uuid name • The scanner name modality • The scanner modality serial_no • The serial number of the scanner manufacturer • The manufacturer of the scanner model • The scanner model customfields • An array of the custom fields associated with this scanner. Each object has the following fields (This is only returned if the scanner has custom fields) validated_for • An array of the trials (groups) the scanner is validated for. Each object has the following fields. * uuid • Group Id * name • Group name * study_uid • The study UID used in the process of scanner validation for the group |
Permission | scanner_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 scanner can not be found NOT_PERMITTED • You are not permitted to view the scaner |
Notes |
Description | Delete a scanner |
---|---|
URL | /scanner/delete |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The scanner uuid |
Returns |
status • OK |
Permission | scanner_delete |
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 scanner can not be found NOT_PERMITTED • You are not permitted to delete the scanner |
Notes |
Query commands
Description | Get a list of the queries |
---|---|
URL | /query/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 queries • An array of the queries. Each object holds the same fields as the /query/get call |
Permission | query_view |
Errors | |
Notes |
Description | Count the user queries needing attention |
---|---|
URL | /query/count |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) |
Returns |
status • OK count_assigned • The number of queries assigned to the current user, but not seen yet count_unassigned • The number of Queries not assigned to a specific user count_unread • The number of Queries having new messages |
Permission | |
Errors | |
Notes |
Description | Add a query |
---|---|
URL | /query/add |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) group_id • Id of the group associated to a trial site to add them to subject • Subject line of the query (optional) body • The query body (optional) query_type • The query type (optional) owner_namespace_id • The namespace owning the query. The account default from the default_query_owner_namespace account setting is used if not passed through the parameter (optional) owner_user_id • The user owning the query (optional) created_study_id • The study the query is related to (optional) recipients • JSON array of the user UUIDs to add to the query as recipients (optional) notify • Comma delimited list of the emails to be notified of the query events (optional) customfield-{CUSTOMFIELD_UUID} • Custom field(s) (optional) |
Returns |
status • OK uuid • The uuid |
Permission | query_add |
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 type of object not found NOT_PERMITTED • You are not permitted to add a query to the namespace INVALID_GROUP • The group passed is not linked to a trial site NOT_CONFIGURED • The group's account is not configured INVALID_TYPE • The passed type is not valid for the group and patient arm |
Notes | The query is created with the first status defined for the acount using the query_status_tags account setting |
Description | Edit a query |
---|---|
URL | /query/set |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The query uuid query_type • The query type (optional) group_id • Id of the group associated to a trial site to add them to. Group change is not allowed for study-related queries (optional) subject • Subject line of the query (optional) body • The query body (optional) owner_user_id • The user owning the query (optional) recipients • JSON array of the user UUIDs to add to the query as recipients (optional) notify • Comma delimited list of the emails to be notified of the query events (optional) customfield-{CUSTOMFIELD_UUID} • Custom field(s) (optional) |
Returns |
status • OK |
Permission | query_edit |
Errors |
NOT_FOUND • The object was not found. The error_subtype holds the type of object not found NOT_PERMITTED • You are not permitted to edit the query 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 STUDY_QUERY_GROUP_CHANGE • Cannot change group for the study-related query INVALID_GROUP • The group passed is not linked to a trial site or is from another account NOT_CONFIGURED • The group's account is not configured INVALID_TYPE • The passed type is not valid for the group and patient arm |
Notes |
Description | Get a Query |
---|---|
URL | /query/get |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The query uuid |
Returns |
status • OK uuid • The query uuid query_type • The query type query_status • The query status tag subject • Subject line of the query body • The query body query_no • The query number created • Date and time the query was created owner_namespace_id • The namespace UUID owning the query owner_namespace_name • The owning namespace's name owner_user_id • The user owning user's UUID owner_user_name • The user owning user's name owner_user_email • The user owning user's email created_study_id • The study the query was associated to during query creation study_uid • The study UID the query is related to study_storage_namespace • The study storage namespace the query is related to study_modality • The related study modality account_id • Account ID of the trial site group_id • Id of the group associated to a trial site group_name • Name of the group associated to a trial site visit_name • The visit name defined by a study named custom field called trial_visit_name project_tims • The project TIMS defined by a study named custom field called trial_project_tims subject_number • The subject number attachments • An array of the query attachments. Each object has the following fields. * uuid • Attachment Id * created • Date and time the attachment was created * created_by_id • UUID of the user who added the attachment * length • The attachment size in bytes * type • The attachment MIME-type * name • The attachment display name * url • The URL to download the attachment * headers • The headers to include in the download request. For the headers format see /query/attachment/add * thumbnail_url • The URL to download the attachment thumbnail. Returned when there is a thumbnail for the attachment * thumbnail_headers • The headers to include in the thumbnail download request. Returned when there is a thumbnail for the attachment --- The following fields are only returned if the user has query_view_meta permission --- notify • Comma delimited list of the emails to be notified of the query events recipients • JSON array of the study recipients. Each array element is a HASH with two keys: uuid and email last_reply • Date and time when the last reply was added last_status_change • Date and time when the query status changes for the last time last_reminder • Date and time when the last reminder was sent out for the query escalation_count_since_status_change • The escalation count since the last status change for the query reminder_count_since_reply • The count o remiders sent out since the last reply patient_id • The patient id patient_mrn • The patient MRN patient_name • The patient name patient_arm • The patient arm (defined by the trial_arm named customfield)tags • An array of user tags associated with this object (This is only returned if the object has tags) customfields • An array of the custom fields associated with this query. Each object has the following fields (This is only returned if the query has custom fields) unread_message_count • Number of unread messages in the Query created_by_name • Name of the user who created the query created_by_email • Email of the user who created the query created_by_type • Type of user who created the query |
Permission | query_view query_view_meta |
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 query can not be found NOT_PERMITTED • You are not permitted to view the query |
Notes |
Description | Delete a query |
---|---|
URL | /query/delete |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The query uuid |
Returns |
status • OK |
Permission | query_delete |
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 query can not be found NOT_PERMITTED • You are not permitted to delete the query |
Notes |
Description | Mark query messages seen |
---|---|
URL | /query/seen |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The query uuid message_id • ID of the last seen message (optional) |
Returns |
status • OK |
Permission | 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 query can not be found NOT_PERMITTED • You are not permitted to view the query |
Notes |
Description | Set the status of a query |
---|---|
URL | /query/status/set |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • Query uuid old • The old query status value new • The new query status value |
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 query can not be found NOT_PERMITTED • You are not permitted to set the status for this query STALE • The query status you have is stale INVALID_TAG • The query status new value is not a valid value |
Notes |
Description | Add an attachment to a query |
---|---|
URL | /query/attachment/add |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) query_id • Query UUID name • The attachment display name length • The attachment size in bytes type • The attachment MIME-type thumbnail_length • The attachment's thumbnail MIME-type (optional) thumbnail_type • The attachment's thumbnail size in bytes (optional) |
Returns |
status • OK uuid • The attachment uuid upload_url • The URL to use for content upload upload_headers • The headers to include in the upload request thumbnail_upload_url • The URL to use for content upload thumbnail_upload_headers • The headers to include in the upload request |
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 query can not be found NOT_PERMITTED • You are not permitted to add attachments to this query TOO_BIG • The attachment size exceeds the limit NOT_CONFIGURED • The Azure keys are not configured |
Notes |
|
Description | Finish a query attachment upload |
---|---|
URL | /query/attachment/commit |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • Attachment 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 query attachment can not be found NOT_PERMITTED • You are not the creator of the query attachment NOT_PHANTOM • The attachment is not phantom NOT_CONFIGURED • The Azure keys are not configured |
Notes |
Description | Delete an attachment from the query |
---|---|
URL | /query/attachment/delete |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • Attachment 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 query attachment can not be found NOT_PERMITTED • You are not permitted to delete attachments from this query THUMBNAIL • The attachment is a thumbnail for the attachment, Use the main attachment to delete the thumbnail NOT_CONFIGURED • The Azure keys are not configured |
Notes |
QC Task commands
Description | Add a QC Task |
---|---|
URL | /qctask/add |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) (account_id || namespace_id) • uuid of an account to attach the QC task to, account can be referred to by using a namespace_id from the account assigned_group • The assigned group reference (optional) user_id • Id of the user to assign the QC Task to (optional) query_id • Id of the query to associate the QC Task to (optional) priority • QC Task priority customfield-{CUSTOMFIELD_UUID} • Custom field(s) (optional) message • Explanatory message for the QC Task (optional) study_id • The associated study queries • A JSON array of the query uuid(s) associate the QC Task to (optional) qctask_status • Status of the QC task, Open by default (Open|InProgress|Closed) (optional) |
Returns |
status • OK uuid • The uuid |
Permission | qctask_add |
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 type of object not found NOT_PERMITTED • You are not permitted to assign a QC Task in the account NAMESPACE_NOT_ACCOUNT_RELATED • The assigned namespace is not associated with an Account (it is a PHR account) OWNING_NAMESPACE_FROM_ANOTHER_ACCOUNT • The Query's account differs from the passed one INVISIBLE_QUERY • The passed Query is not visible to the user the QC Task is being assigned to INVALID_INTEGER • An invalid integer was passed. The error_subtype holds the name of the invalid integer |
Notes |
Description | Edit a QC Task |
---|---|
URL | /qctask/set |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The QC Task uuid assigned_group • The assigned group reference (optional) user_id • Id of the user to assign the QC Task to (optional) priority • QC Task priority (optional) customfield-{CUSTOMFIELD_UUID} • Custom field(s) (optional) message • Explanatory message for the QC Task (optional) study_id • The associated study (optional) queries • A JSON array of the query uuid(s) associate the QC Task to (optional) |
Returns |
status • OK |
Permission | qctask_edit qctask_prioritize |
Errors |
NOT_FOUND • The object was not found. The error_subtype holds the type of object not found NOT_PERMITTED • You are not permitted to edit the QC Task 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_INTEGER • An invalid integer was passed. The error_subtype holds the name of the invalid integer INVISIBLE_QUERY • The passed Query is not visible to the user the QC Task is being assigned to OWNING_NAMESPACE_FROM_ANOTHER_ACCOUNT • The Query's account differs from the passed one |
Notes |
Description | Get a list of the QC Tasks the user can view |
---|---|
URL | /qctask/list |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) closed_study_queries • Flag to return only QC tasks for studies with no open Queries associated with them (optional) filter.* Filters (optional) page.* Pagination (optional) sort_by • Sorting (optional) |
Returns |
status • OK page • The pagination status hash qctasks • An array of the QC tasks. Each object holds the same fields as the /qctask/get call |
Permission | qctask_view |
Errors | |
Notes |
Description | Get a QC Task |
---|---|
URL | /qctask/get |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The QC Task uuid |
Returns |
namespace_id • Id of the namespace assigned to the QC Task user_id • Id of the QC task assignee user_name • Name of the QC task assignee priority • QC Task priority customfields • An array of the custom fields associated with this QC Task. Each object has the following fields (This is only returned if the QC Task has custom fields) message • Explanatory message for the QC Task created • Date and time the QC Task was created study_id • The associated study study • The associated study. Returned only when expand.qctask=["study"] parameter is passed queries • An array of the associated query uuid(s) qctask_status • Status of the QC task site_name • The trial site name qctask_no • The QC task number assigned_group • The assigned group reference |
Permission | qctask_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 QC Task can not be found NOT_PERMITTED • You are not permitted to view the QC Task |
Notes |
|
Description | Delete a QC Task |
---|---|
URL | /qctask/delete |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The QC Task uuid |
Returns |
status • OK |
Permission | qctask_delete |
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 QC Task can not be found NOT_PERMITTED • You are not permitted to view the QC Task |
Notes |
Description | Set the status of a QC task |
---|---|
URL | /qctask/status/set |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • QC task uuid old • The old QC task status value new • The new QC task status value (Open|InProgress|Closed) |
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 QC task can not be found NOT_PERMITTED • You are not permitted to set the status for this QC task STALE • The QC task status you have is stale INVALID_TAG • The QC task status new value is not a valid value |
Notes |
Anonymization profile commands
Description | Get a list of the anonymization profiles in the account |
---|---|
URL | /anonymization/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 anonymization_profiles • An array of the anonymization profiles. Each object holds the same fields as the /anonymization/get call |
Permission | account_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 anonymization profiles in this account |
Notes |
Description | Add an anonymization profile |
---|---|
URL | /anonymization/add |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) account_id • uuid of the account to add them to name • Name of the anonymization profile rules • A JSON hash of anonymization rules to apply to retrieved studies |
Returns |
status • OK uuid • The uuid |
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_FOUND • The account was not found. The error_subtype holds the type of object not found NOT_HASH • The rules field is not a hash NOT_PERMITTED • You are not permitted to add an anonymization profile to the account |
Notes |
Description | Edit an anonymization profile |
---|---|
URL | /anonymization/set |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The anonymization profile uuid name • Name of the anonymization profile (optional) rules • A JSON hash of anonymization rules to apply to retrieved studies (optional) |
Returns |
status • OK |
Permission | account_edit |
Errors |
NOT_FOUND • The anonymization profile can not be found NOT_PERMITTED • You are not permitted to edit the anonymization profile 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_HASH • The rules field is not a hash IN_USE • The anonymization profile is connected to an account, its rule set cannot be changed |
Notes |
|
Description | Get an anonymization profile |
---|---|
URL | /anonymization/get |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The anonymization profile uuid |
Returns |
status • OK uuid • The anonymization profile uuid name • Name of the anonymization profile rules • A JSON hash of anonymization rules to apply to retrieved studies account_id • account uuid namespaces • An array of the namespaces the anonymization profile applies to. Each namespace holds the following fields. * uuid • Id of the namespace * name • Description of the namespace |
Permission | account_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 anonymization profile can not be found NOT_PERMITTED • You are not permitted to view the anonymization profile |
Notes |
Description | Delete an anonymization profile |
---|---|
URL | /anonymization/delete |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The anonymization profile uuid |
Returns |
status • OK |
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_FOUND • The anonymization profile can not be found NOT_PERMITTED • You are not permitted to delete the anonymization profile IN_USE • The anonymization profile is connected to an account and cannot be removed |
Notes |
Rule set commands
Description | Get a list of the rule sets in the account |
---|---|
URL | /rule_set/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 rule_sets • An array of the account rule sets. Each object holds the same fields as the /rule_set/get call |
Permission | account_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 rule sets in this account |
Notes |
Description | Add a rule set |
---|---|
URL | /rule_set/add |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) account_id • uuid of the account to add them to name • Name of the rule set |
Returns |
status • OK uuid • The uuid |
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_FOUND • The account was not found. The error_subtype holds the type of object not found NOT_PERMITTED • You are not permitted to add a rule set to the account |
Notes |
Description | Edit a rule set |
---|---|
URL | /rule_set/set |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The rule set uuid name • Name of the rule set (optional) |
Returns |
status • OK |
Permission | account_edit |
Errors |
NOT_FOUND • The rule set can not be found NOT_PERMITTED • You are not permitted to edit the rule set 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 | Get a rule set |
---|---|
URL | /rule_set/get |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The rule set uuid |
Returns |
status • OK uuid • The rule set uuid name • Name of the rule set account_id • account uuid |
Permission | account_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 set can not be found NOT_PERMITTED • You are not permitted to view the rule set |
Notes |
Description | Delete a rule set |
---|---|
URL | /rule_set/delete |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The rule set uuid |
Returns |
status • OK |
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_FOUND • The rule set can not be found NOT_PERMITTED • You are not permitted to delete the rule set IN_USE • The rule set contains study status timet rules and cannot be removed |
Notes |
Study timer rule commands
Description | Get a list of the study timer rules in the account |
---|---|
URL | /timer_rule/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 timer_rules • An array of the account timer rules. Each object holds the same fields as the /timer_rule/get call |
Permission | account_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 timer rules in this account |
Notes |
Description | Add a timer rule |
---|---|
URL | /timer_rule/add |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) rule_set_id • uuid of the rule set to add them to action • The action to perform on rule match (reset|reset_and_stop|reset_and_resume|resume|stop|do_nothing) sequence • An integer value. Rules are processed from low number to high number (optional) old_values • JSON hash of the values to compare with the previous study state. Keys correspond to study fields, each hash element is an ARRAY of actual values to use in comparison (optional) new_values • JSON hash of the values to compare with the next study state. Keys correspond to study fields, each hash element is an ARRAY of actual values to use in comparison (optional) name • Name of the timer rule |
Returns |
status • OK uuid • The uuid |
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_FOUND • The rule set can not be found NOT_PERMITTED • You are not permitted to add a rule set to the account INVALID_INTEGER • An invalid integer was passed. The error_subtype holds the name of the invalid integer VALIDATION_FAILED • A field failed validation. The error_subtype holds the name of the invalid field NOT_HASH • The field is not a JSON hash. The error_subtype holds the name of the field UNSUPPORTED_STUDY_FIELD • The referred study field is not supported NAMESPACE_NOT_FOUND • The namespace referred by the rule was not found INVALID_VALUE • The rule condition value is not an array |
Notes |
|
Description | Edit a timer rule |
---|---|
URL | /timer_rule/set |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The timer rule uuid action • The action to perform on rule match (reset|reset_and_stop|reset_and_resume|resume|stop|do_nothing) (optional) sequence • An integer value. Rules are processed from low number to high number (optional) old_values • JSON hash of the values to compare with the previous study state. Keys correspond to study fields, each hash element is an ARRAY of actual values to use in comparison (optional) new_values • JSON hash of the values to compare with the next study state. Keys correspond to study fields, each hash element is an ARRAY of actual values to use in comparison (optional) name • Name of the timer rule (optional) |
Returns |
status • OK |
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_FOUND • The timer rule was not found NOT_PERMITTED • You are not permitted to edit the timer rule INVALID_INTEGER • An invalid integer was passed. The error_subtype holds the name of the invalid integer VALIDATION_FAILED • A field failed validation. The error_subtype holds the name of the invalid field NOT_HASH • The field is not a JSON hash. The error_subtype holds the name of the field UNSUPPORTED_STUDY_FIELD • The referred study field is not supported NAMESPACE_NOT_FOUND • The namespace referred by the rule was not found INVALID_VALUE • The rule condition value is not an array |
Notes |
Description | Get a timer rule |
---|---|
URL | /timer_rule/get |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The timer rule uuid |
Returns |
status • OK uuid • The timer rule uuid name • Name of the timer rule rule_set_id • uuid of the rule set action • The action to perform on rule match sequence • An integer value. Rules are processed from low number to high number old_values • JSON hash of the values to compare with the previous study state new_values • JSON hash of the values to compare with the next study state |
Permission | account_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 timer rule can not be found NOT_PERMITTED • You are not permitted to view the timer rule |
Notes |
Description | Delete a timer rule |
---|---|
URL | /timer_rule/delete |
Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The timer rule uuid |
Returns |
status • OK |
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_FOUND • The timer rule can not be found NOT_PERMITTED • You are not permitted to delete the timer rule |
Notes |