SehatScribe AI is a responsive web application for doctors in Pakistan whose purpose is to save clinicians' time by converting speech into structured clinical notes and by explaining handwritten prescriptions in simple Urdu or English. The product is a clinical documentation assistant, not an autonomous doctor: it never invents diagnoses, medicines, dosages, allergies, examination findings, or missing medical information. Every clinical field it produces is traceable to the doctor's own words or to the visible content of an uploaded prescription, and every output remains under explicit doctor control until the doctor confirms it.
The audience is practising doctors working in busy outpatient settings — general practitioners, consultants and clinic staff — who work quickly between patients, often on a shared laptop or tablet, and who need an instrument that is reliable, calm and honest about its own state. A secondary audience is the clinic setup owner who configures the clinic and doctor identity that appears on printed documents. The interface is bilingual: English and Urdu sit side by side, with a proper right-to-left layout for Urdu.
SehatScribe AI is delivered as a responsive web application built with React and TypeScript, backed by a secure server-side API route that mediates all access to the image-capable Gemini model. The client never holds API secrets; all AI processing and response validation happen server-side, and the UI, AI processing and validation logic are kept separate.
The current delivery covers the full MVP workflow described in the source: a premium professional healthcare dashboard; a voice-to-medical-notes workspace with a working microphone interface, editable transcription and Gemini-organized clinical sections; a prescription image reader with upload, preview, replace, remove and two separate output panels; an editable, print-friendly A4 clinical document with review controls; saved drafts; and settings for language, clinic identity, API configuration explanation and clearing temporary data.
Two accepted human personas act in the product: the Doctor, who records consultations, edits transcripts and generated sections, uploads prescriptions, reviews and confirms drafts, and prints documents; and the Clinic Administrator / Clinic Setup Owner, who configures the clinic and doctor name used on the printed A4 document and manages app settings within the same prototype workspace. Both personas establish access to protected clinical state through self-service enrollment or returning verification.
The prototype uses synthetic demo patients only. It does not upload real medical records, does not save raw audio or prescription images unnecessarily, does not store sensitive medical data in browser local storage by default, and never claims medical privacy compliance without verification. Authentication, authorization, encryption, secure storage, retention/deletion policies, audit logs and backups are explicitly deferred to work that must be implemented and reviewed before real clinical use.
SehatScribe AI is delivered as a first-party web application. The anonymous entry surface is the Landing page, which explains what the product is and what it refuses to do. Because the product holds durable, doctor-specific clinical documentation state — transcripts, generated clinical sections, saved drafts and confirmed documents — the application owns identity: a doctor or clinic setup owner establishes access through Sign Up and returns through Login before reaching any protected destination. The protected destinations are Dashboard, New Consultation, Prescription Reader, Saved Drafts and Settings. Landing, Login and Sign Up are reachable without an established identity; the protected destinations are not.
AI work is not owned by the browser. All Gemini calls — organizing the doctor's transcript into the eleven clinical sections, and extracting handwriting from a prescription image — are made through a secure server-side API route that reads secrets from environment variables. When the API key or configuration is missing, when quota limits are hit, when a request times out, or when a response is malformed, the product says so plainly and offers the manual fallback path rather than fabricating a result. The product never uses fake AI responses or hardcoded success messages.
The current delivery horizon is the MVP described in the source, built in the six phases the source names, beginning with Phase 1: the complete responsive dashboard and functional UI. The following are explicitly outside the current delivery and belong to the pre-real-clinical-use horizon: authentication hardening, authorization, encryption, secure storage, retention and deletion policies, audit logs and backups. Real patient data is outside the current prototype boundary entirely — synthetic demo patients only.
Not applicable. No reference directive in this request declares a content_source authority, so no source content inventory is produced.
FR-01 — Responsive web application foundation (explicit) As a Doctor, I should use a responsive web app called SehatScribe AI built with React and TypeScript, so that I can work on desktop, tablet and mobile.
FR-02 — Clinical documentation assistant boundary (explicit) As a Doctor, I should be able to rely on the product never inventing diagnoses, medicines, dosages, allergies, examination findings or missing medical information, so that I remain the author of the clinical record.
FR-03 — Premium professional healthcare dashboard design (explicit) As a Doctor, I should see a premium, professional healthcare SaaS dashboard with a clean white background, blue/teal accents, modern cards and professional icons, so that the tool feels like a reliable clinical instrument.
FR-04 — English and Urdu language switch with RTL (explicit) As a Doctor, I should switch the interface between English and Urdu, with a proper right-to-left layout for Urdu, so that I can work in the language I read fastest.
FR-05 — Simple navigation across five destinations (explicit) As a Doctor, I should navigate simply between Dashboard, New Consultation, Prescription Reader, Saved Drafts and Settings, so that I can move between tasks without hunting.
FR-06 — Professional loading, error, empty and success states (explicit) As a Doctor, I should see professional loading, error, empty and success states throughout, so that I always know what the system is doing.
FR-07 — All visible buttons work (explicit) As a Doctor, I should find that every visible control has functional behaviour, so that nothing in the interface is decorative or misleading.
FR-08 — Microphone interface with Start, Stop and Pause/Resume (explicit) As a Doctor, I should record a consultation with Start, Stop and Pause/Resume where supported, with a visible recording status, so that I can capture the consultation hands-free.
FR-09 — Urdu, English and mixed speech support (explicit) As a Doctor, I should speak Urdu, English, or a mix of both, so that I can dictate naturally.
FR-10 — Editable transcription (explicit) As a Doctor, I should edit the original transcript, so that I can correct recognition errors before the notes are organized.
FR-11 — Gemini organization into eleven clinical sections (explicit) As a Doctor, I should have Gemini organize my actual words into Chief Complaint, History of Present Illness, Duration of Symptoms, Relevant Symptoms, Medical History, Allergies, Current Medicines, Examination Findings, Doctor's Assessment, Plan and Instructions, and Missing or Unclear Information, so that I get structured notes without retyping.
FR-12 — Unspecified fields stay empty or read "Not provided" (explicit) As a Doctor, I should see unspecified fields kept empty or labelled "Not provided", so that I can tell the difference between absent information and information I gave.
FR-13 — Preserve medicine names, numbers, strengths, units, negations and durations (explicit) As a Doctor, I should have medicine names, numbers, strengths, units, negations and durations preserved exactly as I said them, so that the clinical record is faithful.
FR-14 — Flag uncertain content for doctor review (explicit) As a Doctor, I should see uncertain words, numbers, medicine names and dosages flagged for my review, so that I catch anything the system was unsure about.
FR-15 — Edit every generated section before saving or printing (explicit) As a Doctor, I should edit every generated section before saving or printing, so that the final document is mine.
FR-16 — Prescription upload by drag-and-drop and file selection (explicit) As a Doctor, I should upload a prescription image by drag-and-drop or file selection, so that I can read handwriting I cannot decipher.
FR-17 — Image preview, replace and remove controls (explicit) As a Doctor, I should preview, replace and remove the uploaded prescription image, so that I can correct a wrong upload.
FR-18 — File type and size validation with clear messages (explicit) As a Doctor, I should have file type and size validated with clear messages, so that I know immediately why an upload was rejected.
FR-19 — Real image-capable Gemini or OCR extraction (explicit) As a Doctor, I should have the visible handwriting extracted by a real image-capable Gemini model or suitable OCR integration, so that the extracted text reflects what is actually on the page.
FR-20 — Two separate panels: extracted text and patient explanation (explicit) As a Doctor, I should see the extracted prescription text and the simple patient-friendly explanation in two separate panels, so that I never confuse what was written with what was interpreted.
FR-21 — Preserve prescription values as written (explicit) As a Doctor, I should have the original medicine names, strengths, frequency, quantity and duration preserved as written, so that the extracted text is faithful to the prescription.
FR-22 — Mark unclear handwriting as "Needs confirmation" (explicit) As a Doctor, I should see unclear handwriting and uncertain fields marked "Needs confirmation", so that I know exactly what to verify.
FR-23 — Never guess unreadable medicine names or dosages (explicit) As a Doctor, I should never receive a guessed medicine name or dosage, so that no fabricated value can reach a patient.
FR-24 — Explain only what the prescription supports (explicit) As a Doctor, I should have the patient-friendly explanation cover only what the prescription reasonably supports, so that the explanation does not overreach.
FR-25 — Urdu and English explanations (explicit) As a Doctor, I should provide the patient-friendly explanation in Urdu and English, so that I can hand it to the patient in the language they read.
FR-26 — Clearly separate extracted text from AI interpretation (explicit) As a Doctor, I should see extracted text and AI interpretation clearly separated, so that I always know which is which.
FR-27 — No independent treatment decisions (explicit) As a Doctor, I should never have the product recommend medicines, change dosages, stop medicines, or make treatment decisions, so that clinical authority stays with me.
FR-28 — Confirm with doctor or pharmacist when purpose is unclear (explicit) As a Doctor, I should be told to confirm with the doctor or pharmacist when a medicine's purpose cannot be established confidently, so that uncertainty is surfaced rather than hidden.
FR-29 — Editable, print-friendly A4 clinical document (explicit) As a Doctor, I should produce an editable, print-friendly A4 document containing configurable clinic and doctor name, patient name or demo ID, consultation date, clinical notes, medicine details only when explicitly supplied and confirmed by me, and my instructions and the patient-friendly explanation, so that I can hand the patient a proper document.
FR-30 — Edit, Copy, Print, Clear Draft and Review controls (explicit) As a Doctor, I should have Edit, Copy, Print, Clear Draft and Review controls on the document, so that I control the document's lifecycle.
FR-31 — DRAFT / REQUIRES DOCTOR REVIEW status until explicit confirmation (explicit) As a Doctor, I should see a clear DRAFT / REQUIRES DOCTOR REVIEW status until I explicitly confirm, so that nothing is ever presented as final without my sign-off.
FR-32 — Never automatically sign or finalize (explicit) As a Doctor, I should never have a prescription automatically signed or finalized, so that no document leaves the system as final without my action.
FR-33 — Dashboard welcome, actions, drafts, statistics, notices (explicit) As a Doctor, I should see a welcome section, a New Consultation button, an Upload Prescription button, recent demo drafts, simple demo statistics clearly labelled as demo data, a privacy notice and a doctor-review reminder on the Dashboard, so that I can start work and understand the prototype's limits at a glance.
FR-34 — Synthetic patient information only during development (explicit) As a Doctor, I should see only synthetic patient information during development, so that no real patient data enters the prototype.
FR-35 — Secure server-side Gemini API route (explicit) As a Doctor, I should have all Gemini calls made through a secure server-side API route, so that my clinical content is processed by a controlled backend rather than directly from the browser.
FR-36 — No hardcoded API keys; secrets from environment variables (explicit) As a Doctor, I should have API secrets read from environment variables and never hardcoded in client-side code, so that my credentials are not exposed in the browser.
FR-37 — Validate inputs and structured outputs; handle quota, timeouts, errors, malformed responses (explicit) As a Doctor, I should have inputs and structured outputs validated, with quota limits, timeouts, API errors and malformed responses handled, so that a bad response never reaches the clinical record.
FR-38 — Structured JSON output where supported (explicit) As a Doctor, I should have the AI return structured JSON where supported, so that the response can be validated before display.
extracted_text, clinical_sections, patient_explanation, uncertain_fields, missing_information and review_required.FR-39 — Separate UI, AI processing and validation logic (explicit) As a Doctor, I should have the UI, AI processing and validation logic kept separate, so that the product stays maintainable and each layer can be reasoned about independently.
FR-40 — No fake AI responses or hardcoded success messages (explicit) As a Doctor, I should never see a fake AI response or a hardcoded success message, so that I can trust what the interface tells me.
FR-41 — Explain missing API key or configuration; manual fallback when AI is unavailable (explicit) As a Doctor, I should be told plainly when the API key or configuration is missing, and I should have manual fallback functionality when AI is unavailable, so that I can still complete my work.
FR-42 — Validate response before display; never render model output as trusted HTML (explicit) As a Doctor, I should have model output validated before display and never rendered as trusted HTML, so that a malformed or hostile response cannot affect the interface.
FR-43 — Prototype privacy rules (explicit) As a Doctor, I should have the prototype use synthetic demo patients only, not upload real medical records, explain when information is sent to an external AI service, not save raw audio or prescription images unnecessarily, provide a way to clear temporary data, not store sensitive medical data in browser local storage by default, and never claim medical privacy compliance without verification, so that I understand the prototype's privacy boundary.
FR-44 — Pre-real-clinical-use hardening is deferred (explicit) As a Doctor, I should understand that authentication, authorization, encryption, secure storage, retention/deletion policies, audit logs and backups must be implemented and reviewed before real clinical use, so that I do not mistake the prototype for a production clinical system.
FR-45 — Phased development plan (explicit) As a Doctor, I should have the product built in the six phases the source names — Phase 1 responsive dashboard and functional UI; Phase 2 voice recording, transcription, editing and fallback; Phase 3 prescription image upload and real AI/OCR extraction; Phase 4 Urdu/English patient-friendly explanation; Phase 5 doctor review, draft editing, copy and print; Phase 6 test and fix the complete workflow — so that the MVP arrives in a reliable order.
FR-46 — Start with Phase 1; do not rebuild working components (explicit) As a Doctor, I should have Phase 1 — the complete responsive dashboard and functional UI — built first, with clean, reusable code that supports later integration and without rebuilding working components unnecessarily, so that the foundation is solid.
FR-47 — Acceptance tests (explicit) As a Doctor, I should have the following verified: the app runs without compilation errors; English/Urdu switching works including Urdu RTL; microphone permissions and unsupported browsers are handled; prescription images can be previewed, replaced and removed; unreadable text is flagged rather than guessed; missing clinical information is never fabricated; I can edit, review, copy and print; loading and API errors are handled; API secrets are not exposed in browser code; and all visible controls have functional behaviour.
FR-48 — Phase summary after each phase (explicit) As a Doctor, I should receive a summary after each phase covering files changed, working features, setup requirements, limitations and tests performed, so that I know exactly what was delivered.
FR-49 — Polished, usable MVP prioritising reliability, doctor control, Urdu explanations, accessibility and privacy (explicit) As a Doctor, I should receive a polished, usable MVP that prioritises reliability, doctor control, simple Urdu explanations, accessibility and privacy over unnecessary features, so that the tool is trustworthy from the first use.
FR-50 — Self-service enrollment and returning verification (required_inference) As a Doctor, I should complete self-service enrollment or returning verification before accessing protected clinical documentation state, so that my transcripts, drafts and confirmed documents remain bound to me.
FR-51 — Clinic setup owner enrollment and verification (required_inference) As a Clinic Administrator / Clinic Setup Owner, I should complete self-service enrollment or returning verification before configuring the clinic and doctor name in Settings, so that the printed document carries the correct practice identity.
FR-52 — Server-side Gemini configuration from environment secrets (required_inference) As a Doctor, I should have the secure server-side Gemini API route configured with environment-variable secrets for transcript organization and prescription extraction, so that AI features work without exposing credentials.
FR-53 — Manual text input fallback for speech recognition (required_inference) As a Doctor, I should have a manual text input fallback available when speech recognition is unsupported or microphone permission is denied, so that I can still produce clinical notes.
FR-54 — Manual fallback when AI is unavailable (required_inference) As a Doctor, I should have manual fallback functionality available when AI is unavailable or API configuration is missing, so that I can complete the clinical document by hand.
Product context. A practising doctor in Pakistan working in a busy outpatient setting, often on a shared laptop or tablet between patients. The doctor's time is the scarcest resource in the room, and the tool exists to give some of it back without ever taking clinical authority away.
Primary goal. Convert a spoken consultation into structured clinical notes and turn a handwritten prescription into readable text plus a simple Urdu or English explanation for the patient, while remaining the sole author of the clinical record.
Distinct accepted responsibilities. The doctor records the consultation with Start, Stop and Pause/Resume; speaks Urdu, English or a mix; edits the original transcript; has Gemini organize the doctor's actual words into the eleven clinical sections; edits every generated section; reviews flagged uncertain words, numbers, medicine names and dosages; uploads a prescription image by drag-and-drop or file selection; previews, replaces and removes that image; extracts the visible handwriting; reads the extracted text and the patient-friendly explanation as two separate panels; edits, copies, prints, clears and reviews the A4 clinical document; and explicitly confirms the document before it stops being a draft.
Relevant inputs and decisions. The doctor's own spoken words; the uploaded prescription image; the language of the patient-facing explanation; whether each flagged item is correct; whether medicine details are explicitly supplied and confirmed; and whether the document is ready to be confirmed and signed off.
Interactions with other accepted participants. The doctor is the sole actor on the Prescription Reader and the primary actor on New Consultation, Saved Drafts and Dashboard. The doctor shares Settings with the Clinic Administrator / Clinic Setup Owner, who configures the clinic and doctor name that appears on the doctor's printed document. The doctor's work depends on the server-side Gemini route being configured, and on the browser's speech recognition engine where it is available.
Observable success. The eleven clinical sections contain only what the doctor said, with unspecified fields reading "Not provided"; uncertain content carries "Needs confirmation" tags; the prescription reader shows extracted text and explanation in separate panels with unreadable content flagged rather than guessed; the A4 document prints correctly with the configured clinic and doctor name; and the status chip turns teal-green only after the doctor presses "Confirm and sign off".
Product context. The person responsible for the practice identity that appears on documents leaving the clinic. They work within the same prototype workspace as the doctor and are concerned with correctness of the printed artefact rather than with the clinical content itself.
Primary goal. Ensure that the editable, print-friendly A4 clinical document carries the correct clinic and doctor name, and that the app's settings reflect the practice.
Distinct accepted responsibilities. The clinic setup owner establishes access through self-service enrollment or returning verification; configures the clinic and doctor name used on the A4 document; manages the app's settings; reads the API configuration explanation; and clears temporary data.
Relevant inputs and decisions. The clinic's registered name; the doctor's name as it should appear on printed documents; the interface language; and whether temporary data should be cleared.
Interactions with other accepted participants. The clinic setup owner shares Settings with the Doctor and shares the Dashboard as a protected destination. The clinic and doctor name they configure appear on the Doctor's printed A4 document, which is the point of contact between the two roles.
Observable success. The clinic and doctor name are saved and appear correctly on the printed A4 document; the language switch works including Urdu RTL; the API configuration explanation states plainly whether the key is present; and clearing temporary data reports its own success or failure.
The visual language is Less, but better — clinical precision after Dieter Rams. The muse is Dieter Rams; the headline is that the tool must feel like a reliable instrument, not a chatbot. A strict modular grid, label/value pairs and a single signal colour map directly onto the eleven clinical sections, the "Not provided" rule and the DRAFT / REQUIRES DOCTOR REVIEW status. The one saturated signal accent doubles as the review flag — the exact thing that must never be missed.
Colour tokens (light mode).
| Role | Hex | Use |
|---|---|---|
| Background (paper ground) | #F4F2ED | Warm off-white page ground |
| Surface | #FFFFFF | Pure white panels so data cards read as instruments on a bench |
| Text | #1A1A1A | Black-ink text for all clinical content |
| Primary (graphite) | #2F3437 | Structure: rules, headers, nav rail, primary buttons, instrument band |
| Accent (signal) | #E8590C | Braun-derived orange; used sparingly and semantically only: recording status, "Needs confirmation" flags, DRAFT / REQUIRES DOCTOR REVIEW badges, and the one primary action per screen |
| Muted | #8A8578 | Secondary text, "Not provided" em-dashes, labels |
| Hairline border | #E3DFD6 | 1px borders on panels and controls |
| Confirmed / saved | #0F7A6B | Teal-green second status colour for confirmed and saved states, so orange is never diluted |
Proportion: approximately 75% paper and white, 20% graphite, 5% signal colour. No gradients, no glass, no shadows beyond a 1px hairline and a single soft 2px lift.
Typography.
clamp(32px, 5vw, 44px); section titles 19px; labels 12px uppercase; body 16px with 1.55 line-height.Shape language. Modular rounded rectangles: 4px radius on controls, 8px on panels, 1px hairline borders in #E3DFD6, no drop shadows except a single 2px lift on the active panel. Circular bezels only where a value is a dial-like metric (recording timer, confidence indicator). Hard edges on the grid, soft edges only on the things you press. Pills are reserved for status chips, not for buttons or inputs.
Layout. A strict 12-column grid with a 56px left icon-and-label nav rail on desktop, collapsing to a bottom tab bar at 375px. A fixed 64px instrument header carries the language switch, patient context and the persistent review-status chip. Every clinical section is an aligned label/value row inside a numbered panel — the eleven sections numbered 01–11 exactly as the brief lists them, with "Not provided" rendered as a muted em-dash rather than empty space. The prescription reader is a true two-column split: extracted text and patient explanation side by side at 1280px, stacked with a visible divider at 768px and 375px. The A4 document is a real 210×297mm print sheet, centred on the paper ground with crop marks.
Imagery. No photography, no stock doctors, no illustration for its own sake. Imagery is diagrammatic: thin-stroke 1.5px line icons for nav and controls, a schematic signal-waveform drawn as a ruled grid during recording, and a topographic-style ruled pattern used as a quiet header texture at 6% opacity. Where the product shows a prescription image, that image is the only photographic content on screen and is framed like a specimen on a bench.
The public entry is a graphite instrument panel, not a marketing banner. A graphite #2F3437 horizontal band spans the top third of the content area on the paper ground #F4F2ED. Flush left against the 12-column grid, "SehatScribe AI" is set in Archivo uppercase at clamp(32px, 5vw, 44px). Immediately beneath it in white, the Urdu wordmark "صحت سکرائب" is set in Noto Nastaliq Urdu. Both wordmarks sit fully inside the viewport at 375px, 768px and 1280px.
On the right of the same band sits a live ruled data strip: today's demo consultation count, drafts pending review, and the current speech-recognition engine status — each as an aligned label/value pair with tabular numerals, separated by hairline rules.
Below the band, two large equal action tiles sit directly on the paper ground: "New Consultation" in graphite with a white mic glyph, and "Upload Prescription" in white with a 1px orange border and an orange upload glyph. There is no centred headline, no subtext paragraph, no blue button and no gradient. The composition reads as signage on a bench: the product's name, its current state, and the two things you can do next.
Interaction Model: Static Motion Tempo: restrained Hero Dimensionality: flat
Landing Hero Motion Brief. The focal subject is the graphite instrument band with the English and Urdu wordmarks and the ruled data strip. The input→transformation→outcome thesis is: the page loads → the band and its label/value pairs settle into place in a single 160ms opacity step → the two action tiles are immediately pressable. The motion vocabulary is instant, mechanical feedback only: 120ms state changes, a hard on/off recording pulse, a number that counts up without easing flourish. No bounce, no float, no parallax. The composed first frame shows the graphite band, both wordmarks, the ruled data strip and the two action tiles fully rendered and fully inside the viewport. The reduced-motion state removes the 160ms opacity step entirely and renders the same composed frame statically, with the recording indicator's square-wave blink replaced by a steady on-state.
The only looping motion anywhere in the product is the recording indicator's 1s square-wave blink and a determinate progress rule during AI processing. Section reveals are a single 160ms opacity step.
NFR-01 — Responsive across desktop, tablet and mobile (explicit) The application must remain usable and correctly laid out on desktop, tablet and mobile. Rationale: the source requires responsiveness and the audience works on shared laptops and tablets in a busy OPD.
NFR-02 — Bilingual interface with correct RTL (explicit) The interface must switch between English and Urdu, with a proper right-to-left layout for Urdu. Rationale: the source requires the language switch and RTL layout, and Urdu script must remain the loudest thing on screen.
NFR-03 — No compilation errors (explicit) The application must run without compilation errors. Rationale: named in the source acceptance tests.
NFR-04 — API secrets never exposed in browser code (explicit) API keys must never be hardcoded in client-side code and must be read from environment variables. Rationale: named in the source acceptance tests and constraints.
NFR-05 — No fake AI responses or hardcoded success messages (explicit) The product must never display a fabricated AI response or a hardcoded success message. Rationale: the product's entire value depends on honest state reporting.
NFR-06 — Model output never rendered as trusted HTML (explicit) Model output must be validated before display and must never be rendered as trusted HTML. Rationale: named in the source constraints.
NFR-07 — No unnecessary retention of raw audio or prescription images (explicit) Raw audio and prescription images must not be saved unnecessarily. Rationale: named in the source privacy constraints.
NFR-08 — No sensitive medical data in browser local storage by default (explicit) Sensitive medical data must not be stored in browser local storage by default. Rationale: named in the source privacy constraints.
NFR-09 — No unverified privacy compliance claims (explicit) The product must never claim medical privacy compliance without verification. Rationale: named in the source privacy constraints.
NFR-10 — Synthetic demo patients only (explicit) Only synthetic patient information may be used during development, and real medical records must not be uploaded. Rationale: named in the source privacy constraints.
NFR-11 — External AI disclosure (explicit) The product must explain when information is sent to an external AI service. Rationale: named in the source privacy constraints.
NFR-12 — Clear temporary data (explicit) The product must provide a way to clear temporary data. Rationale: named in the source privacy constraints.
NFR-13 — Accessibility (explicit) The MVP must prioritise accessibility. Rationale: named in the source's stated priorities.
NFR-14 — Readable text and controls stay whole at every viewport (explicit) Headlines, wordmarks, labels, numbers, cards' text and controls must stay entirely inside the viewport and their container at 375px, 768px and 1280px, wrapping or scaling to fit, with no other element covering any part of them. Rationale: stated in the creative direction and required for the bilingual clinical surface to remain legible.
NFR-15 — Pre-real-clinical-use hardening is deferred (explicit) Authentication, authorization, encryption, secure storage, retention/deletion policies, audit logs and backups must be implemented and reviewed before real clinical use. Rationale: named in the source privacy constraints as a precondition for real clinical use.
Assumptions.
Constraints.
extracted_text, clinical_sections, patient_explanation, uncertain_fields, missing_information and review_required.
صحت سکرائب
A clinical documentation assistant for doctors in Pakistan. It drafts from what the doctor says and shows; the doctor stays the author.
Instrument readout
Sign Up creates a workspace for a new doctor account.
Login returns a registered doctor to their dashboard.
Capabilities · 01–03
A clinical documentation assistant for doctors in Pakistan, in English and Urdu. It records what the doctor says and shows it back; it does not diagnose.
External AI service
When a transcription or prescription feature is used, the information you supply is sent to an external AI service for processing. This prototype uses synthetic demo patients only; no real medical records are uploaded, and raw audio and prescription images are not kept beyond the working session.
sehatscribe-ai is a clinical documentation assistant for doctors in Pakistan. It is not an autonomous doctor. Every clinical word in the output comes from the doctor — the software organises, reads and formats, and never authors.
Stays empty in the record and reads — Not provided. Blank space is never used as a stand-in.
Unreadable medicine names and dosages are never guessed. They carry an inline Needs confirmation tag for the doctor to resolve.
sehatscribe-ai makes no independent treatment decisions. It does not recommend medicines, change dosages, stop medicines or decide care. Where a medicine's purpose cannot be established confidently, the explanation tells the reader to confirm with the doctor or pharmacist.
صحت سکرائب اے آئی کوئی خودمختار معالج نہیں ہے۔
This build runs on synthetic demo patients only. Do not upload real medical records. Information submitted for note structuring or prescription reading is sent to an external AI service for processing; raw audio and prescription images are not kept unnecessarily, and temporary data can be cleared.
Before real clinical use, the following must be implemented and reviewed: authentication, authorization, encryption, secure storage, retention and deletion policies, audit logs and backups.

