export interface OrderableRadiology { code?: string; radiology: boolean; modality?: { code: string }; dicomModality?: string; bodyPart?: string; laterality?: string; } export type OrderableRadiologyState = | { status: "loading" } | { status: "failed"; reason: string } | { status: "none" } | { status: "read"; parts: OrderableRadiology }; export const modalityWords = (parts: OrderableRadiology): string | undefined => { if (!parts.modality) return undefined; const booked = parts.dicomModality && parts.dicomModality !== parts.modality.code ? `, booked as ${parts.dicomModality}` : ""; return `${parts.modality.code}${booked}`; }; export const bodyPartWords = (parts: OrderableRadiology): string | undefined => { if (!parts.bodyPart) return undefined; if (!parts.laterality) return parts.bodyPart; const side = parts.laterality === "Unspecified" ? "side not specified" : parts.laterality.toLowerCase(); return `${parts.bodyPart} ยท ${side}`; };