The Lens ID

Overview and Usage

Every document in the Lens can be located via a 15 digit identifier called a Lens ID. A Lens ID looks like this: 022-382-024-804-703. The identifier is broken into five groups where every 3rd digit is separated from the next with a dash (-). Eventually, resources like document collections, users and disambiguated inventors will also be identified by Lens IDs.

The power of the Lens ID is that it allows you to find *many* of the knowledge artifacts associated with a patent record, ranging from the value-added metadata, the original images, the full text and the ‘complex work units’ (eg. DNA sequence), including citations. In the Lens, this unique identifier will be used as the default patent ID as it is open, persistent, verifiable and devoid of internal business logic. With time the Lens IDs will become the stable, canonical identifiers moving forward and other identifiers will be gradually phased out.

We encourage you to use and display the Lens IDs in your public list of patents. When displaying such IDs in a UI, they need to have the prefix so they appear as The hyperlink should point to and this applies to URLs in web service data as well. We advocate using the HTTPS protocol over HTTP as it allows the user to privately request documents from our site.
The following is an example link:

Lens IDs can be entered directly into the Lens search bar as part of a query or to retrieve the associated record (ex. 022-382-024-804-703). Or they could be entered in the structured search (see below)

Check out more information on how more Lens IDs can also be used when building a query on the Structured Search page.

The Technical Stuff

The Lens ID is inspired by the ORCID and ISNI identifier schemes. We chose to use a 15 digit rather than 16 digit identifier to avoid clashes with those schemes and to make our IDs visibly distinct to avoid confusion where both identifiers are being used.

The main features of the Lens ID are:

  • They are 15 digits long, broken in five groups where every 3rd digit is separated from the next with a dash (-).
  • The last digit is a check digit which helps detect copying errors. The check digit can have the vales 0-9 and ‘X’ where X represents the value 10.
  • The check digit is calculated using mod the 11,2 algorithm outlined in the standard ISO 7064.
  • They are randomly generated for allocation to resources and are not categorised or partitioned by business rules in any way.
  • Point to a particular resource and always will, changes to business logic within the Lens will never affect identity.
  • Can be efficiently stored and used as a numeric value by dropping the check digit. For example 192-920-770-759-49X becomes 19292077075949.

Below is the code used to generate the check digit, based on the code used by the ORCID project.

 * Generates check digit as per ISO 7064 11,2
public static String checkDigit(String baseDigits) {
  int total = 0;
  for (int i = 0; i < baseDigits.length(); i++) {
    int digit = Character.getNumericValue(baseDigits.charAt(i));
    total = (total + digit) * 2;
   int remainder = total % 11;
   int result = (12 - remainder) % 11;
   return result == 10 ? "X" : String.valueOf(result);