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