LoginSignup
2
2

More than 1 year has passed since last update.

特許情報取得ワークシート関数(その1)

Last updated at Posted at 2022-02-13

ゴロリンコの丘にて

ゴロリ「今日はいい天気だなぁ。こんな日には、久しぶりに特許情報のチェックをするぞ。でも、J-PlatPatにアクセスして出願番号を何十個も入力して照会ボタンをクリックするのは面倒くさいなあ。」

J-PlatPat.PNG

ゴロリ「あれ、Windows10のデスクトップに新しいExcelファイルがあるぞ。"JpoApiUDF.xlsm"?」
ゴロリ「とりあえず開いてみよう。これはワクワクさんが作ったものかなあ。おーい、ワクワクさ~ん」

ワクワクさん「ハイハイ、特許情報取得ワークシート関数について質問ですか?」

ゴロリ「特許情報取得ワークシート関数って何なの。」

ワクワクさん「これはねゴロリ、Excelのワークシートで特許情報取得APIを呼び出すユーザ定義関数(UDF)だよ。そのために、僕が、この特許情報取得ワークシート関数入りのExcelファイルを作って、このパソコンに入れてあるけどね。」

ゴロリ「特許情報取得APIって、確か特許庁の情報を取ってこれるRest-APIだよね。」

ワクワクさん「そうそう」

ゴロリ「J-PlatPatにアクセスして特許情報を取ってくるのとどう違うの?」

ワクワクさん「J-PlatPatだと、手作業で1件ずつ出願番号の番号欄に、案件の出願番号を入力しなきゃいけなかったよね。」

ゴロリ「うんうん、ちまちまと番号欄にコピペして照会ボタンを押してたよ。」

ワクワクさん「特許情報取得APIならば、機械的に何十件も一気に特許情報を取ってこれるんだ。」

ゴロリ「へえ、Excel表の出願番号リストから一気に情報が取れるんだ。便利だね。」

ワクワクさん「ところでゴロリ、J-PlatPatで取ってきた特許情報ってどうしてた?」

ゴロリ「ブラウザからExcelのワークシートにコピペしてたよ。」

ワクワクさん「特許情報取得APIならば、特許情報をExcelワークシートなど、自前のアプリケーションに直接反映できるんだ。だから、ブラウザからExcelやWordなどにコピペする手間もいらなくなるんだ。」

ゴロリ「へぇ、そんなことができるの」

ワクワクさん「いままでは、VBAやPythonで特許情報取得APIを呼び出すものはあったんだ。でもね、それだとVBAやPythonを使える人しか特許情報取得APIを使えないよね。」

ゴロリ「うんうん。VBAやPythonじゃ、事務の人に『ちょっと使ってみて』とかムリだもんなあ。」

ワクワクさん「特許情報取得ワークシート関数はね、自作のワークシート関数で特許情報取得APIを呼び出すようにしたものなんだよ。」

ゴロリ「どうやってるの。」

ワクワクさん「VBA上で自作関数を定義すると、これはそのままExcelの自作ワークシート関数として呼び出すことができるんだ。だから、このExcelファイルでは、VBAで作られた特許情報取得APIクラスを関数から呼び出すようにしてあるんだ。」

アクセストークン

ゴロリ「このワークシートってどうなってるの?」

ワクワクさん「各シートのB1セルにIDを入力、B2セルにパスワードを入力、B3セルはトークン取得パスが入力してあるよね。これはゴロリのアカウントだよ。」

ゴロリ「うんうん」

ワクワクさん「そこで、GetAccessToken関数を呼び出すことで、アクセストークンを取得できるんだよ。」

アクセストークン取得関数
=GetAccessToken(id,パスワード,トークン取得パス)

ゴロリ「アクセストークンって何? 特許情報なの?」

ワクワクさん「アクセストークンは、特許情報取得APIを利用することを許可されていることを示すものだよ。実際の特許情報の取得のときに使うんだ。」

特許経過情報

ゴロリ「ワクワクさん、例えば、特願2020-008423の経過情報を取るにはどうするのかなぁ。J-PlatPatだと経過情報ボタンをクリックすると取れるけど。ほら、こんな画面。」

経過情報.PNG

ワクワクさん「ゴロリ、経過情報を取るのはGetAppProgress関数か、GetAppProgressSimple関数だね。じゃあ、試しにGetAppProgress関数で、特願2020-008423の特許経過情報を取ってみよう。特許経過情報シートのB5セルに2020008423を入力するよ。」

特許経過情報取得関数
=GetAppProgress(アクセストークン,"2020008423")

ワクワクさん「これでリターン、と」

