Anonymous patient codes (P-XXXX)

Why Rounds uses P-7K2X-style codes instead of patient names, and how to map codes back to your EHR.

Updated 2026-04-24 · Edit this page on GitHub


title: "Anonymous patient codes (P-XXXX)" description: "Why Rounds uses P-7K2X-style codes instead of patient names, and how to map codes back to your EHR." order: 3 category: "patient-flow" updated_at: "2026-04-24"

Every patient appears in Rounds as a code like P-7K2X — four base-36 characters prefixed with P-. Never a name, never a DOB, never an MRN.

Why

Rounds v1 doesn't store PHI (protected health information). This is a deliberate design choice, not an oversight:

  1. Compliance surface shrinks dramatically. Without PHI in the app, we're not storing protected data under HIPAA Privacy Rule's §164.514. Your BAA with us covers operational data, not clinical records.
  2. Breach blast radius is minimal. If a Rounds bug leaks data, the leaked data is P-7K2X codes, not patient identities. The linkage from code to identity lives in your EHR, not in Rounds.
  3. Dev velocity stays high. Engineering can iterate without triggering every PHI-safety review a naive architecture would.

See ADR-002 for the full rationale.

Mapping codes to real patients

The mapping lives in your EHR, not in Rounds. Most practices use a spreadsheet or a front-desk printout:

Rounds codeEHR MRNName
P-7K2X00483921(Jane Doe)
P-QQ8M00483922(John Smith)
.........

Your front-desk staff generates this at check-in using whatever workflow fits your EHR. Most common: a label printer prints the Rounds code on a sticker that goes on the paper chart.

Code allocation

Rounds generates the code when an appointment is first scheduled. The code sticks with that appointment through the day. If the same patient comes back the next week, they get a new code — each appointment is independently coded.

This means your EHR mapping is per-appointment, not per-patient. Prints fresh every day.

Searching

The search bar (/ keyboard shortcut) matches on the code substring. Type 7K2X to filter to the one appointment with that code. Type P- to match everything (useful for multi-select operations).

API + MCP surfaces

When Rounds talks to third-party tools via MCP or the REST API, the patient code is what travels. rounds.patient_flow.list returns appointments with patient_code: "P-7K2X" and nothing identifying beyond that.

If you hit a problem

  • Lost track of which code is which patient: regenerate the front-desk mapping from your EHR; the Rounds side is unchanged
  • Need a mnemonic code (e.g. "SMITH-01"): not supported in v1 — the randomness is the privacy feature
  • Other: support@ralthealth.com