Skip to content
Colour theme

Form MMC-3 · Content audit

Fixed at deploy · No patient data

Anatomy of the generator

The Monday Morning Clinic is a satirical generator that turns a bad work week into a mock medical discharge note. This page is its audit: 150 pieces of genuine advice, a 27-digit address space, and every figure below counted from the writing itself.

Summary of findings

The generator’s totals, smallest first. The largest counts addresses, not jokes.

Treatments written
150
Distinct suggestions in the prescription pool. Three are drawn per visit.
Diagnosis names
16,384
32 modifiers by 32 complaint roots by 16 qualifiers. A first visit can reach 2,048 of them.
Ordered prescriptions at severity 10
3,307,800
Three treatments drawn from the 150 eligible at the top of the scale, in the order the note prints them. Ignore the order and it is 551,300.
Distinct discharge notes
6.06 x 10 to the power of 15
Every document printable with no checkboxes ticked: complaint by onset by severity by recurrence by modifier by qualifier by course by exacerbation by ordered prescription by follow-up by practitioner. A lower bound.
Addressable records
3.87 x 10 to the power of 26
Share codes the intake can express, a 27-digit number, each a permanent URL. 63,823,203,110 of them per distinct note.

What a count can mean

Three ways to count a generator: pool, wording, address.

Pool size
What a field can draw from. The only figure here that rises by writing more.
Reachable wordings
What the engine will actually show, after the triage band has restricted a name’s modifiers and severity has withheld the heavier treatments.
Address space
What the codec can express. Mostly not variety: 63 of its bits are the two checkbox masks, and ticking a box retargets a prescription rather than adding a wording that did not exist.

A name is a modifier, a complaint root and a qualifier, so the pools multiply. The gating is the interesting part: clinical baggage is reserved for a condition you have admitted to having before, and a first visit is allowed two of the 16 qualifiers.

Diagnosis names, first occurrence
2,048
Diagnosis names, recurrent
15,360
Diagnosis names, distinct overall
16,384
Prescriptions at severity 1, ordered
1,815,726
Signature blocks (19 practitioners, 16 follow-ups)
304
Distinct visible notes, no boxes ticked
6.06 x 10 to the power of 15

The last line is summed across the severities and recurrences, because each changes what the fields below it may draw from. It is a lower bound: holding both checkbox fields at zero drops the comorbidity lines and the tag weighting that aims the prescription.

Register of pools

The content pools: what has actually been written.

Every alternative the Monday Morning Clinic can reach for. Four are index-encoded into the share link, so their capacity is fixed: a pool can be appended to, never widened, or every link ever shared decodes to the wrong thing.

Content pools, with the capacity the share code allows where one applies.
FieldEntriesHow it is reached
Chief complaints32 / 32Index-encoded, append only
Aggravating factors32 / 32Bitmask, append only
Onsets8 / 8Index-encoded, append only
Recurrences4 / 4Index-encoded, append only
Severity levels10Fixed at 10 by design
Diagnosis modifiers328 plus 8 plus 8 plus 8 by triage band
Diagnosis qualifiers16Seeded draw, reorderable
Treatments150Seeded draw, weighted, reorderable
Practitioners19Seeded draw, reorderable
Follow-up lines16Seeded draw, reorderable

4 of the 10 fields are at capacity: chief complaints, aggravating factors, onsets, recurrences. The aggravating factors split 17 at work and 15 outside work.

Eligibility by severity

Severity gating: the scale withholds the heavier advice.

27 of the clinic’s 150 treatments carry a minimum severity. Telling somebody who rated their week a 2 to work out what a month of their life is worth in money does not land, and telling somebody who rated it a 10 to open a window is not an answer.

1 · Fine, honestly
123 of 150
2 · A faint hum
123 of 150
3 · Noticeable
123 of 150
4 · Persistent
125 of 150
5 · Intrusive
137 of 150
6 · It is affecting the weekend
144 of 150
7 · I am not sleeping properly
148 of 150
8 · I think about it constantly
150 of 150
9 · I have started looking
150 of 150
10 · I do not know how much longer I can do this
150 of 150

Bars run from zero to the full pool of 150, so the climb looks as small as it is. The rating is the patient’s own and the site never overrules it.

Where the content is thin

Thin coverage: the numbers an audit is supposed to bury.

A treatment can be tagged to the factors it answers, and a tagged match heavily outweighs base weight. A factor with only one tailored treatment is worse than a factor with none: the box visibly does something, does the same thing every visit, and the reader correctly concludes the site is not listening. Hence the floor of 3.

Tailored treatments per factor, mean
4.9
Tailored treatments per factor, range
3 to 12
Factors sitting exactly on the floor of 3
7 of 32
Treatments tagged to nothing, drawn for any intake
35 of 150

These 7 factors are next in line for a fourth tailored treatment:

  • Camera-on policy
  • Open-plan noise
  • Sunday admin
  • The family group chat
  • Something in the flat that needs fixing
  • Nothing in the fridge
  • The clocks changed

The consented corpus

Contributed notes: the only numbers here that came from people.

Notes contributed
1
Publishing threshold
30

Too few to divide. A distribution over one contributionwould be one person’s Monday presented as a finding, so nothing is derived until there are 30. The count is real and is the only thing claimed.

No figure in the sections above describes a visitor: they count the writing that ships with the site, so every reader sees the same numbers. Nothing else is collected and nothing else is planned. No intake log, no account, no visit counts, no share counts, and no analytics that can see an answer, because a diagnosis is computed from the code in the URL and opening a note increments nothing.

Method and provenance

Where every figure comes from, and how to check it.

Source of every figure
lib/stats.ts
Counted from
lib/content/
Counted at
Deploy, from the compiled content
Independent implementation
scripts/report-content.mjs
Single-choice intake states
10,240
Aggravating-factor subsets
4.29 x 10 to the power of 9
Comorbidity subsets
2.15 x 10 to the power of 9
Free-text fingerprints
4,096
Addressable records, in full
386,856,262,276,681,335,905,976,320

No figure here is transcribed, so none can go stale: editing a pool changes this page on the next build. A second and older implementation of the same arithmetic lives in the report script, and the two agreeing is the check that neither has drifted.

If you would rather read the output than the census, here is a specimen Monday Morning Clinic discharge note, assembled on this page from a mid-scale intake and produced by no visitor. Or state your own symptoms: ninety seconds, and it adds to nothing above unless you press the button at the foot of your note, which asks first.