Patent Expiration Rules

From edegan.com
Jump to navigation Jump to search

Based on the fees paid, we can determine the validity of a patent. Each fee is coded and the DaysIncrement variable indicates how many more days a patent is valid for after that fee is paid. The DaysDuration is how many total days the patent has been valid for since it's grant date. DaysDuration is the key variable, for each fee paid, we add DaysIncrement to DaysDuration. The DaysDuration past the grant date is the validity of the patent.

NOTE: This version does not distinguish when to count from filedate or grant date - it only uses grantdate. Prior to XXX (TO BE FILLED IN BY AVESH), patents had statutory terms of 18 yrs from grant. Subsequent to XXX patents have 20 years from application.

ALSO- keep in mind this is in *allpatentsprocessed* DB, not in the *patent* database.

Located in

Z:\LBO\Clean\patentExpirationRules.txt
FeeCode Description DaysIncrement DaysDuration
EXP. Patent Expired for Failure to Pay Maintenance Fees. 0 0
EXPX Patent Reinstated After Maintenance Fee Payment Confirmed. 0 0
M1551 Payment of Maintenance Fee, 4th Year, Large Entity. 1460 2920
M1552 Payment of Maintenance Fee, 8th Year, Large Entity. 1460 4380
M1553 Payment of Maintenance Fee, 12th Year, Large Entity. 2920 7300
M1559 Payment of Maintenance Fee under 1.28(c). 0 0
M170 Payment of Maintenance Fee, 4th Year, PL 96-517. 1460 2920
M171 Payment of Maintenance Fee, 8th Year, PL 96-517. 1460 4380
M172 Payment of Maintenance Fee, 12th Year, PL 96-517. 2920 7300
M173 Payment of Maintenance Fee, 4th Year, PL 97-247. 1460 2920
M174 Payment of Maintenance Fee, 8th Year, PL 97-247. 1460 4380
M175 Payment of Maintenance Fee, 12th Year, PL 97-247 2920 7300
M183 Payment of Maintenance Fee, 4th Year, Large Entity. 1460 2920
M184 Payment of Maintenance Fee, 8th Year, Large Entity. 1460 4380
M185 Payment of Maintenance Fee, 12th Year, Large Entity. 2920 7300
M2551 Payment of Maintenance Fee, 4th Yr, Small Entity. 1460 2920
M2552 Payment of Maintenance Fee, 8th Yr, Small Entity. 1460 4380
M2553 Payment of Maintenance Fee, 12th Yr, Small Entity. 2920 7300
M273 Payment of Maintenance Fee, 4th Yr, Small Entity, PL 97-247. 1460 2920
M274 Payment of Maintenance Fee, 8th Yr, Small Entity, PL 97-247. 1460 4380
M275 Payment of Maintenance Fee,12th Yr, Small Entity, PL 97-247. 2920 7300
M283 Payment of Maintenance Fee, 4th Yr, Small Entity. 1460 2920
M284 Payment of Maintenance Fee, 8th Yr, Small Entity. 1460 4380
M285 Payment of Maintenance Fee, 12th Yr, Small Entity. 2920 7300
M3551 Payment of Maintenance Fee, 4th Year, Micro Entity. 1460 2920
M3552 Payment of Maintenance Fee, 8th Year, Micro Entity. 1460 4380
M3553 Payment of Maintenance Fee, 12th Year, Micro Entity. 2920 7300

Building Start and End Table

Created PatentExpirationRules table using the data shown in the table above. Maintfeeevents is a table with all of the USPTO data on fees paid. The earliest grantdate in this dataset is 1981-09-01 and the latest is 2016-06-28. The earliest feedate is 1980-12-19 and the latest feedate is 5000-01-1 (NO THIS IS NOT A TYPO- someone please fix why we have fees being paid in the year 5000). The second latest feedate is 2016-06-13.

SQL steps are located at

