Only the required properties for each task should be filled out.
For tasks that require BSI IDs, bsiIds may be set or vials can be used. If vials is used, any non-BSI ID data in the maps will be ignored.
An error may be given if data is provided that is not used by the task.

The following lists the tasks available for completion and the data expected for each task:
  • requisition.completeThawTask(string,string,int,array) -> boolean
    Completes a Thaw task in the specified requisition for the task ID and BSI IDs. Returns True if the task is successfully completed.
  • requisition.completeTransferOutTask(string,string,int,array) -> boolean
    Completes a Transfer Out task in the specified requisition for the task ID and BSI IDs. Returns True if the task is successfully completed.
  • requisition.deleteAttachment(string,string,string,int) -> nil
    Deletes an attachment from a requisition field.
  • requisition.deleteManifest(string,string) -> nil
  • requisition.downloadManifest(string,string) -> string
    Downloads manifest data associated with a requisition
  • requisition.duplicate(string,string,struct,array) -> struct
    Creates a new requisition duplicating the vials and tasks of the original requisition.
  • requisition.duplicateTasks(string,string,struct,array,array) -> struct
    Creates a new requisition duplicating the tasks of the original requisition.
  • requisition.duplicateVials(string,string,struct,array) -> struct
    Creates a new requisition duplicating the vials of the original requisition.
  • requisition.get(string,string) -> struct
    Gets a requisition.
  • requisition.getAppliedReqVials(string,string,int) -> array
    Returns an array containing the vial task information for the requisition task.
  • requisition.getAttachments(string,string) -> array
    Returns an array representing the attachment data associated with the specified requisition
  • requisition.getAvailableTaskPropertyFields(string,string) -> array
    Returns the task properties that may be set for the given task type, database, and user
  • requisition.getBsiIdsRequiringApproval(string,string) -> array
    Returns an array representing the BSI IDs of vials in the requisition that still require approval from the current user.
  • requisition.getProperties(string,string) -> array
    requisition.getProperties(string) -> array
    Returns an array of requisition properties in table.field form
  • requisition.getPropertyDefaults(string,string) -> struct
    requisition.getPropertyDefaults(string) -> struct
    Returns default requisition properties for a template as a Map in the form
  • requisition.getReqDiscrepancies(string,string) -> array
    Gets discrepancies for a requisition.
  • requisition.getRequisitionTaskProperties(string,string,int) -> struct
    requisition.getRequisitionTaskProperties(string,string,int,boolean) -> struct
    Returns a map of properties to values for the requisition task.
  • requisition.getTaskVialOrder(string,string,int,string) -> struct
    Gets the task vial order for a specific task.
  • requisition.getTasks(string,string) -> array
    Returns an array containing the task information for the requisition.
  • requisition.performL1TaskCompletionChecks(string,string,int,struct) -> array
    Performs l1 task completion checks on the task in the specified requisition for the task ID. Returns True if the task is successfully completed. Completion data struct can contain
  • parentBsiIds - a string array of the BSI IDs of the parent vials to complete the task on
  • childData - optional map of table.field to values to be applied to child vials
  • specificData - optional map of BSI IDs to a map of table.field to values to be applied to the specific vial. Can be used for child or parent vials.

  • Only the required properties for each task should be filled out.
    For tasks that require BSI IDs, bsiIds may be set or vials can be used. If vials is used, any non-BSI ID data in the maps will be ignored.
    An error may be given if data is provided that is not used by the task.

    The following lists the tasks available for completion and the data expected for each task:
  • requisition.performL2TaskCompletionChecks(string,string,int,struct) -> array
    Performs l2 task completion checks on the task in the specified requisition for the task ID. Returns True if the task is successfully completed. Completion data struct can contain
  • parentBsiIds - a string array of the BSI IDs of the parent vials to complete the task on
  • childData - optional map of table.field to values to be applied to child vials
  • specificData - optional map of BSI IDs to a map of table.field to values to be applied to the specific vial. Can be used for child or parent vials.

  • Only the required properties for each task should be filled out.
    For tasks that require BSI IDs, bsiIds may be set or vials can be used. If vials is used, any non-BSI ID data in the maps will be ignored.
    An error may be given if data is provided that is not used by the task.

    The following lists the tasks available for completion and the data expected for each task:
  • requisition.removeVials(string,string,array) -> nil
  • requisition.requestVials(string,string,array,string) -> nil
    requisition.requestVials(string,string,array,array) -> nil
    requisition.requestVials(string,string,array,array,string) -> nil
    requisition.requestVials(string,string,array) -> nil
  • requisition.save(string,struct) -> string
    Saves a requisition with the specified properties, returns the requisition ID
  • requisition.setShipBoxData(string,string,int,string,struct) -> boolean
    Sets the Ship Box Data for one or more vials within a single ship task.
  • requisition.setTaskVialOrder(string,string,int,struct) -> struct
    Sets the task vial order for a specific task.
  • requisition.submit(string,struct) -> string
    requisition.submit(string,struct,array,array,array) -> struct
    Submits a requisition with the specified properties, returns the requisition ID
  • requisition.submitSavedRequisition(string,string) -> struct
    Submits a previously saved requisition
  • requisition.update(string,string,struct) -> nil
    Updates a requisition with the specified properties
  • requisition.updateDiscrepancyResolutionSuggestions(string,struct) -> nil
    Appends a discrepancy resolution suggestion to existing suggested resolution.
  • requisition.updatePriorities(string,struct) -> array
    Updates requisition priorities.
  • requisition.updateRequisitionTaskProperties(string,string,int,struct) -> struct
    Updates the requisition task properties using a map of properties.
  • requisition.updateVials(string,string,array) -> nil
  • requisition.uploadAttachment(string,string,string,base64) -> int
    Uploads the attachment to the requisition and returns the integer id generated for the uploaded attachment
  • requisition.uploadManifest(string,string,base64,string) -> nil
    Uploads manifest data and attaches it to a requisition
  • results.createResultsBatch(string,string,string,struct) -> string
    results.createResultsBatch(string,string,string,struct,string,base64) -> string
    Create a results batch
  • results.getProcedureDescription(string,string,string) -> struct
    Retrives the procedure description
  • results.getResultsRunData(string,string,string,string) -> array
    Retrives results run data
  • results.saveResultsRunData(string,string,string,string,base64) -> nil
    Saves results run data
  • servermetrics.getActiveDatabaseNames(string,string) -> string
    Returns the current session count per database
  • servermetrics.getApplicationServerLoadAverage(string,string) -> string
    Returns the current server load average for the application server
  • servermetrics.getApplicationServerThreadCount(string,string) -> string
    Returns the current thread count for the application server
  • servermetrics.getApplicationServerThreadNamesAndCpuTimes(string,string) -> struct
    Returns the current thread names and cpu times
  • servermetrics.getAvailableApplicationServerJvmMemory(string,string) -> string
    Returns the available JVM memory for the application server
  • servermetrics.getAvailableJvmMemory(string,string) -> string
    Returns the available JVM memory
  • servermetrics.getCurrentServerId(string,string) -> string
    Returns the server ID
  • servermetrics.getCurrentSessionCount(string,string) -> string
    Returns the number of current sessions/users
  • servermetrics.getCurrentSessionCountPerDatabase(string,string) -> struct
    Returns the current session count per database
  • servermetrics.getCurrentThreadCount(string,string) -> string
    Returns the current thread count
  • servermetrics.getCurrentThreadNamesAndCpuTimes(string,string) -> struct
    Returns the current thread names and cpu times
  • servermetrics.getServerLoadAverage(string,string) -> string
    Returns the current server load average
  • servermetrics.getServerStartTime(string,string) -> string
    Returns the start time of the current server
  • servermetrics.getServerVersion(string,string) -> string
    Returns the BSI version of the current server
  • servermetrics.getTotalApplicationServerJvmMemory(string,string) -> string
    Returns the total JVM memory for the application server
  • servermetrics.getTotalJvmMemory(string,string) -> string
    Returns the total JVM memory
  • session.createBsiHubRequestKey(string,string,string) -> string
    Internal method for creating a request key for BSI Hub - BSI-Hub only
  • session.createBsiHubSession(string,string,string,string) -> string
    session.createBsiHubSession(string,string,string) -> string
    Internal method for creating a session to submit data from BSI Hub as user who submitted file - BSI-Hub only
  • session.createFromSSO(string,string,string,string,int) -> string
    session.createFromSSO(string,string,string,string,int,string) -> string
    Internal method for creating session id for an authenticated sso user - BSI Engage only
  • session.expireBsiHubRequestKey(string,string) -> nil
    Internal method for expiring a request key for BSI Hub - BSI-Hub only
  • session.hubWebsiteLogon(string,string,string,string) -> string
    Internal logon for use by BSI-Hub only
  • session.reactivateBsiHubSession(string,string,string) -> nil
    Internal method for reactivating a BSI Hub session - BSI-Hub only
  • session.reactivateFromSSO(string,string,string,string,string,int) -> string
    Internal method for reactivating a session for an authenticated sso user - BSI Engage only
  • shipment.addVials(string,string,array) -> int
  • shipment.checkAuthorization(string,string) -> boolean
    Returns true if the current user is allowed to access the specified shipment. Returns false if the user is not allowed to access the shipment or the shipment could not be found.
  • shipment.checkErrors(string,struct) -> array
    Checks for errors in the specified properties, returns array that contains the errors and warnings
  • shipment.deleteManifest(string,string) -> nil
  • shipment.getAttachments(string,string) -> array
    Returns an array representing the attachment data associated with the specified shipment.
  • shipment.getDiscrepancies(string,string) -> array
    Gets discrepancies for a shipment.
  • shipment.getProperties(string) -> array
    Returns an array of shipment properties in table.field form
  • shipment.getShipment(string,string) -> struct
    Returns a shipment, including properties and vials
  • shipment.getTemplates(string) -> array
    Returns an array of template paths inside the user's institution.
  • shipment.receive(string,string,struct,boolean) -> nil
    Updates the received properties of the shipment and sets the shipment status as received. If markVialsAsReceived is true, then all vials in the shipment batch will be marked as received.
  • shipment.submit(string,struct,array) -> string
    shipment.submit(string,struct) -> string
    Submits a shipment with the specified properties, returns the shipment ID
  • shipment.transferShipmentToBatch(string,string,string) -> string
    Transfers all 'Received' and 'In Batch' vials in the shipment to a data entry batch.
  • shipment.update(string,string,struct) -> nil
    Updates a shipment with the specified properties
  • shipment.updateDiscrepancyResolutionSuggestions(string,string,struct) -> int
    Appends a discrepancy resolution suggestion to existing suggested resolution.
  • shipment.uploadAttachment(string,string,string,string,base64) -> int
    shipment.uploadAttachment(string,string,string,base64) -> int
    Uploads the attachment to the shipment and returns the integer id generated for the uploaded attachment
  • shipment.uploadManifest(string,string,base64,string) -> nil
    Uploads manifest data and attaches it to a shipment
  • study.checkErrors(string,struct) -> array
    Checks for errors in the specified properties, returns array that contains the errors and warnings
  • study.create(string,struct) -> string
    Creates a study from the study data, returning the Study ID
  • study.get(string,string) -> struct
    Returns a map representing the specified study
  • study.getAttachments(string,string) -> array
    Returns an array representing the attachment data associated with the specified study
  • study.getAuthorizedStudies(string,string) -> array
    study.getAuthorizedStudies(string) -> array
    Returns an array of study IDs the current user has authorization for and the study permission
  • study.getProperties(string) -> array
    study.getProperties(string,string) -> array
    Returns a string array representing the study properties
  • study.getPropertyDefaults(string) -> struct
    study.getPropertyDefaults(string,string) -> struct
    Returns default study properties as a Map in the form
  • study.update(string,string,struct) -> string
    study.update(string,string,struct,int) -> string
    Updates the specified study with the data from the map
  • study.uploadAttachment(string,string,string,base64) -> int
    Uploads the attachment to the study and returns the integer id generated for the uploaded attachment
  • subject.deleteSubject(string,string,string) -> nil
    Deletes a subject
  • subject.deleteUniversalSubject(string,string) -> nil
    Deletes a universal subject
  • subject.getAttachments(string,string,string) -> array
    Returns an array representing the attachment information for a subject
  • subject.getSubject(string,string,string) -> struct
    Retrieves a map representing the specified subject
  • subject.getSubjectProperties(string,string) -> array
    Returns a list of subject properties in table.field form
  • subject.getSubjectsForMRN(string,string,string) -> struct
    Database specific. Returns a report of the subjects that exist for the given MRN and Study ID.
  • subject.getUniversalSubject(string,string) -> struct
    Retrieves a map representing the specified universal subject
  • subject.getUniversalSubjectsForMRN(string,string) -> struct
    Database specific. Returns a report of universal subject IDs that exist for the given MRN.
  • subject.performL1Checks(string,struct,string,string) -> array
    subject.performL1Checks(string,array,string) -> array
    Returns the L1 errors found for a subject
  • subject.performL2Checks(string,struct,string,string) -> array
    subject.performL2Checks(string,array,string) -> array
    Returns the L2 errors found for a subject
  • subject.performUniversalL1Checks(string,struct,string) -> array
    Returns the L1 errors found for a universal subject
  • subject.performUniversalL2Checks(string,struct,string) -> array
    Returns the L2 errors found for a universal subject
  • subject.saveNewSubject(string,struct,string,string) -> struct
    Saves a new subject and returns the subject that was saved
  • subject.saveNewSubjects(string,array,string) -> array
    Saves a set of new subject and returns the subject that was saved
  • subject.saveNewUniversalSubject(string,struct,string) -> struct
    Saves a new universal subject and returns the universal subject that was saved
  • subject.saveSubject(string,struct) -> struct
    Updates the data for an existing subject and returns the updated subject
  • subject.saveSubjects(string,array,string) -> array
    Updates the data for an existing set of subjects and returns the updated subject set
  • subject.saveUniversalSubject(string,struct) -> struct
    Updates the data for an existing universal subject and returns the updated universal subject
  • template.getTemplates(string) -> array
    Returns an array of template paths inside the user's institution.
  • test.add(int,int) -> int
    Returns the sum of the two input numbers
  • test.echo(string) -> string
    Sends back the input string
  • user.authorize(string,int,array) -> nil
    Authorizes the specified user ID to have the given roles
  • user.create(string,struct) -> int
    Creates a new user with the specified properties, returns the new user ID
  • user.getCurrentUserInfo(string) -> struct
    Gets user information for the current user
  • user.getInfo(string,int) -> struct
    Gets user information for the specified user ID
  • user.getUserModuleAccess(string,string) -> array
    Returns the accessible modules for the given user
  • user.update(string,int,struct) -> nil
    Updates the specified user ID to have the given properties
  • user.updateCurrentUsersRepository(string,string) -> nil
    Updates the current user's repository
  • user.verifyUsernameAndPassword(string,string,string) -> boolean
    Verifies the current user's username and password