From 4a6f9341cce8e8597e3d87e7510f1f88cc99c21b Mon Sep 17 00:00:00 2001 From: avicenan Date: Tue, 26 May 2026 00:18:00 +0900 Subject: [PATCH] fix consciousness --- src/enum/consciousness.ts | 34 ++++++++++++++++++++++++++++------ 1 file changed, 28 insertions(+), 6 deletions(-) diff --git a/src/enum/consciousness.ts b/src/enum/consciousness.ts index d6f8784..6fb90c6 100644 --- a/src/enum/consciousness.ts +++ b/src/enum/consciousness.ts @@ -1,8 +1,30 @@ export enum consciousness { - COMPOSMENTIS = 'COMPOS MENTIS', - APATHETIC = 'APATHETIC', - SOMNOLENT = 'SOMNOLENT', - SOPOR = 'SOPOR', - COMA = 'COMA', - DOA = 'DOA' + COMPOSMENTIS = 'Compos Mentis', + APATIS = 'Apatis', + DELIRIUM = 'Delirium', + SOMNOLEN = 'Somnolen', + SOPOR = 'Sopor', + SEMICOMA = 'Semi-Coma', + COMA = 'Coma', + DOA = 'Doa' +} + +export function toConsciousness(val: string | null | undefined): consciousness | undefined { + if (!val) return undefined; + const clean = val.trim().toLowerCase(); + for (const enumValue of Object.values(consciousness)) { + if (enumValue.toLowerCase() === clean) { + return enumValue; + } + } + // Fallback: handle legacy uppercase values or spelling differences + if (clean === 'compos mentis') return consciousness.COMPOSMENTIS; + if (clean === 'apathetic' || clean === 'apatis') return consciousness.APATIS; + if (clean === 'somnolent' || clean === 'somnolen') return consciousness.SOMNOLEN; + if (clean === 'sopor') return consciousness.SOPOR; + if (clean === 'coma') return consciousness.COMA; + if (clean === 'doa') return consciousness.DOA; + if (clean === 'delirium') return consciousness.DELIRIUM; + if (clean === 'semi-coma' || clean === 'semicoma') return consciousness.SEMICOMA; + return undefined; } \ No newline at end of file