特許経過情報
{"applicationNumber":"2020008423","inventionTitle":"\u7BA1\u7406\u30B7\u30B9\u30C6\u30E0\u53CA\u3073\u7BA1\u7406\u65B9\u6CD5","applicantAttorney":[{"applicantAttorneyCd":"718000266","repeatNumber":"1","name":"\u7279\u8A31\u5E81\u9577\u5B98","applicantAttorneyClass":"1"},{"applicantAttorneyCd":"100099759","repeatNumber":"2","name":"\u9752\u6728\u3000\u7BE4","applicantAttorneyClass":"2"},{"applicantAttorneyCd":"100123582","repeatNumber":"3","name":"\u4E09\u6A4B\u3000\u771F\u4E8C","applicantAttorneyClass":"2"},{"applicantAttorneyCd":"100114018","repeatNumber":"4","name":"\u5357\u5C71\u3000\u77E5\u5E83","applicantAttorneyClass":"2"},{"applicantAttorneyCd":"100165191","repeatNumber":"5","name":"\u6CB3\u5408\u3000\u7AE0","applicantAttorneyClass":"2"},{"applicantAttorneyCd":"100133835","repeatNumber":"6","name":"\u6CB3\u91CE\u3000\u52AA","applicantAttorneyClass":"2"},{"applicantAttorneyCd":"100180806","repeatNumber":"7","name":"\u4E09\u6D66\u3000\u525B","applicantAttorneyClass":"2"}],"filingDate":"20200122","publicationNumber":"503022359","ADPublicationNumber":"2021022359","nationalPublicationNumber":"","ADNationalPublicationNumber":"","publicationDate":"20210218","registrationNumber":"6691280","registrationDate":"20200414","erasureIdentifier":"00","expireDate":"20400122","disappearanceDate":"","priorityRightInformation":[{"parisPriorityApplicationNumber":"","parisPriorityDate":"","parisPriorityCountryCd":"","nationalPriorityLawCd":"1","nationalPriorityApplicationNumber":"2019139759","nationalPriorityInternationalApplicationNumber":"","nationalPriorityDate":"20190730"}],"parentApplicationInformation":{},"divisionalApplicationInformation":[],"bibliographyInformation":[{"numberType":"01","number":"2020008423","documentList":[{"legalDate":"20200122","irirFlg":"0","availabilityFlag":"1","documentCode":"A621","documentDescription":"\u51FA\u9858\u5BE9\u67FB\u8ACB\u6C42\u66F8","documentNumber":"52000131988","versionNumber":"0001","documentSeparator":"S","numberOfPages":"0","sizeOfDocument":"1116"},{"legalDate":"20200122","irirFlg":"0","availabilityFlag":"1","documentCode":"A63","documentDescription":"\u8ACB\u6C42\u306E\u7BC4\u56F2","documentNumber":"52000131764","versionNumber":"0001","documentSeparator":"L","numberOfPages":"0","sizeOfDocument":"3065"},{"legalDate":"20200122","irirFlg":"0","availabilityFlag":"1","documentCode":"A63","documentDescription":"\u8981\u7D04\u66F8","documentNumber":"52000131764","versionNumber":"0001","documentSeparator":"Y","numberOfPages":"0","sizeOfDocument":"1281"},{"legalDate":"20200122","irirFlg":"0","availabilityFlag":"1","documentCode":"A63","documentDescription":"\u660E\u7D30\u66F8","documentNumber":"52000131764","versionNumber":"0001","documentSeparator":"M","numberOfPages":"0","sizeOfDocument":"34836"},{"legalDate":"20200122","irirFlg":"0","availabilityFlag":"1","documentCode":"A63","documentDescription":"\u56F3\u9762","documentNumber":"52000131764","versionNumber":"0001","documentSeparator":"Z","numberOfPages":"0","sizeOfDocument":"553114"},{"legalDate":"20200122","irirFlg":"0","availabilityFlag":"1","documentCode":"A63","documentDescription":"\u7279\u8A31\u9858","documentNumber":"52000131764","versionNumber":"0001","documentSeparator":"S","numberOfPages":"0","sizeOfDocument":"1451"},{"legalDate":"20200122","irirFlg":"0","availabilityFlag":"0","documentCode":"A871","documentDescription":"\u65E9\u671F\u5BE9\u67FB\u306B\u95A2\u3059\u308B\u4E8B\u60C5\u8AAC\u660E\u66F8","documentNumber":"52000131990","versionNumber":"0000","documentSeparator":" ","numberOfPages":"0","sizeOfDocument":"0"},{"legalDate":"20200206","irirFlg":"0","availabilityFlag":"1","documentCode":"A523","documentDescription":"\u6DFB\u4ED8\u66F8\u985E","documentNumber":"12000230003","versionNumber":"0001","documentSeparator":"T","numberOfPages":"0","sizeOfDocument":"34488"},{"legalDate":"20200206","irirFlg":"0","availabilityFlag":"1","documentCode":"A523","documentDescription":"\u624B\u7D9A\u88DC\u6B63\u66F8","documentNumber":"12000230003","versionNumber":"0001","documentSeparator":"S","numberOfPages":"0","sizeOfDocument":"1193"},{"legalDate":"20200302","irirFlg":"0","availabilityFlag":"0","documentCode":"A971005","documentDescription":"\u65E9\u671F\u5BE9\u67FB\u306B\u95A2\u3059\u308B\u5831\u544A\u66F8","documentNumber":"96520054329","versionNumber":"0000","documentSeparator":" ","numberOfPages":"0","sizeOfDocument":"0"},{"legalDate":"20200310","irirFlg":"0","availabilityFlag":"1","documentCode":"A01","documentDescription":"\u7279\u8A31\u67FB\u5B9A","documentNumber":"06120092529","versionNumber":"0001","documentSeparator":"K","numberOfPages":"0","sizeOfDocument":"1512"},{"legalDate":"20200402","irirFlg":"0","availabilityFlag":"0","documentCode":"A843","documentDescription":"\u512A\u5148\u6A29\u8A3C\u660E\u8ACB\u6C42\uFF08\u96FB\u5B50\u30C7\u30FC\u30BF\u4EA4\u63DB\u5354\u5B9A\uFF09","documentNumber":"BBBBBBBBBBB","versionNumber":"0000","documentSeparator":" ","numberOfPages":"0","sizeOfDocument":"0"},{"legalDate":"20200403","irirFlg":"0","availabilityFlag":"0","documentCode":"A845","documentDescription":"\u512A\u5148\u6A29\u8A3C\u660E\u5FDC\u7B54\uFF08\u96FB\u5B50\u30C7\u30FC\u30BF\u4EA4\u63DB\u5354\u5B9A\uFF09","documentNumber":"BBBBBBBBBBB","versionNumber":"0000","documentSeparator":" ","numberOfPages":"0","sizeOfDocument":"0"},{"legalDate":"20200408","irirFlg":"0","availabilityFlag":"1","documentCode":"A972001","documentDescription":"\u8981\u7D04\u4E0D\u5099\u8077\u6A29\u8A02\u6B63","documentNumber":"96620018712","versionNumber":"0001","documentSeparator":"C","numberOfPages":"0","sizeOfDocument":"1398"},{"legalDate":"20200813","irirFlg":"0","availabilityFlag":"0","documentCode":"A861","documentDescription":"\u30D5\u30A1\u30A4\u30EB\u8A18\u9332\u4E8B\u9805\u306E\u95B2\u89A7\uFF08\u7E26\u89A7\uFF09\u8ACB\u6C42\u66F8","documentNumber":"00520005569","versionNumber":"0000","documentSeparator":" ","numberOfPages":"0","sizeOfDocument":"0"}]},{"numberType":"02","number":"503022359","documentList":[]},{"numberType":"06","number":"6691280","documentList":[{"legalDate":"20200310","irirFlg":"0","availabilityFlag":"0","documentCode":"A01","documentDescription":"\u7279\u8A31\u67FB\u5B9A","documentNumber":"99999999999","versionNumber":"0000","documentSeparator":" ","numberOfPages":"0","sizeOfDocument":"0"},{"legalDate":"20200428","irirFlg":"0","availabilityFlag":"0","documentCode":"R150","documentDescription":"\u7279\u8A31\u8A3C","documentNumber":"99999999999","versionNumber":"0000","documentSeparator":" ","numberOfPages":"0","sizeOfDocument":"0"}]},{"numberType":"07","number":"2020700850","documentList":[{"legalDate":"20201029","irirFlg":"0","availabilityFlag":"0","documentCode":"C561","documentDescription":"\u7570\u8B70\u7533\u7ACB\u66F8","documentNumber":"02020005340","versionNumber":"0000","documentSeparator":" ","numberOfPages":"0","sizeOfDocument":"0"},{"legalDate":"20201112","irirFlg":"0","availabilityFlag":"0","documentCode":"C201","documentDescription":"\u7570\u8B70\u756A\u53F7\u901A\u77E5","documentNumber":"07120091248","versionNumber":"0000","documentSeparator":" ","numberOfPages":"0","sizeOfDocument":"0"},{"legalDate":"20201112","irirFlg":"0","availabilityFlag":"0","documentCode":"C201","documentDescription":"\u7570\u8B70\u756A\u53F7\u901A\u77E5","documentNumber":"07120091247","versionNumber":"0000","documentSeparator":" ","numberOfPages":"0","sizeOfDocument":"0"},{"legalDate":"20201112","irirFlg":"0","availabilityFlag":"0","documentCode":"C201","documentDescription":"\u7570\u8B70\u756A\u53F7\u901A\u77E5","documentNumber":"07120091246","versionNumber":"0000","documentSeparator":" ","numberOfPages":"0","sizeOfDocument":"0"},{"legalDate":"20201113","irirFlg":"0","availabilityFlag":"0","documentCode":"C95","documentDescription":"\u4E88\u544A\u767B\u9332\u901A\u77E5","documentNumber":"97120052549","versionNumber":"0000","documentSeparator":" ","numberOfPages":"0","sizeOfDocument":"0"},{"legalDate":"20201119","irirFlg":"0","availabilityFlag":"0","documentCode":"C22","documentDescription":"\u5BE9\u5224\u5B98\u6307\u5B9A\uFF08\u5909\u66F4\uFF09\u901A\u77E5","documentNumber":"07120092827","versionNumber":"0000","documentSeparator":" ","numberOfPages":"0","sizeOfDocument":"0"},{"legalDate":"20201119","irirFlg":"0","availabilityFlag":"0","documentCode":"C22","documentDescription":"\u5BE9\u5224\u5B98\u6307\u5B9A\uFF08\u5909\u66F4\uFF09\u901A\u77E5","documentNumber":"07120092828","versionNumber":"0000","documentSeparator":" ","numberOfPages":"0","sizeOfDocument":"0"},{"legalDate":"20201207","irirFlg":"0","availabilityFlag":"1","documentCode":"C16","documentDescription":"\u7570\u8B70\u306E\u6C7A\u5B9A","documentNumber":"07120095888","versionNumber":"0001","documentSeparator":"S","numberOfPages":"0","sizeOfDocument":"1316"},{"legalDate":"20201211","irirFlg":"0","availabilityFlag":"0","documentCode":"C3012","documentDescription":"\u90F5\u4FBF\u9001\u9054\u5831\u544A\u66F8","documentNumber":"97120057317","versionNumber":"0000","documentSeparator":" ","numberOfPages":"0","sizeOfDocument":"0"},{"legalDate":"20210119","irirFlg":"0","availabilityFlag":"0","documentCode":"C28","documentDescription":"\u518D\u9001","documentNumber":"97121002236","versionNumber":"0000","documentSeparator":" ","numberOfPages":"0","sizeOfDocument":"0"},{"legalDate":"20210119","irirFlg":"0","availabilityFlag":"1","documentCode":"C16","documentDescription":"\u7570\u8B70\u306E\u6C7A\u5B9A","documentNumber":"07120095889","versionNumber":"0001","documentSeparator":"S","numberOfPages":"0","sizeOfDocument":"1316"},{"legalDate":"20210202","irirFlg":"0","availabilityFlag":"0","documentCode":"C3012","documentDescription":"\u90F5\u4FBF\u9001\u9054\u5831\u544A\u66F8","documentNumber":"97121004846","versionNumber":"0000","documentSeparator":" ","numberOfPages":"0","sizeOfDocument":"0"},{"legalDate":"20210203","irirFlg":"0","availabilityFlag":"0","documentCode":"C96","documentDescription":"\u78BA\u5B9A\u767B\u9332\u901A\u77E5","documentNumber":"97121004933","versionNumber":"0000","documentSeparator":" ","numberOfPages":"0","sizeOfDocument":"0"}]},{"numberType":"08","number":"5 0310035","documentList":[]}]}

