Page 1 of 1

Cannot find patent Check-digit

Posted: Thu Jul 04, 2019 1:02 pm
by BoxClever

I would like to know where our automated system can lookup the EPO checkdigit number.
(for example: The ‘.8’ at the end of EP13748138.8)

We have an automated system that will be instructing the EPO via the EPO PMS Gateway.

But I cannot find a service that provides the patent number checkdigit for a given patent number.

I do not understand why:
• The EPO generate a number (we cannot get it from anywhere else)
• The EPO require that number when instructing via PMS Gateway
• The EPO does not make that number available via OPS

Is there some other EPO service, which our automated system could access to get the checkdigit ?

I suspect there is something I do not understand.

[This further to: application-number-in-register-page-8238 ]

Kind regards

Re: Cannot find patent Check-digit

Posted: Fri Jul 05, 2019 7:31 am
by EPO / OPS Support

If you want to have a list with applications that have check digits you can use either EBD weekly files that we offer under Bulk Data: ... ml#tab-1or you can use a web service from European Publication Server: ... html#tab-1

But OPS does not offer application no with check digits, no.

OPS support

Re: Cannot find patent Check-digit

Posted: Mon Sep 30, 2019 12:15 pm
by ksb
why do you not calculate the checkdigit yourself from the 8 digit application number?
A simple VB.NET function looks like this:

Code: Select all

Public Function CheckDigit(ByVal strAn As String) As String
        Dim ret As Integer = 0
        If strAn.Length <> 8 Then
            Throw New Exception("Wrong input: " & strAn)
        End If
        Dim an(8) As Integer
        For i = 1 To 8
            an(i) = Val(Mid(strAn, i, 1))
            If i Mod 2 = 0 Then an(i) = an(i) * 2
        Dim crosssum As Integer = 0
        For i = 1 To 8
            If an(i) >= 10 Then
                an(i) = an(i) - 10
                crosssum += 1
                crosssum += an(i)
                crosssum += an(i)
            End If
        ret = 10 - crosssum Mod 10
        If ret = 10 Then ret = 0
        Return Format(ret, "0")
    End Function

Re: Cannot find patent Check-digit

Posted: Mon Sep 30, 2019 12:33 pm
by BoxClever
Hi ksb

That's really helpful ! Thank you

We had assumed there was an algorithm, & had tried variants on the usual.
But turned out we were missing a step.

Thank you

Re: Cannot find patent Check-digit

Posted: Thu Jan 09, 2020 2:15 pm
by ppyujtm
For what it's worth, the check digit is available via the Published Data Retrieval API using the docdb input format, e.g. ... No}/biblio
The application number with check digit can be found within the <application-reference> element with the "original" document-id-type.
I'm not a programmer but have been playing around with the APIs so not sure if my terminology is correct or if this is what you're after but I hope it helps!

Re: Cannot find patent Check-digit

Posted: Fri Jan 10, 2020 9:01 am
by EPO / OPS Support
Yes, you are correct, Publish data in OPS has it, but we don't offer it in Register OPS where in fact would be of much more use then in Published data.

I am talking to my Register colleagues about that since quite a wile now and I hope we will incorporate it in OPS Register where is belongs (Espacenet does not show this format and Published service OPS is automated access to biblio data as in Classic Espacenet).

Vesna for OPS