UIPackage
Menu

Framework

Change language

Boilerplate repo

Lab Results Viewer

blockhealthcare

Quest and Labcorp style diagnostic lab results report viewer: patient metadata header, clinical attention banner, grouped test panels (Lipid, Glucose, Renal) with LOINC codes, reference range linear scale bars, historical 6-month trend deltas, and doctor clinical impression card with electronic verification.

Also available for Vue ->

Installation

$npx shadcn@latest add https://uipkge.dev/r/react/lab-results-viewer.json
Named registry:npx shadcn@latest add @uipkge-react/lab-results-viewerInstalls to:components/blocks/

Variants

Loading interactive previews…

Props

NameType / ValuesDefaultRequired
classNamestringoptional

Schema

Type aliases exported from this item's source. Use these to shape the data you pass in.

LabTest
interface LabTest {
  id: string
  name: string
  panel: 'lipid' | 'metabolic' | 'renal'
  panelLabel: string
  loinc: string
  value: number
  unit: string
  referenceRangeText: string
  status: TestStatus
  scaleMin: number
  scaleMax: number
  normalMin: number
  normalMax: number
  markerPercent: number
  rangeZoneLeft: number
  rangeZoneWidth: number
  trendDelta: string
  trendDirection: 'up' | 'down' | 'flat'
  trendStatus: 'warning' | 'success' | 'neutral'
  priorValue: string
  clinicalNote: string
}