ゴロリ「わあ、取れた!」

ワクワクさん「これは、特許庁サーバから取得した特許経過情報JSONのうち、dataノード以下が入ってるんだよ。」

ゴロリ「Excelのワークシート関数っていうことは、このワークシートを開くたびに特許情報取得APIを呼び出すってこと?」

ワクワクさん「いちと取得したJsonデータはキャッシュとして、Excelファイルと同じ名前のフォルダのなかに入れてあるよ。キャッシュは日を跨ぐまで有効だから、特許情報取得APIの呼び出し回数は、1件あたり1回だよ。」

ゴロリ「この(JSONのdata)のテキストの中から、例えば発明の名称を取得したいときにはどうするの」

ワクワクさん「特許情報取得ワークシート関数に組み込んであるFILTERJSON関数を使うんだよ。ほら。第1引数にJSONのdataテキスト、第2引数にJsonPathを設定するんだよ。ここではJsonPath に//inventionTitleを指定しているよ。」

FILTERJSON関数
=FILTERJSON((jsondata),"//inventionTitle")

ワクワクさん「これで改行、っと。」

FILTERJSON関数の結果
管理システム及び管理方法

ゴロリ「特願2020-008423の発明の名称がちゃんと取れてるね。」

ワクワクさん「他にもこういう書誌事項も取れるよ。」

