View Medical Policies
For certain member contracts, the Health Plan has delegated utilization management of the following services to eviCore Healthcare MSI, LLC d/b/a eviCore Healthcare: implantable cardiac devices, radiology/imaging, radiation therapy, and musculoskeletal services (large joint replacement, pain management, and spine services). The Health Plan has adopted eviCore’s medical policies and guidelines as a basis for the determination of medical necessity and appropriateness of care.
Please refer member-specific questions to the Customer Care number on the back of the member card. Final determination of coverage is subject to the member’s benefits and eligibility on the date of service.
An error occurred while processing the template.
The following has evaluated to null or missing: ==> entry.getDownloadURL() [in template "20116#20152#153064" at line 267, column 45] ---- Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: #assign download_url = entry.getDownl... [in template "20116#20152#153064" at line 267, column 21] ----
1<#--
2 Name: Medical Policies
3 Type: Asset Search Filter and Browse Template
4 Intended for: Providers site Medical Policies page
5 Uses content template: No
6 Template intended to be used within an instance of the Asset
7 Search Filter and Browse portlet for displaying a searchable
8 and filterable list of Medical Policy entries (documents).
9-->
10<style>
11 .m-auto{
12 margin: auto;
13 }
14</style>
15<#macro columnSortIcons is_sorted=false sort_direction="">
16 <span class="sort-icons">
17 <i class="fa fa-sort-down${(is_sorted && sort_direction == 'ASC')?string(' active', '')}"></i>
18 <i class="fa fa-sort-up${(is_sorted && sort_direction == 'DESC')?string(' active', '')}"></i>
19 </span>
20</#macro>
21
22<#macro paginationList>
23 <div class="col-12 col-sm-6 text-right">
24 <ul class="pagination">
25 <li class="page-item ${(1 == currentPage)?string('disabled inactive-link', '')}">
26 <a href="${displayContext.getPaginationURL(1,sortField,sortOrder, isDDM)}" class="page-link"
27 aria-label="Previous"><span class="angle-left-icon" aria-hidden="true"></span></a>
28 </li>
29 <#if (totalPages < 10 )>
30 <#list 1.. totalPages as i>
31 <li class="page-item ${(i == currentPage)?string('active', '')}">
32 <a class="page-link" href="${displayContext.getPaginationURL(i,sortField,sortOrder, isDDM)}">${i}</a>
33 </li>
34 </#list>
35 <#else>
36 <li class="page-item ${(1 == currentPage)?string('active', '')}">
37 <a href="${displayContext.getPaginationURL(1,sortField,sortOrder, isDDM)}" class="page-link">
38 <span aria-hidden="true">1</span></a>
39 </li>
40 <#assign initialPage = currentPage - 2>
41 <#assign lastPage = currentPage + 2>
42 <#if (initialPage < 2)>
43 <#assign initialPage= 2>
44 </#if>
45 <#if (lastPage > (totalPages-1))>
46 <#assign lastPage= (totalPages-1)>
47 </#if>
48 <#if (initialPage > 2)>
49 <li class="page-item">
50 <a class="page-link" >
51 <span aria-hidden="true">...</span></a>
52 </li>
53 </#if>
54 <#list initialPage.. lastPage as i>
55 <li class="page-item ${(i == currentPage)?string('active', '')}">
56 <a class="page-link" href="${displayContext.getPaginationURL(i,sortField,sortOrder, isDDM)}">
57 ${i}</a>
58 </li>
59 </#list>
60 <#if (lastPage < (totalPages-1))>
61 <li class="page-item">
62 <a class="page-link">
63 <span aria-hidden="true">...</span></a>
64 </li>
65 </#if>
66 <li class="page-item ${(totalPages == currentPage)?string('active', '')}">
67 <a href="${displayContext.getPaginationURL(totalPages,sortField,sortOrder, isDDM)}"
68 class="page-link">
69 <span aria-hidden="true">${totalPages}</span></a>
70 </li>
71 </#if>
72 <li class="page-item ${(totalPages == currentPage)?string('disabled inactive-link', '')}">
73 <a href="${displayContext.getPaginationURL(totalPages,sortField,sortOrder, isDDM)}"
74 class="page-link" aria-label="Next">
75 <span class="angle-right-icon" aria-hidden="true"></span></a>
76 </li>
77 </ul>
78 </div>
79</#macro>
80
81
82<#-- Date variable .now?date?string.iso -->
83<#setting date_format="iso">
84<#assign today_date = .now?date>
85
86<#-- Form element variables -->
87<#assign portletId = portletDisplay.getId()?split("_")?last />
88<#assign categorySelectId = "categories-" + portletId>
89<#assign filterFormId = "filter-" + portletId>
90<#assign noRecordsText = "No records found.">
91<#assign resetBtnId = "btn-" + portletId>
92<#assign resetTxtId = "txt-" + portletId>
93<#assign resetBtnText = "Reset">
94<#assign searchFormId = "search-" + portletId>
95<#assign showResetBtn = false>
96<#assign categoryId = renderRequest.getParameter("categoryId")!0>
97<#assign keywords = renderRequest.getParameter("keywords")!"">
98<#assign requestURL = renderResponse.createRenderURL()>
99<#if categoryId?number != 0 || keywords != "">
100 <#assign showResetBtn = true>
101</#if>
102
103<#-- Paging and sorting -->
104<#assign currentPage = (renderRequest.getParameter("page")!"1")?number>
105<#-- Changed from previous versions -->
106<#assign sortOrder = renderRequest.getParameter("sortOrder")!"">
107<#assign sortField = renderRequest.getParameter("sortField")!"">
108<#assign isDDM = (renderRequest.getParameter("ddm")!"true")?boolean>
109<#if sortField != "">
110 <#assign sortField = sortField?split("_")?last>
111</#if>
112
113<#if sortOrder=="ASC">
114 <#assign isAscending=false>
115<#else>
116 <#assign isAscending=true>
117</#if>
118
119<#-- Handle dynamic column layouts based on portlet config & filter state -->
120<#assign showSearch = displayContext.isDisplaySearch()>
121<#assign showCategoryFilter = displayContext.isDisplayCategory()>
122<#assign showSearchAndFilter = showSearch && showCategoryFilter>
123<#assign resetColClass = showSearchAndFilter?string("col-4 col-sm-2 col-lg-2", "col-4 col-sm-3 col-md-2 col-lg-2")>
124<#if showResetBtn>
125 <#assign filterColClass = showSearchAndFilter?string("col-8 col-sm-4", "col-8 col-sm-9 col-md-10 col-lg-10")>
126 <#assign searchColClass = showSearchAndFilter?string("col-12 col-sm-5 col-lg-5", "col-8 col-sm-9 col-md-10 col-lg-10")>
127<#else>
128 <#assign filterColClass = showSearchAndFilter?string("col-12 col-sm-4 col-lg-4", "col-12")>
129 <#assign searchColClass = showSearchAndFilter?string("col-12 col-sm-6", "col-12")>
130</#if>
131
132<div id="${portletId}" class="container-block search-filter-browse medical-policies">
133 <div class="row search-filter-browse__form">
134 <#if showSearch>
135 <div class="${searchColClass}">
136 <form id="${searchFormId}" action="${renderResponse.createRenderURL()}" method="post">
137 <div class="form-group">
138 <label for="keywords" class="sr-only">Search By Name, Code or Category</label>
139 <i class="fa fa-search"></i>
140 <input id="keywords"
141 class="form-control"
142 type="search"
143 name="${renderResponse.getNamespace()}keywords"
144 value="${keywords}"
145 placeholder="${displayContext.getSearchPlaceholderText()}"/>
146 <input type="submit" value="Submit" style="display: none" />
147 </div>
148 </form>
149 </div>
150 </#if>
151 <#if showSearch && showCategoryFilter>
152 <div class="col-12 col-sm-1 text-center">
153 <strong class="text-large">or</strong>
154 </div>
155 </#if>
156 <#if showCategoryFilter>
157 <div class="${filterColClass}">
158 <form id="${filterFormId}" action="${renderResponse.createRenderURL()}" method="post">
159 <label for="${categorySelectId}" class="sr-only">Select a Category</label>
160 <select class="form-control" id="${categorySelectId}" name="${renderResponse.getNamespace()}categoryId">
161 <option value="0" selected="selected">${displayContext.getCategoryPlaceholderText()}</option>
162 <#if displayContext.getCategories()?has_content>
163 <#list displayContext.getCategories() as category>
164 <#if categoryId?string == category.getCategoryId()?string>
165 <option value="${category.getCategoryId()}" selected="selected">
166 ${category.getName()}
167 </option>
168 <#else>
169 <option value="${category.getCategoryId()}">
170 ${category.getName()}
171 </option>
172 </#if>
173 </#list>
174 </#if>
175 </select>
176 </form>
177 </div>
178 </#if>
179 <#if showResetBtn>
180 <div class="${resetColClass} text-center">
181 <button class="btn btn-sm btn-primary" id="${resetBtnId}">${resetBtnText}</button>
182 </div>
183 </#if>
184 </div>
185 <#if entries?has_content>
186 <#if displayContext.isPagination()>
187 <div class="row pagination-container">
188 <#assign paginationNumber = 1>
189 <#assign pageSize = displayContext.getPageSize()>
190 <#assign totalPages = displayContext.getTotalPages()>
191
192
193 <#assign totalRecords = displayContext.getTotalRecords()>
194 <#-- If a medical policy has a TerminationDate filled in and the date is today or in the past, then remove it from the page count as it won't be displayed -->
195 <#list entries as entry>
196 <#assign term_date = entry.getDDMFieldValue("TerminationDate")!"">
197
198 <#if (term_date?has_content && ((term_date?date) <= today_date)) >
199
200 <#assign totalRecords = totalRecords - 1>
201
202 </#if>
203 </#list>
204
205
206 <#if pageSize != 0>
207 <#assign paginationNumber = (totalRecords / pageSize)?ceiling>
208 </#if>
209 <div class="col-12 col-sm-6">
210 <#assign initialNo = ((currentPage - 1) * pageSize) + 1>
211 <#assign lastNo = (currentPage * pageSize)>
212 <#if (lastNo > totalRecords)>
213 <#assign lastNo = totalRecords>
214 </#if>
215 <small class="results-summary" tabindex="0">Showing ${initialNo}–
216 ${lastNo} of ${totalRecords} Results</small>
217 </div>
218 <@paginationList />
219 </div>
220 </#if>
221 <table class="table">
222 <colgroup>
223 <col style="width: 70%;">
224 <col style="width: 15%;">
225 <col style="width: 15%;">
226 </colgroup>
227 <thead>
228 <tr>
229 <th>
230 <a href=" ${displayContext.getSortingURL('Title', isAscending, true)}">
231 ${displayContext.getDDMFieldLabel("Title")!""}
232 <@columnSortIcons is_sorted=(sortField == "Title") sort_direction=sortOrder />
233 </a>
234 </th>
235 <th>
236 <a href=" ${displayContext.getSortingURL('LastUpdated', isAscending, true)}">
237 ${displayContext.getDDMFieldLabel("LastUpdated")!""}
238 <@columnSortIcons is_sorted=(sortField == "LastUpdated") sort_direction=sortOrder />
239 </a>
240 </th>
241 <th>
242 Category
243 </th>
244 </tr>
245 </thead>
246 <tbody>
247 <#list entries as entry>
248
249 <#assign term_date = entry.getDDMFieldValue("TerminationDate")!"">
250 <#-- don't display entries with a term date of today or in the past -->
251 <#if ((!term_date?has_content) || ((term_date?date) >= today_date)) >
252
253 <#assign effective_stmt = " ">
254
255 <#assign effective_date = entry.getDDMFieldValue("EffectiveDate")!"">
256
257 <#if effective_date == "">
258 <#assign effective_stmt = " ">
259 <#else>
260
261 <#if (today_date < effective_date?date) >
262 <#assign effective_stmt = "(Effective " + effective_date + ")">
263 </#if>
264 </#if>
265
266
267 <#assign download_url = entry.getDownloadURL()?trim>
268 <#assign document_title = entry.getDDMFieldValue("Title")!"">
269 <#assign policy_id = entry.getDDMFieldValue("PolicyID")!"">
270 <tr>
271 <td>
272 <#if download_url != "">
273 <a class="pdf-icon" href="${download_url}" target="_blank">
274 ${document_title} ${effective_stmt!""}
275 <span class="sr-only">Open a PDF</span>
276 <span class="text-black">${policy_id}</span>
277 </a>
278 <#else>
279 ${document_title}
280 <span class="text-black">${policy_id}</span>
281 </#if>
282 </td>
283 <td>${entry.getDDMFieldValue("LastUpdated")!""}</td>
284 <td>
285 <#if displayContext.getCategories()?has_content>
286 ${entry.getCategoryName()!""}
287 </#if>
288 </td>
289 </tr>
290 </#if>
291
292 </#list>
293 </tbody>
294 </table>
295 <#if displayContext.isPagination()>
296 <div class="row pagination-container">
297 <#assign paginationNumber = 1>
298 <#assign pageSize = displayContext.getPageSize()>
299 <#assign totalPages = displayContext.getTotalPages()>
300<#-- Use value calculated above <#assign totalRecords = displayContext.getTotalRecords()> -->
301 <#if pageSize != 0>
302 <#assign paginationNumber = (totalRecords / pageSize)?ceiling>
303 </#if>
304 <div class="col-12 col-sm-6">
305 <#assign initialNo = ((currentPage - 1) * pageSize) + 1>
306 <#assign lastNo = (currentPage * pageSize)>
307 <#if (lastNo > totalRecords)>
308 <#assign lastNo = totalRecords>
309 </#if>
310 <small class="results-summary">Showing ${initialNo}–
311 ${lastNo} of ${totalRecords} Results</small>
312 </div>
313 <@paginationList />
314 </div>
315 </#if>
316 <#elseif displayContext.isSearchError()>
317 <h3 class="text-center">${displayContext.getSearchErrorMessage()}</h3>
318 <#else>
319 <div class="flex-container">
320 <div class="flex-item-center m-auto">
321 <p><strong>${noRecordsText}</strong> Try a new search term, or reset your search.</p>
322 <p><strong>Suggestions:</strong></p>
323 <ul>
324 <li>Make sure all words are spelled correctly</li>
325 <li>Try different keywords</li>
326 <li>Try more generic keywords</li>
327 <li>Try fewer keywords</li>
328 </ul>
329 </div>
330 </div>
331 </#if>
332</div>
333<script type="text/javascript">
334 $(function () {
335 var $categorySelect = $('#${categorySelectId}');
336 var $filterForm = $('#${filterFormId}');
337 var $resetBtn = $('#${resetBtnId}');
338 var $searchForm = $('#${searchFormId}');
339 var $portletContainer = $('#${portletId}');
340 var $hasCategoryResults = $filterForm.find('select').val();
341 var $hasSearchResults= $searchForm.find('#keywords').val();
342 var $resultsSummary = $portletContainer.find('.results-summary');
343 var $portletPosition= $portletContainer.offset().top;
344
345 // Handle search form
346 $searchForm.keydown(function(e) {
347 if (e.which === 13) {
348 $(this).submit();
349 }
350 });
351 // Handle category filter
352 $categorySelect.change(function() {
353 $filterForm.trigger('submit');
354 });
355 // Handle reset button
356 $resetBtn.on('click', function() {
357 if ($searchForm.length) {
358 $searchForm.find('input').val('');
359 $searchForm.submit();
360 } else {
361 $categorySelect.val(0);
362 $filterForm.submit();
363 }
364 });
365 // Foxus on summary text if results returned
366 if(($hasSearchResults || ($hasCategoryResults && $hasCategoryResults!=0))
367 && $resultsSummary.length){
368 $portletContainer.find('.results-summary').focus();
369 }
370 //Positioning the portlet
371 //$('body , html').animate({scrollTop : $portletPosition});
372 }());
373</script>