E:\McNair\Projects\LBO\Clean\Building the Patent Start End Table.sql
/*
These are instructions for building the patentstartend table, which identifies for each patent (number) the dates at which it is granted and at which it expired.
It uses a database of all maintenance fee events and a list of the types of maintenance fee events and their effect the length of patent life 
*/

--First, we need to import the table of Maintenance fee events (from copy in Z:\LBO\Clean, originally from Z:\USPTO_Consolidated\Maint_Fee_Events)

CREATE TABLE Maintfeeevents (
  patentNumber  VARCHAR(7) NOT NULL,
  appNumber     VARCHAR(8) NOT NULL,
  smallEntity   VARCHAR(1) NOT NULL,
  appFilingDate DATE       NOT NULL,
  grantDate     DATE       NOT NULL,
  feeDate       DATE       NOT NULL,
  feeCode       VARCHAR(5) NOT NULL
);

\COPY Maintfeeevents FROM 'MaintFeeEvents_20160613.txt' WITH DELIMITER AS E'\t' HEADER NULL AS '' CSV;

--Now import table of fee codes (and the duration of the extensions) from (Z:\LBO\Clean)
--daysDuration represents the number of days from grantdate that patent will remain active due to maintenance fee event
--I.e., 8 years for 4th year extension, 12 years for 8th year extension, 20 years for 12th year extension
--Note that we give the expiration events a value of 0 since these can occur after any such extension (or lack thereof).

CREATE TABLE PatentExpirationRules (
  feeCode       VARCHAR(5)	NOT NULL,
  description   VARCHAR(255)	NOT NULL,
  daysIncrement INTEGER		NOT NULL,
  daysDuration	INTEGER		NOT NULL
);
\COPY PatentExpirationRules FROM 'patentExpirationRules.txt' WITH DELIMITER AS E'\t' HEADER NULL AS  CSV;

--We can approximate the actual expiration date by taking the max of daysDuration and adding that number of days to the original grantdate
SELECT M.patentnumber, MAX(M.grantdate) as grantdate, MAX(GREATEST(M.grantdate + P.daysDuration, M.grantdate + 1460)) as expdate
INTO patentstartend
FROM maintfeeevents as M RIGHT JOIN patentexpirationrules as P ON M.feecode = P.feecode
GROUP BY M.patentnumber
;

/*
There is an alternative way to do this using fee expiration events; however, there are two problems:
1) The USPTO may have accidentally omitted some expiration events
2) Sometimes there are late payments; this leads to reinstatement of the patent. Should be solved by taking last expiration event, but there are potential problems:
2a) See problem 1
2b) Might not have expiration event at conclusion of 20 years (after all three extensions expire)
*/

Updating the Patent Term Calculcations

We need to take into account the change in patent term. See https://en.wikipedia.org/wiki/Term_of_patent_in_the_United_States

  • Patent filed after June 8 1995: term of 20 years from US filing date (based on fees paid)
  • Pending on June 8 1995 or issued after June 7 1978 but not expired before june 8 19985 have the term max(17 years from issue date, 20 years from date of filing)
  • Patents issued before June 7 1978 have term of 17 years from date of issue
  • Maintenance Fees at 3.5, 7.5, and 11.5 years from date of issue. aka 4, 8 , 12


So patent filed after june 8 1995 :add 4 years (1460 days) to issue date to start :add 4 years to issue date after 3.5yr fee :add 4 years to issue date after 7.5 year fee :add difference up to 20 years from filing (application) date after 11.5 year fee

  • Patent issued between june 7 1978 and june 8 1995 will have the term which max(file date + 20 years, issue date + 17 years)
for those patents using 20 years + file (application) date, same as after june 8 1995
for those using 17 years + issue date
add 4 years to issue date to start
add 4 years to issue date after 3.5yr fee
add 4 years to issue date after 7.5yr fee
add 5 years to issue date after 11.5 yr fee
  • Use same method as above for patents issued before June 7 1978


  • For patents filed after May 28,2000
if issue date more than 3 years after file date, then term of patent extended by number of days exceeding 3 years


Use the new fee data for this