jsonPath 項目名 備考
//applicationNumber 出願番号 西暦4桁+年間通番6桁
//inventionTitle 発明名称
//filingDate 出願日 年4桁+月2桁+日2桁
//publicationNumber 公開番号 元号コード+年度2桁+年間通番6桁
//ADPublicationNumber 公開番号(西暦変換) 西暦4桁+年間通番6桁
//nationalPublicationNumber 公表番号 元号コード+年度2桁+年間通番6桁
//ADnationalPublicationNumber 公表番号(西暦変換) 西暦4桁+年間通番6桁
//publicationDate 公開日 年4桁+月2桁+日2桁
//registrationNumber 登録番号 一連番号
//registrationDate 登録日 年4桁+月2桁+日2桁
//erasureIdentifier 抹消識別
//expireDate 存続期間満了年月日 年4桁+月2桁+日2桁
//disappearanceDate 本権利消滅日 年4桁+月2桁+日2桁

抹消識別

ゴロリ「ワクワクさん、このerasureIdentifierって何なの。」

ワクワクさん「erasureIdentifierは抹消識別、本願がどんな理由で抹消されたかを示すものなんだよ。本願は00だから、抹消されていないことを示しているね。」

erasureIdentifier 意味
00 抹消されていない
01 年金不納による消滅
02 存続期間満了による消滅
03 放棄による消滅
04 無効審判の確定による消滅
05 取消審判確定による消滅
06 更新無効審判の確定による消滅
07 猶予の特許・登録料不納による消滅
08 分割済み
12 その他
13 欠号
14 出願却下
15 付与後異議による抹消

FILTERJSON vs. FILTERXML

ゴロリ「このFILTERJSON関数って、なんだか 組み込みワークシート関数のFILTERXML関数と似てるね。ワクワクさん。」

ワクワクさん「そうそう、FILTERXML関数はXMLをXmlPath でフィルタリングするものだけど、このFILTERJSON関数は、JSONとJsonPathでフィルタリングするんだよ。ただ違いがあって、FILTERXML関数はリーフノードしか返せないけど、FILTERJSON関数は非リーフノードでも、そのノードをシリアライズしたJSONが取れるよ。」

ゴロリ「非リーフノードを取得して、何につかうのかなぁ。」

ワクワクさん「FILTERJSON関数は、JsonPathが深くなると処理に時間が掛かるから、深いJsonPath を段階的に取得すると高速化できるよ。」

申請人・代理人情報

ワクワクさん「試しに、FILTERJSON関数のJsonPath に//applicantAttorney[1]を指定してみよう。申請人や代理人の情報が取れるんだよ。」

FILTERJSON関数
=FILTERJSON((jsondata),"//applicantAttorney[1]")
jsonのbibliographyInformation[1]
{
    "applicantAttorneyCd": "718000266",
    "repeatNumber": "1",
    "name": "特許庁長官",
    "applicantAttorneyClass": "1"
}

ワクワクさん「そして,この、jsonのbibliographyInformation[1]をFILTERJSON関数の第1引数に設定して、第2引数のJsonPath に"//applicantAttorneyCd"を指定してみよう。これで申請人または代理人の申請人コードが取れるんだよ。」

ゴロリ「へえ、特許庁長官が申請人だなんて珍しいね。applicantAttorneyCdって識別番号かなあ。」

ワクワクさん「識別番号は、1文字の申請人区分と、2文字の登録年等と、6文字のシーケンス番号と、1文字のチェックディジットとからなるんだよ。」

申請人区分 意味
0 初期登録出願人
1 代理人(弁理士・特許業務法人)
2 代理人(弁理士以外)
3、4 申請人付与請求書登録者
5、6、7 職権等登録者
8 TLO(技術移転機関)
9 即日出願人として使用
登録年等 意味
00 初期登録出願人・代理人(弁理士)
10 代理人(初期登録企業代理人・特許業務法人)職権登録者含む。
20 代理人(指定代理人)
30 代理人(弁護士)
西暦年下2桁 申請人付与請求書登録者・職権登録者
シーケンス番号 意味
初期登録出願人 初期登録出願人
弁理士登録番号 代理人(弁理士)
00001~99999 5桁の一連番号
1XXXXX 初期登録企業代理人

ゴロリ「repeatNumberって何なの。」

ワクワクさん「申請人・代理人の追番だよね」

ゴロリ「ふうん、applicantAttorneyClassって何なの。」

ワクワクさん「それはね、申請人か代理人かを示すクラスだよ。ここでは特許庁長官は申請人として加わっているから"1"だね。代理人を示すクラスならば "2" だよ。」

経過情報

ワクワクさん「ゴロリ、次は出願の経過情報を取ってみよう。FILTERJSON関数を使って、第2引数として”//bibliographyInformation[1]”を指定すると取れるよ。」

