{"version":3,"sources":["webpack:///./node_modules/core-js/es6/reflect.js","webpack:///./node_modules/core-js/es7/reflect.js","webpack:///./node_modules/core-js/modules/_a-function.js","webpack:///./node_modules/core-js/modules/_an-instance.js","webpack:///./node_modules/core-js/modules/_an-object.js","webpack:///./node_modules/core-js/modules/_array-from-iterable.js","webpack:///./node_modules/core-js/modules/_array-includes.js","webpack:///./node_modules/core-js/modules/_array-methods.js","webpack:///./node_modules/core-js/modules/_array-species-constructor.js","webpack:///./node_modules/core-js/modules/_array-species-create.js","webpack:///./node_modules/core-js/modules/_bind.js","webpack:///./node_modules/core-js/modules/_classof.js","webpack:///./node_modules/core-js/modules/_cof.js","webpack:///./node_modules/core-js/modules/_collection-strong.js","webpack:///./node_modules/core-js/modules/_collection-weak.js","webpack:///./node_modules/core-js/modules/_collection.js","webpack:///./node_modules/core-js/modules/_core.js","webpack:///./node_modules/core-js/modules/_ctx.js","webpack:///./node_modules/core-js/modules/_defined.js","webpack:///./node_modules/core-js/modules/_descriptors.js","webpack:///./node_modules/core-js/modules/_dom-create.js","webpack:///./node_modules/core-js/modules/_enum-bug-keys.js","webpack:///./node_modules/core-js/modules/_export.js","webpack:///./node_modules/core-js/modules/_fails.js","webpack:///./node_modules/core-js/modules/_for-of.js","webpack:///./node_modules/core-js/modules/_function-to-string.js","webpack:///./node_modules/core-js/modules/_global.js","webpack:///./node_modules/core-js/modules/_has.js","webpack:///./node_modules/core-js/modules/_hide.js","webpack:///./node_modules/core-js/modules/_html.js","webpack:///./node_modules/core-js/modules/_ie8-dom-define.js","webpack:///./node_modules/core-js/modules/_inherit-if-required.js","webpack:///./node_modules/core-js/modules/_invoke.js","webpack:///./node_modules/core-js/modules/_iobject.js","webpack:///./node_modules/core-js/modules/_is-array-iter.js","webpack:///./node_modules/core-js/modules/_is-array.js","webpack:///./node_modules/core-js/modules/_is-object.js","webpack:///./node_modules/core-js/modules/_iter-call.js","webpack:///./node_modules/core-js/modules/_iter-create.js","webpack:///./node_modules/core-js/modules/_iter-define.js","webpack:///./node_modules/core-js/modules/_iter-detect.js","webpack:///./node_modules/core-js/modules/_iter-step.js","webpack:///./node_modules/core-js/modules/_iterators.js","webpack:///./node_modules/core-js/modules/_library.js","webpack:///./node_modules/core-js/modules/_meta.js","webpack:///./node_modules/core-js/modules/_metadata.js","webpack:///./node_modules/core-js/modules/_object-assign.js","webpack:///./node_modules/core-js/modules/_object-create.js","webpack:///./node_modules/core-js/modules/_object-dp.js","webpack:///./node_modules/core-js/modules/_object-dps.js","webpack:///./node_modules/core-js/modules/_object-gopd.js","webpack:///./node_modules/core-js/modules/_object-gopn.js","webpack:///./node_modules/core-js/modules/_object-gops.js","webpack:///./node_modules/core-js/modules/_object-gpo.js","webpack:///./node_modules/core-js/modules/_object-keys-internal.js","webpack:///./node_modules/core-js/modules/_object-keys.js","webpack:///./node_modules/core-js/modules/_object-pie.js","webpack:///./node_modules/core-js/modules/_own-keys.js","webpack:///./node_modules/core-js/modules/_property-desc.js","webpack:///./node_modules/core-js/modules/_redefine-all.js","webpack:///./node_modules/core-js/modules/_redefine.js","webpack:///./node_modules/core-js/modules/_set-proto.js","webpack:///./node_modules/core-js/modules/_set-species.js","webpack:///./node_modules/core-js/modules/_set-to-string-tag.js","webpack:///./node_modules/core-js/modules/_shared-key.js","webpack:///./node_modules/core-js/modules/_shared.js","webpack:///./node_modules/core-js/modules/_to-absolute-index.js","webpack:///./node_modules/core-js/modules/_to-integer.js","webpack:///./node_modules/core-js/modules/_to-iobject.js","webpack:///./node_modules/core-js/modules/_to-length.js","webpack:///./node_modules/core-js/modules/_to-object.js","webpack:///./node_modules/core-js/modules/_to-primitive.js","webpack:///./node_modules/core-js/modules/_uid.js","webpack:///./node_modules/core-js/modules/_validate-collection.js","webpack:///./node_modules/core-js/modules/_wks.js","webpack:///./node_modules/core-js/modules/core.get-iterator-method.js","webpack:///./node_modules/core-js/modules/es6.map.js","webpack:///./node_modules/core-js/modules/es6.reflect.apply.js","webpack:///./node_modules/core-js/modules/es6.reflect.construct.js","webpack:///./node_modules/core-js/modules/es6.reflect.define-property.js","webpack:///./node_modules/core-js/modules/es6.reflect.delete-property.js","webpack:///./node_modules/core-js/modules/es6.reflect.enumerate.js","webpack:///./node_modules/core-js/modules/es6.reflect.get-own-property-descriptor.js","webpack:///./node_modules/core-js/modules/es6.reflect.get-prototype-of.js","webpack:///./node_modules/core-js/modules/es6.reflect.get.js","webpack:///./node_modules/core-js/modules/es6.reflect.has.js","webpack:///./node_modules/core-js/modules/es6.reflect.is-extensible.js","webpack:///./node_modules/core-js/modules/es6.reflect.own-keys.js","webpack:///./node_modules/core-js/modules/es6.reflect.prevent-extensions.js","webpack:///./node_modules/core-js/modules/es6.reflect.set-prototype-of.js","webpack:///./node_modules/core-js/modules/es6.reflect.set.js","webpack:///./node_modules/core-js/modules/es6.set.js","webpack:///./node_modules/core-js/modules/es6.weak-map.js","webpack:///./node_modules/core-js/modules/es7.reflect.define-metadata.js","webpack:///./node_modules/core-js/modules/es7.reflect.delete-metadata.js","webpack:///./node_modules/core-js/modules/es7.reflect.get-metadata-keys.js","webpack:///./node_modules/core-js/modules/es7.reflect.get-metadata.js","webpack:///./node_modules/core-js/modules/es7.reflect.get-own-metadata-keys.js","webpack:///./node_modules/core-js/modules/es7.reflect.get-own-metadata.js","webpack:///./node_modules/core-js/modules/es7.reflect.has-metadata.js","webpack:///./node_modules/core-js/modules/es7.reflect.has-own-metadata.js","webpack:///./node_modules/core-js/modules/es7.reflect.metadata.js","webpack:///./node_modules/moment/locale sync ^\\.\\/.*$","webpack:///./src/$_lazy_route_resource lazy namespace object","webpack:///./src/app/CanDeactivateGaurd.ts","webpack:///./src/app/CanLogoutDeactivateGaurd.ts","webpack:///./src/app/animations/enter.animation.ts","webpack:///./src/app/animations/fade.animation.ts","webpack:///./src/app/app.component.html","webpack:///./src/app/app.component.scss","webpack:///./src/app/app.component.ts","webpack:///./src/app/app.module.ts","webpack:///./src/app/components/background/background.component.html","webpack:///./src/app/components/background/background.component.scss","webpack:///./src/app/components/background/background.component.ts","webpack:///./src/app/components/background/c3po-charm/c3po-charm.component.html","webpack:///./src/app/components/background/c3po-charm/c3po-charm.component.scss","webpack:///./src/app/components/background/c3po-charm/c3po-charm.component.ts","webpack:///./src/app/components/background/c3po-qi/c3po-qi.component.html","webpack:///./src/app/components/background/c3po-qi/c3po-qi.component.scss","webpack:///./src/app/components/background/c3po-qi/c3po-qi.component.ts","webpack:///./src/app/components/background/c3po-r3/c3po-r3.component.html","webpack:///./src/app/components/background/c3po-r3/c3po-r3.component.scss","webpack:///./src/app/components/background/c3po-r3/c3po-r3.component.ts","webpack:///./src/app/components/background/c3po/c3po.component.html","webpack:///./src/app/components/background/c3po/c3po.component.scss","webpack:///./src/app/components/background/c3po/c3po.component.ts","webpack:///./src/app/components/background/iqic/c3po-iqic.component.html","webpack:///./src/app/components/background/iqic/c3po-iqic.component.scss","webpack:///./src/app/components/background/iqic/c3po-iqic.component.ts","webpack:///./src/app/components/calculator/age/age.component.html","webpack:///./src/app/components/calculator/age/age.component.scss","webpack:///./src/app/components/calculator/age/age.component.ts","webpack:///./src/app/components/calculator/calc-characteristics/calc-characteristics.component.html","webpack:///./src/app/components/calculator/calc-characteristics/calc-characteristics.component.scss","webpack:///./src/app/components/calculator/calc-characteristics/calc-characteristics.component.ts","webpack:///./src/app/components/calculator/calculator.component.html","webpack:///./src/app/components/calculator/calculator.component.scss","webpack:///./src/app/components/calculator/calculator.component.ts","webpack:///./src/app/components/calculator/calculator.service.ts","webpack:///./src/app/components/calculator/material-module.ts","webpack:///./src/app/components/contact/contact.component.html","webpack:///./src/app/components/contact/contact.component.scss","webpack:///./src/app/components/contact/contact.component.ts","webpack:///./src/app/components/contact/mail.service.ts","webpack:///./src/app/components/footer/footer.component.html","webpack:///./src/app/components/footer/footer.component.scss","webpack:///./src/app/components/footer/footer.component.ts","webpack:///./src/app/components/home/home.componentC3POR3.html","webpack:///./src/app/components/home/home.componentC3POR3.scss","webpack:///./src/app/components/home/home.componentC3POR3.ts","webpack:///./src/app/components/home/home.componentIQIC.html","webpack:///./src/app/components/home/home.componentIQIC.scss","webpack:///./src/app/components/home/home.componentIQIC.ts","webpack:///./src/app/components/iqic-background/background-history/background-history.component.html","webpack:///./src/app/components/iqic-background/background-history/background-history.component.scss","webpack:///./src/app/components/iqic-background/background-history/background-history.component.ts","webpack:///./src/app/components/iqic-background/database-manual/database-manual.component.html","webpack:///./src/app/components/iqic-background/database-manual/database-manual.component.scss","webpack:///./src/app/components/iqic-background/database-manual/database-manual.component.ts","webpack:///./src/app/components/iqic-background/enrolled-partners/enrolled-partners.component.html","webpack:///./src/app/components/iqic-background/enrolled-partners/enrolled-partners.component.scss","webpack:///./src/app/components/iqic-background/enrolled-partners/enrolled-partners.component.ts","webpack:///./src/app/components/iqic-background/iqic-background.component.html","webpack:///./src/app/components/iqic-background/iqic-background.component.scss","webpack:///./src/app/components/iqic-background/iqic-background.component.ts","webpack:///./src/app/components/iqic-background/key-driver/key-driver.component.html","webpack:///./src/app/components/iqic-background/key-driver/key-driver.component.scss","webpack:///./src/app/components/iqic-background/key-driver/key-driver.component.ts","webpack:///./src/app/components/iqic-background/mission-vision/mission-vision.component.html","webpack:///./src/app/components/iqic-background/mission-vision/mission-vision.component.scss","webpack:///./src/app/components/iqic-background/mission-vision/mission-vision.component.ts","webpack:///./src/app/components/iqic-background/webinars/webinars.component.html","webpack:///./src/app/components/iqic-background/webinars/webinars.component.scss","webpack:///./src/app/components/iqic-background/webinars/webinars.component.ts","webpack:///./src/app/components/login/change-password/change-password.component.html","webpack:///./src/app/components/login/change-password/change-password.component.scss","webpack:///./src/app/components/login/change-password/change-password.component.ts","webpack:///./src/app/components/login/forgot-password/forgot-password.component.html","webpack:///./src/app/components/login/forgot-password/forgot-password.component.scss","webpack:///./src/app/components/login/forgot-password/forgot-password.component.ts","webpack:///./src/app/components/login/login-card/login-card.component.html","webpack:///./src/app/components/login/login-card/login-card.component.scss","webpack:///./src/app/components/login/login-card/login-card.component.ts","webpack:///./src/app/components/login/login.component.html","webpack:///./src/app/components/login/login.component.scss","webpack:///./src/app/components/login/login.component.ts","webpack:///./src/app/components/modal/alert/alert.component.html","webpack:///./src/app/components/modal/alert/alert.component.scss","webpack:///./src/app/components/modal/alert/alert.component.ts","webpack:///./src/app/components/modal/category-filter.ts","webpack:///./src/app/components/modal/confirm-modal/confirm-modal.component.html","webpack:///./src/app/components/modal/confirm-modal/confirm-modal.component.scss","webpack:///./src/app/components/modal/confirm-modal/confirm-modal.component.ts","webpack:///./src/app/components/modal/confirmsave-modal/confirmsave-modal.component.html","webpack:///./src/app/components/modal/confirmsave-modal/confirmsave-modal.component.scss","webpack:///./src/app/components/modal/confirmsave-modal/confirmsave-modal.component.ts","webpack:///./src/app/components/modal/hemo-modal/hemo-modal.component.html","webpack:///./src/app/components/modal/hemo-modal/hemo-modal.component.scss","webpack:///./src/app/components/modal/hemo-modal/hemo-modal.component.ts","webpack:///./src/app/components/modal/info-modal/info-modal-service.service.ts","webpack:///./src/app/components/modal/info-modal/info-modal.component.html","webpack:///./src/app/components/modal/info-modal/info-modal.component.scss","webpack:///./src/app/components/modal/info-modal/info-modal.component.ts","webpack:///./src/app/components/modal/modal.component.html","webpack:///./src/app/components/modal/modal.component.scss","webpack:///./src/app/components/modal/modal.component.ts","webpack:///./src/app/components/modal/procedure-modal/procedure-modal.component.html","webpack:///./src/app/components/modal/procedure-modal/procedure-modal.component.scss","webpack:///./src/app/components/modal/procedure-modal/procedure-modal.component.ts","webpack:///./src/app/components/modal/seriousness/seriousness.component.html","webpack:///./src/app/components/modal/seriousness/seriousness.component.scss","webpack:///./src/app/components/modal/seriousness/seriousness.component.ts","webpack:///./src/app/components/modal/sts-modal/sts-modal.component.html","webpack:///./src/app/components/modal/sts-modal/sts-modal.component.scss","webpack:///./src/app/components/modal/sts-modal/sts-modal.component.ts","webpack:///./src/app/components/modal/sts-tree/sts-tree.component.html","webpack:///./src/app/components/modal/sts-tree/sts-tree.component.scss","webpack:///./src/app/components/modal/sts-tree/sts-tree.component.ts","webpack:///./src/app/components/modal/user-info-modal/user-info-modal.component.html","webpack:///./src/app/components/modal/user-info-modal/user-info-modal.component.scss","webpack:///./src/app/components/modal/user-info-modal/user-info-modal.component.ts","webpack:///./src/app/components/navbar/navbar.component.html","webpack:///./src/app/components/navbar/navbar.component.scss","webpack:///./src/app/components/navbar/navbar.component.ts","webpack:///./src/app/components/navigation/router.service.ts","webpack:///./src/app/components/publications/publications.component.html","webpack:///./src/app/components/publications/publications.component.scss","webpack:///./src/app/components/publications/publications.component.ts","webpack:///./src/app/components/shared-data-entry/case-type-calc.service.ts","webpack:///./src/app/components/shared-data-entry/case-types-entry/case-type-tree-model.ts","webpack:///./src/app/components/shared-data-entry/case-types-entry/case-types-entry.component.html","webpack:///./src/app/components/shared-data-entry/case-types-entry/case-types-entry.component.scss","webpack:///./src/app/components/shared-data-entry/case-types-entry/case-types-entry.component.ts","webpack:///./src/app/components/shared-data-entry/case-types-entry/case-types-entry.service.ts","webpack:///./src/app/components/shared-data-entry/dropdown-data.ts","webpack:///./src/app/components/shared-data-entry/hemos/crisp-cat/crisp-cat-select.service.ts","webpack:///./src/app/components/shared-data-entry/hemos/crisp-cat/crisp-cat.component.html","webpack:///./src/app/components/shared-data-entry/hemos/crisp-cat/crisp-cat.component.ts","webpack:///./src/app/components/shared-data-entry/hemos/hemos.component.html","webpack:///./src/app/components/shared-data-entry/hemos/hemos.component.scss","webpack:///./src/app/components/shared-data-entry/hemos/hemos.component.ts","webpack:///./src/app/components/shared-data-entry/hemos/hemos.service.ts","webpack:///./src/app/components/shared-data-entry/major-adverse-event.service.ts","webpack:///./src/app/components/shared-data-entry/other-adverse-event.service.ts","webpack:///./src/app/components/shared-data-entry/picklist-item.service.ts","webpack:///./src/app/components/shared-data-entry/procedure-picklist.service.ts","webpack:///./src/app/components/shared-data-entry/sts-diagnosis.service.ts","webpack:///./src/app/components/sites/sites.component.html","webpack:///./src/app/components/sites/sites.component.scss","webpack:///./src/app/components/sites/sites.component.ts","webpack:///./src/app/components/user/add-case/add-case.component.html","webpack:///./src/app/components/user/add-case/add-case.component.scss","webpack:///./src/app/components/user/add-case/add-case.component.ts","webpack:///./src/app/components/user/add-case/adverse-events/adverse-events.component.html","webpack:///./src/app/components/user/add-case/adverse-events/adverse-events.component.scss","webpack:///./src/app/components/user/add-case/adverse-events/adverse-events.component.ts","webpack:///./src/app/components/user/add-case/case-fields.service.ts","webpack:///./src/app/components/user/add-case/case-id/case-id.component.html","webpack:///./src/app/components/user/add-case/case-id/case-id.component.scss","webpack:///./src/app/components/user/add-case/case-id/case-id.component.ts","webpack:///./src/app/components/user/add-case/case-types/case-types.component.html","webpack:///./src/app/components/user/add-case/case-types/case-types.component.scss","webpack:///./src/app/components/user/add-case/case-types/case-types.component.ts","webpack:///./src/app/components/user/add-case/case.service.ts","webpack:///./src/app/components/user/add-case/clinical-characteristics/clinical-characteristics.component.html","webpack:///./src/app/components/user/add-case/clinical-characteristics/clinical-characteristics.component.scss","webpack:///./src/app/components/user/add-case/clinical-characteristics/clinical-characteristics.component.ts","webpack:///./src/app/components/user/add-case/edit-case.component.html","webpack:///./src/app/components/user/add-case/edit-case.component.scss","webpack:///./src/app/components/user/add-case/edit-case.component.ts","webpack:///./src/app/components/user/add-case/eoc/eoc.component.html","webpack:///./src/app/components/user/add-case/eoc/eoc.component.scss","webpack:///./src/app/components/user/add-case/eoc/eoc.component.ts","webpack:///./src/app/components/user/add-case/hemodynamics/hemodynamics.component.html","webpack:///./src/app/components/user/add-case/hemodynamics/hemodynamics.component.scss","webpack:///./src/app/components/user/add-case/hemodynamics/hemodynamics.component.ts","webpack:///./src/app/components/user/add-case/indicators/indicators.component.html","webpack:///./src/app/components/user/add-case/indicators/indicators.component.scss","webpack:///./src/app/components/user/add-case/indicators/indicators.component.ts","webpack:///./src/app/components/user/add-case/missing-fields/missing-fields.component.html","webpack:///./src/app/components/user/add-case/missing-fields/missing-fields.component.scss","webpack:///./src/app/components/user/add-case/missing-fields/missing-fields.component.ts","webpack:///./src/app/components/user/add-case/pre-calc/pre-calc.component.html","webpack:///./src/app/components/user/add-case/pre-calc/pre-calc.component.scss","webpack:///./src/app/components/user/add-case/pre-calc/pre-calc.component.ts","webpack:///./src/app/components/user/add-case/procedural-efficacy/procedural-efficacy.component.html","webpack:///./src/app/components/user/add-case/procedural-efficacy/procedural-efficacy.component.scss","webpack:///./src/app/components/user/add-case/procedural-efficacy/procedural-efficacy.component.ts","webpack:///./src/app/components/user/add-case/procedure-characteristics/procedure-characteristics.component.html","webpack:///./src/app/components/user/add-case/procedure-characteristics/procedure-characteristics.component.scss","webpack:///./src/app/components/user/add-case/procedure-characteristics/procedure-characteristics.component.ts","webpack:///./src/app/components/user/case-lookup/case-lookup.component.html","webpack:///./src/app/components/user/case-lookup/case-lookup.component.scss","webpack:///./src/app/components/user/case-lookup/case-lookup.component.ts","webpack:///./src/app/components/user/case-lookup/case-lookup.service.ts","webpack:///./src/app/components/user/login.service.ts","webpack:///./src/app/components/user/manage-reports/manage-reports.component.html","webpack:///./src/app/components/user/manage-reports/manage-reports.component.scss","webpack:///./src/app/components/user/manage-reports/manage-reports.component.ts","webpack:///./src/app/components/user/manage-reports/report-services/adverse-events-report.service.ts","webpack:///./src/app/components/user/manage-reports/report-services/case-type.service.ts","webpack:///./src/app/components/user/manage-reports/report-services/characteristics.service.ts","webpack:///./src/app/components/user/manage-reports/report-services/color-service.service.ts","webpack:///./src/app/components/user/manage-reports/report-services/hemo-variables.service.ts","webpack:///./src/app/components/user/manage-reports/report-services/radiation.service.ts","webpack:///./src/app/components/user/manage-reports/report-services/report.service.ts","webpack:///./src/app/components/user/manage-reports/report-services/risk-adjustment.service.ts","webpack:///./src/app/components/user/manage-reports/report-services/risk-type.service.ts","webpack:///./src/app/components/user/manage-reports/report-templates/ae-component.ts","webpack:///./src/app/components/user/manage-reports/report-templates/case-volume-report-by-center-component.ts","webpack:///./src/app/components/user/manage-reports/report-templates/chart-type-menu-component.ts","webpack:///./src/app/components/user/manage-reports/report-templates/chart-view-menu-component.ts","webpack:///./src/app/components/user/manage-reports/report-templates/mm-component.ts","webpack:///./src/app/components/user/manage-reports/report-templates/mm-edit-component.ts","webpack:///./src/app/components/user/manage-reports/report-templates/site-case-volume-report-over-time-component.ts","webpack:///./src/app/components/user/manage-reports/report-templates/site-extract-component.ts","webpack:///./src/app/components/user/manage-reports/report-templates/stacked-items-menu-component.ts","webpack:///./src/app/components/user/manage-users/manage-users.component.html","webpack:///./src/app/components/user/manage-users/manage-users.component.scss","webpack:///./src/app/components/user/manage-users/manage-users.component.ts","webpack:///./src/app/components/user/manage-users/user-management.service.ts","webpack:///./src/app/components/user/user-menu/user-menu.component.html","webpack:///./src/app/components/user/user-menu/user-menu.component.scss","webpack:///./src/app/components/user/user-menu/user-menu.component.ts","webpack:///./src/app/pipes/age-type.pipe.ts","webpack:///./src/app/pipes/cath-date-format.pipe.ts","webpack:///./src/app/pipes/section-validate.pipe.ts","webpack:///./src/app/pipes/validation.pipe.ts","webpack:///./src/app/router-helper.ts","webpack:///./src/app/routing.ts","webpack:///./src/app/safehtmlpipe.ts","webpack:///./src/app/shared/case-type-calc-model.ts","webpack:///./src/app/shared/case-type-calc-request.ts","webpack:///./src/app/shared/case/case-addl-hemo-dynamics-info-model.ts","webpack:///./src/app/shared/case/case-addl-procedure-info-model.ts","webpack:///./src/app/shared/case/case-admit-dispos-info-model.ts","webpack:///./src/app/shared/case/case-ae-info-model.ts","webpack:///./src/app/shared/case/case-ae-item-model.ts","webpack:///./src/app/shared/case/case-clinical-info-model.ts","webpack:///./src/app/shared/case/case-hemo-dynamics-info-model.ts","webpack:///./src/app/shared/case/case-model.ts","webpack:///./src/app/shared/case/case-pre-calc-info-model.ts","webpack:///./src/app/shared/case/case-proc-assignment-model.ts","webpack:///./src/app/shared/case/case-proc-efficacy-model.ts","webpack:///./src/app/shared/case/case-procedure-info-model.ts","webpack:///./src/app/shared/case/case-req-resources-model.ts","webpack:///./src/app/shared/config.ts","webpack:///./src/app/shared/dropdown-item-model.ts","webpack:///./src/app/shared/email/mail-request-info-model.ts","webpack:///./src/app/shared/login-model.ts","webpack:///./src/app/shared/picklist-lookup-model.ts","webpack:///./src/app/shared/pre-case-calculation-model.ts","webpack:///./src/app/shared/report-model-ae.ts","webpack:///./src/app/shared/report-model-hemo-info.ts","webpack:///./src/app/shared/report-model-mm.ts","webpack:///./src/app/shared/report-request.ts","webpack:///./src/app/shared/search-model.ts","webpack:///./src/app/shared/user-model.ts","webpack:///./src/app/shared/weekday-model.ts","webpack:///./src/app/title.service.ts","webpack:///./src/environments/environment.ts","webpack:///./src/main.ts"],"names":[],"mappings":"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AAiB,mBAAO,CAAC,sEAAgB;AACzC,kBAAkB,mBAAO,CAAC,sEAAgB;AAC1C,cAAc,mBAAO,CAAC,wDAAS;AAC/B,eAAe,mBAAO,CAAC,sFAAwB;AAC/C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,qBAAqB;AACrB,6BAA6B;AAC7B,0BAA0B;AAC1B,0BAA0B;AAC1B,qBAAqB;AACrB;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,8EAA8E,OAAO;AACrF;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC,qBAAqB;AACrB,0BAA0B;AAC1B,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;;;;;;;;;;;;AC/Ia;AACb,kBAAkB,mBAAO,CAAC,wEAAiB;AAC3C,cAAc,mBAAO,CAAC,wDAAS;AAC/B,eAAe,mBAAO,CAAC,kEAAc;AACrC,eAAe,mBAAO,CAAC,kEAAc;AACrC,iBAAiB,mBAAO,CAAC,sEAAgB;AACzC,YAAY,mBAAO,CAAC,4DAAW;AAC/B,wBAAwB,mBAAO,CAAC,0EAAkB;AAClD,WAAW,mBAAO,CAAC,sDAAQ;AAC3B,eAAe,mBAAO,CAAC,sFAAwB;AAC/C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,qBAAqB;AACrB,qBAAqB;AACrB,0BAA0B;AAC1B;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;;;;;;;;;;;;ACpFa;AACb,aAAa,mBAAO,CAAC,4DAAW;AAChC,cAAc,mBAAO,CAAC,4DAAW;AACjC,eAAe,mBAAO,CAAC,gEAAa;AACpC,kBAAkB,mBAAO,CAAC,wEAAiB;AAC3C,WAAW,mBAAO,CAAC,wDAAS;AAC5B,YAAY,mBAAO,CAAC,4DAAW;AAC/B,iBAAiB,mBAAO,CAAC,sEAAgB;AACzC,eAAe,mBAAO,CAAC,kEAAc;AACrC,YAAY,mBAAO,CAAC,0DAAU;AAC9B,kBAAkB,mBAAO,CAAC,sEAAgB;AAC1C,qBAAqB,mBAAO,CAAC,kFAAsB;AACnD,wBAAwB,mBAAO,CAAC,sFAAwB;;AAExD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,OAAO,mCAAmC,gCAAgC,aAAa;AACvF,8BAA8B,mCAAmC,aAAa;AAC9E;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,qDAAqD;AACrD;AACA,kDAAkD,iBAAiB,EAAE;AACrE;AACA,wDAAwD,aAAa,EAAE,EAAE;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AAC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;AACA,cAAc,mBAAO,CAAC,0DAAU;AAChC,iDAAiD;AACjD,CAAC;AACD;AACA,qBAAqB;AACrB;AACA,SAAS;AACT,GAAG,EAAE;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACpDA,UAAU,mBAAO,CAAC,4DAAW;AAC7B,cAAc,mBAAO,CAAC,4DAAW;AACjC,aAAa,mBAAO,CAAC,4DAAW;AAChC,iDAAiD,mBAAO,CAAC,sEAAgB;;AAEzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D,gBAAgB,EAAE;AAC5E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;AClDa;AACb;AACA,kBAAkB,mBAAO,CAAC,sEAAgB;AAC1C,cAAc,mBAAO,CAAC,sEAAgB;AACtC,WAAW,mBAAO,CAAC,sEAAgB;AACnC,UAAU,mBAAO,CAAC,oEAAe;AACjC,eAAe,mBAAO,CAAC,kEAAc;AACrC,cAAc,mBAAO,CAAC,8DAAY;AAClC;;AAEA;AACA,6BAA6B,mBAAO,CAAC,0DAAU;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,UAAU,EAAE;AAChD,mBAAmB,sCAAsC;AACzD,CAAC,qCAAqC;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;;;;;;;;;;;;ACrCD;AACA,eAAe,mBAAO,CAAC,kEAAc;AACrC,UAAU,mBAAO,CAAC,oEAAe;AACjC,kBAAkB,mBAAO,CAAC,0EAAkB;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CrC,qBAAqB,mBAAO,CAAC,oEAAe;AAC5C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc;AACd;AACA,CAAC,EAAE;;;;;;;;;;;;ACfH,eAAe,mBAAO,CAAC,gEAAa;AACpC,eAAe,mBAAO,CAAC,kEAAc;AACrC;AACA;;AAEA,cAAc;AACd;AACA;AACA,CAAC,EAAE;;;;;;;;;;;;ACRH,gBAAgB,mBAAO,CAAC,gEAAa;AACrC,eAAe,mBAAO,CAAC,kEAAc;AACrC,gBAAgB,mBAAO,CAAC,oEAAe;AACvC;AACA;;AAEA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,EAAE;;;;;;;;;;;;ACdH;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,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6E;;;;;;;;;;;AC/RA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA,4CAA4C,WAAW;AACvD;AACA;AACA,4E;;;;;;;;;;;;ACRA;AAAA;AAAA;AAAA,uDAAuD;AACvD,0EAA0E;AAC1E,uFAAuF;AACvF,oEAAoE;;;;;;;AA8BzB;AAQ3C;IAAA;IAmCA,CAAC;IAlCC,0CAAa,GAAb,UAAc,SAAiC;QAC7C,IAAI,eAAe,GAAG,SAAS,CAAC,aAAa,EAAE,CAAC;QAGhD,IAAI,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;YACzH,IAAI,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC;gBAC/D,YAAY,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;YAEvC,IAAI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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtBgB;AACgB;AACF;AAEG;AACqB;AAClC;AACF;AACI;AACK;AAC0B;AACtB;AACX;AACO;AACV;AACK;AAEL;AACmC;AACJ;AACF;AACY;AACf;AAC6B;AACa;AACY;AACH;AACrB;AACL;AAC7F,+FAA+F;AACkB;AAC9B;AACT;AACN;AACQ;AACS;AACD;AACA;AACA;AACrB;AACsC;AACV;AACW;AACA;AACX;AAC3B;AAChE,uDAAuD;AACR;AACkC;AACE;AACO;AACS;AACT;AACH;AACmD;AACG;AAClB;AAEpB;AACP;AACY;AACX;AACrB;AACiB;AAEd;AAC4C;AACN;AAEjD;AACkB;AACE;AACH;AACrF,6FAA6F;AACX;AAC+B;AACV;AACS;AACf;AACY;AACvD;AAC4B;AACM;AACW;AACpD;AACwD;AACA;AAC3D;AACiD;AACE;AACO;AAChB;AACsC;AACvB;AACa;AAClH,yGAAyG;AACM;AACT;AACW;AACZ;AACQ;AACN;AAC7B;AACc;AACI;AACgB;AACzB;AACb;AACb;AACL;AACe;AACM;AACL;AACqB;AACG;AACrB;AACsE;AACS;AACnD;AACA;AACS;AACI;AACC;AACM;AACN;AAC1C;AACzB;AACY;AACY;AACkB;AAIxF,uBAAuB;AACoC;AACF;AACa;AACX;AACW;AACQ;AAE/B;AACqB;AACb;AAGvD,uBAAuB;AACc;AACrC,o6CAAo6C;AACp6C,2DAAmB,CAAC,yuCAAyuC,CAAC,CAAC;AAmJ/vC;IACE,mBAAoB,aAA4B;QAA5B,kBAAa,GAAb,aAAa,CAAe;IAAI,CAAC;IAD1C,SAAS;QAlJrB,8DAAQ,CAAC;YACR,YAAY,EAAE;gBACZ,4DAAY;gBACZ,0FAAmB;gBACnB,sFAAiB;gBACjB,oFAAe;gBACf,gGAAmB;gBACnB,iFAAc;gBACd,8GAAuB;gBACvB,2HAAsB;gBACtB,uIAA0B;gBAC1B,oIAAyB;gBACzB,+GAAkB;gBAClB,0GAAiB;gBAClB,qBAAqB;gBACpB,8HAAuB;gBACvB,gGAAmB;gBACnB,uFAAgB;g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","file":"main.js","sourcesContent":["require('../modules/es6.reflect.apply');\nrequire('../modules/es6.reflect.construct');\nrequire('../modules/es6.reflect.define-property');\nrequire('../modules/es6.reflect.delete-property');\nrequire('../modules/es6.reflect.enumerate');\nrequire('../modules/es6.reflect.get');\nrequire('../modules/es6.reflect.get-own-property-descriptor');\nrequire('../modules/es6.reflect.get-prototype-of');\nrequire('../modules/es6.reflect.has');\nrequire('../modules/es6.reflect.is-extensible');\nrequire('../modules/es6.reflect.own-keys');\nrequire('../modules/es6.reflect.prevent-extensions');\nrequire('../modules/es6.reflect.set');\nrequire('../modules/es6.reflect.set-prototype-of');\nmodule.exports = require('../modules/_core').Reflect;\n","require('../modules/es7.reflect.define-metadata');\nrequire('../modules/es7.reflect.delete-metadata');\nrequire('../modules/es7.reflect.get-metadata');\nrequire('../modules/es7.reflect.get-metadata-keys');\nrequire('../modules/es7.reflect.get-own-metadata');\nrequire('../modules/es7.reflect.get-own-metadata-keys');\nrequire('../modules/es7.reflect.has-metadata');\nrequire('../modules/es7.reflect.has-own-metadata');\nrequire('../modules/es7.reflect.metadata');\nmodule.exports = require('../modules/_core').Reflect;\n","module.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n","module.exports = function (it, Constructor, name, forbiddenField) {\n if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) {\n throw TypeError(name + ': incorrect invocation!');\n } return it;\n};\n","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n","var forOf = require('./_for-of');\n\nmodule.exports = function (iter, ITERATOR) {\n var result = [];\n forOf(iter, false, result.push, result, ITERATOR);\n return result;\n};\n","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n","// 0 -> Array#forEach\n// 1 -> Array#map\n// 2 -> Array#filter\n// 3 -> Array#some\n// 4 -> Array#every\n// 5 -> Array#find\n// 6 -> Array#findIndex\nvar ctx = require('./_ctx');\nvar IObject = require('./_iobject');\nvar toObject = require('./_to-object');\nvar toLength = require('./_to-length');\nvar asc = require('./_array-species-create');\nmodule.exports = function (TYPE, $create) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n var create = $create || asc;\n return function ($this, callbackfn, that) {\n var O = toObject($this);\n var self = IObject(O);\n var f = ctx(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;\n var val, res;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n val = self[index];\n res = f(val, index, O);\n if (TYPE) {\n if (IS_MAP) result[index] = res; // map\n else if (res) switch (TYPE) {\n case 3: return true; // some\n case 5: return val; // find\n case 6: return index; // findIndex\n case 2: result.push(val); // filter\n } else if (IS_EVERY) return false; // every\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;\n };\n};\n","var isObject = require('./_is-object');\nvar isArray = require('./_is-array');\nvar SPECIES = require('./_wks')('species');\n\nmodule.exports = function (original) {\n var C;\n if (isArray(original)) {\n C = original.constructor;\n // cross-realm fallback\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return C === undefined ? Array : C;\n};\n","// 9.4.2.3 ArraySpeciesCreate(originalArray, length)\nvar speciesConstructor = require('./_array-species-constructor');\n\nmodule.exports = function (original, length) {\n return new (speciesConstructor(original))(length);\n};\n","'use strict';\nvar aFunction = require('./_a-function');\nvar isObject = require('./_is-object');\nvar invoke = require('./_invoke');\nvar arraySlice = [].slice;\nvar factories = {};\n\nvar construct = function (F, len, args) {\n if (!(len in factories)) {\n for (var n = [], i = 0; i < len; i++) n[i] = 'a[' + i + ']';\n // eslint-disable-next-line no-new-func\n factories[len] = Function('F,a', 'return new F(' + n.join(',') + ')');\n } return factories[len](F, args);\n};\n\nmodule.exports = Function.bind || function bind(that /* , ...args */) {\n var fn = aFunction(this);\n var partArgs = arraySlice.call(arguments, 1);\n var bound = function (/* args... */) {\n var args = partArgs.concat(arraySlice.call(arguments));\n return this instanceof bound ? construct(fn, args.length, args) : invoke(fn, args, that);\n };\n if (isObject(fn.prototype)) bound.prototype = fn.prototype;\n return bound;\n};\n","// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = require('./_cof');\nvar TAG = require('./_wks')('toStringTag');\n// ES3 wrong here\nvar ARG = cof(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n // builtinTag case\n : ARG ? cof(O)\n // ES3 arguments fallback\n : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","'use strict';\nvar dP = require('./_object-dp').f;\nvar create = require('./_object-create');\nvar redefineAll = require('./_redefine-all');\nvar ctx = require('./_ctx');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar $iterDefine = require('./_iter-define');\nvar step = require('./_iter-step');\nvar setSpecies = require('./_set-species');\nvar DESCRIPTORS = require('./_descriptors');\nvar fastKey = require('./_meta').fastKey;\nvar validate = require('./_validate-collection');\nvar SIZE = DESCRIPTORS ? '_s' : 'size';\n\nvar getEntry = function (that, key) {\n // fast case\n var index = fastKey(key);\n var entry;\n if (index !== 'F') return that._i[index];\n // frozen object case\n for (entry = that._f; entry; entry = entry.n) {\n if (entry.k == key) return entry;\n }\n};\n\nmodule.exports = {\n getConstructor: function (wrapper, NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, NAME, '_i');\n that._t = NAME; // collection type\n that._i = create(null); // index\n that._f = undefined; // first entry\n that._l = undefined; // last entry\n that[SIZE] = 0; // size\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n });\n redefineAll(C.prototype, {\n // 23.1.3.1 Map.prototype.clear()\n // 23.2.3.2 Set.prototype.clear()\n clear: function clear() {\n for (var that = validate(this, NAME), data = that._i, entry = that._f; entry; entry = entry.n) {\n entry.r = true;\n if (entry.p) entry.p = entry.p.n = undefined;\n delete data[entry.i];\n }\n that._f = that._l = undefined;\n that[SIZE] = 0;\n },\n // 23.1.3.3 Map.prototype.delete(key)\n // 23.2.3.4 Set.prototype.delete(value)\n 'delete': function (key) {\n var that = validate(this, NAME);\n var entry = getEntry(that, key);\n if (entry) {\n var next = entry.n;\n var prev = entry.p;\n delete that._i[entry.i];\n entry.r = true;\n if (prev) prev.n = next;\n if (next) next.p = prev;\n if (that._f == entry) that._f = next;\n if (that._l == entry) that._l = prev;\n that[SIZE]--;\n } return !!entry;\n },\n // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)\n // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)\n forEach: function forEach(callbackfn /* , that = undefined */) {\n validate(this, NAME);\n var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);\n var entry;\n while (entry = entry ? entry.n : this._f) {\n f(entry.v, entry.k, this);\n // revert to the last existing entry\n while (entry && entry.r) entry = entry.p;\n }\n },\n // 23.1.3.7 Map.prototype.has(key)\n // 23.2.3.7 Set.prototype.has(value)\n has: function has(key) {\n return !!getEntry(validate(this, NAME), key);\n }\n });\n if (DESCRIPTORS) dP(C.prototype, 'size', {\n get: function () {\n return validate(this, NAME)[SIZE];\n }\n });\n return C;\n },\n def: function (that, key, value) {\n var entry = getEntry(that, key);\n var prev, index;\n // change existing entry\n if (entry) {\n entry.v = value;\n // create new entry\n } else {\n that._l = entry = {\n i: index = fastKey(key, true), // <- index\n k: key, // <- key\n v: value, // <- value\n p: prev = that._l, // <- previous entry\n n: undefined, // <- next entry\n r: false // <- removed\n };\n if (!that._f) that._f = entry;\n if (prev) prev.n = entry;\n that[SIZE]++;\n // add to index\n if (index !== 'F') that._i[index] = entry;\n } return that;\n },\n getEntry: getEntry,\n setStrong: function (C, NAME, IS_MAP) {\n // add .keys, .values, .entries, [@@iterator]\n // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11\n $iterDefine(C, NAME, function (iterated, kind) {\n this._t = validate(iterated, NAME); // target\n this._k = kind; // kind\n this._l = undefined; // previous\n }, function () {\n var that = this;\n var kind = that._k;\n var entry = that._l;\n // revert to the last existing entry\n while (entry && entry.r) entry = entry.p;\n // get next entry\n if (!that._t || !(that._l = entry = entry ? entry.n : that._t._f)) {\n // or finish the iteration\n that._t = undefined;\n return step(1);\n }\n // return step by kind\n if (kind == 'keys') return step(0, entry.k);\n if (kind == 'values') return step(0, entry.v);\n return step(0, [entry.k, entry.v]);\n }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n\n // add [@@species], 23.1.2.2, 23.2.2.2\n setSpecies(NAME);\n }\n};\n","'use strict';\nvar redefineAll = require('./_redefine-all');\nvar getWeak = require('./_meta').getWeak;\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar createArrayMethod = require('./_array-methods');\nvar $has = require('./_has');\nvar validate = require('./_validate-collection');\nvar arrayFind = createArrayMethod(5);\nvar arrayFindIndex = createArrayMethod(6);\nvar id = 0;\n\n// fallback for uncaught frozen keys\nvar uncaughtFrozenStore = function (that) {\n return that._l || (that._l = new UncaughtFrozenStore());\n};\nvar UncaughtFrozenStore = function () {\n this.a = [];\n};\nvar findUncaughtFrozen = function (store, key) {\n return arrayFind(store.a, function (it) {\n return it[0] === key;\n });\n};\nUncaughtFrozenStore.prototype = {\n get: function (key) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) return entry[1];\n },\n has: function (key) {\n return !!findUncaughtFrozen(this, key);\n },\n set: function (key, value) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) entry[1] = value;\n else this.a.push([key, value]);\n },\n 'delete': function (key) {\n var index = arrayFindIndex(this.a, function (it) {\n return it[0] === key;\n });\n if (~index) this.a.splice(index, 1);\n return !!~index;\n }\n};\n\nmodule.exports = {\n getConstructor: function (wrapper, NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, NAME, '_i');\n that._t = NAME; // collection type\n that._i = id++; // collection id\n that._l = undefined; // leak store for uncaught frozen objects\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n });\n redefineAll(C.prototype, {\n // 23.3.3.2 WeakMap.prototype.delete(key)\n // 23.4.3.3 WeakSet.prototype.delete(value)\n 'delete': function (key) {\n if (!isObject(key)) return false;\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, NAME))['delete'](key);\n return data && $has(data, this._i) && delete data[this._i];\n },\n // 23.3.3.4 WeakMap.prototype.has(key)\n // 23.4.3.4 WeakSet.prototype.has(value)\n has: function has(key) {\n if (!isObject(key)) return false;\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, NAME)).has(key);\n return data && $has(data, this._i);\n }\n });\n return C;\n },\n def: function (that, key, value) {\n var data = getWeak(anObject(key), true);\n if (data === true) uncaughtFrozenStore(that).set(key, value);\n else data[that._i] = value;\n return that;\n },\n ufstore: uncaughtFrozenStore\n};\n","'use strict';\nvar global = require('./_global');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar redefineAll = require('./_redefine-all');\nvar meta = require('./_meta');\nvar forOf = require('./_for-of');\nvar anInstance = require('./_an-instance');\nvar isObject = require('./_is-object');\nvar fails = require('./_fails');\nvar $iterDetect = require('./_iter-detect');\nvar setToStringTag = require('./_set-to-string-tag');\nvar inheritIfRequired = require('./_inherit-if-required');\n\nmodule.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) {\n var Base = global[NAME];\n var C = Base;\n var ADDER = IS_MAP ? 'set' : 'add';\n var proto = C && C.prototype;\n var O = {};\n var fixMethod = function (KEY) {\n var fn = proto[KEY];\n redefine(proto, KEY,\n KEY == 'delete' ? function (a) {\n return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'has' ? function has(a) {\n return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'get' ? function get(a) {\n return IS_WEAK && !isObject(a) ? undefined : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'add' ? function add(a) { fn.call(this, a === 0 ? 0 : a); return this; }\n : function set(a, b) { fn.call(this, a === 0 ? 0 : a, b); return this; }\n );\n };\n if (typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function () {\n new C().entries().next();\n }))) {\n // create collection constructor\n C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER);\n redefineAll(C.prototype, methods);\n meta.NEED = true;\n } else {\n var instance = new C();\n // early implementations not supports chaining\n var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;\n // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false\n var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });\n // most early implementations doesn't supports iterables, most modern - not close it correctly\n var ACCEPT_ITERABLES = $iterDetect(function (iter) { new C(iter); }); // eslint-disable-line no-new\n // for early implementations -0 and +0 not the same\n var BUGGY_ZERO = !IS_WEAK && fails(function () {\n // V8 ~ Chromium 42- fails only with 5+ elements\n var $instance = new C();\n var index = 5;\n while (index--) $instance[ADDER](index, index);\n return !$instance.has(-0);\n });\n if (!ACCEPT_ITERABLES) {\n C = wrapper(function (target, iterable) {\n anInstance(target, C, NAME);\n var that = inheritIfRequired(new Base(), target, C);\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n return that;\n });\n C.prototype = proto;\n proto.constructor = C;\n }\n if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);\n // weak collections should not contains .clear method\n if (IS_WEAK && proto.clear) delete proto.clear;\n }\n\n setToStringTag(C, NAME);\n\n O[NAME] = C;\n $export($export.G + $export.W + $export.F * (C != Base), O);\n\n if (!IS_WEAK) common.setStrong(C, NAME, IS_MAP);\n\n return C;\n};\n","var core = module.exports = { version: '2.6.11' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n","var isObject = require('./_is-object');\nvar document = require('./_global').document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return is ? document.createElement(it) : {};\n};\n","// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n","var global = require('./_global');\nvar core = require('./_core');\nvar hide = require('./_hide');\nvar redefine = require('./_redefine');\nvar ctx = require('./_ctx');\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n var IS_FORCED = type & $export.F;\n var IS_GLOBAL = type & $export.G;\n var IS_STATIC = type & $export.S;\n var IS_PROTO = type & $export.P;\n var IS_BIND = type & $export.B;\n var target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE];\n var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n var expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {});\n var key, own, out, exp;\n if (IS_GLOBAL) source = name;\n for (key in source) {\n // contains in native\n own = !IS_FORCED && target && target[key] !== undefined;\n // export native or passed\n out = (own ? target : source)[key];\n // bind timers to global for call from export context\n exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n // extend global\n if (target) redefine(target, key, out, type & $export.U);\n // export\n if (exports[key] != out) hide(exports, key, exp);\n if (IS_PROTO && expProto[key] != out) expProto[key] = out;\n }\n};\nglobal.core = core;\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\n$export.U = 64; // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (e) {\n return true;\n }\n};\n","var ctx = require('./_ctx');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar anObject = require('./_an-object');\nvar toLength = require('./_to-length');\nvar getIterFn = require('./core.get-iterator-method');\nvar BREAK = {};\nvar RETURN = {};\nvar exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {\n var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable);\n var f = ctx(fn, that, entries ? 2 : 1);\n var index = 0;\n var length, step, iterator, result;\n if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');\n // fast case for arrays with default iterator\n if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {\n result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);\n if (result === BREAK || result === RETURN) return result;\n } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {\n result = call(iterator, f, step.value, entries);\n if (result === BREAK || result === RETURN) return result;\n }\n};\nexports.BREAK = BREAK;\nexports.RETURN = RETURN;\n","module.exports = require('./_shared')('native-function-to-string', Function.toString);\n","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self\n // eslint-disable-next-line no-new-func\n : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","var dP = require('./_object-dp');\nvar createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function (object, key, value) {\n return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","var document = require('./_global').document;\nmodule.exports = document && document.documentElement;\n","module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n","var isObject = require('./_is-object');\nvar setPrototypeOf = require('./_set-proto').set;\nmodule.exports = function (that, target, C) {\n var S = target.constructor;\n var P;\n if (S !== C && typeof S == 'function' && (P = S.prototype) !== C.prototype && isObject(P) && setPrototypeOf) {\n setPrototypeOf(that, P);\n } return that;\n};\n","// fast apply, http://jsperf.lnkit.com/fast-apply/5\nmodule.exports = function (fn, args, that) {\n var un = that === undefined;\n switch (args.length) {\n case 0: return un ? fn()\n : fn.call(that);\n case 1: return un ? fn(args[0])\n : fn.call(that, args[0]);\n case 2: return un ? fn(args[0], args[1])\n : fn.call(that, args[0], args[1]);\n case 3: return un ? fn(args[0], args[1], args[2])\n : fn.call(that, args[0], args[1], args[2]);\n case 4: return un ? fn(args[0], args[1], args[2], args[3])\n : fn.call(that, args[0], args[1], args[2], args[3]);\n } return fn.apply(that, args);\n};\n","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n","// check on default Array iterator\nvar Iterators = require('./_iterators');\nvar ITERATOR = require('./_wks')('iterator');\nvar ArrayProto = Array.prototype;\n\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n","// 7.2.2 IsArray(argument)\nvar cof = require('./_cof');\nmodule.exports = Array.isArray || function isArray(arg) {\n return cof(arg) == 'Array';\n};\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","// call something on iterator step with safe closing on error\nvar anObject = require('./_an-object');\nmodule.exports = function (iterator, fn, value, entries) {\n try {\n return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch (e) {\n var ret = iterator['return'];\n if (ret !== undefined) anObject(ret.call(iterator));\n throw e;\n }\n};\n","'use strict';\nvar create = require('./_object-create');\nvar descriptor = require('./_property-desc');\nvar setToStringTag = require('./_set-to-string-tag');\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n","'use strict';\nvar LIBRARY = require('./_library');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar $iterCreate = require('./_iter-create');\nvar setToStringTag = require('./_set-to-string-tag');\nvar getPrototypeOf = require('./_object-gpo');\nvar ITERATOR = require('./_wks')('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n $iterCreate(Constructor, NAME, next);\n var getMethod = function (kind) {\n if (!BUGGY && kind in proto) return proto[kind];\n switch (kind) {\n case KEYS: return function keys() { return new Constructor(this, kind); };\n case VALUES: return function values() { return new Constructor(this, kind); };\n } return function entries() { return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator';\n var DEF_VALUES = DEFAULT == VALUES;\n var VALUES_BUG = false;\n var proto = Base.prototype;\n var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n var $default = $native || getMethod(DEFAULT);\n var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n var methods, key, IteratorPrototype;\n // Fix native\n if ($anyNative) {\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEF_VALUES && $native && $native.name !== VALUES) {\n VALUES_BUG = true;\n $default = function values() { return $native.call(this); };\n }\n // Define iterator\n if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if (DEFAULT) {\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if (FORCED) for (key in methods) {\n if (!(key in proto)) redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n","var ITERATOR = require('./_wks')('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var riter = [7][ITERATOR]();\n riter['return'] = function () { SAFE_CLOSING = true; };\n // eslint-disable-next-line no-throw-literal\n Array.from(riter, function () { throw 2; });\n} catch (e) { /* empty */ }\n\nmodule.exports = function (exec, skipClosing) {\n if (!skipClosing && !SAFE_CLOSING) return false;\n var safe = false;\n try {\n var arr = [7];\n var iter = arr[ITERATOR]();\n iter.next = function () { return { done: safe = true }; };\n arr[ITERATOR] = function () { return iter; };\n exec(arr);\n } catch (e) { /* empty */ }\n return safe;\n};\n","module.exports = function (done, value) {\n return { value: value, done: !!done };\n};\n","module.exports = {};\n","module.exports = false;\n","var META = require('./_uid')('meta');\nvar isObject = require('./_is-object');\nvar has = require('./_has');\nvar setDesc = require('./_object-dp').f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\nvar FREEZE = !require('./_fails')(function () {\n return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function (it) {\n setDesc(it, META, { value: {\n i: 'O' + ++id, // object ID\n w: {} // weak collections IDs\n } });\n};\nvar fastKey = function (it, create) {\n // return primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMeta(it);\n // return object ID\n } return it[META].i;\n};\nvar getWeak = function (it, create) {\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMeta(it);\n // return hash weak collections IDs\n } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n return it;\n};\nvar meta = module.exports = {\n KEY: META,\n NEED: false,\n fastKey: fastKey,\n getWeak: getWeak,\n onFreeze: onFreeze\n};\n","var Map = require('./es6.map');\nvar $export = require('./_export');\nvar shared = require('./_shared')('metadata');\nvar store = shared.store || (shared.store = new (require('./es6.weak-map'))());\n\nvar getOrCreateMetadataMap = function (target, targetKey, create) {\n var targetMetadata = store.get(target);\n if (!targetMetadata) {\n if (!create) return undefined;\n store.set(target, targetMetadata = new Map());\n }\n var keyMetadata = targetMetadata.get(targetKey);\n if (!keyMetadata) {\n if (!create) return undefined;\n targetMetadata.set(targetKey, keyMetadata = new Map());\n } return keyMetadata;\n};\nvar ordinaryHasOwnMetadata = function (MetadataKey, O, P) {\n var metadataMap = getOrCreateMetadataMap(O, P, false);\n return metadataMap === undefined ? false : metadataMap.has(MetadataKey);\n};\nvar ordinaryGetOwnMetadata = function (MetadataKey, O, P) {\n var metadataMap = getOrCreateMetadataMap(O, P, false);\n return metadataMap === undefined ? undefined : metadataMap.get(MetadataKey);\n};\nvar ordinaryDefineOwnMetadata = function (MetadataKey, MetadataValue, O, P) {\n getOrCreateMetadataMap(O, P, true).set(MetadataKey, MetadataValue);\n};\nvar ordinaryOwnMetadataKeys = function (target, targetKey) {\n var metadataMap = getOrCreateMetadataMap(target, targetKey, false);\n var keys = [];\n if (metadataMap) metadataMap.forEach(function (_, key) { keys.push(key); });\n return keys;\n};\nvar toMetaKey = function (it) {\n return it === undefined || typeof it == 'symbol' ? it : String(it);\n};\nvar exp = function (O) {\n $export($export.S, 'Reflect', O);\n};\n\nmodule.exports = {\n store: store,\n map: getOrCreateMetadataMap,\n has: ordinaryHasOwnMetadata,\n get: ordinaryGetOwnMetadata,\n set: ordinaryDefineOwnMetadata,\n keys: ordinaryOwnMetadataKeys,\n key: toMetaKey,\n exp: exp\n};\n","'use strict';\n// 19.1.2.1 Object.assign(target, source, ...)\nvar DESCRIPTORS = require('./_descriptors');\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nvar toObject = require('./_to-object');\nvar IObject = require('./_iobject');\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || require('./_fails')(function () {\n var A = {};\n var B = {};\n // eslint-disable-next-line no-undef\n var S = Symbol();\n var K = 'abcdefghijklmnopqrst';\n A[S] = 7;\n K.split('').forEach(function (k) { B[k] = k; });\n return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n var T = toObject(target);\n var aLen = arguments.length;\n var index = 1;\n var getSymbols = gOPS.f;\n var isEnum = pIE.f;\n while (aLen > index) {\n var S = IObject(arguments[index++]);\n var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || isEnum.call(S, key)) T[key] = S[key];\n }\n } return T;\n} : $assign;\n","// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = require('./_an-object');\nvar dPs = require('./_object-dps');\nvar enumBugKeys = require('./_enum-bug-keys');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = require('./_dom-create')('iframe');\n var i = enumBugKeys.length;\n var lt = '<';\n var gt = '>';\n var iframeDocument;\n iframe.style.display = 'none';\n require('./_html').appendChild(iframe);\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n // createDict = iframe.contentWindow.Object;\n // html.removeChild(iframe);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n","var anObject = require('./_an-object');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar toPrimitive = require('./_to-primitive');\nvar dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var dP = require('./_object-dp');\nvar anObject = require('./_an-object');\nvar getKeys = require('./_object-keys');\n\nmodule.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = getKeys(Properties);\n var length = keys.length;\n var i = 0;\n var P;\n while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};\n","var pIE = require('./_object-pie');\nvar createDesc = require('./_property-desc');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar has = require('./_has');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = require('./_descriptors') ? gOPD : function getOwnPropertyDescriptor(O, P) {\n O = toIObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return gOPD(O, P);\n } catch (e) { /* empty */ }\n if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n","// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = require('./_object-keys-internal');\nvar hiddenKeys = require('./_enum-bug-keys').concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return $keys(O, hiddenKeys);\n};\n","exports.f = Object.getOwnPropertySymbols;\n","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has');\nvar toObject = require('./_to-object');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n","var has = require('./_has');\nvar toIObject = require('./_to-iobject');\nvar arrayIndexOf = require('./_array-includes')(false);\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal');\nvar enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n","exports.f = {}.propertyIsEnumerable;\n","// all object keys, includes non-enumerable and symbols\nvar gOPN = require('./_object-gopn');\nvar gOPS = require('./_object-gops');\nvar anObject = require('./_an-object');\nvar Reflect = require('./_global').Reflect;\nmodule.exports = Reflect && Reflect.ownKeys || function ownKeys(it) {\n var keys = gOPN.f(anObject(it));\n var getSymbols = gOPS.f;\n return getSymbols ? keys.concat(getSymbols(it)) : keys;\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var redefine = require('./_redefine');\nmodule.exports = function (target, src, safe) {\n for (var key in src) redefine(target, key, src[key], safe);\n return target;\n};\n","var global = require('./_global');\nvar hide = require('./_hide');\nvar has = require('./_has');\nvar SRC = require('./_uid')('src');\nvar $toString = require('./_function-to-string');\nvar TO_STRING = 'toString';\nvar TPL = ('' + $toString).split(TO_STRING);\n\nrequire('./_core').inspectSource = function (it) {\n return $toString.call(it);\n};\n\n(module.exports = function (O, key, val, safe) {\n var isFunction = typeof val == 'function';\n if (isFunction) has(val, 'name') || hide(val, 'name', key);\n if (O[key] === val) return;\n if (isFunction) has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key)));\n if (O === global) {\n O[key] = val;\n } else if (!safe) {\n delete O[key];\n hide(O, key, val);\n } else if (O[key]) {\n O[key] = val;\n } else {\n hide(O, key, val);\n }\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, TO_STRING, function toString() {\n return typeof this == 'function' && this[SRC] || $toString.call(this);\n});\n","// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nvar isObject = require('./_is-object');\nvar anObject = require('./_an-object');\nvar check = function (O, proto) {\n anObject(O);\n if (!isObject(proto) && proto !== null) throw TypeError(proto + \": can't set as prototype!\");\n};\nmodule.exports = {\n set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line\n function (test, buggy, set) {\n try {\n set = require('./_ctx')(Function.call, require('./_object-gopd').f(Object.prototype, '__proto__').set, 2);\n set(test, []);\n buggy = !(test instanceof Array);\n } catch (e) { buggy = true; }\n return function setPrototypeOf(O, proto) {\n check(O, proto);\n if (buggy) O.__proto__ = proto;\n else set(O, proto);\n return O;\n };\n }({}, false) : undefined),\n check: check\n};\n","'use strict';\nvar global = require('./_global');\nvar dP = require('./_object-dp');\nvar DESCRIPTORS = require('./_descriptors');\nvar SPECIES = require('./_wks')('species');\n\nmodule.exports = function (KEY) {\n var C = global[KEY];\n if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n};\n","var def = require('./_object-dp').f;\nvar has = require('./_has');\nvar TAG = require('./_wks')('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n","var shared = require('./_shared')('keys');\nvar uid = require('./_uid');\nmodule.exports = function (key) {\n return shared[key] || (shared[key] = uid(key));\n};\n","var core = require('./_core');\nvar global = require('./_global');\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: core.version,\n mode: require('./_library') ? 'pure' : 'global',\n copyright: '© 2019 Denis Pushkarev (zloirock.ru)'\n});\n","var toInteger = require('./_to-integer');\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n","// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject');\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return IObject(defined(it));\n};\n","// 7.1.15 ToLength\nvar toInteger = require('./_to-integer');\nvar min = Math.min;\nmodule.exports = function (it) {\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n","// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return Object(defined(it));\n};\n","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","var id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n","var isObject = require('./_is-object');\nmodule.exports = function (it, TYPE) {\n if (!isObject(it) || it._t !== TYPE) throw TypeError('Incompatible receiver, ' + TYPE + ' required!');\n return it;\n};\n","var store = require('./_shared')('wks');\nvar uid = require('./_uid');\nvar Symbol = require('./_global').Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n return store[name] || (store[name] =\n USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n","var classof = require('./_classof');\nvar ITERATOR = require('./_wks')('iterator');\nvar Iterators = require('./_iterators');\nmodule.exports = require('./_core').getIteratorMethod = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n","'use strict';\nvar strong = require('./_collection-strong');\nvar validate = require('./_validate-collection');\nvar MAP = 'Map';\n\n// 23.1 Map Objects\nmodule.exports = require('./_collection')(MAP, function (get) {\n return function Map() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.1.3.6 Map.prototype.get(key)\n get: function get(key) {\n var entry = strong.getEntry(validate(this, MAP), key);\n return entry && entry.v;\n },\n // 23.1.3.9 Map.prototype.set(key, value)\n set: function set(key, value) {\n return strong.def(validate(this, MAP), key === 0 ? 0 : key, value);\n }\n}, strong, true);\n","// 26.1.1 Reflect.apply(target, thisArgument, argumentsList)\nvar $export = require('./_export');\nvar aFunction = require('./_a-function');\nvar anObject = require('./_an-object');\nvar rApply = (require('./_global').Reflect || {}).apply;\nvar fApply = Function.apply;\n// MS Edge argumentsList argument is optional\n$export($export.S + $export.F * !require('./_fails')(function () {\n rApply(function () { /* empty */ });\n}), 'Reflect', {\n apply: function apply(target, thisArgument, argumentsList) {\n var T = aFunction(target);\n var L = anObject(argumentsList);\n return rApply ? rApply(T, thisArgument, L) : fApply.call(T, thisArgument, L);\n }\n});\n","// 26.1.2 Reflect.construct(target, argumentsList [, newTarget])\nvar $export = require('./_export');\nvar create = require('./_object-create');\nvar aFunction = require('./_a-function');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar fails = require('./_fails');\nvar bind = require('./_bind');\nvar rConstruct = (require('./_global').Reflect || {}).construct;\n\n// MS Edge supports only 2 arguments and argumentsList argument is optional\n// FF Nightly sets third argument as `new.target`, but does not create `this` from it\nvar NEW_TARGET_BUG = fails(function () {\n function F() { /* empty */ }\n return !(rConstruct(function () { /* empty */ }, [], F) instanceof F);\n});\nvar ARGS_BUG = !fails(function () {\n rConstruct(function () { /* empty */ });\n});\n\n$export($export.S + $export.F * (NEW_TARGET_BUG || ARGS_BUG), 'Reflect', {\n construct: function construct(Target, args /* , newTarget */) {\n aFunction(Target);\n anObject(args);\n var newTarget = arguments.length < 3 ? Target : aFunction(arguments[2]);\n if (ARGS_BUG && !NEW_TARGET_BUG) return rConstruct(Target, args, newTarget);\n if (Target == newTarget) {\n // w/o altered newTarget, optimization for 0-4 arguments\n switch (args.length) {\n case 0: return new Target();\n case 1: return new Target(args[0]);\n case 2: return new Target(args[0], args[1]);\n case 3: return new Target(args[0], args[1], args[2]);\n case 4: return new Target(args[0], args[1], args[2], args[3]);\n }\n // w/o altered newTarget, lot of arguments case\n var $args = [null];\n $args.push.apply($args, args);\n return new (bind.apply(Target, $args))();\n }\n // with altered newTarget, not support built-in constructors\n var proto = newTarget.prototype;\n var instance = create(isObject(proto) ? proto : Object.prototype);\n var result = Function.apply.call(Target, instance, args);\n return isObject(result) ? result : instance;\n }\n});\n","// 26.1.3 Reflect.defineProperty(target, propertyKey, attributes)\nvar dP = require('./_object-dp');\nvar $export = require('./_export');\nvar anObject = require('./_an-object');\nvar toPrimitive = require('./_to-primitive');\n\n// MS Edge has broken Reflect.defineProperty - throwing instead of returning false\n$export($export.S + $export.F * require('./_fails')(function () {\n // eslint-disable-next-line no-undef\n Reflect.defineProperty(dP.f({}, 1, { value: 1 }), 1, { value: 2 });\n}), 'Reflect', {\n defineProperty: function defineProperty(target, propertyKey, attributes) {\n anObject(target);\n propertyKey = toPrimitive(propertyKey, true);\n anObject(attributes);\n try {\n dP.f(target, propertyKey, attributes);\n return true;\n } catch (e) {\n return false;\n }\n }\n});\n","// 26.1.4 Reflect.deleteProperty(target, propertyKey)\nvar $export = require('./_export');\nvar gOPD = require('./_object-gopd').f;\nvar anObject = require('./_an-object');\n\n$export($export.S, 'Reflect', {\n deleteProperty: function deleteProperty(target, propertyKey) {\n var desc = gOPD(anObject(target), propertyKey);\n return desc && !desc.configurable ? false : delete target[propertyKey];\n }\n});\n","'use strict';\n// 26.1.5 Reflect.enumerate(target)\nvar $export = require('./_export');\nvar anObject = require('./_an-object');\nvar Enumerate = function (iterated) {\n this._t = anObject(iterated); // target\n this._i = 0; // next index\n var keys = this._k = []; // keys\n var key;\n for (key in iterated) keys.push(key);\n};\nrequire('./_iter-create')(Enumerate, 'Object', function () {\n var that = this;\n var keys = that._k;\n var key;\n do {\n if (that._i >= keys.length) return { value: undefined, done: true };\n } while (!((key = keys[that._i++]) in that._t));\n return { value: key, done: false };\n});\n\n$export($export.S, 'Reflect', {\n enumerate: function enumerate(target) {\n return new Enumerate(target);\n }\n});\n","// 26.1.7 Reflect.getOwnPropertyDescriptor(target, propertyKey)\nvar gOPD = require('./_object-gopd');\nvar $export = require('./_export');\nvar anObject = require('./_an-object');\n\n$export($export.S, 'Reflect', {\n getOwnPropertyDescriptor: function getOwnPropertyDescriptor(target, propertyKey) {\n return gOPD.f(anObject(target), propertyKey);\n }\n});\n","// 26.1.8 Reflect.getPrototypeOf(target)\nvar $export = require('./_export');\nvar getProto = require('./_object-gpo');\nvar anObject = require('./_an-object');\n\n$export($export.S, 'Reflect', {\n getPrototypeOf: function getPrototypeOf(target) {\n return getProto(anObject(target));\n }\n});\n","// 26.1.6 Reflect.get(target, propertyKey [, receiver])\nvar gOPD = require('./_object-gopd');\nvar getPrototypeOf = require('./_object-gpo');\nvar has = require('./_has');\nvar $export = require('./_export');\nvar isObject = require('./_is-object');\nvar anObject = require('./_an-object');\n\nfunction get(target, propertyKey /* , receiver */) {\n var receiver = arguments.length < 3 ? target : arguments[2];\n var desc, proto;\n if (anObject(target) === receiver) return target[propertyKey];\n if (desc = gOPD.f(target, propertyKey)) return has(desc, 'value')\n ? desc.value\n : desc.get !== undefined\n ? desc.get.call(receiver)\n : undefined;\n if (isObject(proto = getPrototypeOf(target))) return get(proto, propertyKey, receiver);\n}\n\n$export($export.S, 'Reflect', { get: get });\n","// 26.1.9 Reflect.has(target, propertyKey)\nvar $export = require('./_export');\n\n$export($export.S, 'Reflect', {\n has: function has(target, propertyKey) {\n return propertyKey in target;\n }\n});\n","// 26.1.10 Reflect.isExtensible(target)\nvar $export = require('./_export');\nvar anObject = require('./_an-object');\nvar $isExtensible = Object.isExtensible;\n\n$export($export.S, 'Reflect', {\n isExtensible: function isExtensible(target) {\n anObject(target);\n return $isExtensible ? $isExtensible(target) : true;\n }\n});\n","// 26.1.11 Reflect.ownKeys(target)\nvar $export = require('./_export');\n\n$export($export.S, 'Reflect', { ownKeys: require('./_own-keys') });\n","// 26.1.12 Reflect.preventExtensions(target)\nvar $export = require('./_export');\nvar anObject = require('./_an-object');\nvar $preventExtensions = Object.preventExtensions;\n\n$export($export.S, 'Reflect', {\n preventExtensions: function preventExtensions(target) {\n anObject(target);\n try {\n if ($preventExtensions) $preventExtensions(target);\n return true;\n } catch (e) {\n return false;\n }\n }\n});\n","// 26.1.14 Reflect.setPrototypeOf(target, proto)\nvar $export = require('./_export');\nvar setProto = require('./_set-proto');\n\nif (setProto) $export($export.S, 'Reflect', {\n setPrototypeOf: function setPrototypeOf(target, proto) {\n setProto.check(target, proto);\n try {\n setProto.set(target, proto);\n return true;\n } catch (e) {\n return false;\n }\n }\n});\n","// 26.1.13 Reflect.set(target, propertyKey, V [, receiver])\nvar dP = require('./_object-dp');\nvar gOPD = require('./_object-gopd');\nvar getPrototypeOf = require('./_object-gpo');\nvar has = require('./_has');\nvar $export = require('./_export');\nvar createDesc = require('./_property-desc');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\n\nfunction set(target, propertyKey, V /* , receiver */) {\n var receiver = arguments.length < 4 ? target : arguments[3];\n var ownDesc = gOPD.f(anObject(target), propertyKey);\n var existingDescriptor, proto;\n if (!ownDesc) {\n if (isObject(proto = getPrototypeOf(target))) {\n return set(proto, propertyKey, V, receiver);\n }\n ownDesc = createDesc(0);\n }\n if (has(ownDesc, 'value')) {\n if (ownDesc.writable === false || !isObject(receiver)) return false;\n if (existingDescriptor = gOPD.f(receiver, propertyKey)) {\n if (existingDescriptor.get || existingDescriptor.set || existingDescriptor.writable === false) return false;\n existingDescriptor.value = V;\n dP.f(receiver, propertyKey, existingDescriptor);\n } else dP.f(receiver, propertyKey, createDesc(0, V));\n return true;\n }\n return ownDesc.set === undefined ? false : (ownDesc.set.call(receiver, V), true);\n}\n\n$export($export.S, 'Reflect', { set: set });\n","'use strict';\nvar strong = require('./_collection-strong');\nvar validate = require('./_validate-collection');\nvar SET = 'Set';\n\n// 23.2 Set Objects\nmodule.exports = require('./_collection')(SET, function (get) {\n return function Set() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.2.3.1 Set.prototype.add(value)\n add: function add(value) {\n return strong.def(validate(this, SET), value = value === 0 ? 0 : value, value);\n }\n}, strong);\n","'use strict';\nvar global = require('./_global');\nvar each = require('./_array-methods')(0);\nvar redefine = require('./_redefine');\nvar meta = require('./_meta');\nvar assign = require('./_object-assign');\nvar weak = require('./_collection-weak');\nvar isObject = require('./_is-object');\nvar validate = require('./_validate-collection');\nvar NATIVE_WEAK_MAP = require('./_validate-collection');\nvar IS_IE11 = !global.ActiveXObject && 'ActiveXObject' in global;\nvar WEAK_MAP = 'WeakMap';\nvar getWeak = meta.getWeak;\nvar isExtensible = Object.isExtensible;\nvar uncaughtFrozenStore = weak.ufstore;\nvar InternalMap;\n\nvar wrapper = function (get) {\n return function WeakMap() {\n return get(this, arguments.length > 0 ? arguments[0] : undefined);\n };\n};\n\nvar methods = {\n // 23.3.3.3 WeakMap.prototype.get(key)\n get: function get(key) {\n if (isObject(key)) {\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, WEAK_MAP)).get(key);\n return data ? data[this._i] : undefined;\n }\n },\n // 23.3.3.5 WeakMap.prototype.set(key, value)\n set: function set(key, value) {\n return weak.def(validate(this, WEAK_MAP), key, value);\n }\n};\n\n// 23.3 WeakMap Objects\nvar $WeakMap = module.exports = require('./_collection')(WEAK_MAP, wrapper, methods, weak, true, true);\n\n// IE11 WeakMap frozen keys fix\nif (NATIVE_WEAK_MAP && IS_IE11) {\n InternalMap = weak.getConstructor(wrapper, WEAK_MAP);\n assign(InternalMap.prototype, methods);\n meta.NEED = true;\n each(['delete', 'has', 'get', 'set'], function (key) {\n var proto = $WeakMap.prototype;\n var method = proto[key];\n redefine(proto, key, function (a, b) {\n // store frozen objects on internal weakmap shim\n if (isObject(a) && !isExtensible(a)) {\n if (!this._f) this._f = new InternalMap();\n var result = this._f[key](a, b);\n return key == 'set' ? this : result;\n // store all the rest on native weakmap\n } return method.call(this, a, b);\n });\n });\n}\n","var metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar toMetaKey = metadata.key;\nvar ordinaryDefineOwnMetadata = metadata.set;\n\nmetadata.exp({ defineMetadata: function defineMetadata(metadataKey, metadataValue, target, targetKey) {\n ordinaryDefineOwnMetadata(metadataKey, metadataValue, anObject(target), toMetaKey(targetKey));\n} });\n","var metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar toMetaKey = metadata.key;\nvar getOrCreateMetadataMap = metadata.map;\nvar store = metadata.store;\n\nmetadata.exp({ deleteMetadata: function deleteMetadata(metadataKey, target /* , targetKey */) {\n var targetKey = arguments.length < 3 ? undefined : toMetaKey(arguments[2]);\n var metadataMap = getOrCreateMetadataMap(anObject(target), targetKey, false);\n if (metadataMap === undefined || !metadataMap['delete'](metadataKey)) return false;\n if (metadataMap.size) return true;\n var targetMetadata = store.get(target);\n targetMetadata['delete'](targetKey);\n return !!targetMetadata.size || store['delete'](target);\n} });\n","var Set = require('./es6.set');\nvar from = require('./_array-from-iterable');\nvar metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar getPrototypeOf = require('./_object-gpo');\nvar ordinaryOwnMetadataKeys = metadata.keys;\nvar toMetaKey = metadata.key;\n\nvar ordinaryMetadataKeys = function (O, P) {\n var oKeys = ordinaryOwnMetadataKeys(O, P);\n var parent = getPrototypeOf(O);\n if (parent === null) return oKeys;\n var pKeys = ordinaryMetadataKeys(parent, P);\n return pKeys.length ? oKeys.length ? from(new Set(oKeys.concat(pKeys))) : pKeys : oKeys;\n};\n\nmetadata.exp({ getMetadataKeys: function getMetadataKeys(target /* , targetKey */) {\n return ordinaryMetadataKeys(anObject(target), arguments.length < 2 ? undefined : toMetaKey(arguments[1]));\n} });\n","var metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar getPrototypeOf = require('./_object-gpo');\nvar ordinaryHasOwnMetadata = metadata.has;\nvar ordinaryGetOwnMetadata = metadata.get;\nvar toMetaKey = metadata.key;\n\nvar ordinaryGetMetadata = function (MetadataKey, O, P) {\n var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P);\n if (hasOwn) return ordinaryGetOwnMetadata(MetadataKey, O, P);\n var parent = getPrototypeOf(O);\n return parent !== null ? ordinaryGetMetadata(MetadataKey, parent, P) : undefined;\n};\n\nmetadata.exp({ getMetadata: function getMetadata(metadataKey, target /* , targetKey */) {\n return ordinaryGetMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n} });\n","var metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar ordinaryOwnMetadataKeys = metadata.keys;\nvar toMetaKey = metadata.key;\n\nmetadata.exp({ getOwnMetadataKeys: function getOwnMetadataKeys(target /* , targetKey */) {\n return ordinaryOwnMetadataKeys(anObject(target), arguments.length < 2 ? undefined : toMetaKey(arguments[1]));\n} });\n","var metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar ordinaryGetOwnMetadata = metadata.get;\nvar toMetaKey = metadata.key;\n\nmetadata.exp({ getOwnMetadata: function getOwnMetadata(metadataKey, target /* , targetKey */) {\n return ordinaryGetOwnMetadata(metadataKey, anObject(target)\n , arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n} });\n","var metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar getPrototypeOf = require('./_object-gpo');\nvar ordinaryHasOwnMetadata = metadata.has;\nvar toMetaKey = metadata.key;\n\nvar ordinaryHasMetadata = function (MetadataKey, O, P) {\n var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P);\n if (hasOwn) return true;\n var parent = getPrototypeOf(O);\n return parent !== null ? ordinaryHasMetadata(MetadataKey, parent, P) : false;\n};\n\nmetadata.exp({ hasMetadata: function hasMetadata(metadataKey, target /* , targetKey */) {\n return ordinaryHasMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n} });\n","var metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar ordinaryHasOwnMetadata = metadata.has;\nvar toMetaKey = metadata.key;\n\nmetadata.exp({ hasOwnMetadata: function hasOwnMetadata(metadataKey, target /* , targetKey */) {\n return ordinaryHasOwnMetadata(metadataKey, anObject(target)\n , arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n} });\n","var $metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar aFunction = require('./_a-function');\nvar toMetaKey = $metadata.key;\nvar ordinaryDefineOwnMetadata = $metadata.set;\n\n$metadata.exp({ metadata: function metadata(metadataKey, metadataValue) {\n return function decorator(target, targetKey) {\n ordinaryDefineOwnMetadata(\n metadataKey, metadataValue,\n (targetKey !== undefined ? anObject : aFunction)(target),\n toMetaKey(targetKey)\n );\n };\n} });\n","var map = {\n\t\"./af\": \"./node_modules/moment/locale/af.js\",\n\t\"./af.js\": \"./node_modules/moment/locale/af.js\",\n\t\"./ar\": \"./node_modules/moment/locale/ar.js\",\n\t\"./ar-dz\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-dz.js\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-kw\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-kw.js\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-ly\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ly.js\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ma\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-ma.js\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-sa\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-sa.js\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-tn\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar-tn.js\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar.js\": \"./node_modules/moment/locale/ar.js\",\n\t\"./az\": \"./node_modules/moment/locale/az.js\",\n\t\"./az.js\": \"./node_modules/moment/locale/az.js\",\n\t\"./be\": \"./node_modules/moment/locale/be.js\",\n\t\"./be.js\": \"./node_modules/moment/locale/be.js\",\n\t\"./bg\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bg.js\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bm\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bm.js\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bn\": \"./node_modules/moment/locale/bn.js\",\n\t\"./bn.js\": \"./node_modules/moment/locale/bn.js\",\n\t\"./bo\": \"./node_modules/moment/locale/bo.js\",\n\t\"./bo.js\": \"./node_modules/moment/locale/bo.js\",\n\t\"./br\": \"./node_modules/moment/locale/br.js\",\n\t\"./br.js\": \"./node_modules/moment/locale/br.js\",\n\t\"./bs\": \"./node_modules/moment/locale/bs.js\",\n\t\"./bs.js\": \"./node_modules/moment/locale/bs.js\",\n\t\"./ca\": \"./node_modules/moment/locale/ca.js\",\n\t\"./ca.js\": \"./node_modules/moment/locale/ca.js\",\n\t\"./cs\": \"./node_modules/moment/locale/cs.js\",\n\t\"./cs.js\": \"./node_modules/moment/locale/cs.js\",\n\t\"./cv\": \"./node_modules/moment/locale/cv.js\",\n\t\"./cv.js\": \"./node_modules/moment/locale/cv.js\",\n\t\"./cy\": \"./node_modules/moment/locale/cy.js\",\n\t\"./cy.js\": \"./node_modules/moment/locale/cy.js\",\n\t\"./da\": \"./node_modules/moment/locale/da.js\",\n\t\"./da.js\": \"./node_modules/moment/locale/da.js\",\n\t\"./de\": \"./node_modules/moment/locale/de.js\",\n\t\"./de-at\": \"./node_modules/moment/locale/de-at.js\",\n\t\"./de-at.js\": \"./node_modules/moment/locale/de-at.js\",\n\t\"./de-ch\": \"./node_modules/moment/locale/de-ch.js\",\n\t\"./de-ch.js\": \"./node_modules/moment/locale/de-ch.js\",\n\t\"./de.js\": \"./node_modules/moment/locale/de.js\",\n\t\"./dv\": \"./node_modules/moment/locale/dv.js\",\n\t\"./dv.js\": \"./node_modules/moment/locale/dv.js\",\n\t\"./el\": \"./node_modules/moment/locale/el.js\",\n\t\"./el.js\": \"./node_modules/moment/locale/el.js\",\n\t\"./en-au\": \"./node_modules/moment/locale/en-au.js\",\n\t\"./en-au.js\": \"./node_modules/moment/locale/en-au.js\",\n\t\"./en-ca\": \"./node_modules/moment/locale/en-ca.js\",\n\t\"./en-ca.js\": \"./node_modules/moment/locale/en-ca.js\",\n\t\"./en-gb\": \"./node_modules/moment/locale/en-gb.js\",\n\t\"./en-gb.js\": \"./node_modules/moment/locale/en-gb.js\",\n\t\"./en-ie\": \"./node_modules/moment/locale/en-ie.js\",\n\t\"./en-ie.js\": \"./node_modules/moment/locale/en-ie.js\",\n\t\"./en-il\": \"./node_modules/moment/locale/en-il.js\",\n\t\"./en-il.js\": \"./node_modules/moment/locale/en-il.js\",\n\t\"./en-in\": \"./node_modules/moment/locale/en-in.js\",\n\t\"./en-in.js\": \"./node_modules/moment/locale/en-in.js\",\n\t\"./en-nz\": \"./node_modules/moment/locale/en-nz.js\",\n\t\"./en-nz.js\": \"./node_modules/moment/locale/en-nz.js\",\n\t\"./en-sg\": \"./node_modules/moment/locale/en-sg.js\",\n\t\"./en-sg.js\": \"./node_modules/moment/locale/en-sg.js\",\n\t\"./eo\": \"./node_modules/moment/locale/eo.js\",\n\t\"./eo.js\": \"./node_modules/moment/locale/eo.js\",\n\t\"./es\": \"./node_modules/moment/locale/es.js\",\n\t\"./es-do\": \"./node_modules/moment/locale/es-do.js\",\n\t\"./es-do.js\": \"./node_modules/moment/locale/es-do.js\",\n\t\"./es-us\": \"./node_modules/moment/locale/es-us.js\",\n\t\"./es-us.js\": \"./node_modules/moment/locale/es-us.js\",\n\t\"./es.js\": \"./node_modules/moment/locale/es.js\",\n\t\"./et\": \"./node_modules/moment/locale/et.js\",\n\t\"./et.js\": \"./node_modules/moment/locale/et.js\",\n\t\"./eu\": \"./node_modules/moment/locale/eu.js\",\n\t\"./eu.js\": \"./node_modules/moment/locale/eu.js\",\n\t\"./fa\": \"./node_modules/moment/locale/fa.js\",\n\t\"./fa.js\": \"./node_modules/moment/locale/fa.js\",\n\t\"./fi\": \"./node_modules/moment/locale/fi.js\",\n\t\"./fi.js\": \"./node_modules/moment/locale/fi.js\",\n\t\"./fil\": \"./node_modules/moment/locale/fil.js\",\n\t\"./fil.js\": \"./node_modules/moment/locale/fil.js\",\n\t\"./fo\": \"./node_modules/moment/locale/fo.js\",\n\t\"./fo.js\": \"./node_modules/moment/locale/fo.js\",\n\t\"./fr\": \"./node_modules/moment/locale/fr.js\",\n\t\"./fr-ca\": \"./node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ca.js\": \"./node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ch\": \"./node_modules/moment/locale/fr-ch.js\",\n\t\"./fr-ch.js\": \"./node_modules/moment/locale/fr-ch.js\",\n\t\"./fr.js\": \"./node_modules/moment/locale/fr.js\",\n\t\"./fy\": \"./node_modules/moment/locale/fy.js\",\n\t\"./fy.js\": \"./node_modules/moment/locale/fy.js\",\n\t\"./ga\": \"./node_modules/moment/locale/ga.js\",\n\t\"./ga.js\": \"./node_modules/moment/locale/ga.js\",\n\t\"./gd\": \"./node_modules/moment/locale/gd.js\",\n\t\"./gd.js\": \"./node_modules/moment/locale/gd.js\",\n\t\"./gl\": \"./node_modules/moment/locale/gl.js\",\n\t\"./gl.js\": \"./node_modules/moment/locale/gl.js\",\n\t\"./gom-deva\": \"./node_modules/moment/locale/gom-deva.js\",\n\t\"./gom-deva.js\": \"./node_modules/moment/locale/gom-deva.js\",\n\t\"./gom-latn\": \"./node_modules/moment/locale/gom-latn.js\",\n\t\"./gom-latn.js\": \"./node_modules/moment/locale/gom-latn.js\",\n\t\"./gu\": \"./node_modules/moment/locale/gu.js\",\n\t\"./gu.js\": \"./node_modules/moment/locale/gu.js\",\n\t\"./he\": \"./node_modules/moment/locale/he.js\",\n\t\"./he.js\": \"./node_modules/moment/locale/he.js\",\n\t\"./hi\": \"./node_modules/moment/locale/hi.js\",\n\t\"./hi.js\": \"./node_modules/moment/locale/hi.js\",\n\t\"./hr\": \"./node_modules/moment/locale/hr.js\",\n\t\"./hr.js\": \"./node_modules/moment/locale/hr.js\",\n\t\"./hu\": \"./node_modules/moment/locale/hu.js\",\n\t\"./hu.js\": \"./node_modules/moment/locale/hu.js\",\n\t\"./hy-am\": \"./node_modules/moment/locale/hy-am.js\",\n\t\"./hy-am.js\": \"./node_modules/moment/locale/hy-am.js\",\n\t\"./id\": \"./node_modules/moment/locale/id.js\",\n\t\"./id.js\": \"./node_modules/moment/locale/id.js\",\n\t\"./is\": \"./node_modules/moment/locale/is.js\",\n\t\"./is.js\": \"./node_modules/moment/locale/is.js\",\n\t\"./it\": \"./node_modules/moment/locale/it.js\",\n\t\"./it-ch\": \"./node_modules/moment/locale/it-ch.js\",\n\t\"./it-ch.js\": \"./node_modules/moment/locale/it-ch.js\",\n\t\"./it.js\": \"./node_modules/moment/locale/it.js\",\n\t\"./ja\": \"./node_modules/moment/locale/ja.js\",\n\t\"./ja.js\": \"./node_modules/moment/locale/ja.js\",\n\t\"./jv\": \"./node_modules/moment/locale/jv.js\",\n\t\"./jv.js\": \"./node_modules/moment/locale/jv.js\",\n\t\"./ka\": \"./node_modules/moment/locale/ka.js\",\n\t\"./ka.js\": \"./node_modules/moment/locale/ka.js\",\n\t\"./kk\": \"./node_modules/moment/locale/kk.js\",\n\t\"./kk.js\": \"./node_modules/moment/locale/kk.js\",\n\t\"./km\": \"./node_modules/moment/locale/km.js\",\n\t\"./km.js\": \"./node_modules/moment/locale/km.js\",\n\t\"./kn\": \"./node_modules/moment/locale/kn.js\",\n\t\"./kn.js\": \"./node_modules/moment/locale/kn.js\",\n\t\"./ko\": \"./node_modules/moment/locale/ko.js\",\n\t\"./ko.js\": \"./node_modules/moment/locale/ko.js\",\n\t\"./ku\": \"./node_modules/moment/locale/ku.js\",\n\t\"./ku.js\": \"./node_modules/moment/locale/ku.js\",\n\t\"./ky\": \"./node_modules/moment/locale/ky.js\",\n\t\"./ky.js\": \"./node_modules/moment/locale/ky.js\",\n\t\"./lb\": \"./node_modules/moment/locale/lb.js\",\n\t\"./lb.js\": \"./node_modules/moment/locale/lb.js\",\n\t\"./lo\": \"./node_modules/moment/locale/lo.js\",\n\t\"./lo.js\": \"./node_modules/moment/locale/lo.js\",\n\t\"./lt\": \"./node_modules/moment/locale/lt.js\",\n\t\"./lt.js\": \"./node_modules/moment/locale/lt.js\",\n\t\"./lv\": \"./node_modules/moment/locale/lv.js\",\n\t\"./lv.js\": \"./node_modules/moment/locale/lv.js\",\n\t\"./me\": \"./node_modules/moment/locale/me.js\",\n\t\"./me.js\": \"./node_modules/moment/locale/me.js\",\n\t\"./mi\": \"./node_modules/moment/locale/mi.js\",\n\t\"./mi.js\": \"./node_modules/moment/locale/mi.js\",\n\t\"./mk\": \"./node_modules/moment/locale/mk.js\",\n\t\"./mk.js\": \"./node_modules/moment/locale/mk.js\",\n\t\"./ml\": \"./node_modules/moment/locale/ml.js\",\n\t\"./ml.js\": \"./node_modules/moment/locale/ml.js\",\n\t\"./mn\": \"./node_modules/moment/locale/mn.js\",\n\t\"./mn.js\": \"./node_modules/moment/locale/mn.js\",\n\t\"./mr\": \"./node_modules/moment/locale/mr.js\",\n\t\"./mr.js\": \"./node_modules/moment/locale/mr.js\",\n\t\"./ms\": \"./node_modules/moment/locale/ms.js\",\n\t\"./ms-my\": \"./node_modules/moment/locale/ms-my.js\",\n\t\"./ms-my.js\": \"./node_modules/moment/locale/ms-my.js\",\n\t\"./ms.js\": \"./node_modules/moment/locale/ms.js\",\n\t\"./mt\": \"./node_modules/moment/locale/mt.js\",\n\t\"./mt.js\": \"./node_modules/moment/locale/mt.js\",\n\t\"./my\": \"./node_modules/moment/locale/my.js\",\n\t\"./my.js\": \"./node_modules/moment/locale/my.js\",\n\t\"./nb\": \"./node_modules/moment/locale/nb.js\",\n\t\"./nb.js\": \"./node_modules/moment/locale/nb.js\",\n\t\"./ne\": \"./node_modules/moment/locale/ne.js\",\n\t\"./ne.js\": \"./node_modules/moment/locale/ne.js\",\n\t\"./nl\": \"./node_modules/moment/locale/nl.js\",\n\t\"./nl-be\": \"./node_modules/moment/locale/nl-be.js\",\n\t\"./nl-be.js\": \"./node_modules/moment/locale/nl-be.js\",\n\t\"./nl.js\": \"./node_modules/moment/locale/nl.js\",\n\t\"./nn\": \"./node_modules/moment/locale/nn.js\",\n\t\"./nn.js\": \"./node_modules/moment/locale/nn.js\",\n\t\"./oc-lnc\": \"./node_modules/moment/locale/oc-lnc.js\",\n\t\"./oc-lnc.js\": \"./node_modules/moment/locale/oc-lnc.js\",\n\t\"./pa-in\": \"./node_modules/moment/locale/pa-in.js\",\n\t\"./pa-in.js\": \"./node_modules/moment/locale/pa-in.js\",\n\t\"./pl\": \"./node_modules/moment/locale/pl.js\",\n\t\"./pl.js\": \"./node_modules/moment/locale/pl.js\",\n\t\"./pt\": \"./node_modules/moment/locale/pt.js\",\n\t\"./pt-br\": \"./node_modules/moment/locale/pt-br.js\",\n\t\"./pt-br.js\": \"./node_modules/moment/locale/pt-br.js\",\n\t\"./pt.js\": \"./node_modules/moment/locale/pt.js\",\n\t\"./ro\": \"./node_modules/moment/locale/ro.js\",\n\t\"./ro.js\": \"./node_modules/moment/locale/ro.js\",\n\t\"./ru\": \"./node_modules/moment/locale/ru.js\",\n\t\"./ru.js\": \"./node_modules/moment/locale/ru.js\",\n\t\"./sd\": \"./node_modules/moment/locale/sd.js\",\n\t\"./sd.js\": \"./node_modules/moment/locale/sd.js\",\n\t\"./se\": \"./node_modules/moment/locale/se.js\",\n\t\"./se.js\": \"./node_modules/moment/locale/se.js\",\n\t\"./si\": \"./node_modules/moment/locale/si.js\",\n\t\"./si.js\": \"./node_modules/moment/locale/si.js\",\n\t\"./sk\": \"./node_modules/moment/locale/sk.js\",\n\t\"./sk.js\": \"./node_modules/moment/locale/sk.js\",\n\t\"./sl\": \"./node_modules/moment/locale/sl.js\",\n\t\"./sl.js\": \"./node_modules/moment/locale/sl.js\",\n\t\"./sq\": \"./node_modules/moment/locale/sq.js\",\n\t\"./sq.js\": \"./node_modules/moment/locale/sq.js\",\n\t\"./sr\": \"./node_modules/moment/locale/sr.js\",\n\t\"./sr-cyrl\": \"./node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr-cyrl.js\": \"./node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr.js\": \"./node_modules/moment/locale/sr.js\",\n\t\"./ss\": \"./node_modules/moment/locale/ss.js\",\n\t\"./ss.js\": \"./node_modules/moment/locale/ss.js\",\n\t\"./sv\": \"./node_modules/moment/locale/sv.js\",\n\t\"./sv.js\": \"./node_modules/moment/locale/sv.js\",\n\t\"./sw\": \"./node_modules/moment/locale/sw.js\",\n\t\"./sw.js\": \"./node_modules/moment/locale/sw.js\",\n\t\"./ta\": \"./node_modules/moment/locale/ta.js\",\n\t\"./ta.js\": \"./node_modules/moment/locale/ta.js\",\n\t\"./te\": \"./node_modules/moment/locale/te.js\",\n\t\"./te.js\": \"./node_modules/moment/locale/te.js\",\n\t\"./tet\": \"./node_modules/moment/locale/tet.js\",\n\t\"./tet.js\": \"./node_modules/moment/locale/tet.js\",\n\t\"./tg\": \"./node_modules/moment/locale/tg.js\",\n\t\"./tg.js\": \"./node_modules/moment/locale/tg.js\",\n\t\"./th\": \"./node_modules/moment/locale/th.js\",\n\t\"./th.js\": \"./node_modules/moment/locale/th.js\",\n\t\"./tl-ph\": \"./node_modules/moment/locale/tl-ph.js\",\n\t\"./tl-ph.js\": \"./node_modules/moment/locale/tl-ph.js\",\n\t\"./tlh\": \"./node_modules/moment/locale/tlh.js\",\n\t\"./tlh.js\": \"./node_modules/moment/locale/tlh.js\",\n\t\"./tr\": \"./node_modules/moment/locale/tr.js\",\n\t\"./tr.js\": \"./node_modules/moment/locale/tr.js\",\n\t\"./tzl\": \"./node_modules/moment/locale/tzl.js\",\n\t\"./tzl.js\": \"./node_modules/moment/locale/tzl.js\",\n\t\"./tzm\": \"./node_modules/moment/locale/tzm.js\",\n\t\"./tzm-latn\": \"./node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm-latn.js\": \"./node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm.js\": \"./node_modules/moment/locale/tzm.js\",\n\t\"./ug-cn\": \"./node_modules/moment/locale/ug-cn.js\",\n\t\"./ug-cn.js\": \"./node_modules/moment/locale/ug-cn.js\",\n\t\"./uk\": \"./node_modules/moment/locale/uk.js\",\n\t\"./uk.js\": \"./node_modules/moment/locale/uk.js\",\n\t\"./ur\": \"./node_modules/moment/locale/ur.js\",\n\t\"./ur.js\": \"./node_modules/moment/locale/ur.js\",\n\t\"./uz\": \"./node_modules/moment/locale/uz.js\",\n\t\"./uz-latn\": \"./node_modules/moment/locale/uz-latn.js\",\n\t\"./uz-latn.js\": \"./node_modules/moment/locale/uz-latn.js\",\n\t\"./uz.js\": \"./node_modules/moment/locale/uz.js\",\n\t\"./vi\": \"./node_modules/moment/locale/vi.js\",\n\t\"./vi.js\": \"./node_modules/moment/locale/vi.js\",\n\t\"./x-pseudo\": \"./node_modules/moment/locale/x-pseudo.js\",\n\t\"./x-pseudo.js\": \"./node_modules/moment/locale/x-pseudo.js\",\n\t\"./yo\": \"./node_modules/moment/locale/yo.js\",\n\t\"./yo.js\": \"./node_modules/moment/locale/yo.js\",\n\t\"./zh-cn\": \"./node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-cn.js\": \"./node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-hk\": \"./node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-hk.js\": \"./node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-mo\": \"./node_modules/moment/locale/zh-mo.js\",\n\t\"./zh-mo.js\": \"./node_modules/moment/locale/zh-mo.js\",\n\t\"./zh-tw\": \"./node_modules/moment/locale/zh-tw.js\",\n\t\"./zh-tw.js\": \"./node_modules/moment/locale/zh-tw.js\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\tvar module = __webpack_require__(id);\n\treturn module;\n}\nfunction webpackContextResolve(req) {\n\tvar id = map[req];\n\tif(!(id + 1)) { // check for number or string\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 id;\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"./node_modules/moment/locale sync recursive ^\\\\.\\\\/.*$\";","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 = \"./src/$$_lazy_route_resource lazy recursive\";","\r\n\r\n\r\n\r\n//import { NgModule, Injectable } from \"@angular/core\";\r\n//import { Router, CanDeactivate, ActivatedRoute } from \"@angular/router\";\r\n////import { EditCaseComponent } from './components/user/add-case/edit-case.component';\r\n//import { ComponentCanDeactivate } from './ComponentCanDeactivate';\r\n\r\n//@Injectable()\r\n//export class CanDeactivateGuard implements CanDeactivate {\r\n\r\n// constructor() {\r\n\r\n// }\r\n \r\n// canDeactivate(component: ComponentCanDeactivate): boolean {\r\n// var savecase = localStorage.getItem(\"savecase\");\r\n// if (component.canDeactivate()) { \r\n// localStorage.setItem('previousurl', 'edit-case');\r\n// if (savecase == null) {\r\n// if (confirm(\"You have unsaved changes! If you leave, your changes will be lost.\")) {\r\n// return true;\r\n// } else {\r\n// return false;\r\n// }\r\n// }\r\n// else {\r\n// localStorage.removeItem(\"savecase\")\r\n// localStorage.removeItem(\"previousurl\");\r\n// }\r\n// }\r\n// return true;\r\n// }\r\n//}\r\n\r\nimport { CanDeactivate } from '@angular/router';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\n\r\nexport interface ComponentCanDeactivate {\r\n canDeactivate: () => boolean | Observable;\r\n}\r\n\r\n@Injectable()\r\nexport class CanDeactivateGaurd implements CanDeactivate {\r\n canDeactivate(component: ComponentCanDeactivate): boolean | Observable {\r\n let componentChange = component.canDeactivate();\r\n\r\n \r\n if (localStorage.getItem('editcase').indexOf('edit-case') < 0 && localStorage.getItem('editcase').indexOf('add-case') < 0) {\r\n if (localStorage.getItem('editcase').indexOf('case-lookup') < 0)\r\n localStorage.removeItem('previousurl');\r\n \r\n if (componentChange == false || localStorage.getItem('dirty') == 'true') {\r\n localStorage.removeItem\r\n \r\n localStorage.removeItem('dirty');\r\n localStorage.removeItem('adverseevents')\r\n localStorage.removeItem('casetypes')\r\n localStorage.removeItem('casetypedone')\r\n localStorage.removeItem('hemo')\r\n localStorage.removeItem('prehemo')\r\n localStorage.removeItem('precasetypes')\r\n \r\n if (confirm(\"You have unsaved changes! If you leave, your changes will be lost.\")) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n else {\r\n \r\n return true;\r\n }\r\n \r\n }\r\n \r\n return true;\r\n }\r\n}\r\n","\r\n\r\nimport { CanDeactivate } from '@angular/router';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\n\r\nexport interface ComponentLogoutCanDeactivate {\r\n canDeactivate: () => boolean | Observable;\r\n}\r\n\r\n@Injectable()\r\nexport class CanLogoutDeactivateGuard implements CanDeactivate {\r\n canDeactivate(component: ComponentLogoutCanDeactivate): boolean | Observable {\r\n // if there are no pending changes, just allow deactivation; else confirm first\r\n return component.canDeactivate() ?\r\n true :\r\n // NOTE: this warning message will only be shown when navigating elsewhere within your angular app;\r\n // when navigating away from your angular app, the browser will show a generic warning message\r\n // see http://stackoverflow.com/a/42207299/7307355\r\n confirm('WARNING: You have unsaved changes. Press Cancel to go back and save these changes, or OK to lose these changes.');\r\n }\r\n}\r\n","import {\r\n query,\r\n trigger,\r\n state,\r\n animate,\r\n transition,\r\n style\r\n} from \"@angular/animations\";\r\n\r\nexport const enterAnimation = trigger(\"enterAnimation\", [\r\n transition(\":enter\", [\r\n style({ opacity: 0 }),\r\n animate(\"0.3s\", style({ opacity: 1 }))\r\n ]),\r\n transition(\":leave\", [\r\n style({ opacity: 1 }),\r\n animate(\"0.3s\", style({ opacity: 0 }))\r\n ])\r\n]);\r\n","import { query, trigger, state, animate, transition, style } from '@angular/animations';\r\n\r\nexport const fadeAnimation = trigger('fadeAnimation', [\r\n // The '* => *' will trigger the animation to change between any two states\r\n transition('* => *', [\r\n // The query function has three params.\r\n // First is the event, so this will apply on entering or when the element is added to the DOM.\r\n // Second is a list of styles or animations to apply.\r\n // Third we add a config object with optional set to true, this is to signal\r\n // angular that the animation may not apply as it may or may not be in the DOM.\r\n query(\r\n ':enter',\r\n [style({ opacity: 0 })],\r\n { optional: true }\r\n ),\r\n query(\r\n ':leave',\r\n // here we apply a style and use the animate function to apply the style over 0.3 seconds\r\n [style({ opacity: 1 }), animate('0.3s', style({ opacity: 0 }))],\r\n { optional: true }\r\n ),\r\n query(\r\n ':enter',\r\n [style({ opacity: 0 }), animate('0.3s', style({ opacity: 1 }))],\r\n { optional: true }\r\n )\r\n ])\r\n ]);\r\n ","module.exports = \"\\n\\n
\\n \\n
\\n\\n\"","module.exports = \"\"","/// \r\nimport {\n Component,\n ViewEncapsulation,\n OnInit,\n ViewChild,\n ElementRef,\n HostListener\n} from \"@angular/core\";\nimport { fadeAnimation } from \"./animations/fade.animation\";\nimport { TitleService } from \"./title.service\";\nimport { Router, NavigationEnd, NavigationStart } from \"@angular/router\";\nimport { JsonpCallbackContext } from \"@angular/common/http/src/jsonp\";\r\nimport { LoginService } from \"./components/user/login.service\";\r\n\r\ndeclare var jquery: any;\ndeclare var $: any;\n\n@Component({\n selector: \"app-root\",\n templateUrl: \"./app.component.html\",\n styleUrls: [\"./app.component.scss\"],\n animations: [fadeAnimation],\n encapsulation: ViewEncapsulation.None\n})\nexport class AppComponent implements OnInit {\n\n public user: LoginService;\n\n\n constructor(private titleService: TitleService, private router: Router, _user: LoginService) {\n \n this.user = _user;\n \n if (localStorage.getItem('tabs') == null)\n localStorage.setItem('tabs', \"0\");\n else\n localStorage.setItem('tabs', JSON.stringify(parseInt(localStorage.getItem('tabs')) + 1));\n \n\n window.onunload = function (e) {\r\n \r\n if (localStorage.getItem('tabs') != null && (parseInt(localStorage.getItem('tabs'))) == 0) { \r\n this.localStorage.removeItem('currentUser'); \r\n localStorage.removeItem('tabs'); \r\n }\r\n else {\r\n this.localStorage.setItem('tabs', JSON.stringify(parseInt(localStorage.getItem('tabs')) - 1));\r\n } \r\n return \"close browser\";\r\n };\n \n router.events.subscribe(val => { \n if (val instanceof NavigationEnd) { \n this.appendFooter();\n }\n });\n \n }\n\n ngOnInit() {\n this.titleService.init();\n }\n \n\n appendFooter() { \n \n $(\".footer\").remove();\n $(\".my-contain\").append(\n \"
© 2007-2021 Boston Children's Hospital
\"\n );\n\n }\n \n}\n","\r\n\r\n\r\nimport { NgModule } from \"@angular/core\";\nimport { MatTableModule } from \"@angular/material/table\";\r\nimport { MatTabsModule } from \"@angular/material/tabs\";\n\nimport { BrowserModule } from \"@angular/platform-browser\";\nimport { BrowserAnimationsModule } from \"@angular/platform-browser/animations\";\nimport { FormsModule } from \"@angular/forms\";\nimport { HttpModule } from \"@angular/http\";\nimport { RouterModule } from \"@angular/router\";\nimport { TreeModule } from \"angular-tree-component\";\nimport { OwlDateTimeModule, OwlNativeDateTimeModule } from \"ng-pick-datetime\";\nimport { Ng2SearchPipeModule } from 'ng2-search-filter';\nimport { OrderModule } from 'ngx-order-pipe';\nimport { NgxPaginationModule } from 'ngx-pagination'\nimport { ChartsModule } from 'ng2-charts';\nimport { NgxSpinnerModule } from 'ngx-spinner';\n\nimport { DatePipe } from '@angular/common'\nimport { HomeComponentC3POR3 } from \"./components/home/home.componentC3POR3\";\nimport { HomeComponentIQIC } from \"./components/home/home.componentIQIC\";\nimport { NavbarComponent } from \"./components/navbar/navbar.component\";\nimport { BackgroundComponent } from \"./components/background/background.component\";\nimport { SitesComponent } from \"./components/sites/sites.component\";\nimport { IqicBackgroundComponent } from \"./components/iqic-background/iqic-background.component\";\nimport { MissionVisionComponent } from \"./components/iqic-background/mission-vision/mission-vision.component\";\nimport { BackgroundHistoryComponent } from \"./components/iqic-background/background-history/background-history.component\";\nimport { EnrolledPartnersComponent } from \"./components/iqic-background/enrolled-partners/enrolled-partners.component\";\nimport { KeyDriverComponent } from \"./components/iqic-background/key-driver/key-driver.component\";\nimport { WebinarsComponent } from \"./components/iqic-background/webinars/webinars.component\";\n//import { CathChatComponent } from \"./components/iqic-background/cathchat/cathchat.component\";\nimport { DatabaseManualComponent } from \"./components/iqic-background/database-manual/database-manual.component\";\nimport { CalculatorComponent } from \"./components/calculator/calculator.component\";\nimport { ContactComponent } from \"./components/contact/contact.component\";\nimport { LoginComponent } from \"./components/login/login.component\";\nimport { C3poComponent } from \"./components/background/c3po/c3po.component\";\nimport { C3poIQICComponent } from \"./components/background/iqic/c3po-iqic.component\";\nimport { C3poQiComponent } from \"./components/background/c3po-qi/c3po-qi.component\";\nimport { C3poR3Component } from \"./components/background/c3po-r3/c3po-r3.component\";\nimport { UserMenuComponent } from \"./components/user/user-menu/user-menu.component\";\nimport { LoginService } from \"./components/user/login.service\";\nimport { ProcedurePicklistService } from \"./components/shared-data-entry/procedure-picklist.service\";\nimport { StsDiagnosisService } from \"./components/shared-data-entry/sts-diagnosis.service\";\nimport { MajorAdverseEventService } from \"./components/shared-data-entry/major-adverse-event.service\";\nimport { OtherAdverseEventService } from \"./components/shared-data-entry/other-adverse-event.service\";\nimport { PicklistItemService } from \"./components/shared-data-entry/picklist-item.service\";\nimport { MailService } from \"./components/contact/mail.service\";\n//import { HttpClient } from \"selenium-webdriver/http\";\nimport { AppComponent } from \"./app.component\";\nimport { AddCaseComponent } from \"./components/user/add-case/add-case.component\";\nimport { EditCaseComponent } from \"./components/user/add-case/edit-case.component\";\nimport { CaseLookupComponent } from \"./components/user/case-lookup/case-lookup.component\";\nimport { ManageReportsComponent } from \"./components/user/manage-reports/manage-reports.component\";\nimport { PreCalcComponent } from \"./components/user/add-case/pre-calc/pre-calc.component\";\nimport { CaseIdComponent } from \"./components/user/add-case/case-id/case-id.component\";\nimport { ClinicalCharacteristicsComponent } from \"./components/user/add-case/clinical-characteristics/clinical-characteristics.component\";\nimport { ProcedureCharacteristicsComponent } from \"./components/user/add-case/procedure-characteristics/procedure-characteristics.component\";\nimport { ProceduralEfficacyComponent } from \"./components/user/add-case/procedural-efficacy/procedural-efficacy.component\";\n\nimport { HemodynamicsComponent } from \"./components/user/add-case/hemodynamics/hemodynamics.component\";\nimport { CaseTypesComponent } from \"./components/user/add-case/case-types/case-types.component\";\nimport { AdverseEventsComponent } from \"./components/user/add-case/adverse-events/adverse-events.component\";\nimport { IndicatorsComponent } from \"./components/user/add-case/indicators/indicators.component\";\nimport { EocComponent } from \"./components/user/add-case/eoc/eoc.component\";\nimport { C3poCharmComponent } from \"./components/background/c3po-charm/c3po-charm.component\";\n\nimport { CalculatorService } from \"./components/calculator/calculator.service\";\nimport { CalcCharacteristicsComponent } from \"./components/calculator/calc-characteristics/calc-characteristics.component\";\nimport { CaseTypesEntryComponent } from \"./components/shared-data-entry/case-types-entry/case-types-entry.component\";\n\nimport { ModalComponent } from \"./components/modal/modal.component\";\nimport { HemosComponent } from \"./components/shared-data-entry/hemos/hemos.component\";\nimport { HemoModalComponent } from \"./components/modal/hemo-modal/hemo-modal.component\";\nimport { StsModalComponent } from \"./components/modal/sts-modal/sts-modal.component\";\n//import { SpinnerModalComponent } from \"./components/modal/spinner-modal/spinner.component\";\nimport { HemosService } from \"./components/shared-data-entry/hemos/hemos.service\";\nimport { CaseTypesEntryService } from \"./components/shared-data-entry/case-types-entry/case-types-entry.service\";\nimport { CrispCatComponent } from \"./components/shared-data-entry/hemos/crisp-cat/crisp-cat.component\";\nimport { CrispCatSelectService } from \"./components/shared-data-entry/hemos/crisp-cat/crisp-cat-select.service\";\nimport { ConfirmModalComponent } from \"./components/modal/confirm-modal/confirm-modal.component\";\nimport { ConfirmsaveModalComponent } from \"./components/modal/confirmsave-modal/confirmsave-modal.component\";\nimport { NgSelectModule } from \"@ng-select/ng-select\";\nimport { StsTreeComponent } from \"./components/modal/sts-tree/sts-tree.component\";\nimport { InfoModalComponent } from \"./components/modal/info-modal/info-modal.component\";\nimport { InfoModalServiceService } from \"./components/modal/info-modal/info-modal-service.service\";\nimport { TitleService } from \"./title.service\"; \nimport { ForgotPasswordComponent } from \"./components/login/forgot-password/forgot-password.component\";\nimport { ChangePasswordComponent } from \"./components/login/change-password/change-password.component\";\nimport { Routing, routes } from \"./routing\";\nimport { ManageUsersComponent } from './components/user/manage-users/manage-users.component';\nimport { UserManagementService } from \"./components/user/manage-users/user-management.service\";\nimport { UserInfoModalComponent } from './components/modal/user-info-modal/user-info-modal.component';\nimport { CaseLookupService } from \"./components/user/case-lookup/case-lookup.service\";\nimport { AdverseEventsReportService } from \"./components/user/manage-reports/report-services/adverse-events-report.service\";\nimport { CaseTypeService } from \"./components/user/manage-reports/report-services/case-type.service\";\nimport { CharacteristicsService } from \"./components/user/manage-reports/report-services/characteristics.service\";\n//import { DateRangeService } from \"./components/user/manage-reports/report-services/date-range.service\";\nimport { HemoVariablesService } from \"./components/user/manage-reports/report-services/hemo-variables.service\";\nimport { RadiationService } from \"./components/user/manage-reports/report-services/radiation.service\";\nimport { RiskAdjustmentService } from \"./components/user/manage-reports/report-services/risk-adjustment.service\";\nimport { RiskTypeService } from \"./components/user/manage-reports/report-services/risk-type.service\";\nimport { ColorServiceService } from \"./components/user/manage-reports/report-services/color-service.service\";\nimport { ProcedureModalComponent } from './components/modal/procedure-modal/procedure-modal.component';\nimport { AlertComponent } from './components/modal/alert/alert.component';\nimport { LoginCardComponent } from './components/login/login-card/login-card.component';\nimport { CaseTypeCalcService } from \"./components/shared-data-entry/case-type-calc.service\";\nimport { MissingFieldsComponent } from \"./components/user/add-case/missing-fields/missing-fields.component\";\nimport { CaseFieldsService } from \"./components/user/add-case/case-fields.service\";\nimport { CaseService } from \"./components/user/add-case/case.service\";\nimport { ValidationPipe } from './pipes/validation.pipe';\nimport { AgeTypePipe } from './pipes/age-type.pipe';\nimport { CathDateFormatPipe } from './pipes/cath-date-format.pipe';\nimport { AgeComponent } from './components/calculator/age/age.component';\nimport { SectionValidatePipe } from './pipes/section-validate.pipe';\nimport { PublicationsComponent } from './components/publications/publications.component';\nimport { SeriousnessComponent } from './components/modal/seriousness/seriousness.component';\nimport { FooterComponent } from './components/footer/footer.component';\nimport { CaseVolumeReportByCenterComponent } from './components/user/manage-reports/report-templates/case-volume-report-by-center-component'; \nimport { SiteCaseVolumeReportOverTimeComponent } from './components/user/manage-reports/report-templates/site-case-volume-report-over-time-component';\nimport { AEReportComponent } from './components/user/manage-reports/report-templates/ae-component';\nimport { MMReportComponent } from './components/user/manage-reports/report-templates/mm-component';\nimport { MMReportEditComponent } from './components/user/manage-reports/report-templates/mm-edit-component';\nimport { SiteExtractComponent } from './components/user/manage-reports/report-templates/site-extract-component';\nimport { ChartTypeComponent } from './components/user/manage-reports/report-templates/chart-type-menu-component'; \nimport { StackedItemsComponent } from './components/user/manage-reports/report-templates/stacked-items-menu-component';\nimport { ChartViewComponent } from './components/user/manage-reports/report-templates/chart-view-menu-component';\nimport { RouterService } from \"./components/navigation/router.service\";\nimport { SafeHtmlPipe } from './safehtmlpipe';\nimport { CanDeactivateGaurd } from './CanDeactivateGaurd';\nimport { CanLogoutDeactivateGuard } from './CanLogoutDeactivateGaurd';\nimport { ProgressBarMaterialModule } from '../app/components/calculator/material-module'\n\n\n\n// import Wijmo modules\r\nimport { WjChartModule } from 'wijmo/wijmo.angular2.chart';\r\nimport { WjGridModule } from 'wijmo/wijmo.angular2.grid';\r\nimport { WjGridFilterModule } from 'wijmo/wijmo.angular2.grid.filter';\r\nimport { WjInputModule } from 'wijmo/wijmo.angular2.input';\r\nimport { WjGridDetailModule } from \"wijmo/wijmo.angular2.grid.detail\";\r\nimport { WjChartAnimationModule } from 'wijmo/wijmo.angular2.chart.animation';\r\n\r\nimport { CommonModule } from '@angular/common';\r\nimport { WjGridSheetModule } from 'wijmo/wijmo.angular2.grid.sheet';\r\nimport { WjNavModule } from 'wijmo/wijmo.angular2.nav';\r\n\r\n\r\n//License Key for wijmo\r\nimport * as wijmo from 'wijmo/wijmo';\r\n//wjcCore.setLicenseKey(\"Boston Children's Hospital,chboston.org|localhost|cardion40482|cardio.chboston.org|chcvpwebdev1|c3po-r3test.chboston.org|c3po-r3dev.chboston.org|c3po-r3.chboston.org,412145521768249#B0eNOIu3Gdz3mQiojIh94QiwiI9QjM8YzNxITN5QTMyEDNiojIklkIs4nIyYHOxAjMiojIyVmdiwSZzxWYmpjIyNHZisnOiwmbBJye0ICRiwiI34zZxA5aGVFc6YXaXpnTsBTOxgzYJVXNRJ4R4tmRYZTM4d7cYdmV5c7KFlzbrMVb6FFdhRENuZTQyo5NyhnZ5klYslTa6xmeHlTWNpmaSlUWy2SeFB5ZzIUWzV4b0FEZRxme5s4MUdDW4NnT6J5M6EkUOd6Zq56LycVaEJFUyJWdrU6QwNDaZhVOtVnVK9GMNB7QCdjeURmQrUmbhBnW0lWSDlWO8B7Zxw6RoR6YPhnaWdGcCRzdmRHO8hUTEhUSuh6aVF6bSJkUSJWMkhVRoNUdT9UUQFWW4h5SrgGexwUNv8kQroXT4MkaQd4UtRURWNDcFVjR4BXND34cllFTwo4R05mTZFmYSN7NwZVdvREbJlma5QUWZ34Yy2mc5pWRihXUXRDatZTbWJzQSFXQGtGNU9kWW5EcywEUUFFUCxEMhJXcHR4Y8djUyY6MItmY9MkcKhnd9omI0IyUiwiIzETQFREO5UjI0ICSiwSNxQzM6QDN7AjM0IicfJye35XX3JSSwIjUiojIDJCLi86bpNnblRHeFBCI4VWZoNFelxmRg2Wbql6ViojIOJyes4nI5kkTRJiOiMkIsIibvl6cuVGd8VEIgIXZ7VWaWRncvBXZSBybtpWaXJiOi8kI1xSfis4N8gkI0IyQiwiIu3Waz9WZ4hXRgAydvJVa4xWdNBybtpWaXJiOi8kI1xSfiQjR6QkI0IyQiwiIu3Waz9WZ4hXRgACUBx4TgAybtpWaXJiOi8kI1xSfiMzQwIkI0IyQiwiIlJ7bDBybtpWaXJiOi8kI1xSfiUFO7EkI0IyQiwiIu3Waz9WZ4hXRgACdyFGaDxWYpNmbh9WaGBybtpWaXJiOi8kI1tlOiQmcQJCLiAzMxMzNwACNxETM8EDMyIiOiQncDJCLicmcv9ibvR7cvJGaj9yMy5ybwNzYscmcv9ibvR7cvJGaj9idlR6My5ybwNzYscmcv9ibvR7cvJGaj9CdzVGdzIXLvB7MjxSM6VGZiV6dwZ7YoNGLnJ7bu86b4N7bih6Yu2WakJXYjxiM8QDM486bpRmchNGL4N7boxWYj3Gbscmcv9ibvR7cvJGajJiOiMXbEJCLiwWY4lGcz3GSgM7JuVmcwxKa\");\r\nwijmo.setLicenseKey(\"Boston Children's Hospital,c3po-r3dev.chboston.org|c3po-r3test.chboston.org|c3po-r3.chboston.org,326292914978239#B0KIJlkIs4nIyYXOxAjMiojIyVmdiwSZzxWYmpjIyNHZisnOiwmbBJye0ICRiwiI34zZhhVbixWMqJUOBZ6cM9UaGhTQwMkYtJ4dlR4U5xGRE5ka6MHR9kzdzc4YFV4UxdzM83SZzRldFNkWJxUO9VnZTJTcJRneOtERBZUTChGR0Vzd6RDbLZ5SjpHeJpXatNENJl5VmBjcT54UDJEUNh5NKZGc4dkQQNjM7ZzRZ5EcnFVVlV7NTd4NRN4ZBVkYsl4aQtUVOt6U6AFexkHen54YKZTTnZWOsFGOwR4QshEOulVUEhGWN9mev9UUJ3SMsV4R6kDN4RVQzIjZTRENv5mV78kMSp5VEJWZ7lVWPVWStp5VWNzcIFlSrQ4cjRTevlTSzFDczFVW586QQtmehVTclJVR6c6LTdUYGJmeJFzNHJnTvF7ZChHMOh6MsNVRQZGVIdXR8gTdRdFO8xUcudFdEZHNm3UV05ET9FTVzcVNr8EMYt4RnJ6YDhWWTFUZSVmUJJVVxVmI0IyUiwiIBJTRFJUOGNjI0ICSiwiN5ATNzYDN7cTM0IicfJye35XX3JSSwIjUiojIDJCLi86bpNnblRHeFBCI4VWZoNFelxmRg2Wbql6ViojIOJyes4nI5kkTRJiOiMkIsIibvl6cuVGd8VEIgIXZ7VWaWRncvBXZSBybtpWaXJiOi8kI1xSfis4N8gkI0IyQiwiIu3Waz9WZ4hXRgAydvJVa4xWdNBybtpWaXJiOi8kI1xSfiQjR6QkI0IyQiwiIu3Waz9WZ4hXRgACUBx4TgAybtpWaXJiOi8kI1xSfiMzQwIkI0IyQiwiIlJ7bDBybtpWaXJiOi8kI1xSfiUFO7EkI0IyQiwiIu3Waz9WZ4hXRgACdyFGaDxWYpNmbh9WaGBybtpWaXJiOi8kI1tlOiQmcQJCLicDNyEjNwACMxITM9EDMyIiOiQncDJCLicmcv9ibvR7cvJGaj9yMy5ybwNzYscmcv9ibvR7cvJGaj9CdzVGdzIXLvB7MjxyZy3mLu3Gdz3mYoNmL6VGZzIXLvB7MjJiOiMXbEJCLiwWY4lGcz3GSgM7JuVmckxWaoNEIu3Gdz3mQiojIh94QiwiI9MjM8cTO4ETOykjM6IIMZo\");\n@NgModule({\n declarations: [\n AppComponent,\n HomeComponentC3POR3,\n HomeComponentIQIC,\n NavbarComponent,\n BackgroundComponent,\n SitesComponent,\n IqicBackgroundComponent,\n MissionVisionComponent,\n BackgroundHistoryComponent,\n EnrolledPartnersComponent,\n KeyDriverComponent,\n WebinarsComponent,\n // CathChatComponent,\n DatabaseManualComponent,\n CalculatorComponent,\n ContactComponent,\n LoginComponent,\n C3poComponent,\n C3poIQICComponent, \n C3poQiComponent,\n C3poR3Component,\n UserMenuComponent,\n AddCaseComponent,\n EditCaseComponent,\n ManageReportsComponent,\n CaseLookupComponent,\n PreCalcComponent,\n CaseIdComponent,\n ClinicalCharacteristicsComponent,\n ProcedureCharacteristicsComponent,\n ProceduralEfficacyComponent,\n HemodynamicsComponent,\n CaseTypesComponent,\n AdverseEventsComponent,\n IndicatorsComponent,\n EocComponent,\n C3poCharmComponent,\n CalcCharacteristicsComponent,\n CaseTypesEntryComponent,\n HemosComponent,\n HemoModalComponent,\n ModalComponent,\n StsModalComponent,\n CrispCatComponent,\n StsTreeComponent, \n InfoModalComponent,\n //SpinnerModalComponent,\n ConfirmModalComponent,\n ConfirmsaveModalComponent,\n ForgotPasswordComponent,\n ChangePasswordComponent,\n ManageUsersComponent,\n UserInfoModalComponent,\n ProcedureModalComponent,\n AlertComponent,\n LoginCardComponent,\n MissingFieldsComponent,\n ValidationPipe,\n AgeTypePipe,\n CathDateFormatPipe,\n AgeComponent,\n SectionValidatePipe,\n PublicationsComponent,\n SeriousnessComponent,\n FooterComponent,\n CaseVolumeReportByCenterComponent,\n SiteCaseVolumeReportOverTimeComponent,\n AEReportComponent,\n MMReportComponent,\n MMReportEditComponent,\n SiteExtractComponent,\n ChartTypeComponent,\n StackedItemsComponent,\n ChartViewComponent, \n SafeHtmlPipe\n \n ],\n imports: [\n\n BrowserModule,\n BrowserAnimationsModule,\n HttpModule,\n TreeModule,\n FormsModule,\n RouterModule,\n NgSelectModule,\n OwlDateTimeModule,\n OwlNativeDateTimeModule,\n Routing,\n Ng2SearchPipeModule,\n OrderModule,\n NgxPaginationModule,\n ChartsModule, \r\n WjChartModule,\r\n WjGridModule, \r\n WjInputModule,\r\n WjGridFilterModule,\r\n WjGridDetailModule,\r\n WjChartAnimationModule,\r\n NgxSpinnerModule,\r\n MatTableModule,\n MatTabsModule, \r\n CommonModule, \r\n WjGridSheetModule,\r\n WjNavModule,\r\n ProgressBarMaterialModule\r\n \n ],\n providers: [\n DatePipe,\n TitleService,\n LoginService,\n ProcedurePicklistService,\n StsDiagnosisService,\n MajorAdverseEventService,\n OtherAdverseEventService,\n PicklistItemService,\n CalculatorService,\n HemosService,\n CaseTypesEntryService,\n CrispCatSelectService,\n InfoModalServiceService,\n UserManagementService,\n CaseLookupService,\n AdverseEventsReportService,\n CaseTypeService,\n CharacteristicsService,\n //DateRangeService,\n HemoVariablesService,\n RadiationService,\n RiskAdjustmentService,\n RiskTypeService,\n ColorServiceService,\n CaseTypeCalcService,\n CaseFieldsService,\n CaseService,\n MailService,\n RouterService,\n CanDeactivateGaurd,\n CanLogoutDeactivateGuard\n \n ],\n bootstrap: [AppComponent]\n})\nexport class AppModule {\n constructor(private routerService: RouterService) { }\n}\n","module.exports = \"
\\n
\\n
\\n\\n
\\n \\n \\n\\n \\n
\\n\\n\\n \\n
\\n \\n
C3PO-QI
\\n
\\n\\n
\\n\\n\\n \\n
\\n \\n
C3PO-R3
\\n
\\n
\\n
\\n\\n
\\n \\n
\\n\\n
\\n\"","module.exports = \"\"","import { Component, OnInit ,ViewChild} from \"@angular/core\";\nimport {\n Router,\n ActivatedRoute,\n NavigationEnd,\n RouterEvent\n} from \"@angular/router\";\nimport { filter, map, mergeMap } from \"rxjs/operators\";\nimport { Observable } from \"rxjs\";\nimport { fadeAnimation } from \"../../animations/fade.animation\";\nimport { RouterHelper } from \"../../router-helper\";\nimport { NgForm } from \"@angular/forms\";\n\n@Component({\n selector: \"app-background\",\n templateUrl: \"./background.component.html\",\n styleUrls: [\"./background.component.scss\"],\n animations: [fadeAnimation]\n})\nexport class BackgroundComponent implements OnInit {\n @ViewChild('backgroundform')\r\n form: NgForm;\n nextRoute;\n prevRoute;\n routerHelper: RouterHelper;\n constructor(private router: Router, private activatedRoute: ActivatedRoute) {\n \n this.routerHelper = new RouterHelper(router, activatedRoute);\n this.routerHelper\n .getRouteData(this.router.events)\n .pipe(\n map(data => {\n if (data[\"next\"]) {\n return data[\"next\"];\n }\n })\n )\n .subscribe(pathString => {\n this.nextRoute = pathString;\n });\n this.routerHelper\n .getRouteData(this.router.events)\n .pipe(\n map(data => {\n if (data[\"prev\"]) {\n return data[\"prev\"];\n }\n })\n )\n .subscribe(pathString => {\n this.prevRoute = pathString;\n });\n }\n\n ngOnInit() {}\n}\n","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n C3PO-CHARM\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n

\\r\\n Utilizing an investigative dataset collected by the registry between 2007 and 2010, C3PO defined procedure type risk categories, established baseline adverse event (AE) rates, and identified indicators of hemodynamic vulnerability and procedural efficacy in population subsets for specific case types.\\r\\n

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

\\r\\n C3PO built on the work of previous studies to define procedure-type risk categories by employing both consensus-based and empirical methodologies in a multi-center dataset. In order to categorize various procedure types, cases were grouped into similar risk categories then further empirically defined into four final procedure risk categories in 2010.\\r\\n

\\r\\n
\\r\\n \\r\\n \\\"C3PO-QI\\r\\n \\r\\n
\\r\\n

\\r\\n Cases types were grouped into 4 groups of procedures with similar risk, with certain cases being stratified by patient age in the original CHARM model. [Bergersen et al. Procedure-Type Risk Categories for Pediatric and Congenital Cardiac Catheterization. Circ Cardiovasc Interv. 2011 4:188-94.]\\r\\n

\\r\\n
\\r\\n
Hemodynamic Vulnerability
\\r\\n

\\r\\n In developing the CHARM model, C3PO assessed eight separate hemodynamic variables for inclusion in the final risk methodology: cardiac index, right ventricular (RV) systolic pressure, RV to systemic pressure ratio, systemic ventricle end-diastolic-pressure, mixed venous saturation, systemic arterial saturation, main pulmonary artery systemic pressure, and main pulmonary artery mean pressure. The final CHARM model included four hemodynamic variables seen below.\\r\\n

\\r\\n
\\r\\n \\r\\n \\\"C3PO-QI\\r\\n \\r\\n
\\r\\n

\\r\\n Hemodynamic risk variables, determined by the CHARM model, indicate patient hemodynamic instability, potentially putting patients at greater risk of AE occurrence.\\r\\n

\\r\\n
\\r\\n
CHARM Risk Adjustment Model
\\r\\n

\\r\\n In addition to defining these variables, the initial C3PO dataset was used to develop a risk adjustment model, now known as CHARM (Congenital Heart Adjustment for Risk Method). This metric made the equitable comparison of adverse event rates among institutions possible and received endorsement from the National Quality Forum (NQF) in 2012 as a pediatric quality measure.\\r\\n

\\r\\n

\\r\\n The CHARM risk adjustment methodology allows for comparison of adverse event (AE) frequency among institutions while accounting for differences in case mix complexity. Parameters such as procedure-type risk category, hemodynamic indicators of risk, and patient age less than 1year are important predictive factors in understanding the probability of an AE occurring during a given procedure. Using CHARM methodology, institutions are able to compute the predicted probability of AEs for cases at their institution. The sum of all predicted probabilities gives the expected number of AE occurrences, taking case mix complexity into consideration.\\r\\n

\\r\\n

\\r\\n The Standardized Adverse Event Ratio (SAER) is a metric of performance, incorporating risk adjustment to account for differences in case mix complexity. SAER is computed by dividing the observed AE rate (number of level 3/4/5 AEs in the dataset divided by total number of cases) by the expected AE rate (expected number of level 3/4/5 AE occurrences divided by total number of cases).\\r\\n

\\r\\n\\r\\n
\\r\\n \\r\\n \\\"C3PO-QI\\r\\n \\r\\n
\\r\\n

\\r\\n Standardized Adverse Event Ratio charts allow for comparison of adverse event rates between institutions while accounting for differences in case mix complexity. [Bergersen et al. Catheterization for Congenital Heart Disease Adjustment for Risk Method (CHARM). JACC Cardiovasc Interv. 2011;4:1037-46.]\\r\\n

\\r\\n

\\r\\n Since the development of the original CHARM model, advancements in congenital cardiac catheterization have resulted in the new procedural case types not included in the original risk adjustment model as well as a better understanding of the patient and procedural determinants of risk during catheterization procedures. CHARM II improves upon and modernizes methodology for assessment of procedural risk through the development of new case-type risk category designations and the addition of an improved hemodynamic vulnerability score. An updated list of cases performed by centers participating in the C3PO registry were divided into five procedure risk groups of similar AE rates to maximize the predictive capacity of case type in predicting clinically significant AE.\\r\\n

\\r\\n
\\r\\n \\r\\n \\\"C3PO-QI\\r\\n \\r\\n
\\r\\n

\\r\\n The CHARM II model categorizes procedural case types into 5 groups of similar risk of adverse event occurrence, allowing for more accurate comparisons of case-type mix among institutions [unpublished].\\r\\n

\\r\\n

\\r\\n Additionally, a hemodynamic risk score was developed by weighting more predictive values of hemodynamic risk more heavily than other hemodynamic values which significantly improved the discrimination of the CHARM II model to predict clinically significant AE.\\r\\n

\\r\\n
\\r\\n \\r\\n \\\"C3PO-QI\\r\\n \\r\\n
\\r\\n

\\r\\n Weighting values for indicators of hemodynamic instability and stratifying systemic arterial saturation by single-ventricle status allows for allows for increased discrimination in the CHARM II risk adjustment methodology [unpublished].\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","module.exports = \"\"","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-c3po-charm',\n templateUrl: './c3po-charm.component.html',\n styleUrls: ['./c3po-charm.component.scss'],\n host: { 'class': \"host\" }\n})\nexport class C3poCharmComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n C3PO-QI\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n

\\r\\n In 2013 C3PO began a new phase of the collaborative, known as the Congenital Cardiac Catheterization Project on Outcomes-Quality Improvement (C3PO-QI). C3PO-QI expanded participation to 15 institutions and worked to move beyond earlier benchmarking, to improving patient care practices through various quality improvement initiatives. Initially, the group aimed to reduce radiation exposure during congenital cardiac catheterization. Additionally, the C3PO-QI group explored efficacy outcomes for six specific procedures: Aortic Valvuloplasty, Pulmonary Valvuloplasty, Coarctation procedure, Atrial Septal Defect Closure, Patent Ductus Arteriosus Closure, and Transcatheter Pulmonary Valve placement.\\r\\n

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

\\r\\n Prospective C3PO-QI data collection began in May 2013 using a redesigned web-based tool. Institutional data was made available for comparison to other participating sites in aggregate including procedure counts, limited patient and procedural characteristics, and outcomes such as highest severity adverse events and transfusion rates. On-demand quality reports available to users included outcome metrics such as risk adjusted adverse event ratios (SAER) using the previously established CHARM model. A time series analysis tool allowed sites to track performance of their institution and physicians over time in comparison with other sites in aggregate.\\r\\n

\\r\\n

\\r\\n To improve patient care, specifically by reducing radiation exposure, the group used established scientific QI methodology and created a key driver diagram. This common QI tool summarizes a goal as well as key domains to target and interventions to make to achieve this goal.\\r\\n

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

\\r\\n The C3PO-QI key driver diagram summarizes the six domains and specific interventions that the collaborative used to achieve their goal of reducing patient radiation exposure.\\r\\n

\\r\\n

\\r\\n Subsequently, PDSA methodology was employed to evaluate the efficacy of the QI initiative. This involved 1) proposing changes based on hunches and theories (Plan), 2) implementing the change (Do), 3) measuring or describing the effect (Study), and 4) reviewing and upgrading the process based on what is learned (Act).\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\\"C3PO-QI\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n Plan-Do-Study-Act (PDSA) cycles played an important part in the radiation reduction quality improvement methodology of C3PO-QI, allowing for frequent review of data and iterative implementation of improvements.\\r\\n

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

\\r\\n C3PO-QI made important strides in classifying specific congenital cardiac catheterization procedures into larger Radiation Exposure Categories (REC). The collaborative defined 40 unique procedure types and published a classification of these procedures into low, medium, and high REC based on the median DAP/kg for each procedure type. This work facilitates standardized radiation exposure reporting among institutions with differing case mix complexity.\\r\\n

\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\\"C3PO-QI\\r\\n \\r\\n
\\r\\n
\\r\\n

\\r\\n Radiation Exposure Categories (RECs) group procedures into low-, medium- and high-radiation groups based on expected radiation exposure by case type. [Quinn et al. Radiation Risk Categories in Cardiac Catheterization for Congenital Heart Disease: A Tool to Aid in the Evaluation of Radiation Outcomes. Pediatr Cardiol. 2019;40(2): 445-453.]\\r\\n

\\r\\n

\\r\\n The collaborative measurably reduced radiation exposure at all participating sites, demonstrating the potential of multi-center QI initiatives to create meaningful impact on patient care for congenital cardiac catheterization. Using methodologies such as the Key Driver diagram and PDSA cycles, the collaborative was able to assist in cultural shifts at participating instructions and lower doses utilized for procedures by improving practice performance. Based on data between January 2015 and December 2017, the collaborative was able to demonstrate that it had met and even exceeded its goal of reducing radiation exposure for low, medium, and high Radiation Risk Categories.\\r\\n

\\r\\n
\\r\\n
\\r\\n \\r\\n \\\"C3PO-QI\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n The collaborative reduced median radiation exposure among all sites throughout the QI initiative (2014-2017) and continues to work to reduce radiation use.\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\"","module.exports = \".full-width{cursor:zoom-in;width:100%}\\n\"","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-c3po-qi',\n templateUrl: './c3po-qi.component.html',\n styleUrls: ['./c3po-qi.component.scss'],\n host: { 'class': \"host\" }\n})\nexport class C3poQiComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","module.exports = \"
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n \\n C3PO-R3\\n \\n
\\n
\\n
\\r\\n

\\r\\n In the current generation of C3PO, the collaborative aims to develop generalizable resource utilization tools to improve care for children with congenital heart disease undergoing catheterization procedures while reducing data encumbrance of those contributing to congenital cardiac catheterization registries. We seek to improve the quality of patient care by providing robust tools for operators to use to enhance their daily practices by improving understanding of resource allocation and communication of procedure risk to families as well as optimizing patient flow.\\r\\n

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

\\r\\n To realize this goal, we are working to make a procedure risk calculator available on our website for the entire congenital cardiac catheterization community. Staff inside and outside the collaborative will be able to enter patient characteristics, predicted hemodynamic indicators, and anticipated catheterization procedure type to produce risk scores according to CHARM, CRISP, and IMPACT risk methodologies. Making this tool easily accessible will allow centers to anticipate patient risk of adverse events and resource utilization to optimize delivery of patient care.\\r\\n

\\r\\n

\\r\\n The redesigned C3PO-R3 database includes fewer data elements, many entered as dichotomous variables, in order to reduce data encumbrance while gathering meaningful data to continue data-driven improvements in patient care. Additionally, new case types facilitate procedure reporting when multiple interventions are performed to allow for equitable comparison of risk of AE among institutions.\\r\\n

\\r\\n

\\r\\n Importantly, for the first time, we will be evaluating required resources for patient care before, during and after the procedure in order to evaluate the predictive capacity of our risk prediction tool.\\r\\n

\\r\\n
\\r\\n \\r\\n \\\"C3PO-R3\\r\\n \\r\\n
\\r\\n
\\r\\n

\\r\\n C3PO-R3 collects a streamlined dataset containing variables determined to be significant to risk prediction and believed to be important in understanding resource utilization and acuity of patient care.\\r\\n

\\r\\n

\\r\\n In 2020 we will develop a tool to inform capacity management for high volume, high acuity patients with congenital heart disease undergoing catheterization procedures. Currently, there is no prediction tool available to assist catheterization lab staff in balancing high-risk, complex cases throughout the week to improve capacity management and allow for calculation of recovery resource requirements. Our work in this area will increase patient safety by allowing anticipated risk predictions to guide the staff in making informed decisions on patient flow in the catheterization lab and throughout their admission, as well as providing patients and their families with information regarding their course of care.\\r\\n

\\r\\n
\\n
\\n \\n \\n \\n \\n
\\n\"","module.exports = \"\"","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-c3po-r3',\n templateUrl: './c3po-r3.component.html',\n styleUrls: ['./c3po-r3.component.scss'],\n host: { 'class': \"host\" }\n})\nexport class C3poR3Component implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n C3PO\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\\"C3PO-R3\\r\\n \\r\\n
\\r\\n
\\r\\n

\\r\\n The C3PO collaborative has contributed to improving outcomes and patient care in congenital cardiac catheterization for over a decade. The different phases of the project reflect progress in the field and the continued drive to improve patient care.\\r\\n

\\r\\n
Project Overview
\\r\\n
\\r\\n

\\r\\n The Congenital Cardiac Catheterization Project on Outcomes (C3PO) is an ongoing, multi-center registry that began prospectively collecting data in 2007. The C3PO collaborative seeks to develop methods to assess and compare outcomes of catheterization procedures treating Congenital Heart Disease while exploring measures of procedural efficacy and resource utilization. By focusing on improving the quality of care we deliver to patients with congenital heart disease, the collaborative has successfully reduced radiation exposure at participating centers. Further, through an understanding of resources and risk, we aim to improve care models and patient experience by accounting for the inherent risk of the procedure.\\r\\n

\\r\\n

\\r\\n The collaborative includes multiple pediatric centers across the country actively collecting data. We have also partnered with the International Quality Improvement Collaborative (IQIC), facilitating data collection for congenital cardiac catheterization procedures in low and middle income countries. You can explore an interactive map of our collaborators from the home page of our external website and see leading centers across the world working with us to further understand risk adjustment methodology and resource allocation in congenital cardiac catheterization.\\r\\n

\\r\\n

\\r\\n Also available from our homepage is a searchable list of publications produced by the C3PO collaborative over time. Please feel free to peruse this list and see the meaningful contributions our collaborative has made to the field.\\r\\n

\\r\\n

\\r\\n Finally, please contact us with any questions, comments, or ideas. We look forward to hearing from you and improving the care we deliver in cardiac catheterization for congenital heart disease, together.\\r\\n

\\r\\n
\\r\\n\\r\\n
\\n\\n
\\n\"","module.exports = \"\"","import { Component, OnInit } from \"@angular/core\";\n\n@Component({\n selector: \"app-c3po\",\n templateUrl: \"./c3po.component.html\",\n styleUrls: [\"./c3po.component.scss\"],\n host: { 'class': \"host\" }\n})\nexport class C3poComponent implements OnInit {\n constructor() {}\n\n ngOnInit() {}\n}\n","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n IQIC\\r\\n
\\r\\n
\\r\\n
\\r\\n
Project Overview
\\r\\n

\\r\\n The International Quality Improvement Collaborative (IQIC) for Congenital Heart Disease was officially launched in 2008 to provide benchmarking data for congenital heart surgery in the developing world, with the overall goal of guiding quality improvement efforts and reducing mortality for congenital heart disease.\\r\\n

\\r\\n

\\r\\n Our vision is to facilitate a collaborative comprised of healthcare teams from around the world working to create a culture of patient safety and sustainable quality improvement (QI) infrastructures for children receiving congenital heart surgery in resource-limited settings.\\r\\n

\\r\\n

\\r\\n Our mission is to reduce mortality and major complications for children undergoing congenital heart surgery.\\r\\n

\\r\\n

\\r\\n To achieve our goals, we aim to:
\\r\\n

    \\r\\n
  • Create tailored quality improvement strategies to reduce mortality and major complications in emerging programs.
  • \\r\\n
  • Employ a telemedicine platform to facilitate distance learning, dialogue, and to disseminate knowledge and skills.
  • \\r\\n
\\r\\n

\\r\\n Today, there are currently 64 sites in 25 different countries enrolled with the IQIC.\\r\\n

\\r\\n
\\r\\n \\r\\n
\\n\\n
\\n\"","module.exports = \"\"","import { Component, OnInit,ViewChild } from \"@angular/core\";\nimport { NgForm } from \"@angular/forms\";\n\n@Component({\n selector: \"app-c3po-iqic\",\n templateUrl: \"./c3po-iqic.component.html\",\n styleUrls: [\"./c3po-iqic.component.scss\"],\n host: { 'class': \"host\" }\n})\nexport class C3poIQICComponent implements OnInit {\n @ViewChild('aboutform')\n form: NgForm;\n constructor() {\n }\n\n ngOnInit() {}\n}\n","module.exports = \"\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\"","module.exports = \".min-md-width{width:100%}\\n\"","import { Component, OnInit } from '@angular/core';\nimport { CaseFieldsService } from '../../user/add-case/case-fields.service';\n\n@Component({\n selector: 'app-age',\n templateUrl: './age.component.html',\n styleUrls: ['./age.component.scss']\n})\nexport class AgeComponent implements OnInit {\n name = \"Clinical Characteristics\";\n min = 1;\n max = 31;\n age;\n ageError = false;\n userInsertedAge: any;\n\n public fields;\n constructor(fields: CaseFieldsService) {\n\n this.fields = fields;\n }\n\n ngOnInit() {\n\n }\n\n setMinMax(ageType:any) {\n this.fields.getField(this.name, 'Age Unit').value = ageType;\n if (ageType == \"Days\") {\n this.max = 31;\n }\n else if (ageType == \"Months\") {\n this.max = 12;\n }\n else if (ageType == \"Years\") {\n this.max = 100;\n }\n if (this.age) {\n this.fields.getField(this.name, 'Age').value = this.userInsertedAge;\n this.checkVal();\n }\n\n }\n\n checkVal() {\n \n this.age = this.fields.getField(this.name, 'Age').value;\n // this.age = Math.round(this.age);\n this.age = this.age.toString().split('.')[0];\n this.fields.getField(this.name, 'Age').value = this.age;\n\n this.userInsertedAge = this.age;\n\n if (this.age > this.max) {\n this.fields.getField(this.name, 'Age').value = this.max;\n } else if (this.age < this.min) {\n this.fields.getField(this.name, 'Age').value = this.min;\n }\n else {\n this.ageError = false;\n }\n }\n}\n","module.exports = \"
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n   \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n   \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n   \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n   \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n   \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n\"","module.exports = \".error,.warning{border-color:#ddd !important}.mat-radio-button ~ .mat-radio-button{margin-top:10px;margin-left:16px}.sex-radio-button{margin-bottom:0px}\\n\"","import { Component, OnInit } from '@angular/core';\nimport { Router } from \"@angular/router\";\nimport { CalculatorService } from '../calculator.service';\nimport { CaseFieldsService } from '../../user/add-case/case-fields.service';\nimport { LoginService } from \"../../user/login.service\";\nimport { PicklistItemService } from \"../../shared-data-entry/picklist-item.service\";\nimport { PicklistItemResponse } from \"../../../shared/picklist-item-response\";\n\n@Component({\n selector: 'app-calc-characteristics',\n templateUrl: './calc-characteristics.component.html',\n styleUrls: ['./calc-characteristics.component.scss']\n})\nexport class CalcCharacteristicsComponent implements OnInit {\n problemsDropDown = [];\n problems = [];\n selectedProblems = [];\n name = \"Clinical Characteristics\";\n weight;\n height;\n public isCaseCalc: boolean;\n public calc: CalculatorService;\n fields: CaseFieldsService;\n public user: LoginService;\n public picklistItemService: PicklistItemService;\n constructor(calc: CalculatorService, fields: CaseFieldsService, _user: LoginService,\n _picklistItemService: PicklistItemService, private router: Router) {\n this.calc = calc;\n this.fields = fields;\n this.user = _user;\n this.picklistItemService = _picklistItemService;\n let url = this.router.url;\n this.isCaseCalc = (url.indexOf(\"user-portal\") > 0);\n this.calc.readOnly = this.isCaseCalc;\n if (this.user.user) {\n this.picklistItemService\n .getPicklistItem(this.user.user.HospitalId.toString(), \"Non-Cardiac Problem\")\n .subscribe(data => this.populatePicklistItems(data));\n }\n this.calcBSA();\n if (this.isCaseCalc && this.fields.getField('Pre-Case Calculation', 'STS Diagnosis Category').value) {\n this.calc.stsSelection = this.fields.getField('Pre-Case Calculation', 'STS Diagnosis Category').value;\r\n }\n }\n\n ngOnInit() {\n }\n\n private populatePicklistItems(picklistItemResponse: PicklistItemResponse) {\n this.picklistItemService.picklistItemModel = picklistItemResponse.DataObject;\n this.picklistItemService.mapToDropDown();\n\n this.problemsDropDown = this.picklistItemService.dropDownPicklistItem;\n this.problems = this.problemsDropDown.map(x => x.name);\n this.loadProblems();\n }\n private loadProblems() {\n let valMap: Array = [];\n\n let probs = this.fields.getValue(this.name, 'Non-cardiac Problems');\r\n if (probs != null) {\r\n let probArray = probs.split('|');\r\n\r\n for (let p of probArray) {\r\n for (let dropDownItem of this.problemsDropDown) {\r\n if (dropDownItem.code === p) {\r\n valMap.push(dropDownItem.name);\r\n }\r\n }\r\n }\r\n }\r\n\r\n this.selectedProblems = valMap;\r\n }\n calcWeight() {\n let weight = +this.fields.getValue('Clinical Characteristics', \"Weight\");\n weight = Math.round(weight*10)/10;\n if (weight <= 0 || weight > 500) {\n weight = null;\r\n }\n\n this.fields.setValue('Clinical Characteristics', \"Weight\", weight);\r\n }\n toggleCardiacProblems(val) {\n this.fields.getField(this.name, 'Non-cardiac Problems').hide = val;\n }\n getCardiacProblems() {\n return this.fields.getField('Clinical Characteristics', 'Non-cardiac Problems').hide;\n }\n public updateProblems() {\n if (this.selectedProblems.length > 0) {\r\n let valMap: Array = [];\r\n\r\n for (let p of this.selectedProblems) {\r\n for (let dropDownItem of this.problemsDropDown) {\r\n if (dropDownItem.name === p) {\r\n valMap.push(dropDownItem.code)\r\n }\r\n }\r\n }\r\n\r\n this.fields.setValue(this.name, 'Non-cardiac Problems', valMap.join(\"|\"));\r\n } else {\r\n this.fields.setValue(this.name, 'Non-cardiac Problems', null);\r\n }\r\n }\n calcBSA() {\n this.weight = +this.fields.getValue(this.name, \"Weight\");\n this.weight = Math.round(this.weight * 10) / 10;\n if (this.weight <= 0 || this.weight > 500) {\n this.weight = null;\r\n }\n this.fields.setValue(this.name, \"Weight\", this.weight);\n\n this.height = +this.fields.getValue(this.name, \"Height\");\n this.height = Math.round(this.height);\n if (this.height <= 0 || this.height > 500) {\n this.height = null;\r\n }\n this.fields.setValue(this.name, \"Height\", this.height);\n\n if (this.weight && this.height) {\n this.fields.getField(\n this.name,\n \"BSA\"\n ).value = CalcCharacteristicsComponent.round(\n Math.sqrt((this.height * this.weight) / 3600),\n 3\n );\n } else {\n this.fields.setValue(this.name, \"BSA\", null);\r\n }\n }\n\n static round(number, precision) {\n var factor = Math.pow(10, precision);\n var tempNumber = number * factor;\n var roundedTempNumber = Math.round(tempNumber);\n return roundedTempNumber / factor;\n }\n}\n","module.exports = \"
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n RISK CALCULATOR\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

CONGENITAL CARDIAC CATHETERIZATION

\\r\\n

Project on Outcomes

\\r\\n

\\r\\n Pre-Case Risk Summary\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n CASE IDENTIFICATION\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Cath Date: {{cathDate|date:'medium'}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Operator: {{operator}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Case ID: {{caseNumber}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n CLINICAL CHARACTERISTICS\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n AGE:\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{patAge}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n PRIMARY DIAGNOSIS:\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{ primaryDiagnosis}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n SEX:\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{patSex}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n GENETIC SYNDROM:\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{ geneticSyndrom }}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n HEIGHT:\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{ patHeight}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n CATH <90 DAYS PRIOR:\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{ cathPrior}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n WEIGHT:\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{patWeight}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n SUR <90 DAYS PRIOR:\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{ surPrior}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n ANTICIPATED CASE RISK\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n CASE TYPE: {{ caseType }}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Pre-Procedure Cardiac Status\\r\\n
\\r\\n
\\r\\n
\\r\\n {{ preCaseCalculationModel.PreCaseCardiacStatus }}\\r\\n
\\r\\n\\r\\n
\\r\\n Options: 1, 2, 3\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n Hemodynamic Vulnerability Score\\r\\n
\\r\\n
\\r\\n
\\r\\n {{ preCaseCalculationModel.HemodynamicVulnerabilityScore }}\\r\\n
\\r\\n
\\r\\n Options: 0, 1, 2, ≥3\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Radiation Exposure Category\\r\\n
\\r\\n
\\r\\n
\\r\\n {{preCaseCalculationModel.RadiationExposureCategory}}\\r\\n
\\r\\n\\r\\n
\\r\\n REC Options: Low, Medium, High\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n Case Duration\\r\\n
\\r\\n
\\r\\n
\\r\\n {{ preCaseCalculationModel.CaseDuration }}\\r\\n
\\r\\n
\\r\\n C3PO Median (150% of Median)\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n PREDICT RISK Category\\r\\n
\\r\\n
\\r\\n
\\r\\n {{ preCaseCalculationModel.PredictRiskCategory }}\\r\\n
\\r\\n\\r\\n
\\r\\n Options: 0, 1, 2, 3, 4, 5\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n Risk Category AE Rate\\r\\n
\\r\\n
\\r\\n
\\r\\n {{ preCaseCalculationModel.RiskCategoryAeRate }}\\r\\n
\\r\\n
\\r\\n PREDIC³T RISK CATEGORY
2014-2019 AE Rate 95% CI\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Adverse Event Risk\\r\\n
\\r\\n
\\r\\n
\\r\\n {{ preCaseCalculationModel.AdverseEventRisk }}\\r\\n
\\r\\n
\\r\\n Options: Low, Medium, High\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n   \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n CLINICAL CHARACTERISTICS\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n ANTICIPATED HEMODYNAMICS\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n CASE 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
\\r\\n
\\r\\n
\\r\\n Pre-Procedure Cardiac Status\\r\\n
\\r\\n
\\r\\n
\\r\\n {{ preCaseCalculationModel.PreCaseCardiacStatus }}\\r\\n
\\r\\n\\r\\n
\\r\\n Options: 1, 2, 3\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n Hemodynamic Vulnerability Score\\r\\n
\\r\\n
\\r\\n
\\r\\n {{ preCaseCalculationModel.HemodynamicVulnerabilityScore }}\\r\\n
\\r\\n
\\r\\n Options: 0, 1, 2, ≥3\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Radiation Exposure Category\\r\\n
\\r\\n
\\r\\n
\\r\\n {{preCaseCalculationModel.RadiationExposureCategory}}\\r\\n
\\r\\n\\r\\n
\\r\\n REC Options: Low, Medium, High\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n Case Duration\\r\\n
\\r\\n
\\r\\n
\\r\\n {{ preCaseCalculationModel.CaseDuration }}\\r\\n
\\r\\n
\\r\\n C3PO Median (150% of Median)\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n PREDICT RISK Category\\r\\n
\\r\\n
\\r\\n
\\r\\n {{ preCaseCalculationModel.PredictRiskCategory }}\\r\\n
\\r\\n\\r\\n
\\r\\n Options: 0, 1, 2, 3, 4, 5\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n Risk Category AE Rate\\r\\n
\\r\\n
\\r\\n
\\r\\n {{ preCaseCalculationModel.RiskCategoryAeRate }}\\r\\n
\\r\\n
\\r\\n PREDIC³T RISK CATEGORY
2014-2019 AE Rate 95% CI\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Adverse Event Risk\\r\\n
\\r\\n
\\r\\n
\\r\\n {{ preCaseCalculationModel.AdverseEventRisk }}\\r\\n
\\r\\n
\\r\\n Options: Low, Medium, High\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\"","module.exports = \"@import url(\\\"https://fonts.googleapis.com/css?family=Montserrat:400,500,600\\\");@import url(\\\"https://use.fontawesome.com/releases/v5.0.13/css/all.css\\\");.max-height{height:100% !important}.max-width{width:100% !important}.bottom-border{border-bottom:3px dotted orange}.results .result{text-align:center;width:70%;white-space:pre-line;position:relative;font-size:20px;background:#007496;color:#fff;margin:0 auto}.results .result-custom{text-align:center;width:100%;white-space:pre-line;position:relative;font-size:20px;background:#007496;color:#fff;margin:0 auto}.results .result-links{text-align:center;margin:15px 0px}.results .result-links a{background:#3ab2d1;color:#fff;display:block;cursor:pointer;padding:7px;margin:5px 5px;text-transform:uppercase}.results .result-links a i{float:left;font-size:20px}.results .result-links a:hover{background:#ffc107;color:#3a3a3a}.border-header{border:2px solid #007496 !important;padding:0;margin-top:0px;margin-right:5%;margin-left:5%;border-radius:5px;width:100%}.border{border-top:none !important;border:2px solid #007496 !important;padding:0;padding-bottom:10px;margin-right:20px;margin-left:20px;margin-bottom:40px;width:auto;pointer-events:none !important;font-size:14px;border-radius:5px}.my-card:hover .header-nohover{border-top:none !important}.my-card:hover .accent-icon-nohover i{color:white !important}.my-card:hover .accent-icon-nohover svg path{transition:0.3s all;stroke:none !important}.masthead{height:150px;width:100%;max-width:100%;background-image:url(\\\"/assets/images/potential18a.jpg\\\");max-height:150px;background-repeat:no-repeat;background-position:left top;background-size:100% auto;background-attachment:scroll;border-bottom:1px solid #ddd}@media (max-width: 996px){.masthead{background-size:auto auto;background-position:right top}}.masthead .row{height:100%}@media screen and (max-width: 1277px){.masthead .col-xl-6{flex:0 0 100%;max-width:100%}}.blurb{height:100%;display:inline-flex;align-items:center}.blurb .inside-blurb h2,.blurb .inside-blurb h6{width:100%;font-weight:400;color:#fff;display:flex;align-items:flex-start}@media screen and (max-width: 475px){.blurb .inside-blurb h2,.blurb .inside-blurb h6{display:block}}.blurb .inside-blurb h2 i,.blurb .inside-blurb h6 i{font-size:10px;color:#e0a800}.blurb .inside-blurb h2{color:#fff}@media screen and (max-width: 1277px){.blurb .inside-blurb{width:100%}.blurb .inside-blurb h2,.blurb .inside-blurb h2h6{width:100%}}@media (max-width: 1278px){.blurb{box-shadow:none}}\\n\"","\r\nimport { Component, OnInit, OnDestroy, ViewChild } from '@angular/core';\nimport { Router, ActivatedRoute, ParamMap, NavigationEnd, NavigationStart, RouterEvent } from \"@angular/router\";\nimport { filter, map, mergeMap, tap } from \"rxjs/operators\";\nimport { CalculatorService } from './calculator.service';\nimport { CaseFieldsService } from \"../user/add-case/case-fields.service\";\nimport { fadeAnimation } from '../../animations/fade.animation';\nimport { enterAnimation } from '../../animations/enter.animation';\nimport * as jspdf from 'jspdf';\r\nimport html2canvas from 'html2canvas';\r\nimport * as FileSaver from 'file-saver';\n\nimport { PicklistItemService } from \"../shared-data-entry/picklist-item.service\";\nimport { PicklistItemResponse } from '../../shared/picklist-item-response';\nimport { PicklistItemModel } from '../../shared/picklist-item-model';\nimport { CaseModel } from '../../shared/case/case-model';\nimport { PreCaseCalculationModel } from '../../shared/pre-case-calculation-model';\nimport { PreCaseCalculationtResponse } from '../../shared/pre-case-calculation-response';\nimport { CaseReqResourcesModel } from '../../shared/case/case-req-resources-model';\nimport { CaseProcEfficacyModel } from '../../shared/case/case-proc-efficacy-model';\nimport { CaseProcAssignmentModel } from '../../shared/case/case-proc-assignment-model';\nimport { CaseAEItemModel } from '../../shared/case/case-ae-item-model';\nimport { CasePreCalcInfoModel } from '../../shared/case/case-pre-calc-info-model';\nimport { CaseHemoDynamicsInfoModel } from '../../shared/case/case-hemo-dynamics-info-model';\nimport { CaseSaveResponse } from '../../shared/case-save/case-save-response';\nimport { LoginService } from \"../user/login.service\";\nimport { CaseService } from \"../user/add-case/case.service\";\nimport { NgForm } from \"@angular/forms\";\nimport { CaseResponse } from '../../shared/case/case-response';\nimport { forEach } from '@angular/router/src/utils/collection';\r\n\n@Component({\n selector: 'app-calculator',\n templateUrl: './calculator.component.html',\n styleUrls: ['./calculator.component.scss'],\n animations: [enterAnimation]\n})\nexport class CalculatorComponent implements OnInit, OnDestroy {\n @ViewChild('calculatorform')\r\n form: NgForm;\n public picklistItemService: PicklistItemService;\n public user: LoginService;\n\n\n showResults:boolean = false;\n btnText: string = \"CALCULATE\";\n caseNumber: number;\n operator: string = \"\";\n operators = [];\n cathDate: string = \"\";\n patAge: string = \"\";\n patSex: string = \"\";\n patWeight: string = \"\";\n patHeight: string = \"\";\n primaryDiagnosis: string = \"\";\n geneticSyndrom: string = \"\";\n cathPrior: string = \"\";\n surPrior: string = \"\";\n caseType: string=\"\";\n showSummary: boolean = false;\n showProgressBar: boolean = true;\n calculationStage: boolean = true;\n dropDownCrisp: PicklistItemResponse;\n preCaseCalculationModel: PreCaseCalculationModel;\n caseService: CaseService;\n caseModel: CaseModel;\n public calc: CalculatorService;\n public fields: CaseFieldsService;\n constructor(calc: CalculatorService, _fields: CaseFieldsService, private router: Router, _picklistItemService: PicklistItemService, _user: LoginService, _caseService: CaseService) { \n \n this.calc = calc;\n this.fields = _fields;\n this.user = _user;\n this.caseService = _caseService;\n this.resetFieldsCheck();\n\n this.picklistItemService = _picklistItemService;\n this.picklistItemService\n .getPicklistItem(\"1\", \"CRISP Physiologic category\")\n .subscribe(data => this.populatePicklistItems(data, \"CRISP\"));\n \n this.picklistItemService\n .getPicklistItem(this.user.user.HospitalId.toString(), \"OPERATORS\")\n .subscribe(data => this.populateOperatorPicklistItems(data));\n\n }\n\n populatePicklistItems(picklistItemResponse: PicklistItemResponse, type) {\n this.picklistItemService.picklistItemModel = picklistItemResponse.DataObject;\r\n this.picklistItemService.mapToDropDown(); \n\n \n this.dropDownCrisp = picklistItemResponse;\n\n }\n populateOperatorPicklistItems(picklistItemResponse: PicklistItemResponse) {\n this.operators = picklistItemResponse.DataObject;\n }\n ngOnInit() {\n }\n\n //gets the recorded procedures as an array\n getProceduresArray() {\n \n var procedure = [];\n var getproc = [];\n var proc = this.getProcedures();\n if (proc != null) {\n getproc = Object.getOwnPropertyNames(this.getProcedures());\n\n\n for (let pr in Object.values(proc)) {\n procedure[pr] = getproc[pr] + \",\" + Object.values(proc)[pr][\"primary\"];\r\n }\n }\n return procedure;\n\n \n }\n\n //retrieves the recorded procedure list from the case list service\n getProcedures() {\n return this.fields.getField(\"Pre-Case Calculation\", \"Recorded Procedures\").value;\n }\n\n showCalculatewBtn() {\n let currentDate = new Date();\n let cathDate = new Date(this.fields.getField(\"Case Identification\", 'Cath Date').value);\n currentDate.setHours(0, 0, 0, 0);\n cathDate.setHours(0, 0, 0, 0);\n if (cathDate >= currentDate) {\n return true;\n }\n return false;\r\n }\n PreCaseSummary() {\n this.showSummary = true;\n this.patAge = this.calc.case.CaseClinicalInfo.PatAge + \" \"\n var agetype= this.calc.case.CaseClinicalInfo.PatAgeType == 0 ? 'Days' :\n this.calc.case.CaseClinicalInfo.PatAgeType == 1 ? 'Months' : this.calc.case.CaseClinicalInfo.PatAgeType == 2 ? 'Years' : '';\n this.patAge = this.calc.case.CaseClinicalInfo.PatAge + \" \" + agetype;\n this.patSex = this.calc.case.CaseClinicalInfo.PatSex == '1' ? 'Male' : this.calc.case.CaseClinicalInfo.PatSex == '2' ? 'Female' : '';\n\n if (this.calc.case.CaseClinicalInfo.PatWeight != null)\n this.patWeight = this.calc.case.CaseClinicalInfo.PatWeight + \" kg\"\n if (this.calc.case.CaseClinicalInfo.PatHeight != null)\n this.patHeight = this.calc.case.CaseClinicalInfo.PatHeight + \" cm\"\n\n if (this.fields.getField('Clinical Characteristics', 'PrimarySTS').text != null)\n this.primaryDiagnosis = this.fields.getField('Clinical Characteristics', 'PrimarySTS').text;\n\n this.geneticSyndrom = this.calc.case.CaseClinicalInfo.GenSyndromeInd == '1' ? 'Yes' : 'No';\n this.cathPrior = this.calc.case.CaseClinicalInfo.PrevCathlast90dInd == '1' ? 'Yes' : 'No';\n this.surPrior = this.calc.case.CaseClinicalInfo.PrevSurglast90dInd == '1' ? 'Yes' : 'No';\n this.caseNumber = this.calc.case.CaseId;\n this.cathDate = this.calc.case.CathDate;\n if (this.operators.length > 0 && this.calc.case.PrimaryOperatorId > 0)\n this.operator = this.operators.find(x => x.ChoiceCode == this.calc.case.PrimaryOperatorId).ChoiceText;\r\n if (this.fields.getField(\"Pre-Case Calculation\", 'Case Type').value != null)\r\n this.caseType = this.fields.getField(\"Pre-Case Calculation\", 'Case Type').value;\r\n }\n\n\n onPrint() {\r\n\r\n let pdf = new jspdf('p', 'mm', 'a4');\r\n \r\n const filename = 'PreCaseSummary.pdf';\r\n\r\n\r\n html2canvas(document.querySelector('#precaseSummaryReport')).then(canvas1 => {\r\n\r\n pdf.addImage(canvas1.toDataURL('image/jpeg'), 'JPEG', 10, 20, 191, 255);\r\n \r\n pdf.save(filename);\r\n \r\n });\r\n \r\n }\n\n onPrintCancel() {\n this.showSummary = false;\r\n }\n\n changeView($event) {\n //window.onbeforeunload = null;\n var keys = Object.keys(this.fields.getField('Pre-Case Calculation', \"Recorded Procedures\").value);\n var len = keys.length;\n if (len==0) {\n this.fields.setValue('Pre-Case Calculation', \"Recorded Procedures\", null);\r\n }\n let currentDate = new Date();\n let cathDate = new Date(this.fields.getField(\"Case Identification\", 'Cath Date').value);\n currentDate.setHours(0, 0, 0, 0);\n cathDate.setHours(0, 0, 0, 0);\n if (this.fields.getField('Clinical Characteristics', 'Age').value && len > 0 && cathDate >= currentDate\n && this.fields.getField(\"Pre-Case Calculation\", 'Single Ventricle Physiology').value != null) {\n this.showResults = !this.showResults;\n }\n\n if (this.showResults) {\n this.btnText = \"BACK\";\n this.showProgressBar = true;\n this.calculationStage = true;\n this.preCaseCalculationModel = new PreCaseCalculationModel();\n this.preCaseCalculation();\n \n }\n else {\n this.btnText = \"CALCULATE\";\n this.calculationStage = false;\n }\n }\n\n preCaseCalculation() {\r\n //if (this.caseService.saveCaseId) {\n // this.fields.calculate = true;\n // this.router.navigate(['/user-portal/edit-case/save/' + this.caseService.saveCaseId]);\r\n //}\r\n //SaveForCalculation();\r\n this.loadCase();\r\n this.calc.case = this.caseService.case;\r\n if (this.calc.case.CaseId) {\r\n this.calc.save().subscribe(data => this.saveResponse(data));\r\n }\r\n else {\r\n this.btnText = \"CALCULATE\";\r\n this.showResults = !this.showResults;\r\n }\r\n }\n private saveResponse(data: CaseSaveResponse) {\n let caseSaveStatusModel = data.DataObject;\r\n if (caseSaveStatusModel.Casestatus === \"Saved Succesfully\") {\n this.calc.getPreCaseCalculationValue(this.calc.case.CaseId, this.calc.case.CaseUpdatedby).subscribe(data => this.loadResponse(data));\n }\n }\n\n private loadResponse(data: PreCaseCalculationtResponse) {\n this.preCaseCalculationModel = data.DataObject;\n this.showProgressBar = false;\n let emtyValue = \"---\";\n //PreCaseCardiacStatus\n let preCaseCardiacStatus = this.fields.getField(\"Pre-Case Calculation\", 'Physiologic Category').value;\n let preCaseCardiacStatusView: string;\n if (preCaseCardiacStatus == 'CPC02') {\n preCaseCardiacStatusView = '1';\r\n }\n else if (preCaseCardiacStatus == 'CPC03') {\n preCaseCardiacStatusView = '2';\r\n }\n else if (preCaseCardiacStatus == 'CPC04') {\n preCaseCardiacStatusView = '3';\r\n }\n else {\n preCaseCardiacStatusView = emtyValue;\r\n }\n\n this.preCaseCalculationModel.PreCaseCardiacStatus = preCaseCardiacStatusView;\n\n if (!this.preCaseCalculationModel.AdverseEventRisk) {\n this.preCaseCalculationModel.AdverseEventRisk = emtyValue;\r\n }\n if (!this.preCaseCalculationModel.CaseDuration) {\n this.preCaseCalculationModel.CaseDuration = emtyValue;\r\n }\n if (!this.preCaseCalculationModel.HemodynamicVulnerabilityScore) {\n this.preCaseCalculationModel.HemodynamicVulnerabilityScore = emtyValue;\r\n }\n else {\r\n var hemoScore: number = +this.preCaseCalculationModel.HemodynamicVulnerabilityScore;\n if (hemoScore >= 3) {\r\n this.preCaseCalculationModel.HemodynamicVulnerabilityScore = '≥3'\r\n }\r\n }\n if (!this.preCaseCalculationModel.PredictRiskCategory) {\n this.preCaseCalculationModel.PredictRiskCategory = emtyValue;\r\n }\n if (!this.preCaseCalculationModel.RadiationExposureCategory) {\n this.preCaseCalculationModel.RadiationExposureCategory = emtyValue;\r\n }\n if (!this.preCaseCalculationModel.RiskCategoryAeRate) {\n this.preCaseCalculationModel.RiskCategoryAeRate = emtyValue;\r\n }\n }\n\n ngOnDestroy() {\n this.resetFieldsCheck();\n }\n\n resetFieldsCheck() {\n if (this.router.url.indexOf(\"user-portal\") == -1) {\n this.fields.resetFields();\r\n }\r\n }\n private loadCase() {\n\n let url = this.router.url;\n let isNotPostSave = (url.indexOf(\"post-save\") === -1);\n if (isNotPostSave) {\n console.log(this.fields.fields);\n //this.caseService.clearCase();\n\n this.caseService.case.HospitalId = +this.fields.getField(\"Case Identification\", 'Hospital').value;\n this.caseService.case.CaseUpdatedby = this.user.user.UserId.toString();\n this.caseService.case.CaseId = +this.fields.getField(\"Case Identification\", 'Case Number').value;\n this.caseService.case.PrimaryOperatorId = +this.fields.getField(\"Case Identification\", 'Operator').value;\n this.caseService.case.CathDate = this.formatDate(this.fields.getField(\"Case Identification\", 'Cath Date').value);\n\n if (this.caseService.case.CathDate == '' && isNotPostSave) {\n this.fields.validate = false;\r\n this.fields.validateDate = true;\r\n let nav = this.fields.getParent(\"Case Identification\")[\"link\"];\r\n this.router.navigate([nav]);\r\n } else {\r\n this.fields.validateDate = false;\r\n if (this.formatTime(this.fields.getField(\"Case Identification\", 'Case Time').value) != null) {\r\n this.caseService.case.CathDate = this.formatDate(this.fields.getField(\"Case Identification\", 'Cath Date').value) + ' ' + this.formatTime(this.fields.getField(\"Case Identification\", 'Case Time').value);\r\n }\n this.caseService.case.CaseClinicalInfo.CaseClinicalInfoId = this.fields.getField(\"Clinical Characteristics\", 'Id').value;\n this.caseService.case.CaseClinicalInfo.Updatedby = this.caseService.case.CaseUpdatedby;\n this.caseService.case.CaseClinicalInfo.CaseId = this.caseService.case.CaseId;\r\n this.caseService.case.CaseClinicalInfo.PatAge = this.fields.getField(\"Clinical Characteristics\", 'Age').value;\r\n this.caseService.case.CaseClinicalInfo.PatAgeType = this.getAgeType(this.fields.getField(\"Clinical Characteristics\", 'Age Unit').value);\r\n this.caseService.case.CaseClinicalInfo.PatSex = this.fields.getField(\"Clinical Characteristics\", 'Sex').value;\r\n this.caseService.case.CaseClinicalInfo.PatWeight = this.fields.getField(\"Clinical Characteristics\", 'Weight').value;\r\n this.caseService.case.CaseClinicalInfo.PatHeight = this.fields.getField(\"Clinical Characteristics\", 'Height').value;\r\n this.caseService.case.CaseClinicalInfo.PatBSA = this.fields.getField(\"Clinical Characteristics\", 'BSA').value;\r\n this.caseService.case.CaseClinicalInfo.StsDiagCode = this.setStsDiagCode();\r\n this.caseService.case.CaseClinicalInfo.PrevCathlast90dInd = this.getTrueFalse(this.fields.getField(\"Clinical Characteristics\", 'Date Last Cath').value);\r\n this.caseService.case.CaseClinicalInfo.PrevSurglast90dInd = this.getTrueFalse(this.fields.getField(\"Clinical Characteristics\", 'Date Last Cardiac Surgery').value);\r\n this.caseService.case.CaseClinicalInfo.GenSyndromeInd = this.getTrueFalse(this.fields.getField(\"Clinical Characteristics\", 'Genetic Syndrome').value);\r\n this.caseService.case.CaseClinicalInfo.NonCardiacProbInd = this.getTrueFalse(!this.fields.getField(\"Clinical Characteristics\", 'Non-cardiac Problems').hide);\n this.caseService.case.CaseClinicalInfo.NonCardiacProbValues = this.fields.getField(\"Clinical Characteristics\", 'Non-cardiac Problems').value;\n\n this.caseService.case.CaseProcedureInfo.CaseProccharInfoId = this.fields.getField(\"Procedure Characteristics\", 'Id').value;\n this.caseService.case.CaseProcedureInfo.Updatedby = this.caseService.case.CaseUpdatedby;\r\n this.caseService.case.CaseProcedureInfo.CaseId = this.caseService.case.CaseId;\r\n this.caseService.case.CaseProcedureInfo.FluroTime = this.fields.getField(\"Procedure Characteristics\", 'Total Fluoro Time').value;\r\n //this.fields.getField(\"Procedure Characteristics\", \"Total Fluoro Time\").hide = true;\r\n this.caseService.case.CaseProcedureInfo.TotalDap = this.fields.getField(\"Procedure Characteristics\", 'Total DAP').value;\r\n //this.fields.getField(\"Procedure Characteristics\", \"Total DAP\").hide = true;\r\n this.caseService.case.CaseProcedureInfo.SheathCathInDateTime = this.formatTime(this.fields.getField(\"Procedure Characteristics\", 'Sheath-in Time').value);\r\n this.caseService.case.CaseProcedureInfo.SheathCathOutDateTime = this.formatTime(this.fields.getField(\"Procedure Characteristics\", 'Sheath-out Time').value);\r\n this.caseService.case.CaseProcedureInfo.BloodTransfusion = this.getTrueFalse(this.fields.getField(\"Procedure Characteristics\", 'Blood Transfusions').value);\n\n if (this.user.IsIqicUser()) {\n this.caseService.case.CaseAddlProcedureInfo.CaseAddlProccharInfoId = this.fields.getField(\"Procedure Characteristics\", 'AddlId').value;\r\n this.caseService.case.CaseAddlProcedureInfo.Updatedby = this.caseService.case.CaseUpdatedby;\r\n this.caseService.case.CaseAddlProcedureInfo.CaseId = this.caseService.case.CaseId;\r\n this.caseService.case.CaseAddlProcedureInfo.FluroPerformedType = this.getTrueFalse(this.fields.getField(\"Procedure Characteristics\", 'Type Fluoro Performed').value);\r\n this.caseService.case.CaseAddlProcedureInfo.TotalContrastVolumeVal = this.fields.getField(\"Procedure Characteristics\", 'Total Contrast Volume').value;\r\n this.caseService.case.CaseAddlProcedureInfo.TotalContrastVolumePerKg = this.fields.getField(\"Procedure Characteristics\", 'Total Contrast Volume Per Kg').value;\r\n this.caseService.case.CaseAddlProcedureInfo.PreCathHemoglobinVal = this.fields.getField(\"Procedure Characteristics\", 'Pre Cath Hemoglobin').value;\r\n } else {\n this.caseService.case.CaseAddlProcedureInfo = null;\r\n }\n\n if (this.fields.getField(\"Pre-Case Calculation\", 'Single Ventricle Physiology').value != null) {\n this.caseService.case.CasePreCalcInfo = new CasePreCalcInfoModel;\n this.caseService.case.CasePreCalcInfo.CasePrecalcinfoId = this.fields.getField(\"Pre-Case Calculation\", 'Id').value;\n this.caseService.case.CasePreCalcInfo.Updatedby = this.caseService.case.CaseUpdatedby;\r\n this.caseService.case.CasePreCalcInfo.CaseId = this.caseService.case.CaseId;\r\n this.caseService.case.CasePreCalcInfo.IsSingleVenPhysiology = this.getTrueFalse(this.fields.getField(\"Pre-Case Calculation\", 'Single Ventricle Physiology').value);\r\n this.caseService.case.CasePreCalcInfo.PhysiologicCategory = this.fields.getField(\"Pre-Case Calculation\", 'Physiologic Category').value;\r\n this.caseService.case.CasePreCalcInfo.IsSVEDP = this.getTrueFalse(this.fields.getField(\"Pre-Case Calculation\", 'SV EDP').value);\r\n this.caseService.case.CasePreCalcInfo.IsSysSat = this.getTrueFalse(this.fields.getField(\"Pre-Case Calculation\", 'Sys Sat').value);\r\n this.caseService.case.CasePreCalcInfo.IsMvSat = this.getTrueFalse(this.fields.getField(\"Pre-Case Calculation\", 'MV Sat').value);\r\n this.caseService.case.CasePreCalcInfo.IsPAMean = this.getTrueFalse(this.fields.getField(\"Pre-Case Calculation\", 'PA').value);\r\n this.caseService.case.CasePreCalcInfo.IsQPQS = this.getTrueFalse(this.fields.getField(\"Pre-Case Calculation\", 'Qp:Qs').value);\r\n this.caseService.case.CasePreCalcInfo.IsPVR = this.getTrueFalse(this.fields.getField(\"Pre-Case Calculation\", 'PVR').value);\r\n } else {\n this.caseService.case.CasePreCalcInfo = null;\r\n }\n\n if (this.fields.getField(\"Hemodynamics\", 'Single Ventricle Physiology').value != null) {\n this.caseService.case.CaseHemoDynamicInfo = new CaseHemoDynamicsInfoModel;\n this.caseService.case.CaseHemoDynamicInfo.CaseHemoDynamicsInfoId = this.fields.getField(\"Hemodynamics\", 'Id').value;\n this.caseService.case.CaseHemoDynamicInfo.Updatedby = this.caseService.case.CaseUpdatedby;\r\n this.caseService.case.CaseHemoDynamicInfo.CaseId = this.caseService.case.CaseId;\r\n this.caseService.case.CaseHemoDynamicInfo.IsSingleVenPhysiology = this.getTrueFalse(this.fields.getField(\"Hemodynamics\", 'Single Ventricle Physiology').value);\r\n this.caseService.case.CaseHemoDynamicInfo.PhysiologicCategory = this.fields.getField(\"Hemodynamics\", 'Physiologic Category').value;\r\n this.caseService.case.CaseHemoDynamicInfo.IsSVEDP = this.getTrueFalse(this.fields.getField(\"Hemodynamics\", 'SV EDP').value);\r\n this.caseService.case.CaseHemoDynamicInfo.IsSysSat = this.getTrueFalse(this.fields.getField(\"Hemodynamics\", 'Sys Sat').value);\r\n this.caseService.case.CaseHemoDynamicInfo.IsMvSat = this.getTrueFalse(this.fields.getField(\"Hemodynamics\", 'MV Sat').value);\r\n this.caseService.case.CaseHemoDynamicInfo.IsPAMean = this.getTrueFalse(this.fields.getField(\"Hemodynamics\", 'PA').value);\r\n this.caseService.case.CaseHemoDynamicInfo.IsQPQS = this.getTrueFalse(this.fields.getField(\"Hemodynamics\", 'Qp:Qs').value);\r\n this.caseService.case.CaseHemoDynamicInfo.IsPVR = this.getTrueFalse(this.fields.getField(\"Hemodynamics\", 'PVR').value);\r\n } else {\n this.caseService.case.CaseHemoDynamicInfo = null;\r\n }\n\n if (this.user.IsIqicUser()) {\n this.caseService.case.CaseAddlHemoDynamicInfo.CaseAddlHemoDynamicId = this.fields.getField(\"Hemodynamics\", 'AddlId').value;\r\n this.caseService.case.CaseAddlHemoDynamicInfo.CaseId = this.caseService.case.CaseId;\r\n this.caseService.case.CaseAddlHemoDynamicInfo.Updatedby = this.caseService.case.CaseUpdatedby;\r\n this.caseService.case.CaseAddlHemoDynamicInfo.IsShuntClosure = this.getTrueFalse(this.fields.getField(\"Hemodynamics\", 'Considered for Shunt Closure').value);\r\n this.caseService.case.CaseAddlHemoDynamicInfo.IsRecommendedforSC = this.getTrueFalse(this.fields.getField(\"Hemodynamics\", 'Is Recommended for SC').value);\r\n this.caseService.case.CaseAddlHemoDynamicInfo.IsAVTestingPerfomed = this.getTrueFalse(this.fields.getField(\"Hemodynamics\", 'Acute Vasodilator Testing').value);\r\n this.caseService.case.CaseAddlHemoDynamicInfo.CongentialHDDiagVal = this.fields.getField(\"Hemodynamics\", 'Congenital Heart Disease Diagnosis').value;\r\n this.caseService.case.CaseAddlHemoDynamicInfo.VasodilatorAgentName = this.fields.getField(\"Hemodynamics\", 'Name of Vasodilator Agent').value;\r\n this.caseService.case.CaseAddlHemoDynamicInfo.BasePVRIWuVal = this.fields.getField(\"Hemodynamics\", 'Baseline Pulmonary Vascular Resistance').value;\r\n this.caseService.case.CaseAddlHemoDynamicInfo.BaseSVRWuVal = this.fields.getField(\"Hemodynamics\", 'Baseline Systemic Vascular Resistance').value;\r\n this.caseService.case.CaseAddlHemoDynamicInfo.BasePVRSVRWuRatioVal = this.fields.getField(\"Hemodynamics\", 'Baseline PVR:SVR Ratio').value;\r\n this.caseService.case.CaseAddlHemoDynamicInfo.BaseQPQARatioVal = this.fields.getField(\"Hemodynamics\", 'Baseline Qp:Qs Ratio').value;\r\n this.caseService.case.CaseAddlHemoDynamicInfo.BaseCardIndCIVal = this.fields.getField(\"Hemodynamics\", 'Baseline Cardiac Index').value;\r\n this.caseService.case.CaseAddlHemoDynamicInfo.PostPVRIWuVal = this.fields.getField(\"Hemodynamics\", 'Post-Testing Pulmonary Vascular Resistance').value;\r\n this.caseService.case.CaseAddlHemoDynamicInfo.PostSVRWuVal = this.fields.getField(\"Hemodynamics\", 'Post-Testing Systemic Vascular Resistance').value;\r\n this.caseService.case.CaseAddlHemoDynamicInfo.PostPVRSVRWuRatioVal = this.fields.getField(\"Hemodynamics\", 'Post-Testing PVR:SVR Ratio').value;\r\n this.caseService.case.CaseAddlHemoDynamicInfo.PostQPQARatioVal = this.fields.getField(\"Hemodynamics\", 'Post-Testing Qp:Qs Ratio').value;\r\n this.caseService.case.CaseAddlHemoDynamicInfo.PostCardIndCIVal = this.fields.getField(\"Hemodynamics\", 'Post-Testing Cardiac Index').value;\r\n } else {\n this.caseService.case.CaseAddlHemoDynamicInfo = null;\r\n }\n\r\n this.caseService.case.CaseProcAssingedlist = this.setCaseTypes(this.caseService.case.CaseUpdatedby, this.caseService.case.CaseId);\r\n\r\n this.caseService.case.CaseProcAEInfo.Updatedby = this.caseService.case.CaseUpdatedby;\r\n this.caseService.case.CaseProcAEInfo.CaseId = this.caseService.case.CaseId;\r\n this.caseService.case.CaseProcAEInfo.caseAEItems = this.setAdverseEvents(this.caseService.case.CaseUpdatedby, this.caseService.case.CaseId);\r\n this.caseService.case.CaseProcAEInfo.PatientDie = this.fields.getField(\"Adverse Events\", \"Patient Die\").value;\r\n this.caseService.case.CaseProcAEInfo.UnanticipatedCath = this.fields.getField(\"Adverse Events\", \"Unanticipated Catheterization\").value;\r\n this.caseService.case.CaseProcAEInfo.UnanticipatedSurg = this.fields.getField(\"Adverse Events\", \"Unanticipated Surgery\").value;\r\n if (this.caseService.case.CaseProcAEInfo.caseAEItems.length > 0) {\r\n this.caseService.case.CaseProcAEInfo.CaseAENotes = this.fields.getField(\"Adverse Events\", \"Description\").value;\r\n } else {\r\n this.caseService.case.CaseProcAEInfo.CaseAENotes = null;\r\n }\r\n\n this.caseService.case.CaseReqResources = this.setIndicators(this.caseService.case.CaseUpdatedby, this.caseService.case.CaseId);\n this.caseService.case.CaseProcEfficacy = this.setEfficacy(this.caseService.case.CaseUpdatedby, this.caseService.case.CaseId);\n\n this.caseService.case.CaseEOCAdmDisposn.CaseAdmtDspoId = this.fields.getField(\"EOC Admit/Disposition\", 'Id').value;\n this.caseService.case.CaseEOCAdmDisposn.Updatedby = this.caseService.case.CaseUpdatedby;\r\n this.caseService.case.CaseEOCAdmDisposn.CaseId = this.caseService.case.CaseId;\r\n this.caseService.case.CaseEOCAdmDisposn.IsAdmSrcElective = this.getTrueFalse(this.fields.getField(\"EOC Admit/Disposition\", 'Admission Source').value);\r\n this.caseService.case.CaseEOCAdmDisposn.PostCathLocation = this.fields.getField(\"EOC Admit/Disposition\", 'Post-Cath Location').value;\r\n this.caseService.case.CaseEOCAdmDisposn.IsUnplannedAdmission = this.getTrueFalse(this.fields.getField(\"EOC Admit/Disposition\", 'Unplanned Admission').value);\r\n this.caseService.case.CaseEOCAdmDisposn.AdmittedPriorCathInd = this.getTrueFalse(this.fields.getField(\"EOC Admit/Disposition\", 'Admit Prior Cath').value);\r\n this.caseService.case.CaseEOCAdmDisposn.DischargePostCathInd = this.getTrueFalse(this.fields.getField(\"EOC Admit/Disposition\", 'Discharge Post Cath').value);\r\n this.caseService.case.CaseEOCAdmDisposn.IsAliveAtDischarge = this.getTrueFalse(this.fields.getField(\"EOC Admit/Disposition\", 'Alive at Discharge').value);\n\n console.log(this.caseService.case);\r\n\r\n\r\n\r\n }\r\n }\r\n }\n private formatDate(date: string): string {\r\n let d = new Date(date),\r\n month = '' + (d.getMonth() + 1),\r\n day = '' + d.getDate(),\r\n year = d.getFullYear();\r\n\r\n if (isNaN(year)) {\r\n return '';\r\n }\r\n\r\n if (month.length < 2) month = '0' + month;\r\n if (day.length < 2) day = '0' + day;\r\n\r\n let response = [month, day, year].join('-');\r\n\r\n if (year < 2000) {\r\n response = '';\r\n }\r\n\r\n return response;\r\n }\n private formatTime(date: string): string {\n if (date == null) {\n return null;\r\n }\n\n let d = new Date(date),\n hoursNumber = d.getHours(),\n hours = '' + d.getHours(),\n minutes = '' + d.getMinutes();\n\n if (isNaN(hoursNumber)) {\n return null;\r\n }\n\n if (hours.length < 2) hours = '0' + hours;\r\n if (minutes.length < 2) minutes = '0' + minutes;\n\n return hours + \":\" + minutes;\r\n }\n private getAgeType(type: string): number {\n if (type === 'Days') {\n return 0;\r\n }\n if (type === 'Months') {\n return 1;\r\n }\r\n if (type === 'Years') {\n return 2;\r\n }\r\n }\n private getTrueFalse(type: boolean): string {\n if (type == null) {\n return null;\r\n }\n\n if (type) {\r\n return \"1\";\r\n }\r\n return \"0\";\r\n }\n private setStsDiagCode(): string {\r\n let sts = this.fields.getField(\"Clinical Characteristics\", 'PrimarySTS').value;\r\n if (sts) {\r\n return sts.data.code;\r\n }\r\n\r\n return \"\";\r\n }\n private setCaseTypes(updatedBy: string, caseId: number): CaseProcAssignmentModel[] {\n let result = new Array();\r\n\r\n let caseTypes = this.fields.getField(\"Case Types\", \"Recorded Procedures\").value;\r\n if (caseTypes != null) {\r\n let caseTypeNames = Object.getOwnPropertyNames(caseTypes);\r\n for (let name of caseTypeNames) {\r\n let item = new CaseProcAssignmentModel;\r\n item.CaseId = caseId;\r\n item.Updatedby = updatedBy;\r\n item.CaseProcAsgnId = 0;\r\n\r\n let caseType = caseTypes[name];\r\n item.ProcedureCode = caseType[\"id\"].replace(\"procedure-\", \"\");\r\n item.IsPrimary = caseType[\"primary\"] === true ? \"1\" : \"0\";\r\n item.IsSecondary = caseType[\"primary\"] === false ? \"1\" : \"0\";\r\n item.IsAnticipatedPrimary = \"0\";\r\n item.IsAnticipatedSecondary = \"0\";\r\n item.ProcedureTextValue = caseType[\"details\"];\r\n result.push(item);\r\n }\r\n }\r\n\r\n let antCaseTypes = this.fields.getField(\"Pre-Case Calculation\", \"Recorded Procedures\").value;\r\n this.fields.getField(\"Case Types\", \"Anticipated Procedures\").value = antCaseTypes;\r\n if (antCaseTypes != null) {\r\n let antCaseTypeNames = Object.getOwnPropertyNames(antCaseTypes);\r\n if (antCaseTypeNames.length == 0) {\r\n this.fields.getField(\"Case Types\", \"Anticipated Procedures\").value = null;\r\n }\r\n for (let name of antCaseTypeNames) {\r\n let item = new CaseProcAssignmentModel;\r\n item.CaseId = caseId;\r\n item.Updatedby = updatedBy;\r\n item.CaseProcAsgnId = 0;\r\n\r\n let caseType = antCaseTypes[name];\r\n item.ProcedureCode = caseType[\"id\"].replace(\"procedure-\", \"\");\r\n item.IsPrimary = \"0\";\r\n item.IsSecondary = \"0\";\r\n item.IsAnticipatedPrimary = caseType[\"primary\"] === true ? \"1\" : \"0\";\r\n item.IsAnticipatedSecondary = caseType[\"primary\"] === false ? \"1\" : \"0\";\r\n item.ProcedureTextValue = caseType[\"details\"];\r\n //this.caseType = caseType[\"name\"].substring(caseType[\"name\"].lastIndexOf(\"|\") + 1);\r\n result.push(item);\r\n }\r\n }\r\n\r\n return result;\r\n }\n private setAdverseEvents(updatedBy: string, caseId: number): CaseAEItemModel[] {\n let result = new Array();\r\n\r\n let adverseEvents = this.fields.getField(\"Adverse Events\", \"Recorded Events\").value;\r\n if (adverseEvents != null) {\r\n let adverseEventNames = Object.getOwnPropertyNames(adverseEvents);\r\n for (let name of adverseEventNames) {\r\n let item = new CaseAEItemModel;\r\n item.CaseId = caseId;\r\n item.Updatedby = updatedBy;\r\n item.CaseAEId = 0;\r\n\r\n let ae = adverseEvents[name];\r\n item.AECODE = ae[\"code\"];\r\n item.AEMajorInd = ae[\"major\"];\r\n item.AESeriousness = ae[\"seriousness\"];\r\n item.Timeneeded = ae[\"timeneeded\"];\r\n item.AeTier = ae[\"aetier\"];\r\n result.push(item);\r\n\r\n // Seriousness and Timeneeded validation check\r\n if (ae[\"seriousness\"] != \"AES01\" && ae[\"seriousness\"] != \"AES02\" && ae[\"seriousness\"] != \"AES03\"\r\n && ae[\"seriousness\"] != \"AES04\" && ae[\"seriousness\"] != \"AES05\") {\r\n\r\n this.fields.getField(\"Adverse Events\", \"Seriousness\").value = null;\r\n }\r\n if (ae[\"timeneeded\"] === \"\" || ae[\"timeneeded\"] === null) {\r\n\r\n this.fields.getField(\"Adverse Events\", \"Time Needed\").value = null;\r\n }\r\n }\r\n }\r\n\r\n return result;\r\n }\n private setIndicators(updatedBy: string, caseId: number): CaseReqResourcesModel[] {\n let result = new Array();\r\n\r\n let categories: Array = [\"Airway Management\", \"Ventilation\", \"Sedation\", \"Lines\", \"Drains\", \"Mechanical Support\", \"IV Medications\", \"Checked6Hours\", \"Checked24Hours\", \"Checked48Hours\"];\r\n let procs: Array = [\"Pre-Procedure\", \"Procedural\", \"Post-Procedure\", \"48 Hrs Post-Cath\"];\r\n for (let category of categories) {\r\n for (let proc of procs) {\r\n try {\r\n let val = this.fields.getField(\"Indicators of Required Resources\", (category + \" \" + proc)).value;\r\n\r\n let crrm = new CaseReqResourcesModel;\n crrm.ReqResourceId = this.fields.getField(\"Indicators of Required Resources\", (category + \" \" + proc)).id;\r\n crrm.CaseId = caseId;\n crrm.Updatedby = updatedBy;\r\n crrm.ResourceName = category;\n crrm.ResourceValue = val;\n if ((category + \" \" + proc) == \"Checked6Hours Pre-Procedure\") {\n crrm.ResourceValue = this.fields.checked6Hours.toString();\r\n }\n\n if ((category + \" \" + proc) == \"Checked24Hours Post-Procedure\") {\n crrm.ResourceValue = this.fields.checked24Hours.toString();\r\n }\n\n if ((category + \" \" + proc) == \"Checked48Hours 48 Hrs Post-Cath\") {\n crrm.ResourceValue = this.fields.checked48Hours.toString();\r\n }\n\n if (proc === \"Pre-Procedure\") {\n crrm.IsResUsedPreProcTime = \"1\";\r\n crrm.IsResUsedProcTime = \"0\";\r\n crrm.IsResUsedPostProcTime = \"0\";\r\n crrm.IsResUsed48HoursTime = \"0\";\r\n } else if (proc === \"Procedural\") {\n crrm.IsResUsedPreProcTime = \"0\";\r\n crrm.IsResUsedProcTime = \"1\";\r\n crrm.IsResUsedPostProcTime = \"0\";\r\n crrm.IsResUsed48HoursTime = \"0\";\r\n } else if (proc === \"Post-Procedure\") {\n crrm.IsResUsedPreProcTime = \"0\";\r\n crrm.IsResUsedProcTime = \"0\";\r\n crrm.IsResUsedPostProcTime = \"1\";\r\n crrm.IsResUsed48HoursTime = \"0\";\r\n } else if (proc === \"48 Hrs Post-Cath\") {\n crrm.IsResUsedPreProcTime = \"0\";\r\n crrm.IsResUsedProcTime = \"0\";\r\n crrm.IsResUsedPostProcTime = \"0\";\r\n crrm.IsResUsed48HoursTime = \"1\";\r\n } else {\n crrm.IsResUsedPreProcTime = \"0\";\r\n crrm.IsResUsedProcTime = \"0\";\r\n crrm.IsResUsedPostProcTime = \"0\";\r\n crrm.IsResUsed48HoursTime = \"0\";\r\n }\n\r\n if (crrm.ResourceValue) {\r\n result.push(crrm);\r\n }\r\n } catch (ex) {\r\n console.log(ex);\r\n }\r\n }\r\n }\r\n\r\n let category: string = \"Nursing Assignment\";\r\n let procsNA: Array = [\"6 Hrs Pre-Procedure\", \"18 to 24 Hrs Post-Cath\", \"48 Hrs Post-Cath\"];\r\n for (let proc of procsNA) {\r\n try {\r\n let crrm = new CaseReqResourcesModel;\n crrm.ReqResourceId = this.fields.getField(\"Indicators of Required Resources\", (category + \" \" + proc)).id;\r\n crrm.CaseId = caseId;\n crrm.Updatedby = updatedBy;\r\n crrm.ResourceName = category;\n crrm.ResourceValue = this.fields.getField(\"Indicators of Required Resources\", (category + \" \" + proc)).value;\n\n if (proc === \"6 Hrs Pre-Procedure\") {\n crrm.IsResUsedPreProcTime = \"1\";\r\n crrm.IsResUsedProcTime = \"0\";\r\n crrm.IsResUsedPostProcTime = \"0\";\r\n crrm.IsResUsed48HoursTime = \"0\";\r\n } else if (proc === \"18 to 24 Hrs Post-Cath\") {\n crrm.IsResUsedPreProcTime = \"0\";\r\n crrm.IsResUsedProcTime = \"0\";\r\n crrm.IsResUsedPostProcTime = \"1\";\r\n crrm.IsResUsed48HoursTime = \"0\";\r\n crrm.ResourceName = \">6 hrs post-cath\";\r\n } else if (proc === \"48 Hrs Post-Cath\") {\n crrm.IsResUsedPreProcTime = \"0\";\r\n crrm.IsResUsedProcTime = \"0\";\r\n crrm.IsResUsedPostProcTime = \"0\";\r\n crrm.IsResUsed48HoursTime = \"1\";\r\n crrm.ResourceName = \"48 Hrs Post-Cath\";\r\n } else {\n crrm.IsResUsedPreProcTime = \"0\";\r\n crrm.IsResUsedProcTime = \"0\";\r\n crrm.IsResUsedPostProcTime = \"0\";\r\n crrm.IsResUsed48HoursTime = \"0\";\r\n }\n\r\n if (crrm.ResourceValue) {\r\n result.push(crrm);\r\n }\r\n } catch (ex) {\r\n console.log(ex);\r\n }\r\n }\r\n\r\n // set default value 6 Hours Pre-Procedure when checked6Hours is cehcked only\r\n if (this.fields.checked6Hours) {\r\n this.fields.getField(\"Indicators of Required Resources\", \"Nursing Assignment 6 Hrs Pre-Procedure\").hide = true;\r\n result = result.filter(function (item) {\r\n if (item.IsResUsedPreProcTime == \"1\") {\r\n if (item.ResourceName == \"Airway Management\") {\r\n item.ResourceValue = \"AM01\";\r\n return item;\r\n }\r\n else if (item.ResourceName == \"Ventilation\") {\r\n item.ResourceValue = \"VENT01\";\r\n return item;\r\n }\r\n else if (item.ResourceName == \"Checked6Hours\") {\r\n return item;\r\n }\r\n else {\r\n return;\r\n }\r\n }\r\n else {\r\n return item;\r\n }\r\n });\r\n }\r\n\r\n // set default value for 24 hours and 48 hours post cath when checked24Hours is cehcked\r\n if (this.fields.checked24Hours) {\r\n this.fields.getField(\"Indicators of Required Resources\", \"Nursing Assignment 18 to 24 Hrs Post-Cath\").hide = true;\r\n this.fields.getField(\"Indicators of Required Resources\", \"Nursing Assignment 48 Hrs Post-Cath\").hide = true;\r\n result = result.filter(function (item) {\r\n if (item.IsResUsedPostProcTime == \"1\" || item.IsResUsed48HoursTime == \"1\") {\r\n if (item.ResourceName == \"Airway Management\") {\r\n item.ResourceValue = \"AM01\";\r\n return item;\r\n }\r\n else if (item.ResourceName == \"Ventilation\") {\r\n item.ResourceValue = \"VENT01\";\r\n return item;\r\n }\r\n else if (item.ResourceName == \"Checked24Hours\" || item.ResourceName == \"Checked48Hours\") {\r\n return item;\r\n }\r\n else {\r\n return;\r\n }\r\n }\r\n else {\r\n return item;\r\n }\r\n });\r\n }\r\n // set default value 48 hours post cath when checked48Hours is cehcked only\r\n if (this.fields.checked48Hours && !this.fields.checked24Hours) {\r\n this.fields.getField(\"Indicators of Required Resources\", \"Nursing Assignment 48 Hrs Post-Cath\").hide = true;\r\n result = result.filter(function (item) {\r\n if (item.IsResUsed48HoursTime == \"1\") {\r\n if (item.ResourceName == \"Airway Management\") {\r\n item.ResourceValue = \"AM01\";\r\n return item;\r\n }\r\n else if (item.ResourceName == \"Ventilation\") {\r\n item.ResourceValue = \"VENT01\";\r\n return item;\r\n }\r\n else if (item.ResourceName == \"Checked48Hours\") {\r\n return item;\r\n }\r\n else {\r\n return;\r\n }\r\n }\r\n else {\r\n return item;\r\n }\r\n });\r\n }\r\n\r\n return result;\r\n }\n private setEfficacy(updatedBy: string, caseId: number): CaseProcEfficacyModel[] {\n try {\n let result = new Array();\r\n let record = new CaseProcEfficacyModel;\r\n\r\n let categories: Array = [\"AV Procedure indications\", \"Aortic regurgitation Pre-Procedure\", \"Aortic regurgitation Post-Procedure\", \"Peak systolic AV gradient Pre-Procedure\", \"Peak systolic AV gradient Post-Procedure\", \"PV Procedure indications\",\r\n \"Pulmonary regurgitation Pre-Procedure\", \"Pulmonary regurgitation Post-Procedure\", \"Tricuspid valve regurgitation Pre-Procedure\", \"Tricuspid valve regurgitation Post-Procedure\", \"ASDDC Procedure Indications\", \"CP Procedure Indications\", \"Peak systolic gradient at coarctation Pre-Procedure\",\r\n \"Peak systolic gradient at coarctation Post-Procedure\", \"PDADC Procedure Indications\", \"PDA shunt Size\", \"Aortic Valvuloplasty\", \"Pulmonary Valvuloplasty\", \"ASD Device Closure\", \"Residual shunt on echocardiogram\", \"Coarctation Procedure\",\r\n \"Any aneurysm post procedure\", \"stent migration\", \"Jailing of head/neck vessels\", \"New or Changed mitral valve insufficiency\", \"Any main pulmonary artery or right ventricular outflow tract tear\", \"Pulmonary Valve Type\",\r\n \"Subvalvar Obstruction\", \"PDA Device Closure\", \"Residual Shunt\", \"New left pulmonaryartery stenosis\", \"New aortic arch obstruction\", \"Intervention performed\",\r\n \"PDA Reason for device removal\", \"Device removed from body\", \"Was a second device placed?\", \"Was the second device removed?\", \"PDA Reason for second device removal\", \"Hemolysis\", \"Pre Pulmonary valve gradient\", \"Post Pulmonary valve gradient\", \"ASD shunt Size\", \"Pre Left Ventricle Dysfunction\", \"Post Left Ventricle Dysfunction\"];\r\n\r\n for (let category of categories) {\r\n\r\n let cpem = new CaseProcEfficacyModel;\r\n if (category == \"Aortic Valvuloplasty\" || category == \"AV Procedure indications\" || category.indexOf(\"Aortic regurgitation\") >= 0\r\n || category.indexOf(\"Peak systolic AV gradient\") >= 0 || category == \"Pre Left Ventricle Dysfunction\" || category == \"Post Left Ventricle Dysfunction\") {\r\n if (this.fields.getField(\"Procedural Efficacy\", \"Aortic Valvuloplasty\").value == 1) {\r\n record = this.setEfficacyArray(category, \"EFPRC01\", updatedBy, caseId)\r\n if (record.EfficacyDataValue != null && record.EfficacyDataValue != undefined)\r\n result.push(record);\r\n }\r\n if (category == \"Aortic Valvuloplasty\" && this.fields.getField(\"Procedural Efficacy\", \"Aortic Valvuloplasty\").value == 0) {\r\n record = this.setEfficacyArray(category, \"EFPRC01\", updatedBy, caseId)\r\n if (record.EfficacyDataValue != null && record.EfficacyDataValue != undefined)\r\n result.push(record);\r\n }\r\n\r\n if (category == \"Aortic Valvuloplasty\" && this.fields.getField(\"Procedural Efficacy\", \"Aortic Valvuloplasty\").value == 1) {\r\n\r\n this.fields.getField(\"Procedural Efficacy\", \"Aortic regurgitation Pre-Procedure\").hide = false;\n this.fields.getField(\"Procedural Efficacy\", \"Aortic regurgitation Post-Procedure\").hide = false;\n this.fields.getField(\"Procedural Efficacy\", \"Peak systolic AV gradient Pre-Procedure\").hide = false;\n this.fields.getField(\"Procedural Efficacy\", \"Peak systolic AV gradient Post-Procedure\").hide = false;\n this.fields.getField(\"Procedural Efficacy\", \"AV Procedure indications\").hide = false;\r\n }\r\n else if (this.fields.getField(\"Procedural Efficacy\", \"Aortic Valvuloplasty\").value == 0) {\r\n this.fields.getField(\"Procedural Efficacy\", \"Aortic regurgitation Pre-Procedure\").hide = true;\n this.fields.getField(\"Procedural Efficacy\", \"Aortic regurgitation Post-Procedure\").hide = true;\n this.fields.getField(\"Procedural Efficacy\", \"Peak systolic AV gradient Pre-Procedure\").hide = true;\n this.fields.getField(\"Procedural Efficacy\", \"Peak systolic AV gradient Post-Procedure\").hide = true;\n this.fields.getField(\"Procedural Efficacy\", \"AV Procedure indications\").hide = true;\r\n }\r\n // cpem.EfficacyProcedureCode = \"EFPRC01\";\r\n }\r\n if (category == \"Pulmonary Valvuloplasty\" || category == \"PV Procedure indications\" || category.indexOf(\"Pulmonary regurgitation\") >= 0\r\n || category == \"Pre Pulmonary valve gradient\" || category == \"Post Pulmonary valve gradient\"\r\n || category.indexOf(\"Tricuspid valve regurgitation\") >= 0 || category == \"Pulmonary Valve Type\" || category == \"Subvalvar Obstruction\"\r\n || category == \"Any main pulmonary artery or right ventricular outflow tract tear\" || category == \"Intervention performed\") {\r\n if (this.fields.getField(\"Procedural Efficacy\", \"Pulmonary Valvuloplasty\").value == 1) {\r\n record = this.setEfficacyArray(category, \"EFPRC02\", updatedBy, caseId)\r\n if (record.EfficacyDataValue != null && record.EfficacyDataValue != undefined)\r\n result.push(record);\r\n }\r\n if (category == \"Pulmonary Valvuloplasty\" && this.fields.getField(\"Procedural Efficacy\", \"Pulmonary Valvuloplasty\").value == 0) {\r\n record = this.setEfficacyArray(category, \"EFPRC02\", updatedBy, caseId)\r\n if (record.EfficacyDataValue != null && record.EfficacyDataValue != undefined)\r\n result.push(record);\r\n }\r\n\r\n if (category == \"Pulmonary Valvuloplasty\" && this.fields.getField(\"Procedural Efficacy\", \"Pulmonary Valvuloplasty\").value == 1) {\r\n this.fields.getField(\"Procedural Efficacy\", \"PV Procedure indications\").hide = false;\n this.fields.getField(\"Procedural Efficacy\", \"Pulmonary regurgitation Pre-Procedure\").hide = false;\n this.fields.getField(\"Procedural Efficacy\", \"Pulmonary regurgitation Post-Procedure\").hide = false;\n this.fields.getField(\"Procedural Efficacy\", \"Tricuspid valve regurgitation Pre-Procedure\").hide = false;\n this.fields.getField(\"Procedural Efficacy\", \"Tricuspid valve regurgitation Post-Procedure\").hide = false;\r\n }\r\n else if (this.fields.getField(\"Procedural Efficacy\", \"Pulmonary Valvuloplasty\").value == 0) {\r\n this.fields.getField(\"Procedural Efficacy\", \"PV Procedure indications\").hide = true;\n this.fields.getField(\"Procedural Efficacy\", \"Pulmonary regurgitation Pre-Procedure\").hide = true;\n this.fields.getField(\"Procedural Efficacy\", \"Pulmonary regurgitation Post-Procedure\").hide = true;\n this.fields.getField(\"Procedural Efficacy\", \"Tricuspid valve regurgitation Pre-Procedure\").hide = true;\n this.fields.getField(\"Procedural Efficacy\", \"Tricuspid valve regurgitation Post-Procedure\").hide = true;\r\n }\r\n // cpem.EfficacyProcedureCode = \"EFPRC02\";\r\n }\r\n if (category == \"ASDDC Procedure Indications\" || category == \"ASD Device Closure\" || category == \"Residual shunt on echocardiogram\" || category == \"ASD shunt Size\" || category == \"New or Changed mitral valve insufficiency\") {\r\n if (this.fields.getField(\"Procedural Efficacy\", \"ASD Device Closure\").value == 1) {\r\n record = this.setEfficacyArray(category, \"EFPRC03\", updatedBy, caseId)\r\n if (record.EfficacyDataValue != null && record.EfficacyDataValue != undefined)\r\n result.push(record);\r\n }\r\n\r\n if (category == \"ASD Device Closure\" && this.fields.getField(\"Procedural Efficacy\", \"ASD Device Closure\").value == 0) {\r\n record = this.setEfficacyArray(category, \"EFPRC03\", updatedBy, caseId)\r\n if (record.EfficacyDataValue != null && record.EfficacyDataValue != undefined)\r\n result.push(record);\r\n }\r\n\r\n if (category == \"ASD Device Closure\" && this.fields.getField(\"Procedural Efficacy\", \"ASD Device Closure\").value == 1) {\r\n this.fields.getField(\"Procedural Efficacy\", \"ASDDC Procedure Indications\").hide = false;\n if (this.fields.getField(\"Procedural Efficacy\", \"Residual shunt on echocardiogram\").value == 1) {\n this.fields.getField(\"Procedural Efficacy\", \"ASD shunt Size\").hide = false;\n }\n else {\n this.fields.getField(\"Procedural Efficacy\", \"ASD shunt Size\").hide = true;\n }\n\r\n }\r\n else if (this.fields.getField(\"Procedural Efficacy\", \"ASD Device Closure\").value == 0) {\r\n this.fields.getField(\"Procedural Efficacy\", \"ASDDC Procedure Indications\").hide = true;\n this.fields.getField(\"Procedural Efficacy\", \"ASD shunt Size\").hide = true;\r\n }\r\n // cpem.EfficacyProcedureCode = \"EFPRC03\";\r\n }\r\n if (category == \"Coarctation Procedure\" || category == \"CP Procedure Indications\" || category.indexOf(\"Peak systolic gradient at coarctation\") >= 0\r\n || category == \"Any aneurysm post procedure\" || category == \"stent migration\" || category == \"Jailing of head/neck vessels\") {\r\n if (this.fields.getField(\"Procedural Efficacy\", \"Coarctation Procedure\").value == 1) {\r\n record = this.setEfficacyArray(category, \"EFPRC04\", updatedBy, caseId)\r\n if (record.EfficacyDataValue != null && record.EfficacyDataValue != undefined)\r\n result.push(record);\r\n }\r\n if (category == \"Coarctation Procedure\" && this.fields.getField(\"Procedural Efficacy\", \"Coarctation Procedure\").value == 0) {\r\n record = this.setEfficacyArray(category, \"EFPRC04\", updatedBy, caseId)\r\n if (record.EfficacyDataValue != null && record.EfficacyDataValue != undefined)\r\n result.push(record);\r\n }\r\n if (category == \"Coarctation Procedure\" && this.fields.getField(\"Procedural Efficacy\", \"Coarctation Procedure\").value == 1) {\r\n this.fields.getField(\"Procedural Efficacy\", \"CP Procedure Indications\").hide = false;\n this.fields.getField(\"Procedural Efficacy\", \"Peak systolic gradient at coarctation Pre-Procedure\").hide = false;\n this.fields.getField(\"Procedural Efficacy\", \"Peak systolic gradient at coarctation Post-Procedure\").hide = false;\r\n }\r\n else if (this.fields.getField(\"Procedural Efficacy\", \"Coarctation Procedure\").value == 0) {\r\n this.fields.getField(\"Procedural Efficacy\", \"CP Procedure Indications\").hide = true;\n this.fields.getField(\"Procedural Efficacy\", \"Peak systolic gradient at coarctation Pre-Procedure\").hide = true;\n this.fields.getField(\"Procedural Efficacy\", \"Peak systolic gradient at coarctation Post-Procedure\").hide = true;\r\n }\r\n // cpem.EfficacyProcedureCode = \"EFPRC04\";\r\n }\r\n if (category == \"PDA Device Closure\" || category == \"PDADC Procedure Indications\" || category == \"PDA shunt Size\" || category == \"Residual Shunt\"\r\n || category == \"New left pulmonaryartery stenosis\" || category == \"New aortic arch obstruction\" || category == \"Hemolysis\"\r\n || category == \"Device removed from body\" || category == \"Was a second device placed?\" || category == \"PDA Reason for device removal\"\r\n || category == \"Was the second device removed?\" || category == \"PDA Reason for second device removal\") {\r\n if (this.fields.getField(\"Procedural Efficacy\", \"PDA Device Closure\").value == 1) {\r\n record = this.setEfficacyArray(category, \"EFPRC05\", updatedBy, caseId)\r\n if (record.EfficacyDataValue != null && record.EfficacyDataValue != undefined)\r\n result.push(record);\r\n }\r\n if (category == \"PDA Device Closure\" && this.fields.getField(\"Procedural Efficacy\", \"PDA Device Closure\").value == 0) {\r\n record = this.setEfficacyArray(category, \"EFPRC05\", updatedBy, caseId)\r\n if (record.EfficacyDataValue != null && record.EfficacyDataValue != undefined)\r\n result.push(record);\r\n }\r\n if (category == \"PDA Device Closure\" && this.fields.getField(\"Procedural Efficacy\", \"PDA Device Closure\").value == 1) {\r\n this.fields.getField(\"Procedural Efficacy\", \"PDADC Procedure Indications\").hide = false;\n if (this.fields.getField(\"Procedural Efficacy\", \"Residual Shunt\").value == 1) {\n this.fields.getField(\"Procedural Efficacy\", \"PDA shunt Size\").hide = false;\n }\n else {\n this.fields.getField(\"Procedural Efficacy\", \"PDA shunt Size\").hide = true;\n }\n if (this.fields.getField(\"Procedural Efficacy\", \"Device removed from body\").value == 1) {\n this.fields.getField(\"Procedural Efficacy\", \"PDA Reason for device removal\").hide = false;\r\n }\r\n else {\r\n this.fields.getField(\"Procedural Efficacy\", \"PDA Reason for device removal\").hide = true;\r\n }\n if (this.fields.getField(\"Procedural Efficacy\", \"Was the second device removed?\").value == 1) {\n this.fields.getField(\"Procedural Efficacy\", \"PDA Reason for second device removal\").hide = false;\r\n }\r\n else {\r\n this.fields.getField(\"Procedural Efficacy\", \"PDA Reason for second device removal\").hide = true;\r\n }\r\n }\r\n else if (this.fields.getField(\"Procedural Efficacy\", \"PDA Device Closure\").value == 0) {\r\n this.fields.getField(\"Procedural Efficacy\", \"PDADC Procedure Indications\").hide = true;\n this.fields.getField(\"Procedural Efficacy\", \"PDA shunt Size\").hide = true;\n this.fields.getField(\"Procedural Efficacy\", \"PDA Reason for device removal\").hide = true;\r\n this.fields.getField(\"Procedural Efficacy\", \"PDA Reason for second device removal\").hide = true;\r\n }\r\n // cpem.EfficacyProcedureCode = \"EFPRC05\";\r\n }\r\n\r\n\r\n\r\n }\r\n return result;\r\n } catch (ex) {\r\n console.log(ex);\r\n }\r\n }\n setEfficacyArray(category: string, procCode: string, updatedBy: string, caseId: number) {\n try {\n let cpem = new CaseProcEfficacyModel;\n\n // let result = new Array();\n // let procs: Array = [\"Pre-Procedure\", \"Post-Procedure\"];\n\n cpem.EfficacyProcedureCode = procCode;\n\n if (category.indexOf(\"Peak systolic AV gradient\") >= 0 || category.indexOf(\"Aortic regurgitation\") >= 0 || category.indexOf(\"Pulmonary regurgitation\") >= 0\r\n || category.indexOf(\"Tricuspid valve regurgitation\") >= 0 || category.indexOf(\"Peak systolic gradient at coarctation\") >= 0) {\r\n // for (let proc of procs) {\r\n try {\r\n // let cpem1 = new CaseProcEfficacyModel;\r\n cpem.EfficacyProcedureCode = cpem.EfficacyProcedureCode;\r\n let val = this.fields.getField(\"Procedural Efficacy\", (category)).value;\r\n\r\n\n\n cpem.CaseProcEfficacyInfoid = this.fields.getField(\"Procedural Efficacy\", (category)).id;\r\n cpem.CaseId = caseId;\n cpem.Updatedby = updatedBy;\r\n cpem.EfficacyDataName = category;\n cpem.EfficacyDataValue = val;\n\n if (category.indexOf(\"Pre-Procedure\") >= 0) {\n cpem.IsDataPreProcTime = \"1\";\r\n\r\n cpem.IsDataPostProcTime = \"0\";\r\n }\r\n else if (category.indexOf(\"Post-Procedure\") >= 0) {\n cpem.IsDataPreProcTime = \"0\";\r\n cpem.IsDataPostProcTime = \"1\";\r\n } else {\n cpem.IsDataPreProcTime = \"0\";\r\n cpem.IsDataPostProcTime = \"0\";\r\n\r\n // }\n\r\n // if ((val != null || val != undefined)) {\r\n // result.push(cpem);\r\n }\r\n\r\n\r\n } catch (ex) {\r\n console.log(ex);\r\n }\r\n // }\r\n }\r\n else if (category == \"Pre Pulmonary valve gradient\" || category == \"Post Pulmonary valve gradient\" || category == \"Pre Left Ventricle Dysfunction\" || category == \"Post Left Ventricle Dysfunction\") {\r\n let val = this.fields.getField(\"Procedural Efficacy\", (category)).value;\n\n cpem.CaseProcEfficacyInfoid = this.fields.getField(\"Procedural Efficacy\", (category)).id;\r\n cpem.CaseId = caseId;\n cpem.Updatedby = updatedBy;\r\n cpem.EfficacyDataName = category;\n cpem.EfficacyDataValue = val;\r\n if (category == \"Pre Pulmonary valve gradient\") {\r\n cpem.IsDataPostProcTime = \"0\";\r\n cpem.IsDataPreProcTime = \"1\";\r\n }\r\n else {\r\n cpem.IsDataPostProcTime = \"1\";\r\n cpem.IsDataPreProcTime = \"0\";\r\n }\r\n\r\n //if ((val != null || val != undefined)) {\r\n // if ((cpem.IsDataPostProcTime == \"0\" && cpem.IsDataPreProcTime == \"0\" && cpem.EfficacyDataValue != \"0\")) {\r\n // result.push(cpem);\r\n // }\r\n // }\r\n\r\n }\r\n else {\r\n\r\n let val = this.fields.getField(\"Procedural Efficacy\", (category)).value;\n\n cpem.CaseProcEfficacyInfoid = this.fields.getField(\"Procedural Efficacy\", (category)).id;\r\n cpem.CaseId = caseId;\n cpem.Updatedby = updatedBy;\r\n cpem.EfficacyDataName = category;\n cpem.EfficacyDataValue = val;\r\n cpem.IsDataPostProcTime = \"0\";\r\n cpem.IsDataPreProcTime = \"0\";\r\n // if ((val != null || val != undefined)) {\r\n // if ((cpem.IsDataPostProcTime == \"0\" && cpem.IsDataPreProcTime == \"0\" && cpem.EfficacyDataValue != \"0\"))\r\n // {\r\n // result.push(cpem);\r\n // } \r\n // }\r\n\r\n }\n\r\n return cpem;\r\n } catch (ex) {\r\n console.log(ex);\r\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Http, Response, Headers, RequestOptions } from '@angular/http';\nimport { CaseModel } from '../../shared/case/case-model';\nimport { map, takeUntil, tap } from 'rxjs/operators';\nimport { CONFIG } from '../../shared/config';\nimport { CaseSaveResponse } from '../../shared/case-save/case-save-response';\nimport { PreCaseCalculationModel } from '../../shared/pre-case-calculation-model';\nimport { PreCaseCalculationtResponse } from '../../shared/pre-case-calculation-response';\nimport { CaseResponse } from '../../shared/case/case-response';\n\nlet apiUrl = CONFIG.baseUrls.api;\n@Injectable({\n providedIn: 'root'\n})\nexport class CalculatorService {\n private http: Http = null;\n public case: CaseModel;\n //use this service to store the data from the calculator/make calculations\n public stsValues:number[] = [1,2,3];\n public stsSelection: number = 1;\n public readOnly: boolean = false;\n\n\n\n constructor(_http: Http) {\n this.http = _http;\n this.case = new CaseModel;\n }\n getSTSId(val) {\n return \"sts-\" + val;\n }\n\n\n save() {\r\n\r\n return this.saveCase(this.case);\r\n\r\n }\n\n saveCase(caseItem: CaseModel) {\r\n let headers = new Headers({\n //'Content-Type': 'application/x-www-form-urlencoded'\n });\n let options = new RequestOptions({ headers: headers });\n return this.http.post(apiUrl + \"case/savecasedetails\", caseItem, options)\n .pipe(map((response: Response) => response.json()));\r\n\r\n\r\n }\n\n getPreCaseCalculationValue(caseid: number, updatedby: string) {\n let headers = new Headers({\n //'Content-Type': 'application/x-www-form-urlencoded'\n });\n let options = new RequestOptions({ headers: headers });\n return this.http.get(apiUrl + \"case/getPreCaseCalculationValue?caseid=\" + caseid + '&updatedby=' + updatedby, options)\n .pipe(map((response: Response) => response.json()));\r\n }\n}\n","import { NgModule } from '@angular/core';\r\nimport { A11yModule } from '@angular/cdk/a11y';\r\n//import { ClipboardModule } from '@angular/cdk/clipboard';\r\n//import { DragDropModule } from '@angular/cdk/drag-drop';\r\nimport { PortalModule } from '@angular/cdk/portal';\r\n//import { ScrollingModule } from '@angular/cdk/scrolling';\r\nimport { CdkStepperModule } from '@angular/cdk/stepper';\r\nimport { CdkTableModule } from '@angular/cdk/table';\r\nimport { CdkTreeModule } from '@angular/cdk/tree';\r\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\r\nimport { MatBadgeModule } from '@angular/material/badge';\r\nimport { MatBottomSheetModule } from '@angular/material/bottom-sheet';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatButtonToggleModule } from '@angular/material/button-toggle';\r\nimport { MatCardModule } from '@angular/material/card';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { MatChipsModule } from '@angular/material/chips';\r\nimport { MatStepperModule } from '@angular/material/stepper';\r\nimport { MatDatepickerModule } from '@angular/material/datepicker';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport { MatDividerModule } from '@angular/material/divider';\r\nimport { MatExpansionModule } from '@angular/material/expansion';\r\nimport { MatGridListModule } from '@angular/material/grid-list';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatListModule } from '@angular/material/list';\r\nimport { MatMenuModule } from '@angular/material/menu';\r\nimport { MatNativeDateModule, MatRippleModule } from '@angular/material/core';\r\nimport { MatPaginatorModule } from '@angular/material/paginator';\r\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\r\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\r\nimport { MatRadioModule } from '@angular/material/radio';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatSidenavModule } from '@angular/material/sidenav';\r\nimport { MatSliderModule } from '@angular/material/slider';\r\nimport { MatSlideToggleModule } from '@angular/material/slide-toggle';\r\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\r\nimport { MatSortModule } from '@angular/material/sort';\r\nimport { MatTableModule } from '@angular/material/table';\r\nimport { MatTabsModule } from '@angular/material/tabs';\r\nimport { MatToolbarModule } from '@angular/material/toolbar';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { MatTreeModule } from '@angular/material/tree';\r\nimport { OverlayModule } from '@angular/cdk/overlay';\r\n\r\n@NgModule({\r\n exports: [\r\n A11yModule,\r\n // ClipboardModule,\r\n CdkStepperModule,\r\n CdkTableModule,\r\n CdkTreeModule,\r\n // DragDropModule,\r\n MatAutocompleteModule,\r\n MatBadgeModule,\r\n MatBottomSheetModule,\r\n MatButtonModule,\r\n MatButtonToggleModule,\r\n MatCardModule,\r\n MatCheckboxModule,\r\n MatChipsModule,\r\n MatStepperModule,\r\n MatDatepickerModule,\r\n MatDialogModule,\r\n MatDividerModule,\r\n MatExpansionModule,\r\n MatGridListModule,\r\n MatIconModule,\r\n MatInputModule,\r\n MatListModule,\r\n MatMenuModule,\r\n MatNativeDateModule,\r\n MatPaginatorModule,\r\n MatProgressBarModule,\r\n MatProgressSpinnerModule,\r\n MatRadioModule,\r\n MatRippleModule,\r\n MatSelectModule,\r\n MatSidenavModule,\r\n MatSliderModule,\r\n MatSlideToggleModule,\r\n MatSnackBarModule,\r\n MatSortModule,\r\n MatTableModule,\r\n MatTabsModule,\r\n MatToolbarModule,\r\n MatTooltipModule,\r\n MatTreeModule,\r\n OverlayModule,\r\n PortalModule,\r\n //ScrollingModule,\r\n ]\r\n})\r\nexport class ProgressBarMaterialModule { }\r\n\r\n","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n CONTACT\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Project Director\\r\\n
Brian Quinn MD\\r\\n \\r\\n
Email: Brian.Quinn@childrens.harvard.edu\\r\\n
\\r\\n
\\r\\n
\\r\\n IQIC Project Support\\r\\n
Email: InternationalQI@childrens.harvard.edu\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Project Support\\r\\n \\r\\n
Email: cardiooutcomes@childrens.harvard.edu\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","module.exports = \".contact-masthead{background-image:url('contact-img.png');background-repeat:repeat;background-position:left top;max-height:200px;height:200px;background-size:auto 50vw}@media screen and (min-width: 830px){.contact-masthead{background-repeat:repeat;background-position:center 25px;background-size:auto auto}.contact-iqic-button{background-color:#2b6f94;color:white}}\\n\"","import { Component, OnInit ,ViewChild} from '@angular/core';\nimport { MailService } from './mail.service';\nimport { MailRequestInfoModel } from '../../shared/email/mail-request-info-model';\nimport { SendEmailResponse } from '../../shared/email/send-email-response';\nimport { MailStatusModel } from '../../shared/email/mail-status-model';\nimport { NgForm } from \"@angular/forms\";\n\n@Component({\n selector: 'app-contact',\n templateUrl: './contact.component.html',\n styleUrls: ['./contact.component.scss']\n})\nexport class ContactComponent implements OnInit {\n @ViewChild('contactform')\r\n form: NgForm;\n successMessage: string = \"\";\n errorMessage: string = \"\";\n\n public mailService: MailService;\n mailRequest: MailRequestInfoModel;\n\n constructor(_mailService: MailService) {\n \n this.mailService = _mailService;\n this.mailRequest = new MailRequestInfoModel;\n\n this.errorMessage = \"\";\n this.successMessage = \"\";\n }\n\n ngOnInit() {\n }\n\n send(sendTo: string) {\n this.errorMessage = \"\";\n this.successMessage = \"\";\n let reg = new RegExp(this.mailService.emailPattern);\n\n if (this.mailRequest.body.length > 0 && this.mailRequest.contactname.length > 0 && this.mailRequest.contactemail.length > 0 && reg.test(this.mailRequest.contactemail)) {\n\n if (sendTo == 'C3POR3') {\n this.mailRequest.subject = \"C3PO-R3 : Contact Form Submission\";\n this.mailRequest.mailsendto = \"C3POR3\"; \n\n }\n\n if (sendTo == 'IQIC') {\n this.mailRequest.subject = \"IQIC : Contact Form Submission\";\n this.mailRequest.mailsendto = \"IQIC\"; \n }\n\n this.mailService.SendEmail(this.mailRequest).subscribe(data => this.validateSend(data));\r\n\r\n } else {\r\n if (this.mailRequest.body.length === 0) {\r\n this.errorMessage = \"Message is required\";\r\n }\r\n\r\n if (this.errorMessage.length > 0) {\r\n this.errorMessage = this.errorMessage + \"
\";\r\n }\r\n\r\n if (this.mailRequest.contactname.length === 0) {\r\n this.errorMessage = \"Name is required\";\r\n }\r\n\r\n if (this.errorMessage.length > 0) {\r\n this.errorMessage = this.errorMessage + \"
\";\r\n }\r\n\r\n if (this.mailRequest.contactemail.length === 0) {\r\n this.errorMessage = this.errorMessage + \"Email is required\";\r\n } else if (!reg.test(this.mailRequest.contactemail)) {\r\n this.errorMessage = this.errorMessage + \"Email is not a valid format\";\r\n }\r\n }\r\n }\n\n validateSend(data: SendEmailResponse) {\n if (data.DataObject.status == \"Mail Sent\") {\r\n this.mailRequest = new MailRequestInfoModel;\r\n this.successMessage = \"Message Sent\"\r\n } else {\r\n this.errorMessage = data.DataObject.failreason;\r\n }\r\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Http, Response, Headers, RequestOptions } from '@angular/http';\nimport { Observable, pipe } from 'rxjs';\nimport { map, takeUntil, tap } from 'rxjs/operators';\nimport { CONFIG } from '../../shared/config';\nimport { MailRequestInfoModel } from '../../shared/email/mail-request-info-model';\nimport { SendEmailResponse } from '../../shared/email/send-email-response';\n\nlet apiUrl = CONFIG.baseUrls.api;\n@Injectable()\nexport class MailService {\n //public emailPattern = \"^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,10}\\.[a-zA-Z]{2,10}$\";\n public emailPattern = \"^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,6}$\";\n\n private http: Http = null;\n constructor(_http: Http) {\n this.http = _http;\n }\n\n Send(subject: string, body: string, contactName: string, contactEmail: string) {\n let request = new MailRequestInfoModel;\n request.body = body;\n request.subject = subject;\n request.contactname = contactName;\n request.contactemail = contactEmail;\n\n return this.SendEmail(request);\n }\n\n SendEmail(request: MailRequestInfoModel) {\n let headers = new Headers({\n //'Content-Type': 'application/x-www-form-urlencoded'\n });\n let options = new RequestOptions({ headers: headers });\n return this.http.post(apiUrl + \"mail/sendemail\", request, options)\n .pipe(map((response: Response) => response.json()));\n }\n}\n","module.exports = \"
\\n © 2007-2019 Boston Children's Hospital\\n
\\n\"","module.exports = \"\"","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-footer',\n templateUrl: './footer.component.html',\n styleUrls: ['./footer.component.scss']\n})\nexport class FooterComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

CONGENITAL CARDIAC CATHETERIZATION

\\r\\n

Project on Outcomes

\\r\\n
\\r\\n \\r\\n  Improving the Care We Deliver in Cardiac Catheterization for Congenital Heart Disease \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n EDUCATIONAL RESOURCES\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\\"Trulli\\\"\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\\"Trulli\\\"\\r\\n \\r\\n \\r\\n \\\"Trulli\\\"\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\\"Trulli\\\"\\r\\n \\r\\n \\r\\n \\\"Trulli\\\"\\r\\n \\r\\n \\r\\n \\\"Trulli\\\"\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\"","module.exports = \"@import url(\\\"https://fonts.googleapis.com/css?family=Montserrat:400,500,600\\\");@import url(\\\"https://use.fontawesome.com/releases/v5.0.13/css/all.css\\\");.max-height{height:100% !important}.max-width{width:100% !important}.masthead{height:150px;width:100%;max-width:100%;background-image:url(\\\"/assets/images/potential18a.jpg\\\");max-height:150px;background-repeat:no-repeat;background-position:left top;background-size:100% auto;background-attachment:scroll;border-bottom:1px solid #ddd}@media (max-width: 996px){.masthead{background-size:auto auto;background-position:right top}}.masthead .row{height:100%}@media screen and (max-width: 1277px){.masthead .col-xl-6{flex:0 0 100%;max-width:100%}}.blurb{height:100%;display:inline-flex;align-items:center}.blurb .inside-blurb h3,.blurb .inside-blurb h6{width:100%;font-weight:400;color:#fff;display:flex;align-items:flex-start}@media screen and (max-width: 475px){.blurb .inside-blurb h3,.blurb .inside-blurb h6{display:block}}.blurb .inside-blurb h3 i,.blurb .inside-blurb h6 i{font-size:10px;color:#e0a800}.blurb .inside-blurb h3{color:#fff}@media screen and (max-width: 1277px){.blurb .inside-blurb{width:100%}.blurb .inside-blurb h3,.blurb .inside-blurb h3h6{width:100%}}@media (max-width: 1278px){.blurb{box-shadow:none}}@media screen and (min-width: 769px) and (max-width: 992px){.my-card h5,.frame h5{font-size:14px}}@media screen and (min-width: 993px) and (max-width: 1052px){.my-card h5,.frame h5{font-size:18px}}.covidmasthead{height:67px;width:100%;max-width:100%;background-image:url(\\\"/assets/images/COVID-19_Min_Banner.png\\\");max-height:67px;background-repeat:no-repeat;background-position:left top;background-size:100% auto}@media (max-width: 1350px){.covidmasthead{background-size:auto auto;background-position:right top}}.covidmasthead .row{height:100%}.covidblurb{height:100%}.covidblurb .inside-covidblurb a,.covidblurb .inside-covidblurb h3,.covidblurb .inside-covidblurb h6,.covidblurb .inside-covidblurb span{width:100%;font-weight:700;color:#5D81A1;font-size:12px}@media screen and (max-width: 785px){.covidblurb .inside-covidblurb a,.covidblurb .inside-covidblurb h3,.covidblurb .inside-covidblurb h6,.covidblurb .inside-covidblurb span{display:block}}.covidblurb .inside-covidblurb h3,.covidblurb .inside-covidblurb p{color:#990000}.covidblurb .inside-covidblurb h6{font-weight:900;color:#990000}.covidblurb .inside-covidblurb button{background-color:#A0CEDD;border:1px solid #0B5394;color:#990000;font-size:12px;padding:0;text-align:center;text-decoration:none;display:inline-block;background-size:100% auto}@media (max-width: 959px){.covidblurb .inside-covidblurb .btn-responsive,.covidblurb .inside-covidblurb .h3div{padding:2px 4px;font-size:90%;line-height:1;border-radius:3px;background-position:left;margin-top:0px;padding-left:0px !important}.covidblurb .inside-covidblurb #hidenDiv{display:none !important}.covidblurb .inside-covidblurb .row{display:block}}@media (min-width: 960px) and (max-width: 1156px){.covidblurb .inside-covidblurb .btn-responsive,.covidblurb .inside-covidblurb .h3div{padding:4px 9px;font-size:90%;line-height:1.2}}@media (max-width: 1278px){.covidblurb{box-shadow:none}}@media (max-width: 1175px){#bigVisrus{display:none !important}}@media (max-width: 623px){#linkDiv{font-size:5px !important}}\\n\"","import { Component,ViewChild,HostListener } from \"@angular/core\";\r\nimport { Router } from \"@angular/router\";\r\nimport { Observable, pipe } from 'rxjs';\nimport { map, takeUntil, tap } from 'rxjs/operators';\r\n\r\nimport { MailService } from '../contact/mail.service';\nimport { MailRequestInfoModel } from '../../shared/email/mail-request-info-model';\nimport { SendEmailResponse } from '../../shared/email/send-email-response';\nimport { MailStatusModel } from '../../shared/email/mail-status-model';\r\nimport { ComponentLogoutCanDeactivate } from '../../CanLogoutDeactivateGaurd'\r\nimport { NgForm } from \"@angular/forms\";\r\n\r\n@Component({\r\n selector: \"homeC3POR3\",\r\n templateUrl: \"./home.componentC3POR3.html\",\r\n styleUrls: ['./home.componentC3POR3.scss']\r\n})\r\nexport class HomeComponentC3POR3 {\r\n @ViewChild('form')\r\n form: NgForm;\r\n successMessage: string = \"\";\n errorMessage: string = \"\";\r\n\r\n public mailService: MailService;\n mailRequest: MailRequestInfoModel;\r\n\r\n //@HostListener('window:beforeunload')\r\n //canDeactivate(): Observable | boolean {\r\n // let pagecount = JSON.parse(localStorage.getItem('pagecount'));\r\n // pagecount = pagecount - 2;\r\n // // alert('home deactivate ' + window.history.length)\r\n // //if (pagecount == 2 || pagecount == 1) {\r\n // // localStorage.removeItem('currentUser'); \r\n // //}\r\n // return true;\r\n // // insert logic to check if there are pending changes here;\r\n // // returning true will navigate without confirmation\r\n // // returning false will show a confirm dialog before navigating away\r\n //}\r\n\r\n constructor(private router: Router, _mailService: MailService) {\r\n // super();\r\n this.mailService = _mailService;\n this.mailRequest = new MailRequestInfoModel;\r\n\r\n this.errorMessage = \"\";\n this.successMessage = \"\";\r\n }\r\n\r\n contactSend() {\n this.errorMessage = \"\";\n this.successMessage = \"\";\n let reg = new RegExp(this.mailService.emailPattern);\n\n if (this.mailRequest.body.length > 0 && this.mailRequest.contactname.length > 0 && this.mailRequest.contactemail.length > 0 && reg.test(this.mailRequest.contactemail)) {\n this.mailRequest.subject = \"C3PO-R3 : Contact Form Submission\";\n this.mailService.SendEmail(this.mailRequest).subscribe(data => this.validateSend(data));\r\n } else {\r\n if (this.mailRequest.body.length === 0) {\r\n this.errorMessage = \"Message is required\";\r\n }\r\n\r\n if (this.errorMessage.length > 0) {\r\n this.errorMessage = this.errorMessage + \"
\";\r\n }\r\n\r\n if (this.mailRequest.contactname.length === 0) {\r\n this.errorMessage = \"Name is required\";\r\n }\r\n\r\n if (this.errorMessage.length > 0) {\r\n this.errorMessage = this.errorMessage + \"
\";\r\n }\r\n\r\n if (this.mailRequest.contactemail.length === 0) {\r\n this.errorMessage = this.errorMessage + \"Email is required\";\r\n } else if (!reg.test(this.mailRequest.contactemail)) {\r\n this.errorMessage = this.errorMessage + \"Email is not a valid format\";\r\n }\r\n }\r\n }\n\n validateSend(data: SendEmailResponse) {\n if (data.DataObject.status == \"Mail Sent\") {\r\n this.mailRequest = new MailRequestInfoModel;\r\n this.successMessage = \"Message Sent\"\r\n } else {\r\n this.errorMessage = data.DataObject.failreason;\r\n }\r\n }\r\n\r\n ngOnInit() {\n //let pagecount = JSON.parse(localStorage.getItem('pagecount'));\n //pagecount++;\n ////alert('home init ' + pagecount)\n //localStorage.setItem('pagecount', pagecount);\r\n }\r\n\r\n ngOnDestroy() {\r\n //let pagecount = JSON.parse(localStorage.getItem('pagecount'));\r\n //pagecount--;\r\n //alert('home destroy ' + pagecount)\r\n\n //localStorage.setItem('pagecount', pagecount);\r\n }\r\n}\r\n","module.exports = \"
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

COVID-19 AND CONGENITAL HEART DISEASE

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Links to Resources
\\r\\n IQIC\\r\\n OPENpeds\\r\\n Global ARCH\\r\\n Conquering CHD\\r\\n COVID-19 Information Handout\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

International Quality Improvement Collaborative

\\r\\n

For Congenital Heart Disease

\\r\\n
\\r\\n \\r\\n  Improving care in low- and middle-income countries \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n CONTACT\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n\"","module.exports = \"@import url(\\\"https://fonts.googleapis.com/css?family=Montserrat:400,500,600\\\");@import url(\\\"https://use.fontawesome.com/releases/v5.0.13/css/all.css\\\");.max-height{height:100% !important}.max-width{width:100% !important}.masthead1{height:150px;width:100%;max-width:100%;background-image:url(\\\"/assets/images/IQIC LARGE banner 12 28 18 3.jpg\\\");max-height:150px;background-repeat:no-repeat;background-position:left top;background-size:100% auto;background-attachment:scroll;border-bottom:1px solid #ddd}@media (max-width: 996px){.masthead1{background-size:auto auto;background-position:right top}}.masthead1 .row{height:100%}@media screen and (max-width: 1277px){.masthead1 .col-xl-6{flex:0 0 100%;max-width:100%}}.blurb{height:100%;display:inline-flex;align-items:center}.blurb .inside-blurb h2,.blurb .inside-blurb h5{width:100%;font-weight:400;color:#fff;display:flex;align-items:flex-start}@media screen and (max-width: 475px){.blurb .inside-blurb h2,.blurb .inside-blurb h5{display:block}}.blurb .inside-blurb h2 i,.blurb .inside-blurb h5 i{font-size:10px;color:#e0a800}.blurb .inside-blurb h2{color:#fff}@media screen and (max-width: 1277px){.blurb .inside-blurb{width:100%}.blurb .inside-blurb h2,.blurb .inside-blurb h2h5{width:100%}}@media (max-width: 1278px){.blurb{box-shadow:none}}@media screen and (min-width: 769px) and (max-width: 992px){.my-card h5,.frame h5{font-size:14px}}@media screen and (min-width: 993px) and (max-width: 1052px){.my-card h5,.frame h5{font-size:18px}}.covidmasthead{height:67px;width:100%;max-width:100%;background-image:url(\\\"/assets/images/COVID-19_Min_Banner.png\\\");max-height:67px;background-repeat:no-repeat;background-position:left top;background-size:100% auto}@media (max-width: 1350px){.covidmasthead{background-size:auto auto;background-position:right top}}.covidmasthead .row{height:100%}.covidblurb{height:100%;display:inline-flex;align-items:center}.covidblurb .inside-covidblurb a,.covidblurb .inside-covidblurb h3,.covidblurb .inside-covidblurb h6,.covidblurb .inside-covidblurb span{width:100%;font-weight:700;color:#5D81A1;display:flex;align-items:flex-start;font-size:12px}@media screen and (max-width: 785px){.covidblurb .inside-covidblurb a,.covidblurb .inside-covidblurb h3,.covidblurb .inside-covidblurb h6,.covidblurb .inside-covidblurb span{display:block}}.covidblurb .inside-covidblurb h3,.covidblurb .inside-covidblurb p{color:#990000}.covidblurb .inside-covidblurb h6{font-weight:900;color:#990000}.covidblurb .inside-covidblurb button{background-color:#A0CEDD;border:1px solid #0B5394;color:#990000;font-size:14px;padding:5px 20px;text-align:center;text-decoration:none;display:inline-block;background-size:100% auto}@media (max-width: 959px){.covidblurb .inside-covidblurb .btn-responsive,.covidblurb .inside-covidblurb .h3div{padding:2px 4px;font-size:90%;line-height:1;border-radius:3px;background-position:left;margin-top:0px;padding-left:0px !important}.covidblurb .inside-covidblurb #hidenDiv{display:none !important}.covidblurb .inside-covidblurb .row{display:block}}@media (min-width: 960px) and (max-width: 1156px){.covidblurb .inside-covidblurb .btn-responsive,.covidblurb .inside-covidblurb .h3div{padding:4px 9px;font-size:90%;line-height:1.2}}@media (max-width: 1278px){.covidblurb{box-shadow:none}}@media (max-width: 1175px){#bigVisrus{display:none !important}}@media (max-width: 623px){#linkDiv{font-size:5px !important}}\\n\"","import { Component,ViewChild } from \"@angular/core\";\r\nimport { Router } from \"@angular/router\";\r\nimport { Observable, pipe } from 'rxjs';\nimport { map, takeUntil, tap } from 'rxjs/operators';\r\n\r\nimport { MailService } from '../contact/mail.service';\nimport { MailRequestInfoModel } from '../../shared/email/mail-request-info-model';\nimport { SendEmailResponse } from '../../shared/email/send-email-response';\nimport { MailStatusModel } from '../../shared/email/mail-status-model';\nimport { NgForm } from \"@angular/forms\";\r\n\r\n@Component({\r\n selector: \"homeIQIC\",\r\n templateUrl: \"./home.componentIQIC.html\",\r\n styleUrls: ['./home.componentIQIC.scss']\r\n})\r\nexport class HomeComponentIQIC {\r\n @ViewChild('iqicform')\r\n form: NgForm; \r\n successMessage: string = \"\";\n errorMessage: string = \"\";\r\n\r\n public mailService: MailService;\n mailRequest: MailRequestInfoModel;\r\n\r\n constructor(private router: Router, _mailService: MailService) {\r\n \r\n this.mailService = _mailService;\n this.mailRequest = new MailRequestInfoModel;\r\n\r\n this.errorMessage = \"\";\n this.successMessage = \"\";\r\n }\r\n\r\n contactSend() {\n this.errorMessage = \"\";\n this.successMessage = \"\";\n let reg = new RegExp(this.mailService.emailPattern);\n\n if (this.mailRequest.body.length > 0 && this.mailRequest.contactname.length > 0 && this.mailRequest.contactemail.length > 0 && reg.test(this.mailRequest.contactemail)) {\n this.mailRequest.subject = \"C3PO-R3 : Contact Form Submission\";\n this.mailService.SendEmail(this.mailRequest).subscribe(data => this.validateSend(data));\r\n } else {\r\n if (this.mailRequest.body.length === 0) {\r\n this.errorMessage = \"Message is required\";\r\n }\r\n\r\n if (this.errorMessage.length > 0) {\r\n this.errorMessage = this.errorMessage + \"
\";\r\n }\r\n\r\n if (this.mailRequest.contactname.length === 0) {\r\n this.errorMessage = \"Name is required\";\r\n }\r\n\r\n if (this.errorMessage.length > 0) {\r\n this.errorMessage = this.errorMessage + \"
\";\r\n }\r\n\r\n if (this.mailRequest.contactemail.length === 0) {\r\n this.errorMessage = this.errorMessage + \"Email is required\";\r\n } else if (!reg.test(this.mailRequest.contactemail)) {\r\n this.errorMessage = this.errorMessage + \"Email is not a valid format\";\r\n }\r\n }\r\n }\n\n validateSend(data: SendEmailResponse) {\n if (data.DataObject.status == \"Mail Sent\") {\r\n this.mailRequest = new MailRequestInfoModel;\r\n this.successMessage = \"Message Sent\"\r\n } else {\r\n this.errorMessage = data.DataObject.failreason;\r\n }\r\n }\r\n}\r\n","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Background\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n

\\r\\n The IQIC Catheterization Database seeks to address the lack of data and outcomes for pediatric cardiac catheterizations in low- and middle-income countries and to explore specific risk factors associated with catheterization outcomes.\\r\\n

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

\\r\\n Identifying the Need \\r\\n

\\r\\n

\\r\\n The gaps of the benchmarking data and the ability to evaluate the performance of catheterization programs in low- and middle-income countries was first identified in November 2015 amongst discussions with IQIC-affiliated hospitals. The IQIC partners agreed these gaps needed to be addressed to reduce mortality and morbidities for congenital heart disease in LMICs.\\r\\n Following the success of the implementation and outcomes of the IQIC congenital cardiac surgery database, the IQIC team began to develop a companion pediatric cardiac catheterization-based training program. The new initiative planned to include a targeted curriculum and separate database to collect cardiac catheterization outcomes. Our goal is to address the lack of data and outcomes for pediatric cardiac catheterizations in LMICs and to explore specific risk factors associated with catheterization outcomes.\\r\\n

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

\\r\\n Collaborating with C3PO and Developing the New Database \\r\\n

\\r\\n

\\r\\n Dr. Babar Hasan from Aga Khan University Hospital and Dr. Lisa Bergersen from Boston Children’s Hospital led the development and pilot of this registry with 6 sites participating. The cath database was developed over a series of meetings across the world from Kochi, India to Boston, USA. Using the experience of IMPACT and C3PO, the partner sites participating in the pilot drove the development of the database variables while minimizing data collection burdens. IQIC collaborated with C3PO to develop a top quality registry platform for participants. The new IQIC Catheterization Database will collect data on catheterization procedures, patient outcomes, and procedural efficacy with the ability to see live reporting.\\r\\n

\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\"","module.exports = \".full-width{cursor:zoom-in;width:100%}\\n\"","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-background-history',\n templateUrl: './background-history.component.html',\n styleUrls: ['./background-history.component.scss'],\n host: { 'class': \"host\" }\n})\nexport class BackgroundHistoryComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Database Manual\\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n The catheterization database user manual provides detailed information on how to successfully navigate the database for those entering and/or viewing data. Please download it here. If you have any additional questions or comments, please email IQIC at\\r\\n InternationalQI@childrens.harvard.edu \\r\\n

\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\"","module.exports = \".full-width{cursor:zoom-in;width:100%}\\n\"","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-databse-manual',\n templateUrl: './database-manual.component.html',\n styleUrls: ['./database-manual.component.scss'],\n host: { 'class': \"host\" }\n})\nexport class DatabaseManualComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Enrolled Partners\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n

\\r\\n Currently, 76 sites from 28 countries are enrolled in the IQIC, a true testament to the global reach and impact of the collaborative. The IQIC Catheterization Registry currently has 24 IQIC sites from 15 countries enrolled. These represent a global array of different sites from around the world. Please go to our “Participating Sites” tab on the website to see a map and connect with our participants.\\r\\n

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

\\r\\n \\r\\n If you are interested in enrolling in IQIC or you have questions, please message us in “Contact us” on the home page or email InternationalQI@childrens.harvard.edu \\r\\n \\r\\n

\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\"","module.exports = \".full-width{cursor:zoom-in;width:100%}\\n\"","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-enrolled-partners',\n templateUrl: './enrolled-partners.component.html',\n styleUrls: ['./enrolled-partners.component.scss'],\n host: { 'class': \"host\" }\n})\nexport class EnrolledPartnersComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","module.exports = \"
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\"","module.exports = \"\"","import { Component, OnInit } from \"@angular/core\";\nimport {\n Router,\n ActivatedRoute,\n NavigationEnd,\n RouterEvent\n} from \"@angular/router\";\nimport { filter, map, mergeMap } from \"rxjs/operators\";\nimport { Observable } from \"rxjs\";\nimport { fadeAnimation } from \"../../animations/fade.animation\";\nimport { RouterHelper } from \"../../router-helper\";\n\n@Component({\n selector: \"app-iqic-background\",\n templateUrl: \"./iqic-background.component.html\",\n styleUrls: [\"./iqic-background.component.scss\"],\n animations: [fadeAnimation]\n})\nexport class IqicBackgroundComponent implements OnInit {\n nextRoute;\n prevRoute;\n routerHelper: RouterHelper;\n constructor(private router: Router, private activatedRoute: ActivatedRoute) {\n this.routerHelper = new RouterHelper(router, activatedRoute);\n this.routerHelper\n .getRouteData(this.router.events)\n .pipe(\n map(data => {\n if (data[\"next\"]) {\n return data[\"next\"];\n }\n })\n )\n .subscribe(pathString => {\n this.nextRoute = pathString;\n });\n this.routerHelper\n .getRouteData(this.router.events)\n .pipe(\n map(data => {\n if (data[\"prev\"]) {\n return data[\"prev\"];\n }\n })\n )\n .subscribe(pathString => {\n this.prevRoute = pathString;\n });\n }\n\n ngOnInit() {}\n}\n","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Key Driver\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n

\\r\\n IQIC is currently developing a new key driver to implement quality improvement strategies for the new catheterization initiatives. The quality improvement initiatives will focus on 3 driving forces to optimize cardiac catheterization outcomes.\\r\\n

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

\\r\\n Change strategies from the three domains will be incorporated into a series of multifaceted educational learning modules. Boston Children’s Hospital will conduct monthly webinars to facilitate dialogue, distance learning, and to disseminate real-time knowledge of quality improvement interventions.\\r\\n

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

\\r\\n Please see a draft version of the key driver diagram below. We are excited to share the finalized version shortly!\\r\\n

\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\\"Catheterization\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\"","module.exports = \".full-width{cursor:zoom-in;width:100%}\\n\"","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-key-driver',\n templateUrl: './key-driver.component.html',\n styleUrls: ['./key-driver.component.scss'],\n host: { 'class': \"host\" }\n})\nexport class KeyDriverComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Mission and Vision\\r\\n
\\r\\n
\\r\\n
\\r\\n
Mission:
\\r\\n

\\r\\n To facilitate a collaborative of healthcare teams from around the world creating a culture of culture of safety and quality for care for congenital heart disease.\\r\\n

\\r\\n
Vision:
\\r\\n

\\r\\n To reduce mortality and morbidities for congenital heart disease in low- and middle-income countries.\\r\\n

\\r\\n
Goal:
\\r\\n

\\r\\n To address the lack of data and outcomes for pediatric cardiac catheterizations in low- and middle-income countries and to explore specific risk factors associated with catheterization outcomes.\\r\\n

\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\"","module.exports = \".full-width{cursor:zoom-in;width:100%}\\n\"","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-mission-vision',\n templateUrl: './mission-vision.component.html',\n styleUrls: ['./mission-vision.component.scss'],\n host: { 'class': \"host\" }\n})\nexport class MissionVisionComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Webinars\\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n Coming soon!\\r\\n

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

\\r\\n The IQIC will also expand the foundation of the IQIC QI component to include a pediatric cardiac catheterization-based education program. Similar to the IQIC current webinars related to congenital cardiac surgery, the cardiac catheterization webinars will be designed to facilitate didactic and participatory learning, with the primary goal of providing a collaborative learning experience that is flexible enough to be adapted to meet the needs of individual sites. This new webinar curriculum will launch in January 2020 with\\r\\n OPENPediatrics. \\r\\n

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

\\r\\n Prior to the launch, IQIC will host informational meetings to discuss pertinent updates with the partner sites beginning in October 2019. More information will be provided soon.\\r\\n

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

\\r\\n The first informational webinar introduces the new database and the unique functionalities. We encourage you to review the recording if you are interested in learning more about the new database!\\r\\n

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

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

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

\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\"","module.exports = \".full-width{cursor:zoom-in;width:100%}\\n\"","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-webinars',\n templateUrl: './webinars.component.html',\n styleUrls: ['./webinars.component.scss'],\n host: { 'class': \"host\" }\n})\nexport class WebinarsComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","module.exports = \"
\\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
\\r\\n
\\r\\n {{successMessage}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Change Password\\r\\n
\\r\\n
\\r\\n
\\r\\n Please input your old and new password.\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","module.exports = \"\"","/// \r\nimport { Component, OnInit, OnDestroy } from '@angular/core';\nimport { UserManagementService } from \"../../user/manage-users/user-management.service\";\nimport { UserResponse } from '../../../shared/user-response';\nimport { UserModel } from '../../../shared/user-model';\nimport { LoginService } from '../../user/login.service';\nimport { enterAnimation } from '../../../animations/enter.animation';\nimport { Router } from \"@angular/router\";\nimport { RouterService } from '../../navigation/router.service';\n\n\n@Component({\n selector: 'app-change-password',\n templateUrl: './change-password.component.html',\n styleUrls: ['./change-password.component.scss'],\n animations: [enterAnimation]\n})\nexport class ChangePasswordComponent implements OnInit, OnDestroy {\n user: LoginService;\n oldPwd: string = '';\n newPwd: string = '';\n confirmPwd: string = '';\n errorMessage: string = '';\n successMessage: string = '';\n interval: any;\n\n\n usersservice: UserManagementService;\n userModel: UserModel;\n\n constructor(userserv: UserManagementService, user: LoginService, public router: Router, public routerService: RouterService ) {\n this.usersservice = userserv;\n this.userModel = new UserModel;\n this.user = user;\n this.oldPwd = '';\n this.newPwd = '';\n this.confirmPwd = '';\n //Send out an email after password change?\n //this.usersservice.email = \"\";\n //this.usersservice.passwordResponse = \"\";\n }\n\n ngOnInit() {\n }\n\n\n ngOnDestroy() {\r\n clearInterval(this.interval);\r\n }\n\n\n upDatePwd() {\n this.errorMessage = '';\n this.successMessage = '';\n\n if (this.oldPwd.length > 0 && this.newPwd.length > 0 && this.confirmPwd.length > 0) {\n //Check if the current password is corrrect \n this.user.checkUser(this.user.user.UserName, this.oldPwd).subscribe(data => this.validateOldPassword(data));\n }\n else {\n this.errorMessage = \"Both old and new password are required.\";\n\r\n }\n\n }\n\n\n validateOldPassword(ur: UserResponse) {\n if (ur.MessageType === \"success\"\n && ur.DataObject.length === 1\n && ur.DataObject[0].UserId > 0\n && ur.DataObject[0].ValidationMessage === \"Success\") {\n\n this.updateUser(); \n \n } else {\n \n if (ur.DataObject.length === 1\n && ur.DataObject[0].UserId === 0) {\n //this.errorMessage = ur.DataObject[0].ValidationMessage;\n this.errorMessage = \"Invalid old password.\";\n } else {\n this.errorMessage = \"Invalid old password.\";\n }\n }\n\n }\n\n\n updateUser() {\n\r\n this.userModel.Password = this.newPwd;\n this.userModel.Email = this.user.user.Email;\n this.userModel.FullName = this.user.user.FullName;\n this.userModel.Hospital = this.user.user.Hospital;\n this.userModel.HospitalId = this.user.user.HospitalId;\n this.userModel.IsActive = this.user.user.IsActive;\n\n this.userModel.Role = this.user.user.Role;\n this.userModel.SelfProviderId = this.user.user.SelfProviderId;\n this.userModel.UserAppRegistry = this.user.user.UserAppRegistry;\n this.userModel.UserAppRegistryID = this.user.user.UserAppRegistryID;\n this.userModel.UserId = this.user.user.UserId;\n this.userModel.UserName = this.user.user.UserName;\n\n \r\n if (this.newPwd.length < 6){\r\n this.errorMessage = \"Input error, the minumum required password length is six characters.\"; \r\n }\r\n else if (this.newPwd != this.confirmPwd) {\n this.errorMessage = \"Input error, the new and confirm passwords do not match.\"; \r\n }\r\n else if (this.newPwd == this.confirmPwd) {\n this.usersservice.updateUserPassword(this.userModel).subscribe(data => this.updateUserResponse(data));\r\n } \r\n \r\n }\n\n updateUserResponse(ur: UserResponse) {\n if (ur.MessageType === \"success\") \n {\n this.errorMessage = \"\";\n this.successMessage = \"Password has been updated! Please log in with your new password.\";\n\n var isIQIC = this.routerService.showIQIC();\n\n //Pause then log them out.\n this.interval = setInterval(() => {\r\n //Log them out\n this.user.logOut();\r\n //Did this originate from C3PO or IQIC URL? \r\n if (isIQIC) {\r\n this.router.navigate(['/home/IQIC']);\r\n }\r\n else {\r\n this.router.navigate(['/home']); \r\n } \r\n }, 4000);\n \n } \n\n }\n clearInputs() {\n ///Change to a Modal?\r\n //this.router.navigate(['/user-portal']);\r\n this.oldPwd = '';\r\n this.newPwd = '';\r\n }\n\n}\n","module.exports = \"
\\n
\\n
\\n
\\n \\n\\n
\\n
\\n\\n Forgot Password?\\n\\n
\\n
\\n
\\n Input your email and we'll send you an email to help you reset your password.\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{usersservice.passwordResponse}}
\\r\\n
\\n\\n
\\n
\\n\\n \\n\\n\\n
\\n\"","module.exports = \"\"","/// \r\nimport { Component, OnInit } from '@angular/core';\nimport { UserManagementService } from \"../../user/manage-users/user-management.service\";\n\n@Component({\n selector: 'app-forgot-password',\n templateUrl: './forgot-password.component.html',\n styleUrls: ['./forgot-password.component.scss']\n})\nexport class ForgotPasswordComponent implements OnInit {\n usersservice: UserManagementService;\n\n constructor(userserv: UserManagementService) {\n this.usersservice = userserv;\n this.usersservice.email = \"\";\n this.usersservice.passwordResponse = \"\";\n }\n\n ngOnInit() {\n }\n\n}\n","module.exports = \"
\\n
\\n
\\n \\n
\\n
\\n {{errorMessage}}\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n LOGIN\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n \\n
\\n \\n
\\n
\\n \\n \\n
\\n \\n
\\n
\\n
\\n \\n
\\n
\\n \\n Forgot Password?\\n \\n
\\n
\\n
\\n\\n
\\n
\\n
\\n
\\n\"","module.exports = \"\"","import { Component, OnInit } from '@angular/core';\nimport { UserResponse } from '../../../shared/user-response';\nimport { UserModel } from '../../../shared/user-model';\nimport { LoginService } from '../../user/login.service';\nimport { Router } from '@angular/router';\nimport { enterAnimation } from '../../../animations/enter.animation';\n\n\n@Component({\n selector: 'app-login-card',\n templateUrl: './login-card.component.html',\n styleUrls: ['./login-card.component.scss'],\n animations: [enterAnimation]\n})\nexport class LoginCardComponent implements OnInit {\n\n userName: string = '';\n passWord: string = '';\n errorMessage: string = '';\n\n userResponse: UserResponse;\n userModel: UserModel;\n\n user: LoginService\n constructor(user: LoginService, private router: Router) {\n this.user = user;\n\n this.userName = '';\n this.passWord = '';\n this.errorMessage = '';\n }\n\n ngOnInit() {\n \n }\n\n Login() {\n this.errorMessage = '';\n\n if (this.userName.length > 0 && this.passWord.length > 0) {\n this.user.checkUser(this.userName, this.passWord).subscribe(data => this.validateUser(data));\n } \n }\n validateUser(ur: UserResponse) {\n if (ur.MessageType === \"success\"\n && ur.DataObject.length === 1\n && ur.DataObject[0].UserId > 0\n && ur.DataObject[0].ValidationMessage === \"Success\") {\n localStorage.setItem('currentUser', JSON.stringify(ur.DataObject[0]));\n this.user.user = ur.DataObject[0];\n\n this.user.logIn();\n this.router.navigate(['/user-portal']);\n } else {\n this.passWord = '';\n\n if (ur.DataObject.length === 1\n && ur.DataObject[0].UserId === 0) {\n this.errorMessage = ur.DataObject[0].ValidationMessage;\n } else {\n this.errorMessage = \"Error logging in user\";\n }\n }\n }\n}\n","module.exports = \"
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n
\\r\\n
\"","module.exports = \"\"","import { Component, OnInit } from \"@angular/core\";\n//import { BrowserModule } from \"@angular/platform-browser\";\nimport { LoginService } from \"../user/login.service\";\nimport { Router } from \"@angular/router\";\nimport { Http, Response, Headers, RequestOptions } from \"@angular/http\";\nimport { Observable, pipe } from \"rxjs\";\nimport { map, takeUntil, tap } from \"rxjs/operators\";\nimport { UserResponse } from \"../../shared/user-response\";\nimport { UserModel } from \"../../shared/user-model\";\n\n@Component({\n selector: \"app-login\",\n templateUrl: \"./login.component.html\",\n styleUrls: [\"./login.component.scss\"]\n})\nexport class LoginComponent implements OnInit {\n ngOnInit() {\n \n }\n}\n","module.exports = \"

\\n alert works!\\n

\\n\"","module.exports = \"\"","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-alert',\n templateUrl: './alert.component.html',\n styleUrls: ['./alert.component.scss']\n})\nexport class AlertComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","export class CategoryFilter {\n cat1: string[];\n cat2: string[];\n cat3: string[];\n filterCat1: string[];\n filterCat2: string[];\n filterCat3: string[];\n\n constructor(cat1:string[], cat2:string[], cat3:string[]) {\n this.cat1 = cat1;\n this.cat2 = cat2;\n this.cat3 = cat3;\n this.assignCopy();\n }\n\n assignCopy() {\n this.filterCat1 = Object.assign([], this.cat1);\n this.filterCat2 = Object.assign([], this.cat2);\n this.filterCat3 = Object.assign([], this.cat3);\n }\n filterItem(value) {\n if (!value) this.assignCopy();\n this.filterCat1 = Object.assign([], this.cat1).filter(\n item => item.toLowerCase().indexOf(value.toLowerCase()) > -1\n );\n this.filterCat2 = Object.assign([], this.cat2).filter(\n item => item.toLowerCase().indexOf(value.toLowerCase()) > -1\n );\n this.filterCat3 = Object.assign([], this.cat3).filter(\n item => item.toLowerCase().indexOf(value.toLowerCase()) > -1\n );\n }\n}\n","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Confirm Case Delete (Case Number: {{caseService.deleteCaseId}})
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","module.exports = \"@media (min-width: 576px){.sect-header.no-header-border{text-align:left;border:0}}\\n\"","import { Component, OnInit, HostListener } from \"@angular/core\";\n//import { BrowserModule } from '@angular/platform-browser';\n\nimport { Http, Response, Headers, RequestOptions } from '@angular/http';\nimport { Observable, pipe } from 'rxjs';\nimport { map, takeUntil, tap } from 'rxjs/operators';\n\nimport { LoginService } from \"../../user/login.service\";\n\nimport { CaseLookupService } from \"../../user/case-lookup/case-lookup.service\";\nimport { SearchResponse } from '../../../shared/search-response';\n\nimport { CaseService } from '../../user/add-case/case.service';\nimport { MarkCaseInactiveResponse } from '../../../shared/case-save/mark-case-inactive-response';\n\n@Component({\n selector: 'app-confirm-modal',\n templateUrl: './confirm-modal.component.html',\n styleUrls: ['./confirm-modal.component.scss']\n})\nexport class ConfirmModalComponent implements OnInit {\n public user: LoginService;\n public caseService: CaseService;\n public lookup: CaseLookupService;\n constructor(_user: LoginService, _lookup: CaseLookupService, _caseService: CaseService) {\n this.user = _user;\n this.lookup = _lookup;\n this.caseService = _caseService;\n }\n\n ngOnInit() {\n }\n\n delete() {\n if (this.caseService.deleteCaseId) {\n this.caseService.deactivateCase(this.user.user.UserId.toString()).subscribe(data => this.deleteResponse(data));\r\n } \r\n }\n\n close() {\n this.caseService.deleteCaseId = 0;\r\n }\n\n private deleteResponse(data: MarkCaseInactiveResponse) {\n let caseCompleteStatusModel = data.DataObject;\n if (caseCompleteStatusModel.Status === \"DeActivated\") {\n this.caseService.deleteCaseId = 0;\n\r\n this.lookup.searchCases().subscribe(data => this.validateSearch(data));\r\n }\r\n }\n\n validateSearch(sr: SearchResponse) {\n if (sr.MessageType === \"success\") {\r\n this.lookup.searchCaseSummarys = sr.DataObject;\r\n }\n }\n}\n","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Do you want to save case ?
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","module.exports = \"@media (min-width: 576px){.sect-header.no-header-border{text-align:left;border:0}}\\n\"","\r\nimport { Component, OnInit, HostListener } from \"@angular/core\";\nimport { CaseService } from '../../user/add-case/case.service';\nimport { Router } from '@angular/router';\n\n\n@Component({\n selector: 'app-confirmsave-modal',\n templateUrl: './confirmsave-modal.component.html',\n styleUrls: ['./confirmsave-modal.component.scss']\n})\nexport class ConfirmsaveModalComponent implements OnInit {\n \n public caseService: CaseService;\n\n constructor( _caseService: CaseService, private router: Router) {\n this.caseService = _caseService; \n }\n\n ngOnInit() {\n \n }\n\n saveCase() {\n if (this.caseService.saveCaseId) {\n if (this.caseService.route == 'editcase')\n this.router.navigate(['/user-portal/edit-case/save/' + this.caseService.saveCaseId]);\n \n \r\n }\r\n if (this.caseService.route == 'addcase')\n this.router.navigate(['/user-portal/add-case/save']);\r\n }\n\n close() {\n this.caseService.saveCaseId = 0;\r\n }\n\n \n}\n","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Pre-Procedure Cardiac Status
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n   If multiple, select highest\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
    \\r\\n
  • \\r\\n
    \\r\\n
    Category 1
    \\r\\n
    Category 2
    \\r\\n
    Category 3
    \\r\\n
  • \\r\\n
  • \\r\\n
    \\r\\n {{ variable.name }}\\r\\n
    \\r\\n
    \\r\\n
    Category {{ i + 1 }}
    \\r\\n {{ cat }}\\r\\n
    \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\"","module.exports = \"@media (min-width: 576px){.sect-header.no-header-border{text-align:left;border:0}}\\n.type-label{padding-left:0;padding-right:0}\\n\"","import { Component, OnInit } from \"@angular/core\";\nimport { HemosService } from \"../../shared-data-entry/hemos/hemos.service\";\nimport { CrispCatSelectService } from \"../../shared-data-entry/hemos/crisp-cat/crisp-cat-select.service\";\nimport { HemosComponent } from \"../../shared-data-entry/hemos/hemos.component\";\nimport { CategoryFilter } from \"../category-filter\";\n\n@Component({\n selector: \"app-hemo-modal\",\n templateUrl: \"./hemo-modal.component.html\",\n styleUrls: [\"./hemo-modal.component.scss\"]\n})\nexport class HemoModalComponent implements OnInit {\n\n svSat = {name: \"Saturation\", items:[ \"≥ 80%\", \"70-80%\", \"< 70%\"]};\n svMeanPAp = {name:\"Mean PAp\", items:[\"Normal\",'', \"*Severely Elevated\"]};\n svVentricularFunction = {name: \"Ventricular Function\", items: ['','', \"Moderate/Severe Dysfunction\"]}\n svAVVR = {name:\"AVVR\", items:[\"None or Mild\", \"Moderate\", \"Severe\"]};\n svDesc = \"*Severely elevated mPAp: anticipated mPAp >20 mmHg\";\n\n \n biSat = {name: \"Saturation\", items:[ \"≥ 95%\", \"85-95%\", \"< 85%\",]};\n biRVp = {name: \"RVp\", items:[ \"< ½ systemic\", \"½ systemic\", \"> systemic\"]};\n biAnticipatedPVR = {name:\"*Anticipated PVR\", items:[\"Normal\",\"Moderately Elevated\", \"Severely Elevated\"]};\n biVentricularFunction = {name: \"Ventricular Function\", items: ['','', \"Moderate/Severe Dysfunction\"]}\n biAVVR = {name:\"Systemic AVVR\", items:[\"None or Mild\", \"Moderate\", \"Severe\"]};\n biDesc= \"*Anticipated PVR reference: normal being PVR <4 iWU, moderately elevated 4-8 iWU, and severely elevated >8 iWU\";\n \n \n bi = [this.biSat, this.biRVp, this.biAnticipatedPVR, this.biVentricularFunction, this.biAVVR];\n sv = [this.svSat, this.svMeanPAp, this.svVentricularFunction, this.svAVVR];\n toUse;\n desc; \n public hemos: HemosService;\n public cat: CrispCatSelectService;\n constructor(hemos: HemosService, cat: CrispCatSelectService) {\n this.hemos = hemos;\n this.setValues();\n this.hemos.svChange.subscribe(value => {\n this.setValues();\n });\n this.cat = cat;\n }\n\n getRadioName(val) {\n return \"crisp-cat2-\" + val;\n }\n\n setValues() {\n if (this.hemos.sv) {\n this.toUse = this.sv;\n this.desc = this.svDesc;\n }\n else {\n this.toUse = this.bi;\n this.desc = this.biDesc;\n }\n }\n\n\n ngOnInit() {}\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class InfoModalServiceService {\n public text:string = \"\";\n public title:string = \"\";\n public show:boolean = false;\n constructor() { }\n}\n","module.exports = \"
\\n
    \\n
  • \\n
    \\r\\n \\r\\n {{info.title}}\\r\\n
    \\n
  • \\n
  • \\n {{info.text}}\\n
  • \\n
\\n
\\n\"","module.exports = \"@import url(\\\"https://fonts.googleapis.com/css?family=Montserrat:400,500,600\\\");@import url(\\\"https://use.fontawesome.com/releases/v5.0.13/css/all.css\\\");.max-height{height:100% !important}.max-width{width:100% !important}.info-modal{transition:0.3s all;position:fixed;display:block;right:40px;bottom:50px;-ms-box-shadow:0px 0px 20px -7px rgba(0,0,0,0.8);box-shadow:0px 0px 20px -7px;border:1px solid #ddd;padding:5px;z-index:1050;max-height:0px;width:300px;background:white;opacity:0;outline:0}.info-modal.show{opacity:1;max-height:300px}.info-modal .sect-header{border-bottom:0;margin-bottom:0}\\n\"","import { Component, OnInit } from '@angular/core';\nimport { InfoModalServiceService } from './info-modal-service.service';\n\n@Component({\n selector: 'app-info-modal',\n templateUrl: './info-modal.component.html',\n styleUrls: ['./info-modal.component.scss']\n})\nexport class InfoModalComponent implements OnInit {\n public info:InfoModalServiceService;\n constructor(info:InfoModalServiceService) { \n this.info = info;\n }\n\n ngOnInit() {\n }\n\n}\n","module.exports = \"\\n\\n\\n\\n\\n\\n\\n\\n\\n\"","module.exports = \".modal{max-height:100vh;overflow:auto}\\n\"","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-modal',\n templateUrl: './modal.component.html',\n styleUrls: ['./modal.component.scss']\n})\nexport class ModalComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","module.exports = \"
\\n
\\n
\\n
\\n
Procedure Details
\\n \\n
\\n
\\n Describe: \\n \\n
\\n
\\n \\n \\n\\n
\\n
\\n
\\n
\"","module.exports = \"\"","import { Component, OnInit } from '@angular/core';\nimport { CaseTypesEntryService } from '../../shared-data-entry/case-types-entry/case-types-entry.service';\n\n@Component({\n selector: 'app-procedure-modal',\n templateUrl: './procedure-modal.component.html',\n styleUrls: ['./procedure-modal.component.scss']\n})\nexport class ProcedureModalComponent implements OnInit {\n service:CaseTypesEntryService;\n constructor(service:CaseTypesEntryService) { \n this.service = service; \n }\n\n ngOnInit() {\n }\n\n}\n","module.exports = \"
\\n
\\n
\\n
\\n
SERIOUSNESS
\\n \\n
\\n
\\n Select the severity of this adverse event:\\n
\\n
\\n
\\n
\\n \\n
{{type.name}}
\\n
\\n
\\n {{type.description}}\\n
\\n
\\n\\n
\\n
\\n
\\n
\\n\"","module.exports = \"@import url(\\\"https://fonts.googleapis.com/css?family=Montserrat:400,500,600\\\");@import url(\\\"https://use.fontawesome.com/releases/v5.0.13/css/all.css\\\");.max-height{height:100% !important}.max-width{width:100% !important}.s-sect{max-width:20%;min-width:150px;border:1px solid #ddd}.s-sect .caption{padding:10px 5px;cursor:pointer}.s-sect .badge{border:3px solid transparent;width:100%;border-radius:0px}.s-sect .badge:hover{background:transparent}.s-sect .badge:hover.none{color:#006d24 !important;border:3px solid #006d24}.s-sect .badge:hover.minor{color:#24c900 !important;border:3px solid #24c900}.s-sect .badge:hover.moderate{color:#ffc107 !important;border:3px solid #ffc107}.s-sect .badge:hover.major{color:#f27d00 !important;border:3px solid #f27d00}.s-sect .badge:hover.catastrophic{color:#a30000 !important;border:3px solid #a30000}.type-selected{background:transparent}.type-selected.none{color:#006d24 !important;border:3px solid #006d24 !important}.type-selected.minor{color:#24c900 !important;border:3px solid #24c900 !important}.type-selected.moderate{color:#ffc107 !important;border:3px solid #ffc107 !important}.type-selected.major{color:#f27d00 !important;border:3px solid #f27d00 !important}.type-selected.catastrophic{color:#a30000 !important;border:3px solid #a30000 !important}\\n\"","import { Component, OnInit } from \"@angular/core\";\nimport { CaseFieldsService } from \"../../user/add-case/case-fields.service\";\n\n@Component({\n selector: \"app-seriousness\",\n templateUrl: \"./seriousness.component.html\",\n styleUrls: [\"./seriousness.component.scss\"]\n})\nexport class SeriousnessComponent implements OnInit {\n types = [\n {\n name: \"1 - None\",\n code: \"AES01\",\n class: \"ae none\",\n description:\n \" No harm, no change in condition, may have required monitoring to assess for potential change in condition with no intervention indicated.\"\n },\n {\n name: \"2 - Minor\",\n code: \"AES02\",\n class: \"ae minor\",\n description:\n \"Transient change in condition, not life threatening, condition returns to baseline, required monitoring, required minor intervention such as holding a medication or obtaining a lab test.\"\n },\n {\n name: \"3 - Moderate\",\n code: \"AES03\",\n class: \"ae moderate\",\n description:\n \"Transient change in condition may be life-threatening if not treated, condition returns to baseline, required monitoring, required intervention such as reversal agent, additional medication, transfer to the intensive care unit for monitoring, or moderate transcatheter intervention to correct condition.\"\n },\n {\n name: \"4 - Major\",\n code: \"AES04\",\n class: \"ae major\",\n description:\n \"Change in condition, life threatening if not treated, change in condition may be permanent, may have required an intensive care unit admission or emergent readmit to hospital, may have required invasive monitoring, required interventions such as electrical cardioversion or unanticipated intubation or required major invasive procedures or trans-catheter interventions to correct condition.\"\n },\n {\n name: \"5 - Catastrophic\",\n code: \"AES05\",\n class: \"ae catastrophic\",\n description:\n \"Any death, and emergent surgery or heart lung bypass support (ECMO) to prevent death with failure to wean from bypass support. \"\n }\n ];\n\n constructor(public fields: CaseFieldsService) {}\n\n ngOnInit() {}\n}\n","module.exports = \"
\\n
\\n
\\n
\\n
\\n
Select DIAGNOSIS
\\n\\n
\\r\\n \\r\\n \\r\\n   \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n  \\r\\n \\r\\n \\r\\n
\\n \\n
\\n \\n
\\n
\\n
\\n
\\n\\n \\n \\n\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n
CATEGORY 1
\\n
    \\n
  • \\n {{diagnosis}}\\n
  • \\n
\\n
\\n
\\n
CATEGORY 2
\\n
    \\n
  • \\n {{diagnosis}}\\n
  • \\n
\\n
\\n
\\n
CATEGORY 3
\\n
    \\n
  • \\n {{diagnosis}}\\n
  • \\n
\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n\"","module.exports = \"\"","import { Component, OnInit } from \"@angular/core\";\nimport { CalculatorService } from \"../../calculator/calculator.service\";\nimport { CategoryFilter } from \"../category-filter\";\n\n@Component({\n selector: \"app-sts-modal\",\n templateUrl: \"./sts-modal.component.html\",\n styleUrls: [\"./sts-modal.component.scss\"]\n})\nexport class StsModalComponent implements OnInit {\n\n cat1: string[] = [\n \"Airway disease\",\r\n \"Aneurysm, Other\",\r\n \"Aneurysm, Pulmonary artery\",\r\n \"Aneurysm, Ventricular, Right (including pseudoaneurysm)\",\r\n \"Aortic valve, Other\",\r\n \"AP window (aortopulmonary window)\",\r\n \"Arrhythmia\",\r\n \"Arrhythmia, Atrial\",\r\n \"Arrhythmia, Heart block\",\r\n \"Arrhythmia, Heart block, Acquired\",\r\n \"Arrhythmia, Heart block, Congenital\",\r\n \"Arrhythmia, Junctional\",\r\n \"Arrhythmia, Pacemaker, Indication for replacement\",\r\n \"Arrhythmia, Ventricular\",\r\n \"ASD, Common atrium (single atrium)\",\r\n \"ASD, Coronary sinus\",\r\n \"ASD, Secundum\",\r\n \"ASD, Sinus venosus\",\r\n \"AVC (AVSD), Complete (CAVSD)\",\r\n \"AVC (AVSD), Intermediate (transitional)\",\r\n \"AVC (AVSD), Partial (incomplete) (PAVSD) (ASD, primum)\",\r\n \"Cardiac tumor\",\r\n \"Cardiac, Other\",\r\n \"Cor triatriatum\",\r\n \"Coronary artery anomaly, Anomalous aortic origin of coronary artery from aorta (AAOCA)\",\r\n \"Coronary artery anomaly, Anomalous pulmonary origin (includes ALCAPA)\",\r\n \"DCRV\",\r\n \"Dextrocardia\",\r\n \"Diaphragm disease, Other\",\r\n \"Diaphragm paralysis\",\r\n \"DORV + AVSD (AV Canal)\",\r\n \"DORV, IVS\",\r\n \"DORV, Remote VSD (uncommitted VSD)\",\r\n \"DORV, TGA type\",\r\n \"Empyema\",\r\n \"Esophageal disease, Benign\",\r\n \"Esophageal disease, Malignant\",\r\n \"Levocardia\",\r\n \"Lung disease, Benign\",\r\n \"Mesocardia\",\r\n \"Miscellaneous, other\",\r\n \"Mitral regurgitation\",\r\n \"Normal heart\",\r\n \"Partial anomalous pulmonary venous connection (PAPVC)\",\r\n \"Patent ductus arteriosis\",\r\n \"Pectus\",\r\n \"Pericardial disease, Other\",\r\n \"Pericardial effusion\",\r\n \"Pericarditis\",\r\n \"PFO\",\r\n \"Pleural disease, Benign\",\r\n \"Pleural disease, Malignant\",\r\n \"Pleural effusion\",\r\n \"Pneumothorax\",\r\n \"Postoperative bleeding\",\r\n \"Pulmonary insufficiency\",\r\n \"Pulmonary stenosis, Valvar\",\r\n \"Pulmonary valve, Other\",\r\n \"Sinus of Valsalva aneurysm\",\r\n \"Situs inversus\",\r\n \"Status post - Transplant, Heart\",\r\n \"Systemic venous anomaly\",\r\n \"Systemic venous obstruction\",\r\n \"TGA, IVS\",\r\n \"Thoracic and/or mediastinal, Other\",\r\n \"Total anomalous pulmonary venous connection (TAPVC), Type 1 (supracardiac)\",\r\n \"Total anomalous pulmonary venous connection (TAPVC), Type 2 (cardiac)\",\r\n \"Tricuspid regurgitation and tricuspid stenosis\",\r\n \"Tricuspid regurgitation, non-Ebstein's related\",\r\n \"Tricuspid valve, Other\",\r\n \"Truncal valve insufficiency\",\r\n \"Vascular ring\",\r\n \"VSD, Multiple\",\r\n \"VSD, Type 1 (Subarterial) (Supracristal) (Conal septal defect) (Infundibular)\",\r\n \"VSD, Type 2 (Perimembranous) (Paramembranous) (Conoventricular)\",\r\n \"VSD, Type 3 (Inlet) (AV canal type)\",\r\n \"VSD, Type 4 (Muscular)\",\r\n \"VSD, Type: Gerbode type (LV-RA communication)\"\n ];\n\n cat2: string[] = [\n \"Aneurysm, Ventricular, Left (including pseudoaneurysm)\",\r\n \"Aortic aneurysm (including pseudoaneurysm)\",\r\n \"Aortic arch hypoplasia\",\r\n \"Aortic insufficiency\",\r\n \"Aortic stenosis, Subvalvar\",\r\n \"Aortic stenosis, Valvar\",\r\n \"Aortic valve atresia\",\r\n \"Atrial Isomerism, Left\",\r\n \"Atrial Isomerism, Right\",\r\n \"Cardiomyopathy (including dilated, restrictive, and hypertrophic)\",\r\n \"Chylothorax\",\r\n \"Coarctation of aorta\",\r\n \"Conduit failure\",\r\n \"Congenitally corrected TGA\",\r\n \"Congenitally corrected TGA, IVS\",\r\n \"Congenitally corrected TGA, IVS-LVOTO\",\r\n \"Congenitally corrected TGA, VSD\",\r\n \"Congenitally corrected TGA, VSD-LVOTO\",\r\n \"Coronary artery anomaly, Fistula\",\r\n \"Coronary artery anomaly, Other\",\r\n \"DOLV\",\r\n \"DORV, TOF type\",\r\n \"Ebstein's anomaly\",\r\n \"Endocarditis\",\r\n \"Hypoplastic left heart syndrome (HLHS)\",\r\n \"Hypoplastic LV\",\r\n \"Hypoplastic RV\",\r\n \"Interrupted aortic arch\",\r\n \"Interrupted aortic arch + AP window (aortopulmonary window)\",\r\n \"Interrupted aortic arch + VSD\",\r\n \"LV to aorta tunnel\",\r\n \"MAPCA(s) (major aortopulmonary collateral[s]) (without PA-VSD)\",\r\n \"Meconium aspiration\",\r\n \"Mediastinal disease\",\r\n \"Mediastinal disease, Benign\",\r\n \"Mediastinal disease, Malignant\",\r\n \"Mediastinitis\",\r\n \"Mitral regurgitation and mitral stenosis\",\r\n \"Mitral stenosis\",\r\n \"Mitral stenosis, Subvalvar\",\r\n \"Mitral stenosis, Subvalvar, Parachute\",\r\n \"Mitral stenosis, Supravalvar mitral ring\",\r\n \"Mitral stenosis, Valvar\",\r\n \"Mitral valve, Other\",\r\n \"Partial anomalous pulmonary venous connection (PAPVC), scimitar\",\r\n \"Peripheral vascular, Other\",\r\n \"Persistent fetal circulation\",\r\n \"Primary pulmonary hypertension\",\r\n \"Prosthetic valve failure\",\r\n \"Pulmonary artery origin from ascending aorta (hemitruncus)\",\r\n \"Pulmonary artery sling\",\r\n \"Pulmonary artery stenosis (hypoplasia), Main (trunk)\",\r\n \"Pulmonary artery stenosis, Branch, Central (within the hilar bifurcation)\",\r\n \"Pulmonary artery stenosis, Branch, Peripheral (at or beyond the hilar bifurcation)\",\r\n \"Pulmonary artery, Discontinuous\",\r\n \"Pulmonary atresia\",\r\n \"Pulmonary atresia, IVS\",\r\n \"Pulmonary atresia, VSD (Including TOF, PA)\",\r\n \"Pulmonary atresia, VSD-MAPCA (pseudotruncus)\",\r\n \"Pulmonary AV fistula\",\r\n \"Pulmonary insufficiency and pulmonary stenosis\",\r\n \"Pulmonary stenosis, Subvalvar\",\r\n \"Pulmonary venous stenosis\",\r\n \"Rheumatic heart disease\",\r\n \"Shone's syndrome\",\r\n \"Shunt Failure NA\",\r\n \"Single Ventricle + Total anomalous pulmonary venous connection (TAPVC)\",\r\n \"Single ventricle, DILV\",\r\n \"Single ventricle, DIRV\",\r\n \"Single ventricle, Heterotaxia syndrome\",\r\n \"Single ventricle, Mitral atresia\",\r\n \"Single ventricle, Other\",\r\n \"Single ventricle, Tricuspid atresia\",\r\n \"Single ventricle, Unbalanced AV canal\",\r\n \"TGA, IVS-LVOTO\",\r\n \"TGA, VSD\",\r\n \"TGA, VSD-LVOTO\",\r\n \"TOF, AVC (AVSD)\",\r\n \"TOF, Pulmonary stenosis\",\r\n \"Total anomalous pulmonary venous connection (TAPVC), Type 3 (infracardiac)\",\r\n \"Total anomalous pulmonary venous connection (TAPVC), Type 4 (mixed)\",\r\n \"Tricuspid stenosis\",\r\n \"Truncus arteriosus\",\r\n \"Truncus arteriosus + Interrupted aortic arch\",\r\n \"VSD + Aortic arch hypoplasia\",\r\n \"VSD + Coarctation of aorta\"\n ];\n\n cat3: string[] = [\n \"Aortic dissection\",\r\n \"Aortic insufficiency and aortic stenosis\",\r\n \"Aortic stenosis, Supravalvar\",\r\n \"Cardiomyopathy, End-stage congenital heart disease\",\r\n \"Coronary artery anomaly, Aneurysm\",\r\n \"Lung disease, Malignant\",\r\n \"Myocardial infarction\",\r\n \"Pulmonary embolism\",\r\n \"Pulmonary vascular obstructive disease\",\r\n \"Pulmonary vascular obstructive disease (Eisenmenger's)\",\r\n \"TOF, Absent pulmonary valve\",\r\n \"Tracheal stenosis\"\n ];\n filter:CategoryFilter;\n public calc: CalculatorService\n\n constructor(calc: CalculatorService) {\n this.calc = calc;\n this.filter = new CategoryFilter(this.cat1, this.cat2, this.cat3);\n }\n\n ngOnInit() {}\n\n \n}\n","module.exports = \"
\\n
\\n
\\n
\\n
Select Diagnosis
\\n \\n
\\n
\\n
\\n
\\n
\\n
Selected:
\\n  {{fields.getField('Clinical Characteristics', 'PrimarySTS').text}}\\n
\\n
\\n\\n \\n \\n\\n
\\n
\\n \\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n\\n
\\n
\\n
\\n
\\n\\n
\\n
\\n
\\n
\\n
Select Diagnosis
\\n \\n
\\n
\\n
\\n
\\n
\\n
Selected:
\\n  {{fields.getField('Clinical Characteristics', 'SecondSTS').text}}\\n
\\n
\\n\\n \\n \\n\\n
\\n
\\n \\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n\\n
\\n
\\n
\\n
\\n\\n
\\n
\\n
\\n
\\n
Select Diagnosis
\\n \\n
\\n
\\n
\\n
\\n
\\n
Selected:
\\n  {{fields.getField('Clinical Characteristics', 'ThirdSTS').text}}\\n
\\n
\\n\\n \\n \\n\\n
\\n
\\n \\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n\\n
\\n
\\n
\\n
\\n\\n
\\n
\\n
\\n
\\n
Select Diagnosis
\\n \\n
\\n
\\n
\\n
\\n
\\n
Selected:
\\n  {{fields.getField('Clinical Characteristics', 'FourthSTS').text}}\\n
\\n
\\n\\n \\n \\n\\n
\\n
\\n \\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n\\n
\\n
\\n
\\n
\\n\"","module.exports = \"\"","import { Component, OnInit, ViewChild,Input } from \"@angular/core\";\nimport { TreeComponent, TreeModel, TreeNode } from 'angular-tree-component';\nimport { CaseTypeTreeModel } from \"../../shared-data-entry/case-types-entry/case-type-tree-model\";\nimport { StsDiagnosisService } from \"../../shared-data-entry/sts-diagnosis.service\";\nimport { StsDiagnosisResponse } from '../../../shared/sts-diagnosis-response';\nimport { StsDiagnosisModel } from '../../../shared/sts-diagnosis-model';\nimport { CaseTypesEntryService } from \"../../shared-data-entry/case-types-entry/case-types-entry.service\";\nimport { CaseFieldsService } from \"../../user/add-case/case-fields.service\";\n\n@Component({\n selector: \"app-sts-tree\",\n templateUrl: \"./sts-tree.component.html\",\n styleUrls: [\"./sts-tree.component.scss\"]\n})\nexport class StsTreeComponent implements OnInit {\n\n @ViewChild('tree') treeComponent: TreeComponent;\n fields: CaseFieldsService;\n public stsDiagnosisService: StsDiagnosisService;\n constructor(fields: CaseFieldsService, _stsDiagnosisService: StsDiagnosisService, service: CaseTypesEntryService) {\n this.fields = fields;\n this.stsDiagnosisService = _stsDiagnosisService;\n if (this.stsDiagnosisService.stsDiagnosisList == null) {\n this.stsDiagnosisService.getStsDiagnosis().subscribe(data => this.populateStsDiagnosis(data));\n }\n }\n populateStsDiagnosis(stsDiagResponse: StsDiagnosisResponse) {\n this.stsDiagnosisService.stsDiagnosisList = stsDiagResponse.DataObject;\n this.stsDiagnosisService.mapToDropDown();\n\n this.stsDiagnosisService.stsTreedata = this.stsDiagnosisService.dropDownStsDiagnosis;\n }\n onPrimaryDiagnosisSelect(event, tree) {\n if (event.node.isLeaf) {\n this.fields.getField('Clinical Characteristics', 'PrimarySTS').text = CaseTypeTreeModel.getKeyString(event.node, tree);\n this.fields.getField('Clinical Characteristics', 'PrimarySTS').value = event.node;\n }\n else {\n event.node.toggleExpanded();\n event.node.setIsActive(false);\n }\n }\n\n onSecondDiagnosisSelect(event, tree) {\n if (event.node.isLeaf) {\n this.fields.getField('Clinical Characteristics', 'SecondSTS').text = CaseTypeTreeModel.getKeyString(event.node, tree);\n this.fields.getField('Clinical Characteristics', 'SecondSTS').value = event.node;\n }\n else {\n event.node.toggleExpanded();\n event.node.setIsActive(false);\n }\n }\n\n onThirdDiagnosisSelect(event, tree) {\n if (event.node.isLeaf) {\n this.fields.getField('Clinical Characteristics', 'ThirdSTS').text = CaseTypeTreeModel.getKeyString(event.node, tree);\n this.fields.getField('Clinical Characteristics', 'ThirdSTS').value = event.node;\n }\n else {\n event.node.toggleExpanded();\n event.node.setIsActive(false);\n }\n }\n\n onFourthDiagnosisSelect(event, tree) {\n if (event.node.isLeaf) {\n this.fields.getField('Clinical Characteristics', 'FourthSTS').text = CaseTypeTreeModel.getKeyString(event.node, tree);\n this.fields.getField('Clinical Characteristics', 'FourthSTS').value = event.node;\n }\n else {\n event.node.toggleExpanded();\n event.node.setIsActive(false);\n }\n }\n\n clearPrimary() {\n this.fields.getField('Clinical Characteristics', 'PrimarySTS').text = null;\n this.fields.getField('Clinical Characteristics', 'PrimarySTS').value = null;\r\n }\n\n clearSecond() {\n this.fields.getField('Clinical Characteristics', 'SecondSTS').text = null;\n this.fields.getField('Clinical Characteristics', 'SecondSTS').value = null;\r\n }\n\n clearThird() {\n this.fields.getField('Clinical Characteristics', 'ThirdSTS').text = null;\n this.fields.getField('Clinical Characteristics', 'ThirdSTS').value = null;\r\n }\n\n clearFourth() {\n this.fields.getField('Clinical Characteristics', 'FourthSTS').text = null;\n this.fields.getField('Clinical Characteristics', 'FourthSTS').value = null;\r\n }\n\n ngOnInit() {\n this.stsDiagnosisService.treeModel = this.treeComponent.treeModel;\n }\n}\n","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{users.message}}
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n App Registry\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n App Registry required.\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Hospital\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n Hospital required.\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Username \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n Name required.\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Password\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n Password required.\\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 Official Email required.\\r\\n
\\r\\n
\\r\\n Official Email not valid.\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Full Name\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n Full Name required.\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n Role\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n Role required.\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","module.exports = \".row{margin-bottom:5px}\\n\"","/// \r\n/// \r\nimport { Component, OnInit, ViewChild, ElementRef } from \"@angular/core\";\nimport { UserManagementService } from \"../../user/manage-users/user-management.service\";\nimport { PicklistItemService } from \"../../shared-data-entry/picklist-item.service\";\nimport { PicklistItemResponse } from '../../../shared/picklist-item-response';\nimport { PicklistItemModel } from '../../../shared/picklist-item-model';\nimport { DropdownItemModel } from '../../../shared/dropdown-item-model';\nimport { Directive, Input } from '@angular/core';\r\nimport { CaseFieldsService } from '../../user/add-case/case-fields.service';\n\n\n@Component({\n selector: \"app-user-info-modal\",\n templateUrl: \"./user-info-modal.component.html\",\n styleUrls: [\"./user-info-modal.component.scss\"],\n host: { class: \"host\" }\n})\nexport class UserInfoModalComponent implements OnInit {\n @ViewChild('close') close:ElementRef;\n users;\n public picklistItemService: PicklistItemService;\n public fields: CaseFieldsService;\n name = \"Case Identification\";\n hospitals = [];\n \n constructor(users: UserManagementService, fields: CaseFieldsService, _picklistItemService: PicklistItemService) {\n this.users = users;\n this.fields = fields;\n this.picklistItemService = _picklistItemService;\n }\n\n closeModal() {\n this.close.nativeElement.click();\n }\n save() {\n console.log(\"inside model component\");\n this.users.save(); \n this.closeModal();\n }\n\n\n \n onChange(registryValue) {\r\n this.users.populatedropdownonregistrychange(registryValue,1); \r\n }\n \n\n ngOnInit() {}\n}\n","module.exports = \"\\r\\n\\r\\n \\r\\n\\r\\n\"","module.exports = \"@import url(\\\"https://fonts.googleapis.com/css?family=Montserrat:400,500,600\\\");@import url(\\\"https://use.fontawesome.com/releases/v5.0.13/css/all.css\\\");.max-height{height:100% !important}.max-width{width:100% !important}.navbar{height:55px;padding:0;z-index:1029}.navbar,.navbar .dropdown-menu{text-transform:uppercase;-ms-box-shadow:0px 0px 20px -7px rgba(0,0,0,0.8);box-shadow:0px 0px 20px -7px;font-size:12px}.navbar .nav-link,.navbar .dropdown-menu a,.navbar .dropdown-menu .nav-link,.navbar .dropdown-menu .dropdown-menu a{color:#fff !important;height:100%;display:flex;align-items:center;justify-content:center;border-bottom:3px solid rgba(0,0,0,0);transition:0.3s all}@media screen and (max-width: 767px){.navbar .nav-link,.navbar .dropdown-menu a,.navbar .dropdown-menu .nav-link,.navbar .dropdown-menu .dropdown-menu a{height:auto !important;padding-right:0}}.navbar,.navbar .navbar-collapse{background:#3ab2d1}.navbar .navbar-brand{width:240px;height:55px;padding:0;overflow:hidden;-ms-box-shadow:0px 0px 20px -7px rgba(0,0,0,0.8);box-shadow:0px 0px 20px -7px;padding:0;z-index:1029;transition:0.3s all;background:#007496;border-bottom:3px solid #e0a800}@media screen and (max-width: 1120px){.navbar .navbar-brand{width:73px !important;padding-right:5px;margin-right:0;overflow:hidden}}.navbar .navbar-brand img{height:55px;margin-top:1px;padding-right:5px;margin-left:-10px;overflow:visible}@media screen and (max-width: 1120px){.navbar .navbar-brand img{margin-top:1px;margin-left:-10px}}.navbar .nav-link:hover,.navbar .active.nav-link,.navbar .dropdown-menu a:hover{border-bottom:3px solid #e0a800;background:transparent}.navbar .dropdown-menu .active{background:#e0a800;color:#3a3a3a !important}.navbar .navbar-toggler{color:#fff !important;transition:0.3s all;font-size:30px}.navbar .navbar-toggler:hover{-ms-box-shadow:0px 0px 20px -7px rgba(0,0,0,0.8);box-shadow:0px 0px 20px -7px}.navbar .dropdown .dropdown-menu{transition:max-height 0.3s,opacity 0.6s;display:block !important;max-height:0px;opacity:0;padding:0;overflow:hidden;font-size:11px;background:#007496;border:none}.navbar .dropdown .dropdown-menu a{color:#fff}.navbar .dropdown.show .dropdown-menu{max-height:132px;opacity:1;padding-bottom:0.25rem;padding-bottom:0}.navbar .dropdown.show .dropdown-menu.longer-dropdown{max-height:200px}.navbar-nav{height:100%}@media screen and (max-width: 1120px){.navbar-nav{height:auto}}@media screen and (min-width: 768px){.navbar-nav{height:55px}}\\n\"","import { Component, OnInit } from \"@angular/core\";\nimport { Router } from \"@angular/router\";\nimport { LoginService } from \"../user/login.service\";\nimport { TitleService } from \"../../title.service\";\nimport { RouterService } from '../navigation/router.service';\n\n@Component({\n selector: \"app-navbar\",\n templateUrl: \"./navbar.component.html\",\n styleUrls: [\"./navbar.component.scss\"]\n})\nexport class NavbarComponent implements OnInit {\n imageSourceC3PO: string;\n imageSourceIQIC: string;\n homeLink: string; \n addCaseLink: string;\n isVisible: boolean = true;\n showC3PO: boolean = true;\n showIQIC: boolean = true;\n aboutOpened: boolean = false;\n inPortal:boolean = false;\n portalOnly:boolean = false;\n user:LoginService;\n title:TitleService;\n\n constructor(private router: Router, user: LoginService, title: TitleService, private routerService: RouterService) {\n \n this.user = user;\n this.title = title;\n \n this.router.events.subscribe(() => {\n const url = this.router.url;\n\n\n //Hide the NAV if invalid URL\n if (url == \"/\") {\n this.isVisible = false;\r\n return;\r\n }\n else {\n this.isVisible = true;\r\n\r\n }\n\n\n\n if (url.indexOf(\"about\") > -1) {\n this.aboutOpened = true;\n } else {\n this.aboutOpened = false;\n }\n if (url.indexOf(\"user-portal\") > -1) {\n this.inPortal = true;\n } else {\n this.inPortal = false;\n }\n if (url.indexOf(\"user-menu\") > - 1 && !(url.indexOf(\"add-case\") > -1)) {\n this.portalOnly = true;\n }\n else {\n this.portalOnly = false;\n }\n\n \n\n //Toggle the Nav Bar Images for Now\n //Or create 2 nav bars ??\n //var startUpURL = this.routerService.getStartUpURL();\n var isIQIC = this.routerService.showIQIC();\n\n //IQIC\n if (isIQIC) { \n \n //this.imageSourceC3PO = \"assets/images/c3po 1 8 19.png\";\n //this.imageSourceIQIC = \"assets/images/iqic 1 8 19.png\";\n this.imageSourceC3PO = \"assets/images/C3PO 1 11 19.png\";\n this.imageSourceIQIC = \"assets/images/IQIC 1 11 19 ver 2.png\";\n\n this.homeLink = \"/home/IQIC\";\n this.showC3PO = false;\n this.showIQIC = true;\n }\n //C3POR3\n else { \n this.imageSourceC3PO = \"assets/images/c3poLogo18.jpg\";\n this.imageSourceIQIC = \"assets/images/IQIC 12 27 18 308x70.jpg\"; \r\n this.homeLink = \"/home\";\r\n this.showC3PO = true;\n this.showIQIC = false;\r\n }\n\n\n this.addCaseLink = \"/user-portal/add-case\";\n //IQIC users see pre-case\n if (this.user.IsIqicUser()) {\n this.addCaseLink = \"/user-portal/add-case/iqic\";\n }\n\n \n });\n }\n\n logOut() {\n this.user.logOut();\n }\n ngOnInit() {}\n}\n","\r\nimport { Injectable } from '@angular/core';\r\nimport { CanActivate, CanActivateChild } from '@angular/router';\r\nimport { LoginService } from \"../user/login.service\";\n\r\n\r\n/** A router wrapper, adding extra functions. */\r\n//Used to determine the startup URL\r\n//Adapted from stack overflow https://stackoverflow.com/questions/41038970/how-to-determine-previous-page-url-in-angular\r\n@Injectable()\r\nexport class RouterService implements CanActivate, CanActivateChild{\r\n user: LoginService;\r\n private startUpUrl: string = undefined;\r\n private isIQIC: boolean = false; \r\n\r\n constructor(user: LoginService) {\r\n this.user = user; \r\n this.startUpUrl = window.location.href; \r\n \r\n if ((this.startUpUrl.indexOf(\"IQIC\")) > -1 || (this.startUpUrl.indexOf(\"iqic\") > -1)) { \r\n this.isIQIC = true;\r\n }\r\n else {\r\n this.isIQIC = false;\r\n }\r\n \r\n }\r\n\r\n public showIQIC() {\r\n return this.isIQIC;\r\n }\r\n\r\n canActivate() {\r\n\r\n if (this.user.IsIqicUser()) {\r\n\r\n return true;\r\n }\r\n\r\n else {\r\n\r\n return false;\r\n }\r\n }\r\n\r\n canActivateChild() {\r\n \r\n return true;\r\n }\r\n\r\n\r\n}\r\n","module.exports = \"
\\n
\\n
\\n
\\n
\\n \\n\\n
\\n
\\n\\n PUBLICATIONS\\n\\n
\\n
\\n
\\n
\\n
\\n
\\n\\n \\n \\n\\n\\n
\\n
\\n
\\n
\\n
    \\n
  • \\n \\n
    {{pub.name}}
    \\n
    \\n
    {{pub.authors}}
    \\n
    {{pub.source}}\\n   {{pub.date}}\\n   {{pub.pages}}\\n   
    {{pub.epub}}
    \\n
    \\n
  • \\n
\\n
\\n \\n
\\n\\n\\n
\\n\\n
\\n\"","module.exports = \"@import url(\\\"https://fonts.googleapis.com/css?family=Montserrat:400,500,600\\\");@import url(\\\"https://use.fontawesome.com/releases/v5.0.13/css/all.css\\\");.max-height{height:100% !important}.max-width{width:100% !important}.pub{transition:0.3s all}.pub:hover{-ms-box-shadow:0px 0px 20px -7px rgba(0,0,0,0.8);box-shadow:0px 0px 20px -7px;transition:0.3s all}.pub:hover a{color:#3ab2d1}.pub .pub-title{color:#007496;border-bottom:1px dashed #ddd}.pub .pub-title h6{margin-bottom:5px}.pub .authors{margin-bottom:5px}.pub .separator{color:#e0a800;font-weight:600}.pub .separator:before{content:\\\"/\\\"}\\n\"","import { Component, OnInit, ViewChild, ElementRef } from \"@angular/core\";\nimport { NgForm } from \"@angular/forms\";\n\n@Component({\n selector: \"app-publications\",\n templateUrl: \"./publications.component.html\",\n styleUrls: [\"./publications.component.scss\"]\n})\nexport class PublicationsComponent implements OnInit {\n @ViewChild('publicationsform')\n form: NgForm;\n filter: string = \"\";\n p: number = 1;\n data: Publication[];\n urlStart = \"/assets/Publications/\";\n @ViewChild(\"container\") private container: ElementRef;\n\n constructor() {\n \n this.data = [\n {\n name:\n \"Exploring procedure duration and risk for serious adverse events during congenital cardiac catheterization.\",\n authors:\n \"Mary J. Yeh; Elizabeth Lyndon; Kimberlee Gauvreau; Kathy J. Jenkins; David Slater; Lisa Bergersen\",\n source: \"BMJ Surgery, Interventions, and Health Technologies\",\n date: \"2023\",\n pages: \"\",\n link: this.getUrl(\"2023_Exploring_procedure_duration\"),\n epub: \"\"\n },\n {\n name:\n \"ICU Admission Tool for Congenital Heart Catheterization (iCATCH): A Predictive Model for High Level Post-Catheterization Care and Patient Management.\",\n authors:\n \"Brian P. Quinn, MD; Lauren C. Shirley; Mary J. Yeh; Kimberlee Gauvreau, ScD; Juan C. Ibla, MD; Sarah G. Kotin; Diego Porras, MD; Lisa J. Bergersen, MD MPH\",\n source: \"Pediatric Critical Care Medicine\",\n date: \"2022\",\n pages: \"\",\n link: this.getUrl(\"2022_ICU_Admission_Tool\"),\n epub: \"\"\n },\n {\n name:\n \"COVID-19 international experience in paediatric patients with congenital heart disease.\",\n authors:\n \"Mary J. Yeh; Lisa Bergersen; Kimberlee Gauvreau; Oliver M Barry; Sarosh P Batlivala; Elsa Bjornlund; Brian Boe; Luiz Fernando Caneo; Ulisses A Croti; Thomas Doyle; Shumaila Furnaz; Rodrigo Cesar Moraes; Michael O'Byrne; Erica de Oliveira Paes; Alexis Palacios-Macedo; Dimitar Pechilkov; Nestor Fernando Sandoval; Supratim Sen; Mila Stajevic; Marco Antonio Ferreira Travessa; Kathy J Jenkins\",\n source: \"Heart\",\n date: \"2022\",\n pages: \"\",\n link: this.getUrl(\"2022_COVID_19_international_experience\"),\n epub: \"\"\n },\n {\n name:\n \"Early Postoperative Congenital Cardiac Catheterization Outcomes: A Multicenter Study.\",\n authors:\n \"Mary J. Yeh, BA; Kimberlee Gauvreau, ScD; Aimee K. Armstrong, MD; Sarosh P. Batlivala, MD, MSCI; Ryan Callahan, MD; Todd M. Gudausky, MD; Michael R. Hainstock, MD; Babar Hasan, MBBS; George T. Nicholson, MD; Michael O'Byrne MD, MSCE; Shabana Shahanavaz, MBBS; Sara Trucco, MD; Jeffrey D. Zampi, MD; and Lisa Bergersen, MD, MPH\",\n source: \"The Society of Thoracic Surgeons\",\n date: \"2022\",\n pages: \"\",\n link: this.getUrl(\"2022_Early_Postoperative_Congenital\"),\n epub: \"\"\n },\n {\n name:\n \"Changes in Practice/Outcomes of Pediatric/Congenital Catheterization in Response to the First Wave of COVID.\",\n authors:\n \"Brian Quinn, MD; Oliver M. Barry, MD; Sarosh P. Batlivala, MD, MSCI; Brian A. Boe, MD; Andrew C. Glatz, MD, MSCE; Kimberlee Gauvreau, PhD; Bryan Goldstein, MD; Todd Gudausky, MD; Michael Hainstock, MD; Ralf Holzer, MD, MSc; George T. Nicholson, MD; Sara M. Trucco, MD; Wendy Whiteside, MD, Mary Yeh, Lisa Bergersen, MD, MPH; Michael O'Byrne MD, MSCE\",\n source: \"JACC: Advances\",\n date: \"2022\",\n pages: \"\",\n link: this.getUrl(\"2022_Changes_in_Practice\"),\n epub: \"\"\n },\n {\n name:\n \"Procedural Risk in Congenital Cardiac Catheterization (PREDIC3T).\",\n authors:\n \"Brian P. Quinn, MD; Mary Yeh; Kimberlee Gauvreau, ScD; Fatima Ali, MBBS; David Balzer, MD; Oliver Barry, MD; Sarosh Batlivala, MD; Darren Berman, MD; Susan Foerster , MD; Bryan Goldstein, MD; Michael Hainstock, MD; Ralf Holzer, MD; Dana Janssen, MD; Michael L. O’Byrne, MD, MSCE; Lauren Shirley; Sara Trucco, MD; Wendy Whiteside, MD; Lisa Bergersen, MD, MPH\",\n source: \"JAHA\",\n date: \"2022\",\n pages: \"\",\n link: this.getUrl(\"2022_Procedural_Risk_in_Congenital\"),\n epub: \"\"\n },\n {\n name:\n \"Interpreting Quality Improvement When Introducing New Technology: A Collaborative Experience in ASD Device Closures.\",\n authors:\n \"Mary J. Yeh; Lauren Shirley; David T. Balzer, MD; Brian A. Boe, MD; Howaida El‑Said, MD; Susan Foerster, MD; Kimberlee Gauvreau, ScD; Todd M. Gudausky, MD; Michael R. Hainstock, MD; Nicola Maschietto, MD, PhD; George T. Nicholson, MD;Brian P. Quinn, MD; Shabana Shahanavaz, MBBS; Sara Trucco, MD; Wendy Whiteside, MD; Lisa Bergersen, MD, MPH\",\n source: \"Pediatr Cardiol\",\n date: \"2022\",\n pages: \"\",\n link: this.getUrl(\"2022_Interpreting_Quality_Improvement\"),\n epub: \"\"\n },\n {\n name:\n \"Longitudinal Improvements in Radiation Exposure in Cardiac Catheterization for Congenital Heart Disease: A Prospective Multicenter C3PO-QI Study.\",\n authors:\n \"Brian P. Quinn, MD; Priscila Cevallos, MS; Aimee Armstrong, MD; David Balzer, MD; Howaida El-said, MD; Susan Foerster, MD; Andrew C. Glatz, MD; Andrea Goodman, MPH; Bryan Goldstein, MD; Michael Hainstock, MD; Dana Janssen, MD; Jacqueline Kreutzer, MD; Larry Latson, MD; Ryan Leahy, MD; Christopher Petit, MD; Shabana Shahanavaz, MD; Sara Trucco, MD; Wendy Whiteside, Jeffrey D. Zampi, MD; Lisa Bergersen MD, MPH.\",\n source: \"Catheter Cardiovasc Interv\",\n date: \"2020\",\n pages: \"\",\n link: this.getUrl(\"2020_Quinn_RadiationQI_CircInterventions\"),\n epub: \"\"\n },\n {\n name:\n \" Adverse Events, Radiation Exposure, and Reinterventions Following Transcatheter Pulmonary Valve Replacement.\",\n authors:\n \"Bryan H. Goldstein, MD; Lisa Bergersen, MD, MPH; Aimee K. Armstrong, MD; Brian A. Boe, MD; Howaida El-Said, MD; Diego Porras, MD; Shabana Shahanavaz, MD; Ryan A. Leahy, MD; Jacqueline Kreutzer, MD; Jeffrey D. Zampi, MD; Michael R. Hainstock, MD; Todd M. Gudausky, MD; George T. Nicholson, MD; Kimberlee Gauvreau, ScD; Andrea Goodman, MPH; Christopher J. Petit, MD.\",\n source: \"JACC\",\n date: \"2020\",\n pages: \"\",\n link: this.getUrl(\"2020_Goldstein_TPV_JACC\"),\n epub: \"\"\n },\n {\n name:\n \"Pilot phase experience of the International Quality Improvement Collaborative catheterization registry.\",\n authors:\n \"Oliver M. Barry, MD; Fatima Ali, FCPS; Miguel Ronderos, MD; Abish Sudhaker, MA; R. Krishna Kumar, MD; Marhisham C. Mood, MD; Carlos Corona-Villalobos, MD; Dinh Toai Nguyen, MD; Kaitlin Doherty-Schmeck, BS; Lisa Bergersen, MD, MPH; Kimberlee Gauvreau, ScD; Kathy Jenkins, MD, MPH; Babar Hasan, MD.\",\n source: \"Catheter Cardiovasc Interv\",\n date: \"2020\",\n pages: \"\",\n link: this.getUrl(\"2020_Barry_IQIC Cath Pilot_CircInterventions\"),\n epub: \"\"\n },\n {\n name:\n \"Radiation Risk Categories in Cardiac Catheterization for Congenital Heart Disease: A Tool to Aid in the Evaluation of Radiation Outcomes.\",\n authors:\n \"Brian P. Quinn, MD; Aimee K. Armstrong, MD; Holly D. Bauser‑Heaton, MD; Ryan Callahan, MD; Howaida G. El‑Said, MD; Susan R. Foerster, MD; Bryan H. Goldstein, MD; Andrea S. Goodman, MPH; Todd M. Gudausky, MD; Jacqueline N. Kreutzer, MD; Ryan A. Leahy, MD; Christopher J. Petit, MD; Toby A. Rockefeller, MD; Shabana Shahanavaz, MD; Sara M. Trucco, MD; Lisa Bergersen, MD, MPH\",\n source: \"Pediatr Cardiol\",\n date: \"2019\",\n pages: \"\",\n link: this.getUrl(\"Quinn2019_Article_RadiationRiskCategoriesInCardi\"),\n epub: \"\"\n },\n {\n name:\n \"Impact of Congenital Cardiac Catheterization Project on Outcomes-Quality Improvement (C3PO-QI) in LMICs\",\n authors:\n \"Fatima Ali, Mohammad Qasim Mehdi, Saleem Akhtar, Nadeem Aslam, Rashid Abbas, Izat Shah, Jabbir Abidi, Sajid Arthur, Zeenat Nizar, Andrea Goodman, Lisa Bergersen, Babar Hasan\",\n source: \"Heart Asia\",\n date: \"Jan 10, 2019\",\n pages: \"\",\n link: this.getUrl(\"Heart Asia.2019 Vol.11C3PO\"),\n epub: \"\"\n },\n {\n name:\n \"Radiation Dose Benchmarks in Pediatric Cardiac Catheterization: A Prospective Multi-Center C3PO-QI Study\",\n authors:\n \"Priscila C. Cevallos, Aimee K. Armstrong, Andrew C. Glatz, Bryan H. Goldstein, Todd M. Gudausky, Ryan A. Leahy, Christopher J. Petit, Shabana Shahanavaz, Sara M. Trucco, Lisa J. Bergersen\",\n source: \"Catheter Cardiovasc Interv\",\n date: \"Feb 15, 2017\",\n pages: \"\",\n link: this.getUrl(\"Radiation Benchmarks 2017\"),\n epub: \"[Epub ahead of print]\"\n },\n {\n name:\n \"Implementation of Methodology for Quality Improvement in Pediatric Cardiac Catheterization: A Multi-center Initiative by the Congeital Cardiac Catheterization Project on Outcomes – Quality Improvement (C3PO-QI) \",\n authors:\n \"Priscila C. Cevallos, Molly J. Rose, Laurie B. Armsby, Aimee K. Armstrong, Howaida EL-Said, Susan R. Foerster, Andrew C. Glatz, Bryan H. Goldstein, Michael R. Hainstock, Jacqueline Kreutzer, Larry A. Latson, Ryan A. Leahy, Christopher J. Petit, Alejandro Torres, Shabana Shahanavaz, Jeffrey D. Zampi, Lisa Bergersen\",\n source: \"Pediatr Cardiol\",\n date: \"July 2016\",\n pages: \"\",\n link: this.getUrl(\"art_3A10-1007_2Fs00246-016-1454-z\"),\n epub: \"[Epub ahead of print]\"\n },\n {\n name:\n \"Practice Variation in Single-Ventricle Patients Undergoing Elective Cardiac Catheterization: A Report from the Congenital Cardiac Catheterization Project on Outcomes (C3PO)\",\n authors:\n \"Bryan H. Goldstein, MD, Ralf J. Holzer, MD, MSc, Sara M. Trucco, MD, Diego Porras, MD, Joshua Murphy, MD, Susan R. Foerster, MD, Howaida G. El-Said, MD, Robert H. Beekman III, MD, Lisa Bergersen, MD MPH\",\n source: \"Congenit Heart Dis.\",\n date: \"2016\",\n pages: \"11:122-135\",\n link: this.getUrl(\"Goldstein_et_al-2016-Congenital_Heart_Disease\"),\n epub: \"\"\n },\n {\n name:\n \"Device Therapy for Atrial Septal Defects in a Multicenter Cohort: Acute Outcomes and Adverse Events\",\n authors:\n \"Howaida El-Said, MD, PhD; Sanjeet Hegde, MD PhD; Susan Foerster, MD; William Hellenbrand, MD; Jacqueline Kreutzer, MD; Sara M. Trucco, MD; Ralf Holzer, MD; Grant Burch, MD; Ajay Mirani, MD; Ramzi Nicolas, MD; Diego Porras, MD; Lisa Bergersen, MD, MPH; John Moore, MD MPH\",\n source: \"Catheter Cardiovasc Interv.\",\n date: \"2015\",\n pages: \"85:227-233\",\n link: this.getUrl(\n \"El-Said_et_al-2015-Catheterization_and_Cardiovascular_Interventions\"\n ),\n epub: \"\"\n },\n {\n name:\n \"Incidence and management of life-threatening adverse events during cardiac catheterization for congenital heart disease\",\n authors:\n \"C. Huie Lin, Sanjeet Hedge, Audrey C. Marshall A, Diego Porras, Kimberlee Gauvreau, David T. Balzer, Robert H. Beekman III, Alejandro Torres, Julie A. Vincent, John W. Moore, Ralf Holzer, Laurie Armsby, Lisa Bergersen\",\n source: \"Pediatr Cardiol\",\n date: \"2014\",\n pages: \"\",\n link: this.getUrl(\n \"Lin2014_Article_IncidenceAndManagementOfLife-T\"\n ),\n epub: \"\"\n },\n {\n name:\n \"Quality Metrics in Cardiac Catheterization for Congenital Heart Disease: Utility of 30-Day Mortality\",\n authors:\n \"Carl H. Backes, MD, Lisa Bergersen, MD, Jonathan J. Rome, MD, Sarosh P. Batlivala, MD, Andrew C. Glatz, MD, Bugsu Ovunc, MD, Sthuthi David, MS, Brian K. Rivera, MS, Urbee Haque, MS, Kevin Kollins, MD, Han Yin, MS, and Ralf J. Holzer, MD\",\n source: \"Catheter Cardiovasc Interv.\",\n date: \"2015\",\n pages: \"85:104-110\",\n link: this.getUrl(\n \"Backes_et_al-2015-Catheterization_and_Cardiovascular_Interventions\"\n ),\n epub: \"\"\n },\n {\n name:\n \"Sedation and Anesthesia in Pediatric and Congenital Cardiac Catheterization: A Prospective Multicenter Experience\",\n authors:\n \"C. Huie Lin, Sanyukta Desai, Ramzi Nicolas, Kimberlee Gauvreau, Susan Foerster, Anshuman Sharma, Laurie Armsby, Audrey C. Marshall, Kirsten Odegard, James DiNardo, Julie Vincent, Howaida El-Said, James Spaeth, Bryan Goldstein, Ralf Holzer, Jackie Kreutzer, David Balzer, Lisa Bergersen\",\n source: \"Pediatr Cardiol\",\n date: \"2015\",\n pages: \"36:1363-1375\",\n link: this.getUrl(\"Lin_Sedation\"),\n epub: \"\"\n },\n {\n name:\n \"Balloon Valvuloplasty for Congenital Aortic Stenosis: Multi-Center Safety and Efficacy Outcome Assessment\",\n authors:\n \"Alejandro Torres, MD, Julie A. Vincent, MD, Allen Everett, MD, Scott Lim, MD, Susan R. Foerster, MD, Audrey C. Marshall, MD, Robert H. Beekman III, MD, Joshua Murphy, MD, Sara M. Trucco, MD, Kimberlee Gauvreau, MD, Ralf Holzer, MD MSc, Lisa Bergersen, MD MPH, Diego Porras, MD\",\n source: \"Catheter Cardiovasc Interv.\",\n date: \"2015\",\n pages: \"86:808-820\",\n link: this.getUrl(\n \"Torres_et_al-2015-Catheterization_and_Cardiovascular_Interventions\"\n ),\n epub: \"\"\n },\n {\n name:\n \"Radiation Dose Benchmarks during Cardiac Catheterization for Congenital Heart Disease in the United States\",\n authors:\n \"Sunil J. Ghelani, Andrew Glatz, Sthuthi David, Ryan Leahy, Russel Hirsch, Laurie Armsby, Sara Trucco, Ralf Holzer, Lisa Bergersen\",\n source: \"JACC\",\n date: \"April 1, 2014\",\n pages: \"Volume 63, Issue 12\",\n link: this.getUrl(\"J. Am. Coll. Cardiol. 2014 Ghelani\"),\n epub: \"\"\n },\n {\n name:\n \"Developing Tools to Measure Quality in Congenital Catheterization and Interventions: The Congenital Cardiac Catheterization Project on Outcomes (C3PO)\",\n authors:\n \"Nadia Chaudhry-Watermana, Sandra Coombsa, Diego Porras, MD, Ralf Holzer, MD, Lisa Bergersen, MD, MPH\",\n source: \" MDCVJ | X (2)\",\n date: \"2014\",\n pages: \"\",\n link: this.getUrl(\"4_JMDHVC10.2_DL_Chaudhry_Waterman\"),\n epub: \"\"\n },\n {\n name:\n \"Relationship between procedural adverse events associated with cardiac catheterization for congenital heart disease and operator factors: Results of a multi-institutional registry (C3PO)\",\n authors:\n \"Holzer RJ, Gauvreau K, Kreutzer J, Moore JW, McElhinney DB, Bergersen L\",\n source: \"Catheter Cardiovasc Interv.\",\n date: \"Feb 14 2013\",\n pages: \"\",\n link: this.getUrl(\"holzer\"),\n epub: \"\"\n },\n {\n name:\n \"Low weight as an independent risk factor for adverse events during cardiac catheterization of infants\",\n authors:\n \"Backes CH, Cua C, Kreutzer J, Armsby L, El-Said H, Moore JW, Gauvreau K, Bergersen L, Holzer RJ\",\n source: \"Catheter Cardiovasc Interv.\",\n date: \"Feb 22 2013\",\n pages: \"\",\n link: this.getUrl(\"backes\"),\n epub: \"\"\n },\n {\n name:\n \"Safety of Percutaneous Patent Ductus Arteriosus Closure: An Unselected Multicenter Population Experience\",\n authors:\n \"Howaida G. El-Said, MD PhD; Andras Bratincsak, MD PhD; Susan R. Foerster, MD; Joshua J. Murphy, MD; Julie Vincent, MD: Ralf Holzer, MD; Diego Porras, MD; John Moore, MD, MPH; Lisa Bergersen, MD, MPH \",\n source: \"J Am Heart Assoc.\",\n date: \"2013\",\n pages: \"2:e000424\",\n link: this.getUrl(\"J_Am_Heart_Assoc-2013-El-Said\"),\n epub: \"\"\n },\n {\n name:\n \"Adverse events rates and risk factors in adults undergoing cardiac catheterization at pediatric hospitals - results from the C3PO\",\n authors:\n \"Learn CP, Holzer RJ, Daniels CJ, Torres AJ, Vincent JA, Moore JW, Armsby LB, Landzberg MJ, Bergersen L\",\n source: \"Catheter Cardiovasc Interv\",\n date: \"2013\",\n pages: \"81:997-1005\",\n link: this.getUrl(\"learn\"),\n epub: \"\"\n },\n {\n name:\n \"The efficacy and safety of balloon vavuloplasty: A Multi-Center Experience\",\n authors:\n \"Holzer R, Gauvreau K, Kreutzer J, Trucco S, Torres A, Shahanavaz S, Bergersen L\",\n source: \"Catheter Cardiovasc Interv.\",\n date: \"Mar 2012\",\n pages: \"doi: 10.1002/ccd.23473\",\n link: this.getUrl(\n \"2012_Efficacy and Safety of Pulmonary Valvuloplasty- A multi-center exp\"\n ),\n epub: \"\"\n },\n {\n name:\n \"Endomyocardial biopsy and selective coronary angiography are low-risk procedures in pediatric heart transplant recipients: Results of a multicenter experience\",\n authors:\n \"Ralf J. Holzer, MD, MSc; Kimberlee Gauvreau, ScD; Jacqueline Kreutzer, MD; Ryan Leahy, MD; Joshua Murphy, MD; James E. Lock, MD; John P. Cheatham, MD; Lisa Bergersen, MD, MPH\",\n source: \"J Heart Lung Transplant\",\n date: \"2012\",\n pages: \"31:398-409\",\n link: this.getUrl(\"2011_C3PO_Endomyocardial biopsy\"),\n epub: \"\"\n },\n {\n name:\n \"Procedure-Type Risk Categories for Pediatric and Congenital Cardiac Catheterization\",\n authors:\n \" Lisa Bergersen, MD, MPH; Kimberlee Gauvreau, ScD; Audrey Marshall, MD; Jacqueline Kreutzer, MD; Robert Beekman, MD; Russel Hirsch, MD; Susan Foerster, MD; David Balzer, MD; Julie Vincent, MD; William Hellenbrand, MD; Ralf Holzer, MD; John Cheatham, MD; John Moore, MD; James Lock, MD; Kathy Jenkins, MD, MPH\",\n source: \"Circ Cardiovasc Interv.\",\n date: \"2011\",\n pages: \"4:188-94\",\n link: this.getUrl(\"2011_C3PO_Procedure-Type Risk Categories\"),\n epub: \"\"\n },\n {\n name:\n \"Catheterization for Congenital Heart Disease Adjustment for Risk Method - CHARM \",\n authors:\n \"Lisa Bergersen, MD, MPH, Kimberlee Gauvreau, SCD, Susan R. Foerster, MD, Audrey C. Marshall, MD, Doff B. McElhinney, MD, Robert H. Beekman III, MD, Russel Hirsch, MD, Jacqueline Kreutzer, MD, David Balzer, MD, Julie Vincent, MD, Willian E. Hellenbrand, MD,Ralf Holzer, MD, John P. Cheatham, MD, John W. Moore, MD, Grant Burch, MD, Laurie Armsby, MD, James E. Lock, MD, Kathy J. Jenkins, MD, MPH\",\n source: \"JACC Cardiovasc Interv.\",\n date: \"2011\",\n pages: \"4:1037-46\",\n link: this.getUrl(\"2011_Catheterization for Congenital Heart Disease\"),\n epub: \"\"\n },\n {\n name:\n \"Balloon angioplasty and stenting of branch pulmonary arteries. Adverse events and procedural characteristics Results of a multi-institutional registry\",\n authors:\n \"Ralf J. Holzer, MD, MSc; Kimberlee Gauvreau, ScD; Jacqueline Kreutzer, MD; Ryan Leahy, MD; Joshua Murphy, MD; James E. Lock, MD; John P. Cheatham, MD; Lisa Bergersen, MD, MPH\",\n source: \"Circ Cardiovasc Interv.\",\n date: \"2011\",\n pages: \"4:287-96\",\n link: this.getUrl(\"2010_C3PO_Balloon angioplasty\"),\n epub: \"\"\n },\n {\n name:\n \"Balloon Angioplasty and Stenting of Branch Pulmonary Arteries, Adverse Events and Procedural Characteristics: Results of a Multi-Institutional Registry\",\n authors:\n \"Ralf J. Holzer, MD, MSc; Kimberlee Gauvreau, ScD; Jacqueline Kreutzer, MD; Ryan Leahy, MD; Joshua Murphy, MD; James E. Lock, MD; John P. Cheatham, MD; Lisa Bergersen, MD, MPH\",\n source: \"Circ Cardiovasc Interv\",\n date: \"2011\",\n pages: \"4:287-96\",\n link: this.getUrl(\"2011_Balloon angioplasty \"),\n epub: \"\"\n },\n {\n name:\n \"Report from The International Society for Nomenclature of Paediatric and Congenital Heart Disease: cardiovascular catheterisation for congenital and paediatric cardiac disease\",\n authors:\n \"Lisa Bergersen, Allen Dale Everett, Jorge Manuel Giroud, Gerard R. Martin, Rodney Cyril George Franklin, Marie Jose Beland, Otto Nils Krogmann, Vera Demarchi Aiello, Steven D. Colan, Martin J. Elliott, J. William Gaynor, Hiromi Kurosawa, Bohdan Maruszewski, Giovanni Stellin, Christo I. Tchervenkov, Henry Lane Walters III, Paul Weinberg, Jeffrey Phillip Jacobs, Jose Beland\",\n source: \"Cardiol Young\",\n date: \"2011\",\n pages: \"21:252-9\",\n link: this.getUrl(\"2011_Report 1\"),\n epub: \"\"\n }, \n {\n name:\n \"Report from The International Society for Nomenclature of Paediatric and Congenital Heart Disease: cardiovascular catheterisation for congenital and paediatric cardiac disease interventional cardiology\",\n authors:\n \"Lisa Bergersen, Jorge Manuel Giroud, Jeffrey Phillip Jacobs, Rodney Cyril George Franklin, Marie Jose Beland, Otto Nils Krogmann, Vera Demarchi Aiello, Steven D. Colan, Martin J. Elliott, J. William Gaynor, Hiromi Kurosawa, Bohdan Maruszewski, Giovanni Stellin, Christo I. Tchervenkov, Henry Lane Walters III, Paul Weinberg, Allen Dale Everett \",\n source: \"Cardiol Young\",\n date: \"2011\",\n pages: \"21:260-5\",\n link: this.getUrl(\"2011_Report 2\"),\n epub: \"\"\n },\n {\n name:\n \"Hybrid Procedures: Adverse Events and Procedural Characteristics - Results of a Multi-institutional Registry\",\n authors:\n \"Ralf Holzer, MD, Audrey Marshall, MD, Jackie Kreutzer, MD, Russel Hirsch, MD,Joanne Chisolm, RN, Sharon Hill, ACNP,Mark Galantowicz, MD,Alistair Phillips, MD,John Cheatham, MD, and Lisa Bergerson, MD\",\n source: \"Congenit Heart Dis.\",\n date: \"2010\",\n pages: \"5:233-42\",\n link: this.getUrl(\"2010_C3PO_Hybrid Procedures AE\"),\n epub: \"\"\n },\n {\n name:\n \"Adverse event rates in congenital cardiac catheterization - a multi-center experience\",\n authors:\n \" Lisa Bergersen, MD, Audrey Marshall, MD, Kimberlee Gauvreau, ScD, Robert Beekman, MD, Russel Hirsch, MD, Susan Foerster, MD, David Balzer, MD, Julie Vincent, MD, William Hellenbrand, MD, Ralf Holzer, MD, John Cheatham, MD, John Moore, MD, James Lock, MD, and Kathy Jenkins, MD, MPH\",\n source: \"Catheter Cardiovasc Interv.\",\n date: \"2010\",\n pages: \"75:389-400\",\n link: this.getUrl(\"2010_C3PO_Adverse event rates\"),\n epub: \"\"\n }\n ];\n }\n\n ngOnInit() {}\n\n scroll() {\n try {\n this.container.nativeElement.scrollTo({ left: 0, top: 0, behavior: 'smooth' });\n } catch (err) {}\n }\n\n getUrl(link) {\n return this.urlStart + link + \".pdf\";\n }\n}\n\ninterface Publication {\n name: string;\n authors: string;\n source: string;\n date: string;\n pages: string;\n link: string;\n epub: string;\n}\n","import { Injectable } from \"@angular/core\";\nimport { Http, Response, Headers, RequestOptions } from \"@angular/http\";\nimport { Observable, pipe } from \"rxjs\";\nimport { map, takeUntil, tap } from \"rxjs/operators\";\nimport { CaseTypeCalcResponse } from \"../../shared/case-type-calc-response\";\nimport { CaseTypeCalcRequest } from \"../../shared/case-type-calc-request\";\nimport { CONFIG } from \"../../shared/config\";\n\nlet apiUrl = CONFIG.baseUrls.api;\n@Injectable()\nexport class CaseTypeCalcService {\n private http: Http = null;\n\n constructor(_http: Http) {\n this.http = _http;\n }\n\n getCaseType(primaryProcedureCode: string, secondaryProcedureCodes: string) {\n let body = new CaseTypeCalcRequest();\n body.PrimaryProcedureCode = primaryProcedureCode;\n body.SecondaryProcedureCodes = secondaryProcedureCodes;\n let headers = new Headers({\n //'Content-Type': 'application/x-www-form-urlencoded'\n });\n let options = new RequestOptions({ headers: headers });\n\n return this.http\n .post(apiUrl + \"case/getcasetype\", body, options)\n .pipe(map((response: Response) => response.json()));\n }\n}\n","import { CaseTypesEntryService } from \"./case-types-entry.service\";\nimport { Router } from \"@angular/router\";\nimport { CaseFieldsService } from \"../../user/add-case/case-fields.service\";\nimport { CaseTypeCalcService } from \"../case-type-calc.service\";\nimport { CaseTypeCalcResponse } from '../../../shared/case-type-calc-response';\r\n\nexport class CaseTypeTreeModel { \n procedures = [];\n diagnosticOnly: boolean = false;\n toAddNode;\n toAddTree;\n toAddNodePre;\n toAddTreePre;\n primarySelected: boolean = false;\n selectedCaseGroup = 0;\n currentPrimary = \"\";\n name = \"Case Types\";\n\n public options = {\n animateExpand: true,\n animateAcceleration: 1.2,\n scrollOnActivate: true,\n animateSpeed: 10\n };\n public fields: CaseFieldsService;\n service: CaseTypesEntryService;\n public caseTypeCalcService: CaseTypeCalcService;\n constructor(service: CaseTypesEntryService, _caseTypeCalcService: CaseTypeCalcService) {\n \n this.caseTypeCalcService = _caseTypeCalcService;\n this.service = service;\n this.fields = this.service.fields;\n service.myBool$.subscribe((val: boolean) => {\n\n if (this.selectedCaseGroup!=0) {\n this.addWithDetails();\n };\n \n });\n }\n\n //produces the selected key string for a particular procedure\n static getKeyString(node, tree) {\n //all procedure names are parsed as\n let text = \"\";\n if (node && node.path) {\n let path = node.path;\n for (let id of path) {\n let parent = tree.treeModel.getNodeById(id);\n if (text !== \"\") {\n text = text + \" | \" + parent.data.name;\n } else {\n text = text + parent.data.name;\n }\n }\n }\n\n if (text.length > 0) {\n text = text.replace(\" [add details]\", \"\");\r\n }\n\n return text;\n }\n\n //when selecting a leaf, creates a new procedure entry\n //otherwise, opens parent\n onSelect(event, tree) {\n this.selectedCaseGroup = 1;\n this.service.inputVal = \"\";\n let procs = this.getProcedures();\n if (event.node.isLeaf && !this.diagnosticOnly) { \n if (event.node.data.code === \"1101\") {\n //Diagnostic Only selected, will be only selection\n this.setProcedures({});\n this.primarySelected = false;\n this.createRecord(event.node, tree);\n this.diagnosticOnly = true;\n } else if (event.node.data.needsDetails) {\n //if extra details are necessary, opens modal to collect them\n document.getElementById(\"openModalButton\").click();\n this.toAddNode = event.node;\n this.toAddTree = tree;\n\n if (!procs) {\n this.setProcedures({});\n }\n } else {\n //creates normal entry\n if (!procs) {\n this.setProcedures({});\n }\n this.createRecord(event.node, tree);\n }\n } else {\n //opens parent node\n event.node.toggleExpanded();\n }\n }\n onPreSelect(event, tree) {\n this.selectedCaseGroup = 2;\n this.service.inputVal = \"\";\n let procs = this.getProcedures();\n if (event.node.isLeaf && !this.diagnosticOnly) {\n if (event.node.data.code === \"1101\") {\n //Diagnostic Only selected, will be only selection\n this.setProcedures({});\n this.primarySelected = false;\n this.createRecord(event.node, tree);\n this.diagnosticOnly = true;\n } else if (event.node.data.needsDetails) {\n //if extra details are necessary, opens modal to collect them\n document.getElementById(\"openModalButton\").click();\n this.toAddNodePre = event.node;\n this.toAddTreePre = tree;\n\n if (!procs) {\n this.setProcedures({});\n }\n } else {\n //creates normal entry\n if (!procs) {\n this.setProcedures({});\n }\n this.createRecord(event.node, tree);\n }\n } else {\n //opens parent node\n event.node.toggleExpanded();\n }\n }\n\n //creates a recorded procedure\n createRecord(node, tree) {\n let procs = this.getProcedures();\n let details = this.service.inputVal !== \"\" ? \" | \" + this.service.inputVal : \"\";\n\n if (!this.diagnosticOnly || (!node.data.needsDetails || (node.data.needsDetails && details.length > 0))) {\n let nodeString = CaseTypeTreeModel.getKeyString(node, tree);\n \n let primary = false;\n if (!this.primarySelected) {\n primary = true;\n this.primarySelected = true;\n this.currentPrimary = nodeString;\n }\n\n procs[nodeString + details] = {\n primary: primary,\n id: \"procedure-\" + node.data.code,\n details: this.service.inputVal\n }; \n }\n this.switchCaseTypeDone(false);\n this.sortProcedures();\n return true;\n }\n\n //creates a procedure with extra details\n addWithDetails() {\n \n let createdRecord = false;\n if (this.service.canChange) {\n if (this.selectedCaseGroup == 1 && this.toAddNode) {\n createdRecord=this.createRecord(this.toAddNode, this.toAddTree);\r\n }\n if (this.selectedCaseGroup == 2 && this.toAddNodePre) {\n createdRecord=this.createRecord(this.toAddNodePre, this.toAddTreePre);\r\n }\n if (createdRecord) {\n document.getElementById(\"procedure-close\").click();\n this.toAddNode = null;\r\n this.toAddTree = null;\n this.toAddTreePre = null;\n this.toAddNodePre = null;\r\n this.service.inputVal = \"\";\r\n }\n } else {\n this.toAddNode = null;\n this.toAddTree = null;\n this.toAddTreePre = null;\n this.toAddNodePre = null;\n }\n //this.service.canChange = false;\n }\n\n //sets a new primary procedure\n newPrimary(event, name) {\n let procs = this.getProcedures();\n procs[this.currentPrimary][\"primary\"] = false;\n this.primarySelected = true;\n this.currentPrimary = name;\n procs[name][\"primary\"] = true;\n this.switchCaseTypeDone(false);\n }\n\n //deletes a procedure from the procedure list\n deleteProcedure(event, val) {\n let procedures = this.getProcedures();\n let item = procedures[val];\n delete procedures[val]; \n let arr = this.getProceduresArray();\n if (arr.length > 0) {\n let noPrimary = item.primary;\n if (noPrimary || arr.length == 1) {\n this.currentPrimary = arr[0];\n this.primarySelected = true;\n procedures[arr[0]][\"primary\"] = true; \n }\n } else {\n this.diagnosticOnly = false;\n this.currentPrimary = \"\";\n this.setProcedures(null);\n if (this.name == \"Pre-Case Calculation\") {\n this.fields.getField(\"Case Types\", \"Anticipated Procedures\").hide = false;\r\n }\n this.primarySelected = false;\n \n }\n this.switchCaseTypeDone(false);\n this.sortProcedures();\n }\n\n loadProcedures() {\n let caseTypes = this.fields.getField(this.name, \"Recorded Procedures\").value;\r\n if (caseTypes != null) {\r\n let caseTypeNames = Object.getOwnPropertyNames(caseTypes);\r\n for (let name of caseTypeNames) {\n let caseType = caseTypes[name];\n\n if (caseType[\"primary\"] === true) {\n this.primarySelected = true;\r\n this.currentPrimary = name;\r\n }\n\n let code = caseType[\"id\"].replace(\"procedure-\", \"\");\n if (code === \"1101\") {\n this.diagnosticOnly = true;\r\n }\n }\n\n this.generateCaseType();\n }\r\n }\n\n //retrieves the recorded procedure list from the case list service\n getProcedures() {\n return this.fields.getField(this.name, \"Recorded Procedures\").value;\n }\n\n //sets the recorded procedures\n setProcedures(val) {\n this.fields.getField(this.name, \"Recorded Procedures\").value = val;\n }\n\n sortProcedures() {\n let unordered = this.fields.getField(this.name, \"Recorded Procedures\").value;\n if (unordered != null) {\n let ordered = {};\n Object.keys(unordered).sort().forEach(function (key) {\r\n ordered[key] = unordered[key];\r\n });\n this.fields.getField(this.name, \"Recorded Procedures\").value = ordered;\r\n if (this.name == \"Pre-Case Calculation\") {\r\n this.fields.anticipatedCase = false;\r\n }\r\n }\r\n }\n\n //gets the recorded procedures as an array\n getProceduresArray() {\n var proc = this.getProcedures();\n if (proc) {\n return Object.getOwnPropertyNames(this.getProcedures());\n } else {\n return [];\n }\n }\n\n //makes the case type visible or invisible, depending on parameter\n switchCaseTypeDone(bool) {\n if (this.name === 'Case Type') {\n this.fields.getParent(\"Pre-Case Calculation\")[\"hide\"] = true;\n }\n \n if (!bool) {\n this.fields.getField(this.name, \"Case Type\").value = null;\n }\n\n this.generateCaseType(); \n }\n\n //retrieves whether case type has been generated\n getCaseTypeDone() {\n return this.fields.getValue(this.name, \"Case Type Done\");\n }\n\n generateCaseType() {\n let primary: string = \"\";\n let secondary: string = \"\";\n let procs = this.getProcedures();\n let procsArr = this.getProceduresArray(); \n for (let item of procsArr) {\n let proc = procs[item];\n let proc_id = proc['id'];\n proc_id = proc_id.replace(\"procedure-\", \"\");\n\n if (proc['primary']) {\n primary = proc_id;\n } else {\n secondary = secondary + proc_id + \",\";\n }\n }\n\n if (primary.length > 0) {\n this.fields.getField(this.name, \"Case Type Done\").value = true;\n\n if (secondary.length > 0) {\n secondary = secondary.slice(0, -1);\n } \n\n this.caseTypeCalcService.getCaseType(primary, secondary).subscribe(data => this.validateCaseType(data));\r\n } else {\n this.fields.getField(this.name, \"Case Type Done\").value = false; \r\n }\r\n }\n\n validateCaseType(ctcr: CaseTypeCalcResponse) {\n if (ctcr.MessageType === \"success\" && ctcr.DataObject.CaseTypeDescription) {\n this.fields.getField(this.name, \"Case Type\").value = ctcr.DataObject.CaseTypeDescription; \n }\n }\n}\n","module.exports = \"\\n\\n
\\n
\\n\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n
\\n
\\n\\n
\\n
\\n
    \\n
  • \\n {{text}}\\n
  • \\n
\\n
    \\n\\n
  • \\n
    \\n {{ name }}  \\n \\n \\n    \\n \\n \\n \\n
    \\n
  • \\n\\n\\n
\\n\\n\\n
\\n\\n
\\n\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n \\n \\n
\\n \\n
\\n
\\n
\\n
\\n\\n\\n\\n
\\n
\\n
\\n\"","module.exports = \"\"","import { Component, OnInit, Input } from \"@angular/core\";\nimport { CaseTypesEntryService } from \"./case-types-entry.service\";\nimport { CaseTypeTreeModel } from \"./case-type-tree-model\";\nimport { Observable, pipe } from 'rxjs';\nimport { map, takeUntil, tap } from 'rxjs/operators';\nimport { ProcedurePicklistService } from \"../procedure-picklist.service\";\nimport { ProcedurePicklistResponse } from '../../../shared/procedure-picklist-response';\nimport { ProcedurePicklistModel } from '../../../shared/procedure-picklist-model';\nimport { CaseTypeCalcService } from \"../case-type-calc.service\";\nimport { Router } from \"@angular/router\";\nimport { CaseModel } from \"../../../shared/case/case-model\";\n\n@Component({\n selector: \"app-case-types-entry\",\n templateUrl: \"./case-types-entry.component.html\",\n styleUrls: [\"./case-types-entry.component.scss\"]\n})\nexport class CaseTypesEntryComponent implements OnInit {\n\n @Input() pre:boolean;\n treeModel: CaseTypeTreeModel;\n text = \"Selected Procedures\";\n public procedurePicklistService: ProcedurePicklistService;\n public caseTypeCalcService: CaseTypeCalcService;\n constructor(_ProcedurePicklistService: ProcedurePicklistService, _caseTypeCalcService: CaseTypeCalcService, private service:CaseTypesEntryService) {\n this.treeModel = new CaseTypeTreeModel(service, _caseTypeCalcService);\n\n this.procedurePicklistService = _ProcedurePicklistService;\n this.procedurePicklistService.getProcedurePicklist().subscribe(data => this.validateProcedurePicklist(data));\n\n this.caseTypeCalcService = _caseTypeCalcService; \n }\n\n validateProcedurePicklist(ppr: ProcedurePicklistResponse) {\n if (ppr.MessageType === \"success\") {\n this.procedurePicklistService.procedureList = ppr.DataObject;\n this.procedurePicklistService.mapToDropDown(); \n this.treeModel.procedures = this.procedurePicklistService.dropDownProcedureList;\n }\n }\n\n generateCaseType() {\n this.treeModel.switchCaseTypeDone(true);\n }\n\n search(filter, tree) {\n return tree.treeModel.filterNodes(filter.value);\n }\n\n ngOnInit() {\n if (this.pre) {\n this.treeModel.name = \"Pre-Case Calculation\";\n this.text = \"Anticipated Procedures\";\n }\n else { \n this.treeModel.name = \"Case Types\"; \n }\n\n this.treeModel.loadProcedures();\n \n }\n ngOnDestroy() {\n \n }\n}\n","import { Injectable } from \"@angular/core\";\nimport { CaseTypeTreeModel } from \"./case-type-tree-model\";\nimport { Observable, Subject } from \"rxjs\";\nimport { CaseFieldsService } from \"../../user/add-case/case-fields.service\";\nimport { Router } from \"@angular/router\";\n\n@Injectable({\n providedIn: \"root\"\n})\nexport class CaseTypesEntryService {\n //use this service to store/get data from the case types form\n inputVal; \n model: CaseTypeTreeModel;\n\n myBool$: Observable;\n\n private boolSubject: Subject;\n canChange = false;\n public router:Router;\n public fields:CaseFieldsService;\n constructor(fields:CaseFieldsService) {\n this.boolSubject = new Subject();\n this.myBool$ = this.boolSubject.asObservable();\n\n this.fields = fields;\n }\n\n setChange(bool) {\n if (this.inputVal !== '') {\n this.canChange = bool\n this.boolSubject.next(bool);\n }\n }\n \n \n}\n","export class DropdownData {\n selected;\n toSelect;\n\n constructor(selected, toSelect) {\n this.selected = selected;\n this.toSelect = toSelect;\n\n }\n\n \n\n selectAll() {\n this.selected = this.toSelect;\n \n\n }\n\n unSelectAll() {\n this.selected = [];\n \n }\n}\n","import { Injectable } from '@angular/core';\nimport { CaseFieldsService } from \"../../../user/add-case/case-fields.service\";\nimport { PicklistItemService } from \"../../../shared-data-entry/picklist-item.service\";\nimport { PicklistItemResponse } from \"../../../../shared/picklist-item-response\";\nimport { PicklistItemModel } from \"../../../../shared/picklist-item-model\";\nimport { DropdownItemModel } from \"../../../../shared/dropdown-item-model\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CrispCatSelectService {\n public name = \"Hemodynamics\";\n selection:number = null;\n values: number[] = [1, 2, 3];\n physiologicCategories: string[];\n\n public fields: CaseFieldsService;\n public picklistItemService: PicklistItemService;\n constructor(fields: CaseFieldsService, _picklistItemService: PicklistItemService) {\n this.fields = fields;\n this.picklistItemService = _picklistItemService;\n this.picklistItemService\n .getPicklistItem(\"1\", \"CRISP Physiologic category\")\n .subscribe(data => this.populatePicklistItems(data));\n\n \n }\n\n private populatePicklistItems(picklistItemResponse: PicklistItemResponse) {\n this.picklistItemService.picklistItemModel = picklistItemResponse.DataObject;\n this.picklistItemService.mapToDropDown();\n this.physiologicCategories = this.picklistItemService.dropDownPicklistItem.map(x => x.code);\n this.setPC();\n }\n\n public setPC() {\n let pc = this.fields.getValue(this.name, 'Physiologic Category');\n if (pc != null) {\n let pcIndex = (this.physiologicCategories.indexOf(pc) + 1);\n this.selection = pcIndex;\r\n } else {\r\n this.selection = null;\r\n }\r\n }\n\n getRadioName(val) {\n return \"crisp-cat-\" + val;\n }\n\n changeSelection(val){\n this.selection = val;\n this.fields.setValue(this.name, 'Physiologic Category', this.physiologicCategories[val - 1]);\n }\n}\n","module.exports = \"\\n\\n \\n \\n \\n \\n\"","import { Component, OnInit, Input } from '@angular/core';\nimport { CrispCatSelectService } from './crisp-cat-select.service';\n\n@Component({\n selector: 'app-crisp-cat',\n templateUrl: './crisp-cat.component.html'\n})\nexport class CrispCatComponent implements OnInit {\n @Input() pre: boolean;\n\n public cat:CrispCatSelectService;\n constructor(cat:CrispCatSelectService) {\n this.cat = cat; \n }\n\n ngOnInit() {\n if (this.pre) {\n this.cat.name = \"Pre-Case Calculation\";\r\n } else {\n this.cat.name = \"Hemodynamics\";\r\n }\n this.cat.setPC(); \n }\n}\n","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n   \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n   \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n   \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n   \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n   \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n   \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n   \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n\"","module.exports = \".radio-label{width:100%}@media (max-width: 1369px){.radio-label{font-size:12px;text-align:center}}@media (max-width: 996px){.radio-label{font-size:inherit;width:100%}}.do-not-exceed{max-width:100%}\\n\"","import { Component, OnInit, Input ,ViewChild,HostListener} from \"@angular/core\";\nimport { HemosService } from \"./hemos.service\";\nimport { CaseFieldsService } from \"../../user/add-case/case-fields.service\";\nimport { NgForm, FormGroup } from \"@angular/forms\";\r\nimport { ComponentCanDeactivate } from '../../../CanDeactivateGaurd';\r\nimport { Observable } from 'rxjs';\r\nimport { filter, map, mergeMap, tap } from \"rxjs/operators\";\nimport { Router, ActivatedRoute, ParamMap, NavigationEnd, NavigationStart, RouterEvent } from \"@angular/router\";\nimport { HemoInfo } from \"../../../shared/report-model-hemo-info\";\n\n@Component({\n selector: \"app-hemos\",\n templateUrl: \"./hemos.component.html\",\n styleUrls: [\"./hemos.component.scss\"],\n})\nexport class HemosComponent implements OnInit, ComponentCanDeactivate {\n @ViewChild('form') form: NgForm;\n @Input() pre: boolean;\n\n name = \"Hemodynamics\";\n public hemos:HemosService;\n public fields:CaseFieldsService\n constructor(private router: Router, hemos: HemosService, fields: CaseFieldsService) {\n router.events\r\n .pipe(filter(e => e instanceof NavigationStart))\r\n .subscribe((e: NavigationStart) => {\r\n localStorage.setItem('editcase', e.url);\r\n });\n this.fields = fields;\n this.hemos = hemos; \n }\n\n ngOnInit() { \n if (this.pre) {\n this.name = \"Pre-Case Calculation\";\n this.hemos.name = \"Pre-Case Calculation\";\n } else {\n this.name = \"Hemodynamics\";\r\n this.hemos.name = \"Hemodynamics\";\r\n\r\n }\n this.hemos.setSVP();\n }\n ngOnDestroy() {\n \n }\n\n @HostListener('window:beforeunload')\r\n canDeactivate(): Observable | boolean {\r\n \r\n return !this.form.dirty;\r\n \r\n }\n\n private convertTrueFalse(type: boolean): string {\r\n \r\n if (type === true) return '1';\r\n else if(type === false || type === null ) return '0';\r\n }\n}\n","import { Injectable } from \"@angular/core\";\nimport { Subject } from \"rxjs\";\nimport { CaseFieldsService } from \"../../user/add-case/case-fields.service\";\n\n@Injectable({\n providedIn: \"root\"\n})\nexport class HemosService {\n public sv: boolean = false;\n public svVals = {\n SVEDP: 18,\n SysSat: 78,\n MVSat: 50,\n PAMean: 17,\n QpQs: 1.5,\n PVR: 3\n };\n public biVals = {\n SVEDP: 18,\n SysSat: 95,\n MVSat: 60,\n PAMean: 45,\n QpQs: 1.5,\n PVR: 3\n };\n public vals = {\n SVEDP: 18,\n SysSat: 78,\n MVSat: 50,\n PAMean: 17,\n QpQs: 1.5,\n PVR: 3\n };\n clicked = false;\n //use this service to store/get data from the hemodynamics form\n paTxt = \"sys\";\n svChange: Subject = new Subject();\n\n name = \"Hemodynamics\";\n public fields: CaseFieldsService;\n constructor(fields: CaseFieldsService) {\n this.fields = fields;\n\n this.vals = this.biVals;\n this.svChange.subscribe(value => {\n this.sv = value;\n });\n }\n\n public setSVP() {\n let svp = this.fields.getValue(this.name, 'Single Ventricle Physiology');\n if (svp != null) {\n this.svChange.next(svp);\r\n this.toggleTxt(svp);\r\n this.clicked = true;\r\n } else {\r\n this.clicked = false;\r\n }\r\n }\n\n toggleTxt(val) {\n if (val) {\n this.vals = this.svVals;\n this.paTxt = \"mean\";\n } else {\n this.vals = this.biVals;\n this.paTxt = \"sys\";\n }\r\n }\n\n toggleSV(val) {\n this.clicked = true;\n\n this.svChange.next(val);\n this.toggleTxt(val);\n\n this.fields.setValue(this.name, 'Single Ventricle Physiology', val);\n this.fields.getField(this.name, \"Single Ventricle Physiology\").hide = true;\n\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Http, Response, Headers, RequestOptions } from '@angular/http';\nimport { Observable, pipe } from 'rxjs';\nimport { map, takeUntil, tap } from 'rxjs/operators';\nimport { MajorAdverseEventResponse } from '../../shared/major-adverse-event-response';\nimport { MajorAdverseEventModel } from '../../shared/major-adverse-event-model';\nimport { DropdownItemModel } from '../../shared/dropdown-item-model';\nimport { CONFIG } from '../../shared/config';\n\nlet apiUrl = CONFIG.baseUrls.api;\n@Injectable()\nexport class MajorAdverseEventService {\n private http: Http = null;\n\n public majorAdverseEventList: MajorAdverseEventModel[];\n public dropDownMajorAdverseEvent: DropdownItemModel[];\n\n constructor(_http: Http) {\n this.http = _http;\n }\n\n getMajorAdverseEvent() {\n let headers = new Headers({\n //'Content-Type': 'application/x-www-form-urlencoded'\n });\n let options = new RequestOptions({ headers: headers });\n return this.http.get(apiUrl + \"picklist/getmajoradverseevents\", options)\n .pipe(map((response: Response) => response.json()));\r\n }\n\n mapToDropDown() {\r\n this.dropDownMajorAdverseEvent = [];\r\n\r\n this.majorAdverseEventList.sort(function (a, b) { return a.MAEventDisplaySeq - b.MAEventDisplaySeq });\r\n\r\n for (let entry of this.majorAdverseEventList) {\r\n let newItem = new DropdownItemModel;\r\n newItem.id = entry.MAEventCode;\r\n newItem.code = entry.MAEventCode.toString();\r\n newItem.name = entry.MAEventTextToShow;\r\n newItem.description = entry.MAEventInfoText;\r\n this.dropDownMajorAdverseEvent.push(newItem);\r\n } \r\n }\n}\n","import { Injectable } from '@angular/core';\r\nimport { Http, Response, Headers, RequestOptions } from '@angular/http';\r\nimport { Observable, pipe } from 'rxjs';\r\nimport { map, takeUntil, tap } from 'rxjs/operators';\r\nimport { OtherAdverseEventResponse } from '../../shared/other-adverse-event-response';\r\nimport { OtherAdverseEventModel } from '../../shared/other-adverse-event-model';\r\nimport { DropdownItemModel } from '../../shared/dropdown-item-model';\r\nimport { CONFIG } from '../../shared/config';\r\n\r\nlet apiUrl = CONFIG.baseUrls.api;\r\n@Injectable()\r\nexport class OtherAdverseEventService {\r\n private http: Http = null;\r\n\r\n public otherAdverseEventList: OtherAdverseEventModel[];\r\n public dropDownOtherAdverseEvent: DropdownItemModel[];\r\n\r\n constructor(_http: Http) {\r\n this.http = _http;\r\n }\r\n\r\n getOtherAdverseEvent() {\r\n let headers = new Headers({\r\n //'Content-Type': 'application/x-www-form-urlencoded'\r\n });\r\n let options = new RequestOptions({ headers: headers });\r\n return this.http.get(apiUrl + \"picklist/getotheradverseevents\", options)\r\n .pipe(map((response: Response) => response.json()));\r\n }\r\n\r\n mapToDropDown() {\r\n let ids = [];\r\n this.dropDownOtherAdverseEvent = [];\r\n\r\n for (let entry of this.otherAdverseEventList) {\r\n if (ids.indexOf(entry.AEParentId) > -1) {\r\n ids.push(entry.AElementId);\r\n\r\n let newChildItem = new DropdownItemModel;\r\n newChildItem.id = entry.AElementId;\r\n newChildItem.name = entry.AElementTextToShow;\r\n newChildItem.code = entry.AElementCode;\r\n newChildItem.children = [];\r\n\r\n let parentItem = this.dropDownOtherAdverseEvent.find(x => x.id === entry.AEParentId);\r\n if (parentItem != null) {\r\n if (parentItem.children == null) {\r\n parentItem.children = [];\r\n }\r\n parentItem.children.push(newChildItem);\r\n } else {\r\n let found = false;\r\n while (found === false) {\r\n for (let item of this.dropDownOtherAdverseEvent) {\r\n let childParentItem = item.children.find(x => x.id === entry.AEParentId);\r\n if (childParentItem != null) {\r\n if (childParentItem.children == null) {\r\n childParentItem.children = [];\r\n }\r\n childParentItem.children.push(newChildItem);\r\n found = true;\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n } else {\r\n ids.push(entry.AEParentId);\r\n ids.push(entry.AElementId);\r\n\r\n let newParentItem = new DropdownItemModel;\r\n newParentItem.id = entry.AEParentId;\r\n newParentItem.name = entry.AEParentTextToShow;\r\n newParentItem.children = [];\r\n\r\n let newChildItem = new DropdownItemModel;\r\n newChildItem.id = entry.AElementId;\r\n newChildItem.name = entry.AElementTextToShow;\r\n newChildItem.code = entry.AElementCode;\r\n newChildItem.children = [];\r\n\r\n newParentItem.children.push(newChildItem);\r\n this.dropDownOtherAdverseEvent.push(newParentItem);\r\n }\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\nimport { Http, Response, Headers, RequestOptions } from '@angular/http';\nimport { Observable, pipe } from 'rxjs';\nimport { map, takeUntil, tap } from 'rxjs/operators';\nimport { PicklistItemResponse } from '../../shared/picklist-item-response';\nimport { PicklistItemModel } from '../../shared/picklist-item-model';\nimport { PicklistLookupModel } from '../../shared/picklist-lookup-model';\nimport { DropdownItemModel } from '../../shared/dropdown-item-model';\nimport { CONFIG } from '../../shared/config';\n\nlet apiUrl = CONFIG.baseUrls.api;\n@Injectable()\nexport class PicklistItemService {\n private http: Http = null;\n\n public picklistItemModel: PicklistItemModel[];\n public dropDownPicklistItem: DropdownItemModel[];\n\n constructor(_http: Http) {\n this.http = _http;\n }\n\n getPicklistItem(hospitalId: string, picklistName: string) {\n let lookup = new PicklistLookupModel;\n lookup.HospitalId = hospitalId;\n lookup.PicklistName = picklistName;\n\n //{ \"HospitalId\":\"1\", \"PickListName\":\"Airway Management\" }\r\n //{ \"HospitalId\":\"1\", \"PickListName\":\"ALL\" }\r\n //{ \"HospitalId\":\"1\", \"PickListName\":\"OPERATORS\" }\n\n let headers = new Headers({\n //'Content-Type': 'application/x-www-form-urlencoded'\n });\n let options = new RequestOptions({ headers: headers });\n return this.http.post(apiUrl + \"picklist/getpicklistinfo\", lookup, options)\n .pipe(map((response: Response) => response.json()));\r\n }\n\n \n\n mapToDropDown() {\n this.dropDownPicklistItem = [];\r\n\r\n this.picklistItemModel.sort(function (a, b) { return (a.DisplayOrder - b.DisplayOrder) });\r\n\r\n for (let entry of this.picklistItemModel) {\r\n let newItem = new DropdownItemModel;\r\n newItem.name = entry.ChoiceText;\r\n newItem.description = entry.PicklistName;\r\n newItem.code = entry.ChoiceCode; \r\n this.dropDownPicklistItem.push(newItem);\r\n }\n }\n}\n","import { Injectable } from '@angular/core';\r\nimport { Http, Response, Headers, RequestOptions } from '@angular/http';\r\nimport { Observable, pipe } from 'rxjs';\r\nimport { map, takeUntil, tap } from 'rxjs/operators';\r\nimport { ProcedurePicklistResponse } from '../../shared/procedure-picklist-response';\r\nimport { ProcedurePicklistModel } from '../../shared/procedure-picklist-model';\r\nimport { DropdownItemModel } from '../../shared/dropdown-item-model';\r\nimport { CONFIG } from '../../shared/config';\r\n\r\nlet apiUrl = CONFIG.baseUrls.api;\r\n@Injectable()\r\nexport class ProcedurePicklistService {\r\n private http: Http = null;\r\n\r\n public procedureList: ProcedurePicklistModel[];\r\n public dropDownProcedureList: DropdownItemModel[];\r\n\r\n constructor(_http: Http) {\r\n this.http = _http;\r\n }\r\n\r\n getProcedurePicklist() {\r\n let headers = new Headers({\r\n //'Content-Type': 'application/x-www-form-urlencoded'\r\n });\r\n let options = new RequestOptions({ headers: headers });\r\n return this.http.get(apiUrl + \"picklist/getprocedureslist\", options)\r\n .pipe(map((response: Response) => response.json())); \r\n }\r\n\r\n mapToDropDown() {\r\n let ids = [];\r\n this.dropDownProcedureList = [];\r\n\r\n for (let entry of this.procedureList) {\r\n let needsDetails = entry.ProcedureNeedsDetails === \"1\";\r\n\r\n if (ids.indexOf(entry.ParentProcedureId) > -1) {\r\n ids.push(entry.ProcedureId);\r\n\r\n let newChildItem = new DropdownItemModel;\r\n newChildItem.id = entry.ProcedureId;\r\n newChildItem.name = entry.ProcedureTextToShow;\r\n newChildItem.code = entry.ProcedureCode;\r\n newChildItem.needsDetails = needsDetails;\r\n newChildItem.children = [];\r\n\r\n let parentItem = this.dropDownProcedureList.find(x => x.id === entry.ParentProcedureId);\r\n if (parentItem != null) {\r\n if (parentItem.children == null) {\r\n parentItem.children = [];\r\n }\r\n\r\n if (needsDetails) {\r\n parentItem.name = parentItem.name + \" [add details]\";\r\n parentItem.needsDetails = needsDetails;\r\n parentItem.children = [];\r\n } else {\r\n parentItem.children.push(newChildItem);\r\n }\r\n } else {\r\n let found = false;\r\n while (found === false) {\r\n for (let item of this.dropDownProcedureList) {\r\n let childParentItem = item.children.find(x => x.id === entry.ParentProcedureId);\r\n if (childParentItem != null) {\r\n if (childParentItem.children == null) {\r\n childParentItem.children = [];\r\n }\r\n\r\n if (needsDetails) {\r\n childParentItem.name = childParentItem.name + \" [add details]\";\r\n childParentItem.needsDetails = needsDetails;\r\n childParentItem.children = [];\r\n } else {\r\n childParentItem.children.push(newChildItem);\r\n }\r\n \r\n found = true;\r\n break;\r\n }\r\n }\r\n } \r\n } \r\n } else {\r\n ids.push(entry.ParentProcedureId);\r\n ids.push(entry.ProcedureId);\r\n\r\n if (needsDetails) {\r\n let newItem = new DropdownItemModel;\r\n newItem.id = entry.ParentProcedureId;\r\n newItem.name = entry.ParentProcedureTextToShow + \" [add details]\";\r\n newItem.code = entry.ProcedureCode;\r\n newItem.needsDetails = needsDetails;\r\n newItem.children = [];\r\n\r\n this.dropDownProcedureList.push(newItem);\r\n } else {\r\n let newParentItem = new DropdownItemModel;\r\n newParentItem.id = entry.ParentProcedureId;\r\n newParentItem.name = entry.ParentProcedureTextToShow;\r\n newParentItem.children = [];\r\n\r\n let newChildItem = new DropdownItemModel;\r\n newChildItem.id = entry.ProcedureId;\r\n newChildItem.name = entry.ProcedureTextToShow;\r\n newChildItem.code = entry.ProcedureCode;\r\n newChildItem.needsDetails = needsDetails;\r\n newChildItem.children = [];\r\n\r\n newParentItem.children.push(newChildItem);\r\n this.dropDownProcedureList.push(newParentItem);\r\n } \r\n }\r\n }\r\n\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Http, Response, Headers, RequestOptions } from '@angular/http';\r\nimport { Observable, pipe } from 'rxjs';\r\nimport { map, takeUntil, tap } from 'rxjs/operators';\r\nimport { StsDiagnosisResponse } from '../../shared/sts-diagnosis-response';\r\nimport { StsDiagnosisModel } from '../../shared/sts-diagnosis-model';\r\nimport { DropdownItemModel } from '../../shared/dropdown-item-model';\r\nimport { CONFIG } from '../../shared/config';\r\n\r\nlet apiUrl = CONFIG.baseUrls.api;\r\n@Injectable()\r\nexport class StsDiagnosisService {\r\n private http: Http = null;\r\n\r\n public stsTreedata = [];\r\n public treeModel:any\r\n public stsDiagnosisList: StsDiagnosisModel[];\r\n public dropDownStsDiagnosis: DropdownItemModel[];\r\n\r\n constructor(_http: Http) {\r\n this.http = _http;\r\n }\r\n\r\n getStsDiagnosis() {\r\n let headers = new Headers({\r\n //'Content-Type': 'application/x-www-form-urlencoded'\r\n });\r\n let options = new RequestOptions({ headers: headers });\r\n return this.http.get(apiUrl + \"picklist/getstsdiagnosislist\", options)\r\n .pipe(map((response: Response) => response.json()));\r\n }\r\n\r\n mapToDropDown() {\r\n let ids = [];\r\n this.dropDownStsDiagnosis = [];\r\n\r\n for (let entry of this.stsDiagnosisList) {\r\n if (ids.indexOf(entry.StsDiagParentId) > -1) {\r\n ids.push(entry.StsDiagId);\r\n\r\n let newChildItem = new DropdownItemModel;\r\n newChildItem.id = entry.StsDiagId;\r\n newChildItem.name = entry.StsDiagTextToShow;\r\n newChildItem.code = entry.StsDiagCode;\r\n newChildItem.children = [];\r\n\r\n let parentItem = this.dropDownStsDiagnosis.find(x => x.id === entry.StsDiagParentId);\r\n if (parentItem != null) {\r\n if (parentItem.children == null) {\r\n parentItem.children = [];\r\n }\r\n parentItem.children.push(newChildItem);\r\n } else {\r\n let found = false;\r\n while (found === false) {\r\n for (let item of this.dropDownStsDiagnosis) {\r\n let childParentItem = item.children.find(x => x.id === entry.StsDiagParentId);\r\n if (childParentItem != null) {\r\n if (childParentItem.children == null) {\r\n childParentItem.children = [];\r\n }\r\n childParentItem.children.push(newChildItem);\r\n found = true;\r\n break;\r\n }\r\n }\r\n }\r\n } \r\n } else {\r\n ids.push(entry.StsDiagParentId);\r\n ids.push(entry.StsDiagId);\r\n\r\n let newParentItem = new DropdownItemModel;\r\n newParentItem.id = entry.StsDiagParentId;\r\n newParentItem.name = entry.StsDiagParentTextToShow;\r\n newParentItem.children = [];\r\n\r\n let newChildItem = new DropdownItemModel;\r\n newChildItem.id = entry.StsDiagId;\r\n newChildItem.name = entry.StsDiagTextToShow;\r\n newChildItem.code = entry.StsDiagCode;\r\n newChildItem.children = [];\r\n\r\n newParentItem.children.push(newChildItem);\r\n this.dropDownStsDiagnosis.push(newParentItem);\r\n }\r\n }\r\n }\r\n}\r\n","module.exports = \"
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n PARTICIPATING SITES\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n C3PO-R3\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n IQIC\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
  IQIC Cath Sites      IQIC Sites  
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n\"","module.exports = \"@import url(\\\"https://fonts.googleapis.com/css?family=Montserrat:400,500,600\\\");@import url(\\\"https://use.fontawesome.com/releases/v5.0.13/css/all.css\\\");.max-height{height:100% !important}.max-width{width:100% !important}.masonry{padding:0;-moz-column-gap:1.5em;-webkit-column-gap:1.5em;column-gap:1.5em;font-size:0.85em}.masonry .item{display:inline-block;background:#fff;padding:1em;margin:0 0 1.5em;width:100%;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;border:1px solid #ddd;border-radius:3px;overflow:hidden;text-align:center;-ms-box-shadow:0px 0px 20px -7px rgba(0,0,0,0.8);box-shadow:0px 0px 20px -7px;transition:0.3s all}.masonry .item img{width:100%;transition:0.3s all}.masonry .item:hover{border-top:3px solid #e0a800}.masonry .item:hover img{width:105%}@media (min-width: 400px){.masonry{-moz-column-count:2;-webkit-column-count:2;column-count:2}}@media (min-width: 700px){.masonry{-moz-column-count:3;-webkit-column-count:3;column-count:3}}@media (min-width: 900px){.masonry{-moz-column-count:4;-webkit-column-count:4;column-count:4}}a.learnMore{color:red}a.learnMore h2:hover{background-color:yellow}\\n\"","import { Component, OnInit, ViewEncapsulation, AfterViewInit, ViewChild } from '@angular/core';\r\nimport { RouterService } from '../navigation/router.service';\nimport { MatTabGroup, MatTabChangeEvent, MatTab } from '@angular/material';\r\nimport { MatTabsModule } from '@angular/material/tabs';\nimport { NgForm } from \"@angular/forms\";\r\n\n\n@Component({\n selector: 'app-sites',\n templateUrl: './sites.component.html',\n styleUrls: ['./sites.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class SitesComponent implements OnInit, AfterViewInit {\n @ViewChild('tabGroup') tabGroup;\n @ViewChild('sitesform')\r\n form: NgForm; \n url: string = '';\n defaultTab: number = 0;\n //isActiveC3PO: boolean = false;\n //isActiveIQIC: boolean = false;\n\n constructor(private routerService: RouterService) {\n \n }\n\n ngOnInit() { \n \n var isIQIC = this.routerService.showIQIC();\n \n if (isIQIC) {\n this.defaultTab = 1; \r\n\r\n }\n\n\n }\n\n ngAfterViewInit() {\r\n //console.log(this.tabGroup.selectedIndex);\r\n //This is an attempt to get the select tab to be highlighted\r\n //You can set the default tab by using the selected Index in the HTML but\r\n //it seems to only become actively styled when it is clicked.\r\n //this.tabGroup._tabs._results[1].isActive = true;\r\n //this.tabGroup.selectedTabChange.emit(MatTabChangeEvent);\r\n }\n\n\n tabChanged = (tabChangeEvent: MatTabChangeEvent): void => {\r\n //var tab = tabChangeEvent.tab;\r\n //var index = tabChangeEvent.index;\r\n }\n\n animationDone() {\r\n \r\n}\n\n}\n","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\n\"","module.exports = \"@import url(\\\"https://fonts.googleapis.com/css?family=Montserrat:400,500,600\\\");@import url(\\\"https://use.fontawesome.com/releases/v5.0.13/css/all.css\\\");.max-height{height:100% !important}.max-width{width:100% !important}.contain-width{width:calc(100vw - 265px)}.contain-width .title-contain{padding-right:5vw;padding-left:5vw;padding-top:2vw}@media (max-width: 776px){.contain-width .title-contain{display:none}}.contain-width .title-contain .sect-header{color:#007496;font-weight:400;margin-bottom:0}\\n\"","import { Component, OnInit, OnDestroy, ViewChild } from \"@angular/core\";\r\nimport { fadeAnimation } from \"../../../animations/fade.animation\";\r\nimport {\r\n Router,\r\n ActivatedRoute,\r\n NavigationEnd,\r\n RouterEvent\r\n} from \"@angular/router\";\r\n\r\nimport { filter, map, mergeMap } from \"rxjs/operators\";\r\nimport { Observable } from \"rxjs\";\r\nimport { RouterHelper } from \"../../../router-helper\";\r\nimport { CaseFieldsService } from \"./case-fields.service\";\r\nimport { LoginService } from \"../login.service\";\r\nimport { CaseService } from \"./case.service\";\n\r\nimport { NgForm } from \"@angular/forms\";\r\n\r\n@Component({\r\n selector: \"app-add-case\", \r\n templateUrl: \"./add-case.component.html\",\r\n styleUrls: [\"./add-case.component.scss\"],\r\n animations: [fadeAnimation]\r\n})\r\nexport class AddCaseComponent implements OnInit, OnDestroy {\r\n @ViewChild('addform')\r\n form: NgForm;\r\n nextRoute;\r\n prevRoute;\r\n fields;\r\n routerHelper: RouterHelper;\r\n user: LoginService;\r\n caseService: CaseService;\r\n constructor(private router: Router, private activatedRoute: ActivatedRoute, fields: CaseFieldsService, _user: LoginService, _caseService: CaseService,) {\r\n \r\n this.user = _user;\r\n this.caseService = _caseService;\r\n this.routerHelper = new RouterHelper(router, activatedRoute);\r\n this.routerHelper\r\n .getRouteData(this.router.events)\r\n .pipe(\r\n map(data => {\r\n if (data[\"next\"]) {\r\n //if (data[\"next\"].indexOf(\"efficacy\") >= 0)\r\n //{\r\n // if (this.user.IsIqicUser()) { return data[\"next\"]; }\r\n // else\r\n // {\r\n // return \"//user-portal//add-case//adverse-events\";\r\n // }\r\n //}\r\n //else\r\n //{\r\n return data[\"next\"];\r\n //}\r\n \r\n }\r\n })\r\n )\r\n .subscribe(pathString => {\r\n this.nextRoute = pathString;\r\n });\r\n this.routerHelper\r\n .getRouteData(this.router.events)\r\n .pipe(\r\n map(data => {\r\n //if (data[\"prev\"].indexOf(\"efficacy\") >= 0) {\r\n // if (this.user.IsIqicUser()) { return data[\"prev\"]; }\r\n // else {\r\n // return \"//user-portal//add-case//case-types\";\r\n // }\r\n //}\r\n //else {\r\n return data[\"prev\"];\r\n //}\r\n })\r\n )\r\n .subscribe(pathString => {\r\n this.prevRoute = pathString;\r\n });\r\n this.fields = fields;\r\n this.fields.anticipatedCase = false;\r\n }\r\n\r\n ngOnInit() {\r\n let caseId = this.fields.getField(\"Case Identification\", 'Case Number').value;\r\n if (caseId != null) {\r\n this.fields.type = \"add\";\r\n this.fields.resetFields(); \r\n }\r\n this.fields.setValue(\"Case Identification\", \"Case Number\", 0);\r\n this.fields.caseLoaded = true;\r\n this.fields.checked6Hours = false;\r\n this.fields.checked24Hours = false;\r\n this.fields.checked48Hours = false;\r\n this.fields.caseCreated = false;\r\n }\r\n\r\n ngOnDestroy() {\r\n this.fields.resetFields();\r\n }\r\n\r\n saveCase() {\r\n this.caseService.route = \"addcase\"\r\n \r\n }\r\n}\r\n","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n ADVERSE EVENTS\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n   \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
ADVERSE EVENTS
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n   \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n   \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n   \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
SELECTED EVENTS
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
    \\r\\n
  • \\r\\n SELECTED ADVERSE EVENTS\\r\\n
  • \\r\\n
\\r\\n
    \\r\\n
  • \\r\\n
    \\r\\n {{ name }}   {{getTimeneeded(name)}} \\r\\n
    \\r\\n {{ getSeriousness(name) }}{{getTier(name)}}\\r\\n
       \\r\\n \\r\\n \\r\\n    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","module.exports = \"#adverse-events .recorded-procedures{height:150px;overflow:auto}#adverse-events .recorded-procedures .entries{height:auto}#adverse-events #procedure-tree{min-height:300px}#tier{border-top-width:0.5;padding-top:4px;padding-bottom:12px}\\n\"","import { Component, OnInit, ViewChild, ElementRef ,HostListener} from \"@angular/core\";\r\nimport { DropdownData } from \"../../../shared-data-entry/dropdown-data\";\r\nimport { InfoModalServiceService } from \"../../../modal/info-modal/info-modal-service.service\";\r\nimport { MajorAdverseEventService } from \"../../../shared-data-entry/major-adverse-event.service\";\r\nimport { MajorAdverseEventResponse } from \"../../../../shared/major-adverse-event-response\";\r\nimport { MajorAdverseEventModel } from \"../../../../shared/major-adverse-event-model\";\r\nimport { OtherAdverseEventService } from \"../../../shared-data-entry/other-adverse-event.service\";\r\nimport { OtherAdverseEventResponse } from \"../../../../shared/other-adverse-event-response\";\r\nimport { OtherAdverseEventModel } from \"../../../../shared/other-adverse-event-model\";\r\nimport { DropdownItemModel } from \"../../../../shared/dropdown-item-model\";\r\nimport { CaseTypeTreeModel } from \"../../../shared-data-entry/case-types-entry/case-type-tree-model\";\r\nimport { CaseFieldsService } from \"../case-fields.service\";\r\nimport { NgForm, FormGroup } from \"@angular/forms\";\r\nimport { ComponentCanDeactivate } from '../../../../CanDeactivateGaurd';\r\nimport { Observable } from 'rxjs';\r\nimport { filter, map, mergeMap, tap } from \"rxjs/operators\";\r\nimport { Router, ActivatedRoute, ParamMap, NavigationEnd, NavigationStart, RouterEvent } from \"@angular/router\";\r\n\r\n@Component({\r\n selector: \"app-adverse-events\",\r\n templateUrl: \"./adverse-events.component.html\",\r\n styleUrls: [\"./adverse-events.component.scss\"],\r\n host: { class: \"host\" }\r\n})\r\nexport class AdverseEventsComponent implements OnInit, ComponentCanDeactivate{\r\n @ViewChild(\"seriousness\") seriousness: ElementRef;\r\n @ViewChild('form') form: NgForm;\r\n\r\n events = [];\r\n name = \"Adverse Events\";\r\n selectedMajorAdverseEvent = [];\r\n\r\n toAdd: any = {};\r\n // recordedEvents = {};\r\n // recordedArray = [];\r\n showEvents: boolean = false;\r\n\r\n options = {\r\n animateExpand: true,\r\n animateAcceleration: 1.2,\r\n scrollOnActivate: true,\r\n animateSpeed: 10\r\n };\r\n dropdownData: DropdownData;\r\n\r\n public info: InfoModalServiceService;\r\n public majorAdverseEventService: MajorAdverseEventService;\r\n public otherAdverseEventService: OtherAdverseEventService;\r\n public fields: CaseFieldsService;\r\n constructor(private router: Router,\r\n info: InfoModalServiceService,\r\n _majorAdverseEventService: MajorAdverseEventService,\r\n _otherAdverseEventService: OtherAdverseEventService,\r\n fields: CaseFieldsService\r\n ) {\r\n router.events\r\n .pipe(filter(e => e instanceof NavigationStart))\r\n .subscribe((e: NavigationStart) => {\r\n localStorage.setItem('editcase', e.url);\r\n });\r\n this.info = info;\r\n this.majorAdverseEventService = _majorAdverseEventService;\r\n this.otherAdverseEventService = _otherAdverseEventService;\r\n\r\n this.fields = fields;\r\n\r\n this.majorAdverseEventService\r\n .getMajorAdverseEvent()\r\n .subscribe(data => this.populateMajorEvents(data));\r\n\r\n this.otherAdverseEventService\r\n .getOtherAdverseEvent()\r\n .subscribe(data => this.populateOtherEvents(data));\r\n }\r\n\r\n ngOnInit() {\r\n \r\n let hasEvents = this.fields.getField(this.name, \"Recorded Events\").value != null;\r\n localStorage.setItem('adverseevents', JSON.stringify(this.fields.getField(this.name, \"Recorded Events\").value))\r\n\r\n this.fields.getParent(this.name)[\"hide\"] = !hasEvents;\r\n this.fields.currentSeriousness = null;\r\n this.fields.currentSeriousnessDisplay = \"\";\r\n this.toAdd = {};\r\n this.showEvents = hasEvents;\r\n }\r\n\r\n @HostListener('window:beforeunload')\r\n canDeactivate(): Observable | boolean {\r\n \r\n if (this.form.dirty)\r\n localStorage.setItem('dirty', 'true');\r\n\r\n if (localStorage.getItem('adverseevents') != null && localStorage.getItem('adverseevents') != JSON.stringify(this.fields.getField('Adverse Events', 'Recorded Events').value))\r\n localStorage.setItem('dirty', 'true');\r\n\r\n\r\n return !this.form.dirty;\r\n }\r\n\r\n populateMajorEvents(majorAEResponse: MajorAdverseEventResponse) {\r\n this.majorAdverseEventService.majorAdverseEventList =\r\n majorAEResponse.DataObject;\r\n this.majorAdverseEventService.mapToDropDown();\r\n\r\n this.dropdownData = new DropdownData(\r\n this.selectedMajorAdverseEvent,\r\n this.majorAdverseEventService.dropDownMajorAdverseEvent\r\n );\r\n }\r\n\r\n populateOtherEvents(otherAEResponse: OtherAdverseEventResponse) {\r\n this.otherAdverseEventService.otherAdverseEventList =\r\n otherAEResponse.DataObject;\r\n this.otherAdverseEventService.mapToDropDown();\r\n\r\n this.events = this.otherAdverseEventService.dropDownOtherAdverseEvent;\r\n }\r\n\r\n getKeyString(node, tree) {\r\n return CaseTypeTreeModel.getKeyString(node, tree);\r\n }\r\n\r\n //places the event in selected adverse events\r\n onSave($event) {\r\n if (!this.getEvents()) {\r\n this.setEvents({});\r\n }\r\n if (\r\n this.toAdd.id !== null &&\r\n this.toAdd.id > 0 &&\r\n this.checkExists(this.fields.currentSeriousness)\r\n ) {\r\n this.addItem(this.toAdd.name, {\r\n name: this.toAdd.name,\r\n id: this.toAdd.id,\r\n code: this.toAdd.code,\r\n major: this.toAdd.major,\r\n seriousness: this.fields.currentSeriousness,\r\n timeneeded: this.toAdd.timeneeded,\r\n aetier: this.toAdd.aetier\r\n });\r\n }\r\n if (this.toAdd !== {}) {\r\n this.onClear($event);\r\n }\r\n }\r\n\r\n //places the selected event in the edit fields\r\n onSelect(event, tree) {\r\n if (event.node.isLeaf) {\r\n this.toAdd = {\r\n name: CaseTypeTreeModel.getKeyString(event.node, tree),\r\n id: event.node.data.id,\r\n code: event.node.data.code,\r\n major: \"0\",\r\n seriousness: \"\",\r\n aetier: null\r\n };\r\n this.fields.currentSeriousness = null;\r\n this.setCurrentSeriousnessDisplay();\r\n }\r\n\r\n event.node.toggleExpanded();\r\n }\r\n\r\n //clears the selection in the major adverse events dropdown\r\n setMajor(event) {\r\n this.toAdd = {\r\n name: event.name,\r\n id: event.id,\r\n code: event.code,\r\n major: \"1\",\r\n seriousness: \"\"\r\n };\r\n this.fields.currentSeriousness = null;\r\n this.setCurrentSeriousnessDisplay();\r\n this.selectedMajorAdverseEvent = [];\r\n }\r\n\r\n //clears the editable event fields\r\n onClear(event) {\r\n this.toAdd = {};\r\n\r\n this.fields.currentSeriousness = null;\r\n this.setCurrentSeriousnessDisplay();\r\n }\r\n\r\n //deletes a selected procedure\r\n deleteProcedure(event, name) {\r\n let savedEvents = this.getEvents();\r\n delete savedEvents[name];\r\n let arr = Object.getOwnPropertyNames(savedEvents);\r\n\r\n if (arr.length == 0) {\r\n savedEvents = null;\r\n }\r\n }\r\n\r\n toggleShowEvents(val) {\r\n this.showEvents = val;\r\n this.fields.getParent(this.name)['hide'] = !val;\r\n\r\n //Adverse Events did not occur, remove selected adverse events and event description\r\n if (!val) {\r\n this.fields.getField(this.name, 'Description').value = null;\r\n this.fields.getField(this.name, 'Recorded Events').value = null;\r\n // this.fields.getParent(this.name)[\"hide\"] = true;\r\n }\r\n }\r\n\r\n toggleCheckbox(select, val) {\r\n this.fields.getField(this.name, val).value = select;\r\n }\r\n\r\n getDropdown(val) {\r\n return this.fields.getField(this.name, val).value;\r\n }\r\n\r\n //returns the seriousness value of a particular event\r\n getSeriousness(name) {\r\n let savedEvents = this.getEvents();\r\n if (savedEvents) {\r\n var seriousness = savedEvents[name][\"seriousness\"].substring(4,5);\r\n if (seriousness > 0 && seriousness < 6)\r\n return +savedEvents[name][\"seriousness\"].substring(4,5);\r\n }\r\n }\r\n\r\n getTier(name) {\r\n let savedEvents = this.getEvents();\r\n if (savedEvents) {\r\n var seriousness = savedEvents[name][\"seriousness\"].substring(4, 5);\r\n var tier = savedEvents[name][\"aetier\"];\r\n if (savedEvents[name][\"aetier\"] !== null && savedEvents[name][\"aetier\"] !== \"\") {\r\n if (seriousness == 3) {\r\n return tier == 1 ? 'a' : tier == 2 ? 'b' : tier == 3 ? 'c' : '';\r\n }\r\n }\r\n else {\r\n return \"\";\r\n }\r\n }\r\n }\r\n\r\n\r\n getTimeneeded(name) {\r\n let savedEvents = this.getEvents();\r\n if (savedEvents) {\r\n if (savedEvents[name][\"timeneeded\"] !== null && savedEvents[name][\"timeneeded\"] !==\"\") {\r\n return \"(\"+savedEvents[name][\"timeneeded\"]+\" min)\";\r\n }\r\n else {\r\n return \"\";\r\n }\r\n }\r\n }\r\n\r\n //places a selected event in the editable fields\r\n editProcedure($event, name) {\r\n this.toAdd = this.getEvents()[name];\r\n this.fields.currentSeriousness = this.getEvents()[name][\"seriousness\"];\r\n this.setCurrentSeriousnessDisplay();\r\n }\r\n\r\n checkAdd() {\r\n return !(\r\n this.checkExists(this.toAdd.name) && this.checkExists(this.fields.currentSeriousness)\r\n && this.checkTimeneededExists(this.toAdd.timeneeded) && this.checkTier(this.toAdd.aetier)\r\n );\r\n\r\n }\r\n\r\n checkExists(string) {\r\n return string && string !== \"\";\r\n }\r\n\r\n checkTimeneededExists(string) {\r\n if (string === 0) {\r\n return true;\r\n }\r\n return string && string !== \"\" && string > 0;\r\n }\r\n\r\n checkTier(string) {\r\n if (this.fields.currentSeriousness == 'AES03' && string==null) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n addItem(name, item) {\r\n\r\n this.fields.getField(this.name, \"Recorded Events\").value[name + \"\"] = item;\r\n \r\n let unordered = this.fields.getField(this.name, \"Recorded Events\").value;\r\n let ordered = {};\r\n Object.keys(unordered).sort().forEach(function (key) {\r\n ordered[key] = unordered[key];\r\n });\r\n this.fields.getField(this.name, \"Recorded Events\").value = ordered;\r\n\r\n //Set default value\r\n this.fields.getField(this.name, \"Seriousness\").value = \"AES01\";\r\n this.fields.getField(this.name, \"Time Needed\").value = 100;\r\n }\r\n\r\n getEvents() {\r\n return this.fields.getField(this.name, \"Recorded Events\").value;\r\n }\r\n\r\n setEvents(val) {\r\n this.fields.getField(this.name, \"Recorded Events\").value = val;\r\n }\r\n\r\n //gets the recorded procedures as an array\r\n getEventsArray() {\r\n var proc = this.getEvents();\r\n if (proc) {\r\n return Object.getOwnPropertyNames(this.getEvents());\r\n } else {\r\n return [];\r\n }\r\n }\r\n\r\n setCurrentSeriousnessDisplay() {\r\n this.fields.currentSeriousnessDisplay = \"\";\r\n\r\n switch (this.fields.currentSeriousness) {\r\n case \"AES01\": {\r\n this.fields.currentSeriousnessDisplay = \"1 - None\";\r\n break;\r\n }\r\n case \"AES02\": {\r\n this.fields.currentSeriousnessDisplay = \"2 - Minor\";\r\n break;\r\n }\r\n case \"AES03\": {\r\n this.fields.currentSeriousnessDisplay = \"3 - Moderate\";\r\n break;\r\n }\r\n case \"AES04\": {\r\n this.fields.currentSeriousnessDisplay = \"4 - Major\";\r\n break;\r\n }\r\n case \"AES05\": {\r\n this.fields.currentSeriousnessDisplay = \"5 - Catastrophic\";\r\n break;\r\n } \r\n }\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { LoginService } from \"../login.service\";\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class CaseFieldsService {\r\n public type = \"add\";\r\n validate = false;\r\n validateDate = false;\r\n goodToSubmit = false;\r\n currentSeriousness = null;\r\n currentSeriousnessDisplay = null;\r\n caseLoaded: boolean = false;\r\n completedCase: boolean = false;\r\n checked6Hours: boolean;\r\n checked24Hours: boolean;\n checked48Hours: boolean;\r\n anticipatedCase = false;\r\n caseCreated: boolean = false;\r\n user: LoginService;\r\n fields = []; \r\n\r\n //gets a particular field object based on its parent and name\r\n public getField(parent, name) {\r\n let parentFields: any = this.fields.find(x => x.name == parent)[\"fields\"];\r\n let field = parentFields.find(x => x[\"name\"] == name);\r\n\r\n return field;\r\n }\r\n\r\n //Get Expection Validation for Hospital\r\n\r\n getExpectionValidation() {\r\n //For CHOP Expection\r\n return this.user.user.Hospital == \"Children's Hospital of Philadelphia\";\r\n }\r\n\r\n //retrieves the value of a field\r\n getValue(parent, name) {\r\n return this.getField(parent, name)[\"value\"];\r\n }\r\n\r\n //gets a parent object\r\n getParent(parent) {\r\n return this.fields.find(x => x.name == parent);\r\n }\r\n\r\n //checks if a field has a value\r\n hasValue(parent, name) {\r\n if (this.validate) {\r\n if (parent == \"Case Types\" && name == \"Recorded Procedures\") {\r\n let v = this.getValue(parent, name);\r\n return (v === null) || (Object.keys(v).length === 0);\r\n } else {\r\n return (this.getValue(parent, name) === null);\r\n }\r\n } else if (this.validateDate && parent == \"Case Identification\" && name == \"Cath Date\") {\r\n return this.getValue(parent, name) === null;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n setValue(parent, name, val) {\r\n this.getField(parent, name).value = val;\r\n }\r\n\r\n //returns the ngStyle object required to indicate form errors\r\n classObject(parent, name) {\r\n if (this.hasValue(parent, name)) {\r\n return \"error\";\r\n }\r\n\r\n if (this.hasOutRangeValue(parent, name)) {\r\n this.categoryOutRangeTotalMessage(parent);\r\n return \"warning\";\r\n }\r\n\r\n return \"\";\r\n }\r\n\r\n //hides a particular field from missing field screen\r\n setHide(name, bool) {\r\n this.fields.find(x => x.name == name)[\"hide\"] = bool;\r\n }\r\n constructor(_user: LoginService) {\r\n this.user = _user;\r\n this.resetFields();\r\n }\r\n\r\n public resetFields() { \r\n this.validate = false;\r\n this.validateDate = false;\r\n this.caseLoaded = false;\r\n this.completedCase = false;\r\n let defaultFields = [\r\n {\r\n name: \"Case Identification\",\r\n link: \"/user-portal/\" + this.type + \"-case/case-id\",\r\n fields: [\r\n {\r\n name: \"Case Number\",\r\n value: null,\r\n hide: true\r\n },\r\n {\r\n name: \"Hospital\",\r\n value: null\r\n },\r\n {\r\n name: \"Cath Date\",\r\n value: null,\r\n },\r\n {\r\n name: \"Operator\",\r\n value: null\r\n },\r\n {\r\n name: \"Case Time\",\r\n value: null\r\n }\r\n ]\r\n },\r\n {\r\n name: \"Clinical Characteristics\",\r\n link: \"/user-portal/\" + this.type + \"-case/clinical-characteristics\",\r\n fields: [\r\n {\r\n name: \"Id\",\r\n value: 0,\r\n hide: true\r\n },\r\n {\r\n name: \"Age\",\r\n value: null\r\n },\r\n {\r\n name: \"Age Unit\",\r\n value: \"Days\",\r\n hide: true\r\n },\r\n {\r\n name: \"Sex\",\r\n value: null\r\n },\r\n {\r\n name: \"Weight\",\r\n value: null,\r\n min: 1,\r\n max: 200\r\n },\r\n {\r\n name: \"Height\",\r\n value: null,\r\n min: 1,\r\n max: 180\r\n },\r\n {\r\n name: \"BSA\",\r\n value: null\r\n },\r\n {\r\n name: \"PrimarySTS\",\r\n value: null,\r\n text: null\r\n },\r\n {\r\n name: \"SecondSTS\",\r\n value: null,\r\n text: null,\r\n hide: true\r\n },\r\n {\r\n name: \"ThirdSTS\",\r\n value: null,\r\n text: null,\r\n hide: true\r\n },\r\n {\r\n name: \"FourthSTS\",\r\n value: null,\r\n text: null,\r\n hide: true\r\n },\r\n {\r\n name: \"Date Last Cath\",\r\n value: 0,\r\n hide: true\r\n },\r\n {\r\n name: \"Date Last Cardiac Surgery\",\r\n value: 0,\r\n hide: true\r\n },\r\n {\r\n name: \"Genetic Syndrome\",\r\n value: 0,\r\n hide: true\r\n },\r\n {\r\n name: \"Non-cardiac Problems\",\r\n value: null,\r\n hide: true\r\n },\r\n ]\r\n },\r\n {\r\n name: \"Procedural Efficacy\",\r\n link: \"/user-portal/\" + this.type + \"-case/procedural-efficacy\",\r\n fields: [\r\n \r\n { name: \"Aortic Valvuloplasty\", value: null, hide: true },\r\n { name: \"AV Procedure indications\", value: null, hide: true },\r\n { name: \"Aortic regurgitation Pre-Procedure\", value: null, hide: true},\r\n { name: \"Aortic regurgitation Post-Procedure\", value: null, hide: true}, \r\n { name: \"Peak systolic AV gradient Pre-Procedure\", value: null, hide: true},\r\n { name: \"Peak systolic AV gradient Post-Procedure\", value: null, hide: true},\r\n { name: \"Pre Left Ventricle Dysfunction\", value: null, hide: true },\r\n { name: \"Post Left Ventricle Dysfunction\", value: null, hide: true },\r\n \r\n { name: \"Pulmonary Valvuloplasty\", value: null, hide: true },\r\n { name: \"PV Procedure indications\", value: null, hide: true },\r\n { name: \"Pulmonary regurgitation Pre-Procedure\", value:null , hide:true }, \r\n { name: \"Pulmonary regurgitation Post-Procedure\", value: null, hide: true },\r\n { name: \"Tricuspid valve regurgitation Pre-Procedure\", value: null, hide: true },\r\n { name: \"Tricuspid valve regurgitation Post-Procedure\", value: null, hide: true },\r\n { name: \"Pulmonary Valve Type\", value: null, hide: true },\r\n \r\n { name: \"Subvalvar Obstruction\", value: null, hide: true },\r\n { name: \"Any main pulmonary artery or right ventricular outflow tract tear\", value: null, hide: true },\r\n { name: \"Intervention performed\", value: null, hide: true },\r\n { name: \"Pre Pulmonary valve gradient\", value: null, hide: true },\r\n { name: \"Post Pulmonary valve gradient\", value: null, hide: true },\r\n\r\n { name: \"ASD Device Closure\", value: null, hide: true },\r\n { name: \"ASDDC Procedure Indications\", value: null, hide: true },\r\n { name: \"Residual shunt on echocardiogram\", value: null, hide: true },\r\n { name: \"ASD shunt Size\", value: null, hide: true },\r\n { name: \"New or Changed mitral valve insufficiency\", value: null, hide: true},\r\n\r\n { name: \"Coarctation Procedure\", value: null, hide: true },\r\n { name: \"CP Procedure Indications\", value: null, hide: true },\r\n { name: \"Any aneurysm post procedure\", value: null, hide: true },\r\n { name: \"stent migration\", value: null, hide: true },\r\n { name: \"Jailing of head/neck vessels\", value: null, hide: true },\r\n { name: \"Peak systolic gradient at coarctation Pre-Procedure\", value: null,hide:true },\r\n { name: \"Peak systolic gradient at coarctation Post-Procedure\", value: null,hide:true},\r\n\r\n\r\n { name: \"PDA Device Closure\",value: null,hide: true},\r\n { name: \"PDADC Procedure Indications\", value: null,hide:true },\r\n { name: \"PDA shunt Size\", value: null ,hide:true }, \r\n { name: \"PDA Reason for device removal\", value: null, hide: true },\r\n { name: \"PDA Reason for second device removal\", value: null, hide: true },\r\n { name: \"Device removed from body\", value: null, hide: true },\r\n { name: \"Was a second device placed?\", value: null, hide: true },\r\n { name: \"Was the second device removed?\", value: null, hide: true },\r\n { name: \"Hemolysis\", value: null, hide: true }, \r\n { name: \"Residual Shunt\", value: null, hide: true },\r\n { name: \"New left pulmonaryartery stenosis\",value: null, hide: true},\r\n { name: \"New aortic arch obstruction\", value: null, hide: true }\r\n \r\n ]\r\n },\r\n {\r\n name: \"Procedure Characteristics\",\r\n link: \"/user-portal/\" + this.type + \"-case/procedure-characteristics\",\r\n fields: [\r\n { name: \"Id\", value: 0, hide: true },\r\n { name: \"Total Fluoro Time\", value: null, min: 1, max: 99, hide: false},\r\n { name: \"Total DAP\", value: null, min: 1, max: 50000, hide: false},\r\n { name: \"Sheath-in Time\", value: null },\r\n { name: \"Sheath-out Time\", value: null },\r\n { name: \"Duration\", value: null, max: 480 },\r\n { name: \"Blood Transfusions\", value: false, hide: true },\r\n { name: \"AddlId\", value: 0, hide: true },\r\n { name: \"Type Fluoro Performed\", value: true, hide: true },\r\n { name: \"Total Contrast Volume\", value: null, hide: true },\r\n { name: \"Total Contrast Volume Per Kg\", value: null, hide: true },\r\n { name: \"Pre Cath Hemoglobin\", value: null, hide: true, min: 5, max: 20 }\r\n ]\r\n },\r\n {\r\n name: \"Hemodynamics\",\r\n link: \"/user-portal/\" + this.type + \"-case/hemodynamics\",\r\n fields: [\r\n {\r\n name: \"Id\",\r\n value: 0,\r\n hide: true\r\n },\r\n {\r\n name: \"Single Ventricle Physiology\",\r\n value: null, hide: false\r\n },\r\n {\r\n name: \"Physiologic Category\",\r\n value: null, hide: false\r\n },\r\n {\r\n name: \"SV EDP\",\r\n value: false, hide: true\r\n },\r\n {\r\n name: \"Sys Sat\",\r\n value: false, hide: true\r\n },\r\n {\r\n name: \"MV Sat\",\r\n value: false, hide: true\r\n },\r\n {\r\n name: \"PA\",\r\n value: false, hide: true\r\n },\r\n {\r\n name: \"Qp:Qs\",\r\n value: false, hide: true\r\n },\r\n {\r\n name: \"PVR\",\r\n value: false, hide: true\r\n },\r\n { name: \"AddlId\", value: 0, hide: true },\r\n { name: \"Considered for Shunt Closure\", value: false, hide: true },\r\n { name: \"Is Recommended for SC\", value: null, hide: true },\r\n { name: \"Acute Vasodilator Testing\", value: false, hide: true },\r\n { name: \"Congenital Heart Disease Diagnosis\", value: null, hide: true },\r\n { name: \"Name of Vasodilator Agent\", value: null, hide: true },\r\n { name: \"Baseline Pulmonary Vascular Resistance\", value: null, hide: true },\r\n { name: \"Baseline Systemic Vascular Resistance\", value: null, hide: true },\r\n { name: \"Baseline PVR:SVR Ratio\", value: null, hide: true },\r\n { name: \"Baseline Qp:Qs Ratio\", value: null, hide: true },\r\n { name: \"Baseline Cardiac Index\", value: null, hide: true },\r\n { name: \"Post-Testing Pulmonary Vascular Resistance\", value: null, hide: true },\r\n { name: \"Post-Testing Systemic Vascular Resistance\", value: null, hide: true },\r\n { name: \"Post-Testing PVR:SVR Ratio\", value: null, hide: true },\r\n { name: \"Post-Testing Qp:Qs Ratio\", value: null, hide: true },\r\n { name: \"Post-Testing Cardiac Index\", value: null, hide: true }\r\n ]\r\n },\r\n {\r\n name: \"Case Types\",\r\n link: \"/user-portal/\" + this.type + \"-case/case-types\",\r\n fields: [\r\n { name: \"Recorded Procedures\", value: null },\r\n { name: \"Anticipated Procedures\", value: null, hide: true },\r\n { name: \"Case Type\", value: null, hide: true },\r\n { name: \"Case Type Done\", value: null, hide: true },\r\n { name: \"Case Type QI Text\", value: null, hide: true }\r\n ]\r\n },\r\n {\r\n name: \"Pre-Case Calculation\",\r\n link: \"/user-portal/\" + this.type + \"-case/case-types\",\r\n hide: true,\r\n fields: [\r\n {\r\n name: \"Id\",\r\n value: 0,\r\n hide: true\r\n },\r\n { name: 'STS Diagnosis Category', value: null, hide: true },\r\n { name: \"Recorded Procedures\", value: null, hide: true },\r\n { name: \"Case Type\", value: null, hide: true },\r\n { name: \"Case Type Done\", value: null, hide: true }, \r\n {\r\n name: \"Single Ventricle Physiology\",\r\n value: null, hide: true\r\n },\r\n {\r\n name: \"Physiologic Category\",\r\n value: null, hide: true,\r\n },\r\n {\r\n name: \"SV EDP\",\r\n value: false, hide: true\r\n },\r\n {\r\n name: \"Sys Sat\",\r\n value: false, hide: true\r\n },\r\n {\r\n name: \"MV Sat\",\r\n value: false, hide: true\r\n },\r\n {\r\n name: \"PA\",\r\n value: false, hide: true\r\n },\r\n {\r\n name: \"Qp:Qs\",\r\n value: false, hide: true\r\n },\r\n {\r\n name: \"PVR\",\r\n value: false, hide: true\r\n }\r\n ]\r\n },\r\n {\r\n name: \"Adverse Events\",\r\n link: \"/user-portal/\" + this.type + \"-case/adverse-events\",\r\n hide: true,\r\n fields: [\r\n { name: \"Recorded Events\", value: null },\r\n { name: \"Patient Die\", value: false, hide: true},\r\n { name: \"Unanticipated Catheterization\", value: false, hide: true},\r\n { name: \"Unanticipated Surgery\", value: false, hide: true},\r\n { name: \"Description\", value: null },\r\n { name: \"Seriousness\", value: \"AES01\" },\r\n { name: \"Time Needed\", value: \"0\" }\r\n ]\r\n },\r\n {\r\n name: \"Indicators of Required Resources\",\r\n link: \"/user-portal/\" + this.type + \"-case/indicators\",\r\n fields: [\r\n { name: \"Airway Management Pre-Procedure\", value: \"AM01\", id: 0 },\r\n { name: \"Airway Management Procedural\", value: \"AM04\", id: 0, hide: true },\r\n { name: \"Airway Management Post-Procedure\", value: \"AM01\", id: 0, hide: true },\r\n { name: \"Airway Management 48 Hrs Post-Cath\", value: \"AM01\", id: 0, hide: true },\r\n { name: \"Ventilation Pre-Procedure\", value: \"VENT01\", id: 0, hide: true },\r\n { name: \"Ventilation Procedural\", value: \"VENT01\", id: 0, hide: true },\r\n { name: \"Ventilation Post-Procedure\", value: \"VENT01\", id: 0, hide: true },\r\n { name: \"Ventilation 48 Hrs Post-Cath\", value: \"VENT01\", id: 0, hide: true },\r\n { name: \"Sedation Pre-Procedure\", value: null, id: 0, hide: true },\r\n { name: \"Sedation Procedural\", value: \"SED05\", id: 0, hide: true },\r\n { name: \"Sedation Post-Procedure\", value: null, id: 0, hide: true },\r\n { name: \"Sedation 48 Hrs Post-Cath\", value: null, id: 0, hide: true },\r\n { name: \"Lines Pre-Procedure\", value: null, id: 0, hide: true },\r\n { name: \"Lines Procedural\", value: null, id: 0, hide: true },\r\n { name: \"Lines Post-Procedure\", value: null, id: 0, hide: true },\r\n { name: \"Lines 48 Hrs Post-Cath\", value: null, id: 0, hide: true },\r\n { name: \"Drains Pre-Procedure\", value: null, id: 0, hide: true },\r\n { name: \"Drains Procedural\", value: null, id: 0, hide: true },\r\n { name: \"Drains Post-Procedure\", value: null, id: 0, hide: true },\r\n { name: \"Drains 48 Hrs Post-Cath\", value: null, id: 0, hide: true },\r\n { name: \"Mechanical Support Pre-Procedure\", value: null, id: 0, hide: true },\r\n { name: \"Mechanical Support Procedural\", value: null, id: 0, hide: true },\r\n { name: \"Mechanical Support Post-Procedure\", value: null, id: 0, hide: true },\r\n { name: \"Mechanical Support 48 Hrs Post-Cath\", value: null, id: 0, hide: true },\r\n { name: \"IV Medications Pre-Procedure\", value: null, id: 0, hide: true },\r\n { name: \"IV Medications Procedural\", value: null, id: 0, hide: true },\r\n { name: \"IV Medications Post-Procedure\", value: null, id: 0, hide: true },\r\n { name: \"IV Medications 48 Hrs Post-Cath\", value: null, id: 0, hide: true },\r\n { name: \"Nursing Assignment 6 Hrs Pre-Procedure\", value: null, id: 0, hide: false },\r\n { name: \"Nursing Assignment Post-Procedure Before 6hrs\", value: null, id: 0, hide: true },\r\n { name: \"Nursing Assignment 18 to 24 Hrs Post-Cath\", value: null, id: 0, hide: false },\r\n { name: \"Nursing Assignment 48 Hrs Post-Cath\", value: null, id: 0, hide: false },\r\n { name: \"Checked6Hours Pre-Procedure\", value: false, id: 0, hide: true },\r\n { name: \"Checked24Hours Post-Procedure\", value: false, id: 0, hide: true },\r\n { name: \"Checked48Hours 48 Hrs Post-Cath\", value: false, id: 0, hide: true }\r\n ]\r\n },\r\n {\r\n name: \"EOC Admit/Disposition\",\r\n link: \"/user-portal/\" + this.type + \"-case/eoc\",\r\n fields: [\r\n { name: \"Id\", value: 0, hide: true },\r\n { name: \"Admission Source\", value: true, hide: true },\r\n { name: \"Admit Prior Cath\", value: false, hide: true },\r\n { name: \"Post-Cath Location\", value: null },\r\n { name: \"Discharge Post Cath\", value: false, hide: true },\r\n { name: \"Unplanned Admission\", value: false, hide: true },\r\n { name: \"Alive at Discharge\", value: false, hide: true }\r\n ]\r\n }\r\n ];\r\n\r\n this.fields = defaultFields;\r\n }\r\n\r\n public isComplete(): boolean {\r\n if (this.fields.length > 0) {\r\n for (let category of this.fields) {\r\n if (!category[\"hide\"]) {\r\n for (let field of category.fields) {\r\n //value cannot be null and field should be \r\n if (!field.value && !field[\"hide\"]) {\r\n return false;\r\n }\r\n if (field.name == \"Recorded Procedures\" && !field.hide) {\r\n if ((field.value === null) || (Object.keys(field.value).length === 0)) {\r\n return false;\r\n }\r\n }\r\n }\r\n } \r\n }\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n hasOutRangeValue(parent, name): boolean {\r\n let result = false;\r\n\r\n try {\r\n let f = this.getField(parent, name);\r\n if (f[\"value\"]) {\r\n let val = f[\"value\"];\r\n\r\n if (f[\"min\"]) {\r\n let min = +f[\"min\"];\r\n if (min > +val) {\r\n result = true;\r\n }\r\n }\r\n\r\n if (f[\"max\"]) {\r\n let max = +f[\"max\"];\r\n\r\n if (parent == \"Procedure Characteristics\" && name == \"Duration\") {\r\n let v = val.split(':');\r\n val = (+(v[0] * 60)) + (+v[1]);\r\n }\r\n\r\n if (max < +val) {\r\n result = true;\r\n }\r\n }\r\n }\r\n } catch (ex) {\r\n console.log(ex)\r\n }\r\n\r\n return result;\r\n }\r\n\r\n private outRangeMessage(parent, name): string {\r\n let result = \"\";\r\n\r\n if (this.hasOutRangeValue(parent, name)) {\r\n try {\r\n let f = this.getField(parent, name);\r\n let val = f[\"value\"];\r\n\r\n if (f[\"min\"]) {\r\n let min = +f[\"min\"];\r\n result = \"\" + name + \" value should be greater than \" + min;\r\n }\r\n\r\n if (f[\"max\"]) {\r\n let max = +f[\"max\"];\r\n if (parent == \"Procedure Characteristics\" && name == \"Duration\") {\r\n result = \"Case \" + name + \" value should be less than \" + (max / 60) + \" hours\";\r\n } else {\r\n result = result + \" and less than \" + max;\r\n }\r\n }\r\n } catch (ex) {\r\n console.log(ex)\r\n }\r\n } \r\n\r\n return result;\r\n }\r\n\r\n public categoryOutRangeTotalMessage(parent): string {\r\n let result = [];\r\n\r\n if (this.fields.length > 0) {\r\n for (let category of this.fields) {\r\n if (category[\"name\"] == parent) {\r\n for (let field of category.fields) {\r\n let m = this.outRangeMessage(parent, field[\"name\"]);\r\n if (m.length > 0) {\r\n result.push(m);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (result.length > 0) {\r\n result.unshift(\"Range Warning:\");\r\n }\r\n\r\n return result.join(\"
\");\r\n }\r\n}\r\n","module.exports = \"\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Cath Date is a required field to save\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n CASE IDENTIFICATION\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\"","module.exports = \".create-case{background-color:#ffc107;padding-top:6px;padding-bottom:6px;border-radius:5px}\\n\"","import { Component, OnInit, ViewChild, HostListener } from '@angular/core';\nimport { LoginService } from \"../../../user/login.service\";\nimport { PicklistItemService } from \"../../../shared-data-entry/picklist-item.service\";\nimport { PicklistItemResponse } from '../../../../shared/picklist-item-response';\nimport { PicklistItemModel } from '../../../../shared/picklist-item-model';\nimport { DropdownItemModel } from '../../../../shared/dropdown-item-model';\nimport { CaseFieldsService } from '../case-fields.service';\nimport { NgForm, FormGroup } from \"@angular/forms\";\r\nimport { ComponentCanDeactivate } from '../../../../CanDeactivateGaurd';\r\nimport { Observable } from 'rxjs';\r\nimport { filter, map, mergeMap, tap } from \"rxjs/operators\";\nimport { Router, ActivatedRoute, ParamMap, NavigationEnd, NavigationStart, RouterEvent } from \"@angular/router\";\nimport { CaseService } from \"../../add-case/case.service\";\n\n\ndeclare var jquery: any;\ndeclare var $: any;\n\n@Component({\n selector: 'app-case-id',\n templateUrl: './case-id.component.html',\n styleUrls: ['./case-id.component.scss'],\n host: { 'class': \"host\" }\n})\nexport class CaseIdComponent implements OnInit, ComponentCanDeactivate {\n @ViewChild('form') form: NgForm;\n operators = [];\n hospitalText = \"\";\n name = \"Case Identification\";\n showErrorMessage: boolean = false;\n public setDate: Date = new Date();\n\n public user: LoginService;\n public picklistItemService: PicklistItemService;\n public fields: CaseFieldsService;\n caseService: CaseService;\n constructor(private router: Router, _user: LoginService, _picklistItemService: PicklistItemService, fields: CaseFieldsService, _caseService: CaseService) {\n router.events\r\n .pipe(filter(e => e instanceof NavigationStart))\r\n .subscribe((e: NavigationStart) => {\r\n localStorage.setItem('editcase', e.url);\r\n });\n this.setDate.setMonth(this.setDate.getMonth() + 3);\n this.user = _user;\n this.caseService = _caseService;\n this.fields = fields;\n if (this.user.user) {\n this.hospitalText = this.user.user.Hospital;\n this.fields.setValue(this.name, \"Hospital\", this.user.user.HospitalId);\n }\n \n this.picklistItemService = _picklistItemService;\n this.picklistItemService.getPicklistItem(this.user.user.HospitalId.toString(), \"OPERATORS\").subscribe(data => this.populatePicklistItems(data));\n\n this.errorMessageCheck();\n }\n\n ngOnInit() {\n localStorage.removeItem('dirty');\n }\n\n @HostListener('window:beforeunload')\r\n canDeactivate(): Observable | boolean {\r\n if (this.form.dirty)\r\n localStorage.setItem('dirty', 'true');\r\n\r\n \r\n return !this.form.dirty;\r\n }\n\n populatePicklistItems(picklistItemResponse: PicklistItemResponse) {\n this.picklistItemService.picklistItemModel = picklistItemResponse.DataObject;\n this.picklistItemService.mapToDropDown();\n\n this.operators = this.picklistItemService.dropDownPicklistItem;\n }\n\n errorMessageCheck() {\n let cathDate = this.fields.getField(this.name, 'Cath Date').value;\n let mill = Date.parse(cathDate);\r\n if (!(mill > 0)) {\r\n this.fields.setValue(this.name, 'Cath Date', null);\n $(\"#cath-date\").val('');\n } else if (this.isfutureDate(cathDate)) {\n this.fields.setValue(this.name, 'Cath Date', this.setDate);\r\n }\n\n if (this.user.user) {\n this.hospitalText = this.user.user.Hospital;\n this.fields.setValue(this.name, \"Hospital\", this.user.user.HospitalId);\n }\n\n this.showErrorMessage =\r\n ((this.fields.validateDate)\r\n && (this.fields.getField(this.name, 'Cath Date').value == null\r\n || this.fields.getField(this.name, 'Cath Date').value == ''));\r\n }\n\n private isfutureDate(value: string) {\r\n let target = new Date(value);\r\n if (target.getFullYear() > this.setDate.getFullYear()) {\r\n return true;\r\n } else if (target.getFullYear() == this.setDate.getFullYear()) {\r\n if (target.getMonth() > this.setDate.getMonth()) {\r\n return true;\r\n } else if (target.getMonth() == this.setDate.getMonth()) {\r\n if (target.getDate() > this.setDate.getDate()) {\r\n return true;\r\n }\r\n }\r\n }\r\n\r\n return false;\r\n }\n saveCase() {\r\n if (this.fields.getField(this.name, 'Cath Date').value) {\r\n this.caseService.route = \"addCaseForCalculation\"\r\n this.fields.caseCreated = true;\r\n this.router.navigate(['/user-portal/add-case/save']);\r\n }\r\n }\n}\n","module.exports = \"
\\n
\\n
\\n
\\n \\n
\\n
\\n CASE TYPES\\n
\\n
\\n\\n
\\n
\\r\\n
\\r\\n
\\r\\n PERFORMED CASE TYPE\\r\\n
\\r\\n
\\r\\n \\r\\n {{ fields.getValue(name, \\\"Case Type QI Text\\\") }}\\r\\n
\\r\\n
\\r\\n
\\n \\n
\\n
\\n\\n
Does this case type match the pre-cath anticipated case?
\\n
\\n \\n   \\n \\n \\n
\\n\\n
\\n
\\n
\\r\\n
ANTICIPATED CASE TYPE
\\r\\n \\r\\n
\\n\\n
\\n\\n\\n
\\n
\\n\"","module.exports = \"\"","import { Component, OnInit ,ViewChild,HostListener} from \"@angular/core\";\nimport { CaseFieldsService } from \"../case-fields.service\";\nimport { NgForm, FormGroup } from \"@angular/forms\";\r\nimport { ComponentCanDeactivate } from '../../../../CanDeactivateGaurd';\r\nimport { Observable } from 'rxjs';\r\nimport { filter, map, mergeMap, tap } from \"rxjs/operators\";\nimport { Router, ActivatedRoute, ParamMap, NavigationEnd, NavigationStart, RouterEvent } from \"@angular/router\";\n\n@Component({\n selector: \"app-case-types\",\n templateUrl: \"./case-types.component.html\",\n styleUrls: [\"./case-types.component.scss\"],\n host: { class: \"host\" }\n})\nexport class CaseTypesComponent implements OnInit, ComponentCanDeactivate {\n @ViewChild('form') form: NgForm;\n fields:CaseFieldsService;\n name = \"Case Types\";\n loading: boolean = false;\n constructor(private router: Router,fields: CaseFieldsService) {\n router.events\r\n .pipe(filter(e => e instanceof NavigationStart))\r\n .subscribe((e: NavigationStart) => {\r\n localStorage.setItem('editcase', e.url);\r\n });\n this.fields = fields;\n }\n\n\n\n toggleHideSecondTree(bool) {\n this.fields.getParent('Pre-Case Calculation')['hide'] = bool;\n this.fields.setValue('Pre-Case Calculation', \"Recorded Procedures\", null);\n if (bool) {\n //clear pre-case anticipated case types when hiding tree (Match set to Yes)\r\n this.fields.anticipatedCase = false;\r\n this.fields.setValue('Pre-Case Calculation', \"Recorded Procedures\", this.fields.getField(\"Case Types\", \"Recorded Procedures\").value);\r\n this.fields.setValue('Pre-Case Calculation', \"Case Type Done\", null);\r\n this.fields.getField(\"Case Types\", \"Anticipated Procedures\").hide = true;\r\n }\n else {\n this.fields.anticipatedCase = true;\n this.fields.getField(\"Case Types\", \"Anticipated Procedures\").hide = false;\r\n }\n }\n\n showSecondTree() {\n let caseTypePrimary = \"\";\n let antCaseTypePrimary = \"\";\n let caseTypeProcs = this.getProcedures(\"Case Types\");\n let antCaseTypeProcs = this.getProcedures(\"Pre-Case Calculation\");\n\n if (caseTypeProcs != null) {\n let caseTypeNames = Object.getOwnPropertyNames(caseTypeProcs);\r\n for (let name of caseTypeNames) {\n\n let caseType = caseTypeProcs[name];\n\n if (caseType[\"primary\"] === true) {\r\n caseTypePrimary = name;\r\n }\n }\r\n\r\n }\n if (antCaseTypeProcs != null) {\n let caseTypeNames = Object.getOwnPropertyNames(antCaseTypeProcs);\r\n for (let name of caseTypeNames) {\n\n let caseType = antCaseTypeProcs[name];\n\n if (caseType[\"primary\"] === true) {\r\n antCaseTypePrimary = name;\r\n }\n }\r\n\r\n }\n\n return caseTypePrimary != antCaseTypePrimary;\n //let a = !this.fields.getParent('Pre-Case Calculation')['hide'];\n //let b = this.getCaseTypeDone();\n //let c = this.fields.getField(this.name, 'Case Type').value;\n //return !this.fields.getParent('Pre-Case Calculation')['hide'] \n //&& this.getCaseTypeDone() \n //&& this.fields.getField(this.name, 'Case Type').value;\n }\n\n getProcedures(type) {\n return this.fields.getField(type, \"Recorded Procedures\").value;\n }\n\n getCaseTypeDone() {\n return this.fields.getValue(this.name, 'Case Type Done');\n }\n \n\n ngOnInit() {\n \n let caseTypes = this.fields.getField(\"Case Types\", \"Recorded Procedures\").value\n localStorage.setItem('casetypes', JSON.stringify(caseTypes));\n\n let caseTypeDone = this.fields.getField(\"Case Types\", \"Case Type Done\").value\n localStorage.setItem('casetypedone', caseTypeDone);\n\n if (this.fields.anticipatedCase) {\n this.toggleHideSecondTree(false); \r\n }\n }\n\n ngOnDestroy() {\n if (localStorage.getItem('dirty') == 'false' || localStorage.getItem('dirty') == null) {\n var casetypestorage = localStorage.getItem('casetypes');\n var casetypedonestorage = localStorage.getItem('casetypedone');\n if (casetypestorage != JSON.stringify(this.fields.getField(\"Case Types\", \"Recorded Procedures\").value) || casetypedonestorage != JSON.stringify(this.fields.getField(\"Case Types\", \"Case Type Done\").value))\n localStorage.setItem('dirty', 'true');\n else\n localStorage.setItem('dirty', 'false');\r\n if (this.form.dirty)\r\n localStorage.setItem('dirty', 'true');\r\n }\r\n \n\n }\n\n @HostListener('window:beforeunload')\r\n canDeactivate(): Observable | boolean {\r\n if (localStorage.getItem('dirty') == 'false' || localStorage.getItem('dirty') == null) {\r\n var casetypestorage = localStorage.getItem('casetypes');\n var casetypedonestorage = localStorage.getItem('casetypedone');\n if (casetypestorage != JSON.stringify(this.fields.getField(\"Case Types\", \"Recorded Procedures\").value) || casetypedonestorage != JSON.stringify(this.fields.getField(\"Case Types\", \"Case Type Done\").value))\n localStorage.setItem('dirty', 'true');\n else\n localStorage.setItem('dirty', 'false');\r\n if (this.form.dirty)\r\n localStorage.setItem('dirty', 'true');\r\n }\r\n return !this.form.dirty;\r\n }\n}\n","import { Injectable } from \"@angular/core\";\nimport { Http, Response, Headers, RequestOptions } from '@angular/http';\nimport { Observable, pipe } from 'rxjs';\nimport { map, takeUntil, tap } from 'rxjs/operators';\r\nimport { CaseModel } from '../../../shared/case/case-model';\r\nimport { CaseResponse } from '../../../shared/case/case-response';\r\nimport { CaseSaveResponse } from '../../../shared/case-save/case-save-response';\r\nimport { MarkCaseCompleteResponse } from '../../../shared/case-save/mark-case-complete-response';\r\nimport { MarkCaseInactiveResponse } from '../../../shared/case-save/mark-case-inactive-response';\r\nimport { CaseStsDiagCategoryResponse } from '../../../shared/case-save/case-sts-diag-category-response';\r\nimport { SearchResponse } from '../../../shared/search-response';\r\nimport { ServerResponse } from '../../../shared/server-response';\r\n\r\nimport { CONFIG } from '../../../shared/config';\r\n\r\nlet apiUrl = CONFIG.baseUrls.api;\n@Injectable({\n providedIn: \"root\"\n})\r\nexport class CaseService {\r\n private http: Http = null;\n public case: CaseModel;\n public deleteCaseId: number;\n public saveCaseId: number;\n public IsCaseComplete: boolean;\n public MessageData: string;\n public route: string;\n\n constructor(_http: Http) {\n this.http = _http;\n this.case = new CaseModel;\n this.deleteCaseId = 0;\n this.saveCaseId = 0;\n this.IsCaseComplete = false;\n } \r\n\r\n save() {\r\n \r\n return this.saveCase(this.case);\r\n \r\n }\r\n\r\n saveCase(caseItem: CaseModel) {\r\n let headers = new Headers({\n //'Content-Type': 'application/x-www-form-urlencoded'\n });\n let options = new RequestOptions({ headers: headers });\n return this.http.post(apiUrl + \"case/savecasedetails\", caseItem, options)\n .pipe(map((response: Response) => response.json()));\r\n\r\n \r\n }\r\n\r\n clearCase() {\r\n this.case = new CaseModel;\r\n }\r\n\r\n getCaseDetails(caseid: number) {\n let headers = new Headers({\n //'Content-Type': 'application/x-www-form-urlencoded'\n });\n let options = new RequestOptions({ headers: headers });\n return this.http.get(apiUrl + \"case/getcasedetails?caseid=\" + caseid, options)\n .pipe(map((response: Response) => response.json()));\r\n }\r\n\r\n postXMLData(formData,options,hospitalid,userid) {\r\n\r\n return this.http.post(apiUrl + 'case/importdata?hospitalid=' + hospitalid + '&userid=' + userid, formData, options)\r\n .pipe(map((response: Response) => response.json()));\r\n }\r\n\r\n \r\n\r\n markCaseComplete() {\r\n let ininfo = {\r\n CaseId: this.case.CaseId,\r\n CaseCompletedby: this.case.CaseUpdatedby\r\n };\r\n\r\n let headers = new Headers({\n //'Content-Type': 'application/x-www-form-urlencoded'\n });\n let options = new RequestOptions({ headers: headers });\n return this.http.post(apiUrl + \"case/markcasecomplete\", ininfo, options)\n .pipe(map((response: Response) => response.json()));\r\n }\r\n\r\n deactivateCase(updatedBy: string) {\r\n let ininfo = {\r\n CaseId: this.deleteCaseId,\r\n CaseInactivatedby: updatedBy\r\n };\r\n\r\n let headers = new Headers({\n //'Content-Type': 'application/x-www-form-urlencoded'\n });\n let options = new RequestOptions({ headers: headers });\n return this.http.post(apiUrl + \"case/deactivatecase\", ininfo, options)\n .pipe(map((response: Response) => response.json()));\r\n }\r\n\r\n getSTSDiagCategory(caseId: number) {\r\n let ininfo = {\r\n CaseId: caseId\r\n };\r\n\r\n let headers = new Headers({\n //'Content-Type': 'application/x-www-form-urlencoded'\n });\n let options = new RequestOptions({ headers: headers });\n return this.http.post(apiUrl + \"case/getstsdiagcategory\", ininfo, options)\n .pipe(map((response: Response) => response.json()));\r\n }\r\n}\r\n","module.exports = \"
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n CLINICAL CHARACTERISTICS\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n   \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n   \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n   \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n   \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n   \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","module.exports = \".tree-icon i{padding:8px}.conditions label{width:100%;margin:0px 15px}@media (max-width: 992px){.form-row{margin-top:0}}.mat-radio-button ~ .mat-radio-button{margin-top:10px;margin-left:16px}.sex-radio-button{margin-bottom:0px}\\n\"","import { Component, OnInit, ViewChild, HostListener } from \"@angular/core\";\nimport { CaseFieldsService } from \"../case-fields.service\";\nimport { StsDiagnosisService } from \"../../../shared-data-entry/sts-diagnosis.service\";\nimport { StsDiagnosisResponse } from '../../../../shared/sts-diagnosis-response';\nimport {\n Router,ActivatedRoute,ParamMap,NavigationEnd,NavigationStart,RouterEvent} from \"@angular/router\";\nimport { LoginService } from \"../../../user/login.service\";\nimport { PicklistItemService } from \"../../../shared-data-entry/picklist-item.service\";\nimport { PicklistItemResponse } from \"../../../../shared/picklist-item-response\";\nimport { PicklistItemModel } from \"../../../../shared/picklist-item-model\";\nimport { DropdownItemModel } from \"../../../../shared/dropdown-item-model\";\nimport { NgForm, FormGroup } from \"@angular/forms\";\r\nimport { ComponentCanDeactivate } from '../../../../CanDeactivateGaurd';\r\nimport { Observable } from 'rxjs';\r\nimport { filter, map, mergeMap, tap } from \"rxjs/operators\";\r\n\n@Component({\n selector: \"app-clinical-characteristics\",\n templateUrl: \"./clinical-characteristics.component.html\",\n styleUrls: [\"./clinical-characteristics.component.scss\"],\n host: { class: \"host\" }\n})\nexport class ClinicalCharacteristicsComponent implements OnInit, ComponentCanDeactivate {\n @ViewChild('form') form: NgForm;\n problemsDropDown = [];\n problems = [];\n selectedProblems = [];\n name = \"Clinical Characteristics\";\n weight;\n height;\n public fields: CaseFieldsService;\n public user: LoginService;\n public picklistItemService: PicklistItemService;\n\n stsDiagnosisService: StsDiagnosisService;\n stsDiagnosisList: StsDiagnosisResponse;\n constructor(private router: Router, fields: CaseFieldsService, _user: LoginService,\n _picklistItemService: PicklistItemService, _stsDiagnosisService: StsDiagnosisService) {\n \n router.events\r\n .pipe(filter(e => e instanceof NavigationStart))\r\n .subscribe((e: NavigationStart) => {\r\n localStorage.setItem('editcase', e.url);\r\n });\n this.fields = fields;\n this.user = _user;\n this.picklistItemService = _picklistItemService;\n this.stsDiagnosisService = _stsDiagnosisService;\n\n if (this.user.user) {\n this.stsDiagnosisService\n .getStsDiagnosis()\n .subscribe(data => this.populateStsDiagnosis(data));\n\n this.picklistItemService\n .getPicklistItem(this.user.user.HospitalId.toString(), \"Non-Cardiac Problem\")\n .subscribe(data => this.populatePicklistItems(data));\n }\n\n this.calcBSA();\n }\n\n ngOnInit() {\n this.stsDiagnosisService.treeModel.setFocusedNode(null);\r\n this.stsDiagnosisService.treeModel.expandedNodeIds = {};\r\n this.stsDiagnosisService.treeModel.activeNodeIds = {};\r\n }\n\n @HostListener('window:beforeunload')\r\n canDeactivate(): Observable | boolean {\r\n \r\n if (this.form.dirty)\r\n localStorage.setItem('dirty', 'true');\r\n\r\n \r\n return !this.form.dirty;\r\n }\n\n populateStsDiagnosis(stsDiagResponse: StsDiagnosisResponse) {\r\n this.stsDiagnosisService.stsDiagnosisList = stsDiagResponse.DataObject;\r\n this.stsDiagnosisService.mapToDropDown();\r\n this.stsDiagnosisService.stsTreedata = this.stsDiagnosisService.dropDownStsDiagnosis;\r\n }\n\n private populatePicklistItems(picklistItemResponse: PicklistItemResponse) {\n this.picklistItemService.picklistItemModel = picklistItemResponse.DataObject;\n this.picklistItemService.mapToDropDown();\n\n this.problemsDropDown = this.picklistItemService.dropDownPicklistItem;\n this.problems = this.problemsDropDown.map(x => x.name);\n this.loadProblems();\n }\n\n private loadProblems() {\n let valMap: Array = [];\n\n let probs = this.fields.getValue(this.name, 'Non-cardiac Problems');\r\n if (probs != null) {\r\n let probArray = probs.split('|');\r\n\r\n for (let p of probArray) {\r\n for (let dropDownItem of this.problemsDropDown) {\r\n if (dropDownItem.code === p) {\r\n valMap.push(dropDownItem.name);\r\n }\r\n }\r\n }\r\n }\r\n\r\n this.selectedProblems = valMap;\r\n }\n\n public updateProblems() {\n if (this.selectedProblems.length > 0) {\r\n let valMap: Array = [];\r\n\r\n for (let p of this.selectedProblems) {\r\n for (let dropDownItem of this.problemsDropDown) {\r\n if (dropDownItem.name === p) {\r\n valMap.push(dropDownItem.code)\r\n }\r\n }\r\n }\r\n\r\n this.fields.setValue(this.name, 'Non-cardiac Problems', valMap.join(\"|\"));\r\n } else {\r\n this.fields.setValue(this.name, 'Non-cardiac Problems', null);\r\n }\r\n }\n\n calcBSA() {\n this.weight = +this.fields.getValue(this.name, \"Weight\"); \n this.weight = Math.round(this.weight*10)/10;\n if (this.weight <= 0 || this.weight > 500) {\n this.weight = null;\r\n }\n this.fields.setValue(this.name, \"Weight\", this.weight);\n\n this.height = +this.fields.getValue(this.name, \"Height\");\n this.height = Math.round(this.height);\n if (this.height <= 0 || this.height > 500) {\n this.height = null; \r\n }\n this.fields.setValue(this.name, \"Height\", this.height);\n\n if (this.weight && this.height) {\n this.fields.getField(\n this.name,\n \"BSA\"\n ).value = ClinicalCharacteristicsComponent.round(\n Math.sqrt((this.height * this.weight) / 3600),\n 3\n );\n } else {\n this.fields.setValue(this.name, \"BSA\", null);\r\n }\n }\n\n toggleCardiacProblems(val) {\n this.fields.getField(this.name, 'Non-cardiac Problems').hide = val;\n }\n\n getCardiacProblems() {\n return this.fields.getField(this.name, 'Non-cardiac Problems').hide;\n }\n\n static round(number, precision) {\n var factor = Math.pow(10, precision);\n var tempNumber = number * factor;\n var roundedTempNumber = Math.round(tempNumber);\n return roundedTempNumber / factor;\n }\n}\n","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\"","module.exports = \"@import url(\\\"https://fonts.googleapis.com/css?family=Montserrat:400,500,600\\\");@import url(\\\"https://use.fontawesome.com/releases/v5.0.13/css/all.css\\\");.max-height{height:100% !important}.max-width{width:100% !important}.contain-width{width:calc(100vw - 265px)}.contain-width .title-contain{padding-right:5vw;padding-left:5vw;padding-top:2vw}@media (max-width: 776px){.contain-width .title-contain{display:none}}.contain-width .title-contain .sect-header{color:#007496;font-weight:400;margin-bottom:0}.contain-width .title-contain .cancel{background-color:aqua}\\n\"","import { Component, OnInit, OnDestroy, ViewChild, HostListener } from \"@angular/core\";\r\nimport { fadeAnimation } from \"../../../animations/fade.animation\";\r\nimport {\r\n Router,\r\n ActivatedRoute,\r\n ParamMap,\r\n NavigationEnd,\r\n NavigationStart,\r\n RouterEvent\r\n} from \"@angular/router\";\r\nimport { filter, map, mergeMap, tap } from \"rxjs/operators\";\r\nimport { Observable } from \"rxjs\";\r\nimport { RouterHelper } from \"../../../router-helper\";\r\nimport { CaseFieldsService } from \"./case-fields.service\";\r\nimport { CaseService } from \"./case.service\";\r\nimport { CaseResponse } from \"../../../shared/case/case-response\";\r\nimport { CaseModel } from '../../../shared/case/case-model';\r\nimport { CaseReqResourcesModel } from '../../../shared/case/case-req-resources-model';\r\nimport { CaseProcAssignmentModel } from '../../../shared/case/case-proc-assignment-model';\r\nimport { CaseAEItemModel } from '../../../shared/case/case-ae-item-model';\r\nimport { LoginService } from \"../login.service\";\r\n\r\nimport { StsDiagnosisService } from \"../../shared-data-entry/sts-diagnosis.service\";\r\nimport { StsDiagnosisResponse } from '../../../shared/sts-diagnosis-response';\r\nimport { MajorAdverseEventService } from \"../../shared-data-entry/major-adverse-event.service\";\r\nimport { MajorAdverseEventResponse } from \"../../../shared/major-adverse-event-response\";\r\nimport { OtherAdverseEventService } from \"../../shared-data-entry/other-adverse-event.service\";\r\nimport { OtherAdverseEventResponse } from \"../../../shared/other-adverse-event-response\";\r\nimport { ProcedurePicklistService } from \"../../shared-data-entry/procedure-picklist.service\";\r\nimport { ProcedurePicklistResponse } from '../../../shared/procedure-picklist-response';\r\n\r\nimport { CaseTypeCalcService } from \"../../shared-data-entry/case-type-calc.service\";\r\nimport { CaseTypeCalcResponse } from '../../../shared/case-type-calc-response';\r\nimport { CaseTypeCalcModel } from '../../../shared/case-type-calc-model';\r\n\r\nimport { CaseStsDiagCategoryResponse } from '../../../shared/case-save/case-sts-diag-category-response';\r\nimport { CaseProcEfficacyModel } from '../../../shared/case/case-proc-efficacy-model';\r\n\r\nimport { ComponentCanDeactivate } from '../../../CanDeactivateGaurd';\r\nimport { HemoInfo } from \"../../../shared/report-model-hemo-info\";\r\n\r\nimport { NgForm } from \"@angular/forms\";\r\n\r\n\r\n@Component({\r\n selector: \"app-edit-case\",\r\n templateUrl: \"./edit-case.component.html\",\r\n styleUrls: [\"./edit-case.component.scss\"],\r\n animations: [fadeAnimation]\r\n})\r\nexport class EditCaseComponent implements OnInit, OnDestroy, ComponentCanDeactivate {\r\n\r\n @ViewChild('form') form: NgForm;\r\n //form: NgForm;\r\n\r\n caseId: number;\r\n mAEData = [];\r\n aEData = [];\r\n stsData = [];\r\n plData = [];\r\n caseModel: CaseModel;\r\n loadData: boolean;\r\n loading: boolean = false;\r\n nextRoute;\r\n prevRoute;\r\n\r\n fields: CaseFieldsService;\r\n routerHelper: RouterHelper;\r\n activatedRoute: ActivatedRoute;\r\n caseService: CaseService;\r\n user: LoginService;\r\n public stsDiagnosisService: StsDiagnosisService;\r\n public majorAdverseEventService: MajorAdverseEventService;\r\n public otherAdverseEventService: OtherAdverseEventService;\r\n public procedurePicklistService: ProcedurePicklistService;\r\n public caseTypeCalcService: CaseTypeCalcService;\r\n constructor(private router: Router,\r\n _activatedRoute: ActivatedRoute,\r\n _fields: CaseFieldsService,\r\n _caseService: CaseService,\r\n _user: LoginService,\r\n _stsDiagnosisService: StsDiagnosisService,\r\n _majorAdverseEventService: MajorAdverseEventService,\r\n _otherAdverseEventService: OtherAdverseEventService,\r\n _procedurePicklistService: ProcedurePicklistService,\r\n _caseTypeCalcService: CaseTypeCalcService) {\r\n \r\n this.activatedRoute = _activatedRoute;\r\n this.caseService = _caseService;\r\n this.fields = _fields;\r\n this.user = _user;\r\n this.caseTypeCalcService = _caseTypeCalcService;\r\n\r\n this.routerHelper = new RouterHelper(this.router, this.activatedRoute); \r\n this.setCaseBase();\r\n\r\n this.majorAdverseEventService = _majorAdverseEventService;\r\n this.otherAdverseEventService = _otherAdverseEventService;\r\n this.stsDiagnosisService = _stsDiagnosisService;\r\n this.procedurePicklistService = _procedurePicklistService;\r\n localStorage.setItem('casedatabeforechange', JSON.stringify(this.fields.fields));\r\n console.log('before');\r\n console.log(this.fields.fields)\r\n }\r\n\r\n @HostListener('window:beforeunload', ['$event'])\r\n canDeactivate(): Observable | boolean {\r\n console.log('after');\r\n console.log(this.fields.fields);\r\n if (localStorage.getItem('casedatabeforechange') == JSON.stringify(this.fields.fields))\r\n return true;\r\n else\r\n return false;\r\n }\r\n\r\n \r\n\r\n private getServiceData() {\r\n console.log(\"getServiceData\");\r\n this.majorAdverseEventService\r\n .getMajorAdverseEvent()\r\n .subscribe(data => this.populateMajorEvents(data)); \r\n }\r\n\r\n populateMajorEvents(majorAEResponse: MajorAdverseEventResponse) {\r\n this.majorAdverseEventService.majorAdverseEventList =\r\n majorAEResponse.DataObject;\r\n this.majorAdverseEventService.mapToDropDown();\r\n\r\n this.otherAdverseEventService\r\n .getOtherAdverseEvent()\r\n .subscribe(data => this.populateOtherEvents(data));\r\n }\r\n \r\n\r\n populateOtherEvents(otherAEResponse: OtherAdverseEventResponse) {\r\n this.otherAdverseEventService.otherAdverseEventList =\r\n otherAEResponse.DataObject;\r\n this.otherAdverseEventService.mapToDropDown();\r\n\r\n this.stsDiagnosisService\r\n .getStsDiagnosis()\r\n .subscribe(data => this.populateStsDiagnosis(data));\r\n }\r\n\r\n populateStsDiagnosis(stsDiagResponse: StsDiagnosisResponse) {\r\n this.stsDiagnosisService.stsDiagnosisList = stsDiagResponse.DataObject;\r\n this.stsDiagnosisService.mapToDropDown();\r\n\r\n this.procedurePicklistService\r\n .getProcedurePicklist()\r\n .subscribe(data => this.validateProcedurePicklist(data)); \r\n }\r\n\r\n validateProcedurePicklist(ppr: ProcedurePicklistResponse) {\r\n this.procedurePicklistService.procedureList = ppr.DataObject;\r\n this.procedurePicklistService.mapToDropDown();\r\n\r\n this.setCaseData();\r\n }\r\n\r\n validateSTSDiagCategory(sdc: CaseStsDiagCategoryResponse) {\r\n let data = sdc.DataObject;\r\n this.fields.setValue(\"Pre-Case Calculation\", 'STS Diagnosis Category', data.CategoryValue);\r\n }\r\n\r\n private setCaseBase() {\r\n console.log(\"setCaseBase\");\r\n this.loadData = false;\r\n let url = this.router.url;\r\n let urlSplit = url.split(\"/\");\r\n let id = urlSplit[urlSplit.length - 1];\r\n this.caseId = +id;\r\n\r\n this.setCaseListData();\r\n\r\n this.getFieldsBase(); \r\n }\r\n\r\n private getFieldsBase() {\r\n console.log(\"getFieldsBase\");\r\n let fieldsCaseId = this.fields.getField(\"Case Identification\", 'Case Number').value;\r\n if (fieldsCaseId != this.caseId) {\r\n if (this.caseId) { \r\n this.fields.caseLoaded = false; \r\n this.fields.type = \"edit\";\r\n this.fields.resetFields();\r\n\r\n this.fields.setValue(\"Case Identification\", \"Case Number\", this.caseId);\r\n this.caseService.getCaseDetails(this.caseId).subscribe(data => this.loadResponse(data));\r\n\r\n this.fields.getParent(\"Case Identification\")[\"link\"] = this.fields.getParent(\"Case Identification\")[\"link\"] + \"/\" + this.caseId;\r\n this.fields.getParent(\"Clinical Characteristics\")[\"link\"] = this.fields.getParent(\"Clinical Characteristics\")[\"link\"] + \"/\" + this.caseId;\r\n this.fields.getParent(\"Procedure Characteristics\")[\"link\"] = this.fields.getParent(\"Procedure Characteristics\")[\"link\"] + \"/\" + this.caseId;\r\n this.fields.getParent(\"Hemodynamics\")[\"link\"] = this.fields.getParent(\"Hemodynamics\")[\"link\"] + \"/\" + this.caseId;\r\n this.fields.getParent(\"Case Types\")[\"link\"] = this.fields.getParent(\"Case Types\")[\"link\"] + \"/\" + this.caseId;\r\n this.fields.getParent(\"Pre-Case Calculation\")[\"link\"] = this.fields.getParent(\"Pre-Case Calculation\")[\"link\"] + \"/\" + this.caseId;\r\n this.fields.getParent(\"Adverse Events\")[\"link\"] = this.fields.getParent(\"Adverse Events\")[\"link\"] + \"/\" + this.caseId;\r\n this.fields.getParent(\"Indicators of Required Resources\")[\"link\"] = this.fields.getParent(\"Indicators of Required Resources\")[\"link\"] + \"/\" + this.caseId;\r\n this.fields.getParent(\"Procedural Efficacy\")[\"link\"] = this.fields.getParent(\"Procedural Efficacy\")[\"link\"] + \"/\" + this.caseId;\r\n this.fields.getParent(\"EOC Admit/Disposition\")[\"link\"] = this.fields.getParent(\"EOC Admit/Disposition\")[\"link\"] + \"/\" + this.caseId; \r\n }\r\n }\r\n\r\n this.caseService.getSTSDiagCategory(this.caseId).subscribe(data => this.validateSTSDiagCategory(data)); \r\n }\r\n\r\n private loadResponse(data: CaseResponse) {\r\n \r\n let hemoinfo = new HemoInfo;\r\n this.caseModel = data.DataObject;\r\n this.loadData = true;\r\n \r\n\r\n\r\n //this.fields.completedCase = this.caseModel.CompletionStatus == \"1\";\r\n if (this.caseModel.CompletionStatus == \"1\")\r\n this.fields.completedCase = true;\r\n\r\n try {\r\n this.fields.setValue(\"Case Identification\", \"Hospital\", this.caseModel.HospitalId);\r\n\r\n this.fields.setValue(\"Case Identification\", \"Cath Date\", new Date(this.caseModel.CathDate));\r\n if (this.caseModel.CathDate.indexOf(':') !== -1) {\r\n this.fields.setValue(\"Case Identification\", \"Case Time\", new Date(this.caseModel.CathDate)); \r\n } \r\n if (this.caseModel.PrimaryOperatorId > 0) {\r\n this.fields.setValue(\"Case Identification\", \"Operator\", this.caseModel.PrimaryOperatorId);\r\n }\r\n\r\n //Remove Operator validation for IQIC users \r\n if (this.user.IsIqicUser()) {\r\n this.fields.getField(\"Case Identification\", 'Operator').hide = true\r\n }\r\n \r\n \r\n\r\n } catch {\r\n console.log(\"Error loading Case Identification\");\r\n }\r\n\r\n try {\r\n if (this.caseModel.CaseClinicalInfo && this.caseModel.CaseClinicalInfo.CaseClinicalInfoId > 0) {\r\n this.fields.setValue(\"Clinical Characteristics\", 'Id', this.caseModel.CaseClinicalInfo.CaseClinicalInfoId);\r\n this.fields.setValue(\"Clinical Characteristics\", 'Date Last Cath', this.convertTrueFalse(this.caseModel.CaseClinicalInfo.PrevCathlast90dInd));\r\n this.fields.setValue(\"Clinical Characteristics\", 'Date Last Cardiac Surgery', this.convertTrueFalse(this.caseModel.CaseClinicalInfo.PrevSurglast90dInd));\r\n this.fields.setValue(\"Clinical Characteristics\", 'Genetic Syndrome', this.convertTrueFalse(this.caseModel.CaseClinicalInfo.GenSyndromeInd));\r\n this.fields.setValue(\"Clinical Characteristics\", 'Non-cardiac Problems', this.caseModel.CaseClinicalInfo.NonCardiacProbValues);\r\n this.fields.getField(\"Clinical Characteristics\", 'Non-cardiac Problems').hide = !this.convertTrueFalse(this.caseModel.CaseClinicalInfo.NonCardiacProbInd);\r\n\r\n if (this.caseModel.CaseClinicalInfo.PatAge > 0) {\r\n this.fields.setValue(\"Clinical Characteristics\", 'Age', this.caseModel.CaseClinicalInfo.PatAge);\r\n this.fields.setValue(\"Clinical Characteristics\", 'Age Unit', this.convertAgeType(this.caseModel.CaseClinicalInfo.PatAgeType));\r\n }\r\n if (this.caseModel.CaseClinicalInfo.PatSex != '') {\r\n this.fields.setValue(\"Clinical Characteristics\", 'Sex', this.caseModel.CaseClinicalInfo.PatSex);\r\n }\r\n if (this.caseModel.CaseClinicalInfo.PatWeight > 0) {\r\n this.fields.setValue(\"Clinical Characteristics\", 'Weight', this.caseModel.CaseClinicalInfo.PatWeight);\r\n }\r\n if (this.caseModel.CaseClinicalInfo.PatHeight > 0) {\r\n this.fields.setValue(\"Clinical Characteristics\", 'Height', this.caseModel.CaseClinicalInfo.PatHeight);\r\n }\r\n if (this.caseModel.CaseClinicalInfo.PatBSA > 0) {\r\n this.fields.setValue(\"Clinical Characteristics\", 'BSA', this.caseModel.CaseClinicalInfo.PatBSA);\r\n }\r\n } else {\r\n this.fields.setValue(\"Clinical Characteristics\", 'Id', 0);\r\n }\r\n } catch { \r\n console.log(\"Error loading Clinical Characteristics\"); \r\n }\r\n\r\n try {\r\n if (this.caseModel.CaseProcedureInfo && this.caseModel.CaseProcedureInfo.CaseProccharInfoId > 0) {\r\n this.fields.setValue(\"Procedure Characteristics\", 'Id', this.caseModel.CaseProcedureInfo.CaseProccharInfoId);\r\n //this.fields.setValue(\"Procedure Characteristics\", 'Total Fluoro Time', this.caseModel.CaseProcedureInfo.FluroTime); \r\n this.fields.setValue(\"Procedure Characteristics\", 'Sheath-in Time', this.loadTime(this.caseModel.CaseProcedureInfo.SheathCathInDateTime));\r\n this.fields.setValue(\"Procedure Characteristics\", 'Sheath-out Time', this.loadTime(this.caseModel.CaseProcedureInfo.SheathCathOutDateTime));\r\n this.fields.setValue(\"Procedure Characteristics\", 'Duration', this.loadDuration(this.caseModel.CaseProcedureInfo.SheathCathInDateTime, this.caseModel.CaseProcedureInfo.SheathCathOutDateTime));\r\n this.fields.setValue(\"Procedure Characteristics\", 'Blood Transfusions', this.convertTrueFalse(this.caseModel.CaseProcedureInfo.BloodTransfusion));\r\n\r\n if (this.caseModel.CaseProcedureInfo.FluroTime != null && this.caseModel.CaseProcedureInfo.FluroTime.length > 0) {\r\n this.fields.setValue(\"Procedure Characteristics\", 'Total Fluoro Time', this.caseModel.CaseProcedureInfo.FluroTime);\r\n }\r\n if (this.caseModel.CaseProcedureInfo.TotalDap != null && this.caseModel.CaseProcedureInfo.TotalDap.length > 0) {\r\n this.fields.setValue(\"Procedure Characteristics\", 'Total DAP', this.caseModel.CaseProcedureInfo.TotalDap);\r\n }\r\n }\r\n } catch {\r\n console.log(\"Error loading Procedure Characteristics\");\r\n }\r\n\r\n try {\r\n if (this.caseModel.CaseAddlProcedureInfo && this.caseModel.CaseAddlProcedureInfo.CaseAddlProccharInfoId > 0) {\r\n this.fields.setValue(\"Procedure Characteristics\", 'AddlId', this.caseModel.CaseAddlProcedureInfo.CaseAddlProccharInfoId);\r\n this.fields.setValue(\"Procedure Characteristics\", 'Type Fluoro Performed', this.convertTrueFalse(this.caseModel.CaseAddlProcedureInfo.FluroPerformedType));\r\n this.fields.setValue(\"Procedure Characteristics\", 'Total Contrast Volume', this.caseModel.CaseAddlProcedureInfo.TotalContrastVolumeVal);\r\n this.fields.setValue(\"Procedure Characteristics\", 'Total Contrast Volume Per Kg', this.caseModel.CaseAddlProcedureInfo.TotalContrastVolumePerKg);\r\n this.fields.setValue(\"Procedure Characteristics\", 'Pre Cath Hemoglobin', this.caseModel.CaseAddlProcedureInfo.PreCathHemoglobinVal);\r\n }\r\n } catch {\r\n console.log(\"Error loading Addl Procedure Characteristics\");\r\n }\r\n\r\n try {\r\n if (this.caseModel.CasePreCalcInfo && this.caseModel.CasePreCalcInfo.CasePrecalcinfoId > 0) {\r\n this.fields.setValue(\"Pre-Case Calculation\", 'Id', this.caseModel.CasePreCalcInfo.CasePrecalcinfoId);\r\n this.fields.setValue(\"Pre-Case Calculation\", 'Single Ventricle Physiology', this.convertTrueFalse(this.caseModel.CasePreCalcInfo.IsSingleVenPhysiology));\r\n this.fields.setValue(\"Pre-Case Calculation\", 'Physiologic Category', this.caseModel.CasePreCalcInfo.PhysiologicCategory);\r\n this.fields.setValue(\"Pre-Case Calculation\", 'SV EDP', this.convertTrueFalse(this.caseModel.CasePreCalcInfo.IsSVEDP));\r\n this.fields.setValue(\"Pre-Case Calculation\", 'Sys Sat', this.convertTrueFalse(this.caseModel.CasePreCalcInfo.IsSysSat));\r\n this.fields.setValue(\"Pre-Case Calculation\", 'MV Sat', this.convertTrueFalse(this.caseModel.CasePreCalcInfo.IsMvSat));\r\n this.fields.setValue(\"Pre-Case Calculation\", 'PA', this.convertTrueFalse(this.caseModel.CasePreCalcInfo.IsPAMean));\r\n this.fields.setValue(\"Pre-Case Calculation\", 'Qp:Qs', this.convertTrueFalse(this.caseModel.CasePreCalcInfo.IsQPQS));\r\n this.fields.setValue(\"Pre-Case Calculation\", 'PVR', this.convertTrueFalse(this.caseModel.CasePreCalcInfo.IsPVR));\r\n } else {\r\n this.fields.setValue(\"Pre-Case Calculation\", 'Id', 0);\r\n }\r\n } catch {\r\n console.log(\"Error loading Pre-Case\");\r\n }\r\n\r\n try {\r\n if (this.caseModel.CaseHemoDynamicInfo && this.caseModel.CaseHemoDynamicInfo.CaseHemoDynamicsInfoId > 0) {\r\n this.fields.setValue(\"Hemodynamics\", 'Id', this.caseModel.CaseHemoDynamicInfo.CaseHemoDynamicsInfoId);\r\n this.fields.setValue(\"Hemodynamics\", 'Single Ventricle Physiology', this.convertTrueFalse(this.caseModel.CaseHemoDynamicInfo.IsSingleVenPhysiology));\r\n hemoinfo.IsSVP = this.caseModel.CaseHemoDynamicInfo.IsSingleVenPhysiology;\r\n this.fields.getField(\"Hemodynamics\", \"Single Ventricle Physiology\").hide = true;\r\n this.fields.setValue(\"Hemodynamics\", 'Physiologic Category', this.caseModel.CaseHemoDynamicInfo.PhysiologicCategory);\r\n hemoinfo.PhysiologicCategory = this.caseModel.CaseHemoDynamicInfo.PhysiologicCategory;\r\n this.fields.setValue(\"Hemodynamics\", 'SV EDP', this.convertTrueFalse(this.caseModel.CaseHemoDynamicInfo.IsSVEDP));\r\n hemoinfo.IsSVP = this.caseModel.CaseHemoDynamicInfo.IsSVEDP;\r\n this.fields.setValue(\"Hemodynamics\", 'Sys Sat', this.convertTrueFalse(this.caseModel.CaseHemoDynamicInfo.IsSysSat));\r\n hemoinfo.SysSatIND = this.caseModel.CaseHemoDynamicInfo.IsSysSat;\r\n this.fields.setValue(\"Hemodynamics\", 'MV Sat', this.convertTrueFalse(this.caseModel.CaseHemoDynamicInfo.IsMvSat));\r\n hemoinfo.IsMVSATLessThan50Percent = this.caseModel.CaseHemoDynamicInfo.IsMvSat;\r\n this.fields.setValue(\"Hemodynamics\", 'PA', this.convertTrueFalse(this.caseModel.CaseHemoDynamicInfo.IsPAMean));\r\n hemoinfo.IsPAMeanEqual17mmOrHigher = this.caseModel.CaseHemoDynamicInfo.IsPAMean;\r\n this.fields.setValue(\"Hemodynamics\", 'Qp:Qs', this.convertTrueFalse(this.caseModel.CaseHemoDynamicInfo.IsQPQS));\r\n hemoinfo.IsQPQSGreaterThan1Point5 = this.caseModel.CaseHemoDynamicInfo.IsQPQS;\r\n this.fields.setValue(\"Hemodynamics\", 'PVR', this.convertTrueFalse(this.caseModel.CaseHemoDynamicInfo.IsPVR));\r\n hemoinfo.ISPVREqual3WUROrHigher = this.caseModel.CaseHemoDynamicInfo.IsPVR;\r\n localStorage.setItem('hemo', JSON.stringify(hemoinfo));\r\n } else {\r\n this.fields.setValue(\"Hemodynamics\", 'Id', 0); \r\n }\r\n } catch {\r\n console.log(\"Error loading Hemodynamics\");\r\n }\r\n\r\n try {\r\n if (this.caseModel.CaseAddlHemoDynamicInfo && this.caseModel.CaseAddlHemoDynamicInfo.CaseAddlHemoDynamicId > 0) {\r\n this.fields.setValue(\"Hemodynamics\", 'AddlId', this.caseModel.CaseAddlHemoDynamicInfo.CaseAddlHemoDynamicId); \r\n this.fields.setValue(\"Hemodynamics\", 'Considered for Shunt Closure', this.convertTrueFalse(this.caseModel.CaseAddlHemoDynamicInfo.IsShuntClosure));\r\n this.fields.setValue(\"Hemodynamics\", 'Is Recommended for SC', this.convertTrueFalse(this.caseModel.CaseAddlHemoDynamicInfo.IsRecommendedforSC));\r\n this.fields.setValue(\"Hemodynamics\", 'Acute Vasodilator Testing', this.convertTrueFalse(this.caseModel.CaseAddlHemoDynamicInfo.IsAVTestingPerfomed));\r\n this.fields.setValue(\"Hemodynamics\", 'Congenital Heart Disease Diagnosis', this.caseModel.CaseAddlHemoDynamicInfo.CongentialHDDiagVal);\r\n this.fields.setValue(\"Hemodynamics\", 'Name of Vasodilator Agent', this.caseModel.CaseAddlHemoDynamicInfo.VasodilatorAgentName);\r\n this.fields.setValue(\"Hemodynamics\", 'Baseline Pulmonary Vascular Resistance', this.caseModel.CaseAddlHemoDynamicInfo.BasePVRIWuVal);\r\n this.fields.setValue(\"Hemodynamics\", 'Baseline Systemic Vascular Resistance', this.caseModel.CaseAddlHemoDynamicInfo.BaseSVRWuVal);\r\n this.fields.setValue(\"Hemodynamics\", 'Baseline PVR:SVR Ratio', this.caseModel.CaseAddlHemoDynamicInfo.BasePVRSVRWuRatioVal);\r\n this.fields.setValue(\"Hemodynamics\", 'Baseline Qp:Qs Ratio', this.caseModel.CaseAddlHemoDynamicInfo.BaseQPQARatioVal);\r\n this.fields.setValue(\"Hemodynamics\", 'Baseline Cardiac Index', this.caseModel.CaseAddlHemoDynamicInfo.BaseCardIndCIVal);\r\n this.fields.setValue(\"Hemodynamics\", 'Post-Testing Pulmonary Vascular Resistance', this.caseModel.CaseAddlHemoDynamicInfo.PostPVRIWuVal);\r\n this.fields.setValue(\"Hemodynamics\", 'Post-Testing Systemic Vascular Resistance', this.caseModel.CaseAddlHemoDynamicInfo.PostSVRWuVal);\r\n this.fields.setValue(\"Hemodynamics\", 'Post-Testing PVR:SVR Ratio', this.caseModel.CaseAddlHemoDynamicInfo.PostPVRSVRWuRatioVal);\r\n this.fields.setValue(\"Hemodynamics\", 'Post-Testing Qp:Qs Ratio', this.caseModel.CaseAddlHemoDynamicInfo.PostQPQARatioVal);\r\n this.fields.setValue(\"Hemodynamics\", 'Post-Testing Cardiac Index', this.caseModel.CaseAddlHemoDynamicInfo.PostCardIndCIVal);\r\n }\r\n } catch {\r\n console.log(\"Error loading Addl Hemodynamics\");\r\n }\r\n\r\n try {\r\n this.fields.getField(\"Case Types\", \"Recorded Procedures\").value = {};\r\n this.fields.getField(\"Pre-Case Calculation\", \"Recorded Procedures\").value = {};\r\n } catch {\r\n console.log(\"Error loading Case Types\");\r\n }\r\n\r\n try {\r\n if (this.caseModel.CaseProcAEInfo) {\r\n if (this.caseModel.CaseProcAEInfo.CaseAENotes != null && this.caseModel.CaseProcAEInfo.CaseAENotes != '') {\r\n this.fields.setValue(\"Adverse Events\", 'Description', this.caseModel.CaseProcAEInfo.CaseAENotes);\r\n } else {\r\n this.fields.setValue(\"Adverse Events\", 'Description', null);\r\n }\r\n if (this.caseModel.CaseProcAEInfo.PatientDie.indexOf('true') > -1) {\r\n this.fields.setValue(\"Adverse Events\", 'Patient Die', true);\r\n }\r\n if (this.caseModel.CaseProcAEInfo.UnanticipatedCath.indexOf('true') > -1) {\r\n this.fields.setValue(\"Adverse Events\", 'Unanticipated Catheterization', true);\r\n }\r\n if (this.caseModel.CaseProcAEInfo.UnanticipatedSurg.indexOf('true') > -1) {\r\n this.fields.setValue(\"Adverse Events\", 'Unanticipated Surgery', true);\r\n }\r\n this.fields.getParent(\"Adverse Events\")[\"hide\"] = true;\r\n }\r\n } catch {\r\n console.log(\"Error loading Adverse Events\");\r\n }\r\n\r\n try {\r\n if (this.caseModel.CaseEOCAdmDisposn && this.caseModel.CaseEOCAdmDisposn.CaseAdmtDspoId > 0) {\r\n this.fields.setValue(\"EOC Admit/Disposition\", 'Id', this.caseModel.CaseEOCAdmDisposn.CaseAdmtDspoId);\r\n this.fields.setValue(\"EOC Admit/Disposition\", 'Admission Source', this.convertTrueFalseForElective(this.caseModel.CaseEOCAdmDisposn.IsAdmSrcElective)); \r\n this.fields.setValue(\"EOC Admit/Disposition\", 'Unplanned Admission', this.convertTrueFalse(this.caseModel.CaseEOCAdmDisposn.IsUnplannedAdmission));\r\n this.fields.setValue(\"EOC Admit/Disposition\", 'Admit Prior Cath', this.convertTrueFalse(this.caseModel.CaseEOCAdmDisposn.AdmittedPriorCathInd));\r\n this.fields.setValue(\"EOC Admit/Disposition\", 'Discharge Post Cath', this.convertTrueFalse(this.caseModel.CaseEOCAdmDisposn.DischargePostCathInd));\r\n this.fields.setValue(\"EOC Admit/Disposition\", 'Alive at Discharge', this.convertTrueFalse(this.caseModel.CaseEOCAdmDisposn.IsAliveAtDischarge));\r\n\r\n if (this.caseModel.CaseEOCAdmDisposn.PostCathLocation.length > 0) {\r\n this.fields.setValue(\"EOC Admit/Disposition\", 'Post-Cath Location', this.caseModel.CaseEOCAdmDisposn.PostCathLocation);\r\n } else {\r\n this.fields.setValue(\"EOC Admit/Disposition\", 'Post-Cath Location', null);\r\n } \r\n } else {\r\n this.fields.setValue(\"EOC Admit/Disposition\", 'Id', 0);\r\n }\r\n } catch {\r\n console.log(\"Error loading EOC Admit/Disposition\"); \r\n }\r\n\r\n console.log(this.fields.fields);\r\n\r\n this.getServiceData();\r\n \r\n }\r\n\r\n private setCaseData() {\r\n console.log(\"setCaseData\");\r\n this.stsData = this.stsDiagnosisService.dropDownStsDiagnosis;\r\n this.mAEData = this.majorAdverseEventService.dropDownMajorAdverseEvent;\r\n this.aEData = this.otherAdverseEventService.dropDownOtherAdverseEvent;\r\n this.plData = this.procedurePicklistService.dropDownProcedureList;\r\n\r\n this.loadResponseListData();\r\n }\r\n\r\n private setCaseListData() {\r\n this.routerHelper\r\n .getRouteData(this.router.events)\r\n .pipe(\r\n map(data => {\r\n if (data[\"next\"]) {\r\n //if (data[\"next\"].indexOf(\"efficacy\") >= 0) {\r\n // if (this.user.IsIqicUser()) { return data[\"next\"]; }\r\n // else {\r\n // return \"//user-portal//edit-case//adverse-events\";\r\n // }\r\n //}\r\n //else {\r\n return data[\"next\"];\r\n // }\r\n\r\n }\r\n })\r\n )\r\n .subscribe(pathString => {\r\n this.nextRoute = pathString + \"/\" + this.caseId;\r\n });\r\n this.routerHelper\r\n .getRouteData(this.router.events)\r\n .pipe(\r\n map(data => {\r\n\r\n // if (data[\"prev\"].indexOf(\"efficacy\") >= 0) {\r\n // if (this.user.IsIqicUser()) { return data[\"prev\"]; }\r\n // else {\r\n // return \"//user-portal//edit-case//case-types\";\r\n // }\r\n //}\r\n //else {\r\n return data[\"prev\"];\r\n //}\r\n })\r\n )\r\n .subscribe(pathString => {\r\n this.prevRoute = pathString + \"/\" + this.caseId;\r\n }); \r\n }\r\n\r\n private loadResponseListData() {\r\n console.log(\"loadResponseListData\");\r\n let cantComplete = false;\r\n if (this.loadData) {\r\n try {\r\n if (this.caseModel.CaseProcAssingedlist.length > 0) {\r\n this.loadCaseTypes(this.caseModel.CaseProcAssingedlist);\r\n } else {\r\n if (this.caseModel.CaseTypeCalcResponse.CaseTypeId.length > 0) {\r\n let qiText = this.caseModel.CaseTypeCalcResponse.CaseTypeDescription + \" (\" + this.caseModel.CaseTypeCalcResponse.CaseTypeId + \")\";\r\n this.fields.setValue(\"Case Types\", \"Case Type QI Text\", qiText);\r\n }\r\n }\r\n } catch (err) {\r\n console.log(\"Error loading Case Types (loadResponseListData) \" + err.message);\r\n cantComplete = true;\r\n this.setCaseData();\r\n }\r\n\r\n try {\r\n if (this.caseModel.CaseClinicalInfo) {\r\n this.loadSts(this.caseModel.CaseClinicalInfo.StsDiagCode);\r\n }\r\n } catch (err) {\r\n console.log(\"Error loading Clinical Characteristics (loadResponseListData) \" + err.message);\r\n cantComplete = true;\r\n this.setCaseData();\r\n }\r\n\r\n try {\r\n if (this.caseModel.CaseProcAEInfo) {\r\n if (this.caseModel.CaseProcAEInfo.caseAEItems.length > 0) {\r\n this.fields.getParent(\"Adverse Events\")[\"hide\"] = false;\r\n this.fields.getField(\"Adverse Events\", \"Recorded Events\").value = {};\r\n this.loadAdverseEvents(this.caseModel.CaseProcAEInfo.caseAEItems);\r\n }\r\n }\r\n } catch (err) {\r\n console.log(\"Error loading Adverse Events (loadResponseListData) \" + err.message);\r\n cantComplete = true;\r\n this.setCaseData();\r\n }\r\n\r\n try {\r\n if (this.caseModel.CaseReqResources) {\r\n this.loadIndicators(this.caseModel.CaseReqResources);\r\n }\r\n } catch (err) {\r\n console.log(\"Error loading Indicators of Required Resources (loadResponseListData) \" + err.message);\r\n cantComplete = true;\r\n this.setCaseData();\r\n }\r\n\r\n try {\r\n if (this.caseModel.CaseProcEfficacy) {\r\n this.loadEfficacy(this.caseModel.CaseProcEfficacy);\r\n }\r\n } catch (err) {\r\n console.log(\"Error loading Procedural efficacy (loadResponseListData) \" + err.message);\r\n cantComplete = true;\r\n this.setCaseData();\r\n }\r\n } else {\r\n this.setCaseData();\r\n }\r\n\r\n this.fields.caseLoaded = (!cantComplete); \r\n } \r\n\r\n\r\n private loadSts(stsDiagCode: string) {\r\n const words = stsDiagCode.split(',');\r\n var uniqueWords = words.filter(function (elem, index, self) {\r\n return index === self.indexOf(elem);\r\n })\r\n var PrimarySTSdiagCode = uniqueWords[0];\r\n var SecondSTSdiagCode = uniqueWords[1];\r\n var ThirdSTSdiagCode = uniqueWords[2]\r\n var FourthSTSdiagCode = uniqueWords[3]\r\n\r\n if (PrimarySTSdiagCode != null) {\r\n this.loadStsDetails(PrimarySTSdiagCode,1);\r\n }\r\n if (SecondSTSdiagCode != null) {\r\n this.loadStsDetails(SecondSTSdiagCode, 2);\r\n }\r\n if (ThirdSTSdiagCode != null) {\r\n this.loadStsDetails(ThirdSTSdiagCode, 3);\r\n }\r\n if (FourthSTSdiagCode != null) {\r\n this.loadStsDetails(FourthSTSdiagCode, 4);\r\n } \r\n }\r\n\r\n private loadStsDetails(stsDiagCode: string, diagnosis: number) {\r\n let continuePath = true;\r\n let nodePath = \"\";\r\n let node = {\r\n data: {}\r\n };\r\n\r\n if (stsDiagCode != null) {\r\n for (let treePath of this.stsData) {\r\n if (continuePath) {\r\n if (treePath.children == null || treePath.children.length === 0) {\r\n if (treePath.code === stsDiagCode) {\r\n continuePath = false;\r\n node.data = treePath;\r\n nodePath = treePath.name;\r\n }\r\n } else {\r\n for (let childPath of treePath.children) {\r\n if (continuePath) {\r\n if (childPath.children == null || childPath.children.length === 0) {\r\n if (childPath.code === stsDiagCode) {\r\n continuePath = false;\r\n node.data = childPath;\r\n nodePath = treePath.name + \" | \" + childPath.name;\r\n }\r\n } else {\r\n for (let children of childPath.children) {\r\n if (continuePath) {\r\n if (children.code === stsDiagCode) {\r\n continuePath = false;\r\n node.data = children;\r\n nodePath = treePath.name + \" | \" + childPath.name + \" | \" + children.name;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (!continuePath) {\r\n if (diagnosis == 1) {\r\n this.fields.getField('Clinical Characteristics', 'PrimarySTS').text = nodePath;\r\n this.fields.getField('Clinical Characteristics', 'PrimarySTS').value = node;\r\n }\r\n if (diagnosis == 2) {\r\n this.fields.getField('Clinical Characteristics', 'SecondSTS').text = nodePath;\r\n this.fields.getField('Clinical Characteristics', 'SecondSTS').value = node;\r\n }\r\n if (diagnosis == 3) {\r\n this.fields.getField('Clinical Characteristics', 'ThirdSTS').text = nodePath;\r\n this.fields.getField('Clinical Characteristics', 'ThirdSTS').value = node;\r\n }\r\n if (diagnosis == 4) {\r\n this.fields.getField('Clinical Characteristics', 'FourthSTS').text = nodePath;\r\n this.fields.getField('Clinical Characteristics', 'FourthSTS').value = node;\r\n }\r\n }\r\n }\r\n }\r\n\r\n private loadCaseTypes(data: CaseProcAssignmentModel[]) {\r\n let primary = \"\";\r\n let secondary = \"\";\r\n let prePrimary = \"\";\r\n let preSecondary = \"\";\r\n\r\n this.fields.setValue(\"Case Types\", \"Case Type\", null);\r\n this.fields.setValue(\"Case Types\", \"Case Type Done\", null);\r\n this.fields.setValue(\"Pre-Case Calculation\", \"Case Type\", null);\r\n this.fields.setValue(\"Pre-Case Calculation\", \"Case Type Done\", null);\r\n\r\n for (let datum of data) {\r\n if (datum.IsPrimary === \"1\") {\r\n this.fields.setValue(\"Case Types\", \"Case Type\", \"\");\r\n }\r\n\r\n let toAdd = {\r\n name: \"\",\r\n id: \"procedure-\" + datum.ProcedureCode,\r\n primary: ((datum.IsPrimary === \"1\") || (datum.IsAnticipatedPrimary === \"1\")),\r\n details: datum.ProcedureTextValue,\r\n }\r\n\r\n if (datum.IsPrimary === \"1\") {\r\n primary = datum.ProcedureCode;\r\n } else if (datum.IsAnticipatedPrimary === \"1\") {\r\n prePrimary = datum.ProcedureCode;\r\n } else if (datum.IsSecondary === \"1\") {\r\n secondary = secondary + datum.ProcedureCode + + \",\";\r\n } else if (datum.IsAnticipatedSecondary === \"1\") {\r\n preSecondary = preSecondary + datum.ProcedureCode + + \",\";\r\n }\r\n\r\n for (let pl of this.plData) {\r\n if (toAdd.name.length === 0) {\r\n if (datum.ProcedureCode == pl.code) {\r\n toAdd.name = pl.name;\r\n } else {\r\n //go through children\r\n if (pl.children.length > 0 && toAdd.name.length === 0) {\r\n for (let plChild of pl.children) {\r\n if (datum.ProcedureCode == plChild.code) {\r\n toAdd.name = pl.name + \" | \" + plChild.name;\r\n } else {\r\n //go through children\r\n if (plChild.children.length > 0 && toAdd.name.length === 0) {\r\n for (let plChildChild of plChild.children) {\r\n if (datum.ProcedureCode == plChildChild.code) {\r\n toAdd.name = pl.name + \" | \" + plChild.name + \" | \" + plChildChild.name;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (toAdd.name.length > 0) {\r\n toAdd.name = toAdd.name.replace(\" [add details]\", \"\");\r\n }\r\n\r\n if (toAdd.details && toAdd.details.length > 0) {\r\n toAdd.name = toAdd.name + \" | \" + toAdd.details; \r\n }\r\n\r\n if (((datum.IsPrimary === \"1\") || (datum.IsSecondary === \"1\"))){\r\n this.fields.getField(\"Case Types\", \"Recorded Procedures\").value[toAdd.name + \"\"] = toAdd; \r\n } else {\r\n this.fields.getField(\"Pre-Case Calculation\", \"Recorded Procedures\").value[toAdd.name + \"\"] = toAdd;\r\n }\r\n }\r\n\r\n let unordered = this.fields.getField(\"Case Types\", \"Recorded Procedures\").value;\r\n let ordered = {};\r\n Object.keys(unordered).sort().forEach(function (key) {\r\n ordered[key] = unordered[key];\r\n });\r\n this.fields.getField(\"Case Types\", \"Recorded Procedures\").value = ordered;\r\n\r\n let unorderedPre = this.fields.getField(\"Pre-Case Calculation\", \"Recorded Procedures\").value;\r\n let orderedPre = {};\r\n Object.keys(unorderedPre).sort().forEach(function (key) {\r\n orderedPre[key] = unorderedPre[key];\r\n });\r\n this.fields.getField(\"Pre-Case Calculation\", \"Recorded Procedures\").value = orderedPre;\r\n\r\n this.loadCaseTypeGenerated(primary, secondary, prePrimary, preSecondary);\r\n if (this.fields.anticipatedCase) {\n this.fields.getField(\"Case Types\", \"Anticipated Procedures\").hide = false;\r\n }\n\r\n }\r\n\r\n private loadCaseTypeGenerated(primary: string, secondary: string, prePrimary: string, preSecondary: string) { \r\n this.caseTypeCalcService.getCaseType(primary, secondary).subscribe(data => this.validateCaseType(data, \"Case Types\")); \r\n this.caseTypeCalcService.getCaseType(prePrimary, preSecondary).subscribe(data => this.validateCaseType(data, \"Pre-Case Calculation\"));\r\n }\r\n\r\n validateCaseType(ctcr: CaseTypeCalcResponse, name: string) {\r\n if (ctcr.MessageType === \"success\" && ctcr.DataObject.CaseTypeDescription) {\r\n this.fields.setValue(name, \"Case Type\", ctcr.DataObject.CaseTypeDescription);\r\n this.fields.setValue(name, \"Case Type Done\", true);\r\n if (name == \"Pre-Case Calculation\") {\r\n this.fields.getParent('Pre-Case Calculation')['hide'] = false;\r\n }\r\n }\r\n }\r\n\r\n private loadAdverseEvents(data: CaseAEItemModel[]) {\r\n for (let datum of data) { \r\n let toAdd = {\r\n name: \"\",\r\n id: 0,\r\n code: datum.AECODE,\r\n major: datum.AEMajorInd,\r\n seriousness: datum.AESeriousness,\r\n timeneeded: datum.Timeneeded,\r\n aetier: datum.AeTier\r\n };\r\n\r\n if (datum.AEMajorInd === \"1\") {\r\n for (let mae of this.mAEData) {\r\n if (toAdd.id === 0) {\r\n if (datum.AECODE == mae.code) {\r\n toAdd.id = mae.id;\r\n toAdd.name = mae.name;\r\n }\r\n } \r\n } \r\n } else {\r\n for (let ae of this.aEData) {\r\n if (toAdd.id === 0) {\r\n if (datum.AECODE == ae.code) {\r\n toAdd.id = ae.id;\r\n toAdd.name = ae.name;\r\n } else {\r\n //go through children\r\n if (ae.children.length > 0 && toAdd.id === 0) {\r\n for (let aeChild of ae.children) {\r\n if (datum.AECODE == aeChild.code) {\r\n toAdd.id = aeChild.id;\r\n toAdd.name = ae.name + \" | \" + aeChild.name;\r\n } else {\r\n //go through children\r\n if (aeChild.children.length > 0 && toAdd.id === 0) {\r\n for (let aeChildChild of aeChild.children) {\r\n if (datum.AECODE == aeChildChild.code) {\r\n toAdd.id = aeChildChild.id;\r\n toAdd.name = ae.name + \" | \" + aeChild.name + \" | \" + aeChildChild.name;\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 (toAdd.name!=\"\"){ \r\n this.fields.getField(\"Adverse Events\", \"Recorded Events\").value[toAdd.name + \"\"] = toAdd;\r\n }\r\n }\r\n\r\n let unordered = this.fields.getField(\"Adverse Events\", \"Recorded Events\").value;\r\n let ordered = {};\r\n Object.keys(unordered).sort().forEach(function (key) {\r\n ordered[key] = unordered[key];\r\n });\r\n this.fields.getField(\"Adverse Events\", \"Recorded Events\").value = ordered;\r\n }\r\n\r\n private loadIndicators(data: CaseReqResourcesModel[]) {\r\n this.fields.checked6Hours = false;\r\n this.fields.checked24Hours = false; \r\n this.fields.checked48Hours = false;\r\n for (let datum of data) {\r\n let name = datum.ResourceName;\r\n\r\n if (name == \"Nursing Assignment\") {\r\n this.fields.setValue(\"Indicators of Required Resources\", \"Nursing Assignment 6 Hrs Pre-Procedure\", datum.ResourceValue);\r\n } else if (name == \"<6 hrs post-cath\") {\r\n this.fields.setValue(\"Indicators of Required Resources\", \"Nursing Assignment Post-Procedure Before 6hrs\", datum.ResourceValue);\r\n } else if (name == \">6 hrs post-cath\") {\r\n this.fields.setValue(\"Indicators of Required Resources\", \"Nursing Assignment 18 to 24 Hrs Post-Cath\", datum.ResourceValue);\r\n } else if (name == \"48 Hrs Post-Cath\") {\r\n this.fields.setValue(\"Indicators of Required Resources\", \"Nursing Assignment 48 Hrs Post-Cath\", datum.ResourceValue);\r\n } else {\r\n let proc = \"\";\r\n if (datum.IsResUsedPreProcTime === \"1\") {\r\n proc = \"Pre-Procedure\";\r\n } else if (datum.IsResUsedProcTime === \"1\") {\r\n proc = \"Procedural\";\r\n } else if (datum.IsResUsedPostProcTime === \"1\") {\r\n proc = \"Post-Procedure\";\r\n } else if (datum.IsResUsed48HoursTime === \"1\") {\r\n proc = \"48 Hrs Post-Cath\";\r\n }\r\n\r\n\r\n this.fields.setValue(\"Indicators of Required Resources\", name + \" \" + proc, datum.ResourceValue);\r\n this.fields.getField(\"Indicators of Required Resources\", name + \" \" + proc).id = datum.ReqResourceId;\r\n\r\n if (name == \"Checked6Hours\") {\r\n this.fields.checked6Hours = JSON.parse(datum.ResourceValue);\r\n if (this.fields.checked6Hours) {\r\n this.fields.getField(\"Indicators of Required Resources\", \"Nursing Assignment 6 Hrs Pre-Procedure\").hide = true;\r\n }\r\n }\r\n\r\n if (name == \"Checked24Hours\") {\r\n this.fields.checked24Hours = JSON.parse(datum.ResourceValue);\r\n if (this.fields.checked24Hours) {\r\n this.fields.getField(\"Indicators of Required Resources\", \"Nursing Assignment 18 to 24 Hrs Post-Cath\").hide = true;\r\n this.fields.getField(\"Indicators of Required Resources\", \"Nursing Assignment 48 Hrs Post-Cath\").hide = true;\r\n } \r\n }\r\n if (name == \"Checked48Hours\") {\r\n this.fields.checked48Hours = JSON.parse(datum.ResourceValue);\r\n if (this.fields.checked48Hours) {\r\n this.fields.getField(\"Indicators of Required Resources\", \"Nursing Assignment 48 Hrs Post-Cath\").hide = true;\r\n }\r\n }\r\n } \r\n }\r\n }\r\n\r\n private loadEfficacy(data: CaseProcEfficacyModel[]) {\r\n for (let datnum of data) {\r\n if (datnum.EfficacyDataValue == \"0\" || datnum.EfficacyDataValue == \"1\") {\r\n this.fields.setValue(\"Procedural Efficacy\", datnum.EfficacyDataName, datnum.EfficacyDataValue);\r\n this.fields.getField(\"Procedural Efficacy\", datnum.EfficacyDataName).hide = !this.convertTrueFalse(datnum.EfficacyDataValue);\r\n }\r\n else {\r\n let name = datnum.EfficacyDataName;\r\n let proc = \"\";\r\n if (datnum.IsDataPreProcTime === \"1\") {\r\n proc = \"Pre-Procedure\";\r\n } else if (datnum.IsDataPostProcTime === \"1\") {\r\n proc = \"Post-Procedure\";\r\n\r\n }\r\n if (name == \"Peak systolic AV gradient\" || name == \"Aortic regurgitation\" || name == \"Pulmonary regurgitation\"\r\n || name == \"Tricuspid valve regurgitation\" || name == \"Peak systolic gradient at coarctation\") {\r\n this.fields.setValue(\"Procedural Efficacy\", name + \" \" + proc, datnum.EfficacyDataValue);\r\n this.fields.getField(\"Procedural Efficacy\", name + \" \" + proc).id = datnum.CaseProcEfficacyInfoid;\r\n }\r\n else {\r\n \r\n this.fields.setValue(\"Procedural Efficacy\", name, datnum.EfficacyDataValue);\r\n this.fields.getField(\"Procedural Efficacy\", name).id = datnum.CaseProcEfficacyInfoid;\r\n }\r\n }\r\n \r\n }\r\n\r\n }\r\n\r\n\r\n private loadTime(time: string): Date {\r\n if (time.length > 0) {\r\n let today = new Date();\r\n let todaySplit = today.toString().split(\" \");\r\n todaySplit[4] = time;\r\n let d = todaySplit.join(\" \");\r\n return new Date(d);\r\n }\r\n\r\n return null;\r\n }\r\n\r\n private loadDuration(time1: string, time2: string): string {\r\n if (time1.length > 0 && time2.length > 0) {\r\n try {\r\n let time1Array = time1.split(\":\");\r\n let time1Hours = +time1Array[0];\r\n let time1Mins = +time1Array[1];\r\n let time1Full = (time1Hours * 60) + time1Mins;\r\n\r\n let time2Array = time2.split(\":\");\r\n let time2Hours = +time2Array[0];\r\n let time2Mins = +time2Array[1];\r\n let time2Full = (time2Hours * 60) + time2Mins;\r\n\r\n let timeMinutes = 0;\r\n //if inTime is larger than outTime, assume outTime is the next day, so add 1440 minutes to outTime\r\n if (time1Full > time2Full) {\r\n time2Full = time2Full + 1440;\r\n }\r\n timeMinutes = (time2Full - time1Full);\r\n\r\n let hours = Math.floor(timeMinutes / 60);\r\n let minutes = timeMinutes % 60;\r\n\r\n var format = function (val) {\r\n return (val < 10) ? \"0\" + val : val;\r\n }\r\n var timeFormat = function (hr, min) {\r\n return hr + ':' + min;\r\n }\r\n\r\n let hourStr = format(hours);\r\n let minuteStr = format(minutes)\r\n return timeFormat(hourStr, minuteStr);\r\n } catch {\r\n return \"\";\r\n }\r\n }\r\n return \"\";\r\n }\r\n\r\n private convertTrueFalse(type: string): boolean {\r\n if (type == null) {\r\n return null;\r\n }\r\n\r\n return (type === \"1\");\r\n }\r\n\r\n private convertTrueFalseForElective(type: string): boolean {\r\n if (type == null) {\r\n return null;\r\n }\r\n\r\n return (type != \"0\" );\r\n }\r\n\r\n private convertAgeType(type: number): string {\r\n if (type === 0) {\r\n return 'Days';\r\n }\r\n if (type === 1) {\r\n return 'Months';\r\n }\r\n if (type === 2) {\r\n return 'Years';\r\n }\r\n }\r\n\r\n saveCase(casedata: number) {\r\n this.caseService.route = \"editcase\"\r\n this.caseService.saveCaseId = casedata; \r\n }\r\n\r\n ngOnInit() {\r\n localStorage.setItem('previousurl', 'edit-case');\r\n this.fields.caseCreated = true;\r\n }\r\n\r\n ngOnDestroy() {\r\n this.fields.resetFields();\r\n }\r\n}\r\n","module.exports = \"
\\n
\\n
\\n
\\n \\n
\\n
\\n EPISODE OF CARE\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n \\n \\n   \\n \\n \\n\\n \\n
\\n
\\n \\n\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\n
\\n
\\n \\n \\n \\n   \\n \\n   \\n\\n \\n
\\n
\\n
\\n
\\n \\n \\n \\n   \\n \\n   \\n\\n \\n
\\n
\\n \\n \\n \\n   \\n \\n   \\n\\n \\n
\\n
\\n \\n \\n \\n   \\n \\n   \\n \\n \\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n\"","module.exports = \"\"","import { Component, OnInit,ViewChild,HostListener } from '@angular/core';\nimport { CaseFieldsService } from '../case-fields.service';\nimport { LoginService } from \"../../../user/login.service\";\nimport { PicklistItemService } from \"../../../shared-data-entry/picklist-item.service\";\nimport { PicklistItemResponse } from \"../../../../shared/picklist-item-response\";\nimport { PicklistItemModel } from \"../../../../shared/picklist-item-model\";\nimport { DropdownItemModel } from \"../../../../shared/dropdown-item-model\";\nimport { NgForm, FormGroup } from \"@angular/forms\";\r\nimport { ComponentCanDeactivate } from '../../../../CanDeactivateGaurd';\r\nimport { Observable } from 'rxjs';\r\nimport { filter, map, mergeMap, tap } from \"rxjs/operators\";\nimport { Router, ActivatedRoute, ParamMap, NavigationEnd, NavigationStart, RouterEvent } from \"@angular/router\";\n\n@Component({\n selector: 'app-eoc',\n templateUrl: './eoc.component.html',\n styleUrls: ['./eoc.component.scss'],\n host: { 'class': \"host\" }\n})\nexport class EocComponent implements OnInit, ComponentCanDeactivate {\n @ViewChild('form') form: NgForm;\n locationsDropDown = [];\n \n name = \"EOC Admit/Disposition\"\n public fields: CaseFieldsService;\n public user: LoginService;\n public picklistItemService: PicklistItemService;\n constructor(private router: Router,fields: CaseFieldsService, _user: LoginService, _picklistItemService: PicklistItemService) {\n router.events\r\n .pipe(filter(e => e instanceof NavigationStart))\r\n .subscribe((e: NavigationStart) => {\r\n localStorage.setItem('editcase', e.url);\r\n });\n this.fields = fields;\n this.user = _user;\n this.picklistItemService = _picklistItemService;\n\n if (this.user.user) {\n this.picklistItemService\n .getPicklistItem(this.user.user.HospitalId.toString(), \"Post Cath Location\")\n .subscribe(data => this.populatePicklistItems(data));\n }\n }\n\n ngOnInit() {\n \r\n }\n\n @HostListener('window:beforeunload')\r\n canDeactivate(): Observable | boolean {\r\n if (this.form.dirty)\r\n localStorage.setItem('dirty', 'true');\r\n\r\n\r\n return !this.form.dirty;\r\n }\n\n private populatePicklistItems(picklistItemResponse: PicklistItemResponse) {\n this.picklistItemService.picklistItemModel = picklistItemResponse.DataObject;\n this.picklistItemService.mapToDropDown();\n\n this.locationsDropDown = this.picklistItemService.dropDownPicklistItem;\n }\n\n}\n","module.exports = \"
\\n\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\n\\n
\\n
\\n
\\n \\n
\\n
\\n PROCEDURE HEMODYNAMICS\\n
\\n
\\n
    \\n
  • Record baseline characteristics without supplemental oxygen or best estimate if on supplemental oxygen.
  • \\n
\\n
\\n
\\n
\\n\\n
\\n \\n\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n   \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n   \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n   \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Baseline
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Post-Testing
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\n\\n
\\n
\\n
\\n
\\n
\\n
\\n\"","module.exports = \"@import url(\\\"https://fonts.googleapis.com/css?family=Montserrat:400,500,600\\\");@import url(\\\"https://use.fontawesome.com/releases/v5.0.13/css/all.css\\\");.max-height{height:100% !important}.max-width{width:100% !important}.caption li{background:#f6f6f6}\\n\"","import { Component, OnInit , ViewChild , HostListener } from '@angular/core';\nimport { CaseFieldsService } from \"../case-fields.service\";\nimport { LoginService } from \"../../../user/login.service\";\nimport { PicklistItemService } from \"../../../shared-data-entry/picklist-item.service\";\nimport { PicklistItemResponse } from \"../../../../shared/picklist-item-response\";\nimport { PicklistItemModel } from \"../../../../shared/picklist-item-model\";\nimport { DropdownItemModel } from \"../../../../shared/dropdown-item-model\";\nimport { window } from 'rxjs/operators';\r\nimport { NgForm, FormGroup } from \"@angular/forms\";\r\nimport { ComponentCanDeactivate } from '../../../../CanDeactivateGaurd';\r\nimport { Observable } from 'rxjs';\r\nimport { filter, map, mergeMap, tap } from \"rxjs/operators\";\nimport { Router, ActivatedRoute, ParamMap, NavigationEnd, NavigationStart, RouterEvent } from \"@angular/router\";\r\nimport { HemoInfo } from \"../../../../shared/report-model-hemo-info\";\r\n\n@Component({\n selector: 'app-hemodynamics',\n templateUrl: './hemodynamics.component.html',\n styleUrls: ['./hemodynamics.component.scss'],\n host: { 'class': \"host\" }\n})\nexport class HemodynamicsComponent implements OnInit, ComponentCanDeactivate {\n @ViewChild('form') form: NgForm;\n fields: CaseFieldsService;\n user: LoginService;\n picklistItemService: PicklistItemService;\n name = \"Hemodynamics\";\n loading: boolean = false;\n consideredShuntClosure = false;\n isRecommendedForSCClicked = false;\n aVTPerformed = false;\n vasodilatorAgentsDropDown = [];\n vasodilatorAgents = [];\n vasodilatorAgentsSelected = [];\n congitalHeartDiseaseDiagnosisDropDown = [];\n congitalHeartDiseaseDiagnosis = [];\n congitalHeartDiseaseDiagnosisSelected = [];\n constructor(private router: Router, fields: CaseFieldsService, user: LoginService, _picklistItemService: PicklistItemService) {\n router.events\r\n .pipe(filter(e => e instanceof NavigationStart))\r\n .subscribe((e: NavigationStart) => {\r\n localStorage.setItem('editcase', e.url);\r\n });\n \n this.fields = fields;\n this.user = user;\n this.picklistItemService = _picklistItemService;\n\n this.calculateBaseline();\n this.calculatePostTest();\n\n if (this.fields.getValue(this.name, \"Is Recommended for SC\") == null) {\n this.isRecommendedForSCClicked = false;\r\n } else {\n this.isRecommendedForSCClicked = true;\r\n }\n\n if (this.user.user) {\n this.picklistItemService\n .getPicklistItem(this.user.user.HospitalId.toString(), \"Vasodilator Agent\")\n .subscribe(data => this.populatePicklistItemsVA(data));\n } \n }\n\n ngOnInit() {\n \r\n }\n\n\n @HostListener('window:beforeunload')\r\n canDeactivate(): Observable | boolean {\r\n if (localStorage.getItem('dirty') == 'false' || localStorage.getItem('dirty') == null) {\r\n if (localStorage.getItem('hemo') != null) {\n let hemoinfo = new HemoInfo;\r\n hemoinfo.IsSVP = this.convertTrueFalse(this.fields.fields[4].fields[1].value);\r\n hemoinfo.PhysiologicCategory = this.fields.fields[4].fields[2].value;\r\n hemoinfo.IsSVP = this.convertTrueFalse(this.fields.fields[4].fields[3].value);\r\n hemoinfo.SysSatIND = this.convertTrueFalse(this.fields.fields[4].fields[4].value);\r\n hemoinfo.IsMVSATLessThan50Percent = this.convertTrueFalse(this.fields.fields[4].fields[5].value);\r\n hemoinfo.IsPAMeanEqual17mmOrHigher = this.convertTrueFalse(this.fields.fields[4].fields[6].value);\r\n hemoinfo.IsQPQSGreaterThan1Point5 = this.convertTrueFalse(this.fields.fields[4].fields[7].value);\r\n hemoinfo.ISPVREqual3WUROrHigher = this.convertTrueFalse(this.fields.fields[4].fields[8].value);\r\n if (JSON.stringify(hemoinfo) == localStorage.getItem('hemo'))\n localStorage.setItem('dirty', 'false');\n else\n localStorage.setItem('dirty', 'true');\n }\r\n }\r\n return !this.form.dirty;\r\n }\n\n private populatePicklistItemsVA(picklistItemResponse: PicklistItemResponse) {\n this.picklistItemService.picklistItemModel = picklistItemResponse.DataObject;\n this.picklistItemService.mapToDropDown();\n\n this.vasodilatorAgentsDropDown = this.picklistItemService.dropDownPicklistItem;\n this.vasodilatorAgents = this.vasodilatorAgentsDropDown.map(x => x.name);\n\n this.picklistItemService\n .getPicklistItem(this.user.user.HospitalId.toString(), \"Congital Heart Disease Diagnosis\")\n .subscribe(data => this.populatePicklistItemsCHDD(data));\n }\n\n private populatePicklistItemsCHDD(picklistItemResponse: PicklistItemResponse) {\n this.picklistItemService.picklistItemModel = picklistItemResponse.DataObject;\n this.picklistItemService.mapToDropDown();\n\n this.congitalHeartDiseaseDiagnosisDropDown = this.picklistItemService.dropDownPicklistItem;\n this.congitalHeartDiseaseDiagnosis = this.congitalHeartDiseaseDiagnosisDropDown.map(x => x.name);\n\n this.setSelections();\n\n this.consideredShuntClosure = this.fields.getValue(this.name, \"Considered for Shunt Closure\");\n this.aVTPerformed = this.fields.getValue(this.name, \"Acute Vasodilator Testing\");\n }\n\n toggleConsideredShuntClosure(selection: boolean) {\n this.consideredShuntClosure = selection;\r\n\r\n this.fields.setValue(this.name, \"Considered for Shunt Closure\", selection);\r\n }\n\n toggleAVTPerformed(selection: boolean) {\n this.aVTPerformed = selection;\r\n\r\n this.fields.setValue(this.name, \"Acute Vasodilator Testing\", selection);\r\n }\n\n toggleIsRecommendedForSCClicked(selection: boolean) {\n this.isRecommendedForSCClicked = true;\r\n\r\n this.fields.setValue(this.name, \"Is Recommended for SC\", selection);\r\n }\n\n getShowBaseLine() {\n return this.consideredShuntClosure || this.aVTPerformed;\r\n }\n\n getShowPostTesting() {\n return this.aVTPerformed;\r\n }\n\n updateCHDD() {\n let val: Array = [];\n\n for (let c of this.congitalHeartDiseaseDiagnosisSelected) {\n for (let dd of this.congitalHeartDiseaseDiagnosisDropDown) {\r\n if (c == dd.name) {\r\n val.push(dd.code);\r\n }\r\n }\r\n }\n\n this.fields.setValue(this.name, \"Congenital Heart Disease Diagnosis\", val.join('|'));\r\n }\n\n updateNoVA() {\n let val: Array = [];\n\n for (let v of this.vasodilatorAgentsSelected) {\n for (let dd of this.vasodilatorAgentsDropDown) {\r\n if (v == dd.name) {\r\n val.push(dd.code);\r\n }\r\n }\r\n }\n\n this.fields.setValue(this.name, \"Name of Vasodilator Agent\", val.join('|'));\r\n }\n\n setSelections() {\n let chdd = this.fields.getValue(this.name, \"Congenital Heart Disease Diagnosis\");\r\n if (chdd != null && chdd != \"\") {\r\n let resultList: Array = [];\r\n let valList: Array = [];\r\n valList = chdd.split(\"|\");\r\n\r\n for (let v of valList) {\r\n for (let dd of this.congitalHeartDiseaseDiagnosisDropDown) {\r\n if (v == dd.code) {\r\n resultList.push(dd.name);\r\n }\r\n }\r\n }\r\n\r\n this.congitalHeartDiseaseDiagnosisSelected = resultList;\r\n } else {\r\n this.congitalHeartDiseaseDiagnosisSelected = null;\r\n }\r\n\r\n let nva = this.fields.getValue(this.name, \"Name of Vasodilator Agent\");\n if (nva != null && nva != \"\") {\r\n let resultList: Array = [];\r\n let valList: Array = [];\r\n valList = nva.split(\"|\");\r\n\r\n for (let v of valList) {\r\n for (let dd of this.vasodilatorAgentsDropDown) {\r\n if (v == dd.code) {\r\n resultList.push(dd.name);\r\n }\r\n }\r\n }\r\n\r\n this.vasodilatorAgentsSelected = resultList;\r\n } else {\r\n this.vasodilatorAgentsSelected = [];\r\n }\r\n }\n\n calculateBaseline() {\n let pvr = this.fields.getValue(this.name, 'Baseline Pulmonary Vascular Resistance');\r\n let svr = this.fields.getValue(this.name, 'Baseline Systemic Vascular Resistance');\r\n\r\n if (svr > 0) {\r\n this.fields.setValue(this.name, 'Baseline PVR:SVR Ratio', this.round((pvr / svr), 3));\r\n } else {\r\n this.fields.setValue(this.name, 'Baseline PVR:SVR Ratio', null);\r\n }\r\n }\n\n calculatePostTest() {\n let pvr = this.fields.getValue(this.name, 'Post-Testing Pulmonary Vascular Resistance');\r\n let svr = this.fields.getValue(this.name, 'Post-Testing Systemic Vascular Resistance');\r\n\r\n if (svr > 0) {\r\n this.fields.setValue(this.name, 'Post-Testing PVR:SVR Ratio', this.round((pvr / svr), 3));\r\n } else {\r\n this.fields.setValue(this.name, 'Post-Testing PVR:SVR Ratio', null);\r\n }\r\n }\n\n\n round(number, precision) {\n var factor = Math.pow(10, precision);\n var tempNumber = number * factor;\n var roundedTempNumber = Math.round(tempNumber);\n return roundedTempNumber / factor;\n }\n\n ngOnDestroy() {\n if (localStorage.getItem('dirty') == 'false' || localStorage.getItem('dirty') == null) {\r\n if (localStorage.getItem('hemo') != null) {\n let hemoinfo = new HemoInfo;\r\n hemoinfo.IsSVP = this.convertTrueFalse(this.fields.fields[4].fields[1].value);\r\n hemoinfo.PhysiologicCategory = this.fields.fields[4].fields[2].value;\r\n hemoinfo.IsSVP = this.convertTrueFalse(this.fields.fields[4].fields[3].value);\r\n hemoinfo.SysSatIND = this.convertTrueFalse(this.fields.fields[4].fields[4].value);\r\n hemoinfo.IsMVSATLessThan50Percent = this.convertTrueFalse(this.fields.fields[4].fields[5].value);\r\n hemoinfo.IsPAMeanEqual17mmOrHigher = this.convertTrueFalse(this.fields.fields[4].fields[6].value);\r\n hemoinfo.IsQPQSGreaterThan1Point5 = this.convertTrueFalse(this.fields.fields[4].fields[7].value);\r\n hemoinfo.ISPVREqual3WUROrHigher = this.convertTrueFalse(this.fields.fields[4].fields[8].value);\r\n if (JSON.stringify(hemoinfo) == localStorage.getItem('hemo'))\n localStorage.setItem('dirty', 'false');\n else\n localStorage.setItem('dirty', 'true');\n }\r\n }\n }\n\n private convertTrueFalse(type: boolean): string {\r\n\r\n if (type === true) return '1';\r\n else if (type === false || type === null) return '0';\r\n }\n}\n","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n INDICATORS OF REQUIRED RESOURCES
\\r\\n Highest Level of Support During Time Period\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n 6 Hrs Pre-Procedure (+/- 2 Hrs)
\\r\\n

 Same day arrival

\\r\\n
\\r\\n
\\r\\n Procedural
\\r\\n

From entering to leaving lab

\\r\\n
\\r\\n
\\r\\n 18 to 24 Hrs Post-Cath
\\r\\n

 Same day discharge

\\r\\n
\\r\\n
\\r\\n 48 Hrs Post-Cath (+/- 6 Hrs)
\\r\\n

 Discharged (Home)

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

\\r\\n

\\r\\n
\\r\\n
\\r\\n
{{ type.name }}
\\r\\n
Not related to case access.
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Pre-Procedure
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Procedural
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
24 Hours Post-Cath
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
48 Hours Post-Cath
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","module.exports = \"@import url(\\\"https://fonts.googleapis.com/css?family=Montserrat:400,500,600\\\");@import url(\\\"https://use.fontawesome.com/releases/v5.0.13/css/all.css\\\");.max-height{height:100% !important}.max-width{width:100% !important}@media (min-width: 996px){.b-border{border-bottom:1px solid #ddd;padding-bottom:10px;padding-top:10px}}.h-line{border-bottom:2px solid #ddd;margin-top:20px;margin-bottom:1px}.push-down{margin-top:20px}.push-up{margin-top:-20px}.type-label{width:100%;text-align:center}.sub-title-text{font-size:15px}.secondRow{font-weight:100;font-size:small}.ng-select.graybox::ng-deep .ng-select-container .ng-arrow-wrapper .ng-arrow{border-color:#eee transparent transparent;border-style:solid;border-width:5px 5px 2.5px}\\n\"","import { Component, OnInit ,ViewChild,HostListener} from \"@angular/core\";\nimport { LoginService } from \"../../../user/login.service\";\nimport { PicklistItemService } from \"../../../shared-data-entry/picklist-item.service\";\nimport { PicklistItemResponse } from \"../../../../shared/picklist-item-response\";\nimport { PicklistItemModel } from \"../../../../shared/picklist-item-model\";\nimport { DropdownItemModel } from \"../../../../shared/dropdown-item-model\";\nimport { CaseFieldsService } from \"../case-fields.service\";\nimport { NgForm, FormGroup } from \"@angular/forms\";\r\nimport { ComponentCanDeactivate } from '../../../../CanDeactivateGaurd';\r\nimport { Observable } from 'rxjs';\r\nimport { filter, map, mergeMap, tap } from \"rxjs/operators\";\nimport { Router, ActivatedRoute, ParamMap, NavigationEnd, NavigationStart, RouterEvent } from \"@angular/router\";\n\n@Component({\n selector: \"app-indicators\",\n templateUrl: \"./indicators.component.html\",\n styleUrls: [\"./indicators.component.scss\"],\n host: { class: \"host\" }\n})\nexport class IndicatorsComponent implements OnInit, ComponentCanDeactivate {\n @ViewChild('form') form: NgForm;\n private procs: Array = [\"Pre-Procedure\", \"Procedural\", \"Post-Procedure\",'48 Hrs Post-Cath'];\n private procsNA: Array = [\"6 Hrs Pre-Procedure\",\"Post-Procedure Before 6hrs\", \"18 to 24 Hrs Post-Cath\",\"48 Hrs Post-Cath\"];\n\n airwayManagement = [];\n ventilation = [];\n sedation = [];\n lines = [];\n drains = [];\n mechanicalSupport = [];\n IVMedications = [];\n nursingAssignment0 = [];\n nursingAssignment1 = [];\n nursingAssignment2 = [];\n nursingAssignment3 = [];\n\n disabled = [\"Not Applicable\"];\n selectedDisabled = [\"Not Applicable\"];\n name = \"Indicators of Required Resources\";\n types = [];\n\n public user: LoginService;\n public picklistItemService: PicklistItemService;\n public fields: CaseFieldsService;\n constructor(private router: Router,_user: LoginService, _picklistItemService: PicklistItemService, fields: CaseFieldsService) {\n router.events\r\n .pipe(filter(e => e instanceof NavigationStart))\r\n .subscribe((e: NavigationStart) => {\r\n localStorage.setItem('editcase', e.url);\r\n });\n this.user = _user;\n this.fields = fields;\n\n if (this.user.user) {\n this.picklistItemService = _picklistItemService;\n this.picklistItemService\n .getPicklistItem(this.user.user.HospitalId.toString(), \"ALL\")\n .subscribe(data => this.populatePicklistItems(data));\n }\n }\n\n\n @HostListener('window:beforeunload')\r\n canDeactivate(): Observable | boolean {\r\n\r\n if (this.form.dirty)\r\n localStorage.setItem('dirty', 'true');\r\n\r\n\r\n return !this.form.dirty;\r\n }\n\n private populatePicklistItems(picklistItemResponse: PicklistItemResponse) {\n this.picklistItemService.picklistItemModel = picklistItemResponse.DataObject;\n this.picklistItemService.mapToDropDown();\n\n this.airwayManagement = this.picklistItemService.dropDownPicklistItem\n .filter(x => x.description === \"Airway Management\")\n .map(x => x.name);\n this.ventilation = this.picklistItemService.dropDownPicklistItem\n .filter(x => x.description === \"Ventilation\")\n .map(x => x.name);\n this.sedation = this.picklistItemService.dropDownPicklistItem\n .filter(x => x.description === \"Sedation\")\n .map(x => x.name);\n this.lines = this.picklistItemService.dropDownPicklistItem\n .filter(x => x.description === \"Lines\")\n .map(x => x.name);\n this.drains = this.picklistItemService.dropDownPicklistItem\n .filter(x => x.description === \"Drains\")\n .map(x => x.name);\n this.mechanicalSupport = this.picklistItemService.dropDownPicklistItem\n .filter(x => x.description === \"Mechanical Support\")\n .map(x => x.name);\n this.IVMedications = this.picklistItemService.dropDownPicklistItem\n .filter(x => x.description === \"IV Medications\")\n .map(x => x.name);\n this.nursingAssignment0 = this.picklistItemService.dropDownPicklistItem\n .filter(x => x.description === \"Nursing Assignment\")\n .map(x => x.name);\n this.nursingAssignment1 = this.picklistItemService.dropDownPicklistItem\n .filter(x => x.description === \"<6 hrs post-cath\")\n .map(x => x.name);\n this.nursingAssignment2 = this.picklistItemService.dropDownPicklistItem\n .filter(x => x.description === \">6 hrs post-cath\")\n .map(x => x.name);\n this.nursingAssignment3 = this.picklistItemService.dropDownPicklistItem\n .filter(x => x.description === \"48 Hrs Post-Cath\")\n .map(x => x.name);\n\n this.sedation.unshift(\"None\");\n this.lines.unshift(\"None\");\n this.drains.unshift(\"None\");\n this.mechanicalSupport.unshift(\"None\");\n this.IVMedications.unshift(\"None\");\n\n this.types = [\n {\n name: \"Airway Management\",\n multiple: false,\n id: \"airwayManagement\",\n items: this.airwayManagement,\n selections: [\n \"\", \"\", \"\"\n ]\n },\n {\n name: \"Ventilation\",\n multiple: true,\n items: this.ventilation,\n id: \"ventilation\",\n selections: [\n [\"\"], [\"\"], [\"\"]\n ]\n },\n {\n name: \"Sedation\",\n multiple: false,\n items: this.sedation,\n id: \"sedation\",\n selections: [\n \"\", \"\", \"\"\n ]\n },\n {\n name: \"Lines\",\n multiple: true,\n items: this.lines,\n id: \"lines\",\n selections: [\n [\"\"], [\"\"], [\"\"]\n ]\n },\n {\n name: \"Drains\",\n multiple: true,\n items: this.drains,\n id: \"drains\",\n selections: [\n [\"\"], [\"\"], [\"\"]\n ]\n },\n {\n name: \"Mechanical Support\",\n multiple: true,\n items: this.mechanicalSupport,\n id: \"mechanicalSupport\",\n selections: [\n [\"\"], [\"\"], [\"\"]\n ]\n },\n {\n name: \"IV Medications\",\n multiple: true,\n items: this.IVMedications,\n id: \"IVMedications\",\n selections: [\n [\"\"], [\"\"], [\"\"]\n ]\n },\n {\n name: \"Nursing Assignment\",\n multiple: false,\n items: this.nursingAssignment0,\n id: \"nursing-assignment\",\n selections: [\n \"\", \"\", \"\"\n ]\n }\n ];\n\n this.setSelectionFromFields(this.types);\n }\n\n ngOnInit() {\n \r\n }\n\n checkNone(event, type, period): boolean {\n var arr = type.selections[period].splice(0);\n const index = arr.indexOf(\"None\");\n let hasNone = type.items.indexOf(\"None\") > -1;\n if (arr.length === 0) {\n if (hasNone) {\n arr = [\"None\"];\n } else {\n arr = [type.items[0]];\n }\n }\n if (index === 0 && arr.length > 1) {\n arr.shift();\n }\n if (index == arr.length - 1) {\n arr = [arr[arr.length - 1]];\n }\n type.selections[period] = arr;\n\n return true;\n }\n\n private setSelectionFromFields(types) {\n try {\n let period: Array = [0, 1, 2, 3];\n for (let t of types) {\r\n for (let p of period) {\r\n let list = null;\r\n if (t.name != \"Nursing Assignment\") {\r\n list = this.picklistItemService.dropDownPicklistItem.filter(x => x.description === t.name);\r\n } else {\r\n if (p == 0) {\r\n list = this.picklistItemService.dropDownPicklistItem.filter(x => x.description === t.name);\r\n } else if (p == 1) {\r\n list = this.picklistItemService.dropDownPicklistItem.filter(x => x.description === \"<6 hrs post-cath\");\r\n } else if (p == 2) {\r\n list = this.picklistItemService.dropDownPicklistItem.filter(x => x.description === \">6 hrs post-cath\");\r\n } else if (p == 3) {\r\n list = this.picklistItemService.dropDownPicklistItem.filter(x => x.description === \"48 Hrs Post-Cath\");\r\n }\r\n }\r\n\r\n let val = \"\";\r\n if (t.name != \"Nursing Assignment\") {\r\n val = this.fields.getValue(this.name, (t.name + \" \" + this.procs[p]));\r\n } else {\r\n val = this.fields.getValue(this.name, (t.name + \" \" + this.procsNA[p]));\r\n }\r\n\r\n if (t.multiple) {\r\n let valMap: Array = [];\r\n let valList: Array = [];\r\n if (val != null) {\r\n valList = val.split(\"|\");\r\n }\r\n\r\n for (let v of valList) {\r\n for (let dropDownItem of list) {\r\n if (dropDownItem.code === v) {\r\n valMap.push(dropDownItem.name);\r\n }\r\n }\r\n }\r\n\r\n if (valMap.length === 0) {\r\n valMap = [\"None\"];\r\n }\r\n\r\n t.selections[p] = valMap;\r\n } else {\r\n let valMap = null;\r\n for (let dropDownItem of list) {\r\n if (dropDownItem.code === val) {\r\n valMap = dropDownItem.name;\r\n }\r\n }\r\n\r\n if (valMap == null && t.name != \"Nursing Assignment\") {\r\n valMap = \"None\";\r\n }\r\n\r\n t.selections[p] = valMap;\r\n }\r\n }\r\n }\r\n } catch (ex) {\r\n console.log(ex);\r\n }\r\n }\n\n public updateFields(type, period): boolean {\n try {\r\n let val = type.selections[period];\r\n\r\n let list = null;\r\n if (type.name != \"Nursing Assignment\") {\r\n list = this.picklistItemService.dropDownPicklistItem.filter(x => x.description === type.name);\r\n } else {\r\n if (period == 0) {\r\n list = this.picklistItemService.dropDownPicklistItem.filter(x => x.description === type.name);\r\n } else if (period == 1) {\r\n list = this.picklistItemService.dropDownPicklistItem.filter(x => x.description === \"<6 hrs post-cath\");\r\n } else if (period == 2) {\r\n list = this.picklistItemService.dropDownPicklistItem.filter(x => x.description === \">6 hrs post-cath\");\r\n } else if (period == 3) {\r\n list = this.picklistItemService.dropDownPicklistItem.filter(x => x.description === \"48 Hrs Post-Cath\");\r\n }\r\n\r\n }\r\n\r\n if (type.multiple) {\r\n let valMap = [];\r\n\r\n for (let select of val) {\r\n for (let dropDownItem of list) {\r\n if (dropDownItem.name === select) {\r\n valMap.push(dropDownItem.code);\r\n }\r\n }\r\n }\r\n if (valMap != null && valMap.length > 0) {\r\n this.fields.setValue(this.name, (type.name + \" \" + this.procs[period]), valMap.join(\"|\"));\r\n } else {\r\n this.fields.setValue(this.name, (type.name + \" \" + this.procs[period]), \"\");\r\n }\r\n } else {\r\n let valMap = null;\r\n for (let dropDownItem of list) {\r\n if (dropDownItem.name === val) {\r\n valMap = dropDownItem.code;\r\n }\r\n }\r\n \r\n if (type.name != \"Nursing Assignment\") {\r\n this.fields.setValue(this.name, (type.name + \" \" + this.procs[period]), valMap);\r\n } else {\r\n this.fields.setValue(this.name, (type.name + \" \" + this.procsNA[period]), valMap);\r\n }\r\n }\r\n } catch (ex) {\r\n console.log(ex);\r\n }\r\n\r\n return true;\r\n }\n\n on6HoursChange(e) { // here e is a native event\r\n this.fields.checked6Hours = e.target.checked;\r\n if (e.target.checked) {\r\n this.fields.getField(\"Indicators of Required Resources\", \"Nursing Assignment 6 Hrs Pre-Procedure\").hide = true;\r\n } else {\r\n this.fields.getField(\"Indicators of Required Resources\", \"Nursing Assignment 6 Hrs Pre-Procedure\").hide = false;\r\n }\r\n }\n\n on24HoursChange(e) { // here e is a native event\r\n this.fields.checked24Hours = e.target.checked;\r\n if (e.target.checked) {\r\n this.fields.getField(\"Indicators of Required Resources\", \"Nursing Assignment 18 to 24 Hrs Post-Cath\").hide = true;\r\n this.fields.getField(\"Indicators of Required Resources\", \"Nursing Assignment 48 Hrs Post-Cath\").hide = true;\r\n } else {\r\n this.fields.getField(\"Indicators of Required Resources\", \"Nursing Assignment 18 to 24 Hrs Post-Cath\").hide = false;\r\n if (!this.fields.checked48Hours) {\r\n this.fields.getField(\"Indicators of Required Resources\", \"Nursing Assignment 48 Hrs Post-Cath\").hide = false;\r\n }\r\n }\r\n }\n\n on48HoursChange(e) { // here e is a native event\r\n this.fields.checked48Hours = e.target.checked;\r\n if (e.target.checked) {\r\n this.fields.getField(\"Indicators of Required Resources\", \"Nursing Assignment 48 Hrs Post-Cath\").hide = true;\r\n } else {\r\n this.fields.getField(\"Indicators of Required Resources\", \"Nursing Assignment 48 Hrs Post-Cath\").hide = false;\r\n }\r\n }\n\n}\n","module.exports = \"
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Case Completed\\r\\n Validation Complete\\r\\n Missing Fields\\r\\n
\\r\\n
\\r\\n
\\r\\n {{completedCaseText}}\\r\\n
\\r\\n
\\r\\n All fields to complete this case have been entered, to Mark As Complete please press the button below\\r\\n
\\r\\n
\\r\\n You must enter the following fields to complete this case:\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\"","module.exports = \"@import url(\\\"https://fonts.googleapis.com/css?family=Montserrat:400,500,600\\\");@import url(\\\"https://use.fontawesome.com/releases/v5.0.13/css/all.css\\\");.max-height{height:100% !important}.max-width{width:100% !important}.error-border{display:block;margin:0.5rem;background:rgba(220,53,69,0.3);color:#dc3545;border-radius:4px;height:100%;padding:10px}.error-border:hover{-ms-box-shadow:0px 0px 20px -7px rgba(0,0,0,0.8);box-shadow:0px 0px 20px -7px}.error-border .sect-header{border-bottom-color:#dc3545;border-bottom-style:solid;border-bottom-width:2px}.error-border .flex-item{margin:5px;padding:5px;border-radius:4px;background:white;-ms-box-shadow:0px 0px 20px -7px rgba(0,0,0,0.8);box-shadow:0px 0px 20px -7px}\\n\"","import { Component, OnInit, DoCheck } from '@angular/core';\nimport { Observable, pipe } from 'rxjs';\nimport { map, takeUntil, tap } from 'rxjs/operators';\nimport { Router } from '@angular/router';\nimport { Location } from '@angular/common';\nimport { CaseFieldsService } from '../case-fields.service';\nimport { CaseService } from '../case.service';\nimport { CaseResponse } from \"../../../../shared/case/case-response\";\nimport { CaseModel } from '../../../../shared/case/case-model';\nimport { CaseSaveStatusModel } from '../../../../shared/case-save/case-save-status-model';\nimport { CaseSaveResponse } from '../../../../shared/case-save/case-save-response';\nimport { CaseReqResourcesModel } from '../../../../shared/case/case-req-resources-model';\nimport { CaseProcEfficacyModel } from '../../../../shared/case/case-proc-efficacy-model';\nimport { CaseProcAssignmentModel } from '../../../../shared/case/case-proc-assignment-model';\nimport { CaseAEItemModel } from '../../../../shared/case/case-ae-item-model';\nimport { LoginService } from \"../../../user/login.service\";\nimport { MarkCaseCompleteResponse } from '../../../../shared/case-save/mark-case-complete-response';\nimport { CasePreCalcInfoModel } from '../../../../shared/case/case-pre-calc-info-model';\nimport { CaseHemoDynamicsInfoModel } from '../../../../shared/case/case-hemo-dynamics-info-model';\n\ndeclare var jquery: any;\ndeclare var $: any;\n\n@Component({\n selector: 'app-missing-fields',\n templateUrl: './missing-fields.component.html',\n styleUrls: ['./missing-fields.component.scss'],\n host: { class: \"host\" }\n})\nexport class MissingFieldsComponent implements OnInit, DoCheck {\n public loadCaseRun: boolean = false;\n public isNewCase: boolean = false;\n public isComplete: boolean = false;\n public completedCaseText: string = '';\n public saveCaseText: string = '';\n public caseLoadingText: string = '';\n\n public fields: CaseFieldsService;\n public caseService: CaseService;\n public user: LoginService;\n constructor(fields: CaseFieldsService, _caseService: CaseService, _user: LoginService, private router: Router, private location: Location) {\n\n localStorage.setItem('savecase', 'savecase');\n this.user = _user;\n if (this.user.IsReadOnlyUser()) {\n this.location.back();\r\n }\n\n this.fields = fields;\n this.caseService = _caseService; \n }\n\n ngOnInit() {\n this.completedCaseText = '';\n this.saveCaseText = '';\n this.caseLoadingText = '';\n this.fields.validate = true;\n\n let url = this.router.url;\n let isNotPostSave = (url.indexOf(\"post-save\") === -1);\n if (!isNotPostSave) {\n let urlSplit = url.split(\"/\");\n let caseId = urlSplit[urlSplit.length - 1];\n\r\n this.saveCaseText = 'Case has been created and saved (Case ID: ' + caseId + ')';\r\n }\n\n this.checkCaseLoaded();\n }\n\n ngDoCheck() {\n if (this.loadCaseRun === false) {\n this.checkCaseLoaded();\r\n }\r\n }\n\n private checkCaseLoaded() { \r\n if (this.fields.caseLoaded == false) {\r\n $('body').addClass('wait-overlay');\r\n this.caseLoadingText = 'Case is still loading...';\r\n } else {\r\n $('body').removeClass('wait-overlay');\r\n this.caseLoadingText = '';\r\n this.loadCase();\r\n } \r\n }\n\n private loadCase() {\n this.loadCaseRun = true;\n this.isComplete = this.fields.isComplete();\n\n let url = this.router.url;\n let isNotPostSave = (url.indexOf(\"post-save\") === -1);\n if (isNotPostSave) {\n console.log(this.fields.fields);\n this.caseService.clearCase();\n\n this.caseService.case.HospitalId = +this.fields.getField(\"Case Identification\", 'Hospital').value;\n this.caseService.case.CaseUpdatedby = this.user.user.UserId.toString();\n this.caseService.case.CaseId = +this.fields.getField(\"Case Identification\", 'Case Number').value;\n this.caseService.case.PrimaryOperatorId = +this.fields.getField(\"Case Identification\", 'Operator').value;\n this.caseService.case.CathDate = this.formatDate(this.fields.getField(\"Case Identification\", 'Cath Date').value);\n\n if (this.caseService.case.CathDate == '' && isNotPostSave) {\n this.fields.validate = false;\r\n this.fields.validateDate = true;\r\n let nav = this.fields.getParent(\"Case Identification\")[\"link\"];\r\n this.router.navigate([nav]);\r\n } else {\r\n this.fields.validateDate = false;\r\n if (this.formatTime(this.fields.getField(\"Case Identification\", 'Case Time').value)!= null) {\r\n this.caseService.case.CathDate = this.formatDate(this.fields.getField(\"Case Identification\", 'Cath Date').value) + ' ' + this.formatTime(this.fields.getField(\"Case Identification\", 'Case Time').value);\r\n }\n this.caseService.case.CaseClinicalInfo.CaseClinicalInfoId = this.fields.getField(\"Clinical Characteristics\", 'Id').value;\n this.caseService.case.CaseClinicalInfo.Updatedby = this.caseService.case.CaseUpdatedby;\n this.caseService.case.CaseClinicalInfo.CaseId = this.caseService.case.CaseId;\r\n this.caseService.case.CaseClinicalInfo.PatAge = this.fields.getField(\"Clinical Characteristics\", 'Age').value;\r\n this.caseService.case.CaseClinicalInfo.PatAgeType = this.getAgeType(this.fields.getField(\"Clinical Characteristics\", 'Age Unit').value);\r\n this.caseService.case.CaseClinicalInfo.PatSex = this.fields.getField(\"Clinical Characteristics\", 'Sex').value;\r\n this.caseService.case.CaseClinicalInfo.PatWeight = this.fields.getField(\"Clinical Characteristics\", 'Weight').value;\r\n this.caseService.case.CaseClinicalInfo.PatHeight = this.fields.getField(\"Clinical Characteristics\", 'Height').value;\r\n this.caseService.case.CaseClinicalInfo.PatBSA = this.fields.getField(\"Clinical Characteristics\", 'BSA').value;\r\n this.caseService.case.CaseClinicalInfo.StsDiagCode = this.setStsDiagCode();\r\n this.caseService.case.CaseClinicalInfo.PrevCathlast90dInd = this.getTrueFalse(this.fields.getField(\"Clinical Characteristics\", 'Date Last Cath').value);\r\n this.caseService.case.CaseClinicalInfo.PrevSurglast90dInd = this.getTrueFalse(this.fields.getField(\"Clinical Characteristics\", 'Date Last Cardiac Surgery').value);\r\n this.caseService.case.CaseClinicalInfo.GenSyndromeInd = this.getTrueFalse(this.fields.getField(\"Clinical Characteristics\", 'Genetic Syndrome').value);\r\n this.caseService.case.CaseClinicalInfo.NonCardiacProbInd = this.getTrueFalse(!this.fields.getField(\"Clinical Characteristics\", 'Non-cardiac Problems').hide);\n this.caseService.case.CaseClinicalInfo.NonCardiacProbValues = this.fields.getField(\"Clinical Characteristics\", 'Non-cardiac Problems').value;\n\n this.caseService.case.CaseProcedureInfo.CaseProccharInfoId = this.fields.getField(\"Procedure Characteristics\", 'Id').value;\n this.caseService.case.CaseProcedureInfo.Updatedby = this.caseService.case.CaseUpdatedby;\r\n this.caseService.case.CaseProcedureInfo.CaseId = this.caseService.case.CaseId;\r\n this.caseService.case.CaseProcedureInfo.FluroTime = this.fields.getField(\"Procedure Characteristics\", 'Total Fluoro Time').value;\r\n //this.fields.getField(\"Procedure Characteristics\", \"Total Fluoro Time\").hide = true;\r\n this.caseService.case.CaseProcedureInfo.TotalDap = this.fields.getField(\"Procedure Characteristics\", 'Total DAP').value;\r\n //this.fields.getField(\"Procedure Characteristics\", \"Total DAP\").hide = true;\r\n this.caseService.case.CaseProcedureInfo.SheathCathInDateTime = this.formatTime(this.fields.getField(\"Procedure Characteristics\", 'Sheath-in Time').value);\r\n this.caseService.case.CaseProcedureInfo.SheathCathOutDateTime = this.formatTime(this.fields.getField(\"Procedure Characteristics\", 'Sheath-out Time').value);\r\n this.caseService.case.CaseProcedureInfo.BloodTransfusion = this.getTrueFalse(this.fields.getField(\"Procedure Characteristics\", 'Blood Transfusions').value);\n\n if (this.user.IsIqicUser()) {\n this.caseService.case.CaseAddlProcedureInfo.CaseAddlProccharInfoId = this.fields.getField(\"Procedure Characteristics\", 'AddlId').value;\r\n this.caseService.case.CaseAddlProcedureInfo.Updatedby = this.caseService.case.CaseUpdatedby;\r\n this.caseService.case.CaseAddlProcedureInfo.CaseId = this.caseService.case.CaseId;\r\n this.caseService.case.CaseAddlProcedureInfo.FluroPerformedType = this.getTrueFalse(this.fields.getField(\"Procedure Characteristics\", 'Type Fluoro Performed').value);\r\n this.caseService.case.CaseAddlProcedureInfo.TotalContrastVolumeVal = this.fields.getField(\"Procedure Characteristics\", 'Total Contrast Volume').value;\r\n this.caseService.case.CaseAddlProcedureInfo.TotalContrastVolumePerKg = this.fields.getField(\"Procedure Characteristics\", 'Total Contrast Volume Per Kg').value;\r\n this.caseService.case.CaseAddlProcedureInfo.PreCathHemoglobinVal = this.fields.getField(\"Procedure Characteristics\", 'Pre Cath Hemoglobin').value;\r\n } else {\n this.caseService.case.CaseAddlProcedureInfo = null;\r\n }\n\n if (this.fields.getField(\"Pre-Case Calculation\", 'Single Ventricle Physiology').value != null) {\n this.caseService.case.CasePreCalcInfo = new CasePreCalcInfoModel;\n this.caseService.case.CasePreCalcInfo.CasePrecalcinfoId = this.fields.getField(\"Pre-Case Calculation\", 'Id').value;\n this.caseService.case.CasePreCalcInfo.Updatedby = this.caseService.case.CaseUpdatedby;\r\n this.caseService.case.CasePreCalcInfo.CaseId = this.caseService.case.CaseId;\r\n this.caseService.case.CasePreCalcInfo.IsSingleVenPhysiology = this.getTrueFalse(this.fields.getField(\"Pre-Case Calculation\", 'Single Ventricle Physiology').value);\r\n this.caseService.case.CasePreCalcInfo.PhysiologicCategory = this.fields.getField(\"Pre-Case Calculation\", 'Physiologic Category').value;\r\n this.caseService.case.CasePreCalcInfo.IsSVEDP = this.getTrueFalse(this.fields.getField(\"Pre-Case Calculation\", 'SV EDP').value);\r\n this.caseService.case.CasePreCalcInfo.IsSysSat = this.getTrueFalse(this.fields.getField(\"Pre-Case Calculation\", 'Sys Sat').value);\r\n this.caseService.case.CasePreCalcInfo.IsMvSat = this.getTrueFalse(this.fields.getField(\"Pre-Case Calculation\", 'MV Sat').value);\r\n this.caseService.case.CasePreCalcInfo.IsPAMean = this.getTrueFalse(this.fields.getField(\"Pre-Case Calculation\", 'PA').value);\r\n this.caseService.case.CasePreCalcInfo.IsQPQS = this.getTrueFalse(this.fields.getField(\"Pre-Case Calculation\", 'Qp:Qs').value);\r\n this.caseService.case.CasePreCalcInfo.IsPVR = this.getTrueFalse(this.fields.getField(\"Pre-Case Calculation\", 'PVR').value);\r\n } else {\n this.caseService.case.CasePreCalcInfo = null;\r\n }\n\n if (this.fields.getField(\"Hemodynamics\", 'Single Ventricle Physiology').value != null) {\n this.caseService.case.CaseHemoDynamicInfo = new CaseHemoDynamicsInfoModel;\n this.caseService.case.CaseHemoDynamicInfo.CaseHemoDynamicsInfoId = this.fields.getField(\"Hemodynamics\", 'Id').value;\n this.caseService.case.CaseHemoDynamicInfo.Updatedby = this.caseService.case.CaseUpdatedby;\r\n this.caseService.case.CaseHemoDynamicInfo.CaseId = this.caseService.case.CaseId;\r\n this.caseService.case.CaseHemoDynamicInfo.IsSingleVenPhysiology = this.getTrueFalse(this.fields.getField(\"Hemodynamics\", 'Single Ventricle Physiology').value);\r\n this.caseService.case.CaseHemoDynamicInfo.PhysiologicCategory = this.fields.getField(\"Hemodynamics\", 'Physiologic Category').value;\r\n this.caseService.case.CaseHemoDynamicInfo.IsSVEDP = this.getTrueFalse(this.fields.getField(\"Hemodynamics\", 'SV EDP').value);\r\n this.caseService.case.CaseHemoDynamicInfo.IsSysSat = this.getTrueFalse(this.fields.getField(\"Hemodynamics\", 'Sys Sat').value);\r\n this.caseService.case.CaseHemoDynamicInfo.IsMvSat = this.getTrueFalse(this.fields.getField(\"Hemodynamics\", 'MV Sat').value);\r\n this.caseService.case.CaseHemoDynamicInfo.IsPAMean = this.getTrueFalse(this.fields.getField(\"Hemodynamics\", 'PA').value);\r\n this.caseService.case.CaseHemoDynamicInfo.IsQPQS = this.getTrueFalse(this.fields.getField(\"Hemodynamics\", 'Qp:Qs').value);\r\n this.caseService.case.CaseHemoDynamicInfo.IsPVR = this.getTrueFalse(this.fields.getField(\"Hemodynamics\", 'PVR').value);\r\n } else {\n this.caseService.case.CaseHemoDynamicInfo = null;\r\n }\n\n if (this.user.IsIqicUser()) {\n this.caseService.case.CaseAddlHemoDynamicInfo.CaseAddlHemoDynamicId = this.fields.getField(\"Hemodynamics\", 'AddlId').value;\r\n this.caseService.case.CaseAddlHemoDynamicInfo.CaseId = this.caseService.case.CaseId;\r\n this.caseService.case.CaseAddlHemoDynamicInfo.Updatedby = this.caseService.case.CaseUpdatedby;\r\n this.caseService.case.CaseAddlHemoDynamicInfo.IsShuntClosure = this.getTrueFalse(this.fields.getField(\"Hemodynamics\", 'Considered for Shunt Closure').value);\r\n this.caseService.case.CaseAddlHemoDynamicInfo.IsRecommendedforSC = this.getTrueFalse(this.fields.getField(\"Hemodynamics\", 'Is Recommended for SC').value);\r\n this.caseService.case.CaseAddlHemoDynamicInfo.IsAVTestingPerfomed = this.getTrueFalse(this.fields.getField(\"Hemodynamics\", 'Acute Vasodilator Testing').value);\r\n this.caseService.case.CaseAddlHemoDynamicInfo.CongentialHDDiagVal = this.fields.getField(\"Hemodynamics\", 'Congenital Heart Disease Diagnosis').value;\r\n this.caseService.case.CaseAddlHemoDynamicInfo.VasodilatorAgentName = this.fields.getField(\"Hemodynamics\", 'Name of Vasodilator Agent').value;\r\n this.caseService.case.CaseAddlHemoDynamicInfo.BasePVRIWuVal = this.fields.getField(\"Hemodynamics\", 'Baseline Pulmonary Vascular Resistance').value;\r\n this.caseService.case.CaseAddlHemoDynamicInfo.BaseSVRWuVal = this.fields.getField(\"Hemodynamics\", 'Baseline Systemic Vascular Resistance').value;\r\n this.caseService.case.CaseAddlHemoDynamicInfo.BasePVRSVRWuRatioVal = this.fields.getField(\"Hemodynamics\", 'Baseline PVR:SVR Ratio').value;\r\n this.caseService.case.CaseAddlHemoDynamicInfo.BaseQPQARatioVal = this.fields.getField(\"Hemodynamics\", 'Baseline Qp:Qs Ratio').value;\r\n this.caseService.case.CaseAddlHemoDynamicInfo.BaseCardIndCIVal = this.fields.getField(\"Hemodynamics\", 'Baseline Cardiac Index').value;\r\n this.caseService.case.CaseAddlHemoDynamicInfo.PostPVRIWuVal = this.fields.getField(\"Hemodynamics\", 'Post-Testing Pulmonary Vascular Resistance').value;\r\n this.caseService.case.CaseAddlHemoDynamicInfo.PostSVRWuVal = this.fields.getField(\"Hemodynamics\", 'Post-Testing Systemic Vascular Resistance').value;\r\n this.caseService.case.CaseAddlHemoDynamicInfo.PostPVRSVRWuRatioVal = this.fields.getField(\"Hemodynamics\", 'Post-Testing PVR:SVR Ratio').value;\r\n this.caseService.case.CaseAddlHemoDynamicInfo.PostQPQARatioVal = this.fields.getField(\"Hemodynamics\", 'Post-Testing Qp:Qs Ratio').value;\r\n this.caseService.case.CaseAddlHemoDynamicInfo.PostCardIndCIVal = this.fields.getField(\"Hemodynamics\", 'Post-Testing Cardiac Index').value;\r\n } else {\n this.caseService.case.CaseAddlHemoDynamicInfo = null;\r\n }\n\r\n this.caseService.case.CaseProcAssingedlist = this.setCaseTypes(this.caseService.case.CaseUpdatedby, this.caseService.case.CaseId);\r\n\r\n this.caseService.case.CaseProcAEInfo.Updatedby = this.caseService.case.CaseUpdatedby;\r\n this.caseService.case.CaseProcAEInfo.CaseId = this.caseService.case.CaseId;\r\n this.caseService.case.CaseProcAEInfo.caseAEItems = this.setAdverseEvents(this.caseService.case.CaseUpdatedby, this.caseService.case.CaseId);\r\n this.caseService.case.CaseProcAEInfo.PatientDie = this.fields.getField(\"Adverse Events\", \"Patient Die\").value;\r\n this.caseService.case.CaseProcAEInfo.UnanticipatedCath = this.fields.getField(\"Adverse Events\", \"Unanticipated Catheterization\").value;\r\n this.caseService.case.CaseProcAEInfo.UnanticipatedSurg = this.fields.getField(\"Adverse Events\", \"Unanticipated Surgery\").value;\r\n if (this.caseService.case.CaseProcAEInfo.caseAEItems.length > 0) {\r\n this.caseService.case.CaseProcAEInfo.CaseAENotes = this.fields.getField(\"Adverse Events\", \"Description\").value;\r\n } else {\r\n this.caseService.case.CaseProcAEInfo.CaseAENotes = null;\r\n }\r\n\n this.caseService.case.CaseReqResources = this.setIndicators(this.caseService.case.CaseUpdatedby, this.caseService.case.CaseId);\n this.caseService.case.CaseProcEfficacy = this.setEfficacy(this.caseService.case.CaseUpdatedby, this.caseService.case.CaseId);\n\n this.caseService.case.CaseEOCAdmDisposn.CaseAdmtDspoId = this.fields.getField(\"EOC Admit/Disposition\", 'Id').value;\n this.caseService.case.CaseEOCAdmDisposn.Updatedby = this.caseService.case.CaseUpdatedby;\r\n this.caseService.case.CaseEOCAdmDisposn.CaseId = this.caseService.case.CaseId;\r\n this.caseService.case.CaseEOCAdmDisposn.IsAdmSrcElective = this.getTrueFalse(this.fields.getField(\"EOC Admit/Disposition\", 'Admission Source').value);\r\n this.caseService.case.CaseEOCAdmDisposn.PostCathLocation = this.fields.getField(\"EOC Admit/Disposition\", 'Post-Cath Location').value;\r\n this.caseService.case.CaseEOCAdmDisposn.IsUnplannedAdmission = this.getTrueFalse(this.fields.getField(\"EOC Admit/Disposition\", 'Unplanned Admission').value);\r\n this.caseService.case.CaseEOCAdmDisposn.AdmittedPriorCathInd = this.getTrueFalse(this.fields.getField(\"EOC Admit/Disposition\", 'Admit Prior Cath').value);\r\n this.caseService.case.CaseEOCAdmDisposn.DischargePostCathInd = this.getTrueFalse(this.fields.getField(\"EOC Admit/Disposition\", 'Discharge Post Cath').value);\r\n this.caseService.case.CaseEOCAdmDisposn.IsAliveAtDischarge = this.getTrueFalse(this.fields.getField(\"EOC Admit/Disposition\", 'Alive at Discharge').value);\n\n console.log(this.caseService.case);\r\n\r\n this.isNewCase = this.caseService.case.CaseId === 0; \r\n\r\n this.save();\r\n }\r\n } \r\n }\n\n private save() {\n if (this.caseService.case.CathDate != '' && this.caseService.case.HospitalId > 0 && this.caseService.case.CaseUpdatedby != null && this.caseService.case.CaseUpdatedby != '')\n {\n //once case is marked complete it is complete we dont change the status back\n if (this.fields.completedCase) {\n // //todo: switch from completed case back to need to mark completed\r\n this.fields.completedCase = false;\r\n }\n this.caseService.save().subscribe(data => this.saveResponse(data));\r\n }\r\n }\n\n private saveResponse(data: CaseSaveResponse) {\n let caseSaveStatusModel = data.DataObject;\r\n if (caseSaveStatusModel.Casestatus === \"Saved Succesfully\") {\r\n let newCaseId = caseSaveStatusModel.CaseId;\r\n this.saveCaseText = 'Case has been updated and saved (Case ID: ' + newCaseId + ')';\r\n if (newCaseId > 0) {\r\n if (this.isNewCase) {\r\n if (this.caseService.route == \"addCaseForCalculation\") {\r\n this.router.navigate(['/user-portal/edit-case/case-id/' + newCaseId]);\r\n }\r\n else {\r\n this.router.navigate(['/user-portal/edit-case/post-save/' + newCaseId]);\r\n }\r\n } else {\r\n let reload = false;\r\n\r\n if ((this.caseService.case.CaseHemoDynamicInfo != null) && (this.fields.getValue(\"Hemodynamics\", \"Id\") == 0)) {\r\n reload = true;\r\n }\r\n if ((this.caseService.case.CasePreCalcInfo != null) && (this.fields.getValue(\"Pre-Case Calculation\", \"Id\") == 0)) {\r\n reload = true;\r\n }\r\n\r\n if (reload) {\r\n this.caseService.getCaseDetails(newCaseId).subscribe(data => this.loadCaseResponse(data));\r\n }\r\n }\r\n }\r\n } else {\r\n alert(caseSaveStatusModel.Casestatus);\r\n }\r\n }\n\n private loadCaseResponse(data: CaseResponse) {\n let caseModel = data.DataObject;\n\n if (caseModel.CaseHemoDynamicInfo && caseModel.CaseHemoDynamicInfo.CaseHemoDynamicsInfoId > 0) {\n this.fields.setValue(\"Hemodynamics\", 'Id', caseModel.CaseHemoDynamicInfo.CaseHemoDynamicsInfoId);\n }\n\n if (caseModel.CasePreCalcInfo && caseModel.CasePreCalcInfo.CasePrecalcinfoId > 0) {\r\n this.fields.setValue(\"Pre-Case Calculation\", 'Id', caseModel.CasePreCalcInfo.CasePrecalcinfoId);\n }\n }\n\n\n private formatDate(date: string): string {\r\n let d = new Date(date),\r\n month = '' + (d.getMonth() + 1),\r\n day = '' + d.getDate(),\r\n year = d.getFullYear();\r\n\r\n if (isNaN(year)) {\r\n return '';\r\n }\r\n\r\n if (month.length < 2) month = '0' + month;\r\n if (day.length < 2) day = '0' + day;\r\n\r\n let response = [month, day, year].join('-');\r\n\r\n if (year < 2000) {\r\n response = '';\r\n }\r\n\r\n return response;\r\n }\n\n private formatTime(date: string): string {\n if (date == null) {\n return null;\r\n }\n\n let d = new Date(date),\n hoursNumber = d.getHours(),\n hours = '' + d.getHours(),\n minutes = '' + d.getMinutes();\n\n if (isNaN(hoursNumber)) {\n return null;\r\n }\n\n if (hours.length < 2) hours = '0' + hours;\r\n if (minutes.length < 2) minutes = '0' + minutes;\n\n return hours + \":\" + minutes;\r\n }\n\n private getAgeType(type: string): number {\n if (type === 'Days') {\n return 0;\r\n }\n if (type === 'Months') {\n return 1;\r\n }\r\n if (type === 'Years') {\n return 2;\r\n }\r\n }\n\n private getTrueFalse(type: boolean): string {\n if (type == null) {\n return null;\r\n }\n\n if (type) {\r\n return \"1\";\r\n }\r\n return \"0\";\r\n }\n\n private setStsDiagCode(): string {\r\n const words = [];\r\n let PrimarySTS = this.fields.getField(\"Clinical Characteristics\", 'PrimarySTS').value;\r\n let SecondSTS = this.fields.getField(\"Clinical Characteristics\", 'SecondSTS').value;\r\n let ThirdSTS = this.fields.getField(\"Clinical Characteristics\", 'ThirdSTS').value;\r\n let FourthSTS = this.fields.getField(\"Clinical Characteristics\", 'FourthSTS').value;\r\n if (PrimarySTS) {\r\n words.push(PrimarySTS.data.code);\r\n }\r\n if (SecondSTS) {\r\n words.push(SecondSTS.data.code);\r\n }\r\n if (ThirdSTS) {\r\n words.push(ThirdSTS.data.code);\r\n }\r\n if (FourthSTS) {\r\n words.push(FourthSTS.data.code);\r\n }\r\n\r\n var uniqueWords = words.filter(function (elem, index, self) {\r\n return index === self.indexOf(elem);\r\n })\r\n\r\n return uniqueWords.toString();\r\n\r\n }\n\n private setCaseTypes(updatedBy: string, caseId: number): CaseProcAssignmentModel[] {\n let result = new Array();\r\n\r\n let caseTypes = this.fields.getField(\"Case Types\", \"Recorded Procedures\").value;\r\n if (caseTypes != null) {\r\n let caseTypeNames = Object.getOwnPropertyNames(caseTypes);\r\n for (let name of caseTypeNames) {\r\n let item = new CaseProcAssignmentModel;\r\n item.CaseId = caseId;\r\n item.Updatedby = updatedBy;\r\n item.CaseProcAsgnId = 0;\r\n\r\n let caseType = caseTypes[name];\r\n item.ProcedureCode = caseType[\"id\"].replace(\"procedure-\", \"\");\r\n item.IsPrimary = caseType[\"primary\"] === true ? \"1\" : \"0\";\r\n item.IsSecondary = caseType[\"primary\"] === false ? \"1\" : \"0\";\r\n item.IsAnticipatedPrimary = \"0\";\r\n item.IsAnticipatedSecondary = \"0\";\r\n item.ProcedureTextValue = caseType[\"details\"];\r\n result.push(item);\r\n }\r\n }\r\n\r\n let antCaseTypes = this.fields.getField(\"Pre-Case Calculation\", \"Recorded Procedures\").value;\r\n this.fields.getField(\"Case Types\", \"Anticipated Procedures\").value = antCaseTypes;\r\n if (antCaseTypes != null) {\r\n let antCaseTypeNames = Object.getOwnPropertyNames(antCaseTypes);\r\n if (antCaseTypeNames.length==0) {\r\n this.fields.getField(\"Case Types\", \"Anticipated Procedures\").value = null;\r\n }\r\n for (let name of antCaseTypeNames) {\r\n let item = new CaseProcAssignmentModel;\r\n item.CaseId = caseId;\r\n item.Updatedby = updatedBy;\r\n item.CaseProcAsgnId = 0;\r\n\r\n let caseType = antCaseTypes[name];\r\n item.ProcedureCode = caseType[\"id\"].replace(\"procedure-\", \"\");\r\n item.IsPrimary = \"0\";\r\n item.IsSecondary = \"0\";\r\n item.IsAnticipatedPrimary = caseType[\"primary\"] === true ? \"1\" : \"0\";\r\n item.IsAnticipatedSecondary = caseType[\"primary\"] === false ? \"1\" : \"0\";\r\n item.ProcedureTextValue = caseType[\"details\"];\r\n result.push(item);\r\n }\r\n }\r\n \r\n return result;\r\n }\n\n private setAdverseEvents(updatedBy: string, caseId: number): CaseAEItemModel[] {\n let result = new Array();\r\n\r\n let adverseEvents = this.fields.getField(\"Adverse Events\", \"Recorded Events\").value;\r\n if (adverseEvents != null) {\r\n let adverseEventNames = Object.getOwnPropertyNames(adverseEvents);\r\n for (let name of adverseEventNames) {\r\n let item = new CaseAEItemModel;\r\n item.CaseId = caseId;\r\n item.Updatedby = updatedBy;\r\n item.CaseAEId = 0;\r\n\r\n let ae = adverseEvents[name];\r\n item.AECODE = ae[\"code\"];\r\n item.AEMajorInd = ae[\"major\"]; \r\n item.AESeriousness = ae[\"seriousness\"];\r\n item.Timeneeded = ae[\"timeneeded\"];\r\n item.AeTier = ae[\"aetier\"];\r\n result.push(item);\r\n\r\n // Seriousness and Timeneeded validation check\r\n if (ae[\"seriousness\"] != \"AES01\" && ae[\"seriousness\"] != \"AES02\" && ae[\"seriousness\"] != \"AES03\"\r\n && ae[\"seriousness\"] != \"AES04\" && ae[\"seriousness\"] != \"AES05\") {\r\n\r\n this.fields.getField(\"Adverse Events\", \"Seriousness\").value = null;\r\n }\r\n if (ae[\"timeneeded\"] === \"\" || ae[\"timeneeded\"] === null) {\r\n\r\n this.fields.getField(\"Adverse Events\", \"Time Needed\").value = null;\r\n }\r\n }\r\n }\r\n \r\n return result;\r\n }\n\n private setIndicators(updatedBy: string, caseId: number): CaseReqResourcesModel[] {\n let result = new Array();\r\n\r\n let categories: Array = [\"Airway Management\", \"Ventilation\", \"Sedation\", \"Lines\", \"Drains\", \"Mechanical Support\", \"IV Medications\",\"Checked6Hours\", \"Checked24Hours\", \"Checked48Hours\"];\r\n let procs: Array = [\"Pre-Procedure\", \"Procedural\", \"Post-Procedure\",\"48 Hrs Post-Cath\"];\r\n for (let category of categories) {\r\n for (let proc of procs) {\r\n try {\r\n let val = this.fields.getField(\"Indicators of Required Resources\", (category + \" \" + proc)).value;\r\n\r\n let crrm = new CaseReqResourcesModel;\n crrm.ReqResourceId = this.fields.getField(\"Indicators of Required Resources\", (category + \" \" + proc)).id;\r\n crrm.CaseId = caseId;\n crrm.Updatedby = updatedBy;\r\n crrm.ResourceName = category;\n crrm.ResourceValue = val;\n if ((category + \" \" + proc) == \"Checked6Hours Pre-Procedure\") {\n crrm.ResourceValue = this.fields.checked6Hours.toString();\r\n }\n\n if ((category + \" \" + proc) == \"Checked24Hours Post-Procedure\") {\n crrm.ResourceValue = this.fields.checked24Hours.toString();\r\n }\n\n if ((category + \" \" + proc) == \"Checked48Hours 48 Hrs Post-Cath\") {\n crrm.ResourceValue = this.fields.checked48Hours.toString();\r\n } \n\n if (proc === \"Pre-Procedure\") {\n crrm.IsResUsedPreProcTime = \"1\";\r\n crrm.IsResUsedProcTime = \"0\";\r\n crrm.IsResUsedPostProcTime = \"0\";\r\n crrm.IsResUsed48HoursTime = \"0\";\r\n } else if (proc === \"Procedural\") {\n crrm.IsResUsedPreProcTime = \"0\";\r\n crrm.IsResUsedProcTime = \"1\";\r\n crrm.IsResUsedPostProcTime = \"0\";\r\n crrm.IsResUsed48HoursTime = \"0\";\r\n } else if (proc === \"Post-Procedure\") {\n crrm.IsResUsedPreProcTime = \"0\";\r\n crrm.IsResUsedProcTime = \"0\";\r\n crrm.IsResUsedPostProcTime = \"1\";\r\n crrm.IsResUsed48HoursTime = \"0\";\r\n } else if (proc === \"48 Hrs Post-Cath\") {\n crrm.IsResUsedPreProcTime = \"0\";\r\n crrm.IsResUsedProcTime = \"0\";\r\n crrm.IsResUsedPostProcTime = \"0\";\r\n crrm.IsResUsed48HoursTime = \"1\";\r\n } else {\n crrm.IsResUsedPreProcTime = \"0\";\r\n crrm.IsResUsedProcTime = \"0\";\r\n crrm.IsResUsedPostProcTime = \"0\";\r\n crrm.IsResUsed48HoursTime = \"0\";\r\n } \n\r\n if (crrm.ResourceValue) {\r\n result.push(crrm);\r\n } \r\n } catch (ex) {\r\n console.log(ex);\r\n } \r\n }\r\n }\r\n\r\n let category: string = \"Nursing Assignment\";\r\n let procsNA: Array = [\"6 Hrs Pre-Procedure\", \"18 to 24 Hrs Post-Cath\",\"48 Hrs Post-Cath\"];\r\n for (let proc of procsNA) {\r\n try {\r\n let crrm = new CaseReqResourcesModel;\n crrm.ReqResourceId = this.fields.getField(\"Indicators of Required Resources\", (category + \" \" + proc)).id;\r\n crrm.CaseId = caseId;\n crrm.Updatedby = updatedBy;\r\n crrm.ResourceName = category;\n crrm.ResourceValue = this.fields.getField(\"Indicators of Required Resources\", (category + \" \" + proc)).value;\n\n if (proc === \"6 Hrs Pre-Procedure\") {\n crrm.IsResUsedPreProcTime = \"1\";\r\n crrm.IsResUsedProcTime = \"0\";\r\n crrm.IsResUsedPostProcTime = \"0\";\r\n crrm.IsResUsed48HoursTime = \"0\";\r\n } else if (proc === \"18 to 24 Hrs Post-Cath\") {\n crrm.IsResUsedPreProcTime = \"0\";\r\n crrm.IsResUsedProcTime = \"0\";\r\n crrm.IsResUsedPostProcTime = \"1\";\r\n crrm.IsResUsed48HoursTime = \"0\";\r\n crrm.ResourceName = \">6 hrs post-cath\";\r\n } else if (proc === \"48 Hrs Post-Cath\") {\n crrm.IsResUsedPreProcTime = \"0\";\r\n crrm.IsResUsedProcTime = \"0\";\r\n crrm.IsResUsedPostProcTime = \"0\";\r\n crrm.IsResUsed48HoursTime = \"1\";\r\n crrm.ResourceName = \"48 Hrs Post-Cath\";\r\n } else { \n crrm.IsResUsedPreProcTime = \"0\";\r\n crrm.IsResUsedProcTime = \"0\";\r\n crrm.IsResUsedPostProcTime = \"0\";\r\n crrm.IsResUsed48HoursTime = \"0\";\r\n }\n\r\n if (crrm.ResourceValue) {\r\n result.push(crrm);\r\n } \r\n } catch (ex) {\r\n console.log(ex);\r\n } \r\n }\r\n\r\n // set default value 6 Hours Pre-Procedure when checked6Hours is cehcked only\r\n if (this.fields.checked6Hours) {\r\n this.fields.getField(\"Indicators of Required Resources\", \"Nursing Assignment 6 Hrs Pre-Procedure\").hide = true;\r\n result = result.filter(function (item) {\r\n if (item.IsResUsedPreProcTime == \"1\") {\r\n if (item.ResourceName == \"Airway Management\") {\r\n item.ResourceValue = \"AM01\";\r\n return item;\r\n }\r\n else if (item.ResourceName == \"Ventilation\") {\r\n item.ResourceValue = \"VENT01\";\r\n return item;\r\n }\r\n else if (item.ResourceName == \"Checked6Hours\") {\r\n return item;\r\n }\r\n else {\r\n return;\r\n }\r\n }\r\n else {\r\n return item;\r\n }\r\n });\r\n }\r\n\r\n // set default value for 24 hours and 48 hours post cath when checked24Hours is cehcked\r\n if (this.fields.checked24Hours) {\r\n this.fields.getField(\"Indicators of Required Resources\", \"Nursing Assignment 18 to 24 Hrs Post-Cath\").hide = true;\r\n this.fields.getField(\"Indicators of Required Resources\", \"Nursing Assignment 48 Hrs Post-Cath\").hide = true;\r\n result = result.filter(function (item) {\r\n if (item.IsResUsedPostProcTime == \"1\" || item.IsResUsed48HoursTime == \"1\") {\r\n if (item.ResourceName == \"Airway Management\") {\r\n item.ResourceValue = \"AM01\";\r\n return item;\r\n }\r\n else if (item.ResourceName == \"Ventilation\") {\r\n item.ResourceValue = \"VENT01\";\r\n return item;\r\n }\r\n else if (item.ResourceName == \"Checked24Hours\"||item.ResourceName == \"Checked48Hours\") {\r\n return item;\r\n }\r\n else {\r\n return;\r\n }\r\n }\r\n else {\r\n return item;\r\n }\r\n });\r\n }\r\n // set default value 48 hours post cath when checked48Hours is cehcked only\r\n if (this.fields.checked48Hours && !this.fields.checked24Hours) {\r\n this.fields.getField(\"Indicators of Required Resources\", \"Nursing Assignment 48 Hrs Post-Cath\").hide = true;\r\n result = result.filter(function (item) {\r\n if (item.IsResUsed48HoursTime == \"1\") {\r\n if (item.ResourceName == \"Airway Management\") {\r\n item.ResourceValue = \"AM01\";\r\n return item;\r\n }\r\n else if (item.ResourceName == \"Ventilation\") {\r\n item.ResourceValue = \"VENT01\";\r\n return item;\r\n }\r\n else if (item.ResourceName == \"Checked48Hours\") {\r\n return item;\r\n }\r\n else {\r\n return;\r\n }\r\n }\r\n else {\r\n return item;\r\n }\r\n });\r\n }\r\n\r\n return result;\r\n }\n\n private setEfficacy(updatedBy: string, caseId: number): CaseProcEfficacyModel[] {\n try {\n let result = new Array();\r\n let record = new CaseProcEfficacyModel;\r\n\r\n let categories: Array = [\"AV Procedure indications\", \"Aortic regurgitation Pre-Procedure\", \"Aortic regurgitation Post-Procedure\", \"Peak systolic AV gradient Pre-Procedure\", \"Peak systolic AV gradient Post-Procedure\", \"PV Procedure indications\",\r\n \"Pulmonary regurgitation Pre-Procedure\", \"Pulmonary regurgitation Post-Procedure\", \"Tricuspid valve regurgitation Pre-Procedure\", \"Tricuspid valve regurgitation Post-Procedure\", \"ASDDC Procedure Indications\", \"CP Procedure Indications\", \"Peak systolic gradient at coarctation Pre-Procedure\",\r\n \"Peak systolic gradient at coarctation Post-Procedure\",\"PDADC Procedure Indications\", \"PDA shunt Size\", \"Aortic Valvuloplasty\", \"Pulmonary Valvuloplasty\", \"ASD Device Closure\", \"Residual shunt on echocardiogram\", \"Coarctation Procedure\",\r\n \"Any aneurysm post procedure\", \"stent migration\", \"Jailing of head/neck vessels\", \"New or Changed mitral valve insufficiency\", \"Any main pulmonary artery or right ventricular outflow tract tear\", \"Pulmonary Valve Type\",\r\n \"Subvalvar Obstruction\", \"PDA Device Closure\", \"Residual Shunt\", \"New left pulmonaryartery stenosis\", \"New aortic arch obstruction\", \"Intervention performed\",\r\n \"PDA Reason for device removal\", \"Device removed from body\", \"Was a second device placed?\", \"Was the second device removed?\",\"PDA Reason for second device removal\", \"Hemolysis\", \"Pre Pulmonary valve gradient\", \"Post Pulmonary valve gradient\", \"ASD shunt Size\", \"Pre Left Ventricle Dysfunction\", \"Post Left Ventricle Dysfunction\" ];\r\n \r\n for (let category of categories) {\r\n\r\n let cpem = new CaseProcEfficacyModel;\r\n if (category == \"Aortic Valvuloplasty\" || category == \"AV Procedure indications\" || category.indexOf(\"Aortic regurgitation\") >= 0\r\n || category.indexOf(\"Peak systolic AV gradient\") >= 0 || category == \"Pre Left Ventricle Dysfunction\" || category == \"Post Left Ventricle Dysfunction\")\r\n {\r\n if (this.fields.getField(\"Procedural Efficacy\", \"Aortic Valvuloplasty\").value == 1) {\r\n record = this.setEfficacyArray(category, \"EFPRC01\", updatedBy, caseId)\r\n if (record.EfficacyDataValue != null && record.EfficacyDataValue != undefined)\r\n result.push(record);\r\n }\r\n if (category == \"Aortic Valvuloplasty\" && this.fields.getField(\"Procedural Efficacy\", \"Aortic Valvuloplasty\").value == 0) {\r\n record = this.setEfficacyArray(category, \"EFPRC01\", updatedBy, caseId)\r\n if (record.EfficacyDataValue != null && record.EfficacyDataValue != undefined)\r\n result.push(record);\r\n }\r\n \r\n if (category == \"Aortic Valvuloplasty\" && this.fields.getField(\"Procedural Efficacy\", \"Aortic Valvuloplasty\").value == 1) {\r\n \r\n this.fields.getField(\"Procedural Efficacy\", \"Aortic regurgitation Pre-Procedure\").hide = false;\n this.fields.getField(\"Procedural Efficacy\", \"Aortic regurgitation Post-Procedure\").hide = false;\n this.fields.getField(\"Procedural Efficacy\", \"Peak systolic AV gradient Pre-Procedure\").hide = false;\n this.fields.getField(\"Procedural Efficacy\", \"Peak systolic AV gradient Post-Procedure\").hide = false;\n this.fields.getField(\"Procedural Efficacy\", \"AV Procedure indications\").hide = false;\r\n }\r\n else if (this.fields.getField(\"Procedural Efficacy\", \"Aortic Valvuloplasty\").value == 0)\r\n {\r\n this.fields.getField(\"Procedural Efficacy\", \"Aortic regurgitation Pre-Procedure\").hide = true;\n this.fields.getField(\"Procedural Efficacy\", \"Aortic regurgitation Post-Procedure\").hide = true;\n this.fields.getField(\"Procedural Efficacy\", \"Peak systolic AV gradient Pre-Procedure\").hide = true;\n this.fields.getField(\"Procedural Efficacy\", \"Peak systolic AV gradient Post-Procedure\").hide = true;\n this.fields.getField(\"Procedural Efficacy\", \"AV Procedure indications\").hide = true;\r\n }\r\n // cpem.EfficacyProcedureCode = \"EFPRC01\";\r\n }\r\n if (category == \"Pulmonary Valvuloplasty\" || category == \"PV Procedure indications\" || category.indexOf(\"Pulmonary regurgitation\") >= 0\r\n || category == \"Pre Pulmonary valve gradient\" || category == \"Post Pulmonary valve gradient\" \r\n || category.indexOf(\"Tricuspid valve regurgitation\") >= 0 || category == \"Pulmonary Valve Type\" || category == \"Subvalvar Obstruction\"\r\n || category == \"Any main pulmonary artery or right ventricular outflow tract tear\" || category == \"Intervention performed\")\r\n {\r\n if (this.fields.getField(\"Procedural Efficacy\", \"Pulmonary Valvuloplasty\").value == 1)\r\n {\r\n record = this.setEfficacyArray(category, \"EFPRC02\", updatedBy, caseId)\r\n if (record.EfficacyDataValue != null && record.EfficacyDataValue != undefined)\r\n result.push(record);\r\n }\r\n if (category == \"Pulmonary Valvuloplasty\" && this.fields.getField(\"Procedural Efficacy\", \"Pulmonary Valvuloplasty\").value == 0) {\r\n record = this.setEfficacyArray(category, \"EFPRC02\", updatedBy, caseId)\r\n if (record.EfficacyDataValue != null && record.EfficacyDataValue != undefined)\r\n result.push(record);\r\n }\r\n\r\n if (category == \"Pulmonary Valvuloplasty\" && this.fields.getField(\"Procedural Efficacy\", \"Pulmonary Valvuloplasty\").value == 1)\r\n { \r\n this.fields.getField(\"Procedural Efficacy\", \"PV Procedure indications\").hide = false;\n this.fields.getField(\"Procedural Efficacy\", \"Pulmonary regurgitation Pre-Procedure\").hide = false;\n this.fields.getField(\"Procedural Efficacy\", \"Pulmonary regurgitation Post-Procedure\").hide = false;\n this.fields.getField(\"Procedural Efficacy\", \"Tricuspid valve regurgitation Pre-Procedure\").hide = false;\n this.fields.getField(\"Procedural Efficacy\", \"Tricuspid valve regurgitation Post-Procedure\").hide = false;\r\n }\r\n else if (this.fields.getField(\"Procedural Efficacy\", \"Pulmonary Valvuloplasty\").value == 0)\r\n {\r\n this.fields.getField(\"Procedural Efficacy\", \"PV Procedure indications\").hide = true;\n this.fields.getField(\"Procedural Efficacy\", \"Pulmonary regurgitation Pre-Procedure\").hide = true;\n this.fields.getField(\"Procedural Efficacy\", \"Pulmonary regurgitation Post-Procedure\").hide = true;\n this.fields.getField(\"Procedural Efficacy\", \"Tricuspid valve regurgitation Pre-Procedure\").hide = true;\n this.fields.getField(\"Procedural Efficacy\", \"Tricuspid valve regurgitation Post-Procedure\").hide = true;\r\n }\r\n // cpem.EfficacyProcedureCode = \"EFPRC02\";\r\n }\r\n if (category == \"ASDDC Procedure Indications\" || category == \"ASD Device Closure\" || category == \"Residual shunt on echocardiogram\" || category == \"ASD shunt Size\" || category == \"New or Changed mitral valve insufficiency\")\r\n {\r\n if (this.fields.getField(\"Procedural Efficacy\", \"ASD Device Closure\").value == 1) {\r\n record = this.setEfficacyArray(category, \"EFPRC03\", updatedBy, caseId)\r\n if (record.EfficacyDataValue != null && record.EfficacyDataValue != undefined)\r\n result.push(record);\r\n }\r\n\r\n if (category == \"ASD Device Closure\" && this.fields.getField(\"Procedural Efficacy\", \"ASD Device Closure\").value == 0) {\r\n record = this.setEfficacyArray(category, \"EFPRC03\", updatedBy, caseId)\r\n if (record.EfficacyDataValue != null && record.EfficacyDataValue != undefined)\r\n result.push(record);\r\n }\r\n\r\n if (category == \"ASD Device Closure\" && this.fields.getField(\"Procedural Efficacy\", \"ASD Device Closure\").value == 1)\r\n { \r\n this.fields.getField(\"Procedural Efficacy\", \"ASDDC Procedure Indications\").hide = false;\n if (this.fields.getField(\"Procedural Efficacy\", \"Residual shunt on echocardiogram\").value == 1)\n {\n this.fields.getField(\"Procedural Efficacy\", \"ASD shunt Size\").hide = false;\n }\n else\n {\n this.fields.getField(\"Procedural Efficacy\", \"ASD shunt Size\").hide = true;\n }\n \r\n }\r\n else if (this.fields.getField(\"Procedural Efficacy\", \"ASD Device Closure\").value == 0)\r\n {\r\n this.fields.getField(\"Procedural Efficacy\", \"ASDDC Procedure Indications\").hide = true;\n this.fields.getField(\"Procedural Efficacy\", \"ASD shunt Size\").hide = true;\r\n }\r\n // cpem.EfficacyProcedureCode = \"EFPRC03\";\r\n }\r\n if (category == \"Coarctation Procedure\" || category == \"CP Procedure Indications\" || category.indexOf(\"Peak systolic gradient at coarctation\") >= 0 \r\n || category == \"Any aneurysm post procedure\" || category == \"stent migration\" || category == \"Jailing of head/neck vessels\")\r\n {\r\n if (this.fields.getField(\"Procedural Efficacy\", \"Coarctation Procedure\").value == 1) {\r\n record = this.setEfficacyArray(category, \"EFPRC04\", updatedBy, caseId)\r\n if (record.EfficacyDataValue != null && record.EfficacyDataValue != undefined)\r\n result.push(record);\r\n }\r\n if (category == \"Coarctation Procedure\" && this.fields.getField(\"Procedural Efficacy\", \"Coarctation Procedure\").value == 0) {\r\n record = this.setEfficacyArray(category, \"EFPRC04\", updatedBy, caseId)\r\n if (record.EfficacyDataValue != null && record.EfficacyDataValue != undefined)\r\n result.push(record);\r\n }\r\n if (category == \"Coarctation Procedure\" && this.fields.getField(\"Procedural Efficacy\", \"Coarctation Procedure\").value == 1)\r\n { \r\n this.fields.getField(\"Procedural Efficacy\", \"CP Procedure Indications\").hide = false;\n this.fields.getField(\"Procedural Efficacy\", \"Peak systolic gradient at coarctation Pre-Procedure\").hide = false;\n this.fields.getField(\"Procedural Efficacy\", \"Peak systolic gradient at coarctation Post-Procedure\").hide = false;\r\n }\r\n else if (this.fields.getField(\"Procedural Efficacy\", \"Coarctation Procedure\").value == 0)\r\n {\r\n this.fields.getField(\"Procedural Efficacy\", \"CP Procedure Indications\").hide = true;\n this.fields.getField(\"Procedural Efficacy\", \"Peak systolic gradient at coarctation Pre-Procedure\").hide = true;\n this.fields.getField(\"Procedural Efficacy\", \"Peak systolic gradient at coarctation Post-Procedure\").hide = true;\r\n }\r\n // cpem.EfficacyProcedureCode = \"EFPRC04\";\r\n }\r\n if (category == \"PDA Device Closure\" || category == \"PDADC Procedure Indications\" || category == \"PDA shunt Size\" || category == \"Residual Shunt\"\r\n || category == \"New left pulmonaryartery stenosis\" || category == \"New aortic arch obstruction\" || category == \"Hemolysis\"\r\n || category == \"Device removed from body\" || category == \"Was a second device placed?\" || category == \"PDA Reason for device removal\"\r\n || category == \"Was the second device removed?\" || category == \"PDA Reason for second device removal\")\r\n {\r\n if (this.fields.getField(\"Procedural Efficacy\", \"PDA Device Closure\").value == 1) {\r\n record = this.setEfficacyArray(category, \"EFPRC05\", updatedBy, caseId)\r\n if (record.EfficacyDataValue != null && record.EfficacyDataValue != undefined)\r\n result.push(record);\r\n }\r\n if (category == \"PDA Device Closure\" && this.fields.getField(\"Procedural Efficacy\", \"PDA Device Closure\").value == 0) {\r\n record = this.setEfficacyArray(category, \"EFPRC05\", updatedBy, caseId)\r\n if (record.EfficacyDataValue != null && record.EfficacyDataValue != undefined)\r\n result.push(record);\r\n }\r\n if (category == \"PDA Device Closure\" && this.fields.getField(\"Procedural Efficacy\", \"PDA Device Closure\").value == 1)\r\n { \r\n this.fields.getField(\"Procedural Efficacy\", \"PDADC Procedure Indications\").hide = false;\n if (this.fields.getField(\"Procedural Efficacy\", \"Residual Shunt\").value == 1) {\n this.fields.getField(\"Procedural Efficacy\", \"PDA shunt Size\").hide = false;\n }\n else\n {\n this.fields.getField(\"Procedural Efficacy\", \"PDA shunt Size\").hide = true;\n }\n if (this.fields.getField(\"Procedural Efficacy\", \"Device removed from body\").value == 1) {\n this.fields.getField(\"Procedural Efficacy\", \"PDA Reason for device removal\").hide = false;\r\n }\r\n else {\r\n this.fields.getField(\"Procedural Efficacy\", \"PDA Reason for device removal\").hide = true;\r\n }\n if (this.fields.getField(\"Procedural Efficacy\", \"Was the second device removed?\").value == 1) {\n this.fields.getField(\"Procedural Efficacy\", \"PDA Reason for second device removal\").hide = false;\r\n }\r\n else\r\n {\r\n this.fields.getField(\"Procedural Efficacy\", \"PDA Reason for second device removal\").hide = true;\r\n }\r\n }\r\n else if (this.fields.getField(\"Procedural Efficacy\", \"PDA Device Closure\").value == 0)\r\n {\r\n this.fields.getField(\"Procedural Efficacy\", \"PDADC Procedure Indications\").hide = true;\n this.fields.getField(\"Procedural Efficacy\", \"PDA shunt Size\").hide = true;\n this.fields.getField(\"Procedural Efficacy\", \"PDA Reason for device removal\").hide = true;\r\n this.fields.getField(\"Procedural Efficacy\", \"PDA Reason for second device removal\").hide = true;\r\n }\r\n // cpem.EfficacyProcedureCode = \"EFPRC05\";\r\n }\r\n\r\n \r\n \r\n }\r\n return result;\r\n } catch (ex) {\r\n console.log(ex);\r\n }\r\n }\n\n setEfficacyArray(category: string, procCode: string, updatedBy: string, caseId: number)\n {\n try {\n let cpem = new CaseProcEfficacyModel;\n\n // let result = new Array();\n // let procs: Array = [\"Pre-Procedure\", \"Post-Procedure\"];\n\n cpem.EfficacyProcedureCode = procCode; \n\n if (category.indexOf(\"Peak systolic AV gradient\") >= 0 || category.indexOf(\"Aortic regurgitation\") >= 0 || category.indexOf(\"Pulmonary regurgitation\") >= 0\r\n || category.indexOf(\"Tricuspid valve regurgitation\") >= 0 || category.indexOf(\"Peak systolic gradient at coarctation\") >= 0) {\r\n // for (let proc of procs) {\r\n try {\r\n // let cpem1 = new CaseProcEfficacyModel;\r\n cpem.EfficacyProcedureCode = cpem.EfficacyProcedureCode;\r\n let val = this.fields.getField(\"Procedural Efficacy\", (category)).value;\r\n\r\n\n\n cpem.CaseProcEfficacyInfoid = this.fields.getField(\"Procedural Efficacy\", (category)).id;\r\n cpem.CaseId = caseId;\n cpem.Updatedby = updatedBy;\r\n cpem.EfficacyDataName = category;\n cpem.EfficacyDataValue = val;\n\n if (category.indexOf(\"Pre-Procedure\") >=0) {\n cpem.IsDataPreProcTime = \"1\";\r\n\r\n cpem.IsDataPostProcTime = \"0\";\r\n }\r\n else if (category.indexOf(\"Post-Procedure\") >= 0) {\n cpem.IsDataPreProcTime = \"0\";\r\n cpem.IsDataPostProcTime = \"1\";\r\n } else {\n cpem.IsDataPreProcTime = \"0\";\r\n cpem.IsDataPostProcTime = \"0\";\r\n\r\n // }\n\r\n // if ((val != null || val != undefined)) {\r\n // result.push(cpem);\r\n }\r\n\r\n\r\n } catch (ex) {\r\n console.log(ex);\r\n }\r\n // }\r\n }\r\n else if (category == \"Pre Pulmonary valve gradient\" || category == \"Post Pulmonary valve gradient\" || category == \"Pre Left Ventricle Dysfunction\" || category == \"Post Left Ventricle Dysfunction\") {\r\n let val = this.fields.getField(\"Procedural Efficacy\", (category)).value;\n\n cpem.CaseProcEfficacyInfoid = this.fields.getField(\"Procedural Efficacy\", (category)).id;\r\n cpem.CaseId = caseId;\n cpem.Updatedby = updatedBy;\r\n cpem.EfficacyDataName = category;\n cpem.EfficacyDataValue = val;\r\n if (category == \"Pre Pulmonary valve gradient\") {\r\n cpem.IsDataPostProcTime = \"0\";\r\n cpem.IsDataPreProcTime = \"1\";\r\n }\r\n else {\r\n cpem.IsDataPostProcTime = \"1\";\r\n cpem.IsDataPreProcTime = \"0\";\r\n }\r\n\r\n //if ((val != null || val != undefined)) {\r\n // if ((cpem.IsDataPostProcTime == \"0\" && cpem.IsDataPreProcTime == \"0\" && cpem.EfficacyDataValue != \"0\")) {\r\n // result.push(cpem);\r\n // }\r\n // }\r\n\r\n }\r\n else {\r\n\r\n let val = this.fields.getField(\"Procedural Efficacy\", (category)).value;\n\n cpem.CaseProcEfficacyInfoid = this.fields.getField(\"Procedural Efficacy\", (category)).id;\r\n cpem.CaseId = caseId;\n cpem.Updatedby = updatedBy;\r\n cpem.EfficacyDataName = category;\n cpem.EfficacyDataValue = val;\r\n cpem.IsDataPostProcTime = \"0\";\r\n cpem.IsDataPreProcTime = \"0\";\r\n // if ((val != null || val != undefined)) {\r\n // if ((cpem.IsDataPostProcTime == \"0\" && cpem.IsDataPreProcTime == \"0\" && cpem.EfficacyDataValue != \"0\"))\r\n // {\r\n // result.push(cpem);\r\n // } \r\n // }\r\n\r\n }\n \r\n return cpem;\r\n } catch(ex) {\r\n console.log(ex);\r\n }\n }\n\n disablemarkcomplete()\n {\n return !this.fields.isComplete() && !this.fields.completedCase;\n }\n\n markCaseComplete() {\n let url = this.router.url;\n let isNotPostSave = (url.indexOf(\"post-save\") === -1);\n if (!isNotPostSave) {\n //load case values\n this.caseService.clearCase();\n this.caseService.case.CaseUpdatedby = this.user.user.UserId.toString();\n this.caseService.case.CaseId = +this.fields.getField(\"Case Identification\", 'Case Number').value;\n }\n this.caseService.markCaseComplete().subscribe(data => this.completeResponse(data));\r\n }\n\n private completeResponse(data: MarkCaseCompleteResponse) {\n let caseCompleteStatusModel = data.DataObject;\n if (caseCompleteStatusModel.Status === \"Completed\") {\n this.fields.completedCase = true;\r\n this.completedCaseText = 'Case has been marked as Completed';\r\n } else {\r\n this.completedCaseText = caseCompleteStatusModel.Status;\r\n }\r\n }\n}\n","module.exports = \"
\\r\\n \\r\\n
\\r\\n\"","module.exports = \"\"","\r\nimport { Component, OnInit,ViewChild,HostListener } from '@angular/core';\nimport { CaseFieldsService } from '../case-fields.service';\nimport { ComponentCanDeactivate } from '../../../../CanDeactivateGaurd';\nimport { Router, ActivatedRoute, ParamMap, NavigationEnd, NavigationStart, RouterEvent } from \"@angular/router\";\nimport { filter, map, mergeMap, tap } from \"rxjs/operators\";\nimport { Observable } from 'rxjs';\nimport { HemoInfo } from \"../../../../shared/report-model-hemo-info\";\n\r\nimport { NgForm } from \"@angular/forms\";\n\n@Component({\n selector: 'app-pre-calc',\n templateUrl: './pre-calc.component.html',\n styleUrls: ['./pre-calc.component.scss'],\n host: { 'class': \"host\" }\n})\nexport class PreCalcComponent implements OnInit, ComponentCanDeactivate {\n @ViewChild('form') form: NgForm;\n loading: boolean = false;\n public fields: CaseFieldsService;\n constructor(private router: Router,_fields: CaseFieldsService) {\n router.events\r\n .pipe(filter(e => e instanceof NavigationStart))\r\n .subscribe((e: NavigationStart) => {\r\n localStorage.setItem('editcase', e.url);\r\n });\n this.fields = _fields;\n }\n\n ngOnInit() {\n let precaseTypes = this.fields.getField(\"Pre-Case Calculation\", \"Recorded Procedures\").value\n let hemoinfo = new HemoInfo;\r\n hemoinfo.IsSVP = this.fields.getField(\"Pre-Case Calculation\", \"Single Ventricle Physiology\").value\r\n hemoinfo.PhysiologicCategory = this.fields.getField(\"Pre-Case Calculation\",\"Physiologic Category\").value\r\n hemoinfo.IsSVEDP18mmHgOrHigher = this.fields.getField(\"Pre-Case Calculation\", \"SV EDP\").value\r\n hemoinfo.SysSatIND = this.fields.getField(\"Pre-Case Calculation\", \"Sys Sat\").value\r\n hemoinfo.IsMVSATLessThan50Percent = this.fields.getField(\"Pre-Case Calculation\", \"MV Sat\").value\r\n hemoinfo.IsPAMeanEqual17mmOrHigher = this.fields.getField(\"Pre-Case Calculation\", \"PA\").value\r\n hemoinfo.IsQPQSGreaterThan1Point5 = this.fields.getField(\"Pre-Case Calculation\", \"Qp:Qs\").value\r\n hemoinfo.ISPVREqual3WUROrHigher = this.fields.getField(\"Pre-Case Calculation\", \"PVR\").value\n localStorage.setItem('precasetypes', JSON.stringify(precaseTypes));\n localStorage.setItem('prehemo', JSON.stringify(hemoinfo));\n }\n\n private convertTrueFalse(type: boolean): string {\r\n\r\n if (type === true) return '1';\r\n else if (type === false || type === null) return '0';\r\n }\n\n @HostListener('window:beforeunload')\r\n canDeactivate(): Observable | boolean {\r\n if (localStorage.getItem('dirty') == 'false' || localStorage.getItem('dirty') == null) {\r\n let precaseTypes = this.fields.getField(\"Pre-Case Calculation\", \"Recorded Procedures\").value\n let hemoinfo = new HemoInfo;\r\n hemoinfo.IsSVP = this.fields.getField(\"Pre-Case Calculation\", \"Single Ventricle Physiology\").value\r\n hemoinfo.PhysiologicCategory = this.fields.getField(\"Pre-Case Calculation\", \"Physiologic Category\").value\r\n hemoinfo.IsSVEDP18mmHgOrHigher = this.fields.getField(\"Pre-Case Calculation\", \"SV EDP\").value\r\n hemoinfo.SysSatIND = this.fields.getField(\"Pre-Case Calculation\", \"Sys Sat\").value\r\n hemoinfo.IsMVSATLessThan50Percent = this.fields.getField(\"Pre-Case Calculation\", \"MV Sat\").value\r\n hemoinfo.IsPAMeanEqual17mmOrHigher = this.fields.getField(\"Pre-Case Calculation\", \"PA\").value\r\n hemoinfo.IsQPQSGreaterThan1Point5 = this.fields.getField(\"Pre-Case Calculation\", \"Qp:Qs\").value\r\n hemoinfo.ISPVREqual3WUROrHigher = this.fields.getField(\"Pre-Case Calculation\", \"PVR\").value\n // if ((precaseTypes != null && Object.keys(precaseTypes).length != 0 && localStorage.getItem('precaseTypes') != null && JSON.stringify(precaseTypes) != localStorage.getItem('precaseTypes') ) || JSON.stringify(hemoinfo) != localStorage.getItem('prehemo'))\n if ((precaseTypes != null && Object.keys(precaseTypes).length > 0 ) || JSON.stringify(hemoinfo) != localStorage.getItem('prehemo'))\n localStorage.setItem('dirty', 'true')\n else\n localStorage.setItem('dirty', 'false')\n\n }\r\n return !this.form.dirty;\r\n }\n\n ngOnDestroy() {\n if (localStorage.getItem('dirty') == 'false' || localStorage.getItem('dirty') == null) {\n let precaseTypes = this.fields.getField(\"Pre-Case Calculation\", \"Recorded Procedures\").value\n let hemoinfo = new HemoInfo;\r\n hemoinfo.IsSVP = this.fields.getField(\"Pre-Case Calculation\", \"Single Ventricle Physiology\").value\r\n hemoinfo.PhysiologicCategory = this.fields.getField(\"Pre-Case Calculation\", \"Physiologic Category\").value\r\n hemoinfo.IsSVEDP18mmHgOrHigher = this.fields.getField(\"Pre-Case Calculation\", \"SV EDP\").value\r\n hemoinfo.SysSatIND = this.fields.getField(\"Pre-Case Calculation\", \"Sys Sat\").value\r\n hemoinfo.IsMVSATLessThan50Percent = this.fields.getField(\"Pre-Case Calculation\", \"MV Sat\").value\r\n hemoinfo.IsPAMeanEqual17mmOrHigher = this.fields.getField(\"Pre-Case Calculation\", \"PA\").value\r\n hemoinfo.IsQPQSGreaterThan1Point5 = this.fields.getField(\"Pre-Case Calculation\", \"Qp:Qs\").value\r\n hemoinfo.ISPVREqual3WUROrHigher = this.fields.getField(\"Pre-Case Calculation\", \"PVR\").value\n if ((precaseTypes != null && Object.keys(precaseTypes).length > 0) || JSON.stringify(hemoinfo) != localStorage.getItem('prehemo'))\n localStorage.setItem('dirty', 'true')\n else\n localStorage.setItem('dirty', 'false')\n }\n }\n\n \n}\n","module.exports = \"
\\n\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\n\\n
\\n
\\n
\\r\\n \\r\\n
\\n
\\n PROCEDURAL EFFICACY\\n
\\n
\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
Aortic Valvuloplasty
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n   \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
AV procedure indications
\\r\\n
\\r\\n\\r\\n
\\r\\n {{selectedAvProc1}}\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Pre-Procedure\\r\\n
\\r\\n\\r\\n
\\r\\n Post-Procedure\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Left ventricle dysfunction
*Moderate to severe
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
Pre-Procedure
\\r\\n \\r\\n \\r\\n   \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
Post-Procedure
\\r\\n \\r\\n \\r\\n   \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{ type.name }}
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
Pre-Procedure
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Post-Procedure
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
Pulmonary Valvuloplasty
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n   \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
PV procedure indications
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n   \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Subvalvar obstruction
Identified pre- or post-procedure
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n   \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Pulmonary valve 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\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Pre-Procedure\\r\\n
\\r\\n\\r\\n
\\r\\n Post-Procedure\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
Pulmonary valve gradient
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
Pre-Procedure
\\r\\n \\r\\n \\r\\n \\r\\n   \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
Post-Procedure
\\r\\n \\r\\n \\r\\n \\r\\n   \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{ type.name }}
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
Pre-Procedure
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Post-Procedure
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
Any main pulmonary artery or
\\r\\n
right ventricular outflow tract tear
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n   \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
Intervention performed
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n   \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
ASD Device Closure
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n   \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
ASD procedure indications
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
Residual shunt on echocardiogram
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n   \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
ASD shunt size
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
New or changed mitral valve
insufficiency
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n   \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
Coarctation Procedure
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n   \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Coarctation procedure indications
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Any aneurysm post-procedure
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n   \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
Stent migration
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n   \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
Jailing of head/neck vessels
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n   \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Pre-Procedure\\r\\n
\\r\\n\\r\\n
\\r\\n Post-Procedure\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{ type.name }}
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
Pre-Procedure
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Post-Procedure
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
PDA Device Closure
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n   \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
PDA procedure indications
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
Residual shunt
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n   \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Size of shunt
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
New left pulmonary artery stenosis
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n   \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
New aortic arch obstruction
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n   \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
Hemolysis following procedure
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n   \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
Device removed from body
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n   \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
Reason for device removal
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
Was a second device placed?
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n   \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
Was the second device removed?
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n   \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
Reason for device removal
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\n
\\n
\\n\"","module.exports = \"@media (min-width: 996px){.b-border{border-bottom:3px solid #D3D300;padding-bottom:10px}}\\n.push-down{margin-top:10px}\\n.ng-select .ng-select-container{min-height:25px !important;overflow:unset !important}\\n\"","import { Component, AfterViewChecked,ViewChild,HostListener } from \"@angular/core\";\nimport { CaseFieldsService } from \"../case-fields.service\";\n\nimport { PicklistItemService } from \"../../../shared-data-entry/picklist-item.service\";\nimport { PicklistItemResponse } from \"../../../../shared/picklist-item-response\";\nimport { PicklistItemModel } from \"../../../../shared/picklist-item-model\";\nimport { LoginService } from \"../../../user/login.service\";\nimport { ComponentCanDeactivate } from '../../../../CanDeactivateGaurd';\nimport { Router, ActivatedRoute, ParamMap, NavigationEnd, NavigationStart, RouterEvent } from \"@angular/router\";\nimport { filter, map, mergeMap, tap } from \"rxjs/operators\";\nimport { Observable } from 'rxjs';\nimport { NgForm, FormGroup } from \"@angular/forms\";\ndeclare var jquery: any;\ndeclare var $: any;\n\n@Component({\n selector: \"app-procedural-efficacy\",\n templateUrl: \"./procedural-efficacy.component.html\",\n styleUrls: [\"./procedural-efficacy.component.scss\"],\n host: { class: \"host\" }\n})\nexport class ProceduralEfficacyComponent implements ComponentCanDeactivate {\n @ViewChild('form') form: NgForm;\n private procs: Array = [\"Pre-Procedure\", \"Post-Procedure\"];\n public inTime = null;\n public outTime = null;\n public duration;\n public isAortic = false;\n public picklistItemService: PicklistItemService;\n public user: LoginService;\n public avProcOptions = [];\n public pvProcOptions = [];\n public cpProcOptions = [];\n public pdaProcOptions = [];\n \n public AorticRegurgitationOptions = [];\n public SystolicAVGradientOptions = [];\n public VentricleDyfunctionOptions = []; \n public PulmonaryRegurgitationOptions = []; \n public TricuspidRegurgitationOptions = [];\n public SystolicGradientCoarctationOptions = [];\n public \n pvProc = [];\n selectedPvProc = [];\n avProc = [];\n selectedAvProc = [];\n cpProc = [];\n selectedCpProc = [];\n pdaProc = [];\n selectedPdaProc = []; \n avtypes = [];\n pvtypes = [];\n cptypes = [];\n asdProcOptions = [];\n asdProc = [];\n selectedAsdProc = [];\n pdaShuntProcOptions = [];\n pdaShuntProc = [];\n selectedPdaShuntProc = [];\n deviceRemoval = [];\n selectedDeviceRemoval = [];\n deviceRemovalOptions = [];\n seccondDeviceRemoval = [];\n selectedSeccondDeviceRemoval = [];\n seccondDeviceRemovalOptions = [];\n asdShuntOptions = [];\n asdShunt = [];\n selectedAsdShunt = [];\n\n selectValavo = false;\n\n\n public fields: CaseFieldsService;\n \n \n name = \"Procedural Efficacy\";\n\n constructor(private router: Router,fields: CaseFieldsService, _picklistItemService: PicklistItemService, _user: LoginService) {\n router.events\r\n .pipe(filter(e => e instanceof NavigationStart))\r\n .subscribe((e: NavigationStart) => {\r\n localStorage.setItem('editcase', e.url);\r\n });\n this.fields = fields;\n\n this.user = _user;\n this.picklistItemService = _picklistItemService;\n\n if (this.user.user) {\n \n this.picklistItemService\n .getPicklistItem(this.user.user.HospitalId.toString(), \"ALL\")\n .subscribe(data => this.populatePicklistItems(data));\n \n }\n \n }\n @HostListener('window:beforeunload')\r\n canDeactivate(): Observable | boolean {\r\n if (this.form.dirty)\r\n localStorage.setItem('dirty', 'true');\r\n\r\n\r\n return !this.form.dirty;\r\n }\n\n private populatePicklistItems(picklistItemResponse: PicklistItemResponse) {\n this.picklistItemService.picklistItemModel = picklistItemResponse.DataObject;\n this.picklistItemService.mapToDropDown();\n\n \n this.deviceRemovalOptions = this.picklistItemService.dropDownPicklistItem\n .filter(x => x.description === \"PDA Reason for device removal\");\n this.deviceRemoval = this.deviceRemovalOptions.map(x => x.name);\n this.loadProblems(this.deviceRemovalOptions, this.deviceRemoval, this.selectedDeviceRemoval, 'PDA Reason for device removal');\n\n this.seccondDeviceRemovalOptions = this.picklistItemService.dropDownPicklistItem\n .filter(x => x.description === \"PDA Reason for second device removal\");\n this.seccondDeviceRemoval = this.seccondDeviceRemovalOptions.map(x => x.name);\n this.loadProblems(this.seccondDeviceRemovalOptions, this.seccondDeviceRemoval, this.selectedSeccondDeviceRemoval, 'PDA Reason for second device removal');\n\n this.asdShuntOptions = this.picklistItemService.dropDownPicklistItem\n .filter(x => x.description === \"ASD shunt Size\");\n this.asdShunt = this.asdShuntOptions.map(x => x.name);\n this.loadProblems(this.asdShuntOptions, this.asdShunt, this.selectedAsdShunt, 'ASD shunt Size');\n\n\n this.avProcOptions = this.picklistItemService.dropDownPicklistItem\n .filter(x => x.description === \"AV Procedure indications\");\n this.avProc = this.avProcOptions.map(x => x.name);\n this.loadProblems(this.avProcOptions, this.avProc, this.selectedAvProc, 'AV Procedure indications');\n\n this.AorticRegurgitationOptions = this.picklistItemService.dropDownPicklistItem\n .filter(x => x.description === \"Aortic regurgitation\")\n .map(x => x.name);\n\n this.SystolicAVGradientOptions = this.picklistItemService.dropDownPicklistItem\n .filter(x => x.description === \"Peak systolic AV gradient\")\n .map(x => x.name);\n\n \n\n this.pvProcOptions = this.picklistItemService.dropDownPicklistItem\n .filter(x => x.description === \"PV Procedure indications \");\n \n this.pvProc = this.pvProcOptions.map(x => x.name);\n this.loadProblems(this.pvProcOptions, this.pvProc, this.selectedPvProc, 'PV Procedure indications');\n\n this.pdaProcOptions = this.picklistItemService.dropDownPicklistItem\n .filter(x => x.description === \"PDADC Procedure Indications\");\n\n this.pdaProc = this.pdaProcOptions.map(x => x.name);\n this.loadProblems(this.pdaProcOptions, this.pdaProc, this.selectedPdaProc, 'PDADC Procedure Indications');\n\n this.PulmonaryRegurgitationOptions = this.picklistItemService.dropDownPicklistItem\n .filter(x => x.description === \"Pulmonary regurgitation\")\n .map(x => x.name);\n\n this.SystolicGradientCoarctationOptions = this.picklistItemService.dropDownPicklistItem\n .filter(x => x.description === \"Peak systolic gradient at coarctation\")\n .map(x => x.name);\n this.TricuspidRegurgitationOptions = this.picklistItemService.dropDownPicklistItem\n .filter(x => x.description === \"Tricuspid valve regurgitation\")\n .map(x => x.name);\n\n this.asdProcOptions = this.picklistItemService.dropDownPicklistItem\n .filter(x => x.description === \"ASDDC Procedure Indications\");\n this.asdProc = this.asdProcOptions.map(x => x.name);\n this.loadProblems(this.asdProcOptions, this.asdProc, this.selectedAsdProc, 'ASDDC Procedure Indications');\n\n this.cpProcOptions = this.picklistItemService.dropDownPicklistItem\n .filter(x => x.description === \"CP Procedure Indications\");\n this.cpProc = this.cpProcOptions.map(x => x.name);\n this.loadProblems(this.cpProcOptions, this.cpProc, this.selectedCpProc, 'CP Procedure Indications');\n\n this.pdaShuntProcOptions = this.picklistItemService.dropDownPicklistItem\n .filter(x => x.description === \"PDA shunt Size\");\n this.pdaShuntProc = this.pdaShuntProcOptions.map(x => x.name);\n this.loadProblems(this.pdaShuntProcOptions, this.pdaShuntProc, this.selectedPdaShuntProc, 'PDA shunt Size');\n\n this.cptypes = [\n\n {\n name: \"Peak systolic gradient at coarctation\",\n multiple: false,\n id: \"systolicGradientCoarctation\",\n items: this.SystolicGradientCoarctationOptions,\n selections: [\"\", \"\"]\n\n } \n\n\n ];\n\n this.avtypes = [\n \n {\n name: \"Aortic regurgitation\",\n multiple: false,\n id: \"preAorticRegurgitation\",\n items: this.AorticRegurgitationOptions,\n selections: [\"\",\"\"]\n\n },\n {\n name: \"Peak systolic AV gradient\",\n multiple: false,\n id: \"preSystolicAVGradient\",\n items: this.SystolicAVGradientOptions,\n selections: [\"\",\"\"]\n\n }\n \n\n ];\n\n this.pvtypes = [ \n { \r\n name: \"Pulmonary regurgitation\",\n multiple: false,\n id: \"prePulmonaryRegurgitation\",\n items: this.PulmonaryRegurgitationOptions,\n selections: [\"\",\"\"]\r\n },\n { \r\n name: \"Tricuspid valve regurgitation\",\n multiple: false,\n id: \"preTricuspidRegurgitation\",\n items: this.TricuspidRegurgitationOptions,\n selections: [\"\",\"\"]\r\n }\n\n\n ];\n \n\n this.setSelectionFromFields();\n\n }\n\n private loadProblems(dropdownOptions,dropdown,selectionOption,type) {\n let valMap: Array = [];\n\n let probs = this.fields.getField(this.name, type).value;\r\n if (probs != null) {\r\n let probArray = probs.split('|');\r\n\r\n for (let p of probArray) {\r\n for (let dropDownItem of dropdownOptions) {\r\n if (dropDownItem.code === p) {\r\n valMap.push(dropDownItem.name);\r\n }\r\n }\r\n }\r\n }\r\n \r\n selectionOption = valMap;\r\n if (type == \"AV Procedure indications\") {\r\n this.selectedAvProc = valMap;\r\n }\r\n if (type == \"PV Procedure indications\") {\r\n this.selectedPvProc = valMap;\r\n }\r\n if (type == \"CP Procedure Indications\") {\r\n this.selectedCpProc = valMap;\r\n }\r\n if (type == \"PDADC Procedure Indications\") {\r\n this.selectedPdaProc = valMap;\r\n }\r\n if (type == \"PDA shunt Size\") {\r\n this.selectedPdaShuntProc = valMap;\r\n }\r\n if (type == \"ASDDC Procedure Indications\") {\r\n this.selectedAsdProc = valMap;\r\n }\r\n if (type == \"PDA Reason for device removal\") {\r\n this.selectedDeviceRemoval = valMap;\r\n }\r\n if (type == \"PDA Reason for second device removal\") {\r\n this.selectedSeccondDeviceRemoval = valMap;\r\n }\r\n if (type == \"ASD shunt Size\") {\r\n this.selectedAsdShunt = valMap;\r\n }\r\n }\n\n public updateProblems(dropdownOptions, dropdown, selectionOption, type) {\n if (selectionOption.length > 0 && Array.isArray(selectionOption) == true) {\r\n let valMap: Array = [];\r\n\r\n for (let p of selectionOption) {\r\n for (let dropDownItem of dropdownOptions) {\r\n if (dropDownItem.name === p) {\r\n valMap.push(dropDownItem.code)\r\n }\r\n }\r\n }\r\n\r\n this.fields.setValue(this.name, type, valMap.join(\"|\"));\r\n } else {\r\n this.fields.setValue(this.name, type, null);\r\n }\r\n\r\n if (Array.isArray(selectionOption) == false)\r\n { this.fields.setValue(this.name, type, dropdownOptions.find(x => x.name == selectionOption)[\"code\"]); }\r\n }\n\n\n checkNone(event, type, period): boolean {\n var arr = type.selections[period].splice(0);\n const index = arr.indexOf(\"None\");\n let hasNone = type.items.indexOf(\"None\") > -1;\n if (arr.length === 0) {\n if (hasNone) {\n arr = [\"None\"];\n } else {\n arr = [type.items[0]];\n }\n }\n if (index === 0 && arr.length > 1) {\n arr.shift();\n }\n if (index == arr.length - 1) {\n arr = [arr[arr.length - 1]];\n }\n type.selections[period] = arr;\n\n return true;\n }\n\n\n\n private setSelectionFromFields() {\n try {\n \n \n for (let t of this.avtypes) {\r\n\n \r\n this.setSelection(t)\r\n \r\n }\r\n for (let t of this.pvtypes) {\r\n this.setSelection(t)\r\n }\r\n for (let t of this.cptypes) {\r\n this.setSelection(t)\r\n }\r\n \r\n } catch (ex) {\r\n console.log(ex);\r\n }\r\n }\n\n private setSelection(type) {\n let period: Array = [0, 1];\n for (let p of period) {\n let list = null;\r\n list = this.picklistItemService.dropDownPicklistItem.filter(x => x.description === type.name);\r\n let val = \"\";\r\n\r\n val = this.fields.getValue(this.name, (type.name + \" \" + this.procs[p]));\r\n\r\n\r\n if (type.multiple) {\r\n let valMap: Array = [];\r\n let valList: Array = [];\r\n if (val != null) {\r\n valList = val.split(\"|\");\r\n }\r\n\r\n for (let v of valList) {\r\n for (let dropDownItem of list) {\r\n if (dropDownItem.code === v) {\r\n valMap.push(dropDownItem.name);\r\n }\r\n }\r\n }\r\n\r\n if (valMap.length === 0) {\r\n valMap = [\"None\"];\r\n }\r\n type.selections[p] = valMap;\r\n\r\n } else {\r\n let valMap = null;\r\n for (let dropDownItem of list) {\r\n if (dropDownItem.code === val) {\r\n valMap = dropDownItem.name;\r\n }\r\n }\r\n\r\n //if (valMap == null) {\r\n // valMap = \"None\";\r\n //}\r\n\r\n type.selections[p] = valMap;\r\n\r\n }\n }\n }\n\n\n public updateFields(type,period): boolean {\n try {\r\n \r\n let val = type.selections[period];\r\n let list = null;\r\n \r\n \r\n list = this.picklistItemService.dropDownPicklistItem.filter(x => x.description === type.name);\r\n \r\n \r\n\r\n if (type.multiple) {\r\n let valMap = [];\r\n\r\n for (let select of val) {\r\n for (let dropDownItem of list) {\r\n if (dropDownItem.name === select) {\r\n valMap.push(dropDownItem.code);\r\n }\r\n }\r\n }\r\n if (valMap != null && valMap.length > 0) {\r\n this.fields.setValue(this.name, (type.name), valMap.join(\"|\"));\r\n } else {\r\n this.fields.setValue(this.name, (type.name), \"\");\r\n }\r\n } else {\r\n let valMap = null;\r\n for (let dropDownItem of list) {\r\n if (dropDownItem.name === val) {\r\n valMap = dropDownItem.code;\r\n }\r\n } \r\n this.fields.setValue(this.name, (type.name + \" \" + this.procs[period]), valMap);\r\n \r\n }\r\n } catch (ex) {\r\n console.log(ex);\r\n }\r\n\r\n return true;\r\n }\n\n\n \n toggleCheckbox(select, val) {\n this.selectValavo = select;\n console.log(val);\n this.fields.getField(this.name, val).hide = select;\n if (select == true)\r\n this.fields.setValue(this.name, val, 0);\r\n else\r\n this.fields.setValue(this.name, val, 1);\n\n if (val == 'Aortic Valvuloplasty' && select == true) {\n \n this.fields.setValue(this.name, \"AV Procedure indications\", null);\n this.loadProblems(this.avProcOptions, this.avProc, null, 'AV Procedure indications');\n this.fields.setValue(this.name, \"Aortic regurgitation Pre-Procedure\", null);\n this.fields.setValue(this.name, \"Aortic regurgitation Post-Procedure\", null);\n this.fields.setValue(this.name, \"Peak systolic AV gradient Pre-Procedure\", null);\n this.fields.setValue(this.name, \"Peak systolic AV gradient Post-Procedure\", null);\n this.toggleCheckbox(true, \"Pre Left Ventricle Dysfunction\");\n this.toggleCheckbox(true, \"Post Left Ventricle Dysfunction\");\n this.setSelectionFromFields();\n\n }\n \n if (val == \"Pulmonary Valvuloplasty\" && select == true) { \n this.fields.setValue(this.name, \"PV Procedure indications\", null);\n this.loadProblems(this.pvProcOptions, this.pvProc, null, 'PV Procedure indications');\n this.fields.setValue(this.name, \"Pulmonary regurgitation Pre-Procedure\", null);\n this.fields.setValue(this.name, \"Tricuspid valve regurgitation Pre-Procedure\", null);\n this.fields.setValue(this.name, \"Pulmonary regurgitation Post-Procedure\", null);\n this.fields.setValue(this.name, \"Tricuspid valve regurgitation Post-Procedure\", null);\n this.toggleCheckbox(true, \"Pre Pulmonary valve gradient\");\n this.toggleCheckbox(true, \"Post Pulmonary valve gradient\");\n this.toggleCheckbox(true, \"Subvalvar Obstruction\");\n this.toggleCheckbox(true, \"Pulmonary Valve Type\");\n this.toggleCheckbox(true, \"Any main pulmonary artery or right ventricular outflow tract tear\");\n this.toggleCheckbox(true, \"Intervention performed\");\n this.setSelectionFromFields();\n } \n \n if (val == \"ASD Device Closure\" && select == true) {\n this.fields.setValue(this.name, \"ASDDC Procedure Indications\", null);\n this.loadProblems(this.asdProcOptions, this.asdProc, null, 'ASDDC Procedure Indications');\r\n this.toggleCheckbox(true, \"Residual shunt on echocardiogram\");\r\n this.fields.setValue(this.name, \"ASD shunt Size\", null);\r\n this.loadProblems(this.asdShuntOptions, this.asdShunt, null, 'ASD shunt Size');\r\n this.toggleCheckbox(true, \"New or Changed mitral valve insufficiency\");\r\n this.setSelectionFromFields();\r\n }\n else\n {\n if (val == \"Residual shunt on echocardiogram\" && select == true)\r\n {\r\n this.fields.setValue(this.name, \"ASD shunt Size\", null);\r\n this.loadProblems(this.asdShuntOptions, this.asdShunt, null, 'ASD shunt Size');\r\n }\r\n }\n \n if (val == \"Coarctation Procedure\" && select == true) {\n this.fields.setValue(this.name, \"CP Procedure Indications\", null);\n this.loadProblems(this.cpProcOptions, this.cpProc, null, 'CP Procedure Indications');\r\n this.toggleCheckbox(true, \"Any aneurysm post procedure\");\r\n this.toggleCheckbox(true, \"stent migration\");\r\n this.toggleCheckbox(true, \"Jailing of head/neck vessels\");\r\n this.fields.setValue(this.name, \"Peak systolic gradient at coarctation Pre-Procedure\", null);\n this.fields.setValue(this.name, \"Peak systolic gradient at coarctation Post-Procedure\", null);\r\n this.setSelectionFromFields();\r\n } \n \n if (val == \"PDA Device Closure\" && select == true) {\n this.fields.setValue(this.name, \"PDADC Procedure Indications\", null);\n this.loadProblems(this.pdaProcOptions, this.pdaProc, null, 'PDADC Procedure Indications');\n this.fields.setValue(this.name, \"PDA shunt Size\", null);\n this.loadProblems(this.pdaShuntProcOptions, this.pdaShuntProc, null, 'PDA shunt Size');\n this.toggleCheckbox(true, \"Residual Shunt\");\n this.toggleCheckbox(true, \"New left pulmonaryartery stenosis\");\n this.toggleCheckbox(true, \"New aortic arch obstruction\");\n this.toggleCheckbox(true, \"Hemolysis\");\n this.toggleCheckbox(true, \"Device removed from body\");\n this.toggleCheckbox(true, \"Was a second device placed?\");\n this.toggleCheckbox(true, \"Was the second device removed?\");\n this.fields.setValue(this.name, \"PDA Reason for device removal\", null);\n this.loadProblems(this.deviceRemovalOptions, this.deviceRemoval, null, 'PDA Reason for device removal');\n this.fields.setValue(this.name, \"PDA Reason for second device removal\", null);\n this.loadProblems(this.seccondDeviceRemovalOptions, this.seccondDeviceRemoval, null, 'PDA Reason for second device removal');\n this.setSelectionFromFields();\n\n }\n else\n {\n if (val == \"Residual Shunt\" && select == true) {\r\n this.fields.setValue(this.name, \"PDA shunt Size\", null);\r\n this.loadProblems(this.pdaShuntProcOptions, this.pdaShuntProc, null, 'PDA shunt Size');\r\n }\r\n if (val == \"Device removed from body\" && select == true) {\r\n this.fields.setValue(this.name, \"PDA Reason for device removal\", null);\r\n this.loadProblems(this.deviceRemovalOptions, this.deviceRemoval, null, 'PDA Reason for device removal');\r\n }\r\n if (val == \"Was the second device removed?\" && select == true) {\r\n this.fields.setValue(this.name, \"PDA Reason for second device removal\", null);\n this.loadProblems(this.seccondDeviceRemovalOptions, this.seccondDeviceRemoval, null, 'PDA Reason for second device removal');\r\n }\r\n }\n \n \n \n \n }\n\n getDropdown(val) {\n\n \n return this.fields.getField(this.name, val).hide;\n }\n\n}\n","module.exports = \"
\\n\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\n\\n
\\n
\\n
\\n \\n
\\n
\\n PROCEDURE CHARACTERISTICS\\n
\\n
\\n
\\n
\\n\\n
\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n   \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\n\\n
\\n \\n \\n
\\n \\n
\\n
\\n
\\n\\n
\\n \\n \\n
\\n \\n
\\n
\\n
\\n\\n
\\n \\n \\n
\\n \\n
\\n
\\n
\\n\\n
\\n \\n \\n
\\n \\n
\\n
\\n
\\n\\n\\n\\n
\\n \\n \\n \\n
\\n \\n
\\n
\\n
\\n\\n
\\n \\n \\n \\n
\\n \\n
\\n
\\n
\\n\\n
\\n \\n \\n
\\n \\n
\\n
\\n
\\n\\n
\\n \\n \\n
\\n \\n
\\n
\\n
\\n\\n
\\n
\\n
\\n \\n
\\n
\\n \\n \\n   \\n \\n \\n \\n
\\n
\\n
\\n
\\n
\\n
\\r\\n *In event of no last catheter out time, time discharged from lab.\\r\\n
\\n
\\n
\\n
\\n\"","module.exports = \"\"","import { Component, AfterViewChecked,HostListener,ViewChild } from \"@angular/core\";\nimport { CaseFieldsService } from \"../case-fields.service\";\nimport { LoginService } from \"../../../user/login.service\";\nimport { ComponentCanDeactivate } from '../../../../CanDeactivateGaurd';\nimport { Router, ActivatedRoute, ParamMap, NavigationEnd, NavigationStart, RouterEvent } from \"@angular/router\";\nimport { filter, map, mergeMap, tap } from \"rxjs/operators\";\nimport { Observable } from 'rxjs';\nimport { NgForm, FormGroup } from \"@angular/forms\";\ndeclare var jquery: any;\ndeclare var $: any;\n\n@Component({\n selector: \"app-procedure-characteristics\",\n templateUrl: \"./procedure-characteristics.component.html\",\n styleUrls: [\"./procedure-characteristics.component.scss\"],\n host: { class: \"host\" }\n})\nexport class ProcedureCharacteristicsComponent implements AfterViewChecked, ComponentCanDeactivate {\n @ViewChild('form') form: NgForm;\n typeFluoroPerformedClicked = false;\n public inTime = null;\n public outTime = null;\n public duration;\n loading: boolean = false;\n fields:CaseFieldsService;\n name = \"Procedure Characteristics\";\n user: LoginService;\n\n constructor(private router: Router,fields: CaseFieldsService, user: LoginService) {\n router.events\r\n .pipe(filter(e => e instanceof NavigationStart))\r\n .subscribe((e: NavigationStart) => {\r\n localStorage.setItem('editcase', e.url);\r\n });\n this.fields = fields;\n this.user = user;\n this.calcFluoroTime();\n this.calculateContractVolumePerKg();\n\n var tfp = this.fields.getField(this.name, 'Type Fluoro Performed');\n this.typeFluoroPerformedClicked = tfp != null;\n this.calcDAP();\n }\n\n @HostListener('window:beforeunload')\r\n canDeactivate(): Observable | boolean { \r\n if (this.form.dirty)\r\n localStorage.setItem('dirty', 'true');\r\n\r\n\r\n return !this.form.dirty;\r\n }\n\n changeTime(event, picker) {\n return picker._selected;\n }\n\n typeFluoroPerformedClickedEvent(type: boolean) {\n this.fields.setValue(this.name, 'Type Fluoro Performed', type);\r\n this.typeFluoroPerformedClicked = true;\r\n }\n\n public calcFluoroTime() {\n let ft = this.fields.getValue(this.name, \"Total Fluoro Time\");\r\n if (ft != null) {\r\n ft = +ft;\r\n this.fields.setValue(this.name, \"Total Fluoro Time\", ft.toFixed(2));\r\n }\r\n }\n\n public calcPreCath() {\n let ft = this.fields.getValue(this.name, \"Pre Cath Hemoglobin\");\r\n ft = Math.round(ft * 10) / 10\r\n \r\n this.fields.setValue(this.name, \"Pre Cath Hemoglobin\", ft);\r\n }\n\n \n\n public calcDAP() {\n let dap = this.fields.getValue(this.name, \"Total DAP\");\r\n if (dap!=null) {\r\n dap = +dap;\r\n this.fields.setValue(this.name, \"Total DAP\", dap.toFixed(0));\r\n }\r\n\r\n }\n\n setInTime(picker, input) {\n this.fields.getField(this.name, \"Sheath-in Time\").value = picker._selected;\n this.inTime = picker._selected;\n\n this.setDuration();\n\n let val = picker._selected;\n input.value = this.timeFormat(this.format(val.getHours()), this.format(val.getMinutes()));\n }\n\n setOutTime(picker, input) {\n this.fields.getField(this.name, \"Sheath-out Time\").value = picker._selected;\n this.outTime = picker._selected;\n\n this.setDuration();\n\n let val = picker._selected;\n input.value = this.timeFormat(this.format(val.getHours()), this.format(val.getMinutes()));\n }\n\n setDuration() {\n this.inTime = this.fields.getField(this.name, \"Sheath-in Time\").value;\n this.outTime = this.fields.getField(this.name, \"Sheath-out Time\").value;\n \n if (this.inTime !== null && this.outTime !== null) {\n let inTimeHours = this.inTime.getHours();\n let inTimeMinutes = this.inTime.getMinutes();\n let inTimeTotal = (inTimeHours * 60) + inTimeMinutes;\n\n let outTimeHours = this.outTime.getHours();\n let outTimeMinutes = this.outTime.getMinutes();\n let outTimeTotal = (outTimeHours * 60) + outTimeMinutes;\n\n let totalMinutes = 0;\n //if inTime is larger than outTime, assume outTime is the next day, so add 1440 minutes to outTime\n if (inTimeTotal > outTimeTotal) {\n outTimeTotal = outTimeTotal + 1440;\r\n }\n totalMinutes = (outTimeTotal - inTimeTotal);\r\n\r\n let hours = Math.floor(totalMinutes / 60);\r\n let minutes = totalMinutes % 60;\n let hourStr = this.format(hours);\n let minuteStr = this.format(minutes);\n this.duration = this.timeFormat(hourStr, minuteStr);\n }\n\n this.fields.getField(this.name, \"Duration\").value = this.duration;\n }\n\n format(val) {\n return (val < 10) ? \"0\" + val : val;\n }\n timeFormat(hr, min) {\n return hr + ':' + min;\n }\n ngAfterViewChecked() {\n this.setTimeFromInput(this.fields.getField(this.name, \"Sheath-in Time\").value, \"#sheathin\");\n this.setTimeFromInput(this.fields.getField(this.name, \"Sheath-out Time\").value, \"#sheathout\");\n }\n\n setTimeFromInput(d: Date, inputString: string) {\n if (d != null) {\r\n let hours = d.getHours();\n let minutes = d.getMinutes();\r\n\r\n let hourStr = this.format(hours);\n let minuteStr = this.format(minutes);\r\n let timeStr = this.timeFormat(hourStr, minuteStr);\r\n\r\n $(inputString).val(timeStr);\r\n }\r\n }\n\n calculateContractVolumePerKg() {\n \n let tcv = this.fields.getValue(this.name, 'Total Contrast Volume');\r\n this.fields.setValue(this.name, 'Total Contrast Volume', Math.round(tcv));\r\n let kg = this.fields.getValue('Clinical Characteristics', 'Weight');\r\n\r\n if (kg > 0) {\r\n this.fields.setValue(this.name, 'Total Contrast Volume Per Kg', this.round((Math.round(tcv) / kg), 3));\r\n } else {\r\n this.fields.setValue(this.name, 'Total Contrast Volume Per Kg', null);\r\n }\r\n }\n\n ngOnInit() {\n \r\n }\n\n round(number, precision) {\n var factor = Math.pow(10, precision);\n var tempNumber = number * factor;\n var roundedTempNumber = Math.round(tempNumber);\n return roundedTempNumber / factor;\n }\n}\n","module.exports = \"\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
CASE ID
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
CATH DATE(S)
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n –\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
AGE
\\r\\n \\r\\n
\\r\\n
\\r\\n
FORM STATUS
\\r\\n \\r\\n \\r\\n   \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n   \\r\\n \\r\\n   \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
PEDCATH Cases
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n   \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n   \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
Import Case
\\r\\n   \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Case Summary\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n When Printing case summary please select \\\"Fit to page\\\" or \\\"Fit\\\" option in settings\\r\\n
\\r\\n
\\r\\n
\\r\\n
1 && user.IsIqicUser()\\\">\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n   \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Case Summary\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Please use chrome browser to access this feature.\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n SEARCH RESULTS\\r\\n
\\r\\n   \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n WEEKLY DASHBOARD\\r\\n
\\r\\n   \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n Cath Date \\r\\n \\r\\n \\r\\n Time \\r\\n \\r\\n \\r\\n Status \\r\\n \\r\\n \\r\\n Age \\r\\n \\r\\n \\r\\n Case Type \\r\\n \\r\\n \\r\\n Operator \\r\\n \\r\\n \\r\\n C3PO Median
Case Length (150%) \\r\\n \\r\\n
\\r\\n Case ID \\r\\n \\r\\n EditDeleteCase Summary
{{searchCaseSummary.CathDate | cathDateFormat}}{{checkCathTime(searchCaseSummary.CathDate)?(caseTimeResult | date:'shortTime'):caseTimeResult}}\\r\\n \\r\\n {{searchCaseSummary.Age}} {{searchCaseSummary.AgeType | ageType}}\\r\\n 0\\\">{{searchCaseSummary.CasetypeDesc}}\\r\\n {{searchCaseSummary.Operator}}{{searchCaseSummary.MedianCaseLength}}{{searchCaseSummary.CaseId}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n No cases found, please change the search criteria\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n Under development\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n {{ weekDayModel.WeekDate }}\\r\\n
\\r\\n {{ weekDayModel.WeekDate }}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Upload XML\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n    Please select a file to upload\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n  \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\"","module.exports = \"@import url(\\\"https://fonts.googleapis.com/css?family=Montserrat:400,500,600\\\");@import url(\\\"https://use.fontawesome.com/releases/v5.0.13/css/all.css\\\");.max-height{height:100% !important}.max-width{width:100% !important}.custom-pagination .page-number{display:inline-block;background:#3ab2d1;margin:0px 4px;border-radius:25px}.page-number.current{background:#ffffff !important;border:2px solid #458873}.page-number span{display:block;width:55px;height:26px;font-size:14px;font-weight:500;cursor:pointer;margin-top:5px}.pagination-previous,.pagination-next{display:inline-block;font-weight:bold}.week-day{border:2px solid #505050;border-collapse:collapse;padding:0px;width:20%}.case-type-cell{width:20%;word-wrap:break-word}.age-cell{width:8%;word-wrap:break-word}.time-cell{width:8%;word-wrap:break-word}.operator-cell{width:16%;word-wrap:break-word}.median-case-length-cell{width:13%;word-wrap:break-word}.sect-header{margin-bottom:1px !important}.sect-header-hospital{border-bottom:3px solid #6699FF !important;margin-bottom:0 !important;padding-top:0;padding-bottom:2px}.incomplete-complete label{font-size:10px}.incomplete-complete input[type=\\\"radio\\\"],.incomplete-complete input[type=\\\"checkbox\\\"]{display:none}.incomplete-complete input[type=\\\"radio\\\"]:checked+label.complete,.incomplete-complete input[type=\\\"checkbox\\\"]:checked+label.complete{background:#3ab2d1;color:#fff}.incomplete-complete input[type=\\\"radio\\\"]+label.complete:hover,.incomplete-complete input[type=\\\"checkbox\\\"]+label.complete:hover{background:#3ab2d1;color:#fff}.ae-status{margin-top:10px}.ae-status label{font-size:10px}.ae-status input[type=\\\"radio\\\"],.ae-status input[type=\\\"checkbox\\\"]{display:none}.ae-status input[type=\\\"radio\\\"]:checked+label.high,.ae-status input[type=\\\"checkbox\\\"]:checked+label.high{background:#cc0000;color:#fff}.ae-status input[type=\\\"radio\\\"]+label.high:hover,.ae-status input[type=\\\"checkbox\\\"]+label.high:hover{background:#cc0000;color:#fff}.ae-status input[type=\\\"radio\\\"]:checked+label.low,.ae-status input[type=\\\"checkbox\\\"]:checked+label.low{background:green;color:#fff}.ae-status input[type=\\\"radio\\\"]+label.low:hover,.ae-status input[type=\\\"checkbox\\\"]+label.low:hover{background:green;color:#fff}.card-block .fa{font-size:15px}.card-block .fa.complete{color:#3ab2d1}.card-block .fa.incomplete{color:#ffc107}.card-block .fa.delete{color:#dc3545}@media print{.doNotPrint{display:none !important;height:0;visibility:hidden}}.sect-header-print{margin-bottom:5px !important;font-size:small !important;font-weight:bold !important;text-transform:uppercase !important}.green-color{color:green}.gray-color{color:gray}.med-color{color:#ffc107}.red-color{color:red}.far-circle{display:inline-flex;width:16px;height:16px;border-radius:50%;background-color:transparent;border:3px solid grey;position:relative}\\n\"","\r\nimport { NgForm } from \"@angular/forms\";\r\n\r\nimport { Component, OnInit, HostListener, Pipe, PipeTransform, ViewChild } from \"@angular/core\";\r\nimport { DatePipe } from '@angular/common'\r\nimport { BrowserModule, DomSanitizer } from '@angular/platform-browser';\r\nimport { Http, Response, Headers, RequestOptions } from '@angular/http';\r\nimport { Observable, pipe } from 'rxjs';\r\nimport { map, takeUntil, tap } from 'rxjs/operators';\r\n\r\nimport { LoginService } from \"../login.service\";\r\n\r\nimport { CaseLookupService } from \"./case-lookup.service\";\r\nimport { SearchResponse } from '../../../shared/search-response';\r\nimport { WeeklySummaryResponse } from '../../../shared/weekly-summary-response';\r\nimport { SearchModel } from '../../../shared/search-model';\r\nimport { SearchCaseSummaryModel } from '../../../shared/search-case-summary-model';\r\nimport { CaseReqResourcesModel } from '../../../shared/case/case-req-resources-model';\r\n\r\nimport { PicklistItemService } from \"../../shared-data-entry/picklist-item.service\";\r\nimport { PicklistItemResponse } from '../../../shared/picklist-item-response';\r\nimport { PicklistItemModel } from '../../../shared/picklist-item-model';\r\n\r\nimport { CaseService } from '../add-case/case.service';\r\nimport { CaseFieldsService } from \"../../user/add-case/case-fields.service\";\r\nimport { CaseResponse } from \"../../../shared/case/case-response\";\r\nimport { CaseModel } from '../../../shared/case/case-model';\r\nimport { StsDiagnosisService } from \"../../shared-data-entry/sts-diagnosis.service\";\r\nimport { StsDiagnosisResponse } from '../../../shared/sts-diagnosis-response';\r\nimport { CaseAEItemModel } from \"../../../shared/case/case-ae-item-model\";\r\nimport { forEach } from \"@angular/router/src/utils/collection\";\r\nimport { MajorAdverseEventService } from \"../../shared-data-entry/major-adverse-event.service\";\r\nimport { MajorAdverseEventResponse } from \"../../../shared/major-adverse-event-response\";\r\nimport { OtherAdverseEventService } from \"../../shared-data-entry/other-adverse-event.service\";\r\nimport { OtherAdverseEventResponse } from \"../../../shared/other-adverse-event-response\";\r\nimport { ProcedurePicklistService } from \"../../shared-data-entry/procedure-picklist.service\";\r\nimport { ProcedurePicklistResponse } from '../../../shared/procedure-picklist-response';\r\nimport { ProcedurePicklistModel } from '../../../shared/procedure-picklist-model';\r\nimport { SectionValidatePipe } from \"../../../pipes/section-validate.pipe\";\r\nimport { ServerResponse } from '../../../shared/server-response';\r\nimport { WeekDayModel } from '../../../shared/weekday-model';\r\nimport * as jspdf from 'jspdf';\r\nimport html2canvas from 'html2canvas';\r\nimport * as FileSaver from 'file-saver';\r\nimport { LineMarker } from \"wijmo/wijmo.chart\";\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\n//import { win32 } from 'path';\r\n\r\n\r\n\r\n\r\ndeclare var jquery: any;\r\ndeclare var $: any;\r\n\r\n@Pipe({\r\n name: 'safeHtml'\r\n})\r\n\r\n@Component({\r\n selector: \"app-case-lookup\",\r\n templateUrl: \"./case-lookup.component.html\",\r\n styleUrls: [\"./case-lookup.component.scss\"]\r\n})\r\nexport class CaseLookupComponent implements OnInit {\r\n @ViewChild('caselookupform')\r\n form: NgForm;\r\n\r\n public successMessage = \"\";\r\n public errorMessage = \"\";\r\n public ageOptions = [];\r\n\r\n public setDate: Date = new Date();\r\n \r\n filter: string = \"\";\r\n key: string = \"CathDate\";\r\n reverse: boolean = false;\r\n caseTimeResult: string;\r\n p: number = 1;\r\n\r\n config = {\r\n id: 'custom',\r\n itemsPerPage: 1,\r\n currentPage: 1\r\n };\r\n\r\n public maxSize: number = 7;\r\n public directionLinks: boolean = true;\r\n public autoHide: boolean = false;\r\n public responsive: boolean = true;\r\n public labels: any = {\r\n previousLabel: '<--',\r\n nextLabel: '-->',\r\n screenReaderPaginationLabel: 'Pagination',\r\n screenReaderPageLabel: 'page',\r\n screenReaderCurrentLabel: `You're on page`\r\n };\r\n\r\n public stsDiagnosisService: StsDiagnosisService;\r\n public lookup: CaseLookupService;\r\n public lookupstore: CaseLookupService;\r\n public user: LoginService;\r\n public picklistItemService: PicklistItemService;\r\n public caseService: CaseService;\r\n public fields: CaseFieldsService;\r\n containsEfficacy: boolean = false;\r\n efficacyCount: number = 0;\r\n showImport = false;\r\n showWeeklyDashboard = false;\r\n showCaseSummary = false;\r\n showCaseSummaryIE = false;\r\n caseSummary: string = \"\";\r\n caseSummaryTI: string = \"\";\r\n caseSummaryT: string = \"\";\r\n caseSummaryTII: string = \"\";\r\n labelValue: string = \"Choose File\";\r\n monday: string = \"\";\r\n tuesday: string = \"\";\r\n caseModel: CaseModel;\r\n dropDownNames: PicklistItemResponse;\r\n dropDownHospitals: PicklistItemResponse;\r\n dropDownOperators: PicklistItemResponse;\r\n dropDownCrisp: PicklistItemResponse;\r\n dropDownProcedure: ProcedurePicklistModel[];\r\n stsDiagnosisList: StsDiagnosisResponse;\r\n AdverseEventModel: CaseAEItemModel[];\r\n weeklyList: Array = [];\r\n fileList: FileList;\r\n public majorAdverseEventService: MajorAdverseEventService;\r\n public otherAdverseEventService: OtherAdverseEventService;\r\n public procedurePicklistService: ProcedurePicklistService;\r\n\r\n constructor(public datepipe: DatePipe, private Spinner: NgxSpinnerService, _ProcedurePicklistService: ProcedurePicklistService,_lookup: CaseLookupService, _user: LoginService, _picklistItemService: PicklistItemService,\r\n _caseService: CaseService, _fields: CaseFieldsService, _stsDiagnosisService: StsDiagnosisService,\r\n _majorAdverseEventService: MajorAdverseEventService,\r\n _otherAdverseEventService: OtherAdverseEventService, private sanitized: DomSanitizer) {\r\n\r\n this.setDate.setMonth(this.setDate.getMonth() + 3);\r\n if (\"ActiveXObject\" in window == true) {\r\n this.showCaseSummaryIE = false;\r\n }\r\n else {\r\n this.showCaseSummaryIE = true;\r\n }\r\n\r\n this.user = _user; \r\n\r\n this.majorAdverseEventService = _majorAdverseEventService;\r\n this.otherAdverseEventService = _otherAdverseEventService;\r\n this.caseService = _caseService;\r\n this.stsDiagnosisService = _stsDiagnosisService;\r\n this.fields = _fields;\r\n this.fields.resetFields();\r\n\r\n this.lookup = _lookup; \r\n this.lookup.HospitalId = this.user.user.HospitalId;\r\n this.lookup.searchClear();\r\n \r\n \r\n this.errorMessage = \"\";\r\n\r\n this.majorAdverseEventService\r\n .getMajorAdverseEvent()\r\n .subscribe(data => this.populateMajorEvents(data));\r\n\r\n this.otherAdverseEventService\r\n .getOtherAdverseEvent()\r\n .subscribe(data => this.populateOtherEvents(data));\r\n\r\n this.picklistItemService = _picklistItemService;\r\n this.picklistItemService.getPicklistItem(this.lookup.HospitalId.toString(), \"Age Range\").subscribe(data => this.populatePicklistItems(data,\"Age Range\"));\r\n\r\n \r\n if (this.user.user) {\r\n this.lookupstore = JSON.parse(localStorage.getItem('lookup'));\r\n if (this.lookupstore != null && localStorage.getItem('previousurl') != null && localStorage.getItem('previousurl') == 'edit-case') {\r\n localStorage.removeItem('previousurl');\r\n this.lookup.CaseId = this.lookupstore.CaseId;\r\n this.lookup.AgeRange = this.lookupstore.AgeRange;\r\n this.lookup.CaseType = this.lookupstore.CaseType;\r\n this.lookup.CathDateFrom =this.lookupstore.CathDateFrom;\r\n this.lookup.CathDateTo = this.lookupstore.CathDateTo;\r\n this.lookup.CompleteDataOnly = this.lookupstore.CompleteDataOnly;\r\n this.lookup.IncompleteDataOnly = this.lookupstore.IncompleteDataOnly;\r\n this.lookup.HighAE = this.lookupstore.HighAE;\r\n this.lookup.MedAE = this.lookupstore.MedAE;\r\n this.lookup.LowAE = this.lookupstore.LowAE;\r\n this.lookup.PedcathCasesOnly = this.lookupstore.PedcathCasesOnly;\r\n \r\n }\r\n\r\n this.picklistItemService\r\n .getPicklistItem(this.user.user.HospitalId.toString(), \"ALL\")\r\n .subscribe(data => this.populatePicklistItems(data, \"ALL\"));\r\n\r\n this.picklistItemService\r\n .getPicklistItem(this.user.user.HospitalId.toString(), \"HOSPITALS\")\r\n .subscribe(data => this.populatePicklistItems(data, \"HOSPITALS\"));\r\n\r\n this.picklistItemService\r\n .getPicklistItem(\"1\", \"CRISP Physiologic category\")\r\n .subscribe(data => this.populatePicklistItems(data, \"CRISP\")); \r\n\r\n this.picklistItemService.getPicklistItem(this.user.user.HospitalId.toString(), \"OPERATORS\").subscribe(data => this.populatePicklistItems(data, \"OPERATORS\"));\r\n\r\n this.stsDiagnosisService\r\n .getStsDiagnosis()\r\n .subscribe(data => this.populateStsDiagnosis(data));\r\n\r\n this.procedurePicklistService = _ProcedurePicklistService;\r\n this.procedurePicklistService.getProcedurePicklist().subscribe(data => this.validateProcedurePicklist(data));\r\n\r\n }\r\n }\r\n onPageChange(event) {\r\n console.log(event);\r\n this.config.currentPage = event;\r\n }\r\n transform(value) {\r\n return this.sanitized.bypassSecurityTrustHtml(value);\r\n }\r\n\r\n validateProcedurePicklist(ppr: ProcedurePicklistResponse) {\r\n if (ppr.MessageType === \"success\") {\r\n this.dropDownProcedure = ppr.DataObject; \r\n }\r\n }\r\n\r\n populateMajorEvents(majorAEResponse: MajorAdverseEventResponse) {\r\n this.majorAdverseEventService.majorAdverseEventList =\r\n majorAEResponse.DataObject; \r\n }\r\n\r\n populateOtherEvents(otherAEResponse: OtherAdverseEventResponse) {\r\n this.otherAdverseEventService.otherAdverseEventList =\r\n otherAEResponse.DataObject;\r\n \r\n }\r\n\r\n populateStsDiagnosis(stsDiagResponse: StsDiagnosisResponse) {\r\n this.stsDiagnosisList = stsDiagResponse; \r\n }\r\n\r\n populatePicklistItems(picklistItemResponse: PicklistItemResponse,type) {\r\n this.picklistItemService.picklistItemModel = picklistItemResponse.DataObject;\r\n this.picklistItemService.mapToDropDown();\r\n if (type == \"Age Range\")\r\n this.ageOptions = this.picklistItemService.dropDownPicklistItem;\r\n\r\n if (type == \"ALL\")\r\n this.dropDownNames = picklistItemResponse;\r\n else if (type == \"HOSPITALS\")\r\n this.dropDownHospitals = picklistItemResponse;\r\n else if (type == \"OPERATORS\")\r\n this.dropDownOperators = picklistItemResponse;\r\n else if (type == \"CRISP\")\r\n this.dropDownCrisp = picklistItemResponse;\r\n \r\n }\r\n\r\n sort(key) {\r\n if (this.key === key) {\r\n //key is the same, change reverse\r\n this.reverse = !this.reverse;\r\n } else {\r\n //key changed, default reverse\r\n this.key = key;\r\n this.reverse = false;\r\n } \r\n }\r\n\r\n ngOnInit() {\r\n this.SearchCase();\r\n this.fields.anticipatedCase = false;\r\n }\r\n\r\n GenerateReport(caseID) {\r\n this.showCaseSummary = true;\r\n this.caseService.getCaseDetails(caseID).subscribe(data => this.loadResponse(data));\r\n }\r\n\r\n\r\n\r\n public fileChangeEvent(fileInput: any) {\r\n this.fileList = fileInput.target.files; \r\n this.labelValue = fileInput.target.files[0].name; \r\n \r\n }\r\n\r\n private loadResponse(data: CaseResponse) {\r\n \r\n this.caseModel = data.DataObject;\r\n var primaryProc = \"\";\r\n var secondaryProc = \"\";\r\n var anticipatedPriProc = \"\";\r\n var anticipatedSecProc = \"\";\r\n var hospital = \"\";\r\n if (this.dropDownHospitals.DataObject.find(x => x.ChoiceCode == this.caseModel.HospitalId.toString()) != undefined)\r\n hospital = this.dropDownHospitals.DataObject.find(x => x.ChoiceCode == this.caseModel.HospitalId.toString())[\"ChoiceText\"];\r\n var operators = \"\";\r\n if (this.dropDownOperators.DataObject.find(x => x.ChoiceCode == this.caseModel.PrimaryOperatorId.toString()) != undefined)\r\n operators = this.dropDownOperators.DataObject.find(x => x.ChoiceCode == this.caseModel.PrimaryOperatorId.toString())[\"ChoiceText\"];\r\n var patSex = \"\";\r\n if (this.caseModel.CaseClinicalInfo.PatSex == \"2\") { patSex = \"Female\" } else { patSex = \"Male\" }\r\n var stsDiagCode = \"\";\r\n if (this.caseModel.CaseClinicalInfo.StsDiagCode != \"\") {\r\n let length = this.caseModel.CaseClinicalInfo.StsDiagCode.indexOf(',');\r\n let primaryStsDiagCode = length > 0 ? this.caseModel.CaseClinicalInfo.StsDiagCode.substr(0, length) : this.caseModel.CaseClinicalInfo.StsDiagCode;\r\n this.stsDiagnosisList.DataObject.find(x => x.StsDiagCode == primaryStsDiagCode)[\"StsDiagParentTextToShow\"];\r\n }\r\n var PrevCathlast90dInd = \"No\"; if (this.caseModel.CaseClinicalInfo.PrevCathlast90dInd == \"1\") { PrevCathlast90dInd = \"Yes\" }\r\n var PrevSurglast90dInd = \"No\"; if (this.caseModel.CaseClinicalInfo.PrevSurglast90dInd == \"1\") { PrevSurglast90dInd = \"Yes\" } \r\n var GenSyndromeInd = \"No\"; if (this.caseModel.CaseClinicalInfo.GenSyndromeInd == \"1\") { GenSyndromeInd = \"Yes\" } \r\n var NonCardiacProbInd = \"No\"; if (this.caseModel.CaseClinicalInfo.NonCardiacProbInd == \"1\") { NonCardiacProbInd = \"Yes\" } \r\n var NonCardiacProbValues = \"\"; if (this.caseModel.CaseClinicalInfo.NonCardiacProbInd == \"1\")\r\n {\r\n if (this.dropDownNames.DataObject.find(x => x.ChoiceCode == this.caseModel.CaseClinicalInfo.NonCardiacProbValues.toString()) != undefined)\r\n NonCardiacProbValues = this.dropDownNames.DataObject.find(x => x.ChoiceCode == this.caseModel.CaseClinicalInfo.NonCardiacProbValues.toString())[\"ChoiceText\"];\r\n }\r\n var AdmissionSource = \"Non-Elective\"; if (this.caseModel.CaseEOCAdmDisposn.IsAdmSrcElective == \"1\") { AdmissionSource = \"Elective\" }\r\n var PostCathLocation = \"\";\r\n if (this.caseModel.CaseEOCAdmDisposn.PostCathLocation != \"\") {\r\n if (this.dropDownNames.DataObject.find(x => x.ChoiceCode == this.caseModel.CaseEOCAdmDisposn.PostCathLocation) != undefined)\r\n PostCathLocation = this.dropDownNames.DataObject.find(x => x.ChoiceCode == this.caseModel.CaseEOCAdmDisposn.PostCathLocation)[\"ChoiceText\"];\r\n }\r\n \r\n var AdmitPriorCath = \"No\"; if (this.caseModel.CaseEOCAdmDisposn.AdmittedPriorCathInd == \"1\") { AdmitPriorCath = \"Yes\" }\r\n var DischargePostCath = \"No\"; if (this.caseModel.CaseEOCAdmDisposn.DischargePostCathInd == \"1\") { DischargePostCath = \"Yes\" }\r\n var UnplannedAdmission = \"No\"; if (this.caseModel.CaseEOCAdmDisposn.IsUnplannedAdmission == \"1\") { UnplannedAdmission = \"Yes\" }\r\n var DeathPostCath = \"No\"; if (this.caseModel.CaseEOCAdmDisposn.IsAliveAtDischarge == \"1\") { DeathPostCath = \"Yes\" } \r\n var AdverseEventOccured = \"No\";\r\n var airwayManagement = \"\", airwayManagementPre = \"\", airwayManagementPost = \"\", airwayManagementProc = \"\";\r\n var Ventilation = \"\", VentilationPre = \"\", VentilationPost = \"\", VentilationProc = \"\";\r\n var Sedation = \"\", SedationPre = \"\", SedationPost = \"\", SedationProc = \"\";\r\n var Lines = \"\", LinesPre = \"\", LinesPost = \"\", LinesProc = \"\", LinesProc = \"\";\r\n var Drains = \"\", DrainsPre = \"\", DrainsPost = \"\", DrainsProc = \"\";\r\n var MechanicalSupport = \"\", MechanicalSupportPre = \"\", MechanicalSupportPost = \"\", MechanicalSupportProc = \"\";\r\n var IVMedications = \"\", IVMedicationsPre = \"\", IVMedicationsPost = \"\", IVMedicationsProc = \"\";\r\n var Nursing = \"\";\r\n var SingleVentricle = \"No\"; if (this.caseModel.CaseHemoDynamicInfo.IsSingleVenPhysiology == \"1\") { SingleVentricle = \"Yes\" }\r\n var IsMvSat = \"No\"; if (this.caseModel.CaseHemoDynamicInfo.IsMvSat == \"1\") { IsMvSat = \"Yes\" }\r\n var IsPAMean = \"No\"; if (this.caseModel.CaseHemoDynamicInfo.IsPAMean == \"1\") { IsPAMean = \"Yes\" }\r\n var IsPVR = \"No\"; if (this.caseModel.CaseHemoDynamicInfo.IsPVR == \"1\") { IsPVR = \"Yes\" }\r\n var IsQPQS = \"No\"; if (this.caseModel.CaseHemoDynamicInfo.IsQPQS == \"1\") { IsQPQS = \"Yes\" }\r\n var IsSVEDP = \"No\"; if (this.caseModel.CaseHemoDynamicInfo.IsSVEDP == \"1\") { IsSVEDP = \"Yes\" }\r\n var IsSysSat = \"No\"; if (this.caseModel.CaseHemoDynamicInfo.IsSysSat == \"1\") { IsSysSat = \"Yes\" }\r\n var crisp = \"\"\r\n var totalDAP = this.caseModel.CaseProcedureInfo.TotalDap == \"\" ? 0 : this.caseModel.CaseProcedureInfo.TotalDap;\r\n var bloodTransfusion = \"No\"; if (this.caseModel.CaseProcedureInfo.BloodTransfusion == \"1\") { bloodTransfusion = \"Yes\" }\r\n let nursingvalpre = \"\", nursingvalpost = \"\";\r\n this.caseSummaryTI = \"\";\r\n this.caseSummaryTII = \"\";\r\n if (this.caseModel.CaseHemoDynamicInfo.PhysiologicCategory != \"\") {\r\n if (this.dropDownCrisp.DataObject.find(x => x.ChoiceCode == this.caseModel.CaseHemoDynamicInfo.PhysiologicCategory) != undefined)\r\n crisp = this.dropDownCrisp.DataObject.find(x => x.ChoiceCode == this.caseModel.CaseHemoDynamicInfo.PhysiologicCategory)[\"ChoiceText\"];\r\n }\r\n \r\n let dateString = this.caseModel.CathDate;\r\n let newDate = new Date(dateString);\r\n if (this.caseModel.CaseProcAEInfo.caseAEItems.length > 0)\r\n AdverseEventOccured = \"Yes\";\r\n \r\n this.AdverseEventModel = this.caseModel.CaseProcAEInfo.caseAEItems;\r\n this.caseSummaryT = \"\", this.caseSummaryTI = \"\";\r\n\r\n this.caseSummaryT += \"
\"\r\n\r\n this.caseSummaryT += \"
Case Number: \" + this.caseModel.CaseId + \"
\"\r\n this.caseSummaryT += \"
Hospital: \" + hospital + \"
\"\r\n this.caseSummaryT += \"
Cath Date:  \" + newDate.toDateString() + \"
\"\r\n this.caseSummaryT += \"
Operator:  \" + operators + \"
\"\r\n this.caseSummaryT += \"
\"\r\n this.caseSummaryT += \"
\"\r\n this.caseSummaryT += \"
\"\r\n this.caseSummaryT += \"
\"\r\n //clinical info header\r\n this.caseSummaryT += \"
\"\r\n this.caseSummaryT += \"
Clinical Characteristics
\"\r\n this.caseSummaryT += \"
\"\r\n this.caseSummaryT += \"
\"\r\n this.caseSummaryT += \"
Age:
\" + this.caseModel.CaseClinicalInfo.PatAge + \" \" + this.convertAgeType(this.caseModel.CaseClinicalInfo.PatAgeType) + \"
\"\r\n \r\n this.caseSummaryT += \"
Last Cath < 90 Days:
\" + PrevCathlast90dInd + \"
\"\r\n\r\n this.caseSummaryT += \"
Sex:
\" + patSex + \"
\"\r\n this.caseSummaryT += \"
Last Cardiac Surgery < 90 Days:
\" + PrevSurglast90dInd + \"
\"\r\n \r\n \r\n this.caseSummaryT += \"
Weight:
\" + this.caseModel.CaseClinicalInfo.PatWeight + \" kg
\"\r\n this.caseSummaryT += \"
Diagnosis:
\" + stsDiagCode + \"
\"\r\n \r\n this.caseSummaryT += \"
Height:
\" + this.caseModel.CaseClinicalInfo.PatHeight + \" cm
\"\r\n \r\n this.caseSummaryT += \"
Genetic Syndrome:
\" + GenSyndromeInd + \"
\" \r\n \r\n this.caseSummaryT += \"
BSA:
\" + this.caseModel.CaseClinicalInfo.PatBSA + \" m²
\"\r\n if (this.caseModel.CaseClinicalInfo.NonCardiacProbInd == \"0\") {\r\n this.caseSummaryT += \"
Non Cardiac Problems:
\" + NonCardiacProbInd + \"
\"\r\n }\r\n else if (this.caseModel.CaseClinicalInfo.NonCardiacProbInd == \"1\") {\r\n this.caseSummaryT += \"
Non Cardiac Problems:
\" + NonCardiacProbValues + \"
\"\r\n }\r\n \r\n this.caseSummaryT += \"
\"\r\n this.caseSummaryT += \"
\"\r\n this.caseSummaryT += \"
\"\r\n this.caseSummaryT += \"
\"\r\n this.caseSummaryT += \"
\"\r\n this.caseSummaryT += \"
Procedure Information
\"\r\n this.caseSummaryT += \"
Hemodynamics
\"\r\n this.caseSummaryT += \"
\"\r\n this.caseSummaryT += \"
\"\r\n this.caseSummaryT += \"
First catheter in time:
\" + this.caseModel.CaseProcedureInfo.SheathCathInDateTime.substring(0, 5) + \"
\"\r\n \r\n this.caseSummaryT += \"
Physiologic Category:
\" + crisp + \"
\"\r\n this.caseSummaryT += \"
Last catheter out time:
\" + this.caseModel.CaseProcedureInfo.SheathCathOutDateTime.substring(0, 5) + \"
\"\r\n \r\n this.caseSummaryT += \"
Single Ventricle Physiology:
\" + SingleVentricle + \"
\"\r\n this.caseSummaryT += \"
Case Duration:
\" + this.loadDuration(this.caseModel.CaseProcedureInfo.SheathCathInDateTime, this.caseModel.CaseProcedureInfo.SheathCathOutDateTime) + \"
\"\r\n \r\n \r\n if (SingleVentricle == \"Yes\") {\r\n this.caseSummaryT += \"
MV Sat < 50%:
\" + IsMvSat + \"
\"\r\n }\r\n if (SingleVentricle == \"No\") {\r\n this.caseSummaryT += \"
MV Sat < 60%:
\" + IsMvSat + \"
\"\r\n }\r\n \r\n this.caseSummaryT += \"
Fluoro Time:
\" + this.caseModel.CaseProcedureInfo.FluroTime + \" minutes
\"\r\n \r\n if (SingleVentricle == \"Yes\") {\r\n this.caseSummaryT += \"
Sys Sat < 78%:
\" + IsSysSat + \"
\"\r\n }\r\n if (SingleVentricle == \"No\") {\r\n this.caseSummaryT += \"
Sys Sat < 95%:
\" + IsSysSat + \"
\"\r\n }\r\n \r\n this.caseSummaryT += \"
Total DAP:
\" + totalDAP + \" μGy*M²
\"\r\n \r\n this.caseSummaryT += \"
SV EDP ≥ 18mmHg:
\" + IsSVEDP + \"
\"\r\n \r\n if (SingleVentricle == \"Yes\") {\r\n this.caseSummaryT += \"
Total DAP/kg:
\"\r\n \r\n this.caseSummaryT += \"
PA mean ≥ 17mmHg:
\" + IsPAMean + \"
\"\r\n }\r\n if (SingleVentricle == \"No\") {\r\n this.caseSummaryT += \"
Total DAP/kg:
\"\r\n \r\n this.caseSummaryT += \"
PA Systolic ≥ 45mmHg:
\" + IsPAMean + \"
\"\r\n }\r\n\r\n this.caseSummaryT += \"
Blood Transfusion:
\" + bloodTransfusion + \"
\"\r\n this.caseSummaryT += \"
Qp:Qs > 1.5:
\" + IsQPQS + \"
\"\r\n\r\n this.caseSummaryT += \"
\"\r\n this.caseSummaryT += \"
PVR>3WU
\" + IsPVR + \"
\"\r\n \r\n \r\n \r\n\r\n this.caseSummaryT += \"
\"\r\n \r\n for (let proc in this.caseModel.CaseProcAssingedlist) {\r\n var procedure = this.caseModel.CaseProcAssingedlist[proc];\r\n if (procedure.IsPrimary == \"1\") {\r\n if (primaryProc != \"\") primaryProc = primaryProc + \"
\";\r\n primaryProc = primaryProc + this.dropDownProcedure.find(x => x.ProcedureCode == procedure.ProcedureCode)[\"ProcedureTextToShow\"]\r\n }\r\n if (procedure.IsSecondary == \"1\") {\r\n if (secondaryProc != \"\") secondaryProc = secondaryProc + \"
\";\r\n secondaryProc = secondaryProc + this.dropDownProcedure.find(x => x.ProcedureCode == procedure.ProcedureCode)[\"ProcedureTextToShow\"]\r\n }\r\n if (procedure.IsAnticipatedPrimary == \"1\") {\r\n if (anticipatedPriProc != \"\") anticipatedPriProc = anticipatedPriProc + \"
\";\r\n anticipatedPriProc = anticipatedPriProc + this.dropDownProcedure.find(x => x.ProcedureCode == procedure.ProcedureCode)[\"ProcedureTextToShow\"]\r\n }\r\n if (procedure.IsAnticipatedSecondary == \"1\") {\r\n if (anticipatedSecProc != \"\") anticipatedSecProc = anticipatedSecProc + \"
\";\r\n anticipatedSecProc = anticipatedSecProc + this.dropDownProcedure.find(x => x.ProcedureCode == procedure.ProcedureCode)[\"ProcedureTextToShow\"]\r\n }\r\n\r\n }\r\n this.caseSummaryT += \"
\"\r\n this.caseSummaryT += \"
\"\r\n this.caseSummaryT += \"
\"\r\n \r\n \r\n this.caseSummaryT += \"
\"\r\n this.caseSummaryT += \"
Case Type
\"\r\n this.caseSummaryT += \"
\" + this.caseModel.CaseTypeCalcResponse.CaseTypeDescription + \"
\"\r\n this.caseSummaryT += \"
\"\r\n this.caseSummaryT += \"
\"\r\n this.caseSummaryT += \"
Primary Procedure
\"\r\n this.caseSummaryT += \"
\" + primaryProc + \"
\"\r\n this.caseSummaryT += \"
Secondary Procedure(s)
\" \r\n this.caseSummaryT += \"
\" + secondaryProc + \"
\"\r\n \r\n this.caseSummaryT += \"
\" \r\n\r\n this.caseSummaryT += \"
\"\r\n this.caseSummaryT += \"
\"\r\n this.caseSummaryT += \"
\"\r\n \r\n if (AdverseEventOccured == \"No\") {\r\n this.caseSummaryT += \"
\"\r\n this.caseSummaryT += \"
Adverse Event: NO
\"\r\n this.caseSummaryT += \"
\"\r\n }\r\n\r\n if (AdverseEventOccured == \"Yes\") {\r\n var MajorAEName = \"\";\r\n var OtherAEName = \"\";\r\n this.caseSummaryT += \"
\"\r\n this.caseSummaryT += \"
Adverse Event
\"\r\n this.caseSummaryT += \"
Seriousness
\"\r\n\r\n this.caseSummaryT += \"
\" \r\n \r\n for (let ae of this.AdverseEventModel) {\r\n\r\n if (ae.AEMajorInd == \"1\") {\r\n \r\n MajorAEName = MajorAEName + \"
\"\r\n MajorAEName += \"
\" + this.majorAdverseEventService.majorAdverseEventList.find(x => x.MAEventCode == Number(ae.AECODE))[\"MAEventTextToShow\"] + \"
\"\r\n MajorAEName += \"
\" + this.getAdverseEventSeriousness(ae.AESeriousness) + \"
\"\r\n\r\n\r\n MajorAEName += \"
\"\r\n\r\n }\r\n else if (ae.AEMajorInd == \"0\") { \r\n MajorAEName = MajorAEName + \"
\"\r\n MajorAEName += \"
\" + this.otherAdverseEventService.otherAdverseEventList.find(x => x.AElementCode == ae.AECODE)[\"AElementTextToShow\"] + \"
\"\r\n MajorAEName += \"
\" + this.getAdverseEventSeriousness(ae.AESeriousness) + \"
\"\r\n \r\n MajorAEName += \"
\"\r\n\r\n }\r\n\r\n }\r\n this.caseSummaryT += MajorAEName;\r\n this.caseSummaryT += \"
\"\r\n this.caseSummaryT += \"
Description:
\"\r\n this.caseSummaryT += \"
\" + this.caseModel.CaseProcAEInfo.CaseAENotes + \"
\" \r\n this.caseSummaryT += \"
\"\r\n }\r\n\r\n this.caseSummaryT += \"
\"\r\n this.caseSummaryT += \"
\"\r\n this.caseSummaryT += \"
\"\r\n this.caseSummaryT += \"
\"\r\n this.caseSummaryT += \"
\"\r\n this.caseSummaryT += \"
Pre Procedure
\"\r\n this.caseSummaryT += \"
Procedure
\"\r\n this.caseSummaryT += \"
Post Procedure
\"\r\n this.caseSummaryT += \"
\"\r\n\r\n for (let crr in this.caseModel.CaseReqResources) {\r\n var resource = this.caseModel.CaseReqResources[crr];\r\n var resourceName = \"\";\r\n\r\n let splitResource: Array = [];\r\n if (resource.ResourceValue.indexOf(\"|\") > 0) {\r\n\r\n splitResource = resource.ResourceValue.split(\"|\");\r\n for (let v of splitResource) {\r\n\r\n if (resourceName != \"\")\r\n resourceName += \"
\" + this.dropDownNames.DataObject.find(x => x.ChoiceCode == v)[\"ChoiceText\"];\r\n else\r\n resourceName += this.dropDownNames.DataObject.find(x => x.ChoiceCode == v)[\"ChoiceText\"];\r\n\r\n\r\n }\r\n }\r\n else {\r\n \r\n resourceName += this.dropDownNames.DataObject.find(x => x.ChoiceCode == resource.ResourceValue)[\"ChoiceText\"];\r\n }\r\n\r\n \r\n\r\n if (resource.ResourceName == \"Airway Management\") {\r\n\r\n if (resource.IsResUsedPreProcTime == \"1\") {\r\n airwayManagementPre += \"
\" + resourceName + \"
\" \r\n }\r\n if (resource.IsResUsedProcTime == \"1\") {\r\n airwayManagementProc += \"
\" + resourceName + \"
\" \r\n }\r\n if (resource.IsResUsedPostProcTime == \"1\") {\r\n airwayManagementPost += \"
\" + resourceName + \"
\" \r\n }\r\n }\r\n if (resource.ResourceName == \"Ventilation\") {\r\n if (resource.IsResUsedPreProcTime == \"1\") {\r\n VentilationPre += \"
\" + resourceName + \"
\" \r\n }\r\n if (resource.IsResUsedProcTime == \"1\") {\r\n VentilationProc += \"
\" + resourceName + \"
\"\r\n \r\n }\r\n if (resource.IsResUsedPostProcTime == \"1\") {\r\n VentilationPost += \"
\" + resourceName + \"
\"\r\n \r\n }\r\n }\r\n if (resource.ResourceName == \"Sedation\") {\r\n if (resource.IsResUsedPreProcTime == \"1\") {\r\n SedationPre += \"
\" + resourceName + \"
\"\r\n }\r\n if (resource.IsResUsedProcTime == \"1\") {\r\n SedationProc += \"
\" + resourceName + \"
\"\r\n }\r\n if (resource.IsResUsedPostProcTime == \"1\") {\r\n SedationPost += \"
\" + resourceName + \"
\"\r\n }\r\n }\r\n if (resource.ResourceName == \"Lines\") {\r\n if (resource.IsResUsedPreProcTime == \"1\") {\r\n LinesPre += \"
\" + resourceName + \"
\"\r\n }\r\n if (resource.IsResUsedProcTime == \"1\") {\r\n LinesProc += \"
\" + resourceName + \"
\"\r\n }\r\n if (resource.IsResUsedPostProcTime == \"1\") {\r\n LinesPost += \"
;\" + resourceName + \"
\"\r\n }\r\n }\r\n if (resource.ResourceName == \"Drains\") {\r\n if (resource.IsResUsedPreProcTime == \"1\") {\r\n DrainsPre += \"
\" + resourceName + \"
\"\r\n }\r\n if (resource.IsResUsedProcTime == \"1\") {\r\n DrainsProc += \"
\" + resourceName + \"
\"\r\n }\r\n if (resource.IsResUsedPostProcTime == \"1\") {\r\n DrainsPost += \"
\" + resourceName + \"
\"\r\n }\r\n }\r\n if (resource.ResourceName == \"Mechanical Support\") {\r\n if (resource.IsResUsedPreProcTime == \"1\") {\r\n MechanicalSupportPre += \"
\" + resourceName + \"
\"\r\n }\r\n if (resource.IsResUsedProcTime == \"1\") {\r\n MechanicalSupportProc += \"
\" + resourceName + \"
\"\r\n }\r\n if (resource.IsResUsedPostProcTime == \"1\") {\r\n MechanicalSupportPost += \"
\" + resourceName + \"
\"\r\n }\r\n }\r\n if (resource.ResourceName == \"IV Medications\") {\r\n if (resource.IsResUsedPreProcTime == \"1\") {\r\n IVMedicationsPre += \"
\" + resourceName + \"
\"\r\n }\r\n if (resource.IsResUsedProcTime == \"1\") {\r\n IVMedicationsProc += \"
\" + resourceName + \"
\"\r\n }\r\n if (resource.IsResUsedPostProcTime == \"1\") {\r\n IVMedicationsPost += \"
\" + resourceName + \"
\"\r\n }\r\n }\r\n \r\n if (resource.ResourceName == \"Nursing Assignment\") {\r\n\r\n Nursing += \"
\" + resourceName + \"
\"\r\n\r\n }\r\n if (resource.ResourceName == \"<6 hrs post-cath\") {\r\n nursingvalpre = resourceName; \r\n }\r\n if (resource.ResourceName == \">6 hrs post-cath\") {\r\n nursingvalpost = resourceName; \r\n }\r\n \r\n\r\n\r\n\r\n }\r\n if (nursingvalpre != \"\" && nursingvalpost != \"\") {\r\n let nursval = \"<6hrs: \" + nursingvalpre + \"
>6hrs: \" + nursingvalpost\r\n Nursing += \"
\"\r\n Nursing += \"
\" + nursval + \"
\"\r\n }\r\n else {\r\n Nursing += \"
\"\r\n Nursing += \"
<6 HRS: \" + nursingvalpre + nursingvalpost + \"
\"\r\n }\r\n if (airwayManagementPre != \"\" || airwayManagementPost != \"\" || airwayManagementProc != \"\") {\r\n if (airwayManagementPre == \"\")\r\n airwayManagementPre = \"
None
\"\r\n if (airwayManagementProc == \"\")\r\n airwayManagementProc = \"
None
\"\r\n if (airwayManagementPost == \"\")\r\n airwayManagementPost = \"
None
\"\r\n airwayManagement = airwayManagementPre + airwayManagementProc + airwayManagementPost;\r\n this.caseSummaryT += \"
\"\r\n \r\n this.caseSummaryT += \"
Airway Management
\"\r\n\r\n\r\n this.caseSummaryT += airwayManagement\r\n this.caseSummaryT += \"
\"\r\n }\r\n if (VentilationPre != \"\" || VentilationProc != \"\" || VentilationPost != \"\") {\r\n Ventilation = VentilationPre + VentilationProc + VentilationPost;\r\n if (VentilationPre == \"\")\r\n VentilationPre = \"
None
\"\r\n if (VentilationProc == \"\")\r\n VentilationProc = \"
None
\"\r\n if (VentilationPost == \"\")\r\n VentilationPost = \"
None
\"\r\n this.caseSummaryT += \"
\"\r\n this.caseSummaryT += \"
Ventilation
\"\r\n this.caseSummaryT += Ventilation\r\n this.caseSummaryT += \"
\"\r\n }\r\n if (SedationPre != \"\" || SedationProc != \"\" || SedationPost != \"\") {\r\n if (SedationPre == \"\")\r\n SedationPre = \"
None
\"\r\n if (SedationProc == \"\")\r\n SedationProc = \"
None
\"\r\n if (SedationPost == \"\")\r\n SedationPost = \"
None
\"\r\n Sedation = SedationPre + SedationProc + SedationPost;\r\n this.caseSummaryT += \"
\"\r\n this.caseSummaryT += \"
Sedation
\"\r\n this.caseSummaryT += Sedation\r\n this.caseSummaryT += \"
\"\r\n }\r\n if (LinesPre != \"\" || LinesProc != \"\" || LinesPost != \"\") {\r\n if (LinesPre == \"\")\r\n LinesPre = \"
None
\"\r\n if (LinesProc == \"\")\r\n LinesProc = \"
None
\"\r\n if (LinesPost == \"\")\r\n LinesPost = \"
None
\"\r\n Lines = LinesPre + LinesProc + LinesPost;\r\n this.caseSummaryT += \"
\"\r\n this.caseSummaryT += \"
Lines
\"\r\n this.caseSummaryT += Lines\r\n this.caseSummaryT += \"
\"\r\n }\r\n if (DrainsPre != \"\" || DrainsProc || DrainsPost != \"\") {\r\n if (DrainsPre == \"\")\r\n DrainsPre = \"
None
\"\r\n if (DrainsProc == \"\")\r\n DrainsProc = \"
None
\"\r\n if (DrainsPost == \"\")\r\n DrainsPost = \"
None
\"\r\n Drains = DrainsPre + DrainsProc + DrainsPost;\r\n this.caseSummaryT += \"
\"\r\n this.caseSummaryT += \"
Drains
\"\r\n this.caseSummaryT += Drains\r\n this.caseSummaryT += \"
\"\r\n }\r\n if (MechanicalSupportPre != \"\" || MechanicalSupportProc != \"\" || MechanicalSupportPost != \"\") {\r\n if (MechanicalSupportPre == \"\")\r\n MechanicalSupportPre = \"
None
\"\r\n if (MechanicalSupportProc == \"\")\r\n MechanicalSupportProc = \"
None
\"\r\n if (MechanicalSupportPost == \"\")\r\n MechanicalSupportPost = \"
None
\"\r\n MechanicalSupport = MechanicalSupportPre + MechanicalSupportProc + MechanicalSupportPost\r\n this.caseSummaryT += \"
\"\r\n this.caseSummaryT += \"
Mechanical Support
\"\r\n this.caseSummaryT += MechanicalSupport\r\n this.caseSummaryT += \"
\"\r\n }\r\n if (IVMedicationsPre != \"\" || IVMedicationsProc != \"\" || IVMedicationsPost != \"\") {\r\n if (IVMedicationsPre == \"\")\r\n IVMedicationsPre = \"
None
\"\r\n if (IVMedicationsProc == \"\")\r\n IVMedicationsProc = \"
None
\"\r\n if (IVMedicationsPost == \"\")\r\n IVMedicationsPost = \"
None
\"\r\n IVMedications = IVMedicationsPre + IVMedicationsProc + IVMedicationsPost;\r\n this.caseSummaryT += \"
\"\r\n this.caseSummaryT += \"
IV Medications
\"\r\n this.caseSummaryT += IVMedications\r\n this.caseSummaryT += \"
\"\r\n }\r\n if (Nursing != \"\") {\r\n\r\n this.caseSummaryT += \"
\"\r\n this.caseSummaryT += \"
Nursing Assignment
\"\r\n this.caseSummaryT += Nursing \r\n this.caseSummaryT += \"
\"\r\n }\r\n this.containsEfficacy = (this.caseModel.CaseProcEfficacy.filter(x => x.EfficacyProcedureCode == \"EFPRC01\").length > 1 || this.caseModel.CaseProcEfficacy.filter(x => x.EfficacyProcedureCode == \"EFPRC02\").length > 1 || this.caseModel.CaseProcEfficacy.filter(x => x.EfficacyProcedureCode == \"EFPRC03\").length > 1 || this.caseModel.CaseProcEfficacy.filter(x => x.EfficacyProcedureCode == \"EFPRC04\").length > 1 || this.caseModel.CaseProcEfficacy.filter(x => x.EfficacyProcedureCode == \"EFPRC05\").length > 1);\r\n \r\n \r\n \r\n \r\n if (this.user.IsIqicUser()) {\r\n\r\n \r\n\r\n if (this.caseModel.CaseProcEfficacy.filter(x => x.EfficacyProcedureCode == \"EFPRC01\").length > 1) {\r\n this.efficacyCount++;\r\n let aorticProcedure, aorticRegurgPre, aorticRegurgPost, avGradPre, avGradPost, leftVentriclePre, leftVentriclePost: string;\r\n this.caseSummaryTI += \"
\"\r\n this.caseSummaryTI += \"
\"\r\n this.caseSummaryTI += \"
\"\r\n\r\n var avProcedure = this.caseModel.CaseProcEfficacy.filter(x => x.EfficacyProcedureCode == \"EFPRC01\");\r\n\r\n for (let aortic in avProcedure) {\r\n if (avProcedure[aortic].EfficacyDataName == \"AV Procedure indications\") {\r\n aorticProcedure = \"\";\r\n if (avProcedure[aortic].EfficacyDataValue.indexOf(\"|\") > 0) {\r\n let splitAV: Array = [];\r\n splitAV = avProcedure[aortic].EfficacyDataValue.split(\"|\");\r\n for (let av of splitAV) {\r\n if (aorticProcedure != \"\")\r\n aorticProcedure += \"
\" + this.dropDownNames.DataObject.find(x => x.ChoiceCode == av && x.PicklistName == \"AV Procedure indications\")[\"ChoiceText\"];\r\n else\r\n aorticProcedure += this.dropDownNames.DataObject.find(x => x.ChoiceCode == av && x.PicklistName == \"AV Procedure indications\")[\"ChoiceText\"];\r\n }\r\n }\r\n else\r\n aorticProcedure = this.dropDownNames.DataObject.find(x => x.ChoiceCode == avProcedure[aortic].EfficacyDataValue && x.PicklistName == \"AV Procedure indications\")[\"ChoiceText\"];\r\n }\r\n if (avProcedure[aortic].EfficacyDataName == \"Aortic regurgitation Pre-Procedure\")\r\n aorticRegurgPre = this.dropDownNames.DataObject.find(x => x.ChoiceCode == avProcedure[aortic].EfficacyDataValue && x.PicklistName == 'Aortic regurgitation')[\"ChoiceText\"];\r\n if (avProcedure[aortic].EfficacyDataName == \"Aortic regurgitation Post-Procedure\")\r\n aorticRegurgPost = this.dropDownNames.DataObject.find(x => x.ChoiceCode == avProcedure[aortic].EfficacyDataValue && x.PicklistName == 'Aortic regurgitation')[\"ChoiceText\"];\r\n if (avProcedure[aortic].EfficacyDataName == \"Peak systolic AV gradient Pre-Procedure\")\r\n avGradPre = this.dropDownNames.DataObject.find(x => x.ChoiceCode == avProcedure[aortic].EfficacyDataValue && x.PicklistName == \"Peak systolic AV gradient\")[\"ChoiceText\"];\r\n if (this.caseModel.CaseProcEfficacy[aortic].EfficacyDataName == \"Peak systolic AV gradient Post-Procedure\")\r\n avGradPost = this.dropDownNames.DataObject.find(x => x.ChoiceCode == avProcedure[aortic].EfficacyDataValue && x.PicklistName == \"Peak systolic AV gradient\")[\"ChoiceText\"];\r\n if (avProcedure[aortic].EfficacyDataName == \"Pre Left Ventricle Dysfunction\")\r\n leftVentriclePre = avProcedure[aortic].EfficacyDataValue == \"1\" ? 'Yes' : 'No';\r\n if (avProcedure[aortic].EfficacyDataName == \"Post Left Ventricle Dysfunction\")\r\n leftVentriclePost = avProcedure[aortic].EfficacyDataValue == \"1\" ? 'Yes' : 'No';\r\n\r\n }\r\n this.caseSummaryTI += \"
\"\r\n this.caseSummaryTI += \"
Aortic Valvuloplasty
\"\r\n this.caseSummaryTI += \"
\"\r\n this.caseSummaryTI += \"
\"\r\n this.caseSummaryTI += \"
Procedure Indications:
\"\r\n this.caseSummaryTI += \"
\" + aorticProcedure + \"
\"\r\n this.caseSummaryTI += \"
\"\r\n this.caseSummaryTI += \"
\"\r\n this.caseSummaryTI += \"
\"\r\n this.caseSummaryTI += \"
Pre Procedure
\"\r\n this.caseSummaryTI += \"
Post Procedure
\"\r\n\r\n this.caseSummaryTI += \"
Left Ventricle Dysfunction
\"\r\n this.caseSummaryTI += \"
\" + leftVentriclePre + \"
\"\r\n this.caseSummaryTI += \"
\" + leftVentriclePost + \"
\"\r\n\r\n this.caseSummaryTI += \"
Aortic regurgitation
\"\r\n\r\n this.caseSummaryTI += \"
\" + aorticRegurgPre + \"
\"\r\n this.caseSummaryTI += \"
\" + aorticRegurgPost + \"
\"\r\n\r\n this.caseSummaryTI += \"
Peak systolic AV gradient
\"\r\n\r\n this.caseSummaryTI += \"
\" + avGradPre + \"
\"\r\n this.caseSummaryTI += \"
\" + avGradPost + \"
\"\r\n this.caseSummaryTI += \"
\"\r\n }\r\n \r\n if (this.caseModel.CaseProcEfficacy.filter(x => x.EfficacyProcedureCode == \"EFPRC02\").length > 1) {\r\n this.efficacyCount++;\r\n var pvProcedure = this.caseModel.CaseProcEfficacy.filter(x => x.EfficacyProcedureCode == \"EFPRC02\");\r\n let pulmProcedure, pulmValvePre = \"<30mmHg\", pulmValvePost = \"<30mmHg\", pulmRegurPre, pulmRegurPost, triValvePre, subObstru = \"No\", pulmValve = \"Non Dysplastic\", pulmArtery = \"No\", pulmIntervention = \"No\", triValvePost : string;\r\n this.caseSummaryTI += \"
\"\r\n this.caseSummaryTI += \"
\"\r\n this.caseSummaryTI += \"
\"\r\n for (let pulm in pvProcedure) {\r\n if (pvProcedure[pulm].EfficacyDataName == \"PV Procedure indications\") {\r\n pulmProcedure = \"\";\r\n if (pvProcedure[pulm].EfficacyDataValue.indexOf(\"|\") > 0) {\r\n let splitPU: Array = [];\r\n splitPU = pvProcedure[pulm].EfficacyDataValue.split(\"|\");\r\n for (let pu of splitPU) {\r\n if (pulmProcedure != \"\")\r\n pulmProcedure += \"
\" + this.dropDownNames.DataObject.find(x => x.ChoiceCode == pu && x.PicklistName == \"PV Procedure indications \")[\"ChoiceText\"];\r\n else\r\n pulmProcedure += this.dropDownNames.DataObject.find(x => x.ChoiceCode == pu && x.PicklistName == \"PV Procedure indications \")[\"ChoiceText\"];\r\n }\r\n }\r\n else\r\n pulmProcedure = this.dropDownNames.DataObject.find(x => x.ChoiceCode == pvProcedure[pulm].EfficacyDataValue && x.PicklistName == \"PV Procedure indications \")[\"ChoiceText\"];\r\n }\r\n if (pvProcedure[pulm].EfficacyDataName == \"Pulmonary regurgitation Pre-Procedure\")\r\n pulmRegurPre = this.dropDownNames.DataObject.find(x => x.ChoiceCode == pvProcedure[pulm].EfficacyDataValue && x.PicklistName == 'Pulmonary regurgitation')[\"ChoiceText\"];\r\n if (pvProcedure[pulm].EfficacyDataName == \"Pulmonary regurgitation Post-Procedure\")\r\n pulmRegurPost = this.dropDownNames.DataObject.find(x => x.ChoiceCode == pvProcedure[pulm].EfficacyDataValue && x.PicklistName == 'Pulmonary regurgitation')[\"ChoiceText\"];\r\n if (pvProcedure[pulm].EfficacyDataName == \"Tricuspid valve regurgitation Pre-Procedure\")\r\n triValvePre = this.dropDownNames.DataObject.find(x => x.ChoiceCode == pvProcedure[pulm].EfficacyDataValue && x.PicklistName == 'Tricuspid valve regurgitation')[\"ChoiceText\"];\r\n if (pvProcedure[pulm].EfficacyDataName == \"Tricuspid valve regurgitation Post-Procedure\")\r\n triValvePost = this.dropDownNames.DataObject.find(x => x.ChoiceCode == pvProcedure[pulm].EfficacyDataValue && x.PicklistName == 'Tricuspid valve regurgitation')[\"ChoiceText\"];\r\n if (pvProcedure[pulm].EfficacyDataName == \"Pre Pulmonary valve gradient\")\r\n pulmValvePre = pvProcedure[pulm].EfficacyDataValue == \"1\" ? '>30mmHg' : '<30mmHg';\r\n if (pvProcedure[pulm].EfficacyDataName == \"Post Pulmonary valve gradient\")\r\n pulmValvePost = pvProcedure[pulm].EfficacyDataValue == \"1\" ? '>30mmHg' : '<30mmHg';\r\n if (pvProcedure[pulm].EfficacyDataName == \"Subvalvar Obstruction\")\r\n subObstru = pvProcedure[pulm].EfficacyDataValue == \"1\" ? 'Yes' : 'No';\r\n if (pvProcedure[pulm].EfficacyDataName == \"Pulmonary Valve Type\")\r\n pulmValve = pvProcedure[pulm].EfficacyDataValue == \"1\" ? 'Nondysplastic' : 'Dysplastic';\r\n if (pvProcedure[pulm].EfficacyDataName == \"Any main pulmonary artery or right ventricular outflow tract tear\")\r\n pulmArtery = pvProcedure[pulm].EfficacyDataValue == \"1\" ? 'Yes' : 'No';\r\n if (pvProcedure[pulm].EfficacyDataName == \"Intervention performed\")\r\n pulmIntervention = pvProcedure[pulm].EfficacyDataValue == \"1\" ? 'Yes' : 'No';\r\n }\r\n this.caseSummaryTI += \"
\"\r\n this.caseSummaryTI += \"
Pulmonary Valvuloplasty
\"\r\n this.caseSummaryTI += \"
\"\r\n this.caseSummaryTI += \"
\"\r\n this.caseSummaryTI += \"
Procedure Indications:
\"\r\n this.caseSummaryTI += \"
\" + pulmProcedure + \"
\"\r\n\r\n this.caseSummaryTI += \"
Subvalvar Obstruction:
\" + subObstru + \"
\"\r\n this.caseSummaryTI += \"
Pulmonary Valve Type:
\" + pulmValve + \"
\"\r\n\r\n\r\n\r\n this.caseSummaryTI += \"
\"\r\n this.caseSummaryTI += \"
\"\r\n this.caseSummaryTI += \"
\"\r\n this.caseSummaryTI += \"
Pre Procedure
\"\r\n this.caseSummaryTI += \"
Post Procedure
\"\r\n\r\n this.caseSummaryTI += \"
Pulmonary valve gradient
\"\r\n this.caseSummaryTI += \"
\" + pulmValvePre + \"
\"\r\n this.caseSummaryTI += \"
\" + pulmValvePost + \"
\"\r\n\r\n this.caseSummaryTI += \"
Pulmonary regurgitation
\"\r\n\r\n this.caseSummaryTI += \"
\" + pulmRegurPre + \"
\"\r\n this.caseSummaryTI += \"
\" + pulmRegurPost + \"
\"\r\n\r\n this.caseSummaryTI += \"
Tricuspid valve regurgitation
\"\r\n this.caseSummaryTI += \"
\" + triValvePre + \"
\"\r\n this.caseSummaryTI += \"
\" + triValvePost + \"
\"\r\n this.caseSummaryTI += \"
\"\r\n this.caseSummaryTI += \"
\"\r\n this.caseSummaryTI += \"
Any main pulmonary artery or right ventricular outflow tract tear:
\" + pulmArtery + \"
\"\r\n if (pulmArtery == \"Yes\") {\r\n this.caseSummaryTI += \"
Intervention performed
\" + pulmIntervention + \"
\"\r\n } \r\n this.caseSummaryTI += \"
\"\r\n\r\n }\r\n \r\n if (this.caseModel.CaseProcEfficacy.filter(x => x.EfficacyProcedureCode == \"EFPRC03\").length > 1) {\r\n this.efficacyCount++;\r\n var asdProcedure = this.caseModel.CaseProcEfficacy.filter(x => x.EfficacyProcedureCode == \"EFPRC03\");\r\n let asdProcedureIn, asdResidual = \"No\", asdMitral = \"No\", asdShunt : string;\r\n this.caseSummaryTI += \"
\"\r\n this.caseSummaryTI += \"
\"\r\n this.caseSummaryTI += \"
\"\r\n for (let asd in asdProcedure) {\r\n if (asdProcedure[asd].EfficacyDataName == \"ASDDC Procedure Indications\") {\r\n asdProcedureIn = \"\";\r\n if (asdProcedure[asd].EfficacyDataValue.indexOf(\"|\") > 0) {\r\n let splitASD: Array = [];\r\n splitASD = asdProcedure[asd].EfficacyDataValue.split(\"|\");\r\n for (let asdi of splitASD) {\r\n if (asdProcedureIn != \"\")\r\n asdProcedureIn += \"
\" + this.dropDownNames.DataObject.find(x => x.ChoiceCode == asdi && x.PicklistName == \"ASDDC Procedure Indications\")[\"ChoiceText\"];\r\n else\r\n asdProcedureIn += this.dropDownNames.DataObject.find(x => x.ChoiceCode == asdi && x.PicklistName == \"ASDDC Procedure Indications\")[\"ChoiceText\"];\r\n }\r\n }\r\n else\r\n asdProcedureIn = this.dropDownNames.DataObject.find(x => x.ChoiceCode == asdProcedure[asd].EfficacyDataValue && x.PicklistName == \"ASDDC Procedure Indications\")[\"ChoiceText\"];\r\n }\r\n if (asdProcedure[asd].EfficacyDataName == \"ASD shunt Size\")\r\n asdShunt = this.dropDownNames.DataObject.find(x => x.ChoiceCode == asdProcedure[asd].EfficacyDataValue && x.PicklistName == 'ASD shunt Size')[\"ChoiceText\"];\r\n if (asdProcedure[asd].EfficacyDataName == \"Residual shunt on echocardiogram\")\r\n asdResidual = asdProcedure[asd].EfficacyDataValue == \"1\" ? 'Yes' : 'No';\r\n if (asdProcedure[asd].EfficacyDataName == \"New or Changed mitral valve insufficiency\")\r\n asdMitral = asdProcedure[asd].EfficacyDataValue == \"1\" ? 'Yes' : 'No';\r\n\r\n }\r\n this.caseSummaryTI += \"
\"\r\n this.caseSummaryTI += \"
ASD Device Closure
\"\r\n this.caseSummaryTI += \"
\"\r\n this.caseSummaryTI += \"
\"\r\n this.caseSummaryTI += \"
Procedure Indications:
\"\r\n this.caseSummaryTI += \"
\" + asdProcedureIn + \"
\"\r\n\r\n\r\n this.caseSummaryTI += \"
Residual shunt on echocardiogram:
\" + asdResidual + \"
\"\r\n if (asdResidual == \"Yes\") {\r\n this.caseSummaryTI += \"
Residual shunt size:
\" + asdShunt + \"
\"\r\n }\r\n else {\r\n this.caseSummaryTI += \"
\"\r\n }\r\n this.caseSummaryTI += \"
New or Changed mitral valve insufficiency:
\" + asdMitral + \"
\"\r\n\r\n this.caseSummaryTI += \"
\"\r\n }\r\n \r\n\r\n if (this.caseModel.CaseProcEfficacy.filter(x => x.EfficacyProcedureCode == \"EFPRC04\").length > 1) {\r\n this.efficacyCount++;\r\n var cpProcedure = this.caseModel.CaseProcEfficacy.filter(x => x.EfficacyProcedureCode == \"EFPRC04\");\r\n let cpProcedureIn, cpPostProc = \"No\", cpStent = \"No\", cpJailing = \"No\", cpCoarPre, cpCoarPost: string;\r\n this.caseSummaryTI += \"
\"\r\n this.caseSummaryTI += \"
\"\r\n this.caseSummaryTI += \"
\"\r\n for (let cp in cpProcedure) {\r\n if (cpProcedure[cp].EfficacyDataName == \"CP Procedure Indications\") {\r\n cpProcedureIn = \"\";\r\n if (cpProcedure[cp].EfficacyDataValue.indexOf(\"|\") > 0) {\r\n let splitCP: Array = [];\r\n splitCP = cpProcedure[cp].EfficacyDataValue.split(\"|\");\r\n for (let cpi of splitCP) {\r\n if (cpProcedureIn != \"\")\r\n cpProcedureIn += \"
\" + this.dropDownNames.DataObject.find(x => x.ChoiceCode == cpi && x.PicklistName == \"CP Procedure Indications\")[\"ChoiceText\"];\r\n else\r\n cpProcedureIn += this.dropDownNames.DataObject.find(x => x.ChoiceCode == cpi && x.PicklistName == \"CP Procedure Indications\")[\"ChoiceText\"];\r\n }\r\n }\r\n else\r\n cpProcedureIn = this.dropDownNames.DataObject.find(x => x.ChoiceCode == cpProcedure[cp].EfficacyDataValue && x.PicklistName == \"CP Procedure Indications\")[\"ChoiceText\"];\r\n }\r\n if (cpProcedure[cp].EfficacyDataName == \"Peak systolic gradient at coarctation Pre-Procedure\")\r\n cpCoarPre = this.dropDownNames.DataObject.find(x => x.ChoiceCode == cpProcedure[cp].EfficacyDataValue && x.PicklistName == 'Peak systolic gradient at coarctation')[\"ChoiceText\"];\r\n if (cpProcedure[cp].EfficacyDataName == \"Peak systolic gradient at coarctation Post-Procedure\")\r\n cpCoarPost = this.dropDownNames.DataObject.find(x => x.ChoiceCode == cpProcedure[cp].EfficacyDataValue && x.PicklistName == 'Peak systolic gradient at coarctation')[\"ChoiceText\"];\r\n if (cpProcedure[cp].EfficacyDataName == \"Any aneurysm post procedure\")\r\n cpPostProc = cpProcedure[cp].EfficacyDataValue == \"1\" ? 'Yes' : 'No';\r\n if (cpProcedure[cp].EfficacyDataName == \"stent migration\")\r\n cpStent = cpProcedure[cp].EfficacyDataValue == \"1\" ? 'Yes' : 'No';\r\n if (cpProcedure[cp].EfficacyDataName == \"Jailing of head/neck vessels\")\r\n cpJailing = cpProcedure[cp].EfficacyDataValue == \"1\" ? 'Yes' : 'No';\r\n\r\n }\r\n this.caseSummaryTI += \"
\"\r\n this.caseSummaryTI += \"
Coarctation
\"\r\n this.caseSummaryTI += \"
\"\r\n this.caseSummaryTI += \"
\"\r\n this.caseSummaryTI += \"
Procedure Indications:
\"\r\n this.caseSummaryTI += \"
\" + cpProcedureIn + \"
\"\r\n\r\n this.caseSummaryTI += \"
Any aneurysm post procedure:
\" + cpPostProc + \"
\"\r\n this.caseSummaryTI += \"
Stent migration:
\" + cpStent + \"
\"\r\n this.caseSummaryTI += \"
Jailing of head/Neck vessels:
\" + cpJailing + \"
\"\r\n this.caseSummaryTI += \"
\"\r\n this.caseSummaryTI += \"
\"\r\n this.caseSummaryTI += \"
\"\r\n this.caseSummaryTI += \"
Pre Procedure
\"\r\n this.caseSummaryTI += \"
Post Procedure
\"\r\n\r\n this.caseSummaryTI += \"
Peak systolic gradient at coarctation
\"\r\n this.caseSummaryTI += \"
\" + cpCoarPre + \"
\"\r\n this.caseSummaryTI += \"
\" + cpCoarPost + \"
\"\r\n this.caseSummaryTI += \"
\"\r\n }\r\n \r\n if (this.caseModel.CaseProcEfficacy.filter(x => x.EfficacyProcedureCode == \"EFPRC05\").length > 1) {\r\n this.efficacyCount++;\r\n var pdaProcedure = this.caseModel.CaseProcEfficacy.filter(x => x.EfficacyProcedureCode == \"EFPRC05\");\r\n let pdaProcedureIn, pdaShunt = \"No\", pdaSizeShunt, pdaPulmonary = \"No\", pdaObstruction = \"No\", pdaHemolysis = \"No\", pdaDevice = \"No\", pdaReason: string, pdaSeccondReason: string;;\r\n this.caseSummaryTI += \"
\"\r\n this.caseSummaryTI += \"
\"\r\n this.caseSummaryTI += \"
\"\r\n for (let pda in pdaProcedure) {\r\n if (pdaProcedure[pda].EfficacyDataName == \"PDADC Procedure Indications\") {\r\n pdaProcedureIn = \"\";\r\n if (pdaProcedure[pda].EfficacyDataValue.indexOf(\"|\") > 0) {\r\n let splitPDA: Array = [];\r\n splitPDA = pdaProcedure[pda].EfficacyDataValue.split(\"|\");\r\n for (let pdai of splitPDA) {\r\n if (pdaProcedureIn != \"\")\r\n pdaProcedureIn += \"
\" + this.dropDownNames.DataObject.find(x => x.ChoiceCode == pdai && x.PicklistName == \"PDADC Procedure Indications\")[\"ChoiceText\"];\r\n else\r\n pdaProcedureIn += this.dropDownNames.DataObject.find(x => x.ChoiceCode == pdai && x.PicklistName == \"PDADC Procedure Indications\")[\"ChoiceText\"];\r\n }\r\n }\r\n else\r\n pdaProcedureIn = this.dropDownNames.DataObject.find(x => x.ChoiceCode == pdaProcedure[pda].EfficacyDataValue && x.PicklistName == \"PDADC Procedure Indications\")[\"ChoiceText\"];\r\n }\r\n if (pdaProcedure[pda].EfficacyDataName == \"PDA Reason for device removal\")\r\n pdaReason = this.dropDownNames.DataObject.find(x => x.ChoiceCode == pdaProcedure[pda].EfficacyDataValue && x.PicklistName == \"PDA Reason for device removal\")[\"ChoiceText\"];\r\n if (pdaProcedure[pda].EfficacyDataName == \"PDA Reason for second device removal\")\r\n pdaSeccondReason = this.dropDownNames.DataObject.find(x => x.ChoiceCode == pdaProcedure[pda].EfficacyDataValue && x.PicklistName == \"PDA Reason for second device removal\")[\"ChoiceText\"];\r\n if (pdaProcedure[pda].EfficacyDataName == \"PDA shunt Size\")\r\n pdaSizeShunt = this.dropDownNames.DataObject.find(x => x.ChoiceCode == pdaProcedure[pda].EfficacyDataValue && x.PicklistName == 'PDA shunt Size')[\"ChoiceText\"];\r\n if (pdaProcedure[pda].EfficacyDataName == \"Residual Shunt\")\r\n pdaShunt = pdaProcedure[pda].EfficacyDataValue == \"1\" ? 'Yes' : 'No';\r\n if (pdaProcedure[pda].EfficacyDataName == \"New left pulmonaryartery stenosis\")\r\n pdaPulmonary = pdaProcedure[pda].EfficacyDataValue == \"1\" ? 'Yes' : 'No';\r\n if (pdaProcedure[pda].EfficacyDataName == \"New aortic arch obstruction\")\r\n pdaObstruction = pdaProcedure[pda].EfficacyDataValue == \"1\" ? 'Yes' : 'No';\r\n if (pdaProcedure[pda].EfficacyDataName == \"Hemolysis\")\r\n pdaHemolysis = pdaProcedure[pda].EfficacyDataValue == \"1\" ? 'Yes' : 'No';\r\n if (pdaProcedure[pda].EfficacyDataName == \"Device removed from body\")\r\n pdaDevice = pdaProcedure[pda].EfficacyDataValue == \"1\" ? 'Yes' : 'No';\r\n\r\n }\r\n this.caseSummaryTI += \"
\"\r\n this.caseSummaryTI += \"
PDA Device Closure
\"\r\n this.caseSummaryTI += \"
\"\r\n this.caseSummaryTI += \"
\"\r\n this.caseSummaryTI += \"
Procedure Indications:
\"\r\n this.caseSummaryTI += \"
\" + pdaProcedureIn + \"
\"\r\n\r\n\r\n\r\n this.caseSummaryTI += \"
Residual Shunt:
\" + pdaShunt + \"
\"\r\n if (pdaShunt == \"Yes\") {\r\n this.caseSummaryTI += \"
Size of Shunt:
\" + pdaSizeShunt + \"
\"\r\n }\r\n else {\r\n this.caseSummaryTI += \"
\"\r\n }\r\n\r\n this.caseSummaryTI += \"
Device removed from body:
\" + pdaDevice + \"
\"\r\n if (pdaDevice == \"Yes\") {\r\n this.caseSummaryTI += \"
Reason for device removal:
\" + pdaReason + \"
\"\r\n }\r\n else {\r\n this.caseSummaryTI += \"
\"\r\n }\r\n\r\n this.caseSummaryTI += \"
New left pulmonary artery stenosis:
\" + pdaPulmonary + \"
\"\r\n this.caseSummaryTI += \"
New aortic arch obstruction:
\" + pdaObstruction + \"
\"\r\n this.caseSummaryTI += \"
Hemolysis:
\" + pdaHemolysis + \"
\"\r\n\r\n this.caseSummaryTI += \"
\"\r\n\r\n } \r\n }\r\n if (this.efficacyCount < 2 || this.efficacyCount == 5) {\r\n this.caseSummaryT += \"
\"\r\n this.caseSummaryT += \"
\"\r\n this.caseSummaryT += \"
\"\r\n this.caseSummaryT += \"
\"\r\n this.caseSummaryT += \"
EOC Admit/Disposition
\"\r\n this.caseSummaryT += \"
\"\r\n this.caseSummaryT += \"
\"\r\n this.caseSummaryT += \"
Admission Source:
\" + AdmissionSource + \"
\"\r\n this.caseSummaryT += \"
Post-Cath Location:
\" + PostCathLocation + \"
\"\r\n this.caseSummaryT += \"
Admit>48 Hrs prior To Cath:
\" + AdmitPriorCath + \"
\"\r\n this.caseSummaryT += \"
Discharge > 48 Hrs Post-Cath:
\" + DischargePostCath + \"
\"\r\n this.caseSummaryT += \"
Unplanned Admission:
\" + UnplannedAdmission + \"
\"\r\n this.caseSummaryT += \"
Death < 72 Hrs Post-Cath:
\" + DeathPostCath + \"
\"\r\n this.caseSummaryT += \"
\"\r\n this.caseSummaryT += \"
\"\r\n this.caseSummaryT += \"
\"\r\n }\r\n else\r\n {\r\n this.caseSummaryTII += \"
\"\r\n this.caseSummaryTII += \"
\"\r\n this.caseSummaryTII += \"
\"\r\n this.caseSummaryTII += \"
\"\r\n this.caseSummaryTII += \"
Episode Of Care
\"\r\n this.caseSummaryTII += \"
\"\r\n this.caseSummaryTII += \"
\"\r\n this.caseSummaryTII += \"
Admission Source:
\" + AdmissionSource + \"
\"\r\n this.caseSummaryTII += \"
Post-Cath Location:
\" + PostCathLocation + \"
\"\r\n this.caseSummaryTII += \"
Admit>48 Hrs prior To Cath:
\" + AdmitPriorCath + \"
\"\r\n this.caseSummaryTII += \"
Discharge > 48 Hrs Post-Cath:
\" + DischargePostCath + \"
\"\r\n this.caseSummaryTII += \"
Unplanned Admission:
\" + UnplannedAdmission + \"
\"\r\n this.caseSummaryTII += \"
Death < 72 Hrs Post-Cath:
\" + DeathPostCath + \"
\"\r\n this.caseSummaryTII += \"
\"\r\n this.caseSummaryTII += \"
\"\r\n this.caseSummaryTII += \"
\"\r\n }\r\n\r\n if (this.efficacyCount < 2) {\r\n this.caseSummaryT = this.caseSummaryT + this.caseSummaryTI;\r\n }\r\n else\r\n {\r\n this.caseSummaryTI = this.caseSummaryTII + this.caseSummaryTI;\r\n }\r\n \r\n\r\n\r\n \r\n \r\n\r\n }\r\n\r\n onPrint() { \r\n \r\n let pdf = new jspdf('p', 'mm', 'a4'); \r\n let caseData = document.querySelector(\"#caseSummaryReport\"); \r\n let caseId = caseData.innerText.split(':')[1].split('H')[0];\r\n const filename = 'CaseSummary_' + caseId.replace(\"_\", \" \") + '.pdf';\r\n \r\n\r\n html2canvas(document.querySelector('#caseSummaryReport')).then(canvas1 => {\r\n \r\n pdf.addImage(canvas1.toDataURL('image/jpeg'), 'JPEG', 0, 0, 211, 298);\r\n if (this.efficacyCount < 2) {\r\n pdf.save(filename); \r\n }\r\n \r\n });\r\n if (this.containsEfficacy && this.user.IsIqicUser() && this.efficacyCount > 1) {\r\n \r\n \r\n html2canvas(document.querySelector(\"#caseSummaryReportI\")).then(canvas2 => {\r\n \r\n \r\n pdf.addPage('a4');\r\n \r\n if (this.efficacyCount < 4) {\r\n pdf.addImage(canvas2.toDataURL('image/jpeg'), 'JPEG', 3, 3, 211, 198);\r\n }\r\n else\r\n {\r\n pdf.addImage(canvas2.toDataURL('image/jpeg'), 'JPEG', 0, 0, 211, 298);\r\n }\r\n pdf.save(filename); \r\n });\r\n \r\n }\r\n \r\n \r\n }\r\n\r\n\r\n\r\n \r\n private convertAgeType(type: number): string {\r\n if (type === 0) {\r\n return 'Days';\r\n }\r\n if (type === 1) {\r\n return 'Months';\r\n }\r\n if (type === 2) {\r\n return 'Years';\r\n }\r\n }\r\n\r\n\r\n onPrintCancel() {\r\n this.showCaseSummary = false;\r\n }\r\n\r\n onImportCancel() {\r\n this.showImport = false;\r\n this.successMessage = '';\r\n this.errorMessage = '';\r\n this.labelValue = \"Choose File\";\r\n // this.errorMessage = 'Please enter at least one search criteria';\r\n }\r\n\r\n onImportUpload() {\r\n \r\n this.Spinner.show(); \r\n if (this.fileList.length > 0 && this.labelValue != \"Choose File\") {\r\n let file: File = this.fileList[0];\r\n let formData: FormData = new FormData();\r\n formData.append('uploadFile', file, file.name);\r\n let headers = new Headers() \r\n headers.append('Accept', 'application/json');\r\n\r\n let options = new RequestOptions({ headers: headers });\r\n\r\n this.caseService.postXMLData(formData, options, this.user.user.HospitalId, this.user.user.UserId)\r\n .subscribe(\r\n data => this.validateServerResponse(data)\r\n \r\n )\r\n }\r\n this.Spinner.hide(); \r\n }\r\n\r\n getAdverseEventSeriousness( val) { \r\n\r\n switch (val) {\r\n case \"AES01\": {\r\n return \"1 - None\";\r\n \r\n }\r\n case \"AES02\": {\r\n return \"2 - Minor\";\r\n \r\n }\r\n case \"AES03\": {\r\n return \"3 - Moderate\";\r\n \r\n }\r\n case \"AES04\": {\r\n return \"4 - Major\";\r\n \r\n }\r\n case \"AES05\": {\r\n return \"5 - Catastrophic\";\r\n \r\n }\r\n }\r\n }\r\n\r\n ImportData() {\r\n localStorage.removeItem(\"previousurl\");\r\n localStorage.removeItem(\"lookup\");\r\n this.showImport = true;\r\n }\r\n\r\n SearchCase() {\r\n localStorage.setItem(\"lookup\", JSON.stringify(this.lookup));\r\n if ((this.lookup.CaseId == null || this.lookup.CaseId <= 0)\r\n && this.lookup.CathDateFrom == null\r\n && this.lookup.CathDateTo == null\r\n && this.lookup.AgeRange == ''\r\n && this.lookup.IncompleteDataOnly == false\r\n && this.lookup.CompleteDataOnly == false\r\n && this.lookup.PedcathCasesOnly == false\r\n && this.lookup.HighAE == false && this.lookup.MedAE == false && this.lookup.LowAE == false) {\r\n this.lookup.CaseId = null;\r\n this.errorMessage = \"Please enter at least one search criteria\";\r\n this.lookup.searchCaseSummarys = [];\r\n } else {\r\n this.errorMessage = \"\";\r\n this.lookup.searchCases().subscribe(data => this.validateSearch(data));\r\n } \r\n }\r\n\r\n SearchClear() {\r\n this.lookup.searchClear();\r\n this.errorMessage = \"Please enter at least one search criteria\";\r\n $(\"#case-number\").val('');\r\n $(\"#cath-date-from\").val('');\r\n $(\"#cath-date-to\").val('');\r\n }\r\n\r\n GetWeeklyDashBoard() {\r\n this.showWeeklyDashboard = true;\r\n this.weeklyList = [];\r\n this.lookup.getWeeklyDashBoard().subscribe(data => this.validateWeeklySummaryResponse(data));\r\n }\r\n\r\n CancelWeeklyDashBoard() {\r\n this.showWeeklyDashboard = false;\r\n }\r\n\r\n caseIdCheck() {\r\n if (!this.lookup.CaseId) {\r\n $(\"#case-number\").val('');\r\n }\r\n }\r\n\r\n dateCheck() {\r\n if (this.lookup.CathDateFrom) {\r\n let millFrom = Date.parse(this.lookup.CathDateFrom.toString());\r\n if (!(millFrom > 0)) {\r\n this.lookup.CathDateFrom = null;\r\n $(\"#cath-date-from\").val('');\r\n }\r\n } else {\r\n $(\"#cath-date-from\").val('');\r\n }\r\n\r\n if (this.lookup.CathDateTo) {\r\n let millTo = Date.parse(this.lookup.CathDateTo.toString());\r\n if (!(millTo > 0)) {\r\n this.lookup.CathDateTo = null;\r\n $(\"#cath-date-to\").val('');\r\n } else if (this.isfutureDate(this.lookup.CathDateTo)) {\r\n this.lookup.CathDateTo = new Date();\r\n }\r\n } else {\r\n $(\"#cath-date-to\").val('');\r\n }\r\n\r\n if ((this.lookup.CathDateFrom && this.lookup.CathDateTo) && (this.lookup.CathDateFrom > this.lookup.CathDateTo)) {\r\n let newFrom = this.lookup.CathDateTo;\r\n let newTo = this.lookup.CathDateFrom;\r\n\r\n this.lookup.CathDateTo = newTo;\r\n this.lookup.CathDateFrom = newFrom;\r\n }\r\n }\r\n\r\n validateSearch(sr: SearchResponse) {\r\n if (sr.MessageType === \"success\") {\r\n this.p = 1;\r\n this.lookup.searchCaseSummarys = sr.DataObject;\r\n this.errorMessage = '';\r\n this.showImport = false;\r\n }\r\n else {\r\n this.errorMessage = sr.Message;\r\n }\r\n }\r\n\r\n validateWeeklySummaryResponse(sr: WeeklySummaryResponse) {\r\n if (sr.MessageType === \"success\") {\r\n this.p = 1;\r\n this.lookup.weeklySummary = sr.DataObject;\r\n var weekDayModel = new WeekDayModel();\r\n var oldIndex = -1;\r\n var OldWeekDayDetailsDiv = '';\r\n var weekendMultipleCase = false;\r\n var lastModelIndex = 0;\r\n\r\n this.lookup.weeklySummary.forEach((eachSummary, i) => {\r\n var headerDiv = '
';\r\n var calendarDate = this.datepipe.transform(eachSummary.CalendarDate, 'MM/dd/yyyy') + '
';\r\n var statusColor = eachSummary.CompleteFlag == 'High' ? 'red'\r\n : eachSummary.CompleteFlag == 'Medium' ? '#ffc107'\r\n : eachSummary.CompleteFlag == 'Low' ? 'green'\r\n : eachSummary.CompleteFlag == '---' ? 'gray':'';\r\n var repeatWeekDayIndex = eachSummary.WeekDayIndex == oldIndex ? true : false;\r\n var status = statusColor != '' ?\r\n '
' : '';\r\n var weekDayDetailsDiv = '
' + status\r\n + '
'\r\n + eachSummary.AgeAndCaseType + '

'\r\n + eachSummary.CaseTimeAndOperator + '

';\r\n var weekDayDetailsDiv = repeatWeekDayIndex ? OldWeekDayDetailsDiv + weekDayDetailsDiv : weekDayDetailsDiv;\r\n var bodyDiv = '

'+calendarDate + weekDayDetailsDiv; \r\n\r\n if (eachSummary.WeekDayIndex == 1) {\r\n var dateObj = new Date(eachSummary.CalendarDate);\r\n var month = dateObj.getUTCMonth() + 1; //months from 1-12\r\n var day = dateObj.getUTCDate();\r\n weekDayModel.WeekDate = month + \"/\" + day;\r\n }\r\n weekDayModel.WeekIndex = eachSummary.WeekNo;\r\n weekDayModel.Monday = eachSummary.WeekDayIndex == 1 ? headerDiv + 'Monday' + bodyDiv : weekDayModel.Monday;\r\n weekDayModel.Tuesday = eachSummary.WeekDayIndex == 2 ? headerDiv + 'Tuesday' + bodyDiv : weekDayModel.Tuesday;\r\n weekDayModel.Wednesday = eachSummary.WeekDayIndex == 3 ? headerDiv + 'Wednesday' + bodyDiv: weekDayModel.Wednesday;\r\n weekDayModel.Thursday = eachSummary.WeekDayIndex == 4 ? headerDiv + 'Thursday' + bodyDiv : weekDayModel.Thursday;\r\n weekDayModel.Friday = eachSummary.WeekDayIndex == 5 ? headerDiv + 'Friday' + bodyDiv : weekDayModel.Friday;\r\n\r\n oldIndex = eachSummary.WeekDayIndex;\r\n OldWeekDayDetailsDiv = weekDayDetailsDiv;\r\n if (weekDayModel.WeekIndex == lastModelIndex && eachSummary.WeekDayIndex == 6) {\r\n weekendMultipleCase = true;\r\n }\r\n else {\r\n weekendMultipleCase = false;\r\n }\r\n if (eachSummary.WeekDayIndex == 6 && !weekendMultipleCase) {\r\n this.weeklyList.push(weekDayModel);\r\n lastModelIndex = weekDayModel.WeekIndex;\r\n weekDayModel = new WeekDayModel();\r\n }\r\n });\r\n\r\n this.errorMessage = '';\r\n this.showImport = false;\r\n }\r\n else {\r\n this.errorMessage = sr.Message;\r\n }\r\n }\r\n checkCathTime(date: string) {\r\n if (date.indexOf(\"T00:00:00Z\") !== -1) {\r\n this.caseTimeResult = \"--\";\r\n return false;\r\n }\r\n else {\r\n let reT = \"T\";\r\n let reZ = \"Z\";\r\n this.caseTimeResult = date.replace(reT, \" \");\r\n this.caseTimeResult = this.caseTimeResult.replace(reZ, \" \");\r\n return true;\r\n }\r\n\r\n }\r\n\r\n validateServerResponse(sr: ServerResponse) {\r\n if (sr.MessageType === \"Success\") {\r\n this.p = 1;\r\n // this.lookup.searchCaseSummarys = sr.DataObject;\r\n this.successMessage = sr.Message;\r\n this.errorMessage = '';\r\n //this.showImport = false;\r\n }\r\n else {\r\n this.successMessage = '';\r\n this.errorMessage = sr.Message;\r\n } \r\n }\r\n\r\n deleteCaseSet(caseId: number) {\r\n this.caseService.deleteCaseId = caseId;\r\n }\r\n\r\n private isfutureDate(target: Date) {\r\n\r\n if (target.getFullYear() > this.setDate.getFullYear()) {\r\n return true;\r\n } else if (target.getFullYear() == this.setDate.getFullYear()) {\r\n if (target.getMonth() > this.setDate.getMonth()) {\r\n return true;\r\n } else if (target.getMonth() == this.setDate.getMonth()) {\r\n if (target.getDate() > this.setDate.getDate()) {\r\n return true;\r\n }\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n\r\n private loadDuration(time1: string, time2: string): string {\r\n\r\n if (time1.length > 0 && time2.length > 0) {\r\n try {\r\n let time1Array = time1.split(\":\");\r\n let time1Hours = +time1Array[0]; \r\n let time1Mins = +time1Array[1];\r\n let time1Full = (time1Hours * 60) + time1Mins;\r\n\r\n let time2Array = time2.split(\":\");\r\n let time2Hours = +time2Array[0];\r\n let time2Mins = +time2Array[1];\r\n let time2Full = (time2Hours * 60) + time2Mins;\r\n\r\n let timeMinutes = 0; \r\n if (time1Full > time2Full) {\r\n time2Full = time2Full + 1440;\r\n }\r\n timeMinutes = (time2Full - time1Full);\r\n\r\n let hours = Math.floor(timeMinutes / 60);\r\n let minutes = timeMinutes % 60;\r\n\r\n var format = function (val) {\r\n return (val < 10) ? \"0\" + val : val;\r\n }\r\n var timeFormat = function (hr, min) {\r\n return hr + ':' + min;\r\n }\r\n\r\n let hourStr = format(hours);\r\n let minuteStr = format(minutes)\r\n return timeFormat(hourStr, minuteStr);\r\n } catch {\r\n return \"\";\r\n }\r\n }\r\n return \"\";\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { Http, Response, Headers, RequestOptions } from '@angular/http';\r\nimport { Observable, pipe } from 'rxjs';\r\nimport { map, takeUntil, tap } from 'rxjs/operators';\r\nimport { SearchModel } from '../../../shared/search-model';\r\nimport { SearchResponse } from '../../../shared/search-response';\r\nimport { WeeklySummaryResponse } from '../../../shared/weekly-summary-response';\r\nimport { SearchCaseSummaryModel } from '../../../shared/search-case-summary-model';\r\nimport { WeeklySummaryModel } from '../../../shared/weekly-summary-model';\r\nimport { CONFIG } from '../../../shared/config';\r\n\r\nlet apiUrl = CONFIG.baseUrls.api;\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class CaseLookupService {\r\n\r\n CaseId: number;\r\n HospitalId: number;\r\n CompleteDataOnly: boolean = false;\r\n IncompleteDataOnly: boolean = false;\r\n HighAE: boolean = false;\r\n MedAE: boolean = false;\r\n LowAE: boolean = false;\r\n CathDateFrom: Date = null;\r\n CathDateTo: Date = null;\r\n AgeRange: string = '';\r\n AdverseEventSeverity: string = '';\r\n AdverseEventSeveritys: any;\r\n CaseType: string = '';\r\n TimeInterval: string = '';\r\n reportCategorySelected = '';\r\n siteSelected : any;\r\n reportSelected = '';\r\n OperatorID: number;\r\n Operator: any;\r\n ShowInactiveCases: boolean = false;\r\n RegistrySelected: string = '';\r\n PedcathCasesOnly: boolean = false;\r\n Reviewed: boolean = false;\r\n NotReviewed: boolean = false;\r\n\r\n public searchCaseSummarys: SearchCaseSummaryModel[];\r\n public weeklySummary: WeeklySummaryModel[];\r\n\r\n private http: Http = null;\r\n constructor(_http:Http) {\r\n this.http = _http;\r\n }\r\n\r\n searchClear() {\r\n this.CaseId = null;\r\n this.CathDateFrom = null;\r\n this.CathDateTo = null;\r\n this.AgeRange = '';\r\n this.AdverseEventSeverity = '';\r\n this.CaseType = '';\r\n this.TimeInterval = '';\r\n this.IncompleteDataOnly = false;\r\n this.CompleteDataOnly = false;\r\n this.HighAE = false;\r\n this.MedAE = false;\r\n this.LowAE = false;\r\n this.reportCategorySelected = '';\r\n this.reportSelected = '';\r\n this.searchCaseSummarys = [];\r\n this.PedcathCasesOnly = false;\r\n }\r\n\r\n searchCases() {\r\n let searchInfo = new SearchModel;\r\n\r\n searchInfo.CaseId = this.CaseId; \r\n searchInfo.HospitalId = this.HospitalId;\r\n searchInfo.ShowInactiveCases = this.ShowInactiveCases;\r\n searchInfo.ShowPedcathCases = this.PedcathCasesOnly;\r\n\r\n if (this.CaseId == null) {\r\n //has To date but no From date\r\n if (this.CathDateFrom == null && this.CathDateTo) {\r\n let dFrom = new Date(this.CathDateTo);\r\n dFrom.setDate(dFrom.getDate() - 30);\r\n this.CathDateFrom = dFrom;\r\n }\r\n\r\n //has From date but no To date\r\n if (this.CathDateFrom && this.CathDateTo == null) {\r\n this.CathDateTo = new Date;\r\n }\r\n\r\n try {\r\n searchInfo.CathDateFrom = this.formatDate(new Date(this.CathDateFrom));\r\n } catch {\r\n searchInfo.CathDateFrom = '';\r\n }\r\n\r\n try {\r\n searchInfo.CathDateTo = this.formatDate(new Date(this.CathDateTo)) + ' 23:59';\r\n } catch {\r\n searchInfo.CathDateTo = '';\r\n }\r\n\r\n searchInfo.CompleteDataOnly = this.CompleteDataOnly;\r\n searchInfo.IncompleteDataOnly = this.IncompleteDataOnly;\r\n searchInfo.HighAE = this.HighAE;\r\n searchInfo.MedAE = this.MedAE;\r\n searchInfo.LowAE = this.LowAE;\r\n\r\n searchInfo.AgeRange = this.AgeRange; \r\n\r\n if (searchInfo.CompleteDataOnly && searchInfo.IncompleteDataOnly) {\r\n searchInfo.CompleteDataOnly = false;\r\n searchInfo.IncompleteDataOnly = false;\r\n } \r\n }\r\n else {\r\n this.CathDateFrom = null;\r\n this.CathDateTo = null;\r\n this.AgeRange = ''; \r\n this.IncompleteDataOnly = false;\r\n this.CompleteDataOnly = false;\r\n\r\n searchInfo.CathDateFrom = '';\r\n searchInfo.CathDateTo = '';\r\n searchInfo.AgeRange = ''; \r\n searchInfo.CompleteDataOnly = false;\r\n searchInfo.IncompleteDataOnly = false;\r\n searchInfo.ShowPedcathCases = false;\r\n \r\n }\r\n \r\n let headers = new Headers({\r\n //'Content-Type': 'application/x-www-form-urlencoded'\r\n });\r\n let options = new RequestOptions({ headers: headers });\r\n return this.http.post(apiUrl + \"case/getcasesearchresults\", searchInfo, options)\r\n .pipe(map((response: Response) => response.json()));\r\n }\r\n\r\n getWeeklyDashBoard() {\r\n let headers = new Headers({\r\n });\r\n let options = new RequestOptions({ headers: headers });\r\n return this.http.get(apiUrl + \"case/getweeklydashboard?hospitalid=\" + this.HospitalId, options)\r\n .pipe(map((response: Response) => response.json()));\r\n }\r\n\r\n private formatDate(d: Date): string {\r\n if (d) {\r\n let month = '' + (d.getMonth() + 1),\r\n day = '' + d.getDate(),\r\n year = d.getFullYear();\r\n\r\n if (isNaN(year)) {\r\n return '';\r\n }\r\n\r\n if (month.length < 2) month = '0' + month;\r\n if (day.length < 2) day = '0' + day;\r\n\r\n let response = [month, day, year].join('-');\r\n\r\n if (year < 2000) {\r\n response = '';\r\n }\r\n\r\n return response;\r\n }\r\n\r\n return '';\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\nimport { Http, Response, Headers, RequestOptions } from '@angular/http';\nimport { Observable, pipe } from 'rxjs';\nimport { map, takeUntil, tap } from 'rxjs/operators';\nimport { LoginModel } from '../../shared/login-model';\nimport { UserResponse } from '../../shared/user-response';\nimport { UserModel } from '../../shared/user-model';\nimport { CONFIG } from '../../shared/config';\n\nlet apiUrl = CONFIG.baseUrls.api;\n@Injectable()\nexport class LoginService {\n private http: Http = null;\n\n private loggedIn: boolean = false;\n public user: UserModel;\n\n constructor(_http: Http) {\n this.http = _http;\n }\n\n\n IsLoggedIn() {\n if (!this.loggedIn) {\n try {\n //check session storage\r\n let u = JSON.parse(localStorage.getItem('currentUser'));\r\n if (u != null) {\r\n this.user = u;\r\n this.loggedIn = true;\r\n }\r\n else {\r\n this.logOut();\r\n }\r\n } catch { \n this.logOut();\r\n }\n \r\n }\n\n \n\n return this.loggedIn;\r\n }\n\n logIn() {\n this.loggedIn = true;\n }\n\n logOut() {\n this.loggedIn = false;\n localStorage.removeItem('currentUser');\n this.user = null;\n }\n\n public IsAdmin(): boolean {\n if (this.user != null) {\r\n return this.user.Role === \"Admin\";\r\n }\r\n\r\n return false;\r\n }\n\n public IsSiteAdmin(): boolean {\n if (this.user != null) {\r\n return this.user.Role === \"SiteAdmin\";\r\n }\r\n\r\n return false;\r\n }\n\n public IsReadOnlyUser(): boolean {\n if (this.user != null) {\r\n return this.user.Role === \"ReadOnlyUser\";\r\n }\r\n\r\n return false;\r\n }\n\n public IsIqicUser(): boolean {\n if (this.user != null) {\r\n return this.user.UserAppRegistry === \"IQIC\" || this.user.UserAppRegistry === \"BOTH\";\r\n }\r\n\r\n return false;\r\n }\n\n checkUser(un: string, pw: string) {\n let loginfo = new LoginModel;\n loginfo.username = un;\n loginfo.password = pw;\n\n let headers = new Headers({\n //'Content-Type': 'application/x-www-form-urlencoded'\n });\n let options = new RequestOptions({ headers: headers });\n return this.http.post(apiUrl + \"user/validateuser\", loginfo, options)\n .pipe(map((response: Response) => response.json()));\n }\n}\n","module.exports = \"
\\r\\n
\\r\\n
\\r\\n \\r\\n

Loading...

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n GENERATE REPORT\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
Select Report Category
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
Select Report
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
Date Range
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n —\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n

* Please select a date range less than two years.
\\r\\n
\\r\\n
\\r\\n
AGE RANGE
\\r\\n \\r\\n
\\r\\n
\\r\\n
Case Type
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
Weight Range (kg)
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n —\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Time Interval\\r\\n
\\r\\n \\r\\n   \\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n Case 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
\\r\\n
\\r\\n Risk Type Category\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
Operator
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
Adverse Event Severity
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
Review STATUS
\\r\\n \\r\\n \\r\\n   \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n   \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Generate Report\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{reportName}}
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\"","module.exports = \"@import url(\\\"https://fonts.googleapis.com/css?family=Montserrat:400,500,600\\\");@import url(\\\"https://use.fontawesome.com/releases/v5.0.13/css/all.css\\\");.max-height{height:100% !important}.max-width{width:100% !important}.nav-pills{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center}.nav-pills .nav-item{font-size:13px;display:flex;width:100%;flex:1 1 100px;border-bottom:3px solid rgba(0,0,0,0);max-width:100%;min-width:100px;align-items:center;text-align:center;border:1px solid #ddd;-ms-box-shadow:0px 0px 20px -7px rgba(0,0,0,0.8);box-shadow:0px 0px 20px -7px}.nav-item.active{background:#ffc107}.nav-item.active a{color:black}.chart-container{min-height:300px}.chart-container .chartjs-hidden-iframe{display:block;padding-top:100%;margin-top:-100%;overflow:hidden;border:0px;margin:0px;top:0px;left:0px;bottom:0px;right:0px;height:0px;width:100%;position:absolute;pointer-events:none;z-index:-1}.reviewed-status label{font-size:12px}.reviewed-status input[type=\\\"radio\\\"],.reviewed-status input[type=\\\"checkbox\\\"]{display:none}.reviewed-status input[type=\\\"radio\\\"]:checked+label.reviewed,.reviewed-status input[type=\\\"checkbox\\\"]:checked+label.reviewed{background:#3ab2d1;color:#fff}.reviewed-status input[type=\\\"radio\\\"]+label.reviewed:hover,.reviewed-status input[type=\\\"checkbox\\\"]+label.reviewed:hover{background:#3ab2d1;color:#fff}\\n\"","\r\nimport { Component, ElementRef, OnInit, ViewChild, Injectable } from \"@angular/core\";\nimport { CaseLookupService } from \"../case-lookup/case-lookup.service\";\r\nimport { AdverseEventsReportService } from \"./report-services/adverse-events-report.service\";\nimport { CaseTypeService } from \"./report-services/case-type.service\";\nimport { CharacteristicsService } from \"./report-services/characteristics.service\";\nimport { HemoVariablesService } from \"./report-services/hemo-variables.service\";\nimport { RadiationService } from \"./report-services/radiation.service\";\nimport { RiskAdjustmentService } from \"./report-services/risk-adjustment.service\";\nimport { RiskTypeService } from \"./report-services/risk-type.service\";\nimport { ColorServiceService } from \"./report-services/color-service.service\";\nimport { enterAnimation } from \"../../../animations/enter.animation\";\n\r\nimport { ReportRequest } from \"../../../shared/report-request\";\r\nimport { ReportResponse } from \"../../../shared/report-response\";\r\n// import Wijmo components\r\nimport { CollectionView } from 'wijmo/wijmo';\r\nimport * as wjcCore from 'wijmo/wijmo';\r\nimport * as wjcChart from 'wijmo/wijmo.chart';\r\n\r\nimport { PicklistItemService } from \"../../shared-data-entry/picklist-item.service\";\nimport { PicklistItemResponse } from '../../../shared/picklist-item-response';\r\nimport { LoginService } from \"../login.service\";\n\nimport { ReportService } from \"./report-services/report.service\";\r\nimport { DatePipe } from \"@angular/common\";\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\n\r\nimport { ReportDataAE } from \"../../../shared/report-model-ae\";\r\nimport { SiteExtract } from \"../../../shared/report-model-site-extract\";\r\nimport { forEach } from \"@angular/router/src/utils/collection\";\r\nimport { ReportDataMM } from \"../../../shared/report-model-mm\";\r\n\nimport { NgForm } from \"@angular/forms\";\r\n\n@Injectable({\n providedIn: \"root\"\n})\n\n@Component({\n selector: \"app-manage-reports\",\n templateUrl: \"./manage-reports.component.html\",\n styleUrls: [\"./manage-reports.component.scss\"],\n host: { '[@enterAnimation]': '' },\n animations: [enterAnimation],\n providers: [DatePipe]\n})\n\nexport class ManageReportsComponent implements OnInit {\r\n @ViewChild('reportform')\n form: NgForm;\r\n itemList = [];\r\n selectedItems = [];\r\n settings = {};\r\n \r\n @ViewChild('fChart') fChart: any;\r\n\r\n flexChart: wjcChart.FlexChart;\n cvPaging: wjcCore.CollectionView;\n cvPagingmm: wjcCore.CollectionView;\n cvExtractCaseInfo: wjcCore.CollectionView;\n cvExtractClinicalInfo: wjcCore.CollectionView;\n cvExtractProcedureInfo: wjcCore.CollectionView;\n cvExtractHemoInfo: wjcCore.CollectionView;\n cvExtractCaseTypeInfo: wjcCore.CollectionView;\n cvExtractAEEventInfo: wjcCore.CollectionView;\n cvExtractResourceInfo: wjcCore.CollectionView;\n cvExtractEOCAdmitDispoInfo: wjcCore.CollectionView;\n cvExtractCalculatorInfo: wjcCore.CollectionView;\n fromDate: Date;\r\n toDate: Date;\n fromWeight: number;\n toWeight: number;\n htmlStringInsert: String;\n contain1stClass: String;\n contain2ndClass: String;\n contain3rdClass: String;\n contain4thClass: String;\n errorMessage: String;\n datePipe: DatePipe;\n isValid: Boolean;\n showSideBar: boolean = true;\n filterStatus: any = 'Hide Filter'\n ageOptions = [];\n flexChartPoints: number;\r\n title: string;\r\n duration: number;\r\n easing: string;\r\n animationMode: string;\n totalCasesLabel: string;\n totalCases: number = 0;\n reportCategorySelected: string = '';\n reportSelected: string = '';\n reportName: string = '';\n XAxisLabel: string = '';\n legendPosition: string = 'Bottom';\n titleX: string = '';\n yAxisFormat: string = '';\n\n\n //chart properties\r\n chartType = 'Column';\r\n stacking = 'None';\r\n rotated = false;\n\n //Reports, Report Categories and Filters are retrieved from the Data Base\n //reportTypes = [\"Date Range\", \"Clinical Characteristics\", \"Hemodynamic Variables\", \"Case Type\", \"Risk Type Category\", \"Adverse Events\", \"Risk Adjustment\", \"Radiation\"];\n //reportTypes = [\"Case Volume By Center\", \"Case Volume Over Time\", \"Case Volume By Center By Age\", \"Age By Center\"];\n //reportCategories = [\"Case Volume\", \"Comorbities\", \"Hemodynamics\", \"Case Type\", \"Risk Type\", \"Adverse Events\", \"Risk Adjustment\", \"Radiation\"];\n reportCategories = [];\n reportTypes = [];\n chartTypes = [\"Column\", \"Bar\", \"Scatter\", \"Line\", \"LineSymbols\", \"Area\", \"Spline\", \"SplineSymbols\", \"SplineArea\"];\n\n //caseTypes = [\"Diagnostic\", \"Intervention\", \"Biopsy\"];\n caseTypes = [];\n timeIntervals = [];\n operators = [];\n operatorsOptions = [];\n adverseEventSeverity = [];\n adverseEventSeverityOptions = [];\n\n c3poProc = [];\n hospitalProc = [];\n hospitalProcOptions = [];\n public c3poOptions = [];\n iqicProc = [];\n public iqicOptions = [];\n selectedPdaProc = []; \n currentValue = \"Select Report Type\";\n riskTypes = [\"REC 1\", \"REC 2\", \"REC 3\", \"CHARM 1\", \"CHARM 2\", \"CHARM 3\", \"CHARM 4\", \"CRISP 1\", \"CRISP 2\", \"CRISP 3\", \"IMPACT 1\", \"IMPACT 2\", \"IMPACT 3\", \"IMPACT 4\", \"IMPACT 5\", \"IMPACT 6\"];\n\n events = [\"Any\", \"Major Adverse Event\", \"Severity 3\", \"Severity 4\", \"Severity 5\"];\n\n selectedEvents = [];\n radiationCat = [1, 2, 3, \"NC\"];\n selectedRadiationCat = [];\n report = false;\n showSpinner = false;\n showDateRangeFilter = false;\n showWeightFilter = false;\n showHeightFilter = false;\n showAgeRangeFilter = false;\n showCaseTypeFilter = false;\n showTimeIntervalFilter = false;\n showOperatorFilter = false;\n showOperatorColumn = false;\n showAdverseEventSeverityFilter = false;\n showReportCategories = false;\n showReports = false;\n showReport = false;\n showStackedItems = false;\n showYAxisData = true;\n showVolumeTimeIntervalFilter = false;\n showVolumeReports = false;\n showAEReports = false;\n showMMReport = false;\n showSaveToPDF = false;\n showExtractReport = false;\n reviewStatus = false;\n viewAllSites: boolean = false;\n exportAll: boolean = false;\n exportAllmm: boolean = false;\n //These services are from previous versions before\n //It was changed to a generic web service \n adverseEvents: AdverseEventsReportService;\n characteristics: CharacteristicsService;\n hemoVariables: HemoVariablesService;\n radiation: RadiationService;\n riskAdjustment: RiskAdjustmentService;\n riskType: RiskTypeService;\n colorService: ColorServiceService;\n http: any;\r\n reportService: ReportService;\r\n data: any;\r\n siteExtractData: any;\r\n picklistItemService: PicklistItemService;\r\n lookup: CaseLookupService;\r\n user: LoginService;\r\n elementRef: ElementRef;\r\n reportDataAE: ReportDataAE[];\r\n reportDataMM: ReportDataMM[];\r\n\r\n\r\n\n constructor(\n lookup: CaseLookupService,\n adverseEvents: AdverseEventsReportService,\n caseType: CaseTypeService,\n characteristics: CharacteristicsService,\n hemoVariables: HemoVariablesService,\n radiation: RadiationService,\n riskAdjustment: RiskAdjustmentService,\n riskType: RiskTypeService,\n colorService: ColorServiceService,\n reportService: ReportService,\n datePipe: DatePipe,\n picklistItemService: PicklistItemService,\n user: LoginService,\n private spinner: NgxSpinnerService,\n elementRef: ElementRef,\n\n\n\n ) {\n \n this.adverseEvents = adverseEvents;\n this.characteristics = characteristics;\n this.hemoVariables = hemoVariables;\n this.radiation = radiation;\n this.riskAdjustment = riskAdjustment;\n this.riskType = riskType;\n this.colorService = colorService;\n this.reportService = reportService;\r\n this.datePipe = new DatePipe('en-US');\r\n\r\n this.flexChartPoints = 10;\r\n this.title = 'FlexChart';\r\n this.duration = 40;\r\n this.chartType = 'Column';\r\n this.easing = 'Swing';\r\n this.animationMode = 'All';\r\n this.picklistItemService = picklistItemService;\n this.lookup = lookup;\r\n this.user = user;\r\n this.flexChart = this.flexChart;\r\n\r\n\r\n\n }\n ngOnInit() {\n this.changeLegend();\n this.htmlStringInsert = \"Waiting....\";\n this.contain1stClass = \"my-card d-flex flex-row flex-nowrap\";\n this.contain2ndClass = \"d-none d-md-flex\";\n this.contain3rdClass = \"fa\";\n this.contain4thClass = \"card-body d-flex align-items-center justify-content-center\"; \n this.lookup.HospitalId = this.user.user.HospitalId;\n this.lookup.searchClear();\n this.hospitalProc.splice(0, 0, \"All\");\n //load the report categories list\n this.picklistItemService.getPicklistItem(this.lookup.HospitalId.toString(), \"Report Categories\").subscribe(data => this.populatePicklistItems(data));\r\n\r\n \r\n \n }\n\n toggle() {\n this.showSideBar = !this.showSideBar; \r\n \r\n\r\n if (this.showSideBar)\r\n this.filterStatus = \"Hide Filter\";\r\n else\r\n this.filterStatus = \"Show Filter\";\r\n }\n \n populatePicklistItems(picklistItemResponse: PicklistItemResponse) {\n \n if (picklistItemResponse.DataObject.length > 0) {\n\n this.picklistItemService.picklistItemModel = picklistItemResponse.DataObject;\r\n this.picklistItemService.mapToDropDown();\n \n\r\n switch (picklistItemResponse.DataObject[0].PicklistName) {\n case 'HospitalsC3POR3':\n this.hospitalProcOptions = this.picklistItemService.dropDownPicklistItem;\n this.hospitalProc = this.hospitalProcOptions.map(x => x.name).sort();\n this.hospitalProc.splice(0, 0, \"All\");\n break;\n case 'HospitalsIQIC':\n this.hospitalProcOptions = this.picklistItemService.dropDownPicklistItem;\n this.hospitalProc = this.hospitalProcOptions.map(x => x.name).sort();\n this.hospitalProc.splice(0, 0, \"All\");\n break;\n case 'Age Range':\n this.ageOptions = this.picklistItemService.dropDownPicklistItem;\n if (this.ageOptions.length > 0) { \n this.showAgeRangeFilter = true;\n }\n break;\n case 'Case Type':\n this.caseTypes = this.picklistItemService.dropDownPicklistItem;\n if (this.caseTypes.length > 0) { \n this.showCaseTypeFilter = true;\n }\n break;\n case 'Time Interval':\n this.timeIntervals = this.picklistItemService.dropDownPicklistItem;\n if (this.timeIntervals.length > 0) {\n \n this.showVolumeTimeIntervalFilter = true;\n }\n break;\n case 'Reports':\n this.reportTypes = this.picklistItemService.dropDownPicklistItem;\n if (this.reportTypes.length > 0) {\n this.showReports = true;\n }\n break;\n case 'Report Categories':\n this.reportCategories = this.picklistItemService.dropDownPicklistItem;\n if (this.reportCategories.length > 0) {\n this.showReportCategories = true;\n }\n \n break;\n case 'Operators':\n //Hide Operator Filter for IQIC users per Lisa\n //If a user is not an IQIC user or they are both a C3POR3 and IQIC user then show the operator filter and grid column\n if ((this.user.IsIqicUser() == true && this.user.user.UserAppRegistry == 'BOTH') || (this.user.IsIqicUser() == false && this.user.user.UserAppRegistry == 'C3POR3')) {\n this.operatorsOptions = this.picklistItemService.dropDownPicklistItem;\n this.operators = this.operatorsOptions.map(x => x.name).sort();\n this.operators.splice(0, 0, \"All\");\n this.lookup.Operator = \"All\";\n if (this.operators.length > 0) {\n this.showOperatorFilter = true;\n this.showOperatorColumn = true;\n }\n }\n\n break;\n case 'Adverse event severity':\n this.adverseEventSeverityOptions = this.picklistItemService.dropDownPicklistItem;\n this.adverseEventSeverity = this.adverseEventSeverityOptions.map(x => x.name).sort();\n this.adverseEventSeverity.splice(0, 0, \"All\");\n this.lookup.AdverseEventSeveritys = \"All\";\n if (this.adverseEventSeverity.length > 0) {\n this.showAdverseEventSeverityFilter = true;\n }\n break;\n } \n }\n }\r\n\r\n \n selectAll(place, toplace) {\n this[place] = this[toplace];\n }\n unselectAll(place) {\n this[place] = [];\n }\n\n generateReport() {\n \n //this.report = true;\n this.data = null;\n this.showReport = false;\n this.totalCases = null;\n this.totalCasesLabel = null;\n this.showStackedItems = false;\n this.legendPosition = 'Bottom';\n this.showYAxisData = true;\n this.titleX = null;\r\n let reportNames = this.reportTypes.find(x => x.code == this.lookup.reportSelected).name;\n let sites = \"\";\n let selectedOperator = \"\", selectedSeverity = \"\";\n \n\n\n if (this.lookup.siteSelected != null && this.lookup.siteSelected.indexOf('All') > -1) {\n for (var v in this.hospitalProcOptions) {\n sites = sites + \",\" + this.hospitalProcOptions[v].code;\r\n }\n }\n else\n for (var val in this.lookup.siteSelected)\n {\n sites = sites + \",\" + this.hospitalProcOptions.find(x => x.name == this.lookup.siteSelected[val])[\"code\"];\r\n\r\n }\n if (this.lookup.Operator == null || this.lookup.Operator.indexOf('All') > -1)\n selectedOperator = 'All';\n else\n for (var val in this.lookup.Operator) {\n selectedOperator = selectedOperator + \",\" + this.operatorsOptions.find(x => x.name == this.lookup.Operator[val])[\"code\"];\r\n }\n if (this.lookup.AdverseEventSeveritys == null || this.lookup.AdverseEventSeveritys.indexOf('All') > -1)\n selectedSeverity = 'All';\n else\n for (var val in this.lookup.AdverseEventSeveritys) {\n selectedSeverity = selectedSeverity + \",\" + this.adverseEventSeverityOptions.find(x => x.name == this.lookup.AdverseEventSeveritys[val])[\"code\"];\r\n }\n \n //Change this to include new reports\n this.validateInput();\n\n if (this.isValid == true) {\n\n this.spinner.show(); \n \n let reportParams = new ReportRequest;\n\n //format the dates\n //Correct format for query\n //reportParams.FromDate = \"31-AUG-15\";\r\n //reportParams.ToDate = \"31-AUG-18\"; \n reportParams.FromDate = this.datePipe.transform(this.fromDate, 'dd-MMM-yy');\r\n reportParams.ToDate = this.datePipe.transform(this.toDate, 'dd-MMM-yy');\n reportParams.CaseType = this.lookup.CaseType;\n reportParams.AgeRange = this.lookup.AgeRange;\n reportParams.TimeInterval = this.lookup.TimeInterval;\n reportParams.Reviewed = this.lookup.Reviewed;\n reportParams.NotReviewed = this.lookup.NotReviewed;\n reportParams.FromWeight = this.fromWeight;\r\n reportParams.ToWeight = this.toWeight;\n //Pass the report that was selected\n reportParams.ReportID = this.lookup.reportSelected;\n reportParams.ReportName = reportNames;\n reportParams.OperatorID = selectedOperator;\n reportParams.AdverseEventSeverity = selectedSeverity;\n reportParams.Email = this.user.user.Email;\n reportParams.UserName = this.user.user.Hospital;\n reportParams.AppRegistry = this.user.user.UserAppRegistry;\n reportParams.sitesSelected = sites;\n if (this.viewAllSites == false)\n reportParams.CathLocationID = this.user.user.HospitalId;\n\n // if (this.viewAllSites == false || this.lookup.reportSelected == '21' || this.lookup.reportSelected == '41') {\n //if (this.viewAllSites == false || reportNames == 'Generate Case Summary' || reportNames == 'Extract Data' || reportNames == '') {\n \n // let user = JSON.parse(sessionStorage.getItem('currentUser')); \r\n // reportParams.CathLocationID = user.HospitalId;\r\n //}\n \n \n this.reportService.getReportData(reportParams).subscribe(responsedata => this.getReportDataResponse(responsedata));\n\n }\n }\n\n selectHospitals() {\n if (this.lookup.RegistrySelected == 'C3POR3') {\r\n this.picklistItemService\n .getPicklistItem(this.user.user.HospitalId.toString(), \"HOSPITALSC3POR3\")\n .subscribe(data => this.populatePicklistItems(data));\r\n }\r\n else {\r\n this.picklistItemService\n .getPicklistItem(this.user.user.HospitalId.toString(), \"HOSPITALSIQIC\")\n .subscribe(data => this.populatePicklistItems(data));\r\n }\r\n }\n\n //This is the web API response data\n getReportDataResponse(reportData: ReportResponse) {\n //In process, web service has been changed to return the error.\n //Logging was also added using NLogLogger with a reference to BCH.HC.Core.Fwrk but cow is throwing a constraint error\n //and is commented out for now\n //Need to change to API logging per Prasad\n if (reportData.DataObject != null ) { \n if (reportData.DataObject[0] != null) {\n if (reportData.DataObject[0].ReportError != null) {\r\n this.showErrorMessage(reportData.DataObject[0].ReportError);\r\n this.spinner.hide();\r\n return false;\r\n }\r\n } \r\n }\n if (reportData.DataObject[0].ReportName == \"Extract Data\") {\n this.showSuccessMessage(\"Report request received. An email will be sent with extract data within an hour. If you do not receive an email, please check your Junk Mail folder.If the extract is not in your Junk Mail folder, please contact us at cardiooutcomes@childrens.harvard.edu. \");\r\n this.spinner.hide();\r\n return false;\r\n }\n if (reportData.DataObject == null ){\n this.showErrorMessage(\"No data found!\");\r\n this.spinner.hide();\r\n return false;\r\n }\r\n \n else {\n\n this.displayReport(reportData); \n\n }\n }\n //Determines the report to display\n displayReport(reportData: ReportResponse) {\n\r\n //Displays the Report header and name\r\n \r\n this.showReport = true;\n this.clearErrorMessage();\r\n this.reportName = reportData.DataObject[0].ReportName;\r\n\r\n //using report ID for now but may need to use name\r\n //if the ID'S change?\r\n switch (this.lookup.reportSelected) {\n case '1': //CaseVolumeByCenter\n case '2': //SiteCaseVolumeOverTime\n case '3': //CaseVolumeByCenterBy Age\n case '4': //AgeByCenter\r\n //Volume reports specific logic\r\n this.showVolumeReports = true;\r\n this.showExtractReport = false;\r\n this.showAEReports = false;\r\n this.showMMReport = false;\n if (reportData.DataObject[0].ChartType == 'Stacked') {\n //changing the stacked item select list to hide so that report 3 will be stacked and report 4 will be stacked 100% with no option to change\n //so that the Y Axis formating will display correctly\n //also removed the percentage calculation from the AgeByCenter query since Wijmo is calculating the percentage from the data using the \"p0\" format\n //option.\n this.showStackedItems = true;\n //Hiding the XAXIS because this is a stacked report totaling to 100\n //Don't want to include it in the total\n this.showYAxisData = false;\n //this.titleX = reportData.DataObject[0].XAxisLabel;\n //Shifting the legends less than 30 <30 greater than >30 etc. position to the right\n this.legendPosition = 'Right';\n }\n\n //Set XAxis Label for all Volume reports to get rid of the default\n //blue bar that is added when prperty [name]=\"XAxisLabel\" is used in tag\n this.titleX = reportData.DataObject[0].XAxisLabel;\n\n this.data = reportData.DataObject[0].ReportDetails;\n let user = JSON.parse(localStorage.getItem('currentUser'));\n\n //look up the site legend that corresponds to the SiteID\n let usersitelegendID = reportData.DataObject[0].ReportDetails.find(f => f.XAxis == user.HospitalId);\n if (reportData.DataObject[0].ReportName == \"Case Volume By Center\") {\n if (usersitelegendID != null) {\n this.htmlStringInsert = \"You are center number: \" + usersitelegendID.SiteLegend;\n }\n\n else {\n this.htmlStringInsert = \"Your site has no data for this query.\";\r\n }\n }\n this.contain1stClass = \"my-card d-flex flex-row flex-nowrap\";\n this.contain2ndClass = \"d-none d-md-flex\";\n this.contain3rdClass = \"fa\";\n this.contain4thClass = \"card-body d-flex align-items-center justify-content-center\";\n\n //Total the site cases\n reportData.DataObject[0].ReportDetails.forEach(reportModel => {\n //YAxis represents Volume;\r\n this.totalCases = this.totalCases + reportModel.YAxis;\r\n })\n //Set total cases label remove the case total for Age By Center\n //this.totalCasesLabel = (this.lookup.reportSelected == '4') ? reportData.DataObject[0].YAxisLabel : this.totalCases.toString() + \" \" + reportData.DataObject[0].YAxisLabel;\n //Removing the total cases number from the label per Lisa's group Laurens email 12/11/2018\n this.totalCasesLabel = reportData.DataObject[0].YAxisLabel;\n \n this.XAxisLabel = reportData.DataObject[0].XAxisLabel;\n //set stacking value from Database \n this.stacking = reportData.DataObject[0].Stacking;\n this.showSaveToPDF = true;\n\n //Apply perecentage formating to the YAXIS\n //this.yAxisFormat = ((this.lookup.reportSelected == '4') || (this.lookup.reportSelected == '3')) ? \"p0\" : '';\n this.yAxisFormat = (this.lookup.reportSelected == '4') ? \"p0\" : '';\n \n\n return new CollectionView(this.data);\n break;\r\n case '21': //AE Summary\r\n this.showVolumeReports = false;\r\n this.showExtractReport = false;\r\n this.showAEReports = true;\r\n this.showMMReport = false;\r\n // this.data = reportData.DataObject[0].ReportDataAEHighestSeverity;\r\n this.data = reportData.DataObject[0].ReportDataAE;\r\n for (var i = 0; i < this.data.length; i++) {\r\n this.data[i][\"DateOfCath\"] = new Date(this.data[i][\"DateOfCath\"]);\r\n }\r\n this.cvPaging = new wjcCore.CollectionView(this.data);\r\n this.cvPaging.pageSize = 10;\r\n\r\n //Used for the hidden grid Export to Excel\r\n this.reportDataAE = reportData.DataObject[0].ReportDataAE;\r\n\r\n this.showSaveToPDF = false; \r\n this.spinner.hide(); \r\n \r\n return new wjcCore.CollectionView(this.data);\r\n break;\r\n case '11': //MM Summary\r\n this.showVolumeReports = false;\r\n this.showExtractReport = false;\r\n this.showAEReports = false;\r\n this.showMMReport = true;\r\n // this.data = reportData.DataObject[0].ReportDataAEHighestSeverity;\r\n this.data = reportData.DataObject[0].ReportDataMM;\r\n for (var i = 0; i < this.data.length; i++) {\r\n this.data[i][\"DateOfCath\"] = new Date(this.data[i][\"DateOfCath\"]);\r\n }\r\n this.cvPagingmm = new wjcCore.CollectionView(this.data);\r\n this.cvPagingmm.pageSize = 10;\r\n\r\n //Used for the hidden grid Export to Excel\r\n this.reportDataMM = reportData.DataObject[0].ReportDataMM;\r\n\r\n\r\n this.showSaveToPDF = false;\r\n this.spinner.hide();\r\n\r\n return new wjcCore.CollectionView(this.data);\r\n break;\r\n\r\n case '41': //Site Extract\r\n this.showVolumeReports = false;\r\n this.showAEReports = false;\r\n this.showMMReport = false;\r\n this.showSaveToPDF = false;\r\n this.showExtractReport = true;\r\n this.cvExtractCaseInfo = new wjcCore.CollectionView(reportData.DataObject[0].SiteExtract.CaseInfo);\r\n this.cvExtractClinicalInfo = new wjcCore.CollectionView(reportData.DataObject[0].SiteExtract.ClinicalInfo);\r\n\r\n\r\n this.cvExtractProcedureInfo = new wjcCore.CollectionView(reportData.DataObject[0].SiteExtract.ProcedureInfo);\n this.cvExtractHemoInfo = new wjcCore.CollectionView(reportData.DataObject[0].SiteExtract.HemoInfo);\n this.cvExtractCaseTypeInfo = new wjcCore.CollectionView(reportData.DataObject[0].SiteExtract.CaseType);\n this.cvExtractAEEventInfo = new wjcCore.CollectionView(reportData.DataObject[0].SiteExtract.AEEventInfo);\n this.cvExtractResourceInfo = new wjcCore.CollectionView(reportData.DataObject[0].SiteExtract.ResourceInfo);\n this.cvExtractEOCAdmitDispoInfo = new wjcCore.CollectionView(reportData.DataObject[0].SiteExtract.EOCAdmiDispoInfo);\n this.cvExtractCalculatorInfo = new wjcCore.CollectionView(reportData.DataObject[0].SiteExtract.CalculaterRiskValues);\r\n\r\n\r\n //this.data = reportData.DataObject[0].SiteExtract;\r\n //this.cvPaging = new wjcCore.CollectionView(this.data); \r\n \r\n //this.spinner.hide();\r\n //return new wjcCore.CollectionView(this.data);\r\n \r\n break;\r\n\r\n\r\n } \r\n \r\n }\n\n clearFilterSelections() { \n this.fromDate = null;\n this.toDate = null;\n this.data = null;\n this.lookup.CaseType = '';\n this.lookup.AgeRange = '';\n this.lookup.TimeInterval = '';\n this.lookup.Operator = \"All\";\n this.lookup.AdverseEventSeveritys = \"All\";\n this.fromWeight = null;\n this.toWeight = null;\n this.totalCases = null;\n this.totalCasesLabel = null;\n // this.lookup.reportCategorySelected = '';\n // this.lookup.reportSelected = '';\r\n this.showReport = false;\r\n this.clearErrorMessage();\r\n this.lookup.siteSelected = '';\r\n this.lookup.RegistrySelected = '';\r\n this.lookup.Reviewed = false;\r\n this.lookup.NotReviewed = false;\r\n \r\n return false;\r\n }\n\n private showErrorMessage(errorMessage: string) {\n \r\n this.htmlStringInsert = errorMessage;\n this.contain1stClass = \"card error-card my-card d-flex flex-row flex-nowrap\";\n this.contain2ndClass = \"error-icon d-none d-md-flex\";\n this.contain3rdClass = \"fa fa-exclamation-circle\";\n this.contain4thClass = \"card-body d-flex align-items-center\";\n //reset the grid data\n this.data = null; \n this.isValid = false;\n this.spinner.hide();\n \r\n return false;\r\n\r\n }\n\n private showSuccessMessage(successMessage: string) {\n\r\n this.htmlStringInsert = successMessage;\n this.contain1stClass = \"card success-card my-card d-flex flex-row flex-nowrap\";\n this.contain2ndClass = \"success-icon d-none d-md-flex\";\n this.contain3rdClass = \"fa fa-check-circle\";\n this.contain4thClass = \"card-body d-flex align-items-center\";\n //reset the grid data\n this.data = null;\n this.isValid = false;\n this.spinner.hide();\n\r\n return false;\r\n\r\n }\n\n private clearErrorMessage() {\r\n\r\n this.htmlStringInsert = \"\";\n this.contain1stClass = \"\";\n this.contain2ndClass = \"\";\n this.contain3rdClass = \"\";\n this.contain4thClass = \"\"; \r\n return true;\r\n\r\n }\n\n\n private validateInput() {\r\n\r\n let reportName = this.reportTypes.find(x => x.code == this.lookup.reportSelected).name\r\n\n //for testing\n if (reportName == 'Hemodynamics' || reportName == 'Case Type' || reportName == 'Generate Case Summary') {\r\n this.isValid = true;\r\n return true;\r\n }\n\n if (reportName == 'Extract Data') {\n if (this.fromDate != null && this.toDate != null) {\r\n if ((this.toDate.getFullYear() - this.fromDate.getFullYear()) > 2) {\r\n this.showErrorMessage(\"Can export only two years data. please select data under two years.\");\r\n return false;\r\n }\r\n if (this.lookup.RegistrySelected != \"\" && this.lookup.siteSelected == \"\") {\r\n this.showErrorMessage(\"Please select Site(S)\");\r\n return false;\r\n }\r\n }\r\n }\n if (reportName == 'Comorbities' && this.lookup.TimeInterval == '') {\n\r\n this.showErrorMessage(\"Time Interval required for this report! Please select a time interval.\");\r\n return false;\r\n } \n\n if (reportName == '' || reportName == null || this.lookup.reportCategorySelected == null || this.lookup.reportCategorySelected == '')\n {\n this.showErrorMessage(\"Category/Report selection required! Please select a report.\");\r\n return false;\r\n }\n\n if (this.fromDate == null && this.toDate == null && this.lookup.CaseType == '' && this.lookup.AgeRange == '' && this.lookup.TimeInterval == '' && this.lookup.Reviewed == false && this.lookup.NotReviewed == false) {\n \n this.showErrorMessage(\"Input Error! Search criteria is required!\");\n return false;\n }\n\n else if ((this.fromDate != null && this.toDate == null) || (this.fromDate == null && this.toDate != null) ) {\n \n this.showErrorMessage(\"Input Error! Both a From and To Date are required!\");\n return false;\n }\n\n else if (this.toDate < this.fromDate) {\r\n\r\n this.showErrorMessage(\"Date Input Error! To Date cannot be less than From Date !\"); \r\n } \n else {\n this.htmlStringInsert = \"You are site number: 1\";\n this.contain1stClass = \"my-card d-flex flex-row flex-nowrap\";\n this.contain2ndClass = \"d-none d-md-flex\";\n this.contain3rdClass = \"fa\";\n this.contain4thClass = \"card-body d-flex align-items-center justify-content-center\";\n this.isValid = true;\n } \r\n\r\n }\n\n onResize(event) {\n this.changeLegend();\n }\n\n\n onReportCategorySelected() {\n\n //when a new report is selected clear out the old report\n this.clearFilters();\n\n this.clearReports();\n\n //GET THE REPORTS FOR THE SELECTED CATEGORY\n this.picklistItemService.getPicklistItem(this.lookup.reportCategorySelected, \"Reports\").subscribe(data => this.populatePicklistItems(data));\r\n\r\n } \n \n\n onReportSelected() {\n var reportname = this.reportTypes.find(x => x.code == this.lookup.reportSelected)[\"name\"];\n if (reportname == \"M&M Report\" || reportname == \"AE Summary\") {\n this.reviewStatus = true;\r\n }\n // this.clearFilters();\r\n \r\n //Get the filters associated with the Report\r\n this.picklistItemService.getPicklistItem(this.lookup.reportSelected, \"ReportFilters\").subscribe(data => this.getReportFilters(data)); \n \n }\r\n\r\n //Get the filters associated with a report\r\n getReportFilters(picklistItemResponse: PicklistItemResponse) {\n \n\n if (picklistItemResponse.DataObject.length > 0) {\r\n\r\n picklistItemResponse.DataObject.forEach(pickList => {\r\n\r\n switch (pickList.ChoiceText) {\r\n case 'Age Range': \r\n this.picklistItemService.getPicklistItem(this.lookup.HospitalId.toString(), \"Age Range\").subscribe(data => this.populatePicklistItems(data));\r\n break;\r\n case 'Case Type': \r\n this.picklistItemService.getPicklistItem(this.lookup.HospitalId.toString(), \"Case Type\").subscribe(data => this.populatePicklistItems(data));\r\n break;\r\n case 'Date Range':\r\n this.showDateRangeFilter = true;\r\n break;\r\n case 'Time Interval': \r\n this.picklistItemService.getPicklistItem(this.lookup.HospitalId.toString(), \"Time Interval\").subscribe(data => this.populatePicklistItems(data)); \r\n break; \r\n case 'Weight Range':\r\n this.showWeightFilter = true;\r\n break;\r\n case 'Operator':\r\n this.picklistItemService.getPicklistItem(this.lookup.HospitalId.toString(), \"OPERATORS\").subscribe(data => this.populatePicklistItems(data));\r\n if (this.operators.length > 0) {\n this.showOperatorFilter = true;\n this.showOperatorColumn = true;\n }\r\n break;\r\n case 'Adverse Event Severity':\r\n this.picklistItemService.getPicklistItem(this.lookup.HospitalId.toString(), \"Adverse event severity\").subscribe(data => this.populatePicklistItems(data));\r\n break;\r\n case 'Regitry':\r\n this.showExtractReport = true;\r\n break;\r\n case 'Hospital':\r\n this.showExtractReport = true;\r\n break;\r\n\r\n \r\n }\r\n\r\n })\n\n }\r\n\r\n }\r\n\r\n clearReports() {\r\n this.showReport = false;\r\n this.lookup.reportSelected = '';\r\n\r\n\r\n }\r\n\n clearFilters() {\n this.showDateRangeFilter = false;\r\n this.showAgeRangeFilter = false;\r\n this.showCaseTypeFilter = false;\r\n this.showVolumeTimeIntervalFilter = false;\r\n this.showWeightFilter = false;\r\n this.showOperatorFilter = false;\r\n this.showAdverseEventSeverityFilter = false;\r\n this.showExtractReport = false;\r\n this.reviewStatus = false;\r\n \r\n this.lookup.CaseType = '';\n this.lookup.AgeRange = '';\n this.lookup.TimeInterval = '';\n this.lookup.Operator = 'All';\n this.lookup.AdverseEventSeveritys = 'All';\n this.lookup.siteSelected = '';\r\n this.lookup.RegistrySelected = '';\n this.lookup.Reviewed = false;\n \n this.fromWeight = null;\n this.toWeight = null;\n this.fromDate = null;\n this.toDate = null;\n this.data == null;\n \r\n\r\n }\r\n \r\n onChartRendered() {\r\n\r\n this.spinner.hide(); \r\n\r\n }\r\n\r\n//need to pass both a reference to the menu\r\n//and event args from the HTML\r\n//use #menu in the wj-menu tag and $event in the function parmeter\r\n//(itemClicked)=\"menuItemClicked(menu, $event)\"\r\n //menuItemClicked(sender: any, e: EventArgs ) {\r\n // let menuItem = sender.selectedValue;\r\n // if (menuItem == 'Stacked100pc' || menuItem == 'Stacked') {\r\n // this.spinner.show();\r\n // } \r\n //}\r\n\n changeLegend() {\n \n //if (window.innerWidth < 768) {\n // this.dateRange.changeLegend(\"bottom\");\n // this.characteristics.changeLegend(\"bottom\");\n //} else {\n // this.dateRange.changeLegend(\"right\");\n // this.characteristics.changeLegend(\"bottom\");\n //}\n //if (this.charts) {\n // for (let chart of this.charts._results) {\n // chart.ngOnChanges({});\n // }\n //}\n }\n\n \n\n\n \r\n\r\n \r\n \n \n}\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AdverseEventsReportService {\n\n constructor() { }\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CaseTypeService {\n\n constructor() { }\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CharacteristicsService {\n public pieChartLabels:string[] = ['1', '2', '3'];\n public pieChartData:number[] = [300, 500, 100];\n public pieChartType:string = 'pie';\n public pieChartOptions = {\n scaleShowVerticalLines: false,\n responsive: true,\n legend: {\n position: \"right\"\n },\n maintainAspectRatio: true,\n \n };\n \n\n constructor() { }\n\n changeLegend(dir) {\n\n this.pieChartOptions.legend.position = dir;\n \n \n }\n}\n","import { Injectable } from \"@angular/core\";\n\n@Injectable({\n providedIn: \"root\"\n})\nexport class ColorServiceService {\n colors = [\n {\n backgroundColor: \"rgba(65,182,230, .6)\",\n borderColor: \"rgba(65,182,230,1)\"\n }, //boston sky\n {\n backgroundColor: \"rgba(242,169,0, .6)\",\n borderColor: \"rgba(242,169,0, 1)\"\n }, //boston yellow\n {\n backgroundColor: \"rgba(0,115,150, .6)\",\n borderColor: \"rgba(0,115,150, 1)\"\n }, //boston indigo\n {\n backgroundColor: \"rgba(246,50,62, .6)\",\n borderColor: \"rgba(24,50,62, 1)\"\n }, //boston red\n {\n backgroundColor: \"rgba(115,150,0, .6)\",\n borderColor: \"rgba(115,150,0, 1)\"\n }, //boston green\n { backgroundColor: \"rgba(0,48,135, .6)\", borderColor: \"rgba(0,48,135,1)\" }, //boston blue\n {\n backgroundColor: \"rgba(110,124,160, .6)\",\n borderColor: \"rgba(110,124,160,1)\"\n }, //boston bay\n {\n backgroundColor: \"rgba(198,87,154, .6)\",\n borderColor: \"rgba(198,87,154,1)\"\n }, //boston pink\n {\n backgroundColor: \"rgba(140,71,153, .6)\",\n borderColor: \"rgba(140,71,153,1)\"\n }, //boston lavender\n { backgroundColor: \"rgba(128,34,95, .6)\", borderColor: \"rgba(128,34,95,1)\" } //boston purple\n ];\n public altColors: Array = [\n {\n backgroundColor: [\n \"rgba(65,182,230, .6)\",\n \"rgba(242,169,0, .6)\",\n \"rgba(0,115,150, .6)\",\n \"rgba(246,50,62, .6)\",\n \"rgba(115,150,0, .6)\",\n \"rgba(0,48,135, .6)\",\n \"rgba(110,124,160, .6)\",\n \"rgba(198,87,154, .6)\",\n \"rgba(140,71,153, .6)\",\n \"rgba(128,34,95, .6)\",\n ],\n borderColor: [\n \"rgba(65,182,230, 1)\",\n \"rgba(242,169,0, 1)\",\n \"rgba(0,115,150, 1)\",\n \"rgba(246,50,62, 1)\",\n \"rgba(115,150,0, 1)\",\n \"rgba(0,48,135, 1)\",\n \"rgba(110,124,160, 1)\",\n \"rgba(198,87,154, 1)\",\n \"rgba(140,71,153, 1)\",\n \"rgba(128,34,95, 1)\",\n ]\n }\n ];\n constructor() {}\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class HemoVariablesService {\n public pieChartLabels:string[] = ['1', '2', '3'];\n public pieChartData:number[] = [300, 500, 100];\n public pieChartType:string = 'pie';\n public pieChartOptions = {\n scaleShowVerticalLines: false,\n responsive: true,\n legend: {\n position: \"right\"\n },\n maintainAspectRatio: true,\n \n };\n \n\n\n changeLegend(dir) {\n\n this.pieChartOptions.legend.position = dir;\n \n \n }\n constructor() { }\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class RadiationService {\n\n constructor() { }\n}\n","import { Injectable } from \"@angular/core\";\nimport { Http, Response, Headers, RequestOptions } from '@angular/http';\nimport { Observable, pipe } from 'rxjs';\nimport { map, takeUntil, tap } from 'rxjs/operators';\r\nimport { CONFIG } from '../../../../shared/config';\r\nimport { ReportResponse } from \"../../../../shared/report-response\";\r\nimport { ReportDataMM } from \"../../../../shared/report-model-mm\";\r\nimport { ReportDataAE } from \"../../../../shared/report-model-ae\";\r\nimport { CaseSaveResponse } from \"../../../../shared/case-save/case-save-response\";\r\n//import { ReportModel } from \"../../../../shared/report-model\";\r\nimport { ReportRequest } from \"../../../../shared/report-request\";\r\n\r\n\r\nlet apiUrl = CONFIG.baseUrls.api;\n@Injectable({\n providedIn: \"root\"\n})\r\nexport class ReportService {\r\n private http: Http = null;\n public editCaseReportMM: ReportDataMM;\n public editCaseReportAE: ReportDataAE;\n\n constructor(_http: Http) {\n this.http = _http;\n this.editCaseReportMM = new ReportDataMM;\n this.editCaseReportAE = new ReportDataAE;\n }\r\n\r\n getReportData(reportParams: ReportRequest) {\n let headers = new Headers({\n //'Content-Type': 'application/x-www-form-urlencoded'\n });\n let options = new RequestOptions({ headers: headers });\n //let params = \"{'FromDate':'31-AUG-15','ToDate':'31-AUG-18'}\";\n \n return this.http.post(apiUrl + \"report/getreportdata\", reportParams, options)\n .pipe(map((response: Response) => response.json()));\r\n \r\n }\r\n\r\n SaveMMReport() {\r\n var ss = this.editCaseReportMM;\r\n return this.saveMMReportCase(ss);\r\n }\r\n saveMMReportCase(caseItem: ReportDataMM) {\r\n let headers = new Headers({\n //'Content-Type': 'application/x-www-form-urlencoded'\n });\n let options = new RequestOptions({ headers: headers });\n return this.http.post(apiUrl + \"report/SaveMMReportCase\", caseItem, options)\n .pipe(map((response: Response) => response.json()));\r\n }\r\n\r\n SaveAEReport() {\r\n var ss = this.editCaseReportAE;\r\n return this.saveAEReportCase(ss);\r\n }\r\n saveAEReportCase(caseItem: ReportDataAE) {\r\n let headers = new Headers({\n //'Content-Type': 'application/x-www-form-urlencoded'\n });\n let options = new RequestOptions({ headers: headers });\n return this.http.post(apiUrl + \"report/SaveAEReportCase\", caseItem, options)\n .pipe(map((response: Response) => response.json()));\r\n }\r\n\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class RiskAdjustmentService {\n\n constructor() { }\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class RiskTypeService {\n\n constructor() { }\n}\n","//import 'bootstrap.css';\r\nimport 'wijmo/styles/wijmo.css';\r\nimport 'wijmo/styles/themes/wijmo.theme.material.css';\r\n//import './styles.css';\r\nimport { AppModule } from \"../../../../app.module\";\r\nimport { Component, enableProdMode, Input, NgModule, OnInit, ViewChild } from '@angular/core';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { LoginService } from \"../../../user/login.service\";\r\nimport { ReportDataAE } from \"../../../../shared/report-model-ae\";\r\nimport { ReportService } from '../report-services/report.service';\r\nimport { CaseSaveResponse } from '../../../../shared/case-save/case-save-response';\r\nimport { DatePipe } from \"@angular/common\";\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { WjGridModule } from 'wijmo/wijmo.angular2.grid';\r\nimport { WjInputModule } from 'wijmo/wijmo.angular2.input';\r\nimport * as wjcCore from 'wijmo/wijmo';\r\nimport * as wjcGrid from 'wijmo/wijmo.grid';\r\nimport * as wjcGridDetail from 'wijmo/wijmo.grid.detail';\r\nimport * as wjcInput from 'wijmo/wijmo.input';\r\n\r\nimport * as wjcGridPdf from 'wijmo/wijmo.grid.pdf';\r\nimport * as pdf from 'wijmo/wijmo.pdf';\r\nimport * as gridXls from 'wijmo/wijmo.grid.xlsx';\r\n\r\ntype TColumn = {\r\n header: string;\r\n binding: string;\r\n format: string;\r\n}\r\n\r\n@Component({\r\n\r\n template: `
\r\n  Expand All\r\n \r\n \r\n\r\n \r\n \r\n {{item.Flag}}\r\n \r\n \r\n \r\n \r\n \r\n {{item.DateOfCath | date: d}}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
    \r\n
  • \r\n
    \r\n
    CaseType: {{item.CaseType | slice:0:65}}
    \r\n
    Age: {{item.Age}}
    \r\n
    \r\n
    \r\n
    Diagnosis: {{item.STSDiagnosis}}
    \r\n
    Time Needed(min): {{item.TimeNeeded}}
    \r\n
    \r\n
    \r\n
     
    \r\n
    \r\n
    \r\n
    Description:{{item.Description}}
    \r\n
    \r\n
  • \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n\r\n \r\n   \r\n
\r\n
\r\n
\r\n    \r\n    \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
`,\r\n selector: 'ae-report-template',\r\n styles: [`body {\r\n margin-bottom: 24px;\r\n}\r\n\r\n#popupContent > div {\r\n box-sizing:border-box;\r\n -moz-box-sizing:border-box;\r\n}\r\n#left {\r\n float:left;\r\n width: 50%;\r\n}\r\n#right {\r\n float:right;\r\n width: 50%;\r\n}\r\n#bottom {\r\n clear: both;\r\n}\r\n\r\n#timeNeeded_input{\r\n width: 90px;\r\n}\r\n.modal-content {\r\n width: 1000px;\r\n}`]\r\n\r\n})\r\nexport class AEReportComponent implements OnInit {\r\n\r\n public reportService: ReportService;\r\n @ViewChild('dp') dp: wjcGridDetail.FlexGridDetailProvider;\r\n @ViewChild('popup') popup: wjcInput.Popup;\r\n @ViewChild('preventability') Preventability: wjcInput.ComboBox;\r\n @ViewChild('attributability') Attributability: wjcInput.ComboBox;\r\n @ViewChild('severity') Severity: wjcInput.ComboBox;\r\n @ViewChild('timeNeeded') TimeNeeded: wjcInput.InputMask;\r\n\r\n\r\n @Input() cvPaging: wjcCore.CollectionView;\r\n @Input() reportDataAE: ReportDataAE[];\r\n @Input() exportAll: boolean = false;\r\n @Input() spinner: NgxSpinnerService;\r\n @Input() showOperatorColumn: boolean = false;\r\n\r\n datePipe: DatePipe;\r\n public user: LoginService;\r\n caseId: any;\r\n editingItem: any;\r\n private readonly colWidth = 74;\r\n private readonly rowHeight = 18;\r\n reportDataForPDF: ReportDataAE[];\r\n pdfGrid: wjcGrid.FlexGrid;\r\n\r\n // DataSvc will be passed by derived classes\r\n constructor(_reportService: ReportService, _user: LoginService, datePipe: DatePipe) {\r\n this.user = _user;\r\n this.reportService = _reportService;\r\n this.datePipe = new DatePipe('en-US');\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n }\r\n\r\n init(s: wjcGrid.FlexGrid) {\r\n }\r\n\r\n initializeGrid(gridmm: wjcGrid.FlexGrid) {\r\n this.pdfGrid = gridmm;\r\n\r\n // add 'edit button' to row header cells\r\n gridmm.formatItem.addHandler((s: wjcGrid.FlexGrid, e: wjcGrid.FormatItemEventArgs) => {\r\n\r\n if (e.panel == s.cells && e.col == 9) {\r\n e.cell.innerHTML = '';\r\n }\r\n\r\n });\r\n\r\n\r\n // handle button clicks\r\n gridmm.addEventListener(gridmm.hostElement, 'mousedown', (e: MouseEvent) => {\r\n let ht = gridmm.hitTest(e);\r\n if (e.target[\"innerHTML\"] === '⚐' || e.target[\"innerHTML\"] === '⚑') {\r\n this.editingItem = gridmm.rows[ht.row].dataItem;\r\n (gridmm.collectionView).editItem(this.editingItem);\r\n if (this.editingItem.Flag === '⚐')\r\n this.editingItem.Flag = '⚑';\r\n else\r\n this.editingItem.Flag = '⚐';\r\n (gridmm.collectionView).commitEdit();\r\n\r\n }\r\n\r\n if (e.target[\"type\"] === 'checkbox') {\r\n\r\n this.editingItem = gridmm.rows[ht.row].dataItem;\r\n (gridmm.collectionView).editItem(this.editingItem);\r\n (gridmm.collectionView).commitEdit();\r\n\r\n this.reportService.editCaseReportAE = JSON.parse(JSON.stringify(this.editingItem));\r\n if (this.editingItem.Reviewed === true)\r\n this.reportService.editCaseReportAE.Reviewed = false;\r\n else\r\n this.reportService.editCaseReportAE.Reviewed = true;\r\n this.reportService.editCaseReportAE.Updatedby = this.user.user.UserId;\r\n this.reportService.SaveAEReport().subscribe(data => this.saveResponse(data));\r\n }\r\n\r\n });\r\n }\r\n\r\n\r\n private saveResponse(data: CaseSaveResponse) {\n let caseSaveStatusModel = data.DataObject;\r\n if (caseSaveStatusModel.Casestatus === \"Success\") {\r\n let newCaseId = caseSaveStatusModel.CaseId;\r\n\r\n } else {\r\n alert(\"Save failed!\");\r\n }\r\n }\r\n\r\n //Show into Grid\r\n\r\n showGridDetails(sender: any, gridmm: wjcGrid.FlexGrid, e: wjcCore.EventArgs) {\n var checkBox = sender;\r\n\r\n gridmm.beginUpdate();\r\n if (checkBox.checked == true) {\r\n for (var i = 0; i < gridmm.rows.length; i++) {\r\n this.dp.showDetail(i);\r\n }\r\n }\r\n\r\n if (checkBox.checked == false) {\r\n for (var i = 0; i < gridmm.rows.length; i++) {\r\n this.dp.hideDetail(i);\r\n }\r\n }\r\n\r\n gridmm.endUpdate()\r\n }\r\n\r\n showThisGridDetails(sender: any, gridmm: wjcGrid.FlexGrid, e: wjcCore.EventArgs) {\n var checkBox = sender;\r\n\r\n gridmm.beginUpdate();\r\n\r\n this.cvPaging.pageSize = 10;\r\n\r\n if (checkBox.checked == false) {\r\n for (var i = 0; i < gridmm.rows.length; i++) {\r\n this.dp.hideDetail(i);\r\n }\r\n }\r\n\r\n if (checkBox.checked == true) {\r\n for (var i = 0; i < gridmm.rows.length; i++) {\r\n this.dp.showDetail(i);\r\n }\r\n }\r\n gridmm.endUpdate()\r\n }\n\n showAllGridDetails(sender: any, gridmm: wjcGrid.FlexGrid, e: wjcCore.EventArgs) {\n var checkBox = sender;\r\n\r\n gridmm.beginUpdate();\r\n\r\n this.cvPaging.pageSize = 50;\r\n\r\n if (checkBox.checked == false) {\r\n for (var i = 0; i < gridmm.rows.length; i++) {\r\n this.dp.hideDetail(i);\r\n }\r\n }\r\n\r\n if (checkBox.checked == true) {\r\n for (var i = 0; i < gridmm.rows.length; i++) {\r\n this.dp.showDetail(i);\r\n }\r\n }\r\n gridmm.endUpdate()\r\n }\n\n\n //PDF export\r\n pdfExport() {\r\n var PDFExportFileName = 'AE_Summary_Details_ ' + new Date().toLocaleString() + '.pdf';\r\n let doc = new pdf.PdfDocument({\r\n header: {\r\n declarative: {\r\n text: '\\tAE Summary Report\\t&[Page]',\r\n font: new pdf.PdfFont('helvetica', 10, 'normal', 'bold')\r\n }\r\n },\r\n footer: {\r\n declarative: {\r\n text: '\\t&[Page]\\\\&[Pages]',\r\n brush: '#3173c0',\r\n font: new pdf.PdfFont('helvetica', 10, 'normal', 'bold')\r\n }\r\n },\r\n pageSettings: {\r\n layout: pdf.PdfPageOrientation.Portrait,\r\n size: pdf.PdfPageSize.Letter,\r\n margins: {\r\n left: 40,\r\n top: 72,\r\n right: 72,\r\n bottom: 10\r\n }\r\n },\r\n ended: (sender: pdf.PdfDocument, args: pdf.PdfDocumentEndedEventArgs) => pdf.saveBlob(args.blob, PDFExportFileName)\r\n\r\n });\r\n\r\n //Take a grid copy of reportDataAE Array\r\n this.reportDataForPDF = JSON.parse(JSON.stringify(this.cvPaging._view));\r\n\r\n //Group By CaseID\r\n var groups = this.reportDataForPDF.reduce(function (obj, item) {\r\n obj[' ' + item.CaseID] = obj[' ' + item.CaseID] || [];\r\n obj[' ' + item.CaseID].push(item);\r\n return obj;\r\n }, {});\r\n\r\n //Orde By Severity DESC\r\n for (var key in groups)\r\n groups[key].sort(function (a, b) { var x = a.Severity, y = b.Severity; return x === y ? 0 : x > y ? -1 : 1; });\r\n\r\n //Print in Pdf\r\n for (var key in groups) {\r\n var processCase;\r\n var secondaryAeDetailsList = [];\r\n groups[key].forEach((aCase, i) => {\r\n\r\n if (i == 0)\r\n processCase = aCase;\r\n \r\n secondaryAeDetailsList.push(new SecondaryAeDetails(aCase.AEName, aCase.Severity));\r\n\r\n if (groups[key].length == i + 1)\r\n this.drawPDF(doc, processCase, secondaryAeDetailsList);\r\n\r\n });\r\n };\r\n\r\n doc.end();\r\n }\r\n\r\n private drawPDF(doc: pdf.PdfDocument, aCase: ReportDataAE, secondaryAeDetailsList: any[]) {\r\n aCase.DateOfCath = this.datePipe.transform(aCase.DateOfCath, 'MM/dd/yyyy');\r\n let y = doc.y, columns: TColumn[] = [\r\n { header: 'Case ID', binding: 'CaseID', format: 'c' },\r\n { header: 'Date Of Cath', binding: 'DateOfCath', format: 'd' },\r\n { header: 'Operator', binding: 'Operator', format: 'c' },\r\n { header: 'Adverse Event', binding: 'AEName', format: 'c' },\r\n { header: 'Severity', binding: 'Severity', format: 'c' },\r\n { header: 'Reviewed', binding: 'Reviewed', format: 'c' },\r\n ],\r\n bold = new pdf.PdfFont('times', 10, 'normal', 'bold'),\r\n c1 = new wjcCore.Color('#ff002b');\r\n\r\n doc.registerFont({\r\n source: '../../../../assets/fonts/FiraSans-Regular.ttf',\r\n name: 'fira',\r\n style: 'normal',\r\n weight: 'normal',\r\n sansSerif: true\r\n });\r\n doc.registerFont({\r\n source: '../../../../assets/fonts/FiraSans-Bold.ttf',\r\n name: 'fira',\r\n style: 'normal',\r\n weight: 'bold',\r\n sansSerif: true\r\n });\r\n\r\n let firaFontNormal = new pdf.PdfFont(\"fira\", 9, \"normal\", \"normal\");\r\n let firaFontBold = new pdf.PdfFont(\"fira\", 9, \"normal\", \"bold\");\r\n // header\r\n if (y == 0) {\r\n this.renderRow(doc, 0, columns, (column: TColumn) => column.header, null, bold, '#fad9cd');\r\n }\r\n\r\n if (y >= 500) {\r\n doc.y = 0;\r\n doc.addPage();\r\n this.renderRow(doc, 0, columns, (column: TColumn) => column.header, null, bold, '#fad9cd');\r\n }\r\n\r\n //body\r\n y = doc.y;\r\n this.renderRow(doc, y, columns, (column: TColumn) => aCase[column.binding], (column: TColumn) => column.format);\r\n\r\n doc.moveDown(1);\r\n y = doc.y;\r\n if (aCase.Flag == '⚑') {\r\n doc.drawText('(!)', 20, y, { font: firaFontBold, continued: true, brush: new pdf.PdfSolidBrush(c1) });\r\n doc.drawText(' ');\r\n }\r\n\r\n doc.drawText('Case Type: ', 40, y, { font: firaFontBold, continued: true });\r\n if (aCase.CaseType == '') aCase.CaseType = ' ';\r\n doc.drawText(aCase.CaseType.substring(0, 55), null, null, { font: firaFontNormal });\r\n\r\n doc.drawText('Age: ', 310, y, { font: firaFontBold, continued: true });\r\n doc.drawText(aCase.Age, null, null, { font: firaFontNormal });\r\n\r\n y = doc.y;\r\n doc.drawText('Diagnosis: ', 40, y, { font: firaFontBold, continued: true });\r\n if (aCase.STSDiagnosis == '') aCase.STSDiagnosis = ' ';\r\n doc.drawText(aCase.STSDiagnosis.substring(0, 55), null, null, { font: firaFontNormal });\r\n\r\n doc.drawText('Time Needed(min): ', 310, y, { font: firaFontBold, continued: true });\r\n if (aCase.TimeNeeded == '') aCase.TimeNeeded = ' ';\r\n doc.drawText(aCase.TimeNeeded, null, null, { font: firaFontNormal });\r\n\r\n secondaryAeDetailsList.forEach((aSecondaryAeDetails, i) => {\r\n if(i==0) doc.moveDown(1);\r\n y = doc.y;\r\n var aeNumber = +i + 1;\r\n doc.drawText('AE ' + aeNumber + ': ', 40, y, { font: firaFontBold, continued: true });\r\n if (aSecondaryAeDetails.Name == '') aSecondaryAeDetails.Name = ' ';\r\n doc.drawText(aSecondaryAeDetails.Name.substring(0, 42), null, null, { font: firaFontNormal });\r\n\r\n doc.drawText('Severity: ', 310, y, { font: firaFontBold, continued: true });\r\n if (aSecondaryAeDetails.Severity == '') aSecondaryAeDetails.Severity = ' ';\r\n doc.drawText(aSecondaryAeDetails.Severity, null, null, { font: firaFontNormal });\r\n\r\n });\r\n\r\n doc.moveDown(1);\r\n y = doc.y;\r\n doc.drawText('Description: ', 40, y, { font: firaFontBold, continued: true });\r\n doc.drawText(aCase.Description, null, null, { font: firaFontNormal });\r\n\r\n }\r\n\r\n private renderRow(doc: pdf.PdfDocument, y: number, values: any[], valueGetter: Function, formatGetter: Function, font?: pdf.PdfFont, brush?: pdf.PdfBrush | string) {\r\n let x = 0,\r\n columnWidth = 0;\r\n values.forEach((v: any, idx: number) => {\r\n\r\n let value = valueGetter != null ? valueGetter(v) : v || '';\r\n let format = formatGetter != null ? formatGetter(v) : '';\r\n\r\n //\r\n if (v[\"binding\"] === 'Reviewed' && value !== 'Reviewed') {\r\n\r\n if (value == true)\r\n value = 'Yes';\r\n else\r\n value = ' ';\r\n }\r\n\r\n //\r\n if (v[\"binding\"] === 'CaseID') {\r\n x = idx * this.colWidth + 20;\r\n columnWidth = this.colWidth;\r\n }\r\n else if (v[\"binding\"] === 'DateOfCath') {\r\n x = idx * this.colWidth;\r\n columnWidth = this.colWidth + 20;\r\n }\r\n else if (v[\"binding\"] === 'Operator') {\r\n x = idx * this.colWidth + 20;\r\n columnWidth = this.colWidth;\r\n }\r\n else if (v[\"binding\"] === 'AEName') {\r\n x = idx * this.colWidth + 20;\r\n columnWidth = this.colWidth + 50;\r\n }\r\n else if (v[\"binding\"] === 'Severity') {\r\n x = idx * this.colWidth + 20 + 50;\r\n columnWidth = this.colWidth;\r\n }\r\n else {\r\n x = idx * this.colWidth + 20 + 50;\r\n columnWidth = this.colWidth;\r\n }\r\n\r\n doc.paths.rect(x, y, columnWidth, this.rowHeight).fill(brush || '#f4b19b');\r\n doc.drawText(value, x + 3, y + 5, { font: font, height: this.rowHeight, width: columnWidth });\r\n\r\n });\r\n }\r\n\r\n //Excel Export\r\n initHiddenGrid(hiddenGrid: wjcGrid.FlexGrid) {\n }\r\n exportToExcel(hiddenGrid: wjcGrid.FlexGrid) {\r\n this.spinner.show();\r\n gridXls.FlexGridXlsxConverter.saveAsync(hiddenGrid, {\r\n includeColumnHeaders: true, sheetName: 'AE_SummaryInfo',\r\n }, 'AE_Summary_' + new Date().toLocaleString() + '.xlsx');\r\n this.spinner.hide();\r\n }\r\n}\r\n\r\n\r\nexport class SecondaryAeDetails {\r\n Name: string;\r\n Severity: string;\r\n constructor(name: string, severity: string) {\r\n this.Name = name;\r\n this.Severity = severity;\r\n }\r\n}\r\n\r\n\r\n","import * as wjChart from 'wijmo/wijmo.angular2.chart';\r\nimport * as wjcCore from 'wijmo/wijmo';\r\nimport { Component, ViewChild, Input, ElementRef, OnInit, SimpleChanges, OnChanges, AfterViewInit } from '@angular/core';\r\nimport { ReportModelDetails } from '../../../../shared/report-model-details';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\n\r\n//Used for all Volume Reports\r\n@Component({\r\n //directives: [wjChart.WjFlexChart, wjChart.WjFlexChartSeries],\r\n template: `\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n 18 years'\" [binding]=\"'EightTeenYears'\">\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n `, \r\n selector: 'case-volume-report-by-center-template',\r\n})\r\nexport class CaseVolumeReportByCenterComponent implements OnInit, AfterViewInit{\r\n @ViewChild('fChart') flexChart: wjChart.WjFlexChart;\r\n @ViewChild('axisY') axisY: wjChart.WjFlexChartAxis;\r\n @ViewChild('axisX') axisX: wjChart.WjFlexChartAxis;\r\n @Input() data: ReportModelDetails[];\r\n @Input() chartType: string;\r\n @Input() stacking: string;\r\n @Input() rotated: string;\r\n @Input() titleX: string;\r\n @Input() totalCasesLabel: string;\r\n @Input() XAxisLabel: string;\r\n @Input() showStackedItems: boolean;\r\n @Input() showYAxisData: boolean;\r\n @Input() legendPosition: string;\r\n @Input() easing: string;\r\n @Input() duration: number;\r\n @Input() spinner: NgxSpinnerService;\r\n @Input() yAxisFormat: string;\r\n\r\n constructor(public element: ElementRef) {\r\n this.element.nativeElement // element reference for printing\r\n }\r\n ngOnInit(): void { \r\n\r\n }\r\n\r\n ngAfterViewInit() {\r\n //Set custom tool tip content\r\n this.flexChart.tooltip.content = `
` + `{y} cases`;\r\n }\r\n\r\n \r\n onChartRendered() {\r\n this.spinner.hide();\r\n }\r\n\r\n getChartTypeChange($event) {\r\n\r\n this.chartType = $event;\r\n\r\n\r\n //If chart type is bar then flip the axis\r\n if (this.chartType == \"Bar\") {\r\n\r\n var tempXTitle = this.titleX;\r\n this.titleX = this.totalCasesLabel;\r\n this.totalCasesLabel = tempXTitle;\r\n }\r\n\r\n //If the Y axis equals center and not a bar chart then flip them back\r\n else if (this.totalCasesLabel == \"Center\") {\r\n var tempYTitle = this.totalCasesLabel;\r\n this.totalCasesLabel = this.titleX;\r\n this.titleX = tempYTitle;\r\n }\r\n\r\n }\r\n\r\n getRotatedChange($event) {\r\n\r\n this.rotated = $event;\r\n }\r\n\r\n getStackingChange($event) {\r\n\r\n this.stacking = $event;\r\n }\r\n\r\n\r\n \r\n\r\n\r\n}\r\n","\r\nimport { Component, ViewChild, Input, ElementRef, OnInit, OnChanges, SimpleChanges, SimpleChange, Output, EventEmitter } from '@angular/core';\r\nimport { EventArgs } from 'wijmo/wijmo';\r\n\r\n\r\n//Used for AE Summary Report\r\n@Component({ \r\n template: `\r\n Column\r\n Bar\r\n Scatter\r\n Line\r\n LineSymbols\r\n Area\r\n Spline\r\n SplineSymbols\r\n SplineArea\r\n `, \r\n selector: 'chart-type-template',\r\n})\r\nexport class ChartTypeComponent implements OnInit{\r\n private _chartType: string;\r\n @Input() chartType: string;\r\n @Output()chartTypeChange = new EventEmitter();\r\n \r\n menuItemClicked(sender: any, e: EventArgs) {\r\n var menuItem = sender.selectedValue;\r\n this.chartTypeChange.emit(menuItem);\r\n } \r\n\r\n constructor(public element: ElementRef) {\r\n \r\n }\r\n ngOnInit(): void { \r\n\r\n } \r\n\r\n}\r\n","\r\nimport { Component, ViewChild, Input, Output, ElementRef, OnInit, EventEmitter } from '@angular/core';\r\nimport { EventArgs } from 'wijmo/wijmo';\r\n\r\n\r\n//Used for AE Summary Report\r\n@Component({ \r\n template: `\r\n Vertical\r\n Horizontal\r\n `, \r\n selector: 'chart-view-template',\r\n})\r\nexport class ChartViewComponent implements OnInit{ \r\n @Input() rotated: string = '';\r\n @Output() rotatedChange = new EventEmitter();\r\n \r\n\r\n constructor(public element: ElementRef) {\r\n \r\n }\r\n ngOnInit(): void { \r\n\r\n } \r\n\r\n\r\n menuItemClicked(sender: any, e: EventArgs) {\r\n var menuItem = sender.selectedValue;\r\n this.rotatedChange.emit(menuItem);\r\n } \r\n\r\n}\r\n","\r\n\r\nimport { Component, ViewChild, Input, ElementRef, OnInit, NgModule } from '@angular/core';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport * as JSZip from 'jszip';\r\nimport * as wjcCore from 'wijmo/wijmo';\r\nimport * as wjcGrid from 'wijmo/wijmo.grid';\r\nimport * as wjcGridFilter from 'wijmo/wijmo.grid.filter';\r\nimport * as wjcGridDetail from 'wijmo/wijmo.grid.detail';\r\n\r\nimport * as wjcXlsx from 'wijmo/wijmo.xlsx';\r\nimport * as gridXls from 'wijmo/wijmo.grid.xlsx';\r\nimport * as wjcGridPdf from 'wijmo/wijmo.grid.pdf';\r\nimport { GroupRow } from 'wijmo/wijmo.grid';\r\n\r\n\r\nwjcXlsx.useJSZip(JSZip);\r\n//Used for MM Summary Report\r\n@Component({\r\n template: ` Expand All \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
    \r\n
  • \r\n
    \r\n
    CaseType: {{item.CaseType}}
    \r\n
    Age: {{item.Age}}
    \r\n
    \r\n
    \r\n
    Time Needed: {{item.TimeNeeded}}
    \r\n\r\n
    \r\n
    \r\n
    Presentation: {{item.Presentation}}
    \r\n
    \r\n
    \r\n
    Description:{{item.Description}}
    \r\n
    \r\n
  • \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n\r\n \r\n   \r\n
\r\n
\r\n
\r\n    \r\n     \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
`,\r\n selector: 'mm-report-template',\r\n //Works for Chrome IE in Native Emulated for IE in debug mode does not render?\r\n //encapsulation: ViewEncapsulation.Emulated,\r\n //styleUrls: [\r\n // \"../../../../../../node_modules/wijmo/styles/wijmo.css\" \r\n //]\r\n\r\n})\r\nexport class MMReportComponent implements OnInit {\r\n [x: string]: any;\r\n @ViewChild('filter') flexFilter: wjcGridFilter.FlexGridFilter;\r\n @ViewChild('dp') dp: wjcGridDetail.FlexGridDetailProvider;\r\n @ViewChild('dph') dph: wjcGridDetail.FlexGridDetailProvider; \r\n //This gets a reference to the existing grid \r\n @ViewChild('gridmm') flexGrid: wjcGrid.FlexGrid;\r\n @ViewChild('gridPDFmm') flexGridPDF: wjcGrid.FlexGrid;\r\n @Input() cvPagingmm: wjcCore.CollectionView;\r\n @Input() reportDataMM: wjcCore.CollectionView;\r\n @Input() exportAllmm: boolean = false;\r\n @Input() spinner: NgxSpinnerService;\r\n @Input() showOperatorColumn: boolean = false;\r\n //pdfWorkerComponent: PDFWorkerComponent;\r\n rowFooter:wjcGrid.GroupRow = new wjcGrid.GroupRow();\r\n isFooterDisplayed: boolean = true;\r\n\r\n\r\n constructor(public element: ElementRef ) {\r\n }\r\n\r\n\r\n ngOnInit(): void {\r\n\r\n }\r\n\r\n init(s: wjcGrid.FlexGrid) { \r\n\r\n //Set the default sorting on CaseID \r\n this.cvPagingmm.sortDescriptions.push(new wjcCore.SortDescription(\"MRN\", true)); \r\n this.cvPagingmm.sortDescriptions.push(new wjcCore.SortDescription(\"DateOfCath\", true)); \r\n\r\n\r\n }\n\n initHiddenGrid(hiddenGrid: wjcGrid.FlexGrid) {\n //this is used to group CaseID on a flex grid\n //var groupDescription = new wjcCore.PropertyGroupDescription('CaseID',);\r\n //hiddenGrid.collectionView.groupDescriptions.push(groupDescription);\r\n //hiddenGrid.columnFooters.rows.push(this.rowFooter);\r\n //hiddenGrid.bottomLeftCells.setCellData(0, 0, '\\u03A3');\n }\n\n\n exportOptions = {\r\n exportMode: wjcGridPdf.ExportMode.All,\r\n customCellContent: true,\r\n drawDetailRows: true,\r\n maxPages: 10,\r\n scaleMode: wjcGridPdf.ScaleMode.PageWidth,\r\n documentOptions: {\r\n compress: true,\r\n header: { declarative: { text: '\\t&[Page] of &[Pages]' } },\r\n footer: { declarative: { text: '\\t&[Page] of &[Pages]' } },\r\n info: { author: 'C1', title: 'HtmlDetail' }\r\n },\r\n styles: {\r\n cellStyle: {\r\n backgroundColor: '#ffffff',\r\n borderColor: '#000000'\r\n },\r\n altCellStyle: {\r\n backgroundColor: '#f9f9f9',\r\n borderColor: '#000000'\r\n },\r\n headerCellStyle: {\r\n backgroundColor: '#eaeaea'\r\n }\r\n },\n\n formatItem: function (args) {\r\n\r\n if (args.panel.cellType === wjcGrid.CellType.Cell) {\r\n var row = args.panel.rows[args.row];\r\n\r\n if (row.detail != null) {\r\n args.cancel = false;\r\n\r\n var detail = row.detail.childNodes[0],\r\n doc = args.canvas.document,\r\n clr = args.clientRect,\r\n cnr = args.contentRect;\r\n\r\n doc.saveState();\r\n\r\n args.canvas.paths.rect(clr.left, clr.top, clr.width, clr.height).clip();\r\n\r\n var rIndex = row.index;\r\n\r\n //Get a list of the MMItems\r\n var mmListItems = row.detail.getElementsByTagName('div').namedItem('mmdetailslist').getElementsByTagName('li');\r\n\r\n //Now loop through the list collection of MM Events\r\n var yPosition = 17;\r\n for (var i = 0; i < mmListItems.length; i++) {\r\n var mmName = mmListItems[i].getElementsByTagName('div').namedItem('mmCaseType').innerText;\r\n var severity = mmListItems[i].getElementsByTagName('div').namedItem('mmAge').innerText;\r\n doc.drawText(mmName, 60, clr.top + yPosition, { height: 10, width: 250 });\r\n doc.drawText(severity, 400, clr.top + yPosition, { height: 10, width: 75 });\r\n //Increment the y position for each list item\r\n yPosition = yPosition + 12;\r\n }\r\n\r\n //This needs to adjust based on the amount of items in the list above\r\n var yPositionTimeneeded = yPosition;\r\n var timeneeded = row.detail.getElementsByTagName('div').namedItem('mmTimeNeeded').innerText;\r\n doc.drawText(timeneeded, 60, clr.top + yPositionTimeneeded, { height: 10, width: 500 });\r\n\r\n var yPositionPresentation = 10 + yPosition; \r\n var presentation = row.detail.getElementsByTagName('div').namedItem('mmPresentation').innerText; \r\n doc.drawText(presentation, 60, clr.top + yPositionPresentation, { height: 10, width: 500 });\r\n\r\n var yPositionText = 30 + yPosition;\r\n // doc.drawText('Description', 50, clr.top + yPositionDescription, { height: 5, width: 75 });\r\n var description = row.detail.getElementsByTagName('div').namedItem('mmDescription').innerText;\r\n //This next line roughly adjusts the height based on the amount of text in each line\r\n var descHeight = description.length > 80 ? (description.length / 120) * 25 : 80;\r\n doc.drawText(description, 60, clr.top + yPositionText, { height: 1000, width: 500 });\r\n\r\n //args.canvas.paths.lineTo(descHeight, 500); \r\n\r\n // wjcGridPdf.FlexGridPdfConverter.drawToPosition(this.detail, doc, new wjcCore.Point(cnr.left, cnr.top), null, null, { customCellContent: true });\r\n doc.restoreState();\r\n args.cancel = true;\r\n\r\n }\r\n }\r\n }\r\n\r\n\r\n };\n\n showGridDetails(sender: any, gridmm: wjcGrid.FlexGrid, e: wjcCore.EventArgs) {\n var checkBox = sender;\r\n\r\n gridmm.beginUpdate();\r\n if (checkBox.checked == true) {\r\n for (var i = 0; i < gridmm.rows.length; i++) {\r\n this.dp.showDetail(i);\r\n }\r\n }\r\n\r\n if (checkBox.checked == false) {\r\n for (var i = 0; i < gridmm.rows.length; i++) {\r\n this.dp.hideDetail(i);\r\n }\r\n }\r\n\r\n gridmm.endUpdate()\r\n }\n\n\n showThisGridDetails(sender: any, gridmm: wjcGrid.FlexGrid, e: wjcCore.EventArgs) {\n var checkBox = sender;\r\n\r\n gridmm.beginUpdate();\r\n\r\n this.cvPagingmm.pageSize = 10;\r\n\r\n if (checkBox.checked == false) {\r\n for (var i = 0; i < gridmm.rows.length; i++) {\r\n this.dp.hideDetail(i);\r\n }\r\n }\r\n\r\n if (checkBox.checked == true) {\r\n for (var i = 0; i < gridmm.rows.length; i++) {\r\n this.dp.showDetail(i);\r\n }\r\n }\r\n gridmm.endUpdate()\r\n }\n\n showAllGridDetails(sender: any, gridmm: wjcGrid.FlexGrid, e: wjcCore.EventArgs) {\n var checkBox = sender;\r\n\r\n gridmm.beginUpdate();\r\n\r\n this.cvPagingmm.pageSize = 100;\r\n\r\n if (checkBox.checked == false) {\r\n for (var i = 0; i < gridmm.rows.length; i++) {\r\n this.dp.hideDetail(i);\r\n }\r\n }\r\n\r\n if (checkBox.checked == true) {\r\n for (var i = 0; i < gridmm.rows.length; i++) {\r\n this.dp.showDetail(i);\r\n }\r\n }\r\n gridmm.endUpdate()\r\n }\n\n\n exportToPDF(gridmm: wjcGrid.FlexGrid) {\r\n this.spinner.show();\r\n this.exportToPDFInterval(gridmm);\r\n //var interval = setInterval(() => {\r\n // this.exportToPDFInterval(grid, interval);\r\n //}, 1000); \n\n }\n\n\n\n exportToPDFInterval(gridmm: wjcGrid.FlexGrid) {\r\n \r\n var PDFExportFileName = 'M&MDetails.pdf';\r\n\r\n if (this.exportAllmm == true) {\r\n //Temp turn off paging to export the entire grid\r\n PDFExportFileName = 'M&MDetails_ ' + new Date().toLocaleString() + '.pdf';\r\n }\r\n\r\n wjcGridPdf.FlexGridPdfConverter.export(gridmm, PDFExportFileName, this.exportOptions);\r\n\r\n this.spinner.hide();\r\n }\n\n\n // Callback function executed when PDF creation is completed\r\ndone() {\r\n //isExporting = false;\r\n // saveButton1.innerText = 'Create PDF(using Web Worker)';\r\n //saveButton2.disabled = false;\r\n}\r\n\r\n// Callback function executed during PDF creation\r\nprogress(value) {\r\n //value = Math.floor((value * 100));\r\n //progressText.innerText = value;\r\n //progressGauge.value = value;\r\n}\n\n exportToExcel(hiddenGrid: wjcGrid.FlexGrid) {\r\n\r\n this.spinner.show();\r\n\r\n \r\n\r\n \r\n gridXls.FlexGridXlsxConverter.saveAsync(hiddenGrid, { \r\n includeColumnHeaders: true, sheetName: 'M&MInfo',\r\n }, 'M&MSummary_' + new Date().toLocaleString() + '.xlsx');\r\n\r\n \r\n\r\n\r\n this.spinner.hide();\r\n \r\n }\r\n\r\n importGrid(gridmm, inp) {\r\n if (!inp.files.length) {\r\n return;\r\n }\r\n\r\n let reader,\r\n file = inp.files[0];\r\n reader = new FileReader();\r\n reader.onload = function (e) {\r\n gridXls.FlexGridXlsxConverter.load(gridmm, reader.result, { includeColumnHeaders: true });\r\n };\r\n reader.readAsArrayBuffer(file);\r\n }\r\n\r\n}\r\n","//import 'bootstrap.css';\r\nimport 'wijmo/styles/wijmo.css';\r\nimport 'wijmo/styles/themes/wijmo.theme.material.css';\r\n//import './styles.css';\r\nimport { AppModule } from \"../../../../app.module\";\r\nimport { Component, enableProdMode, Input, NgModule, OnInit, ViewChild } from '@angular/core';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { LoginService } from \"../../../user/login.service\";\r\nimport { ReportDataMM } from \"../../../../shared/report-model-mm\";\r\nimport { ReportService } from '../report-services/report.service';\r\nimport { CaseSaveResponse } from '../../../../shared/case-save/case-save-response';\r\nimport { DatePipe } from \"@angular/common\";\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { WjGridModule } from 'wijmo/wijmo.angular2.grid';\r\nimport { WjInputModule } from 'wijmo/wijmo.angular2.input';\r\nimport * as wjcCore from 'wijmo/wijmo';\r\nimport * as wjcGrid from 'wijmo/wijmo.grid';\r\nimport * as wjcGridDetail from 'wijmo/wijmo.grid.detail';\r\nimport * as wjcInput from 'wijmo/wijmo.input';\r\n\r\nimport * as wjcGridPdf from 'wijmo/wijmo.grid.pdf';\r\nimport * as pdf from 'wijmo/wijmo.pdf';\r\nimport * as gridXls from 'wijmo/wijmo.grid.xlsx';\r\n\r\ntype TColumn = {\r\n header: string;\r\n binding: string;\r\n format: string;\r\n}\r\n\r\n@Component({\r\n\r\n template: `
\r\n  Expand All\r\n \r\n \r\n\r\n \r\n \r\n {{item.Flag}}\r\n \r\n \r\n \r\n \r\n {{item.DateOfCath | date: d}}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
    \r\n
  • \r\n
    \r\n
    CaseType: {{item.CaseType | slice:0:65}}
    \r\n
    Age: {{item.Age}}
    \r\n
    \r\n
    \r\n\r\n
    Time Needed(min): {{item.TimeNeeded}}
    \r\n
    Preventability: {{item.Preventability}}
    \r\n
    Attributability: {{item.Attributability}}
    \r\n\r\n
    \r\n
    \r\n
    Presentation:{{item.Presentation}}
    \r\n
    \r\n
    \r\n
     
    \r\n
    \r\n
    \r\n
    Description:{{item.Description}}
    \r\n
    \r\n
  • \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n
\r\n
Edit MRN # {{editingItem != null ? editingItem.MRN : ''}}, Last Name: {{editingItem != null ? editingItem.LastName : ''}}, Date Of Cath: {{editingItem != null ? (editingItem.DateOfCath|date) : ''}}
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n\r\n \r\n   \r\n
\r\n
\r\n
\r\n    \r\n    \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
`,\r\n selector: 'mm-report-edit-template',\r\n styles: [`body {\r\n margin-bottom: 24px;\r\n}\r\n\r\n#popupContent > div {\r\n box-sizing:border-box;\r\n -moz-box-sizing:border-box;\r\n}\r\n#left {\r\n float:left;\r\n width: 50%;\r\n}\r\n#right {\r\n float:right;\r\n width: 50%;\r\n}\r\n#bottom {\r\n clear: both;\r\n}\r\n\r\n#timeNeeded_input{\r\n width: 90px;\r\n}\r\n.modal-content {\r\n width: 1000px;\r\n}`]\r\n\r\n})\r\nexport class MMReportEditComponent implements OnInit {\r\n\r\n public reportService: ReportService;\r\n @ViewChild('dp') dp: wjcGridDetail.FlexGridDetailProvider;\r\n @ViewChild('popup') popup: wjcInput.Popup;\r\n @ViewChild('preventability') Preventability: wjcInput.ComboBox;\r\n @ViewChild('attributability') Attributability: wjcInput.ComboBox;\r\n @ViewChild('severity') Severity: wjcInput.ComboBox;\r\n @ViewChild('tier') Tier: wjcInput.ComboBox;\r\n @ViewChild('timeNeeded') TimeNeeded: wjcInput.InputMask;\r\n\r\n\r\n @Input() cvPagingmm: wjcCore.CollectionView;\r\n @Input() reportDataMM: ReportDataMM[];\r\n @Input() exportAllmm: boolean = false;\r\n @Input() spinner: NgxSpinnerService;\r\n @Input() showOperatorColumn: boolean = false;\r\n\r\n //public showTier: boolean=false;\r\n datePipe: DatePipe;\r\n public user: LoginService;\r\n caseId: any;\r\n severities = ['1', '2', '3', '4', '5'];\r\n tiers = ['','A', 'B', 'C'];\r\n preventabilities = ['','Preventable', 'Possibly Preventable', 'Not Preventable', 'N/A'];\r\n attributabilities = ['', 'Sedation or airway related problem', 'Catheterization Related Problem', 'Access Related Problem', 'Dilation Related Problem', 'Stent Related Problem', 'Device Related Problem', 'Coil Related Problem', 'Biopsy Related Problem', 'Ablation Related Problem', 'Angioplasty Related Problem', 'Valvuloplasty Related Problem'];\r\n editingItem: any;\r\n\r\n private readonly colWidth = 55;\r\n private readonly rowHeight = 18;\r\n reportDataForPDF: ReportDataMM[];\r\n pdfGrid:wjcGrid.FlexGrid;\r\n\r\n // DataSvc will be passed by derived classes\r\n constructor(_reportService: ReportService, _user: LoginService, datePipe: DatePipe) {\r\n this.user = _user;\r\n this.reportService = _reportService;\r\n this.datePipe = new DatePipe('en-US');\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n }\r\n\r\n init(s: wjcGrid.FlexGrid) {\r\n }\r\n\r\n initializeGrid(gridmm: wjcGrid.FlexGrid) {\r\n this.pdfGrid = gridmm;\r\n\r\n // add 'edit button' to row header cells\r\n gridmm.formatItem.addHandler((s: wjcGrid.FlexGrid, e: wjcGrid.FormatItemEventArgs) => {\r\n\r\n if (e.panel == s.cells && e.col == 9) {\r\n e.cell.innerHTML = '';\r\n }\r\n\r\n });\r\n\r\n\r\n // handle button clicks\r\n gridmm.addEventListener(gridmm.hostElement, 'mousedown', (e: MouseEvent) => {\r\n let ht = gridmm.hitTest(e);\r\n if (e.target[\"innerHTML\"] === '⚐' || e.target[\"innerHTML\"] === '⚑') {\r\n this.editingItem = gridmm.rows[ht.row].dataItem;\r\n (gridmm.collectionView).editItem(this.editingItem);\r\n if (this.editingItem.Flag === '⚐')\r\n this.editingItem.Flag = '⚑';\r\n else\r\n this.editingItem.Flag = '⚐';\r\n (gridmm.collectionView).commitEdit();\r\n\r\n }\r\n \r\n if (e.target[\"type\"] === 'checkbox') {\r\n\r\n this.editingItem = gridmm.rows[ht.row].dataItem;\r\n (gridmm.collectionView).editItem(this.editingItem);\r\n (gridmm.collectionView).commitEdit();\r\n\r\n this.reportService.editCaseReportMM = JSON.parse(JSON.stringify(this.editingItem));\r\n if (this.editingItem.Reviewed === true)\r\n this.reportService.editCaseReportMM.Reviewed = false;\r\n else\r\n this.reportService.editCaseReportMM.Reviewed = true;\r\n this.reportService.editCaseReportMM.Updatedby = this.user.user.UserId;\r\n this.reportService.SaveMMReport().subscribe(data => this.saveResponse(data));\r\n }\r\n\r\n if (e.target[\"className\"] === 'wj-glyph-pencil') {\r\n // prepare form\r\n this.editingItem = gridmm.rows[ht.row].dataItem;\r\n this.caseId = this.editingItem.CaseID;\r\n this.Preventability.selectedItem = this.editingItem.Preventability;\r\n this.Attributability.selectedItem = this.editingItem.Attributability;\r\n this.Severity.selectedItem = this.editingItem.Severity;\r\n/* this.showTierField(this.editingItem.Severity);*/\r\n if (this.Severity.selectedValue == '3') {\r\n this.Tier.selectedItem = this.convertTier(this.editingItem.Tier);\r\n } \r\n this.TimeNeeded.rawValue = this.editingItem.TimeNeeded;\r\n // show the form\r\n this.popup.show(true, (s: wjcInput.Popup) => {\r\n if (s.dialogResult == 'wj-hide-ok') {\r\n // commit changes if the user pressed the Save button\r\n (gridmm.collectionView).editItem(this.editingItem);\r\n this.editingItem.Preventability = this.Preventability.selectedItem;\r\n this.editingItem.Attributability = this.Attributability.selectedItem;\r\n this.editingItem.Severity = this.Severity.selectedValue;\r\n //this.showTierField(this.Severity.selectedValue);\r\n if (this.Severity.selectedValue == '3') {\r\n this.editingItem.Tier = this.convertTier(this.Tier.selectedValue);\r\n } else {\r\n this.editingItem.Tier = '';\r\n }\r\n this.editingItem.TimeNeeded = this.TimeNeeded.rawValue;\r\n (gridmm.collectionView).commitEdit();\r\n this.reportService.editCaseReportMM = this.editingItem;\r\n this.reportService.editCaseReportMM.Updatedby = this.user.user.UserId;\r\n this.reportService.SaveMMReport().subscribe(data => this.saveResponse(data));\r\n }\r\n // return focus to the grid\r\n gridmm.focus();\r\n });\r\n }\r\n });\r\n }\r\n\r\n\r\n convertTier(value: any) {\r\n if (value == undefined || value == '') {\r\n return '';\r\n } else {\r\n switch (value) {\n case '1': return 'A';\n case '2': return 'B';\n case '3': return 'C';\n case 'A': return '1';\n case 'B': return '2';\n case 'C': return '3';\r\n }\r\n }\r\n }\r\n\r\n //showTierField(value:any) {\r\n // if (value=='3') {\r\n // this.showTier = true;\r\n // } else {\r\n // this.showTier = false;\r\n // }\r\n //}\r\n\r\n private saveResponse(data: CaseSaveResponse) {\n let caseSaveStatusModel = data.DataObject;\r\n if (caseSaveStatusModel.Casestatus === \"Success\") {\r\n let newCaseId = caseSaveStatusModel.CaseId;\r\n\r\n } else {\r\n alert(\"Save failed!\");\r\n }\r\n }\r\n\r\n //Show into Grid\r\n\r\n showGridDetails(sender: any, gridmm: wjcGrid.FlexGrid, e: wjcCore.EventArgs) {\n var checkBox = sender;\r\n\r\n gridmm.beginUpdate();\r\n if (checkBox.checked == true) {\r\n for (var i = 0; i < gridmm.rows.length; i++) {\r\n this.dp.showDetail(i);\r\n }\r\n }\r\n\r\n if (checkBox.checked == false) {\r\n for (var i = 0; i < gridmm.rows.length; i++) {\r\n this.dp.hideDetail(i);\r\n }\r\n }\r\n\r\n gridmm.endUpdate()\r\n }\r\n\r\n showThisGridDetails(sender: any, gridmm: wjcGrid.FlexGrid, e: wjcCore.EventArgs) {\n var checkBox = sender;\r\n\r\n gridmm.beginUpdate();\r\n\r\n this.cvPagingmm.pageSize = 10;\r\n\r\n if (checkBox.checked == false) {\r\n for (var i = 0; i < gridmm.rows.length; i++) {\r\n this.dp.hideDetail(i);\r\n }\r\n }\r\n\r\n if (checkBox.checked == true) {\r\n for (var i = 0; i < gridmm.rows.length; i++) {\r\n this.dp.showDetail(i);\r\n }\r\n }\r\n gridmm.endUpdate()\r\n }\n\n showAllGridDetails(sender: any, gridmm: wjcGrid.FlexGrid, e: wjcCore.EventArgs) {\n var checkBox = sender;\r\n\r\n gridmm.beginUpdate();\r\n\r\n this.cvPagingmm.pageSize = 50;\r\n\r\n if (checkBox.checked == false) {\r\n for (var i = 0; i < gridmm.rows.length; i++) {\r\n this.dp.hideDetail(i);\r\n }\r\n }\r\n\r\n if (checkBox.checked == true) {\r\n for (var i = 0; i < gridmm.rows.length; i++) {\r\n this.dp.showDetail(i);\r\n }\r\n }\r\n gridmm.endUpdate()\r\n }\n\n\n //PDF export\r\n pdfExport() {\r\n var PDFExportFileName = 'M&MDetails_ ' + new Date().toLocaleString() + '.pdf';\r\n let doc = new pdf.PdfDocument({\r\n header: {\r\n declarative: {\r\n text: '\\tM&M Report\\t&[Page]',\r\n font: new pdf.PdfFont('helvetica', 10, 'normal', 'bold')\r\n }\r\n },\r\n footer: {\r\n declarative: {\r\n text: '\\t&[Page]\\\\&[Pages]',\r\n brush: '#3173c0',\r\n font: new pdf.PdfFont('helvetica', 10, 'normal', 'bold')\r\n }\r\n },\r\n pageSettings: {\r\n layout: pdf.PdfPageOrientation.Portrait,\r\n size: pdf.PdfPageSize.Letter,\r\n margins: {\r\n left: 53,\r\n top: 72,\r\n right: 72,\r\n bottom: 10\r\n }\r\n },\r\n ended: (sender: pdf.PdfDocument, args: pdf.PdfDocumentEndedEventArgs) => pdf.saveBlob(args.blob, PDFExportFileName)\r\n\r\n });\r\n\r\n //Take a grid copy of ReportDataMM Array\r\n this.reportDataForPDF = JSON.parse(JSON.stringify(this.cvPagingmm._view));\r\n\r\n //Group By CaseID\r\n var groups = this.reportDataForPDF.reduce(function (obj, item) {\r\n obj[' '+item.CaseID] = obj[' '+item.CaseID] || [];\r\n obj[' '+item.CaseID].push(item);\r\n return obj;\r\n }, {});\r\n\r\n //Orde By Severity DESC\r\n for (var key in groups)\r\n groups[key].sort(function (a, b) { var x = a.Severity, y = b.Severity; return x === y ? 0 : x > y ? -1 : 1; });\r\n\r\n //Print in Pdf\r\n for (var key in groups) {\r\n var processCase;\r\n var secondaryAeDetailsList = [];\r\n groups[key].forEach((aCase, i) => {\r\n aCase.Severity = aCase.Severity + this.convertTier(aCase.Tier);\r\n if (i == 0) {\r\n processCase = aCase;\r\n }\r\n secondaryAeDetailsList.push(new SecondaryAeDetails(aCase.AEName, aCase.Severity, aCase.Tier, aCase.Preventability));\r\n\r\n if (groups[key].length == i + 1)\r\n this.drawPDF(doc, processCase, secondaryAeDetailsList);\r\n\r\n });\r\n };\r\n \r\n doc.end();\r\n }\r\n\r\n private drawPDF(doc: pdf.PdfDocument, aCase: ReportDataMM, secondaryAeDetailsList: any[]) {\r\n aCase.DateOfCath = this.datePipe.transform(aCase.DateOfCath, 'MM/dd/yyyy');\r\n let y = doc.y, columns: TColumn[] = [\r\n { header: 'Date Of Cath', binding: 'DateOfCath', format: 'd' },\r\n { header: 'MRN', binding: 'MRN', format: 'c' },\r\n { header: 'Last Name', binding: 'LastName', format: 'c' },\r\n { header: 'Operator', binding: 'Operator', format: 'c' },\r\n { header: 'Fellow', binding: 'Fellow', format: 'c' },\r\n { header: 'Adverse Event', binding: 'AEName', format: 'c' },\r\n { header: 'Severity', binding: 'Severity', format: 'c' },\r\n { header: 'Reviewed', binding: 'Reviewed', format: 'c' },\r\n ],\r\n bold = new pdf.PdfFont('times', 10, 'normal', 'bold'),\r\n c1 = new wjcCore.Color('#ff002b');\r\n\r\n doc.registerFont({\r\n source: '../../../../assets/fonts/FiraSans-Regular.ttf',\r\n name: 'fira',\r\n style: 'normal',\r\n weight: 'normal',\r\n sansSerif: true\r\n });\r\n doc.registerFont({\r\n source: '../../../../assets/fonts/FiraSans-Bold.ttf',\r\n name: 'fira',\r\n style: 'normal',\r\n weight: 'bold',\r\n sansSerif: true\r\n });\r\n\r\n let firaFontNormal = new pdf.PdfFont(\"fira\", 9, \"normal\", \"normal\");\r\n let firaFontBold = new pdf.PdfFont(\"fira\", 9, \"normal\", \"bold\");\r\n // header\r\n if (y == 0) {\r\n this.renderRow(doc, 0, columns, (column: TColumn) => column.header, null, bold, '#fad9cd');\r\n }\r\n\r\n if (y >= 500) {\r\n doc.y = 0;\r\n doc.addPage();\r\n this.renderRow(doc, 0, columns, (column: TColumn) => column.header, null, bold, '#fad9cd');\r\n }\r\n\r\n //body\r\n y = doc.y;\r\n this.renderRow(doc, y, columns, (column: TColumn) => aCase[column.binding], (column: TColumn) => column.format);\r\n\r\n doc.moveDown(1);\r\n y = doc.y;\r\n if (aCase.Flag == '⚑') {\r\n doc.drawText('(!)', 0, y, { font: firaFontBold, continued: true, brush: new pdf.PdfSolidBrush(c1) });\r\n doc.drawText(' ');\r\n }\r\n\r\n doc.drawText('Case Type: ', 20, y, { font: firaFontBold, continued: true});\r\n if (aCase.CaseType == '') aCase.CaseType = ' ';\r\n doc.drawText(aCase.CaseType.substring(0,55), null, null, { font: firaFontNormal });\r\n\r\n doc.drawText('Age: ', 310, y, { font: firaFontBold, continued: true });\r\n doc.drawText(aCase.Age, null, null, { font: firaFontNormal });\r\n\r\n y = doc.y;\r\n doc.drawText('Time Needed(min): ', 20, y, { font: firaFontBold, continued: true });\r\n if (aCase.TimeNeeded == '') aCase.TimeNeeded = ' ';\r\n doc.drawText(aCase.TimeNeeded , null, null, { font: firaFontNormal });\r\n\r\n doc.drawText('Preventability: ', 140, y, { font: firaFontBold, continued: true });\r\n if (aCase.Preventability == '') aCase.Preventability = ' ';\r\n doc.drawText(aCase.Preventability, null, null, { font: firaFontNormal });\r\n\r\n doc.drawText('Attributability: ', 310, y, { font: firaFontBold, continued: true });\r\n if (aCase.Attributability == '') aCase.Attributability = ' ';\r\n doc.drawText(aCase.Attributability, null, null, { font: firaFontNormal });\r\n\r\n\r\n secondaryAeDetailsList.forEach((aSecondaryAeDetails, i) => {\r\n if (i == 0) doc.moveDown(1);\r\n y = doc.y;\r\n var aeNumber = +i + 1;\r\n doc.drawText('AE ' + aeNumber + ': ', 20, y, { font: firaFontBold, continued: true });\r\n if (aSecondaryAeDetails.Name == '') aSecondaryAeDetails.Name = ' ';\r\n doc.drawText(aSecondaryAeDetails.Name.substring(0,42), null, null, { font: firaFontNormal });\r\n\r\n\r\n doc.drawText('Severity: ', 240, y, { font: firaFontBold, continued: true });\r\n if (aSecondaryAeDetails.Severity == '') aSecondaryAeDetails.Severity = ' ';\r\n doc.drawText(aSecondaryAeDetails.Severity, null, null, { font: firaFontNormal });\r\n\r\n\r\n doc.drawText('Preventability: ', 310, y, { font: firaFontBold, continued: true });\r\n if (aSecondaryAeDetails.Preventability == '') aSecondaryAeDetails.Preventability = ' ';\r\n doc.drawText(aSecondaryAeDetails.Preventability, null, null, { font: firaFontNormal });\r\n\r\n });\r\n\r\n doc.moveDown(1);\r\n y = doc.y;\r\n doc.drawText('Presentation: ', 20, y, { font: firaFontBold, continued: true });\r\n if (aCase.Presentation == '') aCase.Presentation = ' ';\r\n doc.drawText(aCase.Presentation, null, null, { font: firaFontNormal });\r\n\r\n doc.moveDown(1);\r\n y = doc.y;\r\n doc.drawText('Description: ', 20, y, { font: firaFontBold, continued: true });\r\n doc.drawText(aCase.Description, null, null, { font: firaFontNormal});\r\n\r\n }\r\n\r\n private renderRow(doc: pdf.PdfDocument, y: number, values: any[], valueGetter: Function, formatGetter: Function, font?: pdf.PdfFont, brush?: pdf.PdfBrush | string) {\r\n let x = 0,\r\n columnWidth = 0;\r\n values.forEach((v: any, idx: number) => {\r\n\r\n let value = valueGetter != null ? valueGetter(v) : v || '';\r\n let format = formatGetter != null ? formatGetter(v) : '';\r\n\r\n //\r\n if (v[\"binding\"] === 'Reviewed' && value !== 'Reviewed') {\r\n\r\n if (value == true)\r\n value = 'Yes';\r\n else\r\n value = ' ';\r\n\r\n }\r\n\r\n //\r\n if (v[\"binding\"] === 'DateOfCath') {\r\n x = idx * this.colWidth;\r\n columnWidth = this.colWidth + 20;\r\n }\r\n else if (v[\"binding\"] === 'MRN') {\r\n x = idx * this.colWidth + 20;\r\n columnWidth = this.colWidth;\r\n }\r\n else if (v[\"binding\"] === 'LastName') {\r\n x = idx * this.colWidth + 20;\r\n columnWidth = this.colWidth;\r\n }\r\n else if (v[\"binding\"] === 'Operator') {\r\n x = idx * this.colWidth + 20;\r\n columnWidth = this.colWidth;\r\n }\r\n else if (v[\"binding\"] === 'Fellow') {\r\n x = idx * this.colWidth + 20;\r\n columnWidth = this.colWidth;\r\n }\r\n else if (v[\"binding\"] === 'AEName') {\r\n x = idx * this.colWidth + 20;\r\n columnWidth = this.colWidth + 50;\r\n }\r\n else if (v[\"binding\"] === 'Severity') {\r\n x = idx * this.colWidth + 20 + 50;\r\n columnWidth = this.colWidth;\r\n }\r\n else {\r\n x = idx * this.colWidth + 20 + 50;\r\n columnWidth = this.colWidth;\r\n }\r\n\r\n doc.paths.rect(x, y, columnWidth, this.rowHeight).fill(brush || '#f4b19b');\r\n doc.drawText(value, x + 3, y + 5, { font: font, height: this.rowHeight, width: columnWidth });\r\n\r\n });\r\n }\r\n\r\n //Excel Export\r\n initHiddenGrid(hiddenGrid: wjcGrid.FlexGrid) {\n }\r\n exportToExcel(hiddenGrid: wjcGrid.FlexGrid) {\r\n this.spinner.show();\r\n gridXls.FlexGridXlsxConverter.saveAsync(hiddenGrid, {\r\n includeColumnHeaders: true, sheetName: 'M&MInfo',\r\n }, 'M&MSummary_' + new Date().toLocaleString() + '.xlsx');\r\n this.spinner.hide();\r\n }\r\n}\r\n\r\n\r\nexport class SecondaryAeDetails {\r\n Name: string;\r\n Severity: string;\r\n Preventability: string\r\n Tier: string;\r\n constructor(name: string, severity: string, tier:string, preventability: string) {\r\n this.Name = name;\r\n this.Severity = severity;\r\n this.Preventability = preventability;\r\n this.Tier = tier;\r\n }\r\n}\r\n\r\n\r\n","import * as wjChart from 'wijmo/wijmo.angular2.chart';\r\nimport { Component, ViewChild, Input } from '@angular/core';\r\nimport { ReportModelDetails } from '../../../../shared/report-model-details';\r\n \r\n@Component({\r\n //directives: [wjChart.WjFlexChart, wjChart.WjFlexChartSeries],\r\n template: `\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n
`, \r\n selector: 'site-case-volume-report-over-time-template',\r\n})\r\nexport class SiteCaseVolumeReportOverTimeComponent { \r\n @Input() data: ReportModelDetails[];\r\n @Input() chartType: string;\r\n @Input() stacking: string;\r\n @Input() rotated: string;\r\n @Input() titleX: string;\r\n @Input() totalCasesLabel: string;\r\n @Input() XAxisLabel: string;\r\n @Input() showStackedItems: boolean;\r\n @Input() showYAxisData: boolean;\r\n @Input() legendPosition: string;\r\n @Input() easing: string;\r\n @Input() duration: number;\r\n \r\n\r\n //constructor() {\r\n // this.data = new ReportModelDetails; \r\n\r\n\r\n //}\r\n\r\n onChartRendered() {\r\n\r\n }\r\n\r\n}\r\n","import { Component, EventEmitter, Input, Inject, enableProdMode, ViewChild, NgModule, Injectable } from '@angular/core';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport * as wjcGridSheet from 'wijmo/wijmo.grid.sheet';\r\nimport * as wjcInput from 'wijmo/wijmo.input';\r\nimport * as wjcGrid from 'wijmo/wijmo.grid';\r\nimport * as wjcCore from 'wijmo/wijmo';\r\nimport * as wjcXlsx from 'wijmo/wijmo.xlsx';\r\nimport * as JSZip from 'jszip';\r\n\r\n\r\n\r\n\r\n\r\nwjcXlsx.useJSZip(JSZip);\r\n//'use strict';\r\n//Used for AE Summary Report\r\n@Component({\r\n template: `\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n     \r\n
\r\n
`,\r\n selector: 'site-extract-template',\r\n\r\n})\r\n@Injectable()\r\nexport class SiteExtractComponent {\r\n sheets: any[] = [];\r\n selectedSheetIndex: number = 0;\r\n @ViewChild('flexSheet') flexSheet: wjcGridSheet.FlexSheet;\r\n @Input() cvExtractCaseInfo: wjcCore.CollectionView;\r\n @Input() cvExtractClinicalInfo: wjcCore.CollectionView;\r\n @Input() cvExtractProcedureInfo: wjcCore.CollectionView;\n @Input() cvExtractHemoInfo: wjcCore.CollectionView;\n @Input() cvExtractCaseTypeInfo: wjcCore.CollectionView;\n @Input() cvExtractAEEventInfo: wjcCore.CollectionView;\n @Input() cvExtractResourceInfo: wjcCore.CollectionView;\n @Input() cvExtractEOCAdmitDispoInfo: wjcCore.CollectionView;\n @Input() cvExtractCalculatorInfo: wjcCore.CollectionView;\r\n \r\n //@Input() cvPaging: wjcCore.CollectionView;\r\n @Input() exportAll: boolean = false;\r\n @Input() spinner: NgxSpinnerService;\r\n \r\n\r\n constructor() {\r\n }\r\n\r\n\r\n flexSheetInit(flexSheet: wjcGridSheet.FlexSheet) {\r\n var self = this;\r\n //var data = [];\r\n //data.push({ id: 1, countryID: 'USA', productID: 'new' });\r\n //data.push({ id: 2, countryID: 'CAD', productID: 'new' });\r\n //data.push({ id: 3, countryID: 'AUD', productID: 'new' });\r\n \r\n if (flexSheet) {\r\n flexSheet.deferUpdate(() => {\r\n //ToDo get data for the other 7 work sheets\r\n for (var i = 0; i < flexSheet.sheets.length; i++) {\r\n flexSheet.sheets.selectedIndex = i;\r\n switch (flexSheet.sheets[i].name) {\r\n case 'CaseInfo':\r\n flexSheet.selectedSheet.itemsSource = self.cvExtractCaseInfo;\r\n //self._initDataMapForBindingSheet(flexSheet);\r\n break;\r\n case 'ClinicalInfo':\r\n flexSheet.selectedSheet.itemsSource = self.cvExtractClinicalInfo;\r\n //self._initDataMapForBindingSheet(flexSheet);\r\n break;\r\n case 'ProcedureInfo':\r\n flexSheet.selectedSheet.itemsSource = self.cvExtractProcedureInfo;\r\n //flexSheet.selectedSheet.itemsSource = self.cvExtractClinicalInfo;\r\n //self._initDataMapForBindingSheet(flexSheet);\r\n break;\r\n case 'HemoInfo':\r\n flexSheet.selectedSheet.itemsSource = self.cvExtractHemoInfo;\r\n //flexSheet.selectedSheet.itemsSource = self.cvExtractClinicalInfo;\r\n //self._initDataMapForBindingSheet(flexSheet);\r\n break;\r\n case 'CaseTypeInfo':\r\n flexSheet.selectedSheet.itemsSource = self.cvExtractCaseTypeInfo;\r\n //flexSheet.selectedSheet.itemsSource = self.cvExtractClinicalInfo;\r\n //self._initDataMapForBindingSheet(flexSheet);\r\n break;\r\n case 'AEEventInfo':\r\n flexSheet.selectedSheet.itemsSource = self.cvExtractAEEventInfo;\r\n //flexSheet.selectedSheet.itemsSource = self.cvExtractClinicalInfo;\r\n //self._initDataMapForBindingSheet(flexSheet);\r\n break;\r\n case 'ResourceInfo':\r\n flexSheet.selectedSheet.itemsSource = self.cvExtractResourceInfo;\r\n //flexSheet.selectedSheet.itemsSource = self.cvExtractClinicalInfo;\r\n //self._initDataMapForBindingSheet(flexSheet);\r\n break;\r\n case 'EOCAdmitDispoInfo':\r\n flexSheet.selectedSheet.itemsSource = self.cvExtractEOCAdmitDispoInfo;\r\n //flexSheet.selectedSheet.itemsSource = self.cvExtractClinicalInfo;\r\n //self._initDataMapForBindingSheet(flexSheet);\r\n break;\r\n case 'CalculaterRiskValues':\r\n flexSheet.selectedSheet.itemsSource = self.cvExtractCalculatorInfo;\r\n //flexSheet.selectedSheet.itemsSource = self.cvExtractClinicalInfo;\r\n //self._initDataMapForBindingSheet(flexSheet);\r\n break;\r\n\r\n\r\n }\r\n\r\n\r\n self.sheets.push(flexSheet.sheets[i].name);\r\n }\r\n\r\n flexSheet.selectedSheetIndex = 0;\r\n\r\n\r\n });\r\n\r\n flexSheet.loaded.addHandler(() => {\r\n var sheetIndex = 0;\r\n self.sheets.length = 0;\r\n for (; sheetIndex < flexSheet.sheets.length; sheetIndex++) {\r\n self.sheets.push(flexSheet.sheets[sheetIndex].name);\r\n }\r\n self.selectedSheetIndex = flexSheet.selectedSheetIndex;\r\n });\r\n\r\n\r\n }\r\n\r\n this.spinner.hide();\r\n }\n\n \n // Save FlexSheet to xlsx file.\r\n // export \r\n async save() {\r\n \r\n this.spinner.show();\r\n \r\n var spinner = await this.exportToExcel(this.flexSheet, this.spinner);\r\n\r\n spinner.hide();\r\n\r\n return true;\r\n }\r\n\r\n\r\n async exportToExcel(flexSheet: wjcGridSheet.FlexSheet, spinner: NgxSpinnerService): Promise {\r\n\r\n if (flexSheet) {\r\n\r\n await flexSheet.saveAsync('SiteDataExtract.xlsx', function (base64) { \r\n \r\n }, function (reason) {\r\n\r\n \r\n });\r\n\r\n }\r\n\r\n return spinner;\r\n }\r\n\r\n\r\n\r\n// save() { \r\n \r\n// var interval = setInterval(() => {\r\n// this.spinner.show();\r\n// }, 100);\r\n\r\n// var interval = setInterval(() => {\r\n// this.exportToExcel();\r\n// }, 6000);\r\n\r\n \r\n \r\n \r\n//}\r\n\r\n// exportToExcel(){\r\n\r\n// if (this.flexSheet) {\r\n \r\n// this.flexSheet.saveAsync('SiteDataExtract.xlsx');\r\n// }\r\n\r\n\r\n// var interval = setInterval(() => {\r\n// this.spinner.hide();\r\n// }, 6000);\r\n \r\n// }\r\n\r\n\r\n exportComplete() {\r\n\r\n\r\n }\r\n\r\n \r\n\r\n // Change the selected sheet for the flexsheet control\r\n changeSelectedSheet(e) {\r\n if (this.flexSheet) {\r\n this.flexSheet.selectedSheetIndex = +e.target.value;\r\n }\r\n }\r\n\r\n\r\n\r\n\r\n // initialize the dataMap for the bound sheet.\r\n private _initDataMapForBindingSheet(flexSheet) {\r\n var column;\r\n\r\n if (flexSheet) {\r\n column = flexSheet.columns.getColumn('CaseID');\r\n if (column && !column.dataMap) {\r\n column.dataMap = this._buildDataMap(this.cvExtractCaseInfo);\r\n }\r\n column = flexSheet.columns.getColumn('CathDate');\r\n if (column && !column.dataMap) {\r\n column.dataMap = this._buildDataMap(this.cvExtractCaseInfo);\r\n }\r\n }\r\n }\r\n\r\n // build a data map from a string array using the indices as keys\r\n private _buildDataMap(items) {\r\n var map = [];\r\n for (var i = 0; i < items.length; i++) {\r\n map.push({ key: i, value: items[i] });\r\n }\r\n return new wjcGrid.DataMap(map, 'key', 'value');\r\n }\r\n\r\n\r\n\r\n }\n\r\n\r\n\r\n","import { Component, ViewChild, Input, ElementRef, OnInit, Output, EventEmitter, AfterViewInit } from '@angular/core';\r\nimport { EventArgs } from 'wijmo/wijmo';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport * as wjMenu from 'wijmo/wijmo.angular2.input';\r\n\r\n//Used for AE Summary Report\r\n@Component({ \r\n template: `\r\n None\r\n Stacked\r\n Stacked 100%\r\n `, \r\n selector: 'stacked-items-template',\r\n})\r\nexport class StackedItemsComponent implements OnInit, AfterViewInit{\r\n @ViewChild('menustacking') menuStacking: wjMenu.WjMenu\r\n @Input() stacking: string;\r\n @Input() spinner: NgxSpinnerService;\r\n @Output() stackingChange = new EventEmitter();\r\n \r\n\r\n constructor(public element: ElementRef) {\r\n \r\n }\r\n ngOnInit(): void {\r\n \r\n \r\n }\r\n\r\n ngAfterViewInit() {\r\n //Set custom tool tip content\r\n //this.menuStacking.isDisabled == true;\r\n }\r\n\r\n\r\n ngOnChanges(changes: any) {\r\n //this.stacking = changes.stacking.currentValue;\r\n }\r\n\r\n menuItemClicked(sender: any, e: EventArgs) {\r\n var menuItem = sender.selectedValue;\r\n //if (menuItem == 'Stacked100pc' || menuItem == 'Stacked') {\r\n // this.spinner.show();\r\n //}\r\n\r\n this.spinner.show();\r\n this.stackingChange.emit(menuItem);\r\n }\r\n\r\n}\r\n","module.exports = \"
\\n
\\n\\n
\\n
\\n \\n\\n
\\n
\\n\\n Manage Users\\n\\n
\\n\\n
\\n
\\n
\\n
\\n
\\n\\n \\n \\n\\n
\\n
\\n
\\n \\n
\\n
\\n\\n\\n
\\n
\\n
\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n Username \\r\\n \\r\\n \\r\\n Email \\r\\n \\r\\n \\r\\n Full Name \\r\\n \\r\\n \\r\\n Active \\r\\n \\r\\n \\r\\n Institution \\r\\n \\r\\n \\r\\n Role \\r\\n \\r\\n \\r\\n App Registry \\r\\n \\r\\n ActionPassword Status
\\r\\n {{user.UserName}}\\r\\n {{user.Email}}{{user.FullName}}\\r\\n \\r\\n \\r\\n \\r\\n {{user.Hospital}}\\r\\n {{user.Role}}\\r\\n {{user.UserAppRegistry}} \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\n
\\n
\\n\\n
\\n\\n\\n
\\n
\\n \\n
\\n\\n
\\n\"","module.exports = \".password-btn{padding:5px}\\n\"","import { Location } from '@angular/common';\r\nimport { Component, OnInit, Input, HostListener } from \"@angular/core\";\nimport { UserManagementService } from \"./user-management.service\";\nimport { LoginService } from \"../login.service\";\nimport { MailRequestInfoModel } from '../../../shared/email/mail-request-info-model';\nimport { SendEmailResponse } from '../../../shared/email/send-email-response';\nimport { MailStatusModel } from '../../../shared/email/mail-status-model';\nimport { Directive, ElementRef } from '@angular/core';\r\n\n\n@Component({\n selector: \"app-manage-users\",\n templateUrl: \"./manage-users.component.html\",\n styleUrls: [\"./manage-users.component.scss\"]\n})\nexport class ManageUsersComponent implements OnInit {\n usersservice: UserManagementService;\n public user: LoginService;\n \n filter: string = \"\";\n key: string = 'UserName'; \n reverse: boolean = false;\n p: number = 1;\n sort(key) {\n if (this.key === key) {\n //key is the same, change reverse\r\n this.reverse = !this.reverse;\r\n } else {\n //key changed, default reverse\n this.key = key;\r\n this.reverse = false;\r\n }\n }\n\n constructor(userserv: UserManagementService, _user: LoginService, private el: ElementRef, private location: Location) {\n this.user = _user;\n if (!this.user.IsAdmin()) {\n this.location.back();\r\n }\n\n this.usersservice = userserv;\n this.usersservice.getAllUsers().subscribe(data => this.getUsers(data));\n }\n\n \n\n getUsers(user) {\n this.usersservice.users = user.DataObject;\r\n // console.log(user.DataObject);\r\n }\n\n \r\n\r\n \r\n\n\n ngOnInit() {}\n\n \n\n}\n","/// \r\n\r\nimport { Injectable } from \"@angular/core\";\nimport { Http, Response, Headers, RequestOptions } from '@angular/http';\nimport { Observable, pipe } from 'rxjs';\nimport { map, takeUntil, tap } from 'rxjs/operators';\nimport { UserResponse } from '../../../shared/user-response';\nimport { UserModel } from '../../../shared/user-model';\nimport { CONFIG } from '../../../shared/config';\nimport { MailRequestInfoModel } from '../../../shared/email/mail-request-info-model';\nimport { SendEmailResponse } from '../../../shared/email/send-email-response';\nimport { MailStatusModel } from '../../../shared/email/mail-status-model';\nimport { PicklistItemService } from \"../../shared-data-entry/picklist-item.service\";\nimport { PicklistItemResponse } from '../../../shared/picklist-item-response';\nimport { PicklistItemModel } from '../../../shared/picklist-item-model';\nimport { DropdownItemModel } from '../../../shared/dropdown-item-model';\nimport { CaseFieldsService } from '../add-case/case-fields.service';\nimport { HospitalItemModel } from '../../../shared/hospital-item-modal';\nimport { HospitalItemResponse } from '../../../shared/hospital-item-response';\n\n\nlet apiUrl = CONFIG.baseUrls.api;\n\n@Injectable({\n providedIn: \"root\"\n})\nexport class UserManagementService {\n private http: Http = null;\n public usrMod: UserModel;\n name = \"Case Identification\";\n mailRequest: MailRequestInfoModel;\n hospitals = [];\n\n fields = [];\n validate = false;\n public message = \"\";\n public passwordResponse = \"\";\n public field: CaseFieldsService;\n public picklistItemService: PicklistItemService;\n //public emailPattern = \"^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,10}\\.[a-zA-Z]{2,10}$\";\n public emailPattern = \"^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,6}$\";\n public isDisabled = false;\n public email: string;\n public oldPassword: string = \"\";\n public newPassword: string = \"\";\n public users = [\n \n \n ];\n\n \n\n public selectedUser;\n public editableUser = {};\n public indexSelected = -1;\n public hospitalItemModel: HospitalItemModel[];\n public dropDownItem: DropdownItemModel[];\n\n constructor(_http: Http, _picklistItemService: PicklistItemService, field: CaseFieldsService) {\n this.http = _http;\n this.usrMod = new UserModel;\n this.field = field;\n this.message = \"\";\n this.passwordResponse = \"\";\n this.picklistItemService = _picklistItemService;\n //this.picklistItemService.getPicklistItem(\"1\", \"HOSPITALS\").subscribe(data => this.populatePicklistItemsHospital(data));\n \n }\n\n public inputValidator(event: any) {\r\n //console.log(event.target.value);\r\n const pattern = /^[a-zA-Z\\s]*$/; \r\n //let inputChar = String.fromCharCode(event.charCode)\r\n if (!pattern.test(event.target.value)) {\r\n event.target.value = event.target.value.replace(/[^a-zA-Z]/g, \"\");\r\n // invalid character, prevent input\r\n\r\n }\r\n }\r\n\r\n public EmailValidator(event: any) {\r\n //console.log(event.target.value);\r\n const pattern = /^((([a-z]|\\d|[!#\\$%&'\\*\\+\\-\\/=\\?\\^_`{\\|}~]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+(\\.([a-z]|\\d|[!#\\$%&'\\*\\+\\-\\/=\\?\\^_`{\\|}~]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+)*)|((\\x22)((((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(([\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x7f]|\\x21|[\\x23-\\x5b]|[\\x5d-\\x7e]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(\\\\([\\x01-\\x09\\x0b\\x0c\\x0d-\\x7f]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]))))*(((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(\\x22)))@((([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))\\.)+(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))\\.?$/;\r\n //let inputChar = String.fromCharCode(event.charCode)\r\n if (!pattern.test(event.target.value)) {\r\n event.target.value = event.target.value.replace(/^((([a-z]|\\d|[!#\\$%&'\\*\\+\\-\\/=\\?\\^_`{\\|}~]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+(\\.([a-z]|\\d|[!#\\$%&'\\*\\+\\-\\/=\\?\\^_`{\\|}~]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+)*)|((\\x22)((((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(([\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x7f]|\\x21|[\\x23-\\x5b]|[\\x5d-\\x7e]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(\\\\([\\x01-\\x09\\x0b\\x0c\\x0d-\\x7f]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]))))*(((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(\\x22)))@((([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))\\.)+(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))\\.?$/g, \"\");\r\n // invalid character, prevent input\r\n\r\n }\r\n }\r\n\r\n public lengthValidator(event: any) {\r\n //console.log(event.target.value);\r\n const pattern = /^[a-z\\sA-Z]*$/;\r\n //let inputChar = String.fromCharCode(event.charCode)\r\n if (!pattern == (event.target.value.length)) {\r\n event.target.value = event.target.value.replace(/[^a-z\\sA-Z]/g, \"\");\r\n // invalid character, prevent input\r\n\r\n }\r\n }\r\n\r\n //public populatedropdownonregistrychange(deviceValue)\r\n //{\r\n // this.picklistItemService.getPicklistItem(\"1\", \"HOSPITALS\").subscribe(data => this.populatePicklistItemsHospital(data, deviceValue)); \r\n //}\r\n\n\n setUser(user, i) {\n this.selectedUser = user;\n if (this.hospitals.length > 0 && this.hospitals.find(x => x.name == this.selectedUser.Hospital) == undefined)\n {\n this.selectedUser.HospitalId = undefined;\n this.selectedUser.Hospital = undefined;\n }\n this.set(this.editableUser, this.selectedUser);\n this.indexSelected = i;\n this.usrMod = user;\n this.isDisabled = false;\n this.message = \"Edit User Details\";\n this.populatedropdownonregistrychange(user.UserAppRegistry,0);\n // console.log(this.usrMod);\n }\n\n set(user1, user2) {\n for (var att in user2) {\n user1[att] = user2[att];\n }\n }\n\n addUser() {\n let usr = new UserModel;\n this.setUser(usr, -1);\n this.message = \"Create New User\";\n this.isDisabled = false;\n \n \n }\n\n getHospitalPicklistByRegistry(registryValue: string) {\n \n \n let headers = new Headers({\n //'Content-Type': 'application/x-www-form-urlencoded'\n });\n let options = new RequestOptions({ headers: headers });\n return this.http.get(apiUrl + \"user/GetHospitalsByRegistry?appregistry=\" + registryValue, options)\n .pipe(map((response: Response) => response.json()));\r\n }\n\n public populatedropdownonregistrychange(registryValue,dropdownchange) {\r\n if (dropdownchange == 1)\r\n {\r\n this.selectedUser.HospitalId = undefined;\n this.selectedUser.Hospital = undefined;\r\n }\r\n this.getHospitalPicklistByRegistry(registryValue).subscribe(data => this.populateHospitalItems(data));\r\n }\n\n populateHospitalItems(hospitalItemResponse: HospitalItemResponse) { \n this.hospitalItemModel = hospitalItemResponse.DataObject;\n this.mapToDropDown();\n this.hospitals = this.dropDownItem; \n }\n\n mapToDropDown() {\n this.dropDownItem = [];\r\n\r\n this.hospitalItemModel.sort(function (a, b) { return (a.HospitalSeq - b.HospitalSeq) });\r\n let newItem = new DropdownItemModel;\r\n this.dropDownItem.push(newItem);\r\n\r\n for (let entry of this.hospitalItemModel) {\r\n let newItem = new DropdownItemModel;\r\n newItem.name = entry.HospitalName;\r\n newItem.description = \"Hospitals\";\r\n newItem.code = entry.HospitalID.toString();\r\n this.dropDownItem.push(newItem);\r\n }\n\n }\n\n save(event: any) {\n\n this.set(this.editableUser, this.selectedUser); \n this.selectedUser.IsActive = true;\n this.selectedUser.Hospital = this.hospitals.find(x => x.code == this.selectedUser.HospitalId)[\"name\"];\n \n if (this.users.indexOf(this.selectedUser) == -1) {\n this.users.push(this.selectedUser);\n }\n if (!this.usrMod.UserId) {\n this.saveapi().subscribe(data => this.saveResponse(data));\r\n this.message = \"User Added Successfully\";\r\n this.isDisabled = true;\r\n }\n else {\n this.updateapi().subscribe(data => this.saveResponse(data));\r\n this.message = \"User Updated Successfully\";\r\n this.isDisabled = true;\r\n } \n \n \n\n }\n\n close() {\n this.set(this.selectedUser, this.editableUser);\r\n }\n\n saveResponse(data: UserResponse) {\n let userstatusmodel = data.DataObject;\r\n \r\n \r\n }\n\n PassResponse(data: any) {\n let userstatusmodel = data.DataObject;\r\n this.passwordResponse = \"If your email is registered, we will send the password to the registered email address.\";\r\n this.email = \"\";\r\n //this.passwordResponse = userstatusmodel.Userstatus;\r\n //if (this.passwordResponse == \"Success\")\r\n // this.passwordResponse = \"Password has been successfully Sent to this email address.\"\r\n\r\n }\n\n \n\n saveapi() {\n let headers = new Headers({\n // 'Content-Type': 'application/json'\n });\n let options = new RequestOptions({ headers: headers });\n\n\n\n // console.log(this.usrMod);\n console.log(apiUrl)\n return this.http.post(apiUrl + \"user/AddUser\", this.usrMod, options)\n .pipe(map((response: Response) => response.json()));\r\n }\n\n updateapi() {\n let headers = new Headers({\n // 'Content-Type': 'application/json'\n });\n let options = new RequestOptions({ headers: headers });\n\n\n\n // console.log(this.usrMod);\n console.log(apiUrl)\n return this.http.post(apiUrl + \"user/UpdateUser\", this.usrMod, options)\n .pipe(map((response: Response) => response.json()));\r\n }\n\n updateUserPassword(userModel: UserModel) {\n let headers = new Headers({ \n });\n let options = new RequestOptions({ headers: headers }); \n \n return this.http.post(apiUrl + \"user/UpdateUser\", userModel, options)\n .pipe(map((response: Response) => response.json()));\r\n }\n\n\n Reset(user,i) {\n this.selectedUser = user;\n this.set(this.editableUser, this.selectedUser);\n this.indexSelected = i;\n this.usrMod = user;\n this.ResetApi().subscribe(data => this.saveResponse(data));\r\n \r\n }\n\n ResetApi() {\n let headers = new Headers({\n // 'Content-Type': 'application/json'\n });\n let options = new RequestOptions({ headers: headers });\n\n //console.log(this.usrMod);\n console.log(apiUrl)\n return this.http.post(apiUrl + \"user/ResetPassword\", this.usrMod, options)\n .pipe(map((response: Response) => response.json()));\r\n }\n\n\n Fogotpwd() {\n this.usrMod.Email = this.email;\n this.forgotpwd().subscribe(data => this.PassResponse(data));;\r\n \r\n\r\n }\n\n forgotpwd() {\n let headers = new Headers({\n // 'Content-Type': 'application/json'\n });\n let options = new RequestOptions({ headers: headers });\n\n // console.log(this.usrMod);\n console.log(apiUrl)\n return this.http.post(apiUrl + \"user/ForgotPassword\", this.usrMod, options)\n .pipe(map((response: Response) => response.json()));\r\n }\n\n LockUnLock(user, i) {\n this.selectedUser = user;\n this.set(this.editableUser, this.selectedUser);\n this.indexSelected = i;\n this.usrMod = user;\n this.LockUnLockApi().subscribe(data => this.saveResponse(data));;\r\n }\n\n LockUnLockApi() {\n let headers = new Headers({\n // 'Content-Type': 'application/json'\n });\n let options = new RequestOptions({ headers: headers });\n\n // console.log(this.usrMod);\n console.log(apiUrl)\n if (this.usrMod.IsActive)\n this.usrMod.IsActive = false;\n else\n this.usrMod.IsActive = true;\n return this.http.post(apiUrl + \"user/LockUnlockUser\", this.usrMod, options)\n .pipe(map((response: Response) => response.json()));\r\n }\n\n \n\n getAllUsers() {\n \n let headers = new Headers({\n //'Content-Type': 'application/x-www-form-urlencoded'\n });\n let options = new RequestOptions({ headers: headers });\n return this.http.get(apiUrl + \"user/GetAllUsers\", options)\n .pipe(map((response: Response) => response.json()));\n }\n\n \n}\n","module.exports = \"
\\r\\n \\r\\n\\n\"","module.exports = \"@import url(\\\"https://fonts.googleapis.com/css?family=Montserrat:400,500,600\\\");@import url(\\\"https://use.fontawesome.com/releases/v5.0.13/css/all.css\\\");.max-height{height:100% !important}.max-width{width:100% !important}.sect-header{color:#007496;font-weight:400}@media (max-width: 776px){.sect-header{text-align:center}}.portal .dash-link{height:80px;margin-bottom:5px;text-align:left}.portal .dash-link .header,.portal .dash-link .accent-icon{height:80px}.portal .dash-link .header{background:#fff;border-top:3px solid rgba(0,0,0,0)}@media (min-width: 1000px){.portal .dash-link .header .header-title{padding-left:20px !important}}.portal .dash-link .title-text{color:#3ab2d1}.portal .dash-link .accent-icon{width:80px;line-height:80px;font-size:45px}.portal .dash-link .desc{font-size:15px;color:#3a3a3a}@media screen and (max-width: 1000px){.portal .dash-link .desc{font-size:12px;text-align:center}}.portal .dash-link .dash-link .desc{font-size:15px;color:#333}\\n\"","import { Component, OnInit ,ViewChild } from '@angular/core';\nimport { LoginService } from '../login.service';\n\nimport { NgForm } from \"@angular/forms\";\n\r\n\n\n@Component({\n selector: 'app-user-menu',\n templateUrl: './user-menu.component.html',\n styleUrls: ['./user-menu.component.scss']\n})\nexport class UserMenuComponent implements OnInit {\n @ViewChild('usermenuform')\n form: NgForm;\n user: LoginService;\n addCaseLink: string;\n constructor(user: LoginService) {\n \n this.user = user;\n\n this.addCaseLink = \"/user-portal/add-case\";\n\n if (this.user.IsIqicUser()) {\n this.addCaseLink = \"/user-portal/add-case/iqic\";\n }\n\n\n }\n\n ngOnInit() {\n this.user.logIn();\n }\n\n}\n","import { Pipe, PipeTransform } from \"@angular/core\";\n\n@Pipe({\n name: \"ageType\"\n})\nexport class AgeTypePipe implements PipeTransform {\n transform(val: string): string {\n if (val === \"1\") {\n return \"Days\";\r\n }\n if (val === \"2\") {\n return \"Months\";\r\n }\n if (val === \"3\") {\n return \"Years\";\r\n }\n\n return val;\n }\n}\n","import { Pipe, PipeTransform } from \"@angular/core\";\n\n@Pipe({\n name: \"cathDateFormat\"\n})\nexport class CathDateFormatPipe implements PipeTransform {\n transform(valString: string): string {\n valString = valString.substring(0, 10);\n\n let valArray = valString.split('-');\n let year = valArray[0];\n let month = valArray[1];\n let day = valArray[2];\n\r\n return [month, day, year].join('/'); \n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { CaseFieldsService } from \"../components/user/add-case/case-fields.service\";\n\n@Pipe({\n name: 'sectionValidate'\n})\nexport class SectionValidatePipe implements PipeTransform {\n fields: CaseFieldsService;\n constructor(fields: CaseFieldsService) {\r\n this.fields = fields;\r\n }\n\n transform(items: any[]): any {\n \n if (!items) {\n return items;\n }\n \n return items.filter(item => !item[\"hide\"] && this.checkFields(item.fields));\n }\n\n checkFields(fields) { \n for (let field of fields) {\n if (field.name == \"Recorded Procedures\" && !field.hide) {\n if ((field.value === null) || (Object.keys(field.value).length === 0)) {\r\n return true;\r\n }\r\n }\n if (field.name == \"Physiologic Category\" ||\n field.name == \"Nursing Assignment 6 Hrs Pre-Procedure\" ||\n field.name == \"Nursing Assignment 18 to 24 Hrs Post-Cath\" ||\n field.name == \"Nursing Assignment 48 Hrs Post-Cath\") {\n if (this.fields.getExpectionValidation()) {\r\n field.hide = true;\r\n }\r\n }\n if (!field.value && !field.hide) {\n return true;\n }\n }\n }\n\n}\n","import { Pipe, PipeTransform } from \"@angular/core\";\nimport { CaseFieldsService } from \"../components/user/add-case/case-fields.service\";\n\n@Pipe({\n name: \"validationFilter\"\n})\nexport class ValidationPipe implements PipeTransform {\n fields: CaseFieldsService;\n constructor(fields: CaseFieldsService) {\r\n this.fields = fields;\r\n }\n\n transform(items: any[]): any {\n if (!items) {\n return items;\n }\n\n return items.filter(item => !item[\"hide\"] && this.checkFields(item));\n }\n\n checkFields(field) {\n if (field.name == \"Recorded Procedures\" && !field.hide) {\n if ((field.value === null) || (Object.keys(field.value).length === 0)) {\r\n return true;\r\n }\r\n }\n if (field.name == \"Physiologic Category\" ||\n field.name == \"Nursing Assignment 6 Hrs Pre-Procedure\" ||\n field.name == \"Nursing Assignment 18 to 24 Hrs Post-Cath\" ||\n field.name == \"Nursing Assignment 48 Hrs Post-Cath\") {\n if (this.fields.getExpectionValidation()) {\r\n field.hide = true;\r\n }\r\n }\n if (!field.value && !field.hide) {\n return true;\n }\n }\n}\n","import {\n Router,\n ActivatedRoute,\n NavigationEnd,\n RouterEvent\n} from \"@angular/router\";\nimport { filter, map, mergeMap } from \"rxjs/operators\";\n\n\n//retrieves the data object associated with an active route\nexport class RouterHelper {\n constructor(private router: Router, private activatedRoute: ActivatedRoute) {}\n getRouteData(routerEvents) { \n return routerEvents\n .pipe(filter(event => event instanceof NavigationEnd))\n .pipe(\n map(() => {\n let route = this.activatedRoute;\n while (route.firstChild) route = route.firstChild;\n return route;\n })\n )\n .pipe(filter(route => route[\"outlet\"] === \"primary\"))\n .pipe(mergeMap(route => route[\"data\"]));\n }\n}\n","import { Routes, RouterModule } from \"@angular/router\";\r\nimport { ModuleWithProviders } from \"@angular/core\";\r\nimport { HomeComponentC3POR3 } from \"./components/home/home.componentC3POR3\";\r\nimport { HomeComponentIQIC } from \"./components/home/home.componentIQIC\";\r\nimport { BackgroundComponent } from \"./components/background/background.component\";\r\nimport { C3poIQICComponent } from \"./components/background/iqic/c3po-iqic.component\";\r\nimport { C3poCharmComponent } from \"./components/background/c3po-charm/c3po-charm.component\";\r\nimport { C3poQiComponent } from \"./components/background/c3po-qi/c3po-qi.component\";\r\nimport { C3poR3Component } from \"./components/background/c3po-r3/c3po-r3.component\";\r\nimport { SitesComponent } from \"./components/sites/sites.component\";\r\nimport { IqicBackgroundComponent } from \"./components/iqic-background/iqic-background.component\";\r\nimport { MissionVisionComponent } from \"./components/iqic-background/mission-vision/mission-vision.component\";\r\nimport { BackgroundHistoryComponent } from \"./components/iqic-background/background-history/background-history.component\";\r\nimport { EnrolledPartnersComponent } from \"./components/iqic-background/enrolled-partners/enrolled-partners.component\";\r\nimport { KeyDriverComponent } from \"./components/iqic-background/key-driver/key-driver.component\";\r\nimport { WebinarsComponent } from \"./components/iqic-background/webinars/webinars.component\";\r\n//import { CathChatComponent } from \"./components/iqic-background/cathchat/cathchat.component\";\r\nimport { DatabaseManualComponent } from \"./components/iqic-background/database-manual/database-manual.component\";\r\nimport { CalculatorComponent } from \"./components/calculator/calculator.component\";\r\nimport { ContactComponent } from \"./components/contact/contact.component\";\r\nimport { LoginComponent } from \"./components/login/login.component\";\r\nimport { UserMenuComponent } from \"./components/user/user-menu/user-menu.component\";\r\nimport { AddCaseComponent } from \"./components/user/add-case/add-case.component\";\r\nimport { EditCaseComponent } from \"./components/user/add-case/edit-case.component\";\r\nimport { PreCalcComponent } from \"./components/user/add-case/pre-calc/pre-calc.component\";\r\nimport { CaseIdComponent } from \"./components/user/add-case/case-id/case-id.component\";\r\nimport { ClinicalCharacteristicsComponent } from \"./components/user/add-case/clinical-characteristics/clinical-characteristics.component\";\r\nimport { ProcedureCharacteristicsComponent } from \"./components/user/add-case/procedure-characteristics/procedure-characteristics.component\";\r\nimport { ProceduralEfficacyComponent } from \"./components/user/add-case/procedural-efficacy/procedural-efficacy.component\";\r\nimport { HemodynamicsComponent } from \"./components/user/add-case/hemodynamics/hemodynamics.component\";\r\nimport { CaseTypesComponent } from \"./components/user/add-case/case-types/case-types.component\";\r\nimport { AdverseEventsComponent } from \"./components/user/add-case/adverse-events/adverse-events.component\";\r\nimport { IndicatorsComponent } from \"./components/user/add-case/indicators/indicators.component\";\r\nimport { EocComponent } from \"./components/user/add-case/eoc/eoc.component\";\r\nimport { CaseLookupComponent } from \"./components/user/case-lookup/case-lookup.component\";\r\nimport { ManageReportsComponent } from \"./components/user/manage-reports/manage-reports.component\";\r\nimport { ForgotPasswordComponent } from \"./components/login/forgot-password/forgot-password.component\";\r\nimport { ChangePasswordComponent } from \"./components/login/change-password/change-password.component\";\r\nimport { ManageUsersComponent } from \"./components/user/manage-users/manage-users.component\";\r\nimport { C3poComponent } from \"./components/background/c3po/c3po.component\";\r\nimport { MissingFieldsComponent } from \"./components/user/add-case/missing-fields/missing-fields.component\";\r\nimport { PublicationsComponent } from \"./components/publications/publications.component\";\r\nimport { RouterService } from \"./components/navigation/router.service\";\r\nimport { CanDeactivateGaurd } from \"./CanDeactivateGaurd\";\r\n\r\n\r\n\r\nexport const routes: Routes = [ \r\n { path: \"\", redirectTo: \"home\", pathMatch: \"full\" },\r\n { path: \"#/home/IQIC\", redirectTo: \"home/IQIC\", pathMatch: \"full\" },\r\n { path: \"#/home/iqic\", redirectTo: \"home/IQIC\", pathMatch: \"full\" }, \r\n {\r\n path: \"home\",\r\n pathMatch: \"full\",\r\n \r\n component: HomeComponentC3POR3,\r\n data: { title: \"Home\" }\r\n },\r\n {\r\n path: \"home/IQIC\",\r\n pathMatch: \"full\",\r\n \r\n component: HomeComponentIQIC,\r\n data: { title: \"IQIC\" }\r\n },\r\n {\r\n path: \"about\",\r\n children: [\r\n { path: \"\", redirectTo: \"background\", pathMatch: \"full\" },\r\n { path: \"\", redirectTo: \"backgroundIQIC\", pathMatch: \"full\" },\r\n {\r\n path: \"backgroundIQIC\",\r\n component: C3poIQICComponent,\r\n \r\n data: { title: \"Background\" },\r\n },\r\n {\r\n path: \"background\",\r\n component: BackgroundComponent,\r\n \r\n data: { title: \"Background\" },\r\n children: [\r\n {\r\n path: \"\",\r\n redirectTo: \"c3po\",\r\n pathMatch: \"full\",\r\n data: { title: \"Background\" }\r\n },\r\n {\r\n path: \"c3po\",\r\n component: C3poComponent,\r\n pathMatch: \"full\",\r\n data: {\r\n title: \"Background\",\r\n next: \"/about/background/c3po-charm\",\r\n prev: \"/about/background/c3po-r3\"\r\n }\r\n },\r\n {\r\n path: \"c3po-charm\",\r\n component: C3poCharmComponent,\r\n pathMatch: \"full\",\r\n data: {\r\n title: \"Background\",\r\n next: \"/about/background/c3po-qi\",\r\n prev: \"/about/background/c3po\"\r\n }\r\n },\r\n {\r\n path: \"c3po-qi\",\r\n component: C3poQiComponent,\r\n pathMatch: \"full\",\r\n data: {\r\n title: \"Background\",\r\n next: \"/about/background/c3po-r3\",\r\n prev: \"/about/background/c3po-charm\"\r\n }\r\n },\r\n {\r\n path: \"c3po-r3\",\r\n component: C3poR3Component,\r\n pathMatch: \"full\",\r\n data: {\r\n title: \"Background\",\r\n next: \"/about/background/c3po\",\r\n prev: \"/about/background/c3po-qi\"\r\n }\r\n }\r\n ]\r\n },\r\n {\r\n path: \"sites\",\r\n component: SitesComponent,\r\n data: { title: \"Participating Sites\" }\r\n }\r\n ]\r\n },\r\n\r\n {\r\n path: \"aboutIQIC\",\r\n children: [\r\n { path: \"\", redirectTo: \"Iqic-background\", pathMatch: \"full\" },\r\n {\r\n path: \"Iqic-background\",\r\n component: IqicBackgroundComponent,\r\n data: { title: \"IQIC Background\" },\r\n children: [\r\n {\r\n path: \"\",\r\n redirectTo: \"mission-vision\",\r\n pathMatch: \"full\",\r\n data: { title: \"Background\" }\r\n },\r\n {\r\n path: \"mission-vision\",\r\n component: MissionVisionComponent,\r\n pathMatch: \"full\",\r\n data: {\r\n title: \"Mission and Vision\",\r\n next: \"/aboutIQIC/Iqic-background/background-history\",\r\n prev: \"/aboutIQIC/Iqic-background/database-manual\"\r\n }\r\n },\r\n {\r\n path: \"background-history\",\r\n component: BackgroundHistoryComponent,\r\n pathMatch: \"full\",\r\n data: {\r\n title: \"Background\",\r\n next: \"/aboutIQIC/Iqic-background/enrolled-partners\",\r\n prev: \"/aboutIQIC/Iqic-background/mission-vision\"\r\n }\r\n },\r\n {\r\n path: \"enrolled-partners\",\r\n component: EnrolledPartnersComponent,\r\n pathMatch: \"full\",\r\n data: {\r\n title: \"Enrolled Partners\",\r\n next: \"/aboutIQIC/Iqic-background/key-driver\",\r\n prev: \"/aboutIQIC/Iqic-background/background-history\"\r\n }\r\n },\r\n {\r\n path:\"key-driver\",\r\n component: KeyDriverComponent,\r\n pathMatch: \"full\",\r\n data: {\r\n title: \"Key Driver\",\r\n next: \"/aboutIQIC/Iqic-background/webinars\",\r\n prev: \"/aboutIQIC/Iqic-background/enrolled-partners\"\r\n }\r\n },\r\n {\r\n path: \"webinars\",\r\n component: WebinarsComponent,\r\n pathMatch: \"full\",\r\n data: {\r\n title: \"Webinars\",\r\n next: \"/aboutIQIC/Iqic-background/database-manual\",\r\n prev: \"/aboutIQIC/Iqic-background/key-driver\"\r\n }\r\n },\r\n //{\r\n // path: \"cathchat\",\r\n // component: CathChatComponent,\r\n // pathMatch: \"full\",\r\n // data: {\r\n // title: \"cathchat\",\r\n // next: \"/aboutIQIC/Iqic-background/database-manual\",\r\n // prev: \"/aboutIQIC/Iqic-background/webinars\"\r\n // }\r\n //},\r\n {\r\n path: \"database-manual\",\r\n component: DatabaseManualComponent,\r\n pathMatch: \"full\",\r\n data: {\r\n title: \"databse-manual\",\r\n next: \"/aboutIQIC/Iqic-background/mission-vision\",\r\n prev: \"/aboutIQIC/Iqic-background/webinars\"\r\n }\r\n }\r\n ]\r\n }\r\n ]\r\n },\r\n\r\n {\r\n path: \"calculator\",\r\n component: CalculatorComponent,\r\n \r\n data: { title: \"Calculator\" }\r\n },\r\n {\r\n path: \"contact\",\r\n component: ContactComponent,\r\n \r\n data: { title: \"Contact\" }\r\n },\r\n {\r\n path: \"publications\",\r\n component: PublicationsComponent,\r\n \r\n data: { title: \"Publications\" }\r\n },\r\n {\r\n path: \"login\",\r\n children: [\r\n {\r\n path: \"\",\r\n pathMatch: \"full\",\r\n data: { title: \"Login\" },\r\n component: LoginComponent\r\n },\r\n {\r\n path: \"forgot-password\",\r\n pathMatch: \"full\",\r\n component: ForgotPasswordComponent,\r\n data: { title: \"Forgot Password\" }\r\n },\r\n {\r\n path: \"change-password\",\r\n pathMatch: \"full\",\r\n component: ChangePasswordComponent,\r\n data: { title: \"Change Password\" }\r\n }\r\n ]\r\n },\r\n {\r\n path: \"change-password\",\r\n children: [\r\n {\r\n path: \"\",\r\n pathMatch: \"full\",\r\n component: ChangePasswordComponent,\r\n data: { title: \"Change Password\" }\r\n }\r\n ]\r\n },\r\n\r\n {\r\n path: \"user-portal\",\r\n\r\n children: [\r\n { path: \"\", redirectTo: \"user-menu\", pathMatch: \"full\" },\r\n { path: \"add-case\", redirectTo: \"add-case/case-id\", pathMatch: \"full\" },\r\n { path: \"add-case/iqic\", redirectTo: \"add-case/case-id\", pathMatch: \"full\" },\r\n {\r\n path: \"user-menu\",\r\n pathMatch: \"full\",\r\n \r\n component: UserMenuComponent,\r\n data: { title: \"User Home\" }\r\n },\r\n {\r\n path: \"add-case\",\r\n component: AddCaseComponent,\r\n \r\n data: { title: \"Add Case\" },\r\n children: [ \r\n {\r\n path: \"case-id\",\r\n component: CaseIdComponent,\r\n canDeactivate: [CanDeactivateGaurd],\r\n data: {\r\n title: \"Add Case\",\r\n next: \"/user-portal/add-case/pre-calc\",\r\n prev: \"./\"\r\n }\r\n },\r\n {\r\n path: \"pre-calc\", \r\n component: PreCalcComponent,\r\n canDeactivate: [CanDeactivateGaurd],\r\n data: {\r\n title: \"Add Case\", \r\n next: \"/user-portal/add-case/clinical-characteristics\",\r\n prev: \"/user-portal/add-case/case-id\"\r\n }\r\n },\r\n\r\n {\r\n path: \"clinical-characteristics\",\r\n component: ClinicalCharacteristicsComponent,\r\n canDeactivate: [CanDeactivateGaurd],\r\n data: {\r\n title: \"Add Case\",\r\n next: \"/user-portal/add-case/procedure-characteristics\",\r\n prev: \"/user-portal/add-case/pre-calc\"\r\n }\r\n },\r\n {\r\n path: \"procedure-characteristics\",\r\n component: ProcedureCharacteristicsComponent,\r\n canDeactivate: [CanDeactivateGaurd],\r\n data: {\r\n title: \"Add Case\",\r\n next: \"/user-portal/add-case/hemodynamics\", \r\n prev: \"/user-portal/add-case/clinical-characteristics\"\r\n }\r\n },\r\n {\r\n path: \"hemodynamics\",\r\n component: HemodynamicsComponent,\r\n canDeactivate: [CanDeactivateGaurd],\r\n data: {\r\n title: \"Add Case\",\r\n next: \"/user-portal/add-case/case-types\",\r\n prev: \"/user-portal/add-case/procedure-characteristics\"\r\n }\r\n },\r\n {\r\n path: \"case-types\",\r\n component: CaseTypesComponent,\r\n canDeactivate: [CanDeactivateGaurd],\r\n data: {\r\n title: \"Add Case\",\r\n next: \"/user-portal/add-case/procedural-efficacy\",\r\n prev: \"/user-portal/add-case/hemodynamics\"\r\n }\r\n },\r\n {\r\n path: \"procedural-efficacy\",\r\n component: ProceduralEfficacyComponent,\r\n canDeactivate: [CanDeactivateGaurd],\r\n data: {\r\n title: \"Add Case\",\r\n next: \"/user-portal/add-case/adverse-events\",\r\n prev: \"/user-portal/add-case/case-types\"\r\n }\r\n },\r\n \r\n \r\n {\r\n path: \"adverse-events\",\r\n component: AdverseEventsComponent,\r\n canDeactivate: [CanDeactivateGaurd],\r\n data: {\r\n title: \"Add Case\",\r\n next: \"/user-portal/add-case/indicators\",\r\n prev: \"/user-portal/add-case/procedural-efficacy\"\r\n }\r\n },\r\n {\r\n path: \"indicators\",\r\n component: IndicatorsComponent,\r\n canDeactivate: [CanDeactivateGaurd],\r\n data: {\r\n title: \"Add Case\",\r\n next: \"/user-portal/add-case/eoc\",\r\n prev: \"/user-portal/add-case/adverse-events\"\r\n }\r\n },\r\n {\r\n path: \"eoc\",\r\n component: EocComponent,\r\n canDeactivate: [CanDeactivateGaurd],\r\n data: {\r\n title: \"Add Case\",\r\n next: \"/user-portal/add-case/case-id\",\r\n prev: \"/user-portal/add-case/indicators\"\r\n }\r\n },\r\n {\r\n path: \"save\",\r\n component: MissingFieldsComponent,\r\n data: {\r\n title: \"Add Case\",\r\n next: \"./\",\r\n prev: \"/user-portal/add-case/eoc\"\r\n }\r\n }\r\n \r\n ]\r\n },\r\n {\r\n path: \"edit-case\",\r\n component: EditCaseComponent,\r\n \r\n data: { title: \"Edit Case\" },\r\n children: [\r\n { path: \"edit-case\", redirectTo: \"edit-case/pre-calc\", pathMatch: \"full\" },\r\n {\r\n path: \"pre-calc/:id\",\r\n canDeactivate: [CanDeactivateGaurd],\r\n component: PreCalcComponent, \r\n data: {\r\n title: \"Edit Case\", \r\n next: \"/user-portal/edit-case/case-id\",\r\n prev: \"./\"\r\n }\r\n },\r\n {\r\n path: \"case-id/:id\",\r\n canDeactivate: [CanDeactivateGaurd],\r\n component: CaseIdComponent, \r\n data: {\r\n title: \"Edit Case\",\r\n\r\n next: \"/user-portal/edit-case/clinical-characteristics\",\r\n prev: \"/user-portal/edit-case/pre-calc\"\r\n }\r\n },\r\n {\r\n path: \"clinical-characteristics/:id\",\r\n canDeactivate: [CanDeactivateGaurd],\r\n component: ClinicalCharacteristicsComponent, \r\n data: {\r\n title: \"Edit Case\",\r\n next: \"/user-portal/edit-case/procedure-characteristics\",\r\n prev: \"/user-portal/edit-case/case-id\"\r\n }\r\n },\r\n {\r\n path: \"procedure-characteristics/:id\",\r\n canDeactivate: [CanDeactivateGaurd],\r\n component: ProcedureCharacteristicsComponent, \r\n data: {\r\n title: \"Edit Case\",\r\n next: \"/user-portal/edit-case/hemodynamics\",\r\n prev: \"/user-portal/edit-case/clinical-characteristics\"\r\n }\r\n },\r\n {\r\n path: \"hemodynamics/:id\",\r\n component: HemodynamicsComponent,\r\n canDeactivate: [CanDeactivateGaurd],\r\n data: {\r\n title: \"Edit Case\",\r\n next: \"/user-portal/edit-case/case-types\",\r\n prev: \"/user-portal/edit-case/procedure-characteristics\"\r\n }\r\n },\r\n {\r\n path: \"case-types/:id\",\r\n canDeactivate: [CanDeactivateGaurd],\r\n component: CaseTypesComponent, \r\n data: {\r\n title: \"Edit Case\",\r\n next: \"/user-portal/edit-case/procedural-efficacy\",\r\n prev: \"/user-portal/edit-case/hemodynamics\"\r\n }\r\n },\r\n {\r\n path: \"procedural-efficacy/:id\",\r\n canDeactivate: [CanDeactivateGaurd],\r\n component: ProceduralEfficacyComponent,\r\n data: {\r\n title: \"Edit Case\",\r\n next: \"/user-portal/edit-case/adverse-events\",\r\n prev: \"/user-portal/edit-case/case-types\"\r\n }\r\n }, \r\n \r\n {\r\n path: \"adverse-events/:id\",\r\n canDeactivate: [CanDeactivateGaurd],\r\n component: AdverseEventsComponent, \r\n data: {\r\n title: \"Edit Case\",\r\n next: \"/user-portal/edit-case/indicators\",\r\n prev: \"/user-portal/edit-case/procedural-efficacy\"\r\n }\r\n },\r\n {\r\n path: \"indicators/:id\",\r\n canDeactivate: [CanDeactivateGaurd],\r\n component: IndicatorsComponent,\r\n data: {\r\n title: \"Edit Case\",\r\n next: \"/user-portal/edit-case/eoc\",\r\n prev: \"/user-portal/edit-case/adverse-events\"\r\n }\r\n },\r\n {\r\n path: \"eoc/:id\",\r\n canDeactivate: [CanDeactivateGaurd],\r\n component: EocComponent,\r\n data: {\r\n title: \"Edit Case\",\r\n next: \"/user-portal/edit-case/pre-calc\",\r\n prev: \"/user-portal/edit-case/indicators\"\r\n }\r\n },\r\n {\r\n path: \"save/:id\",\r\n component: MissingFieldsComponent,\r\n data: {\r\n title: \"Edit Case\",\r\n next: \"/user-portal/edit-case/case-id\",\r\n prev: \"/user-portal/edit-case/eoc\"\r\n }\r\n },\r\n {\r\n path: \"post-save/:id\",\r\n component: MissingFieldsComponent,\r\n data: {\r\n title: \"Edit Case\",\r\n next: \"/user-portal/edit-case/case-id\",\r\n prev: \"/user-portal/edit-case/eoc\"\r\n }\r\n }\r\n ]\r\n },\r\n {\r\n path: \"case-lookup\",\r\n component: CaseLookupComponent,\r\n data: { title: \"Case Lookup\" },\r\n pathMatch: \"full\"\r\n },\r\n {\r\n path: \"manage-reports\",\r\n component: ManageReportsComponent,\r\n data: { title: \"Manage Reports\" },\r\n pathMatch: \"full\"\r\n },\r\n {\r\n path: \"manage-users\",\r\n component: ManageUsersComponent,\r\n data: { title: \"Manage Users\" },\r\n pathMatch: \"full\"\r\n }\r\n ]\r\n },\r\n\r\n { path: \"**\", redirectTo: \"homeC3PO\" }\r\n];\r\n\r\nexport const Routing: ModuleWithProviders = RouterModule.forRoot(routes, {\r\n useHash: true\r\n});\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { DomSanitizer } from \"@angular/platform-browser\";\r\n\r\n@Pipe({\r\n name: 'safeHtml',\r\n})\r\n\r\nexport class SafeHtmlPipe implements PipeTransform {\r\n\r\n constructor(private sanitizer: DomSanitizer) { }\r\n\r\n transform(html) {\r\n return this.sanitizer.bypassSecurityTrustHtml(html);\r\n }\r\n\r\n}\r\n","export class CaseTypeCalcModel {\n CaseTypeId: string;\n CaseTypeDescription: string;\n}\n","export class CaseTypeCalcRequest {\n PrimaryProcedureCode: string;\n SecondaryProcedureCodes: string;\n}\n","export class CaseAddlHemoDynamicsInfoModel {\n CaseAddlHemoDynamicId: number;\n CaseId: number;\n IsShuntClosure: string;\r\n IsRecommendedforSC: string;\r\n IsAVTestingPerfomed: string;\r\n CongentialHDDiagVal: string;\r\n VasodilatorAgentName: string;\r\n BasePVRIWuVal: number;\r\n BaseSVRWuVal: number;\r\n BasePVRSVRWuRatioVal: number;\r\n BaseQPQARatioVal: number;\r\n BaseCardIndCIVal: number;\r\n PostPVRIWuVal: number;\r\n PostSVRWuVal: number;\r\n PostPVRSVRWuRatioVal: number;\r\n PostQPQARatioVal: number;\r\n PostCardIndCIVal: number;\n Updatedby: string;\n}\n","export class CaseAddlProcedureInfoModel {\n CaseAddlProccharInfoId: number;\n CaseId: number;\n FluroPerformedType: string;\n TotalContrastVolumeVal: number;\n TotalContrastVolumePerKg: number; \n PreCathHemoglobinVal: number;\n Updatedby: string;\n}\n","export class CaseAdmitDisposInfoModel {\n CaseAdmtDspoId: number;\n CaseId: number;\n IsAdmSrcElective: string;\n AdmittedPriorCathInd: string;\n DischargePostCathInd: string;\n PostCathLocation: string;\n IsAliveAtDischarge: string;\n IsUnplannedAdmission: string;\n Updatedby: string;\n}\n","import { CaseAEItemModel } from './case-ae-item-model';\n\nexport class CaseAEInfoModel {\n CaseId: number;\n caseAEItems: CaseAEItemModel[];\n CaseAENotes: string;\n PatientDie: string;\n UnanticipatedCath: string;\n UnanticipatedSurg: string;\n Updatedby: string;\n}\n","export class CaseAEItemModel {\n CaseAEId: number;\n CaseId: number;\n AECODE: string;\n AEMajorInd: string;\n AESeriousness: string;\n Timeneeded: string;\n Updatedby: string;\n AeTier: string;\n}\n","export class CaseClinicalInfoModel {\n CaseClinicalInfoId: number;\n CaseId: number;\n PatSex: string;\n PatAge: number;\n PatAgeType: number;\n PatHeight: number;\n PatWeight: number;\n PatBSA: number;\n StsDiagCode: string;\n GenSyndromeInd: string;\n NonCardiacProbInd: string;\n NonCardiacProbValues: string;\n PrevCathlast90dInd: string;\n PrevSurglast90dInd: string;\n Updatedby: string;\n}\n","export class CaseHemoDynamicsInfoModel {\n CaseHemoDynamicsInfoId: number;\n CaseId: number;\n IsSingleVenPhysiology: string;\n IsSVEDP: string;\n IsSysSat: string;\n IsMvSat: string;\n IsPAMean: string;\n IsQPQS: string;\n IsPVR: string;\n PhysiologicCategory: string;\n Updatedby: string;\n}\n","import { CaseClinicalInfoModel } from './case-clinical-info-model';\nimport { CaseProcedureInfoModel } from './case-procedure-info-model';\nimport { CaseAdmitDisposInfoModel } from './case-admit-dispos-info-model';\nimport { CaseHemoDynamicsInfoModel } from './case-hemo-dynamics-info-model';\nimport { CaseProcAssignmentModel } from './case-proc-assignment-model';\nimport { CaseAEInfoModel } from './case-ae-info-model';\nimport { CaseReqResourcesModel } from './case-req-resources-model';\nimport { CasePreCalcInfoModel } from './case-pre-calc-info-model';\nimport { CaseTypeCalcModel } from '../case-type-calc-model';\nimport { CaseProcEfficacyModel } from './case-proc-efficacy-model';\nimport { CaseAddlProcedureInfoModel } from './case-addl-procedure-info-model';\nimport { CaseAddlHemoDynamicsInfoModel } from './case-addl-hemo-dynamics-info-model';\n\nexport class CaseModel {\n CaseId: number;\n CathDate: string;\n HospitalId: number;\n PrimaryOperatorId: number;\n SensisReferenceNumber: number;\n CompletionStatus: string;\n CaseUpdatedby: string;\n ActiveStatus: string;\n CaseClinicalInfo: CaseClinicalInfoModel;\n CaseProcedureInfo: CaseProcedureInfoModel;\n CaseAddlProcedureInfo: CaseAddlProcedureInfoModel;\n CaseEOCAdmDisposn: CaseAdmitDisposInfoModel;\n CaseHemoDynamicInfo: CaseHemoDynamicsInfoModel;\n CaseAddlHemoDynamicInfo: CaseAddlHemoDynamicsInfoModel;\n CaseProcAssingedlist: CaseProcAssignmentModel[];\n CaseProcAEInfo: CaseAEInfoModel;\n CaseReqResources: CaseReqResourcesModel[];\n CasePreCalcInfo: CasePreCalcInfoModel;\n CaseTypeCalcResponse: CaseTypeCalcModel;\n CaseProcEfficacy: CaseProcEfficacyModel[];\n\n constructor() {\n this.CaseClinicalInfo = new CaseClinicalInfoModel;\n this.CaseProcedureInfo = new CaseProcedureInfoModel;\n this.CaseAddlProcedureInfo = new CaseAddlProcedureInfoModel;\n this.CaseEOCAdmDisposn = new CaseAdmitDisposInfoModel;\n this.CaseHemoDynamicInfo = new CaseHemoDynamicsInfoModel;\n this.CaseAddlHemoDynamicInfo = new CaseAddlHemoDynamicsInfoModel;\n this.CaseProcAEInfo = new CaseAEInfoModel;\n this.CasePreCalcInfo = new CasePreCalcInfoModel;\n this.CaseTypeCalcResponse = new CaseTypeCalcModel;\n }\n}\n","export class CasePreCalcInfoModel {\n CasePrecalcinfoId: number;\n CaseId: number;\n IsSingleVenPhysiology: string;\n IsSVEDP: string;\n IsSysSat: string;\n IsMvSat: string;\n IsPAMean: string;\n IsQPQS: string;\n IsPVR: string;\n PhysiologicCategory: string;\n Updatedby: string;\n}\n","export class CaseProcAssignmentModel {\n CaseProcAsgnId: number;\n CaseId: number;\n ProcedureCode: string;\n IsPrimary: string;\n IsSecondary: string;\n IsAnticipatedPrimary: string;\n IsAnticipatedSecondary: string;\n ProcedureTextValue: string;\n Updatedby: string;\n}\n","export class CaseProcEfficacyModel {\n CaseProcEfficacyInfoid: number;\n CaseId: number;\n EfficacyProcedureCode: string;\n EfficacyDataName: string;\n EfficacyDataValue: string;\n IsDataPreProcTime: string;\n IsDataPostProcTime: string; \n Updatedby: string;\n}\n","export class CaseProcedureInfoModel {\n CaseProccharInfoId: number;\n CaseId: number;\n SheathCathInDateTime: string;\n SheathCathOutDateTime: string;\n FluroTime: string;\n TotalDap: string;\n BloodTransfusion: string;\n Updatedby: string;\n}\n","export class CaseReqResourcesModel {\n ReqResourceId: number;\n CaseId: number;\n ResourceName: string;\n ResourceValue: string;\n IsResUsedPreProcTime: string;\n IsResUsedProcTime: string;\n IsResUsedPostProcTime: string;\n IsResUsed48HoursTime: string;\n Updatedby: string;\n}\n","declare var apiSettings: any;\r\nexport let CONFIG = {\r\n\r\n baseUrls: {\r\n api: apiSettings.apiUrl,\r\n }\r\n};\r\n","export class DropdownItemModel {\r\n id: number;\r\n name: string;\r\n description: string;\r\n code: string;\r\n needsDetails: boolean;\r\n children: DropdownItemModel[];\r\n}\r\n","export class MailRequestInfoModel {\r\n subject: string;\r\n body: string;\r\n contactemail: string;\r\n contactname: string;\r\n contactPhone: string;\r\n mailsendto: string;\r\n\r\n constructor() {\r\n this.subject = \"\";\r\n this.body = \"\";\r\n this.contactemail = \"\";\r\n this.contactname = \"\";\r\n this.contactPhone = \"\";\r\n this.mailsendto = \"\";\r\n }\r\n}\r\n","export class LoginModel {\r\n username: string = \"\";\r\n password: string = \"\";\r\n}\r\n","export class PicklistLookupModel {\r\n HospitalId: string = \"\";\r\n PicklistName: string = \"\";\r\n}\r\n","export class PreCaseCalculationModel {\n CaseId: string;\n PreCaseCardiacStatus: string;\n HemodynamicVulnerabilityScore: string;\n RadiationExposureCategory: string;\n CaseDuration: string;\n PredictRiskCategory: string;\n RiskCategoryAeRate: string;\n AdverseEventRisk: string;\n}\n","export class ReportDataAE {\r\n CaseAeID: string;\r\n CaseID: string;\r\n Flag: string;\r\n AEName: string;\r\n Severity: string; \r\n DateOfCath: string;\r\n Operator: string;\r\n Age: string;\r\n PatientInitial: string;\r\n Preventabilty: string;\r\n Relationship: string;\r\n Outcome: string;\r\n Timing: string;\r\n TimeToManage: string;\r\n MajorIndicator: string;\r\n STSDiagnosis: string;\r\n CaseType: string;\r\n Description: string;\r\n TimeNeeded: string;\r\n Presentation: string;\r\n Reviewed: boolean;\r\n Updatedby: number;\r\n}\r\n","export class HemoInfo { \r\n CaseID: string;\r\n IsSVP: string;\r\n SysSatIND: string;\r\n IsSysSatlessthan95Percent: string;\r\n IsPASysequal45mmorHigher: string;\r\n IsMVSATLessThan60Percent: string;\r\n IsSysSatLessThan78Percent: string;\r\n IsMVSATLessThan50Percent: string;\r\n IsPAMeanEqual17mmOrHigher: string;\r\n ISPVREqual3WUROrHigher: string;\r\n IsQPQSGreaterThan1Point5: string;\r\n IsSVEDP18mmHgOrHigher: string;\r\n PhysiologicCategory: string;\r\n CathLocationID: string;\r\n CathDateTime: string; \r\n \r\n}\r\n","export class ReportDataMM {\r\n CaseAeID: string;\r\n CaseID: string;\r\n Flag: string;\r\n Fellow: string;\r\n MRN: string;\r\n FirstName: string;\r\n LastName:string\r\n AEName: string;\r\n Preventability: string;\r\n Attributability: string;\r\n Severity: string;\r\n Tier: string;\r\n DateOfCath: string;\r\n Operator: string;\r\n Age: string;\r\n PatientInitial: string;\r\n Preventabilty: string;\r\n Relationship: string;\r\n Outcome: string;\r\n Timing: string;\r\n TimeToManage: string;\r\n MajorIndicator: string;\r\n STSDiagnosis: string;\r\n CaseType: string;\r\n Description: string;\r\n TimeNeeded: string;\r\n Presentation: string;\r\n Reviewed: boolean;\r\n Updatedby: number;\r\n}\r\n","export class ReportRequest {\r\n UserName: string;\n Email: string;\r\n FromDate: string;\r\n ToDate: string;\r\n CaseType: string;\r\n AgeRange: string;\r\n FromWeight: number;\r\n ToWeight: number;\r\n TimeInterval: string;\r\n ReportID: string;\r\n CathLocationID: number;\r\n OperatorID: string; \r\n AdverseEventSeverity: string;\r\n Tier: string;\r\n ReportName: string;\r\n AppRegistry: string;\r\n sitesSelected: string;\r\n Reviewed: boolean;\r\n NotReviewed: boolean;\r\n\r\n}\r\n","export class SearchModel {\r\n CaseId: number;\r\n CaseNumber: string;\r\n HospitalId: number;\r\n CompleteDataOnly: boolean;\r\n IncompleteDataOnly: boolean;\r\n HighAE: boolean;\r\n MedAE: boolean;\r\n LowAE: boolean;\r\n CathDateFrom: string;\r\n CathDateTo: string;\r\n AgeRange: string;\r\n ShowInactiveCases: boolean;\r\n ShowPedcathCases: boolean;\r\n}\r\n","export class UserModel {\n UserId: number;\n SelfProviderId: number;\n IsActive: boolean;\n Password: string;\n UserName: string;\n Email: string;\n Role: string;\n FullName: string;\n UserAppRegistry: string;\n UserAppRegistryID: string;\n Hospital: string;\n HospitalId: number;\n ValidationMessage: string;\n}\n","export class WeekDayModel {\r\n WeekIndex: number;\r\n WeekDate: string;\r\n Monday: string;\r\n Tuesday: string;\r\n Wednesday: string;\r\n Thursday: string;\r\n Friday: string;\r\n}\r\n","import { Injectable } from '@angular/core';\n\nimport { filter, map, mergeMap } from 'rxjs/operators';\n\n\nimport { Router, NavigationEnd, ActivatedRoute } from '@angular/router';\n\nimport { Title } from '@angular/platform-browser';\nimport { RouterHelper } from './router-helper';\n\nconst APP_TITLE = 'C3PO-R3';\nconst SEPARATOR = ' > ';\n\n@Injectable()\nexport class TitleService {\n public title:any = \"\";\n routerHelper:RouterHelper;\n constructor(\n private router: Router,\n private activatedRoute: ActivatedRoute,\n private titleService: Title,\n ) {\n this.routerHelper = new RouterHelper(router, activatedRoute);\n }\n\n init() {\n let val:any = '';\n this.routerHelper.getRouteData(this.router.events).pipe(\n map((data) => {\n if ( data[\"title\"] ) {\n return data[\"title\"];\n } else {\n return this.router.url.split('/').reduce((acc, frag) => {\n if ( acc && frag ) { acc += SEPARATOR; }\n return acc + TitleService.ucFirst(frag);\n });\n }\n }))\n .subscribe((pathString) => { \n this.titleService.setTitle(`${APP_TITLE} ${pathString}`); \n this.setTitle(pathString) });\n }\n\n static ucFirst(string) {\n if ( !string ) { return string; }\n return string.charAt(0).toUpperCase() + string.slice(1);\n }\n\n setTitle(string) {\n this.title = string;\n }\n}","// This file can be replaced during build by using the `fileReplacements` array.\n// `ng build ---prod` replaces `environment.ts` with `environment.prod.ts`.\n// The list of file replacements can be found in `angular.json`.\n\nexport const environment = {\n production: false\n};\n\n/*\n * In development mode, to ignore zone related error stack frames such as\n * `zone.run`, `zoneDelegate.invokeTask` for easier debugging, you can\n * import the following file, but please comment it out in production mode\n * because it will have performance impact when throw error\n */\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\n","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\nimport 'core-js/es6/reflect';\r\nimport 'core-js/es7/reflect';\r\n\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule)\n .catch(err => console.log(err));\n"],"sourceRoot":""}