Compare commits

...

2 Commits

Author SHA1 Message Date
Deep Koluguri 96080b81a2 fix: finalize v13 clinical excellence
Build Curio HMS / build-and-deploy (push) Successful in 43s Details
2026-05-15 08:41:39 -04:00
Deep Koluguri d26e340bd7 feat: upgrade to Clinical Zen 2.0 with AI Nudges and Patient Insights (v13) 2026-05-15 08:41:26 -04:00
3 changed files with 167 additions and 10 deletions

View File

@ -635,16 +635,124 @@
border-left: 4px solid var(--secondary); border-left: 4px solid var(--secondary);
} }
.p-token { .zen-grid {
display: grid;
grid-template-columns: 1fr 350px;
gap: 2rem;
}
.clinical-notes-card {
background: white;
border-radius: 24px;
box-shadow: 0 4px 20px rgba(0,0,0,0.05);
border: 1px solid #f1f5f9;
overflow: hidden;
}
.zen-textarea {
width: 100%;
height: 600px;
padding: 2rem;
border: none;
font-size: 1.1rem;
line-height: 1.6;
resize: none;
color: var(--primary);
}
.zen-textarea:focus {
outline: none;
}
.zen-sidebar {
display: flex;
flex-direction: column;
gap: 1.5rem;
}
.insight-card, .ai-nudge-box {
background: white;
border-radius: 20px;
padding: 1.5rem;
box-shadow: 0 4px 20px rgba(0,0,0,0.05);
border: 1px solid #f1f5f9;
}
.vitals-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 1rem;
margin-top: 1rem;
}
.vital-item {
display: flex;
flex-direction: column;
align-items: center;
padding: 0.75rem;
background: #f8fafc;
border-radius: 12px;
text-align: center;
}
.vital-item.warning {
background: #fef2f2;
border: 1px solid #fee2e2;
}
.vital-item.warning .value {
color: #ef4444;
}
.vital-item .label {
font-size: 0.7rem;
color: #64748b;
text-transform: uppercase;
letter-spacing: 0.05em;
margin-bottom: 0.25rem;
}
.vital-item .value {
font-weight: 700; font-weight: 700;
color: var(--primary); color: var(--primary);
background: white; font-size: 1rem;
padding: 0.4rem 0.6rem; }
.allergy-tag {
margin-top: 1rem;
padding: 0.5rem 1rem;
background: #fff1f2;
color: #e11d48;
border-radius: 10px;
font-size: 0.85rem;
font-weight: 600;
text-align: center;
}
.ai-nudge-box p {
font-size: 0.95rem;
color: #475569;
margin: 1rem 0;
line-height: 1.5;
}
.suggested-tags {
display: flex;
flex-wrap: wrap;
gap: 0.5rem;
}
.suggested-tags span {
padding: 0.25rem 0.75rem;
background: #f0f9ff;
color: #0369a1;
border-radius: 8px; border-radius: 8px;
font-size: 0.8rem; font-size: 0.8rem;
box-shadow: 0 2px 4px rgba(0,0,0,0.05); font-weight: 500;
cursor: pointer;
} }
.zen-workspace { .zen-workspace {
display: flex; display: flex;
flex-direction: column; flex-direction: column;

View File

@ -106,7 +106,6 @@
<div class="zen-grid"> <div class="zen-grid">
<div class="clinical-workspace-area"> <div class="clinical-workspace-area">
<div class="clinical-notes-card"> <div class="clinical-notes-card">
<div class="card-header">Consultation Notes</div>
<textarea id="consultationNotes" placeholder="Start typing or use Voice AI..." class="zen-textarea"></textarea> <textarea id="consultationNotes" placeholder="Start typing or use Voice AI..." class="zen-textarea"></textarea>
</div> </div>
@ -120,10 +119,34 @@
</div> </div>
</div> </div>
<div class="quick-links"> <div class="zen-sidebar">
<div class="card-header">Quick References</div> <div class="insight-card">
<button class="btn-small secondary">Diabetes Guidelines</button> <div class="card-header">🩺 Patient Insights</div>
<button class="btn-small secondary">Drug Interaction Checker</button> <div class="vitals-grid">
<div class="vital-item">
<span class="label">Temp</span>
<span class="value">98.6°F</span>
</div>
<div class="vital-item warning">
<span class="label">BP</span>
<span class="value">140/90</span>
</div>
<div class="vital-item">
<span class="label">SpO2</span>
<span class="value">98%</span>
</div>
</div>
<div class="allergy-tag">⚠️ Peanuts Allergy</div>
</div>
<div class="ai-nudge-box">
<div class="card-header">✨ AI Assistant</div>
<p id="aiNudgeText">Listening for diagnosis...</p>
<div class="suggested-tags">
<span>#ViralFever</span>
<span>#FluProtocols</span>
</div>
</div>
</div> </div>
</div> </div>
</main> </main>
@ -397,6 +420,6 @@
</div> </div>
</div> </div>
<script src="dashboard.js?v=12"></script> <script src="dashboard.js?v=13"></script>
</body> </body>
</html> </html>

View File

@ -44,11 +44,37 @@ document.addEventListener("DOMContentLoaded", () => {
link.style.display = 'none'; link.style.display = 'none';
} }
}); });
// Hide Admin Top Bar elements
const adminElements = ['.search-box', '.top-actions', '.btn-primary'];
adminElements.forEach(selector => {
const el = document.querySelector(selector);
if (el && !el.closest('.workspace-actions')) el.style.display = 'none';
});
showSection('zen'); showSection('zen');
} else { } else {
showSection('overview'); showSection('overview');
} }
// AI Nudge Simulation Logic
const notesArea = document.getElementById("consultationNotes");
const nudgeText = document.getElementById("aiNudgeText");
const tagsContainer = document.querySelector(".suggested-tags");
if (notesArea) {
notesArea.addEventListener("input", (e) => {
const val = e.target.value.toLowerCase();
if (val.includes("fever") || val.includes("temperature")) {
nudgeText.innerText = "✨ AI suggests: Patient has elevated temp. Consider prescribing Paracetamol and checking for throat infection.";
tagsContainer.innerHTML = '<span>#ViralFever</span><span>#InfectionCheck</span>';
} else if (val.includes("cough") || val.includes("breath")) {
nudgeText.innerText = "✨ AI suggests: Respiratory symptoms detected. Check SpO2 and listen for chest congestion.";
tagsContainer.innerHTML = '<span>#AsthmaProtocol</span><span>#Bronchitis</span>';
}
});
}
// Initialize Recognition // Initialize Recognition
if ('webkitSpeechRecognition' in window) { if ('webkitSpeechRecognition' in window) {
recognition = new webkitSpeechRecognition(); recognition = new webkitSpeechRecognition();