jsonのbibliographyInformation[1]
{
    "numberType": "01",
    "number": "2020008423",
    "documentList": [
        {
            "legalDate": "20200122",
            "irirFlg": "0",
            "availabilityFlag": "1",
            "documentCode": "A621",
            "documentDescription": "出願審査請求書",
            "documentNumber": "52000131988",
            "versionNumber": "0001",
            "documentSeparator": "S",
            "numberOfPages": "0",
            "sizeOfDocument": "1116"
        },
        {
            "legalDate": "20200122",
            "irirFlg": "0",
            "availabilityFlag": "1",
            "documentCode": "A63",
            "documentDescription": "請求の範囲",
            "documentNumber": "52000131764",
            "versionNumber": "0001",
            "documentSeparator": "L",
            "numberOfPages": "0",
            "sizeOfDocument": "3065"
        },
        {
            "legalDate": "20200122",
            "irirFlg": "0",
            "availabilityFlag": "1",
            "documentCode": "A63",
            "documentDescription": "要約書",
            "documentNumber": "52000131764",
            "versionNumber": "0001",
            "documentSeparator": "Y",
            "numberOfPages": "0",
            "sizeOfDocument": "1281"
        },
        {
            "legalDate": "20200122",
            "irirFlg": "0",
            "availabilityFlag": "1",
            "documentCode": "A63",
            "documentDescription": "明細書",
            "documentNumber": "52000131764",
            "versionNumber": "0001",
            "documentSeparator": "M",
            "numberOfPages": "0",
            "sizeOfDocument": "34836"
        },
        {
            "legalDate": "20200122",
            "irirFlg": "0",
            "availabilityFlag": "1",
            "documentCode": "A63",
            "documentDescription": "図面",
            "documentNumber": "52000131764",
            "versionNumber": "0001",
            "documentSeparator": "Z",
            "numberOfPages": "0",
            "sizeOfDocument": "553114"
        },
        {
            "legalDate": "20200122",
            "irirFlg": "0",
            "availabilityFlag": "1",
            "documentCode": "A63",
            "documentDescription": "特許願",
            "documentNumber": "52000131764",
            "versionNumber": "0001",
            "documentSeparator": "S",
            "numberOfPages": "0",
            "sizeOfDocument": "1451"
        },
        {
            "legalDate": "20200122",
            "irirFlg": "0",
            "availabilityFlag": "0",
            "documentCode": "A871",
            "documentDescription": "早期審査に関する事情説明書",
            "documentNumber": "52000131990",
            "versionNumber": "0000",
            "documentSeparator": " ",
            "numberOfPages": "0",
            "sizeOfDocument": "0"
        },
        {
            "legalDate": "20200206",
            "irirFlg": "0",
            "availabilityFlag": "1",
            "documentCode": "A523",
            "documentDescription": "添付書類",
            "documentNumber": "12000230003",
            "versionNumber": "0001",
            "documentSeparator": "T",
            "numberOfPages": "0",
            "sizeOfDocument": "34488"
        },
        {
            "legalDate": "20200206",
            "irirFlg": "0",
            "availabilityFlag": "1",
            "documentCode": "A523",
            "documentDescription": "手続補正書",
            "documentNumber": "12000230003",
            "versionNumber": "0001",
            "documentSeparator": "S",
            "numberOfPages": "0",
            "sizeOfDocument": "1193"
        },
        {
            "legalDate": "20200302",
            "irirFlg": "0",
            "availabilityFlag": "0",
            "documentCode": "A971005",
            "documentDescription": "早期審査に関する報告書",
            "documentNumber": "96520054329",
            "versionNumber": "0000",
            "documentSeparator": " ",
            "numberOfPages": "0",
            "sizeOfDocument": "0"
        },
        {
            "legalDate": "20200310",
            "irirFlg": "0",
            "availabilityFlag": "1",
            "documentCode": "A01",
            "documentDescription": "特許査定",
            "documentNumber": "06120092529",
            "versionNumber": "0001",
            "documentSeparator": "K",
            "numberOfPages": "0",
            "sizeOfDocument": "1512"
        },
        {
            "legalDate": "20200402",
            "irirFlg": "0",
            "availabilityFlag": "0",
            "documentCode": "A843",
            "documentDescription": "優先権証明請求(電子データ交換協定)",
            "documentNumber": "BBBBBBBBBBB",
            "versionNumber": "0000",
            "documentSeparator": " ",
            "numberOfPages": "0",
            "sizeOfDocument": "0"
        },
        {
            "legalDate": "20200403",
            "irirFlg": "0",
            "availabilityFlag": "0",
            "documentCode": "A845",
            "documentDescription": "優先権証明応答(電子データ交換協定)",
            "documentNumber": "BBBBBBBBBBB",
            "versionNumber": "0000",
            "documentSeparator": " ",
            "numberOfPages": "0",
            "sizeOfDocument": "0"
        },
        {
            "legalDate": "20200408",
            "irirFlg": "0",
            "availabilityFlag": "1",
            "documentCode": "A972001",
            "documentDescription": "要約不備職権訂正",
            "documentNumber": "96620018712",
            "versionNumber": "0001",
            "documentSeparator": "C",
            "numberOfPages": "0",
            "sizeOfDocument": "1398"
        },
        {
            "legalDate": "20200813",
            "irirFlg": "0",
            "availabilityFlag": "0",
            "documentCode": "A861",
            "documentDescription": "ファイル記録事項の閲覧(縦覧)請求書",
            "documentNumber": "00520005569",
            "versionNumber": "0000",
            "documentSeparator": " ",
            "numberOfPages": "0",
            "sizeOfDocument": "0"
        }
    ]
}

ワクワクさん「これの冒頭に出てくる//bibliographyInformation[n]/numberTypeの意味と //bibliographyInformation[n]/number の型は以下だよ。//bibliographyInformation[0]の経過情報は殆どが出願番号に係る経過だけどね。」

numberTypeの値 意味 numberの型
01 出願番号 西暦4桁+年間通番6桁
02 公開番号 元号コード+年度2桁+年間通番6桁
03 公表番号 元号コード+年度2桁+年間通番6桁
04 再公表番号 元号コード+年度2桁+年間通番6桁
05 公告番号
06 登録番号 一連番号
07 審判番号
08 出訴事件番号
09 優先権主張国・番号
10 国際出願番号 国コード2桁+西暦4桁+年間通番
11 国際公開番号 ”WO”+西暦4桁+年間通番
12 国際登録番号
90 庁内整理番号

ワクワクさん「そして、公開番号、公表番号、再公表番号の一桁目の元号コードの意味は以下だよ。」

元号コード 意味
1 明治
2 大正
3 昭和
4 平成
5 令和

