Reporting

Reporting

Reporting provides a set of services to create, process, and retrieve either CSV extracts or XML extracts from CLAIMS Direct. Reports are available for six months after they are created. Please download any reports older than six months that you wish to keep. Reports can be downloaded through the API using https://cdws21.ificlaims.com/reports/<report-id>/<report-name>.

In brief, you can use the interface to do the following:

  1. /report/create: create a report – defining the data selection criteria

  2. /report/queue: queue the report – defining the processing and packaging requirements for the report delivery

  3. /report/status: check the status of the report progress – from queued to complete

  4. /report/list: get a list of current reports

  5. /report/detail: get a list of the details related to a particular report

  6. /report/delete: delete a report

  7. /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 while the XML output allows for batching of the output into multiple files in order to keep file sizes manageable, the CSV report assumes you want everything in one file.

The details of the service calls are below.

/report/create

Method(s)

GET | POST

Method(s)

GET | POST

Path

/report/create

 

Parameter

Values

Description

@name

String: ex. test-report-01

Report name. Special Unix/Linux characters may not be used in report names. Valid characters include alphas, numerics, dashes, and underscores.

@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 query, a space, comma or new-line-separated list of ucids or an existing schema-qualified DWH table name containing the required column ucid.

For long ucid lists and complicated queries, the POST method should be used.

@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.
Currently available columns:

Note

Columns containing multiple values will be separated by the '|' character, e.g. US | EP | WO

Column

Description

document-ucid

Document identifier (ucid)

document-country

Country of publication

document-number

Patent/publication number

document-kind

Publication kind code

document-date

Date of publication (YYYYMMDD)

document-year

Year of publication (YYYY)

application-ucid

Application filing identifier (ucid)

application-country

Filing country

application-number

Filing number

application-kind

Filing kind code

application-date

Date of filing (YYYYMMDD)

application-year

Year of filing (YYYY)

priority-number

Priority numbers (ucids)

priority-country

Priority countries

priority-date

Priority filing dates (YYYYMMDD)

priority-year

Priority filing years (YYYY)

us-class-primary

Primary US classification

us-class

All US classifications

cpc

CPC

cpc-first-inventive

First inventive CPC

ipcr

IPCR

ipc

IPC

ecla

ECLA

f-terms

F-terms

patent-citations

Patent citations

non-patent-citations

Non-patent citations

forward-citations

Forward citations

related-applications

Related applications

assignee-applicant

Assignees/applicants

epo-assignee-applicant

DOCDB standardized assignees/applicants

inventor

Inventors

agent

Agents

correspondent

Correspondent

examiner

Examiner

pct-application-number

PCT filing number (ucid)

designated-states

EP and PCT designated states

abstract

English abstract or, if no English abstract exists, the abstract in the language of publication

first-claim

First claim

english-claims

Claims in English

original-claims

Claims in language of publication

espacenet-link

URL to espacenet

simple-family

List of ucids sharing the same family ID, as assigned by DOCDB

inpadoc-family

Extended family

legal-status

Legal status

title

English language title or, if not present, title in publication language

ifi-expiration

IFI anticipated patent expiration date

ifi-status

IFI patent status

ifi-publication-type

IFI publication type

ifi-adj-expiration

IFI adjusted patent expiration date

ifi-assignee

IFI assignee

ifi-assignee-original

Original, as published, assignee

ifi-assignee-current

Current IFI assignee

ifi-assignee-probable

Probable IFI assignee

family-id

DOCDB-assigned simple family integer identifier

load-id

modified-load-id

date-produced

Date on which CLAIMS Direct XML was produced

@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.

@csv.datefmt

String. Available Options:

yyyy-mm-dd
dd/mm/yyyy
mm/dd/yyyy
yyyymmdd

Ex. csv.datefmt=mm/dd/yyyy

(v3.9.1) The format of date output for the CSV columns: Publication Date, Application Date, Priority Date, Date Produced, IFI Expiration and IFI Adjusted Expiration dates.

Example:

wget -O- -q \ --header 'x-user:x' \ --header 'x-password:y' \ 'https://cdws21.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

Response Object

Member

Value

 

@status

success | error

 

@time

Internal request time in seconds

 

@report.id

Unique identifier of the report

 

@message

In case of error, this may optionally contain the reason for failure

/report/queue

Method

GET

Method

GET

Path

/report/queue

 

Parameter

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:
my-prefix.00000001.xml
my-prefix.00000002.xml
my-prefix.00000003.xml
my-prefix.00000004.xml 

Default=batch

@package_type

String: ex. archived

Report package type. Valid types include:

    • single: output single file. For report type csv, this is the only available package_type, for report type xml, the output file will contain multiple XML documents

    • archived: (xml only) output tar archive with predictable path to individual documents

    • archived_attachments: (xml only) archived package including associated attachments

    • batched: (xml only) output tar archive containing raw batches

@package_suffix

Unused: generated internally based on package_type and package_compression

The following table shows the generated suffix:

Type

No compression

Gzip

Zip

single

<report-name>.csv | .xml

<report-name>.gz

<report-name>.zip

archived

<report-name>.tar

<report-name>.tar.gz

<report-name>.tar.zip

batched

<report-name>.tar

<report-name>.tar.gz.

<report-name>.tar.zip

@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' \ 'https://cdws21.ificlaims.com/report/queue?id=99a479b9-4a73-4f27-b8b1-44b052844e23'

Response JSON

{ "status" : "success", "time" : "0.064897", "queue" : { "id" : 257 } }

Response Object

Member

Value

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

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' \ 'https://cdws21.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

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.running_status

Stage of processing:

    • queued

    • preparing

    • extracting

    • packaging

    • complete 

 

@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 optional 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

Method

GET

Path

/report/list

 

Parameter

Values

Description

@limit

Integer: ex. 50

Limit number of items to return (reporting has an upper limit of 30K per batch because deep paging can place undue stress on the system)

@offset

Integer: ex. 0

Offset into returned list of items

Example:

wget -O- \ --header 'x-user:x' \ --header 'x-password:y' \ 'https://cdws21.ificlaims.com/report/list?limit=1'

Response JSON

{ "time" : "0.010817", "status" : "success", "reports" : [ { "batchprefix" : "batch", "source" : "list", "name" : "a-csv-report", "solrurl" : "https://10.234.1.44:6000/alexandria-v2.1/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

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" : "https://10.234.1.44:6000/alexandria-v2.1/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

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

Method

GET

Path

/report/columns

Response JSON

{ "time" : " 0.008741", "status" : "success", "columns" : [ "document-ucid", "document-country", "document-number", "document-kind", "document-date", "document-year", "application-ucid", "application-country", "application-number", "application-kind", "application-date", "application-year", "priority-number", "priority-country", "priority-date", "priority-year", "us-class-primary", "us-class", "cpc", "cpc-first-inventive", "ipcr", "ipc", "ecla", "f-terms", "patent-citations", "forward-citations", "non-patent-citations", "related-applications", "assignee-applicant", "epo-assignee-applicant", "inventor", "agent", "correspondent", "examiner", "pct-application-number", "designated-states", "abstract", "first-claim", "english-claims", "original-claims", "espacenet-link", "simple-family", "inpadoc-family", "legal-status", "title", "ifi-expiration", "ifi-status", "ifi-publication-type", "ifi-adj-expiration", "ifi-assignee", "ifi-assignee-original", "ifi-assignee-current", "ifi-assignee-probable", "family-id", "load-id", "date-produced" ] }