Overview
AI chat is an optional, unvalidated educational prototype. It cannot establish a diagnosis, prescribe for an individual, or replace clinical review. Generated statements, suggested classification, named treatment options and citations require checking against the original evidence, current local labels and the clinical context.
The Lab provides Ask Circulation AI below the free-form simulator; it is hidden in student and prepared-case views. The pulmonary hypertension assistant provides an AI chat tab beside its separate structured guideline review. Neither chat automatically reads simulator settings, structured PH entries, images or teaching-case narratives. Chat sends deliberately submitted text. The separate medication-response tool discloses its explicit submission of an original generated baseline and medication plan.
Server-enforced access
One AI password unlocks an eight-hour signed, HttpOnly browser session for both chat locations. The signing key, access password and OpenAI key are server runtime secrets. The Lab, Pulmonary Hypertension, Structural Heart and the Academic Halfday lesson are public; teaching cases retain their separate learning-access password. An AI session does not unlock cases. Missing AI configuration, invalid sessions and unavailable quota storage fail closed.
Unlock requests and chat requests have persistent database-backed limits. The application stores short-lived, keyed quota identifiers and counters, not the submitted chat text or a raw IP address in the quota table. These limits reduce abuse; a shared password is not an individual clinician identity or an enterprise access system.
What Send transmits
Send transmits the new question and the bounded conversation history described above the composer to the site server and then OpenAI. Do not enter patient identifiers, confidential records or secrets. Drafts and displayed answers remain in page memory; Clear, Lock or reload removes the local conversation. Stopping an in-flight request cannot recall text already transmitted.
The server uses the Responses API with store:false and does not create a provider conversation or use previous_response_id. This disables normal response-object storage; it is not a claim of zero retention. Provider abuse-monitoring and hosting operational logs may still apply under the relevant account and platform policies. This prototype is not an approved clinical-record workflow.
Evidence context and generated answers
The PH service supplies a bounded selection from this module’s curated guideline and trial library. Primary-outcome status, population and study limitations travel with selected trial context. Retrieval is selective and is not an exhaustive literature search. The chat has no live web-search or image-analysis tool.
Client questions and prior conversation are untrusted content rather than server instructions. The server selects the model and bounds input size, history, output and request duration. Answers are rendered as text, without executing generated HTML. Ordinary chat statements do not modify the simulator, its physiology or the structured PH classification and therapy result.
For PH management questions, the AI instructions request a working classification followed by Medication options to discuss: a supported class, generic examples, its role in the regimen and the main eligibility condition. The always-supplied initial-treatment excerpt names ERA and PDE5-inhibitor examples and parenteral prostacyclin choices. An inferred group permits conditional discussion, not automatic confirmation. Unknown current treatment is not treated as absence; riociguat/PDE5 overlap, inappropriate PH-group extrapolation and dose invention remain excluded. These are prompt and evidence-context requirements, not a guarantee that every generated answer is correct. Verify the sources and keep the structured rule-based plan distinct from AI chat.
Generate and apply temporary pressure traces
In a standalone Lab, choose Create session traces within Ask Circulation AI. Describe a fictional adult phenotype, review the proposed curves, pressure table, assumptions and limitations, then choose Apply to this session. Generation sends only that description, without chat history or current simulator settings. Return to standard simulator restores the underlying controls. Refresh removes the generated case. The proposal is kept in this tab’s component memory and is excluded from saved cases, URLs, browser storage, the preset catalogue and classroom snapshots; this tool is unavailable in classrooms, student views, prepared cases and tutorials.
The server asks for bounded structured numeric data rather than executable code. Biventricular scenarios have six pressure channels with 25 samples over one assumed regular sinus cycle, with phase zero at the R wave. Fontan scenarios have five available channels and a null subpulmonary RV slot. A periodic shape-preserving cubic interpolant renders the pressure curves without segment overshoot; the same interpolant supplies waveform extrema and cycle means. These sample counts, rate bounds and rendering conventions are original synthetic implementation assumptions, not a clinical validation standard. Structural and numeric checks do not establish physiological accuracy. Refused, incomplete or malformed proposals cannot be applied.
The generated trace mode replaces the standard monitor and table while active. Standard programmed drug interventions, anatomical images, shunt solutions, ECG morphology, phonograms, resistance calculations and clinical risk are not inferred for an unknown disease. A separate medication-response tool can generate a reviewed synthetic before/after pressure endpoint using curated pharmacology context; it does not turn the trace mode into a validated drug-response solver. Flow and arterial saturation, if supplied, are explicitly independent illustrative assumptions. The lowest pressure in a cycle is not necessarily ventricular end-diastolic pressure. Normalized curves show relative shape and must not be used to compare absolute pressure.
For tetralogy of Fallot, specify repaired versus unrepaired anatomy and the residual lesions. In an illustrative unrepaired phenotype, a large nonrestrictive VSD can give near-systemic RV systolic pressure while RV outflow obstruction separates RV from lower distal PA pressure. Cyanosis alone does not imply Eisenmenger pulmonary vascular disease. Repaired TOF has heterogeneous residual lesions and filling pressures. Generated numeric profiles are assumptions, not a validated congenital circulation or an assessment of operability.
The example button uses Tetralogy of Fallot with failing Fontan palliation, explicitly assuming complex functionally single-ventricle anatomy after an extracardiac Fontan, an unusual pathway rather than routine TOF repair. The selected stable failure phenotype has elevated venous and systemic-ventricular filling pressures; other Fontan failure phenotypes can differ and ventricular systolic dysfunction is not required. Fontan circulation uses five available pressure channels: Fontan/CVP, PA, PAWP, systemic ventricle and Ao. The subpulmonary RV slot is null and has no curve, control or table reading; it must not be shown as zero or as a normal RV waveform. SV is a functional systemic-ventricle label, without assuming LV morphology. Fontan/CVP and PA have low cardiac pulsatility rather than a subpulmonary ventricular pulse. These single-beat curves do not model respiratory or exercise responses, fenestration flow or determine the cause of Fontan failure. Medication comparisons preserve the circulation profile and absent subpulmonary pump.
Generate medication-response comparisons
After applying an AI-generated baseline, open Model a medication response. Describe the medication plan, route or exposure assumption and elapsed clinical context. Generate deliberately sends that text and the complete original generated baseline, including all available pressure curves, its circulation profile and notes, to OpenAI. It excludes standard-simulator data and chat history. This separate transmission is disclosed beside the button. The same AI password, signed session, origin checks, body limits and shared request quota apply. Stop, collapse, Lock and leaving the trace workspace cancel pending local generation; a late result cannot reappear after cancellation.
The server supplies selected, matched medication labels and guideline excerpts for qualitative effects, indications, time context and limitations. It rejects unknown source IDs and generated links, unsafe nitrate/PDE5/riociguat overlap, malformed curves, changes to the baseline phenotype, circulation profile, RV availability or oxygen saturation, and newly invented systemic flow when baseline flow was unknown. An existing systemic-flow assumption may change, explicitly as a synthetic assumption; it does not supply pulmonary flow or a resistance calculation. Unsupported drugs, settings or effects should produce no applicable response. These are bounded prototype checks, not medication reconciliation or a complete interaction screen.
Review the proposed mechanism, time frame, curve-derived pressure changes, risks and citations before Apply medication response. Baseline and Medication response switch the displayed pressure and rate endpoint. Dashed baseline curves, when enabled on the shared pressure scale, are aligned by cardiac phase to the displayed beat duration; they are a shape comparison, not simultaneous recordings at two heart rates. The table compares the same interpolants used to draw the curves. Remove response returns to baseline, and Return to standard simulator restores the underlying simulator. New baseline cases remount the tool; refresh removes all generated medication state. No response is saved to cases, classroom snapshots, browser storage, the catalogue or a database.
Every medication proposal starts from the original baseline. To illustrate combination treatment, specify the complete plan in one request; separate proposals are not cumulatively compounded. No dosing algorithm, concentration-time model, pharmacokinetic integration or validated treatment-response function is fitted. The generated numerical endpoint and magnitude are original illustrative assumptions. The references support qualitative pharmacology and context, not those numerical choices. A lower PA or systemic pressure does not by itself establish clinical benefit.
Longer-term PAH therapies require an appropriate established-disease phenotype and follow-up time frame; they must not appear as an instant rescue response. Fixed outflow obstruction and structural shunts are not repaired by a drug. TOF guidance for dynamic infundibular obstruction and hypercyanotic spells is pediatric emergency guidance; its qualitative mechanisms do not validate an adult static illustration, prescribe a dose or reconstruct shunt flow. Pressure bounds and successful API responses are not clinical validation.
Unavailable responses
A wrong password, expired session, local request limit, provider capacity issue, exhausted API credit or network timeout produces an explicit error instead of a fabricated answer. A valid key alone does not establish available credit or clinical validity. Stop and Clear prevent a late response from repopulating a cleared local conversation.
References & further reading