ワクワクさん「なお、国際出願番号の国コード2桁は、https://www.jpo.go.jp/system/laws/sesaku/data/keikajoho/document/keikajoho-20190910/4-01.pdf
の40ページから45ページまでに書いてあるよ。」

ゴロリ「特願2020-008423 のbibliographyInformation[*]/numberTypeには、01,02,06,07 があるから、ええと、出願番号、公開番号、登録番号、審判番号に関する経過情報があるってことだね。」

ワクワクさん「そうだよ、ゴロリ」

ゴロリ「出願番号、登録番号、審判番号に関する documentList は有るけど、公開番号に関するdocumentList は無いね。」

ワクワクさん「そうだね。今のところ公開番号に documentList が付いているものはないね。」

ワクワクさん「今度は出願番号に関する経過情報を読んでみよう。FILTERJSON関数の第1引数にjsonDataとしてbibliographyInformation[1]のテキストを設定して、第2引数にJsonPathとして”//documentList[1]”を指定すると、出願に係る1番目のdocument が取得できるよ。」

FILTERJSON関数
=FILTERJSON((jsonbibliographyInformation[1]),"documentList[1]")
出願に係る1番目のdocument
{
    "legalDate": "20200122",
    "irirFlg": "0",
    "availabilityFlag": "1",
    "documentCode": "A621",
    "documentDescription": "出願審査請求書",
    "documentNumber": "52000131988",
    "versionNumber": "0001",
    "documentSeparator": "S",
    "numberOfPages": "0",
    "sizeOfDocument": "1116"
}

ワクワクさん「そして、第1引数にjsonの出願に係る1番目のdocument を設定して、第2引数に //legalDate, //irirFlg, //documentDescription などを指定すると、出願に係る1番目の経過情報の各種情報が取得できるよ。」

ゴロリ「わあ、document の詳細が表示されたね。ねえねえワクワクさん、FILTERJSON関数をつかって、(Jsonのdata)から直接に各種情報を取得できるかなあ。例えば、"//bibliographyInformation[1]/documentList[1]/documentDescription" みたいに」

ワクワクさん「出来るよゴロリ。以下のようにすれば出願の経過情報の最初の書類に係る書類名が取れるよ。でも、ちょっとだけ時間が余分に掛かるけどね。」

FILTERJSON関数
=FILTERJSON((jsondata), "//bibliographyInformation[1]/documentList[1]/documentDescription")

ゴロリ「うん、//bibliographyInformation[]/documentList[]のlegalDateは受付日・発送日・作成日のことで、documentDescriptionは書類名のことかな。・・・、documentCodeとdocumentSeparatorって何なの?」

ワクワクさん「documentCode は中間書類コードのことだよ。documentCodeの値とその意味の主なものは以下だよ。documentCodeの値はとっても沢山あるから、詳しくは特許情報標準データを見た方がいいね。」

documentCode の値 意味
A621 出願審査請求書
A63 請求の範囲
A63 要約書
A63 明細書
A63 図面
A63 特許願
A871 早期審査に関する事情説明書
A523 添付書類
A131 拒絶理由通知書
A523 手続補正書
A53 意見書
A523 手続補正書
A971005 早期審査に関する報告書
A01 特許査定
A61 登録料納付
A843 優先権証明請求(電子データ交換協定)
A845 優先権証明応答(電子データ交換協定)
A972001 要約不備職権訂正
A861 ファイル記録事項の閲覧(縦覧)請求書

ゴロリ「わあ、documentCodeの種類は何十、何百個もあるね。」

ワクワクさん「そして、documentSeparatorは書類識別のことだよ。documentSeparatorの意味は以下だよ。」

documentSeparatorの値 意味
S 書誌
L 請求の範囲
M 明細書
H 配列表
Z 図面
Y 要約書
T 添付書類
G 原データ
K 起案書
C 庁内書類
N 非構造化書類

優先基礎出願情報

ゴロリ「ワクワクさん、本願って国内優先権の基礎有りなんだよね。」

ワクワクさん「よく気付いたねゴロリ、優先基礎出願情報は、FILTERJSON関数の第1引数にjsonのdataテキストを設定して、"//priorityRightInformation[n]"を第2引数に設定すると取れるよ。」

FILTERJSON関数
=FILTERJSON((jsondata), "//priorityRightInformation[1]")
優先基礎出願情報の1番目
{
    "parisPriorityApplicationNumber": "",
    "parisPriorityDate": "",
    "parisPriorityCountryCd": "",
    "nationalPriorityLawCd": "1",
    "nationalPriorityApplicationNumber": "2019139759",
    "nationalPriorityInternationalApplicationNumber": "",
    "nationalPriorityDate": "20190730"
}

ゴロリ「paris*がパリ優先権の情報、national*が国内優先権の情報だね。」

分割出願情報

ゴロリ「すると、分割出願の情報も取れるのかなあ。本願は分割出願じゃないから分割出願情報はないみたいだけど。」

ワクワクさん「分割出願の情報も取れるよ。例えば特願2020-008444のJson情報を取ってごらん。」

