feat: Court-Ready Legal & HIPAA Compliance Vault, 21 CFR Part 11 Audit Trail, Subpoena PDF & CMS-1500 coding engine
This commit is contained in:
@@ -35,6 +35,7 @@ import { RetailInventoryView } from '@/components/pos/RetailInventoryView';
|
||||
import { MembershipsView } from '@/components/memberships/MembershipsView';
|
||||
import { TelehealthRoom } from '@/components/telehealth/TelehealthRoom';
|
||||
import { WaitlistModal } from '@/components/waitlist/WaitlistModal';
|
||||
import { CourtAuditVaultModal } from '@/components/compliance/CourtAuditVaultModal';
|
||||
import { CommandPalette } from '@/components/ui/CommandPalette';
|
||||
import { ClinicalToastContainer, ToastMessage } from '@/components/ui/ClinicalToast';
|
||||
import { clinicalAudio } from '@/lib/clinical-audio';
|
||||
@@ -58,6 +59,7 @@ import {
|
||||
Volume2,
|
||||
VolumeX,
|
||||
Sparkles,
|
||||
Scale,
|
||||
} from 'lucide-react';
|
||||
|
||||
export default function Home() {
|
||||
@@ -87,6 +89,7 @@ export default function Home() {
|
||||
|
||||
// Polish state: Command Palette, Toasts & Audio
|
||||
const [isCommandPaletteOpen, setIsCommandPaletteOpen] = useState(false);
|
||||
const [isCourtVaultOpen, setIsCourtVaultOpen] = useState(false);
|
||||
const [toasts, setToasts] = useState<ToastMessage[]>([]);
|
||||
const [audioEnabled, setAudioEnabled] = useState(true);
|
||||
|
||||
@@ -342,6 +345,21 @@ export default function Home() {
|
||||
{audioEnabled ? <Volume2 className="w-4 h-4" /> : <VolumeX className="w-4 h-4" />}
|
||||
</button>
|
||||
|
||||
{/* Court & HIPAA Compliance Vault Trigger Button */}
|
||||
<button
|
||||
type="button"
|
||||
onClick={() => {
|
||||
clinicalAudio.playClick();
|
||||
setIsCourtVaultOpen(true);
|
||||
}}
|
||||
className="flex items-center gap-1.5 px-3 py-1.5 rounded-lg bg-slate-900 hover:bg-slate-800 text-white text-xs font-bold transition shadow-xs border border-slate-700"
|
||||
title="21 CFR Part 11 Court Defense Audit Trail, Non-Repudiation Seal & BAA"
|
||||
>
|
||||
<Scale className="w-3.5 h-3.5 text-sky-400" />
|
||||
<span className="hidden sm:inline">Court & HIPAA Vault</span>
|
||||
<span className="sm:hidden">Vault</span>
|
||||
</button>
|
||||
|
||||
{/* Clinic Dropdown */}
|
||||
<div className="relative">
|
||||
<select
|
||||
@@ -596,6 +614,7 @@ export default function Home() {
|
||||
onGenerateSuperbill={handleGenerateSuperbillFromNote}
|
||||
onLaunchTelehealth={() => setClinicTab('telehealth')}
|
||||
onBackToCalendar={() => setClinicTab('calendar')}
|
||||
onOpenCourtVault={() => setIsCourtVaultOpen(true)}
|
||||
/>
|
||||
)}
|
||||
|
||||
@@ -677,6 +696,15 @@ export default function Home() {
|
||||
onAutoFillPatient={handleAutoFillWaitlistPatient}
|
||||
/>
|
||||
|
||||
{/* Court-Ready Legal & HIPAA Compliance Vault Modal */}
|
||||
<CourtAuditVaultModal
|
||||
isOpen={isCourtVaultOpen}
|
||||
onClose={() => setIsCourtVaultOpen(false)}
|
||||
activePatient={activePatient}
|
||||
activeSoapNote={activeSoapNote}
|
||||
activeTenant={activeTenant}
|
||||
/>
|
||||
|
||||
{/* Global Command Palette (Cmd+K) */}
|
||||
<CommandPalette
|
||||
isOpen={isCommandPaletteOpen}
|
||||
@@ -697,6 +725,7 @@ export default function Home() {
|
||||
}}
|
||||
onToggleAudio={handleToggleAudio}
|
||||
audioEnabled={audioEnabled}
|
||||
onOpenCourtVault={() => setIsCourtVaultOpen(true)}
|
||||
/>
|
||||
|
||||
{/* Hospital Clinical Toast Notification System */}
|
||||
|
||||
Reference in New Issue
Block a user