v3 Services Public API
Table of contents
- Introduction
- Global information
- Error handling
- Filters
- Fields
- Pagination
- Sorting
- Bundled calls
- Permissions
- Schedules
- Account settings
- Study AI questions
- Namespace AI questions
- Session commands
- User commands
- /user/join
- /user/add
- /user/get
- /user/set
- /user/delete
- /user/password/lost
- /user/password/reset
- /user/welcome
- /user/join/list
- /user/join/request
- /user/invite
- /user/invite/accept
- /user/namespace/list
- /user/event
- /user/event/set
- /user/token
- /user/device/clear
- /user/signature
- /user/enable
- /user/pubkey/list
- /user/pubkey/get
- Study commands
- /study/add
- /study/set
- /study/delete
- /study/list
- /study/count
- /study/count_by_filter
- /study/cfind
- /study/get
- /study/permissions
- /study/exists
- /study/push
- /study/push/hl7
- /study/pdf/hl7
- /study/fax/hl7
- /study/cmove
- /study/node/can/remove
- /study/share/who
- /study/share
- /study/share/stop
- /study/share/list
- /study/approve
- /study/reject
- /study/audit
- /study/star
- /study/report/detail
- /study/report/series
- /study/viewer/settings
- /study/viewer3/settings
- /study/status/get
- /study/status/set
- /study/status/locks
- /study/status/history
- /study/move
- /study/duplicate
- /study/clone
- /study/split
- /study/freeze
- /study/manual/route
- /study/find/order
- /study/archive
- /study/retrieve
- /study/comment/add
- /study/comment/delete
- /study/comment/get
- /study/validate
- /study/attach/customfields
- /study/external/viewer
- /study/question
- /study/dicomdata/load
- /study/timing/event
- /study/timing/log
- /study/sync
- /study/take
- /study/request/add
- /study/request/get
- /study/request/match
- /study/revive
- Tag commands
- Annotation commands
- Keyimage commands
- Study validation commands
- Study DICOM data commands
- Radiology reports commands
- /radreport/add
- /radreport/set
- /radreport/get
- /radreport/audit
- /radreport/delete
- /radreport/description
- /radreport/user/list
- /radreportmacro/list
- /radreportmacro/add
- /radreportmacro/set
- /radreportmacro/get
- /radreportmacro/delete
- /radreport/pdf
- /radreport/fax
- /radreport/email
- /radreport/template/list
- /radreport/template/add
- /radreport/template/set
- /radreport/template/get
- /radreport/template/get/type
- /radreport/template/delete
- /radreport/template/activate
- Custom code commands
- Case commands
- Patient commands
- Order commands
- HL7 commands
- /hl7/list
- /hl7/add
- /hl7/get
- /hl7/delete
- /hl7/study/report
- /hl7/extract/report
- /hl7/template/list
- /hl7/template/add
- /hl7/template/set
- /hl7/template/get
- /hl7/template/render
- /hl7/template/delete
- /hl7/transform/list
- /hl7/transform/add
- /hl7/transform/set
- /hl7/transform/get
- /hl7/transform/delete
- /hl7/transform/test
- /hl7/parse/fields
- Settings commands
- Node commands
- /node/list
- /node/public
- /node/connect
- /node/approve
- /node/add
- /node/set
- /node/get
- /node/ping
- /node/ping/ack
- /node/deliver
- /node/retrieve
- /node/webhook
- /node/configuration
- /node/delete
- /node/study/queued
- /node/study/anonymized
- /node/found
- /node/found/mwl
- /node/event
- /node/log
- /node/xml
- /node/metric
- /node/performance/set
- /node/performance/get
- /node/progress/add
- /node/progress/list
- /node/progress/get
- Destination commands
- Route commands
- Account commands
- /account/list
- /account/set
- /account/get
- /account/user/add
- /account/user/set
- /account/user/get
- /account/user/delete
- /account/user/list
- /account/user/report/login
- /account/can/share
- /account/can/share/stop
- /account/can/share/list
- /account/css
- /account/settings
- /account/settings/validate
- /account/connect
- /account/md5/counter
- /account/list/requestable
- /account/radreport/email/authorize
- Location commands
- Group commands
- Role commands
- Activity commands
- Audit commands
- Namespace commands
- /namespace/permissions
- /namespace/settings
- /namespace/share_code
- /namespace/share/pricing
- /namespace/share/price
- /namespace/anonymize
- /namespace/coverpage
- /namespace/validate/customfields
- /namespace/event/defaults
- /namespace/study/defaults
- /namespace/engine/fqdn
- /namespace/removed/user/report
- /namespace/question
- /namespace/audit
- Help commands
- Terminology commands
- Analytics commands
- Filter commands
- Custom field commands
- Webhook commands
- Purge commands
- Link commands
- Message commands
- Dictionary commands
- Report commands
- Meeting commands
- Appointment commands
- Training commands
- RSNA commands
- NPI commands
- Site commands
- Scanner commands
- Query commands
- QC task commands
- Anonymization profile commands
- Rule set commands
- Study timer rule commands
Introduction
The API is implemented as a REST like interface. A call is made to a URL using either a POST or a GET. The URL will return either a HTTP error code or a JSON data structure.Global information
- Italic words represent field's names
- UPPER CASE words represent input data or error tokens
- Every returned data structure has a status field that holds either OK or ERROR
- Date and time stamps are in UTC
- Fields are required unless noted as optional
- Flags are numeric fields with a 1 or 0 value for true or false
Error handling
Errors are flagged by an HTTP error code as follows:- 401 Authorization required - The call needs a valid, logged in session id (sid), valid basic authentication user name and password or an OAuth token
- 405 Method not allowed - The call must be a POST not a GET
- 412 Precondition failed - The returned json data structure will have the status flag set to ERROR. The error_type and the optional error_subtype fields will hold tokens that describe the error. The optional error_data field can hold additional error data.
Filter clauses
Filters can typically be applied to list commands- A filter is one or more parameters of the format filter.FIELD.CONDITION
- The following conditions are supported
- equals - an exact match e.g.
filter.name.equals=jack
- Name field is equal to 'jack' - equals_or_null - an exact match plus any null values
- not_equals - Not equals an exact match e.g.
filter.name.not_equals=jack
- Name field is not equal to 'jack' - not_equals_or_null - Not equals an exact match or is null e.g.
filter.name.not_equals_or_null=jack
- Name field is not equal to 'jack' or is null - like - a wildcard match e.g.
filter.last.like=jack%
- Last name is like 'jack%' - gt - a greater than match e.g.
filter.date.gt=2001-10-10
- Date is greater than 2001-10-10 - ge - a greater than or equal to match e.g.
filter.date.ge=2001-10-10
- Date is greater than or equal to 2001-10-10 - lt - a less than match e.g.
filter.date.lt=2001-10-10
- Date is less than 2001-10-10 - le - a less than or equal to match e.g.
filter.date.le=2001-10-10
- Date is less than or equal to 2001-10-10 - in - match one of the items in the JSON array e.g.
filter.study_status.in=["stage1","stage2"]
- Study status is either stage1 or stage2 - in_or_null - match one of the items in the JSON array or the null value
- equals - an exact match e.g.
- FIELD like
field->'xyz'
to access 'xyz' key for hstore field - Multiple filters are AND'ed together
- Custom fields can be filtered by specifying the field as customfield-CUSTOMFIELD_UUID
- A timezone offset in numeric format can be passed in the filter.tz and will be applied to any dates in the filter e.g.
filter.tz=-4:00
- A timezone name from Olson database can be passed in the filter.tz. Deprecated timezones will apply as UTC.
- Supported date and datetime formats are: YYYY-MM-DD, YYYYMMDD, YYYY-MM-DD hh:mm:ss[.uuuuuu][(+|-)ZZ[:ZZ]]. Timezone offsets are ignored. Server-side timestamps are truncated to seconds before comparison when a filter lacks microseconds part.
- Timezones apply in this order: current user's time zone, filter.tz parameter, UTC by default.
- A filter can be applied on a secondary table by putting the table names into the parameter e.g. filter.TABLE.FIELD.CONDITION
- Invalid filters will return the following error messages
- INVALID_FIELD • The field is not valid for this object. The error_subtype will hold the filter expression this applies to
- INVALID_CONDITION • The condition is not support. The error_subtype will hold the filter expression this applies to
- FILTER_NOT_FOUND • The filter can not be found. The error_subtype will hold the filter UUID
- INVALID_FIELD • The field is not valid for this object. The error_subtype will hold the filter expression this applies to
- Filters can be saved and manipulated by the Filter commands.
- A saved filter can be applied by passing the filter UUID as a filter_id parameter rather than the filter expression.
- To create an OR type of search specify multiple saved filters in the configuration of a saved search as per the /filter/add notes
Fields
- The returned fields for an object can be limited by passing a fields.OBJECT_NAME parameter that contains a JSON array of the fields to return e.g.
fields.account=["uuid","name"]
- All the top level returned fields except
status
can be filter via the special fields._top parameter. e.g.fields._top=["session_expire"]
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,customfield-d3a6b1f8-a3af-4400-9b96-c5f1578d375d-desc
will sort the results by name in ascending order and then date in descending order.
For customfield-UUID-(asc|desc) sorts type=number as interger, type=date as date, other types as strings.
Invalid sort_by values will return the following error messages
INVALID_SORT_FIELD • The field is not valid for this object. The error_subtype will hold the field name this applies to
INVALID_SORT_ORDER • The sort order for the field is invalid. The error_subtype will hold the field name this applies to
Bundled calls
You can bundle a series of calls into a single call to the server. To do this, POST to /bundle a textual representation of a JSON array of hashes. Each hash must contain the URL key with the value the
API entry point, the rest of the keys should be the parameters for the call. The server will process all the calls in order and return a JSON array of the responses in the same order. For example to get
the account detail and the user's permissions for the account in a single call send
POST /bundle [
{"URL":"/account/get", "sid":"XYZ", "uuid":"ABC"},
{"URL":"/session/permissions", "sid":"XYZ", "account_id":"ABC"}
]
and you will get back an array with two hashes the containing the results of the call. If the POST is malformed the server will return an HTTP_BAD_REQUEST error code. The returned hashes have an additional
HTTP_STATUS_CODE field with the result code for the request. Each call will return a hash even if it is an error hash so you can mix successful and unsuccessful calls and parse the results.
Within a bundled call you can use values from previous calls using templated values. If the value is of the form {{TOKEN}} the value will be substituted if TOKEN was returned by any of the previous calls.
Here is an example of the usage
POST /bundle [
{"URL":"/session/login"<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.An additional
role_id=role.UUID
is returned in each permissions JSON hash.
| Flag | Admin Value |
User Value |
PHR Value |
Anonymous Value |
Description |
|---|---|---|---|---|---|
| account_edit | 1 | 0 | 0 | 0 | Can they add and edit the account |
| 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 |
| group_clone | 1 | 0 | 0 | 0 | Can they clone groups in the account |
| location_view | 1 | 0 | 0 | 0 | Can they view or list the locations in the account |
| location_edit | 1 | 0 | 0 | 0 | Can they add, edit and remove locations from an account |
| location_clone | 1 | 0 | 0 | 0 | Can they clone locations in the account |
| role_view | 1 | 0 | 0 | 0 | Can they view or list the roles in the account |
| role_edit | 1 | 0 | 0 | 0 | Can they add, edit and remove roles from an account |
| route_view | 1 | 0 | 0 | 0 | Can they view or list the routes in the account |
| role_setting_edit | 1 | 0 | 0 | 0 | Can they call /role/settings to set role.settings. Note: look permission setting_. |
| 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 |
| node_approve_connect | 1 | 0 | 0 | 0 | Can they approve connect to theirs public nodes |
| study_approve | 1 | 0 | 1 | 0 | Can they approve or reject shared studies in the account, group, location |
| study_view | 1 | 1 | 1 | 1 | Can they view the studies in the account, group, location |
| study_edit | 1 | 0 | 1 | 0 | Can they edit the PHI of the study |
| ↳ study_edit_approved | 1 | 1 | 1 | 0 | Can they edit the PHI of an approved study |
| ↳ study_edit_unapproved | 1 | 1 | 1 | 0 | Can they edit the PHI of an unapproved study |
| study_star | 1 | 1 | 0 | 0 | Can they star studies |
| study_tag | 1 | 1 | 0 | 0 | Can they tag studies |
| study_upload | 1 | 0 | 0 | 0 | Can they upload a study to the account, group, location |
| study_upload_validate | 0 | 0 | 0 | 0 | An upload requires session validation |
| study_report_detail | 1 | 0 | 1 | 0 | Can they get the detail report for studies in the account, group, location |
| study_download | 1 | 0 | 1 | 0 | Can they download the study |
| study_download_viewer | 1 | 0 | 1 | 0 | Can they download the local study viewer |
| study_download_iso | 1 | 0 | 1 | 0 | Can they download the study ISO |
| study_browse | 1 | 1 | 1 | 1 | Can they view studies in the web viewer |
| study_push | 1 | 0 | 0 | 0 | Can they push the study to a destination |
| study_share | 1 | 0 | 1 | 0 | Can they share the study |
| ↳ study_share_email | 0 | 0 | 1 | 0 | Can they share the study via email |
| ↳ study_share_share_code | 1 | 1 | 1 | 0 | Can they share the study via a share code |
| ↳ study_share_account | 1 | 1 | 1 | 0 | Can they share the study with accounts |
| ↳ study_share_location | 1 | 1 | 1 | 0 | Can they share the study with locations |
| ↳ study_share_group | 1 | 1 | 1 | 0 | Can they share the study with groups |
| ↳ study_share_user | 1 | 1 | 1 | 0 | Can they share the study with users |
| ↳ study_share_rsna | 0 | 0 | 0 | 0 | Can they share the study with the RSNA network |
| ↳ study_share_npi | 0 | 0 | 0 | 0 | Can they share the study with a NPI number |
| ↳ study_share_request | 0 | 0 | 0 | 0 | Can they share the study by a study request |
| study_delete | 0 | 0 | 1 | 0 | Can they delete a study |
| study_delete_image | 0 | 0 | 0 | 0 | Can they delete images and series within a study |
| study_thin | 0 | 0 | 0 | 0 | Can they create a thin study |
| study_report_view | 1 | 1 | 1 | 1 | Can they view attached reports for a study |
| study_report_view_approved | 1 | 1 | 1 | 1 | Can they view attached reports for an approved study |
| study_report_view_unapproved | 0 | 0 | 0 | 0 | Can they view attached reports for an unapproved study |
| study_report_view_only_own | 0 | 0 | 0 | 0 | Can they only view reports they attached to the study |
| study_timing_view | 0 | 0 | 0 | 0 | Can they view the timing log for a study |
| study_report_hl7_view | 1 | 1 | 1 | 1 | Can they view HL7 reports for a study |
| study_report_hl7_view_approved | 1 | 1 | 1 | 1 | Can they view HL7 reports for an approved study |
| study_report_hl7_view_unapproved | 0 | 0 | 0 | 0 | Can they view HL7 reports for an unapproved study |
| study_report_upload | 1 | 0 | 1 | 0 | Can they upload a report to a study |
| study_report_upload_approved | 1 | 1 | 1 | 0 | Can they upload a report to an approved study |
| study_report_upload_unapproved | 0 | 0 | 0 | 0 | Can they upload a report to an unapproved study |
| study_report_delete | 1 | 0 | 1 | 0 | Can they delete a report from a study |
| study_report_delete_approved | 1 | 1 | 1 | 0 | Can they delete a report from an approved study |
| study_report_delete_unapproved | 0 | 0 | 0 | 0 | Can they delete a report from an unapproved study |
| study_send_status_view | 1 | 1 | 1 | 1 | Can they view study push statuses when enabled |
| study_sync | 0 | 0 | 0 | 0 | Can they force a study to sync against storage and re-run routing rules |
| study_status_view | 0 | 0 | 0 | 0 | Can they view the status of the study |
| study_status_edit | 0 | 0 | 0 | 0 | Can they edit the status of the study |
| study_status_manual_edit | 1 | 1 | 1 | 1 | Can they manually edit the status of the study if study_status_edit is enabled |
| study_status_tags_ignore_rules | 1 | 0 | 0 | 0 | Can they ignore behaviour of account.settings.study_status_tags_rules |
| study_comment_view | 0 | 0 | 0 | 0 | Can they view the comments for the study |
| study_comment_edit | 0 | 0 | 0 | 0 | Can they edit comments for the study |
| study_audio_record | 0 | 0 | 0 | 0 | Can they record an audio report for the study |
| study_audio_play | 0 | 0 | 0 | 0 | Can they playback audio reports for the study |
| study_move | 0 | 0 | 0 | 0 | Can they move the study to another PHI namespace |
| study_freeze | 0 | 0 | 0 | 0 | Can they freeze or thaw the study |
| study_duplicate | 0 | 0 | 0 | 0 | Can they duplicate studies to another namespace |
| study_clone | 0 | 0 | 0 | 0 | Can they clone studies to the same namespace with new study, series and image UIDs |
| study_duplicate_request | 0 | 0 | 0 | 0 | Can they duplicate studies by a study requests |
| study_manual_route | 0 | 0 | 0 | 0 | Can they manually route a study |
| study_split | 0 | 0 | 0 | 0 | Can they split a study |
| study_merge | 0 | 0 | 0 | 0 | Can they merge studies together |
| study_take | 0 | 0 | 0 | 0 | Can they take a study into namespace with /study/take |
| study_request_edit | 0 | 0 | 0 | 0 | Can they create study requests |
| study_request_view | 0 | 0 | 0 | 0 | Can they view outgoing study requests |
| study_request_view_only_own | 0 | 0 | 0 | 0 | Can they only view their own study requests |
| study_request_view_inbound | 0 | 0 | 0 | 0 | Can they view incoming study requests |
|
study_field_patient_name study_field_patientid study_field_study_description study_field_accession_number study_field_modality study_field_referring_physician study_field_patient_sex study_field_study_date study_field_patient_birth_date study_field_customfield_UUID |
F | F | F | F | Permission for study fields. Customfields contain the UUID of the customfield. Valid values are.
|
| setting_{SETTING_NAME} | 1 | 1 | 0 | 0 | Permission for set role.setings.{SETTING_NAME} in /role/settings.
|
| audit_view | 1 | 0 | 1 | 0 | Can they view audit information |
| analytics_view | 1 | 0 | 1 | 0 | Can they view analytics information |
| study_search_require_patient_name | 0 | 0 | 0 | 0 | Patient name is required for a study search |
| study_search_require_patient_sex | 0 | 0 | 0 | 0 | Patient gender is required for a study search |
| study_search_require_accession_number | 0 | 0 | 0 | 0 | Accession number is required for a study search |
| study_search_require_patient_birth_date | 0 | 0 | 0 | 0 | Patient birth date is required for a study search |
| study_search_require_patientid | 0 | 0 | 0 | 0 | MRN is required for a study search |
| pathology_upload | 1 | 0 | 0 | 0 | Can they upload pathology report |
| filter_share | 1 | 0 | 1 | 0 | Can they share filters |
| filter_edit_only_own | 0 | 0 | 0 | 0 | Can they only edit their own filters |
| customfield_view | 1 | 0 | 0 | 0 | Can they view or list the customfields in the account for administration purposes |
| customfield_list | 1 | 0 | 0 | 0 | Can they view or list the customfields in the account for account introspection purposes |
| customfield_edit | 1 | 0 | 0 | 0 | Can they add, edit and remove customfields from an account |
| case_view | 0 | 0 | 0 | 0 | Can they view or list the cases in the account |
| case_view_only_own | 0 | 0 | 0 | 0 | Can they only view or list their own cases in the account (when assigned as medical user) |
| case_edit | 0 | 0 | 0 | 0 | Can they add, edit and remove cases from an account |
| case_edit_only_own | 0 | 0 | 0 | 0 | Can they only edit and remove their own cases from an account (when assigned as medical user) |
| case_delete | 0 | 0 | 0 | 0 | Can they delete cases |
| customcode_view | 0 | 0 | 0 | 0 | Can they view or list the code in the account |
| customcode_edit | 0 | 0 | 0 | 0 | Can they add, edit and remove code from an account |
| customcode_deploy | 0 | 0 | 0 | 0 | Can they deploy code for a namespace |
| patient_view | 0 | 0 | 0 | 0 | Can they view or list the patients in the account |
| patient_edit | 0 | 0 | 0 | 0 | Can they add, edit and remove patients from an account |
| patient_merge | 0 | 0 | 0 | 0 | Can they merge patients in the account |
| order_view | 0 | 0 | 0 | 0 | Can they view or list the orders in the account |
| order_edit | 0 | 0 | 0 | 0 | Can they add, edit and remove orders from an account |
| webhook_view | 0 | 0 | 0 | 0 | Can they view or list the webhooks in the account |
| webhook_edit | 0 | 0 | 0 | 0 | Can they add, edit and remove webhooks from an account | webhook_run | 0 | 0 | 0 | 0 | Can they manually run a webhook |
| can_proxy_login | 0 | 0 | 0 | 0 | Can they proxy login for "owned" users in an account |
| radreport_view | 0 | 0 | 0 | 0 | Can they view or list the radreports in the account |
| radreport_view_only_own | 0 | 0 | 0 | 0 | Can they view only their radreports |
| radreport_edit | 0 | 0 | 0 | 0 | Can they add, edit and remove radreports from an account |
| radreport_html_format | 0 | 0 | 0 | 0 | Can they use HTML formatting in radreports |
| dictionary_view | 0 | 0 | 0 | 0 | Can they view or list the dictionaries in the account |
| dictionary_edit | 0 | 0 | 0 | 0 | Can they add, edit and remove dictionaries from an account |
| hl7_message_view | 0 | 0 | 0 | 0 | Can they view or list the HL7 messages in the account |
| hl7_message_delete | 0 | 0 | 0 | 0 | Can they delete the HL7 messages in the account |
| hl7_template_view | 0 | 0 | 0 | 0 | Can they view or list the HL7 templates in the account |
| hl7_template_edit | 0 | 0 | 0 | 0 | Can they add, edit and remove HL7 templates from an account |
| hl7_transform_view | 0 | 0 | 0 | 0 | Can they view or list the HL7 transformations in the account |
| hl7_transform_edit | 0 | 0 | 0 | 0 | Can they add, edit and remove HL7 transformations from an account |
| annotation_view | 1 | 1 | 1 | 1 | Can they view annotations on a study |
| annotation_view_only_own | 0 | 0 | 0 | 0 | Can they view only their annotations on a study |
| annotation_edit | 1 | 1 | 1 | 0 | Can edit annotations on a study |
| annotation_edit_only_own | 1 | 1 | 1 | 1 | Can they only edit their annotations on a study |
| meeting_view | 1 | 1 | 1 | 1 | Can they view meetings for a study |
| meeting_edit | 0 | 0 | 0 | 0 | Can create and edit meetings for a study |
| appointment_view | 0 | 0 | 0 | 0 | Can they view or list the appointments in the account |
| appointment_view_only_own | 0 | 0 | 0 | 0 | Can they view only their appointments |
| appointment_edit | 0 | 0 | 0 | 0 | Can they add, edit and remove appointments from an account |
| keyimage_view | 1 | 1 | 1 | 1 | Can they view key images on a study |
| keyimage_edit | 1 | 1 | 1 | 0 | Can edit key images on a study |
| validate_view | 0 | 0 | 0 | 0 | Can they view or list the validation rules in the account |
| validate_edit | 0 | 0 | 0 | 0 | Can they add, edit and remove validation rules from an account |
| dicomdata_view | 0 | 0 | 0 | 0 | Can they view the DICOM data for a study |
| dicomdata_edit | 0 | 0 | 0 | 0 | Can they edit the DICOM data for a study |
| purge_view | 0 | 0 | 0 | 0 | Can they view or list the purge rules in the account |
| purge_edit | 0 | 0 | 0 | 0 | Can they add, edit and remove purge rules from an account |
| link_direct | 1 | 1 | 0 | 0 | Can they view and copy the direct link to the study |
| link_view | 0 | 0 | 0 | 0 | Can they view or list the links in the account |
| link_edit | 0 | 0 | 0 | 0 | Can they add, edit and remove links from an account |
| link_edit_pin | 0 | 0 | 0 | 0 | Can they generate a one-time pin for a link |
| link_edit_upload | 0 | 0 | 0 | 0 | Can they add, edit and remove study upload links from an account |
| message_view | 1 | 1 | 1 | 0 | Can they view messages in the namespace |
| message_edit | 1 | 0 | 1 | 0 | Can they send messages to the namespace |
| user_modify_sharecode | 1 | 1 | 1 | 0 | Can they modify their personal share code |
| user_modify_defaults | 1 | 1 | 1 | 0 | Can they modify their personal defaults |
| user_modify_notifications | 1 | 1 | 1 | 0 | Can they modify their notifications |
| user_view_others_notifications | 1 | 1 | 1 | 0 | Can they view other user's notifications |
| user_modify_others_notifications | 0 | 0 | 0 | 0 | Can they modify other user's notifications |
| user_modify_others_email | 0 | 0 | 0 | 0 | Can they modify other user's email address |
| user_modify_others_pkey | 0 | 0 | 0 | 0 | Can they modify other user's public key |
| user_request_access | 1 | 1 | 1 | 0 | Can they request access to an org |
| user_edit_shared_filter | 0 | 0 | 0 | 0 | Can they edit saved searches that have been shared with them |
| channel_activity | 1 | 1 | 1 | 0 | Can they subscribe to an activity channel |
| channel_study | 1 | 1 | 1 | 1 | Can they subscribe to a job channel |
| viewer_config | JSON viewer configuration for the role. Optionally pass in the UUID of a user and that user's viewer configuration will be copied into the role | ||||
| viewer3_config | JSON hash for the viewer3 configuration for the role. | ||||
| ui_json | JSON structure to control the application UI | ||||
| namespace_question | 1 | 0 | 0 | 0 | Can they ask AI questions for a namespace |
| job_view | 1 | 1 | 1 | 1 | Can they view asynchronous job statuses |
| site_add | 0 | 0 | 0 | 0 | Can they add sites to the account |
| site_edit> | 0 | 0 | 0 | 0 | Can they edit sites in the account |
| site_view | 0 | 0 | 0 | 0 | Can they view sites in the account |
| site_delete | 0 | 0 | 0 | 0 | Can they delete sites from the account |
| site_qualify | 0 | 0 | 0 | 0 | Can they qualify sites for a trial and inactivate sites |
| scanner_add | 0 | 0 | 0 | 0 | Can they add scanners |
| scanner_edit | 0 | 0 | 0 | 0 | Can they edit scanners |
| scanner_view | 0 | 0 | 0 | 0 | Can they view scanners |
| scanner_delete | 0 | 0 | 0 | 0 | Can they delete scanners |
| site_user_add | 0 | 0 | 0 | 0 | Can they add users to site contact lists |
| site_user_edit | 0 | 0 | 0 | 0 | Can they edit users in site contact lists |
| site_user_view | 0 | 0 | 0 | 0 | Can they view site contact lists |
| site_user_delete | 09 | 0 | 0 | 0 | Can they delete users from site contact lists |
| terminology_view | 1 | 0 | 0 | 0 | Can they see the terminology administration tab |
| terminology_edit | 1 | 0 | 0 | 0 | Can they edit terminology records |
| query_add | 0 | 0 | 0 | 0 | Can they add queries owned by the namespace |
| query_edit | 0 | 0 | 0 | 0 | Can they edit queries owned by the namespace |
| query_view | 0 | 0 | 0 | 0 | Can they view queries owned by the namespace |
| query_view_meta | 0 | 0 | 0 | 0 | Can they view query metadata for queries owned by the namespace |
| query_view_only_own | 1 | 1 | 1 | 1 | Can they only view queries owned by them |
| query_delete | 0 | 0 | 0 | 0 | Can they delete queries owned by the namespace |
| query_reply | 0 | 0 | 0 | 0 | Can they reply in queries owned by the namespace |
| query_attachment_add | 0 | 0 | 0 | 0 | Can they add attachments to queries owned by the namespace |
| query_attachment_view | 0 | 0 | 0 | 0 | Can they view attachments of queries owned by the namespace |
| query_attachment_delete | 0 | 0 | 0 | 0 | Can they delete attachments from queries owned by the namespace |
| query_attachment_delete_only_own | 1 | 1 | 1 | 1 | Can they only delete query attachments added by them |
| qctask_add | 0 | 0 | 0 | 0 | Can they add QC tasks assigned to the namespace |
| qctask_edit | 0 | 0 | 0 | 0 | Can they edit QC tasks assigned to the namespace |
| qctask_view | 0 | 0 | 0 | 0 | Can they view QC tasks assigned to the namespace |
| qctask_delete | 0 | 0 | 0 | 0 | Can they delete QC tasks assigned to the namespace |
| qctask_prioritize | 0 | 0 | 0 | 0 | Can they change priorities of QC tasks assigned to the namespace |
Schedules
Objects with schedules support a JSON hash with the following fields
- start - The daily start time in 24hr HH:MM format
- stop - The daily stop time in 24hr HH:MM format
- mon - Flag if the start and end time should be applied on this day
- tue - Flag if the start and end time should be applied on this day
- wed - Flag if the start and end time should be applied on this day
- thu - Flag if the start and end time should be applied on this day
- fri - Flag if the start and end time should be applied on this day
- sat - Flag if the start and end time should be applied on this day
- sun - Flag if the start and end time should be applied on this day
- tz - The timezone for the schedule. The currently support values for this are.
- US/Eastern
- US/Central
- US/Mountain
- US/Arizona
- US/Pacific
- US/Alaska
- Brazil/East
- Brazil/West
- Africa/Johannesburg
- Europe/London
- Asia/Shanghai
- invert - A flag which means run the schedule outside the scheduled times rather than during it. This is useful for setting a "reverse" schedule. i.e. during business hours do "A", the rest of the time do "B".
Account settings
Account setting control the application workflow and UI for an account. The following settings are available.| Name | Type | Default | Un-authenticated access allowed |
User override allowed |
Namespace override allowed |
Node override allowed |
Role override allowed |
Description |
|---|---|---|---|---|---|---|---|---|
| show_hl7_report_physician_alias_regexp | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Show the hl7_report_physician_alias_regexp option for the routing rules in the UI |
| update_study_source_on_notify | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Update the study source for every notification |
| allow_phr_upload | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Allow study upload into the PHR namespaces for users associated with this account |
| enable_credit_card_processor | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Enable credit card processing for the account |
| paypal_account | Text | 0 | 0 | 0 | 0 | 0 | The paypal account email for credit card processing | |
| request_join_on_vanity_registration | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Automatically submit a join request if a user registers under a vanity domain |
| vanity_registration_customfields | Text | 0 | 0 | 0 | 0 | 0 | 0 | Comma-delimited list of customfield uuids to show on vanity registration page |
| login_json | Text | 1 | 0 | 0 | 0 | 0 | JSON structure to control the login page HTML | |
| ui_json | Text | 0 | 1 | 1 | 0 | 0 | JSON structure to control the application UI:
|
|
| pacs_config_customized | Text | 0 | 0 | 0 | 0 | 1 | JSON structure for PACS. Look permission setting_{SETTING_NAME} for permission flags. | |
| baa_text | Text | 1 | 0 | 0 | 0 | 0 | The HTML to display next to a BAA checkbox that must be accepted for registration | |
| training_text | Text | 1 | 0 | 0 | 0 | 0 | The HTML to display for the training manual link | |
| faq_text | Text | 1 | 0 | 0 | 0 | 0 | The HTML to display for the FAQ link | |
| other_manual_text | Text | 1 | 0 | 0 | 0 | 0 | The HTML to display for the "other" manual link | |
| pin_auth_text | Text | 1 | 0 | 0 | 0 | 0 | The HTML to display for a failed pin_auth for /link/session | |
| homepage_links | Text | 1 | 0 | 0 | 0 | 0 | A JSON list of hashes of the links to display on the home page | |
| enable_dicom_wrapping | Flag | 0 | 0 | 0 | 1 | 0 | 0 | Enable dicom wrapping support on uploading |
| auto_enable_dicom_wrapping | Flag | 0 | 0 | 0 | 1 | 0 | 0 | Enable dicom wrapping support on uploading if no DICOM is detected |
| single_file_dicom_wrapping | Flag | 0 | 0 | 0 | 1 | 0 | 0 | Limit DICOM wrapping on upload to a single file |
| disable_mobile_dicom_wrapping | Flag | 0 | 0 | 0 | 1 | 0 | 0 | Disable dicom wrapping support on uploading for mobile devices |
| enable_multipart_uploader | Flag | 1 | 0 | 0 | 1 | 0 | 0 | Enable multipart uploading |
| allow_drag_and_drop_in_study_uploader | Flag | 0 | 0 | 0 | 1 | 0 | 0 | Allow Drag-n-Drop in the web uploader |
| enable_dicom_deidentification | Flag | 0 | 0 | 0 | 1 | 0 | 0 | Enable the dicom de-identification tool on uploading |
| dicom_deidentification_at_ingress | Flag | 1 | 0 | 0 | 0 | 0 | 0 | De-identify at ingress |
| enable_dicomdir_scan | Flag | 1 | 0 | 0 | 0 | 0 | 0 | Enable dicomdir scanning on uploading |
| from_email_address | Text | 0 | 0 | 0 | 0 | 0 | Use this email address as the from address for email sent from the account. This will be validated as an email address | |
| from_email_name | Text | 0 | 0 | 0 | 0 | 0 | Use this display name in emails for email sent from the account. | |
| enable_v2_viewer | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Use the version 2 viewer for this account |
| enable_v3_viewer | Flag | 0 | 0 | 1 | 0 | 0 | 0 | Use the version 3 proviewer for this account |
| auto_create_patient | Flag | 0 | 0 | 0 | 1 | 0 | 0 | Auto create patients from approved studies |
| auto_update_patient_studies | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Update the patient's studies when the patient's information changes |
| patient_unique_email_phone | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Require that the patient primary phone and email address be unique |
| anonymize_at_ingress | Flag | 0 | 0 | 0 | 1 | 0 | 0 | Should anonymization rules be applied at ingress by the uploader or gateway |
| limit_query_retrieve_to_input_gateway | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Limit the HL7 driven query retrieve to the gateway that received the HL7 message |
| include_mapped_custom_fields_from_storage_ns | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Include DICOM mapped custom fields from the storage namespace when updating the PHI in storage |
| include_mapped_custom_fields_from_last_share | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Include DICOM mapped custom fields from the last share namespace when updating the PHI in storage |
| update_phi_hl7 | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Update the PHI from ADT HL7 messages |
| update_phi_hl7_namespaces | Text | 0 | 0 | 0 | 0 | A CSV list of PHI namespaces to limit the update_phi_hl7 feature too. e.g. f6b013b3-71be-40c6-b26c-5db6a4a2eada,4fcb78c2-ea21-4975-a318-cf5fc1bdf085 {"37b607eb-083e-497f-9923-48119076f62e":"A08","b6465cd6-d39b-4012-ba44-92e4ece81144":"A34"} |
||
| update_accession_from_orm | Text | 0 | 0 | 0 | 0 | Using a field in the HL7 ORM find the studies that match and update their accession number to the HL7 accession number. Configure this via a JSON hash with the following keys
| ||
| update_phi_syngo_match | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Update the PHI from Syngo patient match ORM messages |
| upload_event_on_study_sync | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Fire the upload event notification when the /study/sync webhook is run |
| logo_action | Text | 0 | 0 | 0 | 0 | 0 | What action to take when the logo is clicked | |
| viewer3_config | Text | 0 | 0 | 0 | 0 | 0 | JSON hash of the viewer3 settings | |
| viewer_show_reports | Flag | 1 | 0 | 1 | 1 | 0 | 0 | Show reports in the viewer |
| viewer_study_enable_cpp_transcoding | Flag | 0 | 0 | 0 | 1 | 0 | 0 | Flag for /study/viewer/settings and /study/viewer3/settings. Can be set only by sysadmin. |
| enable_viewer_print | Flag | 1 | 0 | 1 | 0 | 0 | 0 | Enable the print feature on the viewer |
| enable_viewer_export | Flag | 1 | 0 | 1 | 0 | 0 | 0 | Enable the export feature on the viewer |
| viewer_diagnostic_quality | Flag | 0 | 0 | 1 | 0 | 0 | 0 | Diagnostic quality viewing |
| viewer_diagnostic_quality_always | Flag | 0 | 0 | 1 | 0 | 0 | 0 | Diagnostic quality viewing in all modes including tools |
| viewer_preload_diagnostic_images | Flag | 0 | 0 | 1 | 0 | 0 | 0 | Preload diagnostic images in the viewer |
| viewer_enable_mpr | Flag | 0 | 0 | 1 | 0 | 0 | 0 | Flag to enable multi planar reconstruction in the viewer |
| viewer_store_extra_annotation_data | Number | 0 | 0 | 1 | 0 | 0 | 0 | Capture extra annotation information |
| viewer_default_drop_shape_width | Number | 0 | 0 | 1 | 0 | 0 | 0 | Customize the default size of circle and square drop shapes |
| viewer_link_series | Flag | 0 | 0 | 1 | 0 | 0 | 0 | Link the series |
| viewer_single_instance_series | Flag | 0 | 0 | 1 | 0 | 0 | 0 | Flag to enable viewing each image as a series |
| viewer_multiframe_split_method | Number | 0 | 0 | 1 | 1 | 0 | 0 | Method to use when splitting multiframes out of their original series |
| viewer_study_page_link_visible | Flag | 1 | 0 | 1 | 0 | 0 | 0 | Should the "Go to Study Page" link display in the viewer |
| viewer_study_page_link_url | Text | 0 | 1 | 0 | 0 | 0 | Optional URL for the "Go to Study Page" link in the viewer | |
| viewer_setting_not_diagnostic | Flag | 0 | 0 | 1 | 0 | 0 | 0 | Show a dialog explaining diagnostic usage when opening the viewer |
| viewer_show_priors_worklist_only | Flag | 0 | 0 | 1 | 0 | 0 | 0 | Only priors currently in the worklist will be displayed as thumbnails in the viewer |
| probe_for_accelerator | Flag | 0 | 0 | 1 | 0 | 0 | 0 | Have the viewer look for available accelerators |
| enable_viewer_toggle_annotations | Flag | 1 | 0 | 0 | 0 | 0 | 0 | Enable the toggle annotations button for the viewer |
| viewer_default_mouse_tool | Text | Scroll | 0 | 1 | 0 | 0 | 0 | The default mouse tool in the viewer |
| auto_transcode | Flag | 0 | 0 | 0 | 0 | 0 | Enable pre-caching of all transcoded images during upload | |
| auto_transcode_modalities | Text | 0 | 0 | 0 | 0 | 0 | Comma separated list of modalities to preemptively transcode data for | |
| case_status_tags | Text | 0 | 0 | 0 | 0 | 0 | Comma separated list of case status tags | |
| case_notify_submitted | Text | 0 | 0 | 0 | 0 | 0 | Comma separated list of email addresses to send a case_submitted email when a case is submitted. The special values user assigned_admin and assigned_medical will be replaced by the appropriate email address for the case.
| |
| case_notify_completed | Text | 0 | 0 | 0 | 0 | 0 | Comma separated list of email addresses to send a case_completed email when a case is completed. The special values user assigned_admin and assigned_medical will be replaced by the appropriate email address for the case.
| |
| study_status_tags | Text | 0 | 0 | 0 | 0 | 0 | Comma separated list of study status tags | |
| study_status_tags_default | Text | 0 | 0 | 0 | 0 | 0 | The tag from study_tatus_tags to be interpreted as default for /study/get | |
| study_status_set_default_if_empty | Flag | 0 | 0 | 0 | 0 | 0 | 0 | If set then each new study would have study_status = (study_status_tags_default || study_status_tags[0]) by default, undef otherwise |
| study_status_mutex_tags | Text | 0 | 0 | 0 | 0 | 0 | Comma separated list of study status tags that lock the study to the user when set | |
| study_status_singleton_tags | Text | 0 | 0 | 0 | 0 | 0 | Comma separated list of study status tags that allow the user to have only one locked study in the stage | |
| study_status_role_tags | Text | 0 | 0 | 0 | 0 | 0 | A JSON hash. The keys are study status tags and the values are a list of the role uuids that can change to the status | |
| study_status_tags_attributes | Text | 0 | 0 | 0 | 0 | 0 | A JSON hash. The keys are study status tags and the values are a list of the attributes attached to the tag | |
| study_status_tags_rules | Text | 0 | 0 | 0 | 0 | 0 | A JSON hash where keys are current study_status and values are array of hashes like {"condition":condition-hash-or-bool,"values":["next","possible","statuses"]}, where condition-hash-or-bool is a condition in format used by customfield's show_when field for Study object: hash or [01]. Example: { "first":[{ # simple next "condition":"1", # or {} == true "values":["second"] }], "second":[ { # some condition to match "condition":{"-and":[ {"-eq":[{"-field":"must_appprove"},"1"]}, {"-eq":[{"-field":"modality"},"MG"]} ]}, "values":["third"] }, { # some http-request parameter value "condition":{"-eq":[{"-param":"some_param"},"13"]}, "values":["third","fourth"], }, { # user_account.role.name check with sql-like matching "condition":{"-ilike":[{"-role":"name"},"some_rol%"]}, "values":["fifth"], }, { # user_account.role.uuid check "condition":{"-eq":[{"-role":"id"},"cf443e65-0115-42a3-87e9-6ee2c569da86"]}, "values":["fourth"], }, { # match by customfield "condition":{"-eq":[{"-field":"customfield-cf443e65-0115-42a3-87e9-6ee2c569da86"},"42"]}, "values":["first"], }, { # else "condition":{}, # same as 1 == true "values":["third","fourth"] } ], "third":[ { # condition "condition":{"-eq":[{"-field":"modality"},"MR"]}, "values":["fourth"] }, { # unmatched like slashed specsymbols against 'third' "condition":{"-ilike":[{"-field":"study_status"},"t\_i\%d"]}, "values":["third"], }, { # case-sensitive check fails "condition":{"-like":[{"-field":"study_status"},"_H%d"]}, "values":["third"], }, { # ok, with case-insensitive check against 'third' "condition":{"-ilike":[{"-field":"study_status"},"_H%d"]}, "values":["first"], }, # if not matched anything before, then cant change status ] }; If value is set to non-empty array and there is no role permission study_status_tags_ignore_rules, then the "values" for the first matched "condition" are applied to:
|
|
| study_status_tags_ignore_rules_on_set | Flag | 0 | 0 | 0 | 0 | 0 | If it is set, the behaviour of the above setting study_status_tags_rules is ignored only in /study/status/set | |
| study_status_timer_suspensive_tags | Text | 0 | 0 | 0 | 0 | 0 | Comma separated list of study status tags that stop the study status timer. This setting is of lower priority than study_status_timer_starting_tags | |
| study_status_timer_starting_tags | Text | 0 | 0 | 0 | 0 | 0 | Comma separated list of study status tags that start the study status timer. This setting is of higher priority than study_status_timer_suspensive_tags | |
| study_status_timer_reset_on_status_change | Text | 0 | 0 | 0 | 0 | 0 | JSON array of ["status-from","status-to"] pairs which triggers timer reset. Example: [["first","second"],["second","fifth"]] . |
|
| study_status_timer_visible_at_last_status | Flag | 0 | 0 | 0 | 0 | 0 | 0 | When a study is at its final status show current timer value. Otherwise -1 will be returned |
| study_share_use_account_template | Flag | 0 | 0 | 0 | 0 | 0 | 0 | When sharing a study from the account or attaching a new report use the account mail template instead of the destination template |
| study_share_email_confirm | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Require double entry of the share email address to confirm it |
| logout_url | Text | 0 | 0 | 0 | 0 | 0 | URL to take the user to on logout | |
| consolidate_wrapped_jpegs | Flag | 0 | 1 | 0 | 0 | 0 | 0 | Consolidate JPEGS when wrapping them |
| enable_masshiway | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Enable Mass Hiway integration |
| default_list_view | Text | 0 | 0 | 0 | 0 | 0 | The default list view. Accepts: namespace ids, 'USER_NAMESPACE' and 'FILTER-*' (* for a filter ID) | |
| enable_dicom_tag_customfields | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Enable storage of any DICOM tag in the study customfield |
| patients_from_hl7 | Text | 0 | 0 | 0 | 0 | 0 | Generate patients from HL7 ORM messages using the email address in the HL7 field specified in this setting. Use the notation specified in /hl7/transform/add e.g. PID_13_4 . Optionally you can pass a JSON hash formatted as per the patients_from_hl7_adt setting |
|
| patients_from_hl7_conditions | Text | 0 | 0 | 0 | 0 | 0 | A condition to generate patients from HL7 ORM messages. Use the notation specified for conditions in /hl7/transform/add | |
| patients_from_hl7_adt | Text | 0 | 0 | 0 | 0 | 0 | Generate patients from HL7 ADT messages. The value for this setting is a JSON hash that maps the Patient fields to corresponding HL7 fields. Customfields and Text::Template expressions are supported e.g. {"birth_date":"PID_7","last":"PID_5_1","email":"PID_13_4","first":"PID_5_2","mobile_phone":"PID_13_1","sex":"PID_8", "customfield-UUID":"{$PV1_35_2} to {$PV1_35_4}"} |
|
| patients_from_hl7_adt_conditions | Text | 0 | 0 | 0 | 0 | 0 | A condition to generate patients from HL7 ADT messages. Use the notation specified for conditions in /hl7/transform/add | |
| patients_from_hl7_siu | Text | 0 | 0 | 0 | 0 | Generate patients from HL7 SIU S12 messages. The setting is formatted as per the patients_from_hl7_adt setting. | ||
| patients_from_hl7_siu_conditions | Text | 0 | 0 | 0 | 0 | A condition to generate patients from HL7 SIU S12 messages. Use the notation specified for conditions in /hl7/transform/add | ||
| update_patients_from_hl7 | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Update patients from the hl7 messages |
| appointments_from_hl7_adt | Text | 0 | 0 | 0 | 0 | 0 | Generate appointments from HL7 ADT messages. The value for this setting is a JSON hash that maps the appointment fields to corresponding HL7 fields. Customfields and Text::Template expressions are supported e.g. {"start_time":"PV1_33","end_time":"PV1_34","customfield-UUID":"{$PV1_35_2} to {$PV1_35_4}" . In addition if the map has a referring_physician key a PHYSICIAN_ALIAS lookup is performed using the value to find the matching user in the account.
| |
| appointments_from_hl7_siu | Text | 0 | 0 | 0 | 0 | 0 | Generate appointments from HL7 SIU messages. The setting is a JSON hash in the same format as for appointments_from_hl7_adt setting but with additional keys:
| |
| users_from_hl7_mfn | Text | 0 | 0 | 0 | 0 | 0 | Manage users from HL7 MFN messsages. The value for this setting is a JSON hash with the following fields
|
|
| orders_from_hl7 | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Generate orders from HL7 ORM messages |
| update_order_status_from_hl7 | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Update orders from HL7 ORM messages. orders_from_hl7 is also required |
| orders_from_hl7_adt | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Generate orders from HL7 ADT messages |
| reload_hl7_customfields_on_phi_update | Flag | 0 | 0 | 0 | 0 | 0 | Re-load custom fields when study is edited | |
| allow_multiple_use_of_orders | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Allow an order to be applied to multiple studies |
| link_first_study_only | Flag | 0 | 0 | 0 | 0 | 0 | 0 | When using the filter feature in the /link/* API return only the first study created if multiple studies match the filter |
| enable_order_lookup_in_approval | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Enable look of HL7 orders to override PHI in the approval process |
| study_push_status | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Enable tracking and display of the study push status for the account |
| show_study_copy_push_status | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Enable display of the study push status for the account when they push to a destination node in a different namespace |
| show_study_same_uid_push_status | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Enable display of the study push status from all study versions with the same UID in the account |
| reverse_patient_name | Flag | 0 | 0 | 0 | 1 | 0 | 0 | Define patient name as last^first instead of first^last |
| enable_click_to_filter | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Enable the click to filter feature in the UI |
| customfields_last_on_search | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Show the customfields last on the study search dialog |
| auto_wrap_images | Flag | 0 | 0 | 0 | 1 | 0 | 0 | Auto wrap the images in storage |
| reencode_dicom_mp4 | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Re-encode MP4 DICOM |
| render_wrapped_pdf | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Convert PDF to viewer format |
| render_wrapped_avi | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Convert AVI to viewer format |
| render_wrapped_video | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Convert video to viewer format |
| render_wrapped_docx | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Convert *.docx files to viewer format |
| sr_render_css | Text | 0 | 0 | 0 | 0 | 0 | CSS for SR rendering> | |
| upload_one_study | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Only allow one study to be selected and uploaded |
| send_oru_instead_of_orm | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Send the study ORU with an embedded link instead of the ORM for the destination_hl7_orm routing action and the /study/send/hl7 action |
| radreport_branding_from_phi_namespace | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Get the radreport branding from the PHI namespace instead of the storage namespace |
| viewer_anon_annotations_clear | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Clear out the annotations created by an anonymous viewer |
| viewer_enable_tap_navigation | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Enable tap to scroll on the viewer |
| viewer_hide_thumbnails | Flag | 0 | 0 | 1 | 0 | 0 | 0 | Hide the viewer thumbnails by default |
| viewer_hide_thumbnails_datetime | Flag | 0 | 0 | 1 | 0 | 0 | 0 | Hide the viewer datetime on the thumbnails by default |
| viewer_hide_ruler | Flag | 0 | 0 | 1 | 0 | 0 | 0 | Hide the viewer annotation ruler |
| viewer_hide_active_measurement_info | Flag | 0 | 0 | 1 | 0 | 0 | 0 | Hide the viewer thumbnails by default |
| viewer_show_std_dev | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Show the standard deviation calculation |
| other_ingress_tags | Text | 0 | 0 | 1 | 0 | 0 | A JSON list of DICOM tags to be used for the OTHER_INGRESS_TAGS anonymization metafield | |
| use_other_ingress_tags_server_side | Flag | 0 | 0 | 0 | 1 | 0 | 0 | Use the other ingress tags for server side anonymization as well as client side anonymization |
| login_location | Text | 0 | 0 | 0 | 0 | 0 | A JSON hash of location names and session_expire values for the account | |
| sso_share_phr_workflow | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Enable the PHR sharing workflow of the account |
| sso_share_phr_workflow_options | Text | 0 | 0 | 0 | 0 | 0 | JSON hash to configure the SSO PHR sharing workflow. The hash can contain the following keys
|
|
| sso_second_opinion_workflow | Text | 0 | 0 | 0 | 0 | 0 | JSON hash to configure the SSO second opinion workflow. The hash must contain a key called namespace_id with the value the UUID of the second opinion namespace. An optional key called data_map contains a hash of field names and the SAML attribute to lookup for the field name, this information will be passed to the UI to populate the second opinion form. e.g. {"data_map":{"customfield-83873415-38ab-4100-9a83-235664771cd3":"validated","date_of_birth":"dob"},"namespace_id":"2433468e-96e5-452d-b1e1-b91551425dd8"} |
|
| add_oru_report_to_study | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Add the report for ORU HL7 messages to the study if the account has an hl7_template |
| create_thin_study_from_oru | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Create a thin study from the ORU if the ORU does not match any existing studies |
| create_thin_study_from_orm | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Create a thin study from the ORM if the ORM does not match any existing studies |
| create_thin_study_from_oru_study_uid | Text | 0 | 0 | 0 | 0 | 0 | Get the study uid for the create_thin_study_from_oru or create_thin_study_from_orm feature from this hl7 field .e.g. OBX_5_1 |
|
| create_thin_study_from_hl7_data_map | Text | 0 | 0 | 0 | 0 | 0 | A JSON hash that has field names for the /study/add command as the keys and the values are the HL7 field specification to get the value from e.g. {"referring_physician":"OBX_5_1"} . This map will be applied to thin studies created via the create_thin_study_from_oru or create_thin_study_from_orm settings to futher populate the thin study with values from the HL7
| |
| accession_number_for_study_uid | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Allow the study_uid to be set to the accession number when a study is added and then update with the real study_uid on study acquisition |
| ignore_blank_accession_number | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Ignore a blank or empty accession number from storage |
| study_stat_filter | Text | 0 | 0 | 0 | 0 | 0 | A JSON array to specify the "stat" studies filter for the account. The first element is a customfield UUID and the second element is the "stat" value | |
| refresh_data_on_reshare | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Refresh the integration key and customfields on a re-share of a study |
| force_reload_load_dicom_tag | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Force a reload of the load_dicom_tag customfields from the DICOM for all downstream versions of a study on a new notify |
| study_status_timer | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Enable the study status timer feature |
| max_link_studies | Text | 100 | 0 | 0 | 0 | 0 | 0 | Maximum number of studies allowed in an anonymous link or link integration |
| update_study_status_in_all_versions | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Update the study status in all versions of the study |
| athena_subscribe_orders | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Subscribe to orders from Athena healthcare. In addition to this switch the account needs the following named customfields created and populated.
|
| athena_unsolicited_namespace | Text | 0 | 0 | 0 | 0 | 0 | The UUID of the namespace that will invoke the Athena unsolicited orders workflow. This extends the /study/find/order API to search for the patient in Athena for studies in the namespace. The patient_name for the search must have both a first and last name and the study birth date must match the birth date in Athena. It has the same customfield requirements as the athena_subscribe_orders setting. | |
| athena_orders_filter | Text | 0 | 0 | 0 | 0 | 0 | A JSON hash of order field names and the regular expression it must match to be processed as an order .e.g. {"description":"/XRAY/"}
|
|
| allow_user_password_for_account_login | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Authenticate against both the account_password and user password when logging in using an account_alias |
| welcome_password_reset_token_ttl | Number | 0 | 0 | 0 | 0 | 0 | 0 | Reset tokens generated for welcome messages are valid for so many seconds |
| ip_whitelist | Text | 0 | 1 | 0 | 0 | 1 | Restrict logins to the specified network or IP address e.g. 195.114.80/24,<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 | 0 | Restrict external links access to the specified network or IP address. Further documentations is in the External links page. | |
| load_ack_as_hl7 | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Load the ACK from a delivered study HL7 message back into the system as an incoming HL7 message |
| add_on_invite | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Modify the /user/invite behavior to automatically add the user to the account if they are already on the system |
| invite_ttl | Number | 0 | 0 | 0 | 0 | 0 | 0 | Account user invites are valid for so many seconds |
| duplicate_study_check | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Check for a duplicate study on upload |
| disable_duplicate_study_upload | Flag | 0 | 0 | 0 | 1 | 0 | 0 | Disable upload of a duplicate study by uid across account |
| must_approve_duplicate_study_uid | Flag | 0 | 0 | 0 | 1 | 0 | 0 | Require approval of a study if the same study_uid already exists in the namespace |
| study_set_unapproved_allow_bypass_required_fields | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Enable partial_save for /study/set to bypass empty required customfields. |
| force_new_study_on_upload | Flag | 0 | 0 | 0 | 1 | 0 | 0 | On upload create a new UID for the study if it already exists in the namespace |
| save_original_to_pre_anon_cf | Flag | 0 | 0 | 0 | 1 | 0 | 0 | For client side anonymization save the original values to any pre_anon_* customfields |
| add_patientid_to_hl7_query_retrieve | Flag | 0 | 0 | 0 | 0 | 1 | 0 | Add the MRN to the query retrieve triggered via a HL7 message |
| max_match_study_hl7 | Number | 100 | 0 | 0 | 0 | 0 | 0 | Maximum number of studies to match against an HL7 message |
| include_orm_in_study_find_order | Flag | 1 | 0 | 0 | 0 | 0 | 0 | Include ORM messages when search for orders in /study/find/order |
| include_adt_in_study_find_order | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Include ADT messages when search for orders in /study/find/order |
| include_only_latest_adt_in_study_find_order | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Include just one ADT message (the most recent) when searching for orders in /study/find/order |
| include_only_latest_order_when_searching_by_accession_in_study_find_order | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Include just one order (the most recent) when searching for orders by accession number in /study/find/order |
| study_find_order_latest_in_progress | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Include only orders with status=IN_PROGRESS(IP,SC) for ORM/ADT in /study/find/order. This filter is applied before include_only_latest* |
| include_manual_orders_in_study_find_order | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Include orders created in Ambra through the API when search for orders in /study/find/order |
| use_namespace_name_on_upload_request | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Use the upload namespace name instead of the requestors name and email for upload requests |
| confirm_before_upload | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Require the user confirm that they are authorized to upload the study |
| study_status_timer_attributes | Text | 0 | 0 | 0 | 0 | 0 | The JSON for color coding studies based on a timer | |
| enable_patient_portal | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Enable the patient portal feature |
| expose_patient_portal | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Make a patient portal publicly visible |
| patient_portal_options | Text | 0 | 0 | 0 | 0 | 0 | JSON hash to configure native patient portal options. An optional key called source_namespace contains a namespace UUID (or an array of namespace UUIDs), this namespace will be searched for studies to share with a patient, other account namespaces will be ignored. | |
| patient_portal_limit_hl7 | Number | 0 | 1 | 0 | 0 | 0 | 0 | The number of ORU reports visible in the patient portal |
| require_mrn_for_patient_portal | Flag | 0 | 1 | 0 | 0 | 0 | 0 | Require a MRN when searching for patients in the portal |
| eshare_on_patient_portal_login | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Unshare all studies and then share patient's studies in the portal on a patient login |
| enable_thin_retrieve_in_patient_portal | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Allow retrieving of thin studies in the patient portal |
| ignore_mrn_on_thin_retrieve | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Ignore MRN on thin retrieve |
| allow_portal_pin_to_dup_addresses | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Allow the patient portal pin to be send to duplicate patient emails or phone numbers |
| hide_patient_portal_email_regex | Text | 0 | 0 | 0 | 0 | 0 | A regular expression to hide matching email addresses from the patient portal access screen | |
| use_link_on_patient_portal_share | Text | 0 | 0 | 0 | 0 | 0 | The uuid of a link that will be duplicated and emailed when a patient shares a study via email. The link must be a STUDY_VIEW link and have a study_id which will be replaced by the shared study id | |
| suppress_new_patient_share_event | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Suppress the emails for the share of existing studies when a new patient is created |
| suppress_all_patient_emails | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Suppress all emails to the patients |
| suppress_new_report_event_in_phr_for_patients | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Make sure a patient will not get twin new_report emails as a patient and as a PHR namespace user |
| study_search_modifiers | Text | 0 | 0 | 0 | 0 | 0 | The JSON hash to change to default study searching behavior
e.g. {"patientid":"equals"} will make the MRN an exact match,
{"accession_number":"like"} will make accession number a partial match |
|
| study_edit_reason | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Require a reason for a PHI update |
| radreport_sign | Text | 0 | 0 | 0 | 0 | 0 | A JSON hash holding the information for signing a radreport | |
| passwdqc | Text | 0 | 0 | 0 | 0 | 0 | The specification string for a passwdqc check against proposed passwords for account users | |
| passwd_regexp | Text | 0 | 0 | 0 | 0 | 0 | A JSON list of regular expressions to match against the proposed password for account users. All regular expression must match to allow the password to be used. | |
| include_patientid_in_hl7_match | Flag | 1 | 0 | 0 | 0 | 1 | 0 | Match HL7 message to studies by both the accession number and the MRN (patientid - (0010,0020)) |
| include_patientid_other_in_hl7_match | Flag | 0 | 0 | 0 | 0 | 1 | 0 | Match HL7 message to studies by both the accession number and the patientid_other value (0010,1000) |
| mwl_search_is_cfind | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Use a cfind instead of a MWL query for the MWL searching workflow |
| mwl_search_is_cfind_all_rows | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Return all rows instead of 1 if mwl_search_is_cfind is set |
| mwl_filter_if_matching_study | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Exclude orders with a matching study for /order/sps/find MWL queries |
| force_download_of_attachments | Flag | 0 | 0 | 0 | 0 | 0 | 0 | All attachments must be downloaded before they can be opened |
| show_radreport_in_all_namespaces | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Show radreports on all versions of the study |
| enable_radreport_attestation | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Require electronic signing of radreport |
| enable_radreport_lock_reading | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Enables mechanism "only one report in a study can be edited at the moment". Look /study/lock?type=RADREPORT |
| csrf_cookie_samesite_none | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Enable SameSite=None attribute for CSRF cookies set in /link/redirect |
| disable_csrf_on_links | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Disable the CSRF cookie for /link/redirect |
| disable_link_session | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Disable the /link/session API call for the account |
| report_view_phr_delay | Text | 0 | 0 | 0 | 0 | 0 | A setting to delay a study report exposure in patient's portal. A delay can be expressed in a number of minutes to delay or a number of work hours with suffix 'wh', possible setting's formats:
| |
| account_time_zone | Text | 0 | 0 | 0 | 0 | 0 | 0 | A timezone for the account. Used for date and time calculations. |
| work_hour_matrix | Text | 0 | 0 | 0 | 0 | 0 | 0 | A JSON list of lists which makes up a matrix 7 by 24 of work hours for the account. 1s mark work hours, 0s mark non-work hours, tailing zeroes are optional. The first index is for day of week (0 means monday), the second is for day hour (0 means 00:00-01:00am). |
| study_view_phr_delay | Text | 0 | 0 | 0 | 0 | 0 | A setting to delay studies visibility in patient's portal. See format description for report_view_phr_delay | |
| link_defaults | Text | 0 | 0 | 0 | 1 | 0 | A JSON hash of the default link add values for the UI | |
| upload_settings | Text | 0 | 0 | 0 | 1 | 0 | A JSON hash of the upload settings | |
| hl7_fetch_filter | Text | 0 | 0 | 0 | 0 | 0 | A transform condition expression (see /transform/add for format) to match against the HL7 message. Only fire a query retrieve if the message matches the condition | |
| account_hl7_map | Text | 0 | 0 | 0 | 0 | 0 | A JSON hash mapping the value in MSH_3 or MSH_5 to another account uuid. The hash key is an HL7 message field, the value can be an comma separated list of account uuids, a hash with account_id and node_id(optional) keys or a list of hashes. The HL7 message will be attached to the mapped account and a node will be replaced with the given one. The special hash key _HL7_FIELD_ can be used to set a different place to get the value .e.g. MSH_6_1 This can only be set by a sysadmin or support user |
|
| duplicate_account_hl7_map | Text | 0 | 0 | 0 | 0 | 0 | A JSON hash in the same format as the account_hl7_map setting. The HL7 message will be duplicated to all the mapped accounts with nodes replaced by the corresponding ones. This can only be set by a sysadmin or support user | |
| report_csv_download_concat | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Export all CSV rad reports into one CSV file |
| update_all_studies | Text | 0 | 0 | 0 | 0 | 0 | JSON array of the field names that should be synced across all copies of the study in the account e.g. ["patient_name","patientid","customfield-UUID"] |
|
| batch_encode_cine | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Use slower batched rendering for producing cine files from series; use only if older OS/browser combination prevents viewing regular cine files |
| encapsulate_wrapped_pdf | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Storage setting for DICOM encapsulated PDF's |
| compress_audio_recordings | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Compress audio recordings in the browser before sending them to storage |
| upload_hold | Number | 0 | 0 | 0 | 0 | 0 | 0 | Upload hold time in storage. This is used if the namespace doesn't have an explicit hold time |
| namespace_child_study_defaults | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Propagate study default values for parent child namespace setups |
| compress_audio_recordings | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Compress audio in the browser before uploading |
| study_search_require_regexp | Text | 0 | 0 | 0 | 0 | 0 | A JSON hash of regexp to apply to the study_search_require_* field checks. The keys are the field names and the values are the regexp e.g. {"patient_name":"/^\\\w{3}/"}
| |
| query_retrieve_require_regexp | Text | 0 | 0 | 0 | 0 | 0 | A JSON hash of regexp to apply to the /destination/search and /destination/search/mwl calls. The keys are the field names and the values are the regexp e.g. {"patient_name":"/^\\\w{3}/"}
| |
| query_retrieve_require_regexp_mwl | Text | 0 | 0 | 0 | 0 | 0 | A JSON hash of regexp to apply to the /destination/search/mwl calls instead of the query_retrieve_require_regexp. The keys are the field names and the values are the regexp e.g. {"patient_name":"/^\\\w{3}/"}
| |
| query_retrieve_auto_reject_period_in_days | Number | 0 | 0 | 0 | 0 | 0 | Number of days after which a /destination/search result is automatically removed from the activity list. Defaults to 0 meaning that search results are not removed automatically. | |
| query_retrieve_require_criteria_min | Number | 0 | 0 | 0 | 0 | 0 | Minimal number of search criteria for /destination/search Default is 1 | |
| enable_drchrono | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Enable the drchrono integration |
| exclude_load_dicom_tag | Flag | 1 | 0 | 0 | 0 | 0 | 0 | Do not sync customfields with the load_dicom_tag flag enabled back to the storage DICOM |
| auto_fill_patient_in_activity | Flag | 1 | 0 | 0 | 0 | 0 | 0 | Auto fill the patient name when using the MWL or Find Orders features in the Activities queue |
| report_from_hl7 | Text | 0 | 0 | 0 | 1 | 0 |
A JSON hash that specifies the message type as the key and directions to extract the report as the value. The base64 encoded report will be extracted from message and be linked with the associated studies.
SR and attachment types of reports are supported. Possible values for the JSON hash are the hl7 field/subfield as string (for pdf attachment reports only) or an object with the following keys (both report types are supported):
{"ORU":"OBX-12_5_5"} , {"ORU":{"report_type":"SR"}} , {"ORU":{"report_type":"attachment", "field": "OBX-12_5_5"}}
|
|
| hl7_use_attachment_file_name | Text | 0 | 0 | 0 | 0 | 1 | 0 | A string which indicates the field and subfield of the HL7 OBX segment with an attachment that defines the attachment file name; e.g. OBX_3_3 would indicated the third field and third subfield. If a file name is not found in the indicated field, if the filename contains disallowed characters or its greater than 64 characters in length we instead use a default naming convention: hl7_report_${id}.pdf . If the setting is undefined or a zero length string we don't look for a filename and just use the default naming template (this is he default for this setting). |
| upload_select_none | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Require selecting studies to upload when multiple studies are added |
| link_external_referer | Text | 0 | 0 | 0 | 0 | 0 | Limit access to /link/external to the specific referer. The referer can be a regexp to match multiple referers | |
| link_external_whitelist | Text | 0 | 0 | 0 | 0 | 0 | IP address whitelist to apply to the /link/external call. Further documentation here | |
| link_external_whitelist_all_links | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Flag to apply the link_external_whitelist setting to all links |
| link_external_study_list_path | Text | 0 | 0 | 0 | 0 | 0 | The URL (the path part of it) to redirect /link/external calls to for links of STUDY_LIST type. E.g. '/worklist' | |
| link_sticky_anon_users | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Stick anonymous users to links via the email_address so they can edit annotations etc. over multiple sessions |
| audit_failed_logins | Number | 0 | 0 | 0 | 0 | 0 | 0 | The maximum number of failed logins against the account vanity(s) to hold for up to 30 days. The information on the failed logins is available via the /audit/failedlogins end point. | storage_delete_delay | Number | 0 | 0 | 0 | 0 | 0 | 0 | The number of minutes to delay deleting a study from storage. During the delay the study can be re-injected into the system via the /study/revive call |
| radreport_attestation_signature | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Attach the users signature to the radreport |
| hide_help_tool | Flag | 0 | 1 | 0 | 0 | 0 | 0 | Hide the help icon from the UI |
| mwl_sending_facility_filter | Text | 0 | 0 | 0 | 1 | 0 | A JSON list of sending_facility values to limit node queries for /order/sps/find too. | |
| mwl_filter_expression | Text | 0 | 0 | 0 | 1 | 0 | A filter expression to limit node queries for /order/sps/find e.g. filter.order_sps.modality.equals=MR
| |
| siu_push | Text | 0 | 0 | 0 | 0 | 0 |
A JSON hash to configure a SIU push workflow.
A SIU^12 message will schedule the patient studies in the destination namespace to be pushed to the destination.
A SIU^15 message will cancel the scheduled push.
The keys and values in the hash are as follows:
|
|
| mrn_qr | Text | 0 | 0 | 0 | 0 | 0 |
A JSON hash to configure a MRN query retrieve and PHI fixup workflow. The keys and values in the hash are as follows:
|
|
| search_qr | Text | 0 | 0 | 0 | 0 | 0 |
A JSON hash to configure a search, retrieve and PHI fixup workflow. The keys and values in the hash are as follows:
|
|
| hl7_delay_route | Text | 0 | 0 | 0 | 0 | 0 |
A JSON hash to configure a routing delay for an HL7 message. The keys and values in the hash are as follows:
|
|
| saml_sync_on_create_only | Flag | 0 | 1 | 0 | 0 | 0 | 0 | Sync up the SAML roles and assignments when the user is provisioned. Do not sync up on subsequent logins and the SAML role attribute is not required |
| saml_sync_across_vendor_accounts | Flag | 0 | 1 | 0 | 0 | 0 | 0 | Sync up the SAML roles and assignments for all accounts with the same vendor tag as this account has |
| external_viewer | Text | 0 | 0 | 0 | 0 | 0 |
A JSON hash or an array of hashes to configure an external viewer or a list of viewers for the account. The keys and values in the hash are as follows:
|
|
| disable_external_viewer_for_links | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Do not use the external viewer for studies viewed via a link by an anonymous user |
| default_external_viewer | Text | 0 | 0 | 0 | 0 | 0 | The default external viewer tag corresponding to an external viewer from the external_viewer list |
|
| limit_oru_by_storage_namespace | Text | 0 | 0 | 0 | 0 | 0 |
A JSON hash of storage namespaces that ORU messages can be attached to studies in. The hash keys should be the storage namespace uuid and the hash value should be 1. e.g. {"2b14215c-44a8-4aa6-af70-f7b14d5e32ed":1,"587d5b83-917c-4d95-89a8-f537debaf9de":1}
|
|
| epic_patient_lookup_info | Text | 0 | 0 | 0 | 0 | 0 |
A JSON hash to with the information needed for the Epic patient lookup workflow. If the lookup does not return a unique patient the study will be routed to the activity queue for approvals. This setting can also be set at the brand level if multiple Epic integrations are needed into an account. The keys and values in the hash are as follows:
|
|
| epic_name_format | Text | 0 | 0 | 0 | 0 | 0 |
By default the patient name is formatted as LAST^MIDDLE^FIRST, change it via this setting e.g. LAST^FIRST^MIDDLE
|
|
| enable_epic_patient_lookup | Flag | 0 | 0 | 0 | 1 | 0 | 0 | Enable the Epic patient lookup for the account or namespace |
| epic_prompt_for_anonymize | Flag | 0 | 0 | 0 | 1 | 0 | 0 | Enable the prompt_for_anonymize feature for uploads via the Epic integration |
| epic_upload_match | Text | 0 | 0 | 0 | 0 | 0 |
Enable the upload_match feature on links to restrict studies can that be uploaded. This field should be in the same format as the upload_match link field. The regular expressions can contain the special tags _LAST_,_FIRST_,_DOB_, _MRN_ or _SEX_ which will be replaced with the data from Epic. For example to restrict uploads to studies that match the patients last name and date of birth use the following setting {"(0010,0030)":"/^_DOB_$/","(0010,0010)":"/_LAST_/"}
|
|
| cerner_fhir | Text | 0 | 0 | 0 | 0 | 0 |
A JSON hash to with the information needed for the Cerner SMAR on FHIR integration. The keys and values in the hash are as follows:
|
|
| cerner_patient_lookup_info | Text | 0 | 0 | 0 | 0 | 0 |
A JSON hash to with the information needed for the Cerner patient lookup workflow. The keys and values in the hash are as follows:
|
|
| mrn_and_family_from_saml | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Extract the mrn and associated family members mrn from the SAML assertion for image viewing |
| enable_link_charging | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Enable charging for accessing a link |
| ai_attach_scanned_docs_as_pdf | Text | 0 | 0 | 1 | 0 | 0 | Settings for the AI question | |
| ai_anonymize_study_images | Text | 0 | 0 | 1 | 0 | 0 | Settings for the AI question | |
| ai_anonymize_study_hl7 | Text | 0 | 0 | 1 | 0 | 0 | Settings for the AI question | |
| anonymize_study_images_google_dlp | Text | 0 | 0 | 1 | 0 | 0 | Settings for the AI question | |
| anonymize_study_images_aws_rekognition | Text | 0 | 0 | 1 | 0 | 0 | Settings for the AI question | |
| anonymize_study_images_aws_textract | Text | 0 | 0 | 1 | 0 | 0 | Settings for the AI question | |
| anonymize_study_images_tensorflow_east | Text | 0 | 0 | 1 | 0 | 0 | Settings for the AI question | |
| anonymize_study_images_atalanta | Text | 0 | 0 | 1 | 0 | 0 | Settings for the AI question | |
| anonymize_photo_docs | Text | 0 | 0 | 1 | 0 | 0 | Settings for the AI question | |
| analyze_regions_pyradiomics | Text | 0 | 0 | 1 | 0 | 0 | Settings for the AI question | |
| detect_phi_in_study_images_google_dlp | Text | 0 | 0 | 1 | 0 | 0 | Settings for the AI question | |
| ai_classify_hemorrhage_in_study_images | Text | 0 | 0 | 1 | 0 | 0 | Settings for the AI question | |
| ai_study_manual_route | Text | 0 | 0 | 1 | 0 | 0 | Settings for the AI question | |
| ai_search_and_replace_study_tags | Text | 0 | 0 | 1 | 0 | 0 | Settings for the AI question | |
| ai_delete_duplicate_images | Text | 0 | 0 | 1 | 0 | 0 | Settings for the AI question | |
| ai_delete_scanned_docs | Text | 0 | 0 | 1 | 0 | 0 | Settings for the AI question | |
| ai_anonymize_attached_pdf | Text | 0 | 0 | 1 | 0 | 0 | Settings for the AI question | |
| ai_anonymize_attached_pdf_google_dlp | Text | 0 | 0 | 1 | 0 | 0 | Settings for the AI question | |
| ai_lookup_billing_code | Text | 0 | 0 | 1 | 0 | 0 | Settings for the AI question | |
| ai_run_custom_code_scripts | Text | 0 | 0 | 1 | 0 | 0 | Settings for the AI question | |
| ai_bodypart_abdomen_chest_pelvis | Text | 0 | 0 | 1 | 0 | 0 | Settings for the AI question | |
| ai_ocr_study_images_google_vision | Text | 0 | 0 | 1 | 0 | 0 | Settings for the AI question | |
| ai_anonymize_study_hl7_dwf | Text | 0 | 0 | 1 | 0 | 0 | Settings for the AI question | |
| ai_classify_contrast_in_study_series | Text | 0 | 0 | 1 | 0 | 0 | Settings for the AI question | |
| ai_categorize_phi_in_study_images_google_vision_then_dlp | Text | 0 | 0 | 1 | 0 | 0 | Settings for the AI question | |
| ai_run_custom_code_namespace_scripts | Text | 0 | 0 | 1 | 0 | 0 | Settings for the AI question | |
| ai_obfuscate_faces | Text | 0 | 0 | 1 | 0 | 0 | Settings for the AI question | |
| enable_namespace_ai_questions | Text | 0 | 0 | 1 | 0 | 0 | A JSON list of enabled namespace AI questions | |
| apply_settings_to_owned_phr | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Apply account settings to studies in owned PHR accounts |
| cloud_storage_config | Text | 0 | 0 | 1 | 0 | 0 | Configuration for the cloud storage provider | |
| enable_doximity_auth | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Enable Doximity login for the account vanity(s) |
| enable_google_auth | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Enable Google login for the account vanity(s) |
| enable_recaptcha | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Enable recaptcha on join for the account vanity(s) |
| suppress_hl7_eom_sep | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Supress the FS separator at the end of HL7 template messages |
| no_default_study_date_time | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Do not set a default date and time if the study does not have one |
| include_date_in_smart_search | Flag | 0 | 0 | 0 | 0 | 0 | 0 | In a smart search try parse the value as a DOB |
| only_this_account_in_vanity | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Only show this account if accessing it via a vanity URL |
| require_pin_to_view | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Hide this account when user did not login with 2FA |
| sync_user_login_to_account_login | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Sync the user credentials on account_login and account_password when they are added to an account. If they change their password under an account vanity only update the account_password |
| include_in_global_purge | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Include this account in global purging rules |
| helpscout_beacon_id | Text | 1 | 0 | 0 | 0 | 0 | Account override for the helpscout beacon id | |
| sendgrid_key | Text | 0 | 0 | 0 | 0 | 0 | Account Sendgrid API key. This is setting is never displayed after it is set | |
| pixel_anonymize_color | Text | 0 | 0 | 1 | 0 | 0 | Set the background color for pixel anonymization | |
| priority_notifications | Flag | 0 | 0 | 0 | 1 | 0 | 0 | Prioritize notifications on the storage queue for the account or namespace |
| try_update_original_study | Flag | 0 | 0 | 0 | 1 | 0 | 0 | Enable original study updates within the account |
| try_update_original_study_from_namespaces | Text | 0 | 0 | 1 | 0 | 0 | Enable study updates for studies shared to these namespaces (comma delimited list of namespace UUIDs). Namespaces from another account are allowed to be listed here. try_update_original_study_to_namespaces should also be enabled appropriately | |
| try_update_original_study_to_namespaces | Text | 0 | 0 | 1 | 0 | 0 | Enable study updates for studies shared from these namespaces (comma delimited list of namespace UUIDs). Namespaces from another account are allowed to be listed here. try_update_original_study_to_namespaces should also be enabled appropriately | |
| disable_user_days | Number | 0 | 0 | 0 | 0 | 0 | User accounts will be disabled after this number of days | |
| see_all_destination_search_in_activity | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Allow users to see all the available destination searches in the activity queue |
| multiple_sso_connections | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Support multiple Pingone connections for the account |
| mpi_config | Text | 0 | 0 | 0 | 0 | 0 | A JSON hash to with the information needed for the MPI (master patient index) ORM triggered workflow. Each key is the facility code and the value is a configuration hash with the following KV pairs:
|
|
| mpi_allowed | Text | 0 | 0 | 0 | 0 | 0 | UUID of the account that is allowed to perform MPI queries into this account | |
| study_download_no_reports | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Remove reports from study downloads |
| group_local_pushes_by | Text | 0 | 0 | 0 | 0 | 0 | JSON array of fields to form a group by key for local pushes' statuses. The only allowed value for now is "destination_address" | |
| set_phantom_on_reload | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Set the study to phantom state on a re-upload |
| bundle_notify_destination_search | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Condense email notifications for destination searhes initiated from a bundle |
| always_use_services_phi | Flag | 0 | 0 | 0 | 0 | 0 | 0 | On a notify load the latest services phi into the notify payload so that edits to the study after the notify was generated are preserved |
| disable_sticky_phi | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Do not make the PHI information sticky so that if the study data changes it is reflected in the UI |
| enable_messages_by_study_uid | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Show messages tied to studies with the same UID in the same account |
| duplicate_oru_with_study | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Flag to duplicate Hl7 ORU messages when they duplicate a study between accounts |
| enable_take_study_feature | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Flag to enable study take feature |
| take_study_number_to_take_at_a_time | Number | 1 | 0 | 0 | 0 | 0 | 0 | Number of studies to take by /study/take |
| take_study_source_namespace | Text | 0 | 0 | 0 | 0 | 0 | A namespace UUID from which studies will be taken by /study/take | |
| take_study_dedup_by_field | Text | study_uid | 0 | 0 | 0 | 0 | 0 | Ordinary study field name or a 'customfield-UUID' used to guarantee study uniqueness in /study/take destination namespace |
| take_study_sort_by | Text | 0 | 0 | 0 | 0 | 0 | Prioritize studies to take on /study/take call, for sorting specifications see Sorting | |
| take_study_filter | Text | 0 | 0 | 0 | 0 | 0 | Filter studies to take on /study/take call. This should be a JSON object where each key is a filter, see Filters | |
| take_study_method | Text | 0 | 0 | 0 | 0 | 0 | Select if studies should be moved or shared with the destination namespace on /study/take call. Possible values are: "move", "share", "share" by default | |
| enable_orders_in_worklist | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Flag to show linked studies in orders tab and linked orders in worklist |
| study_requestable_accounts | Text | 0 | 0 | 0 | 0 | 0 | A JSON list of account UUIDs that are allowed to request studies from. This can only be set by a sysadmin | |
| study_requestable_namespaces | Text | 0 | 0 | 0 | 0 | A comma separated list of namespace UUIDs that the requested account is allowed to share/duplicate studies from by request. | ||
| associate_oru_by_original_accession_number | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Flag to associate Hl7 messages with a study using an accession number of another study which the study is split from |
| associate_adt_by_mrn_for_push_hl7 | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Flag to associate ADT Hl7 messages with a study using an patientid of the study during the /study/push/hl7 call processing |
| require_site_id_for_groups | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Flag to require site_id attribute to be set for groups in the account. site_id must be set on group creation and edits when the flag is set |
| default_query_owner_namespace | Text | 0 | 0 | 0 | 0 | 0 | A namespace UUID to be used as a default owning namespace for the queries created (e.g. auto created queries). | |
| query_types | Text | 0 | 0 | 0 | 0 | 0 | A JSON list of allowed query types for the account. Each of the query type is defined by a hash, the keys and values in the hash are as follows:
|
|
| query_status_tags | Text | 0 | 0 | 0 | 0 | 0 | A JSON list of allowed query statuses for the account. The first status in the list is used as a default status for newly created queries. The Closed status is processed in a special way. Each of the query status is defined by a hash, the keys and values in the hash are as follows:
|
|
| trial_communication_plan | Text | 0 | 0 | 1 | 0 | 0 | A JSON list of escalation rules for the account. Every rule is a hash with the condition and action keys. Each of the condition and action is defined by a hash, condition should follow the condition format used by customfield's show_when field.
The topmost HASH condition is interpreted with AND logic. Condition parameters (the fields to be referred in the condition) are as follows:
action are as follows:
|
|
| query_auto_upload_to_unqualified_site | Text | 0 | 0 | 0 | 0 | 0 | A JSON hash with the information needed to create an auto query on study upload for an unqualfied site without test_upload named customfield set for the uploaded study. The keys and values in the hash are as follows:
|
|
| query_emails_reply_to | Text | 0 | 0 | 0 | 0 | 0 | An email address to be used for the Reply-To email header of the query-related emails sent out by the service | |
| iocm_delete_thin_studies | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Flag to delete a thin study if storage recieves an IOCM delete request |
| remove_private_tags_on_upload | Flag | 0 | 0 | 0 | 1 | 0 | 0 | Flag to anonymize or remove all private tags from a study in storage |
| maximum_allowed_download_studies | Number | 10 | 0 | 0 | 1 | 0 | 0 | A number of studies to be included in a patient zip download |
| cache_series_level_tags | Flag | 0 | 0 | 0 | 1 | 0 | 0 | Flag to enable series level tags caching in the storage for the dicomweb series metadata call to perform better |
| user_pkey_expiration | Text | 0 | 0 | 0 | 0 | 0 | A JSON hash with user public key expiration settings. The keys and values in the hash are as follows:
|
|
| namespace_names_globally_unique | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Flag to require every namespace to have a unique name (even Groups, for example, must have different names than Locations) |
| return_matching_manual_routes_for_study | Flag | 0 | 0 | 0 | 0 | 0 | 0 | Flag to return only matching manual routes with studies |
| patient_portal_event_new_report_notify_type | Text | 0 | 0 | 0 | 0 | 0 | 0 | Notification type for this event. Either sms or email, default is email. Can be overriden in /patient/set. Note: If there is no valid address (email or mobile) for that type, then the opposite type is used. |
| patient_portal_event_share_notify_type | Text | 0 | 0 | 0 | 0 | 0 | 0 | Notification type for this event. Either sms or email, default is email. Can be overriden in /patient/set. Note: If there is no valid address (email or mobile) for that type, then the opposite type is used. |
| study_push_sms_on_in_process_options | Text | 0 | 0 | 0 | 1 | 0 | It is JSON Hash like {"timeout":0,"interval":60,"limit":3,"users":["uuid1","uuid2",...]} . Bold digit is default value for each key.users is array of uuids of users in that account having mobile phone. Error is returned on /account/set if these conditions are not fulfilled, with setting error_subtype= study_push_sms_on_in_process_options:$type:$uuid where $type is one of USER_NOT_IN_ACCOUNT,USER_NOT_FOUND,USER_NOT_IN_ACCOUNT,MOBILE_NOT_FOUND .If timeout==0, then this feature is disabled. If enabled and for some node there is any study_push_status.status=~ I|P hanging for more than timeout minutes, then each interval minutes sms is sent to users defined in options for this node account. Sending stops when no study_push_status.status=~I|P for that destionation or limit sms messages were sent.Sms template is study_push_sms_on_in_process_timeout. Note: timeout cant be set to nonzero if users is empty. The counter is reset after 2*(timeout + interval*limit) minutes since last added study_push. Then it could be reactivated on next hanging /study/push.It is triggered on node::monitor, so if interval<15 minutes, it will be triggered later on next node::monitor check. |
Study AI questions
AI questions can be run for a study against the AI neural network stack via the /study/question call. The following questions are available:| Question | Description | Account setting |
|---|---|---|
| which_body_part | Which body part is the study showing | |
| has_scanned_docs | Does the study have any scanned documents in it | |
| delete_scanned_docs | Delete the scanned documents | ai_delete_scanned_docs |
| attach_scanned_docs_as_pdf | Deletes AI identified scanned images within the study | ai_attach_scanned_docs_as_pdf |
| anonymize_study_images | Anonymize the study images | ai_anonymize_study_images |
| anonymize_study_images_google_dlp | Anonymize the study images using Google DLP | ai_anonymize_study_images_google_dlp |
| anonymize_study_images_tensorflow_east | Anonymize the study images using Tensorflow EAST | ai_anonymize_study_images_tensorflow_east |
| analyze_regions_pyradiomics | Analyze regions on the study using Pyradiomics | ai_analyze_regions_pyradiomics |
| detect_phi_in_study_images_google_dlp | Detect PHI presence in the study images using Google DLP | ai_detect_phi_in_study_images_google_dlp |
| anonymize_study_images_aws_rekognition | Anonymize the study images using AWS Rekognition | ai_anonymize_study_images_aws_rekognition |
| anonymize_study_images_aws_textract | Anonymize the study images using AWS Textract | ai_anonymize_study_images_aws_textract |
| anonymize_study_hl7 | Anonymize the study HL7 | ai_anonymize_study_hl7 |
| qureai_detect_brain_bleeds | Detect brain bleeds | |
| qureai_detect_chestxray | Read chest xray | |
| study_manual_route | Runs routing rules | ai_study_manual_route |
| search_and_replace_study_tags | Performs search and replace rules on all images in the study | ai_search_and_replace_study_tags |
| delete_duplicate_images | Deletes images which values are identical to specified DICOM tages | ai_delete_duplicate_images |
| analyze_study_hl7 | Takes hl7 report and analyzes it | |
| anonymize_attached_pdf | Takes all pdf attachments from a study and removes all PHI from them | ai_anonymize_attached_pdf |
| anonymize_attached_pdf_google_dlp | Takes all pdf attachments from a study and removes all PHI from them | ai_anonymize_attached_pdf_google_dlp |
| lookup_billing_code | Takes study description and populates billing code mapping | ai_lookup_billing_code |
| run_custom_code_scripts | Implements ability to run custom code. | ai_run_custom_code_scripts |
| bodypart_abdomen_chest_pelvis | Detects if the study image(s) contain(s) abdomen, chest and/or pelvis | ai_bodypart_abdomen_chest_pelvis |
| ocr_study_images_google_vision | Performs OCR using Google Vision API and returns detected text | ai_ocr_study_images_google_vision |
| ai_anonymize_study_hl7_dwf | Detects if text contains PHI and replaces it with asterisk chars | anonymize_study_hl7_dwf |
| classify_contrast_in_study_series | Detects the presence of contrast in a series of study images | ai_classify_contrast_in_study_series |
| categorize_phi_in_study_images_google_vision_then_dlp | Detects the presence of phi in study images and assigns categories to results | ai_categorize_phi_in_study_images_google_vision_then_dlp |
| classify_hemorrhage_in_study_images | Takes a batch of images and predicts hemorrhages in each image | ai_classify_hemorrhage_in_study_images |
| obfuscate_faces | Automatically recognizes coordinates of faces within images in the study and blocks them out | ai_obfuscate_faces |
Namespace AI questions
AI questions can be run for a namespace against the AI neural network stack via the /namespace/question call. The following questions are available:| Question | Description | Account setting |
|---|---|---|
| run_custom_code_namespace_scripts | Implements ability to run custom code. | ai_run_custom_code_namespace_scripts |
Session commands
| Description | Log in a session |
|---|---|
| URL | /session/login |
| Parameters |
(email || account_name && account_login) • The users email address or the account name and account_login (DEPRECIATED - Use login and vanity) login • The user account_login or email address vanity • The account vanity name. (optional) (password || use_pkey) • The password for password authentication or a flag to use public key authentication new_password • Change the password or account password to this. (optional) validate_session • If you would like to validate an existing session rather than create a new one pass in the sid of the session to valid in this parameter. It will check if the session is still valid and the credentials are for the session. (optional) location • Login location. (optional) |
| Returns |
status • OK sid • The session id uuid • The users uuid name • The users name training_todo • Flag if the user is required to do training pin_required • Flag if a PIN is required to validate this session pin_via • How was the PIN sent, the options are TOKEN,EMAIL or SMS sign_required • Flag if a signature is required to validate this session terms_md5 • MD5 of the accepted terms of service privacy_md5 • MD5 of the accepted privacy policy indicator_md5 • MD5 of the accepted indications of use patientid • The primary patientid this session is for (optional) is_proxy • Flag if this is a proxy login |
| Errors |
MISSING_FIELDS • A required field is missing or does not have data in it. The error_subtype holds a array of all the missing fields INVALID_CREDENTIALS • Invalid user name or password. LOCKOUT • Too many failed attempts BAD_PASSWORD • The new_password does not meet the password requirements PASSWORD_RESET • The password needs to be changed VALIDATION_FAILED • The session validation failed WHITELIST_LOCKOUT • Login blocked by the account whitelist BLOCKED • The user is blocked from the system DISABLED • The user is disabled and needs to be /user/enabled to allow access BRAND_NOT_ALLOWED • The user is limited to some brands to login with allowed_login_brands setting SSO_ONLY • The user can only login via SSO ONLY_ONE • You can pass either the password or use_pkey flag, not both PUBLIC_KEY_EXPIRED • The public key has expired and needs to be changed |
| Notes |
|
| Description | Get the user information for the session owner |
|---|---|
| URL | /session/user |
| Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) settings • A JSON list of user settings set via /setting/set to return (optional) |
| 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 remember_device • Remember the device as trusted. (optional) |
| Returns |
status • OK |
| Errors |
MISSING_FIELDS • A required field is missing or does not have data in it. The error_subtype holds a array of all the missing fields INVALID_SID • Invalid sid INVALID_PIN • Invalid PIN PIN_EXPIRED • The PIN has expired |
| Notes |
|
| Description | Validate the session using a public key |
|---|---|
| URL | /session/sign |
| Parameters |
sid • The session id signature • The Base64-encoded signature |
| Returns |
status • OK |
| Errors |
MISSING_FIELDS • A required field is missing or does not have data in it. The error_subtype holds a array of all the missing fields INVALID_SID • Invalid sid INVALID_SIGNATURE • Invalid signature PUBLIC_KEY_EXPIRED • The public key has expired and needs to be changed |
| Notes |
|
| Description | Return the TTL for the sid |
|---|---|
| URL | /session/ttl |
| Parameters |
sid • The session id |
| Returns |
status • OK ttl • Number of minutes the session has to live |
| Errors |
MISSING_FIELDS • A required field is missing or does not have data in it. The error_subtype holds a array of all the missing fields EXPIRED • Expired |
| Notes |
User commands
| Description | Join the system |
|---|---|
| URL | /user/join |
| Parameters |
first • First name last • Last name password • Password email • Email share_code • Share code they are joining from (optional) captcha_response • Response from captcha (optional) customfield-{CUSTOMFIELD_UUID} • Custom field(s) defined in the vanity_registration_customfields account setting (optional) |
| Returns |
status • OK uuid • uuid of the user |
| Errors |
MISSING_FIELDS • A required field is missing or does not have data in it. The error_subtype holds a array of all the missing fields DUPLICATE_EMAIL • The email is already used LOCKOUT • Too many joins attempt BAD_PASSWORD • Password needs to be at least 8 characters long, contain at least two numbers, contain at least two characters and can't be one of your last three passwords CAPTCHA_FAILED • Verifying the captcha failed |
| Notes |
|
| Description | Add a user |
|---|---|
| URL | /user/add |
| Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) account_id • Account id to check for the user_edit permission first • First name last • Last name password • Password email • Email 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) public_key_format • The desired public key format to be returned rfc4716, by default (rfc4716|openssh|asis) (optional) |
| Returns |
status • OK uuid • The user uuid name • The user name first • First name last • Last name email • Email 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 event_query_add • Notify the user when a new query is issued event_query_edit • Notify the user when a query is edited event_query_new_recipient • Notify the user when they are added to a query as a new recipient event_query_reply • Notify the user when they leave a new reply in a query event_site_qualified • Notify the user when a trial site is qualified for the clinical trial account share_code • The share code of the user share_description • The share description of the user time_zone • The users time zone abbreviation pin_required • Flag to require a PIN for every login allowed_login_brands • A comma separated list of Brand UUIDs that the user is allowed to use when logging in npi • NPI number terms_md5 • MD5 of the accepted terms of service privacy_md5 • MD5 of the accepted privacy policy indicator_md5 • MD5 of the accepted indications of use last_login • Timestamp of the last login event_incoming_study_request • Notify the user when they get an incoming study request public_key • A public key for public key authentication ui_json • JSON for UI settings. Possible options:
|
| Errors |
MISSING_FIELDS • A required field is missing or does not have data in it. The error_subtype holds a array of all the missing fields NOT_FOUND • The user can not be found NOT_PERMITTED • You are not permitted to access this user record |
| Notes |
| Description | Set the information for a user |
|---|---|
| URL | /user/set |
| Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • The users uuid (optional). Uses the session user if not passed first • First name (optional) last • Last name (optional) email • Email (optional) mobile_phone • SMS phone number (optional) password • User password (optional) old_password • Previous user password (optional) share_code • The share code of the user (optional) share_description • The share description of the user (optional) account_id • Account id if you are trying to set a user other than yourself (optional) cc_token • The credit card token to attach to the users account (optional) time_zone • The users time zone name as per https://www.postgresql.org/docs/9.1/static/view-pg-timezone-names.html (optional) pin_required • Flag to require a PIN for every login (optional) allowed_login_brands • A comma separated list of Brand UUIDs that the user is allowed to use when logging in (optional) terms_md5 • MD5 of the accepted terms of service privacy_md5 • MD5 of the accepted privacy policy indicator_md5 • MD5 of the accepted indications of use public_key • A public key for public key authentication (optional) ui_json • JSON for UI settings (optional) possible options:
|
| Returns |
status • OK |
| Errors |
MISSING_FIELDS • A required field is missing or does not have data in it. The error_subtype holds a array of all the missing fields NOT_FOUND • The user can not be found NOT_PERMITTED • You are not permitted to edit this user record. The error_subtype will hold the specific reason permission was denied. DUPLICATE_EMAIL • The email is already used BAD_PASSWORD • Password needs to be at least 8 characters long, contain at least two numbers, contain at least two characters and can't be one of your last three passwords INVALID_TOKEN • The cc_token is invalid INVALID_PASSWORD • The old_password does not match the current password INVALID_TIME_ZONE • The time zone is invalid |
| Notes |
|
| Description | Delete yourself from the system |
|---|---|
| URL | /user/delete |
| Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) |
| Returns |
status • OK |
| Errors |
MISSING_FIELDS • A required field is missing or does not have data in it. The error_subtype holds a array of all the missing fields NOT_PERMITTED • You are not permitted to do this IN_USE • The user is a sid user for a webhook |
| Notes |
| Description | A lost password request |
|---|---|
| URL | /user/password/lost |
| Parameters |
email • The email |
| 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) name_and_id_only • Flag to return only the the namespace name and uuid (optional) filter.* Filters (optional) |
| Returns |
status • OK namespaces • An array of the namespaces. Each namespace holds the following fields. * uuid • Id of the namespace * name • Description of the namespace * type • Type of object the namespace is linked to (account_id|group_id|location_id|user_id) * type_uuid • Id of the object the namespace is linked to * permissions • The users permissions in the namespace * role_id • The role's UUID or null if was not used any for permissions calculation * settings • The namespace settings * destinations • An array of the destinations the users can push to. Each object in the array has the same fields as the /destination/get command. * events • A hash of the event flags for the namespace. * share_code • The share code of the namespace. * study_count • The total number of approved, non-phantom studies in the namespace * thin_study_count • The total number of thin studies in the namespace * search_threshold • The total number of studies that should trigger a switch over to a search rather than a list UI |
| 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) event_incoming_study_request • Notify the user when they get an incoming study request (optional) event_query_add • Notify the user when a new query is issued (optional) event_query_edit • Notify the user when a query is edited (optional) event_query_new_recipient • Notify the user when they are added to a query as a new recipient (optional) event_query_reply • Notify the user when they leave a new reply in a query (optional) event_site_qualified • Notify the user when a trial site is qualified for the clinical trial account (optional) |
| Errors |
NOT_FOUND • The namespace or user can not be found NOT_MEMBER • The user is not a member of this namespace NOT_PERMITTED • You are not allowed to get user's event flags INVALID_FLAG • An invalid flag was passed. The error_subtype holds the name of the invalid flag |
| Notes |
|
| Description | Set the users event flags for a namespace |
|---|---|
| URL | /user/event/set |
| Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) namespace_id • Id of the namespace to set the flags on uuid • Return event flags for this user, not current user (optional) event_share • Notify the user on a share into the namespace (optional) event_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) event_incoming_study_request • Notify the user when they get an incoming study request (optional) event_query_add • Notify the user when a new query is issued (optional) event_query_edit • Notify the user when a query is edited (optional) event_query_new_recipient • Notify the user when they are added to a query as a new recipient (optional) event_query_reply • Notify the user when they leave a new reply in a query (optional) event_site_qualified • Notify the user when a trial site is qualified for the clinical trial account (optional) |
| Returns |
status • OK |
| Errors |
NOT_FOUND • The namespace or user can not be found NOT_MEMBER • The user is not a member of this namespace NOT_PERMITTED • You are not allowed to set user's event flags INVALID_FLAG • An invalid flag was passed. The error_subtype holds the name of the invalid flag |
| Notes |
|
| Description | Set and get the shared secret for a token authenticator |
|---|---|
| URL | /user/token |
| Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) generate • Flag to generate the shared secret for a token authenticator and enable TOKEN PIN authentication delete • Flag to delete the shared secret and disable TOKEN PIN authentication |
| Returns |
status • OK enabled • Flag if token authentication is enabled secret • The base32 encoded shared secret for the authenticator (only returned if the generate flag is passed) |
| Errors |
NOT_PERMITTED • You are not permitted to do this ALREADY_DONE • A shared secret was already generated |
| Notes |
| Description | Forget all trusted (remembered) devices for the user |
|---|---|
| URL | /user/device/clear |
| Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) |
| Returns |
status • OK |
| Errors | |
| Notes |
| Description | Set and get the users signature |
|---|---|
| URL | /user/signature |
| Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) signature • Set the users signature to this base64 encoded image |
| Returns |
status • OK signature • The users signature as a base64 encoded image |
| Errors | |
| Notes |
| Description | Enable a disabled user |
|---|---|
| URL | /user/enable |
| Parameters |
sid • The session id (optional if basic authentication or an OAuth token is used) uuid • User uuid disable • A flag indicating whether to disable the user (optional) |
| Returns |
status • OK |
| Errors |
NOT_FOUND • The user can not be found NOT_PERMITTED • You are not permitted to enable this user NOT_DISABLED • The user is not disabled |
| Notes |
|
| Description | List the users that use public key authentication |
|---|---|
| URL | /user/pubkey/list |
| Parameters |
uuid • The node id serial_no • The serial number of the node public_key_format • The desired public key format to be returned, rfc4716 by default (rfc4716|openssh|asis) (optional) |
| Returns |
status • OK users • An array of the users. Each object holds the following fields: email, public_key |
| Errors |
MISSING_FIELDS • A required field is missing or does not have data in it. The error_subtype holds a array of all the missing fields NOT_FOUND • The node can not be found |
| Notes |
|
| Description | Set the public key for a user |
|---|---|
| URL | /user/pubkey/set |
| Parameters |
uuid • The node id serial_no • The serial number of the node email • The users email public_key • A public key for public key authentication |
| Returns |
status • OK |
| Errors |
MISSING_FIELDS • A required field is missing or does not have data in it. The error_subtype holds a array of all the missing fields NOT_FOUND • The node or user can not be found NO_USER_PUBKEY • The user does not use public key authentication |
| Notes | The user must have a public key already to set the new public key |
Study commands
| Description | Add a study from a node |
|---|---|
| URL | /study/add |
| Parameters |
(sid || uuid && serial_no) • Either the sid or the node id and serial number (study_uid || study_uid && storage_namespace && phi_namespace) • The study uid if node authentication or the storage triplet if sid authentication thin • Flag to add this as a thin study (optional) patient_name • DICOM tag (0010,0010)(optional) patientid • DICOM tag (0010,0020) (optional) patient_sex • DICOM tag (0010,0040) (optional) patient_birth_date • DICOM tag (0010,0030) (optional) patient_birth_time • DICOM tag (0010,0032) (optional) patient_age • DICOM tag (0010,1010) (optional) patient_weight • DICOM tag (0010,1030) (optional) patient_address • DICOM tag (0010,1040) (optional) patient_size • DICOM tag (0010,1020) (optional) patientid_other • DICOM tag (0010,1000) (optional) patient_name_other • DICOM tag (0010,1001) (optional) patient_phone • DICOM tag (0010,2154) (optional) patient_additional_history • DICOM tag (0010,21B0) (optional) study_description • DICOM tag (0008,1030) (optional) accession_number • DICOM tag (0008,0050) (optional) patient_birthname • DICOM tag (0010,1005) (optional) patient_mother_birthname • DICOM tag (0010,1060) (optional) medical_record_locator • DICOM tag (0010,1090) (optional) patient_religious_preference • DICOM tag (0010,21F0) (optional) patient_comments • DICOM tag (0010,4000) (optional) patient_current_location • DICOM tag (0038,0300) (optional) patient_institution_residence • DICOM tag (0038,0400) (optional) patient_ethnic_group • DICOM tag (0010,2160) (optional) patient_occupation • DICOM tag (0010,2180) (optional) study_date • DICOM tag (0008,0020) (optional) study_time • DICOM tag (0008,0030) (optional) modality • DICOM tag (0008,0060) (optional) referring_physician • DICOM tag (0008,0090) (optional) image_count • Images in the study (optional) attachment_count • Attachment count (optional) integration_key • Integration key for the study (optional) destination_ae_title • The destination aetitle (optional) source_ae_title • The source aetitle (optional) node_id • If this is a thin study the gateway UUID to retrieve it from can be specified (optional) customfield-{CUSTOMFIELD_UUID|DICOM_TAG} • Custom field(s), see notes in /study/add (optional) |
| Returns |
status • OK uuid • The study uuid engine_fqdn • The FQDN of the engine to store the study on |
| Permission |
study_upload or study_thin |
| Errors |
MISSING_FIELDS • A required field is missing or does not have data in it. The error_subtype holds a array of all the missing fields INVALID_INTEGER • An invalid integer was passed. The error_subtype holds the name of the invalid integer INVALID_FLAG • An invalid flag was passed. The error_subtype holds the name of the invalid flag INVALID_CREDENTIALS • The sid or node credentials are invalid ALREADY_EXISTS • The study already exists. The error_subtype holds the uuid of the study and error_data holds the data from the /study/get call INVALID_CUSTOMFIELD • Invalid custom field(s) name or value were passed. The error_subtype holds an array of the error details NOT_PERMITTED • You are not permitted to do this NAMESPACE_NOT_FOUND • The namespace was not found NOT_FOUND • The error_subtype holds the name of the key for the object that can not be found PENDING_RESTORE • The study is getting retrieved from the archive. Try this call again after a delay |
| Notes |
|
| Description | Update a study |
|---|---|
| URL | /study/set |
| Parameters |