Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

In order to successfully invoke a report, the user account needs to have the API role action, in addition to any role action or roles specified against the report to execute. These report permissions are established on an individual basis within the Administration > System Settings component.

...

Performance

The response times will vary depending on what report is requested, parameters passed, and the underlying dataset the report is reliant on. This same principle applies to reports requested directly through the user interface - a request that may take several seconds or minutes to generate results will require users to wait until the report has finished and becomes available. Using the API to invoke reports is no ‘quicker’ than the same requests done directly from within the application.

Programmatic invocation of study reports however may cause a large number of requests to queue up over time. As all report requests are processed sequentially, it’s possible that use of the API to retrieve reports would queue ahead of reports requested through the user interface. Depending on time of day and frequency of requests, these may have impacts to study operational teams who are reliant on reports retrieved through the user interface.

Swagger Interactive Documentation

Swagger integration
showCommonExtensionstrue
supportedSubmitMethodsget, post
openapi: 3.0.0
info:
  description: |
    Example ClinSpark Report Invocation API Doc (Transfer Data Report).  This is a Notebasic representation thatof onlya thestandard Transfer Data reportReport and its options. are presentedAdapting inthe this document.  However adapting theuse of parameters appropriately will allow invocation of other reports supported by an instance.  Bearer (token) Authentication is only supported in ClinSpark version 23.3 and greater.

    Successfully invocation the API with this embedded Swagger tooling will provide client bindings and command line invocation patterns that can be used for integrations.
  version: "1.0.0"
  title: ClinSpark Report Invocation API
servers:
  - url: 'https://{customerId}.clinspark.com/api/v1'
    variables:
      customerId:
        default: community-dev
        description: Customer ID assigned by the service provider
  - url: 'https://{ngrokPrefix}.ngrok.io/clinspark/api/v1'
    variables:
      ngrokPrefix:
        default: 04f5b951df6d
        description: first part of ngrok-assigned id
paths:
  /invokeReport:
    get:
      summary: Invoke a the Transfer Data Report
      operationId: get-transferReport
      parameters:
        - name: studyId
          in: query
          description: Status values that need to be considered for filter.  
          required: false
          schema:
            type: integer
        - name: studyName
          in: query
          description: Name of the Study, as seen in the Study > Configure component.  Capitalization and spelling must match exactly. Only include EITHER studyId OR studyName, not both.
          required: false
          example: ABC-PK-12
          schema:
            type: string
        - name: reportName
          in: query
          description: Name of the report, as seen in the Study > Report component.
          required: false
          example: Transfer Data
          schema:
            type: string
        - name: transferReportType
          in: query
          description: Type of transfer report.
          required: false
          example: clinicalCSV
          schema:
            type: string
            enum:
              - clinicalXpt
              - clinicalCSV
              - clinicalExcel
              - odmXml
              - sdtmMappingSpecs
        - name: itemDataTyped
          in: query
          description: Used for the ODM XML report.  
          required: false
          schema:
            type: string
            enum:
              - 'true'
              - 'false'
        - name: includeMetaData
          in: query
          description: Used for the ODM XML report.  
          required: false
          schema:
            type: string
            enum:
              - 'true'
              - 'false'
        - name: includeNonCrfMetaData
          in: query
          description: Include Non-CRF? 
          required: false
          schema:
            type: string
            enum:
              - 'false'
              - 'true'
        - name: xptVersion
          in: query
          description: XPT Version
          example: 'v5'
          schema:
            type: string
            enum:
              - 'v5'
              - 'v8'
        - name: onlyRandomized
          in: query
          description: has Only Randomized Subjects?  Has no effect when choosing specific subjects.
          required: false
          schema:
            type: string
            enum:
              - 'true'
              - 'false'
        - name: subjectsIds
          in: query
          description: id Optionally defined the ID of specific subjects to include.  Allows for narrowing output to specified subjects.
          required: false
          schema:
            type: array
            items:
              type: integer
          style: form
          explode: false
          examples:
            oneId:
              summary: Example of a single ID
              value: [5]   # ?subjectsIds=5
            multipleIds:
              summary: Example of multiple IDs
              value: [1, 5, 7]   # ?subjectsIds=1,5,7
      security:
        - basicAuth: []
        - bearerAuth: []
      responses:
        '200':
          description: successfulSuccessful operation.
          content:  # Response body
            application/zip:
             schema: 
               type: string
               format: binary
        '400':
          description: Invalid status value.
        '401':
          description: Unauthorized. You must add Basic Authentication headers. Check user account for API role action, study restrictions, and any role action and/or roles specified against the report to execute. 
        '422':
          description: Invalid request.  There are input validation errors.  Look at the  response for details.
components:
  securitySchemes:
    basicAuth:     # <-- arbitrary name for the security scheme
      type: http
      scheme: basic
    bearerAuth:
        type: http
        scheme: bearer