特願2020-008444のJson情報
{"applicationNumber":"2020008444","inventionTitle":"\u30DD\u30EA\u30AB\u30FC\u30DC\u30CD\u30FC\u30C8\u6A39\u8102\u304A\u3088\u3073\u5149\u5B66\u30D5\u30A3\u30EB\u30E0","applicantAttorney":[{"applicantAttorneyCd":"000003001","repeatNumber":"1","name":"\u5E1D\u4EBA\u682A\u5F0F\u4F1A\u793E","applicantAttorneyClass":"1"},{"applicantAttorneyCd":"100169085","repeatNumber":"2","name":"\u70BA\u5C71\u3000\u592A\u90CE","applicantAttorneyClass":"2"}],"filingDate":"20200122","publicationNumber":"502090677","ADPublicationNumber":"2020090677","nationalPublicationNumber":"","ADNationalPublicationNumber":"","publicationDate":"20200611","registrationNumber":"","registrationDate":"","erasureIdentifier":"","expireDate":"","disappearanceDate":"","priorityRightInformation":[],"parentApplicationInformation":{"parentApplicationNumber":"2019011321","filingDate":"20190125"},"divisionalApplicationInformation":[{"applicationNumber":"2015084235","publicationNumber":"428204430","ADPublicationNumber":"2016204430","nationalPublicationNumber":"","ADNationalPublicationNumber":"","registrationNumber":"6640465","erasureIdentifier":"00","expireDate":"20350416","disappearanceDate":"","divisionalGeneration":"0"},{"applicationNumber":"2019011321","publicationNumber":"501077883","ADPublicationNumber":"2019077883","nationalPublicationNumber":"","ADNationalPublicationNumber":"","registrationNumber":"6799623","erasureIdentifier":"00","expireDate":"20350416","disappearanceDate":"","divisionalGeneration":"1"},{"applicationNumber":"2020008444","publicationNumber":"502090677","ADPublicationNumber":"2020090677","nationalPublicationNumber":"","ADNationalPublicationNumber":"","registrationNumber":"","erasureIdentifier":"","expireDate":"","disappearanceDate":"","divisionalGeneration":"2"}],"bibliographyInformation":[{"numberType":"01","number":"2020008444","documentList":[{"legalDate":"20200122","irirFlg":"0","availabilityFlag":"1","documentCode":"A63","documentDescription":"\u8ACB\u6C42\u306E\u7BC4\u56F2","documentNumber":"52000131935","versionNumber":"0001","documentSeparator":"L","numberOfPages":"0","sizeOfDocument":"1627"},{"legalDate":"20200122","irirFlg":"0","availabilityFlag":"1","documentCode":"A63","documentDescription":"\u660E\u7D30\u66F8","documentNumber":"52000131935","versionNumber":"0001","documentSeparator":"M","numberOfPages":"0","sizeOfDocument":"44763"},{"legalDate":"20200122","irirFlg":"0","availabilityFlag":"1","documentCode":"A63","documentDescription":"\u8981\u7D04\u66F8","documentNumber":"52000131935","versionNumber":"0001","documentSeparator":"Y","numberOfPages":"0","sizeOfDocument":"1272"},{"legalDate":"20200122","irirFlg":"0","availabilityFlag":"1","documentCode":"A63","documentDescription":"\u56F3\u9762","documentNumber":"52000131935","versionNumber":"0001","documentSeparator":"Z","numberOfPages":"0","sizeOfDocument":"4193"},{"legalDate":"20200122","irirFlg":"0","availabilityFlag":"1","documentCode":"A63","documentDescription":"\u7279\u8A31\u9858","documentNumber":"52000131935","versionNumber":"0001","documentSeparator":"S","numberOfPages":"0","sizeOfDocument":"1388"},{"legalDate":"20200127","irirFlg":"0","availabilityFlag":"1","documentCode":"A781","documentDescription":"\u4E0A\u7533\u66F8","documentNumber":"52000159984","versionNumber":"0001","documentSeparator":"S","numberOfPages":"0","sizeOfDocument":"2516"},{"legalDate":"20200127","irirFlg":"0","availabilityFlag":"1","documentCode":"A621","documentDescription":"\u51FA\u9858\u5BE9\u67FB\u8ACB\u6C42\u66F8","documentNumber":"52000159986","versionNumber":"0001","documentSeparator":"S","numberOfPages":"0","sizeOfDocument":"1106"},{"legalDate":"20201021","irirFlg":"0","availabilityFlag":"1","documentCode":"A971007","documentDescription":"\u691C\u7D22\u5831\u544A\u66F8","documentNumber":"96520257622","versionNumber":"0001","documentSeparator":"C","numberOfPages":"0","sizeOfDocument":"3824"},{"legalDate":"20201110","irirFlg":"0","availabilityFlag":"1","documentCode":"A131","documentDescription":"\u62D2\u7D76\u7406\u7531\u901A\u77E5\u66F8","documentNumber":"06120464440","versionNumber":"0001","documentSeparator":"K","numberOfPages":"0","sizeOfDocument":"2659"},{"legalDate":"20201208","irirFlg":"0","availabilityFlag":"1","documentCode":"A523","documentDescription":"\u624B\u7D9A\u88DC\u6B63\u66F8","documentNumber":"52002519346","versionNumber":"0001","documentSeparator":"S","numberOfPages":"0","sizeOfDocument":"29321"},{"legalDate":"20201208","irirFlg":"0","availabilityFlag":"1","documentCode":"A53","documentDescription":"\u610F\u898B\u66F8","documentNumber":"52002519349","versionNumber":"0001","documentSeparator":"S","numberOfPages":"0","sizeOfDocument":"17020"},{"legalDate":"20210406","irirFlg":"0","availabilityFlag":"1","documentCode":"A131","documentDescription":"\u62D2\u7D76\u7406\u7531\u901A\u77E5\u66F8","documentNumber":"06121137412","versionNumber":"0001","documentSeparator":"K","numberOfPages":"0","sizeOfDocument":"3183"},{"legalDate":"20211109","irirFlg":"0","availabilityFlag":"1","documentCode":"A02","documentDescription":"\u62D2\u7D76\u67FB\u5B9A","documentNumber":"06121777565","versionNumber":"0001","documentSeparator":"K","numberOfPages":"0","sizeOfDocument":"1439"}]},{"numberType":"02","number":"502090677","documentList":[]}]}

ワクワクさん「そして、FILTERJSON関数で、"//divisionalApplicationInformation"を指定すると、分割出願情報が取れるよ。」

