Skip to content

Extracting Structured Fields From a Subpoena

9 min read · updated August 11, 2026

Almost every field on a subpoena is printed on the form and reads out cleanly. The one that matters most is not printed at all: the date by which something must happen, which is usually expressed as a period running from a date that appears on a different page.

Testimony, documents, or both

The first classification decides which fields are meaningful. A subpoena commanding attendance to testify has a time, a place and a person. A subpoena commanding production of documents has a set of request categories, a production location and often a permitted alternative of producing copies with a custodian’s certificate. A single form can command both, and the federal form does exactly that by way of tick boxes.

Classify from the commanded action rather than from the document title, and allow both to be true. A schema with one enum value per document forces a choice on a form that made none, and the field most often dropped in that forcing is the production deadline — which is the one somebody is going to be measured against.

The fields that are always there

  • Issuing court, including division, and the case caption with the case or docket number. The caption is a block of centred text with party names separated by “v.” and it reads as prose to a model unless the schema asks for plaintiff and defendant separately.
  • The person or entity commanded, with address. For an organisation this is frequently a records custodian rather than a named individual, which is a distinct field value and not a missing name.
  • Place, date and time of compliance. A place has a geographic significance in federal practice, where Rule 45 sets limits on how far a person can be commanded to travel, so the address is structured data rather than a string.
  • The issuing party and attorney, with contact details and often a bar number. Note which party they act for; a subpoena arriving from the opposing side and one arriving from your own client’s counsel are handled differently.
  • The proof of service. Server name, method, and the date of service. It is a separate page, is completed after the rest of the form is issued, and is very often handwritten.

Turning a period into a date

Take a synthetic example. A subpoena is served on 4 March 2026 and commands production “within 21 days after service”. The arithmetic is straightforward once the service date is in hand:

service date              2026-03-04
stated period             21 days after service
21 days from 4 March      4 + 21 = 25 March          → 2026-03-25

Federal Rule 45(d)(2)(B) objection window, as published by the
US Courts, runs to the EARLIER of:
  (a) the time specified for compliance                → 2026-03-25
  (b) 14 days after the subpoena is served
      4 + 14 = 18 March                                → 2026-03-18
  earlier of (a) and (b)                               → 2026-03-18

Two candidate dates, and the earlier one governs. That is the shape of the derivation, and it is worth doing in the pipeline because it turns a document into a queue entry. The published text of Rule 45 is at the Legal Information Institute’s copy of the Federal Rules of Civil Procedure; read it rather than trusting the paraphrase above, and note that state courts have their own rules with different periods.

What the pipeline must not do is present a computed date as the answer. Emit candidates with the input that produced each, name the rule you applied, and flag the ambiguities that arithmetic cannot settle: whether the period counts calendar days or business days, whether a deadline falling on a weekend or court holiday moves, and which time zone a stated time of day belongs to. Those are determinations for the people responsible for the response, and the extraction’s job is to hand them a computation they can check rather than a date they have to trust.

Procedural rules are amended, and state analogues of Rule 45 differ from it and from each other. Any deadline logic in a pipeline should record which rule and which version it applied, so a later change is a visible one.

A records subpoena often offers an alternative to appearance: produce copies accompanied by a custodian’s certificate or affidavit attesting that the records are what they purport to be. Whether that option is offered, and what the certificate must say, are fields on the document and they change the work entirely — one path is a person attending on a date, the other is a document package with a signed page. Extract the option as a boolean plus the verbatim requirements, because the requirements differ between courts and are the thing a records team gets wrong.

The request categories are the real payload

A documents subpoena carries an attached schedule: numbered categories, each describing a class of documents, almost always bounded by a date range and by subject. That schedule is what a collection team works from, and extracting it as one block of text makes it useless.

Extract one record per numbered category with the category number, the verbatim text, and the date range parsed out where the category states one. Date ranges in these schedules are frequently open at one end (“from 1 January 2022 to the present”), which resolves against the subpoena’s own date and should be stored as an open range with that resolution noted rather than as a closed one.

Definitions and instructions precede the categories and use the same numbering style, exactly as they do in interrogatory sets. Anchor on the heading rather than on the numbering, or the first six “categories” in your output will be definitions of the words “document” and “you”.

What breaks

  • No service date on the face of the document. The proof of service is a separate page and is sometimes served separately or filed later. Without it the deadline cannot be computed, and the correct output is an unresolved relative period with an explicit reason, not a date derived from the issue date instead — the missing required field rule.
  • Three dates that all look like deadlines. Issue date, service date and compliance date sit within a few lines of one another and are labelled inconsistently between forms. Bind each to its label.
  • Handwritten completion. The blanks a court clerk or process server fills are handwritten on an otherwise printed form, so the highest-value fields carry the lowest recognition confidence. Score them with per-field confidence rather than reporting a document-level number that the printed text inflates.
  • The recipient is not the target. Service on a registered agent names the agent, while the command runs to the entity. Extract both roles.