Reporting provides a set of services to create, process, and retrieve either CSV extracts or XML extracts from CLAIMS Direct.
In brief, to use the interface to do the following:
- /report/create: create a report – defining the data selection criteria
- /report/queue: queue the report – defining the processing and packaging requirements for the report delivery
- /report/status: check the status of the report progress – from queued to complete
- /report/list: get a list of current reports
- /report/details: get a list of the details related to a particular report
- /report/delete: delete a report
- /report/columns: get a list of the columns supported by CSV reporting
Note that whereas CSV reporting does allow you to select the columns or fields that you want included in the report, the XML output assumes you want the complete XML record. Also note that whereas the XML output does allow for batching of the output into multiple files in order to keep file sizes manageable, the CSV report assume you want everything in one file.
The details of the service calls are below.
/report/create
Method(s) | GET | POST | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Path | /report/create | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Parameter | Values | Description | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
@name | String: ex. test-report-01 | Report name | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
@type | String: ex. csv | Report type, one of 'csv' or 'xml' (default=xml) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
@source | String: ex. search | Report source, one of 'search', 'list' or 'table' (default=list) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
@criteria | String: ex. pnctry:us AND solar | Report criteria. Depending on @source, this will be either a valid SOLR search query, a space,comma or new-line-separated list of ucids or an existing schema-qualified DWH table name containing the required column | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
@solrparams | unused, set internally | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
@solrurl | unused, set internally | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
The following options pertain to @type = csv | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
@csv.cols | String: ex. c1,c2 | Comma-separated list of columns to include. Columns will be output in order given. Note Columns containing multiple values will be separated by the '|' character, e.g. US | EP | WO
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
@csv.header | Bool: ex. 1 | [ 0 | 1 ] Include column headers. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
@csv.nonl | Bool: ex. 1 | [ 0 | 1 ] Replace new lines (nl) with spaces | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
@csv.maxcolsize | Integer: ex 32 | The maximum number of bytes allowed per column (overflow will be truncated). This value is assumed to be Kilobytes. |
Example:
wget -O- -q \ --header 'x-user:x' \ --header 'x-password:y' \ 'http://cdws.ificlaims.com/report/create?name=a-csv-report&type=csv\ &source=list&criteria=US-20140255094-A1,ES-2478140-A8,ES-2486245-T3'
Response JSON
{ "status" : "success" "time" : "0.015465", "report" : { "id" : "63cfdeb1-0162-444f-9ffa-a1ddd18de7d1" }, }
response object | member | value |
---|---|---|
@status | success | error | |
@time | internal request time in seconds | |
@report.id | the unique identifier of the report. | |
@message | In case of error, this may optionally contain the reason for failure |
/report/queue
Method | GET | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Path | /report/queue | ||||||||||||||||||
Param | Values | Description | |||||||||||||||||
@id | String: ex. e16eebc9-6965... | Report identifier | |||||||||||||||||
@nthreads | Integer: ex. 4 | Maximum number of backend processes used to generate report (2, 4 or 8, default=4) | |||||||||||||||||
@batchsize | Integer: ex. 100 | Number of documents to process per thread (default=200) | |||||||||||||||||
@batchprefix | String: ex. my-prefix | Output file name(s) prefix. For example, running an xml report with @package_type=batched, output tar file will contain, <report-name>.tar: Default=batch | |||||||||||||||||
@package_type | String: ex. archived | Report package type. Valid types include:
| |||||||||||||||||
@package_suffix | unused: generated internally based on package_type and package_compression | The following table shows the generated suffix
| |||||||||||||||||
@package_compression | String: ex. gzip | Valid values are one of: __none__ (default), gzip or zip | |||||||||||||||||
@priority | Integer: ex. 1 | Setting a priority > 0 will prioritize processing of report higher. Default behavior is to process each report in order of en-queue. |
Example:
wget -O- -q \ --header 'x-user:x' \ --header 'x-password:y' \ 'http://cdws.ificlaims.com/report/queue?id=99a479b9-4a73-4f27-b8b1-44b052844e23'
Response JSON
{ "status" : "success", "time" : "0.064897" "queue" : { "id" : 257 }, }
response object | member | value |
---|---|---|
@status | success | error | |
@queue.id | Report queue identifier (currently unused in other requests) | |
@message | In case of error, this may optionally contain the reason for failure |
/report/status
Method | GET | ||
---|---|---|---|
Path | /report/status | ||
Parameter | Values | Description | |
@id | String: ex. e16eebc9-6965-41a4-9337-8f76d8953a89 | Report identifier |
Example:
wget -O- \ --header 'x-user:x' \ --header 'x-password:y' \ 'http://cdws.ificlaims.com/report/status?id=99a479b9-4a73-4f27-b8b1-44b052844e23'
Response JSON
{ "time" : " 0.041137", "status" : "success", "report" : { "percent_complete" : "0.000", "completed_status" : null, "completed_stamp" : null, "ndocs" : 0, "completed_error" : null, "ndocs_processed" : 0, "running_status" : "queued", "entered_stamp" : "2014-09-28 14:52:57", "completed_url" : null }, }
response object | member | value |
---|---|---|
@status | success | error | |
@message | In case of error, this may optionally contain the reason for failure | |
@report.entered_stamp | Time stamp when report was queued for processing | |
@report.runnng_status | Stage of processing:
| |
@report.completed_url | When complete, the url of package | |
@report.completed_status | success | error | |
@report.completed_error | if @completed_status == 'error', this may contain an option error message pertaining to processing | |
@report.completed_stamp | Time stamp report processing completed | |
@report.ndocs | Total number of documents in report. Note: This value will be 0 until @running_status completes the preparation (preparing) stage. | |
@report.ndocs_processed | Total number of documents already processed | |
@report.percent_complete | Convenience value of @ndocs_processed / @ndocs as a floating point, e.g., 0.000 |
/report/list
Method | GET | ||
---|---|---|---|
Path | /report/list | ||
Parameter | Values | Description | |
@limit | Integer: ex. 50 | Limit number of items to return | |
@offset | Integer: ex. 0 | Offset into returned list of items |
Example:
wget -O- \ --header 'x-user:x' \ --header 'x-password:y' \ 'http://192.168.10.60:3001/report/list?limit=1'
Response JSON
{ "time" : "0.010817", "status" : "success", "reports" : [ { "batchprefix" : "batch", "source" : "list", "name" : "a-csv-report", "solrurl" : "http://10.234.1.44:6000/alexandria-v2.0/alexandria", "batchsize" : 200, "completed_status" : null, "package_compression" : "zip", "package_sfx" : "csv", "completed_stamp" : null, "completed_error" : null, "running_status" : "queued", "solrparams" : null, "type" : "csv", "entered_stamp" : "2014-09-28 14:52:57.15773", "completed_url" : null, "id" : "63cfdeb1-0162-444f-9ffa-a1ddd18de7d1", "criteria" : "US-20140255094-A1,ES-2478140-A8,ES-2486245-T3", "package_type" : "single", "report_id" : 276, "csvopts" : "csv.nonl=1&csv.cols=__all__&csv.maxcolsize=32768&csv.header=1", "nthreads" : 4, "user_id" : 4, "process_id" : 257, "ndocs" : 0, "ndocs_processed" : 0 } ] }
/report/detail
Method | GET | ||
---|---|---|---|
Path | /report/detail | ||
Parameter | Values | Description | |
@id | String: ex. e16eebc9-6965-41a4-9337-8f76d8953a89 | Report identifier |
Response JSON
{ "time" : " 0.012368", "status" : "success", "report" : { "name" : "a-csv-report", "batchprefix" : "batch", "source" : "list", "completed_status" : null, "completed_stamp" : null, "package_sfx" : "csv", "package_compression" : "zip", "completed_error" : null, "solrurl" : "http://10.234.1.44:6000/alexandria-v2.0/alexandria", "batchsize" : 200, "completed_url" : null, "criteria" : "US-20140255094-A1,ES-2478140-A8,ES-2486245-T3", "tracker_id" : "63cfdeb1-0162-444f-9ffa-a1ddd18de7d1", "report_id" : 276, "package_type" : "single", "solrparams" : null, "running_status" : "queued", "type" : "csv", "entered_stamp" : "2014-09-28 14:52:57.15773", "nthreads" : 4, "user_id" : 4, "process_id" : 257, "ndocs" : 0, "ndocs_processed" : 0, "csvopts" : "csv.nonl=1&csv.cols=__all__&csv.maxcolsize=32768&csv.header=1" }, }
/report/delete
Method | GET | ||
---|---|---|---|
Path | /report/delete | ||
Parameter | Values | Description | |
@id | String: ex. e16eebc9-6965-41a4-9337-8f76d8953a89 | Report identifier |
Response JSON
{ "status" : "success", "time" : " 0.010436", }
/report/columns
Method | GET | ||
---|---|---|---|
Path | /report/columns |
Response JSON
{ "time" : " 0.006634", "status" : "success", "columns" : [ "document-number", "document-country", "document-kind", "document-date", "document-year", "application-number", "application-date", "priority-number", "priority-country", "priority-date", "priority-year", "title", "us-class-primary", "us-class", "cpc", "ipcr", "ipc", "ecla", "f-terms", "patent-citations", "forward-citations", "non-patent-citations", "related-applications", "assignee-applicant", "standardized-assignee-applicant", "inventor", "agent", "correspondent", "examiner", "pct-application-number", "designated-states", "abstract", "english-claims", "original-claims", "espacenet-link", "simple-family", "inpadoc-family", "legal-status", "ifi-status", "ifi-expiration" ] }