特願2020-008444の//divisionalApplicationInformation
[
    {
        "applicationNumber": "2015084235",
        "publicationNumber": "428204430",
        "ADPublicationNumber": "2016204430",
        "nationalPublicationNumber": "",
        "ADNationalPublicationNumber": "",
        "registrationNumber": "6640465",
        "erasureIdentifier": "00",
        "expireDate": "20350416",
        "disappearanceDate": "",
        "divisionalGeneration": "0"
    },
    {
        "applicationNumber": "2019011321",
        "publicationNumber": "501077883",
        "ADPublicationNumber": "2019077883",
        "nationalPublicationNumber": "",
        "ADNationalPublicationNumber": "",
        "registrationNumber": "6799623",
        "erasureIdentifier": "00",
        "expireDate": "20350416",
        "disappearanceDate": "",
        "divisionalGeneration": "1"
    },
    {
        "applicationNumber": "2020008444",
        "publicationNumber": "502090677",
        "ADPublicationNumber": "2020090677",
        "nationalPublicationNumber": "",
        "ADNationalPublicationNumber": "",
        "registrationNumber": "",
        "erasureIdentifier": "",
        "expireDate": "",
        "disappearanceDate": "",
        "divisionalGeneration": "2"
    }
]

ゴロリ「分割出願の第1世代から第3世代まで順番に書誌情報が入ってるんだね。分割の世代を示すのは divisionalGeneration かなあ。本願は孫出願なんだね。」

Jsonpath と項目名

ワクワクさん「GetAppProgess関数のJsonPath と項目名の全部の組み合わせはこれだよ。」

jsonPath 項目名
//applicationNumber 出願番号
//inventionTitle 発明名称
//applicantAttorney 申請人(出願人・代理人)
//applicantAttorney[n]/applicantAttorneyCd 申請人コード
//applicantAttorney[n]/repeatNumber 繰返番号
//applicantAttorney[n]/name 申請人氏名・名称
//applicantAttorney[n]/applicantAttorneyClass 出願人・代理人識別
//filingDate 出願日
//publicationNumber 公開番号
//ADPublicationNumber 公開番号(西暦変換)
//nationalPublicationNumber 公表番号
//ADnationalPublicationNumber 公表番号(西暦変換)
//publicationDate 公開日
//registrationNumber 登録番号
//registrationDate 登録日
//erasureIdentifier 抹消識別
//expireDate 存続期間満了年月日
//disappearanceDate 本権利消滅日
//priorityRightInformation 優先権基礎情報
//priorityRightInformation[n]/parisPriorityApplicationNumber パリ条約に基づく優先権出願番号
//priorityRightInformation[n]/parisPriorityDate パリ条約に基づく優先権主張日
//priorityRightInformation[n]/parisPriorityCountryCd パリ条約に基づく優先権国コード
//priorityRightInformation[n]/nationalPriorityLawCd 国内優先権四法コード
//priorityRightInformation[n]/nationalPriorityApplicationNumber 国内優先権出願番号
//priorityRightInformation[n]/nationalPriorityInternationalApplicationNumber 国内優先権国際出願番号
//priorityRightInformation[n]/nationalPriorityDate 国内優先権主張日
//parentApplicationInformation 原出願情報
//parentApplicationInformation/parentApplicationNumber 原出願番号
//parentApplicationInformation/filingDate 出願日
//divisionalApplicationInformation 分割出願群情報
//divisionalApplicationInformation[n]/applicationNumber 出願番号
//divisionalApplicationInformation[n]/publicationNumber 公開番号
//divisionalApplicationInformation[n]/ADPublicationNumber 公開番号(西暦変換)
//divisionalApplicationInformation[n]/nationalPublicationNumber 公表番号
//divisionalApplicationInformation[n]/ADNationalPublicationNumber 公表番号(西暦変換)
//divisionalApplicationInformation[n]/registrationNumber 登録番号
//divisionalApplicationInformation[n]/erasureIdentifier 抹消識別
//divisionalApplicationInformation[n]/expireDate 存続期間満了年月日
//divisionalApplicationInformation[n]/disappearanceDate 本権利消滅日
//divisionalApplicationInformation[n]/divisionalGeneration 分割出願の世代
//bibliographyInformation 書類一覧(書誌)
//bibliographyInformation[n]/numberType 番号種別
//bibliographyInformation[n]/number 番号
//bibliographyInformation[n]/documentList 書類一覧
//bibliographyInformation[n]/documentList[n]/legalDate 受付日・発送日・作成日
//bibliographyInformation[n]/documentList[n]/irirFlg IB書類フラグ
//bibliographyInformation[n]/documentList[n]/availabilityFlag 書類実体有無
//bibliographyInformation[n]/documentList[n]/documentCode 中間書類コード
//bibliographyInformation[n]/documentList[n]/documentDescription 書類名
//bibliographyInformation[n]/documentList[n]/documentNumber 書類番号
//bibliographyInformation[n]/documentList[n]/versionNumber バージョン番号
//bibliographyInformation[n]/documentList[n]/documentSeparator 書類識別
//bibliographyInformation[n]/documentList[n]/numberOfPages ページ数
//bibliographyInformation[n]/documentList[n]/sizeOfDocument ドキュメントサイズ

ゴロリ「すごくいっぱいの項目があるね。」

ワクワクさん「このうち、優先基礎出願情報 //priorityRightInformation/* と 現原出願情報//parentApplicationInformation* と、分割出願情報//divisionalApplicationInformation* が省略されているのが、GetAppProgressSimple関数の結果だよ。」

ゴロリ「じゃあ、GetAppProgres関数だけ有ればいいんじゃないかなぁ。」

ワクワクさん「GetAppProgressSimple関数は、取得するデータが少ない分、短時間でデータが取得できるんだ。だから大量のデータを取得するには、GetAppProgressSimple関数の方がいいよ」

ワクワクさん「優先基礎出願情報を取るためのGetPriorityRightAppInfo関数と、分割出願情報を取るためのGetDivisionalAppInfo関数もあるよ。」

ゴロリ「ワクワクさん、これで何を作ろうかなあ」

ワクワクさん「例えば特許監視とか、中間処理の意見書や手続補正書の作成やチェックとかに使えそうだね。」

ゴロリ「他にも特許情報取得ワークシート関数で取得できる情報ってあるのかなあ。」

ワクワクさん「また別の日に説明するよ、ゴロリ。説明していないワークシート関数が、あと8個あるからね。特に、拒絶理由通知書の実体を取得する関数とか面白いよ。」

ゴロリ「わあ、楽しみだなあ。」

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2