Skip to main content
Standard Form builds work schedules for residency programs and physician groups. You describe your people, your rotations, your coverage needs, and your rules. The system produces assignments that satisfy them, flags the places it cannot, and gives you ways to share the result. This page sets out what is in scope and what is not, so you know what you are buying and where the edges are.

What it does

Schedules

  • Block schedules. People assigned to full rotations over multi-day or multi-week blocks. See Schedule types.
  • Call schedules. People assigned to time slots within specific days. A call schedule can stand alone or link to a block schedule so call only lands on people who are available. See Call schedules and Schedule links.

Inputs you provide

  • People. Name, email, phone, and rank, entered by hand or imported from CSV.
  • Blocks. The rotations on your schedule, their length, and their color.
  • Coverage. How many people must be on each block, and which ranks qualify.
  • Mandates. Minimums per person, such as every PGY1 doing at least three Wards blocks.
  • Rules. Everything else about how the schedule should behave, written as rule cards. Each rule is either strict, which the system will not break, or flexible, which it tries to honor. See Rules.
  • Leave. Residents submit their time off through a link you send. Those dates are respected when the schedule is generated. See Leave preferences.
  • Rotators. People from outside your core roster who appear on the schedule and count toward coverage.

Generation and review

  • Generation. The system assigns people to blocks or slots so that your coverage, mandates, and strict rules hold.
  • Alerts. Where assignments break a rule, you get an alert listing the people, blocks, and weeks involved, and can highlight the affected cells on the grid. See Alerts.
  • Manual edits. You can change any assignment by hand. Alerts refresh when you save.
  • Regeneration. Change your inputs and regenerate. Each save creates a new version.
  • Labels. Annotate a person across a range of slots with your own text and color, without changing the underlying assignment. See Labels.

Sharing

  • Publish. A read-only link to the schedule that anyone can open without an account, and that survives edits. See Publish.
  • Export. Block schedules download as an Excel file that mirrors the grid. Call schedules download as a zip of CSV files. See Export.
  • Puffin for residents. After you publish and enable the app, each linked resident sees their own assignments as a calendar on their phone. See Puffin for residents.

Assistance

  • Puffin. A scheduling assistant inside the dashboard. It answers questions about the schedule, produces summaries you can send to other teams, and proposes swaps that are checked against your rules before you see them. See Puffin.

Accounts

  • Multiple people from your program can be invited to the same organization. See Invite members.
  • Sign-in is through Google or a one-time code sent to your email.

What it does not do

These are real limits, not things on a roadmap.

It does not touch patient data

Standard Form holds names, emails, phone numbers, ranks, assignments, leave dates, and the rules you write. It does not hold patient records, clinical notes, or protected health information, and it does not connect to an electronic health record.

It does not certify compliance

The system checks assignments against the rules you write. It does not know ACGME duty-hour requirements, state law, or your institution’s agreements unless you write them down as rules, and it never certifies that a schedule complies with any of them. Reviewing and approving the schedule remains your responsibility.

It is not payroll, timekeeping, or credentialing

There is no clock-in, no hours-worked reporting for pay, no license or credential tracking, no billing, and no absence accrual. Standard Form says who is scheduled where. It does not say who was paid, who showed up, or who is licensed.

It does not guarantee a schedule exists

If your coverage, mandates, leave, and strict rules cannot all be satisfied at once, generation fails and tells you so rather than quietly breaking a rule. Fixing it means relaxing an input.

Residents cannot act on the schedule

Puffin for residents is read-only for program data. Residents cannot submit leave requests, swap requests, or schedule changes from the app. Those go through you on the dashboard. A resident who moves or renames a shift in the app is changing their own copy; the title, start, and end are restored from your schedule on the next publish, while their own colors and notes stay.

The assistant does not act on its own

Puffin does not change your rules, your people, or your blocks, and it does not apply a change without you. Every suggestion is a proposal you accept or ignore. A published link has no password. Anyone who has it can read the schedule. The link contains a random code, so it is not guessable, but sharing it shares the schedule. Use Stop sharing to kill a link.

Exports are snapshots

An exported file is the schedule as it stood when you downloaded it. It does not update when the schedule changes.

There is no public API and no SSO

There is no customer-facing API, webhook, or integration platform. Data comes out through the export and the published link. SAML single sign-on and automated user provisioning are not available.

Security and data handling

How data is encrypted, where it is hosted, which subprocessors are involved, and how to report a vulnerability are covered on the security page.