...
...
Table of Contents
Table of Contents | ||
---|---|---|
|
Design and Configuration
The Report capabilities of Presentation Services is currently using SpagoBI as reporting service. The code was designed having multiple reporting services in mind, but it is still coupled to Spago.
The generic interface to communicate with an external Reporting Server is org.socraticgrid.report.api.ReportServiceIFace. The concrete implementation being used in runtime can be configured using spring in the file kmrReports.xml located in PresentationService's configuration directory.
Currently, there is only 1 implementation of this interface called com.cognitivemedicine.report.service.ReportServiceImpl. This implementation is not part of PresentationServices code.
The configuration of the available reports is done using 3 different tables: ReportTemplates, ReportParameters and ReportRoles.
ReportTemplates Table
This table contains the list of all available reports in the system. This table is still tightly-coupled to Spago.
Column Name | Type | Description |
---|---|---|
ReportTemplateId | integer | This id the auto-generated id of each entry. |
Name | string | The user-friendly name of the report. |
SpagoId | string | The id of the report template in Spago server. |
SpagoName | string | The id of the report template in Spago server. |
CreatedBy | string | Name of the creator of the report. (This field is not related in any way to Users table. Its value is only descriptive) |
Type | string | The type of the report as stated by Spago specifications. |
DatasetId | integer | The id of the dataset of this report in Spago. |
EngineId | integer | The Engine id of the report as stated by Spago specifications. |
ReportParameters Table
Column Name | Type | Description |
---|---|---|
ParameterId | string | This id each entry. |
ReportTemplateId | int | The id of the Report Template where this parameter belongs. |
ParameterLabel | string | The user-friendly label that should be displayed in the UI when the template's parameters form is displayed. |
ParameterName | string | The name of the parameter (this parameter is not currently being used). |
ParameterType | ENUM | Possible values: ['text', 'number', 'date', 'datetime-local', 'organization-combobox', 'facility-combobox', 'workspace-combobox'] |
ParameterURL | string | The identifier of this parameter in Spago BI. |
Nullable | boolean | Indicates whether this parameter is nullable or not. |
API
List Report Templates
Current Implementation
...
Name | Type | Mandatory | Description |
---|---|---|---|
token | String | Yes | Security Token obtained before. |
userId | String | Yes | The id of the logged in user. |
reportTemplateId | String | Yes | The Id of the Report Template to be executed. |
<report-specific-parameters> | N/A | No | Each specific Report Template has a set of parameters (mandatory or not) that must be present in the request. |
...