About this case study
This is academic coursework, produced by a seven-person student team in the Information Systems Business Analysis program at George Brown College (May 2026). “Bay & Dundas Family Health” is a fictional clinic. The stakeholder was played by course faculty. Nothing here was built, deployed or measured.
Every number on this page therefore carries a provenance label: scenario means it was supplied in the course brief, target means it is a stakeholder-set objective, never a measured outcome, artifact fact means it is a countable property of the deliverable itself, and my judgment marks an analytical decision I made and would defend. There are no results claimed on this page, because there are no results.
Why this sits next to the Canadian Tire case study
The two are deliberately different halves of the job.
Case 01 — Canadian Tire is diagnosis: a real operational failure at my own workplace, root-caused with observed data, where the deliverable was finding out why the system lied.
Case 02 — this one is specification: taking a decided direction and writing it down precisely enough to hand to a build team, where the deliverable is unambiguous, traceable, testable requirements. Neither is much use on its own.
My contribution, and the team's
Seven analysts authored the source document. Naming who did what matters more than claiming all of it.
- Mine: the detailed use case specification — basic flow, the five alternate flows, the business rules register, the business data catalogue, the three UI specifications with their component tables, and the notification set.
- Team: goals and objectives, problem statements, the current- and future-state process maps, the scope model, the non-functional requirements and the trace matrix.
- Course-supplied: the scenario, the stakeholder role, the baseline metrics and the target percentages.
Everything presented here as my judgment — the reconciliation of the two ID schemes, the defect log in section 9, the added context entity, the reconciled component numbering — is post-submission analysis I did for this write-up, not team work.
Teammates and faculty are not named on this page. They co-authored a course deliverable; they did not agree to appear in my portfolio. Names are available privately on request.
A twenty-minute wait to hand over information the clinic already needed
New patients at the clinic register on arrival, on paper. They are given a blank intake form, fill it in by hand in the waiting room, and hand it back. A Medical Administrator then reads it, checks that every required field is present and legible, verifies the identity and health-card details, and types the whole thing into the patient record. Anything unclear goes back to the patient to redo.
Two things follow from that design, and they are the reason the project exists. First, every defect is discovered after the patient has already done the work — the form has no way to object while it is being filled in. Second, a skilled administrator spends their day as a transcription and proof-reading service, which is both slow and the point at which most errors enter the record.
Current-state metrics
Supplied in the course brief as the clinic's baseline. The team did not observe or time this process, and I have not presented these as measurements. scenario
| Measure | Baseline | What it represents |
|---|---|---|
| Average cycle time | 30–60 minutes | Arrival to a completed record in the patient management system |
| Non-value-added waiting | 15–25 minutes | Time the patient spends waiting with nothing to do |
| Error rate | 10–15% | Records with incomplete, illegible or incorrect entries requiring rework |
| Throughput | 8–12 new patients/day | Volume achievable before the front desk becomes the bottleneck |
Where the time actually goes — DOWNTIME analysis
DOWNTIME is a lean checklist of eight waste types. Listing them in the abstract proves nothing, so the team mapped each one to the specific process step that produces it. Turn the overlay on in the next section and the tags appear pinned to the steps they belong to.
Six of the eight wastes are consequences of a single design decision: validation happens after submission, when it needs to happen during. That makes the problem information design, not staffing. The solution direction follows: a form that refuses to be submitted wrong (BR009). More people at the front desk would not have fixed it. my judgment
Root cause analysis
The three-step reduction the team used to get from symptom to solution direction. It is deliberately short: the value is in the middle column, and everything downstream on this page is an answer to it.
1 — The gap
Patients wait while a Medical Administrator reads and checks a form by hand, and accuracy is poor because handwriting, missing fields and incorrect entries are only discovered at that point. Both symptoms — waiting time and form quality — sit at the same moment in the process.
2 — The root cause
A paper intake form cannot object. It accepts anything written on it, so the checking has to happen afterwards, by a person, with the patient waiting. Every waste in the DOWNTIME analysis above is downstream of that one property.
3 — The direction
Replace the form with one that can refuse to be submitted wrong: mandatory fields, electronic document capture, validation on entry and a submission gate. The check moves from a person after the fact to the interface during it.
Note what the root cause is not: it is not that staff are slow, and it is not that patients are careless. Both would have led to a training or staffing solution, and neither would have worked. my judgment
Goals, objectives and the problems they answer
Every downstream requirement on this page traces back to one of these six statements. Click any identifier to inspect it.
| ID | Statement | Type | Traces to |
|---|---|---|---|
| GO001 | Increase annual new patient registrations and establish the clinic as a high-volume medical service provider. | Goal | — |
| GO002 | Streamline the digital new patient registration process to reduce administrative workload and improve operational efficiency. | Goal | — |
| OB001 | Reduce the duration of new patient registration by 95% for patients and by 100% for administrative staff. target | Objective | GO001 |
| OB002 | Reduce manual data entry errors by 95%. target | Objective | GO002 |
| OB003 | Reduce time spent on manual patient registration processes by 75%. target | Objective | GO002 |
| OB004 | Increase patient satisfaction by bringing line waiting time down to a maximum of 10 minutes. target | Objective | GO001 |
| PO001 | Administrative staff spend disproportionate time on registration, increasing workload and slowing patient onboarding. Streamlining reduces registration time and improves efficiency. | Problem | OB001 OB003 |
| PO002 | Manual transcription into the patient management system risks data-entry errors, incomplete records and duplicates, consuming further staff time in review and correction. | Problem | OB002 OB004 |
The objective targets are stated as the course stakeholder set them. I would push back on OB001 in a real engagement — a 100% reduction in administrative registration duration claims the work disappears entirely, when in practice exception handling (AF03) and coverage review (BR013) still land on a human. my judgment
Two states of one process, at two levels of detail
Cross-functional (swimlane) models at Level 2 — the end-to-end journey — and Level 3, which decomposes the single activity where the failure concentrates. All four were originally drawn in Lucidchart; they are reproduced here as inline diagrams so they stay legible, searchable and consistent with the rest of the site. artifact fact
AS-IS. The clinic's only intake path. Note that the loop back to “fill out the intake form” is a full restart, not a correction — the patient re-does the form from scratch.
CSPM-001 Level 2 — Patient arrives at the clinic
CSPM-001.S1 Level 3 — Review the patient information
The decomposition of the single Level 2 activity that generates the rework: the manual review.
Three consecutive manual checks — completeness, then detail verification, then an accuracy gate — all performed on a document that has already left the patient's hands. The rework loop returns to the start of the review, so a single missing version code costs the full cycle again. The target state has to eliminate that structure. Speeding it up is not enough.
TO-BE. Registration completes before the first visit. The Medical Admin lane is gone — the work is removed, not moved to someone else.
FSPM-001 Level 2 — Registration of the patient
FSPM-001.S1 Level 3 — Processes in filling the form
UC001 in section 5 elaborates this activity, and section 7 makes it executable.
The accuracy gate moves from after the patient's work (a person reading paper) to during it (BR009, the submission gate), so the To-Be revision loop returns the patient to a single field. The form does not restart.
The two states side by side
| Dimension | As-Is (CSPM-001) | To-Be (FSPM-001) | Enabled by |
|---|---|---|---|
| Where validation happens | After submission, by a person reading paper | During entry, by the form itself | HLR002 BR009 |
| Who transcribes | Medical Admin, by hand, into the record | Nobody — the record is created from what the patient entered | BR014 |
| Cost of one error | A full second cycle, patient present | An inline message on one field | AF01 NO002 |
| When registration happens | On arrival, in the waiting room | Any time before the first visit | NFR001 |
| Identity verification | Visual check of the card at the desk | Image capture plus a provincial coverage check | BR007 BR013 |
| Lanes in the model | Patient, Medical Admin | Patient, EMR System, Clinic Management | ACT002 |
| Abandonment | Not possible — the patient is physically present | Expected, and designed for: drafts persist | AF04 BR012 |
Moving registration off-site introduces a failure mode the paper process could not have: the patient who starts and never finishes. There is no queue to lose your place in, so nothing pulls them back. AF04 and BR012 handle draft retention mechanically, but nobody owns the resulting funnel — no report counts abandoned drafts, and REP002 only logs applications that were actually returned for revision. I would add abandonment to REP003 before build. my judgment
What the solution is responsible for, and what it deliberately is not
Scope on this project is mostly an exercise in refusing adjacent work. Registration touches booking, billing and identity verification, and each of those is a plausible next feature; naming them as excluded, with the reason, is what stops them arriving mid-build.
In scope — high-level requirements
- HLR001 Patients complete and submit registration online. HIGH
- HLR002 The system verifies the form and validates documents, returning specific errors before submission. HIGH
- HLR003 On approval the patient is registered and notified by email. HIGH
- HLR004 Clinic Management receives a record of each completed registration. MEDIUM
Out of scope — with rationale
- OS001 Appointment booking and scheduling — registration creates the record; it does not schedule anything.
- OS002 Billing, insurance submission and payment — no financial transaction occurs during registration.
- OS003 In-person document validation by admin staff at the first visit — in-person activity is outside an online registration flow.
Each exclusion is surfaced to the patient in the interface, never left implicit — CO026 tells them what this form is not asking for, and CO032 tells them the clinic will call to book.
BCD001 — Business context diagram
The scope model: the system under study, the four actors that cross its boundary, and the information that flows over it.
| ID | Actor | Role | Responsibility at the boundary |
|---|---|---|---|
| ACT001 | Patient | Primary | Completes registration unaided, before the first visit. Supplies DE001–DE010. |
| ACT002 | EMR System | Primary | System under study. Validates entries and documents, creates and stores the record, issues notifications. |
| ACT003 | Health Card Validation System | Secondary | External provincial service confirming the card number and version code. Non-blocking per BR013. |
| ACT004 | Clinic Management System | Primary | Receives the completed registration record and the summary listing REP001. |
ACT003 appears in the actor list and acts at step 5 of the use case, but was missing from the context diagram in the source document — so the scope model showed no external dependency at all, and a reader would have had no reason to ask what happens when the provincial service is unreachable. Adding it forced that question, which is answered by BR013. Logged as QA-12. my judgment
Four high-level requirements, and the qualities the system has to hold while meeting them
The high-level requirements say what the solution must do; every rule, data element and screen later on exists to satisfy one of them. The non-functional requirements say how well, and they are the part of this specification I trust least — explained below.
| ID | Requirement | Priority | Traces to | Realised by |
|---|---|---|---|---|
| HLR001 | The system must allow a patient to complete and submit registration forms online. | HIGH | PO001 | UI001 BR001 NFR001 |
| HLR002 | The system must automatically verify the form and validate the documents, returning specific errors to the patient before submission. | HIGH | PO002 | BR009 AF01 NO002 CO012 |
| HLR003 | The system must register the patient on form and document approval, and notify them by email. | HIGH | PO001 PO002 | BR014 BR015 NO001 UI003 |
| HLR004 | The system must provide clinic management with a record of each completed patient registration. | MEDIUM | PO001 | REP001 ACT004 |
Non-functional requirements
| ID | Category | Requirement | Applied in this use case |
|---|---|---|---|
| NFR001 | Hours of usage | Available 24 hours a day. | A patient may register at any time before their first visit. |
| NFR002 | Days of usage | Available every day. | No weekday-only restriction on registration. |
| NFR003 | Usage exceptions | Scheduled maintenance limited to one window per month. | NO006 is displayed during that window. |
| NFR004 | Response time | Pages load within 3 seconds. | Each pre-submission check resolves without the patient waiting on the field. |
| NFR005 | Concurrent events | 200 concurrent events. scenario | Supports 200 concurrent registration sessions. |
| NFR006 | System users | 10–15 internal clinic staff plus 1,000 concurrent external patient users. scenario | Sizing for the public form. |
| NFR007 | Peak events | 50 registration submissions per hour at peak without failure. scenario | Peak sizing for the submission path. |
The scenario baseline is 8–12 new patients per day. NFR007 requires the system to absorb 50 submissions per hour — roughly five days of demand every hour — and NFR006 asks for 1,000 concurrent patient users, about a hundred times the clinic's entire daily volume. NFR005 then caps concurrent events at 200, which contradicts the 1,000-user figure directly: either the numbers describe different things, or one of them is wrong.
These read as figures chosen to sound robust. Nothing derives them from the demand. Capacity requirements drive infrastructure cost, so over-stating them is not a harmless safety margin. The correct analyst move is to take them back to the stakeholder with the arithmetic and ask which number is real. Logged as QA-09. my judgment
UC001 — Register as a new patient online
The elaboration of FSPM-001.S1. One successful path and five ways it can deviate. The alternate flows are the part that matters: the basic flow describes the day everything works, and almost no day is that day.
Pre-conditions
- The registration page is available (NFR001).
- The patient has an internet-connected device and the clinic registration link.
- The patient has a photograph or scan of their health card.
- The patient is 16 or older (BR004).
- No active patient record exists for this health card number (BR010).
Post-conditions
- A registration record exists with DE013 = Submitted, a unique DE011 and a DE012 timestamp.
- The health card image DE009 is retained and linked to the record (BR016).
- The patient has received NO001 at the address in DE007.
- UC002 — Verify form and validate documents — is triggered.
- If unsuccessful, entries are retained with DE013 = Draft and the patient is told what to do next.
Flow explorer
Select a flow. The rail shows where it branches from the basic flow and where it rejoins — or that it terminates unsuccessfully.
The shortest successful path: fifteen steps, no deviation. Steps that can branch are marked on the rail.
| # | Step | Rules applied | Branch / UI |
|---|---|---|---|
| 1 | The patient opens the clinic's new patient registration link. | — | UI001 |
| 2 | The system displays the form with the progress stepper at step 1 of 3 and the pre-submission panel showing five open checks. | — | CO001 CO012 |
| 3 | The patient enters their personal details. | BR001 | DE001–DE008 |
| 4 | The system validates each entry as the patient leaves the field. | BR002 BR003 BR004 BR005 | AF01 · NO002 |
| 5 | The system submits the card number and version code to the Health Card Validation System and records the coverage result. | BR013 | ACT003 |
| 6 | The system updates the pre-submission check panel with the result of each check. | — | DE014 CO013 |
| 7 | The patient uploads the health card image — the only document collected. | BR001 | DE009 CO010 |
| 8 | The system checks the uploaded file. | BR006 BR007 | AF02 · NO003 |
| 9 | The patient confirms consent to collection of the information. | BR008 | DE010 CO011 |
| 10 | The system enables Continue to review once all five checks return Pass. | BR009 | AF04 · CO015 |
| 11 | The patient selects Continue to review; the system presents the entered details and the attached image for confirmation. | — | UI002 |
| 12 | The patient selects Submit registration; the system checks for an existing record. | BR010 | AF03 |
| 13 | The system creates the registration record. | BR011 BR014 | AF05 · DE011 |
| 14 | The system displays the confirmation screen and sends the submission notification. | BR015 | UI003 · NO001 |
| 15 | Use case ends. Control passes to UC002. | — | — |
Branches at step 4 · rejoins at step 4. The most frequent deviation, and the one the whole design exists to make cheap.
| # | Step | Rules / UI |
|---|---|---|
| 1 | Starts at basic flow step 4 when an entry fails a format or validity rule. | BR002 BR003 BR004 BR005 |
| 2 | The system marks the field and displays the correction message beside it, naming the specific problem and how to fix it. | NO002 CO016 |
| 3 | The system holds the related check open in the pre-submission panel and keeps Continue to review disabled. | BR009 CO012 |
| 4 | The patient corrects the entry. | — |
| 5 | Flow returns to step 4 of the basic flow. | — |
The source document numbered this flow 1, 2, 3, 4, 4 — two steps sharing a number, with the terminal step unreachable. Renumbered here; logged as QA-05.
Branches at step 8 · rejoins at step 8. Rejecting an unreadable image at upload is the single highest-value control in the specification: it is the one check that, in the As-Is process, could not be done until the patient had already gone home.
| # | Step | Rules / UI |
|---|---|---|
| 1 | Starts at basic flow step 8 when the uploaded image fails the file-type, size or readability check. | BR006 BR007 |
| 2 | The system rejects the file, leaves the upload area empty, and displays guidance for retaking the image. | NO003 |
| 3 | The patient uploads a replacement file. | CO010 |
| 4 | Flow returns to step 8 of the basic flow. | — |
Branches at step 12 · ends unsuccessfully. An exception flow, not an alternate one — the patient cannot resolve this themselves, so the design hands them a phone number. There is no retry.
| # | Step | Rules / UI |
|---|---|---|
| 1 | Starts at basic flow step 12 when an active record matches the health card number and date of birth. | BR010 |
| 2 | The system stops the submission and displays the duplicate message with the clinic phone number. | NO004 |
| 3 | The system retains the submission with DE013 = Draft and flags it for Clinic Management review. | ACT004 |
| 4 | Use case ends, unsuccessfully. | — |
This flow contradicts OB001's claim of a 100% reduction in administrative effort: a flagged duplicate lands on a human every time.
Branches from step 3 onward · resumes at step 2. The flow that only exists because registration moved off-site.
| # | Step | Rules / UI |
|---|---|---|
| 1 | Starts at any point from basic flow step 3, when the patient selects Save and finish later. | CO014 |
| 2 | The system saves all entered values and the uploaded image, sets DE013 = Draft, and emails a resume link. | NO005 |
| 3 | The draft is retained for 14 calendar days from last activity, then purged. | BR012 |
| 4 | Use case ends, incomplete. The patient re-enters at step 2 using the resume link. | — |
Two different retention periods appeared in the source document — one month with three reminders in the business rules section, 14 days in the detailed specification and in the notification text. Resolved to 14 days; logged as QA-02.
Branches at step 13 · ends unsuccessfully. The technical exception. Its only real requirement is that the patient's work survives.
| # | Step | Rules / UI |
|---|---|---|
| 1 | Starts at basic flow step 13 when the record cannot be written because the system is unavailable or the request times out. | NFR003 |
| 2 | The system retains all entries with DE013 = Draft and displays the retry message. | NO006 |
| 3 | The system logs the failure for the support team. | — |
| 4 | Use case ends, unsuccessfully. | — |
Rather than asking you to take the alternate flows on trust, the live UI specification below can trigger each one — enter a bad version code for AF01, upload a blurred card for AF02, or use the simulation controls for AF03, AF04 and AF05. Jump to the prototype →
The registers a build team would actually work from
Four registers: the rules that govern behaviour, the data the system holds, the messages it sends, and the reports it produces. These are the least glamorous artifacts in business analysis and the ones that decide whether a build goes smoothly. Every entry carries the step it applies at, so a developer can find it from the flow and a tester can find the flow from it.
Counts of what the reconciled specification actually contains. artifact fact
The source document carried two competing schemes — BR01–BR05 and DE01–DE14 in the requirements sections, BR001–BR013 and DE001–DE014 in the detailed specification — overlapping in meaning but not in number, with cross-references pointing at both. Everything below is renumbered into the single register the detailed specification used, with the earlier rules folded in as BR014–BR016. Logged as QA-01 and QA-06. my judgment
Business rules — BR001 to BR016
| ID | Name | Type | Rule | Step |
|---|---|---|---|---|
| BR001 | Mandatory field set | Definitional | First name, last name, date of birth, health card number, version code, phone, email, home address, health card image and consent must all be provided before a registration can be submitted. | 3, 7, 9 |
| BR002 | Health card number format | Definitional | DE004 must be exactly 10 numeric digits, displayed as ####-###-###. | 4 |
| BR003 | Version code format | Definitional | DE005 must be exactly two alphabetic characters, stored upper case. | 4 |
| BR004 | Date of birth validity | Behavioural | DE003 must be a valid calendar date in the past. Self-registration is limited to patients aged 16 or older; a patient under 16 is directed to call the clinic. | 4 |
| BR005 | Contact format | Behavioural | DE006 must be 10 numeric digits. DE007 must be a valid address, as it is the destination for every registration notification. | 4 |
| BR006 | Document file type and size | Definitional | DE009 must be JPG, PNG or PDF and no larger than 10 MB. It is the only document collected during registration. | 8 |
| BR007 | Document readability | Behavioural | The image must be legible enough for the system to read the patient name and card number. A failing image is rejected at upload, before it reaches clinic review. | 8 |
| BR008 | Consent required | Behavioural | DE010 must equal TRUE before submission. The clinic may not collect the information without it. | 9 |
| BR009 | Submission gate | Behavioural | Continue to review is enabled only when all five pre-submission checks return Pass. This rule replaces the manual front-desk review and is the primary control behind HLR002 and OB002. | 10 |
| BR010 | Duplicate registration | Behavioural | A registration is rejected where an active patient record already exists with the same health card number and date of birth. | 12 |
| BR011 | Registration reference format | Definitional | DE011 is system-generated as REG-YYYYMMDD-NNNN, where NNNN is sequential within the day. | 13 |
| BR012 | Draft retention | Definitional | An incomplete registration is retained for 14 calendar days from last activity and is then purged. | AF04.3 |
| BR013 | Health card coverage check | Behavioural | Card number and version code are checked against the provincial validation service. A failed check does not block submission; the record is flagged for clinic review at UC002. | 5 |
| BR014 | Automatic record creation | Behavioural | A patient record is created only after all completeness and format validations pass. No manual data entry is performed in the standard flow. | 13 |
| BR015 | Notification rule | Behavioural | A confirmation notification is sent only after successful record creation. Rejection notices state the reason and direct the patient to the walk-in path. | 14 |
| BR016 | Health record retention | Definitional | Uploaded identity documents and health card data are retained for 7 years, per Ontario health-record retention requirements. | Post-condition |
Data dictionary — DE001 to DE014
| ID | Business term | Status | Definition & rules | Example | Step |
|---|---|---|---|---|---|
| DE001 | First name | Existing | Given name as printed on the health card. Mandatory. Alphabetic, hyphen and apostrophe permitted, 1–40 characters. | Amara | 3 |
| DE002 | Last name | Existing | Family name as printed on the health card. Mandatory. 1–40 characters. | Osei | 3 |
| DE003 | Date of birth | Existing | Mandatory. Format YYYY-MM-DD. Must be a past date and imply age ≥ 16 (BR004). | 1994-03-18 | 3 |
| DE004 | Health card number | Existing | Provincial number identifying coverage. Mandatory. 10 numeric digits (BR002). | 1234-567-890 | 3 |
| DE005 | Version code | Existing | Two-letter code printed after the card number. Mandatory, upper case (BR003). | AB | 3 |
| DE006 | Phone number | Existing | Number at which the clinic can reach the patient. Mandatory. 10 numeric digits. | 647-555-0188 | 3 |
| DE007 | Email address | Existing | Destination for all registration notifications. Mandatory, valid format, single address only. | amara.osei@email.com | 3 |
| DE008 | Home address | Existing | Residential address. Mandatory. Street, city, province and postal code in ANA NAN format. | 88 Dundas St W, Toronto, ON M5G 1C7 | 3 |
| DE009 | Health card image | New | Photograph or scan of the card front — the only document collected. JPG, PNG or PDF, max 10 MB, must be legible (BR006, BR007). | health-card-front.jpg | 7 |
| DE010 | Consent indicator | New | Consent to collection and retention of the information for care. Mandatory boolean, must be TRUE (BR008). | TRUE | 9 |
| DE011 | Registration reference | New | Unique identifier issued for this registration. System-generated, format REG-YYYYMMDD-NNNN (BR011). | REG-20260811-0147 | 13 |
| DE012 | Submission date/time | New | When the registration was submitted; used to measure cycle time for REP003. Local clinic time. | 2026-08-11 14:32 | 13 |
| DE013 | Registration status | New | State of the registration in the EMR. System-set. Permitted values: Draft, Submitted, Returned for revision, Registered. | Submitted | 13 |
| DE014 | Validation check result | New | Pass/open state of each of the five pre-submission checks shown to the patient. System-derived, displayed as “n of 5”. | 4 of 5 | 6 |
The scope-level use case made a medical history questionnaire and a separate patient record ID mandatory at submission. Neither appears in the detailed specification, the business rules, or any of the three screen designs — the requirement was dropped somewhere between levels without a decision being recorded. I have kept it out of the register here, because a specification should not claim to cover what it does not, and flagged it for stakeholder confirmation instead. Logged as QA-07. my judgment
Notifications — NO001 to NO006
Every notification names what happened and what the patient should do next. Written as the patient reads them, not as the system logs them.
| ID | Name | Trigger | Message | Channel |
|---|---|---|---|---|
| NO001 | Registration submitted | Step 13 completes | “We've got your registration. Your reference is DE011. The clinic will confirm by email once you're registered, usually the same day.” | Screen + email |
| NO002 | Entry needs correcting | BR002–BR005 fails | “Add your version code — the two letters printed just after the card number. Without it the clinic can't confirm your coverage.” Text varies by the rule that failed and always names the field and the fix. | Screen, beside the field |
| NO003 | Document can't be read | BR006 or BR007 fails | “We can't read this image. Take the photo in good light with all four corners of the card showing, then upload it again.” | Screen, in the upload area |
| NO004 | You may already be registered | BR010 finds an active record | “Our records show a patient with this health card number. Call the clinic at 416-555-0142 and we'll sort it out — please don't register twice.” | Screen |
| NO005 | Draft saved | Patient selects Save and finish later | “Saved. We've emailed you a link to pick up where you left off. It works for 14 days.” | Screen + email |
| NO006 | Registration temporarily unavailable | Record cannot be written at step 13 | “We couldn't submit this just now. Your answers are saved — try again in a few minutes, or call the clinic at 416-555-0142.” | Screen |
Reports — REP001 to REP003
| ID | Report | Data contributed by this use case | Measures |
|---|---|---|---|
| REP001 | Patient registration report | Each successful submission contributes DE001, DE002, DE011, DE012 and DE013 to the summary listing used to track new-patient volume. | GO001 HLR004 |
| REP002 | Registration exception report | Each occurrence of AF01, AF02 and AF03 contributes the failed rule ID, the field or image affected, and the notification issued. | OB002 PO002 |
| REP003 | Registration volume & cycle time | Start time captured at step 1, end time at DE012, giving end-to-end duration per patient alongside submission counts. | OB001 OB003 |
REP002 is the one that makes this specification self-correcting: it turns every alternate flow into a counted event, so the clinic learns which rule fails most often and can fix the field. The paper process never had that feedback loop. my judgment
The specification, running
Three screens are specified in this project: the registration form, the review screen and the confirmation. Rather than describe them, this is a working recreation built only from the specification above — the validation rules are BR002–BR008, the gate is BR009, the messages are NO001–NO006, and the reference format is BR011.
If a requirement were ambiguous, this prototype could not have been built without asking a question. That was the whole test.
Below is a working recreation of the three specified screens, built from the specification alone. It is deliberately styled as the clinic product would be, not as this portfolio — the point is to show what the spec produces.
New patient registration Trouble with the form? Call the clinic
416-555-0142 · Mon–Fri, 8am–6pm
Register as a new patient
Fill this in before your first visit. We check your details as you go, so nothing gets sent back to you later.
About you
Documents
health-card-front.jpg · 1.8 MB READABLE
We read the name and number off this image, so you don't retype them. This is the only document we need — take the photo in good light with all four corners showing.
Before you submit
The clinic used to check these by hand at the front desk. Now the form does it, while you're still here to fix things.
What happens next
Once all five checks clear, your registration goes straight to the clinic's records — no front-desk retyping. You'll get a confirmation email the same day.
Not asked for here
Appointments. The clinic calls you to book your first visit after you're registered.
Payment or insurance. Nothing is charged or collected on this form.
Check this over before you send it
Nothing has gone to the clinic yet. Change anything that isn't right — once you submit, you'd have to call us to correct it.
Our records show a patient with this health card number. Call the clinic at 416-555-0142 and we'll sort it out — please don't register twice.
We couldn't submit this just now. Your answers are saved — try again in a few minutes, or call the clinic at 416-555-0142.
health-card-front.jpg · 1.8 MB READABLE
You agreed that Bay & Dundas Family Health can collect and keep this information to provide your care.
Everything the front desk would have checked by hand has passed.
Still not asked for
No appointment is booked and no payment is taken on this form. The clinic calls to book your first visit once you're registered.
We've got your registration
Nothing else is needed from you right now. The clinic checks your details and confirms by email, usually the same day.
Quote this if you call the clinic. A copy has also been emailed to amara.osei@email.com.
What happens next
- 1We check your detailsA member of the clinic team reviews your registration and the card image you sent.Usually the same day
- 2You get a confirmation emailOnce you're on our records, we email you to confirm. If something needs fixing, that email tells you exactly what.
- 3We call to book your first visitAppointments aren't booked through this form. We'll phone you on the number you gave us.Within 2 business days
Something not right?
You can't change a submitted registration online. Call 416-555-0142 with your reference and we'll correct it before your first visit.
The pre-submission panel specified in CO012 shows exactly five checks, but BR001's mandatory set has ten elements. Home address and consent are mandatory and are not represented in the panel — so a patient could see “5 of 5” against an incomplete form, which is precisely the false reassurance the design exists to prevent. This prototype gates the button on the full mandatory set and shows the discrepancy in analyst view. It is the kind of defect you only find by building the thing. Logged as QA-11. my judgment
Component specification
All 34 components across the three screens. Click any ID for its full entry.
| ID | Component | Data | Type | Displayed / enabled rules |
|---|---|---|---|---|
| CO001 | Progress stepper | — | Display | Three steps. Current step highlighted; completed steps shown in solid rule. |
| CO002 | First name | DE001 | Text | Mandatory (BR001). Helper text notes the name must match the health card. |
| CO003 | Last name | DE002 | Text | Mandatory (BR001). |
| CO004 | Date of birth | DE003 | Date picker | Mandatory. Future dates not selectable (BR004). |
| CO005 | Health card number | DE004 | Text | Mandatory. Input masked to ####-###-### (BR002). |
| CO006 | Version code | DE005 | Text | Mandatory. Maximum two characters (BR003). Displays error state and NO002 when the check fails. |
| CO007 | Phone | DE006 | Text | Mandatory. Input masked to ###-###-####. |
| CO008 | DE007 | Text | Mandatory. Helper text states the confirmation is sent here (HLR003). | |
| CO009 | Home address | DE008 | Text | Mandatory. Address lookup offered on entry. |
| CO010 | Health card upload | DE009 | File upload | Mandatory. The only upload control on the screen. Displays file name and a Readable indicator once BR006 and BR007 pass. |
| CO011 | Consent checkbox | DE010 | Checkbox | Mandatory. Must be selected before CO015 is enabled (BR008). |
| CO012 | Pre-submission check panel | DE014 | Display panel | Lists the five checks and refreshes as each field is completed. Failed checks displayed with the correction message. |
| CO013 | Ready-to-submit meter | DE014 | Progress bar | Displays the count of passed checks out of five. |
| CO014 | Save and finish later | — | Button | Always enabled from step 3 onward. Triggers AF04. |
| CO015 | Continue to review | — | Button | Disabled until all five checks return Pass (BR009). Enabled state advances to UI002. |
| CO016 | Inline error message | — | Display | Rendered beside the field that failed validation. Content per NO002. |
| CO017 | Clinic help line | — | Display | Static. Displayed on every step so the patient can reach a person at any point. |
| ID | Component | Data | Type | Displayed / enabled rules |
|---|---|---|---|---|
| CO018 | Details summary | DE001–DE008 | Display | Read only. Each group carries an Edit control returning to UI001. |
| CO019 | Document summary | DE009 | Display | Read only. Shows the file name and a thumbnail of the health card image. |
| CO020 | Consent record | DE010 | Display | Read only. Restates the consent given and the timestamp it was recorded. |
| CO021 | Progress stepper (step 3) | — | Display | All three steps shown complete. |
| CO022 | Edit details control | — | Button | Returns to UI001 with all values retained. |
| CO023 | Replace document control | DE009 | Button | Returns to the upload control; re-runs BR006 and BR007. |
| CO024 | Consent confirmation | DE010 | Display | Shows the recorded date and time of consent. |
| CO025 | All-checks-clear panel | DE014 | Display panel | Confirms all five pre-submission checks passed before the commit control is offered. |
| CO026 | Out-of-scope notice | — | Display | States what this form does not do, per OS001 and OS002. |
| CO027 | Back to form | — | Button | Returns to UI001 with all values retained. |
| CO028 | Submit registration | — | Button | Commits the registration. Triggers BR010 then BR011 and BR014. |
| CO029 | Confirmation message | — | Display | Content per NO001. |
| CO030 | Registration reference | DE011 | Display | Read only. Presented for the patient to quote when calling the clinic. |
| CO031 | Submission date/time | DE012 | Display | Read only. Local clinic time, the start point for REP003. |
| CO032 | Next steps | — | Display | States that the clinic confirms by email and calls to book the first visit (OS001). |
| CO033 | Email copy notice | DE007 | Display | Confirms the address the copy of NO001 was sent to. |
| CO034 | Correction help | — | Display | Explains that a submitted registration is corrected by phone, not online. |
The component tables in the source document numbered UI002 and UI003 as CO018–CO024, while the annotated screen designs for the same two screens used CO018–CO034. Reconciled here to the design's numbering, which is the more granular of the two and the one a build team would be looking at. Logged as QA-13. my judgment
Every requirement answers to a goal, and every goal reaches a screen
Traceability is the artifact that decides whether a requirements package survives contact with change. When a stakeholder asks “why are we building this field?”, the answer should be a chain, not an opinion. Select any identifier below and the ladder shows what it descends from and what depends on it.
Data elements (DE001–DE014), components (CO001–CO034) and notifications (NO001–NO006) sit one level below the ladder; open any rule or screen to walk down to them.
Requirements trace matrix
The condensed matrix, one row per high-level requirement. A stakeholder signs this view. An analyst works in the ladder above.
| Goals | Objectives | Problems | HLR | Scope | Process L2 | Process L3 | Actors | Use cases | Reports | Supporting |
|---|---|---|---|---|---|---|---|---|---|---|
| GO001 GO002 | OB001 OB003 | PO001 | HLR001 | BCD001 | FSPM-001 | FSPM-001.S1 | ACT001 ACT002 | UC001 | REP003 | NFR001 NFR002 NFR003 NFR005 NFR007 · UI001 |
| GO001 GO002 | OB002 OB004 | PO002 | HLR002 | BCD001 | FSPM-001 | FSPM-001.S1 | ACT001 ACT002 ACT003 | UC002 UC003 · AF01 AF02 | REP002 | BR009 BR013 · CO012 |
| GO001 GO002 | OB001 OB002 OB003 OB004 | PO001 PO002 | HLR003 | BCD001 | FSPM-001 | FSPM-001.S1 | ACT001 ACT002 | UC004 | — | NFR006 · NO001 UI003 |
| GO001 GO002 | OB001 OB003 | PO001 | HLR004 | BCD001 | FSPM-001 | — | ACT004 | UC005 | REP001 | — |
Read a row left to right and it justifies a requirement. Read it right to left and it does the more valuable job: if REP002 is cut for budget, the matrix says immediately that OB002 loses its only means of measurement. Coverage is the cheap benefit; impact analysis is the real one. my judgment
What a line-by-line audit of our own document found
Transcribing a specification onto a portfolio page proves nothing. Auditing it does. Before writing a word of this case study I read the source document as if I had been handed it by someone else and had to build from it — every identifier resolved, every cross-reference followed, every number checked against the scenario it came from.
It found thirteen defects, four of which would have caused real problems in a build: a contradiction about how long a draft survives, a broken reference to a rule that did not exist, a mandatory requirement that disappeared between document levels, and a status panel narrower than the rule it reports on. All are fixed in the version presented on this page. my judgment
BR01–BR05 and data DE01–DE14; the detailed specification numbered the overlapping set BR001–BR013 and DE001–DE014. Cross-references pointed at both.OBJ001 and OBJ003. The objectives are numbered OB001–OB004.What this specification does not prove
Honest limitations
- No real stakeholder. The requirements were elicited from a course brief and a faculty member playing a role. Real elicitation involves contradictory stakeholders, and none of that pressure is present here.
- No implementation, therefore no validation. Every objective on this page is a target. Requirements that look unambiguous on paper routinely fail their first contact with a developer, and this specification has never had that contact — except from me, building section 7.
- No clinical review. A real registration flow would need sign-off on privacy, consent wording and record retention from people I did not have access to. BR016 cites a retention period; it has not been verified against the actual regulation.
- Volume assumptions untested. See QA-09 — I flagged the capacity numbers but could not resolve them, because there was no one to resolve them with.
- Accessibility is under-specified. The screens define validation and error states but say nothing about screen-reader behaviour, keyboard order, or the reading level of the error text. For a public health form serving the whole population, that is a gap I should have caught during the project. I caught it afterwards.
What I would do differently
- Establish the identifier scheme before writing anything. Five of the thirteen defects are numbering collisions, and every one of them was avoidable with a single agreed register on day one. With seven authors, that convention is infrastructure, not admin.
- Build the prototype during analysis, not after. QA-11 — the check panel narrower than its own rule — was invisible in the document and obvious within minutes of building it. Prototyping is an elicitation technique, not a presentation one.
- Trace downward as well as upward. Our matrix proved every requirement had a parent. It would not have caught QA-07, where a requirement had a parent and simply no children.
- Ask about volume before writing NFRs. The capacity figures were invented because nobody asked what the clinic actually expected. One question would have replaced three unusable requirements.
The point of a specification is that someone else can act on it without you in the room. By that standard the document we submitted was good and not finished: the analysis was sound, the models were right, and thirteen defects would still have reached a build team — most of them the unglamorous kind that cost a day each.
Auditing your own work as though a stranger wrote it is the step that turns a document into a deliverable.
The original team submission — Business Analysis Requirements: Online New Patient Registration, May 2026 — is available on request, with classmate and faculty details redacted. This page presents the reconciled version described in section 9, not the document as submitted.