@@ -136,11 +136,12 @@ <h2>Settings</h2>
136136 </ div >
137137 < button class ="btn btn-secondary btn-clear-kw " onclick ="DictApp.clearKeywords('dx') " title ="Clear all keywords " style ="display:none " id ="btn-clear-kw-dx "> ✕ Clear</ button >
138138 </ div >
139- < div class ="search-tools-row ">
140- < button class ="btn btn-ai " onclick ="DictApp.toggleAiPanel('dx') "> ★ AI Expand</ button >
141- < div class ="bulk-actions ">
142- < button class ="btn btn-secondary " onclick ="DictApp.selectAllVisible('dx') "> Check All</ button >
143- < button class ="btn btn-secondary " onclick ="DictApp.deselectAll('dx') "> Uncheck All</ button >
139+ < div class ="ai-panel visible " id ="ai-panel-dx ">
140+ < textarea id ="ai-input-dx " placeholder ="Describe what diagnoses you need, e.g. 'all types of diabetes including type 1 and type 2' "> </ textarea >
141+ < div class ="ai-actions ">
142+ < button class ="btn btn-ai " onclick ="DictApp.runAiExpand('dx') "> ★ Generate Keywords with AI</ button >
143+ < span class ="ai-status " id ="ai-status-dx "> </ span >
144+ < span class ="ai-hint "> Tip: Be specific about what codes you need. The AI will generate comprehensive search keywords.</ span >
144145 </ div >
145146 </ div >
146147 < div class ="tab-actions ">
@@ -164,19 +165,16 @@ <h2>Settings</h2>
164165 </ ul >
165166 </ div >
166167 </ div >
167- < div class ="ai-panel " id ="ai-panel-dx ">
168- < textarea id ="ai-input-dx " placeholder ="Describe what diagnoses you need, e.g. 'all types of diabetes including type 1 and type 2' "> </ textarea >
169- < div class ="ai-actions ">
170- < button class ="btn btn-ai " onclick ="DictApp.runAiExpand('dx') "> Generate Keywords</ button >
171- < button class ="btn btn-secondary " onclick ="DictApp.toggleAiPanel('dx') "> Cancel</ button >
172- < span class ="ai-status " id ="ai-status-dx "> </ span >
173- < span class ="ai-hint "> Tip: Be specific about what codes you need. The AI will generate comprehensive search keywords.</ span >
174- </ div >
175- </ div >
176168 < div class ="status-bar " id ="status-dx ">
177- < span class ="stat "> Total in dictionary: < span class ="stat-value " id ="total-dx "> 0</ span > </ span >
178- < span class ="stat "> Matching filter: < span class ="stat-value " id ="visible-dx "> 0</ span > </ span >
179- < span class ="stat "> Checked (desired): < span class ="desired-count " id ="desired-dx "> 0</ span > </ span >
169+ < div class ="status-stats ">
170+ < span class ="stat "> Total in dictionary: < span class ="stat-value " id ="total-dx "> 0</ span > </ span >
171+ < span class ="stat "> Matching filter: < span class ="stat-value " id ="visible-dx "> 0</ span > </ span >
172+ < span class ="stat "> Checked (desired): < span class ="desired-count " id ="desired-dx "> 0</ span > </ span >
173+ </ div >
174+ < div class ="bulk-actions ">
175+ < button class ="btn btn-secondary " onclick ="DictApp.selectAllVisible('dx') "> Check All</ button >
176+ < button class ="btn btn-secondary " onclick ="DictApp.deselectAll('dx') "> Uncheck All</ button >
177+ </ div >
180178 </ div >
181179 < table id ="table-dx " class ="display " style ="width:100% ">
182180 < thead >
@@ -206,11 +204,12 @@ <h2>Settings</h2>
206204 </ div >
207205 < button class ="btn btn-secondary btn-clear-kw " onclick ="DictApp.clearKeywords('medication') " title ="Clear all keywords " style ="display:none " id ="btn-clear-kw-medication "> ✕ Clear</ button >
208206 </ div >
209- < div class ="search-tools-row ">
210- < button class ="btn btn-ai " onclick ="DictApp.toggleAiPanel('medication') "> ★ AI Expand</ button >
211- < div class ="bulk-actions ">
212- < button class ="btn btn-secondary " onclick ="DictApp.selectAllVisible('medication') "> Check All</ button >
213- < button class ="btn btn-secondary " onclick ="DictApp.deselectAll('medication') "> Uncheck All</ button >
207+ < div class ="ai-panel visible " id ="ai-panel-medication ">
208+ < textarea id ="ai-input-medication " placeholder ="Describe what medications you need, e.g. 'all GLP-1 receptor agonists including brand names' "> </ textarea >
209+ < div class ="ai-actions ">
210+ < button class ="btn btn-ai " onclick ="DictApp.runAiExpand('medication') "> ★ Generate Keywords with AI</ button >
211+ < span class ="ai-status " id ="ai-status-medication "> </ span >
212+ < span class ="ai-hint "> Tip: Include drug classes, brand names, or therapeutic categories.</ span >
214213 </ div >
215214 </ div >
216215 < div class ="tab-actions ">
@@ -234,15 +233,6 @@ <h2>Settings</h2>
234233 </ ul >
235234 </ div >
236235 </ div >
237- < div class ="ai-panel " id ="ai-panel-medication ">
238- < textarea id ="ai-input-medication " placeholder ="Describe what medications you need, e.g. 'all GLP-1 receptor agonists including brand names' "> </ textarea >
239- < div class ="ai-actions ">
240- < button class ="btn btn-ai " onclick ="DictApp.runAiExpand('medication') "> Generate Keywords</ button >
241- < button class ="btn btn-secondary " onclick ="DictApp.toggleAiPanel('medication') "> Cancel</ button >
242- < span class ="ai-status " id ="ai-status-medication "> </ span >
243- < span class ="ai-hint "> Tip: Include drug classes, brand names, or therapeutic categories.</ span >
244- </ div >
245- </ div >
246236 < div class ="med-filters " id ="med-filters ">
247237 < div >
248238 < label for ="filter-pharm-class "> Route</ label >
@@ -264,9 +254,15 @@ <h2>Settings</h2>
264254 </ div >
265255 </ div >
266256 < div class ="status-bar " id ="status-medication ">
267- < span class ="stat "> Total in dictionary: < span class ="stat-value " id ="total-medication "> 0</ span > </ span >
268- < span class ="stat "> Matching filter: < span class ="stat-value " id ="visible-medication "> 0</ span > </ span >
269- < span class ="stat "> Checked (desired): < span class ="desired-count " id ="desired-medication "> 0</ span > </ span >
257+ < div class ="status-stats ">
258+ < span class ="stat "> Total in dictionary: < span class ="stat-value " id ="total-medication "> 0</ span > </ span >
259+ < span class ="stat "> Matching filter: < span class ="stat-value " id ="visible-medication "> 0</ span > </ span >
260+ < span class ="stat "> Checked (desired): < span class ="desired-count " id ="desired-medication "> 0</ span > </ span >
261+ </ div >
262+ < div class ="bulk-actions ">
263+ < button class ="btn btn-secondary " onclick ="DictApp.selectAllVisible('medication') "> Check All</ button >
264+ < button class ="btn btn-secondary " onclick ="DictApp.deselectAll('medication') "> Uncheck All</ button >
265+ </ div >
270266 </ div >
271267 < table id ="table-medication " class ="display " style ="width:100% ">
272268 < thead >
@@ -298,11 +294,12 @@ <h2>Settings</h2>
298294 </ div >
299295 < button class ="btn btn-secondary btn-clear-kw " onclick ="DictApp.clearKeywords('lab') " title ="Clear all keywords " style ="display:none " id ="btn-clear-kw-lab "> ✕ Clear</ button >
300296 </ div >
301- < div class ="search-tools-row ">
302- < button class ="btn btn-ai " onclick ="DictApp.toggleAiPanel('lab') "> ★ AI Expand</ button >
303- < div class ="bulk-actions ">
304- < button class ="btn btn-secondary " onclick ="DictApp.selectAllVisible('lab') "> Check All</ button >
305- < button class ="btn btn-secondary " onclick ="DictApp.deselectAll('lab') "> Uncheck All</ button >
297+ < div class ="ai-panel visible " id ="ai-panel-lab ">
298+ < textarea id ="ai-input-lab " placeholder ="Describe what lab values you need, e.g. 'complete metabolic panel' or 'renal function labs' "> </ textarea >
299+ < div class ="ai-actions ">
300+ < button class ="btn btn-ai " onclick ="DictApp.runAiExpand('lab') "> ★ Generate Keywords with AI</ button >
301+ < span class ="ai-status " id ="ai-status-lab "> </ span >
302+ < span class ="ai-hint "> Tip: Use panel names (CBC, CMP) and the AI will expand to all analytes.</ span >
306303 </ div >
307304 </ div >
308305 < div class ="tab-actions ">
@@ -326,19 +323,16 @@ <h2>Settings</h2>
326323 </ ul >
327324 </ div >
328325 </ div >
329- < div class ="ai-panel " id ="ai-panel-lab ">
330- < textarea id ="ai-input-lab " placeholder ="Describe what lab values you need, e.g. 'complete metabolic panel' or 'renal function labs' "> </ textarea >
331- < div class ="ai-actions ">
332- < button class ="btn btn-ai " onclick ="DictApp.runAiExpand('lab') "> Generate Keywords</ button >
333- < button class ="btn btn-secondary " onclick ="DictApp.toggleAiPanel('lab') "> Cancel</ button >
334- < span class ="ai-status " id ="ai-status-lab "> </ span >
335- < span class ="ai-hint "> Tip: Use panel names (CBC, CMP) and the AI will expand to all analytes.</ span >
336- </ div >
337- </ div >
338326 < div class ="status-bar " id ="status-lab ">
339- < span class ="stat "> Total in dictionary: < span class ="stat-value " id ="total-lab "> 0</ span > </ span >
340- < span class ="stat "> Matching filter: < span class ="stat-value " id ="visible-lab "> 0</ span > </ span >
341- < span class ="stat "> Checked (desired): < span class ="desired-count " id ="desired-lab "> 0</ span > </ span >
327+ < div class ="status-stats ">
328+ < span class ="stat "> Total in dictionary: < span class ="stat-value " id ="total-lab "> 0</ span > </ span >
329+ < span class ="stat "> Matching filter: < span class ="stat-value " id ="visible-lab "> 0</ span > </ span >
330+ < span class ="stat "> Checked (desired): < span class ="desired-count " id ="desired-lab "> 0</ span > </ span >
331+ </ div >
332+ < div class ="bulk-actions ">
333+ < button class ="btn btn-secondary " onclick ="DictApp.selectAllVisible('lab') "> Check All</ button >
334+ < button class ="btn btn-secondary " onclick ="DictApp.deselectAll('lab') "> Uncheck All</ button >
335+ </ div >
342336 </ div >
343337 < table id ="table-lab " class ="display " style ="width:100% ">
344338 < thead >
@@ -370,11 +364,12 @@ <h2>Settings</h2>
370364 </ div >
371365 < button class ="btn btn-secondary btn-clear-kw " onclick ="DictApp.clearKeywords('location') " title ="Clear all keywords " style ="display:none " id ="btn-clear-kw-location "> ✕ Clear</ button >
372366 </ div >
373- < div class ="search-tools-row ">
374- < button class ="btn btn-ai " onclick ="DictApp.toggleAiPanel('location') "> ★ AI Expand</ button >
375- < div class ="bulk-actions ">
376- < button class ="btn btn-secondary " onclick ="DictApp.selectAllVisible('location') "> Check All</ button >
377- < button class ="btn btn-secondary " onclick ="DictApp.deselectAll('location') "> Uncheck All</ button >
367+ < div class ="ai-panel visible " id ="ai-panel-location ">
368+ < textarea id ="ai-input-location " placeholder ="Describe what locations you need, e.g. 'all cardiology clinics and cardiac units' "> </ textarea >
369+ < div class ="ai-actions ">
370+ < button class ="btn btn-ai " onclick ="DictApp.runAiExpand('location') "> ★ Generate Keywords with AI</ button >
371+ < span class ="ai-status " id ="ai-status-location "> </ span >
372+ < span class ="ai-hint "> Tip: Describe the specialty, department type, or location names you need.</ span >
378373 </ div >
379374 </ div >
380375 < div class ="tab-actions ">
@@ -398,19 +393,16 @@ <h2>Settings</h2>
398393 </ ul >
399394 </ div >
400395 </ div >
401- < div class ="ai-panel " id ="ai-panel-location ">
402- < textarea id ="ai-input-location " placeholder ="Describe what locations you need, e.g. 'all cardiology clinics and cardiac units' "> </ textarea >
403- < div class ="ai-actions ">
404- < button class ="btn btn-ai " onclick ="DictApp.runAiExpand('location') "> Generate Keywords</ button >
405- < button class ="btn btn-secondary " onclick ="DictApp.toggleAiPanel('location') "> Cancel</ button >
406- < span class ="ai-status " id ="ai-status-location "> </ span >
407- < span class ="ai-hint "> Tip: Describe the specialty, department type, or location names you need.</ span >
408- </ div >
409- </ div >
410396 < div class ="status-bar " id ="status-location ">
411- < span class ="stat "> Total in dictionary: < span class ="stat-value " id ="total-location "> 0</ span > </ span >
412- < span class ="stat "> Matching filter: < span class ="stat-value " id ="visible-location "> 0</ span > </ span >
413- < span class ="stat "> Checked (desired): < span class ="desired-count " id ="desired-location "> 0</ span > </ span >
397+ < div class ="status-stats ">
398+ < span class ="stat "> Total in dictionary: < span class ="stat-value " id ="total-location "> 0</ span > </ span >
399+ < span class ="stat "> Matching filter: < span class ="stat-value " id ="visible-location "> 0</ span > </ span >
400+ < span class ="stat "> Checked (desired): < span class ="desired-count " id ="desired-location "> 0</ span > </ span >
401+ </ div >
402+ < div class ="bulk-actions ">
403+ < button class ="btn btn-secondary " onclick ="DictApp.selectAllVisible('location') "> Check All</ button >
404+ < button class ="btn btn-secondary " onclick ="DictApp.deselectAll('location') "> Uncheck All</ button >
405+ </ div >
414406 </ div >
415407 < table id ="table-location " class ="display " style ="width:100% ">
416408 < thead >
@@ -441,11 +433,12 @@ <h2>Settings</h2>
441433 </ div >
442434 < button class ="btn btn-secondary btn-clear-kw " onclick ="DictApp.clearKeywords('procedure') " title ="Clear all keywords " style ="display:none " id ="btn-clear-kw-procedure "> ✕ Clear</ button >
443435 </ div >
444- < div class ="search-tools-row ">
445- < button class ="btn btn-ai " onclick ="DictApp.toggleAiPanel('procedure') "> ★ AI Expand</ button >
446- < div class ="bulk-actions ">
447- < button class ="btn btn-secondary " onclick ="DictApp.selectAllVisible('procedure') "> Check All</ button >
448- < button class ="btn btn-secondary " onclick ="DictApp.deselectAll('procedure') "> Uncheck All</ button >
436+ < div class ="ai-panel visible " id ="ai-panel-procedure ">
437+ < textarea id ="ai-input-procedure " placeholder ="Describe what procedures you need, e.g. 'cataract surgery and retinal procedures' "> </ textarea >
438+ < div class ="ai-actions ">
439+ < button class ="btn btn-ai " onclick ="DictApp.runAiExpand('procedure') "> ★ Generate Keywords with AI</ button >
440+ < span class ="ai-status " id ="ai-status-procedure "> </ span >
441+ < span class ="ai-hint "> Tip: Include procedure types, CPT descriptions, or surgical specialties.</ span >
449442 </ div >
450443 </ div >
451444 < div class ="tab-actions ">
@@ -468,19 +461,16 @@ <h2>Settings</h2>
468461 </ ul >
469462 </ div >
470463 </ div >
471- < div class ="ai-panel " id ="ai-panel-procedure ">
472- < textarea id ="ai-input-procedure " placeholder ="Describe what procedures you need, e.g. 'cataract surgery and retinal procedures' "> </ textarea >
473- < div class ="ai-actions ">
474- < button class ="btn btn-ai " onclick ="DictApp.runAiExpand('procedure') "> Generate Keywords</ button >
475- < button class ="btn btn-secondary " onclick ="DictApp.toggleAiPanel('procedure') "> Cancel</ button >
476- < span class ="ai-status " id ="ai-status-procedure "> </ span >
477- < span class ="ai-hint "> Tip: Include procedure types, CPT descriptions, or surgical specialties.</ span >
478- </ div >
479- </ div >
480464 < div class ="status-bar " id ="status-procedure ">
481- < span class ="stat "> Total in dictionary: < span class ="stat-value " id ="total-procedure "> 0</ span > </ span >
482- < span class ="stat "> Matching filter: < span class ="stat-value " id ="visible-procedure "> 0</ span > </ span >
483- < span class ="stat "> Checked (desired): < span class ="desired-count " id ="desired-procedure "> 0</ span > </ span >
465+ < div class ="status-stats ">
466+ < span class ="stat "> Total in dictionary: < span class ="stat-value " id ="total-procedure "> 0</ span > </ span >
467+ < span class ="stat "> Matching filter: < span class ="stat-value " id ="visible-procedure "> 0</ span > </ span >
468+ < span class ="stat "> Checked (desired): < span class ="desired-count " id ="desired-procedure "> 0</ span > </ span >
469+ </ div >
470+ < div class ="bulk-actions ">
471+ < button class ="btn btn-secondary " onclick ="DictApp.selectAllVisible('procedure') "> Check All</ button >
472+ < button class ="btn btn-secondary " onclick ="DictApp.deselectAll('procedure') "> Uncheck All</ button >
473+ </ div >
484474 </ div >
485475 < table id ="table-procedure " class ="display " style ="width:100% ">
486476 < thead >
0 commit comments