[{"data":1,"prerenderedAt":647},["ShallowReactive",2],{"i-lucide:chevron-down":3,"i-lucide:search":8,"i-lucide:sun":10,"i-lucide:moon":12,"i-lucide:arrow-right":14,"i-lucide:menu":16,"i-lucide:mail":18,"i-simple-icons:x":20,"i-simple-icons:linkedin":22,"i-simple-icons:dribbble":25,"i-simple-icons:github":27,"work-\u002Fwork\u002Fmeridian-clinical-ai":29,"work-order":568,"i-lucide:clock":599,"i-lucide:flask-conical":601,"i-lucide:target":603,"i-lucide:minus":605,"i-lucide:chevron-right":607,"i-lucide:pen-tool":609,"i-lucide:lightbulb":611,"i-lucide:palette":613,"i-lucide:type":615,"i-lucide:variable":617,"i-lucide:blocks":619,"i-lucide:component":621,"i-lucide:circle-check":623,"i-lucide:triangle-alert":625,"i-lucide:circle-x":627,"i-lucide:circle-dashed":629,"i-lucide:check":631,"i-lucide:plus":633,"i-lucide:gauge":635,"i-lucide:scan-eye":637,"i-lucide:eye":639,"i-lucide:git-compare":641,"i-lucide:file-text":643,"i-lucide:workflow":645},{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":7},0,24,false,"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"m6 9l6 6l6-6\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":9},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"m21 21l-4.34-4.34\"\u002F>\u003Ccircle cx=\"11\" cy=\"11\" r=\"8\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":11},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Ccircle cx=\"12\" cy=\"12\" r=\"4\"\u002F>\u003Cpath d=\"M12 2v2m0 16v2M4.93 4.93l1.41 1.41m11.32 11.32l1.41 1.41M2 12h2m16 0h2M6.34 17.66l-1.41 1.41M19.07 4.93l-1.41 1.41\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":13},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":15},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M5 12h14m-7-7l7 7l-7 7\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":17},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M4 5h16M4 12h16M4 19h16\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":19},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"m22 7l-8.991 5.727a2 2 0 0 1-2.009 0L2 7\"\u002F>\u003Crect width=\"20\" height=\"16\" x=\"2\" y=\"4\" rx=\"2\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":21},"\u003Cpath fill=\"currentColor\" d=\"M14.234 10.162L22.977 0h-2.072l-7.591 8.824L7.251 0H.258l9.168 13.343L.258 24H2.33l8.016-9.318L16.749 24h6.993zm-2.837 3.299l-.929-1.329L3.076 1.56h3.182l5.965 8.532l.929 1.329l7.754 11.09h-3.182z\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":23,"hidden":24},"\u003Cpath fill=\"currentColor\" d=\"M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037c-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85c3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433a2.06 2.06 0 0 1-2.063-2.065a2.064 2.064 0 1 1 2.063 2.065m1.782 13.019H3.555V9h3.564zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0z\"\u002F>",true,{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":26},"\u003Cpath fill=\"currentColor\" d=\"M12 24C5.385 24 0 18.615 0 12S5.385 0 12 0s12 5.385 12 12s-5.385 12-12 12m10.12-10.358c-.35-.11-3.17-.953-6.384-.438c1.34 3.684 1.887 6.684 1.992 7.308a10.28 10.28 0 0 0 4.395-6.87zm-6.115 7.808c-.153-.9-.75-4.032-2.19-7.77l-.066.02c-5.79 2.015-7.86 6.025-8.04 6.4a10.16 10.16 0 0 0 6.29 2.166c1.42 0 2.77-.29 4-.814zm-11.62-2.58c.232-.4 3.045-5.055 8.332-6.765q.202-.067.405-.12q-.392-.879-.832-1.74C7.17 11.775 2.206 11.71 1.756 11.7l-.004.312c0 2.633.998 5.037 2.634 6.855zm-2.42-8.955c.46.008 4.683.026 9.477-1.248a66 66 0 0 0-3.8-5.928a10.28 10.28 0 0 0-5.676 7.17zM9.6 2.052c.282.38 2.145 2.914 3.822 6c3.645-1.365 5.19-3.44 5.373-3.702A10.2 10.2 0 0 0 12 1.764c-.825 0-1.63.1-2.4.285zm10.335 3.483c-.218.29-1.935 2.493-5.724 4.04c.24.49.47.985.68 1.486c.08.18.15.36.22.53c3.41-.43 6.8.26 7.14.33c-.02-2.42-.88-4.64-2.31-6.38z\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":28},"\u003Cpath fill=\"currentColor\" d=\"M12 .297c-6.63 0-12 5.373-12 12c0 5.303 3.438 9.8 8.205 11.385c.6.113.82-.258.82-.577c0-.285-.01-1.04-.015-2.04c-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729c1.205.084 1.838 1.236 1.838 1.236c1.07 1.835 2.809 1.305 3.495.998c.108-.776.417-1.305.76-1.605c-2.665-.3-5.466-1.332-5.466-5.93c0-1.31.465-2.38 1.235-3.22c-.135-.303-.54-1.523.105-3.176c0 0 1.005-.322 3.3 1.23c.96-.267 1.98-.399 3-.405c1.02.006 2.04.138 3 .405c2.28-1.552 3.285-1.23 3.285-1.23c.645 1.653.24 2.873.12 3.176c.765.84 1.23 1.91 1.23 3.22c0 4.61-2.805 5.625-5.475 5.92c.42.36.81 1.096.81 2.22c0 1.606-.015 2.896-.015 3.286c0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12\"\u002F>",{"id":30,"title":31,"accent":32,"accentLight":33,"body":34,"challenge":124,"client":142,"cover":143,"coverAlt":144,"decisions":145,"description":176,"excerpt":177,"extension":178,"featured":6,"features":179,"flows":204,"gallery":241,"ia":279,"industry":324,"kind":325,"meta":326,"navigation":24,"order":120,"outcomes":327,"path":352,"platform":353,"principles":356,"projectType":375,"research":376,"seo":455,"services":456,"stack":460,"stem":465,"system":466,"timeline":565,"year":566,"__hash__":567},"work\u002Fwork\u002F2.meridian-clinical-ai.md","Designing an AI that clinicians are allowed to disagree with","#22C55E","#15943F",{"type":35,"value":36,"toc":115},"minimark",[37,42,46,49,52,56,59,62,70,73,77,80,83,86,89,92,96,103,109],[38,39,41],"h2",{"id":40},"the-problem-is-not-accuracy","The problem is not accuracy",[43,44,45],"p",{},"The scenario deliberately gives Meridian a good model. That is the only way to\nsee the interface problem clearly.",[43,47,48],{},"If a recommendation is often wrong, the design question is uninteresting: fix\nthe model, and in the meantime make it easy to ignore. The hard and much more\ncommon case is a model that is usually right and still does not change what\nanyone does. At that point the failure is entirely in the space between the\nmodel's output and a professional's ability to act on it — which is the\ninterface, and nothing else.",[43,50,51],{},"What a clinician needs from a recommendation is not a conclusion. It is material\nfor a justification they will have to give later, possibly under scrutiny, from\nmemory, about a case they saw for four minutes eighteen months ago. A severity\nscore cannot enter that justification. It is not that clinicians distrust the\nnumber; it is that the number is not the kind of thing that can be cited.",[38,53,55],{"id":54},"reversing-the-reading-order","Reversing the reading order",[43,57,58],{},"Almost everything in the design follows from one inversion: lead with the\nevidence, let the conclusion follow.",[43,60,61],{},"The current state shows a recommendation and hides the reasoning behind a\nnavigation. That ordering casts the clinician as a reviewer of the model's\noutput — their job is to accept or reject something already decided. Showing\nthe weighted record fields first casts them as the decision-maker, with the\nmodel as a colleague who has read the chart and has a view.",[43,63,64,65,69],{},"The second framing is both more accurate and safer. It is more accurate because\nthe clinician ",[66,67,68],"em",{},"is"," the decision-maker, legally and clinically. It is safer\nbecause reasoning that is visible can be checked, and a conclusion that arrives\nalone can only be trusted or not.",[43,71,72],{},"This is also why the evidence panel is expanded by default rather than behind a\ndisclosure. A panel that must be opened is a panel that goes unopened on the\nshift where it would have mattered most.",[38,74,76],{"id":75},"the-step-we-added-on-purpose","The step we added on purpose",[43,78,79],{},"Every other decision here removes work. One adds it, and it is the one worth\ndefending.",[43,81,82],{},"The initial impression — a brief recorded read before the model's output is\nrevealed — costs a step on every case. On a full queue that is real time, and it\nis the first thing that will be proposed for removal when throughput is under\npressure.",[43,84,85],{},"The argument for keeping it is that without it, the human in the loop is\ndecorative. Anchoring is not a bias people can notice in themselves and correct\nfor; the whole mechanism is that the anchored judgement feels like an\nindependent one. If the clinician sees the model's answer before forming a view,\ntheir agreement carries almost no information, and the safety case built on\n\"a clinician reviewed every recommendation\" is hollow.",[43,87,88],{},"So the step buys two things: an independent read, and a dataset of human\nassessments formed without model influence — which is, incidentally, the only\nhonest way to measure whether the model is helping.",[43,90,91],{},"We wrote that reasoning into the interface itself rather than leaving it in a\ndesign document, because the person who eventually proposes removing the step\nwill not read the design document.",[38,93,95],{"id":94},"what-we-are-least-sure-about","What we are least sure about",[43,97,98,102],{},[99,100,101],"strong",{},"Three bands may be too few."," Collapsing a continuous confidence into three\nstates throws away real information, and a clinician who was reading the\ngradient correctly is worse served. The defence is that most were not, but that\nis an assumption in this scenario, not a measurement. With real calibration data\nthe right answer might be four bands, or bands that vary by pathway.",[43,104,105,108],{},[99,106,107],{},"Free text will be hard to live with."," It is the honest choice and it is\ngenuinely worse for anyone who needs to count things. Clustering approximates\nwhat a taxonomy would have given exactly, and approximate analysis of true\nreasons beats exact counts of false ones — but the safety lead will feel that\ntrade every quarter.",[43,110,111,114],{},[99,112,113],{},"Symmetric actions have a real cost."," Removing the default removes the\nkeyboard fast-path, and on routine cases experienced clinicians will find the\nnew surface slower than the old one. That is the correct trade for a safety\nproperty, and it is still a cost that someone pays on every shift.",{"title":116,"searchDepth":117,"depth":117,"links":118},"",3,[119,121,122,123],{"id":40,"depth":120,"text":41},2,{"id":54,"depth":120,"text":55},{"id":75,"depth":120,"text":76},{"id":94,"depth":120,"text":95},{"summary":125,"points":126},"The scenario starts from the uncomfortable finding that keeps recurring in deployed clinical AI: a model can be accurate and still be ignored. Meridian has a triage model with strong validated performance and a review interface that clinicians route around. The interesting question is not how to make the model better. It is what an interface owes a professional who will have to defend the decision to a colleague, a regulator, or a coroner.",[127,130,133,136,139],{"label":128,"detail":129},"Accuracy is not the same as usability","A recommendation that is right 94% of the time is still unusable if a clinician cannot tell which case they are in. Aggregate accuracy is a property of the model; per-case confidence is a property of the interface, and only the second one helps at the bedside.",{"label":131,"detail":132},"An unexplained recommendation is not evidence","Clinicians are trained and required to justify decisions. A severity score with no indication of what in the record produced it cannot enter that justification, whatever its track record.",{"label":134,"detail":135},"The interface made the safe action expensive","In the current state, accepting is one click and disagreeing costs a modal, a taxonomy that does not fit real cases, and a free-text box. That asymmetry is a design decision, and it pushes toward automation bias every hour of every shift.",{"label":137,"detail":138},"Precision theatre erodes trust","Rendering confidence as \"87%\" implies a calibration the model does not have. Clinicians who notice this stop believing the number; clinicians who do not notice are misled by it. There is no audience it serves.",{"label":140,"detail":141},"Every interaction is an audit record","Whatever the interface captures is what exists in two years when someone asks why a decision was made. Designing the capture is designing the legal record.","Meridian Health","\u002Fcase-studies\u002Fmeridian\u002Fscreens\u002Freview-surface.webp","Meridian clinical review surface with evidence above the recommendation",[146,152,158,164,170],{"title":147,"problem":148,"decision":149,"rationale":150,"tradeoff":151},"Three calibrated bands instead of a confidence percentage","\"87% confident\" implies a precision the model cannot support and is read categorically anyway. Both the readers who trust it and the readers who discount it end up worse off than with no number.","Confidence renders as one of three bands — strong signal, mixed signal, weak signal — each with a fixed, written definition of what the model does and does not have in that state.","Three bands can be calibrated honestly and learned once. They also force a genuinely useful distinction the percentage hid: \"weak signal\" means the record is missing something, which is directly actionable in a way that \"62%\" is not.","Real information is discarded. A clinician who did read the gradient correctly loses resolution, and edge cases near a band boundary get rounded. We judged the loss smaller than the harm of false precision, but it is a genuine loss and it should be revisited with calibration data.",{"title":153,"problem":154,"decision":155,"rationale":156,"tradeoff":157},"Evidence panel open by default","Reasoning behind a disclosure is reasoning nobody reads under time pressure, and the whole argument for this redesign is that an unjustifiable recommendation is unusable.","The record fields the model weighted are shown expanded, above the recommendation, each linked to the source it came from.","It makes the recommendation checkable in the few seconds a clinician actually has, and it changes the reading order from \"here is a conclusion, do you accept it\" to \"here is what I looked at, here is what I conclude\".","Significant vertical space on a screen that is already dense, and for experienced users on routine cases it is noise. A collapse control exists, but it does not persist between cases — we chose the cost of re-collapsing over the risk of a permanently hidden evidence panel.",{"title":159,"problem":160,"decision":161,"rationale":162,"tradeoff":163},"Withhold the recommendation until an initial impression is recorded","Showing the model's answer first anchors the clinician's own assessment. Anchoring is invisible to the person it happens to, and it silently removes the independent judgement that justifies having a human reviewer.","The clinician records a brief initial impression, then the evidence and recommendation are revealed together.","It preserves an independent read, and as a side effect it produces exactly the dataset the safety lead needs — every case now carries a human assessment formed without model influence.","This is the most expensive decision on the page. It adds a step to every case, and on a shift with a full queue that is real time. It is also the decision most likely to be removed under throughput pressure, which is why the rationale is written into the interface rather than left in a design document.",{"title":165,"problem":166,"decision":167,"rationale":168,"tradeoff":169},"Equal affordance for agree and disagree","When accepting is one click and rejecting is six, the interface has an opinion, and it applies that opinion at scale. Automation bias does not need much help.","Both actions are the same size, the same weight, the same distance from the pointer, and neither is a default. Neither is styled as primary.","Removing the asymmetry removes a systematic bias from thousands of decisions a week. It also improves the data: an override is now cheap enough to record honestly rather than skipped.","No default action means no keyboard fast-path for the common case, and experienced users on routine cases will find it slower. We accepted that cost; a default here is a thumb on the scale by construction.",{"title":171,"problem":172,"decision":173,"rationale":174,"tradeoff":175},"Free text instead of an override taxonomy","A fixed reason list is faster to analyse and almost never fits the case in front of the clinician, so it collects whichever option is least wrong. That is worse than no data, because it looks like data.","One free-text field, with the structured fields — which evidence was shown, which band, what the initial impression was — captured automatically.","The structure comes from state the interface already has, so it costs the clinician nothing and is accurate. The part only a human can supply is left as prose, where it is honest.","Free text is expensive to analyse in aggregate and cannot be counted directly. The divergence view groups it with clustering, which is approximate and needs review — we preferred approximate analysis of true reasons over exact counts of false ones.","A concept study in clinical AI interface design — rebuilding a triage review surface around provenance, calibrated uncertainty and a disagreement path that costs no more than agreement.",null,"md",[180,184,188,192,196,200],{"title":181,"detail":182,"icon":183},"Calibrated confidence bands","Three states with fixed written definitions, replacing a percentage that was read categorically anyway.","lucide:gauge",{"title":185,"detail":186,"icon":187},"Provenance-first review surface","The record fields the model weighted, linked to source, shown above the recommendation and expanded by default.","lucide:scan-eye",{"title":189,"detail":190,"icon":191},"Anchor-resistant reveal","The recommendation is withheld until the clinician records an independent initial impression.","lucide:eye",{"title":193,"detail":194,"icon":195},"Symmetric decision bar","Agree and disagree at identical weight, with no default and no primary styling on either.","lucide:git-compare",{"title":197,"detail":198,"icon":199},"Zero-cost audit capture","Structured audit fields are taken from interface state, so a complete record is produced without the clinician doing anything extra.","lucide:file-text",{"title":201,"detail":202,"icon":203},"Divergence analysis","Overrides clustered by reason, surfacing where the model and clinical judgement systematically part company.","lucide:workflow",[205,218,229],{"title":206,"note":207,"before":208,"after":215},"Recording a disagreement","This is the flow the whole project turns on. Every interaction removed here makes the safest action cheaper, thousands of times a week.",[209,210,211,212,213,214],"Click reject","Open modal","Choose a taxonomy reason","Type a justification","Confirm","Dismiss modal",[216,217],"Click disagree","Type the reason inline",{"title":219,"note":220,"before":221,"after":227},"Understanding why the model said this","In the current state the reasoning is not in the product. Moving it in is most of the work.",[222,223,224,225,226],"Read the score","Open the model information page","Read the model card","Return to the case","Reconstruct which fields might apply",[228],"Read the evidence panel, open by default",{"title":230,"note":231,"before":232,"after":237},"Working a case end to end","The redesigned flow is one step longer, and deliberately so — the initial impression is the step that stops the model anchoring the clinician.",[233,234,235,236],"Open case","See recommendation","Read record","Accept",[233,235,238,239,240],"Record initial impression","Reveal evidence and recommendation","Agree or disagree",[242,249,256,262,267,272],{"title":243,"caption":244,"src":143,"width":245,"alt":246,"frame":247,"span":248},"Review surface","Record, evidence, recommendation and both actions on one screen. Reading order runs evidence first, conclusion second — the inverse of the current state, and the inversion the whole redesign turns on.",1440,"Clinical review screen with patient record, weighted evidence and recommendation","browser","full",{"title":250,"caption":251,"src":252,"width":253,"alt":254,"frame":255},"Equal affordance","Agree and disagree at identical size, weight and distance from the pointer. Neither is styled as primary, because a default here is a thumb on the scale applied thousands of times a week.","\u002Fcase-studies\u002Fmeridian\u002Fcomponents\u002Freview-surface--decision.webp",604,"Two identically weighted buttons, agree and disagree","plain",{"title":257,"caption":258,"src":259,"width":260,"alt":261,"frame":255,"span":248},"Calibrated bands","Three states with written definitions, replacing a percentage that was read categorically anyway. \"Weak signal\" names the absent field rather than emitting a low number, which is what makes it actionable.","\u002Fcase-studies\u002Fmeridian\u002Fcomponents\u002Fevidence-panel--bands.webp",1164,"Three confidence bands with written definitions and recommended actions",{"title":263,"caption":264,"src":265,"width":245,"alt":266,"frame":247},"Provenance","Each weighted field links to the record entry it came from, and the absent one is shown as a gap in the record rather than a negative finding.","\u002Fcase-studies\u002Fmeridian\u002Fscreens\u002Fevidence-panel.webp","Field weighting panel with links to source records",{"title":268,"caption":269,"src":270,"width":245,"alt":271,"frame":247},"Disagreement, inline","One control and a free-text box. The structured audit fields beside it are taken from interface state, so the clinician types only the part a person has to supply.","\u002Fcase-studies\u002Fmeridian\u002Fscreens\u002Fdisagreement.webp","Inline disagreement with automatically captured audit fields",{"title":273,"caption":274,"src":275,"width":276,"alt":277,"frame":278},"Initial impression","The step added on purpose, and the one most likely to be cut under throughput pressure — so its reasoning is written into the interface rather than left in a design document.","\u002Fcase-studies\u002Fmeridian\u002Fmobile\u002Finitial-impression.webp",390,"Bedside tablet screen capturing the clinician's read before the model's","mobile",[280,290,304,314],{"label":281,"detail":282,"children":283},"Case queue","The clinician's working list, ordered by their own triage rules rather than by model confidence.",[284,287],{"label":285,"detail":286},"Queue filters","By acuity, wait time and location — never by what the model thinks",{"label":288,"detail":289},"Case card","Shows presenting complaint only; no model output at list level",{"label":243,"detail":291,"children":292},"One screen holding the record, the evidence, the recommendation and both actions.",[293,296,298,301],{"label":294,"detail":295},"Record summary","History, observations, medications — the clinician's own read",{"label":273,"detail":297},"Captured before the recommendation is revealed",{"label":299,"detail":300},"Evidence panel","The record fields the model weighted, each linked to its source",{"label":302,"detail":303},"Recommendation","Pathway, calibrated confidence band, and the caveat that applies",{"label":305,"detail":306,"children":307},"Decision","Two equally weighted actions, plus the free-text reason that feeds the audit record.",[308,311],{"label":309,"detail":310},"Agree","Records agreement and the evidence shown at the time",{"label":312,"detail":313},"Disagree","One control, free-text reason, no taxonomy",{"label":315,"detail":316,"children":317},"Audit trail","For the safety lead rather than the clinician — reconstructs any decision from stored state.",[318,321],{"label":319,"detail":320},"Decision replay","Exactly what was on screen when the decision was made",{"label":322,"detail":323},"Divergence view","Where clinicians systematically override, grouped by reason","Healthcare","concept",{},[328,332,336,340,344,348],{"value":329,"label":330,"description":331},"4 → 1","Interactions to record disagreement","A modal, a taxonomy select and a free-text justification collapsed into one inline control that captures the same audit data.",{"value":333,"label":334,"description":335},"100%","Recommendations carrying provenance","Every recommendation links the specific record fields that drove it. Previously none did.",{"value":337,"label":338,"description":339},"3 bands","Replacing a confidence percentage","A calibrated three-band scale, because \"87% confident\" was read as either meaningless or falsely precise.",{"value":341,"label":342,"description":343},"9 → 4","Screens in the review path","Reasoning, evidence and history moved into the review surface instead of sitting behind separate navigations.",{"value":345,"label":346,"description":347},"2","Actions with equal affordance","Accept and disagree are the same size, the same distance from the pointer, and neither is the default.",{"value":349,"label":350,"description":351},"0","Automatic actions","The model never writes to the record. It argues; a person decides.","\u002Fwork\u002Fmeridian-clinical-ai",[354,355],"Clinical web application","Tablet, bedside",[357,360,363,366,369,372],{"title":358,"detail":359},"Provenance before conclusion","The interface leads with the record fields the model weighted and lets the recommendation follow from them. A conclusion presented first is something to accept or reject; evidence presented first is something to reason with.",{"title":361,"detail":362},"Uncertainty is content","Confidence gets the same typographic weight and the same permanence as the recommendation. It is not a tooltip, a footnote or a colour — it is part of what the model is saying.",{"title":364,"detail":365},"Disagreement must cost what agreement costs","Any asymmetry between the two paths is a thumb on the scale, applied thousands of times a week. Equal affordance is a safety property, not a courtesy.",{"title":367,"detail":368},"The model argues, it never acts","No recommendation writes to the record, schedules anything, or proceeds on a timeout. Every state change passes through a person.",{"title":370,"detail":371},"Do not anchor the clinician","The recommendation is withheld until the clinician records an initial impression. This costs a step and buys an independent read, which is the entire value of having a clinician in the loop.",{"title":373,"detail":374},"The audit record is a design deliverable","What the interface captures by default is what will exist when someone reconstructs the decision. It must be complete without anyone trying.","AI product design & interaction model",{"summary":377,"premises":378,"personas":397,"journey":424},"The premises below are the scenario we chose, drawn from the failure patterns that recur across published clinical decision-support deployments. They are assumptions we committed to and designed against, not findings from clinicians we spoke to — there were none.",[379,382,385,388,391,394],{"label":380,"detail":381},"The model is good and still ignored","We deliberately set the model's validated accuracy high. If the recommendation were often wrong, the design problem would be trivial and uninteresting: fix the model. Assuming it is right isolates the interface problem.",{"label":383,"detail":384},"Most rejections are not disagreements","We assume clinicians decline to engage with the recommendation far more often than they actively judge it wrong. Disengagement and disagreement look identical in the telemetry and need completely different fixes.",{"label":386,"detail":387},"Confidence is read categorically","We assume any percentage above roughly 80 collapses in the reader's mind to \"the computer thinks yes\", erasing the gradient the number exists to convey.",{"label":389,"detail":390},"The recommendation arrives before the clinician has formed a view","Current-state placement shows the model's answer at the top of the case. We assume this anchors the clinician's own assessment, which is the thing least recoverable once it happens.",{"label":392,"detail":393},"Disagreement is the most valuable signal in the system","A clinician who overrides the model with a reason is generating the highest-quality training and safety data available. The current design taxes exactly that behaviour.",{"label":395,"detail":396},"Regulatory scrutiny is a design input, not a constraint added later","The interface must produce a defensible record by default, without the clinician doing anything extra to make it defensible.",[398,411],{"name":399,"role":400,"context":401,"goals":402,"frustrations":406,"quote":410},"Dr. Yusuf Adeyemi","Emergency triage clinician","Works a twelve-hour shift with a queue that never empties, seeing each case for a few minutes. He is not hostile to the model — he simply cannot spend ninety seconds working out where a number came from.",[403,404,405],"Reach a defensible decision quickly and move to the next case","Know when the model is on firm ground and when it is guessing","Leave a record that explains itself without extra typing",[407,408,409],"A severity score with no indication of what drove it","Disagreeing takes four interactions; accepting takes one","The model's answer appears before he has read the case himself","I do not need it to be right. I need to be able to say why I did what I did, and right now it cannot help me with that.",{"name":412,"role":413,"context":414,"goals":415,"frustrations":419,"quote":423},"Marielle Koch","Clinical Safety Lead","Owns the incident review process and signs off the deployment. She is the person who will be asked to reconstruct a decision eighteen months after it was made, from whatever the interface happened to store.",[416,417,418],"Reconstruct any decision from the record alone","See where the model and clinicians systematically diverge","Demonstrate that no action was taken without a person in the loop",[420,421,422],"Override reasons captured as a taxonomy that fits few real cases","No record of what the model showed, only what it concluded","Disengagement and disagreement are indistinguishable in the data","If the only thing we stored is that someone clicked accept, we have not stored a decision. We have stored a click.",[425,429,434,440,445,450],{"stage":426,"doing":427,"feeling":428},"Case enters queue","Opens the next case from the triage list.","neutral",{"stage":430,"doing":431,"feeling":428,"friction":432,"opportunity":433},"Reads the record","Scans history, observations and presenting complaint.","The model's recommendation is already on screen, before he has formed a view.","Withhold the recommendation until the clinician has recorded an initial read.",{"stage":435,"doing":436,"feeling":437,"friction":438,"opportunity":439},"Sees the recommendation","Reads a severity score and a suggested pathway.","negative","No indication of what in the record produced it.","Lead with the evidence, and let the conclusion follow from it.",{"stage":441,"doing":442,"feeling":437,"friction":443,"opportunity":444},"Looks for reasoning","Opens two other screens hunting for the model's inputs.","The reasoning is not in the product at all — it is in a model card.","Put provenance in the review surface, open by default.",{"stage":446,"doing":447,"feeling":437,"friction":448,"opportunity":449},"Considers disagreeing","Weighs a four-interaction override against simply ignoring the panel.","The taxonomy does not describe his actual reason.","Make disagreement one interaction and let the reason be free text.",{"stage":451,"doing":452,"feeling":428,"friction":453,"opportunity":454},"Documents own decision","Records his assessment separately, as though the model were not there.","The most valuable signal in the system — an expert override — is lost.","Capture the override as structured data without taxing the clinician.",{"title":31,"description":176},[457,458,459],"AI Product Design","Product Design","Product Strategy",[461,462,463,464],"Figma","React","TypeScript","FHIR","work\u002F2.meridian-clinical-ai",{"summary":467,"radius":468,"density":469,"palette":470,"type":489,"tokens":513,"components":537,"specimens":560},"A restrained, high-legibility system for a screen read under time pressure at arm's length. The distinguishing decisions are a calm status ramp that never uses colour alone, generous type at bedside distance, and a confidence band component that is the only place uncertainty is expressed.",10,"spacious",[471,475,478,481,485],{"name":472,"value":473,"role":474},"Slate ink","#0D1117","Primary surface, dark theme",{"name":476,"value":32,"role":477},"Vital","Agreement and strong-signal states, dark theme",{"name":479,"value":33,"role":480},"Vital (light)","The same role restepped for the light theme",{"name":482,"value":483,"role":484},"Neutral","#71717A","Secondary text, and the reference series in charts",{"name":486,"value":487,"role":488},"Caution","#F59E0B","Mixed signal — always paired with an icon and a word",[490,496,499,504,508],{"name":491,"size":492,"weight":493,"tracking":494,"usage":495},"Case title","1.75rem",600,"-0.02em","Patient and case identifiers",{"name":302,"size":497,"weight":493,"usage":498},"1.25rem","The model's conclusion and the confidence band",{"name":500,"size":501,"weight":502,"usage":503},"Body","1.0625rem",400,"Record text, read at arm's length on a bedside tablet",{"name":505,"size":506,"weight":502,"usage":507},"Evidence","0.9375rem","Linked record fields inside the evidence panel",{"name":509,"size":510,"weight":511,"usage":512},"Meta","0.8125rem",500,"Timestamps, authorship and audit references",[514,518,522,526,530,534],{"name":515,"value":516,"usage":517},"--band-strong","signal ≥ 2 concordant","Strong signal. Definition is a token so the UI and the model share one rule.",{"name":519,"value":520,"usage":521},"--band-weak","missing ≥ 1 key field","Weak signal — states what is absent rather than emitting a low number.",{"name":523,"value":524,"usage":525},"--action-parity","true","Enforces identical geometry for agree and disagree. Asserted in tests.",{"name":527,"value":528,"usage":529},"--evidence-default","expanded","The evidence panel's initial state. Collapse never persists across cases.",{"name":531,"value":532,"usage":533},"--touch-target","44px","Minimum for gloved use on a bedside tablet.",{"name":535,"value":349,"usage":536},"--auto-actions","A build-time assertion, not a preference. Nothing acts without a person.",[538,541,545,548,552,556],{"name":539,"variants":117,"detail":540},"ConfidenceBand","The single place uncertainty is expressed. Icon, word and colour, in that order.",{"name":542,"variants":543,"detail":544},"EvidenceItem",6,"A weighted record field linked to its source, with the direction of its contribution.",{"name":546,"variants":120,"detail":547},"DecisionBar","Agree and disagree at identical weight. No primary variant exists.",{"name":549,"variants":550,"detail":551},"RecordSection",9,"Collapsible record regions with a persistent summary line.",{"name":553,"variants":554,"detail":555},"CaseCard",4,"Queue entry. Deliberately carries no model output.",{"name":557,"variants":558,"detail":559},"AuditEntry",5,"Immutable decision record, replaying exactly what was on screen.",[561,562,563,564],"status","cards","buttons","chart","11-week scope","2026","hEkl59zFryRI1zzpXKqmYdPBxOzxPSw72Kd7VzLrTOw",[569,575,576,582,587,593],{"path":570,"client":571,"title":572,"excerpt":177,"accent":573,"industry":574},"\u002Fwork\u002Fnorthwind-design-system","Northwind Cloud","One design system across four acquired products","#00D4FF","SaaS",{"path":352,"client":142,"title":31,"excerpt":177,"accent":32,"industry":324},{"path":577,"client":578,"title":579,"excerpt":177,"accent":580,"industry":581},"\u002Fwork\u002Fledgerly-onboarding","Ledgerly","Rebuilding onboarding around the first useful moment","#7C3AED","Fintech",{"path":583,"client":584,"title":585,"excerpt":177,"accent":487,"industry":586},"\u002Fwork\u002Ffleetwise-dashboard","Fleetwise","A fleet dashboard people stop exporting to spreadsheets","Logistics",{"path":588,"client":589,"title":590,"excerpt":177,"accent":591,"industry":592},"\u002Fwork\u002Fverdigris-marketplace","Verdigris","An e-commerce system where every product is one of one","#E07A5F","E-commerce",{"path":594,"client":595,"title":596,"excerpt":177,"accent":597,"industry":598},"\u002Fwork\u002Fhalyard-progressive-delivery","Halyard","A progressive delivery console that can answer \"who is seeing this?\"","#818CF8","Developer Tools",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":600},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Ccircle cx=\"12\" cy=\"12\" r=\"10\"\u002F>\u003Cpath d=\"M12 6v6l4 2\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":602},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M14 2v6a2 2 0 0 0 .245.96l5.51 10.08A2 2 0 0 1 18 22H6a2 2 0 0 1-1.755-2.96l5.51-10.08A2 2 0 0 0 10 8V2M6.453 15h11.094M8.5 2h7\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":604},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Ccircle cx=\"12\" cy=\"12\" r=\"10\"\u002F>\u003Ccircle cx=\"12\" cy=\"12\" r=\"6\"\u002F>\u003Ccircle cx=\"12\" cy=\"12\" r=\"2\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":606},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M5 12h14\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":608},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"m9 18l6-6l-6-6\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":610},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M15.707 21.293a1 1 0 0 1-1.414 0l-1.586-1.586a1 1 0 0 1 0-1.414l5.586-5.586a1 1 0 0 1 1.414 0l1.586 1.586a1 1 0 0 1 0 1.414z\"\u002F>\u003Cpath d=\"m18 13l-1.375-6.874a1 1 0 0 0-.746-.776L3.235 2.028a1 1 0 0 0-1.207 1.207L5.35 15.879a1 1 0 0 0 .776.746L13 18M2.3 2.3l7.286 7.286\"\u002F>\u003Ccircle cx=\"11\" cy=\"11\" r=\"2\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":612},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M15 14c.2-1 .7-1.7 1.5-2.5c1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5c.7.7 1.3 1.5 1.5 2.5m0 4h6m-5 4h4\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":614},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M12 22a1 1 0 0 1 0-20a10 9 0 0 1 10 9a5 5 0 0 1-5 5h-2.25a1.75 1.75 0 0 0-1.4 2.8l.3.4a1.75 1.75 0 0 1-1.4 2.8z\"\u002F>\u003Ccircle cx=\"13.5\" cy=\"6.5\" r=\".5\" fill=\"currentColor\"\u002F>\u003Ccircle cx=\"17.5\" cy=\"10.5\" r=\".5\" fill=\"currentColor\"\u002F>\u003Ccircle cx=\"6.5\" cy=\"12.5\" r=\".5\" fill=\"currentColor\"\u002F>\u003Ccircle cx=\"8.5\" cy=\"7.5\" r=\".5\" fill=\"currentColor\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":616},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M12 4v16M4 7V5a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v2M9 20h6\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":618},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M8 21s-4-3-4-9s4-9 4-9m8 0s4 3 4 9s-4 9-4 9M15 9l-6 6m0-6l6 6\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":620},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M10 22V7a1 1 0 0 0-1-1H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-5a1 1 0 0 0-1-1H2\"\u002F>\u003Crect width=\"8\" height=\"8\" x=\"14\" y=\"2\" rx=\"1\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":622},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M15.536 11.293a1 1 0 0 0 0 1.414l2.376 2.377a1 1 0 0 0 1.414 0l2.377-2.377a1 1 0 0 0 0-1.414l-2.377-2.377a1 1 0 0 0-1.414 0zm-13.239 0a1 1 0 0 0 0 1.414l2.377 2.377a1 1 0 0 0 1.414 0l2.377-2.377a1 1 0 0 0 0-1.414L6.088 8.916a1 1 0 0 0-1.414 0zm6.619 6.619a1 1 0 0 0 0 1.415l2.377 2.376a1 1 0 0 0 1.414 0l2.377-2.376a1 1 0 0 0 0-1.415l-2.377-2.376a1 1 0 0 0-1.414 0zm0-13.238a1 1 0 0 0 0 1.414l2.377 2.376a1 1 0 0 0 1.414 0l2.377-2.376a1 1 0 0 0 0-1.414l-2.377-2.377a1 1 0 0 0-1.414 0z\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":624},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Ccircle cx=\"12\" cy=\"12\" r=\"10\"\u002F>\u003Cpath d=\"m9 12l2 2l4-4\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":626},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"m21.73 18l-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3M12 9v4m0 4h.01\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":628},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Ccircle cx=\"12\" cy=\"12\" r=\"10\"\u002F>\u003Cpath d=\"m15 9l-6 6m0-6l6 6\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":630},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M10.1 2.182a10 10 0 0 1 3.8 0m0 19.636a10 10 0 0 1-3.8 0m7.509-18.097a10 10 0 0 1 2.69 2.7M2.182 13.9a10 10 0 0 1 0-3.8m18.097 7.509a10 10 0 0 1-2.7 2.69M21.818 10.1a10 10 0 0 1 0 3.8M3.721 6.391a10 10 0 0 1 2.7-2.69m-.03 16.578a10 10 0 0 1-2.69-2.7\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":632},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M20 6L9 17l-5-5\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":634},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M5 12h14m-7-7v14\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":636},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"m12 14l4-4M3.34 19a10 10 0 1 1 17.32 0\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":638},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M3 7V5a2 2 0 0 1 2-2h2m10 0h2a2 2 0 0 1 2 2v2m0 10v2a2 2 0 0 1-2 2h-2M7 21H5a2 2 0 0 1-2-2v-2\"\u002F>\u003Ccircle cx=\"12\" cy=\"12\" r=\"1\"\u002F>\u003Cpath d=\"M18.944 12.33a1 1 0 0 0 0-.66a7.5 7.5 0 0 0-13.888 0a1 1 0 0 0 0 .66a7.5 7.5 0 0 0 13.888 0\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":640},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M2.062 12.348a1 1 0 0 1 0-.696a10.75 10.75 0 0 1 19.876 0a1 1 0 0 1 0 .696a10.75 10.75 0 0 1-19.876 0\"\u002F>\u003Ccircle cx=\"12\" cy=\"12\" r=\"3\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":642},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Ccircle cx=\"18\" cy=\"18\" r=\"3\"\u002F>\u003Ccircle cx=\"6\" cy=\"6\" r=\"3\"\u002F>\u003Cpath d=\"M13 6h3a2 2 0 0 1 2 2v7m-7 3H8a2 2 0 0 1-2-2V9\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":644},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z\"\u002F>\u003Cpath d=\"M14 2v5a1 1 0 0 0 1 1h5M10 9H8m8 4H8m8 4H8\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":646},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Crect width=\"8\" height=\"8\" x=\"3\" y=\"3\" rx=\"2\"\u002F>\u003Cpath d=\"M7 11v4a2 2 0 0 0 2 2h4\"\u002F>\u003Crect width=\"8\" height=\"8\" x=\"13\" y=\"13\" rx=\"2\"\u002F>\u003C\u002Fg>",1787597897156]