ゴロリンコの丘にて
ゴロリ「今日はいい天気だなぁ。こんな日には、久しぶりに特許情報のチェックをするぞ。でも、J-PlatPatにアクセスして出願番号を何十個も入力して照会ボタンをクリックするのは面倒くさいなあ。」
ゴロリ「あれ、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だと経過情報ボタンをクリックすると取れるけど。ほら、こんな画面。」
ワクワクさん「ゴロリ、経過情報を取るのは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((jsonのdata),"//inventionTitle")
ワクワクさん「これで改行、っと。」
管理システム及び管理方法
ゴロリ「特願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((jsonのdata),"//applicantAttorney[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]”を指定すると取れるよ。」
{
"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((jsonのbibliographyInformation[1]),"documentList[1]")
{
"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((jsonのdata), "//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((jsonのdata), "//priorityRightInformation[1]")
{
"parisPriorityApplicationNumber": "",
"parisPriorityDate": "",
"parisPriorityCountryCd": "",
"nationalPriorityLawCd": "1",
"nationalPriorityApplicationNumber": "2019139759",
"nationalPriorityInternationalApplicationNumber": "",
"nationalPriorityDate": "20190730"
}
ゴロリ「parisがパリ優先権の情報、nationalが国内優先権の情報だね。」
分割出願情報
ゴロリ「すると、分割出願の情報も取れるのかなあ。本願は分割出願じゃないから分割出願情報はないみたいだけど。」
ワクワクさん「分割出願の情報も取れるよ。例えば特願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"を指定すると、分割出願情報が取れるよ。」
[
{
"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個あるからね。特に、拒絶理由通知書の実体を取得する関数とか面白いよ。」
ゴロリ「わあ、楽しみだなあ。」