{"version":3,"file":"trend.bundle.js","mappings":"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","sources":["webpack://vaxtrax/./node_modules/highcharts/modules/no-data-to-display.js","webpack://vaxtrax/./src/js/app-constants.js","webpack://vaxtrax/./src/js/chart-config.js","webpack://vaxtrax/./src/js/loading.js","webpack://vaxtrax/./src/js/trend.page.js"],"sourcesContent":["/*\n Highcharts JS v10.2.0 (2022-07-05)\n\n Plugin for displaying a message when there is no data visible in chart.\n\n (c) 2010-2021 Highsoft AS\n Author: Oystein Moseng\n\n License: www.highcharts.com/license\n*/\n(function(a){\"object\"===typeof module&&module.exports?(a[\"default\"]=a,module.exports=a):\"function\"===typeof define&&define.amd?define(\"highcharts/modules/no-data-to-display\",[\"highcharts\"],function(b){a(b);a.Highcharts=b;return a}):a(\"undefined\"!==typeof Highcharts?Highcharts:void 0)})(function(a){function b(a,c,b,e){a.hasOwnProperty(c)||(a[c]=e.apply(null,b),\"function\"===typeof CustomEvent&&window.dispatchEvent(new CustomEvent(\"HighchartsModuleLoaded\",{detail:{path:c,module:a[c]}})))}a=a?a._modules:\n{};b(a,\"Extensions/NoDataToDisplay.js\",[a[\"Core/Renderer/HTML/AST.js\"],a[\"Core/Chart/Chart.js\"],a[\"Core/DefaultOptions.js\"],a[\"Core/Utilities.js\"]],function(a,b,f,e){var c=f.getOptions;f=e.addEvent;var g=e.extend;e=b.prototype;c=c();g(c.lang,{noData:\"No data to display\"});c.noData={attr:{zIndex:1},position:{x:0,y:0,align:\"center\",verticalAlign:\"middle\"},style:{fontWeight:\"bold\",fontSize:\"12px\",color:\"#666666\"}};e.showNoData=function(b){var d=this.options;b=b||d&&d.lang.noData||\"\";d=d&&(d.noData||\n{});this.renderer&&(this.noDataLabel||(this.noDataLabel=this.renderer.label(b,0,0,void 0,void 0,void 0,d.useHTML,void 0,\"no-data\").add()),this.styledMode||this.noDataLabel.attr(a.filterUserAttributes(d.attr||{})).css(d.style||{}),this.noDataLabel.align(g(this.noDataLabel.getBBox(),d.position||{}),!1,\"plotBox\"))};e.hideNoData=function(){this.noDataLabel&&(this.noDataLabel=this.noDataLabel.destroy())};e.hasData=function(){for(var a=this.series||[],b=a.length;b--;)if(a[b].hasData()&&!a[b].options.isInternal)return!0;\nreturn this.loadingShown};f(b,\"render\",function(){this.hasData()?this.hideNoData():this.showNoData()})});b(a,\"masters/modules/no-data-to-display.src.js\",[],function(){})});\n//# sourceMappingURL=no-data-to-display.js.map","export const appConstants = {\r\n ageListUrl: `/Home/PopulateAgeList`,\r\n monthLabels: [\r\n 'Jan',\r\n 'Feb',\r\n 'Mar',\r\n 'Apr',\r\n 'May',\r\n 'Jun',\r\n 'Jul',\r\n 'Aug',\r\n 'Sep',\r\n 'Oct',\r\n 'Nov',\r\n 'Dec'\r\n ],\r\n mapPerCapitaDesc: 'Rate of medical and pharmacy claims (per 100,000 members of the population) for vaccinations for the indicated disease.
This data can help compare rates of vaccination in states with different population sizes.',\r\n mapDefaultDesc: 'Indicates change in medical and pharmacy vaccination claims (increase or decrease) in comparison to 2019.',\r\n influenza: 100,\r\n national: 0,\r\n timePeriod: 2023,\r\n timePeriod2: 2019,\r\n ageGroup: 1,\r\n tooltipByAge: `Total number of medical and pharmacy claims for vaccinations for the indicated disease in the U.S., separated by age (as indicated in claim data). Data is currently available for adults only (age 19+).`,\r\n tooltipByGender: `Total number of medical and pharmacy claims for vaccinations for the indicated disease in the U.S., separated by gender (as indicated in claim data).`,\r\n tooltipByEthnicity: `Total number of medical and pharmacy claims for vaccinations for the indicated disease in the U.S., separated by ethnicity (as indicated by claim data).`,\r\n tooltipTotalVaccinated: `Total number of medical and pharmacy claims for vaccinations for the indicated disease in the U.S.`,\r\n tooltipGapAnalysis: 'Increase or decrease in claims of recommended adult vaccines from 2019 to year selected.' \r\n}","export function configureCharts(Highcharts) {\r\n /* display negative numbers on logarithmic chartss*/\r\n (function (H) {\r\n H.addEvent(H.Axis, 'afterInit', function () {\r\n const logarithmic = this.logarithmic;\r\n\r\n if (logarithmic && this.options.custom.allowNegativeLog) {\r\n\r\n // Avoid errors on negative numbers on a log axis\r\n this.positiveValuesOnly = false;\r\n\r\n // Override the converter functions\r\n logarithmic.log2lin = num => {\r\n const isNegative = num < 0;\r\n\r\n let adjustedNum = Math.abs(num);\r\n\r\n if (adjustedNum < 10) {\r\n adjustedNum += (10 - adjustedNum) / 10;\r\n }\r\n\r\n const result = Math.log(adjustedNum) / Math.LN10;\r\n return isNegative ? -result : result;\r\n };\r\n\r\n logarithmic.lin2log = num => {\r\n const isNegative = num < 0;\r\n\r\n let result = Math.pow(10, Math.abs(num));\r\n if (result < 10) {\r\n result = (10 * (result - 1)) / (10 - 1);\r\n }\r\n return isNegative ? -result : result;\r\n };\r\n }\r\n });\r\n }(Highcharts));\r\n\r\n Highcharts.setOptions({\r\n lang: {\r\n decimalPoint: '.',\r\n thousandsSep: ','\r\n },\r\n credits: {\r\n enabled: false\r\n },\r\n exporting: {\r\n enabled: false\r\n },\r\n colors: [\r\n '#F36633',\r\n 'rgba(84, 79, 64, 1)',\r\n 'rgba(84, 79, 64, 0.7)',\r\n 'rgba(84, 79, 64, 0.5)',\r\n 'rgba(84, 79, 64, 0.3)',\r\n 'rgba(84, 79, 64, 0.1)'\r\n ],\r\n plotOptions: {\r\n pie: {\r\n dataLabels: {\r\n enabled: false\r\n },\r\n showInLegend: true,\r\n states: {\r\n hover: {\r\n halo: {\r\n size: 0\r\n }\r\n }\r\n },\r\n borderWidth: 0\r\n }\r\n }\r\n });\r\n}","import $ from 'jquery';\r\n\r\nexport function showLoadingSpinner(selector, size = '2rem') {\r\n const element = $(selector);\r\n element.html(`\r\n
\r\n
\r\n Loading...\r\n
\r\n
\r\n `);\r\n}\r\n\r\nexport function hideLoadingSpinner(selector) {\r\n const element = $(selector);\r\n element.empty();\r\n}","import '../css/trend.page.css';\r\n\r\nimport $ from 'jquery';\r\nimport Highcharts from 'highcharts';\r\nimport Exporting from 'highcharts/modules/exporting';\r\nExporting(Highcharts);\r\nimport NoDataToDisplay from 'highcharts/modules/no-data-to-display';\r\nNoDataToDisplay(Highcharts);\r\nimport { appConstants } from './app-constants';\r\nimport { configureCharts } from './chart-config';\r\nimport { Tab, Popover } from 'bootstrap';\r\nimport { showLoadingSpinner, hideLoadingSpinner } from './loading';\r\n\r\nclass TrendPage {\r\n\r\n filters = {\r\n state: 0,\r\n vaccine: 0,\r\n ageGroup: 0,\r\n gender: 0,\r\n ethnicity: 0,\r\n timePeriod: 0,\r\n timePeriod2: 0,\r\n payer: 0\r\n }\r\n\r\n currentTab = 'totals';\r\n popover = null;\r\n\r\n viewModel = null;\r\n\r\n constructor() {\r\n // View model is initialized on script for page\r\n this.viewModel = viewModel;\r\n this.init();\r\n }\r\n\r\n init() {\r\n configureCharts(Highcharts);\r\n this.populateFilterState();\r\n this.setDefaultFilters();\r\n this.populateFilters();\r\n this.addTabChangeHandler();\r\n this.populateTabState();\r\n this.populateAgeFilter();\r\n this.addFilterChangeHandlers();\r\n this.populateState();\r\n\r\n this.populateYear();\r\n\r\n this.populateVaccineInfo();\r\n\r\n this.populateLatestTrends();\r\n }\r\n\r\n setDefaultFilters() {\r\n if (!this.filters.state) {\r\n this.filters.state = appConstants.national;\r\n }\r\n if (!this.filters.ageGroup) {\r\n this.filters.ageGroup = appConstants.ageGroup;\r\n }\r\n if (!this.filters.vaccine) {\r\n this.filters.vaccine = appConstants.influenza;\r\n $('#vaccineFilter').val(this.filters.vaccine);\r\n }\r\n if (!this.filters.timePeriod) {\r\n this.filters.timePeriod = appConstants.timePeriod;\r\n }\r\n if (!this.filters.timePeriod2) {\r\n this.filters.timePeriod2 = appConstants.timePeriod2;\r\n }\r\n }\r\n\r\n populateFilters() {\r\n const keys = Object.keys(this.filters);\r\n keys.forEach(key => {\r\n const selector = `#${key}Filter`;\r\n if (this.filters[key]) {\r\n $(selector).val(this.filters[key]);\r\n }\r\n });\r\n }\r\n\r\n populateAgeFilter() {\r\n const url = `${appConstants.ageListUrl}?value=${this.filters.vaccine}`;\r\n $.getJSON(url, results => {\r\n let html = ''; //'';\r\n results.forEach(result => {\r\n html += ``;\r\n });\r\n $('#ageGroupFilter').html(html);\r\n\r\n // If the selected ageGroup does not exist in the list then select first item in age group list\r\n if (!results.find(x => x.ageGroupId === this.filters.ageGroup)) {\r\n this.filters.ageGroup = results[0].ageGroupId;\r\n }\r\n\r\n $('#ageGroupFilter').val(this.filters.ageGroup);\r\n this.populateCharts();\r\n });\r\n }\r\n\r\n populateTabState() {\r\n const searchParams = new URLSearchParams(window.location.search);\r\n const currTab = searchParams.get('tab');\r\n if (currTab) {\r\n this.currentTab = currTab;\r\n }\r\n const tabEl = document.querySelector(`#${this.currentTab}-tab`);\r\n const tab = new Tab(tabEl);\r\n tab.show();\r\n }\r\n\r\n addTabChangeHandler() {\r\n $('button[data-bs-toggle=\"tab\"]').on('shown.bs.tab', event => {\r\n const tab = $(event.target).attr('aria-controls');\r\n this.currentTab = tab;\r\n $('.sidebar-tab-content .tab-pane').removeClass('active');\r\n $(`#sidebar-${tab}`).addClass('active');\r\n const url = new URL(window.location.href);\r\n url.searchParams.set('tab', tab);\r\n // Reset the time period if the year is 2019\r\n if (this.currentTab === 'gap' && this.filters.timePeriod === 2019) {\r\n this.filters.timePeriod = appConstants.timePeriod;\r\n this.filters.timePeriod2 = appConstants.timePeriod2;\r\n url.searchParams.set('timePeriod', this.filters.timePeriod);\r\n url.searchParams.set('timePeriod2', this.filters.timePeriod2);\r\n this.populateCharts();\r\n }\r\n window.history.replaceState(null, null, url);\r\n this.populateYear();\r\n this.initializePopover();\r\n });\r\n }\r\n\r\n addFilterChangeHandlers() {\r\n const keys = Object.keys(this.filters);\r\n keys.forEach(key => {\r\n const selector = `#${key}Filter`;\r\n $(selector).on('change', e => {\r\n this.handleFilterSelect(key, e.currentTarget.value);\r\n });\r\n });\r\n }\r\n\r\n handleFilterSelect(key, value) {\r\n this.filters[key] = parseInt(value);\r\n\r\n const url = new URL(window.location.href);\r\n url.searchParams.set(key, value);\r\n window.history.replaceState(null, null, url);\r\n\r\n if (key === 'vaccine') {\r\n this.filters.ageGroup = appConstants.ageGroup; // Reset age group to 0 when vaccine filter changes\r\n url.searchParams.set('ageGroup', appConstants.ageGroup);\r\n this.populateVaccineInfo();\r\n this.populateAgeFilter();\r\n } else { // populate charts is done through age filter for vaccines\r\n if (key === 'state') {\r\n this.populateState();\r\n }\r\n this.populateCharts();\r\n }\r\n }\r\n\r\n populateFilterState() {\r\n let filterParams = new URLSearchParams(window.location.search);\r\n filterParams.forEach((value, key) => {\r\n this.filters[key] = parseInt(value);\r\n });\r\n }\r\n\r\n generateFilterPayload() {\r\n return {\r\n yearId: this.filters.timePeriod,\r\n prevYearId: this.filters.timePeriod2,\r\n monthId: 0,\r\n vaccineId: this.filters.vaccine,\r\n stateId: this.filters.state,\r\n genderId: this.filters.gender,\r\n ageRangeId: 0,\r\n ageGroupId: this.filters.ageGroup,\r\n ethnicityId: this.filters.ethnicity,\r\n pointOfAccessId: 0,\r\n payTypeId: this.filters.payer,\r\n projected: 0,\r\n month: 0\r\n }\r\n }\r\n\r\n populateYear() {\r\n const label = this.currentTab === 'gap' ?\r\n `${this.filters.timePeriod} vs ${this.filters.timePeriod2}` :\r\n `${this.filters.timePeriod}`;\r\n\r\n\r\n $('#gapAnalyticYearLabel').html(label);\r\n $('.gap-analytic-label').html(this.currentTab.charAt(0).toUpperCase() + this.currentTab.slice(1) + \" analysis for \");\r\n\r\n if (this.currentTab === 'totals') {\r\n $('#gapAnalyticYearLabel').hide();\r\n $('.gap-analytic-label').html('Analysis for all years');\r\n } else {\r\n $('#gapAnalyticYearLabel').show();\r\n }\r\n }\r\n\r\n initializePopover() {\r\n // Remove existing popover\r\n if (this.popover) {\r\n this.popover.dispose();\r\n }\r\n\r\n const timePeriodButtonEl = document.querySelector('.time-period-button');\r\n this.popover = new Popover(timePeriodButtonEl, {\r\n html: true,\r\n customClass: 'time-period-popover',\r\n content: `\r\n
\r\n
\r\n \r\n \r\n
\r\n ${this.currentTab === 'gap' ?\r\n `
\r\n \r\n \r\n
` : ''\r\n }\r\n
\r\n `,\r\n sanitize: false\r\n });\r\n\r\n $(timePeriodButtonEl).one('inserted.bs.popover', () => {\r\n $('#timePeriodFilter').on('change', e => {\r\n this.handleFilterSelect('timePeriod', e.currentTarget.value);\r\n this.populateYear();\r\n $('#timePeriod2Filter').html(this.renderTimePeriod2Options());\r\n });\r\n\r\n $('#timePeriod2Filter').on('change', e => {\r\n this.handleFilterSelect('timePeriod2', e.currentTarget.value);\r\n this.populateYear();\r\n $('#timePeriodFilter').html(this.renderTimePeriodOptions());\r\n });\r\n });\r\n }\r\n\r\n renderTimePeriodOptions() {\r\n const timePeriods = this.currentTab === 'gap' ? this.viewModel.timePeriodList.filter(x => x > this.filters.timePeriod2) : [...this.viewModel.timePeriodList];\r\n return timePeriods.map(timePeriod => {\r\n if (timePeriod === this.filters.timePeriod) {\r\n return ``;\r\n } else {\r\n return ``;\r\n }\r\n }).join();\r\n }\r\n\r\n renderTimePeriod2Options() {\r\n const timePeriods = this.currentTab === 'gap' ? this.viewModel.timePeriodList.filter(x => x < this.filters.timePeriod) : [...this.viewModel.timePeriodList];\r\n return timePeriods.map(timePeriod => {\r\n if (timePeriod === this.filters.timePeriod2) {\r\n return ``;\r\n } else {\r\n return ``;\r\n }\r\n }).join();\r\n }\r\n\r\n populateState() {\r\n const state = this.viewModel.stateList.find(s => s.value == this.filters.state);\r\n if (state) {\r\n $('#stateLabel').html(state.text);\r\n }\r\n }\r\n\r\n populateLatestTrends() {\r\n // TODO: Fetch trends from server\r\n $('.accordion-button').text('Vaccine Track Reveals Trends in Recommended Adult Vaccinations in the U.S.');\r\n $('#latestTrends .accordion-body').html(\r\n '
\"Vaccine' +\r\n 'Archives
' +\r\n '
' +\r\n '
As we move into 2023, there are several exciting new developments that have implications for adult vaccine availability, coverage and access. These include not only the new policy changes included in the Inflation Reduction Act of 2022 (IRA) that expand and improve adult vaccine coverage for Medicare and Medicaid beneficiaries, but also the promise of new advancements in vaccine innovation for diseases such as respiratory syncytial virus (RSV).

' +\r\n '
The COVID - 19 pandemic had a significant impact on decreasing routine immunization rates both for children and adults — but it also provided lessons learned on how to address equity issues and system barriers that can be leveraged moving forward to improve rates.This is especially important to protect against respiratory diseases as we saw this year with the “tripledemic.”

' +\r\n '
Although recommended vaccines, excluding flu for adults, on average remain below pre - pandemic levels, building on these new developments in 2023 can drive improvements.There is also a tremendous opportunity now to re - envision a more systematic approach to adult vaccination by maximizing uptake to create healthier communities and a more resilient public health infrastructure.

' +\r\n '
To learn more on the most recent insights updated on the platform, click here

' +\r\n '
'\r\n );\r\n }\r\n\r\n populateVaccineInfo() {\r\n const vaccine = this.viewModel.vaccineList.find(s => s.value == this.filters.vaccine);\r\n var name = '';\r\n if (vaccine) {\r\n if (vaccine.text.toLowerCase() == 'total (excluding influenza)') {\r\n name = 'Total (excluding Influenza & RSV)';\r\n } else {\r\n name = vaccine.text;\r\n }\r\n $('#vaccineName').html(name);\r\n\r\n const vaccineDescription = this.viewModel.vaccineDescriptionList.find(s => s.value == vaccine.text);\r\n if (vaccineDescription) {\r\n $('#vaccineDetails').html(vaccineDescription.text);\r\n }\r\n const cdclink = this.viewModel.vaccineCDCLink.find(s => s.value == vaccine.text);\r\n if (cdclink) {\r\n $('#cdcLink').prop(\"href\", cdclink.text);\r\n }\r\n }\r\n }\r\n\r\n populateCharts() {\r\n this.populateTotalsChart();\r\n this.populateGapTotalChart();\r\n this.populateGapAgeChart();\r\n this.populateGapGenderChart();\r\n this.populateGapEthnicityChart();\r\n this.populateGapPayerChart();\r\n }\r\n\r\n populateTotalsChart() {\r\n const url = `/api/TrendsCharts/All`;\r\n showLoadingSpinner('#totals', '5rem');\r\n $('#totalVaccinatedValue').empty();\r\n $.ajax(url, {\r\n data: JSON.stringify(this.generateFilterPayload()),\r\n contentType: 'application/json',\r\n type: 'POST'\r\n }).done(data => {\r\n hideLoadingSpinner('#totals');\r\n let isProjected = false;\r\n for (var i = 0; i < data.length; i++) {\r\n if (data[i].projected >= 10) {\r\n isProjected = true;\r\n break;\r\n }\r\n }\r\n if (data.length > 2 && isProjected) {\r\n const chartOptions = {\r\n title: {\r\n text: ''\r\n },\r\n yAxis: {\r\n title: { text: 'Total vaccinations' }\r\n },\r\n xAxis: {\r\n categories: data.map(d => d.year + '-' + appConstants.monthLabels[d.month - 1]),\r\n },\r\n colors: ['#F36633', '#544F40'],\r\n tooltip: {\r\n formatter: function () {\r\n if (this.y < 10) {\r\n return `
\r\n ${this.point.name}
\r\n
\r\n
\r\n ●  ${this.series.name}: < 10
\r\n
\r\n `;\r\n }\r\n else {\r\n return `
\r\n ${this.point.name}
\r\n
\r\n
\r\n ●  ${this.series.name}: ${this.y.toLocaleString('en-US')}
\r\n
\r\n `;\r\n }\r\n }\r\n },\r\n series: [{\r\n type: 'line',\r\n name: 'Total Vaccinated',\r\n data: data.map(d => {\r\n return {\r\n name: d.year + '-' + appConstants.monthLabels[d.month - 1],\r\n y: (d.projected < 10) ? 1 : d.projected\r\n };\r\n })\r\n }]\r\n };\r\n Highcharts.chart('totals', chartOptions);\r\n }\r\n else {\r\n Highcharts.setOptions({\r\n lang: {\r\n noData: 'There is not enough data available for selected parameters. Please choose a different filter option.'\r\n },\r\n noData: {\r\n useHTML: true\r\n }\r\n });\r\n Highcharts.chart('totals', {\r\n title: {\r\n text: ''\r\n }\r\n });\r\n }\r\n this.populateTotalChart(data);\r\n });\r\n }\r\n\r\n populateGapTotalChart() {\r\n const url = `/api/TrendsCharts/Totals`;\r\n showLoadingSpinner('#gap', '5rem');\r\n showLoadingSpinner('#gapChart');\r\n $('#gapValue').empty();\r\n $.ajax(url, {\r\n data: JSON.stringify(this.generateFilterPayload()),\r\n contentType: 'application/json',\r\n type: 'POST'\r\n }).done(data => {\r\n hideLoadingSpinner('#gap');\r\n hideLoadingSpinner('#gapChart');\r\n let isProjected = false;\r\n for (var i = 0; i < data.length; i++) {\r\n if (data[i].previousYearProjected >= 10 || data[i].currentYearProjected >= 10) {\r\n isProjected = true;\r\n break;\r\n }\r\n }\r\n if (data.length > 2 && isProjected) {\r\n const chartOptions = {\r\n title: {\r\n text: ''\r\n },\r\n tooltip: {\r\n useHTML: true,\r\n formatter: function () {\r\n const percent = this.points[0].y > 0 ? (this.points[2].y / this.points[0].y) * 100 : 0;\r\n return `\r\n
${this.x}
\r\n
\r\n ${this.points.map(point => {\r\n return `\r\n
\r\n \r\n ${point.series.name}\r\n ${point.y.toLocaleString('en-US')}\r\n
\r\n `;\r\n }).join('')}\r\n
\r\n % Difference\r\n ${percent.toLocaleString('en-US', { maximumFractionDigits: 0 })}%\r\n
\r\n
\r\n `;\r\n },\r\n shared: true\r\n },\r\n xAxis: {\r\n categories: data.map(d => appConstants.monthLabels[d.month - 1]),\r\n },\r\n yAxis: [{\r\n alignTicks: false,\r\n title: {\r\n text: 'Total vaccinations'\r\n }\r\n }, {\r\n gridLineWidth: 0,\r\n title: {\r\n text: 'Year over year difference'\r\n },\r\n opposite: true,\r\n plotLines: [{\r\n width: 2,\r\n value: 0,\r\n zIndex: 4\r\n }]\r\n }],\r\n series: [{\r\n type: 'line',\r\n zIndex: 3,\r\n name: `${this.filters.timePeriod2}`,\r\n color: '#F36633',\r\n data: data.map(d => {\r\n return {\r\n name: appConstants.monthLabels[d.month - 1],\r\n y: d.previousYearProjected\r\n };\r\n })\r\n }, {\r\n type: 'line',\r\n zIndex: 2,\r\n name: `${this.filters.timePeriod}`,\r\n color: '#544F40',\r\n data: data.map(d => {\r\n return {\r\n name: appConstants.monthLabels[d.month - 1],\r\n y: d.currentYearProjected\r\n };\r\n })\r\n }, {\r\n type: 'column',\r\n name: `Difference`,\r\n color: 'rgba(243, 102, 51, 0.7)',\r\n yAxis: 1,\r\n zIndex: 1,\r\n negativeColor: 'rgba(84, 79, 64, 0.7)',\r\n data: data.map(d => {\r\n return {\r\n name: appConstants.monthLabels[d.month - 1],\r\n y: d.diffProjected\r\n };\r\n })\r\n }]\r\n };\r\n Highcharts.chart('gap', chartOptions);\r\n }\r\n else {\r\n Highcharts.setOptions({\r\n lang: {\r\n noData: 'There is not enough data available for selected parameters. Please choose a different filter option.'\r\n },\r\n noData: {\r\n useHTML: true\r\n }\r\n });\r\n Highcharts.chart('gap', {\r\n title: {\r\n text: ''\r\n }\r\n });\r\n }\r\n this.populateGapChart(data);\r\n });\r\n }\r\n\r\n populateGapAgeChart() {\r\n const url = `/api/TrendsCharts/Age`;\r\n showLoadingSpinner('#age', '5rem');\r\n showLoadingSpinner('#totalAgeChart');\r\n $.ajax(url, {\r\n data: JSON.stringify(this.generateFilterPayload()),\r\n contentType: 'application/json',\r\n type: 'POST'\r\n }).done(data => {\r\n hideLoadingSpinner('#age');\r\n hideLoadingSpinner('#totalAgeChart');\r\n const dataByAgeGroup = this.formatData(data, 'ageGroupName');\r\n let isProjected = false;\r\n for (var i = 0; i < data.length; i++) {\r\n if (data[i].projected >= 10) {\r\n isProjected = true;\r\n break;\r\n }\r\n }\r\n if (data.length > 2 && isProjected) {\r\n const chartOptions = {\r\n title: {\r\n text: ''\r\n },\r\n yAxis: {\r\n title: { text: 'Total vaccinations' }\r\n },\r\n xAxis: {\r\n categories: this.formatData(data, 'month').map(d => appConstants.monthLabels[d['month'] - 1]),\r\n },\r\n colors: ['#147189', '#F36633', '#544F40'],\r\n tooltip: {\r\n formatter: function () {\r\n if (this.y < 10) {\r\n return `
\r\n ${this.point.name}
\r\n
\r\n
\r\n ●  ${this.series.name}: < 10
\r\n
\r\n `;\r\n }\r\n else {\r\n return `
\r\n ${this.point.name}
\r\n
\r\n
\r\n ●  ${this.series.name}: ${this.y.toLocaleString('en-US')}
\r\n
\r\n `;\r\n }\r\n }\r\n },\r\n series: dataByAgeGroup.map(group => {\r\n return {\r\n type: 'column',\r\n name: group['ageGroupName'],\r\n data: group.data.map(d => {\r\n return {\r\n name: appConstants.monthLabels[d.month - 1],\r\n y: (d.projected < 10) ? 1 : d.projected\r\n };\r\n })\r\n }\r\n })\r\n };\r\n Highcharts.chart('age', chartOptions);\r\n }\r\n else {\r\n Highcharts.setOptions({\r\n lang: {\r\n noData: 'There is not enough data available for selected parameters. Please choose a different filter option.'\r\n },\r\n noData: {\r\n useHTML: true\r\n }\r\n });\r\n Highcharts.chart('age', {\r\n title: {\r\n text: ''\r\n }\r\n });\r\n }\r\n this.populateTotalAgeChart(dataByAgeGroup);\r\n });\r\n }\r\n\r\n populateGapGenderChart() {\r\n const url = `/api/TrendsCharts/Gender`;\r\n showLoadingSpinner('#gender', '5rem');\r\n showLoadingSpinner('#totalGenderChart');\r\n $.ajax(url, {\r\n data: JSON.stringify(this.generateFilterPayload()),\r\n contentType: 'application/json',\r\n type: 'POST'\r\n }).done(data => {\r\n hideLoadingSpinner('#gender');\r\n hideLoadingSpinner('#totalGenderChart');\r\n const dataByGender = this.formatData(data, 'genderName');\r\n let isProjected = false;\r\n for (var i = 0; i < data.length; i++) {\r\n if (data[i].projected >= 10) {\r\n isProjected = true;\r\n break;\r\n }\r\n }\r\n if (data.length > 2 && isProjected) {\r\n const chartOptions = {\r\n title: {\r\n text: ''\r\n },\r\n yAxis: {\r\n title: { text: 'Total vaccinations' }\r\n },\r\n xAxis: {\r\n categories: this.formatData(data, 'month').map(d => appConstants.monthLabels[d['month'] - 1]),\r\n },\r\n tooltip: {\r\n useHTML: true,\r\n formatter: function () {\r\n const total = this.points[1] != undefined ? this.points[0].y + this.points[1].y : this.points[0].y;\r\n if (total != this.points[0].y) {\r\n var totLabel = (this.points[0].y < 10 || this.points[1].y < 10) ? 'Not enough data' : total.toLocaleString('en-US');\r\n return `\r\n
${this.x}
\r\n
\r\n ${this.points.map(point => {\r\n var label = point.y < 10 ? '< 10' : point.y.toLocaleString('en-US');\r\n return `\r\n
\r\n \r\n ${point.series.name}\r\n ${label}\r\n
\r\n `;\r\n }).join('')}\r\n
\r\n Total\r\n ${totLabel.toLocaleString('en-US')}\r\n
\r\n
\r\n `;\r\n } else {\r\n return `\r\n
${this.x}
\r\n
\r\n ${this.points.map(point => {\r\n var label = point.y < 10 ? '< 10' : point.y.toLocaleString('en-US');\r\n return `\r\n
\r\n \r\n ${point.series.name}\r\n ${label}\r\n
\r\n `;\r\n }).join('')}`;\r\n }\r\n },\r\n shared: true\r\n },\r\n\r\n colors: ['#F36633', '#544F40'],\r\n series: dataByGender.map(group => {\r\n return {\r\n type: 'line',\r\n name: group['genderName'],\r\n data: group.data.map(d => {\r\n return {\r\n name: appConstants.monthLabels[d.month - 1],\r\n y: (d.projected < 10) ? 1 : d.projected\r\n };\r\n })\r\n }\r\n })\r\n };\r\n Highcharts.chart('gender', chartOptions);\r\n }\r\n else {\r\n Highcharts.setOptions({\r\n lang: {\r\n noData: 'There is not enough data available for selected parameters. Please choose a different filter option.'\r\n },\r\n noData: {\r\n useHTML: true\r\n }\r\n });\r\n Highcharts.chart('gender', {\r\n title: {\r\n text: ''\r\n }\r\n });\r\n }\r\n this.populateTotalGenderChart(dataByGender);\r\n });\r\n }\r\n\r\n populateGapEthnicityChart() {\r\n const url = `/api/TrendsCharts/Ethnicity`;\r\n showLoadingSpinner('#ethnicity', '5rem');\r\n showLoadingSpinner('#totalEthnicityChart');\r\n $.ajax(url, {\r\n data: JSON.stringify(this.generateFilterPayload()),\r\n contentType: 'application/json',\r\n type: 'POST'\r\n }).done(data => {\r\n hideLoadingSpinner('#ethnicity');\r\n hideLoadingSpinner('#totalEthnicityChart');\r\n const dataByEthnicity = this.formatData(data, 'ethnicityName');\r\n let isProjected = false;\r\n for (var i = 0; i < data.length; i++) {\r\n if (data[i].projected >= 10) {\r\n isProjected = true;\r\n break;\r\n }\r\n }\r\n if (data.length > 2 && isProjected) {\r\n const chartOptions = {\r\n title: {\r\n text: ''\r\n },\r\n yAxis: {\r\n title: { text: 'Total vaccinations' }\r\n },\r\n xAxis: {\r\n categories: this.formatData(data, 'month').map(d => appConstants.monthLabels[d['month'] - 1]),\r\n },\r\n tooltip: {\r\n useHTML: true,\r\n formatter: function () {\r\n let total = 0;\r\n if (this.points != undefined) {\r\n for (var i = 0; i < this.points.length; i++) {\r\n if (this.points[i].y >= 10) {\r\n total = total + this.points[i].y;\r\n }\r\n }\r\n }\r\n if (total != 0) {\r\n return `\r\n
${this.x}
\r\n
\r\n ${this.points.map(point => {\r\n var label = point.y < 10 ? '< 10' : point.y.toLocaleString('en-US');\r\n return `\r\n
\r\n \r\n ${point.series.name}\r\n ${label}\r\n
\r\n `;\r\n }).join('')}\r\n
\r\n Total\r\n ${total.toLocaleString('en-US')}\r\n
\r\n
\r\n `;\r\n } else {\r\n return `\r\n
${this.x}
\r\n
\r\n ${this.points.map(point => {\r\n var label = point.y < 10 ? '< 10' : point.y.toLocaleString('en-US');\r\n return `\r\n
\r\n \r\n ${point.series.name}\r\n ${label}\r\n
\r\n `;\r\n }).join('')}`;\r\n }\r\n },\r\n shared: true\r\n },\r\n colors: ['#147189', '#544F40', '#F79470', '#F36633', 'rgba(84, 79, 64, 0.7)'],\r\n series: dataByEthnicity.map(group => {\r\n return {\r\n type: 'line',\r\n name: group['ethnicityName'],\r\n data: group.data.map(d => {\r\n return {\r\n name: appConstants.monthLabels[d.month - 1],\r\n y: (d.projected < 10) ? 1 : d.projected\r\n };\r\n })\r\n }\r\n })\r\n };\r\n Highcharts.chart('ethnicity', chartOptions);\r\n }\r\n else {\r\n Highcharts.setOptions({\r\n lang: {\r\n noData: 'There is not enough data available for selected parameters. Please choose a different filter option.'\r\n },\r\n noData: {\r\n useHTML: true\r\n }\r\n });\r\n Highcharts.chart('ethnicity', {\r\n title: {\r\n text: ''\r\n }\r\n });\r\n }\r\n this.populateTotalEthnicityChart(dataByEthnicity);\r\n });\r\n }\r\n\r\n populateGapPayerChart() {\r\n const url = `/api/TrendsCharts/Payor`;\r\n showLoadingSpinner('#payer', '5rem');\r\n showLoadingSpinner('#totalPayerChart');\r\n $.ajax(url, {\r\n data: JSON.stringify(this.generateFilterPayload()),\r\n contentType: 'application/json',\r\n type: 'POST'\r\n }).done(data => {\r\n hideLoadingSpinner('#payer');\r\n hideLoadingSpinner('#totalPayerChart');\r\n const dataByPayer = this.formatData(data, 'payorName');\r\n let isProjected = false;\r\n for (var i = 0; i < data.length; i++) {\r\n if (data[i].projected >= 10) {\r\n isProjected = true;\r\n break;\r\n }\r\n }\r\n if (data.length > 2 && isProjected) {\r\n const chartOptions = {\r\n title: {\r\n text: ''\r\n },\r\n yAxis: {\r\n title: { text: 'Total vaccinations' }\r\n\r\n },\r\n xAxis: {\r\n categories: this.formatData(data, 'month').map(d => appConstants.monthLabels[d['month'] - 1]),\r\n },\r\n tooltip: {\r\n useHTML: true,\r\n formatter: function () {\r\n let total = 0;\r\n if (this.points != undefined) {\r\n for (var i = 0; i < this.points.length; i++) {\r\n if (this.points[i].y >= 10) {\r\n total = total + this.points[i].y;\r\n }\r\n }\r\n }\r\n if (total != 0) {\r\n return `\r\n
${this.x}
\r\n
\r\n ${this.points.map(point => {\r\n var label = point.y < 10 ? '< 10' : point.y.toLocaleString('en-US');\r\n return `\r\n
\r\n \r\n ${point.series.name}\r\n ${label}\r\n
\r\n `;\r\n }).join('')}\r\n
\r\n Total\r\n ${total.toLocaleString('en-US')}\r\n
\r\n
\r\n `;\r\n } else {\r\n return `\r\n
${this.x}
\r\n
\r\n ${this.points.map(point => {\r\n var label = point.y < 10 ? '< 10' : point.y.toLocaleString('en-US');\r\n return `\r\n
\r\n \r\n ${point.series.name}\r\n ${label}\r\n
\r\n `;\r\n }).join('')}`;\r\n }\r\n },\r\n shared: true\r\n },\r\n colors: ['#147189', '#544F40', '#F79470', '#F36633', 'rgba(84, 79, 64, 0.7)', 'rgba(84, 79, 64, 0.5)'],\r\n series: dataByPayer.map(group => {\r\n return {\r\n type: 'line',\r\n name: group.payorName,\r\n data: group.data.map(d => {\r\n return {\r\n name: appConstants.monthLabels[d.month - 1],\r\n y: (d.projected < 10) ? 1 : d.projected\r\n };\r\n })\r\n }\r\n })\r\n };\r\n Highcharts.chart('payer', chartOptions);\r\n }\r\n else {\r\n Highcharts.setOptions({\r\n lang: {\r\n noData: 'There is not enough data available for selected parameters. Please choose a different filter option.'\r\n },\r\n noData: {\r\n useHTML: true\r\n }\r\n });\r\n Highcharts.chart('payer', {\r\n title: {\r\n text: ''\r\n }\r\n });\r\n }\r\n this.populateTotalPayerChart(dataByPayer);\r\n });\r\n }\r\n\r\n\r\n populateTotalChart(data) {\r\n let totalVaccinated = 0;\r\n totalVaccinated = data.reduce((sum, d) => sum + d.projected, 0);\r\n totalVaccinated = totalVaccinated < 10 ? '< 10' : totalVaccinated;\r\n $('#totalVaccinatedValue').html(totalVaccinated.toLocaleString('en-US'));\r\n }\r\n\r\n populateGapChart(data) {\r\n const totalGap = data.reduce((sum, d) => sum + d.diffProjected, 0);\r\n const totalProj = data.reduce((sum, d) => sum + d.previousYearProjected, 0);\r\n const percentage = totalProj !== 0 ? (totalGap / totalProj) * 100 : 0;\r\n const chartData = [{\r\n name: '',\r\n color: '#F36633',\r\n y: Math.abs(percentage)\r\n },\r\n {\r\n name: '', // + data.timePeriod2 + ' year projected',\r\n color: '#F0EFED',\r\n y: 100 - Math.abs(percentage)\r\n }];\r\n\r\n $('#gapValue').html(totalGap <= 0 ? totalGap.toLocaleString('en-US') : '+' + totalGap.toLocaleString('en-US'));\r\n\r\n const chartOptions = {\r\n chart: {\r\n height: 117,\r\n width: 117\r\n },\r\n title: {\r\n verticalAlign: 'middle',\r\n floating: true,\r\n text: `${percentage <= 0 ? percentage.toFixed() : '+' + percentage.toFixed()}%`,\r\n style: {\r\n fontSize: '24px'\r\n }\r\n },\r\n plotOptions: {\r\n pie: {\r\n size: 112,\r\n innerSize: '80%',\r\n states: {\r\n hover: {\r\n enabled: false\r\n },\r\n inactive: {\r\n opacity: 1\r\n }\r\n }\r\n }\r\n },\r\n tooltip: {\r\n //enabled: false\r\n outside: true,\r\n useHTML: true,\r\n formatter: function () {\r\n if (this.point.index > 0 && percentage > 0 || this.point.index == 0 && percentage < 0) {\r\n return false;\r\n } else {\r\n return `\r\n
${this.series.name}
\r\n
\r\n
\r\n ${new Intl.NumberFormat(\"en-US\", { signDisplay: \"exceptZero\", maximumFractionDigits: 1 }).format(percentage)}%\r\n\r\n
\r\n
\r\n `;\r\n\r\n }\r\n }\r\n },\r\n legend: {\r\n enabled: false\r\n },\r\n series: [{\r\n type: 'pie',\r\n name: 'Total percent change',\r\n data: percentage >= 0 ? chartData : chartData.reverse()\r\n }]\r\n };\r\n Highcharts.setOptions({\r\n lang: {\r\n noData: 'There is not enough data available for selected parameters. Please choose a different filter option.'\r\n },\r\n noData: {\r\n useHTML: true\r\n }\r\n });\r\n Highcharts.chart('gapChart', chartOptions);\r\n }\r\n\r\n populateTotalAgeChart(data) {\r\n let isSumProjected = false;\r\n let projectedValues = data.map(group => {\r\n return {\r\n total: group.data.reduce((sum, d) => sum + d.projected, 0)\r\n };\r\n })\r\n projectedValues.every(t => {\r\n if (t.total >= 10) {\r\n isSumProjected = true;\r\n return false;\r\n }\r\n return true;\r\n });\r\n\r\n if (!isSumProjected) {\r\n data = [];\r\n }\r\n const chartOptions = {\r\n chart: {\r\n width: null,\r\n height: 300\r\n },\r\n title: {\r\n text: ''\r\n },\r\n plotOptions: {\r\n pie: {\r\n innerSize: '60%'\r\n }\r\n },\r\n colors: ['#147189', '#F36633', '#544F40'],\r\n tooltip: {\r\n formatter: function () {\r\n this.valueDecimals = 2;\r\n var result;\r\n if (this.y < 10) {\r\n return `
\r\n ${this.point.name}
\r\n
\r\n
\r\n ●  ${this.series.name}: < 10
\r\n
\r\n `;\r\n }\r\n else {\r\n return `
\r\n ${this.point.name}
\r\n
\r\n
\r\n ●  ${this.series.name}: ${this.y.toLocaleString('en-US')}
\r\n
\r\n `;\r\n }\r\n return result;\r\n }\r\n },\r\n series: [{\r\n type: 'pie',\r\n name: 'Total',\r\n data: data.map(group => {\r\n return {\r\n name: group.ageGroupName,\r\n y: group.data.reduce((sum, d) => sum + d.projected, 0)\r\n };\r\n })\r\n }]\r\n };\r\n Highcharts.setOptions({\r\n lang: {\r\n noData: 'There is not enough data available for selected parameters. Please choose a different filter option.'\r\n },\r\n noData: {\r\n useHTML: true\r\n }\r\n });\r\n Highcharts.chart('totalAgeChart', chartOptions);\r\n }\r\n\r\n populateTotalGenderChart(data) {\r\n let isSumProjected = false;\r\n let projectedValues = data.map(group => {\r\n return {\r\n total: group.data.reduce((sum, d) => sum + d.projected, 0)\r\n };\r\n })\r\n projectedValues.every(t => {\r\n if (t.total >= 10) {\r\n isSumProjected = true;\r\n return false;\r\n }\r\n return true;\r\n });\r\n\r\n if (!isSumProjected) {\r\n data = [];\r\n }\r\n const chartOptions = {\r\n chart: { width: null, height: 300 },\r\n title: {\r\n text: ''\r\n },\r\n plotOptions: {\r\n pie: {\r\n innerSize: '60%'\r\n }\r\n },\r\n colors: ['#F36633', '#544F40'],\r\n tooltip: {\r\n formatter: function () {\r\n if (this.y < 10) {\r\n return `
\r\n ${this.point.name}
\r\n
\r\n
\r\n ●  ${this.series.name}: < 10
\r\n
\r\n `;\r\n }\r\n else {\r\n return `
\r\n ${this.point.name}
\r\n
\r\n
\r\n ●  ${this.series.name}: ${this.y.toLocaleString('en-US')} (${Math.round(this.point.percentage)}%)
\r\n
\r\n `;\r\n }\r\n }\r\n },\r\n series: [{\r\n type: 'pie',\r\n name: 'Total',\r\n data: data.map(group => {\r\n return {\r\n name: group.genderName,\r\n y: group.data.reduce((sum, d) => sum + d.projected, 0)\r\n };\r\n })\r\n }]\r\n };\r\n Highcharts.setOptions({\r\n lang: {\r\n noData: 'There is not enough data available for selected parameters. Please choose a different filter option.'\r\n },\r\n noData: {\r\n useHTML: true\r\n }\r\n });\r\n Highcharts.chart('totalGenderChart', chartOptions);\r\n }\r\n\r\n populateTotalEthnicityChart(data) {\r\n let isSumProjected = false;\r\n let projectedValues = data.map(group => {\r\n return {\r\n total: group.data.reduce((sum, d) => sum + d.projected, 0)\r\n };\r\n })\r\n projectedValues.every(t => {\r\n if (t.total >= 10) {\r\n isSumProjected = true;\r\n return false;\r\n }\r\n return true;\r\n });\r\n\r\n if (!isSumProjected) {\r\n data = [];\r\n }\r\n const chartOptions = {\r\n chart: { width: null, height: 300 },\r\n title: {\r\n text: ''\r\n },\r\n tooltip: {\r\n formatter: function () {\r\n if (this.y < 10) {\r\n return `
\r\n ${this.point.name}
\r\n
\r\n
\r\n ●  ${this.series.name}: < 10
\r\n
\r\n `;\r\n }\r\n else {\r\n return `
\r\n ${this.point.name}
\r\n
\r\n
\r\n ●  ${this.series.name}: ${this.y.toLocaleString('en-US')} (${Math.round(this.point.percentage)}%)
\r\n
\r\n `;\r\n }\r\n }\r\n },\r\n plotOptions: {\r\n pie: {\r\n innerSize: '60%'\r\n }\r\n },\r\n colors: ['#147189', '#544F40', '#F79470', '#F36633', 'rgba(84, 79, 64, 0.7)'],\r\n series: [{\r\n type: 'pie',\r\n name: 'Total',\r\n data: data.map(group => {\r\n return {\r\n name: group.ethnicityName,\r\n y: group.data.reduce((sum, d) => sum + d.projected, 0)\r\n };\r\n })\r\n }]\r\n };\r\n Highcharts.setOptions({\r\n lang: {\r\n noData: 'There is not enough data available for selected parameters. Please choose a different filter option.'\r\n },\r\n noData: {\r\n useHTML: true\r\n }\r\n });\r\n Highcharts.chart('totalEthnicityChart', chartOptions);\r\n }\r\n\r\n populateTotalPayerChart(data) {\r\n let isSumProjected = false;\r\n let projectedValues = data.map(group => {\r\n return {\r\n total: group.data.reduce((sum, d) => sum + d.projected, 0)\r\n };\r\n })\r\n projectedValues.every(t => {\r\n if (t.total >= 10) {\r\n isSumProjected = true;\r\n return false;\r\n }\r\n return true;\r\n });\r\n\r\n if (!isSumProjected) {\r\n data = [];\r\n }\r\n const chartOptions = {\r\n chart: { width: null, height: 300 },\r\n title: {\r\n text: ''\r\n },\r\n plotOptions: {\r\n pie: {\r\n innerSize: '60%'\r\n }\r\n },\r\n colors: ['#147189', '#544F40', '#F79470', '#F36633', 'rgba(84, 79, 64, 0.7)', 'rgba(84, 79, 64, 0.5)'],\r\n tooltip: {\r\n formatter: function () {\r\n this.valueDecimals = 2;\r\n var result;\r\n if (this.y < 10) {\r\n return `
\r\n ${this.point.name}
\r\n
\r\n
\r\n ●  ${this.series.name}: < 10
\r\n
\r\n `;\r\n }\r\n else {\r\n return `
\r\n ${this.point.name}
\r\n
\r\n
\r\n ●  ${this.series.name}: ${this.y.toLocaleString('en-US')} (${Math.round(this.point.percentage)}%)
\r\n
\r\n `;\r\n }\r\n return result;\r\n }\r\n },\r\n series: [{\r\n type: 'pie',\r\n name: 'Total',\r\n data: data.map(group => {\r\n return {\r\n name: group.payorName,\r\n y: group.data.reduce((sum, d) => sum + d.projected, 0)\r\n };\r\n })\r\n }]\r\n };\r\n Highcharts.setOptions({\r\n lang: {\r\n noData: 'There is not enough data available for selected parameters. Please choose a different filter option.'\r\n },\r\n noData: {\r\n useHTML: true\r\n }\r\n });\r\n Highcharts.chart('totalPayerChart', chartOptions);\r\n }\r\n\r\n formatData(data, key) {\r\n if (data.length > 0) {\r\n const groupedData = data.reduce((acc, value) => {\r\n // Group initialization\r\n if (!acc[value[key]]) {\r\n acc[value[key]] = [];\r\n }\r\n\r\n // Grouping\r\n acc[value[key]].push(value);\r\n\r\n return acc;\r\n }, {});\r\n\r\n return Object.keys(groupedData).map(k => {\r\n return {\r\n [key]: k,\r\n data: groupedData[k]\r\n }\r\n });\r\n } else {\r\n return [];\r\n }\r\n }\r\n}\r\n\r\n$(() => {\r\n $('#mainContentLoading').addClass('d-none');\r\n $('#mainContent').removeClass('d-none');\r\n new TrendPage();\r\n});"],"names":["a","b","c","e","hasOwnProperty","apply","CustomEvent","window","dispatchEvent","detail","path","module","_modules","f","getOptions","addEvent","g","extend","prototype","lang","noData","attr","zIndex","position","x","y","align","verticalAlign","style","fontWeight","fontSize","color","showNoData","d","this","options","renderer","noDataLabel","label","useHTML","add","styledMode","filterUserAttributes","css","getBBox","hideNoData","destroy","hasData","series","length","isInternal","loadingShown","exports","Highcharts","appConstants","ageListUrl","monthLabels","mapPerCapitaDesc","mapDefaultDesc","influenza","national","timePeriod","timePeriod2","ageGroup","tooltipByAge","tooltipByGender","tooltipByEthnicity","tooltipTotalVaccinated","tooltipGapAnalysis","configureCharts","H","Axis","logarithmic","custom","allowNegativeLog","positiveValuesOnly","log2lin","num","isNegative","adjustedNum","Math","abs","result","log","LN10","lin2log","pow","setOptions","decimalPoint","thousandsSep","credits","enabled","exporting","colors","plotOptions","pie","dataLabels","showInLegend","states","hover","halo","size","borderWidth","showLoadingSpinner","selector","html","hideLoadingSpinner","empty","TrendPage","filters","state","vaccine","gender","ethnicity","payer","currentTab","popover","viewModel","constructor","init","populateFilterState","setDefaultFilters","populateFilters","addTabChangeHandler","populateTabState","populateAgeFilter","addFilterChangeHandlers","populateState","populateYear","populateVaccineInfo","populateLatestTrends","val","Object","keys","forEach","key","url","results","ageGroupId","find","populateCharts","currTab","URLSearchParams","location","search","get","tabEl","document","querySelector","show","on","event","tab","target","removeClass","addClass","URL","href","searchParams","set","history","replaceState","initializePopover","handleFilterSelect","currentTarget","value","parseInt","generateFilterPayload","yearId","prevYearId","monthId","vaccineId","stateId","genderId","ageRangeId","ethnicityId","pointOfAccessId","payTypeId","projected","month","charAt","toUpperCase","slice","hide","dispose","timePeriodButtonEl","customClass","content","renderTimePeriodOptions","renderTimePeriod2Options","sanitize","one","timePeriodList","filter","map","join","stateList","s","text","vaccineList","name","toLowerCase","vaccineDescription","vaccineDescriptionList","cdclink","vaccineCDCLink","prop","populateTotalsChart","populateGapTotalChart","populateGapAgeChart","populateGapGenderChart","populateGapEthnicityChart","populateGapPayerChart","data","JSON","stringify","contentType","type","done","isProjected","i","chartOptions","title","yAxis","xAxis","categories","year","tooltip","formatter","point","toLocaleString","populateTotalChart","previousYearProjected","currentYearProjected","percent","points","maximumFractionDigits","shared","alignTicks","gridLineWidth","opposite","plotLines","width","negativeColor","diffProjected","populateGapChart","dataByAgeGroup","formatData","group","populateTotalAgeChart","dataByGender","total","undefined","totLabel","populateTotalGenderChart","dataByEthnicity","populateTotalEthnicityChart","dataByPayer","payorName","populateTotalPayerChart","totalVaccinated","reduce","sum","totalGap","totalProj","percentage","chartData","chart","height","floating","toFixed","innerSize","inactive","opacity","outside","index","Intl","NumberFormat","signDisplay","format","legend","reverse","isSumProjected","every","t","valueDecimals","ageGroupName","round","genderName","ethnicityName","groupedData","acc","push","k"],"sourceRoot":""}