صحت سکرائب
A clinical documentation assistant for doctors in Pakistan. It drafts from what the doctor says and shows; the doctor stays the author.
Instrument readout
Sign Up creates a workspace for a new doctor account.
Login returns a registered doctor to their dashboard.
Capabilities · 01–03
A clinical documentation assistant for doctors in Pakistan, in English and Urdu. It records what the doctor says and shows it back; it does not diagnose.
External AI service
When a transcription or prescription feature is used, the information you supply is sent to an external AI service for processing. This prototype uses synthetic demo patients only; no real medical records are uploaded, and raw audio and prescription images are not kept beyond the working session.
sehatscribe-ai is a clinical documentation assistant for doctors in Pakistan. It is not an autonomous doctor. Every clinical word in the output comes from the doctor — the software organises, reads and formats, and never authors.
Stays empty in the record and reads — Not provided. Blank space is never used as a stand-in.
Unreadable medicine names and dosages are never guessed. They carry an inline Needs confirmation tag for the doctor to resolve.
sehatscribe-ai makes no independent treatment decisions. It does not recommend medicines, change dosages, stop medicines or decide care. Where a medicine's purpose cannot be established confidently, the explanation tells the reader to confirm with the doctor or pharmacist.
صحت سکرائب اے آئی کوئی خودمختار معالج نہیں ہے۔
This build runs on synthetic demo patients only. Do not upload real medical records. Information submitted for note structuring or prescription reading is sent to an external AI service for processing; raw audio and prescription images are not kept unnecessarily, and temporary data can be cleared.
Before real clinical use, the following must be implemented and reviewed: authentication, authorization, encryption, secure storage, retention and deletion policies, audit logs and backups.
No comments yet. Be the first!