Files installed (1)

  • components/blocks/LabResultsViewer.tsx28.8 kB
    'use client'
    
    import * as React from 'react'
    import {
      AlertTriangle,
      CheckCircle2,
      FileCheck2,
      FileDown,
      FlaskConical,
      MapPin,
      Printer,
      Search,
      Share2,
      ShieldCheck,
      Stethoscope,
      TrendingDown,
      TrendingUp,
    } from 'lucide-react'
    import { cn } from '@/lib/utils'
    import { Badge } from '@/components/ui/badge'
    import { Button } from '@/components/ui/button'
    import { Card, CardContent, CardDescription, CardHeader, CardTitle } from '@/components/ui/card'
    import { Separator } from '@/components/ui/separator'
    import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from '@/components/ui/table'
    import { Tabs, TabsList, TabsTrigger } from '@/components/ui/tabs'
    
    export interface LabResultsViewerProps {
      className?: string
    }
    
    export type TestStatus = 'Normal' | 'High' | 'Low'
    
    export interface LabTest {
      id: string
      name: string
      panel: 'lipid' | 'metabolic' | 'renal'
      panelLabel: string
      loinc: string
      value: number
      unit: string
      referenceRangeText: string
      status: TestStatus
      scaleMin: number
      scaleMax: number
      normalMin: number
      normalMax: number
      markerPercent: number
      rangeZoneLeft: number
      rangeZoneWidth: number
      trendDelta: string
      trendDirection: 'up' | 'down' | 'flat'
      trendStatus: 'warning' | 'success' | 'neutral'
      priorValue: string
      clinicalNote: string
    }
    
    const patientInfo = {
      name: 'Sarah Jenkins',
      mrn: 'MRN-9482104',
      dob: 'Apr 12, 1984 (Age 42)',
      sex: 'Female',
      fasting: 'Fasting (12 hours)',
      accession: 'Q-94827104',
      orderedBy: 'Dr. Marcus Thorne, MD, FACP',
      facility: 'Quest Diagnostics Central Lab #842',
      facilityAddress: '100 Clifton Blvd, Clifton, NJ 07012 (CLIA: 31D0691234)',
      collectedDate: 'Aug 18, 2026 · 08:30 AM EDT',
      reportedDate: 'Aug 18, 2026 · 02:45 PM EDT',
      specimen: 'Serum & Plasma (Gold SST / Lavender EDTA)',
    }
    
    const labTests: LabTest[] = [
      {
        id: 'chol-total',
        name: 'Total Cholesterol',
        panel: 'lipid',
        panelLabel: 'Lipid Panel (Cardiovascular Risk)',
        loinc: '2093-3',
        value: 215,
        unit: 'mg/dL',
        referenceRangeText: '< 200 mg/dL',
        status: 'High',
        scaleMin: 100,
        scaleMax: 300,
        normalMin: 100,
        normalMax: 200,
        markerPercent: 57.5,
        rangeZoneLeft: 0,
        rangeZoneWidth: 50,
        trendDelta: '+12 mg/dL vs 6 mos ago',
        trendDirection: 'up',
        trendStatus: 'warning',
        priorValue: '203 mg/dL (Feb 2026)',
        clinicalNote: 'Mild elevation. Suggests elevated total circulating atherogenic lipoprotein particles.',
      },
      {
        id: 'chol-ldl',
        name: 'LDL Cholesterol (Calculated)',
        panel: 'lipid',
        panelLabel: 'Lipid Panel (Cardiovascular Risk)',
        loinc: '13457-7',
        value: 138,
        unit: 'mg/dL',
        referenceRangeText: '< 100 mg/dL',
        status: 'High',
        scaleMin: 50,
        scaleMax: 200,
        normalMin: 50,
        normalMax: 100,
        markerPercent: 58.7,
        rangeZoneLeft: 0,
        rangeZoneWidth: 33.3,
        trendDelta: '+18 mg/dL vs 6 mos ago',
        trendDirection: 'up',
        trendStatus: 'warning',
        priorValue: '120 mg/dL (Feb 2026)',
        clinicalNote: 'Above primary prevention target (< 100 mg/dL). Lifestyle modifications indicated.',
      },
      {
        id: 'chol-hdl',
        name: 'HDL Cholesterol',
        panel: 'lipid',
        panelLabel: 'Lipid Panel (Cardiovascular Risk)',
        loinc: '2085-9',
        value: 58,
        unit: 'mg/dL',
        referenceRangeText: '≥ 50 mg/dL',
        status: 'Normal',
        scaleMin: 20,
        scaleMax: 100,
        normalMin: 50,
        normalMax: 100,
        markerPercent: 47.5,
        rangeZoneLeft: 37.5,
        rangeZoneWidth: 62.5,
        trendDelta: '+2 mg/dL vs 6 mos ago',
        trendDirection: 'up',
        trendStatus: 'success',
        priorValue: '56 mg/dL (Feb 2026)',
        clinicalNote: 'Desirable cardio-protective level for adult female population.',
      },
      {
        id: 'triglycerides',
        name: 'Triglycerides',
        panel: 'lipid',
        panelLabel: 'Lipid Panel (Cardiovascular Risk)',
        loinc: '2571-8',
        value: 142,
        unit: 'mg/dL',
        referenceRangeText: '< 150 mg/dL',
        status: 'Normal',
        scaleMin: 50,
        scaleMax: 250,
        normalMin: 50,
        normalMax: 150,
        markerPercent: 46.0,
        rangeZoneLeft: 0,
        rangeZoneWidth: 50,
        trendDelta: '-15 mg/dL vs 6 mos ago',
        trendDirection: 'down',
        trendStatus: 'success',
        priorValue: '157 mg/dL (Feb 2026)',
        clinicalNote: 'Improved from borderline threshold into normal reference zone.',
      },
      {
        id: 'glucose-fasting',
        name: 'Fasting Glucose',
        panel: 'metabolic',
        panelLabel: 'Glucose Metabolism & Glycemic Control',
        loinc: '1558-6',
        value: 92,
        unit: 'mg/dL',
        referenceRangeText: '70 – 99 mg/dL',
        status: 'Normal',
        scaleMin: 50,
        scaleMax: 150,
        normalMin: 70,
        normalMax: 99,
        markerPercent: 42.0,
        rangeZoneLeft: 20,
        rangeZoneWidth: 29,
        trendDelta: '-3 mg/dL vs 6 mos ago',
        trendDirection: 'down',
        trendStatus: 'success',
        priorValue: '95 mg/dL (Feb 2026)',
        clinicalNote: 'Normal euglycemic fasting state. No prediabetes indicators.',
      },
      {
        id: 'egfr-renal',
        name: 'eGFR (Kidney Function)',
        panel: 'renal',
        panelLabel: 'Renal Function & Filtration',
        loinc: '33914-3',
        value: 104,
        unit: 'mL/min/1.73m²',
        referenceRangeText: '≥ 60 mL/min/1.73m²',
        status: 'Normal',
        scaleMin: 30,
        scaleMax: 130,
        normalMin: 60,
        normalMax: 130,
        markerPercent: 74.0,
        rangeZoneLeft: 30,
        rangeZoneWidth: 70,
        trendDelta: '+1 mL/min vs 6 mos ago',
        trendDirection: 'up',
        trendStatus: 'success',
        priorValue: '103 mL/min (Feb 2026)',
        clinicalNote: 'Calculated using CKD-EPI 2021 equation. Robust renal clearance performance.',
      },
    ]
    
    export function LabResultsViewer({ className }: LabResultsViewerProps) {
      const [activeTab, setActiveTab] = React.useState<string>('all')
      const [searchQuery, setSearchQuery] = React.useState<string>('')
      const [isCopiedShare, setIsCopiedShare] = React.useState(false)
      const [isDownloadingPdf, setIsDownloadingPdf] = React.useState(false)
    
      const filteredTests = React.useMemo(() => {
        return labTests.filter((test) => {
          // Tab filter
          if (activeTab === 'out-of-range' && test.status === 'Normal') return false
          if (activeTab === 'lipid' && test.panel !== 'lipid') return false
          if (activeTab === 'metabolic-renal' && test.panel !== 'metabolic' && test.panel !== 'renal') return false
    
          // Search query filter
          if (searchQuery.trim()) {
            const q = searchQuery.toLowerCase().trim()
            return (
              test.name.toLowerCase().includes(q) ||
              test.loinc.toLowerCase().includes(q) ||
              test.panelLabel.toLowerCase().includes(q)
            )
          }
    
          return true
        })
      }, [activeTab, searchQuery])
    
      const totalNormalCount = labTests.filter((t) => t.status === 'Normal').length
      const totalOutOfRangeCount = labTests.filter((t) => t.status !== 'Normal').length
    
      const handleShare = React.useCallback(() => {
        if (typeof navigator !== 'undefined' && navigator.clipboard) {
          navigator.clipboard.writeText(
            `Lab Results for ${patientInfo.name} (${patientInfo.accession}) - ${patientInfo.collectedDate}`,
          )
          setIsCopiedShare(true)
          setTimeout(() => {
            setIsCopiedShare(false)
          }, 2000)
        }
      }, [])
    
      const handleDownloadPdf = React.useCallback(() => {
        setIsDownloadingPdf(true)
        setTimeout(() => {
          setIsDownloadingPdf(false)
        }, 1500)
      }, [])
    
      const handlePrint = React.useCallback(() => {
        if (typeof window !== 'undefined') {
          window.print()
        }
      }, [])
    
      return (
        <div data-slot="lab-results-viewer" className={cn('text-foreground w-full space-y-6', className)}>
          {/* Header: Diagnostic Pathology Report */}
          <Card className="border-border bg-card shadow-xs">
            <CardHeader className="p-5 pb-4 sm:p-6 sm:pb-4">
              <div className="flex flex-col gap-4 lg:flex-row lg:items-start lg:justify-between">
                <div className="space-y-1.5">
                  <div className="flex flex-wrap items-center gap-2">
                    <Badge variant="outline" className="gap-1.5 font-mono text-xs">
                      <FlaskConical className="text-primary size-3.5" />
                      {patientInfo.accession}
                    </Badge>
                    <Badge variant="success" className="gap-1 text-xs">
                      <FileCheck2 className="size-3" />
                      Final Diagnostic Report
                    </Badge>
                  </div>
                  <CardTitle className="text-foreground text-xl font-semibold tracking-tight sm:text-2xl">
                    Comprehensive Metabolic Panel & Lipid Panel
                  </CardTitle>
                  <CardDescription className="text-muted-foreground text-xs sm:text-sm">
                    Clinical chemistry and lipid risk profiling conducted by {patientInfo.facility}
                  </CardDescription>
                </div>
    
                {/* Quick Action Buttons */}
                <div className="flex flex-wrap items-center gap-2 pt-1 lg:pt-0">
                  <Button
                    aria-label="Download attachment"
                    variant="outline"
                    size="sm"
                    className="gap-1.5 text-xs shadow-xs"
                    disabled={isDownloadingPdf}
                    onClick={handleDownloadPdf}
                  >
                    <FileDown className="size-4" />
                    {isDownloadingPdf ? 'Generating PDF...' : 'Download Official PDF'}
                  </Button>
                  <Button variant="outline" size="sm" className="gap-1.5 text-xs shadow-xs" onClick={handleShare}>
                    <Share2 className="size-4" />
                    {isCopiedShare ? 'Link Copied!' : 'Share with Doctor'}
                  </Button>
                  <Button
                    variant="ghost"
                    size="sm"
                    className="text-muted-foreground hover:text-foreground hidden sm:inline-flex"
                    onClick={handlePrint}
                  >
                    <Printer className="size-4" />
                    <span className="sr-only">Print Report</span>
                  </Button>
                </div>
              </div>
            </CardHeader>
    
            <CardContent className="p-5 pt-0 sm:p-6 sm:pt-0">
              <Separator className="mb-4" />
    
              {/* Patient & Order Metadata Grid */}
              <dl className="grid grid-cols-1 gap-x-6 gap-y-3 sm:grid-cols-2 lg:grid-cols-4">
                <div className="space-y-0.5">
                  <dt className="text-muted-foreground text-xs font-medium">Patient Details</dt>
                  <dd className="text-foreground text-xs font-semibold sm:text-sm">{patientInfo.name}</dd>
                  <p className="text-muted-foreground text-xs">
                    {patientInfo.sex} · {patientInfo.dob}
                  </p>
                </div>
    
                <div className="space-y-0.5">
                  <dt className="text-muted-foreground text-xs font-medium">Ordering Physician</dt>
                  <dd className="text-foreground text-xs font-semibold sm:text-sm">{patientInfo.orderedBy}</dd>
                  <p className="text-muted-foreground text-xs">Internal Medicine & Cardiology</p>
                </div>
    
                <div className="space-y-0.5">
                  <dt className="text-muted-foreground text-xs font-medium">Collection & Fasting</dt>
                  <dd className="text-foreground text-xs font-semibold tabular-nums sm:text-sm">
                    {patientInfo.collectedDate}
                  </dd>
                  <p className="text-muted-foreground text-xs">{patientInfo.fasting}</p>
                </div>
    
                <div className="space-y-0.5">
                  <dt className="text-muted-foreground text-xs font-medium">Testing Facility</dt>
                  <dd className="text-foreground text-xs font-semibold sm:text-sm">{patientInfo.facility}</dd>
                  <p className="text-muted-foreground text-xs">CLIA ID: 31D0691234 · CAP Accredited</p>
                </div>
              </dl>
            </CardContent>
          </Card>
    
          {/* Overall Summary Banner */}
          <div className="border-warning/30 bg-warning/10 text-foreground flex flex-col gap-4 rounded-xl border p-4 sm:flex-row sm:items-center sm:justify-between sm:p-5">
            <div className="flex items-start gap-3.5">
              <div className="border-warning/30 bg-warning/20 text-warning mt-0.5 flex size-9 shrink-0 items-center justify-center rounded-lg border">
                <AlertTriangle className="size-5" />
              </div>
              <div className="space-y-1">
                <div className="flex flex-wrap items-center gap-2">
                  <h3 className="text-foreground text-sm font-semibold sm:text-base">
                    14 tests normal · 2 tests out of reference range
                  </h3>
                  <Badge variant="warning" className="text-xs font-medium">
                    Clinical Review Advised
                  </Badge>
                </div>
                <p className="text-muted-foreground text-xs leading-relaxed sm:text-sm">
                  Total Cholesterol and LDL Cholesterol exceed recommended reference thresholds. Fasting glucose metabolism
                  and renal function (eGFR) remain optimal.
                </p>
              </div>
            </div>
    
            {/* Quick Statistical Count Badges */}
            <div className="flex shrink-0 flex-wrap items-center gap-2 sm:self-center">
              <div className="border-border bg-card/90 flex items-center gap-2 rounded-lg border px-3 py-1.5 text-xs shadow-2xs">
                <span className="bg-success size-2 rounded-full" />
                <span className="text-muted-foreground font-medium">In Range:</span>
                <span className="text-foreground font-semibold tabular-nums">14</span>
              </div>
              <div className="border-border bg-card/90 flex items-center gap-2 rounded-lg border px-3 py-1.5 text-xs shadow-2xs">
                <span className="bg-warning size-2 rounded-full" />
                <span className="text-muted-foreground font-medium">Out of Range:</span>
                <span className="text-warning font-semibold tabular-nums">2</span>
              </div>
            </div>
          </div>
    
          {/* Interactive Filtering & Search Header */}
          <div className="flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between">
            <Tabs value={activeTab} onValueChange={setActiveTab} className="w-full sm:w-auto">
              <TabsList className="grid grid-cols-4 sm:inline-flex">
                <TabsTrigger value="all" className="text-xs font-medium">
                  All ({labTests.length})
                </TabsTrigger>
                <TabsTrigger value="out-of-range" className="text-xs font-medium">
                  Out of Range ({totalOutOfRangeCount})
                </TabsTrigger>
                <TabsTrigger value="lipid" className="text-xs font-medium">
                  Lipid (4)
                </TabsTrigger>
                <TabsTrigger value="metabolic-renal" className="text-xs font-medium">
                  Metabolic & Renal (2)
                </TabsTrigger>
              </TabsList>
            </Tabs>
    
            {/* Test Search Filter Input */}
            <div className="relative w-full sm:w-64">
              <Search className="text-muted-foreground absolute top-1/2 left-3 size-3.5 -translate-y-1/2" />
              <input
                value={searchQuery}
                onChange={(e) => setSearchQuery(e.target.value)}
                type="text"
                placeholder="Filter tests or LOINC..."
                className="border-border bg-background text-foreground placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 h-8.5 w-full rounded-lg border pr-3 pl-9 text-xs transition-colors focus-visible:ring-[3px] focus-visible:outline-none"
              />
            </div>
          </div>
    
          {/* Diagnostic Panels & Test Results Table */}
          <Card className="border-border bg-card shadow-xs">
            <CardHeader className="border-border border-b p-4 sm:px-6">
              <div className="flex items-center justify-between">
                <div>
                  <CardTitle className="text-base font-semibold">Laboratory Test Panels</CardTitle>
                  <CardDescription className="text-xs">
                    Quantitative measurements, standard LOINC reference intervals, and 6-month historical trend comparison.
                  </CardDescription>
                </div>
                <span className="text-muted-foreground hidden font-mono text-xs tabular-nums sm:inline-block">
                  Showing {filteredTests.length} of {labTests.length} tests
                </span>
              </div>
            </CardHeader>
    
            <CardContent className="p-0">
              <div className="overflow-x-auto">
                <Table>
                  <TableHeader className="bg-muted/40">
                    <TableRow>
                      <TableHead className="min-w-[180px] text-xs font-semibold">Test Name & Code</TableHead>
                      <TableHead className="min-w-[120px] text-xs font-semibold">Measured Value</TableHead>
                      <TableHead className="w-24 text-xs font-semibold">Flag</TableHead>
                      <TableHead className="min-w-[120px] text-xs font-semibold">Reference Range</TableHead>
                      <TableHead className="min-w-[210px] text-xs font-semibold">Visual Scale</TableHead>
                      <TableHead className="min-w-[170px] text-right text-xs font-semibold">
                        Historical 6-Mo Delta
                      </TableHead>
                    </TableRow>
                  </TableHeader>
                  <TableBody>
                    {filteredTests.map((test) => (
                      <TableRow
                        key={test.id}
                        className={cn('transition-colors', test.status === 'High' && 'bg-warning/5 hover:bg-warning/10')}
                      >
                        {/* Test Name & LOINC */}
                        <TableCell className="py-3.5">
                          <div className="space-y-0.5">
                            <p className="text-foreground text-xs font-semibold sm:text-sm">{test.name}</p>
                            <div className="flex items-center gap-1.5">
                              <span className="text-muted-foreground font-mono text-xs">LOINC: {test.loinc}</span>
                              <span className="text-muted-foreground text-xs">{test.panelLabel}</span>
                            </div>
                          </div>
                        </TableCell>
    
                        {/* Measured Result */}
                        <TableCell className="py-3.5">
                          <div className="flex items-baseline gap-1">
                            <span
                              className={cn(
                                'text-base font-semibold tabular-nums sm:text-lg',
                                test.status === 'High' && 'text-warning font-semibold',
                                test.status === 'Normal' && 'text-foreground',
                              )}
                            >
                              {test.value}
                            </span>
                            <span className="text-muted-foreground text-xs font-medium">{test.unit}</span>
                          </div>
                        </TableCell>
    
                        {/* Status Flag Badge */}
                        <TableCell className="py-3.5">
                          <Badge
                            variant={test.status === 'High' ? 'warning' : 'success'}
                            className="px-2 py-0.5 text-xs font-semibold"
                          >
                            {test.status}
                          </Badge>
                        </TableCell>
    
                        {/* Reference Range */}
                        <TableCell className="py-3.5">
                          <span className="text-foreground font-mono text-xs font-medium tabular-nums">
                            {test.referenceRangeText}
                          </span>
                        </TableCell>
    
                        {/* Visual Reference Range Bar with Patient Needle Marker */}
                        <TableCell className="py-3.5">
                          <div className="w-full max-w-[210px] space-y-1">
                            <div className="bg-muted/80 relative flex h-2.5 w-full items-center overflow-visible rounded-full">
                              {/* Normal Safe Zone (Green Region) */}
                              <div
                                className="border-success/40 bg-success/25 absolute h-full rounded-full border-x"
                                style={{
                                  left: `${test.rangeZoneLeft}%`,
                                  width: `${test.rangeZoneWidth}%`,
                                }}
                              />
    
                              {/* Patient Value Marker Pin */}
                              <div
                                className="absolute flex -translate-x-1/2 flex-col items-center"
                                style={{ left: `${test.markerPercent}%` }}
                              >
                                <span
                                  className={cn(
                                    'border-background size-3.5 rounded-full border-2 shadow-xs transition-transform hover:scale-125',
                                    test.status === 'High' && 'bg-warning ring-warning/30 ring-2',
                                    test.status === 'Normal' && 'bg-success ring-success/30 ring-2',
                                    test.status === 'Low' && 'bg-info ring-info/30 ring-2',
                                  )}
                                />
                              </div>
                            </div>
    
                            {/* Min, Target, and Max Scale Labels */}
                            <div className="text-muted-foreground flex items-center justify-between font-mono text-xs tabular-nums">
                              <span>{test.scaleMin}</span>
                              <span className="text-success text-xs font-medium">Normal</span>
                              <span>{test.scaleMax}</span>
                            </div>
                          </div>
                        </TableCell>
    
                        {/* Historical 6-Mo Trend Delta */}
                        <TableCell className="py-3.5 text-right">
                          <div className="flex flex-col items-end gap-0.5">
                            <div className="flex items-center gap-1">
                              {test.trendDirection === 'up' ? (
                                <TrendingUp
                                  className={cn(
                                    'size-3.5',
                                    test.trendStatus === 'warning' && 'text-warning',
                                    test.trendStatus === 'success' && 'text-success',
                                  )}
                                />
                              ) : (
                                <TrendingDown
                                  className={cn(
                                    'size-3.5',
                                    test.trendStatus === 'warning' && 'text-warning',
                                    test.trendStatus === 'success' && 'text-success',
                                  )}
                                />
                              )}
                              <span
                                className={cn(
                                  'text-xs font-semibold tabular-nums',
                                  test.trendStatus === 'warning' && 'text-warning',
                                  test.trendStatus === 'success' && 'text-foreground',
                                )}
                              >
                                {test.trendDelta}
                              </span>
                            </div>
                            <span className="text-muted-foreground text-xs tabular-nums"> Prior: {test.priorValue} </span>
                          </div>
                        </TableCell>
                      </TableRow>
                    ))}
    
                    {filteredTests.length === 0 && (
                      <TableRow>
                        <TableCell colSpan={6} className="py-8 text-center">
                          <p className="text-muted-foreground text-xs">
                            No laboratory test records matched your filter criteria.
                          </p>
                        </TableCell>
                      </TableRow>
                    )}
                  </TableBody>
                </Table>
              </div>
            </CardContent>
          </Card>
    
          {/* Doctor's Clinical Impression Card */}
          <Card className="border-border bg-card shadow-xs">
            <CardHeader className="p-5 pb-3 sm:p-6 sm:pb-4">
              <div className="flex flex-wrap items-center justify-between gap-3">
                <div className="flex items-center gap-2.5">
                  <div className="bg-primary/10 text-primary flex size-8 items-center justify-center rounded-lg">
                    <Stethoscope className="size-4" />
                  </div>
                  <div>
                    <CardTitle className="text-base font-semibold">Doctor's Clinical Impression & Action Plan</CardTitle>
                    <CardDescription className="text-xs">
                      Physician interpretation provided by {patientInfo.orderedBy}
                    </CardDescription>
                  </div>
                </div>
    
                <Badge variant="outline" className="gap-1.5 text-xs font-normal">
                  <ShieldCheck className="text-success size-3.5" />
                  Verified Electronic Signature
                </Badge>
              </div>
            </CardHeader>
    
            <CardContent className="space-y-4 p-5 pt-0 sm:p-6 sm:pt-0">
              {/* Physician Qualitative Commentary */}
              <div className="border-border/70 bg-muted/30 rounded-lg border p-4">
                <p className="text-foreground text-xs leading-relaxed sm:text-sm">
                  “Lipid panel shows mild elevation in LDL Cholesterol (138 mg/dL) and Total Cholesterol (215 mg/dL).
                  Fasting blood glucose (92 mg/dL) and renal filtration markers (eGFR 104 mL/min/1.73m²) demonstrate
                  outstanding stability. Recommend continuing Mediterranean dietary pattern with emphasis on soluble fiber
                  and healthy monounsaturated fats, 150 minutes of moderate aerobic exercise weekly, and repeat lipid panel
                  in 3 months. Statin therapy is not warranted at the patient's current 10-year ASCVD risk threshold.”
                </p>
              </div>
    
              {/* Clinical Action Checklist */}
              <div className="space-y-2">
                <span className="text-muted-foreground text-xs font-medium tracking-wide uppercase">
                  Recommended Clinical Action Items
                </span>
                <div className="grid grid-cols-1 gap-2.5 sm:grid-cols-3">
                  <div className="border-border bg-card flex items-start gap-2.5 rounded-lg border p-3">
                    <CheckCircle2 className="text-primary mt-0.5 size-4 shrink-0" />
                    <div className="space-y-0.5">
                      <p className="text-foreground text-xs font-medium">Repeat Lipid Panel</p>
                      <p className="text-muted-foreground text-xs">Schedule re-test in 90 days (Nov 2026)</p>
                    </div>
                  </div>
    
                  <div className="border-border bg-card flex items-start gap-2.5 rounded-lg border p-3">
                    <CheckCircle2 className="text-primary mt-0.5 size-4 shrink-0" />
                    <div className="space-y-0.5">
                      <p className="text-foreground text-xs font-medium">Mediterranean Diet</p>
                      <p className="text-muted-foreground text-xs">Maintain high fiber and plant sterols intake</p>
                    </div>
                  </div>
    
                  <div className="border-border bg-card flex items-start gap-2.5 rounded-lg border p-3">
                    <CheckCircle2 className="text-primary mt-0.5 size-4 shrink-0" />
                    <div className="space-y-0.5">
                      <p className="text-foreground text-xs font-medium">Cardiovascular Wellness</p>
                      <p className="text-muted-foreground text-xs">150 mins weekly moderate aerobic activity</p>
                    </div>
                  </div>
                </div>
              </div>
    
              {/* Physician Signature Footer Strip */}
              <Separator />
              <div className="flex flex-col gap-2 pt-1 sm:flex-row sm:items-center sm:justify-between">
                <div className="flex items-center gap-2">
                  <div className="border-border bg-muted flex size-7 shrink-0 items-center justify-center rounded-full border text-xs font-semibold">
                    MT
                  </div>
                  <div>
                    <p className="text-foreground text-xs font-semibold">{patientInfo.orderedBy}</p>
                    <p className="text-muted-foreground text-xs">NPI #1849204812 · Medical License #20MD084721</p>
                  </div>
                </div>
    
                <p className="text-muted-foreground font-mono text-xs tabular-nums">
                  Digitally signed on Aug 18, 2026 · 15:45 EDT
                </p>
              </div>
            </CardContent>
          </Card>
    
          {/* Lab Facility Certification Footer */}
          <div className="border-border/60 text-muted-foreground flex flex-col gap-2 rounded-lg border border-dashed px-4 py-3 text-xs sm:flex-row sm:items-center sm:justify-between">
            <div className="flex items-center gap-1.5">
              <MapPin className="size-3.5 shrink-0" />
              <span>{patientInfo.facilityAddress}</span>
            </div>
            <div className="flex items-center gap-2 font-mono text-xs">
              <span>Specimen: {patientInfo.specimen}</span>
              <span>·</span>
              <span>CLIA Certified</span>
            </div>
          </div>
        </div>
      )
    }
    

Raw manifest:https://uipkge.dev/r/react/lab-results-viewer.json