{"version":3,"sources":["./src/app/shared/directives/integer.directive.ts","./src/app/ui/delete-acount/delete-account.component.ts","./src/app/ui/delete-acount/delete-account.component.html","./src/app/shared/pipes/date-time-offset.pipe.ts","./src/app/ui/acknowledgements/acknowledgements.module.ts","./src/app/shared/pipes/cents-to-dollar.pipe.ts","./src/app/app-settings/app-settings.module.ts","./src/app/ui/acknowledgements/acknowledgements.component.ts","./src/app/ui/acknowledgements/acknowledgements.component.html","./src/app/shared/pipes/therapy-compliance.pipe.ts","./src/app/shared/pipes/battery-level-format.pipe.ts","./src/app/shared/components/image-display/image-display.component.html","./src/app/shared/components/image-display/image-display.component.ts","./src/app/shared/pipes/therapy-status.pipe.ts","./src/app/shared/pipes/installment.pipe.ts","./src/app/core/http/product/product.service.ts","./src/app/core/services/auth.service.ts","./src/app/shared/components/add-address/add-address.component.ts","./src/app/shared/components/add-address/add-address.component.html","./src/app/shared/components/navbar/navbar.component.ts","./src/app/shared/components/navbar/navbar.component.html","./src/app/core/http/clinic/clinic.service.ts","./src/app/shared/components/message-box/message-box.component.ts","./src/app/shared/components/message-box/message-box.component.html","./src/environments/environment.ts","./src/app/shared/components/form-input-error/form-input-error.component.html","./src/app/shared/components/form-input-error/form-input-error.component.ts","./src/app/shared/pipes/product.pipe.ts","./src/app/shared/components/upload-prescription-modal/upload-prescription-modal.component.ts","./src/app/shared/components/upload-prescription-modal/upload-prescription-modal.component.html","./src/app/shared/components/navbar/send-notification/send-notification.component.ts","./src/app/shared/components/navbar/send-notification/send-notification.component.html","./src/app/shared/enums/fluid-unit.ts","./src/app/shared/components/add-confirm-dialog/add-confirm-dialog.component.ts","./src/app/shared/components/add-confirm-dialog/add-confirm-dialog.component.html","./src/app/core/services/location.service.ts","./src/app/shared/pipes/device-mode.pipe.ts","./src/app/app-settings/app-settings.service.ts","./src/app/shared/validators.ts","./src/app/shared/classes/phone-number.ts","./src/app/shared/shared.module.ts","./src/app/shared/components/delete-prescription-modal/delete-prescription-modal.component.ts","./src/app/shared/components/delete-prescription-modal/delete-prescription-modal.component.html","./src/app/shared/components/rx-popup/rx-popup.component.ts","./src/app/shared/components/rx-popup/rx-popup.component.html","./node_modules/moment/locale sync ^\\.\\/.*$","./src/app/app.component.ts","./src/app/app.component.html","./src/app/shared/enums/device-mode.ts","./src/app/ui/graph/urinary-history-graph/urinary-history-graph.component.ts","./src/app/ui/graph/urinary-history-graph/urinary-history-graph.component.html","./src/app/shared/components/idle-warning-dialog/idle-warning-dialog.component.ts","./src/app/shared/components/idle-warning-dialog/idle-warning-dialog.component.html","./src/app/ui/account/account.component.ts","./src/app/ui/account/account.component.html","./src/app/shared/pipes/therapy-schedule.pipe.ts","./src/app/shared/components/reset-eula-dialog/reset-eula-dialog.component.ts","./src/app/shared/components/reset-eula-dialog/reset-eula-dialog.component.html","./src/app/shared/pipes/epoch-date.pipe.ts","./src/app/ui/graph/patient-therapy-graph/patient-therapy-graph.component.ts","./src/app/ui/graph/patient-therapy-graph/patient-therapy-graph.component.html","./src/app/core/services/export.service.ts","./src/app/shared/enums/state.ts","./src/app/core/http/subject/subject.service.ts","./src/app/shared/components/status-popup/status-popup.component.ts","./src/app/shared/components/status-popup/status-popup.component.html","./src/app/app.module.ts","./src/app/shared/pipes/fluid-value.pipe.ts","./src/app/core/services/report.service.ts","./src/app/shared/components/footer/footer.component.ts","./src/app/shared/components/footer/footer.component.html","./src/app/core/services/right-responsibility.service.ts","./src/app/ui/home/get-the-app/get-the-app.component.html","./src/app/ui/home/get-the-app/get-the-app.component.ts","./src/app/ui/graph/drinks-history-graph/drinks-history-graph.component.ts","./src/app/ui/graph/drinks-history-graph/drinks-history-graph.component.html","./src/app/shared/components/phone-number-input/phone-number-input.component.ts","./src/app/shared/components/phone-number-input/phone-number-input.component.html","./src/app/shared/pipes/phone-number.pipe.ts","./src/app/shared/pipes/foot.pipe.ts","./src/app/shared/components/receipt/receipt.component.ts","./src/app/shared/components/receipt/receipt.component.html","./src/app/shared/components/delete-confirm-dialog/delete-confirm-dialog.component.ts","./src/app/shared/components/delete-confirm-dialog/delete-confirm-dialog.component.html","./src/app/shared/pipes/enum-to-array.pipe.ts","./src/app/core/services/page-loading.service.ts","./src/app/shared/components/error-popup/error-popup.component.ts","./src/app/shared/components/error-popup/error-popup.component.html","./src/app/core/services/user-settings.service.ts","./src/app/ui/report/patient-therapy-report/patient-therapy-report.component.html","./src/app/ui/report/patient-therapy-report/patient-therapy-report.component.ts","./src/app/ui/report/patient-journal-report/patient-journal-report.component.html","./src/app/ui/report/patient-journal-report/patient-journal-report.component.ts","./src/app/ui/report/clinician-snapshot-report/clinician-snapshot-report.component.html","./src/app/ui/report/clinician-snapshot-report/clinician-snapshot-report.component.ts","./src/app/shared/helpers/date-utils.ts","./src/app/ui/right-responsibility/right-responsibility.component.ts","./src/app/ui/right-responsibility/right-responsibility.component.html","./src/app/core/services/acknowledgements.service.ts","./src/app/core/http/user-prescription/user-prescription.service.ts","./src/app/shared/enums/navigation.ts","./src/app/core/services/icon.service.ts","./src/app/app-routing.module.ts","./src/app/ui/right-responsibility/right-responsibility.module.ts","./src/app/core/http/account/account.service.ts","./src/app/core/http/pushnotifications/push-notifications.service.ts","./src/app/shared/token-interceptor.ts","./src/app/shared/pipes/sum-price.pipe.ts","./src/app/shared/components/digit-box-input/digit-box-input.component.ts","./src/app/shared/components/digit-box-input/digit-box-input.component.html","./src/app/core/http/user/user.service.ts","./src/main.ts","./$_lazy_route_resource lazy namespace object"],"names":[],"mappings":"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;QACzE,yEAA2F;QAC3F,qEAAI;QAAA,uDAAW;QAAA,4DAAK;QACpB,yEAA+B;QAC/B,+EAAyC;QAAA,qEAAU;QAAA,4DAAY;QAC/D,iFAAgB;QACZ,gFAAyE;QACrE,0HAEa;QACjB,4DAAa;QACjB,4DAAiB;QACjB,4DAAM;QAEV,0EAAQ;QACJ,yEAAwB;QAAA,wDAAiB;QAAA,4DAAK;QAC9C,0EAAqC;QACjC,6EAA4F;QAAA,iEAAK;QAAA,4DAAS;QAC1G,6EAAkF;QAAA,mEAAO;QAAA,4DAAS;QACtG,4DAAM;QACV,4DAAS;QACT,4DAAO;;QArBqB,sFAAyB;QAE7C,0DAAW;QAAX,0EAAW;QAI8B,0DAA+B;QAA/B,4FAA+B;QACjC,0DAAc;QAAd,oFAAc;QAQjC,0DAAiB;QAAjB,gFAAiB;QAE7B,0DAAyB;QAAzB,kFAAyB;QACgB,0DAAgC;QAAhC,6FAAgC;;;;;;;;;;;;;ACzBzF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2B;;;;;;;;;;;;AC5RA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA+D;AAEoD;;;;;;;;AAU5G,MAAM,YAAY;IAMvB,YACmB,IAAU,EACV,WAAwB,EACxB,MAAiB,EACjB,MAAsB,EACtB,WAAwB,EACxB,eAAgC;QALhC,SAAI,GAAJ,IAAI,CAAM;QACV,gBAAW,GAAX,WAAW,CAAa;QACxB,WAAM,GAAN,MAAM,CAAW;QACjB,WAAM,GAAN,MAAM,CAAgB;QACtB,gBAAW,GAAX,WAAW,CAAa;QACxB,oBAAe,GAAf,eAAe,CAAiB;QAXnD,UAAK,GAAW,eAAe,CAAC;QAChC,cAAS,GAAW,EAAE,GAAG,EAAE,CAAC,CAAI,oCAAoC;QACpE,iBAAY,GAAW,CAAC,GAAG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","file":"main.js","sourcesContent":["import { Directive, ElementRef, HostListener } from '@angular/core';\r\n\r\n@Directive({\r\n selector: 'input[integer]'\r\n})\r\nexport class IntegerDirective {\r\n\r\n constructor(private _el: ElementRef) { }\r\n\r\n @HostListener('input', ['$event']) onInputChange(event) {\r\n const initalValue = this._el.nativeElement.value;\r\n this._el.nativeElement.value = initalValue.replace(/[^0-9]*/g, '');\r\n if ( initalValue !== this._el.nativeElement.value) {\r\n event.preventDefault();\r\n }\r\n }\r\n}","import { Component, OnInit } from '@angular/core';\r\nimport { IconService } from 'src/app/core/services/icon.service';\r\n\r\n@Component({\r\n selector: 'app-delete-acount',\r\n templateUrl: './delete-account.component.html',\r\n styleUrls: ['./delete-account.component.scss']\r\n})\r\nexport class DeleteAcountComponent implements OnInit {\r\n\r\n constructor(\r\n private readonly iconService: IconService\r\n ) {\r\n this.iconService.registerIcons();\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n If you have a Vivally account, and you wish to delete it, please contact our Customer Care team at \r\n customercare@avation.com.\r\n
\r\n
","// Copyright 2023, Avation Medical. All rights reserved.\r\n// \r\n// This code is proprietary and confidential information of Avation Medical. Any use, reproduction, modification\r\n// or distribution of the code without the express prior written consent of Avation Medical is strictly prohibited.\r\n\r\nimport { DatePipe } from '@angular/common';\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({name: 'dateTimeOffset'})\r\nexport class DateTimeOffsetPipe implements PipeTransform {\r\n constructor(private datePipe: DatePipe) {\r\n\r\n }\r\n\r\n transform(value: string, format: string): string {\r\n let withoutOffset = value.split('.')[0];\r\n return this.datePipe.transform(withoutOffset, format);\r\n }\r\n}","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AcknowledgementsComponent } from './acknowledgements.component';\r\nimport { SharedModule } from 'src/app/shared/shared.module';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n AcknowledgementsComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n SharedModule\r\n ],\r\n exports: [\r\n AcknowledgementsComponent\r\n ]\r\n})\r\nexport class AcknowledgementsModule { }\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'centsToDollar'\r\n})\r\nexport class CentsToDollarPipe implements PipeTransform {\r\n\r\n transform(value: any, ...args: any[]): any {\r\n if(value){\r\n return value/100\r\n }\r\n return 0\r\n }\r\n\r\n}\r\n","// Copyright 2023, Avation Medical. All rights reserved.\r\n// \r\n// This code is proprietary and confidential information of Avation Medical. Any use, reproduction, modification\r\n// or distribution of the code without the express prior written consent of Avation Medical is strictly prohibited.\r\n\r\nimport { APP_INITIALIZER, ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { AppSettingsService } from './app-settings.service';\r\n\r\n@NgModule({\r\n declarations: [],\r\n imports: [],\r\n providers: []\r\n})\r\nexport class AppSettingsModule {\r\n\r\n static forRoot(): ModuleWithProviders {\r\n return {\r\n ngModule: AppSettingsModule,\r\n providers: [\r\n {\r\n provide: APP_INITIALIZER,\r\n multi: true,\r\n deps: [AppSettingsService],\r\n useFactory: (appSettingsService: AppSettingsService) => () => appSettingsService.initialize()\r\n },\r\n AppSettingsService\r\n ]\r\n };\r\n }\r\n}\r\n","import { AfterViewInit, Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { AcknowledgementsService } from 'src/app/core/services/acknowledgements.service';\r\nimport { LocationService } from 'src/app/core/services/location.service';\r\nimport { Navigation } from 'src/app/shared/enums/navigation';\r\n\r\n@Component({\r\n selector: 'app-acknowledgements',\r\n templateUrl: './acknowledgements.component.html',\r\n styleUrls: ['./acknowledgements.component.scss']\r\n})\r\nexport class AcknowledgementsComponent implements OnInit, AfterViewInit, OnDestroy {\r\n htmlLoc$: Observable;\r\n\r\n constructor(private acknowledgementsService: AcknowledgementsService, private readonly sanitizer: DomSanitizer, private locationService: LocationService) { }\r\n\r\n ngOnInit(): void {\r\n this.locationService.setLocation(Navigation.Acknowledgements);\r\n this.locationService.setTitle('Acknowledgements');\r\n this.htmlLoc$ = this.acknowledgementsService.getAcknowledgementsHtml().pipe(\r\n map(response => this.sanitizer.bypassSecurityTrustHtml(response.html))\r\n );\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n let baseElements = document.getElementsByTagName(\"base\");\r\n\r\n if(baseElements.length > 0) {\r\n baseElements[0].removeAttribute(\"href\");\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n let baseElements = document.getElementsByTagName(\"base\");\r\n\r\n if(baseElements.length > 0) {\r\n baseElements[0].setAttribute(\"href\", \"/\")\r\n }\r\n }\r\n}\r\n","\r\n
\r\n","// Copyright 2023, Avation Medical. All rights reserved.\r\n// \r\n// This code is proprietary and confidential information of Avation Medical. Any use, reproduction, modification\r\n// or distribution of the code without the express prior written consent of Avation Medical is strictly prohibited.\r\n\r\nimport { PercentPipe } from '@angular/common';\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({name: 'therapyCompliance'})\r\nexport class TherapyCompliancePipe extends PercentPipe implements PipeTransform {\r\n transform(value: any, digitsInfo?: string, locale?: string): any {\r\n if (value === null) {\r\n return 'N/A';\r\n }\r\n return super.transform(value, digitsInfo, locale);\r\n }\r\n}","// Copyright 2023, Avation Medical. All rights reserved.\r\n// \r\n// This code is proprietary and confidential information of Avation Medical. Any use, reproduction, modification\r\n// or distribution of the code without the express prior written consent of Avation Medical is strictly prohibited.\r\n\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({name: 'batteryLevelFormat'})\r\nexport class BatteryLevelFormatPipe implements PipeTransform {\r\n transform(value: number): string {\r\n return `${(value * 0.000001).toFixed(4)} V`;\r\n }\r\n}","\r\n\r\n
\r\n \"{{image.imageData.caption}}\"\r\n
","// Copyright 2023, Avation Medical. All rights reserved.\r\n// \r\n// This code is proprietary and confidential information of Avation Medical. Any use, reproduction, modification\r\n// or distribution of the code without the express prior written consent of Avation Medical is strictly prohibited.\r\n\r\nimport { Component, OnInit, Input ,OnChanges,SimpleChanges} from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { ProductService } from 'src/app/core/http/product/product.service';\r\n\r\n\r\n@Component({\r\n selector: 'app-image-display',\r\n templateUrl: './image-display.component.html',\r\n styleUrls: ['./image-display.component.scss']\r\n})\r\nexport class ImageDisplayComponent implements OnInit, OnChanges {\r\n @Input() imageId\r\n @Input() className\r\n imageObject$: Observable\r\nconstructor(private productService: ProductService) { }\r\n\r\n ngOnInit(): void {\r\n if (this.imageId) {\r\n this.imageObject$ = this.productService.getItemImage(this.imageId)\r\n }\r\n }\r\n ngOnChanges(changes: SimpleChanges): void {\r\n }\r\n\r\n\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n\r\n@Pipe({name: 'therapyStatus'})\r\nexport class TherapyStatusPipe implements PipeTransform {\r\n transform(isComplete: boolean, isScreening: boolean): string {\r\n let status = '';\r\n if (isScreening) {\r\n status = isComplete ? 'Y' : 'N';\r\n } else {\r\n status = isComplete ? 'Y' : 'N';\r\n }\r\n\r\n return status;\r\n }\r\n}","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'installment'\r\n})\r\nexport class InstallmentPipe implements PipeTransform {\r\nupfrontAmount:number=0;\r\ndownPayment:number=0;\r\nmonthlyInstallment:number=0;\r\ndiscounts:number=0\r\noriginalAmount:number=0;\r\namountFinanced:number=0;\r\n transform(value: any, ...args: any[]): any {\r\n this.monthlyInstallment=0\r\n this.upfrontAmount=0;\r\n this.downPayment=0;\r\n this.discounts=0;\r\n this.amountFinanced=0\r\n\r\n if(args[0]=='period'){\r\n if(value){\r\n return value=='emi-payment-12'?'12':value=='emi-payment-18'?'18':value=='emi-payment-24'?'24':value=='emi-payment-36'?'36':'3'\r\n }\r\n }\r\n value.map((x)=>{\r\n if(args[0]=='discounts'){\r\n this.discounts+=x.metadata.discount?Number(x.metadata.discount):0\r\n }\r\n if(args[0]=='originalOrderAmount'){\r\n this.originalAmount+=x.metadata.originalItemPrice?Number(x.metadata.originalItemPrice)*Number(x.quantity):0\r\n }\r\n if(args[0]=='amountFinanced'){\r\n let itemDiscount=x.metadata.discount?Number(x.metadata.discount):0\r\n this.amountFinanced+=(x.base_price_money.amount-x.total_discount_money.amount+itemDiscount-Number(x.metadata.originalItemPrice) )*x.quantity\r\n }\r\n if(x.metadata.upfrontAmount && args[0]=='upfrontAmount'){\r\n this.upfrontAmount+=Number(x.metadata.upfrontAmount)*Number(x.quantity)\r\n }else if(x.metadata.monthlyInstallment && args[0]=='monthlyInstallment'){\r\n this.monthlyInstallment+=Number(x.metadata.monthlyInstallment)*Number(x.quantity)\r\n }else if(!x.metadata.upfrontAmount && !x.metadata.monthlyInstallment){\r\n this.downPayment+=x.total_money.amount\r\n }\r\n })\r\n if(args[0]=='upfrontAmount'){\r\n return this.upfrontAmount\r\n }else if(args[0]=='monthlyInstallment'){\r\n return this.monthlyInstallment\r\n }else if(args[0]=='discounts'){\r\n return this.discounts\r\n }else if(args[0]=='originalOrderAmount'){\r\n return this.originalAmount\r\n }else if(args[0]=='amountFinanced'){\r\n return this.amountFinanced\r\n }else{\r\n return this.downPayment\r\n }\r\n }\r\n\r\n}\r\n","// Copyright 2023, Avation Medical. All rights reserved.\r\n// \r\n// This code is proprietary and confidential information of Avation Medical. Any use, reproduction, modification\r\n// or distribution of the code without the express prior written consent of Avation Medical is strictly prohibited.\r\n\r\nimport { AppSettingsService } from 'src/app/app-settings/app-settings.service';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { observable, Observable } from 'rxjs';\r\nimport { switchMap, take } from 'rxjs/operators';\r\nimport { PagedResult } from 'src/app/shared/models/paged-result.interface';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ProductService {\r\n\r\n constructor(private http: HttpClient, private readonly appSettingsService: AppSettingsService) { }\r\n\r\n public getProducts(userId) {\r\n return this.appSettingsService.appSettings$.pipe(\r\n switchMap(appSettings => {\r\n\r\n let params = {\r\n userId: userId\r\n }\r\n return this.http.post(`${appSettings.apiBaseUrl}/v1/squareup/catalog/search-catalog-items`, params)\r\n }\r\n )\r\n )\r\n }\r\n\r\n public getItemImage(imageId: String) {\r\n return this.appSettingsService.appSettings$.pipe(\r\n switchMap(appSettings => this.http.get(`${appSettings.apiBaseUrl}/v1/squareup/catalog/object/${imageId}`))\r\n );\r\n }\r\n\r\n public getOrder(orderIdId: String) {\r\n // return this.http.get(`http://localhost:9000/order/${orderIdId}`);\r\n return this.appSettingsService.appSettings$.pipe(\r\n switchMap(appSettings => this.http.get(`${appSettings.apiBaseUrl}/v1/squareup/user/order/${orderIdId}`))\r\n );\r\n }\r\n\r\n public applyDiscount(code, userId) {\r\n // return this.http.post(`http://localhost:9000/code/`,payload);\r\n let params = {\r\n user_id: userId,\r\n filter: {\r\n discount_code: code\r\n }\r\n }\r\n return this.appSettingsService.appSettings$.pipe(\r\n switchMap(appSettings => this.http.post(`${appSettings.apiBaseUrl}/v1/squareup/discount-codes/search`, params))\r\n );\r\n }\r\n public redeem(discount_code_id: string, orderId, userId) {\r\n // return this.http.post(`http://localhost:9000/redeem/`,payload);\r\n let params = {\r\n user_id: userId,\r\n discount_code_id: discount_code_id,\r\n order_id: orderId\r\n }\r\n return this.appSettingsService.appSettings$.pipe(\r\n switchMap(appSettings => this.http.post(`${appSettings.apiBaseUrl}/v1/squareup/discount/redeem`, params))\r\n );\r\n }\r\n\r\n public placeOrder(payload: any) {\r\n let body = {\r\n order: {\r\n line_items: payload.line_items,\r\n },\r\n userId: payload.userId,\r\n }\r\n return this.appSettingsService.appSettings$.pipe(\r\n switchMap(appSettings => this.http.post(`${appSettings.apiBaseUrl}/v1/squareup/user/order`, body))\r\n );\r\n\r\n }\r\n\r\n public sendEmail(userId, billingAddressId, shippingAddressId, orderId, paymentMethod,isChanged,draftPaymentMode){\r\n let body = {\r\n userId: userId,\r\n billingAddressId: billingAddressId,\r\n shippingAddressId: shippingAddressId,\r\n orderId: orderId,\r\n paymentMode: paymentMethod,\r\n isChanged: isChanged,\r\n draftPaymentMode: draftPaymentMode,\r\n }\r\n return this.appSettingsService.appSettings$.pipe(\r\n switchMap(appSettings => this.http.post(`${appSettings.apiBaseUrl}/v1/squareup/user/order/confirm`, body))\r\n );\r\n }\r\n\r\n public payment(body: any) {\r\n return this.appSettingsService.appSettings$.pipe(\r\n switchMap(appSettings => this.http.post(`${appSettings.apiBaseUrl}/v1/squareup/users/order/payment`, body))\r\n );\r\n }\r\n\r\n public paySubscription(body: any) {\r\n return this.appSettingsService.appSettings$.pipe(\r\n switchMap(appSettings => this.http.post(`${appSettings.apiBaseUrl}/v1/squareup/user/subscription/fullpayment`, body))\r\n );\r\n }\r\n \r\n\r\n public payInInstallments(body: any) {\r\n return this.appSettingsService.appSettings$.pipe(\r\n switchMap(appSettings => this.http.post(`${appSettings.apiBaseUrl}/v1/squareup/users/order/invoice`, body))\r\n );\r\n }\r\n\r\n public storeCard(body: any) {\r\n return this.appSettingsService.appSettings$.pipe(\r\n switchMap(appSettings => this.http.post(`${appSettings.apiBaseUrl}/v1/squareup/cards`, body))\r\n );\r\n }\r\n public deleteCard(cardId,userId) {\r\n let params: any = {}\r\n if (!!userId) {\r\n params.userId = userId\r\n }\r\n return this.appSettingsService.appSettings$.pipe(\r\n switchMap(appSettings => this.http.delete(`${appSettings.apiBaseUrl}/v1/squareup/cards/${cardId}/disable`,{params}))\r\n );\r\n }\r\n\r\n public getCard(userId: number,cardId:string,status:string) {\r\n let params: any = {}\r\n if (!!userId) {\r\n params.userId = userId\r\n }\r\n if (!!cardId) {\r\n params.cardId = cardId\r\n }\r\n if (!!status) {\r\n params.status = status\r\n }\r\n return this.appSettingsService.appSettings$.pipe(\r\n switchMap(appSettings => this.http.get>(`${appSettings.apiBaseUrl}/v1/squareup/cards`,{params}))\r\n );\r\n }\r\n\r\n public getUserOrderHistory(userId, fromDate, status) {\r\n // return this.http.get(`http://localhost:9000/order-history/${userId}`);\r\n let params: any = {}\r\n if (!!userId) {\r\n params.userIds = userId\r\n }\r\n if (!!fromDate) {\r\n params.fromDate = fromDate\r\n }\r\n\r\n let tomorrow = new Date();\r\n tomorrow.setDate(tomorrow.getDate() + 1)\r\n params.toDate=tomorrow.toISOString()\r\n if (!!status) {\r\n params.status = status.toString()\r\n }\r\n\r\n return this.appSettingsService.appSettings$.pipe(\r\n switchMap(appSettings => this.http.get>(`${appSettings.apiBaseUrl}/v1/squareup/user/order/get-details`, { params }))\r\n );\r\n }\r\n\r\n\r\n public updateOrder(fulfillments, orderId) {\r\n // return this.http.post(`http://localhost:9000/updateOrder/${orderId}`,fulfillments);\r\n return this.appSettingsService.appSettings$.pipe(\r\n switchMap(appSettings => this.http.put(`${appSettings.apiBaseUrl}/v1/squareup/users/order/fulfillments/${orderId}`, fulfillments))\r\n );\r\n\r\n }\r\n\r\n public getReceipt(paymentId, userId) {\r\n // return this.http.get(`http://localhost:9000/getReceit/${id}`);\r\n return this.appSettingsService.appSettings$.pipe(\r\n switchMap(appSettings => this.http.get(`${appSettings.apiBaseUrl}/v1/squareup/users/order/payment/${paymentId}?userId=${userId}`))\r\n );\r\n }\r\n\r\n\r\n\r\n public getOrders(apiQuery, orderStatus, purchaseOrderNumber, fromDate, toDate, patientId, firstName, lastName, orderId, notCreatedBy, userIds, isTestPatient?:boolean) {\r\n // return this.http.get(`http://localhost:9000/orders`);\r\n let params: any = {}\r\n if (!!purchaseOrderNumber) {\r\n params.PurchaseOrderNumber = purchaseOrderNumber\r\n }\r\n\r\n if (!!toDate) {\r\n params.toDate = toDate\r\n }\r\n if (!!fromDate) {\r\n params.fromDate = fromDate\r\n }\r\n if (!!patientId) {\r\n params.patientId = patientId\r\n }\r\n if (!!firstName) {\r\n params.firstName = firstName\r\n }\r\n if (!!lastName) {\r\n params.lastName = lastName\r\n }\r\n if (!!orderStatus) {\r\n params.status = orderStatus.toString()\r\n }\r\n if (!!orderId) {\r\n params.squareOrderId = orderId\r\n }\r\n if (!!notCreatedBy) {\r\n params.notCreatedBy = notCreatedBy\r\n }\r\n if (!!userIds) {\r\n params.userIds = userIds\r\n }\r\n if(isTestPatient === true || isTestPatient === false) {\r\n params.isTestPatient = isTestPatient;\r\n }\r\n \r\n if (apiQuery) {\r\n params = Object.assign({}, apiQuery, params);\r\n }\r\n\r\n return this.appSettingsService.appSettings$.pipe(\r\n switchMap(appSettings => this.http.get>(`${appSettings.apiBaseUrl}/v1/squareup/user/order/get-details`, { params }))\r\n );\r\n }\r\n\r\n public createShipment(payload) {\r\n return this.appSettingsService.appSettings$.pipe(\r\n switchMap(appSettings => {\r\n payload.address_from = appSettings.addressFrom\r\n return this.http.post(`${appSettings.apiBaseUrl}/v1/shippo/shipment`, payload)\r\n }\r\n )\r\n );\r\n }\r\n\r\n\r\n\r\n public createLabel(rateId, orderId, shipmentId, userId) {\r\n let payload = {\r\n rate: rateId,\r\n user_id: userId,\r\n order_id: orderId,\r\n shipment_id: shipmentId\r\n }\r\n return this.appSettingsService.appSettings$.pipe(\r\n switchMap(appSettings => this.http.post(`${appSettings.apiBaseUrl}/v1/shippo/transaction`, payload))\r\n );\r\n }\r\n\r\n public createDiscountInOneCall(batches, formValue, userId) {\r\n // return this.http.post(`http://localhost:9000/createDiscountInOneCall`,payload);\r\n let payload = {\r\n userId: userId,\r\n batches: batches,\r\n discount_code: {\r\n code: formValue.code,\r\n max_redemptions: formValue.MRedemptions,\r\n expires_at: new Date(formValue.expiry).toISOString()\r\n }\r\n }\r\n return this.appSettingsService.appSettings$.pipe(\r\n switchMap(appSettings => this.http.post(`${appSettings.apiBaseUrl}/v1/squareup/create/discount-codes`, payload))\r\n );\r\n }\r\n\r\n public createCustomer(userId, givenName, email, phoneNumber, familyName) {\r\n return this.appSettingsService.appSettings$.pipe(\r\n switchMap(appSettings => {\r\n let params = {\r\n user_id: userId,\r\n given_name: givenName,\r\n email_address: email,\r\n phone_number: phoneNumber,\r\n family_name: familyName\r\n }\r\n return this.http.post(`${appSettings.apiBaseUrl}/v1/squareup/customer/create`, params)\r\n }\r\n )\r\n )\r\n\r\n\r\n\r\n }\r\n public updateOrderWithDiscountCode(userId, line_items, orderId) {\r\n let payload = {\r\n user_id: userId,\r\n order: {\r\n line_items: line_items\r\n }\r\n }\r\n return this.appSettingsService.appSettings$.pipe(\r\n switchMap(appSettings => this.http.put(`${appSettings.apiBaseUrl}/v1/squareup/users/order/discounts/${orderId}`, payload))\r\n );\r\n }\r\n\r\n public discountListing(apiQuery,userIds) {\r\n let params: any = {}\r\n if (apiQuery) {\r\n params = Object.assign({}, apiQuery, params);\r\n }\r\n if (userIds) {\r\n params.userIds = String(userIds);\r\n }\r\n \r\n return this.appSettingsService.appSettings$.pipe(\r\n switchMap(appSettings => this.http.get>(`${appSettings.apiBaseUrl}/v1/squareup/discount-codes/get-details`,{params}))\r\n );\r\n\r\n }\r\n\r\n getInstallmentConfigurations(apiQuery, catalog_object_id, discount_code) {\r\n let params: any = {}\r\n params.status = 'active'\r\n if (apiQuery) {\r\n params = Object.assign({}, apiQuery, params);\r\n }\r\n if (!!catalog_object_id) {\r\n params.catalog_object_id = catalog_object_id\r\n }\r\n if (!!discount_code) {\r\n params.discount_code = discount_code\r\n }\r\n return this.appSettingsService.appSettings$.pipe(\r\n switchMap(appSettings => this.http.get>(`${appSettings.apiBaseUrl}/v1/squareup/users/item/installment/details`, { params }))\r\n );\r\n }\r\n public postRecipientAddress(userId, address) {\r\n let payload = {\r\n UserId: userId,\r\n Address: address\r\n\r\n }\r\n return this.appSettingsService.appSettings$.pipe(\r\n switchMap(appSettings => this.http.post(`${appSettings.apiBaseUrl}/v1/shippo/shipment/recepient-address`, payload))\r\n );\r\n\r\n }\r\n loadRecipientAddresses(id,userId, type,status) {\r\n let params: any = {};\r\n if (!!id) {\r\n params.addressId = id\r\n }\r\n if (!!userId) {\r\n params.userId = userId;\r\n }\r\n if (!!type) {\r\n params.addressType = type\r\n }\r\n if (!!status) {\r\n params.status = status\r\n }\r\n\r\n return this.appSettingsService.appSettings$.pipe(\r\n switchMap(appSettings => this.http.get(`${appSettings.apiBaseUrl}/v1/shippo/shipment/recepient-address`, { params }))\r\n );\r\n }\r\n\r\n\r\n getSubscriptionConfigurations(apiQuery, ItemId, discountCodeId) {\r\n let params: any = {}\r\n if (apiQuery) {\r\n params = Object.assign({}, apiQuery, params);\r\n }\r\n if (!!ItemId) {\r\n params.ItemId = ItemId\r\n }\r\n if (!!discountCodeId) {\r\n params.discountCodeId = discountCodeId\r\n }\r\n return this.appSettingsService.appSettings$.pipe(\r\n switchMap(appSettings => this.http.get>(`${appSettings.apiBaseUrl}/v1/squareup/item/subscription/config?Status=active`, { params }))\r\n );\r\n\r\n }\r\n\r\n getSubscriptions(apiQuery, orderId, patientId, userId) {\r\n let params: any = {}\r\n if (apiQuery) {\r\n params = Object.assign({}, apiQuery, params);\r\n }\r\n if (!!orderId) {\r\n params.PurchaseOrderNumber = orderId\r\n }\r\n if (!!patientId) {\r\n params.patientId = patientId\r\n }\r\n if (!!userId) {\r\n params.UserId = userId\r\n }\r\n return this.appSettingsService.appSettings$.pipe(\r\n switchMap(appSettings => this.http.get>(`${appSettings.apiBaseUrl}/v1/squareup/user/subscription/summary`, { params }))\r\n );\r\n\r\n }\r\n updateSubscriptionSumary(id, userId) {\r\n let params = { subscriptionId: id, userId: userId }\r\n return this.appSettingsService.appSettings$.pipe(\r\n switchMap(appSettings => this.http.get(`${appSettings.apiBaseUrl}/v1/squareup/user/subscription/metadata`, { params }))\r\n );\r\n }\r\n\r\n changeOrderStatus(status, orderId, userId) {\r\n let payload = {\r\n user_id: userId,\r\n order_id: orderId,\r\n order_status: status\r\n }\r\n return this.appSettingsService.appSettings$.pipe(\r\n switchMap(appSettings => this.http.put(`${appSettings.apiBaseUrl}/v1/squareup/users/order/status`, payload))\r\n );\r\n }\r\n\r\n createInstallmentConfig(formValue) {\r\n\r\n return this.appSettingsService.appSettings$.pipe(\r\n switchMap(appSettings => this.http.post(`${appSettings.apiBaseUrl}/v1/squareup/users/item/installment/details`, formValue))\r\n );\r\n }\r\n\r\n createSubscriptionConfig(formValue) {\r\n\r\n return this.appSettingsService.appSettings$.pipe(\r\n switchMap(appSettings => this.http.post(`${appSettings.apiBaseUrl}/v1/squareup/item/subscription/config`, formValue))\r\n );\r\n }\r\n\r\n createSubscriptionPlan(payload) {\r\n return this.appSettingsService.appSettings$.pipe(\r\n switchMap(appSettings => this.http.post(`${appSettings.apiBaseUrl}/v1/squareup/catalog/object/subscription/variation`, payload))\r\n );\r\n }\r\n createSubscription(payload) {\r\n return this.appSettingsService.appSettings$.pipe(\r\n switchMap(appSettings => this.http.post(`${appSettings.apiBaseUrl}/v1/squareup/user/subscription`, payload))\r\n );\r\n }\r\n deleteSubscriptionConfig(id) {\r\n let payload = {\r\n Status: \"inactive\"\r\n }\r\n return this.appSettingsService.appSettings$.pipe(\r\n switchMap(appSettings => this.http.put(`${appSettings.apiBaseUrl}/v1/squareup/item/subscription/config?Id=${id}`, payload))\r\n );\r\n }\r\n\r\n deleteAddress(userId, addressId) {\r\n let params = { userId: userId, addressId: addressId }\r\n return this.appSettingsService.appSettings$.pipe(\r\n switchMap(appSettings => this.http.delete(`${appSettings.apiBaseUrl}/v1/shippo/shipment/recepient-address`, { params }))\r\n );\r\n }\r\n getSubscription(subscriptionId, userId) {\r\n let params: any = {}\r\n if (!!userId) {\r\n params.UserId = userId\r\n }\r\n return this.appSettingsService.appSettings$.pipe(\r\n switchMap(appSettings => this.http.get(`${appSettings.apiBaseUrl}/v1/squareup/user/subscription/${subscriptionId}`, { params }))\r\n );\r\n }\r\n\r\n getInvoice(invoiceId, userId) {\r\n let params = { userId: userId }\r\n return this.appSettingsService.appSettings$.pipe(\r\n switchMap(appSettings => this.http.get(`${appSettings.apiBaseUrl}/v1/squareup/users/order/invoice/${invoiceId}`, { params }))\r\n );\r\n\r\n }\r\n\r\n async downloadPdf(squareOrderId, orderId, userId) {\r\n let buffer: ArrayBuffer;\r\n\r\n buffer = await this.getPdf(squareOrderId, userId).pipe(take(1)).toPromise();\r\n\r\n // https://stackoverflow.com/questions/52154874/angular-6-downloading-file-from-rest-api \r\n\r\n var pdfBlob = new Blob([buffer], { type: \"application/pdf\" });\r\n\r\n const data = window.URL.createObjectURL(pdfBlob);\r\n\r\n let link = document.createElement('a');\r\n link.href = data;\r\n link.download = `Order Confirmation-${orderId}.pdf`;\r\n link.dispatchEvent(new MouseEvent('click', { bubbles: true, cancelable: true, view: window }));\r\n\r\n setTimeout(function () {\r\n window.URL.revokeObjectURL(data);\r\n link.remove();\r\n }, 100);\r\n }\r\n\r\n getPdf(orderId, userId): Observable {\r\n let params = new HttpParams();\r\n\r\n if (orderId) {\r\n params = params.append('orderId', orderId);\r\n }\r\n if (userId) {\r\n params = params.append('userId', userId);\r\n }\r\n\r\n return this.appSettingsService.appSettings$.pipe(\r\n switchMap(appSettings => this.http.get(`${appSettings.apiBaseUrl}/v1/squareup/pdf/purchaseorderconfirmation`, { params, responseType: 'arraybuffer' }))\r\n );\r\n }\r\n\r\n deleteInstallmentConfig(configId) {\r\n let payload = {\r\n status: \"inactive\"\r\n }\r\n return this.appSettingsService.appSettings$.pipe(\r\n switchMap(appSettings => this.http.put(`${appSettings.apiBaseUrl}/v1/squareup/users/item/installment/details?Id=${configId}`, payload))\r\n );\r\n }\r\n\r\n getSubitemConfiguration(apiQuery, CatalogObjectId, Status, ParentId, GroupId, id) {\r\n let params: any = {}\r\n if (apiQuery) {\r\n params = Object.assign({}, apiQuery, params);\r\n }\r\n if (!!CatalogObjectId) {\r\n params.CatalogObjectId = CatalogObjectId\r\n }\r\n if (!!Status) {\r\n params.Status = Status\r\n }\r\n if (!!ParentId) {\r\n params.ParentId = ParentId\r\n }\r\n if (!!GroupId) {\r\n params.GroupId = GroupId\r\n }\r\n if (!!id) {\r\n params.id = id\r\n }\r\n return this.appSettingsService.appSettings$.pipe(\r\n switchMap(appSettings => this.http.get>(`${appSettings.apiBaseUrl}/v1/squareup/catalogitem/invoice/retrieve`, { params }))\r\n );\r\n\r\n }\r\n\r\n createSubitemConfig(payload) {\r\n return this.appSettingsService.appSettings$.pipe(\r\n switchMap(appSettings => this.http.post(`${appSettings.apiBaseUrl}/v1/squareup/catalogitem/invoice/create`, payload))\r\n );\r\n }\r\n getFullPaymentInvoice(orderId, userId): Observable {\r\n let params = new HttpParams();\r\n if (orderId) {\r\n params = params.append('orderId', orderId);\r\n }\r\n\r\n if (userId) {\r\n params = params.append('userId', userId);\r\n }\r\n\r\n\r\n return this.appSettingsService.appSettings$.pipe(\r\n switchMap(appSettings => this.http.get(`${appSettings.apiBaseUrl}/v1/squareup/pdf/invoice/fullpayment`, { params, responseType: 'arraybuffer' }))\r\n );\r\n }\r\n getSubscriptionInvoice(subscriptionId, invoiceId, userId): Observable {\r\n let params = new HttpParams();\r\n\r\n if (subscriptionId) {\r\n params = params.append('subscriptionId', subscriptionId);\r\n }\r\n if (invoiceId) {\r\n params = params.append('invoiceId', invoiceId);\r\n }\r\n\r\n if (userId) {\r\n params = params.append('userId', userId);\r\n }\r\n\r\n\r\n return this.appSettingsService.appSettings$.pipe(\r\n switchMap(appSettings => this.http.get(`${appSettings.apiBaseUrl}/v1/squareup/pdf/invoice/subscription`, { params, responseType: 'arraybuffer' }))\r\n );\r\n }\r\n async downloadInvoicePdf(subscriptionId, invoiceId, userId, orderId, paymentType,systemId) {\r\n let buffer: ArrayBuffer;\r\n if (paymentType == 'full_payment') {\r\n buffer = await this.getFullPaymentInvoice(orderId, userId).pipe(take(1)).toPromise();\r\n } else {\r\n buffer = await this.getSubscriptionInvoice(subscriptionId, invoiceId, userId).pipe(take(1)).toPromise();\r\n\r\n }\r\n\r\n var pdfBlob = new Blob([buffer], { type: \"application/pdf\" });\r\n\r\n const data = window.URL.createObjectURL(pdfBlob);\r\n\r\n let link = document.createElement('a');\r\n link.href = data;\r\n link.download = `Invoice-${systemId ? systemId : ''}.pdf`;\r\n link.dispatchEvent(new MouseEvent('click', { bubbles: true, cancelable: true, view: window }));\r\n\r\n setTimeout(function () {\r\n window.URL.revokeObjectURL(data);\r\n link.remove();\r\n }, 100);\r\n }\r\n\r\n updateSubscription(userId,subscriptionId,cardId){\r\n let payload:any={}\r\n if(!!userId){\r\n payload.userId=userId\r\n }\r\n if(!!subscriptionId){\r\n payload.subscriptionId=subscriptionId\r\n }\r\n if(!!cardId){\r\n payload.cardId=cardId\r\n }\r\n return this.appSettingsService.appSettings$.pipe(\r\n switchMap(appSettings => this.http.post>(`${appSettings.apiBaseUrl}/v1/squareup/user/subscription/update`, payload ))\r\n );\r\n }\r\n cancelSubscription(subscriptionId){\r\n let payload={\r\n subscriptionId:subscriptionId\r\n }\r\n return this.appSettingsService.appSettings$.pipe(\r\n switchMap(appSettings => this.http.post(`${appSettings.apiBaseUrl}/v1/squareup/user/subscription/cancel`, payload ))\r\n );\r\n }\r\n returnRequest(payload){\r\n return this.appSettingsService.appSettings$.pipe(\r\n switchMap(appSettings => this.http.post(`${appSettings.apiBaseUrl}/v1/squareup/user/order/return/request`, payload ))\r\n );\r\n }\r\n public getReturnRequests(apiQuery,orderId,status) {\r\n let params: any = {}\r\n if (!!orderId) {\r\n params.orderId = orderId\r\n }\r\n if (!!status) {\r\n params.status = status\r\n }\r\n if (apiQuery) {\r\n params = Object.assign({}, apiQuery, params);\r\n }\r\n\r\n return this.appSettingsService.appSettings$.pipe(\r\n switchMap(appSettings => this.http.get>(`${appSettings.apiBaseUrl}/v1/squareup/user/order/return/request`, { params }))\r\n );\r\n }\r\n}","// Copyright 2023, Avation Medical. All rights reserved.\r\n// \r\n// This code is proprietary and confidential information of Avation Medical. Any use, reproduction, modification\r\n// or distribution of the code without the express prior written consent of Avation Medical is strictly prohibited.\r\n\r\nimport { Injectable, NgZone } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { map, switchMap, take } from 'rxjs/operators';\r\nimport { BehaviorSubject, Observable, of, throwError, timer } from 'rxjs';\r\nimport { CanActivate, Router } from '@angular/router';\r\nimport { UserService } from '../http/user/user.service';\r\nimport { AppSettingsService } from 'src/app/app-settings/app-settings.service';\r\nimport { LocationService } from './location.service';\r\nimport { SubjectService } from '../http/subject/subject.service';\r\nimport { AccountLoginModel } from 'src/app/shared/models/login';\r\n\r\nexport class AuthResponse {\r\n authenticationResult: AuthenticationResult;\r\n challengeName: any;\r\n httpStatusCode: number;\r\n session?: string;\r\n}\r\n\r\nexport class AuthenticationResult {\r\n accessToken: string;\r\n expiresIn: number;\r\n idToken: string;\r\n refreshToken: string;\r\n tokenType: string;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class AuthService implements CanActivate {\r\n session: string;\r\n\r\n private authenticatedSub = new BehaviorSubject(false);\r\n public get authenticated$() {\r\n return this.authenticatedSub.asObservable();\r\n }\r\n\r\n private accessTokenSub = new BehaviorSubject(\r\n localStorage.getItem('accessToken')\r\n );\r\n public get accessToken$() {\r\n return this.accessTokenSub.asObservable();\r\n }\r\n\r\n private refreshTokenSub = new BehaviorSubject(\r\n localStorage.getItem('refreshToken')\r\n );\r\n public get refreshToken$() {\r\n return this.refreshTokenSub.asObservable();\r\n }\r\n\r\n private idTokenSub = new BehaviorSubject(\r\n localStorage.getItem('idToken')\r\n );\r\n public get idToken$() {\r\n return this.idTokenSub.asObservable();\r\n }\r\n\r\n private authCodeLockSub = new BehaviorSubject(false);\r\n public get authCodeLock$() {\r\n return this.authCodeLockSub.asObservable();\r\n }\r\n\r\n public get username$(): Observable {\r\n return this.accessToken$.pipe(\r\n map((token) => {\r\n if (!token) {\r\n return null;\r\n }\r\n let payload = atob(token.split('.')[1]);\r\n let claims = JSON.parse(payload);\r\n if (claims) {\r\n return claims['username'];\r\n }\r\n })\r\n );\r\n }\r\n\r\n constructor(\r\n private readonly http: HttpClient,\r\n private readonly router: Router,\r\n private readonly zone: NgZone,\r\n private readonly userService: UserService,\r\n private readonly appSettingsService: AppSettingsService,\r\n private readonly locationService: LocationService,\r\n private readonly subjectService:SubjectService\r\n ) {}\r\n\r\n canActivate(): boolean {\r\n if (!this.isAuthenticated()) {\r\n this.router.navigate(['login']);\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n public async login(model: AccountLoginModel) {\r\n const appSettings = await this.appSettingsService.appSettings$.pipe(take(1)).toPromise();\r\n\r\n return this.http\r\n .post(`${appSettings.apiBaseUrl}/v1/account/login`, model)\r\n .toPromise()\r\n .then(async (response: AuthResponse) => {\r\n if (response) {\r\n if (response.authenticationResult) {\r\n // Store the tokens.\r\n localStorage.setItem('accessToken', response.authenticationResult.accessToken);\r\n localStorage.setItem('refreshToken', response.authenticationResult.refreshToken);\r\n localStorage.setItem('idToken', response.authenticationResult.idToken);\r\n\r\n this.accessTokenSub.next(response.authenticationResult.accessToken);\r\n this.refreshTokenSub.next(response.authenticationResult.refreshToken);\r\n this.idTokenSub.next(response.authenticationResult.idToken);\r\n\r\n if (this.hasRole('Patient')) {\r\n localStorage.removeItem('accessToken');\r\n localStorage.removeItem('refreshToken');\r\n localStorage.removeItem('idToken');\r\n \r\n return Promise.reject({\r\n error: {\r\n '': ['The Vivally patient portal is no longer active and all patient access is now exclusively via the Vivally smartphone App. Patient login and password credentials remain the same and do not require any update. Please contact Customer Care with any questions or to order Vivally supplies at 888.972.5694.']\r\n }\r\n });\r\n }\r\n\r\n\r\n let acceptedEULA = await this.userService.getMyUser().toPromise().then(detail => detail.acceptedEULA);\r\n this.router.navigate([acceptedEULA ? '/' : '/login/tos']);\r\n } else if (response.challengeName && response.challengeName.value) {\r\n if (response.challengeName.value == 'NEW_PASSWORD_REQUIRED') {\r\n // Get the session and navigate\r\n if (response.session) {\r\n this.router.navigate([\r\n '/login/createPassword/' + response.session,\r\n ]);\r\n }\r\n }\r\n }\r\n }\r\n return response;\r\n });\r\n }\r\n\r\n public refresh(): Observable {\r\n const params = {\r\n refreshToken: localStorage.getItem('refreshToken'),\r\n };\r\n if (!params.refreshToken) return throwError('invlaid refreshToken');\r\n\r\n return this.appSettingsService.appSettings$.pipe(\r\n switchMap((appSettings) =>\r\n this.http.post(`${appSettings.apiBaseUrl}/v1/account/refreshToken`, params)\r\n ),\r\n switchMap((response: AuthResponse) => {\r\n if (response && response.authenticationResult) {\r\n // Store the refreshed tokens.\r\n localStorage.setItem('accessToken', response.authenticationResult.accessToken);\r\n localStorage.setItem('idToken', response.authenticationResult.idToken);\r\n return of(response.authenticationResult.accessToken);\r\n }\r\n return of(null);\r\n })\r\n );\r\n }\r\n\r\n public acceptedEULA() {\r\n return this.appSettingsService.appSettings$.pipe(\r\n switchMap((appSettings) =>\r\n this.http.post(`${appSettings.apiBaseUrl}/v1/account/AcceptedEULA`, {})\r\n )\r\n );\r\n }\r\n\r\n public getEULA() {\r\n let roles = this.getRoles();\r\n return this.appSettingsService.appSettings$.pipe(\r\n switchMap((appSettings) => {\r\n let endpoint = roles.includes('Clinician') ? 'clinician' : 'patient';\r\n return this.http.get<{ html: string }>(\r\n `${appSettings.apiBaseUrl}/v1.0/eula/${endpoint}`\r\n );\r\n })\r\n );\r\n }\r\n\r\n public logout() {\r\n localStorage.removeItem('accessToken');\r\n localStorage.removeItem('refreshToken');\r\n localStorage.removeItem('idToken');\r\n this.zone.run(() => {\r\n this.router.navigate(['login']);\r\n });\r\n }\r\n\r\n public getAccessToken() {\r\n return localStorage.getItem('accessToken');\r\n }\r\n\r\n public isAuthenticated() {\r\n try {\r\n if (localStorage.getItem('accessToken') != null) {\r\n let groups = this.getRoles();\r\n if (groups) {\r\n let allowedRoles = [\r\n 'Admin',\r\n 'Clinician',\r\n 'Engineer',\r\n 'CustomerCare',\r\n 'Operations',\r\n 'Monitor',\r\n 'Patient',\r\n ];\r\n for (let i = 0; i < groups.length; ++i) {\r\n for (let j = 0; j < allowedRoles.length; ++j) {\r\n if (groups[i] === allowedRoles[j]) {\r\n return true;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n } catch {}\r\n\r\n return false;\r\n }\r\n\r\n public getName() {\r\n let token = this.getAccessToken();\r\n let payload = atob(token.split('.')[1]);\r\n let claims = JSON.parse(payload);\r\n return claims['username'];\r\n }\r\n\r\n public getRoles() {\r\n try {\r\n // parse token\r\n let token = this.getAccessToken();\r\n let payload = atob(token.split('.')[1]);\r\n let claims = JSON.parse(payload);\r\n let groups: string[] = claims['cognito:groups'];\r\n if (groups) {\r\n return groups;\r\n }\r\n return [];\r\n } catch (ex) {\r\n return [];\r\n }\r\n }\r\n\r\n public canSeeDetails() {\r\n return this.hasRole([\r\n 'Admin', 'CustomerCare', 'Monitor', 'Engineer'\r\n ])\r\n }\r\n\r\n public hasRole(roles: string|string[]) {\r\n if (!Array.isArray(roles)) {\r\n roles = [roles];\r\n }\r\n let myRoles = this.getRoles();\r\n\r\n for (let role of roles) {\r\n if (myRoles.includes(role)) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n public isAdmin() {\r\n for (let role of this.getRoles()) {\r\n if (role == 'Admin') {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n\r\n canOrderForPatient() {\r\n return this.hasRole(['Admin', 'CustomerCare']);\r\n}\r\n\r\n public async hasPrescription(id:any){\r\n if (this.canOrderForPatient()) {\r\n return this.subjectService.querySubjectsReport(null, id).toPromise().then((res:any)=>{\r\n if(res.records[0].prescriptionDate){\r\n return true\r\n }\r\n return false\r\n })\r\n }else if(this.hasRole('Patient')){\r\n return this.userService.getMyUser().toPromise().then(detail=>\r\n {\r\n return this.subjectService.querySubjectsReport(null,detail.id).toPromise().then((res:any)=>{\r\n if(res.records[0].prescriptionDate){\r\n return true\r\n }\r\n return false\r\n })\r\n })\r\n }\r\n }\r\n\r\n public lockAccessCode() {\r\n this.authCodeLockSub.next(true);\r\n timer(60000).subscribe(_ => {\r\n this.authCodeLockSub.next(false);\r\n })\r\n }\r\n}\r\n","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { nameValidator, textValidator, textValidatorOptional, zipValidator } from '../../validators';\r\nimport { LocationService } from 'src/app/core/services/location.service';\r\nimport { ProductService } from 'src/app/core/http/product/product.service';\r\nimport { MessageBoxComponent } from '../message-box/message-box.component';\r\nimport { MAT_DIALOG_DATA, MatDialog, MatDialogRef } from '@angular/material/dialog';\r\nimport { states } from '../../enums/state';\r\n\r\n@Component({\r\n selector: 'app-add-address',\r\n templateUrl: './add-address.component.html',\r\n styleUrls: ['./add-address.component.scss']\r\n})\r\nexport class AddAddressComponent implements OnInit {\r\n\r\n addressForm: FormGroup;\r\n stateOptions = states()\r\n\r\n\r\n constructor(\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private readonly _formBuilder:FormBuilder,\r\n private readonly navigationService:LocationService,\r\n private readonly productService:ProductService,\r\n private dialog: MatDialog,\r\n private dialogRef: MatDialogRef\r\n ) { }\r\n ngOnInit(): void {\r\n this.addressForm = this._formBuilder.group({\r\n first_name: ['', [Validators.required, nameValidator()]],\r\n last_name: ['', [Validators.required, nameValidator()]],\r\n address_line_1: ['', [Validators.required]],\r\n address_line_2: ['', []],\r\n administrative_district_level_1: ['', [Validators.required, textValidatorOptional()]],\r\n locality: ['', [Validators.required]],\r\n postal_code: ['', [Validators.required, zipValidator()]],\r\n country: ['US', [Validators.required, textValidator()]],\r\n address_type: [this.data.addressType, [Validators.required]]\r\n });\r\n }\r\n\r\n recipientAddress() {\r\n let body = {\r\n userId: this.navigationService.patientUserId,\r\n Address: this.addressForm.value\r\n\r\n }\r\n this.productService.postRecipientAddress(this.navigationService.patientUserId, this.addressForm.value).toPromise().then((response) => {\r\n this.dialogRef.close({success:true})\r\n }).catch((error) => {\r\n this.dialog.open(MessageBoxComponent, {\r\n data: {\r\n title: 'Error Message',\r\n message:\r\n \"Something Went wrong\",\r\n buttonText: 'Ok'\r\n },\r\n });\r\n })\r\n }\r\n\r\n onStateChange(){\r\n return states().find((state)=>{\r\n return state.name==this.addressForm.get('administrative_district_level_1').value\r\n })\r\n }\r\n cancel(){\r\n this.dialogRef.close({success:false})\r\n\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n Address\r\n

{{data?.addressType?.charAt(0).toUpperCase() + data?.addressType?.slice(1)}} Address

\r\n
\r\n
\r\n
\r\n First Name\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n Last Name\r\n \r\n \r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n {{data?.addressType?.charAt(0).toUpperCase() + data?.addressType?.slice(1)}} Address 1\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n {{data?.addressType?.charAt(0).toUpperCase() + data?.addressType?.slice(1)}} Address 2\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n State\r\n \r\n \r\n {{state.name}}\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n City\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n
\r\n\r\n Zip\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
","// Copyright 2023, Avation Medical. All rights reserved.\r\n// \r\n// This code is proprietary and confidential information of Avation Medical. Any use, reproduction, modification\r\n// or distribution of the code without the express prior written consent of Avation Medical is strictly prohibited.\r\n\r\nimport { ComponentType } from '@angular/cdk/portal';\r\nimport { Component, Input, OnInit } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { Observable } from 'rxjs';\r\nimport { UserService } from 'src/app/core/http/user/user.service';\r\nimport { AuthService } from 'src/app/core/services/auth.service';\r\nimport { ExportService } from 'src/app/core/services/export.service';\r\nimport { IconService } from 'src/app/core/services/icon.service';\r\nimport { LocationService } from 'src/app/core/services/location.service';\r\nimport { Navigation } from 'src/app/shared/enums/navigation';\r\nimport { SendNotificationComponent } from './send-notification/send-notification.component';\r\nimport { UserDetail } from 'src/app/shared/models/user.interface';\r\nimport { ClinicianSnapshotReport } from 'src/app/ui/report/clinician-snapshot-report/clinician-snapshot-report.component';\r\nimport { PatientTherapyReport } from 'src/app/ui/report/patient-therapy-report/patient-therapy-report.component';\r\nimport { PatientJournalReport } from 'src/app/ui/report/patient-journal-report/patient-journal-report.component';\r\nimport { UserSettingsService } from 'src/app/core/services/user-settings.service';\r\nimport { Router } from '@angular/router';\r\n@Component({\r\n selector: 'app-navbar',\r\n templateUrl: './navbar.component.html',\r\n styleUrls: ['./navbar.component.scss']\r\n})\r\nexport class NavbarComponent implements OnInit {\r\n isSidebarOpen: boolean = false;\r\n navToggle: string = 'dehaze';\r\n\r\n @Input() showUserMenu: boolean = true;\r\n @Input() showBurgerMenu: boolean = true;\r\n\r\n location$: Observable;\r\n pageTitle: string;\r\n user$: Observable;\r\n title: string = \"\";\r\n testClinic: boolean = false;\r\n reportType: ComponentType;\r\n\r\n private _displayNotification: boolean;\r\n private _displayExport: boolean;\r\n private _displayReport: boolean;\r\n\r\n constructor(\r\n public readonly authService: AuthService,\r\n private readonly navigationService: LocationService,\r\n private readonly exportService: ExportService,\r\n private readonly iconService: IconService,\r\n private readonly userService: UserService,\r\n public dialog: MatDialog,\r\n public UserSettingsService: UserSettingsService,\r\n private readonly router:Router\r\n ) {\r\n this.iconService.registerIcons();\r\n this.location$ = this.navigationService.getLocation();\r\n this.user$ = this.userService.getMyUser();\r\n this.UserSettingsService.sidebarOpen$.subscribe(isOpen => {\r\n this.isSidebarOpen = isOpen;\r\n });\r\n }\r\n\r\n toggleSidebar() {\r\n this.isSidebarOpen = !this.isSidebarOpen;\r\n this.UserSettingsService.setSidebarOpen(this.isSidebarOpen);\r\n }\r\n\r\n async ngOnInit(): Promise {\r\n this.location$.subscribe(loc => {\r\n this.reportType = null;\r\n this._displayNotification = false;\r\n this._displayExport = false;\r\n this._displayReport = false;\r\n\r\n switch (loc) {\r\n case Navigation.Patients:\r\n this._displayNotification = true;\r\n this._displayExport = true;\r\n this._displayReport = true;\r\n this.reportType = ClinicianSnapshotReport;\r\n break;\r\n case Navigation.PatientInfo:\r\n this._displayNotification = true;\r\n break;\r\n case Navigation.Therapy:\r\n this._displayNotification = true;\r\n this._displayExport = true;\r\n this._displayReport = true;\r\n this.reportType = PatientTherapyReport;\r\n break;\r\n case Navigation.Journal:\r\n this._displayNotification = true;\r\n this._displayExport = true;\r\n this._displayReport = true;\r\n this.reportType = PatientJournalReport;\r\n break;\r\n }\r\n });\r\n\r\n this.navigationService.title$.subscribe(x => {\r\n this.pageTitle = x;\r\n });\r\n\r\n if(this.showUserMenu) {\r\n this.userService.getMyUser().subscribe(x => {\r\n this.testClinic = x.testClinic\r\n });\r\n }\r\n }\r\n\r\n get showBurgerMenuStyle() {\r\n return this.showBurgerMenu ? '' : '0';\r\n }\r\n\r\n displayNotification(): boolean {\r\n if (!this._displayNotification) {\r\n return false;\r\n }\r\n\r\n let allowedRoles = ['Admin', 'Clinician'];\r\n return this.authService.getRoles().some(r => allowedRoles.includes(r));\r\n }\r\n\r\n openNotificationDialog(): void {\r\n this.dialog.open(SendNotificationComponent, {\r\n height: '400px',\r\n width: '600px',\r\n panelClass: 'send-notification'\r\n });\r\n }\r\n\r\n displayExport(): boolean {\r\n if (!this._displayExport) {\r\n return false;\r\n }\r\n\r\n let allowedRoles = ['Admin', 'Engineer', 'CustomerCare'];\r\n return this.authService.getRoles().some(r => allowedRoles.includes(r));\r\n }\r\n\r\n export(): void {\r\n this.exportService.callCallback();\r\n }\r\n\r\n displayReport(): boolean {\r\n if (!this._displayReport) {\r\n return false;\r\n }\r\n\r\n let fullPermission = ['Admin', 'Engineer'];\r\n let testOnly = ['Clinician', 'Patient'];\r\n\r\n let roles = this.authService.getRoles();\r\n for (let i = 0; i < roles.length; i++) {\r\n if (fullPermission.includes(roles[i])) {\r\n return true\r\n }\r\n else if (testOnly.includes(roles[i]) && this.testClinic) {\r\n return true\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n openReportDialog(): void {\r\n this.dialog.open(this.reportType, {\r\n height: '90%', maxWidth: '1000px'\r\n });\r\n }\r\n\r\n displayHelp(): boolean {\r\n return false;\r\n }\r\n\r\n openHelpDialog(): void {\r\n \r\n }\r\n isPatient(){\r\n return this.authService.hasRole('Patient')\r\n }\r\nmyProfile(){\r\n if(this.isPatient()){\r\n this.router.navigate(['/patients',this.navigationService.patientUserId])\r\n }\r\n}\r\n logout(): void {\r\n this.authService.logout();\r\n }\r\n}\r\n","\r\n\r\n\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
{{ pageTitle }}
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
","// Copyright 2023, Avation Medical. All rights reserved.\r\n// \r\n// This code is proprietary and confidential information of Avation Medical. Any use, reproduction, modification\r\n// or distribution of the code without the express prior written consent of Avation Medical is strictly prohibited.\r\n\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { switchMap } from 'rxjs/operators';\r\nimport { AppSettingsService } from 'src/app/app-settings/app-settings.service';\r\nimport { APIQuery } from 'src/app/shared/models/api-query.interface';\r\nimport { Clinic, ClinicCreate, ClinicDetails, ClinicSummary, ClinicUpdate } from 'src/app/shared/models/clinic';\r\nimport { ClinicianDetails } from 'src/app/shared/models/clinician';\r\nimport { PagedResult } from 'src/app/shared/models/paged-result.interface';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ClinicService {\r\n constructor(\r\n private readonly http: HttpClient,\r\n private readonly appSettingsService: AppSettingsService\r\n ) {}\r\n\r\n public query(apiQuery?: APIQuery, name?: string, otaFileRecordId?: number) {\r\n let params: any = {};\r\n\r\n if (!!name) {\r\n params.name = name;\r\n }\r\n \r\n\r\n if (!isNaN(otaFileRecordId)) {\r\n params.otaFileRecordId = otaFileRecordId;\r\n }\r\n\r\n if (apiQuery) {\r\n params = Object.assign({}, apiQuery, params);\r\n }\r\n\r\n return this.appSettingsService.appSettings$.pipe(\r\n switchMap((appSettings) =>\r\n this.http.get>(\r\n `${appSettings.apiBaseUrl}/v1.0/clinic/query`,\r\n { params }\r\n )\r\n )\r\n );\r\n }\r\n\r\n public queryDetails(\r\n apiQuery?: APIQuery,\r\n name?: string,\r\n facilityId?: string,\r\n phone?: string,\r\n city?: string,\r\n state?: string,\r\n otaFileRecordId?: number,\r\n isTestClinic?:boolean\r\n ) {\r\n let params: any = {};\r\n\r\n if (!!name) {\r\n params.name = name;\r\n }\r\n if (!!facilityId) {\r\n params.facilityId = facilityId;\r\n }\r\n if (!!phone) {\r\n params.phone = phone;\r\n }\r\n if (!!city) {\r\n params.city = city;\r\n }\r\n if (!!state) {\r\n params.state = state;\r\n }\r\n if(isTestClinic === true || isTestClinic === false) {\r\n params.isTestClinic = isTestClinic;\r\n }\r\n\r\n if (!!otaFileRecordId && !isNaN(otaFileRecordId)) {\r\n params.otaFileRecordId = otaFileRecordId;\r\n }\r\n\r\n if (apiQuery) {\r\n params = Object.assign({}, apiQuery, params);\r\n }\r\n\r\n return this.appSettingsService.appSettings$.pipe(\r\n switchMap((appSettings) =>\r\n this.http.get>(\r\n `${appSettings.apiBaseUrl}/v1.0/clinic/query/details`,\r\n { params }\r\n )\r\n )\r\n );\r\n }\r\n\r\n public querySummary(apiQuery?: APIQuery) {\r\n let params = {};\r\n\r\n if (apiQuery) {\r\n params = Object.assign({}, apiQuery, params);\r\n }\r\n\r\n return this.appSettingsService.appSettings$.pipe(\r\n switchMap((appSettings) =>\r\n this.http.get>(\r\n `${appSettings.apiBaseUrl}/v1.0/clinic/query/summary`,\r\n { params }\r\n )\r\n )\r\n );\r\n }\r\n\r\n public queryTable(\r\n apiQuery?: APIQuery,\r\n name?: string,\r\n facilityId?: string,\r\n phone?: string,\r\n city?: string,\r\n state?: string,\r\n otaFileRecordId?: number\r\n ) {\r\n let params: any = {};\r\n\r\n if (!!name) {\r\n params.name = name;\r\n }\r\n if (!!facilityId) {\r\n params.facilityId = facilityId;\r\n }\r\n if (!!phone) {\r\n params.phone = phone;\r\n }\r\n if (!!city) {\r\n params.city = city;\r\n }\r\n if (!!state) {\r\n params.state = state;\r\n }\r\n\r\n if (!isNaN(otaFileRecordId)) {\r\n params.otaFileRecordId = otaFileRecordId;\r\n }\r\n\r\n if (apiQuery) {\r\n params = Object.assign({}, apiQuery, params);\r\n }\r\n\r\n return this.appSettingsService.appSettings$.pipe(\r\n switchMap((appSettings) =>\r\n this.http.get>(\r\n `${appSettings.apiBaseUrl}/v1.0/clinic/query/table`,\r\n { params }\r\n )\r\n )\r\n );\r\n }\r\n\r\n public queryClinics(apiQuery?: APIQuery) {\r\n let params = {};\r\n\r\n if (apiQuery) {\r\n params = Object.assign({}, apiQuery, params);\r\n }\r\n\r\n return this.appSettingsService.appSettings$.pipe(\r\n switchMap((appSettings) =>\r\n this.http.get>(\r\n `${appSettings.apiBaseUrl}/v1.0/clinic/query/clinics`,\r\n { params }\r\n )\r\n )\r\n );\r\n }\r\n\r\n public read(id: number) {\r\n return this.appSettingsService.appSettings$.pipe(\r\n switchMap((appSettings) =>\r\n this.http.get(`${appSettings.apiBaseUrl}/v1.0/clinic/${id}`)\r\n )\r\n );\r\n }\r\n\r\n public delete(id: number) {\r\n return this.appSettingsService.appSettings$.pipe(\r\n switchMap((appSettings) =>\r\n this.http.delete(`${appSettings.apiBaseUrl}/v1.0/clinic/${id}`)\r\n )\r\n );\r\n }\r\n\r\n public create(model: any) {\r\n return this.appSettingsService.appSettings$.pipe(\r\n switchMap((appSettings) =>\r\n this.http.post(`${appSettings.apiBaseUrl}/v1.0/clinic`, model)\r\n )\r\n );\r\n }\r\n\r\n public update(id: number, model: ClinicUpdate) {\r\n return this.appSettingsService.appSettings$.pipe(\r\n switchMap(appSettings => this.http.put(`${appSettings.apiBaseUrl}/v1.0/clinic/${id}`, model))\r\n );\r\n }\r\n\r\n public cliniciansQueryDetails(\r\n apiQuery?: APIQuery,\r\n clinicId?: number,\r\n studyId?: number,\r\n firstName?:string,\r\n lastName ?: string,\r\n phone?: string,\r\n officePhone?: string,\r\n clinicianId?: number,\r\n isPrescriber?: boolean\r\n ) {\r\n let params: any = {};\r\n\r\n if (apiQuery) {\r\n params = Object.assign({}, apiQuery, params);\r\n }\r\n\r\n if (!!clinicId) {\r\n params.clinicId = clinicId;\r\n }\r\n if (!!firstName) {\r\n params.firstName = firstName;\r\n }\r\n if (!!lastName) {\r\n params.lastName = lastName;\r\n }\r\n if (!!phone) {\r\n params.phone = phone;\r\n }\r\n if (!!officePhone) {\r\n params.officePhone = officePhone;\r\n }\r\n if (!!studyId) {\r\n params.studyId = studyId;\r\n }\r\n if (!!clinicianId) {\r\n params.clinicianId = clinicianId;\r\n }\r\n if (isPrescriber === true || isPrescriber === false) {\r\n params.isPrescriber = isPrescriber;\r\n }\r\n\r\n return this.appSettingsService.appSettings$.pipe(\r\n switchMap((appSettings) =>\r\n this.http.get>(\r\n `${appSettings.apiBaseUrl}/v1.0/clinic/clinicians/query/details`,\r\n { params }\r\n )\r\n )\r\n );\r\n }\r\n\r\n public resetEulaForClinicians(clinicId: number) {\r\n return this.appSettingsService.appSettings$.pipe(\r\n switchMap(appSettings => this.http.put(`${appSettings.apiBaseUrl}/v1.0/account/clinicians/reseteula/${clinicId}`, {}))\r\n );\r\n }\r\n\r\n public resetEulaForPatients(clinicId: number) {\r\n return this.appSettingsService.appSettings$.pipe(\r\n switchMap(appSettings => this.http.put(`${appSettings.apiBaseUrl}/v1.0/account/patients/reseteula/${clinicId}`, {}))\r\n );\r\n }\r\n}\r\n","// Copyright 2023, Avation Medical. All rights reserved.\r\n\r\n// \r\n\r\n// This code is proprietary and confidential information of Avation Medical. Any use, reproduction, modification\r\n\r\n// or distribution of the code without the express prior written consent of Avation Medical is strictly prohibited.\r\n\r\n\r\n\r\nimport { Component, OnInit,Inject } from '@angular/core';\r\n\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\n\r\nimport { MessageBoxDialogData } from '../../dialog-data.interface';\r\n\r\n\r\n\r\n\r\n\r\n@Component({\r\n\r\n selector: 'app-message-box',\r\n\r\n templateUrl: './message-box.component.html',\r\n\r\n styleUrls: ['./message-box.component.scss'],\r\n\r\n})\r\n\r\nexport class MessageBoxComponent implements OnInit {\r\n\r\n okCallback?: () => void;\r\n\r\n constructor(\r\n\r\n public dialogRef: MatDialogRef,\r\n\r\n @Inject(MAT_DIALOG_DATA) public data: MessageBoxDialogData) {\r\n\r\n if (typeof data.okCallback === 'function') {\r\n\r\n this.okCallback = data.okCallback;\r\n\r\n }\r\n\r\n }\r\n\r\n\r\n\r\n ngOnInit(): void {}\r\n\r\n handleOkClick(): void {\r\n\r\n if (this.okCallback) {\r\n\r\n this.okCallback();\r\n\r\n }\r\n\r\n this.dialogRef.close(true);\r\n\r\n }\r\n\r\n \r\n\r\n}","\r\n\r\n
\r\n
\r\n \r\n {{data.title}}\r\n
\r\n
\r\n {{data.message}}\r\n
\r\n
\r\n \r\n \r\n
\r\n
","// Copyright 2023, Avation Medical. All rights reserved.\r\n// \r\n// This code is proprietary and confidential information of Avation Medical. Any use, reproduction, modification\r\n// or distribution of the code without the express prior written consent of Avation Medical is strictly prohibited.\r\n\r\nexport const environment = {\r\n production: false,\r\n apiBaseUrl: 'https://localhost:5001',\r\n appId: '',\r\n locationId:''\r\n};","\r\n\r\n\r\n This field is too short\r\n This field is too long\r\n Invalid value for this field\r\n {{control.errors.isValidDate.message}}\r\n {{control.errors.isText.message}}\r\n {{control.errors.isOnlyWhitespace.message}}\r\n {{control.errors.isValidEmail.message}}\r\n {{control.errors.isValidPhone.message}}\r\n {{control.errors.isValidZipcode.message}}\r\n {{control.errors.integer.message}}\r\n {{control.errors.isValidOTAVersion.message}}\r\n {{control.errors.range.message}}\r\n {{control.errors.invalidDateRange.message}}\r\n {{control.errors.invalidDate.message}}\r\n {{control.errors.futureDate.message}}\r\n This field is required\r\n \r\n {{ apiError }}\r\n \r\n {{control.errors.greaterThanZero.message}}\r\n","// Copyright 2023, Avation Medical. All rights reserved.\r\n// \r\n// This code is proprietary and confidential information of Avation Medical. Any use, reproduction, modification\r\n// or distribution of the code without the express prior written consent of Avation Medical is strictly prohibited.\r\n\r\nimport { ChangeDetectorRef, Component, Input, OnInit } from '@angular/core';\r\nimport { FormControl } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'app-form-input-error',\r\n templateUrl: './form-input-error.component.html',\r\n styleUrls: ['./form-input-error.component.scss'],\r\n})\r\nexport class FormInputErrorComponent implements OnInit {\r\n @Input() control: FormControl;\r\n\r\n constructor(private readonly changeDetectorRef: ChangeDetectorRef) {}\r\n\r\n ngOnInit(): void {\r\n this.control.statusChanges.subscribe((x) => {\r\n // Need to manually trigger change detection here.\r\n this.changeDetectorRef.detectChanges();\r\n });\r\n }\r\n}\r\n","import { filter } from 'rxjs/operators';\r\n// Copyright 2023, Avation Medical. All rights reserved.\r\n// \r\n// This code is proprietary and confidential information of Avation Medical. Any use, reproduction, modification\r\n// or distribution of the code without the express prior written consent of Avation Medical is strictly prohibited.\r\n\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'product'\r\n})\r\nexport class ProductPipe implements PipeTransform {\r\n\r\n transform(value: any, ...args: any[]): any {\r\n if(value && value[0]?.custom_attribute_values){\r\n let variation\r\n if(args[0]){\r\n variation=value.filter((x:any)=>x.item_variation_data.name == args[0])[0];\r\n }\r\n if (!variation) {\r\n variation=value[0]\r\n }\r\n let model:any=Object.values(variation.custom_attribute_values).filter((x:any)=>x.name=='model')[0]\r\n return model.string_value\r\n }\r\n return ''\r\n }\r\n\r\n}\r\n","// Copyright 2023, Avation Medical. All rights reserved.\r\n// \r\n// This code is proprietary and confidential information of Avation Medical. Any use, reproduction, modification\r\n// or distribution of the code without the express prior written consent of Avation Medical is strictly prohibited.\r\n\r\nimport { Component, Inject, OnInit } from '@angular/core';\r\nimport { MAT_DIALOG_DATA, MatDialog, MatDialogRef } from '@angular/material/dialog';\r\nimport { Observable } from 'rxjs';\r\nimport { UserPrescriptionService } from 'src/app/core/http/user-prescription/user-prescription.service';\r\nimport { UserService } from 'src/app/core/http/user/user.service';\r\nimport { User } from 'src/app/shared/models/user.interface';\r\nimport { StatusPopupComponent } from '../status-popup/status-popup.component';\r\nimport { AddConfirmDialogResult, UploadPrescriptionDialogData } from '../../dialog-data.interface';\r\n\r\n@Component({\r\n selector: 'app-upload-prescription-modal',\r\n templateUrl: './upload-prescription-modal.component.html',\r\n styleUrls: ['./upload-prescription-modal.component.scss']\r\n})\r\nexport class UploadPrescriptionModalComponent implements OnInit {\r\n\r\n user$: Observable;\r\n file?: File;\r\n errorInvalidFileType: boolean = false;\r\n private acceptedFileTypeList: string[] = [ 'application/pdf' ];\r\n\r\n constructor(\r\n @Inject(MAT_DIALOG_DATA) public data: UploadPrescriptionDialogData, \r\n private dialogRef: MatDialogRef, \r\n private userService: UserService,\r\n private userPrescriptionService: UserPrescriptionService,\r\n private readonly dialog: MatDialog,\r\n ) {\r\n this.user$ = this.userService.read(data.userId);\r\n }\r\n\r\n ngOnInit(): void {\r\n this.dialogRef.beforeClosed().subscribe((result: AddConfirmDialogResult) => {\r\n if (result.success) {\r\n this.dialog.open(StatusPopupComponent , { data: {\r\n message: 'Prescription added successfully',\r\n buttonText: 'Close',\r\n color: false,\r\n }});\r\n }\r\n else if (result.response) {\r\n let message: any = \"\";\r\n Object.values(result.response.error).forEach(value => message = value);\r\n this.dialog.open(StatusPopupComponent , { data: {\r\n message: message,\r\n buttonText: 'Close',\r\n color: true,\r\n }});\r\n }\r\n })\r\n }\r\n\r\n fileChanged(event: any) {\r\n this.file = event?.target?.files?.[0] ?? null;\r\n this.errorInvalidFileType = false;\r\n\r\n if (this.file && this.acceptedFileTypeList.indexOf(this.file.type) === -1) {\r\n this.file = null;\r\n this.errorInvalidFileType = true;\r\n }\r\n }\r\n\r\n async submit() {\r\n this.userPrescriptionService.create({userId: this.data.userId}, this.file, this.data.removeExisting).toPromise().then(_ => {\r\n this.dialogRef.close({success: true} as AddConfirmDialogResult)\r\n }).catch(response => {\r\n this.dialogRef.close({success: false, response: response} as AddConfirmDialogResult);\r\n });\r\n }\r\n\r\n cancel() {\r\n this.dialogRef.close({ success: false, response: null } as AddConfirmDialogResult);\r\n }\r\n\r\n get acceptedFileTypes() {\r\n return this.acceptedFileTypeList.join(', ');\r\n }\r\n}\r\n","\r\n\r\n
\r\n

Upload Prescription

\r\n \r\n
Choose a prescription file
\r\n
File selected: {{file.name}}
\r\n
\r\n Invalid file type.\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n","// Copyright 2023, Avation Medical. All rights reserved.\r\n// \r\n// This code is proprietary and confidential information of Avation Medical. Any use, reproduction, modification\r\n// or distribution of the code without the express prior written consent of Avation Medical is strictly prohibited.\r\n\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { MatDialogRef } from '@angular/material/dialog';\r\nimport { take } from 'rxjs/operators';\r\nimport { PushNotificationsService } from 'src/app/core/http/pushnotifications/push-notifications.service';\r\nimport { LocationService } from 'src/app/core/services/location.service';\r\nimport { ReportService } from 'src/app/core/services/report.service';\r\nimport { SelectOption } from 'src/app/shared/models/select-option.interface';\r\n\r\n@Component({\r\n selector: 'app-send-notification',\r\n templateUrl: './send-notification.component.html',\r\n styleUrls: ['./send-notification.component.scss']\r\n})\r\nexport class SendNotificationComponent implements OnInit {\r\n errorDuringSend: boolean = false;\r\n errorInvalidMessage: boolean = false;\r\n\r\n formGroup: FormGroup = this.formBuilder.group({\r\n messageSelect: [null],\r\n messageText: [null]\r\n });\r\n\r\n studies: SelectOption[] = [\r\n { value: \"Don't forget to do your therapy session\", viewValue: \"Don't forget to do your therapy session\" },\r\n { value: \"Remember to do eDiary\", viewValue: \"Remember to do eDiary\" },\r\n { value: \"New Notification\", viewValue: \"New notification\" },\r\n { value: \"\", viewValue: \"Custom\" }\r\n ];\r\n constructor(\r\n private readonly formBuilder: FormBuilder, \r\n private readonly pushNotificationsService: PushNotificationsService,\r\n public readonly locationService: LocationService,\r\n private readonly reportService: ReportService,\r\n private dialogRef: MatDialogRef\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n onMessageSelectChange() {\r\n this.formGroup.patchValue({ messageText: this.formGroup.get('messageSelect').value });\r\n this.errorInvalidMessage = false;\r\n }\r\n\r\n onKeyup() {\r\n this.errorInvalidMessage = false;\r\n }\r\n\r\n async onSubmit() {\r\n this.errorInvalidMessage = false;\r\n\r\n if (this.formGroup.valid) {\r\n this.errorDuringSend = false\r\n var patientUserId = this.locationService.patientUserId;\r\n \r\n if (patientUserId != null) {\r\n try {\r\n await this.pushNotificationsService.send([patientUserId], this.formGroup.get('messageText').value).toPromise();\r\n }\r\n catch(err) {\r\n this.errorDuringSend = true;\r\n }\r\n }\r\n else {\r\n try {\r\n let reportCallbackResponse = await this.reportService.getCallback().pipe(take(1)).toPromise();\r\n var ids = reportCallbackResponse.map(x => x.userId);\r\n\r\n await this.pushNotificationsService.send(ids, this.formGroup.get('messageText').value).pipe(take(1)).toPromise();\r\n }\r\n catch(err) {\r\n this.errorDuringSend = true;\r\n }\r\n }\r\n\r\n if(!this.errorDuringSend) {\r\n this.dialogRef.close();\r\n }\r\n } else {\r\n this.errorInvalidMessage = true;\r\n }\r\n }\r\n}\r\n","\r\n\r\n
\r\n

Send Push Notification To User

\r\n
\r\n \r\n Select Messages\r\n \r\n \r\n {{study.viewValue}}\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n An error occurred while sending the push notification(s).\r\n
\r\n
\r\n Message is required.\r\n
\r\n
\r\n \r\n
\r\n
","// Copyright 2023, Avation Medical. All rights reserved.\r\n// \r\n// This code is proprietary and confidential information of Avation Medical. Any use, reproduction, modification\r\n// or distribution of the code without the express prior written consent of Avation Medical is strictly prohibited.\r\n\r\nexport enum FluidUnit {\r\n milliliters = \"ml\",\r\n ounces = \"oz\",\r\n cups = \"cups\"\r\n}\r\n\r\nexport function fluidUnitOptions() {\r\n return Object.keys(FluidUnit)\r\n .filter(key => FluidUnit[key] != '')\r\n .map(key => ({ key: key, value: FluidUnit[key] }));\r\n }","// Copyright 2023, Avation Medical. All rights reserved.\r\n// \r\n// This code is proprietary and confidential information of Avation Medical. Any use, reproduction, modification\r\n// or distribution of the code without the express prior written consent of Avation Medical is strictly prohibited.\r\n\r\nimport { Component, Inject, OnInit } from '@angular/core';\r\nimport { MAT_DIALOG_DATA, MatDialog, MatDialogRef } from '@angular/material/dialog';\r\nimport { AddConfirmDialogData, AddConfirmDialogResult } from '../../dialog-data.interface';\r\nimport { StatusPopupComponent } from '../status-popup/status-popup.component';\r\n\r\n\r\n@Component({\r\n selector: 'app-add-confirm-dialog',\r\n templateUrl: './add-confirm-dialog.component.html',\r\n styleUrls: ['./add-confirm-dialog.component.scss']\r\n})\r\nexport class AddConfirmDialogComponent implements OnInit {\r\n\r\n constructor(\r\n @Inject(MAT_DIALOG_DATA) public data: AddConfirmDialogData,\r\n private dialogRef: MatDialogRef,\r\n private readonly dialog: MatDialog,\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.dialogRef.beforeClosed().subscribe((result: AddConfirmDialogResult) => {\r\n if (result.success) {\r\n this.dialog.open(StatusPopupComponent , { data: {\r\n message: this.data.successMessage,\r\n buttonText: 'Close',\r\n color: false,\r\n }});\r\n }\r\n else if (result.response) {\r\n let message: any = \"\";\r\n Object.values(result.response.error).forEach(value => message = value);\r\n this.dialog.open(StatusPopupComponent , { data: {\r\n message: message,\r\n buttonText: 'Close',\r\n color: true,\r\n }});\r\n }\r\n })\r\n }\r\n\r\n submit() {\r\n this.data.http.toPromise().then(record => {\r\n this.dialogRef.close({ success: true, response: null, record: record } as AddConfirmDialogResult);\r\n }).catch(response => {\r\n this.dialogRef.close({ success: false, response: response } as AddConfirmDialogResult);\r\n });\r\n }\r\n\r\n cancel() {\r\n this.dialogRef.close({ success: false, response: null });\r\n }\r\n}\r\n","\r\n
\r\n
\r\n \r\n {{data.title}}\r\n
\r\n
\r\n {{data.confirmationMsg}}\r\n
\r\n
\r\n \r\n \r\n
\r\n
","// Copyright 2023, Avation Medical. All rights reserved.\r\n// \r\n// This code is proprietary and confidential information of Avation Medical. Any use, reproduction, modification\r\n// or distribution of the code without the express prior written consent of Avation Medical is strictly prohibited.\r\n\r\nimport { Injectable } from '@angular/core';\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\nimport { Navigation } from 'src/app/shared/enums/navigation';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LocationService {\r\n\r\n locationSubject$: BehaviorSubject = new BehaviorSubject(null);\r\n private pageTitleSub: BehaviorSubject = new BehaviorSubject(null);\r\n private patientUserIdSub: BehaviorSubject = new BehaviorSubject(null);\r\n private formTypeSubject = new BehaviorSubject(null); // Stores form type\r\n \r\n constructor() { }\r\n \r\n formType$ = this.formTypeSubject.asObservable(); // Expose as observable\r\n \r\n getLocation(): Observable {\r\n return this.locationSubject$.asObservable();\r\n }\r\n\r\n setLocation(loc: Navigation) {\r\n this.locationSubject$.next(loc);\r\n }\r\n\r\n setTitle(title: string) {\r\n this.pageTitleSub.next(title);\r\n }\r\n get title$() {\r\n return this.pageTitleSub.asObservable();\r\n }\r\n get title() {\r\n return this.pageTitleSub.value;\r\n }\r\n\r\n setPatientUserId(id: number) {\r\n this.patientUserIdSub.next(id);\r\n }\r\n get patientUserId$() {\r\n return this.patientUserIdSub.asObservable();\r\n }\r\n get patientUserId() {\r\n return this.patientUserIdSub.value;\r\n }\r\n\r\n setFormType(formType: string): void {\r\n this.formTypeSubject.next(formType);\r\n }\r\n\r\n getFormType(): string {\r\n return this.formTypeSubject.getValue();\r\n }\r\n}\r\n","// Copyright 2023, Avation Medical. All rights reserved.\r\n// \r\n// This code is proprietary and confidential information of Avation Medical. Any use, reproduction, modification\r\n// or distribution of the code without the express prior written consent of Avation Medical is strictly prohibited.\r\n\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\nimport { DeviceMode } from '../enums/device-mode';\r\n\r\n@Pipe({name: 'deviceMode'})\r\nexport class DeviceModePipe implements PipeTransform {\r\n transform(value: any): any {\r\n let deviceMode = value as DeviceMode;\r\n\r\n switch(deviceMode) {\r\n case DeviceMode.Active:\r\n return 'Active';\r\n case DeviceMode.NoStim:\r\n return 'No Stim';\r\n case DeviceMode.LowStim:\r\n return 'Low Stim';\r\n }\r\n \r\n return 'Invalid';\r\n }\r\n}","// Copyright 2023, Avation Medical. All rights reserved.\r\n// \r\n// This code is proprietary and confidential information of Avation Medical. Any use, reproduction, modification\r\n// or distribution of the code without the express prior written consent of Avation Medical is strictly prohibited.\r\n\r\nimport { HttpBackend, HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { shareReplay, tap } from 'rxjs/operators';\r\nimport { AppSettings } from './app-settings';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AppSettingsService {\r\n\r\n private httpClient: HttpClient;\r\n\r\n private appSettings: AppSettings;\r\n public appSettings$: Observable;\r\n\r\n constructor(handler: HttpBackend) {\r\n this.httpClient = new HttpClient(handler);\r\n \r\n this.appSettings$ = this.httpClient.get('/config/settings.json').pipe(\r\n tap(appSettings => this.appSettings = appSettings),\r\n shareReplay(1)\r\n );\r\n }\r\n\r\n async initialize() {\r\n return this.appSettings$.toPromise();\r\n }\r\n\r\n get apiBaseUrl() {\r\n return this.appSettings.apiBaseUrl;\r\n }\r\n\r\n get appId() {\r\n return this.appSettings.appId;\r\n }\r\n\r\n get locationId() {\r\n return this.appSettings.locationId;\r\n }\r\n\r\n get environment() {\r\n return this.appSettings.environment;\r\n }\r\n \r\n get testPaymentSupport() {\r\n return this.appSettings.test_payment_support;\r\n }\r\n}\r\n","// Copyright 2023, Avation Medical. All rights reserved.\r\n// \r\n// This code is proprietary and confidential information of Avation Medical. Any use, reproduction, modification\r\n// or distribution of the code without the express prior written consent of Avation Medical is strictly prohibited.\r\n\r\nimport { AbstractControl, FormGroup, ValidationErrors, ValidatorFn } from '@angular/forms';\r\nimport { PhoneNumber } from './classes/phone-number';\r\n\r\nexport function rangeValidator(min: number, max: number): ValidatorFn {\r\n return (control: AbstractControl): ValidationErrors | null => {\r\n if (control.value == null || control.value == '') {\r\n return null;\r\n }\r\n\r\n return (min <= control.value && control.value <= max)\r\n ? null\r\n : { range: { message: 'Value must be between ' + min + ' and ' + max } };\r\n };\r\n}\r\n\r\nexport function percentValidator(): ValidatorFn {\r\n return rangeValidator(0, 100);\r\n}\r\n\r\nexport function integerValidator(): ValidatorFn {\r\n return (control: AbstractControl): ValidationErrors | null => {\r\n if (control.value == null || control.value == '') {\r\n return null;\r\n }\r\n\r\n return /^\\d+$/.test(String(control.value))\r\n ? null\r\n : { integer: { message: 'Value must only contain digits' } };\r\n };\r\n}\r\n\r\nexport function textValidator(): ValidatorFn {\r\n return (control: AbstractControl): ValidationErrors | null => {\r\n if (control.value == null || control.value == '') {\r\n return null;\r\n }\r\n \r\n return /^[A-Za-zŽžÀ-ÖØ-Ýà-öø-ÿ]+$/.test(String(control.value))\r\n ? null\r\n : { isText: { message: 'Value must only contain valid characters' } };\r\n };\r\n}\r\n\r\nexport function textValidatorOptional(): ValidatorFn {\r\n return (control: AbstractControl): ValidationErrors | null => {\r\n if (control.value == null || control.value == '') {\r\n return null;\r\n }\r\n \r\n return /^[a-zA-Z\\s]+$/.test(String(control.value))\r\n ? null\r\n : { isText: { message: 'Value must only contain characters' } };\r\n };\r\n}\r\n\r\nexport function nameValidator(): ValidatorFn {\r\n return (control: AbstractControl): ValidationErrors | null => {\r\n if (control.value == null || control.value == '') {\r\n return null;\r\n }\r\n \r\n return /^[A-Za-zŽžÀ-ÖØ-Ýà-öø-ÿ \\'\\(\\)\\-\\,\\.]+$/.test(String(control.value))\r\n ? null\r\n : { isText: { message: 'Value must only contain valid characters' } };\r\n };\r\n}\r\n\r\nexport function nonWhitespaceValidator(): ValidatorFn {\r\n return (control: AbstractControl): ValidationErrors | null => {\r\n if (control.value == null || control.value == '') {\r\n return null;\r\n }\r\n\r\n return (control.value || '').trim().length\r\n ? null\r\n : { isOnlyWhitespace: { message: 'Value must contain valid characters' } };\r\n };\r\n}\r\n\r\nexport function emailValidator(): ValidatorFn {\r\n return (control: AbstractControl): ValidationErrors | null => {\r\n if (control.value == null || control.value == '') {\r\n return null;\r\n }\r\n\r\n return /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\\.[a-zA-Z0-9-]+)+$/.test(\r\n String(control.value)\r\n )\r\n ? null\r\n : { isValidEmail: { message: 'Enter valid Email' } };\r\n };\r\n}\r\n\r\nexport function phoneValidator(): ValidatorFn {\r\n return (control: AbstractControl): ValidationErrors | null => {\r\n if (control.value == null || control.value == '') {\r\n return null;\r\n }\r\n\r\n let val = typeof control.value == 'string' ? PhoneNumber.fromString(control.value) : control.value;\r\n return val.valid\r\n ? null\r\n : { isValidPhone: { message: 'Enter valid Phone Number' } };\r\n };\r\n}\r\n\r\nexport function zipValidator(): ValidatorFn {\r\n return (control: AbstractControl): ValidationErrors | null => {\r\n if (control.value == null || control.value == '') {\r\n return null;\r\n }\r\n\r\n return /^(?:\\d{5}(?:-\\d{4})?|)$/.test(String(control.value))\r\n ? null\r\n : { isValidZipcode: { message: 'Enter valid Zip Code' } };\r\n };\r\n}\r\n\r\nexport function otaVersionValidator(): ValidatorFn {\r\n return (control: AbstractControl): ValidationErrors | null => {\r\n return /^(\\d{1,2}\\.\\d{1,2}\\.\\d{1,2})/.test(\r\n String(control.value)\r\n )\r\n ? null\r\n : { isValidOTAVersion: { message: 'Must be in format x.x.x' } };\r\n };\r\n}\r\n\r\nexport function zeroValidator(): ValidatorFn {\r\n return (control: AbstractControl): ValidationErrors | null => {\r\n // Check if the control value is not greater than 0, return an error if true\r\n if (Number(control.value) <= 0) {\r\n return { greaterThanZero: { message: 'Value must be greater than 0' } };\r\n }\r\n // Return null (no error) if the value is valid (not null and greater than 0)\r\n return null;\r\n };\r\n}\r\n\r\nexport function confirmPassword(password_field: string, confirm_field: string): ValidatorFn {\r\n return (group: AbstractControl): ValidationErrors | null => {\r\n let pass = group.get(password_field).value;\r\n let confirmPass = group.get(confirm_field).value;\r\n return pass === confirmPass ? null : { passwordsNotSame: { message: 'Passwords do not match' } };\r\n }\r\n}\r\n\r\nexport function dateRangeValidator(formGroup: FormGroup) {\r\n const fromDate = formGroup.get('fromDate').value;\r\n const toDate = formGroup.get('toDate').value;\r\n\r\n if (fromDate && toDate && new Date(fromDate) > new Date(toDate)) {\r\n formGroup.get('fromDate').setErrors({ 'invalidDateRange': {message:'From Date must be less than or equal to To Date'} });\r\n } else {\r\n formGroup.get('fromDate').setErrors(null);\r\n }\r\n}\r\n","// Copyright 2023, Avation Medical. All rights reserved.\r\n// \r\n// This code is proprietary and confidential information of Avation Medical. Any use, reproduction, modification\r\n// or distribution of the code without the express prior written consent of Avation Medical is strictly prohibited.\r\n\r\nexport class PhoneNumber {\r\n get valid(): boolean {\r\n return this.area.length == 3 && this.exchange.length == 3 && this.subscriber.length == 4;\r\n }\r\n\r\n constructor(public area: string, public exchange: string, public subscriber: string, public extension: string = null) {\r\n if (this.extension === '') {\r\n this.extension = null;\r\n }\r\n }\r\n\r\n // Create phone number from string of formats '+15555555555x1234' or '555-555-5555 x1234'\r\n static fromString(input: string): PhoneNumber | null {\r\n if (!input) {\r\n return null\r\n }\r\n input = input.replace('-', '').replace('+', '');\r\n if (input.length < 10) {\r\n return null;\r\n }\r\n let ext = null;\r\n if (input.includes('x')) {\r\n let split = input.split('x');\r\n input = split[0].trim(), ext = split[1] ? split[1].trim() : null;\r\n }\r\n input = input.substring(input.length - 10);\r\n return new PhoneNumber(input.substring(0, 3), input.substring(3, 6), input.substring(6), ext);\r\n }\r\n\r\n toRawString(): string {\r\n return '+1' + this.area + this.exchange + this.subscriber;\r\n }\r\n\r\n toString(): string {\r\n return this.area + '-' + this.exchange + '-' + this.subscriber + (this.extension ? (' x' + this.extension) : '');\r\n }\r\n}","// Copyright 2023, Avation Medical. All rights reserved.\r\n// \r\n// This code is proprietary and confidential information of Avation Medical. Any use, reproduction, modification\r\n// or distribution of the code without the express prior written consent of Avation Medical is strictly prohibited.\r\n\r\nimport { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { FormInputErrorComponent } from './components/form-input-error/form-input-error.component';\r\nimport { DeleteConfirmDialogComponent } from './components/delete-confirm-dialog/delete-confirm-dialog.component';\r\nimport { BatteryLevelFormatPipe } from './pipes/battery-level-format.pipe';\r\nimport { EpochDatePipe } from './pipes/epoch-date.pipe';\r\nimport { TherapyCompliancePipe } from './pipes/therapy-compliance.pipe';\r\nimport { FootPipe } from './pipes/foot.pipe';\r\nimport { PhoneNumberInput } from './components/phone-number-input/phone-number-input.component';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\nimport { PhoneNumberPipe } from './pipes/phone-number.pipe';\r\nimport { IdleWarningDialogComponent } from './components/idle-warning-dialog/idle-warning-dialog.component';\r\nimport { DeviceModePipe } from './pipes/device-mode.pipe';\r\nimport { DateTimeOffsetPipe } from './pipes/date-time-offset.pipe';\r\nimport { ProductPipe } from './pipes/product.pipe';\r\nimport { MessageBoxComponent } from './components/message-box/message-box.component';\r\nimport { StatusPopupComponent } from './components/status-popup/status-popup.component';\r\nimport { EnumToArrayPipe } from './pipes/enum-to-array.pipe';\r\nimport { ResetEulaDialogComponent } from './components/reset-eula-dialog/reset-eula-dialog.component';\r\nimport { DeletePrescriptionModalComponent } from './components/delete-prescription-modal/delete-prescription-modal.component';\r\nimport { UploadPrescriptionModalComponent } from './components/upload-prescription-modal/upload-prescription-modal.component';\r\nimport { ImageDisplayComponent } from './components/image-display/image-display.component';\r\nimport { ReceiptComponent } from './components/receipt/receipt.component';\r\nimport { AddConfirmDialogComponent } from './components/add-confirm-dialog/add-confirm-dialog.component';\r\nimport { TherapySchedulePipe } from './pipes/therapy-schedule.pipe';\r\nimport { CentsToDollarPipe } from './pipes/cents-to-dollar.pipe';\r\nimport { SumPricePipe } from './pipes/sum-price.pipe';\r\nimport {MatTooltipModule} from '@angular/material/tooltip';\r\nimport { IntegerDirective } from './directives/integer.directive';\r\nimport { InstallmentPipe } from './pipes/installment.pipe';\r\nimport { AddAddressComponent } from './components/add-address/add-address.component';\r\nimport { FluidPipe } from './pipes/fluid-value.pipe';\r\nimport { FooterComponent } from './components/footer/footer.component';\r\nimport { RouterModule } from '@angular/router';\r\nimport { NavbarComponent } from './components/navbar/navbar.component';\r\nimport { SendNotificationComponent } from './components/navbar/send-notification/send-notification.component';\r\nimport { MatMenuModule } from '@angular/material/menu';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatToolbarModule } from '@angular/material/toolbar';\r\nimport { DigitBoxInput } from './components/digit-box-input/digit-box-input.component';\r\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\r\nimport { TherapyStatusPipe } from './pipes/therapy-status.pipe';\r\nimport { RxPopupComponent } from './components/rx-popup/rx-popup.component';\r\nimport { ErrorPopupComponent } from './components/error-popup/error-popup.component';\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n EpochDatePipe, \r\n TherapyCompliancePipe,\r\n TherapySchedulePipe,\r\n BatteryLevelFormatPipe,\r\n DateTimeOffsetPipe,\r\n FootPipe,\r\n FormInputErrorComponent,\r\n AddConfirmDialogComponent,\r\n DeleteConfirmDialogComponent,\r\n PhoneNumberInput,\r\n PhoneNumberPipe,\r\n IdleWarningDialogComponent,\r\n DeviceModePipe,\r\n ProductPipe,\r\n MessageBoxComponent,\r\n StatusPopupComponent,\r\n EnumToArrayPipe,\r\n ResetEulaDialogComponent,\r\n DeletePrescriptionModalComponent,\r\n UploadPrescriptionModalComponent,\r\n ImageDisplayComponent,\r\n ReceiptComponent,\r\n CentsToDollarPipe,\r\n SumPricePipe,\r\n IntegerDirective,\r\n InstallmentPipe,\r\n AddAddressComponent,\r\n FluidPipe,\r\n FooterComponent,\r\n NavbarComponent,\r\n SendNotificationComponent,\r\n DigitBoxInput,\r\n TherapyStatusPipe,\r\n RxPopupComponent,\r\n ErrorPopupComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n MatInputModule,\r\n MatDialogModule,\r\n MatButtonModule,\r\n ReactiveFormsModule,\r\n RouterModule,\r\n MatMenuModule,\r\n MatSelectModule,\r\n MatIconModule,\r\n MatToolbarModule,\r\n MatProgressSpinnerModule,\r\n MatTooltipModule,\r\n ],\r\n exports: [\r\n EpochDatePipe, \r\n TherapyCompliancePipe,\r\n TherapySchedulePipe,\r\n BatteryLevelFormatPipe,\r\n DateTimeOffsetPipe,\r\n FootPipe,\r\n FormInputErrorComponent,\r\n PhoneNumberInput,\r\n PhoneNumberPipe,\r\n DeviceModePipe,\r\n ProductPipe,\r\n EnumToArrayPipe,\r\n ImageDisplayComponent,\r\n ReceiptComponent,\r\n CentsToDollarPipe,\r\n SumPricePipe,\r\n MatTooltipModule,\r\n IntegerDirective,\r\n InstallmentPipe,\r\n FluidPipe,\r\n FooterComponent,\r\n NavbarComponent,\r\n SendNotificationComponent,\r\n DigitBoxInput,\r\n TherapyStatusPipe\r\n ]\r\n})\r\nexport class SharedModule { }\r\n","// Copyright 2023, Avation Medical. All rights reserved.\r\n// \r\n// This code is proprietary and confidential information of Avation Medical. Any use, reproduction, modification\r\n// or distribution of the code without the express prior written consent of Avation Medical is strictly prohibited.\r\n\r\nimport { Component, Inject, OnInit } from '@angular/core';\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\r\nimport { Observable } from 'rxjs';\r\nimport { take } from 'rxjs/operators';\r\nimport { UserPrescriptionService } from 'src/app/core/http/user-prescription/user-prescription.service';\r\nimport { UserService } from 'src/app/core/http/user/user.service';\r\nimport { User } from 'src/app/shared/models/user.interface';\r\n\r\n@Component({\r\n selector: 'app-delete-prescription-modal',\r\n templateUrl: './delete-prescription-modal.component.html',\r\n styleUrls: ['./delete-prescription-modal.component.scss']\r\n})\r\nexport class DeletePrescriptionModalComponent implements OnInit {\r\n\r\n user$: Observable;\r\n\r\n constructor(\r\n @Inject(MAT_DIALOG_DATA) public data: {userId: number}, \r\n private matDialogRef: MatDialogRef, \r\n private userService: UserService,\r\n private userPrescriptionService: UserPrescriptionService) {\r\n this.user$ = this.userService.read(data.userId);\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n submit() {\r\n this.userPrescriptionService.delete(this.data.userId).pipe(take(1)).subscribe(() => {\r\n this.matDialogRef.close(true);\r\n })\r\n }\r\n\r\n}\r\n","\r\n\r\n
\r\n

Delete Prescription?

\r\n This will permanantly delete {{user.username}}'s prescription and cannot be undone.\r\n \r\n \r\n \r\n \r\n\r\n the user's\r\n
","import { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { Component, OnInit, Inject } from '@angular/core';\r\nimport { MatDialog, MatDialogRef } from '@angular/material/dialog';\r\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\r\n\r\n@Component({\r\n selector: 'app-rx-popup',\r\n templateUrl: './rx-popup.component.html',\r\n styleUrls: ['./rx-popup.component.scss']\r\n})\r\nexport class RxPopupComponent implements OnInit {\r\n title: string;\r\n prescribers: any;\r\n footerTitle: string;\r\n onClick: any;\r\n isSinglePrescriber: boolean;\r\n selectedPrescriber: any;\r\n constructor(\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private dialogRef: MatDialogRef,\r\n private readonly dialog: MatDialog,\r\n private formBuilder: FormBuilder\r\n ) { }\r\n\r\n rxFormGroup: FormGroup = this.formBuilder.group({\r\n prescriber: ['', [Validators.required]],\r\n })\r\n\r\n ngOnInit(): void {\r\n if (this.data) {\r\n this.title = this.data.title;\r\n this.prescribers = this.data.prescribers;\r\n this.footerTitle = this.data.footerTitle;\r\n this.selectedPrescriber = this.data.selectedPrescriber;\r\n\r\n if (this.data.selectedPrescriber) {\r\n this.rxFormGroup.patchValue({prescriber: this.data.selectedPrescriber});\r\n }\r\n if (this.prescribers.length === 1) {\r\n this.rxFormGroup.patchValue({prescriber: this.prescribers[0].userId});\r\n this.rxFormGroup.get('prescriber').disable();\r\n }\r\n }\r\n }\r\n onSubmit() {\r\n this.data.onClick(this.rxFormGroup.value.prescriber);\r\n }\r\n\r\n}\r\n","\r\n\r\n
\r\n \r\n

{{ title }}

\r\n
\r\n Prescriber\r\n \r\n \r\n \r\n {{ prescriber.firstName + ' '+ prescriber.lastName}}\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n

{{ footerTitle }}

\r\n
\r\n \r\n \r\n
\r\n
\r\n
","var map = {\n\t\"./af\": \"K/tc\",\n\t\"./af.js\": \"K/tc\",\n\t\"./ar\": \"jnO4\",\n\t\"./ar-dz\": \"o1bE\",\n\t\"./ar-dz.js\": \"o1bE\",\n\t\"./ar-kw\": \"Qj4J\",\n\t\"./ar-kw.js\": \"Qj4J\",\n\t\"./ar-ly\": \"HP3h\",\n\t\"./ar-ly.js\": \"HP3h\",\n\t\"./ar-ma\": \"CoRJ\",\n\t\"./ar-ma.js\": \"CoRJ\",\n\t\"./ar-sa\": \"gjCT\",\n\t\"./ar-sa.js\": \"gjCT\",\n\t\"./ar-tn\": \"bYM6\",\n\t\"./ar-tn.js\": \"bYM6\",\n\t\"./ar.js\": \"jnO4\",\n\t\"./az\": \"SFxW\",\n\t\"./az.js\": \"SFxW\",\n\t\"./be\": \"H8ED\",\n\t\"./be.js\": \"H8ED\",\n\t\"./bg\": \"hKrs\",\n\t\"./bg.js\": \"hKrs\",\n\t\"./bm\": \"p/rL\",\n\t\"./bm.js\": \"p/rL\",\n\t\"./bn\": \"kEOa\",\n\t\"./bn-bd\": \"loYQ\",\n\t\"./bn-bd.js\": \"loYQ\",\n\t\"./bn.js\": \"kEOa\",\n\t\"./bo\": \"0mo+\",\n\t\"./bo.js\": \"0mo+\",\n\t\"./br\": \"aIdf\",\n\t\"./br.js\": \"aIdf\",\n\t\"./bs\": \"JVSJ\",\n\t\"./bs.js\": \"JVSJ\",\n\t\"./ca\": \"1xZ4\",\n\t\"./ca.js\": \"1xZ4\",\n\t\"./cs\": \"PA2r\",\n\t\"./cs.js\": \"PA2r\",\n\t\"./cv\": \"A+xa\",\n\t\"./cv.js\": \"A+xa\",\n\t\"./cy\": \"l5ep\",\n\t\"./cy.js\": \"l5ep\",\n\t\"./da\": \"DxQv\",\n\t\"./da.js\": \"DxQv\",\n\t\"./de\": \"tGlX\",\n\t\"./de-at\": \"s+uk\",\n\t\"./de-at.js\": \"s+uk\",\n\t\"./de-ch\": \"u3GI\",\n\t\"./de-ch.js\": \"u3GI\",\n\t\"./de.js\": \"tGlX\",\n\t\"./dv\": \"WYrj\",\n\t\"./dv.js\": \"WYrj\",\n\t\"./el\": \"jUeY\",\n\t\"./el.js\": \"jUeY\",\n\t\"./en-au\": \"Dmvi\",\n\t\"./en-au.js\": \"Dmvi\",\n\t\"./en-ca\": \"OIYi\",\n\t\"./en-ca.js\": \"OIYi\",\n\t\"./en-gb\": \"Oaa7\",\n\t\"./en-gb.js\": \"Oaa7\",\n\t\"./en-ie\": \"4dOw\",\n\t\"./en-ie.js\": \"4dOw\",\n\t\"./en-il\": \"czMo\",\n\t\"./en-il.js\": \"czMo\",\n\t\"./en-in\": \"7C5Q\",\n\t\"./en-in.js\": \"7C5Q\",\n\t\"./en-nz\": \"b1Dy\",\n\t\"./en-nz.js\": \"b1Dy\",\n\t\"./en-sg\": \"t+mt\",\n\t\"./en-sg.js\": \"t+mt\",\n\t\"./eo\": \"Zduo\",\n\t\"./eo.js\": \"Zduo\",\n\t\"./es\": \"iYuL\",\n\t\"./es-do\": \"CjzT\",\n\t\"./es-do.js\": \"CjzT\",\n\t\"./es-mx\": \"tbfe\",\n\t\"./es-mx.js\": \"tbfe\",\n\t\"./es-us\": \"Vclq\",\n\t\"./es-us.js\": \"Vclq\",\n\t\"./es.js\": \"iYuL\",\n\t\"./et\": \"7BjC\",\n\t\"./et.js\": \"7BjC\",\n\t\"./eu\": \"D/JM\",\n\t\"./eu.js\": \"D/JM\",\n\t\"./fa\": \"jfSC\",\n\t\"./fa.js\": \"jfSC\",\n\t\"./fi\": \"gekB\",\n\t\"./fi.js\": \"gekB\",\n\t\"./fil\": \"1ppg\",\n\t\"./fil.js\": \"1ppg\",\n\t\"./fo\": \"ByF4\",\n\t\"./fo.js\": \"ByF4\",\n\t\"./fr\": \"nyYc\",\n\t\"./fr-ca\": \"2fjn\",\n\t\"./fr-ca.js\": \"2fjn\",\n\t\"./fr-ch\": \"Dkky\",\n\t\"./fr-ch.js\": \"Dkky\",\n\t\"./fr.js\": \"nyYc\",\n\t\"./fy\": \"cRix\",\n\t\"./fy.js\": \"cRix\",\n\t\"./ga\": \"USCx\",\n\t\"./ga.js\": \"USCx\",\n\t\"./gd\": \"9rRi\",\n\t\"./gd.js\": \"9rRi\",\n\t\"./gl\": \"iEDd\",\n\t\"./gl.js\": \"iEDd\",\n\t\"./gom-deva\": \"qvJo\",\n\t\"./gom-deva.js\": \"qvJo\",\n\t\"./gom-latn\": \"DKr+\",\n\t\"./gom-latn.js\": \"DKr+\",\n\t\"./gu\": \"4MV3\",\n\t\"./gu.js\": \"4MV3\",\n\t\"./he\": \"x6pH\",\n\t\"./he.js\": \"x6pH\",\n\t\"./hi\": \"3E1r\",\n\t\"./hi.js\": \"3E1r\",\n\t\"./hr\": \"S6ln\",\n\t\"./hr.js\": \"S6ln\",\n\t\"./hu\": \"WxRl\",\n\t\"./hu.js\": \"WxRl\",\n\t\"./hy-am\": \"1rYy\",\n\t\"./hy-am.js\": \"1rYy\",\n\t\"./id\": \"UDhR\",\n\t\"./id.js\": \"UDhR\",\n\t\"./is\": \"BVg3\",\n\t\"./is.js\": \"BVg3\",\n\t\"./it\": \"bpih\",\n\t\"./it-ch\": \"bxKX\",\n\t\"./it-ch.js\": \"bxKX\",\n\t\"./it.js\": \"bpih\",\n\t\"./ja\": \"B55N\",\n\t\"./ja.js\": \"B55N\",\n\t\"./jv\": \"tUCv\",\n\t\"./jv.js\": \"tUCv\",\n\t\"./ka\": \"IBtZ\",\n\t\"./ka.js\": \"IBtZ\",\n\t\"./kk\": \"bXm7\",\n\t\"./kk.js\": \"bXm7\",\n\t\"./km\": \"6B0Y\",\n\t\"./km.js\": \"6B0Y\",\n\t\"./kn\": \"PpIw\",\n\t\"./kn.js\": \"PpIw\",\n\t\"./ko\": \"Ivi+\",\n\t\"./ko.js\": \"Ivi+\",\n\t\"./ku\": \"JCF/\",\n\t\"./ku.js\": \"JCF/\",\n\t\"./ky\": \"lgnt\",\n\t\"./ky.js\": \"lgnt\",\n\t\"./lb\": \"RAwQ\",\n\t\"./lb.js\": \"RAwQ\",\n\t\"./lo\": \"sp3z\",\n\t\"./lo.js\": \"sp3z\",\n\t\"./lt\": \"JvlW\",\n\t\"./lt.js\": \"JvlW\",\n\t\"./lv\": \"uXwI\",\n\t\"./lv.js\": \"uXwI\",\n\t\"./me\": \"KTz0\",\n\t\"./me.js\": \"KTz0\",\n\t\"./mi\": \"aIsn\",\n\t\"./mi.js\": \"aIsn\",\n\t\"./mk\": \"aQkU\",\n\t\"./mk.js\": \"aQkU\",\n\t\"./ml\": \"AvvY\",\n\t\"./ml.js\": \"AvvY\",\n\t\"./mn\": \"lYtQ\",\n\t\"./mn.js\": \"lYtQ\",\n\t\"./mr\": \"Ob0Z\",\n\t\"./mr.js\": \"Ob0Z\",\n\t\"./ms\": \"6+QB\",\n\t\"./ms-my\": \"ZAMP\",\n\t\"./ms-my.js\": \"ZAMP\",\n\t\"./ms.js\": \"6+QB\",\n\t\"./mt\": \"G0Uy\",\n\t\"./mt.js\": \"G0Uy\",\n\t\"./my\": \"honF\",\n\t\"./my.js\": \"honF\",\n\t\"./nb\": \"bOMt\",\n\t\"./nb.js\": \"bOMt\",\n\t\"./ne\": \"OjkT\",\n\t\"./ne.js\": \"OjkT\",\n\t\"./nl\": \"+s0g\",\n\t\"./nl-be\": \"2ykv\",\n\t\"./nl-be.js\": \"2ykv\",\n\t\"./nl.js\": \"+s0g\",\n\t\"./nn\": \"uEye\",\n\t\"./nn.js\": \"uEye\",\n\t\"./oc-lnc\": \"Fnuy\",\n\t\"./oc-lnc.js\": \"Fnuy\",\n\t\"./pa-in\": \"8/+R\",\n\t\"./pa-in.js\": \"8/+R\",\n\t\"./pl\": \"jVdC\",\n\t\"./pl.js\": \"jVdC\",\n\t\"./pt\": \"8mBD\",\n\t\"./pt-br\": \"0tRk\",\n\t\"./pt-br.js\": \"0tRk\",\n\t\"./pt.js\": \"8mBD\",\n\t\"./ro\": \"lyxo\",\n\t\"./ro.js\": \"lyxo\",\n\t\"./ru\": \"lXzo\",\n\t\"./ru.js\": \"lXzo\",\n\t\"./sd\": \"Z4QM\",\n\t\"./sd.js\": \"Z4QM\",\n\t\"./se\": \"//9w\",\n\t\"./se.js\": \"//9w\",\n\t\"./si\": \"7aV9\",\n\t\"./si.js\": \"7aV9\",\n\t\"./sk\": \"e+ae\",\n\t\"./sk.js\": \"e+ae\",\n\t\"./sl\": \"gVVK\",\n\t\"./sl.js\": \"gVVK\",\n\t\"./sq\": \"yPMs\",\n\t\"./sq.js\": \"yPMs\",\n\t\"./sr\": \"zx6S\",\n\t\"./sr-cyrl\": \"E+lV\",\n\t\"./sr-cyrl.js\": \"E+lV\",\n\t\"./sr.js\": \"zx6S\",\n\t\"./ss\": \"Ur1D\",\n\t\"./ss.js\": \"Ur1D\",\n\t\"./sv\": \"X709\",\n\t\"./sv.js\": \"X709\",\n\t\"./sw\": \"dNwA\",\n\t\"./sw.js\": \"dNwA\",\n\t\"./ta\": \"PeUW\",\n\t\"./ta.js\": \"PeUW\",\n\t\"./te\": \"XLvN\",\n\t\"./te.js\": \"XLvN\",\n\t\"./tet\": \"V2x9\",\n\t\"./tet.js\": \"V2x9\",\n\t\"./tg\": \"Oxv6\",\n\t\"./tg.js\": \"Oxv6\",\n\t\"./th\": \"EOgW\",\n\t\"./th.js\": \"EOgW\",\n\t\"./tk\": \"Wv91\",\n\t\"./tk.js\": \"Wv91\",\n\t\"./tl-ph\": \"Dzi0\",\n\t\"./tl-ph.js\": \"Dzi0\",\n\t\"./tlh\": \"z3Vd\",\n\t\"./tlh.js\": \"z3Vd\",\n\t\"./tr\": \"DoHr\",\n\t\"./tr.js\": \"DoHr\",\n\t\"./tzl\": \"z1FC\",\n\t\"./tzl.js\": \"z1FC\",\n\t\"./tzm\": \"wQk9\",\n\t\"./tzm-latn\": \"tT3J\",\n\t\"./tzm-latn.js\": \"tT3J\",\n\t\"./tzm.js\": \"wQk9\",\n\t\"./ug-cn\": \"YRex\",\n\t\"./ug-cn.js\": \"YRex\",\n\t\"./uk\": \"raLr\",\n\t\"./uk.js\": \"raLr\",\n\t\"./ur\": \"UpQW\",\n\t\"./ur.js\": \"UpQW\",\n\t\"./uz\": \"Loxo\",\n\t\"./uz-latn\": \"AQ68\",\n\t\"./uz-latn.js\": \"AQ68\",\n\t\"./uz.js\": \"Loxo\",\n\t\"./vi\": \"KSF8\",\n\t\"./vi.js\": \"KSF8\",\n\t\"./x-pseudo\": \"/X5v\",\n\t\"./x-pseudo.js\": \"/X5v\",\n\t\"./yo\": \"fzPg\",\n\t\"./yo.js\": \"fzPg\",\n\t\"./zh-cn\": \"XDpg\",\n\t\"./zh-cn.js\": \"XDpg\",\n\t\"./zh-hk\": \"SatO\",\n\t\"./zh-hk.js\": \"SatO\",\n\t\"./zh-mo\": \"OmwH\",\n\t\"./zh-mo.js\": \"OmwH\",\n\t\"./zh-tw\": \"kOpN\",\n\t\"./zh-tw.js\": \"kOpN\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"RnhZ\";","// Copyright 2023, Avation Medical. All rights reserved.\r\n// \r\n// This code is proprietary and confidential information of Avation Medical. Any use, reproduction, modification\r\n// or distribution of the code without the express prior written consent of Avation Medical is strictly prohibited.\r\n\r\nimport { ApplicationRef, Component, OnInit } from '@angular/core';\r\nimport { MatDialog, MatDialogRef } from '@angular/material/dialog';\r\nimport { DEFAULT_INTERRUPTSOURCES, Idle } from '@ng-idle/core';\r\nimport { AuthService } from './core/services/auth.service';\r\nimport { IdleWarningDialogComponent } from './shared/components/idle-warning-dialog/idle-warning-dialog.component';\r\nimport { IdleWarningDialogData } from './shared/dialog-data.interface';\r\nimport { UserService } from './core/http/user/user.service';\r\nimport { LocationService } from './core/services/location.service';\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.scss'],\r\n})\r\nexport class AppComponent implements OnInit {\r\n title: string = 'avalee-portal';\r\n IDLE_TIME: number = 10 * 60; // Idle session timeout (in seconds)\r\n TIMEOUT_TIME: number = 1 * 60; // Time to display idle warning prompt (in seconds)\r\n dialogRef: MatDialogRef = null;\r\n\r\n constructor(\r\n private readonly idle: Idle,\r\n private readonly authService: AuthService,\r\n private readonly dialog: MatDialog,\r\n private readonly appRef: ApplicationRef,\r\n private readonly userService: UserService,\r\n private readonly locationService: LocationService,\r\n ) {\r\n this.idle.setIdle(this.IDLE_TIME);\r\n this.idle.setTimeout(this.TIMEOUT_TIME);\r\n this.idle.setInterrupts(DEFAULT_INTERRUPTSOURCES);\r\n\r\n this.idle.onIdleStart.subscribe(() => {\r\n if (this.authService.isAuthenticated()) {\r\n let data: IdleWarningDialogData = { countdown: this.TIMEOUT_TIME };\r\n this.dialogRef = this.dialog.open(IdleWarningDialogComponent, { data, disableClose: true });\r\n }\r\n else {\r\n this.reset();\r\n }\r\n });\r\n\r\n this.idle.onIdleEnd.subscribe(() => {\r\n this.reset();\r\n this.appRef.tick();\r\n });\r\n\r\n this.idle.onTimeoutWarning.subscribe(seconds => {\r\n let data: IdleWarningDialogData = { countdown: seconds };\r\n this.dialogRef.componentInstance.data = data;\r\n });\r\n\r\n this.idle.onTimeout.subscribe(() => {\r\n this.authService.logout();\r\n this.reset();\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n this.reset();\r\n }\r\n\r\n reset() {\r\n if (this.dialogRef != null) {\r\n this.dialog.closeAll();\r\n this.dialogRef = null;\r\n }\r\n this.idle.watch();\r\n }\r\n}\r\n","\r\n\r\n\r\n","// Copyright 2023, Avation Medical. All rights reserved.\r\n// \r\n// This code is proprietary and confidential information of Avation Medical. Any use, reproduction, modification\r\n// or distribution of the code without the express prior written consent of Avation Medical is strictly prohibited.\r\n\r\nexport enum DeviceMode {\r\n Active = 1,\r\n LowStim = 2,\r\n NoStim = 4,\r\n SystemTest = 8,\r\n}\r\n\r\nexport function deviceModeOptions() {\r\n return Object.values(DeviceMode)\r\n .filter(key => !isNaN(Number(DeviceMode[key])))\r\n .map(option => ({key: option, value: DeviceMode[option]}));\r\n}","// Copyright 2023, Avation Medical. All rights reserved.\r\n// \r\n// This code is proprietary and confidential information of Avation Medical. Any use, reproduction, modification\r\n// or distribution of the code without the express prior written consent of Avation Medical is strictly prohibited.\r\n\r\nimport { DatePipe } from '@angular/common';\r\nimport { Component, Input, OnChanges, OnInit } from '@angular/core';\r\nimport { ChartDataSets, ChartOptions } from \"chart.js\";\r\nimport { Label } from 'ng2-charts';\r\n\r\n@Component({\r\n selector: 'urinary-history-graph',\r\n templateUrl: './urinary-history-graph.component.html',\r\n})\r\nexport class UrinaryHistoryGraph implements OnInit, OnChanges {\r\n public chartType: string = 'bar';\r\n public chartData: ChartDataSets[];\r\n public chartLabels: Label[];\r\n public chartOptions: (ChartOptions);\r\n public chartPlugins = [];\r\n\r\n @Input('data')\r\n data: any[];\r\n\r\n constructor(\r\n private readonly datePipe: DatePipe,\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.createChart();\r\n }\r\n\r\n ngOnChanges(changes) {\r\n if (changes.data) {\r\n this.createChart();\r\n }\r\n }\r\n\r\n createChart() {\r\n var data = this.data.slice().sort((a, b) => {\r\n return new Date(a.date) > new Date(b.date) ? 1 : -1;\r\n });\r\n\r\n this.chartLabels = data.map(journalEntry => this.datePipe.transform(journalEntry.date, 'MMM d'));\r\n this.chartData = [\r\n {\r\n label: 'Restroom (Void))',\r\n data: data.map(journalEntry => journalEntry.restroom),\r\n borderColor: '#4d4d4d',\r\n backgroundColor: '#4d4d4d',\r\n hoverBackgroundColor: '#4d4d4d',\r\n },\r\n {\r\n label: 'Leaks',\r\n data: data.map(journalEntry => journalEntry.leaks),\r\n borderColor: '#989898',\r\n backgroundColor: '#989898',\r\n hoverBackgroundColor: '#989898',\r\n },\r\n {\r\n label: 'Urges',\r\n data: data.map(journalEntry => journalEntry.urge),\r\n borderColor: '#C4C4C4',\r\n backgroundColor: '#C4C4C4',\r\n hoverBackgroundColor: '#C4C4C4',\r\n },\r\n ];\r\n this.chartOptions = {\r\n responsive: true,\r\n legend: {\r\n display: true,\r\n },\r\n scales: {\r\n xAxes: [\r\n {\r\n stacked: true,\r\n },\r\n ],\r\n yAxes: [\r\n {\r\n ticks: {\r\n precision: 0,\r\n beginAtZero: true,\r\n autoSkip: true,\r\n maxTicksLimit: 20,\r\n },\r\n stacked: true,\r\n }\r\n ],\r\n },\r\n };\r\n\r\n this.chartPlugins = [{\r\n // ChartJS background color is transparent by default. This sets it to white for the pdf export\r\n beforeDraw: function(chartInstance) {\r\n var ctx = chartInstance.ctx;\r\n ctx.fillStyle = \"white\";\r\n ctx.fillRect(0, 0, chartInstance.width, chartInstance.height);\r\n }\r\n }];\r\n }\r\n}","\r\n\r\n
\r\n \r\n
","// Copyright 2023, Avation Medical. All rights reserved.\r\n// \r\n// This code is proprietary and confidential information of Avation Medical. Any use, reproduction, modification\r\n// or distribution of the code without the express prior written consent of Avation Medical is strictly prohibited.\r\n\r\nimport { Component, Inject, OnInit } from '@angular/core';\r\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { IdleWarningDialogData } from '../../dialog-data.interface';\r\n\r\n@Component({\r\n selector: 'idle-warning-dialog',\r\n templateUrl: './idle-warning-dialog.component.html',\r\n styleUrls: ['./idle-warning-dialog.component.scss']\r\n})\r\nexport class IdleWarningDialogComponent implements OnInit {\r\n\r\n constructor(\r\n @Inject(MAT_DIALOG_DATA) public data: IdleWarningDialogData\r\n ) {\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n}\r\n","\r\n\r\n
\r\n

Idle Timeout

\r\n \r\n

You have been idle for too long

\r\n

You will be logged out in {{data.countdown}} seconds...

\r\n
\r\n
","import { UserService } from 'src/app/core/http/user/user.service';\r\nimport { IconService } from 'src/app/core/services/icon.service';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { emailValidator, nameValidator, nonWhitespaceValidator, phoneValidator } from 'src/app/shared/validators';\r\nimport { PhoneNumber } from 'src/app/shared/classes/phone-number';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { MessageBoxComponent } from 'src/app/shared/components/message-box/message-box.component';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-account',\r\n templateUrl: './account.component.html',\r\n styleUrls: ['./account.component.scss']\r\n})\r\nexport class AccountComponent implements OnInit {\r\n form: FormGroup;\r\n successMessage: string;\r\n errorMessage: boolean= false;\r\n constructor(\r\n private readonly iconService: IconService,\r\n private fb: FormBuilder,\r\n private userService: UserService,\r\n private dialog: MatDialog,\r\n private readonly route: ActivatedRoute,\r\n private readonly router:Router\r\n ) {\r\n this.iconService.registerIcons();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.form = this.fb.group({\r\n firstName: ['', [Validators.required, nonWhitespaceValidator()]],\r\n lastName: ['', [Validators.required, nonWhitespaceValidator()]],\r\n email: ['', [Validators.required, emailValidator()]],\r\n confirmationEmail: ['', [Validators.required, emailValidator()]],\r\n phone: ['',[Validators.required, phoneValidator()]],\r\n isPatientCheckbox: [false],\r\n });\r\n // Subscribe to value changes of email and confirmationEmail fields\r\n this.form.get('email').valueChanges.subscribe(() => this.validateEmails());\r\n this.form.get('confirmationEmail').valueChanges.subscribe(() => this.validateEmails());\r\n const email = this.route.snapshot.queryParams['email'];\r\n this.form.get('email').disable()\r\n this.form.patchValue({\r\n email:email\r\n })\r\n }\r\n\r\n validateEmails(): void {\r\n const email = this.form.get('email').value;\r\n const confirmationEmail = this.form.get('confirmationEmail').value;\r\n\r\n if (email !== confirmationEmail) {\r\n this.form.get('confirmationEmail').setErrors({ emailsNotSame: true });\r\n } else {\r\n this.form.get('confirmationEmail').setErrors(null);\r\n }\r\n }\r\n\r\n // Method to submit the form\r\n onSubmit(): void {\r\n if (this.form.valid) {\r\n // Convert phone field value\r\n let phoneVal = this.form.get('phone').value;\r\n let phone = typeof phoneVal === 'string' ? PhoneNumber.fromString(phoneVal) : phoneVal;\r\n this.form.patchValue({ phone: phone?.toRawString() });\r\n\r\n const formData = { ...this.form.getRawValue() };\r\n delete formData.isPatientCheckbox; // Exclude checkbox value from form data\r\n\r\n this.userService.createNewAccount(formData).toPromise().then((response) => {\r\n this.form.reset(); // Resets the form values\r\n this.form.disable();\r\n this.dialog.open(MessageBoxComponent, {\r\n data: {\r\n title: 'Account Request Submitted',\r\n message: \"You will receive an email when your request has been approved.\",\r\n buttonText: 'Ok',\r\n },\r\n }).afterClosed().subscribe(() => {\r\n this.router.navigate(['login'])\r\n })\r\n }).catch((error) => {\r\n this.errorMessage = error.error.message;\r\n });\r\n } else {\r\n this.form.markAllAsTouched();\r\n }\r\n }\r\n\r\n}\r\n","
\r\n \r\n
\r\n
\r\n \r\n

Request a Patient Vivally Account

\r\n

To create a Vivally account, please fill out the form below and our Customer Care team will\r\n review your\r\n request for approval.

\r\n
\r\n \r\n
\r\n First Name *\r\n \r\n \r\n \r\n \r\n
\r\n\r\n \r\n
\r\n Last Name *\r\n \r\n \r\n \r\n \r\n
\r\n\r\n \r\n
\r\n Email *\r\n \r\n \r\n \r\n \r\n
\r\n\r\n \r\n
\r\n Confirm Email *\r\n \r\n \r\n \r\n Emails do not match\r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n \r\n
\r\n Phone Number *\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n I am a Patient *\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n

{{errorMessage}}

\r\n
\r\n
\r\n \r\n


\r\n
\r\n * If you have a Vivally account, and you wish to delete it, please contact our Customer Care team at\r\n customercare@avation.com.\r\n
\r\n
\r\n\r\n","// Copyright 2023, Avation Medical. All rights reserved.\r\n// \r\n// This code is proprietary and confidential information of Avation Medical. Any use, reproduction, modification\r\n// or distribution of the code without the express prior written consent of Avation Medical is strictly prohibited.\r\n\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n\r\n@Pipe({name: 'therapySchedule'})\r\nexport class TherapySchedulePipe implements PipeTransform {\r\n transform(value: any, length: string = 'short'): any {\r\n if (value === null || value < 0) {\r\n return '-';\r\n }\r\n\r\n if (value == 14) {\r\n value = 0.5;\r\n }\r\n else if (value == 28) {\r\n value = 0.25;\r\n }\r\n\r\n return `${value}/week`\r\n }\r\n}","// Copyright 2023, Avation Medical. All rights reserved.\r\n// \r\n// This code is proprietary and confidential information of Avation Medical. Any use, reproduction, modification\r\n// or distribution of the code without the express prior written consent of Avation Medical is strictly prohibited.\r\n\r\nimport { Component, OnInit, Inject } from '@angular/core';\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\r\nimport { take } from 'rxjs/operators';\r\nimport { AccountService } from 'src/app/core/http/account/account.service';\r\nimport { ResetEulaDialogData } from '../../dialog-data.interface';\r\nimport { ClinicService } from 'src/app/core/http/clinic/clinic.service';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'reset-eula-dialog',\r\n templateUrl: './reset-eula-dialog.component.html',\r\n styleUrls: ['./reset-eula-dialog.component.scss']\r\n})\r\nexport class ResetEulaDialogComponent implements OnInit {\r\n message: string;\r\n http: Observable;\r\n\r\n constructor(\r\n @Inject(MAT_DIALOG_DATA) public data: ResetEulaDialogData,\r\n private accountService: AccountService,\r\n private clinicService: ClinicService,\r\n private dialogRef: MatDialogRef\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n if (this.data.userIds) {\r\n this.message = `This will reset the Accepted EULA flag for ${this.data.userIds.length} user(s). This cannot be undone.`;\r\n this.http = this.accountService.resetEula(this.data.userIds);\r\n }\r\n else if (this.data.clinicId) {\r\n if (!this.data.role || !['patient', 'clinician'].includes(this.data.role)) {\r\n console.error('Role must be provided for resetting a clinics EULA');\r\n }\r\n\r\n this.clinicService.read(this.data.clinicId).subscribe(clinic => {\r\n this.message = `This will reset the Accepted EULA flag for every ${this.data.role === 'patient' ? 'patient' : 'clinician'} assigned to ${clinic.name}`;\r\n })\r\n\r\n if (this.data.role == 'patient') {\r\n this.http = this.clinicService.resetEulaForPatients(this.data.clinicId);\r\n }\r\n else {\r\n this.http = this.clinicService.resetEulaForClinicians(this.data.clinicId);\r\n }\r\n }\r\n else {\r\n console.error('Either userId or clinicId must be provided to ResetEulaDialog')\r\n }\r\n }\r\n\r\n async submit() {\r\n await this.http.pipe(take(1)).toPromise();\r\n this.dialogRef.close();\r\n }\r\n}\r\n","\r\n\r\n
\r\n

Reset EULA flags?

\r\n {{message}}\r\n \r\n \r\n \r\n \r\n
","// Copyright 2023, Avation Medical. All rights reserved.\r\n// \r\n// This code is proprietary and confidential information of Avation Medical. Any use, reproduction, modification\r\n// or distribution of the code without the express prior written consent of Avation Medical is strictly prohibited.\r\n\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({name: 'epochDate'})\r\nexport class EpochDatePipe implements PipeTransform {\r\n transform(value: number): Date {\r\n let date = new Date(0);\r\n date.setUTCSeconds(value);\r\n return date;\r\n }\r\n}","// Copyright 2023, Avation Medical. All rights reserved.\r\n// \r\n// This code is proprietary and confidential information of Avation Medical. Any use, reproduction, modification\r\n// or distribution of the code without the express prior written consent of Avation Medical is strictly prohibited.\r\n\r\nimport { DatePipe } from '@angular/common';\r\nimport { Component, Input, OnChanges, OnInit } from '@angular/core';\r\nimport { ChartDataSets, ChartOptions } from \"chart.js\";\r\nimport { Label } from 'ng2-charts';\r\nimport { datesBetween } from 'src/app/shared/helpers/date-utils';\r\n\r\n@Component({\r\n selector: 'patient-therapy-graph',\r\n templateUrl: './patient-therapy-graph.component.html',\r\n})\r\nexport class PatientTherapyGraphComponent implements OnInit, OnChanges {\r\n public chartType: string = 'line';\r\n public chartData: ChartDataSets[];\r\n public chartLabels: Label[];\r\n public chartOptions: (ChartOptions);\r\n public chartPlugins = [];\r\n\r\n @Input('data')\r\n data: any[];\r\n\r\n constructor(\r\n private readonly datePipe: DatePipe,\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.createChart();\r\n }\r\n\r\n ngOnChanges(changes) {\r\n if (changes.data) {\r\n this.createChart();\r\n }\r\n }\r\n\r\n createChart() {\r\n var data = this.data.slice().filter(row => !row.isScreening).reduce((acc, session: any) => {\r\n let date = this.datePipe.transform(session.timestamp, 'MM/d/yyyy');\r\n if (!acc[date]) {\r\n acc[date] = []\r\n }\r\n acc[date].push(session);\r\n return acc;\r\n }, {});\r\n\r\n var dates: Array = Object.keys(data).map(date => new Date(date)).sort((a, b) => {\r\n return a >b ? 1 : -1;\r\n });\r\n var minDate: Date = dates[0];\r\n var maxDate: Date = dates[dates.length - 1];\r\n\r\n var allDates = datesBetween(minDate, maxDate);\r\n var dateStrs = new Array();\r\n \r\n var targetSessions: Array = [];\r\n var actualSessions: Array = [];\r\n var pointRadii: Array = [];\r\n var lastSchedule: number = 0;\r\n var lastTarget: number = 0;\r\n var lastActual: number = 0;\r\n var day: number = 0;\r\n\r\n allDates.forEach(date => {\r\n const dateStr = this.datePipe.transform(date, 'MM/d/yyyy');\r\n dateStrs.push(dateStr);\r\n \r\n if (dateStr in data) {\r\n actualSessions.push(data[dateStr].filter(x => x.isComplete).length + lastActual);\r\n pointRadii.push(3); // Default point radius\r\n lastSchedule = data[dateStr][0].therapySchedule;\r\n }\r\n else {\r\n actualSessions.push(lastActual);\r\n pointRadii.push(0);\r\n }\r\n\r\n lastActual = actualSessions[actualSessions.length - 1];\r\n\r\n if (day % 7 === 0) {\r\n targetSessions.push(lastSchedule + lastTarget);\r\n }\r\n else {\r\n targetSessions.push(lastTarget);\r\n }\r\n\r\n lastTarget = targetSessions[targetSessions.length - 1];\r\n day++;\r\n });\r\n \r\n this.chartLabels = dateStrs.map(date => new Date(date).toISOString());\r\n this.chartData = [\r\n {\r\n data: targetSessions,\r\n label: 'Target Sessions',\r\n lineTension: 0,\r\n borderColor: '#61A12C',\r\n backgroundColor: '#61A12C',\r\n pointBackgroundColor: '#61A12C',\r\n pointRadius: pointRadii,\r\n fill: false,\r\n },\r\n {\r\n data: actualSessions,\r\n label: 'Actual Sessions',\r\n lineTension: 0,\r\n borderColor: '#C4DC8F',\r\n backgroundColor: '#C4DC8F',\r\n pointBackgroundColor: '#C4DC8F',\r\n pointRadius: pointRadii,\r\n fill: false,\r\n },\r\n ];\r\n this.chartOptions = {\r\n responsive: true,\r\n legend: {\r\n position: 'bottom',\r\n labels: {\r\n usePointStyle: true,\r\n }\r\n },\r\n title: {\r\n display: true,\r\n position: 'top',\r\n text: 'Target Vs Actual Sessions',\r\n fontSize: 15,\r\n },\r\n scales: {\r\n yAxes: [{\r\n ticks: {\r\n precision: 0,\r\n },\r\n scaleLabel: {\r\n display: true,\r\n labelString: 'Number of Sessions',\r\n }\r\n }],\r\n xAxes: [{\r\n type: 'time',\r\n time: {\r\n unit: 'day',\r\n displayFormats: {\r\n day: 'MMM DD',\r\n }\r\n },\r\n ticks: {\r\n autoSkip: true,\r\n maxTicksLimit: 20\r\n }\r\n }]\r\n },\r\n };\r\n\r\n this.chartPlugins = [{\r\n // ChartJS background color is transparent by default. This sets it to white for the pdf export\r\n beforeDraw: function(chartInstance) {\r\n var ctx = chartInstance.ctx;\r\n ctx.fillStyle = \"white\";\r\n ctx.fillRect(0, 0, chartInstance.width, chartInstance.height);\r\n }\r\n }];\r\n }\r\n}","\r\n\r\n
\r\n \r\n
","// Copyright 2023, Avation Medical. All rights reserved.\r\n// \r\n// This code is proprietary and confidential information of Avation Medical. Any use, reproduction, modification\r\n// or distribution of the code without the express prior written consent of Avation Medical is strictly prohibited.\r\n\r\nimport { Injectable } from '@angular/core';\r\nimport { Export } from 'src/app/shared/enums/export';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ExportService {\r\n\r\n exportType: Export = null;\r\n exportParams: any;\r\n callbackFunction: any;\r\n\r\n constructor() { }\r\n\r\n setState(type: Export): void {\r\n this.exportType = type;\r\n }\r\n\r\n setParams(params: any): void {\r\n this.exportParams = params;\r\n }\r\n\r\n setCallback(fn: any): void {\r\n this.callbackFunction = fn;\r\n }\r\n\r\n callCallback() {\r\n this.callbackFunction();\r\n }\r\n}\r\n","// Copyright 2023, Avation Medical. All rights reserved.\r\n// \r\n// This code is proprietary and confidential information of Avation Medical. Any use, reproduction, modification\r\n// or distribution of the code without the express prior written consent of Avation Medical is strictly prohibited.\r\n\r\nexport function states(){\r\n const states= [\r\n {\r\n \"name\": \"Alaska\",\r\n \"cities\": [\"Anchorage\", \"Fairbanks\", \"Juneau\", \"Sitka\"]\r\n },\r\n {\r\n \"name\": \"Alabama\",\r\n \"cities\": [\"Birmingham\", \"Montgomery\", \"Mobile\", \"Huntsville\"]\r\n },\r\n {\r\n \"name\": \"Arkansas\",\r\n \"cities\": [\"Little Rock\", \"Fort Smith\", \"Fayetteville\", \"Springdale\"]\r\n },\r\n {\r\n \"name\": \"American Samoa\",\r\n \"cities\": [\"Pago Pago\"]\r\n },\r\n {\r\n \"name\": \"Arizona\",\r\n \"cities\": [\"Phoenix\", \"Tucson\", \"Mesa\", \"Scottsdale\"]\r\n },\r\n {\r\n \"name\": \"California\",\r\n \"cities\": [\"Los Angeles\", \"San Francisco\", \"San Diego\", \"Sacramento\"]\r\n },\r\n {\r\n \"name\": \"Colorado\",\r\n \"cities\": [\"Denver\", \"Colorado Springs\", \"Aurora\", \"Fort Collins\"]\r\n },\r\n {\r\n \"name\": \"Connecticut\",\r\n \"cities\": [\"Bridgeport\", \"New Haven\", \"Hartford\", \"Stamford\"]\r\n },\r\n {\r\n \"name\": \"District of Columbia\",\r\n \"cities\": [\"Washington DC\"]\r\n },\r\n {\r\n \"name\": \"Delaware\",\r\n \"cities\": [\"Wilmington\", \"Dover\", \"Newark\", \"Middletown\"]\r\n },\r\n {\r\n \"name\": \"Florida\",\r\n \"cities\": [\"Miami\", \"Orlando\", \"Tampa\", \"Jacksonville\"]\r\n },\r\n {\r\n \"name\": \"Georgia\",\r\n \"cities\": [\"Atlanta\", \"Savannah\", \"Augusta\", \"Macon\"]\r\n },\r\n {\r\n \"name\": \"Guam\",\r\n \"cities\": [\"Hagåtña\", \"Tamuning\", \"Dededo\", \"Yigo\"]\r\n },\r\n {\r\n \"name\": \"Hawaii\",\r\n \"cities\": [\"Honolulu\", \"Hilo\", \"Kailua\", \"Kapolei\"]\r\n },\r\n {\r\n \"name\": \"Iowa\",\r\n \"cities\": [\"Des Moines\", \"Cedar Rapids\", \"Davenport\", \"Sioux City\"]\r\n },\r\n {\r\n \"name\": \"Idaho\",\r\n \"cities\": [\"Boise\", \"Meridian\", \"Nampa\", \"Idaho Falls\"]\r\n },\r\n {\r\n \"name\": \"Illinois\",\r\n \"cities\": [\"Chicago\", \"Springfield\", \"Peoria\", \"Aurora\"]\r\n },\r\n {\r\n \"name\": \"Indiana\",\r\n \"cities\": [\"Indianapolis\", \"Fort Wayne\", \"Evansville\", \"South Bend\"]\r\n },\r\n {\r\n \"name\": \"Kansas\",\r\n \"cities\": [\"Wichita\", \"Overland Park\", \"Kansas City\", \"Topeka\"]\r\n },\r\n {\r\n \"name\": \"Kentucky\",\r\n \"cities\": [\"Louisville\", \"Lexington\", \"Bowling Green\", \"Owensboro\"]\r\n },\r\n {\r\n \"name\": \"Louisiana\",\r\n \"cities\": [\"New Orleans\", \"Baton Rouge\", \"Shreveport\", \"Lafayette\"]\r\n },\r\n {\r\n \"name\": \"Massachusetts\",\r\n \"cities\": [\"Boston\", \"Worcester\", \"Springfield\", \"Cambridge\"]\r\n },\r\n {\r\n \"name\": \"Maryland\",\r\n \"cities\": [\"Baltimore\", \"Frederick\", \"Rockville\", \"Gaithersburg\"]\r\n },\r\n {\r\n \"name\": \"Maine\",\r\n \"cities\": [\"Portland\", \"Lewiston\", \"Bangor\", \"South Portland\"]\r\n },\r\n {\r\n \"name\": \"Michigan\",\r\n \"cities\": [\"Detroit\", \"Grand Rapids\", \"Lansing\", \"Ann Arbor\"]\r\n },\r\n {\r\n \"name\": \"Minnesota\",\r\n \"cities\": [\"Minneapolis\", \"Saint Paul\", \"Rochester\", \"Duluth\"]\r\n },\r\n {\r\n \"name\": \"Missouri\",\r\n \"cities\": [\"Kansas City\", \"St. Louis\", \"Springfield\", \"Columbia\"]\r\n },\r\n {\r\n \"name\": \"Mississippi\",\r\n \"cities\": [\"Jackson\", \"Gulfport\", \"Southaven\", \"Hattiesburg\"]\r\n },\r\n {\r\n \"name\": \"Montana\",\r\n \"cities\": [\"Billings\", \"Missoula\", \"Great Falls\", \"Bozeman\"]\r\n },\r\n {\r\n \"name\": \"North Carolina\",\r\n \"cities\": [\"Charlotte\", \"Raleigh\", \"Greensboro\", \"Durham\"]\r\n },\r\n {\r\n \"name\": \"North Dakota\",\r\n \"cities\": [\"Fargo\", \"Bismarck\", \"Grand Forks\", \"Minot\"]\r\n },\r\n {\r\n \"name\": \"Nebraska\",\r\n \"cities\": [\"Omaha\", \"Lincoln\", \"Bellevue\", \"Grand Island\"]\r\n },\r\n {\r\n \"name\": \"New Hampshire\",\r\n \"cities\": [\"Manchester\", \"Nashua\", \"Concord\", \"Derry\"]\r\n },\r\n {\r\n \"name\": \"New Jersey\",\r\n \"cities\": [\"Newark\", \"Jersey City\", \"Trenton\", \"Atlantic City\"]\r\n },\r\n {\r\n \"name\": \"New Mexico\",\r\n \"cities\": [\"Albuquerque\", \"Las Cruces\", \"Rio Rancho\", \"Santa Fe\"]\r\n },\r\n {\r\n \"name\": \"Nevada\",\r\n \"cities\": [\"Las Vegas\", \"Henderson\", \"Reno\", \"North Las Vegas\"]\r\n },\r\n {\r\n \"name\": \"New York\",\r\n \"cities\": [\"New York City\", \"Buffalo\", \"Albany\", \"Rochester\"]\r\n },\r\n {\r\n \"name\": \"Ohio\",\r\n \"cities\": [\"Columbus\", \"Cleveland\", \"Cincinnati\", \"Dayton\"]\r\n },\r\n {\r\n \"name\": \"Oklahoma\",\r\n \"cities\": [\"Oklahoma City\", \"Tulsa\", \"Norman\", \"Broken Arrow\"]\r\n },\r\n {\r\n \"name\": \"Oregon\",\r\n \"cities\": [\"Portland\", \"Salem\", \"Eugene\", \"Gresham\"]\r\n },\r\n {\r\n \"name\": \"Pennsylvania\",\r\n \"cities\": [\"Philadelphia\", \"Pittsburgh\", \"Harrisburg\", \"Allentown\"]\r\n },\r\n {\r\n \"name\": \"Puerto Rico\",\r\n \"cities\": [\"San Juan\", \"Bayamón\", \"Carolina\", \"Ponce\"]\r\n },\r\n {\r\n \"name\": \"Rhode Island\",\r\n \"cities\": [\"Providence\", \"Warwick\", \"Cranston\", \"Pawtucket\"]\r\n },\r\n {\r\n \"name\": \"South Carolina\",\r\n \"cities\": [\"Columbia\", \"Charleston\", \"North Charleston\", \"Mount Pleasant\"]\r\n },\r\n {\r\n \"name\": \"South Dakota\",\r\n \"cities\": [\"Sioux Falls\", \"Rapid City\", \"Aberdeen\", \"Brookings\"]\r\n },\r\n {\r\n \"name\": \"Tennessee\",\r\n \"cities\": [\"Nashville\", \"Memphis\", \"Knoxville\", \"Chattanooga\"]\r\n },\r\n {\r\n \"name\": \"Texas\",\r\n \"cities\": [\"Houston\", \"Dallas\", \"Austin\", \"San Antonio\"]\r\n },\r\n {\r\n \"name\": \"Utah\",\r\n \"cities\": [\"Salt Lake City\", \"West Valley City\", \"Provo\", \"Orem\"]\r\n },\r\n {\r\n \"name\": \"Virginia\",\r\n \"cities\": [\"Virginia Beach\", \"Norfolk\", \"Chesapeake\", \"Richmond\"]\r\n },\r\n {\r\n \"name\": \"Virgin Islands\",\r\n \"cities\": [\"Charlotte Amalie\", \"Saint Thomas\", \"Saint John\", \"Saint Croix\"]\r\n },\r\n {\r\n \"name\": \"Vermont\",\r\n \"cities\": [\"Burlington\", \"South Burlington\", \"Rutland\", \"Montpelier\"]\r\n },\r\n {\r\n \"name\": \"Washington\",\r\n \"cities\": [\"Seattle\", \"Tacoma\", \"Spokane\", \"Vancouver\"]\r\n },\r\n {\r\n \"name\": \"Wisconsin\",\r\n \"cities\": [\"Milwaukee\", \"Madison\", \"Green Bay\", \"Kenosha\"]\r\n },\r\n {\r\n \"name\": \"West Virginia\",\r\n \"cities\": [\"Charleston\", \"Huntington\", \"Parkersburg\", \"Morgantown\"]\r\n },\r\n {\r\n \"name\": \"Wyoming\",\r\n \"cities\": [\"Cheyenne\", \"Casper\", \"Laramie\", \"Gillette\"]\r\n }\r\n ]\r\n \r\n return states\r\n}\r\n","// Copyright 2023, Avation Medical. All rights reserved.\r\n// \r\n// This code is proprietary and confidential information of Avation Medical. Any use, reproduction, modification\r\n// or distribution of the code without the express prior written consent of Avation Medical is strictly prohibited.\r\n\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { switchMap } from 'rxjs/operators';\r\nimport { AppSettingsService } from 'src/app/app-settings/app-settings.service';\r\nimport { APIQuery } from 'src/app/shared/models/api-query.interface';\r\nimport { PagedResult } from 'src/app/shared/models/paged-result.interface';\r\nimport { Subject, SubjectReport } from 'src/app/shared/models/subject';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SubjectService {\r\n\r\n constructor(private readonly http: HttpClient, private readonly appSettingsService: AppSettingsService) { }\r\n\r\n public readByUserId(userId: number) {\r\n return this.appSettingsService.appSettings$.pipe(\r\n switchMap(appSettings => this.http.get(`${appSettings.apiBaseUrl}/v1.0/subject/user/${userId}`))\r\n );\r\n }\r\n\r\n public queryReport(apiQuery?: APIQuery, userId?: number, clinicId?: number, clinicianId?: number, studyId?: number, studyGroup?: string, patientId?: string,\r\n firstName?: string, lastName?: string, email?: string, phoneNumber?: string, extension?: string, activityStart?: Date, activityEnd?: Date, maxTherapyCompliance?: number,\r\n isTestPatient?: boolean) {\r\n let params: any = { };\r\n\r\n if(!!userId) {\r\n params.userId = userId;\r\n }\r\n if(!!clinicId) {\r\n params.clinicId = clinicId;\r\n }\r\n if(!!clinicianId) {\r\n params.clinicianId = clinicianId;\r\n }\r\n if(studyId !== null) {\r\n params.studyId = studyId;\r\n }\r\n if(!!studyGroup) {\r\n params.studyGroup = studyGroup;\r\n }\r\n if(apiQuery) {\r\n params = Object.assign({}, apiQuery, params);\r\n }\r\n if(!!patientId) {\r\n params.patientId = patientId;\r\n }\r\n if(!!firstName) {\r\n params.firstName = firstName;\r\n }\r\n if(!!lastName) {\r\n params.lastName = lastName;\r\n }\r\n if(!!email) {\r\n params.email = email;\r\n }\r\n if(!!phoneNumber) {\r\n params.phoneNumber = phoneNumber;\r\n }\r\n if(!!extension) {\r\n params.extension = extension;\r\n }\r\n if(!!activityStart) {\r\n params.activityStart = activityStart.toISOString();\r\n }\r\n if(!!activityEnd) {\r\n params.activityEnd = activityEnd.toISOString();\r\n }\r\n if(!!maxTherapyCompliance) {\r\n params.maxTherapyCompliance = maxTherapyCompliance;\r\n }\r\n if(isTestPatient === true || isTestPatient === false) {\r\n params.isTestPatient = isTestPatient;\r\n }\r\n \r\n return this.appSettingsService.appSettings$.pipe(\r\n switchMap(appSettings => this.http.get>(`${appSettings.apiBaseUrl}/v1.0/subject/query/report`, {params}))\r\n );\r\n }\r\n\r\n public exportReport(apiQuery?: APIQuery, userId?: number, clinicId?: number, studyId?: number, studyGroup?: string, firstName?: string, lastName?: string, patientId?: string, clinicianId?: number) {\r\n let params: any = { };\r\n \r\n if(!!userId) {\r\n params[\"userId\"] = userId;\r\n }\r\n\r\n if(!!clinicId) {\r\n params[\"clinicId\"] = clinicId;\r\n }\r\n\r\n if(!!studyId) {\r\n params.studyId = studyId;\r\n }\r\n\r\n if(!!studyGroup) {\r\n params.studyGroup = encodeURIComponent(studyGroup);\r\n }\r\n\r\n if(!!firstName) {\r\n params.firstName = firstName;\r\n }\r\n if(!!lastName) {\r\n params.lastName = lastName;\r\n }\r\n\r\n if(!!patientId) {\r\n params.patientId = patientId;\r\n }\r\n\r\n if(!!clinicianId) {\r\n params.clinicianId = clinicianId;\r\n }\r\n \r\n if(apiQuery) {\r\n params = Object.assign({}, apiQuery, params);\r\n }\r\n \r\n return this.appSettingsService.appSettings$.pipe(\r\n switchMap(appSettings => this.http.get(`${appSettings.apiBaseUrl}/v1.0/subject/export/report`, { params, observe: 'response', responseType: 'blob' as 'json' }))\r\n );\r\n }\r\n\r\n public querySubjects(apiQuery?: APIQuery, clinicId?: number) {\r\n let params = { };\r\n \r\n if(clinicId) {\r\n params['clinicId'] = clinicId.toString()\r\n }\r\n \r\n if(apiQuery) {\r\n params = Object.assign({}, apiQuery, params);\r\n }\r\n \r\n return this.appSettingsService.appSettings$.pipe(\r\n switchMap(appSettings => this.http.get>(`${appSettings.apiBaseUrl}/v1.0/subject/querysubjects`, {params}))\r\n );\r\n }\r\n\r\n public querySubjectsReport(apiQuery?: APIQuery, userId?: number, clinicId?: number) {\r\n let params: any = { };\r\n \r\n if(userId) {\r\n params.userId = userId;\r\n }\r\n\r\n if(clinicId) {\r\n params.clinicId = clinicId;\r\n }\r\n \r\n if(apiQuery) {\r\n params = Object.assign({}, apiQuery, params);\r\n }\r\n \r\n return this.appSettingsService.appSettings$.pipe(\r\n switchMap(appSettings => this.http.get>(`${appSettings.apiBaseUrl}/v1.0/subject/query/report`, { params }))\r\n );\r\n }\r\n\r\n public queryTable(apiQuery?: APIQuery, userId?: number, clinicId?: number, clinicianId?: number, studyId?: number, studyGroup?: string, patientId?: string,\r\n firstName?: string, lastName?: string, email?: string, phoneNumber?: string, extension?: string, activityStart?: Date, activityEnd?: Date, maxTherapyCompliance?: number,\r\n isTestPatient?: boolean) {\r\n let params: any = { };\r\n\r\n if(!!userId) {\r\n params.userId = userId;\r\n }\r\n if(!!clinicId) {\r\n params.clinicId = clinicId;\r\n }\r\n if(!!clinicianId) {\r\n params.clinicianId = clinicianId;\r\n }\r\n if(studyId !== null) {\r\n params.studyId = studyId;\r\n }\r\n if(!!studyGroup) {\r\n params.studyGroup = studyGroup;\r\n }\r\n if(apiQuery) {\r\n params = Object.assign({}, apiQuery, params);\r\n }\r\n if(!!patientId) {\r\n params.patientId = patientId;\r\n }\r\n if(!!firstName) {\r\n params.firstName = firstName;\r\n }\r\n if(!!lastName) {\r\n params.lastName = lastName;\r\n }\r\n if(!!email) {\r\n params.email = email;\r\n }\r\n if(!!phoneNumber) {\r\n params.phoneNumber = phoneNumber;\r\n }\r\n if(!!extension) {\r\n params.extension = extension;\r\n }\r\n if(!!activityStart) {\r\n params.activityStart = activityStart.toISOString();\r\n }\r\n if(!!activityEnd) {\r\n params.activityEnd = activityEnd.toISOString();\r\n }\r\n if(!!maxTherapyCompliance) {\r\n params.maxTherapyCompliance = maxTherapyCompliance;\r\n }\r\n if(isTestPatient === true || isTestPatient === false) {\r\n params.isTestPatient = isTestPatient;\r\n }\r\n \r\n return this.appSettingsService.appSettings$.pipe(\r\n switchMap(appSettings => this.http.get>(`${appSettings.apiBaseUrl}/v1.0/subject/query/table`, {params}))\r\n );\r\n }\r\n\r\n public update(id: number, record: Partial): Observable {\r\n return this.appSettingsService.appSettings$.pipe(\r\n switchMap(appSettings => this.http.put(`${appSettings.apiBaseUrl}/v1.0/subject/${id}`, record))\r\n );\r\n }\r\n public updateDemographics(record: Partial): Observable {\r\n return this.appSettingsService.appSettings$.pipe(\r\n switchMap(appSettings => this.http.put(`${appSettings.apiBaseUrl}/v1.0/subject/demographics`, record))\r\n );\r\n }\r\n\r\n public create(model: any) {\r\n return this.appSettingsService.appSettings$.pipe(\r\n switchMap((appSettings) =>\r\n this.http.post(`${appSettings.apiBaseUrl}/v1.0/screening/patient`, model)\r\n )\r\n );\r\n }\r\n}\r\n","// Copyright 2023, Avation Medical. All rights reserved.\r\n// \r\n// This code is proprietary and confidential information of Avation Medical. Any use, reproduction, modification\r\n// or distribution of the code without the express prior written consent of Avation Medical is strictly prohibited.\r\n\r\nimport { Component, OnInit, Inject } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { StatusPopupDialogData } from '../../dialog-data.interface';\r\n\r\n\r\n@Component({\r\n selector: 'app-add-record',\r\n templateUrl: './status-popup.component.html',\r\n styleUrls: ['./status-popup.component.scss'],\r\n})\r\nexport class StatusPopupComponent implements OnInit {\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: StatusPopupDialogData\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n setTimeout(() => {\r\n this.dialogRef.close();\r\n },2500);\r\n }\r\n get textColor() {\r\n return this.data.color ? 'red' : '#039855';\r\n }\r\n}\r\n","\r\n\r\n
\r\n \r\n \r\n

\r\n {{ data.message }}\r\n

\r\n
\r\n \r\n
\r\n
\r\n","// Copyright 2023, Avation Medical. All rights reserved.\r\n// \r\n// This code is proprietary and confidential information of Avation Medical. Any use, reproduction, modification\r\n// or distribution of the code without the express prior written consent of Avation Medical is strictly prohibited.\r\n\r\nimport { NgModule } from '@angular/core';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { AppRoutingModule } from './app-routing.module';\r\nimport { AppComponent } from './app.component';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { TokenInterceptor } from './shared/token-interceptor';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { ChartsModule } from 'ng2-charts';\r\nimport { DatePipe } from '@angular/common';\r\nimport { NgIdleModule } from '@ng-idle/core';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport { AppSettingsModule } from './app-settings/app-settings.module';\r\nimport { MatNativeDateModule } from '@angular/material/core';\r\nimport { MAT_FORM_FIELD_DEFAULT_OPTIONS, MatFormFieldDefaultOptions, MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { AcknowledgementsModule } from './ui/acknowledgements/acknowledgements.module';\r\nimport { RightResponsibilityModule } from './ui/right-responsibility/right-responsibility.module';\r\nimport { AccountComponent } from './ui/account/account.component';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { SharedModule } from './shared/shared.module';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { DeleteAcountComponent } from './ui/delete-acount/delete-account.component';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\n\r\nconst appearance: MatFormFieldDefaultOptions = {\r\n appearance: 'outline'\r\n};\r\n\r\n@NgModule({\r\n declarations: [AppComponent, AccountComponent, DeleteAcountComponent],\r\n imports: [\r\n BrowserModule,\r\n AppRoutingModule,\r\n BrowserAnimationsModule,\r\n HttpClientModule,\r\n FormsModule,\r\n ChartsModule,\r\n NgIdleModule.forRoot(),\r\n MatDialogModule,\r\n AppSettingsModule.forRoot(),\r\n MatNativeDateModule,\r\n MatButtonModule,\r\n AcknowledgementsModule,\r\n RightResponsibilityModule,\r\n MatIconModule,\r\n SharedModule,\r\n MatFormFieldModule,\r\n ReactiveFormsModule,\r\n MatInputModule,\r\n MatCheckboxModule\r\n ],\r\n providers: [\r\n DatePipe,\r\n {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: TokenInterceptor,\r\n multi: true,\r\n },\r\n {\r\n provide: MAT_FORM_FIELD_DEFAULT_OPTIONS,\r\n useValue: appearance\r\n }\r\n ],\r\n bootstrap: [AppComponent],\r\n})\r\nexport class AppModule {}\r\n","// Copyright 2023, Avation Medical. All rights reserved.\r\n// \r\n// This code is proprietary and confidential information of Avation Medical. Any use, reproduction, modification\r\n// or distribution of the code without the express prior written consent of Avation Medical is strictly prohibited.\r\n\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\nimport { FluidUnit } from '../enums/fluid-unit';\r\n\r\n@Pipe({name: 'fluid'})\r\nexport class FluidPipe implements PipeTransform {\r\n transform(mL_value: number, unit: FluidUnit = FluidUnit.milliliters): number {\r\n let retval = mL_value;\r\n if (unit == FluidUnit.ounces) {\r\n retval = mL_value / 30;\r\n }\r\n else if (unit == FluidUnit.cups) {\r\n retval = mL_value / 240;\r\n }\r\n return +(retval.toFixed(2));\r\n }\r\n}","// Copyright 2023, Avation Medical. All rights reserved.\r\n// \r\n// This code is proprietary and confidential information of Avation Medical. Any use, reproduction, modification\r\n// or distribution of the code without the express prior written consent of Avation Medical is strictly prohibited.\r\n\r\nimport { Injectable } from '@angular/core';\r\nimport html2canvas from 'html2canvas';\r\nimport jspdf from 'jspdf';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ReportService {\r\n\r\n userDetails: any;\r\n callbackFunction: Observable;\r\n filters: string[] = [];\r\n columns: string[] = [];\r\n metadata: object = {};\r\n\r\n constructor() { }\r\n\r\n exportReportAsImage() {\r\n html2canvas(document.querySelector(\"#report\")).then((canvas) => {\r\n const margin = [10, 10];\r\n\r\n var pdf = new jspdf('p', 'mm', 'a4');\r\n var pageWidth = pdf.internal.pageSize.getWidth();\r\n var pageHeight = pdf.internal.pageSize.getHeight();\r\n var innerPageWidth = pageWidth - margin[0] * 2;\r\n var innerPageHeight = pageHeight - margin[1] * 2;\r\n\r\n // Calculate the number of pages.\r\n var pxFullHeight = canvas.height;\r\n var pxPageHeight = Math.floor(canvas.width * (pageHeight / pageWidth));\r\n var nPages = Math.ceil(pxFullHeight / pxPageHeight);\r\n\r\n // Define pageHeight separately so it can be trimmed on the final page.\r\n var pageHeight = innerPageHeight;\r\n\r\n // Create a one-page canvas to split up the full image.\r\n var pageCanvas = document.createElement('canvas');\r\n var pageCtx = pageCanvas.getContext('2d');\r\n pageCanvas.width = canvas.width;\r\n pageCanvas.height = pxPageHeight;\r\n\r\n for (var page = 0; page < nPages; page++) {\r\n // Trim the final page to reduce file size.\r\n if (page === nPages - 1 && pxFullHeight % pxPageHeight !== 0) {\r\n pageCanvas.height = pxFullHeight % pxPageHeight;\r\n pageHeight = (pageCanvas.height * innerPageWidth) / pageCanvas.width;\r\n }\r\n\r\n // Display the page.\r\n var w = pageCanvas.width;\r\n var h = pageCanvas.height;\r\n pageCtx.fillStyle = 'white';\r\n pageCtx.fillRect(0, 0, w, h);\r\n pageCtx.drawImage(canvas, 0, page * pxPageHeight, w, h, 0, 0, w, h);\r\n\r\n // Add the page to the PDF.\r\n if (page > 0) pdf.addPage();\r\n var imgData = pageCanvas.toDataURL('image/PNG');\r\n pdf.addImage(imgData, 'PNG', margin[1], margin[0], innerPageWidth, pageHeight);\r\n }\r\n\r\n pdf.save('report.pdf');\r\n });\r\n }\r\n\r\n exportReport() {\r\n const margin = [10, 10];\r\n const htmlElement = document.querySelector(\"#report\") as HTMLElement;\r\n\r\n const pdf = new jspdf('p', 'mm', 'a4');\r\n\r\n pdf.html(htmlElement, {\r\n margin: margin,\r\n html2canvas: {\r\n letterRendering: true,\r\n scale: .2,\r\n },\r\n callback: function(pdf) {\r\n pdf.save('report.pdf');\r\n }\r\n });\r\n }\r\n\r\n setUserDetails(details: any) {\r\n this.userDetails = details;\r\n }\r\n\r\n getUserDetails() {\r\n return this.userDetails;\r\n }\r\n\r\n setCallback(fn: any): void {\r\n this.callbackFunction = fn;\r\n }\r\n\r\n getCallback(): Observable {\r\n return this.callbackFunction;\r\n }\r\n\r\n setFilters(filters: string[]) {\r\n this.filters = filters;\r\n }\r\n\r\n getFilterStr(): string {\r\n return this.filters.join(', ');\r\n }\r\n\r\n setColumns(columns: string[]) {\r\n this.columns = columns;\r\n }\r\n\r\n getColumns(): string[] {\r\n return this.columns\r\n }\r\n\r\n setMetadata(key: string, value: any) {\r\n this.metadata[key] = value;\r\n }\r\n\r\n getMetadata(key: string): any {\r\n return this.metadata[key];\r\n }\r\n}\r\n","import { AuthService } from 'src/app/core/services/auth.service';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Component, Input, OnInit } from '@angular/core';\r\nimport { version } from 'package.json';\r\nimport { Observable, of } from 'rxjs';\r\nimport { catchError, map, switchMap } from 'rxjs/operators';\r\nimport { AppSettingsService } from 'src/app/app-settings/app-settings.service';\r\nimport { Navigation } from 'src/app/shared/enums/navigation';\r\nimport { LocationService } from 'src/app/core/services/location.service';\r\n\r\n@Component({\r\n selector: 'vivally-footer',\r\n templateUrl: './footer.component.html',\r\n styleUrls: ['./footer.component.scss']\r\n})\r\nexport class FooterComponent implements OnInit {\r\n @Input() showLinks: boolean = true;\r\n appVersion: string = '';\r\n location$: Observable;\r\n pageType= Navigation.Login;\r\n copyrightYear: number = new Date().getFullYear();\r\n\r\n apiVersion$: Observable;\r\n showAccount: boolean = false;\r\n\r\n constructor(private http: HttpClient, private appSettingsService: AppSettingsService, private readonly authService: AuthService, private readonly navigationService: LocationService,) { }\r\n\r\n ngOnInit(): void {\r\n this.location$ = this.navigationService.getLocation();\r\n this.appVersion = version;\r\n\r\n this.apiVersion$ = this.appSettingsService.appSettings$.pipe(\r\n switchMap(appSettings => this.http.get(`${appSettings.apiBaseUrl}/version`, {responseType: 'text'})),\r\n map(version => version.split('.').slice(0, 3).join('.')),\r\n catchError(err => of(''))\r\n );\r\n this.showAccountDeletion();\r\n }\r\n\r\n showAccountDeletion() {\r\n this.location$.subscribe((loc) => {\r\n this.showAccount = loc === this.pageType;\r\n });\r\n }\r\n\r\n public isPatient() {\r\n if (this.authService.getRoles().includes('Patient')) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n Privacy Policy\r\n Terms of Use\r\n Contact\r\n Acknowledgements\r\n Account\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n In the event your complaint is not resolved to your satisfaction you can contact our accrediting organization The Compliance Team at www.thecomplianceteam.org or by calling 1-888-291-5353.\r\n \r\n \r\n

If you want to delete your Vivally System account, please send a request to customercare@avation.com\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Vivally™ Cloud, VCG-WPN01, v{{ appVersion }}, API v{{apiVersion$ | async}}\r\n Copyright {{copyrightYear}} © Avation Medical\r\n
\r\n
","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { switchMap } from 'rxjs/operators';\r\nimport { AppSettingsService } from 'src/app/app-settings/app-settings.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class RightResponsibilityService {\r\n\r\n constructor(private appSettingsService: AppSettingsService, private httpClient: HttpClient) { }\r\n \r\n getRightResponsibilityHtml() {\r\n return this.appSettingsService.appSettings$.pipe(switchMap(appSettings => this.httpClient.get<{html: string}>(`${appSettings.apiBaseUrl}/v1/patientrightsandresponsibility`)));\r\n }\r\n}\r\n","\r\n\r\n
\r\n
\r\n \r\n
\r\n\r\n \r\n\r\n
\r\n \r\n
\r\n Vivally™ Cloud, VCG-WPN01, 2.0.0.32-staging, Copyright 2022 © Avation Medical\r\n
\r\n
\r\n
","// Copyright 2023, Avation Medical. All rights reserved.\r\n// \r\n// This code is proprietary and confidential information of Avation Medical. Any use, reproduction, modification\r\n// or distribution of the code without the express prior written consent of Avation Medical is strictly prohibited.\r\n\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { Platform } from '@angular/cdk/platform';\r\n\r\n@Component({\r\n selector: 'get-the-app',\r\n templateUrl: './get-the-app.component.html',\r\n styleUrls: ['./get-the-app.component.scss']\r\n})\r\nexport class GetTheAppComponent implements OnInit {\r\n displayPage: boolean = false;\r\n\r\n readonly link_iOS: string = 'https://apps.apple.com/us/app/vivally/id1585689224';\r\n readonly link_android: string = 'https://play.google.com/store/apps/details?id=com.avation.vivally';\r\n\r\n constructor(\r\n private readonly platform: Platform,\r\n ) \r\n { }\r\n\r\n ngOnInit(): void {\r\n if (this.platform.IOS) {\r\n window.location.href = 'https://apps.apple.com/us/app/vivally/id1585689224';\r\n }\r\n else if (this.platform.ANDROID) {\r\n window.location.href = 'https://play.google.com/store/apps/details?id=com.avation.vivally';\r\n // window.open('market://details?id=com.avation.vivally', '_system');\r\n }\r\n else {\r\n this.displayPage = true;\r\n }\r\n }\r\n}\r\n","// Copyright 2023, Avation Medical. All rights reserved.\r\n// \r\n// This code is proprietary and confidential information of Avation Medical. Any use, reproduction, modification\r\n// or distribution of the code without the express prior written consent of Avation Medical is strictly prohibited.\r\n\r\nimport { DatePipe } from '@angular/common';\r\nimport { Component, Input, OnChanges, OnInit } from '@angular/core';\r\nimport { ChartDataSets, ChartOptions } from \"chart.js\";\r\nimport { Label } from 'ng2-charts';\r\n\r\n@Component({\r\n selector: 'drinks-history-graph',\r\n templateUrl: './drinks-history-graph.component.html',\r\n})\r\nexport class DrinksHistoryGraph implements OnInit, OnChanges {\r\n public chartType: string = 'bar';\r\n public chartData: ChartDataSets[];\r\n public chartLabels: Label[];\r\n public chartOptions: (ChartOptions);\r\n public chartPlugins = [];\r\n\r\n @Input('data')\r\n data: any[];\r\n\r\n constructor(\r\n private readonly datePipe: DatePipe,\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.createChart();\r\n }\r\n\r\n ngOnChanges(changes) {\r\n if (changes.data) {\r\n this.createChart();\r\n }\r\n }\r\n\r\n createChart() {\r\n var data = this.data.slice().sort((a, b) => {\r\n return new Date(a.date) > new Date(b.date) ? 1 : -1;\r\n });\r\n\r\n this.chartLabels = data.map(journalEntry => this.datePipe.transform(journalEntry.date, 'MMM d'));\r\n this.chartData = [\r\n {\r\n label: 'Water and Other',\r\n data: data.map(journalEntry => journalEntry.drinksWaterOther),\r\n borderColor: '#BFDC99',\r\n backgroundColor: '#BFDC99',\r\n hoverBackgroundColor: '#BFDC99'\r\n },\r\n {\r\n label: 'Caffeinated',\r\n data: data.map(journalEntry => journalEntry.drinksCaffeinated),\r\n borderColor: '#76BC21',\r\n backgroundColor: '#76BC21',\r\n hoverBackgroundColor: '#76BC21'\r\n },\r\n {\r\n label: 'Alcohol',\r\n data: data.map(journalEntry => journalEntry.drinksAlcohol),\r\n borderColor: '#408816',\r\n backgroundColor: '#408816',\r\n hoverBackgroundColor: '#408816'\r\n },\r\n ];\r\n this.chartOptions = {\r\n responsive: true,\r\n legend: {\r\n display: true\r\n },\r\n scales: {\r\n xAxes: [\r\n {\r\n stacked: true,\r\n },\r\n ],\r\n yAxes: [\r\n {\r\n ticks: {\r\n precision: 0,\r\n beginAtZero: true,\r\n autoSkip: true,\r\n maxTicksLimit: 20,\r\n },\r\n stacked: true\r\n }\r\n ],\r\n }\r\n };\r\n\r\n this.chartPlugins = [{\r\n // ChartJS background color is transparent by default. This sets it to white for the pdf export\r\n beforeDraw: function(chartInstance) {\r\n var ctx = chartInstance.ctx;\r\n ctx.fillStyle = \"white\";\r\n ctx.fillRect(0, 0, chartInstance.width, chartInstance.height);\r\n }\r\n }];\r\n }\r\n}","\r\n\r\n
\r\n \r\n
","// Copyright 2023, Avation Medical. All rights reserved.\r\n// \r\n// This code is proprietary and confidential information of Avation Medical. Any use, reproduction, modification\r\n// or distribution of the code without the express prior written consent of Avation Medical is strictly prohibited.\r\n\r\nimport { FocusMonitor } from '@angular/cdk/a11y';\r\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\r\nimport { Component, ElementRef, Inject, Input, OnDestroy, Optional, Self, ViewChild } from '@angular/core';\r\nimport { AbstractControl, ControlValueAccessor, FormBuilder, FormGroup, NgControl, Validators } from '@angular/forms';\r\nimport { MAT_FORM_FIELD, MatFormField, MatFormFieldControl } from '@angular/material/form-field';\r\nimport { Subject } from 'rxjs';\r\nimport { integerValidator } from '../../validators';\r\nimport { PhoneNumber } from '../../classes/phone-number';\r\n\r\n\r\n@Component({\r\n selector: 'phone-number-input',\r\n templateUrl: 'phone-number-input.component.html',\r\n styleUrls: ['phone-number-input.component.scss'],\r\n providers: [{provide: MatFormFieldControl, useExisting: PhoneNumberInput}],\r\n host: {\r\n '[class.example-floating]': 'shouldLabelFloat',\r\n '[id]': 'id',\r\n },\r\n})\r\nexport class PhoneNumberInput implements ControlValueAccessor, MatFormFieldControl, OnDestroy {\r\n static nextId = 0;\r\n @ViewChild('area') areaInput: HTMLInputElement;\r\n @ViewChild('exchange') exchangeInput: HTMLInputElement;\r\n @ViewChild('subscriber') subscriberInput: HTMLInputElement;\r\n @ViewChild('extension') extensionInput: HTMLInputElement;\r\n\r\n parts: FormGroup;\r\n stateChanges = new Subject();\r\n focused = false;\r\n enableExtension = true;\r\n controlType = 'phone-number-input';\r\n id = `phone-number-input-${PhoneNumberInput.nextId++}`;\r\n onChange = (_: any) => {};\r\n onTouched = () => {};\r\n\r\n get empty() {\r\n const {\r\n value: {area, exchange, subscriber, extension},\r\n } = this.parts;\r\n\r\n return !area && !exchange && !subscriber && !extension;\r\n }\r\n\r\n get shouldLabelFloat() {\r\n return this.focused || !this.empty;\r\n }\r\n\r\n @Input('aria-describedby') userAriaDescribedBy: string;\r\n\r\n @Input()\r\n get placeholder(): string {\r\n return this._placeholder;\r\n }\r\n set placeholder(value: string) {\r\n this._placeholder = value;\r\n this.stateChanges.next();\r\n }\r\n private _placeholder: string;\r\n\r\n @Input()\r\n get required(): boolean {\r\n return this._required;\r\n }\r\n set required(value: boolean) {\r\n this._required = coerceBooleanProperty(value);\r\n this.stateChanges.next();\r\n }\r\n private _required = false;\r\n\r\n @Input()\r\n get disabled(): boolean {\r\n return this._disabled;\r\n }\r\n set disabled(value: boolean) {\r\n this._disabled = coerceBooleanProperty(value);\r\n this._disabled ? this.parts.disable() : this.parts.enable();\r\n this.stateChanges.next();\r\n }\r\n private _disabled = false;\r\n\r\n @Input()\r\n get value(): PhoneNumber | null {\r\n if (this.empty) {\r\n return null;\r\n }\r\n\r\n const {\r\n value: {area, exchange, subscriber, extension},\r\n } = this.parts;\r\n return new PhoneNumber(area, exchange, subscriber, extension);\r\n }\r\n set value(tel: PhoneNumber | null) {\r\n if (typeof tel === 'string') {\r\n tel = PhoneNumber.fromString(tel);\r\n }\r\n const {area, exchange, subscriber, extension} = tel || new PhoneNumber('', '', '');\r\n this.parts.setValue({area, exchange, subscriber, extension});\r\n this.stateChanges.next();\r\n }\r\n\r\n @Input()\r\n get ext() {\r\n return this.enableExtension;\r\n }\r\n set ext(e) {\r\n this.enableExtension = typeof e !== 'string' ? e : e === 'true';\r\n if (!this.enableExtension) {\r\n this.parts.controls['extension'].disable();\r\n }\r\n this.stateChanges.next();\r\n }\r\n\r\n get errorState(): boolean {\r\n const newState = (this.ngControl?.invalid || (this.parts.invalid && !this.empty)) && this.ngControl.touched;\r\n\r\n if (this._errorState !== newState) {\r\n this._errorState = newState;\r\n this.stateChanges.next();\r\n }\r\n return this._errorState;\r\n }\r\n private _errorState = false;\r\n\r\n \r\n constructor(\r\n formBuilder: FormBuilder,\r\n private readonly _focusMonitor: FocusMonitor,\r\n private readonly _elementRef: ElementRef,\r\n @Optional() @Inject(MAT_FORM_FIELD) public _formField: MatFormField,\r\n @Optional() @Self() public ngControl: NgControl,\r\n ) {\r\n this.parts = formBuilder.group({\r\n area: [null, [Validators.required, Validators.minLength(3), Validators.maxLength(3), integerValidator()]],\r\n exchange: [null, [Validators.required, Validators.minLength(3), Validators.maxLength(3), integerValidator()]],\r\n subscriber: [null, [Validators.required, Validators.minLength(4), Validators.maxLength(4), integerValidator()]],\r\n extension: [null, [integerValidator()]]\r\n });\r\n\r\n if (this.ngControl != null) {\r\n this.ngControl.valueAccessor = this;\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n this.stateChanges.complete();\r\n this._focusMonitor.stopMonitoring(this._elementRef);\r\n }\r\n\r\n onFocusIn(event: FocusEvent) {\r\n if (!this.focused) {\r\n let target = event.target as HTMLInputElement;\r\n target.select();\r\n \r\n this.focused = true;\r\n this.stateChanges.next();\r\n }\r\n }\r\n\r\n onFocusOut(event: FocusEvent) {\r\n if (!this._elementRef.nativeElement.contains(event.relatedTarget as Element)) {\r\n this.focused = false;\r\n this.onTouched();\r\n this.stateChanges.next();\r\n }\r\n }\r\n\r\n autoFocusNext(control: AbstractControl, nextElement?: HTMLInputElement): void {\r\n if (control.value && !control.errors && nextElement) {\r\n this._focusMonitor.focusVia(nextElement, 'program');\r\n nextElement.select();\r\n }\r\n }\r\n\r\n autoFocusPrev(control: AbstractControl, prevElement: HTMLInputElement): void {\r\n if (control && control.value.length < 1) {\r\n this._focusMonitor.focusVia(prevElement, 'program');\r\n prevElement.select();\r\n }\r\n }\r\n\r\n setDescribedByIds(ids: string[]) {\r\n const controlElement = this._elementRef.nativeElement.querySelector(\r\n '.phone-number-input-container',\r\n )!;\r\n controlElement.setAttribute('aria-describedby', ids.join(' '));\r\n }\r\n\r\n onContainerClick(event: MouseEvent) {\r\n if (this.parts.valid && !this.empty) {\r\n return;\r\n }\r\n\r\n if (this.parts.controls.extension.value && this.parts.controls.extension.valid) {\r\n this._focusMonitor.focusVia(this.extensionInput, 'program');\r\n } else if (this.parts.controls.subscriber.value && this.parts.controls.subscriber.valid) {\r\n this._focusMonitor.focusVia(this.extensionInput, 'program');\r\n } else if (this.parts.controls.exchange.value && this.parts.controls.exchange.valid) {\r\n this._focusMonitor.focusVia(this.subscriberInput, 'program');\r\n } else if (this.parts.controls.area.value && this.parts.controls.area.valid) {\r\n this._focusMonitor.focusVia(this.exchangeInput, 'program');\r\n } else {\r\n this._focusMonitor.focusVia(this.areaInput, 'program');\r\n }\r\n }\r\n\r\n writeValue(tel: PhoneNumber | null): void {\r\n this.value = tel;\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n setDisabledState(isDisabled: boolean): void {\r\n this.disabled = isDisabled;\r\n }\r\n\r\n _handleInput(control: AbstractControl, nextElement?: HTMLInputElement): void {\r\n this.autoFocusNext(control, nextElement);\r\n this.onChange(this.value);\r\n }\r\n}\r\n","\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n ext\r\n \r\n
\r\n","// Copyright 2023, Avation Medical. All rights reserved.\r\n// \r\n// This code is proprietary and confidential information of Avation Medical. Any use, reproduction, modification\r\n// or distribution of the code without the express prior written consent of Avation Medical is strictly prohibited.\r\n\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\nimport { PhoneNumber } from '../classes/phone-number';\r\n\r\n@Pipe({name: 'phoneNumber'})\r\nexport class PhoneNumberPipe implements PipeTransform {\r\n transform(value: string | PhoneNumber, ext: string = null): string {\r\n if (typeof value === 'string') {\r\n value = PhoneNumber.fromString(value);\r\n }\r\n if(value) {\r\n value.extension = ext;\r\n return value.toString();\r\n }\r\n return null;\r\n }\r\n}","// Copyright 2023, Avation Medical. All rights reserved.\r\n// \r\n// This code is proprietary and confidential information of Avation Medical. Any use, reproduction, modification\r\n// or distribution of the code without the express prior written consent of Avation Medical is strictly prohibited.\r\n\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({name: 'foot'})\r\nexport class FootPipe implements PipeTransform {\r\n transform(value: number, bothFeet: boolean = false): string {\r\n var footStr = (value === 0 ? 'Left' : '') + (value === 1 ? 'Right' : '') + (value === 2 ? 'Left + Right' : '');\r\n if (bothFeet) {\r\n footStr = 'Left + Right';\r\n }\r\n return footStr;\r\n }\r\n}","// Copyright 2023, Avation Medical. All rights reserved.\r\n// \r\n// This code is proprietary and confidential information of Avation Medical. Any use, reproduction, modification\r\n// or distribution of the code without the express prior written consent of Avation Medical is strictly prohibited.\r\n\r\nimport { Component, OnInit, Input, OnChanges, SimpleChanges, Inject } from '@angular/core';\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\r\nimport { BehaviorSubject, combineLatest, Observable, of } from 'rxjs';\r\nimport { skipWhile, switchMap, tap } from 'rxjs/operators';\r\nimport { ProductService } from 'src/app/core/http/product/product.service';\r\nimport { UserService } from 'src/app/core/http/user/user.service';\r\nimport { LocationService } from 'src/app/core/services/location.service';\r\nimport { AuthService } from './../../../core/services/auth.service';\r\n\r\n\r\n@Component({\r\n selector: 'app-receipt',\r\n templateUrl: './receipt.component.html',\r\n styleUrls: ['./receipt.component.scss']\r\n})\r\nexport class ReceiptComponent implements OnInit, OnChanges {\r\n @Input() receiptId\r\n receipt$: Observable;\r\n userDetails$: Observable\r\n subscription$: Observable\r\n invoices$: Observable\r\n dataSource: Array = []\r\n subscriptionId:string\r\n\r\n\r\n\r\n constructor(\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private readonly productService: ProductService,\r\n private readonly userService: UserService,\r\n private readonly navigationService: LocationService,\r\n private dialogRef: MatDialogRef,\r\n private readonly authService: AuthService,\r\n ) { }\r\n\r\n userDetailsLoadedSubject = new BehaviorSubject(false);\r\n get everythingLoaded$() {\r\n return combineLatest([\r\n this.userDetailsLoadedSubject\r\n ]).pipe(skipWhile(([x]) => !x));\r\n }\r\n\r\n ngOnInit(): void {\r\n this.loadUser()\r\n this.getSubscription()\r\n this.getInvoices()\r\n\r\n\r\n }\r\n\r\n isCustomerAdmin() {\r\n return this.authService.hasRole(['Admin', 'CustomerCare']);\r\n }\r\n\r\n\r\n loadUser() {\r\n this.userDetails$ = this.userService\r\n .getMyUser()\r\n .pipe(\r\n switchMap((res) => {\r\n this.navigationService.setPatientUserId(res.id)\r\n this.userDetailsLoadedSubject.next(true)\r\n return of(res.id)\r\n }));\r\n }\r\n\r\n download(subscriptionId,invoiceId){\r\n this.productService.downloadInvoicePdf(subscriptionId,invoiceId,this.navigationService.patientUserId,this.data.orderId,'subscription',this.data.orderId)\r\n }\r\n\r\n getSubscription() {\r\n this.subscription$ = this.userDetails$.pipe(\r\n switchMap(() => {\r\n if (this.isCustomerAdmin()) {\r\n return this.productService.getSubscriptions(null, this.data.orderId, null, null)\r\n }else{\r\n return this.productService.getSubscriptions(null, this.data.orderId, null, this.navigationService.patientUserId)\r\n }\r\n }),\r\n tap((pageResult) => {\r\n return pageResult.records[0]\r\n })\r\n )\r\n }\r\n\r\n getInvoices() {\r\n this.invoices$ = this.subscription$.pipe(\r\n switchMap((subscription) => {\r\n this.subscriptionId=subscription.records[0].subscriptionId\r\n return this.productService.getSubscription(subscription.records[0].subscriptionId, this.navigationService.patientUserId)\r\n\r\n }),\r\n tap((response) => {\r\n response.subscription.invoice_ids.map((invoiceId) => {\r\n this.productService.getInvoice(invoiceId, this.navigationService.patientUserId).toPromise().then((res: any) => {\r\n this.dataSource = [...this.dataSource, res].sort((a: any, b: any) => { return a.created_at > b.created_at ? 1 : -1 })\r\n })\r\n\r\n })\r\n return this.dataSource\r\n })\r\n )\r\n }\r\n cancel(){\r\n this.dialogRef.close()\r\n }\r\n ngOnChanges(changes: SimpleChanges): void {\r\n }\r\n\r\n\r\n}\r\n","\r\n\r\n
\r\n
\r\n \r\n Download Monthly Invoices\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{invoice.updated_at |date: 'MMM d, yyyy HH:mm:ss'}}\r\n Download\r\n
\r\n
\r\n {{invoice.updated_at |date: 'MMM d, yyyy HH:mm:ss'}}\r\n Pay Now\r\n
\r\n
\r\n
\r\n
\r\n Last Invoice\r\n Download\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
","// Copyright 2023, Avation Medical. All rights reserved.\r\n// \r\n// This code is proprietary and confidential information of Avation Medical. Any use, reproduction, modification\r\n// or distribution of the code without the express prior written consent of Avation Medical is strictly prohibited.\r\n\r\nimport { Component, Inject, OnInit } from '@angular/core';\r\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { DeleteConfirmDialogData } from '../../dialog-data.interface';\r\n\r\n@Component({\r\n selector: 'app-delete-confirm-dialog',\r\n templateUrl: './delete-confirm-dialog.component.html',\r\n styleUrls: ['./delete-confirm-dialog.component.scss']\r\n})\r\nexport class DeleteConfirmDialogComponent implements OnInit {\r\n\r\n constructor(@Inject(MAT_DIALOG_DATA) public data: DeleteConfirmDialogData) {}\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","\r\n\r\n
\r\n

Delete {{data.name}}?

\r\n Are you sure you want to delete {{data.name}}?\r\n \r\n \r\n \r\n \r\n
\r\n","// Copyright 2023, Avation Medical. All rights reserved.\r\n// \r\n// This code is proprietary and confidential information of Avation Medical. Any use, reproduction, modification\r\n// or distribution of the code without the express prior written consent of Avation Medical is strictly prohibited.\r\n\r\nimport { Pipe, PipeTransform } from \"@angular/core\";\r\n\r\n@Pipe({\r\n name: 'enumToArray'\r\n})\r\nexport class EnumToArrayPipe implements PipeTransform {\r\n transform(data: Object) {\r\n const keys = Object.keys(data);\r\n return keys.slice(keys.length / 2);\r\n }\r\n}","// Copyright 2023, Avation Medical. All rights reserved.\r\n// \r\n// This code is proprietary and confidential information of Avation Medical. Any use, reproduction, modification\r\n// or distribution of the code without the express prior written consent of Avation Medical is strictly prohibited.\r\n\r\nimport { Injectable } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { distinct, distinctUntilChanged } from 'rxjs/operators';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PageLoadingService {\r\n private loadingSubject = new BehaviorSubject(false);\r\n private loads: number = 0;\r\n \r\n constructor() { }\r\n \r\n public get loading$() {\r\n return this.loadingSubject.asObservable().pipe(distinctUntilChanged());\r\n }\r\n\r\n public start() {\r\n this.loads++;\r\n this.update();\r\n }\r\n\r\n public end() {\r\n this.loads--;\r\n this.update();\r\n }\r\n\r\n public clear() {\r\n this.loads = 0;\r\n this.update();\r\n }\r\n\r\n private update() {\r\n if(this.loads > 0) {\r\n this.loadingSubject.next(true);\r\n }\r\n else {\r\n this.loadingSubject.next(false);\r\n }\r\n }\r\n\r\n}\r\n","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\r\n\r\n@Component({\r\n selector: 'app-error-popup',\r\n templateUrl: './error-popup.component.html',\r\n styleUrls: ['./error-popup.component.scss']\r\n})\r\nexport class ErrorPopupComponent implements OnInit {\r\n title: string;\r\n footerTitle: string;\r\n secondaryBtnName: string;\r\n primaryBtnName: string;\r\n onClick: () => void;\r\n missingFields:any[]=[]\r\n // secondaryBtnFunction: () => void;\r\n\r\n constructor(\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.title = this.data.title;\r\n this.footerTitle = this.data.footerTitle;\r\n this.secondaryBtnName = this.data.secondaryBtnName;\r\n this.primaryBtnName = this.data.primaryBtnName;\r\n this.onClick = this.data.primaryBtnFunction;\r\n this.missingFields=this.data.missingFields\r\n // this.secondaryBtnFunction = this.data.secondaryBtnFunction;\r\n }\r\n\r\n}\r\n","\r\n\r\n
\r\n \r\n

{{ title }}

\r\n
\r\n One or more mandatory Rx fields are missing:\r\n
{{field.fieldName}}
\r\n
\r\n
\r\n

{{ footerTitle }}

\r\n
\r\n \r\n \r\n
\r\n
\r\n
","// Copyright 2023, Avation Medical. All rights reserved.\r\n// \r\n// This code is proprietary and confidential information of Avation Medical. Any use, reproduction, modification\r\n// or distribution of the code without the express prior written consent of Avation Medical is strictly prohibited.\r\n\r\nimport { Injectable } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { FluidUnit } from 'src/app/shared/enums/fluid-unit';\r\nimport { Navigation } from 'src/app/shared/enums/navigation';\r\n\r\n\r\nexport interface SortDetails {\r\n active: string;\r\n direction: string;\r\n}\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class UserSettingsService {\r\n navToggle: string = 'dehaze';\r\n\r\n private sidebarOpenSubject = new BehaviorSubject(false);\r\n sidebarOpen$ = this.sidebarOpenSubject.asObservable();\r\n\r\n fluidUnit$: BehaviorSubject = new BehaviorSubject(null);\r\n\r\n constructor() { }\r\n\r\n setSidebarOpen(isOpen: boolean) {\r\n this.sidebarOpenSubject.next(isOpen);\r\n this.navToggle = isOpen ? 'close' : 'dehaze';\r\n }\r\n\r\n private getKey(page: Navigation, key: string) {\r\n return Navigation.toString(page) + ':' + key;\r\n }\r\n\r\n pageSize(): number {\r\n return parseInt(localStorage.getItem('pageSize'));\r\n }\r\n\r\n setPageSize(size: number): void {\r\n localStorage.setItem('pageSize', size.toString());\r\n }\r\n\r\n pageIndex(page: Navigation): number {\r\n return parseInt(sessionStorage.getItem(this.getKey(page, 'pageIndex')));\r\n }\r\n\r\n setPageIndex(page: Navigation, num: number): void {\r\n sessionStorage.setItem(this.getKey(page, 'pageIndex'), num.toString());\r\n }\r\n\r\n clearPageIndex(page: Navigation): void {\r\n sessionStorage.removeItem(this.getKey(page, 'pageIndex'));\r\n }\r\n\r\n sort(page: Navigation): SortDetails {\r\n let sortCol = sessionStorage.getItem(this.getKey(page, 'sortCol'));\r\n let sortDir = sessionStorage.getItem(this.getKey(page, 'sortDir'));\r\n\r\n if (!sortCol || !sortDir) {\r\n return null;\r\n }\r\n return {active: sortCol, direction: sortDir};\r\n }\r\n\r\n setSort(page: Navigation, sort: SortDetails): void {\r\n sessionStorage.setItem(this.getKey(page, 'sortCol'), sort.active);\r\n sessionStorage.setItem(this.getKey(page, 'sortDir'), sort.direction);\r\n }\r\n\r\n clearSort(page: Navigation): void {\r\n sessionStorage.removeItem(this.getKey(page, 'sortCol'));\r\n sessionStorage.removeItem(this.getKey(page, 'sortDir'));\r\n }\r\n\r\n filters(page: Navigation): object {\r\n return JSON.parse(sessionStorage.getItem(this.getKey(page, 'filters')));\r\n }\r\n\r\n setFilters(page: Navigation, filters: object): void {\r\n sessionStorage.setItem(this.getKey(page, 'filters'), JSON.stringify(filters));\r\n }\r\n\r\n updateFilters(page: Navigation, filters: object): void {\r\n let stored = this.filters(page);\r\n if (stored === null) {\r\n stored = {};\r\n }\r\n let newFilters = Object.assign(stored, filters);\r\n this.setFilters(page, newFilters);\r\n }\r\n\r\n clearFilters(page: Navigation): void {\r\n sessionStorage.removeItem(this.getKey(page, 'filters'));\r\n }\r\n\r\n lastVisitedUser(page: Navigation): number {\r\n return parseInt(sessionStorage.getItem(this.getKey(page, 'lastVisitedUser')));\r\n }\r\n\r\n setLastVisitedUser(page: Navigation, userId: number): void {\r\n sessionStorage.setItem(this.getKey(page, 'lastVisitedUser'), userId.toString());\r\n }\r\n\r\n clearSessionStorage(): void {\r\n sessionStorage.clear();\r\n }\r\n\r\n setTab(tab):void{\r\n sessionStorage.setItem('tab',tab)\r\n }\r\n\r\n getTab(){\r\n return sessionStorage.getItem('tab')\r\n }\r\n \r\n fluidUnit(): FluidUnit {\r\n let retval = sessionStorage.getItem('fluidUnit');\r\n if (retval == null) {\r\n return FluidUnit.milliliters;\r\n }\r\n return retval;\r\n }\r\n\r\n setFluidUnit(unit: FluidUnit) {\r\n sessionStorage.setItem('fluidUnit', unit);\r\n this.fluidUnit$.next(unit);\r\n }\r\n}\r\n","\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
Report for {{patient.patientId || 'N/A'}}
\r\n
\r\n
Initial Screening: {{patient.enrollmentDate | date: 'MM/dd/yyyy':'UTC'}}
\r\n
Clinician: {{patient.clinicianName}}
\r\n
\r\n
\r\n
\r\n
Therapy Compliance: {{patient.therapyCompliance | therapyCompliance: '1.0-0'}}
\r\n
Completed Sessions: {{patient.completedSessions}}
\r\n
Target Session: {{patient.completedSessions + patient.incompleteSessions}}
\r\n
Last Completed Session: {{patient.lastSessionTime | date: 'MM/dd/yy hh:mm a':'UTC'}}
\r\n
\r\n
\r\n\r\n
\r\n

Therapy Sessions

\r\n
{{reportService.getFilterStr()}}
\r\n
\r\n
\r\n \r\n
\r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n
Therapy Session or PersonalizationPersonalizationDate\r\n \r\n {{row.eventTimestamp | dateTimeOffset: 'MMM d, y, h:mm a'}}\r\n \r\n \r\n {{row.startTime | date: 'MMM d, y, h:mm a':'UTC'}}\r\n \r\n Status{{row.isComplete | therapyStatus: row.isScreening}}Pauses{{row.isScreening ? '-' : row.pauses}}Therapy Duration{{row.isScreening ? '-' : (row.duration / 60 | number: '1.0-0') + ' Min'}}Foot{{row.foot | foot: row.bothFeet}}Therapy Schedule{{row.therapySchedule | therapySchedule}}PW at EMG Detect{{row.emgDetectionPointPulseWidth | number: '1.0-0'}}EMG Strength Target{{row.targetEMGStrength | number: '1.0-0'}}Overall EMG Detect%{{row.overallEMGDetectPercentage | number: '1.0-0'}}%Avg EMG Strength{{row.avgEMGStrength | number: '1.0-0'}}Average Stim Pulse Width{{row.avgStimPulseWidth | number: '1.0-0'}}Overall Avg Impedence{{row.overallAvgImpedance | number: '1.0-0'}}Battery Level At Start{{row.batteryLevelAtStart | batteryLevelFormat}}Prescription Needed?{{row.createPrescription ? 'Yes' : 'No'}}
No data
\r\n
\r\n\r\n","// Copyright 2023, Avation Medical. All rights reserved.\r\n// \r\n// This code is proprietary and confidential information of Avation Medical. Any use, reproduction, modification\r\n// or distribution of the code without the express prior written consent of Avation Medical is strictly prohibited.\r\n\r\nimport { DatePipe } from \"@angular/common\";\r\nimport { Component, OnInit } from \"@angular/core\";\r\nimport { ReportService } from \"src/app/core/services/report.service\";\r\nimport { APIDataSource } from \"src/app/shared/helpers/api-data-source\";\r\n\r\n\r\n@Component({\r\n selector: 'patient-therapy-report',\r\n templateUrl: './patient-therapy-report.component.html',\r\n styleUrls: ['./patient-therapy-report.component.scss']\r\n})\r\nexport class PatientTherapyReport implements OnInit {\r\n\r\n chartData: any[] = [];\r\n date: Date = new Date();\r\n dataSource: APIDataSource;\r\n patient: any;\r\n displayedColumns: string[];\r\n\r\n constructor(\r\n public readonly reportService: ReportService,\r\n public readonly datePipe: DatePipe,\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.reportService.getCallback().subscribe(res => {\r\n this.dataSource = res;\r\n this.chartData = res;\r\n });\r\n this.patient = this.reportService.getUserDetails();\r\n this.displayedColumns = this.reportService.getColumns();\r\n }\r\n}","\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
Report for {{patient.patientId || 'N/A'}}
\r\n
\r\n
Initial Screening: {{patient.enrollmentDate | date: 'MM/dd/yyyy':'UTC'}}
\r\n
Clinician: {{patient.clinicianName}}
\r\n
\r\n
\r\n
\r\n\r\n
\r\n

Individual Journal Entries Sessions

\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n
Date{{row.date | date: 'MMM d, yyyy':'UTC'}}Time-Voids{{row.restroom}}Leaks{{row.leaks}}Urge{{row.urge}}Interrupted Sleep{{row.interruptedSleep}}Change Pad/Clothing{{row.changes}}Water and Other{{row.drinksWaterOther | fluid: selectedFluidUnit}}Caffeinated{{row.drinksCaffeinated | fluid: selectedFluidUnit}}Alcohol{{row.drinksAlcohol | fluid: selectedFluidUnit}}
No data
\r\n
\r\n\r\n","// Copyright 2023, Avation Medical. All rights reserved.\r\n// \r\n// This code is proprietary and confidential information of Avation Medical. Any use, reproduction, modification\r\n// or distribution of the code without the express prior written consent of Avation Medical is strictly prohibited.\r\n\r\nimport { DatePipe } from \"@angular/common\";\r\nimport { Component, OnInit } from \"@angular/core\";\r\nimport { ReportService } from \"src/app/core/services/report.service\";\r\nimport { FluidUnit } from \"src/app/shared/enums/fluid-unit\";\r\nimport { APIDataSource } from \"src/app/shared/helpers/api-data-source\";\r\n\r\n\r\n@Component({\r\n selector: 'patient-journal-report',\r\n templateUrl: './patient-journal-report.component.html',\r\n styleUrls: ['./patient-journal-report.component.scss']\r\n})\r\nexport class PatientJournalReport implements OnInit {\r\n\r\n chartData: any[] = [];\r\n date: Date = new Date();\r\n dataSource: APIDataSource;\r\n patient: any;\r\n displayedColumns: string[];\r\n selectedFluidUnit: FluidUnit;\r\n\r\n constructor(\r\n public readonly reportService: ReportService,\r\n public readonly datePipe: DatePipe,\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.reportService.getCallback().subscribe(res => {\r\n this.dataSource = res;\r\n this.chartData = res;\r\n });\r\n this.patient = this.reportService.getUserDetails();\r\n this.displayedColumns = this.reportService.getColumns();\r\n this.selectedFluidUnit = this.reportService.getMetadata(\"selectedFluidUnit\");\r\n }\r\n}","\r\n\r\n
\r\n
\r\n close\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
Clinician Report
\r\n
{{getUsername()}}
\r\n
\r\n
\r\n
Date Created: {{date | date: 'MMM d, yyyy h:mm a'}}
\r\n
Clinic: {{clinician.clinicName}}
\r\n
Number of Patients: {{numberOfPatients}}
\r\n
\r\n
\r\n\r\n
\r\n

Snapshot Report

\r\n
{{reportService.getFilterStr()}}
\r\n
\r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n
User ID{{ row.userId }}Enrollment Date\r\n {{row.enrollmentDate | date : \"mediumDate\"}}\r\n N/A\r\n Last eDiary Entry\r\n {{row.lastDiaryDate | date : \"mediumDate\"}}\r\n N/A\r\n First Name{{ row.firstName }}Last Name{{ row.lastName }}Full Name{{ row.firstName + ' ' + row.lastName }}Date of Birth{{ row.dateOfBirth | date : \"mediumDate\" }}Patient ID{{ row.patientId || row.subjectId || \"N/A\" }}Email{{ row.email }}Patient Phone {{ row.patientPhone | phoneNumber : row.extension }}First Therapy Session{{ row.firstSessionTime | date : \"mediumDate\" }}Last Therapy Session{{ row.lastSessionTime | date : \"mediumDate\" }}Garment Size{{ row.garmentSize }}Clinician{{ row.clinicianName }}Facility{{ row.clinicName }}Therapy Schedule{{ row.therapySchedule | therapySchedule }}Foot{{ row.foot | foot }}Completed Sessions{{ row.completedSessions }}Therapy Compliance{{ row.therapyCompliance | therapyCompliance : \"1.0-0\" }}Overall EMG %{{ row.overallEMGPercent | percent : \"1.0-0\" }}Avg Stim PW{{ row.avgStimPW | number : \"1.0-0\" }}PW At EMG Detect{{ row.pwAtEMGDetect | number : \"1.0-0\" }}PW At Max Comfort{{ row.pwAtMaxComfort | number : \"1.0-0\" }}Personalization Date{{ row.lastScreeningTime | date : \"mediumDate\" }}Signed Rx Date{{ row.prescriptionDate | date : \"mediumDate\" }}
No data
\r\n
\r\n\r\n\r\n","// Copyright 2023, Avation Medical. All rights reserved.\r\n// \r\n// This code is proprietary and confidential information of Avation Medical. Any use, reproduction, modification\r\n// or distribution of the code without the express prior written consent of Avation Medical is strictly prohibited.\r\n\r\nimport { DatePipe } from \"@angular/common\";\r\nimport { Component, OnInit } from \"@angular/core\";\r\nimport { AuthService } from \"src/app/core/services/auth.service\";\r\nimport { ReportService } from \"src/app/core/services/report.service\";\r\nimport { APIDataSource } from \"src/app/shared/helpers/api-data-source\";\r\nimport { MatDialogRef } from '@angular/material/dialog';\r\n\r\n@Component({\r\n selector: 'clinician-snapshot-report',\r\n templateUrl: './clinician-snapshot-report.component.html',\r\n styleUrls: ['./clinician-snapshot-report.component.scss']\r\n})\r\nexport class ClinicianSnapshotReport implements OnInit {\r\n\r\n date: Date = new Date();\r\n dataSource: APIDataSource;\r\n clinician: any;\r\n displayedColumns: string[];\r\n numberOfPatients: number;\r\n\r\n constructor(\r\n public readonly reportService: ReportService,\r\n public readonly datePipe: DatePipe,\r\n public readonly authService: AuthService,\r\n private dialogRef: MatDialogRef\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.reportService.getCallback().subscribe(res => {\r\n this.dataSource = res;\r\n this.numberOfPatients = res.length;\r\n });\r\n this.clinician = this.reportService.getUserDetails();\r\n this.displayedColumns = this.reportService.getColumns();\r\n }\r\n\r\n getUsername() {\r\n return this.authService.getName();\r\n }\r\n\r\n closeDialog(): void {\r\n this.dialogRef.close();\r\n }\r\n}","// Copyright 2023, Avation Medical. All rights reserved.\r\n// \r\n// This code is proprietary and confidential information of Avation Medical. Any use, reproduction, modification\r\n// or distribution of the code without the express prior written consent of Avation Medical is strictly prohibited.\r\n\r\nexport function datesBetween(start: Date, end: Date) {\r\n var dates: Array = [];\r\n var curDate: Date = start;\r\n while (curDate <= end) {\r\n dates.push(curDate);\r\n curDate = new Date(curDate.getFullYear(), curDate.getMonth(), curDate.getDate()+1);\r\n }\r\n return dates;\r\n}","import { RightResponsibilityService } from 'src/app/core/services/right-responsibility.service';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';\r\nimport { AcknowledgementsService } from 'src/app/core/services/acknowledgements.service';\r\nimport { LocationService } from 'src/app/core/services/location.service';\r\nimport { Navigation } from 'src/app/shared/enums/navigation';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'app-right-responsibility',\r\n templateUrl: './right-responsibility.component.html',\r\n styleUrls: ['./right-responsibility.component.scss']\r\n})\r\nexport class RightResponsibilityComponent implements OnInit {\r\n htmlLoc$: Observable;\r\n\r\n constructor(\r\n private rightResponsibilityService: RightResponsibilityService, \r\n private readonly sanitizer: DomSanitizer, \r\n private locationService: LocationService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.locationService.setTitle('Rights And Responsibility');\r\n this.htmlLoc$ = this.rightResponsibilityService.getRightResponsibilityHtml().pipe(\r\n map(response => this.sanitizer.bypassSecurityTrustHtml(response.html))\r\n );\r\n }\r\n\r\n}\r\n","
\r\n \r\n \"avation\r\n
\r\n
\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { switchMap } from 'rxjs/operators';\r\nimport { AppSettingsService } from 'src/app/app-settings/app-settings.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AcknowledgementsService {\r\n\r\n constructor(private appSettingsService: AppSettingsService, private httpClient: HttpClient) { \r\n }\r\n\r\n getAcknowledgementsHtml() {\r\n return this.appSettingsService.appSettings$.pipe(switchMap(appSettings => this.httpClient.get<{html: string}>(`${appSettings.apiBaseUrl}/v1.0/acknowledgements`)));\r\n }\r\n}\r\n","// Copyright 2023, Avation Medical. All rights reserved.\r\n// \r\n// This code is proprietary and confidential information of Avation Medical. Any use, reproduction, modification\r\n// or distribution of the code without the express prior written consent of Avation Medical is strictly prohibited.\r\n\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable, Subject } from 'rxjs';\r\nimport { switchMap, take } from 'rxjs/operators';\r\nimport { AppSettings } from 'src/app/app-settings/app-settings';\r\nimport { AppSettingsService } from 'src/app/app-settings/app-settings.service';\r\nimport { APIQuery } from 'src/app/shared/models/api-query.interface';\r\nimport { PagedResult } from 'src/app/shared/models/paged-result.interface';\r\nimport { SubjectReport } from 'src/app/shared/models/subject';\r\nimport { UserPrescription } from 'src/app/shared/models/user-prescription';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class UserPrescriptionService {\r\n appSettings$: Observable;\r\n\r\n constructor(private readonly appSettingsService: AppSettingsService, private readonly http: HttpClient) { \r\n this.appSettings$ = appSettingsService.appSettings$;\r\n }\r\n\r\n read(id: string): Observable {\r\n return this.appSettings$.pipe(\r\n switchMap(appSettings => this.http.get(`${appSettings.apiBaseUrl}/v1/userprescriptions/${id}`))\r\n );\r\n }\r\n\r\n query(apiQuery?: APIQuery, guid?: string, userId?: number, isSoftDeleted?: boolean): Observable> \r\n {\r\n let params = { };\r\n\r\n if(guid) \r\n {\r\n params[\"guid\"] = guid.toString();\r\n }\r\n\r\n if(userId) \r\n {\r\n params[\"userId\"] = userId.toString();\r\n }\r\n\r\n if(apiQuery) \r\n {\r\n params = Object.assign({}, apiQuery, params);\r\n }\r\n\r\n if(typeof isSoftDeleted === 'boolean') \r\n {\r\n params[\"isSoftDeleted\"] = isSoftDeleted ? 'true' : 'false';\r\n }\r\n \r\n return this.appSettings$.pipe(\r\n switchMap(appSettings => this.http.get>(`${appSettings.apiBaseUrl}/v1/userprescriptions`, {params}))\r\n );\r\n }\r\n\r\n create(model: Partial, document: File, removeExisting?: boolean): Observable {\r\n let form = new FormData();\r\n\r\n if(model.fileName) {\r\n form.append('fileName', model.fileName);\r\n }\r\n\r\n if(model.userId) {\r\n form.append('userId', model.userId.toString());\r\n }\r\n\r\n if (!!removeExisting) {\r\n form.append('removeExisting', removeExisting.toString());\r\n }\r\n\r\n form.append('document', document);\r\n\r\n return this.appSettings$.pipe(\r\n switchMap(appSettings => this.http.post(`${appSettings.apiBaseUrl}/v1/userprescriptions`, form))\r\n )\r\n }\r\n\r\n getPdfTemplate(userId?: number): Observable {\r\n let params = new HttpParams();\r\n\r\n if(userId) {\r\n params = params.append('userId', userId.toString());\r\n }\r\n\r\n return this.appSettings$.pipe(\r\n switchMap(appSettings => this.http.get(`${appSettings.apiBaseUrl}/v1/userprescriptions/pdf`, {params, responseType: 'arraybuffer'}))\r\n );\r\n }\r\n\r\n getPdf(userId?: number): Observable {\r\n let params = new HttpParams();\r\n\r\n if(userId) {\r\n params = params.append('userId', userId.toString());\r\n }\r\n\r\n return this.appSettings$.pipe(\r\n switchMap(appSettings => this.http.get(`${appSettings.apiBaseUrl}/v1/userprescriptions/uploadedpdf`, {params, responseType: 'arraybuffer'}))\r\n );\r\n }\r\n\r\n getPdfById(prescriptionId: number, userId?: number): Observable {\r\n let params = new HttpParams();\r\n\r\n params = params.append('prescriptionId', prescriptionId.toString());\r\n\r\n if(userId) {\r\n params = params.append('userId', userId.toString());\r\n }\r\n\r\n return this.appSettings$.pipe(\r\n switchMap(appSettings => this.http.get(`${appSettings.apiBaseUrl}/v1/userprescriptions/getpdfbyid`, {params, responseType: 'arraybuffer'}))\r\n );\r\n }\r\n\r\n delete(userId?: number): Observable {\r\n let params = new HttpParams();\r\n\r\n if(userId) {\r\n params = params.append('userId', userId.toString());\r\n }\r\n\r\n return this.appSettings$.pipe(\r\n switchMap(appSettings => this.http.delete(`${appSettings.apiBaseUrl}/v1/userprescriptions`, {params}))\r\n );\r\n }\r\n\r\n async downloadPdf(patient: SubjectReport, template: boolean = false) {\r\n let buffer: ArrayBuffer;\r\n if (template) {\r\n buffer = await this.getPdfTemplate(patient.userId).pipe(take(1)).toPromise();\r\n }\r\n else {\r\n buffer = await this.getPdf(patient.userId).pipe(take(1)).toPromise();\r\n }\r\n\r\n // https://stackoverflow.com/questions/52154874/angular-6-downloading-file-from-rest-api \r\n\r\n var pdfBlob = new Blob([buffer], { type: \"application/pdf\" });\r\n\r\n const data = window.URL.createObjectURL(pdfBlob);\r\n\r\n let link = document.createElement('a');\r\n link.href = data;\r\n link.download = `RX-${patient.patientId}${template ? '-Template' : ''}.pdf`;\r\n link.dispatchEvent(new MouseEvent('click', { bubbles: true, cancelable: true, view: window }));\r\n\r\n setTimeout(function () {\r\n window.URL.revokeObjectURL(data);\r\n link.remove();\r\n }, 100);\r\n }\r\n\r\n async downloadPdfById(prescriptionId: number, patient: SubjectReport) {\r\n let buffer = await this.getPdfById(prescriptionId, patient.userId).pipe(take(1)).toPromise() as ArrayBuffer;\r\n\r\n // https://stackoverflow.com/questions/52154874/angular-6-downloading-file-from-rest-api \r\n\r\n var pdfBlob = new Blob([buffer], { type: \"application/pdf\" });\r\n\r\n const data = window.URL.createObjectURL(pdfBlob);\r\n\r\n let link = document.createElement('a');\r\n link.href = data;\r\n link.download = `RX-${patient.patientId}.pdf`;\r\n link.dispatchEvent(new MouseEvent('click', { bubbles: true, cancelable: true, view: window }));\r\n\r\n setTimeout(function () {\r\n window.URL.revokeObjectURL(data);\r\n link.remove();\r\n }, 100);\r\n }\r\n\r\n //send docusign envelop for e-sign\r\n sendRxEnvelope(payload): Observable {\r\n return this.appSettings$.pipe(\r\n switchMap(appSettings => this.http.post(`${appSettings.apiBaseUrl}/v1/docusign/prescription/email/sent`, payload))\r\n )\r\n }\r\n}\r\n","// Copyright 2023, Avation Medical. All rights reserved.\r\n// \r\n// This code is proprietary and confidential information of Avation Medical. Any use, reproduction, modification\r\n// or distribution of the code without the express prior written consent of Avation Medical is strictly prohibited.\r\n\r\nexport enum Navigation {\r\n Patients = 1,\r\n PatientInfo = 2,\r\n Therapy = 3,\r\n Journal = 4,\r\n Users = 5,\r\n Clinics = 6,\r\n Studies = 7,\r\n OTA = 8,\r\n Facilities=9,\r\n FacilitiesImport=10,\r\n Clinicians=11,\r\n CliniciansImport=12,\r\n Products=13,\r\n Home=14,\r\n Checkout=15,\r\n Ecommerce=16,\r\n Subscriptions=17,\r\n DiscountConfigs=18,\r\n SubscriptionConfigs=19,\r\n Acknowledgements = 20,\r\n Utilities = 21,\r\n Discounts=22,\r\n Login=23,\r\n AccountRequests=24\r\n}\r\n\r\nexport namespace Navigation {\r\n export function toString(nav: Navigation): string {\r\n return Navigation[nav];\r\n }\r\n\r\n export function fromString(nav: string): Navigation {\r\n return (Navigation as any)[nav];\r\n }\r\n}","// Copyright 2023, Avation Medical. All rights reserved.\r\n// \r\n// This code is proprietary and confidential information of Avation Medical. Any use, reproduction, modification\r\n// or distribution of the code without the express prior written consent of Avation Medical is strictly prohibited.\r\n\r\nimport { Injectable } from '@angular/core';\r\nimport { MatIconRegistry } from '@angular/material/icon';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class IconService {\r\n iconUrl: string = '../../../assets/icons/';\r\n icons = {\r\n 'account': 'ic_account.svg',\r\n 'admin': 'ic_admin.svg',\r\n 'analytics': 'ic_analytics.svg',\r\n 'back': 'chevron-left-solid.svg',\r\n 'box': 'ic_box.svg',\r\n 'box-active': 'ic_box_active.svg',\r\n 'cart': 'ic_cart.svg',\r\n 'check': 'ic_check.svg',\r\n 'clinics': 'ic_clinics.svg',\r\n 'coffee': 'ic_coffee.svg',\r\n 'cup': 'ic_cup.svg',\r\n 'export': 'ic_export.svg',\r\n 'export_lite': 'ic_export_lite.svg',\r\n 'facilities': 'ic_facilities.svg',\r\n 'filters': 'ic_filters.svg',\r\n 'help': 'ic_help.svg',\r\n 'home': 'ic_home.svg',\r\n 'journal': 'ic_journal.svg',\r\n 'leaks': 'ic_leaks.svg',\r\n 'left-arrow': 'ic_left-arrow.svg',\r\n 'minus': 'ic_minus.svg',\r\n 'minus-button': 'ic_minus_button.svg',\r\n 'ota': 'ic_ota.svg',\r\n 'patient': 'ic_patient.svg',\r\n 'plus': 'ic_plus.svg',\r\n 'plus-button': 'ic_plus_button.svg',\r\n 'push': 'ic_push.svg',\r\n 'restroom': 'ic_restroom.svg',\r\n 'right-arrow': 'ic_right-arrow.svg',\r\n 'studies': 'ic_studies.svg',\r\n 'up-arrow': 'ic_up-arrow.svg',\r\n 'urge': 'ic_urge.svg',\r\n 'users': 'ic_users.svg',\r\n 'vivally': 'ic_vivally.svg',\r\n 'vivally-light': 'ic_vivally_2.svg',\r\n 'vivally-active': 'ic_vivally_active.svg',\r\n 'wine': 'ic_wine.svg',\r\n 'delete':'ic_delete.svg',\r\n 'no-address':'ic_no-address.svg',\r\n 'emi':'ic_emi.svg',\r\n 'download':'ic_download.svg',\r\n 'info':'ic_info.svg',\r\n 'credit-card':'ic_credit-card.svg',\r\n 'circle-plus':'ic_circle-plus.svg',\r\n 'saved_cards':'ic_saved_cards.svg',\r\n 'xmark-white':'ic_xmark_white.svg',\r\n 'confirmation-hook':'ic_confirmation_hook.svg',\r\n 'bag':'ic_bag.svg',\r\n 'bin':'ic_bin.svg',\r\n 'vivally-logo': 'vivally-logo2.svg',\r\n 'request':'ic_request.svg',\r\n 'circle-check':'ic_circle_check.svg',\r\n 'circle-check-disabled':'ic_circle_check_disabled.svg',\r\n 'xmark_red':'ic_circle_xmark_red.svg',\r\n 'xmark-disabled':'ic_circle_xmark_disabled.svg',\r\n 'i-btn': 'ic_i_btn.svg'\r\n }\r\n\r\n constructor(\r\n private matIconRegistry: MatIconRegistry,\r\n private domSanitizer: DomSanitizer\r\n ) { }\r\n\r\n public registerIcons(): void {\r\n Object.entries(this.icons).forEach(([key, fileName]) => {\r\n this.matIconRegistry.addSvgIcon(\r\n key,\r\n this.domSanitizer.bypassSecurityTrustResourceUrl(\r\n this.iconUrl + fileName\r\n )\r\n );\r\n });\r\n }\r\n}\r\n","// Copyright 2023, Avation Medical. All rights reserved.\r\n// \r\n// This code is proprietary and confidential information of Avation Medical. Any use, reproduction, modification\r\n// or distribution of the code without the express prior written consent of Avation Medical is strictly prohibited.\r\n\r\nimport { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { AuthService } from './core/services/auth.service';\r\nimport { GetTheAppComponent } from './ui/home/get-the-app/get-the-app.component';\r\nimport { AcknowledgementsComponent } from './ui/acknowledgements/acknowledgements.component';\r\nimport { RightResponsibilityComponent } from './ui/right-responsibility/right-responsibility.component';\r\nimport { AccountComponent } from './ui/account/account.component';\r\nimport { DeleteAcountComponent } from './ui/delete-acount/delete-account.component';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: 'login',\r\n loadChildren: () => import('../app/ui/login/login.module').then(m => m.LoginModule)\r\n },\r\n {\r\n path: 'get-the-app',\r\n component: GetTheAppComponent\r\n },\r\n {\r\n path: 'acknowledgements',\r\n component: AcknowledgementsComponent\r\n },\r\n // {\r\n // path: 'account',\r\n // component: AccountComponent\r\n // },\r\n {\r\n path: 'delete-account',\r\n component: DeleteAcountComponent\r\n },\r\n {\r\n path: '',\r\n canActivate: [AuthService],\r\n loadChildren: () => import('../app/ui/home/home.module').then(m => m.HomeModule)\r\n },\r\n { path: '**', redirectTo: '', pathMatch: 'full' },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forRoot(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class AppRoutingModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { RightResponsibilityComponent } from './right-responsibility.component';\r\nimport { SharedModule } from 'src/app/shared/shared.module';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { AppRoutingModule } from 'src/app/app-routing.module';\r\n\r\n@NgModule({\r\n declarations: [\r\n RightResponsibilityComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n SharedModule,\r\n MatIconModule,\r\n AppRoutingModule\r\n ]\r\n})\r\nexport class RightResponsibilityModule { }\r\n","// Copyright 2023, Avation Medical. All rights reserved.\r\n// \r\n// This code is proprietary and confidential information of Avation Medical. Any use, reproduction, modification\r\n// or distribution of the code without the express prior written consent of Avation Medical is strictly prohibited.\r\n\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { switchMap } from 'rxjs/operators';\r\nimport { AppSettingsService } from 'src/app/app-settings/app-settings.service';\r\nimport { ChangePasswordModel, ConfirmAccessCodeModel, ForgotPasswordModel } from 'src/app/shared/models/login';\r\nimport { AuthService } from '../../services/auth.service';\r\n\r\nexport interface AccountLoginResponse {\r\n isAuthSuccessful: boolean;\r\n errorMessage: string;\r\n token: string;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AccountService {\r\n\r\n constructor(\r\n private readonly http: HttpClient,\r\n private readonly appSettingsService: AppSettingsService,\r\n private readonly authService: AuthService,\r\n ) { }\r\n \r\n public login(email: string, password: string) {\r\n return this.appSettingsService.appSettings$.pipe(\r\n switchMap(appSettings => this.http.post(`${appSettings.apiBaseUrl}/v1/account/login`, { email, password }))\r\n ) \r\n }\r\n\r\n public changePassword(model: ChangePasswordModel) {\r\n return this.appSettingsService.appSettings$.pipe(\r\n switchMap(appSettings => this.http.put(`${appSettings.apiBaseUrl}/v1/account/changePassword`, model))\r\n ); \r\n }\r\n\r\n public sendForgotPassword(model: ForgotPasswordModel) {\r\n return this.appSettingsService.appSettings$.pipe(\r\n switchMap(appSettings =>this.http.post(`${appSettings.apiBaseUrl}/v1/account/forgotPassword`, model))\r\n );\r\n }\r\n\r\n public confirmForgotPassword(model: ConfirmAccessCodeModel) {\r\n return this.appSettingsService.appSettings$.pipe(\r\n switchMap(appSettings => this.http.post(`${appSettings.apiBaseUrl}/v1/account/confirmForgotPassword`, model))\r\n );\r\n }\r\n\r\n public resetEula(userIds: number[]): Observable {\r\n return this.appSettingsService.appSettings$.pipe(\r\n switchMap(appSettings => this.http.put(`${appSettings.apiBaseUrl}/v1.0/account/reseteula`, {userIds}))\r\n )\r\n }\r\n\r\n \r\n private getDuplicatePhoneNumbersReport(): Observable {\r\n return this.appSettingsService.appSettings$.pipe(\r\n switchMap(appSettings => this.http.get(`${appSettings.apiBaseUrl}/v1.0/account/duplicatephonenumbersreport`, { responseType: 'arraybuffer'}))\r\n )\r\n }\r\n \r\n public async exportDuplicatePhoneNumbersReportXlsx(): Promise {\r\n // https://stackoverflow.com/questions/52154874/angular-6-downloading-file-from-rest-api \r\n \r\n var xlsxBuffer = await this.getDuplicatePhoneNumbersReport().toPromise();\r\n\r\n var xlsxBlob = new Blob([xlsxBuffer], { type: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\" });\r\n\r\n const data = window.URL.createObjectURL(xlsxBlob);\r\n\r\n let link = document.createElement('a');\r\n link.href = data;\r\n\r\n let now = new Date();\r\n\r\n link.download = `duplicate_phone_numbers_${now.getMonth() + 1}-${now.getDate()}-${now.getFullYear()}.xlsx`;\r\n link.dispatchEvent(new MouseEvent('click', { bubbles: true, cancelable: true, view: window }));\r\n\r\n setTimeout(function () {\r\n window.URL.revokeObjectURL(data);\r\n link.remove();\r\n }, 100);\r\n }\r\n}\r\n","// Copyright 2023, Avation Medical. All rights reserved.\r\n// \r\n// This code is proprietary and confidential information of Avation Medical. Any use, reproduction, modification\r\n// or distribution of the code without the express prior written consent of Avation Medical is strictly prohibited.\r\n\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { environment } from 'src/environments/environment';\r\nimport { switchMap } from 'rxjs/operators';\r\nimport { AppSettingsService } from 'src/app/app-settings/app-settings.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PushNotificationsService {\r\n\r\n constructor(private readonly http: HttpClient, private readonly appSettingsService: AppSettingsService) { }\r\n\r\n public send(userIds: number[], message: string) {\r\n let params = {\r\n userIds,\r\n message\r\n };\r\n return this.appSettingsService.appSettings$.pipe(\r\n switchMap(appSettings => this.http.post(`${appSettings.apiBaseUrl}/v1/pushnotifications/send`, params))\r\n );\r\n }\r\n}\r\n","// Copyright 2023, Avation Medical. All rights reserved.\r\n// \r\n// This code is proprietary and confidential information of Avation Medical. Any use, reproduction, modification\r\n// or distribution of the code without the express prior written consent of Avation Medical is strictly prohibited.\r\n\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpInterceptor, HttpRequest, HttpHandler, HttpEvent } from '@angular/common/http';\r\nimport { Observable } from 'rxjs/internal/Observable';\r\nimport { filter, take, switchMap, catchError, tap, finalize } from 'rxjs/operators';\r\nimport { BehaviorSubject, throwError } from 'rxjs';\r\nimport { AuthService } from '../core/services/auth.service';\r\nimport { PageLoadingService } from '../core/services/page-loading.service';\r\n\r\n@Injectable()\r\nexport class TokenInterceptor implements HttpInterceptor {\r\n private refreshTokenInProgress = false;\r\n // Refresh Token Subject tracks the current token, or is null if no token is currently\r\n // available (e.g. refresh pending).\r\n private refreshTokenSubject: BehaviorSubject = new BehaviorSubject(null);\r\n\r\n constructor(private readonly auth: AuthService, private readonly pageLoadingService: PageLoadingService) { }\r\n\r\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\r\n if (!request.url.includes(\"refreshToken\") && !request.url.includes(\"login\")) {\r\n request = this.addAuthenticationToken(request);\r\n }\r\n\r\n request = this.addTimezone(request);\r\n\r\n this.pageLoadingService.start();\r\n\r\n return next.handle(request).pipe(\r\n catchError(error => {\r\n // We don't want to refresh token for some requests like login or refresh token itself\r\n // So we verify url and we throw an error if it's the case\r\n if (request.url.includes(\"refreshToken\") || request.url.includes(\"login\")) {\r\n // We do another check to see if refresh token failed\r\n // In this case we want to logout user and to redirect it to login page\r\n if (request.url.includes(\"refreshToken\")) {\r\n this.auth.logout();\r\n }\r\n\r\n return throwError(error);\r\n }\r\n\r\n // If error status is different than 401 we want to skip refresh token\r\n // So we check that and throw the error if it's the case\r\n if (error.status !== 401) {\r\n return throwError(error);\r\n }\r\n\r\n if (this.refreshTokenInProgress) {\r\n // If refreshTokenInProgress is true, we will wait until refreshTokenSubject has a non-null value\r\n // – which means the new token is ready and we can retry the request again\r\n return this.refreshTokenSubject.pipe(\r\n filter(result => result !== null),\r\n take(1),\r\n switchMap(() => next.handle(this.addAuthenticationToken(request)))\r\n );\r\n } else {\r\n this.refreshTokenInProgress = true;\r\n\r\n // Set the refreshTokenSubject to null so that subsequent API calls will wait until the new token has been retrieved\r\n this.refreshTokenSubject.next(null);\r\n\r\n // Call auth.refreshAccessToken(this is an Observable that will be returned)\r\n return this.auth.refresh().pipe(\r\n switchMap((token: string) => {\r\n // When the call to refreshToken completes we reset the refreshTokenInProgress to false\r\n // for the next time the token needs to be refreshed\r\n this.refreshTokenInProgress = false;\r\n this.refreshTokenSubject.next(token);\r\n\r\n return next.handle(this.addAuthenticationToken(request));\r\n }),\r\n catchError((err: any) => {\r\n this.refreshTokenInProgress = false;\r\n\r\n this.auth.logout();\r\n return throwError(error);\r\n })\r\n );\r\n }\r\n }), \r\n finalize(() => this.pageLoadingService.end())\r\n );\r\n }\r\n\r\n addAuthenticationToken(request) {\r\n // Get access token from Local Storage\r\n const accessToken = this.auth.getAccessToken();\r\n\r\n // If access token is null this means that user is not logged in\r\n // And we return the original request\r\n if (!accessToken) {\r\n return request;\r\n }\r\n\r\n // We clone the request, because the original request is immutable\r\n return request.clone({\r\n setHeaders: {\r\n Authorization: `Bearer ${this.auth.getAccessToken()}`\r\n }\r\n });\r\n }\r\n\r\n addTimezone(request) {\r\n // We clone the request, because the original request is immutable\r\n return request.clone({\r\n setHeaders: {\r\n 'X-Timezone': Intl.DateTimeFormat().resolvedOptions().timeZone\r\n }\r\n });\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'sumPrice'\r\n})\r\nexport class SumPricePipe implements PipeTransform {\r\n transform(value: any,...args: any[]): number {\r\n if(args[0]=='percent'){\r\n let result=Number(value) *100\r\n return result\r\n }\r\n if(args[0] && args[1]=='division'){\r\n let result=Number(value)/Number(args[0])\r\n return Number(result.toFixed(2))\r\n }\r\n if(args[0] && args[1]=='add'){\r\n let result=Number(value)+Number(args[0])\r\n return Number(result.toFixed(2))\r\n }\r\n if(args[0] && args[1]=='multiply'){\r\n let result=Number(value) * Number(args[0])\r\n return Number(result.toFixed(2))\r\n }\r\n return value.map(item => {\r\n const price = parseFloat(item.metadata.originalItemPrice);\r\n if (!isNaN(price)) {\r\n return price * item.quantity;\r\n }\r\n return 0;\r\n }).reduce((acc, curr) => acc + curr, 0);\r\n }\r\n}\r\n","// Copyright 2023, Avation Medical. All rights reserved.\r\n// \r\n// This code is proprietary and confidential information of Avation Medical. Any use, reproduction, modification\r\n// or distribution of the code without the express prior written consent of Avation Medical is strictly prohibited.\r\n\r\nimport { FocusMonitor } from '@angular/cdk/a11y';\r\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\r\nimport { Component, ElementRef, Inject, Input, OnDestroy, Optional, QueryList, Self, ViewChildren } from '@angular/core';\r\nimport { ControlValueAccessor, FormArray, FormBuilder, NgControl, Validators } from '@angular/forms';\r\nimport { MAT_FORM_FIELD, MatFormField, MatFormFieldControl } from '@angular/material/form-field';\r\nimport { Subject } from 'rxjs';\r\nimport { integerValidator } from '../../validators';\r\n\r\n\r\n@Component({\r\n selector: 'digit-box-input',\r\n templateUrl: 'digit-box-input.component.html',\r\n styleUrls: ['digit-box-input.component.scss'],\r\n providers: [{provide: MatFormFieldControl, useExisting: DigitBoxInput}],\r\n host: {\r\n '[class.example-floating]': 'shouldLabelFloat',\r\n '[id]': 'id',\r\n },\r\n})\r\nexport class DigitBoxInput implements OnDestroy, ControlValueAccessor, MatFormFieldControl {\r\n @ViewChildren('digitInput') digitInputs: QueryList>;\r\n \r\n static nextId = 0;\r\n parts: FormArray;\r\n stateChanges = new Subject();\r\n focused = false;\r\n touched = false;\r\n id = `digit-box-input-${DigitBoxInput.nextId++}`;\r\n onChange = (_: any) => {};\r\n onTouched = () => {};\r\n controlConfig = [null, [Validators.required, integerValidator()]];\r\n\r\n get empty() {\r\n this.parts.controls.forEach(x => {\r\n if (x.value == '') {\r\n return true;\r\n }\r\n });\r\n return false;\r\n }\r\n\r\n get shouldLabelFloat() {\r\n return this.focused || !this.empty;\r\n }\r\n\r\n @Input()\r\n get required(): boolean {\r\n return this._required;\r\n }\r\n set required(value: boolean) {\r\n this._required = coerceBooleanProperty(value);\r\n this.stateChanges.next();\r\n }\r\n private _required = false;\r\n\r\n @Input()\r\n get disabled(): boolean {\r\n return this._disabled;\r\n }\r\n set disabled(value: boolean) {\r\n this._disabled = coerceBooleanProperty(value);\r\n this._disabled ? this.parts.disable() : this.parts.enable();\r\n this.stateChanges.next();\r\n }\r\n private _disabled = false;\r\n\r\n @Input()\r\n get value(): string {\r\n if (this.parts.invalid) {\r\n return null;\r\n }\r\n return this.parts.value.join('');\r\n }\r\n\r\n @Input()\r\n get count(): number {\r\n return this._count;\r\n }\r\n set count(v: number) {\r\n this._count = +v;\r\n this.parts = this._formBuilder.array(Array(this._count).fill(this.controlConfig));\r\n }\r\n private _count: number = 4;\r\n\r\n @Input()\r\n get placeholder(): string {\r\n return this._placeholder;\r\n }\r\n set placeholder(value: string) {\r\n this._placeholder = value;\r\n this.stateChanges.next();\r\n }\r\n private _placeholder: string;\r\n\r\n get errorState(): boolean {\r\n if (this.empty) {\r\n return false;\r\n }\r\n return this.parts.invalid && this.touched;\r\n }\r\n\r\n constructor(\r\n private readonly _formBuilder: FormBuilder,\r\n private readonly _focusMonitor: FocusMonitor,\r\n private readonly _elementRef: ElementRef,\r\n @Optional() @Inject(MAT_FORM_FIELD) public _formField: MatFormField,\r\n @Optional() @Self() public ngControl: NgControl\r\n ) {\r\n if (this.ngControl != null) {\r\n this.ngControl.valueAccessor = this;\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n this.stateChanges.complete();\r\n this._focusMonitor.stopMonitoring(this._elementRef);\r\n }\r\n\r\n onFocusIn(event: FocusEvent) {\r\n if (!this.focused) {\r\n let target = event.target as HTMLInputElement;\r\n target.select();\r\n \r\n this.focused = true;\r\n this.stateChanges.next();\r\n }\r\n }\r\n\r\n onFocusOut(event: FocusEvent) {\r\n if (!this._elementRef.nativeElement.contains(event.relatedTarget as Element)) {\r\n this.touched = true;\r\n this.focused = false;\r\n this.onTouched();\r\n this.stateChanges.next();\r\n }\r\n }\r\n\r\n autoFocus(idx: number): void {\r\n if (idx < 0 || idx >= this.parts.length) return;\r\n let focus = this.digitInputs.get(idx).nativeElement;\r\n if (!focus) return;\r\n this._focusMonitor.focusVia(focus, 'program');\r\n focus.select();\r\n }\r\n\r\n setDescribedByIds(ids: string[]) {\r\n const controlElement = this._elementRef.nativeElement.querySelector(\r\n '.digit-box-input-container',\r\n )!;\r\n controlElement.setAttribute('aria-describedby', ids.join(' '));\r\n }\r\n\r\n onContainerClick(event: MouseEvent) {\r\n }\r\n\r\n writeValue(obj: any): void {\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n setDisabledState(isDisabled: boolean): void {\r\n this.disabled = isDisabled;\r\n }\r\n\r\n _handleInput(idx: number): void {\r\n let current = this.parts.at(idx);\r\n if (current.value && !current.errors) {\r\n this.autoFocus(idx+1);\r\n };\r\n this.onChange(this.value);\r\n }\r\n}\r\n","\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n","// Copyright 2023, Avation Medical. All rights reserved.\r\n// \r\n// This code is proprietary and confidential information of Avation Medical. Any use, reproduction, modification\r\n// or distribution of the code without the express prior written consent of Avation Medical is strictly prohibited.\r\n\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { User, UserDetail, UserCreate, UserUpdate, UserPermissions, UserReportQuery, UserReport } from 'src/app/shared/models/user.interface';\r\nimport { APIQuery } from 'src/app/shared/models/api-query.interface';\r\nimport { PagedResult } from 'src/app/shared/models/paged-result.interface';\r\nimport { AppSettingsService } from 'src/app/app-settings/app-settings.service';\r\nimport { switchMap } from 'rxjs/operators';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class UserService {\r\n\r\n constructor(private readonly http: HttpClient, private readonly appSettingsService: AppSettingsService) { }\r\n\r\n public getMyUser() {\r\n return this.appSettingsService.appSettings$.pipe(\r\n switchMap(appSettings => this.http.get(`${appSettings.apiBaseUrl}/v1.0/users/me`))\r\n );\r\n }\r\n\r\n public getMyPermissions() {\r\n return this.appSettingsService.appSettings$.pipe(\r\n switchMap(appSettings => this.http.get(`${appSettings.apiBaseUrl}/v1.0/users/me/permissions`))\r\n );\r\n }\r\n\r\n public query(apiQuery?: APIQuery, role?: string, firstName?: string, lastName?: string, email?: string) {\r\n let params: any = {};\r\n\r\n if(apiQuery) {\r\n params = Object.assign({}, apiQuery, params);\r\n }\r\n\r\n if (!!role) {\r\n params.role = role;\r\n }\r\n if (!!firstName) {\r\n params.firstName = firstName;\r\n }\r\n if (!!lastName) {\r\n params.lastName = lastName;\r\n }\r\n if (!!email) {\r\n params.email = email;\r\n }\r\n\r\n return this.appSettingsService.appSettings$.pipe(\r\n switchMap(appSettings => this.http.get>(`${appSettings.apiBaseUrl}/v1.0/users/query`, { params }))\r\n );\r\n }\r\n\r\n public queryReport(apiQuery?: APIQuery, query?: UserReportQuery): Observable> {\r\n let params = Object.entries(query).reduce((a, [k,v]) => (v == null ? a : (a[k]=v, a)), {});\r\n params = Object.assign({}, apiQuery, params);\r\n\r\n return this.appSettingsService.appSettings$.pipe(\r\n switchMap(appSettings => this.http.get>(`${appSettings.apiBaseUrl}/v1.0/users/query/report`, { params }))\r\n );\r\n }\r\n\r\n public queryTable(apiQuery?: APIQuery, query?: UserReportQuery): Observable> {\r\n let params = Object.entries(query).reduce((a, [k,v]) => (v == null ? a : (a[k]=v, a)), {});\r\n params = Object.assign({}, apiQuery, params);\r\n\r\n return this.appSettingsService.appSettings$.pipe(\r\n switchMap(appSettings => this.http.get>(`${appSettings.apiBaseUrl}/v1.0/users/query/table`, { params }))\r\n );\r\n }\r\n\r\n public getUsersInGroup(group: string) {\r\n const params = {\r\n group\r\n };\r\n return this.appSettingsService.appSettings$.pipe(\r\n switchMap(appSettings => this.http.get(`${appSettings.apiBaseUrl}/v1.0/users/usersInGroup`, { params }))\r\n );\r\n }\r\n\r\n public getRoles() {\r\n return this.appSettingsService.appSettings$.pipe(\r\n switchMap(appSettings => this.http.get(`${appSettings.apiBaseUrl}/v1.0/users/groups`))\r\n );\r\n }\r\n\r\n public read(userId: number) {\r\n return this.appSettingsService.appSettings$.pipe(\r\n switchMap(appSettings => this.http.get(`${appSettings.apiBaseUrl}/v1.0/users/${userId}`))\r\n );\r\n }\r\n\r\n public readDetail(userId: number) {\r\n return this.appSettingsService.appSettings$.pipe(\r\n switchMap(appSettings => this.http.get(`${appSettings.apiBaseUrl}/v1.0/users/${userId}/detail`))\r\n );\r\n }\r\n\r\n public delete(userId: number) {\r\n return this.appSettingsService.appSettings$.pipe(\r\n switchMap(appSettings => this.http.delete(`${appSettings.apiBaseUrl}/v1.0/users/${userId}`))\r\n );\r\n }\r\n\r\n public create(model: UserCreate) {\r\n return this.appSettingsService.appSettings$.pipe(\r\n switchMap(appSettings => this.http.post(`${appSettings.apiBaseUrl}/v1.0/users`, model))\r\n );\r\n }\r\n\r\n public createSignup(model: UserCreate) {\r\n return this.appSettingsService.appSettings$.pipe(\r\n switchMap(appSettings => this.http.post(`${appSettings.apiBaseUrl}/v1.0/users/signup`, model))\r\n );\r\n }\r\n\r\n public update(userId: number, model: UserUpdate) {\r\n return this.appSettingsService.appSettings$.pipe(\r\n switchMap(appSettings => this.http.put(`${appSettings.apiBaseUrl}/v1.0/users/${userId}`, model))\r\n );\r\n }\r\n\r\n public isEnabled(userId: number): Observable {\r\n return this.appSettingsService.appSettings$.pipe(\r\n switchMap(appSettings => this.http.get(`${appSettings.apiBaseUrl}/v1.0/users/${userId}/isenabled`))\r\n )\r\n }\r\n\r\n public enable(userId: number): Observable {\r\n return this.appSettingsService.appSettings$.pipe(\r\n switchMap(appSettings => this.http.put(`${appSettings.apiBaseUrl}/v1.0/users/${userId}/enable`, {}))\r\n ) \r\n }\r\n\r\n public disable(userId: number): Observable {\r\n return this.appSettingsService.appSettings$.pipe(\r\n switchMap(appSettings => this.http.put(`${appSettings.apiBaseUrl}/v1.0/users/${userId}/disable`, {}))\r\n ) \r\n }\r\n\r\n public verifyUser(email) {\r\n let payload={\r\n email:email\r\n }\r\n return this.appSettingsService.appSettings$.pipe(\r\n switchMap(appSettings => this.http.post(`${appSettings.apiBaseUrl}/v1.0/account/users/check-email`,payload ))\r\n );\r\n }\r\n public createNewAccount(payload: any): Observable {\r\n let body = {\r\n firstName: payload.firstName,\r\n lastName: payload.lastName,\r\n email: payload.email,\r\n phoneNumber: payload.phone,\r\n role: \"Patient\",\r\n status: 0,\r\n isPatientCheckbox: payload.isPatientCheckbox\r\n }\r\n return this.appSettingsService.appSettings$.pipe(\r\n switchMap(appSettings => this.http.post(`${appSettings.apiBaseUrl}/v1/account/users/registration/requests`, body))\r\n )\r\n }\r\n\r\n public getAccountRequests(apiQuery: any,firstName,lastName,email,phone,status) {\r\n let params: any = {}\r\n\r\n if (!!lastName) {\r\n params.lastNameLike = lastName;\r\n }\r\n if (!!firstName) {\r\n params.firstNameLike = firstName;\r\n }\r\n if (!!email) {\r\n params.emailLike = email;\r\n }\r\n if (!!phone) {\r\n params.phoneNumberLike = phone;\r\n }\r\n if (!!status) {\r\n params.status = status;\r\n }\r\n if (apiQuery) {\r\n params = Object.assign({}, apiQuery, params);\r\n }\r\n return this.appSettingsService.appSettings$.pipe(\r\n switchMap(appSettings => this.http.get>(`${appSettings.apiBaseUrl}/v1/account/users/registration/requests`, {params}))\r\n );\r\n }\r\n updateRequest(id,status){\r\n let body={\r\n id:id,\r\n status:status\r\n }\r\n return this.appSettingsService.appSettings$.pipe(\r\n switchMap(appSettings => this.http.post(`${appSettings.apiBaseUrl}/v1/account/users/registration`, body))\r\n )\r\n }\r\n}\r\n","// Copyright 2023, Avation Medical. All rights reserved.\r\n// \r\n// This code is proprietary and confidential information of Avation Medical. Any use, reproduction, modification\r\n// or distribution of the code without the express prior written consent of Avation Medical is strictly prohibited.\r\n\r\nimport { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule)\r\n .catch(err => console.error(err));\r\n","function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"zn8P\";"],"sourceRoot":"webpack:///"}