update readme

do  Ward table missing critical clinical columns
This commit is contained in:
voltsrage
2026-06-23 18:24:49 +08:00
parent 5d46200941
commit dd0fd88731
10 changed files with 365 additions and 26 deletions
@@ -1,6 +1,14 @@
<script setup>
import { computed } from 'vue'
import Badge from '@/components/ui/Badge.vue'
import {
formatGcsClassification,
formatLastObservation,
formatLengthOfStay,
observationStaleness,
patientRoom,
stalenessClass,
} from '@/composables/wardFormat'
const props = defineProps({ patient: { type: Object, required: true } })
@@ -10,6 +18,10 @@ const riskVariant = computed(() => {
if (score >= 5) return 'warning'
return 'success'
})
const vitalsStaleness = computed(() =>
observationStaleness(props.patient.lastObservationAt, props.patient.status),
)
</script>
<template>
@@ -20,7 +32,7 @@ const riskVariant = computed(() => {
<div class="min-w-0 flex-1">
<div class="flex items-center gap-2">
<span class="text-xs font-medium uppercase tracking-wide text-gray-500 dark:text-gray-400">
Room {{ patient.room ?? '—' }}
Room {{ patientRoom(patient) }}
</span>
<Badge v-if="patient.sepsisActive" variant="critical" size="xs">Sepsis</Badge>
</div>
@@ -28,17 +40,50 @@ const riskVariant = computed(() => {
{{ patient.firstName }} {{ patient.lastName }}
</h3>
<p class="text-xs text-gray-500 dark:text-gray-400">{{ patient.mrn }}</p>
<p v-if="patient.attendingPhysician" class="mt-1 text-xs text-gray-500 dark:text-gray-400">
{{ patient.attendingPhysician }}
</p>
</div>
<Badge :variant="riskVariant">NEWS2 {{ patient.news2Score ?? '—' }}</Badge>
</div>
<dl class="mt-4 grid grid-cols-2 gap-4 border-t border-gray-100 pt-4 dark:border-gray-800">
<div>
<dt class="text-xs text-gray-500 dark:text-gray-400">SOFA</dt>
<dd class="mt-2 text-sm font-medium text-gray-900 dark:text-white">
{{ patient.sofaScore ?? '—' }}
<span v-if="patient.sofaDelta != null && patient.sofaDelta > 0" class="text-xs text-amber-600 dark:text-amber-400">
Δ+{{ patient.sofaDelta }}
</span>
</dd>
</div>
<div>
<dt class="text-xs text-gray-500 dark:text-gray-400">GCS</dt>
<dd class="mt-2 text-sm font-medium text-gray-900 dark:text-white">
{{ patient.gcsScore ?? '—' }}
<span v-if="patient.gcsClassification" class="text-xs text-gray-500 dark:text-gray-400">
{{ formatGcsClassification(patient.gcsClassification) }}
</span>
</dd>
</div>
<div>
<dt class="text-xs text-gray-500 dark:text-gray-400">qSOFA</dt>
<dd class="mt-2 text-sm font-medium text-gray-900 dark:text-white">
{{ patient.qsofaScore ?? '—' }}
</dd>
</div>
<div>
<dt class="text-xs text-gray-500 dark:text-gray-400">LOS</dt>
<dd class="mt-2 text-sm font-medium text-gray-900 dark:text-white">
{{ formatLengthOfStay(patient.admittedAt) }}
</dd>
</div>
<div>
<dt class="text-xs text-gray-500 dark:text-gray-400">Last vitals</dt>
<dd class="mt-2 text-sm font-medium" :class="stalenessClass(vitalsStaleness)">
{{ formatLastObservation(patient.lastObservationAt) }}
</dd>
</div>
<div>
<dt class="text-xs text-gray-500 dark:text-gray-400">Open alerts</dt>
<dd class="mt-2">