v3 Services Public API
Table of contents
- Introduction
- Global information
- Error handling
- Filters
- Fields
- Pagination
- Sorting
- Bundled calls
- Permissions
- Schedules
- Account settings
- AI questions
- Session commands
- User commands
- Study commands
- /study/add
- /study/set
- /study/delete
- /study/list
- /study/count
- /study/cfind
- /study/get
- /study/permissions
- /study/exists
- /study/push
- /study/push/hl7
- /study/pdf/hl7
- /study/fax/hl7
- /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/set
- /study/status/locks
- /study/status/history
- /study/move
- /study/duplicate
- /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
- 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/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/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/add
- /node/set
- /node/get
- /node/ping
- /node/ping/ack
- /node/deliver
- /node/retrieve
- /node/webhook
- /node/configuration
- /node/delete
- /node/study/queued
- /node/found
- /node/found/mwl
- /node/event
- /node/log
- /node/metric
- /node/progress/add
- /node/progress/list
- /node/progress/get
- Destination commands
- Route commands
- Account commands
- /account/list
- /account/set
- /account/get
- /account/delete
- /account/user/add
- /account/user/set
- /account/user/get
- /account/user/delete
- /account/user/list
- /account/user/report/login
- /account/can/share
- /account/can/share/stop
- /account/can/share/list
- /account/css
- /account/settings
- /account/connect
- /account/md5/counter
- Location commands
- Group commands
- Role commands
- Activity commands
- Audit commands
- Namespace commands
- 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
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.
- 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 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"]
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
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
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
will sort the results by name in ascending order and then date in descending order.
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"<EMAIL_ADDRESS>"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.
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"<EMAIL_ADDRESS>"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.
| Flag | Admin Value |
User Value |
PHR Value |
Anonymous Value |
Description |
|---|---|---|---|---|---|
| account_edit | 1 | 0 | 0 | 0 | Can they add and edit the account |
| account_view | 1 | 0 | 0 | 0 | Can they view account information |
| 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 |
| 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 |
| 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 |
| 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 |
| 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 |
| 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 |
| 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_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_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_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_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_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_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_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.
|
| 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 |
| filter_share | 1 | 0 | 1 | 0 | Can they share filters |
| customfield_view | 1 | 0 | 0 | 0 | Can they view or list the customfields in the account |
| 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 |
| 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 |
| can_proxy_login | 0 | 0 | 0 | 0 | Can they proxy login for "owned" users in an account |
| 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_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 |
| 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 | 1 | 1 | 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_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 | 1 | 1 | 1 | 0 | Can they modify other user's notifications |
| user_request_access | 1 | 1 | 1 | 0 | Can they request access to an org |
| channel_study | 1 | 1 | 1 | 1 | Can they subscribe to a study channel |
| channel_activity | 1 | 1 | 1 | 0 | Can they subscribe to an activity 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 |
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 |
Description | ||
|---|---|---|---|---|---|---|---|---|---|
| show_hl7_report_physician_alias_regexp | Flag | 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 | Update the study source for every notification | ||
| allow_phr_upload | Flag | 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 | Enable credit card processing for the account | ||
| paypal_account | Text | 0 | 0 | 0 | 0 | The paypal account email for credit card processing | |||
| request_join_on_vanity_registration | Flag | 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 | Comma-delimited list of customfield uuids to show on vanity registration page | ||
| login_json | Text | 1 | 0 | 0 | 0 | JSON structure to control the login page HTML | |||
| ui_json | Text | 0 | 1 | 1 | 0 | JSON structure to control the application UI:
|
|||
| baa_text | Text | 1 | 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 | The HTML to display for the training manual link | |||
| faq_text | Text | 1 | 0 | 0 | 0 | The HTML to display for the FAQ link | |||
| other_manual_text | Text | 1 | 0 | 0 | 0 | The HTML to display for the "other" manual link | |||
| pin_auth_text | Text | 1 | 0 | 0 | 0 | The HTML to display for a failed pin_auth for /link/session | |||
| homepage_links | Text | 1 | 0 | 0 | 0 | A JSON hash of the links to display on the home page | |||
| enable_dicom_wrapping | Flag | 0 | 0 | 0 | 1 | 0 | Enable dicom wrapping support on uploading | ||
| auto_enable_dicom_wrapping | Flag | 0 | 0 | 0 | 1 | 0 | Enable dicom wrapping support on uploading if no DICOM is detected | ||
| single_file_dicom_wrapping | Flag | 0 | 0 | 0 | 1 | 0 | Limit DICOM wrapping on upload to a single file | ||
| disable_mobile_dicom_wrapping | Flag | 0 | 0 | 0 | 1 | 0 | Disable dicom wrapping support on uploading for mobile devices | ||
| enable_multipart_uploader | Flag | 1 | 0 | 0 | 1 | 0 | Enable multipart uploading | ||
| enable_dicom_deidentification | Flag | 0 | 0 | 0 | 1 | 0 | Enable the dicom de-identification tool on uploading | ||
| dicom_deidentification_at_ingress | Flag | 1 | 0 | 0 | 0 | 0 | De-identify at ingress | ||
| enable_dicomdir_scan | Flag | 1 | 0 | 0 | 0 | 0 | Enable dicomdir scanning on uploading | ||
| from_email_address | Text | 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 | Use this display name in emails for email sent from the account. | |||
| enable_v2_viewer | Flag | 0 | 0 | 0 | 0 | 0 | Use the version 2 viewer for this account | ||
| auto_create_patient | Flag | 0 | 0 | 0 | 1 | 0 | Auto create patients from approved studies | ||
| auto_update_patient_studies | Flag | 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 | Require that the patient primary phone and email address be unique | ||
| anonymize_at_ingress | Flag | 0 | 0 | 0 | 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 | 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 | 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 | 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 | Update the PHI from ADT HL7 messages | ||
| update_phi_hl7_namespaces | Text | 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_phi_syngo_match | Flag | 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 | Fire the upload event notification when the /study/sync webhook is run | ||
| logo_action | Text | 0 | 0 | 0 | 0 | What action to take when the logo is clicked | |||
| viewer3_config | Text | 0 | 0 | 0 | 0 | JSON hash of the viewer3 settings | |||
| viewer_show_reports | Flag | 1 | 0 | 1 | 0 | 0 | Show reports in the viewer | ||
| enable_viewer_print | Flag | 1 | 0 | 1 | 0 | 0 | Enable the print feature on the viewer | ||
| enable_viewer_export | Flag | 1 | 0 | 1 | 0 | 0 | Enable the export feature on the viewer | ||
| viewer_diagnostic_quality | Flag | 0 | 0 | 1 | 0 | 0 | Diagnostic quality viewing | ||
| viewer_diagnostic_quality_always | Flag | 0 | 0 | 1 | 0 | 0 | Diagnostic quality viewing in all modes including tools | ||
| viewer_preload_diagnostic_images | Flag | 0 | 0 | 1 | 0 | 0 | Preload diagnostic images in the viewer | ||
| viewer_enable_mpr | Flag | 0 | 0 | 1 | 0 | 0 | Flag to enable multi planar reconstruction in the viewer | ||
| viewer_store_extra_annotation_data | Number | 0 | 0 | 1 | 0 | 0 | Capture extra annotation information | ||
| viewer_default_drop_shape_width | Number | 0 | 0 | 1 | 0 | 0 | Customize the default size of circle and square drop shapes | ||
| viewer_link_series | Flag | 0 | 0 | 1 | 0 | 0 | Link the series | ||
| viewer_single_instance_series | Flag | 0 | 0 | 1 | 0 | 0 | Flag to enable viewing each image as a series | ||
| viewer_multiframe_split_method | Number | 0 | 0 | 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 | Should the "Go to Study Page" link display in the viewer | ||
| viewer_study_page_link_url | Text | 0 | 1 | 0 | 0 | Optional URL for the "Go to Study Page" link in the viewer | |||
| viewer_setting_not_diagnostic | Flag | 0 | 0 | 1 | 0 | 0 | Show a dialog explaining diagnostic usage when opening the viewer | ||
| viewer_show_priors_worklist_only | Flag | 0 | 0 | 1 | 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 | Have the viewer look for available accelerators | ||
| enable_viewer_toggle_annotations | Flag | 1 | 0 | 0 | 0 | 0 | Enable the toggle annotations button for the viewer | ||
| viewer_default_mouse_tool | Text | Scroll | 0 | 1 | 0 | 0 | The default mouse tool in the viewer | ||
| auto_transcode_modalities | Text | 0 | 0 | 0 | 0 | Comma separated list of modalities to preemptively transcode data for | |||
| case_status_tags | Text | 0 | 0 | 0 | 0 | Comma separated list of case status tags | |||
| case_notify_submitted | Text | 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 | 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.
| |||
| case_charge_by_modality | Flag | 1 | 0 | 0 | 0 | 0 | Charge second opinion by modality of shared study | ||
| study_status_tags | Text | 0 | 0 | 0 | 0 | Comma separated list of study status tags | |||
| study_status_mutex_tags | Text | 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 | 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 | 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 | A JSON hash. The keys are study status tags and the values are a list of the attributes attached to the tag | |||
| study_share_use_account_template | Flag | 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 | 0 | 0 | 0 | 0 | 0 | Require double entry of the share email address to confirm it | ||
| logout_url | Text | 0 | 0 | 0 | 0 | URL to take the user to on logout | |||
| consolidate_wrapped_jpegs | Flag | 0 | 1 | 0 | 0 | 0 | Consolidate JPEGS when wrapping them | ||
| enable_masshiway | Flag | 0 | 0 | 0 | 0 | 0 | Enable Mass Hiway integration | ||
| default_list_view | Text | 0 | 0 | 0 | 0 | The default list view | |||
| enable_dicom_tag_customfields | Flag | 0 | 0 | 0 | 0 | 0 | Enable storage of any DICOM tag in the study customfield | ||
| patients_from_hl7 | Text | 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_adt | Text | 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}"}
| |||
| update_patients_from_hl7 | Flag | 0 | 0 | 0 | 0 | 0 | Update patients from the hl7 messages | ||
| appointments_from_hl7_adt | Text | 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.
| |||
| users_from_hl7_mfn | Text | 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 | Generate orders from HL7 ORM messages | ||
| orders_from_hl7_adt | Flag | 0 | 0 | 0 | 0 | 0 | Generate orders from HL7 ADT messages | ||
| allow_multiple_use_of_orders | Flag | 0 | 0 | 0 | 0 | 0 | Allow an order to be applied to multiple studies | ||
| link_first_study_only | Flag | 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 | Enable look of HL7 orders to override PHI in the approval process | ||
| study_push_status | Flag | 0 | 0 | 0 | 0 | 0 | Enable tracking and display of the study push status for the account | ||
| reverse_patient_name | Flag | 0 | 0 | 0 | 0 | 0 | Define patient name as last^first instead of first^last | ||
| enable_click_to_filter | Flag | 0 | 0 | 0 | 0 | 0 | Enable the click to filter feature in the UI | ||
| customfields_last_on_search | Flag | 0 | 0 | 0 | 0 | 0 | Show the customfields last on the study search dialog | ||
| auto_wrap_images | Flag | 0 | 0 | 0 | 0 | 0 | Auto wrap the images in storage | ||
| reencode_dicom_mp4 | Flag | 0 | 0 | 0 | 0 | 0 | Re-encode MP4 DICOM | ||
| render_wrapped_pdf | Flag | 0 | 0 | 0 | 0 | 0 | Convert PDF to viewer format | ||
| render_wrapped_avi | Flag | 0 | 0 | 0 | 0 | 0 | Convert AVI to viewer format | ||
| render_wrapped_video | Flag | 0 | 0 | 0 | 0 | 0 | Convert video to viewer format | ||
| sr_render_css | Text | 0 | 0 | 0 | 0 | CSS for SR rendering> | |||
| upload_one_study | Flag | 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 | 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 | Get the radreport branding from the PHI namespace instead of the storage namespace | ||
| viewer_anon_annotations_clear | Flag | 0 | 0 | 0 | 0 | 0 | Clear out the annotations created by an anonymous viewer | ||
| viewer_enable_tap_navigation | Flag | 0 | 0 | 0 | 0 | 0 | Enable tap to scroll on the viewer | ||
| viewer_hide_thumbnails | Flag | 0 | 0 | 1 | 0 | 0 | Hide the viewer thumbnails by default | ||
| viewer_hide_thumbnails_datetime | Flag | 0 | 0 | 1 | 0 | 0 | Hide the viewer datetime on the thumbnails by default | ||
| viewer_hide_ruler | Flag | 0 | 0 | 1 | 0 | 0 | Hide the viewer annotation ruler | ||
| viewer_hide_active_measurement_info | Flag | 0 | 0 | 1 | 0 | 0 | Hide the viewer thumbnails by default | ||
| viewer_show_std_dev | Flag | 0 | 0 | 0 | 0 | 0 | Show the standard deviation calculation | ||
| other_ingress_tags | Text | 0 | 0 | 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 | 0 | 0 | Use the other ingress tags for server side anonymization as well as client side anonymization | ||
| login_location | Text | 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 | Enable the PHR sharing workflow of the account | ||
| sso_share_phr_workflow_options | Text | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | Ignore a blank or empty accession number from storage | ||
| study_stat_filter | Text | 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 | |||
| refresh_data_on_reshare | Flag | 0 | 0 | 0 | 0 | 0 | Refresh the integration key and customfields on a re-share of a study | ||
| study_status_timer | Flag | 0 | 0 | 0 | 0 | 0 | Enable the study status timer feature | ||
| max_link_studies | Text | 100 | 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 | Update the study status in all versions of the study | ||
| athena_subscribe_orders | Flag | 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 | 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 | 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 | Authenticate against both the account_password and user password when logging in using an account_alias | ||
| ip_whitelist | Text | 0 | 0 | 0 | 0 | Restrict logins to the specified network or IP address e.g. 195.114.80/24,<IP_ADDRESS>/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 | 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 | 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 | Modify the /user/invite behavior to automatically add the user to the account if they are already on the system | ||
| duplicate_study_check | Flag | 0 | 0 | 0 | 0 | 0 | Check for a duplicate study on upload | ||
| disable_duplicate_study_upload | Flag | 0 | 0 | 0 | 0 | 0 | Disable upload of a duplicate study by uid across account | ||
| add_patientid_to_hl7_query_retrieve | Flag | 0 | 0 | 0 | 0 | 1 | Add the MRN to the query retrieve triggered via a HL7 message | ||
| max_match_study_hl7 | Number | 100 | 0 | 0 | 0 | 0 | Maximum number of studies to match against an HL7 message | ||
| include_adt_in_study_find_order | Flag | 0 | 0 | 0 | 0 | 0 | Include ADT messages when search for orders in /study/find/order | ||
| use_namespace_name_on_upload_request | Flag | 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 | Require the user confirm that they are authorized to upload the study | ||
| study_status_timer_attributes | Text | 0 | 0 | 0 | 0 | The JSON for color coding studies based on a timer | |||
| enable_patient_portal | Flag | 0 | 0 | 0 | 0 | 0 | Enable the patient portal feature | ||
| require_mrn_for_patient_portal | Flag | 0 | 1 | 0 | 0 | 0 | Require a MRN when searching for patients in the portal | ||
| enable_thin_retrieve_in_patient_portal | Flag | 0 | 0 | 0 | 0 | 0 | Allow retrieving of thin studies in the patient portal | ||
| allow_portal_pin_to_dup_addresses | Flag | 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 | 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 | 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 | 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 | Suppress all emails to the patients | ||
| study_search_modifiers | Text | 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 | Require a reason for a PHI update | ||
| radreport_sign | Text | 0 | 0 | 0 | 0 | A JSON hash holding the information for signing a radreport | |||
| passwdqc | Text | 0 | 0 | 0 | 0 | The specification string for a passwdqc check against proposed passwords for account users | |||
| passwd_regexp | Text | 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 | 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 | 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 | Use a cfind instead of a MWL query for the MWL searching workflow | ||
| mwl_filter_if_matching_study | Flag | 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 | All attachments must be downloaded before they can be opened | ||
| show_radreport_in_all_namespaces | Flag | 0 | 0 | 0 | 0 | 0 | Show radreports on all versions of the study | ||
| enable_radreport_attestation | Flag | 0 | 0 | 0 | 0 | 0 | Require electronic signing of radreport | ||
| disable_csrf_on_links | Flag | 0 | 0 | 0 | 0 | 0 | Disable the CSRF cookie for /link/redirect | ||
| disable_link_session | Flag | 0 | 0 | 0 | 0 | 0 | Disable the /link/session API call for the account | ||
| report_view_phr_delay | Number | 0 | 0 | 0 | 0 | 0 | Number of minutes after study creation to not show reports on studies shared into a PHR namespace | ||
| study_view_phr_delay | Test | 0 | 0 | 0 | 0 | 0 | A JSON object with minutes to delay studies visibility in patient's portal. JSON object's names are modalities or a special value ALL, values are number of minutes to delay. The ALL record is optional and is applied when there is no match for study's modality | ||
| 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 | 0 | A JSON hash mapping the value in MSH_3 or MSH_5 to another account uuid. The HL7 message will be attached to the mapped account. 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 |
|
| report_csv_download_concat | Flag | 0 | 0 | 0 | 0 | 0 | Export all CSV rad reports into one CSV file | ||
| update_all_studies | Text | 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 | 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 | Storage setting for DICOM encapsulated PDF's | ||
| compress_audio_recordings | Flag | 0 | 0 | 0 | 0 | 0 | Compress audio recordings in the browser before sending them to storage | ||
| upload_hold | Number | 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 | Propagate study default values for parent child namespace setups | ||
| compress_audio_recordings | Flag | 0 | 0 | 0 | 0 | 0 | Compress audio in the browser before uploading | ||
| study_search_require_regexp | Text | 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 | 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 | 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_require_criteria_min | Number | 0 | 0 | 0 | 0 | Minimal number of search criteria for /destination/search Default is 1 | |||
| enable_drchrono | Flag | 0 | 0 | 0 | 0 | 0 | Enable the drchrono integration | ||
| exclude_load_dicom_tag | Flag | 1 | 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 | 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 | A JSON hash that specifies the message type as the key and the hl7 field/subfield as the value. The base64 encoded report will be extracted from message as per these specs and be attached as a report to the associated studies e.g. {"ORU":"OBX-12_5_5"} |
|||
| upload_select_none | Flag | 0 | 0 | 0 | 0 | 0 | Require selecting studies to upload when multiple studies are added | ||
| link_external_referer | Text | 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 | IP address whitelist to apply to the /link/external call. Further documentation here | |||
| link_external_whitelist_all_links | Flag | 0 | 0 | 0 | 0 | 0 | Flag to apply the link_external_whitelist setting to all links | ||
| link_sticky_anon_users | Flag | 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 | 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. | ||
| radreport_attestation_signature | Flag | 0 | 0 | 0 | 0 | 0 | Attach the users signature to the radreport | ||
| hide_help_tool | Flag | 0 | 1 | 0 | 0 | 0 | Hide the help icon from the UI | ||
| mwl_sending_facility_filter | Text | 0 | 0 | 0 | 1 | A JSON list of sending_facility values to limit node queries for /order/sps/find too. | |||
| mwl_filter_expression | Text | 0 | 0 | 0 | 1 | A filter expression to limit node queries for /order/sps/find e.g. filter.order_sps.modality.equals=MR
| |||
| mrn_qr | Text | 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 |
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 |
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 | 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 | ||
| external_viewer | Text | 0 | 0 | 0 | 0 |
A JSON hash to configure an external viewer for the account. The keys and values in the hash are as follows:
|
|||
| disable_external_viewer_for_links | Flag | 0 | 0 | 0 | 0 | 0 | Do not use the external viewer for studies viewed via a link by an anonymous user | ||
| limit_oru_by_storage_namespace | Text | 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 |
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. The keys and values in the hash are as follows:
|
|||
| epic_name_format | Text | 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 | Enable the Epic patient lookup for the account or namespace | ||
| epic_prompt_for_anonymize | Flag | 0 | 0 | 0 | 0 | 0 | Enable the prompt_for_anonymize feature for uploads via the Epic integration | ||
| epic_upload_match | Text | 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_patient_lookup_info | Text | 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:
|
|||
| enable_link_charging | Flag | 0 | 0 | 0 | 0 | 0 | Enable charging for accessing a link | ||
| ai_attach_scanned_docs_as_pdf | Text | 0 | 0 | 1 | 0 | Settings for the AI question | |||
| ai_anonymize_study_images | Text | 0 | 0 | 1 | 0 | Settings for the AI question | |||
| ai_anonymize_study_hl7 | Text | 0 | 0 | 1 | 0 | Settings for the AI question | |||
| anonymize_study_images_google_dlp | Text | 0 | 0 | 1 | 0 | Settings for the AI question | |||
| anonymize_study_images_aws_rekognition | Text | 0 | 0 | 1 | 0 | Settings for the AI question | |||
| anonymize_study_images_tensorflow_east | Text | 0 | 0 | 1 | 0 | Settings for the AI question | |||
| ai_study_manual_route | Text | 0 | 0 | 1 | 0 | Settings for the AI question | |||
| ai_search_and_replace_study_tags | Text | 0 | 0 | 1 | 0 | Settings for the AI question | |||
| ai_delete_duplicate_images | Text | 0 | 0 | 1 | 0 | Settings for the AI question | |||
| ai_delete_scanned_docs | Text | 0 | 0 | 1 | 0 | Settings for the AI question | |||
| ai_anonymize_attached_pdf | Text | 0 | 0 | 1 | 0 | Settings for the AI question | |||
| ai_anonymize_attached_pdf_google_dlp | Text | 0 | 0 | 1 | 0 | Settings for the AI question | |||
| ai_lookup_billing_code | Text | 0 | 0 | 1 | 0 | Settings for the AI question | |||
| ai_run_custom_code_scripts | Text | 0 | 0 | 1 | 0 | Settings for the AI question | |||
| ai_bodypart_abdomen_chest_pelvis | Text | 0 | 0 | 1 | 0 | Settings for the AI question | |||
| apply_settings_to_owned_phr | Flag | 0 | 0 | 0 | 0 | 0 | Apply account settings to studies in owned PHR accounts | ||
| cloud_storage_config | Text | 0 | 0 | 1 | 0 | Configuration for the cloud storage provider | |||
| enable_doximity_auth | Flag | 0 | 0 | 0 | 0 | 0 | Enable Doximity login for the account vanity(s) | ||
| enable_google_auth | Flag | 0 | 0 | 0 | 0 | 0 | Enable Google login for the account vanity(s) | ||
| enable_recaptcha | Flag | 0 | 0 | 0 | 0 | 0 | Enable recaptcha on join for the account vanity(s) | ||
| suppress_hl7_eom_sep | Flag | 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 | 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 | In a smart search try parse the value as a DOB | ||
| only_this_account_in_vanity | Flag | 0 | 0 | 0 | 0 | 0 | Only show this account if accessing it via a vanity URL | ||
| sync_user_login_to_account_login | Flag | 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 | ||
| exclude_from_global_purge | Flag | 0 | 0 | 0 | 0 | 0 | Exclude this account from global purging rules | ||
| helpscout_beacon_id | Text | 1 | 0 | 0 | 0 | Account override for the helpscout beacon id | |||
| sendgrid_key | Text | 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 | Set the background color for pixel anonymization | |||
| priority_notifications | Flag | 0 | 0 | 0 | 1 | 0 | Prioritize notifications on the storage queue for the account or namespace | ||
| disable_user_days | Number | 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 | Allow users to see all the available destination searches in the activity queue | ||
| multiple_sso_connections | Flag | 0 | 0 | 0 | 0 | 0 | Support multiple Pingone connections for the account | ||
| mpi_config | Text | 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 | UUID of the account that is allowed to perform MPI queries into this account | |||
| study_download_no_reports | Flag | 0 | 0 | 0 | 0 | 0 | Remove reports from study downloads | ||
| group_local_pushes_by | Text | 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 | Set the study to phantom state on a re-upload |
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 |
| anonymize_study_images_aws_rekognition | Anonymize the study images using AWS | ai_anonymize_study_images_aws_rekognition |
| 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 |
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 • The password 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 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) |
| Errors |
MISSING_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 |
| 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) |
| 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 | |
| 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 |
| 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 |
| Notes | The client must not store the sid in a cookie for CSRF checking to work |
| 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 |
| 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 | 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 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 |
| 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) |
| Returns |
status • OK uuid • The user uuid name • The user name first • First name last • Last name email • Email 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_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_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 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 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 ui_json • JSON for UI 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 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) 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) 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 ui_json • JSON for UI settings (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 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 |
| 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 |
| Notes |
| Description | A lost password request |
|---|---|
| URL | /user/password/lost |
| Parameters |
email • The email |
| 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) |
| 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 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 |
| 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) 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 * settings • The namespace settings * destinations • An array of the destinations the users can push too. 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 |
| 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_approve • Notify the user on a approval needed into the namespace (optional) event_upload • Notify the user on an upload into the namespace (optional) event_upload_fail • Notify the user on a failed upload into the namespace (optional) event_harvest • Notify the user on a harvest into the namespace (optional) event_new_report • Notify the user when a report is attached in the namespace (optional) event_report_remove • Notify the user when a report is removed in the namespace (optional) event_study_comment • Notify the user when a comment is attached to a study in the namespace (optional) event_status_change • Notify the user when the status of a study is changed (optional) event_message • Notify the user when a message is sent to the namespace (optional) event_node • Notify the user when 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) |
| 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_approve • Notify the user on a approval needed into the namespace (optional) event_upload • Notify the user on an upload into the namespace (optional) event_upload_fail • Notify the user on a failed upload into the namespace (optional) event_harvest • Notify the user on a harvest into the namespace (optional) event_new_report • Notify the user when a report is attached in the namespace (optional) event_report_remove • Notify the user when a report is removed in the namespace (optional) event_study_comment • Notify the user when a comment is attached to a study in the namespace (optional) event_status_change • Notify the user when the status of a study is changed (optional) event_message • Notify the user when a message is sent to the namespace (optional) event_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) |
| 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 | 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 |
| 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 |
| Notes |
|
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 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_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_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_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_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 |
| 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_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_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_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) |
| 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 |
| 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) |
| 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 |
| 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 |
| 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) 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 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_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_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_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) image_count • Images in the study attachment_count • Attachment count must_approve • Is the study waiting approval 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 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_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 has_external_viewer • A flag if the study has an external viewer option 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 * 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 local push 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 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 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 --- 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 |
| Errors |
MISSING_FIELDS • A required 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 | 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_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 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_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 | 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) • uuid of the account, location, group, user 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 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 • The share failed. The error_subtype holds one of the following conditions.
|
| 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 both the uuid and name of the object (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 |
| 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_EDIT|REPORT_UPLOAD|REPORT_REMOVE|REPORT_VIEW|IMAGE_ADDED|IMAGE_UPDATED|STUDY_DOWNLOAD|ACCEPTED_NOT_DIAGNOSTIC|CANCELED_NOT_DIAGNOSTIC|AI_ACTION|VIEWER_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 |
| 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_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_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 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 to check and redirect to if available 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 to check and redirect to if available (optional) 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 | 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 |
| 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 • The namespace id to duplicate it to include_attachments • Also duplicate attachments |
| Returns |
status • OK |
| Permission | study_duplicate for the study and study_upload for the destination namespace |
| Errors |