{"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/AuthenticationGaurd.ts","webpack:///./src/app/CanDeactivateGaurd.ts","webpack:///./src/app/CanLogoutDeactivateGaurd.ts","webpack:///./src/app/CanSuregeryCaseDeactivateGaurd.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/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/cathchat/cathchat.component.html","webpack:///./src/app/components/iqic-background/cathchat/cathchat.component.scss","webpack:///./src/app/components/iqic-background/cathchat/cathchat.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/shared-data-entry/surcardiac-diagnosis.service.ts","webpack:///./src/app/components/shared-data-entry/surdata-sharedattributes.service.ts","webpack:///./src/app/components/shared-data-entry/surpicklist-item.service.ts","webpack:///./src/app/components/shared-data-entry/surprocedure-picklist.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/surgerycontact/surgerycontact.component.html","webpack:///./src/app/components/surgerycontact/surgerycontact.component.scss","webpack:///./src/app/components/surgerycontact/surgerycontact.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/add-surgery-case/add-surgery-case.component.html","webpack:///./src/app/components/user/add-surgery-case/add-surgery-case.component.scss","webpack:///./src/app/components/user/add-surgery-case/add-surgery-case.component.ts","webpack:///./src/app/components/user/add-surgery-case/clinical-outcomes/clinical-outcomes.component.html","webpack:///./src/app/components/user/add-surgery-case/clinical-outcomes/clinical-outcomes.component.scss","webpack:///./src/app/components/user/add-surgery-case/clinical-outcomes/clinical-outcomes.component.ts","webpack:///./src/app/components/user/add-surgery-case/day-30-status/day-30-status.component.html","webpack:///./src/app/components/user/add-surgery-case/day-30-status/day-30-status.component.scss","webpack:///./src/app/components/user/add-surgery-case/day-30-status/day-30-status.component.ts","webpack:///./src/app/components/user/add-surgery-case/edit-surgery-case.component.html","webpack:///./src/app/components/user/add-surgery-case/edit-surgery-case.component.scss","webpack:///./src/app/components/user/add-surgery-case/edit-surgery-case.component.ts","webpack:///./src/app/components/user/add-surgery-case/medical-history/medical-history.component.html","webpack:///./src/app/components/user/add-surgery-case/medical-history/medical-history.component.scss","webpack:///./src/app/components/user/add-surgery-case/medical-history/medical-history.component.ts","webpack:///./src/app/components/user/add-surgery-case/procedural-efficacy/procedural-efficacy.component.html","webpack:///./src/app/components/user/add-surgery-case/procedural-efficacy/procedural-efficacy.component.scss","webpack:///./src/app/components/user/add-surgery-case/procedural-efficacy/procedural-efficacy.component.ts","webpack:///./src/app/components/user/add-surgery-case/surcase.service.ts","webpack:///./src/app/components/user/add-surgery-case/surgery-case-fields.service.ts","webpack:///./src/app/components/user/add-surgery-case/surgery-case-id/surgery-case-id.component.html","webpack:///./src/app/components/user/add-surgery-case/surgery-case-id/surgery-case-id.component.scss","webpack:///./src/app/components/user/add-surgery-case/surgery-case-id/surgery-case-id.component.ts","webpack:///./src/app/components/user/add-surgery-case/surgery-case-type/surgery-case-type.component.html","webpack:///./src/app/components/user/add-surgery-case/surgery-case-type/surgery-case-type.component.scss","webpack:///./src/app/components/user/add-surgery-case/surgery-case-type/surgery-case-type.component.ts","webpack:///./src/app/components/user/add-surgery-case/surgery-clinical-char/surgery-clinical-char.component.html","webpack:///./src/app/components/user/add-surgery-case/surgery-clinical-char/surgery-clinical-char.component.scss","webpack:///./src/app/components/user/add-surgery-case/surgery-clinical-char/surgery-clinical-char.component.ts","webpack:///./src/app/components/user/add-surgery-case/surgery-events/surgery-events.component.html","webpack:///./src/app/components/user/add-surgery-case/surgery-events/surgery-events.component.scss","webpack:///./src/app/components/user/add-surgery-case/surgery-events/surgery-events.component.ts","webpack:///./src/app/components/user/add-surgery-case/surgery-missing-fields/surgery-missing-fields.component.html","webpack:///./src/app/components/user/add-surgery-case/surgery-missing-fields/surgery-missing-fields.component.scss","webpack:///./src/app/components/user/add-surgery-case/surgery-missing-fields/surgery-missing-fields.component.ts","webpack:///./src/app/components/user/add-surgery-case/unique-id/unique-id.component.html","webpack:///./src/app/components/user/add-surgery-case/unique-id/unique-id.component.scss","webpack:///./src/app/components/user/add-surgery-case/unique-id/unique-id.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/surgerycase-lookup/surcase-lookup.component.html","webpack:///./src/app/components/user/surgerycase-lookup/surcase-lookup.component.scss","webpack:///./src/app/components/user/surgerycase-lookup/surcase-lookup.component.ts","webpack:///./src/app/components/user/surgerycase-lookup/surcase-lookup.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/directives/limit-one-decimal-point.directive.ts","webpack:///./src/app/directives/limit-two-decimal-point.directive.ts","webpack:///./src/app/directives/only-number.directive.ts","webpack:///./src/app/directives/whole-number.directive.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/iqis/search-surcase-model.ts","webpack:///./src/app/shared/iqis/surcase/surcase-30daystatus-model.ts","webpack:///./src/app/shared/iqis/surcase/surcase-clinical-info-model.ts","webpack:///./src/app/shared/iqis/surcase/surcase-clinical-outcomesinfo-model.ts","webpack:///./src/app/shared/iqis/surcase/surcase-events-info-model.ts","webpack:///./src/app/shared/iqis/surcase/surcase-model.ts","webpack:///./src/app/shared/iqis/surcase/surcase-proc-assignment-model.ts","webpack:///./src/app/shared/iqis/surcase/surcase-proc-efficacy-info-model.ts","webpack:///./src/app/shared/iqis/surcase/surcase-surmedical-hist-model.ts","webpack:///./src/app/shared/iqis/surdropdown-item-model.ts","webpack:///./src/app/shared/iqis/surpicklist-lookup-model.ts","webpack:///./src/app/shared/login-model.ts","webpack:///./src/app/shared/picklist-lookup-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/surgeryconfig.ts","webpack:///./src/app/shared/user-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;;;;;;;;;;;;;;;;;;;;;;;;;;ACXkH;AACvE;AAEoB;AAG/D;IAEE,6BAAoB,IAAkB,EAAU,MAAc;QAA1C,SAAI,GAAJ,IAAI,CAAc;QAAU,WAAM,GAAN,MAAM,CAAQ;IAAI,CAAC;IAEnE,yCAAW,GAAX,UAAY,KAA6B,EAAE,KAA0B;QACnE,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE;YAC1B,OAAO,IAAI,CAAC;SACb;aAAM;YACL,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;YACjC,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IAXU,mBAAmB;QAD/B,gEAAU,EAAE;yCAGe,2EAAY,EAAkB,sDAAM;OAFnD,mBAAmB,CAY/B;IAAD,0BAAC;CAAA;AAZ+B;;;;;;;;;;;;;ACHhC;AAA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CAAA;AAjDwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACzBgB;AACgB;AACF;AAEG;AACqB;AAClC;AACF;AACI;AACK;AAC0B;AACtB;AACX;AACO;AACV;AACK;AAG8B;AACJ;AACF;AACY;AACf;AAC6B;AACa;AACY;AACH;AACrB;AACL;AACA;AACoB;AAC9B;AACT;AACN;AACQ;AACS;AACD;AACA;AACA;AACrB;AACsC;AACV;AACW;AACA;AACX;AAC3B;AAEhE,uDAAuD;AACR;AACkC;AACE;AACO;AACS;AACT;AACH;AACmD;AACG;AAClB;AACe;AACnC;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;AACW;AACH;AACiB;AACkB;AACjB;AACK;AACR;AACJ;AACa;AAC9B;AACO;AAChB;AACa;AACyB;AACvB;AACa;AAClH,yGAAyG;AACM;AACT;AACW;AACZ;AACQ;AACN;AAC7B;AACc;AACI;AACgB;AACzB;AACuB;AACpC;AACb;AACL;AACe;AACM;AACL;AACqB;AACG;AACrB;AACsE;AACS;AACnD;AACA;AACS;AACI;AACC;AACM;AACN;AAC1C;AACzB;AACY;AACuB;AACX;AACoC;AACH;AACN;AACU;AACF;AACQ;AAClB;AAE/F,oBAAoB;AAC2E;AACK;AACpC;AACW;AAE3E,uBAAuB;AACoC;AACF;AACa;AACX;AACW;AACQ;AAE/B;AACqB;AACb;AACoF;AAK3I,uBAAuB;AACc;AACuB;AAG5D,o6CAAo6C;AACp6C,2DAAmB,CAAC,yuCAAyuC,CAAC,CAAC;AAwK/vC;IACI,mBAAoB,aAA4B;QAA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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\nimport { CanDeactivate, Router, CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { LoginService } from './components/user/login.service';\r\n\r\n@Injectable()\r\nexport class AuthenticationGaurd implements CanActivate {\r\n\r\n constructor(private user: LoginService, private router: Router) { }\r\n\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable | Promise | boolean {\r\n if (this.user.IsLoggedIn()) {\r\n return true;\r\n } else {\r\n this.router.navigate(['/login']);\r\n return false;\r\n }\r\n }\r\n}\r\n","\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","\r\nimport { CanDeactivate, Router } from '@angular/router';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { LoginService } from './components/user/login.service';\r\n\r\nexport interface ComponentCanDeactivate {\r\n canDeactivate: () => boolean | Observable;\r\n}\r\n\r\n@Injectable()\r\nexport class CanSurgeryCaseDeactivateGaurd implements CanDeactivate {\r\n \r\n canDeactivate(component: ComponentCanDeactivate): boolean | Observable {\r\n \r\n let componentChange = component.canDeactivate();\r\n\r\n if (localStorage.getItem('editsurgerycase').indexOf('edit-surgery-case') < 0 && localStorage.getItem('editsurgerycase').indexOf('add-surgery-case') < 0) {\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","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-2019 Boston Children's Hospital
\"\n );\n\n }\n \n}\n","import { NgModule } from \"@angular/core\";\r\nimport { MatTableModule } from \"@angular/material/table\";\r\nimport { MatTabsModule } from \"@angular/material/tabs\";\r\n\r\nimport { BrowserModule } from \"@angular/platform-browser\";\r\nimport { BrowserAnimationsModule } from \"@angular/platform-browser/animations\";\r\nimport { FormsModule } from \"@angular/forms\";\r\nimport { HttpModule } from \"@angular/http\";\r\nimport { RouterModule } from \"@angular/router\";\r\nimport { TreeModule } from \"angular-tree-component\";\r\nimport { OwlDateTimeModule, OwlNativeDateTimeModule } from \"ng-pick-datetime\";\r\nimport { Ng2SearchPipeModule } from 'ng2-search-filter';\r\nimport { OrderModule } from 'ngx-order-pipe';\r\nimport { NgxPaginationModule } from 'ngx-pagination'\r\nimport { ChartsModule } from 'ng2-charts';\r\nimport { NgxSpinnerModule } from 'ngx-spinner';\r\n\r\n\r\nimport { HomeComponentC3POR3 } from \"./components/home/home.componentC3POR3\";\r\nimport { HomeComponentIQIC } from \"./components/home/home.componentIQIC\";\r\nimport { NavbarComponent } from \"./components/navbar/navbar.component\";\r\nimport { BackgroundComponent } from \"./components/background/background.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\nimport { 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 { C3poComponent } from \"./components/background/c3po/c3po.component\";\r\nimport { C3poIQICComponent } from \"./components/background/iqic/c3po-iqic.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 { UserMenuComponent } from \"./components/user/user-menu/user-menu.component\";\r\nimport { LoginService } from \"./components/user/login.service\";\r\nimport { ProcedurePicklistService } from \"./components/shared-data-entry/procedure-picklist.service\";\r\nimport { StsDiagnosisService } from \"./components/shared-data-entry/sts-diagnosis.service\";\r\nimport { MajorAdverseEventService } from \"./components/shared-data-entry/major-adverse-event.service\";\r\nimport { OtherAdverseEventService } from \"./components/shared-data-entry/other-adverse-event.service\";\r\nimport { PicklistItemService } from \"./components/shared-data-entry/picklist-item.service\";\r\nimport { MailService } from \"./components/contact/mail.service\";\r\n\r\n//import { HttpClient } from \"selenium-webdriver/http\";\r\nimport { AppComponent } from \"./app.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 { CaseLookupComponent } from \"./components/user/case-lookup/case-lookup.component\";\r\nimport { ManageReportsComponent } from \"./components/user/manage-reports/manage-reports.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 { ProceduralEfficacySurgeryComponent } from \"./components/user/add-surgery-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 { C3poCharmComponent } from \"./components/background/c3po-charm/c3po-charm.component\";\r\n\r\nimport { CalculatorService } from \"./components/calculator/calculator.service\";\r\nimport { CalcCharacteristicsComponent } from \"./components/calculator/calc-characteristics/calc-characteristics.component\";\r\nimport { CaseTypesEntryComponent } from \"./components/shared-data-entry/case-types-entry/case-types-entry.component\";\r\n\r\nimport { ModalComponent } from \"./components/modal/modal.component\";\r\nimport { HemosComponent } from \"./components/shared-data-entry/hemos/hemos.component\";\r\nimport { HemoModalComponent } from \"./components/modal/hemo-modal/hemo-modal.component\";\r\nimport { StsModalComponent } from \"./components/modal/sts-modal/sts-modal.component\";\r\n//import { SpinnerModalComponent } from \"./components/modal/spinner-modal/spinner.component\";\r\nimport { HemosService } from \"./components/shared-data-entry/hemos/hemos.service\";\r\nimport { CaseTypesEntryService } from \"./components/shared-data-entry/case-types-entry/case-types-entry.service\";\r\nimport { CrispCatComponent } from \"./components/shared-data-entry/hemos/crisp-cat/crisp-cat.component\";\r\nimport { CrispCatSelectService } from \"./components/shared-data-entry/hemos/crisp-cat/crisp-cat-select.service\";\r\nimport { ConfirmModalComponent } from \"./components/modal/confirm-modal/confirm-modal.component\";\r\nimport { ConfirmsaveModalComponent } from \"./components/modal/confirmsave-modal/confirmsave-modal.component\";\r\nimport { NgSelectModule } from \"@ng-select/ng-select\";\r\nimport { StsTreeComponent } from \"./components/modal/sts-tree/sts-tree.component\";\r\nimport { InfoModalComponent } from \"./components/modal/info-modal/info-modal.component\";\r\nimport { InfoModalServiceService } from \"./components/modal/info-modal/info-modal-service.service\";\r\nimport { TitleService } from \"./title.service\";\r\nimport { ForgotPasswordComponent } from \"./components/login/forgot-password/forgot-password.component\";\r\nimport { ChangePasswordComponent } from \"./components/login/change-password/change-password.component\";\r\nimport { Routing, routes } from \"./routing\";\r\nimport { ManageUsersComponent } from './components/user/manage-users/manage-users.component';\r\nimport { AddSurgeryCaseComponent } from \"./components/user/add-surgery-case/add-surgery-case.component\";\r\nimport { UniqueIdComponent } from \"./components/user/add-surgery-case/unique-id/unique-id.component\";\r\nimport { SurgeryCaseIdComponent } from \"./components/user/add-surgery-case/surgery-case-id/surgery-case-id.component\";\r\nimport { SurgeryClinicalCharComponent } from \"./components/user/add-surgery-case/surgery-clinical-char/surgery-clinical-char.component\";\r\nimport { MedicalHistoryComponent } from \"./components/user/add-surgery-case/medical-history/medical-history.component\";\r\nimport { SurgeryCaseTypeComponent } from \"./components/user/add-surgery-case/surgery-case-type/surgery-case-type.component\";\r\nimport { SurgeryEventsComponent } from \"./components/user/add-surgery-case/surgery-events/surgery-events.component\";\r\nimport { Day30StatusComponent } from \"./components/user/add-surgery-case/day-30-status/day-30-status.component\";\r\nimport { ClinicalOutcomesComponent } from \"./components/user/add-surgery-case/clinical-outcomes/clinical-outcomes.component\";\r\nimport { UserManagementService } from \"./components/user/manage-users/user-management.service\";\r\nimport { UserInfoModalComponent } from './components/modal/user-info-modal/user-info-modal.component';\r\nimport { CaseLookupService } from \"./components/user/case-lookup/case-lookup.service\";\r\nimport { SurCaseLookupService } from \"./components/user/surgerycase-lookup/surcase-lookup.service\";\r\nimport { AdverseEventsReportService } from \"./components/user/manage-reports/report-services/adverse-events-report.service\";\r\nimport { CaseTypeService } from \"./components/user/manage-reports/report-services/case-type.service\";\r\nimport { CharacteristicsService } from \"./components/user/manage-reports/report-services/characteristics.service\";\r\n//import { DateRangeService } from \"./components/user/manage-reports/report-services/date-range.service\";\r\nimport { HemoVariablesService } from \"./components/user/manage-reports/report-services/hemo-variables.service\";\r\nimport { RadiationService } from \"./components/user/manage-reports/report-services/radiation.service\";\r\nimport { RiskAdjustmentService } from \"./components/user/manage-reports/report-services/risk-adjustment.service\";\r\nimport { RiskTypeService } from \"./components/user/manage-reports/report-services/risk-type.service\";\r\nimport { ColorServiceService } from \"./components/user/manage-reports/report-services/color-service.service\";\r\nimport { ProcedureModalComponent } from './components/modal/procedure-modal/procedure-modal.component';\r\nimport { AlertComponent } from './components/modal/alert/alert.component';\r\nimport { LoginCardComponent } from './components/login/login-card/login-card.component';\r\nimport { CaseTypeCalcService } from \"./components/shared-data-entry/case-type-calc.service\";\r\nimport { MissingFieldsComponent } from \"./components/user/add-case/missing-fields/missing-fields.component\";\r\nimport { CaseFieldsService } from \"./components/user/add-case/case-fields.service\";\r\nimport { SurgeryCaseFieldsService } from \"./components/user/add-surgery-case/surgery-case-fields.service\";\r\nimport { CaseService } from \"./components/user/add-case/case.service\";\r\nimport { ValidationPipe } from './pipes/validation.pipe';\r\nimport { AgeTypePipe } from './pipes/age-type.pipe';\r\nimport { CathDateFormatPipe } from './pipes/cath-date-format.pipe';\r\nimport { AgeComponent } from './components/calculator/age/age.component';\r\nimport { SectionValidatePipe } from './pipes/section-validate.pipe';\r\nimport { PublicationsComponent } from './components/publications/publications.component';\r\nimport { SeriousnessComponent } from './components/modal/seriousness/seriousness.component';\r\nimport { FooterComponent } from './components/footer/footer.component';\r\nimport { CaseVolumeReportByCenterComponent } from './components/user/manage-reports/report-templates/case-volume-report-by-center-component';\r\nimport { SiteCaseVolumeReportOverTimeComponent } from './components/user/manage-reports/report-templates/site-case-volume-report-over-time-component';\r\nimport { AEReportComponent } from './components/user/manage-reports/report-templates/ae-component';\r\nimport { MMReportComponent } from './components/user/manage-reports/report-templates/mm-component';\r\nimport { MMReportEditComponent } from './components/user/manage-reports/report-templates/mm-edit-component';\r\nimport { SiteExtractComponent } from './components/user/manage-reports/report-templates/site-extract-component';\r\nimport { ChartTypeComponent } from './components/user/manage-reports/report-templates/chart-type-menu-component';\r\nimport { StackedItemsComponent } from './components/user/manage-reports/report-templates/stacked-items-menu-component';\r\nimport { ChartViewComponent } from './components/user/manage-reports/report-templates/chart-view-menu-component';\r\nimport { RouterService } from \"./components/navigation/router.service\";\r\nimport { SafeHtmlPipe } from './safehtmlpipe';\r\nimport { CanDeactivateGaurd } from './CanDeactivateGaurd';\r\nimport { CanSurgeryCaseDeactivateGaurd } from \"./CanSuregeryCaseDeactivateGaurd\";\r\nimport { CanLogoutDeactivateGuard } from './CanLogoutDeactivateGaurd';\r\nimport { EditSurgeryCaseComponent } from \"./components/user/add-surgery-case/edit-surgery-case.component\";\r\nimport { SurCaseLookupComponent } from \"./components/user/surgerycase-lookup/surcase-lookup.component\";\r\nimport { SurPicklistItemService } from \"./components/shared-data-entry/surpicklist-item.service\";\r\nimport { SurProcedurePicklistService } from \"./components/shared-data-entry/surprocedure-picklist.service\";\r\nimport { SurCardiacDiagnosisService } from \"./components/shared-data-entry/surcardiac-diagnosis.service\";\r\nimport { SurdataSharedAttributesService } from \"./components/shared-data-entry/surdata-sharedattributes.service\";\r\nimport { SurgeryContactComponent } from \"./components/surgerycontact/surgerycontact.component\";\r\n\r\n// import directives\r\nimport { LimitOneDecimalPointDirective } from \"./directives/limit-one-decimal-point.directive\";\r\nimport { LimitTwoDigitDecimaNumberDirective } from \"./directives/limit-two-decimal-point.directive\";\r\nimport { OnlyNumber } from \"./directives/only-number.directive\";\r\nimport { WholeNumberDirective } from \"./directives/whole-number.directive\";\r\n\r\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\nimport { SurgeryMissingFieldsComponent } from \"./components/user/add-surgery-case/surgery-missing-fields/surgery-missing-fields.component\";\r\n\r\n\r\n\r\n\r\n//License Key for wijmo\r\nimport * as wijmo from 'wijmo/wijmo';\r\nimport { AuthenticationGaurd } from \"./AuthenticationGaurd\";\r\n\r\n\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\");\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n HomeComponentC3POR3,\r\n HomeComponentIQIC,\r\n NavbarComponent,\r\n BackgroundComponent,\r\n SitesComponent,\r\n IqicBackgroundComponent,\r\n MissionVisionComponent,\r\n BackgroundHistoryComponent,\r\n EnrolledPartnersComponent,\r\n KeyDriverComponent,\r\n WebinarsComponent,\r\n CathChatComponent,\r\n DatabaseManualComponent,\r\n CalculatorComponent,\r\n ContactComponent,\r\n LoginComponent,\r\n C3poComponent,\r\n C3poIQICComponent,\r\n C3poQiComponent,\r\n C3poR3Component,\r\n UserMenuComponent,\r\n AddCaseComponent,\r\n EditCaseComponent,\r\n ManageReportsComponent,\r\n CaseLookupComponent,\r\n PreCalcComponent,\r\n CaseIdComponent,\r\n ClinicalCharacteristicsComponent,\r\n ProcedureCharacteristicsComponent,\r\n ProceduralEfficacyComponent,\r\n HemodynamicsComponent,\r\n CaseTypesComponent,\r\n AdverseEventsComponent,\r\n IndicatorsComponent,\r\n EocComponent,\r\n C3poCharmComponent,\r\n CalcCharacteristicsComponent,\r\n CaseTypesEntryComponent,\r\n HemosComponent,\r\n HemoModalComponent,\r\n ModalComponent,\r\n StsModalComponent,\r\n CrispCatComponent,\r\n StsTreeComponent,\r\n InfoModalComponent,\r\n //SpinnerModalComponent,\r\n ConfirmModalComponent,\r\n ConfirmsaveModalComponent,\r\n ForgotPasswordComponent,\r\n ChangePasswordComponent,\r\n ManageUsersComponent,\r\n SurCaseLookupComponent,\r\n AddSurgeryCaseComponent,\r\n UniqueIdComponent,\r\n SurgeryCaseIdComponent,\r\n SurgeryClinicalCharComponent,\r\n MedicalHistoryComponent,\r\n SurgeryCaseTypeComponent,\r\n SurgeryEventsComponent,\r\n Day30StatusComponent,\r\n ClinicalOutcomesComponent,\r\n UserInfoModalComponent,\r\n ProcedureModalComponent,\r\n AlertComponent,\r\n LoginCardComponent,\r\n MissingFieldsComponent,\r\n ValidationPipe,\r\n AgeTypePipe,\r\n CathDateFormatPipe,\r\n AgeComponent,\r\n SectionValidatePipe,\r\n PublicationsComponent,\r\n SeriousnessComponent,\r\n FooterComponent,\r\n CaseVolumeReportByCenterComponent,\r\n SiteCaseVolumeReportOverTimeComponent,\r\n AEReportComponent,\r\n MMReportComponent,\r\n MMReportEditComponent,\r\n SiteExtractComponent,\r\n ChartTypeComponent,\r\n StackedItemsComponent,\r\n ChartViewComponent,\r\n SafeHtmlPipe,\r\n ProceduralEfficacySurgeryComponent,\r\n LimitOneDecimalPointDirective,\r\n LimitTwoDigitDecimaNumberDirective,\r\n OnlyNumber,\r\n WholeNumberDirective,\r\n EditSurgeryCaseComponent,\r\n SurgeryMissingFieldsComponent,\r\n SurgeryContactComponent\r\n ],\r\n imports: [\r\n BrowserModule,\r\n BrowserAnimationsModule,\r\n HttpModule,\r\n TreeModule,\r\n FormsModule,\r\n RouterModule,\r\n NgSelectModule,\r\n OwlDateTimeModule,\r\n OwlNativeDateTimeModule,\r\n Routing,\r\n Ng2SearchPipeModule,\r\n OrderModule,\r\n NgxPaginationModule,\r\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,\r\n MatTabsModule,\r\n CommonModule,\r\n WjGridSheetModule,\r\n WjNavModule\r\n ],\r\n providers: [\r\n TitleService,\r\n LoginService,\r\n ProcedurePicklistService,\r\n StsDiagnosisService,\r\n MajorAdverseEventService,\r\n OtherAdverseEventService,\r\n PicklistItemService,\r\n CalculatorService,\r\n HemosService,\r\n CaseTypesEntryService,\r\n CrispCatSelectService,\r\n InfoModalServiceService,\r\n UserManagementService,\r\n CaseLookupService,\r\n SurCaseLookupService,\r\n AdverseEventsReportService,\r\n CaseTypeService,\r\n CharacteristicsService,\r\n //DateRangeService,\r\n HemoVariablesService,\r\n RadiationService,\r\n RiskAdjustmentService,\r\n RiskTypeService,\r\n ColorServiceService,\r\n CaseTypeCalcService,\r\n CaseFieldsService,\r\n SurgeryCaseFieldsService,\r\n CaseService,\r\n MailService,\r\n RouterService,\r\n CanDeactivateGaurd,\r\n CanSurgeryCaseDeactivateGaurd,\r\n CanLogoutDeactivateGuard,\r\n SurPicklistItemService,\r\n SurProcedurePicklistService,\r\n SurCardiacDiagnosisService,\r\n SurdataSharedAttributesService,\r\n AuthenticationGaurd\r\n\r\n ],\r\n bootstrap: [AppComponent]\r\n})\r\nexport class AppModule {\r\n constructor(private routerService: RouterService) { }\r\n}\r\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 \\r\\n \\\"C3PO-R3\\r\\n \\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 = \"
\\n \\n \\n
\\n
\\n
\\n
\\n
\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\r\\n \\r\\n Diagnosis Category  \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n   \\r\\n
\\r\\n
\\r\\n
\\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 Genetic Syndrome\\n \\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n
\\n
\\n\\n\\n
\\n\"","module.exports = \"\"","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';\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 public isCaseCalc: boolean;\n public calc: CalculatorService;\n fields:CaseFieldsService;\n constructor(calc: CalculatorService, fields: CaseFieldsService, private router: Router) {\n this.calc = calc;\n this.fields = fields;\n\n let url = this.router.url;\n this.isCaseCalc = (url.indexOf(\"user-portal\") > 0);\n this.calc.readOnly = this.isCaseCalc;\n \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 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}\n","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Feature Still Under Development\\r\\n
\\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   \\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 HEMODYNAMICS\\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 CHARM RESULTS\\r\\n
\\r\\n
\\r\\n
\\r\\n 0%\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n  Components\\r\\n \\r\\n
\\r\\n
    \\r\\n
  • \\r\\n Age\\r\\n
  • \\r\\n
  • \\r\\n SV EDP\\r\\n
  • \\r\\n
  • \\r\\n Sys SAT\\r\\n
  • \\r\\n
  • \\r\\n MV Sat\\r\\n
  • \\r\\n
  • \\r\\n PA sys\\r\\n
  • \\r\\n
  • \\r\\n Case Type\\r\\n
  • \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n  Publications\\r\\n \\r\\n \\r\\n \\r\\n  What does this mean?\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n CRISP RESULTS\\r\\n
\\r\\n
\\r\\n
\\r\\n 0%\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n  Components\\r\\n \\r\\n
\\r\\n
    \\r\\n
  • \\r\\n Age\\r\\n
  • \\r\\n
  • \\r\\n Weight\\r\\n
  • \\r\\n
  • \\r\\n Defined or Suspected Genetic Syndrome\\r\\n
  • \\r\\n
  • \\r\\n Diagnosis Category\\r\\n
  • \\r\\n
  • \\r\\n Non-cardiac Problems\\r\\n
  • \\r\\n
  • \\r\\n CRISP Category\\r\\n
  • \\r\\n
  • \\r\\n Single Ventricle Physiology\\r\\n
  • \\r\\n
  • \\r\\n Case Type\\r\\n
  • \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n  Publications\\r\\n \\r\\n \\r\\n \\r\\n  What does this mean?\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n IMPACT RESULTS\\r\\n
\\r\\n
\\r\\n
\\r\\n 0%\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n  Components\\r\\n \\r\\n
\\r\\n
    \\r\\n
  • \\r\\n Age\\r\\n
  • \\r\\n
  • \\r\\n SV EDP\\r\\n
  • \\r\\n
  • \\r\\n Sys SAT\\r\\n
  • \\r\\n
  • \\r\\n MV Sat\\r\\n
  • \\r\\n
  • \\r\\n PA sys\\r\\n
  • \\r\\n
  • \\r\\n Qp:Qs\\r\\n
  • \\r\\n
  • \\r\\n PVR\\r\\n
  • \\r\\n
  • \\r\\n Case Type\\r\\n
  • \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n  Publications\\r\\n \\r\\n \\r\\n \\r\\n  What does this mean?\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\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}.results .result{text-align:center;width:100%;position:relative;font-size:30px;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}\\n\"","\r\nimport { Component, OnInit, OnDestroy, ViewChild } from '@angular/core';\nimport { Router } from \"@angular/router\";\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 { LoginService } from \"../user/login.service\";\nimport { NgForm } from \"@angular/forms\";\n\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 caseSummaryT: string = \"\";\n showSummary: boolean = false;\n dropDownCrisp: PicklistItemResponse;\n\n\n public calc: CalculatorService;\n public fields: CaseFieldsService;\n constructor(calc: CalculatorService, _fields: CaseFieldsService, private router: Router, _picklistItemService: PicklistItemService, _user: LoginService) { \n \n this.calc = calc;\n this.fields = _fields;\n this.user = _user;\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 \n\n }\n\n\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\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\n PreCaseSummary()\n {\n \n let arr = this.getProceduresArray();\n this.caseSummaryT = \"\";\n var SingleVentricle = \"No\"; if (this.fields.getField('Pre-Case Calculation', 'Single Ventricle Physiology').value == \"1\") { SingleVentricle = \"Yes\" }\n var IsMvSat = \"No\"; if (this.fields.getField('Pre-Case Calculation', 'MV Sat').value == \"1\") { IsMvSat = \"Yes\" }\n var IsPAMean = \"No\"; if (this.fields.getField('Pre-Case Calculation', 'PA').value == \"1\") { IsPAMean = \"Yes\" }\n var IsPVR = \"No\"; if (this.fields.getField('Pre-Case Calculation', 'PVR').value == \"1\") { IsPVR = \"Yes\" }\n var IsQPQS = \"No\"; if (this.fields.getField('Pre-Case Calculation', 'Qp:Qs').value == \"1\") { IsQPQS = \"Yes\" }\n var IsSVEDP = \"No\"; if (this.fields.getField('Pre-Case Calculation', 'SV EDP').value== \"1\") { IsSVEDP = \"Yes\" }\n var IsSysSat = \"No\"; if (this.fields.getField('Pre-Case Calculation', 'Sys Sat').value == \"1\") { IsSysSat = \"Yes\" }\n var GenSyndromeInd = \"No\"; if (this.fields.getField('Clinical Characteristics', 'Genetic Syndrome').value == \"1\") { GenSyndromeInd = \"Yes\" } \n var crisp = \"\";\n var age = \"\";\n if (this.fields.getField('Clinical Characteristics', 'Age').value != null)\n age = this.fields.getField('Clinical Characteristics', 'Age').value + \" \" + this.fields.getField('Clinical Characteristics', 'Age Unit').value\n var stsDiag = \"\";\n if (this.fields.getField('Pre-Case Calculation', 'STS Diagnosis Category').value != null)\n stsDiag = this.fields.getField('Pre-Case Calculation', 'STS Diagnosis Category').value;\n \n var weight = \"\";\n if (this.fields.getField('Clinical Characteristics', 'Weight').value != null)\n weight = this.fields.getField('Clinical Characteristics', 'Weight').value + \" kg\"\n var caseNumber = \"\";\n if (this.fields.getField('Case Identification','Case Number').value != null)\n caseNumber = this.fields.getField('Case Identification', 'Case Number').value;\n var caseNumbertxt = \"\";\n if (caseNumber != \"\")\n caseNumbertxt = \"Case ID  \" + caseNumber;\n var hospital = \"\";\n if (this.user.user != null && this.user.user.Hospital.indexOf(\"-\") > 0)\n hospital = this.user.user.Hospital.split('-')[1];\n else if (this.user.user != null)\n hospital = this.user.user.Hospital;\n \n if (this.fields.getField('Pre-Case Calculation', 'Physiologic Category').value != \"\" && this.fields.getField('Pre-Case Calculation', 'Physiologic Category').value != undefined) {\n if (this.dropDownCrisp.DataObject.find(x => x.ChoiceCode == this.fields.getField('Pre-Case Calculation', 'Physiologic Category').value) != undefined)\n crisp = this.dropDownCrisp.DataObject.find(x => x.ChoiceCode == this.fields.getField('Pre-Case Calculation', 'Physiologic Category').value)[\"ChoiceText\"];\r\n }\n this.showSummary = true;\n \n this.caseSummaryT += \"
\"\r\n this.caseSummaryT += \"
\"\r\n this.caseSummaryT += \"
Pre-Case Catheterization Summary
\"\r\n this.caseSummaryT += \"
\"\r\n this.caseSummaryT += \"
\"\n if (this.user.IsLoggedIn) {\n this.caseSummaryT += \"
\"\r\n\r\n this.caseSummaryT += \"
Hospital:
\" + hospital + \"
\"\r\n\r\n this.caseSummaryT += \"
\"\n }\n this.caseSummaryT += \"
\"\r\n this.caseSummaryT += \"
\"\r\n this.caseSummaryT += \"
\"\n this.caseSummaryT += \"
\"\r\n this.caseSummaryT += \"
Clinical Characteristics
\"\r\n this.caseSummaryT += \"
\"\r\n this.caseSummaryT += \"
\"\r\n this.caseSummaryT += \"
Age:
\" + age + \"
\"\r\n\r\n \r\n\r\n this.caseSummaryT += \"
Diagnosis Category:
\" + stsDiag + \"
\"\r\n this.caseSummaryT += \"
Weight:
\" + weight + \"
\"\r\n this.caseSummaryT += \"
Physiologic Category:
\" + crisp + \"
\"\r\n this.caseSummaryT += \"
Case Id:
\" + caseNumber + \"
\"\r\n this.caseSummaryT += \"
Genetic Syndrome:
\" + GenSyndromeInd + \"
\"\r\n\r\n\r\n this.caseSummaryT += \"
\"\r\n this.caseSummaryT += \"
\"\r\n this.caseSummaryT += \"
\"\r\n this.caseSummaryT += \"
\"\r\n\r\n this.caseSummaryT += \"
Predicted Hemodynamics
\"\r\n this.caseSummaryT += \"
\"\r\n\r\n\r\n\r\n \r\n\r\n\r\n this.caseSummaryT += \"
Single Ventricle Physiology:
\" + SingleVentricle + \"
\"\r\n\r\n this.caseSummaryT += \"
\"\r\n this.caseSummaryT += \"
\"\r\n this.caseSummaryT += \"
\"\r\n \r\n\r\n \r\n\r\n \r\n\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 this.caseSummaryT += \"
SV EDP ≥ 18mmHg:
\" + IsSVEDP + \"
\"\r\n\r\n \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 if (SingleVentricle == \"Yes\") {\r\n\r\n\r\n this.caseSummaryT += \"
PA mean ≥ 17mmHg:
\" + IsPAMean + \"
\"\r\n }\r\n if (SingleVentricle == \"No\") {\r\n\r\n\r\n this.caseSummaryT += \"
PA mean ≥ 45mmHg:
\" + IsPAMean + \"
\"\r\n }\r\n\r\n this.caseSummaryT += \"
Qp:Qs > 1.5:
\" + IsQPQS + \"
\"\r\n this.caseSummaryT += \"
PVR > 3WU:
\" + IsPVR + \"
\"\r\n this.caseSummaryT += \"
\"\r\n this.caseSummaryT += \"
\"\r\n\r\n \r\n\r\n var primaryProc = \"\";\r\n var secondaryProc = \"\";\r\n var caseType = \"\";\r\n if (this.fields.getField('Pre-Case Calculation', 'Case Type').value != null)\r\n caseType = this.fields.getField('Pre-Case Calculation', 'Case Type').value;\r\n \n for (let proc in arr)\n {\n var procsplit = arr[proc].split(',');\r\n if (procsplit[1] == \"true\")\r\n primaryProc = primaryProc + procsplit[0].split('|')[1];\r\n else\r\n secondaryProc = secondaryProc + procsplit[0].split('|')[1];\r\n }\n this.caseSummaryT += \"
\"\r\n this.caseSummaryT += \"
\"\r\n this.caseSummaryT += \"
\"\r\n\r\n\r\n this.caseSummaryT += \"
\"\r\n this.caseSummaryT += \"
Anticipated Case Type
\"\r\n this.caseSummaryT += \"
\" + caseType + \"
\"\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 += \"
\" \n this.caseSummaryT += \"
\"\r\n this.caseSummaryT += \"
\"\r\n this.caseSummaryT += \"
\"\r\n this.caseSummaryT += \"
\"\r\n this.caseSummaryT += \"
\"\r\n this.caseSummaryT += \"
\"\r\n this.caseSummaryT += \"
\"\r\n this.caseSummaryT += \"
\"\r\n this.caseSummaryT += \"
\"\r\n this.caseSummaryT += \"
\"\r\n this.caseSummaryT += \"
\"\r\n this.caseSummaryT += \"
\"\r\n this.caseSummaryT += \"
\"\r\n this.caseSummaryT += \"
\"\r\n this.caseSummaryT += \"
Report generated on \" + new Date().toLocaleDateString() + \"
\"\r\n this.caseSummaryT += \"
\"\r\n this.caseSummaryT += \"
\"\r\n this.caseSummaryT += \"
\" + caseNumbertxt + \"
\"\r\n this.caseSummaryT += \"
\"\r\n this.caseSummaryT += \"
\" \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', 5, 5, 211, 178);\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 this.showResults = !this.showResults;\n if (this.showResults) {\n this.btnText = \"BACK\";\n }\n else {\n this.btnText = \"CALCULATE\";\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}\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CalculatorService {\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 constructor() { }\n getSTSId(val) {\n return \"sts-\" + val;\n }\n\n}\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
Lisa Bergersen MD MPH\\r\\n \\r\\n
Email: Lisa.Bergersen@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
\\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

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
\\r\\n\\r\\n SOCIAL MEDIA COMING SOON!\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n\\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}.masthead{height:175px;width:100%;max-width:100%;background-image:url(\\\"/assets/images/potential18a.jpg\\\");max-height:175px;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 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:175px;width:100%;max-width:100%;background-image:url(\\\"/assets/images/covid-19-img.jpg\\\");max-height:175px;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,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:175px;width:100%;max-width:100%;background-image:url(\\\"/assets/images/IQIC LARGE banner 12 28 18 3.jpg\\\");max-height:175px;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:175px;width:100%;max-width:100%;background-image:url(\\\"/assets/images/covid-19-img.jpg\\\");max-height:175px;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 CATHCHAT\\r\\n
\\r\\n
\\r\\n
\\r\\n

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

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

\\r\\n \\\"CathChat\\\"\\r\\n CATHCHAT is a livestreaming program that allows views to see clinical procedures in real time. It is managed by Red Cross Memorial Hospital in Cape Town, South Africa. IQIC met with Red Cross in 2018 and discussed further collaborations and coordination with CATHCHAT, especially as the new Catheterization Registry is being implemented. The intent is to create IQIC specific CATHCHATS with sites affiliated with IQIC watching these livestreams. Information will be posted in email updates.\\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-cathchat',\n templateUrl: './cathchat.component.html',\n styleUrls: ['./cathchat.component.scss'],\n host: { 'class': \"host\" }\n})\nexport class CathChatComponent 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 constructor(private router: Router) { }\n ngOnInit() {\n let u = JSON.parse(localStorage.getItem('currentUser'));\n if (u != null) {\n this.router.navigateByUrl('/user-portal/user-menu');\n }\n else {\n this.router.navigateByUrl('/login');\r\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';\nimport { SurCaseService } from \"../../user/add-surgery-case/surcase.service\";\r\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 public surCaseService: SurCaseService;\n constructor(_caseService: CaseService, _surCaseService: SurCaseService, private router: Router) {\n this.caseService = _caseService;\n this.surCaseService = _surCaseService;\n }\n\n ngOnInit() {\n\n }\n\n saveCase() {\n if (this.caseService.saveCaseId) {\n if (this.caseService.route == 'editcase') {\n this.caseService.route = ''\n this.router.navigate(['/user-portal/edit-case/save/' + this.caseService.saveCaseId]);\n \n }\n \n \r\n }\r\n\r\n if (this.surCaseService.saveCaseId) {\n if (this.surCaseService.route == 'editsurgerycase') {\n this.surCaseService.route = ''\n this.router.navigate(['/user-portal/edit-surgery-case/save/' + this.surCaseService.saveCaseId]);\n }\n\n\r\n }\r\n\r\n if (this.caseService.route === 'addcase') {\n this.caseService.route = ''\n this.router.navigate(['/user-portal/add-case/save']);\r\n }\r\n if (this.surCaseService.route === 'addsurgerycase') {\n this.surCaseService.route = ''\n this.router.navigate(['/user-portal/add-surgery-case/save']);\r\n }\r\n }\n\n\n close() {\n this.caseService.saveCaseId = 0;\r\n this.surCaseService.saveCaseId = 0;\r\n }\n\n \n}\n","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
PHYSIOLOGIC CATEGORY
\\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
\\r\\n
Select Diagnosis
\\r\\n \\r\\n
\\n
\\n
\\n
\\n
\\r\\n
Selected:
\\r\\n  {{fields.getField('Clinical Characteristics', 'STS').text}}\\r\\n
\\n
\\n\\n \\n \\n\\n
\\n
\\n \\n
\\n
\\n
\\r\\n \\r\\n
\\n
\\n
\\n
\\n\\n
\\n
\\n
\\n\"","module.exports = \"\"","import { Component, OnInit, ViewChild } 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('tree2') treeComponent: TreeComponent;\n // selected = \"\";\n showClear: boolean = false;\n\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 let sel = this.fields.getField('Clinical Characteristics', 'STS').value;\n if (sel) {\n //this.selected = sel;\r\n this.showClear = true;\r\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 onSelect(event, tree) {\n if (event.node.isLeaf) {\n // this.selected = event.node.data;\n this.fields.getField('Clinical Characteristics', 'STS').text = CaseTypeTreeModel.getKeyString(event.node, tree);\n this.fields.getField('Clinical Characteristics', 'STS').value = event.node;\n this.showClear = true;\n }\n else {\n event.node.toggleExpanded();\n event.node.setIsActive(false);\n\n }\n\n }\n\n clear() {\n this.showClear = false;\n //this.selected = \"\";\n this.fields.getField('Clinical Characteristics', 'STS').text = null;\n this.fields.getField('Clinical Characteristics', 'STS').value = null;\r\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\"","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:70px;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:15px}.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:300px;height:70px;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:70px;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:14px;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:240px}.navbar-nav{height:100%}@media screen and (max-width: 1120px){.navbar-nav{height:auto}}@media screen and (min-width: 768px){.navbar-nav{height:70px}}\\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';\nimport { RouterLink } from \"@angular/router/src/directives/router_link\";\r\nimport { Location } from '@angular/common';\r\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, private loc: Location,) {\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 ////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 //if (router.url.indexOf(\"login\") > 0) {\r\n // window.open(\"http://iqic\", \"Home Page IQIC\", \"\");\r\n //}\r\n this.homeLink = \"/login\";\r\n this.showC3PO = true;\n this.showIQIC = false;\r\n //console.log(\"I am here\")\r\n // if (router.url.indexOf(\"login\") > 0) {\r\n //window.open(\"http://iqic\", \"_blank\");\r\n // window.open(\"http://iqic\", \"Home Page IQIC\", \"\"); \r\n // }\r\n //console.log(\"I am out\")\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 redirectToSite() {\n const angularRoute = this.loc.path();\r\n const url = window.location.href;\r\n const domainAndApp = url.replace(angularRoute, '');\n\n if (domainAndApp.indexOf('c3po')>-1) {\n this.router.navigate(['/home']);\r\n }\n else {\n window.open(\"https://iqic.chboston.org/\", \"Home Page IQIC\", \"\");\r\n }\r\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 \"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, 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","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 { SurCardiacDiagnosisModelResponse } from '../../shared/iqis/surcardiac-diagnosis-response';\r\nimport { SurCardiacDiagnosisModel } from '../../shared/iqis/surcardiac-diagnosis-model';\r\nimport { SurDropdownItemModel } from '../../shared/iqis/surdropdown-item-model';\r\nimport { SURGERYCONFIG } from '../../shared/surgeryconfig';\r\n\r\nlet iqisapiUrl = SURGERYCONFIG.baseUrls.iqisapiurl;\r\n@Injectable()\r\nexport class SurCardiacDiagnosisService {\r\n private http: Http = null;\r\n\r\n public cardiadiagList: SurCardiacDiagnosisModel[];\r\n public dropDowncardiadiagList: SurDropdownItemModel[];\r\n\r\n constructor(_http: Http) {\r\n this.http = _http;\r\n }\r\n getCardiacDiagnosisList() {\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(iqisapiUrl + \"picklist/GetCardiacDiagnosisList\", options)\r\n .pipe(map((response: Response) => response.json())); \r\n }\r\n\r\n mapToDropDown() {\r\n let ids = [];\r\n this.dropDowncardiadiagList = [];\r\n\r\n for (let entry of this.cardiadiagList) {\r\n if (ids.indexOf(entry.ParentCDiagnosisId) > -1) {\r\n ids.push(entry.CDiagnosisId);\r\n\r\n let newChildItem = new SurDropdownItemModel;\r\n newChildItem.id = entry.CDiagnosisId;\r\n newChildItem.name = entry.CDiagnosisTextToShow;\r\n newChildItem.code = entry.CDiagnosisCode;\r\n newChildItem.children = [];\r\n\r\n let parentItem = this.dropDowncardiadiagList.find(x => x.id === entry.ParentCDiagnosisId);\r\n if (parentItem != null) {\r\n if (parentItem.children == null) {\r\n parentItem.children = [];\r\n }\r\n\r\n \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.dropDowncardiadiagList) {\r\n let childParentItem = item.children.find(x => x.id === entry.ParentCDiagnosisId);\r\n if (childParentItem != null) {\r\n if (childParentItem.children == null) {\r\n childParentItem.children = [];\r\n }\r\n\r\n childParentItem.children.push(newChildItem);\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.ParentCDiagnosisId);\r\n ids.push(entry.CDiagnosisId);\r\n\r\n let newParentItem = new SurDropdownItemModel;\r\n newParentItem.id = entry.ParentCDiagnosisId;\r\n newParentItem.name = entry.ParentCDiagnosisTextToShow;\r\n newParentItem.children = [];\r\n\r\n let newChildItem = new SurDropdownItemModel;\r\n newChildItem.id = entry.CDiagnosisId;\r\n newChildItem.name = entry.CDiagnosisTextToShow;\r\n newChildItem.code = entry.CDiagnosisCode;\r\n newChildItem.children = [];\r\n newParentItem.children.push(newChildItem);\r\n this.dropDowncardiadiagList.push(newParentItem);\r\n \r\n }\r\n }\r\n\r\n }\r\n}\r\n","import { Component, Injectable, Input, Output, EventEmitter } from '@angular/core';\r\n\r\n@Injectable() export class SurdataSharedAttributesService {\r\n\r\n suratrributes: any[] = [];\r\n constructor() {\r\n\r\n }\r\n savesuratrributes(attribs: any) {\r\n this.suratrributes = attribs;\r\n }\r\n getsurattributes() {\r\n return this.suratrributes;\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 { SurPicklistItemResponse } from '../../shared/iqis/surpicklist-item-response';\r\nimport { SurPicklistItemModel } from '../../shared/iqis/surpicklist-item-model';\r\nimport { SurPicklistLookupModel } from '../../shared/iqis/surpicklist-lookup-model';\r\nimport { SurDropdownItemModel } from '../../shared/iqis/surdropdown-item-model';\r\nimport {SURGERYCONFIG } from '../../shared/surgeryconfig';\r\n\r\nlet iqisapiUrl = SURGERYCONFIG.baseUrls.iqisapiurl;\r\n@Injectable()\r\nexport class SurPicklistItemService {\r\n private http: Http = null;\r\n\r\n public picklistItemModel: SurPicklistItemModel[];\r\n public dropDownPicklistItem: SurDropdownItemModel[];\r\n\r\n constructor(_http: Http) {\r\n this.http = _http;\r\n }\r\n\r\n getPicklistItem(hospitalId: string, picklistName: string) {\r\n let picklookup = new SurPicklistLookupModel;\r\n picklookup.HospitalId = hospitalId;\r\n picklookup.PicklistName = picklistName;\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(iqisapiUrl + \"picklist/GetPickListInfo\", picklookup, options)\r\n .pipe(map((response: Response) => response.json()));\r\n }\r\n\r\n \r\n\r\n mapToDropDown() {\r\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 SurDropdownItemModel;\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 }\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 { SurProcedurePicklistResponse } from '../../shared/iqis/surprocedure-picklist-response';\r\nimport { SurProcedurePicklistModel } from '../../shared/iqis/surprocedure-picklist-model';\r\nimport { SurDropdownItemModel } from '../../shared/iqis/surdropdown-item-model';\r\nimport { SURGERYCONFIG } from '../../shared/surgeryconfig';\r\n\r\nlet iqisapiUrl = SURGERYCONFIG.baseUrls.iqisapiurl;\r\n@Injectable()\r\nexport class SurProcedurePicklistService {\r\n private http: Http = null;\r\n\r\n public procedureList: SurProcedurePicklistModel[];\r\n public dropDownProcedureList: SurDropdownItemModel[];\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(iqisapiUrl + \"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 if (ids.indexOf(entry.ParentProcedureId) > -1) {\r\n ids.push(entry.ProcedureId);\r\n\r\n let newChildItem = new SurDropdownItemModel;\r\n newChildItem.id = entry.ProcedureId;\r\n newChildItem.name = entry.ProcedureTextToShow;\r\n newChildItem.code = entry.ProcedureCode;\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 \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 childParentItem.children.push(newChildItem);\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 let newParentItem = new SurDropdownItemModel;\r\n newParentItem.id = entry.ParentProcedureId;\r\n newParentItem.name = entry.ParentProcedureTextToShow;\r\n newParentItem.children = [];\r\n\r\n let newChildItem = new SurDropdownItemModel;\r\n newChildItem.id = entry.ProcedureId;\r\n newChildItem.name = entry.ProcedureTextToShow;\r\n newChildItem.code = entry.ProcedureCode;\r\n newChildItem.children = [];\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","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 CONTACT\\r\\n
\\r\\n
\\r\\n
\\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
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\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,Inject} from '@angular/core';\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\";\n\n@Component({\n selector: 'app-surgerycontact',\n templateUrl: './surgerycontact.component.html',\n styleUrls: ['./surgerycontact.component.scss']\n})\nexport class SurgeryContactComponent 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(@Inject(MailService) _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 \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","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 - 300px)}.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 }\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 SELECTED ADVERSE EVENTS\\r\\n
  • \\r\\n
\\r\\n
    \\r\\n
  • \\r\\n
    \\r\\n {{ name }}   {{getTimeneeded(name)}} \\r\\n\\r\\n
    \\r\\n {{ getSeriousness(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}\\n\"","import { Component, OnInit, ViewChild, ElementRef ,HostListener} from \"@angular/core\";\nimport { DropdownData } from \"../../../shared-data-entry/dropdown-data\";\nimport { InfoModalServiceService } from \"../../../modal/info-modal/info-modal-service.service\";\nimport { MajorAdverseEventService } from \"../../../shared-data-entry/major-adverse-event.service\";\nimport { MajorAdverseEventResponse } from \"../../../../shared/major-adverse-event-response\";\nimport { MajorAdverseEventModel } from \"../../../../shared/major-adverse-event-model\";\nimport { OtherAdverseEventService } from \"../../../shared-data-entry/other-adverse-event.service\";\nimport { OtherAdverseEventResponse } from \"../../../../shared/other-adverse-event-response\";\nimport { OtherAdverseEventModel } from \"../../../../shared/other-adverse-event-model\";\nimport { DropdownItemModel } from \"../../../../shared/dropdown-item-model\";\nimport { CaseTypeTreeModel } from \"../../../shared-data-entry/case-types-entry/case-type-tree-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-adverse-events\",\n templateUrl: \"./adverse-events.component.html\",\n styleUrls: [\"./adverse-events.component.scss\"],\n host: { class: \"host\" }\n})\nexport class AdverseEventsComponent implements OnInit, ComponentCanDeactivate{\n @ViewChild(\"seriousness\") seriousness: ElementRef;\n @ViewChild('form') form: NgForm;\n\n events = [];\n name = \"Adverse Events\";\n selectedMajorAdverseEvent = [];\n\n toAdd: any = {};\n // recordedEvents = {};\n // recordedArray = [];\n showEvents: boolean = false;\n\n options = {\n animateExpand: true,\n animateAcceleration: 1.2,\n scrollOnActivate: true,\n animateSpeed: 10\n };\n dropdownData: DropdownData;\n\n public info: InfoModalServiceService;\n public majorAdverseEventService: MajorAdverseEventService;\n public otherAdverseEventService: OtherAdverseEventService;\n public fields: CaseFieldsService;\n constructor(private router: Router,\n info: InfoModalServiceService,\n _majorAdverseEventService: MajorAdverseEventService,\n _otherAdverseEventService: OtherAdverseEventService,\n fields: CaseFieldsService\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.info = info;\n this.majorAdverseEventService = _majorAdverseEventService;\n this.otherAdverseEventService = _otherAdverseEventService;\n\n this.fields = fields;\n\n this.majorAdverseEventService\n .getMajorAdverseEvent()\n .subscribe(data => this.populateMajorEvents(data));\n\n this.otherAdverseEventService\n .getOtherAdverseEvent()\n .subscribe(data => this.populateOtherEvents(data));\n }\n\n ngOnInit() {\n \n let hasEvents = this.fields.getField(this.name, \"Recorded Events\").value != null;\n localStorage.setItem('adverseevents', JSON.stringify(this.fields.getField(this.name, \"Recorded Events\").value))\n\n this.fields.getParent(this.name)[\"hide\"] = !hasEvents;\n this.fields.currentSeriousness = null;\n this.fields.currentSeriousnessDisplay = \"\";\n this.toAdd = {};\n this.showEvents = hasEvents;\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 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 }\n\n populateMajorEvents(majorAEResponse: MajorAdverseEventResponse) {\n this.majorAdverseEventService.majorAdverseEventList =\n majorAEResponse.DataObject;\n this.majorAdverseEventService.mapToDropDown();\n\n this.dropdownData = new DropdownData(\n this.selectedMajorAdverseEvent,\n this.majorAdverseEventService.dropDownMajorAdverseEvent\n );\n }\n\n populateOtherEvents(otherAEResponse: OtherAdverseEventResponse) {\n this.otherAdverseEventService.otherAdverseEventList =\n otherAEResponse.DataObject;\n this.otherAdverseEventService.mapToDropDown();\n\n this.events = this.otherAdverseEventService.dropDownOtherAdverseEvent;\n }\n\n getKeyString(node, tree) {\n return CaseTypeTreeModel.getKeyString(node, tree);\n }\n\n //places the event in selected adverse events\n onSave($event) {\n if (!this.getEvents()) {\n this.setEvents({});\n }\n if (\n this.toAdd.id !== null &&\n this.toAdd.id > 0 &&\n this.checkExists(this.fields.currentSeriousness)\n ) {\n this.addItem(this.toAdd.name, {\n name: this.toAdd.name,\n id: this.toAdd.id,\n code: this.toAdd.code,\n major: this.toAdd.major,\n seriousness: this.fields.currentSeriousness,\n timeneeded: this.toAdd.timeneeded\n });\n }\n if (this.toAdd !== {}) {\n this.onClear($event);\n }\n }\n\n //places the selected event in the edit fields\n onSelect(event, tree) {\n if (event.node.isLeaf) {\n this.toAdd = {\n name: CaseTypeTreeModel.getKeyString(event.node, tree),\n id: event.node.data.id,\n code: event.node.data.code,\n major: \"0\",\n seriousness: \"\"\n };\n this.fields.currentSeriousness = null;\n this.setCurrentSeriousnessDisplay();\n }\n\n event.node.toggleExpanded();\n }\n\n //clears the selection in the major adverse events dropdown\n setMajor(event) {\n this.toAdd = {\n name: event.name,\n id: event.id,\n code: event.code,\n major: \"1\",\n seriousness: \"\"\n };\n this.fields.currentSeriousness = null;\n this.setCurrentSeriousnessDisplay();\n this.selectedMajorAdverseEvent = [];\n }\n\n //clears the editable event fields\n onClear(event) {\n this.toAdd = {};\n\n this.fields.currentSeriousness = null;\n this.setCurrentSeriousnessDisplay();\n }\n\n //deletes a selected procedure\n deleteProcedure(event, name) {\n let savedEvents = this.getEvents();\n delete savedEvents[name];\n let arr = Object.getOwnPropertyNames(savedEvents);\n\n if (arr.length == 0) {\n savedEvents = null;\n }\n }\n\n toggleShowEvents(val) {\n this.showEvents = val;\n this.fields.getParent(this.name)['hide'] = !val;\n\n //Adverse Events did not occur, remove selected adverse events and event description\n if (!val) {\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 }\n }\n\n toggleCheckbox(select, val) {\n this.fields.getField(this.name, val).value = select;\r\n }\n\n getDropdown(val) {\n return this.fields.getField(this.name, val).value;\n }\n\n //returns the seriousness value of a particular event\n getSeriousness(name) {\n let savedEvents = this.getEvents();\n if (savedEvents) {\n var seriousness = savedEvents[name][\"seriousness\"].substring(4,5);\n if (seriousness > 0 && seriousness < 6)\n return +savedEvents[name][\"seriousness\"].substring(4,5);\n }\n }\n\n getTimeneeded(name) {\n let savedEvents = this.getEvents();\n if (savedEvents) {\n if (savedEvents[name][\"timeneeded\"] !== null && savedEvents[name][\"timeneeded\"] !==\"\") {\n return \"(\"+savedEvents[name][\"timeneeded\"]+\" min)\";\r\n }\n else {\n return \"\";\r\n }\n\n }\n }\n\n //places a selected event in the editable fields\n editProcedure($event, name) {\n this.toAdd = this.getEvents()[name];\n this.fields.currentSeriousness = this.getEvents()[name][\"seriousness\"];\n this.setCurrentSeriousnessDisplay();\n }\n\n checkAdd() {\n return !(\n this.checkExists(this.toAdd.name) && this.checkExists(this.fields.currentSeriousness)\n && this.checkTimeneededExists(this.toAdd.timeneeded)\n );\n\n }\n\n checkExists(string) {\n return string && string !== \"\";\n }\n\n checkTimeneededExists(string) {\n if (string === 0) {\n return true;\r\n }\n return string && string !== \"\" && string > 0;\n }\n\n addItem(name, item) {\n\n this.fields.getField(this.name, \"Recorded Events\").value[name + \"\"] = item;\n \n let unordered = this.fields.getField(this.name, \"Recorded Events\").value;\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 Events\").value = ordered;\n\n //Set default value\n this.fields.getField(this.name, \"Seriousness\").value = \"AES01\";\n this.fields.getField(this.name, \"Time Needed\").value = 100;\n }\n\n getEvents() {\n return this.fields.getField(this.name, \"Recorded Events\").value;\n }\n\n setEvents(val) {\n this.fields.getField(this.name, \"Recorded Events\").value = val;\n }\n\n //gets the recorded procedures as an array\n getEventsArray() {\n var proc = this.getEvents();\n if (proc) {\n return Object.getOwnPropertyNames(this.getEvents());\n } else {\n return [];\n }\n }\n\n setCurrentSeriousnessDisplay() {\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 }\n}\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 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 },\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: \"STS\",\r\n value: null,\r\n text: null\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: true },\r\n { name: \"Total DAP\", value: null, min: 1, max: 50000, hide: true },\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: true },\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\"","module.exports = \"\"","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\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 currentDate: Date = new Date();\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 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', new Date);\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 now = new Date;\r\n let target = new Date(value);\r\n\r\n if (target.getFullYear() > now.getFullYear()) {\r\n return true;\r\n } else if (target.getFullYear() == now.getFullYear()) {\r\n if (target.getMonth() > now.getMonth()) {\r\n return true;\r\n } else if (target.getMonth() == now.getMonth()) {\r\n if (target.getDate() > now.getDate()) {\r\n return true;\r\n }\r\n }\r\n }\r\n\r\n return false;\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', \"Case Type\", null);\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 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 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 = \"
\\n\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\n\\n
\\n
\\n\\n
\\n \\n\\n
\\n
\\n\\n CLINICAL CHARACTERISTICS\\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
\\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 \\n \\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n\"","module.exports = \".tree-icon i{padding:8px}.conditions label{width:100%;margin:0px 15px}@media (max-width: 992px){.form-row{margin-top:0}}\\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 {\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 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.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 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 - 300px)}.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 this.fields.setValue(\"Case Identification\", \"Cath Date\", 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.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 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 this.fields.getField('Clinical Characteristics', 'STS').text = nodePath;\r\n this.fields.getField('Clinical Characteristics', 'STS').value = node;\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 };\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 }\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 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 = \"
\\n
\\n
\\n
\\n \\n
\\n
\\r\\n INDICATORS OF REQUIRED RESOURCES
\\r\\n Highest Level of Support During Time Period\\r\\n
\\n
\\n
\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n 6 Hrs Pre-Procedure (+/- 2 Hrs)
\\r\\n

 Same Day Admit

\\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
\\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}@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 // this.fields.getField(\"Indicators of Required Resources\", \"Nursing Assignment 48 Hrs Post-Cath\").hide = false;\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\r\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 this.router.navigate(['/user-portal/edit-case/post-save/' + newCaseId]);\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 let sts = this.fields.getField(\"Clinical Characteristics\", 'STS').value;\r\n if (sts) {\r\n return sts.data.code;\r\n }\r\n\r\n return \"\";\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 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 <= 0 || ft > 500) {\r\n // ft = null;\r\n //}\r\n this.fields.setValue(this.name, \"Total Fluoro Time\", ft);\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 <= 0 || dap > 50000) {\r\n // dap = null;\r\n //}\r\n this.fields.setValue(this.name, \"Total DAP\", dap.toFixed(0));\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\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n\\r\\n \\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 - 300px)}.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 { LoginService } from \"../../user/login.service\";\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\nimport { DropdownItemModel } from '../../../shared/dropdown-item-model';\r\nimport { SurgeryCaseFieldsService } from './surgery-case-fields.service';\r\nimport { SurCaseService } from \"./surcase.service\";\r\n\r\nimport { NgForm } from \"@angular/forms\";\r\n\r\ndeclare var jquery: any;\r\ndeclare var $: any;\r\n\r\n@Component({\r\n selector: 'app-add-surgery-case',\r\n templateUrl: './add-surgery-case.component.html',\r\n styleUrls: ['./add-surgery-case.component.scss'],\r\n host: { 'class': \"host\" }\r\n})\r\nexport class AddSurgeryCaseComponent implements OnInit {\r\n @ViewChild('addform')\r\n form: NgForm;\r\n nextRoute;\r\n prevRoute;\r\n fields: SurgeryCaseFieldsService;\r\n routerHelper: RouterHelper;\r\n user: LoginService;\r\n surcaseService: SurCaseService;\r\n constructor(private router: Router, private activatedRoute: ActivatedRoute, _fields: SurgeryCaseFieldsService, _user: LoginService, _surcaseService: SurCaseService) {\r\n this.user = _user;\r\n this.surcaseService = _surcaseService;\r\n this.routerHelper = new RouterHelper(router, activatedRoute);\r\n this.fields = _fields;\r\n this.routerHelper\r\n .getRouteData(this.router.events)\r\n .pipe(\r\n\r\n map(data => {\r\n if (data[\"next\"]) {\r\n return data[\"next\"];\r\n }\r\n })\r\n )\r\n .subscribe(pathString => {\r\n this.nextRoute = pathString;\r\n });\r\n\r\n\r\n this.routerHelper\r\n .getRouteData(this.router.events)\r\n .pipe(\r\n map(data => {\r\n return data[\"prev\"];\r\n })\r\n )\r\n .subscribe(pathString => {\r\n this.prevRoute = pathString;\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n let surcaseId = this.fields.getField(\"Case Identification\", \"Case Number\").value;\r\n //if (surcaseId != 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 }\r\n ngOnDestroy() {\r\n //this.fields.resetFields();\r\n }\r\n saveCase() {\r\n // this.caseService.route = \"\"\r\n this.surcaseService.route = \"addsurgerycase\"\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 Clinical Outcomes\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
In Hospital Mortality
\\r\\n
\\r\\n
\\r\\n
\\r\\n
In Hospital Death
\\r\\n
\\r\\n \\r\\n \\r\\n   \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
Infections
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
Bacterial sepsis: known or presumed bacterial sepsis with fever or hypothermia, tachycardia, hypotension, tachypnea, leukocytosis or leukopenia.\\r\\n
Positive blood cultures are not required if the patient’s clinical course is otherwise consistent with sepsis, because of the possibility of false negatives.\\r\\n
Bacterial sepsis, secondary to other infections such as pneumonia, catheter associated bloodstream infections, or surgical site infections, should be included.\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n Bacterial Sepsis\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n   \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n Surgical Site Infection\\r\\n
1. SIP/SIS: Superficial Incisional Surgical Site Infection. Must meet the following criteria:\\r\\n
a. Infection occurs within 30 days after the procedure, and\\r\\n
b. Involves only skin and subcutaneous tissue of the incision, and\\r\\n
c. Patient has at least 1 of the following:\\r\\n
i. Purulent drainage from the superficial incision.\\r\\n
ii. Organisms isolated from an aseptically obtained culture or fluid or tissue from the superficial incision.\\r\\n
iii. Patient has at least 1 of the following signs or symptoms of infection: pain or tenderness, localized swelling, redness or heat, and superficial incision is deliberately opened by a surgeon and is culture positive or not cultured. A culture negative finding does not meet this criterion.\\r\\n
iv. Diagnosis of a deep incisional SSI by a surgeon or attending physician. Surgical Site Infection (SSI)\\r\\n
1 SIP/SIS: Superficial Incisional Surgical Site Infection. Must meet the following criteria:\\r\\n
a. Infection occurs within 30 days after the procedure, and\\r\\n
b. Involves only skin and subcutaneous tissue of the incision, and\\r\\n
c. Patient has at least 1 of the following:\\r\\n
i. Purulent drainage from the superficial incision.\\r\\n
ii. Organisms isolated from an aseptically obtained culture or fluid or tissue from the superficial incision.\\r\\n
iii. Patient has at least 1 of the following signs or symptoms of infection: pain or tenderness, localized swelling, redness or heat, and superficial incision is deliberately opened by a surgeon and is culture positive or not cultured. A culture negative finding does not meet this criterion.\\r\\n
iv. Diagnosis of a deep incisional SSI by a surgeon or attending physician.\\r\\n
2. DIP/DIS: Deep Incisional Surgical Site Infection. Must meet the following criteria:\\r\\n
a. Infection occurs within 30 or 90 days after the operative procedure if no implant is left in place (or within 1 year if implant is in place and the infection appears to be related to the operative procedures), and\\r\\n
b. Involves deep soft tissues of the incision, and\\r\\n
c. Patient has at least 1 of the following:\\r\\n
i. purulent drainage from the deep incision but not from the organ/space component of the surgical site.\\r\\n
ii. A deep incision spontaneously dehisces or is deliberately opened by a surgeon and is culture-positive or not cultured when the patient has at least 1 of the following signs or symptoms: fever (>38°C) or localized pain or tenderness. A culture-negative finding does not meet this criterion.\\r\\n
iii. An abscess or other evidence of infection involving the deep incision is found on direct examination, during reoperation, or by histopathologic or radiologic examination.\\r\\n
iv. Diagnosis of a deep incisional SSI by a surgeon or attending physician.\\r\\n
3. Mediastinitis. Must meet the following criteria:\\r\\n
a. Infection occurs within 30 or 90 days after the operative procedure if no implant is left in place or within 1 year if implant is in place and the infection appears to be related to the operative procedure, and\\r\\n
b. Infection involves any part of the body, excluding the skin incision, fascia, or muscle layers, that is opened or manipulated during the operative procedure, and\\r\\n
c. Patient has at least 1 of the following:\\r\\n
i. Purulent Drainage from a drain that is placed through a stab wound into the organ/space.\\r\\n
ii. Organisms isolated from an aseptically obtained culture of fluid or tissue in the organ/space.\\r\\n
iii. An abscess or other evidence of infection involving the organ/space that is found on direct examination, during reoperation, or by histopathologic or radiologic examination.\\r\\n
iv. Diagnosis of an organ/space SSI by a surgeon or attending physician.\\r\\n
\\r\\n
\\r\\n
\\r\\n Surgical Site Infection\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n   \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n Surgical Site Infection 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
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n Any Additional Hospital Aquired Infections\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n   \\r\\n \\r\\n   \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n Ventilator Associated Pneumonia\\r\\n
1 One or more imaging tests with one of the following:\\r\\n
a. Infiltration\\r\\n
b. Consolidation\\r\\n
c. Cavitation\\r\\n
d. Pneumatoceles (in ≤ 1 year old)\\r\\n
2 At least three of the following:\\r\\n
a. Fever (> 38° C) or Hypothermia (< 36°C)\\r\\n
b. Leukopenia (≤ 4,000 WBC/mm3 ) or Leukocytosis (≥ 15,000 WBC/mm3 )\\r\\n
c. New onset purulent sputum, or change in character of sputum, or increased respiratory secretions, or increased suctioning requirements\\r\\n
d. New onset or worsening cough, or dyspnea, or tachypnea\\r\\n
e. Rales or bronchial breath sounds\\r\\n
f. Worsening gas exchange, or increased Oxygen requirement, or increased ventilation demand\\r\\n
g. If patient is ≤ 1 year of age, one of the following additional symptoms may be considered qualifying: Apnea, tachypnea, nasal flaring with retraction of chest wall or grunting, wheezing, rhonchi, cough, bradycardia (<100 beats /min) or tachycardia (>\\r\\n 170 beats/min)\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Ventilator Associated 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 Central Line Associated Bloodstream Infection (CLABSI)\\r\\n
A laboratory confirmed bloodstream infection where an eligible organism is identified and an eligible central line is present on the date of the event or the day before.\\r\\n Central line (CL): An intravascular catheter that terminates at or close to the heart, OR in one of the great vessels that is used for infusion, withdrawal of blood, or hemodynamic monitoring. Consider the following great vessels when making determinations: Aorta • Pulmonary artery • Superior vena cava • Inferior vena cava • Brachiocephalic veins • Internal jugular veins • Subclavian veins • External iliac veins • Common iliac veins • Femoral veins • In neonates, the umbilical artery/vein.\\r\\n Central line-associated BSI (CLABSI): Patient must meet criteria 1, 2 and 3:\\r\\n
1 Central line has been in place for more than two consecutive calendar days and was present on the day of the event or the day before\\r\\n
2 Patient has at least one of the following signs or symptoms:\\r\\n
a. fever (>38.0°C)\\r\\n
b. chills\\r\\n
c. hypotension\\r\\n
d. If patient is ≤ 1 year of age, one of the following additional symptoms may be considered qualifying: Hypothermia (< 36°C), apnea, bradycardia\\r\\n
3 Organism(s) identified in blood is not related to an infection at another site\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Catheter Associated Bloodstream Infection\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n   \\r\\n \\r\\n   \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
Catheter Associated Urinary Tract Infection (CAUTI)\\r\\n
Patient must meet criteria 1, 2 and 3:\\r\\n
1 Indwelling catheter was in place for more than two consecutive calendar days and was present on the day of the event or the day before\\r\\n
2 Patient has at least one of the following signs or symptoms:\\r\\n
a. Fever (> 38° C)\\r\\n
b. Suprapubic tenderness\\r\\n
c. Costovertebral pain/tenderness\\r\\n
d. Urinary urgency\\r\\n
e. Urinary frequency\\r\\n
f. Dysuria\\r\\n
g. If patient is ≤ 1 year of age, one of the following additional symptoms may be considered qualifying: Hypothermia (< 36°C), apnea, bradycardia, lethargy, vomiting\\r\\n
3 Patient has a urine culture with no more than two species of organism identified, at least one of which is a bacterium of ≥ 105 CFU/ml.\\r\\n
with no other recognized cause\\r\\n
cannot be used when catheter is in place\\r\\n
\\r\\n
\\r\\n
\\r\\n Catheter Associated Urinary Tract Infection\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n   \\r\\n \\r\\n   \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n
Complications
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Complications\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n   \\r\\n \\r\\n   \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n Required Additional Surgery For Bleeding\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n   \\r\\n \\r\\n   \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n Re-intubations With In 24 Hours Of Extubation\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n   \\r\\n \\r\\n   \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n ICU Readmission After 24 Hours Of Discharge From ICU\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n   \\r\\n \\r\\n   \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n Diaphragmatic Paralysis\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n   \\r\\n \\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 Surgical Heart Block Requiring Pacemaker\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n   \\r\\n \\r\\n   \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n Tracheostomy During The Same Admission As Surgery\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n   \\r\\n \\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-operative Seizures\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n   \\r\\n \\r\\n   \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n Acute Kidney Injury Requiring Dialysis\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n   \\r\\n \\r\\n   \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n Other Complications\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n   \\r\\n \\r\\n   \\r\\n \\r\\n \\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 = \".surg-infection-label{width:150px}#mediastinitis-label{display:block;text-align:center;line-height:90px}\\n\"","import { Component, OnInit, AfterViewInit, ViewChild, HostListener } from \"@angular/core\";\r\nimport { SurgeryCaseFieldsService } from \"../surgery-case-fields.service\";\r\nimport { ComponentCanDeactivate } from \"../../../../CanDeactivateGaurd\";\r\nimport { NgForm } from \"@angular/forms\";\r\nimport { Observable } from \"rxjs\";\r\nimport { Router, NavigationStart } from \"@angular/router\";\r\nimport { filter } from \"rxjs/operators\";\r\n\r\n@Component({\r\n selector: \"app-clinical-outcomes\",\r\n templateUrl: \"./clinical-outcomes.component.html\",\r\n styleUrls: [\"./clinical-outcomes.component.scss\"],\r\n host: { 'class': \"host\" }\r\n})\r\nexport class ClinicalOutcomesComponent implements OnInit, AfterViewInit, ComponentCanDeactivate {\r\n @ViewChild('form') form: NgForm;\r\n public fields: SurgeryCaseFieldsService;\r\n public name = \"Clinical Outcomes\";\r\n deathInHospital: boolean = false;\r\n bacterialSepsis: boolean = false;\r\n surgicalSiteInfection: boolean = false;\r\n otherComplications: boolean = false;\r\n anyComplications: number = null;\r\n hospitalInfections: number = 0;\r\n ventilatorPneumonia: number = null;\r\n cathInfection: number = null;\r\n cathUTI: number = null;\r\n currentDate: Date = new Date();\r\n dODDescription: string = \"\";\r\n dOD: string = \"\";\r\n showTooltipText: boolean = false;\r\n showTooltipText2: boolean = false;\r\n showTooltipText3: boolean = false;\r\n showTooltipText4: boolean = false;\r\n showTooltipText5: boolean = false;\r\n allowAccessToRadio: boolean = false;\r\n allowAccessToComplicationsRadio: boolean = true;\r\n constructor(private router: Router, _fields: SurgeryCaseFieldsService) {\r\n router.events\r\n .pipe(filter(e => e instanceof NavigationStart))\r\n .subscribe((e: NavigationStart) => {\r\n localStorage.setItem('editsurgerycase', e.url);\r\n });\r\n this.fields = _fields;\r\n \r\n }\r\n\r\n ngAfterViewInit() {\r\n if (this.fields.getField(this.name, \"HospitalInfections\").value == 'No' || this.fields.getField(this.name, \"HospitalInfections\").value === 'Not Collected') {\r\n this.allowAccessToRadio = true\r\n }\r\n else {\r\n this.allowAccessToRadio = false\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n localStorage.removeItem('clinicaloutcomedirty');\r\n if (this.fields.getField(this.name, \"InHospDeath\").value === 'No') {\r\n this.fields.getField(this.name, \"dOD\").hide = true;\r\n this.fields.getField(this.name, \"dODDescription\").hide = true;\r\n }\r\n if (this.fields.getField(this.name, \"InHospDeath\").value === 'Yes') {\r\n this.fields.getField(this.name, \"dOD\").hide = false;\r\n this.fields.getField(this.name, \"dODDescription\").hide = false;\r\n }\r\n\r\n if (this.fields.getField(this.name, \"VentPneumonia\").value === null) {\r\n if (this.fields.getField(this.name, \"HospitalInfections\").value === 'No') {\r\n this.fields.setValue(this.name, \"VentPneumonia\",'No')\r\n }\r\n if (this.fields.getField(this.name, \"HospitalInfections\").value === 'Not Collected') {\r\n this.fields.setValue(this.name, \"VentPneumonia\",'Not Collected')\r\n }\r\n }\r\n if (this.fields.getField(this.name, \"CathInfection\").value === null) {\r\n if (this.fields.getField(this.name, \"HospitalInfections\").value === 'No') {\r\n this.fields.setValue(this.name, \"CathInfection\", 'No')\r\n }\r\n if (this.fields.getField(this.name, \"HospitalInfections\").value === 'Not Collected') {\r\n this.fields.setValue(this.name, \"CathInfection\", 'Not Collected')\r\n }\r\n }\r\n if (this.fields.getField(this.name, \"cathUTI\").value === null) {\r\n if (this.fields.getField(this.name, \"HospitalInfections\").value === 'No') {\r\n this.fields.setValue(this.name, \"cathUTI\", 'No')\r\n }\r\n if (this.fields.getField(this.name, \"HospitalInfections\").value === 'Not Collected') {\r\n this.fields.setValue(this.name, \"cathUTI\", 'Not Collected')\r\n }\r\n }\r\n // this.allowAccessToRadio = true\r\n if (this.fields.getField(this.name, \"HospitalInfections\").value === 'No') {\r\n this.allowAccessToRadio = true\r\n }\r\n //if (this.fields.getField(this.name, \"AnyComplications\").value === 'No' || this.fields.getField(this.name, \"AnyComplications\").value === 'Not Collected') {\r\n // this.allowAccessToComplicationsRadio = true\r\n //}\r\n\r\n // this.isAllowed();\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('clinicaloutcomedirty', 'true');\r\n return !this.form.dirty;\r\n }\r\n\r\n showTooltip(b: boolean) {\r\n \r\n this.showTooltipText = b;\r\n }\r\n showTooltip2(b: boolean) {\r\n\r\n this.showTooltipText2 = b;\r\n }\r\n showTooltip3(b: boolean) {\r\n\r\n this.showTooltipText3 = b;\r\n }\r\n showTooltip4(b: boolean) {\r\n\r\n this.showTooltipText4 = b;\r\n }\r\n showTooltip5(b: boolean) {\r\n\r\n this.showTooltipText5 = b;\r\n }\r\n\r\n\r\n toggleHospitalInfections(n: number) {\r\n this.hospitalInfections = n;\r\n if (n == 0 || n == 3) {\r\n this.cathInfection = this.ventilatorPneumonia = this.cathUTI = n;\r\n } else {\r\n this.cathInfection = this.ventilatorPneumonia = this.cathUTI = null;\r\n }\r\n }\r\n\r\n isAllowed() {\r\n if (this.fields.getField(this.name, \"HospitalInfections\").value === 'No' || this.fields.getField(this.name, \"HospitalInfections\").value === 'Not Collected') {\r\n return true\r\n }\r\n else\r\n return false\r\n }\r\n\r\n isCompAllowed() {\r\n if (this.fields.getField(this.name, \"AnyComplications\").value === 'No' || this.fields.getField(this.name, \"AnyComplications\").value === 'Not Collected') {\r\n return true\r\n }\r\n else\r\n return false\r\n }\r\n\r\n toggleTextbox(val) {\r\n if (val === 'VentPneumonia' && this.fields.getValue(this.name, val) !== 'Yes') {\r\n this.fields.setValue(this.name, \"VentPneumoniaDescription\", null);\r\n }\r\n if (val === 'CathInfection' && this.fields.getValue(this.name, val) !== 'Yes') {\r\n this.fields.setValue(this.name, \"CathInfectionDescription\", null);\r\n }\r\n if (val === 'cathUTI' && this.fields.getValue(this.name, val) !== 'Yes') {\r\n this.fields.setValue(this.name, \"CathUTIDescription\", null);\r\n }\r\n }\r\n toggleCheckbox(val) {\r\n if (val === 'InHospDeath' && this.fields.getValue(this.name, val) === 'No') {\r\n this.fields.setValue(this.name, \"dOD\", null);\r\n this.fields.setValue(this.name, \"dODDescription\", null);\r\n }\r\n\r\n if (val === 'InHospDeath' && this.fields.getValue(this.name, val) === 'Yes') {\r\n if (this.fields.getValue(\"Day 30 Status\", 'IsPatientAlive') == 'true') {\r\n this.fields.setValue(\"Day 30 Status\", 'IsPatientAlive', 'false');\r\n this.fields.setValue(\"Day 30 Status\", \"IsPatientDischarged\", null);\r\n this.fields.setValue(\"Day 30 Status\", \"IsPatientDoingWell\", null);\r\n }\r\n }\r\n\r\n if (val === 'BactSepsis' && this.fields.getValue(this.name, val) === 'No') {\r\n this.fields.setValue(this.name, \"BactSepsisDescription\", null);\r\n }\r\n \r\n if (val === 'SurgicalSiteInfection' && this.fields.getValue(this.name, val) === 'No') {\r\n this.fields.setValue(this.name, \"SurgicalSiteInfectionType\", null);\r\n this.fields.getField(this.name, \"SurgicalSiteInfectionType\").hide = true;\r\n this.fields.setValue(this.name, \"SurSiteInfectionDescription\", null);\r\n }\r\n if (this.fields.getField(this.name, \"HospitalInfections\").value === 'No') {\r\n this.fields.setValue(this.name, \"VentPneumonia\",\"No\")\r\n this.fields.setValue(this.name, \"CathInfection\", \"No\")\r\n this.fields.setValue(this.name, \"cathUTI\", \"No\")\r\n this.fields.setValue(this.name, \"VentPneumoniaDescription\", null);\r\n this.fields.setValue(this.name, \"CathInfectionDescription\", null);\r\n this.fields.setValue(this.name, \"CathUTIDescription\", null);\r\n this.allowAccessToRadio = true\r\n }\r\n if (this.fields.getField(this.name, \"HospitalInfections\").value === 'Not Collected') {\r\n this.fields.setValue(this.name, \"VentPneumonia\", \"Not Collected\")\r\n this.fields.setValue(this.name, \"CathInfection\", \"Not Collected\")\r\n this.fields.setValue(this.name, \"cathUTI\", \"Not Collected\")\r\n this.fields.setValue(this.name, \"VentPneumoniaDescription\", null);\r\n this.fields.setValue(this.name, \"CathInfectionDescription\", null);\r\n this.fields.setValue(this.name, \"CathUTIDescription\", null);\r\n this.allowAccessToRadio = true\r\n }\r\n if (val === 'HospitalInfections' && this.fields.getField(this.name, \"HospitalInfections\").value === 'Yes') {\r\n this.fields.setValue(this.name, \"VentPneumonia\", null)\r\n this.fields.setValue(this.name, \"CathInfection\", null)\r\n this.fields.setValue(this.name, \"cathUTI\", null)\r\n this.allowAccessToRadio = false\r\n }\r\n\r\n \r\n\r\n //Complications\r\n if (this.fields.getField(this.name, \"AnyComplications\").value === 'No') {\r\n this.fields.setValue(this.name, \"ReqAddSurgeryForBleeding\", \"No\")\r\n this.fields.setValue(this.name, \"ReIntubationIn24hrs\", \"No\")\r\n this.fields.setValue(this.name, \"ICUReAdmissionAfter24Hrs\", \"No\")\r\n this.fields.setValue(this.name, \"DiaphragmaticParalysis\", \"No\")\r\n this.fields.setValue(this.name, \"PostSurgicalHeartBlock\", \"No\")\r\n this.fields.setValue(this.name, \"Tracheostomy\", \"No\")\r\n this.fields.setValue(this.name, \"PostOperativeSeizures\", \"No\")\r\n this.fields.setValue(this.name, \"AcuteKidneyInjury\", \"No\")\r\n this.fields.setValue(this.name, \"OtherComplications\", \"No\")\r\n this.allowAccessToComplicationsRadio = true\r\n }\r\n if (this.fields.getField(this.name, \"AnyComplications\").value === 'Not Collected') {\r\n this.fields.setValue(this.name, \"ReqAddSurgeryForBleeding\", \"Not Collected\")\r\n this.fields.setValue(this.name, \"ReIntubationIn24hrs\", \"Not Collected\")\r\n this.fields.setValue(this.name, \"ICUReAdmissionAfter24Hrs\", \"Not Collected\")\r\n this.fields.setValue(this.name, \"DiaphragmaticParalysis\", \"Not Collected\")\r\n this.fields.setValue(this.name, \"PostSurgicalHeartBlock\", \"Not Collected\")\r\n this.fields.setValue(this.name, \"Tracheostomy\", \"Not Collected\")\r\n this.fields.setValue(this.name, \"PostOperativeSeizures\", \"Not Collected\")\r\n this.fields.setValue(this.name, \"AcuteKidneyInjury\", \"Not Collected\")\r\n this.fields.setValue(this.name, \"OtherComplications\", \"Not Collected\")\r\n this.allowAccessToComplicationsRadio = true\r\n }\r\n if (this.fields.getField(this.name, \"AnyComplications\").value === 'Yes') {\r\n this.fields.setValue(this.name, \"ReqAddSurgeryForBleeding\", null)\r\n this.fields.setValue(this.name, \"ReIntubationIn24hrs\", null)\r\n this.fields.setValue(this.name, \"ICUReAdmissionAfter24Hrs\", null)\r\n this.fields.setValue(this.name, \"DiaphragmaticParalysis\", null)\r\n this.fields.setValue(this.name, \"PostSurgicalHeartBlock\", null)\r\n this.fields.setValue(this.name, \"Tracheostomy\", null)\r\n this.fields.setValue(this.name, \"PostOperativeSeizures\", null)\r\n this.fields.setValue(this.name, \"AcuteKidneyInjury\", null)\r\n this.fields.setValue(this.name, \"OtherComplications\", null)\r\n this.allowAccessToComplicationsRadio = false\r\n }\r\n }\r\n}\r\n","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n 30 DAY STATUS\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{thirtyDaysMessage}}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n Please try to follow up with patient within 30-37 days.This will ensure that, should the 30-day follow-up fall on a Sunday, contact can still be made with the patient within the preferred period of time.\\r\\n If it is unreasonable for the patient to come back to the clinic for follow-up, please attempt to make contact with the patient via phone or email.\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n Is Patient Alive\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n   \\r\\n \\r\\n   \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n Has the Patient Been Discharged\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n   \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n Is The Patient Doing Well\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n   \\r\\n \\r\\n \\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}}\\n\"","import { Component, OnInit, HostListener, ViewChild } from \"@angular/core\";\r\nimport { SurgeryCaseFieldsService } from \"../surgery-case-fields.service\";\r\n\r\nimport { LoginService } from \"../../../user/login.service\";\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\nimport { DropdownItemModel } from \"../../../../shared/dropdown-item-model\";\r\nimport { formatDate } from \"@angular/common\";\r\nimport { ComponentCanDeactivate } from \"../../../../CanDeactivateGaurd\";\r\nimport { Observable } from \"rxjs\";\r\nimport { NgForm } from \"@angular/forms\";\r\nimport { Router, NavigationStart } from \"@angular/router\";\r\nimport { filter } from \"rxjs/operators\";\r\n\r\n@Component({\r\n selector: \"app-day-30-status\",\r\n templateUrl: \"./day-30-status.component.html\",\r\n styleUrls: [\"./day-30-status.component.scss\"],\r\n host: { class: \"host\" },\r\n})\r\nexport class Day30StatusComponent implements OnInit, ComponentCanDeactivate {\r\n @ViewChild('form') form: NgForm;\r\n public fields: SurgeryCaseFieldsService;\r\n name = \"Day 30 Status\";\r\n isPatientAlive: number;\r\n isDischarged: boolean = false;\r\n showTooltipText1: boolean = false;\r\n thirtyDaysMessage: any = null;\r\n public is30DayStatusVisible: boolean = false;\r\n constructor(private router: Router, _fields: SurgeryCaseFieldsService) {\r\n router.events\r\n .pipe(filter(e => e instanceof NavigationStart))\r\n .subscribe((e: NavigationStart) => {\r\n localStorage.setItem('editsurgerycase', e.url);\r\n });\r\n this.fields = _fields;\r\n }\r\n\r\n ngOnInit() {\r\n localStorage.removeItem('day30statusdirty');\r\n this.ThirtyDayStatusValidation()\r\n }\r\n @HostListener('window:beforeunload')\r\n canDeactivate(): Observable | boolean {\r\n\r\n if (this.form.dirty)\r\n localStorage.setItem('day30statusdirty', 'true');\r\n if (this.fields.getField(this.name, \"IsPatientAlive\").value !== null) {\r\n localStorage.setItem('day30statusdirty', 'true');\r\n }\r\n return !this.form.dirty;\r\n }\r\n private ThirtyDayStatusValidation() {\r\n var surgeryDate = this.fields.getValue(\"Case Identification\", \"Surg Date\");\r\n if (surgeryDate !== null) {\r\n var today = new Date();\r\n var lessthan30daysDate = new Date(new Date().setDate(today.getDate() - 30))\r\n if (formatDate(lessthan30daysDate, 'yyyy-MM-dd', 'en-US') <= formatDate(surgeryDate, 'yyyy-MM-dd', 'en-US')) {\r\n this.is30DayStatusVisible = true\r\n this.fields.fields.find(item => item.name == this.name).hide = true;\r\n this.thirtyDaysMessage = \"30 day status can be entered 30 days after surgery. The date of surgery for this case is: \" + formatDate(surgeryDate, 'yyyy-MM-dd', 'en-US');\r\n this.fields.setValue(this.name, \"IsPatientAlive\", null);\r\n this.fields.setValue(this.name, \"IsPatientDischarged\", null);\r\n this.fields.setValue(this.name, \"IsPatientDoingWell\", null);\r\n }\r\n else {\r\n this.fields.fields.find(item => item.name == this.name).hide = false;\r\n if (this.fields.getValue(\"Clinical Outcomes\", \"InHospDeath\") === 'No') {\r\n this.fields.getField(this.name, \"IsPatientDischarged\").hide = false;\r\n localStorage.setItem('day30statusdirty', 'true');\r\n }\r\n if (this.fields.getValue(\"Clinical Outcomes\", \"InHospDeath\") === 'Yes') {\r\n this.fields.setValue(this.name, \"IsPatientAlive\", 'false');\r\n this.fields.getField(this.name, \"IsPatientDischarged\").hide = true;\r\n this.fields.getField(this.name, \"IsPatientDoingWell\").hide = true;\r\n this.fields.setValue(this.name, \"IsPatientDischarged\", null);\r\n this.fields.setValue(this.name, \"IsPatientDoingWell\", null);\r\n localStorage.setItem('day30statusdirty', 'true');\r\n }\r\n }\r\n }\r\n\r\n }\r\n showTooltip1(b: boolean) {\r\n\r\n this.showTooltipText1 = b;\r\n }\r\n toggleCheckbox(val) {\r\n //this.fields.setValue(name, 'IsPatientDischarged' false)\r\n if (val === 'IsPatientAlive' && this.fields.getValue(this.name, val) !== 'true') {\r\n this.fields.setValue(this.name, \"IsPatientDischarged\", null);\r\n this.fields.setValue(this.name, \"IsPatientDoingWell\", null);\r\n this.fields.getField(this.name, \"IsPatientDischarged\").hide = true;\r\n this.fields.getField(this.name, \"IsPatientDoingWell\").hide = true;\r\n }\r\n if (val === 'IsPatientDischarged' && this.fields.getValue(this.name, val) === 'No') {\r\n this.fields.setValue(this.name, \"IsPatientDoingWell\", null);\r\n this.fields.getField(this.name, \"IsPatientDoingWell\").hide = true;\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\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n\\r\\n \\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 - 300px)}.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 { SurgeryCaseFieldsService } from \"./surgery-case-fields.service\";\r\nimport { SurCaseService } from \"./surcase.service\";\r\nimport { SurCaseResponse } from \"../../../shared/iqis/surcase/surcase-response\";\r\nimport { SurCaseModel } from '../../../shared/iqis/surcase/surcase-model';\r\nimport { SurCaseProcEfficacyInfoModel } from '../../../shared/iqis/surcase/surcase-proc-efficacy-info-model';\r\nimport { LoginService } from \"../login.service\";\r\nimport { SurProcedurePicklistService } from \"../../shared-data-entry/surprocedure-picklist.service\";\r\nimport { SurProcedurePicklistResponse } from '../../../shared/iqis/surprocedure-picklist-response';\r\nimport { ComponentCanDeactivate } from '../../../CanDeactivateGaurd';\r\nimport { NgForm } from \"@angular/forms\";\r\nimport { SurDropdownItemModel } from \"../../../shared/iqis/surdropdown-item-model\";\r\nimport { SurCardiacDiagnosisService } from \"../../shared-data-entry/surcardiac-diagnosis.service\";\r\n\r\n\r\n@Component({\r\n selector: \"app-edit-case\",\r\n templateUrl: \"./edit-surgery-case.component.html\",\r\n styleUrls: [\"./edit-surgery-case.component.scss\"],\r\n animations: [fadeAnimation]\r\n})\r\nexport class EditSurgeryCaseComponent implements OnInit, OnDestroy, ComponentCanDeactivate {\r\n\r\n @ViewChild('form') form: NgForm;\r\n //form: NgForm;\r\n\r\n caseId: number;\r\n plData = [];\r\n caseModel: SurCaseModel;\r\n loadData: boolean;\r\n loading: boolean = false;\r\n nextRoute;\r\n prevRoute;\r\n\r\n fields: SurgeryCaseFieldsService;\r\n routerHelper: RouterHelper;\r\n activatedRoute: ActivatedRoute;\r\n caseService: SurCaseService;\r\n user: LoginService;\r\n procedurePicklistService: SurProcedurePicklistService;\r\n public surCardiacDiagnosisService: SurCardiacDiagnosisService;\r\n constructor(private router: Router,\r\n _activatedRoute: ActivatedRoute,\r\n _fields: SurgeryCaseFieldsService,\r\n _caseService: SurCaseService,\r\n _user: LoginService,\r\n _procedurePicklistService: SurProcedurePicklistService,\r\n _surCardiacDiagnosisService: SurCardiacDiagnosisService) {\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.routerHelper = new RouterHelper(this.router, this.activatedRoute); \r\n this.setCaseBase();\r\n this.procedurePicklistService = _procedurePicklistService;\r\n this.surCardiacDiagnosisService = _surCardiacDiagnosisService;\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 validateProcedurePicklist(ppr: SurProcedurePicklistResponse) {\r\n this.procedurePicklistService.procedureList = ppr.DataObject;\r\n this.procedurePicklistService.mapToDropDown();\r\n\r\n // this.setCaseData();\r\n }\r\n\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(\"Medical History\")[\"link\"] = this.fields.getParent(\"Medical History\")[\"link\"] + \"/\" + this.caseId;\r\n this.fields.getParent(\"Surgical Procedures\")[\"link\"] = this.fields.getParent(\"Surgical Procedures\")[\"link\"] + \"/\" + this.caseId;\r\n this.fields.getParent(\"Surgery Events\")[\"link\"] = this.fields.getParent(\"Surgery Events\")[\"link\"] + \"/\" + this.caseId;\r\n this.fields.getParent(\"Clinical Outcomes\")[\"link\"] = this.fields.getParent(\"Clinical Outcomes\")[\"link\"] + \"/\" + this.caseId;\r\n this.fields.getParent(\"Day 30 Status\")[\"link\"] = this.fields.getParent(\"Day 30 Status\")[\"link\"] + \"/\" + this.caseId;\r\n this.fields.getParent(\"Procedural Efficacy\")[\"link\"] = this.fields.getParent(\"Procedural Efficacy\")[\"link\"] + \"/\" + this.caseId;\r\n \r\n }\r\n }\r\n\r\n }\r\n\r\n private loadResponse(data: SurCaseResponse) {\r\n\r\n this.caseModel = data.DataObject;\r\n this.fields.caseLoaded = true;\r\n\r\n try {\r\n this.fields.setValue(\"Case Identification\", 'Case Number', this.caseModel.SurCaseId);\r\n this.fields.setValue(\"Case Identification\", \"Hospital\", this.caseModel.SurLocationId);\r\n this.fields.setValue(\"Case Identification\", \"Surg Date\", new Date(this.caseModel.SurgDate));\r\n this.fields.setValue(\"Case Identification\", \"uniquePatientId\", this.caseModel.SurCaseUniqueIdentifier);\r\n this.fields.setValue(\"Case Identification\", \"PIPofcardiacSurgeons\", this.convertTrueFalse(this.caseModel.SurPerfPVCSGInd));\r\n if (this.caseModel.PrimarySurgeonId > 0) {\r\n this.fields.setValue(\"Case Identification\", \"Surgeon\", this.caseModel.PrimarySurgeonId);\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.SurCaseClinicalInfo && this.caseModel.SurCaseClinicalInfo.SurCaseClinicalInfoId > 0) {\r\n this.fields.setValue(\"Clinical Characteristics\", 'Id', this.caseModel.SurCaseClinicalInfo.SurCaseClinicalInfoId);\r\n this.fields.setValue(\"Clinical Characteristics\", 'Prematurity Unit', this.getprematurevalue(this.caseModel.SurCaseClinicalInfo.PatPreMaturityVal));\r\n if (this.caseModel.SurCaseClinicalInfo.PatAge > 0) {\r\n this.fields.setValue(\"Clinical Characteristics\", 'Age', this.caseModel.SurCaseClinicalInfo.PatAge);\r\n this.fields.setValue(\"Clinical Characteristics\", 'Age Unit', this.convertAgeType(this.caseModel.SurCaseClinicalInfo.PatAgeType));\r\n }\r\n if (this.caseModel.SurCaseClinicalInfo.PatSex != '') {\r\n this.fields.setValue(\"Clinical Characteristics\", 'Sex', this.caseModel.SurCaseClinicalInfo.PatSex);\r\n }\r\n if (this.caseModel.SurCaseClinicalInfo.PatWeight > 0) {\r\n this.fields.setValue(\"Clinical Characteristics\", 'Weight', this.caseModel.SurCaseClinicalInfo.PatWeight);\r\n }\r\n if (this.caseModel.SurCaseClinicalInfo.PatHeight > 0) {\r\n this.fields.setValue(\"Clinical Characteristics\", 'Height', this.caseModel.SurCaseClinicalInfo.PatHeight);\r\n }\r\n if (this.caseModel.SurCaseClinicalInfo.PatBSA > 0) {\r\n this.fields.setValue(\"Clinical Characteristics\", 'BSA', this.caseModel.SurCaseClinicalInfo.PatBSA);\r\n }\r\n if (this.caseModel.SurCaseClinicalInfo.SurHemotocritVal != '') {\r\n this.fields.setValue(\"Clinical Characteristics\", 'Hematocrit', this.caseModel.SurCaseClinicalInfo.SurHemotocritVal);\r\n }\r\n if (this.caseModel.SurCaseClinicalInfo.SurOxygenSatVal != '') {\r\n this.fields.setValue(\"Clinical Characteristics\", 'OxygenSaturation', this.caseModel.SurCaseClinicalInfo.SurOxygenSatVal);\r\n }\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.SurCaseMedicalHistInfo && this.caseModel.SurCaseMedicalHistInfo.SurCaseMedHistId > 0) {\r\n this.fields.setValue(\"Medical History\", 'SurCaseMedHistId', this.caseModel.SurCaseMedicalHistInfo.SurCaseMedHistId);\r\n if(this.caseModel.SurCaseMedicalHistInfo.CardiacDiagCodes.length >0)\r\n this.fields.setValue(\"Medical History\", 'Recorded Events', this.getMedicalHistoryprocedures(this.caseModel.SurCaseMedicalHistInfo.CardiacDiagCodes));\r\n this.fields.setValue(\"Medical History\", 'RheumaticHeartDiseaseInd', this.getYesNo(this.caseModel.SurCaseMedicalHistInfo.RheumeticFeverInd));\r\n\r\n this.fields.setValue(\"Medical History\", 'GenericsyndromeInd', this.getYesNo(this.caseModel.SurCaseMedicalHistInfo.GenericSyndInd));\r\n this.fields.setValue(\"Medical History\", 'GenericsyndromeVal', this.caseModel.SurCaseMedicalHistInfo.GenericSyngVal);\r\n\r\n this.fields.setValue(\"Medical History\", 'StructuralAnomalyInd', this.getYesNo(this.caseModel.SurCaseMedicalHistInfo.MajorNcsAnomalyInd));\r\n this.fields.setValue(\"Medical History\", 'StructuralAnomalyVal', this.caseModel.SurCaseMedicalHistInfo.MajorNcsAnomalyVal);\r\n this.fields.setValue(\"Medical History\", 'MedicalIllnessInd', this.getYesNo(this.caseModel.SurCaseMedicalHistInfo.MajorNcMedIllnessInd));\r\n this.fields.setValue(\"Medical History\", 'MedicalIllnessVal', this.caseModel.SurCaseMedicalHistInfo.MajorNcMedIllnessVal);\r\n\r\n this.fields.setValue(\"Medical History\", 'PreviousCardiacSurgeryInd', this.getYesNo(this.caseModel.SurCaseMedicalHistInfo.PrevCardSurgInd));\r\n this.fields.setValue(\"Medical History\", 'NumberOfUniqueCardiacOperations', this.caseModel.SurCaseMedicalHistInfo.PrevCardSurgeries);\r\n\r\n this.fields.setValue(\"Medical History\", 'PreviousCardiacCatheterizationInd', this.getYesNo(this.caseModel.SurCaseMedicalHistInfo.PrevCardCathInd));\r\n\r\n this.fields.setValue(\"Medical History\", 'BalloonAtrioseptostomyBeforeSurgeryInd', this.getYesNo(this.caseModel.SurCaseMedicalHistInfo.PreoprBakatriBSInd));\r\n this.fields.setValue(\"Medical History\", 'ResuscitationBeforeSurgeryInd', this.getYesNo(this.caseModel.SurCaseMedicalHistInfo.PreoprResuscitBSInd));\r\n this.fields.setValue(\"Medical History\", 'InotropeTherapyBeforeSurgeryInd', this.getYesNo(this.caseModel.SurCaseMedicalHistInfo.PreoprInotheraBSInd));\r\n this.fields.setValue(\"Medical History\", 'VentilationPreoperativelyInd', this.getYesNo(this.caseModel.SurCaseMedicalHistInfo.PreoprVentpreopInd));\r\n }\r\n } catch {\r\n console.log(\"Error loading Medical History\");\r\n }\r\n\r\n try {\r\n if (this.caseModel.SurCaseProcAsgnmtInfo && this.caseModel.SurCaseProcAsgnmtInfo.SurCaseProcAsgnId > 0) {\r\n this.fields.setValue(\"Surgical Procedures\", 'SurCaseProcAsgnId', this.caseModel.SurCaseProcAsgnmtInfo.SurCaseProcAsgnId);\r\n this.fields.setValue(\"Surgical Procedures\", 'Recorded Events', this.getprocedures(this.caseModel.SurCaseProcAsgnmtInfo.ProcedureCode));\r\n this.fields.setValue(\"Surgical Procedures\", 'Description', this.caseModel.SurCaseProcAsgnmtInfo.ProceduresDescription);\r\n this.fields.setValue(\"Surgical Procedures\", 'RACHS-1 Category', this.caseModel.SurCaseProcAsgnmtInfo.ProceduresRachsValue);\r\n }\r\n } catch {\r\n console.log(\"Error loading Surgical Procedures\");\r\n }\r\n\r\n\r\n try {\r\n if (this.caseModel.SurCaseEventsInfo && this.caseModel.SurCaseEventsInfo.SurCaseEventId > 0) {\r\n this.fields.setValue(\"Surgery Events\", 'SurCaseEventId', this.caseModel.SurCaseEventsInfo.SurCaseEventId);\r\n this.fields.setValue(\"Surgery Events\", 'PatChestOpenSurgeryInd', this.convertTrueFalse(this.caseModel.SurCaseEventsInfo.PatChestOpenSurgeryInd));\r\n this.fields.setValue(\"Surgery Events\", 'PatCarioBypassRelEventInd', this.convertTrueFalse(this.caseModel.SurCaseEventsInfo.PatCarioBypassRelEventInd));\r\n this.fields.setValue(\"Surgery Events\", 'CPBEventsList', this.caseModel.SurCaseEventsInfo.PatCarioBypassRelEventNotes);\r\n }\r\n } catch {\r\n console.log(\"Error loading Surgery Evenets\");\r\n }\r\n\r\n try {\r\n if (this.caseModel.SurCase30DayStatusInfo && this.caseModel.SurCase30DayStatusInfo.SurCase30DayStatusId > 0) {\r\n this.fields.setValue(\"Day 30 Status\", 'SurCase30DayStatusId', this.caseModel.SurCase30DayStatusInfo.SurCase30DayStatusId);\r\n this.fields.setValue(\"Day 30 Status\", 'IsPatientAlive', this.getYesNoUnknown(this.caseModel.SurCase30DayStatusInfo.IsPatientAlive));\r\n this.fields.setValue(\"Day 30 Status\", 'IsPatientDischarged', this.getYesNo(this.caseModel.SurCase30DayStatusInfo.IsPatientDischarged));\r\n this.fields.setValue(\"Day 30 Status\", 'IsPatientDoingWell', this.getYesNo(this.caseModel.SurCase30DayStatusInfo.IsPatientDoingWell));\r\n }\r\n } catch {\r\n console.log(\"Error loading Day 30 Status\");\r\n }\r\n try {\r\n if (this.caseModel.SurCaseProcEfficacy && this.caseModel.SurCaseProcEfficacy.length > 0) {\r\n let peFields: any[] = this.fields.fields.find(x => x.name == \"Procedural Efficacy\")[\"fields\"]\r\n let setValue: any = null;\r\n for (let fobj of peFields) {\r\n if (fobj.proccode !== undefined)\r\n setValue = this.caseModel.SurCaseProcEfficacy.sort((a, b) => (a.EfficacyDataName > b.EfficacyDataName) ? 1 : (b.EfficacyDataName > a.EfficacyDataName) ? -1 : 0).find(x => (x.EfficacyProcedureCode.trim() == fobj.proccode.trim())).EfficacyDataValue;\r\n else\r\n setValue = this.caseModel.SurCaseProcEfficacy.find(x => x.EfficacyDataName.trim() == fobj.elementcode.trim()) === undefined ? null : this.caseModel.SurCaseProcEfficacy.find(x => x.EfficacyDataName.trim() == fobj.elementcode.trim()).EfficacyDataValue;\r\n if(fobj.fieldtype == 'boolean')\r\n this.fields.setValue(\"Procedural Efficacy\", fobj.name, JSON.parse(setValue));\r\n else if (fobj.fieldtype == 'radio')\r\n this.fields.setValue(\"Procedural Efficacy\", fobj.name, setValue);\r\n else\r\n this.fields.setValue(\"Procedural Efficacy\", fobj.name, setValue);\r\n\r\n setValue = null;\r\n }\r\n }\r\n }\r\n catch (ex) {\r\n console.log(ex)\r\n //catch {\r\n // console.log(\"Error loading Procedural Efficacy\");\r\n }\r\n\r\n try {\r\n if (this.caseModel.SurCaseOutcomesInfo && this.caseModel.SurCaseOutcomesInfo.SurCaseClinicalOutComesId > 0) {\r\n this.fields.setValue(\"Clinical Outcomes\", 'SurCaseClinicalOutComesId', this.caseModel.SurCaseOutcomesInfo.SurCaseClinicalOutComesId);\r\n this.fields.setValue(\"Clinical Outcomes\", 'InHospDeath', this.getYesNo(this.caseModel.SurCaseOutcomesInfo.HospitalDeathInd));\r\n this.fields.setValue(\"Clinical Outcomes\", 'dOD', new Date(this.caseModel.SurCaseOutcomesInfo.HospitalDeathDt));\r\n this.fields.setValue(\"Clinical Outcomes\", 'dODDescription', this.caseModel.SurCaseOutcomesInfo.HospitalDeathReason);\r\n\r\n this.fields.setValue(\"Clinical Outcomes\", 'BactSepsis', this.getYesNo(this.caseModel.SurCaseOutcomesInfo.BactSepsisInfectionInd));\r\n this.fields.setValue(\"Clinical Outcomes\", 'BactSepsisDescription', this.caseModel.SurCaseOutcomesInfo.BactSepsisInfectionDesc);\r\n\r\n this.fields.setValue(\"Clinical Outcomes\", 'SurgicalSiteInfection', this.getYesNo(this.caseModel.SurCaseOutcomesInfo.SurgSiteInfectionInd));\r\n this.fields.setValue(\"Clinical Outcomes\", 'SurgicalSiteInfectionType', this.caseModel.SurCaseOutcomesInfo.SurgSiteInfectionVal);\r\n this.fields.setValue(\"Clinical Outcomes\", 'SurSiteInfectionDescription', this.caseModel.SurCaseOutcomesInfo.SurgSiteInfectionDesc);\r\n\r\n\r\n this.fields.setValue(\"Clinical Outcomes\", 'HospitalInfections', this.getYesNoNotCollected(this.caseModel.SurCaseOutcomesInfo.SurgSiteAddlInfectionInd));\r\n\r\n this.fields.setValue(\"Clinical Outcomes\", 'VentPneumonia', this.getYesNoNotCollected(this.caseModel.SurCaseOutcomesInfo.SurgSiteInfectionVaeInd));\r\n this.fields.setValue(\"Clinical Outcomes\", 'VentPneumoniaDescription', this.caseModel.SurCaseOutcomesInfo.SurgSiteInfectionVaeDesc);\r\n\r\n this.fields.setValue(\"Clinical Outcomes\", 'CathInfection', this.getYesNoNotCollected(this.caseModel.SurCaseOutcomesInfo.SurgSiteInfectionCabiInd));\r\n this.fields.setValue(\"Clinical Outcomes\", 'CathInfectionDescription', this.caseModel.SurCaseOutcomesInfo.SurgSiteInfectionCabiDesc);\r\n\r\n this.fields.setValue(\"Clinical Outcomes\", 'cathUTI', this.getYesNoNotCollected(this.caseModel.SurCaseOutcomesInfo.SurgSiteInfectionCautiInd));\r\n this.fields.setValue(\"Clinical Outcomes\", 'CathUTIDescription', this.caseModel.SurCaseOutcomesInfo.SurgSiteInfectionCautiDesc);\r\n\r\n this.fields.setValue(\"Clinical Outcomes\", 'AnyComplications', this.getYesNoNotCollected(this.caseModel.SurCaseOutcomesInfo.SurgSiteComplicationInd));\r\n this.fields.setValue(\"Clinical Outcomes\", 'ReqAddSurgeryForBleeding', this.getYesNoNotCollected(this.caseModel.SurCaseOutcomesInfo.SurgSiteComplicationASEBInd));\r\n this.fields.setValue(\"Clinical Outcomes\", 'ReIntubationIn24hrs', this.getYesNoNotCollected(this.caseModel.SurCaseOutcomesInfo.SurgSiteComplicationRIWI24Ind));\r\n this.fields.setValue(\"Clinical Outcomes\", 'ICUReAdmissionAfter24Hrs', this.getYesNoNotCollected(this.caseModel.SurCaseOutcomesInfo.SurgSiteComplicationICR24DInd));\r\n this.fields.setValue(\"Clinical Outcomes\", 'DiaphragmaticParalysis', this.getYesNoNotCollected(this.caseModel.SurCaseOutcomesInfo.SurgSiteComplicationDIAPInd));\r\n this.fields.setValue(\"Clinical Outcomes\", 'PostSurgicalHeartBlock', this.getYesNoNotCollected(this.caseModel.SurCaseOutcomesInfo.SurgSiteComplicationHBNPMInd));\r\n this.fields.setValue(\"Clinical Outcomes\", 'Tracheostomy', this.getYesNoNotCollected(this.caseModel.SurCaseOutcomesInfo.SurgSiteComplicationTDSAAGInd));\r\n this.fields.setValue(\"Clinical Outcomes\", 'PostOperativeSeizures', this.getYesNoNotCollected(this.caseModel.SurCaseOutcomesInfo.SurgSiteComplicationPOSInd));\r\n this.fields.setValue(\"Clinical Outcomes\", 'AcuteKidneyInjury', this.getYesNoNotCollected(this.caseModel.SurCaseOutcomesInfo.SurgSiteComplicationAKIRDInd));\r\n this.fields.setValue(\"Clinical Outcomes\", 'OtherComplications', this.getYesNoNotCollected(this.caseModel.SurCaseOutcomesInfo.SurgSiteComplicationOtherInd));\r\n //this.fields.setValue(\"Clinical Outcomes\", 'OtherComplicationsDescription', this.caseModel.SurCaseOutcomesInfo.SurCaseEventId);\r\n }\r\n } catch {\r\n console.log(\"Error loading Clinical Outcomes\");\r\n }\r\n\r\n }\r\n\r\n private getMedicalHistoryprocedures(procList: string): any {\r\n let recordedEventList: any = {}\r\n let procs: any[] = null\r\n this.surCardiacDiagnosisService.getCardiacDiagnosisList().subscribe((data) => {\r\n //this.procedurePicklistService.getProcedurePicklist().subscribe((data) => {\r\n this.surCardiacDiagnosisService.cardiadiagList = data.DataObject;\r\n this.surCardiacDiagnosisService.mapToDropDown();\r\n let events: SurDropdownItemModel[] = this.surCardiacDiagnosisService.dropDowncardiadiagList;\r\n if (!procs) {\r\n this.fields.getField(\"Medical History\", \"Recorded Events\").value = {};\r\n }\r\n procs = this.fields.getField(\"Medical History\", \"Recorded Events\").value;\r\n let pList = procList.split('|')\r\n pList.forEach(proc => {\r\n events.forEach(obj => {\r\n obj.children.forEach(child => {\r\n if (child.children.length > 0) {\r\n child.children.forEach(subChild => {\r\n if (subChild.code == proc) {\r\n let nodeString: string = obj.name + ' | ' + child.name + ' | ' + subChild.name\r\n procs[nodeString] = {\r\n id: \"procedure-\" + subChild.code\r\n };\r\n }\r\n })\r\n }\r\n else {\r\n if (child.code == proc) {\r\n let nodeString: string = obj.name + ' | ' + child.name + ' | ' + child.name\r\n procs[nodeString] = {\r\n id: \"procedure-\" + child.code\r\n };\r\n }\r\n }\r\n })\r\n })\r\n })\r\n\r\n });\r\n return procs;\r\n }\r\n private getprocedures(procList: string): any {\r\n let recordedEventList: any = {}\r\n let procs: any[] = null\r\n this.procedurePicklistService.getProcedurePicklist().subscribe((data) => {\r\n this.procedurePicklistService.procedureList = data.DataObject;\r\n this.procedurePicklistService.mapToDropDown();\r\n let events: SurDropdownItemModel[] = this.procedurePicklistService.dropDownProcedureList;\r\n if (!procs) {\r\n this.fields.getField(\"Surgical Procedures\", \"Recorded Events\").value = {};\r\n }\r\n procs = this.fields.getField(\"Surgical Procedures\", \"Recorded Events\").value;\r\n let pList = procList.split('|')\r\n pList.forEach(proc => {\r\n events.forEach(obj => {\r\n obj.children.forEach(child => {\r\n if (child.children.length > 0) {\r\n child.children.forEach(subChild => {\r\n if (subChild.code == proc) {\r\n let nodeString: string = obj.name + ' | ' + child.name + ' | ' + subChild.name\r\n procs[nodeString] = {\r\n id: \"procedure-\" + subChild.code\r\n };\r\n }\r\n })\r\n }\r\n else {\r\n if (child.code == proc) {\r\n let nodeString: string = obj.name + ' | ' + child.name + ' | ' + child.name\r\n procs[nodeString] = {\r\n id: \"procedure-\" + child.code\r\n };\r\n }\r\n }\r\n })\r\n })\r\n })\r\n\r\n });\r\n return procs;\r\n }\r\n \r\n private setupProcedureEfficacyData() {\r\n var isProcEfficacyDataEntered: boolean = false;\r\n if (this.convertTrueFalse(this.fields.getField(\"Procedural Efficacy\", \"ASDRepairStatus\").value)) {\r\n // this.fields.setValue(\"Procedural Efficacy\", 'ASDRepairStatus', this.caseModel.SurCaseProcEfficacy[0].);\r\n }\r\n }\r\n private getYesNoUnknown(type: string): string {\r\n if (type === '1') {\r\n return \"true\";\r\n }\r\n if (type === '0') {\r\n return \"false\";\r\n }\r\n if (type === '-1') {\r\n return \"Unknown\";\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 getYesNo(type: string): string {\r\n if (type === null || type === \"\") {\r\n return null;\r\n }\r\n\r\n if (type === '1') {\r\n return \"Yes\";\r\n }\r\n if (type === '0') {\r\n return \"No\";\r\n }\r\n }\r\n\r\n private getYesNoNotCollected(type: string): string {\r\n if (type === null) {\r\n return null;\r\n }\r\n\r\n if (type === '1') {\r\n return \"Yes\";\r\n }\r\n if (type === '0') {\r\n return \"No\";\r\n }\r\n if (type === '3') {\r\n return \"Not Collected\";\r\n }\r\n }\r\n\r\n private getprematurevalue(type: number): string {\r\n if (type === null) {\r\n return null;\r\n }\r\n if (type === 1) {\r\n return 'Yes';\r\n }\r\n if (type === 0) {\r\n return 'No';\r\n }\r\n if (type === -1) {\r\n return 'Unknown';\r\n }\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() {\r\n this.caseService.route = \"editsurgerycase\"\r\n this.caseService.saveCaseId = this.caseModel.SurCaseId; \r\n }\r\n\r\n ngOnInit() {\r\n localStorage.setItem('previousurl', 'edit-surgery-case');\r\n }\r\n\r\n ngOnDestroy() {\r\n this.fields.resetFields();\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 Medical History\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Cardiac Diagnosis
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
    \\r\\n
  • \\r\\n {{text}}\\r\\n
  • \\r\\n
\\r\\n
    \\r\\n\\r\\n
  • \\r\\n
    \\r\\n {{ 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 Rheumatic 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 Genetic Syndrome\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n   \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n Includes anencephalus; craniorachischisis; ilniencephaly; spina bifida, with or without hydrocephalus; encephalocele; microcephalus;reduction deformities of brain; congenital hydrocephalus;choanal atresia;web of larynx; congenital cystic lung;\\r\\n cleft palate; cleft lip;tracheoesophageal fistula, esophageal atresia and stenosis; atresia and stenosis of small intestine;atresia and stenosis of large intestine, rectum, and anal canal; anomalies of intestinal fixation; biliary atresia;renal agenesis and dysgenesis;\\r\\n cystic kidney disease, renal dysplasia; obstructive defects of renal pelvis and ureter; exstrophy of urinary bladder; anomalies of diaphragm; and anomalies of abdominal wall.\\r\\n
\\r\\n
\\r\\n Major Non-Cardiac Structural Anomaly\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n   \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n Major Non-Cardiac Medical Illness\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n   \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n Previous Cardiac Surgery\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n   \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n Number Of Unique Cardiac Operations\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n   \\r\\n\\r\\n \\r\\n   \\r\\n \\r\\n   \\r\\n \\r\\n   \\r\\n \\r\\n   \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Previous Cardiac Catheterization\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n   \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n Preoperative Management\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Balloon Atrioseptostomy Before Surgery\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n   \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Resuscitation Before Surgery\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n   \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Inotrope Therapy Before Surgery\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n   \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Ventilation Preoperatively\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n   \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
s\\r\\n\"","module.exports = \".medical-hist-tb-fields{margin:0}.medical-hist-tb-fields div{padding:0;margin-right:10px;margin-bottom:10px;min-width:180px;min-height:70px}.medical-hist-tb-fields div label{height:100%;width:100%}input[type=\\\"checkbox\\\"]{display:none}\\n\"","import { Component, OnInit, ViewChild, ElementRef, HostListener } from \"@angular/core\";\r\nimport { SurCardiacDiagnosisService } from \"../../../shared-data-entry/surcardiac-diagnosis.service\";\r\nimport { SurCardiacDiagnosisModelResponse } from '../../../../shared/iqis/surcardiac-diagnosis-response';\r\nimport { SurCardiacDiagnosisModel } from '../../../../shared/iqis/surcardiac-diagnosis-model';\r\nimport { SurPicklistItemService } from '../../../shared-data-entry/surpicklist-item.service';\r\nimport { SurPicklistItemResponse } from '../../../../shared/iqis/surpicklist-item-response';\r\nimport { SurPicklistItemModel } from '../../../../shared/iqis/surpicklist-item-model';\r\nimport { SurDropdownItemModel } from '../../../../shared/iqis/surdropdown-item-model';\r\nimport { SurgeryCaseFieldsService } from \"../surgery-case-fields.service\";\r\nimport { NgForm, FormGroup } from \"@angular/forms\";\r\nimport { ComponentCanDeactivate } from '../../../../cansuregerycasedeactivategaurd';\r\nimport { LoginService } from \"../../../user/login.service\";\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\ndeclare var jquery: any;\r\ndeclare var $: any;\r\n@Component({\r\n selector: 'app-medical-history',\r\n templateUrl: './medical-history.component.html',\r\n styleUrls: ['./medical-history.component.scss'],\r\n host: { 'class': \"host\" }\r\n})\r\nexport class MedicalHistoryComponent implements OnInit, ComponentCanDeactivate {\r\n @ViewChild('form') form: NgForm;\r\n name = \"Medical History\";\r\n user: LoginService;\r\n \r\n genericsyndromes = [];\r\n genericsyndrome = [];\r\n selectedgenericsyndrome = [];\r\n\r\n structuralAnomalies = [];\r\n structuralAnomaly = [];\r\n selectedstructuralAnomaly = [];\r\n\r\n medicalIllnesses = [];\r\n medicalIllness = [];\r\n selectedmedicalIllness = [];\r\n\r\n PreopProcOptions = [];\r\n preopProc = [];\r\n text = \"Cardiac Diagnosis\";\r\n selectedPreopProc = [];\r\n \r\n events = [];\r\n toAdd: any = {};\r\n // recordedEvents = {};\r\n // recordedArray = [];\r\n showEvents: boolean = false;\r\n showTooltipText: boolean = false;\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: SurDropdownItemModel;\r\n picklistItemService: SurPicklistItemService;\r\n public surCardiacDiagnosisService: SurCardiacDiagnosisService;\r\n public fields: SurgeryCaseFieldsService;\r\n constructor(private router: Router, _picklistItemService: SurPicklistItemService, user: LoginService, _surcardiacdiagnosisService: SurCardiacDiagnosisService, fields: SurgeryCaseFieldsService) {\r\n router.events\r\n .pipe(filter(e => e instanceof NavigationStart))\r\n .subscribe((e: NavigationStart) => {\r\n localStorage.setItem('editsurgerycase', e.url);\r\n });\r\n \r\n this.surCardiacDiagnosisService = _surcardiacdiagnosisService;\r\n this.user = user;\r\n this.fields = fields;\r\n this.surCardiacDiagnosisService.getCardiacDiagnosisList().subscribe(data => this.populateCardiacDiagnisList(data));\r\n if (this.user.user) {\r\n this.picklistItemService = _picklistItemService;\r\n this.picklistItemService.getPicklistItem(this.user.user.HospitalId.toString(), \"ALL\").subscribe(data => this.populatePicklistItems(data));\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n //localStorage.removeItem('medicalhistorydirty');\r\n let hasEvents = this.fields.getField(this.name, \"Recorded Events\") != null;\r\n localStorage.setItem('cardiacdiagnosis', JSON.stringify(this.fields.getField(this.name, \"Recorded Events\").value))\r\n\r\n this.fields.getParent(this.name)[\"hide\"] = !hasEvents;\r\n this.showEvents = hasEvents;\r\n this.setDefaultValues();\r\n if (this.fields.getField(this.name, \"Recorded Events\").value === null)\r\n this.toggleStatus('RheumaticHeartDiseaseInd');\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('medicalhistorydirty', 'true');\r\n //if (this.fields.getField(this.name, \"Recorded Events\").value !== null && localStorage.getItem('cardiacdiagnosis') !== JSON.stringify(this.fields.getField(this.name, 'Recorded Events').value))\r\n // localStorage.setItem('medicalhistorydirty', 'true');\r\n\r\n return !this.form.dirty;\r\n }\r\n\r\n private setDefaultValues() {\r\n if (this.fields.getField(this.name, \"GenericsyndromeInd\").value === null)\r\n this.fields.setValue(this.name, \"GenericsyndromeInd\", 'No');\r\n\r\n if (this.fields.getField(this.name, \"BalloonAtrioseptostomyBeforeSurgeryInd\").value === null)\r\n this.fields.setValue(this.name, \"BalloonAtrioseptostomyBeforeSurgeryInd\", 'No');\r\n\r\n if (this.fields.getField(this.name, \"ResuscitationBeforeSurgeryInd\").value === null)\r\n this.fields.setValue(this.name, \"ResuscitationBeforeSurgeryInd\", 'No');\r\n\r\n if (this.fields.getField(this.name, \"InotropeTherapyBeforeSurgeryInd\").value === null)\r\n this.fields.setValue(this.name, \"InotropeTherapyBeforeSurgeryInd\", 'No');\r\n if (this.fields.getField(this.name, \"VentilationPreoperativelyInd\").value === null)\r\n this.fields.setValue(this.name, \"VentilationPreoperativelyInd\", 'No');\r\n\r\n }\r\n private populatePicklistItems(picklistItemResponse: SurPicklistItemResponse) {\r\n this.picklistItemService.picklistItemModel = picklistItemResponse.DataObject;\r\n this.picklistItemService.mapToDropDown();\r\n\r\n this.genericsyndromes = this.picklistItemService.dropDownPicklistItem\r\n .filter(x => x.description === \"GENETICSYNDROME\");\r\n this.genericsyndrome = this.genericsyndromes.map(x => x.name);\r\n this.loadProblems(this.genericsyndromes, this.genericsyndrome, this.selectedgenericsyndrome, 'GenericsyndromeVal');\r\n\r\n this.structuralAnomalies = this.picklistItemService.dropDownPicklistItem\r\n .filter(x => x.description === \"MNCSAnomalies\");\r\n this.structuralAnomaly = this.structuralAnomalies.map(x => x.name);\r\n this.loadProblems(this.structuralAnomalies, this.structuralAnomaly, this.selectedstructuralAnomaly, 'StructuralAnomalyVal');\r\n\r\n this.medicalIllnesses = this.picklistItemService.dropDownPicklistItem\r\n .filter(x => x.description === \"MNCMIllness\");\r\n this.medicalIllness = this.medicalIllnesses.map(x => x.name);\r\n this.loadProblems(this.medicalIllnesses, this.medicalIllness, this.selectedmedicalIllness, 'MedicalIllnessVal');\r\n\r\n \r\n }\r\n\r\n \r\n populateCardiacDiagnisList(cardiacDiagnosisResponse: SurCardiacDiagnosisModelResponse) {\r\n this.surCardiacDiagnosisService.cardiadiagList =\r\n cardiacDiagnosisResponse.DataObject;\r\n this.surCardiacDiagnosisService.mapToDropDown();\r\n\r\n this.events = this.surCardiacDiagnosisService.dropDowncardiadiagList;\r\n }\r\n\r\n\r\n private loadProblems(dropdownOptions, dropdown, selectionOption, type) {\r\n let valMap: Array = [];\r\n\r\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 \r\n if (type == \"GenericsyndromeVal\") {\r\n this.selectedgenericsyndrome = valMap;\r\n }\r\n if (type == \"StructuralAnomalyVal\") {\r\n this.selectedstructuralAnomaly = valMap;\r\n }\r\n if (type == \"MedicalIllnessVal\") {\r\n this.selectedmedicalIllness = valMap;\r\n }\r\n \r\n }\r\n public updateProblems(dropdownOptions, dropdown, selectionOption, type) {\r\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) { this.fields.setValue(this.name, type, dropdownOptions.find(x => x.name == selectionOption)[\"code\"]); }\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 showTooltip(b: boolean) {\r\n this.showTooltipText = b;\r\n }\r\n addItem(name, item) {\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 this.toggleStatus('RheumaticHeartDiseaseInd');\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 this.fields.getField(this.name, \"Recorded Events\").value = null;\r\n }\r\n this.toggleStatus('RheumaticHeartDiseaseInd');\r\n }\r\n getEvents() {\r\n return this.fields.getField(this.name, \"Recorded Events\").value;\r\n }\r\n\r\n //sets the recorded events\r\n setEvents(val) {\r\n this.fields.getField(this.name, \"Recorded Events\").value = val;\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 }\r\n //produces the selected key string for a particular procedure\r\n static getKeyString(node, tree) {\r\n //all procedure names are parsed as\r\n let text = \"\";\r\n if (node && node.path) {\r\n let path = node.path;\r\n for (let id of path) {\r\n let parent = tree.treeModel.getNodeById(id);\r\n if (text !== \"\") {\r\n text = text + \" | \" + parent.data.name;\r\n } else {\r\n text = text + parent.data.name;\r\n }\r\n }\r\n }\r\n return text;\r\n }\r\n\r\n createRecord(node, tree) {\r\n let procs = this.getEvents();\r\n let nodeString = MedicalHistoryComponent.getKeyString(node, tree);\r\n procs[nodeString] = {\r\n id: \"procedure-\" + node.data.code\r\n }; \r\n this.sortProcedures();\r\n this.toggleStatus('RheumaticHeartDiseaseInd');\r\n return true;\r\n }\r\n //when selecting a leaf, creates a new procedure entry\r\n //otherwise, opens parent\r\n onSelect(event, tree) {\r\n let procs = this.getEvents();\r\n if (event.node.isLeaf ) {\r\n \r\n //creates normal entry\r\n if (!procs) {\r\n this.setEvents({});\r\n }\r\n this.createRecord(event.node, tree);\r\n \r\n } else {\r\n //opens parent node\r\n event.node.toggleExpanded();\r\n }\r\n }\r\n\r\n sortProcedures() {\r\n let unordered = this.fields.getField(this.name, \"Recorded Events\").value;\r\n if (unordered != null) {\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 }\r\n\r\n //gets the recorded procedures as an array\r\n getProceduresArray() {\r\n let procs =this.getEvents();\r\n if (procs) {\r\n return Object.getOwnPropertyNames(this.getEvents());\r\n } else {\r\n return [];\r\n }\r\n }\r\n\r\n toggleCheckbox(val) {\r\n //if (val === 'GenericsyndromeInd') {\r\n // this.fields.setValue(this.name, \"GenericsyndromeVal\", null);\r\n \r\n //}\r\n if (val === 'StructuralAnomalyInd' && this.fields.getValue(this.name, val) === 'No') {\r\n this.fields.setValue(this.name, \"StructuralAnomalyVal\", null);\r\n this.fields.getField(this.name, \"StructuralAnomalyVal\").hide = true;\r\n }\r\n if (val === 'StructuralAnomalyInd' && this.fields.getValue(this.name, val) === 'Yes') {\r\n \r\n this.loadProblems(this.structuralAnomalies, this.structuralAnomaly, null, 'StructuralAnomalyVal');\r\n this.setSelectionFromFields();\r\n }\r\n\r\n if (val === 'MedicalIllnessInd') {\r\n this.fields.setValue(this.name, \"MedicalIllnessVal\", null);\r\n this.loadProblems(this.medicalIllnesses, this.medicalIllness, null, 'MedicalIllnessVal');\r\n this.setSelectionFromFields();\r\n\r\n }\r\n }\r\n\r\n getDropdown(val) {\r\n return this.fields.getField(this.name, val).hide;\r\n }\r\n private setSelectionFromFields() {\r\n try {\r\n\r\n\r\n for (let t of this.genericsyndromes) {\r\n\r\n\r\n this.setSelection(t)\r\n\r\n }\r\n \r\n\r\n } catch (ex) {\r\n console.log(ex);\r\n }\r\n }\r\n\r\n private setSelection(type) {\r\n let period: Array = [0, 1];\r\n for (let p of period) {\r\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 );\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 }\r\n }\r\n }\r\n\r\n toggleStatus(val) {\r\n let isRestricted : Boolean = true\r\n this.fields.getField(this.name, val).value = false;\r\n var procCodes = this.getprocedures(this.fields.getField(this.name, \"Recorded Events\").value).split('|');\r\n let conditionalProcCodes = this.fields.getField(this.name, val).proccodes;\r\n for (let code of procCodes) {\r\n \r\n if (conditionalProcCodes.indexOf(code) > -1) {\r\n isRestricted = false;\r\n }\r\n }\r\n \r\n if (isRestricted && procCodes[0] !== \"\") {\r\n this.fields.getField(this.name, val).value = 'No';\r\n }\r\n else {\r\n this.fields.getField(this.name, val).value = null;\r\n }\r\n }\r\n\r\n private getprocedures(procList: any): string {\r\n var proc_ids = \"\"\r\n var procsArr = [];\r\n if (procList) {\r\n procsArr = Object.getOwnPropertyNames(procList);\r\n }\r\n for (let item of procsArr) {\r\n let proc = procList[item];\r\n //let proc = item;\r\n if (proc_ids.length == 0)\r\n proc_ids = proc['id'].replace(\"procedure-\", \"\");\r\n else\r\n proc_ids = proc_ids + \"|\" + proc['id'].replace(\"procedure-\", \"\");\r\n\r\n }\r\n return proc_ids;\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 PROCEDURAL EFFICACY\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Isolated Atrial Septal Defect Secundum (ASD) Repair
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n   \\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 An Echo Performed After The First Intervention\\r\\n
\\r\\n

\\r\\n i.e. discharge echo if no re-intervention or\\r\\n pre-re-intervention echo\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\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 There A Post-operative Re-intervention (Catheter Or\\r\\n Surgical) Performed
\\r\\n

\\r\\n Excludes re-op for bleeding, reoperation for low cardiac\\r\\n output state, ECMO, delayed sternal closure etc.\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n   \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
Data Not Available
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
ASD Repair
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n

\\r\\n <2 mm if>\\r\\n 10kg
\\r\\n <1 mm if< 10kg\\r\\n

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

2-3 mm if> 10kg
1-2 mm if< 10kg

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

\\r\\n >3 mm if> 10kg
\\r\\n >2 mm if< 10kg\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
Conduction
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\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 change from pre-op

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n Isolated Valvar Aortic Stenosis Surgery\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n   \\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 An Echo Performed After The First Intervention\\r\\n
\\r\\n

\\r\\n i.e. discharge echo if no re-intervention or\\r\\n pre-re-intervention echo\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\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 There A Post-operative Re-intervention (Catheter Or\\r\\n Surgical) Performed
\\r\\n

\\r\\n Excludes re-op for bleeding, reoperation for low cardiac\\r\\n output state, ECMO, delayed sternal closure etc.\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n   \\r\\n \\r\\n   \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
Data Not Available
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
Aortic Valve, 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 \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n

Peak Gradient < 20 mmHg

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

Peak Gradient 20-40 mmHg

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

Peak Gradient > 40 mmHg

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n Aortic Valve, Regurgitation\\r\\n

*VC: Vena contracta in mm

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

\\r\\n <10 kg VC <1mm
\\r\\n ≥10kg VC <2mm\\r\\n

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

\\r\\n <10 kg VC 1-2mm
\\r\\n ≥10kg VC 2-4mm\\r\\n

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

\\r\\n <10 kg VC>\\r\\n 2mm
\\r\\n ≥10kg VC >4mm\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
Coronary Flow
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n EKG Changes, Regional Wall Motion Abnormality\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
Supra Aortic Anastomosis
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n

\\r\\n Peak gradient < 10 mmHg\\r\\n

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

\\r\\n Peak gradient 10-20 mmHg\\r\\n

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

\\r\\n Peak gradient > 20 mmHg\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
Conduction
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\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 change from pre-op\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\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 Repair Via left Thoracotomy\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n   \\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 an Echo Performed after the First Intervention
\\r\\n

\\r\\n i.e. discharge echo if no re-intervention or\\r\\n pre-re-intervention echo\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\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 there aA Post-operative Re-intervention (Catheter Or\\r\\n Surgical) Performed
\\r\\n

\\r\\n Excludes re-op for bleeding, reoperation for low cardiac\\r\\n output state, ECMO, delayed sternal closure etc.\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n   \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
Data Not Available
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
Aortic Arch
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n

\\r\\n Peak Gradient <20 mmHg
\\r\\n No Apparent Narrowing By Imaging Or Color Doppler Jet\\r\\n Width\\r\\n

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

\\r\\n Peak Gradient 20-40 mmHg And/Or <30% Narrowing By Imaging\\r\\n Or Color Doppler Jet Width\\r\\n

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

\\r\\n Peak Gradient >40 mmHg And/Or >30% Narrowing By Imaging\\r\\n With Color Doppler Jet Width\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
Descending Aorta
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n

\\r\\n Peak Gradient < 20 mmHg\\r\\n

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

\\r\\n Peak Gradient 20-40 mmHg\\r\\n

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

\\r\\n Peak Gradient >40 mmHg\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
Branch Pulmonary Artery
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n

\\r\\n Peak Gradient < 10 mmHg\\r\\n

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

\\r\\n Peak Gradient 10-20 mmHg\\r\\n

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

\\r\\n Peak Gradient >20 mmHg\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Isolated PDA Ligation
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n   \\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 An Echo Performed After The First Intervention\\r\\n
\\r\\n

\\r\\n i.e. discharge echo if no re-intervention or\\r\\n pre-re-intervention echo\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\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 There A Post-operative Re-intervention (Catheter Or\\r\\n Surgical) Performed
\\r\\n

\\r\\n Excludes re-op for bleeding, reoperation for low cardiac\\r\\n output state, ECMO, delayed sternal closure etc.\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n   \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
Data Not Available
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
PDA Ligation/Division
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n < 1 mm\\r\\n

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

\\r\\n > 1 mm\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
Branch Pulmonary Artery
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n

\\r\\n Peak Gradient < 10 mmHg\\r\\n

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

\\r\\n Peak Gradient 10-20 mmHg\\r\\n

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

\\r\\n Peak Gradient > 20 mmHg\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
Isthmus/Descending Aorta
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n

\\r\\n Peak Gradient < 10 mmHg\\r\\n

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

\\r\\n Peak Gradient 10-20 mmHg\\r\\n

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

\\r\\n Peak Gradient > 20 mmHg\\r\\n

\\r\\n
\\r\\n
\\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 = \".efficacy-tb-hd{margin:0}.efficacy-tb-hd div{text-align:center;padding:0}.efficacy-border{border-bottom:2px solid #d3d300;margin-bottom:10px}.efficacy-input-container{display:flex;justify-content:center;margin-right:0 !important}.efficacy-input-container .not-available-label{background-color:white;width:30px !important;height:30px !important;box-shadow:none;border:1px solid lightgray;padding:4px 0 0 3px}.efficacy-input-container .not-available-label i{margin:0 3px 5px 0}.efficacy-input-container .small-not-available-label{display:none}.question-details{font-size:15px}.efficacy-details{font-size:13px;display:block}.efficacy-details p{padding:10px;margin:0;text-align:center}.empty-cell label{background:lightgray;box-shadow:none}.empty-cell label:focus{background-color:lightgray;cursor:default}.efficacy-tb-fields{margin:0;display:flex}.efficacy-tb-fields div{padding:0}.efficacy-tb-fields div label{height:100%;width:95%}@media (max-width: 992px){.efficacy-input-container{justify-content:start;margin-bottom:10px}.efficacy-input-container .small-not-available-label{display:block;padding-top:6px;padding-left:6px}.efficacy-tb-hd div{display:none}}\\n\"","import { Component, OnInit, ViewChild, HostListener } from \"@angular/core\";\nimport { SurgeryCaseFieldsService } from \"../surgery-case-fields.service\";\r\nimport { ComponentCanDeactivate } from \"../../../../CanDeactivateGaurd\";\r\nimport { NgForm } from \"@angular/forms\";\r\nimport { Observable } from \"rxjs\";\r\nimport { NavigationStart, Router } from \"@angular/router\";\r\nimport { filter } from \"rxjs/operators\";\r\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 ProceduralEfficacySurgeryComponent implements OnInit, ComponentCanDeactivate {\n @ViewChild('form') form: NgForm;\n public fields: SurgeryCaseFieldsService;\n name = \"Procedural Efficacy\";\n public result = [];\n public resultString = \"\"\n //show sections\n aSDRepair: boolean = false;\n vASSurgery: boolean = false;\n cRLThoracotomy: boolean = false;\n pDALigation: boolean = false;\n\n //tps scores\n aSDTPSScore: number = null;\n vASRTPSScore: number = null;\n cRLTTPSScore: number = null;\n pDATPSScore: number = null;\n\n //ASD\n aSDRepairNotAvailable: boolean = false;\n conductionNotAvailable: boolean = false;\n\n //VASS\n aVSNotAvailable: boolean = false;\n aVRNotAvailable: boolean = false;\n cFNotAvailable: boolean = false;\n sAANotAvailable: boolean = false;\n vASSCondNotAvailable: boolean = false;\n\n //CRLT\n aArchNotAvailable: boolean = false;\n dAortaNotAvailable: boolean = false;\n bPArteryNotAvailable: boolean = false;\n\n //PDA\n lDivisionNotAvailable: boolean = false;\n bPArteryPDANotAvailable: boolean = false;\n isthmusNotAvailable: boolean = false;\n\n //show tables\n showASDTable: boolean = false;\n showVASSTable: boolean = false;\n showCRLTTable: boolean = false;\n showPDATable: boolean = false;\n\n constructor(private router: Router,_fields: SurgeryCaseFieldsService) {\r\n this.fields = _fields;\r\n router.events\r\n .pipe(filter(e => e instanceof NavigationStart))\r\n .subscribe((e: NavigationStart) => {\r\n localStorage.setItem('editsurgerycase', e.url);\r\n });\r\n }\n\n ngOnInit() {\n localStorage.removeItem('proceduralefficacydirty');\n this.result = [];\n this.toggleStatus(\"ASDRepairStatus\");\n this.toggleStatus(\"VASSurgeryStatus\");\n this.toggleStatus(\"CRLThoracotomyStatus\");\n this.toggleStatus(\"PDALigationStatus\");\n\n this.ProceduralEfficacyCodesMessage(\"ASDRepairStatus\", this.fields.getField(this.name, \"ASDRepairStatus\").value);\n this.ProceduralEfficacyCodesMessage(\"VASSurgeryStatus\", this.fields.getField(this.name, \"VASSurgeryStatus\").value);\n this.ProceduralEfficacyCodesMessage(\"CRLThoracotomyStatus\", this.fields.getField(this.name, \"CRLThoracotomyStatus\").value);\n this.ProceduralEfficacyCodesMessage(\"PDALigationStatus\", this.fields.getField(this.name, \"PDALigationStatus\").value);\n\n this.toggleASDNotAvailable(this.fields.getField(this.name, \"ASDRepair\").value == \"0\" ? true : false);\n this.toggleConductionNotAvailable(this.fields.getField(this.name, \"ASDConduction\").value === \"0\" ? true : false);\n\n \n this.toggleAVSNotAvailable(this.fields.getField(this.name, \"VASAroticValueStenosis\").value === \"0\" ? true : false);\n this.toggleAVRNotAvailable(this.fields.getField(this.name, \"VASAroticValueRegurgitation\").value === \"0\" ? true : false);\n this.toggleCFNotAvailable(this.fields.getField(this.name, \"VASCoronaryFlow\").value == \"0\" ? true : false);\n this.toggleSAANotAvailable(this.fields.getField(this.name, \"VASSupraAorticAnastomosis\").value === \"0\" ? true : false);\n this.toggleVASSCondNotAvailable(this.fields.getField(this.name, \"VASCondution\").value === \"0\" ? true : false);\n\n this.toggleAArchNotAvailable(this.fields.getField(this.name, \"CRLAorticArch\").value === \"0\" ? true : false);\n this.toggleDAortaNotAvailable(this.fields.getField(this.name, \"CRLDescendingAorta\").value === \"0\" ? true : false);\n this.toggleBPArteryNotAvailable(this.fields.getField(this.name, \"CRLBranchPulmonaryArtery\").value === \"0\" ? true : false);\n\n this.toggleLDivisionNotAvailable(this.fields.getField(this.name, \"PDALigationDivision\").value === \"0\" ? true : false);\n this.toggleBPArteryPDANotAvailable(this.fields.getField(this.name, \"PDABranchPulmonaryArtery\").value === \"0\" ? true : false);\n this.toggleIsthmusNotAvailable(this.fields.getField(this.name, \"PDAIsthmusDescendingAorta\").value === \"0\" ? true : false);\n\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('proceduralefficacydirty', 'true');\r\n if (this.fields.getField(this.name, \"ASDRepairStatus\").value !== null) {\r\n localStorage.setItem('proceduralefficacydirty', 'true');\r\n }\r\n return !this.form.dirty;\r\n\r\n }\n // toggle ASD not available\n toggleASDNotAvailable(b) {\n this.aSDRepairNotAvailable = b;\n }\n\n toggleConductionNotAvailable(b) {\n this.conductionNotAvailable = b;\n }\n\n //toggle VASS not available\n toggleAVSNotAvailable(b) {\n this.aVSNotAvailable = b;\n }\n\n toggleAVRNotAvailable(b) {\n this.aVRNotAvailable = b;\n }\n\n toggleCFNotAvailable(b) {\n this.cFNotAvailable = b;\n }\n\n toggleSAANotAvailable(b) {\n this.sAANotAvailable = b;\n }\n\n toggleVASSCondNotAvailable(b) {\n this.vASSCondNotAvailable = b;\n }\n\n //toggle CRLT not available\n toggleAArchNotAvailable(b) {\n this.aArchNotAvailable = b;\n }\n\n toggleDAortaNotAvailable(b) {\n this.dAortaNotAvailable = b;\n }\n\n toggleBPArteryNotAvailable(b) {\n this.bPArteryNotAvailable = b;\n }\n\n //toggle PDA not available\n toggleLDivisionNotAvailable(b) {\n this.lDivisionNotAvailable = b;\n }\n\n toggleBPArteryPDANotAvailable(b) {\n this.bPArteryPDANotAvailable = b;\n }\n\n toggleIsthmusNotAvailable(b) {\n this.isthmusNotAvailable = b;\n }\n\n toggleStatus(val) {\n if (this.fields.getField(this.name, val).value !== true ) {\n this.fields.getField(this.name, val).value = false;\n let stsCodes = this.fields.getField(this.name, val).stscodes;\n var procCodes = this.getprocedures(this.fields.getField(\"Surgical Procedures\", \"Recorded Events\").value).split(\"|\");\n if (procCodes.length > 0) {\n stsCodes.forEach(code => {\r\n if (procCodes.indexOf(code) >= 0) {\r\n this.fields.getField(this.name, val).value = true;\r\n return;\r\n }\n });\n }\n }\n }\n\n public ProceduralEfficacyCodesMessage(fieldName, val) {\r\n this.result = [];\r\n if (val === true) {\r\n this.checkSTSCodesForProceduralEfficacy(fieldName);\r\n \r\n } else {\r\n this.fields.getField(this.name, fieldName).visibleSTSCodesMessage = false;\r\n }\r\n for (let category of this.fields.fields) {\r\n if (category[\"name\"] == this.name) {\r\n for (let field of category.fields) {\r\n if (field[\"visibleSTSCodesMessage\"] === true) \r\n this.result.push(field[\"STSCodesWarningMessage\"]);\r\n }\r\n }\r\n }\r\n if (this.result.length > 0 && this.result.indexOf(\"Range Warning:\") == -1) {\r\n this.result.unshift(\"Range Warning:\");\r\n }\r\n this.resultString = this.result.join(\"
\");\r\n }\n\n private checkSTSCodesForProceduralEfficacy(field) {\r\n try { \r\n let f = this.fields.getField(this.name, field);\r\n let stscodes = f[\"stscodes\"];\r\n let procCodes = this.getprocedures(this.fields.getField(\"Surgical Procedures\", \"Recorded Events\").value);\r\n let arrayPC = procCodes.split(\"|\");\r\n if (arrayPC.length > 0) {\r\n for(let code of stscodes){\r\n if (procCodes.indexOf(code) == -1) {\r\n this.fields.getField(this.name, field).visibleSTSCodesMessage = true;\r\n }\r\n else {\r\n this.fields.getField(this.name, field).visibleSTSCodesMessage = false;\r\n break;\r\n }\r\n };\r\n }\r\n } catch (ex) {\r\n console.log(ex)\r\n }\r\n}\n private getprocedures(procList: any): string {\r\n var proc_ids = \"\"\r\n var procsArr = [];\r\n if (procList) {\r\n procsArr = Object.getOwnPropertyNames(procList);\r\n }\r\n for (let item of procsArr) {\r\n let proc = procList[item];\r\n //let proc = item;\r\n if (proc_ids.length == 0)\r\n proc_ids = proc['id'].replace(\"procedure-\", \"\");\r\n else\r\n proc_ids = proc_ids + \"|\" + proc['id'].replace(\"procedure-\", \"\");\r\n\r\n }\r\n return proc_ids;\r\n }\n \n toggleCRLThoracotomyStatus(b) {\n this.cRLThoracotomy = b;\n }\n\n togglePDALigationStatus(b) {\n this.pDALigation = b;\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 { SurCaseModel } from '../../../shared/iqis/surcase/surcase-model';\r\nimport { SurCaseResponse } from '../../../shared/iqis/surcase/surcase-response';\r\nimport { SurCaseSaveResponse } from '../../../shared/iqis/surcase-save/surcase-save-response';\r\nimport { MarkSurCaseCompleteResponse } from '../../../shared/iqis/surcase-save/mark-surcase-complete-response';\r\nimport { MarkSurCaseInactiveResponse } from '../../../shared/iqis/surcase-save/mark-surcase-inactive-response';\r\n\r\nimport { SURGERYCONFIG } from '../../../shared/surgeryconfig';\r\nimport { MarkSurCaseCompleteStatusModel } from \"../../../shared/iqis/surcase-save/mark-surcase-complete-status-model\";\r\n\r\nlet apiUrl = SURGERYCONFIG.baseUrls.iqisapiurl;\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class SurCaseService {\r\n private http: Http = null;\r\n public surcase: SurCaseModel;\r\n public deleteCaseId: number;\r\n public saveCaseId: number;\r\n public IsCaseComplete: boolean;\r\n public MessageData: string;\r\n public route: string;\r\n\r\n constructor(_http: Http) {\r\n this.http = _http;\r\n this.surcase = new SurCaseModel;\r\n this.deleteCaseId = 0;\r\n this.saveCaseId = 0;\r\n this.IsCaseComplete = false;\r\n this.route = \"\";\r\n } \r\n\r\n save() {\r\n return this.saveCase(this.surcase);\r\n \r\n }\r\n\r\n saveCase(caseItem: SurCaseModel) {\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 + \"Surcase/SaveSurCaseDetails\", caseItem, options)\r\n .pipe(map((response: Response) => response.json()));\r\n\r\n \r\n }\r\n clearCase() {\r\n this.surcase = new SurCaseModel;\r\n }\r\n\r\n getCaseDetails(caseid: number) {\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 + \"surcase/GetSurCaseDetails?SurCaseId=\" + caseid, options)\r\n .pipe(map((response: Response) => response.json()));\r\n }\r\n\r\n markCaseComplete() {\r\n let ininfo = {\r\n SurCaseId: this.surcase.SurCaseId,\r\n SurCaseCompletedby: this.surcase.SurCaseUpdatedby\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 + \"surcase/MarkCaseComplete\", ininfo, options)\r\n .pipe\r\n (map(\r\n (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({\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 + \"surcase/DeactivateCase\", ininfo, options)\r\n .pipe(map((response: Response) => response.json()));\r\n }\r\n\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class SurgeryCaseFieldsService {\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 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 //retrieves the value of a field\r\n getValue(parent, name) {\r\n return this.getField(parent, name)[\"value\"];\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 return (this.getValue(parent, name) === null);\r\n }\r\n else if (this.validateDate && parent === \"Case Identification\" && name === \"Surg 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 \r\n constructor() {\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: \"IQIC Identifier\",\r\n link: \"/user-portal/\" + this.type + \"-surgery-case/unique-id\",\r\n fields: [\r\n {\r\n name: \"FirstName\",\r\n value: null,\r\n hide: true,\r\n errormessage: \"First Name\"\r\n },\r\n {\r\n name: \"LastName\",\r\n value: null,\r\n hide: true,\r\n errormessage: \"Last Name\"\r\n },\r\n {\r\n name: \"DateofBirth\",\r\n value: null,\r\n hide: true,\r\n errormessage: \"Date of Birth\"\r\n },\r\n {\r\n name: \"mrn\",\r\n value: null,\r\n hide: true,\r\n errormessage: \"MRN\"\r\n }, \r\n {\r\n name: \"uniquePatientId\",\r\n value: null,\r\n hide: true,\r\n errormessage: \"IQIC Identifier\"\r\n }\r\n ]\r\n },\r\n {\r\n name: \"Case Identification\",\r\n link: \"/user-portal/\" + this.type + \"-surgery-case/surgery-case-id\",\r\n fields: [\r\n {\r\n name: \"uniquePatientId\",\r\n value: null,\r\n errormessage: \"IQIC Identifier\"\r\n },\r\n {\r\n name: \"Case Number\",\r\n value: null,\r\n hide: true,\r\n errormessage: \"Case Number\"\r\n },\r\n {\r\n name: \"Hospital\",\r\n value: null,\r\n errormessage: \"Hospital\"\r\n },\r\n {\r\n name: \"Surg Date\",\r\n value: null,\r\n errormessage: \"Surgery Date\"\r\n },\r\n {\r\n name: \"Surgeon\",\r\n value: null,\r\n errormessage: \"Surgeon\"\r\n },\r\n {\r\n name: \"PIPofcardiacSurgeons\",\r\n value: null,\r\n hide: true,\r\n errormessage: \"Cardiac Surgical Groups\"\r\n }\r\n ]\r\n },\r\n \r\n {\r\n name: \"Clinical Characteristics\",\r\n link: \"/user-portal/\" + this.type + \"-surgery-case/surgery-clinical-char\",\r\n fields: [\r\n {\r\n name: \"Id\",\r\n value: 0,\r\n hide: true,\r\n errormessage: \"Id\"\r\n },\r\n {\r\n name: \"Age\",\r\n value: null,\r\n errormessage: \"Age\"\r\n },\r\n {\r\n name: \"Age Unit\",\r\n value: null,\r\n errormessage: \"Age Unit\"\r\n },\r\n {\r\n name: \"Prematurity Unit\",\r\n value: null,\r\n hide: true,\r\n errormessage: \"Prematurity\"\r\n },\r\n {\r\n name: \"Sex\",\r\n value: null,\r\n errormessage: \"Sex\"\r\n },\r\n {\r\n name: \"Weight\",\r\n value: null,\r\n min: 1,\r\n max: 99,\r\n errormessage: \"Weight\"\r\n },\r\n {\r\n name: \"Height\",\r\n value: null,\r\n min: 30,\r\n max: 180,\r\n errormessage: \"Height\"\r\n },\r\n {\r\n name: \"BSA\",\r\n value: null,\r\n errormessage: \"Body Surface Area\"\r\n },\r\n {\r\n name: \"Hematocrit\",\r\n value: null,\r\n hide: false,\r\n min: 15,\r\n max: 70,\r\n errormessage: \"Hematocrit\"\r\n },\r\n {\r\n name: \"OxygenSaturation\",\r\n value: null,\r\n hide: false,\r\n min: 10,\r\n max: 100,\r\n errormessage: \"Oxygen Saturation\"\r\n }\r\n ]\r\n },\r\n {\r\n name: \"Medical History\",\r\n link: \"/user-portal/\" + this.type + \"-surgery-case/medical-history\",\r\n fields: [\r\n \r\n {\r\n name: \"SurCaseMedHistId\",\r\n value: null,\r\n hide: true\r\n },\r\n {\r\n name: \"Recorded Events\",\r\n value: null,\r\n hide: false,\r\n errormessage: \"Cardiac Diagnosis\"\r\n },\r\n\r\n {\r\n name: \"RheumaticHeartDiseaseInd\",\r\n value: null,\r\n hide: true,\r\n errormessage: \"Rheumatic Heart Disease\",\r\n proccodes: ['990101','990102','990103','990104','990105','990107','990106','990401','990402','990403','990404','990405','990406','990407','990408']\r\n },\r\n\r\n {\r\n name: \"GenericsyndromeInd\",\r\n value: 'No',\r\n hide: true,\r\n errormessage: \"Genetic Syndrome\"\r\n },\r\n {\r\n name: \"GenericsyndromeVal\",\r\n value: null,\r\n hide: true,\r\n errormessage: \"Genetic Syndrome\"\r\n }, \r\n {\r\n name: \"StructuralAnomalyInd\",\r\n value: null,\r\n hide: false,\r\n errormessage: \"Major Non-Cardiac Structural Anomaly\"\r\n },\r\n {\r\n name: \"StructuralAnomalyVal\",\r\n value: null,\r\n hide: true,\r\n errormessage: \"Major Non-Cardiac Structural Anomaly\"\r\n },\r\n {\r\n name: \"MedicalIllnessInd\",\r\n value: null,\r\n hide: true,\r\n errormessage: \"Major Non-Cardiac Medical Illness\"\r\n },\r\n {\r\n name: \"MedicalIllnessVal\",\r\n value: null,\r\n hide: true,\r\n errormessage: \"Major Non-Cardiac Medical Illness\"\r\n },\r\n\r\n {\r\n name: \"PreviousCardiacSurgeryInd\",\r\n value: null,\r\n hide: true,\r\n errormessage: \"Previous Cardiac Surgery\"\r\n },\r\n \r\n {\r\n name: \"NumberOfUniqueCardiacOperations\",\r\n value: null,\r\n hide: true,\r\n errormessage: \"Number Of Unique Cardiac Operations\"\r\n },\r\n {\r\n name: \"PreviousCardiacCatheterizationInd\",\r\n value: null,\r\n hide: true,\r\n errormessage: \"Previous Cardiac Catheterization\"\r\n },\r\n\r\n {\r\n name: \"BalloonAtrioseptostomyBeforeSurgeryInd\",\r\n value: null,\r\n hide: true,\r\n errormessage: \"Balloon Atrioseptostomy Before Surgery\"\r\n },\r\n\r\n {\r\n name: \"ResuscitationBeforeSurgeryInd\",\r\n value: null,\r\n hide: true,\r\n errormessage: \"Resuscitation Before Surgery\"\r\n },\r\n\r\n {\r\n name: \"InotropeTherapyBeforeSurgeryInd\",\r\n value: null,\r\n hide: true,\r\n errormessage: \"Inotrope Therapy Before Surgery\"\r\n },\r\n {\r\n name: \"VentilationPreoperativelyInd\",\r\n value: null,\r\n hide: true,\r\n errormessage: \"Ventilation Preoperatively\"\r\n }\r\n ]\r\n },\r\n {\r\n name: \"Surgical Procedures\",\r\n link: \"/user-portal/\" + this.type + \"-surgery-case/surgery-case-type\",\r\n hide: false,\r\n fields: [\r\n {\r\n name: \"SurCaseProcAsgnId\",\r\n value: null,\r\n hide: true\r\n },\r\n {\r\n name: \"Recorded Events\",\r\n value: null,\r\n hide: false,\r\n errormessage: \"Performed Surgical Procedures\"\r\n },\r\n {\r\n name: \"Description\",\r\n value: null,\r\n hide: true,\r\n errormessage: \"Describe Surgical Procedure\"\r\n },\r\n {\r\n name: \"RACHS-1 Category\",\r\n value: null,\r\n hide: true,\r\n errormessage: \"RACHS-1 Category\"\r\n }\r\n ]\r\n },\r\n {\r\n name: \"Surgery Events\",\r\n link: \"/user-portal/\" + this.type + \"-surgery-case/surgery-events\",\r\n hide: true,\r\n fields: [\r\n {\r\n name: \"SurCaseEventId\",\r\n value: null,\r\n hide: true\r\n },\r\n {\r\n name: \"PatChestOpenSurgeryInd\",\r\n value: false,\r\n hide: false,\r\n errormessage: \"Open Chest After Surgery\"\r\n },\r\n {\r\n name: \"PatCarioBypassRelEventInd\",\r\n value: false,\r\n hide: false,\r\n errormessage: \"Any Significant Cardiopulmonary Bypass Related Event\"\r\n },\r\n {\r\n name: \"CPBEventsList\",\r\n value: null,\r\n hide: false,\r\n errormessage: \"Cardiopulmonary Bypass Event Type\"\r\n }\r\n ]\r\n },\r\n\r\n\r\n\r\n {\r\n name: \"Clinical Outcomes\",\r\n link: \"/user-portal/\" + this.type + \"-surgery-case/clinical-outcomes\",\r\n fields: [\r\n {\r\n name: \"SurCaseClinicalOutComesId\",\r\n value: null,\r\n hide: true\r\n },\r\n {\r\n name: \"InHospDeath\",\r\n value: null,\r\n errormessage: \"In Hospital Death\"\r\n },\r\n {\r\n name: \"dOD\",\r\n value: null,\r\n hide: true,\r\n errormessage: \"Death Date\"\r\n },\r\n {\r\n name: \"dODDescription\",\r\n value: null,\r\n hide: true,\r\n errormessage: \"Death Description\"\r\n },\r\n {\r\n name: \"BactSepsis\",\r\n value: null,\r\n hide: false,\r\n errormessage: \"Bacterial Sepsis\"\r\n },\r\n {\r\n name: \"BactSepsisDescription\",\r\n value: null,\r\n hide: true,\r\n errormessage: \"Bacterial Sepsis Description\"\r\n },\r\n {\r\n name: \"SurgicalSiteInfection\",\r\n value: null,\r\n hide: false,\r\n errormessage: \"Surgical Site Infection\"\r\n },\r\n {\r\n name: \"SurgicalSiteInfectionType\",\r\n value: null,\r\n hide: true,\r\n errormessage: \"Surgical Site Infection Type\"\r\n },\r\n {\r\n name: \"SurSiteInfectionDescription\",\r\n value: null,\r\n hide: true,\r\n errormessage: \"Surgical Site Infection Description\"\r\n },\r\n {\r\n name: \"HospitalInfections\",\r\n value: null,\r\n hide: true,\r\n errormessage: \"Any Additional Hospital Aquired Infections\"\r\n },\r\n {\r\n name: \"VentPneumonia\",\r\n value: null,\r\n hide: true,\r\n errormessage: \"Ventilator Associated Events\"\r\n },\r\n {\r\n name: \"VentPneumoniaDescription\",\r\n value: null,\r\n hide: true,\r\n errormessage: \"Ventilator Associated Events Description\"\r\n },\r\n {\r\n name: \"CathInfection\",\r\n value: null,\r\n hide: true,\r\n errormessage: \"Catheter Associated Bloodstream Infection\"\r\n },\r\n {\r\n name: \"CathInfectionDescription\",\r\n value: null,\r\n hide: true,\r\n errormessage: \"Catheter Associated Bloodstream Infection Description\"\r\n },\r\n {\r\n name: \"cathUTI\",\r\n value: null,\r\n hide: true,\r\n errormessage: \"Catheter Associated Urinary Tract Infection\"\r\n },\r\n {\r\n name: \"CathUTIDescription\",\r\n value: null,\r\n hide: true,\r\n errormessage: \"Catheter Associated Urinary Tract Infection Description\"\r\n },\r\n {\r\n name: \"AnyComplications\",\r\n value: null,\r\n hide: true,\r\n errormessage: \"Complications\"\r\n },\r\n {\r\n name: \"ReqAddSurgeryForBleeding\",\r\n value: null,\r\n hide: true,\r\n errormessage: \"Required Additional Surgery For Bleeding\"\r\n },\r\n {\r\n name: \"ReIntubationIn24hrs\",\r\n value: null,\r\n hide: true,\r\n errormessage: \"Re-intubations With In 24 Hours Of Extubation\"\r\n },\r\n {\r\n name: \"ICUReAdmissionAfter24Hrs\",\r\n value: null,\r\n hide: true,\r\n errormessage: \"ICU Readmission After 24 Hours Of Discharge From ICU\"\r\n },\r\n {\r\n name: \"DiaphragmaticParalysis\",\r\n value: null,\r\n hide: true,\r\n errormessage: \"Diaphragmatic Paralysis\"\r\n },\r\n {\r\n name: \"PostSurgicalHeartBlock\",\r\n value: null,\r\n hide: true,\r\n errormessage: \"Post Surgical Heart Block Requiring Pacemaker\"\r\n },\r\n {\r\n name: \"Tracheostomy\",\r\n value: null,\r\n hide: true,\r\n errormessage: \"Tracheostomy During The Same Admission As Surgery\"\r\n },\r\n {\r\n name: \"PostOperativeSeizures\",\r\n value: null,\r\n hide: true,\r\n errormessage: \"Post-operative Seizures\"\r\n },\r\n {\r\n name: \"AcuteKidneyInjury\",\r\n value: null,\r\n hide: true,\r\n errormessage: \"Acute Kidney Injury Requiring Dialysis\"\r\n },\r\n {\r\n name: \"OtherComplications\",\r\n value: null,\r\n hide: true,\r\n errormessage: \"Other Complications\"\r\n },\r\n {\r\n name: \"OtherComplicationsDescription\",\r\n value: null,\r\n hide: true\r\n }\r\n ]\r\n },\r\n {\r\n name: \"Day 30 Status\",\r\n link: \"/user-portal/\" + this.type + \"-surgery-case/day-30-status\",\r\n hide: true,\r\n fields: [\r\n {\r\n name: \"SurCase30DayStatusId\",\r\n value: null,\r\n hide: true\r\n },\r\n {\r\n name: \"IsPatientAlive\",\r\n value: null,\r\n hide: false,\r\n errormessage: \"Is Patient Alive\"\r\n },\r\n {\r\n name: \"IsPatientDischarged\",\r\n value: null,\r\n hide: false,\r\n errormessage: \"Is Patient Discharged\"\r\n },\r\n {\r\n name: \"IsPatientDoingWell\",\r\n value: null,\r\n hide: false,\r\n errormessage: \"Is The Patient Doing Well\"\r\n }\r\n ]\r\n },\r\n {\r\n name: \"Procedural Efficacy\",\r\n link: \"/user-portal/\" + this.type + \"-surgery-case/procedural-efficacy\",\r\n hide: false,\r\n fields: [\r\n {\r\n name: \"ASDRepairStatus\",\r\n value: false,\r\n hide: true,\r\n proccode: \"IASDSR\",\r\n fieldtype: \"boolean\",\r\n errormessage: \"Isolated ASD Secundum Repair\",\r\n stscodes: ['110102'],\r\n visibleSTSCodesMessage: false,\r\n STSCodesWarningMessage: \"ASD Repair Status efficacy data is entered, with out selecting ASD related Procedures in Surgical Procedures.\"\r\n },\r\n {\r\n name: \"ASDEchoPerformed\",\r\n value: null,\r\n hide: true,\r\n parentcode: \"IASDSR\",\r\n elementcode: \"IASDSR01\",\r\n fieldtype: \"boolean\",\r\n errormessage: \"An Echo Performed After The First Intervention\"\r\n },\r\n {\r\n name: \"ASDPostOperativeReIntervention\",\r\n value: null,\r\n hide: true,\r\n parentcode: \"IASDSR\",\r\n elementcode: \"IASDSR02\",\r\n fieldtype: \"boolean\",\r\n errormessage: \"Post-operative Re-intervention (Catheter Or Surgical) Performed\"\r\n },\r\n {\r\n name: \"ASDRepair\",\r\n value: null,\r\n hide: true,\r\n parentcode: \"IASDSR\",\r\n elementcode: \"IASDSR03\",\r\n fieldtype: \"radio\",\r\n errormessage: \"ASD Repair\"\r\n },\r\n {\r\n name: \"ASDConduction\",\r\n value: null,\r\n hide: true,\r\n parentcode: \"IASDSR\",\r\n elementcode: \"IASDSR04\",\r\n fieldtype: \"radio\",\r\n errormessage: \"ASD Conduction\"\r\n },\r\n {\r\n name: \"ASDTPS\",\r\n value: null,\r\n hide: true,\r\n parentcode: \"IASDSR\",\r\n elementcode: \"IASDSR05\",\r\n errormessage: \"ASD TPS\"\r\n },\r\n {\r\n name: \"VASSurgeryStatus\",\r\n value: false,\r\n hide: true,\r\n proccode: \"IVASR\",\r\n fieldtype: \"boolean\",\r\n errormessage: \"Isolated Valvar Aortic Stenosis Repair\",\r\n stscodes: ['880117'],\r\n visibleSTSCodesMessage: false,\r\n STSCodesWarningMessage: \"Isolated Valvar Aortic Stenosis Repair Efficacy data is entered with out selecting Aortic Valve Disease related procedures in Surgical Procedures.\"\r\n },\r\n {\r\n name: \"VASEchoPerformed\",\r\n value: null,\r\n hide: true,\r\n parentcode: \"IVASR\",\r\n elementcode: \"IVASR01\",\r\n fieldtype: \"boolean\",\r\n errormessage: \"An Echo Performed After The First Intervention\"\r\n },\r\n {\r\n name: \"VASPostOperativeReIntervention\",\r\n value: null,\r\n hide: true,\r\n parentcode: \"IVASR\",\r\n elementcode: \"IVASR02\",\r\n fieldtype: \"boolean\",\r\n errormessage: \"A Post-operative Re-intervention (Catheter Or Surgical) Performed\"\r\n },\r\n {\r\n name: \"VASAroticValueStenosis\",\r\n value: null,\r\n hide: true,\r\n parentcode: \"IVASR\",\r\n elementcode: \"IVASR03\",\r\n fieldtype: \"radio\",\r\n errormessage: \"Aortic Valve, Stenosis\"\r\n },\r\n {\r\n name: \"VASAroticValueRegurgitation\",\r\n value: null,\r\n hide: true,\r\n parentcode: \"IVASR\",\r\n elementcode: \"IVASR04\",\r\n fieldtype: \"radio\",\r\n errormessage: \"Aortic Valve, Regurgitation\"\r\n },\r\n {\r\n name: \"VASCoronaryFlow\",\r\n value: null,\r\n hide: true,\r\n parentcode: \"IVASR\",\r\n elementcode: \"IVASR05\",\r\n fieldtype: \"radio\",\r\n errormessage: \"Coronary Flow\"\r\n },\r\n {\r\n name: \"VASSupraAorticAnastomosis\",\r\n value: null,\r\n hide: true,\r\n parentcode: \"IVASR\",\r\n elementcode: \"IVASR06\",\r\n fieldtype: \"radio\",\r\n errormessage: \"Supra Aortic Anastomosis\"\r\n },\r\n {\r\n name: \"VASCondution\",\r\n value: null,\r\n hide: true,\r\n parentcode: \"IVASR\",\r\n elementcode: \"IVASR07\",\r\n fieldtype: \"radio\",\r\n errormessage: \"Aortic Valve, Conduction\"\r\n },\r\n {\r\n name: \"VASTPS\",\r\n value: null,\r\n hide: true,\r\n parentcode: \"IVASR\",\r\n elementcode: \"IVASR08\",\r\n errormessage: \"TPS\"\r\n },\r\n {\r\n name: \"CRLThoracotomyStatus\",\r\n value: false,\r\n hide: true,\r\n proccode: \"CRVLT\",\r\n fieldtype: \"boolean\",\r\n errormessage: \"Coarctation Repair Via left Thoracotomy\",\r\n stscodes: ['160101', '160102', '160103', '160104', '160105', '160106'],\r\n visibleSTSCodesMessage: false,\r\n STSCodesWarningMessage: \"Coarctation Repair Via left Thoracotomy Efficacy Data is entered with out selecting Coarctation repair in Surgical Procedures.\"\r\n },\r\n {\r\n name: \"CRLEchoPerformed\",\r\n value: null,\r\n hide: true,\r\n parentcode: \"CRVLT\",\r\n elementcode: \"CRVLT01\",\r\n fieldtype: \"boolean\",\r\n errormessage: \"An Echo Performed After The First Intervention\"\r\n },\r\n {\r\n name: \"CRLPostOperativeReIntervention\",\r\n value: null,\r\n hide: true,\r\n parentcode: \"CRVLT\",\r\n elementcode: \"CRVLT02\",\r\n fieldtype: \"boolean\",\r\n errormessage: \"A Post-operative Re-intervention (Catheter Or Surgical) Performed\"\r\n },\r\n {\r\n name: \"CRLAorticArch\",\r\n value: null,\r\n hide: true,\r\n parentcode: \"CRVLT\",\r\n elementcode: \"CRVLT03\",\r\n fieldtype: \"radio\",\r\n errormessage: \"Aortic Arch\"\r\n },\r\n {\r\n name: \"CRLDescendingAorta\",\r\n value: null,\r\n hide: true,\r\n parentcode: \"CRVLT\",\r\n elementcode: \"CRVLT04\",\r\n fieldtype: \"radio\",\r\n errormessage: \"Descending Aorta\"\r\n },\r\n {\r\n name: \"CRLBranchPulmonaryArtery\",\r\n value: null,\r\n hide: true,\r\n parentcode: \"CRVLT\",\r\n elementcode: \"CRVLT05\",\r\n fieldtype: \"radio\",\r\n errormessage: \"Branch Pulmonary Artery\"\r\n },\r\n {\r\n name: \"CRLTPS\",\r\n value: null,\r\n hide: true,\r\n parentcode: \"CRVLT\",\r\n elementcode: \"CRVLT06\",\r\n errormessage: \"TPS\"\r\n },\r\n {\r\n name: \"PDALigationStatus\",\r\n value: false,\r\n hide: true,\r\n proccode: \"IPDAL\",\r\n fieldtype: \"boolean\",\r\n errormessage: \"Isolated PDA Ligation\",\r\n stscodes: ['160401'],\r\n visibleSTSCodesMessage: false,\r\n STSCodesWarningMessage: \"Isolated PDA Ligation Efficacy Data is entered with out selecting PDA Closure Procedure in Surgical Procedures.\"\r\n },\r\n {\r\n name: \"PDAEchoPerformed\",\r\n value: null,\r\n hide: true,\r\n parentcode: \"IPDAL\",\r\n elementcode: \"IPDAL01\",\r\n fieldtype: \"boolean\",\r\n errormessage: \"An Echo Performed After The First Intervention\"\r\n },\r\n {\r\n name: \"PDAPostOperativeReIntervention\",\r\n value: null,\r\n hide: true,\r\n parentcode: \"IPDAL\",\r\n elementcode: \"IPDAL02\",\r\n fieldtype: \"boolean\",\r\n errormessage: \"A Post-operative Re-intervention (Catheter Or Surgical) Performed\"\r\n },\r\n {\r\n name: \"PDALigationDivision\",\r\n value: null,\r\n hide: true,\r\n parentcode: \"IPDAL\",\r\n elementcode: \"IPDAL03\",\r\n fieldtype: \"radio\",\r\n errormessage: \"PDA Ligation/Division\"\r\n },\r\n {\r\n name: \"PDABranchPulmonaryArtery\",\r\n value: null,\r\n hide: true,\r\n parentcode: \"IPDAL\",\r\n elementcode: \"IPDAL04\",\r\n fieldtype: \"radio\",\r\n errormessage: \"Branch Pulmonary Artery\"\r\n },\r\n {\r\n name: \"PDAIsthmusDescendingAorta\",\r\n value: null,\r\n hide: true,\r\n parentcode: \"IPDAL\",\r\n elementcode: \"IPDAL05\",\r\n fieldtype: \"radio\",\r\n errormessage: \"Isthmus/Descending Aorta\"\r\n },\r\n {\r\n name: \"PDATPS\",\r\n value: null,\r\n hide: true,\r\n parentcode: \"IPDAL\",\r\n elementcode: \"IPDAL06\",\r\n errormessage: \"TPS\"\r\n }\r\n ]\r\n }\r\n ];\r\n this.fields = defaultFields;\r\n }\r\n //gets a particular field object based on its parent and name\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 }\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 \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 \r\n private checkCardiacDiagnosisLength(parent, name): string {\r\n let result = \"\";\r\n var procsArr = [];\r\n try {\r\n let f = this.getField(parent, name);\r\n let val = f[\"value\"];\r\n if (val !== null && name === 'Recorded Events') {\r\n procsArr = Object.getOwnPropertyNames(val);\r\n if (procsArr.length > 4) {\r\n result = \"Selected \" + f[\"errormessage\"] + \" exceeded 4 values\";\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\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 or equal to \" + min;\r\n }\r\n\r\n if (f[\"max\"]) {\r\n let max = +f[\"max\"];\r\n result = result + \" and less than or equal to \" + max;\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 if (category[\"name\"] == parent) {\r\n for (let field of category.fields) {\r\n let m = this.checkCardiacDiagnosisLength(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}\r\n","module.exports = \"
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n {{validationMessage}}\\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
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n   \\r\\n \\r\\n \\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 = \".label{border:dotted}\\n\"","import { Component, OnInit, ViewChild, HostListener } from '@angular/core';\r\nimport { LoginService } from \"../../../user/login.service\";\r\nimport { SurPicklistItemService } from '../../../shared-data-entry/surpicklist-item.service';\r\nimport { SurPicklistItemResponse } from '../../../../shared/iqis/surpicklist-item-response';\r\nimport { SurPicklistItemModel } from '../../../../shared/iqis/surpicklist-item-model';\r\nimport { SurDropdownItemModel } from '../../../../shared/iqis/surdropdown-item-model';\r\nimport { SurgeryCaseFieldsService } from \"../surgery-case-fields.service\";\r\nimport { SurdataSharedAttributesService } from '../../../shared-data-entry/surdata-sharedattributes.service';\r\nimport { ComponentCanDeactivate } from '../../../../CanDeactivateGaurd';\r\nimport { NgForm } from '@angular/forms';\r\nimport { Observable } from 'rxjs';\r\nimport { NavigationStart, Router } from '@angular/router';\r\nimport { filter } from 'rxjs/operators';\r\ndeclare var jquery: any;\r\ndeclare var $: any;\r\n\r\n@Component({\r\n selector: 'app-surgery-case-id',\r\n templateUrl: './surgery-case-id.component.html',\r\n styleUrls: ['./surgery-case-id.component.scss'],\r\n host: { 'class': \"host\" }\r\n})\r\nexport class SurgeryCaseIdComponent implements OnInit, ComponentCanDeactivate {\r\n @ViewChild('form') form: NgForm;\r\n surgeons = [];\r\n hospitalText = \"\";\r\n uniquepatientid = \"\";\r\n patdateofbirth = \"\";\r\n name = \"Case Identification\";\r\n showErrorMessage: boolean = false;\r\n public currentDate: Date = new Date();\r\n shareddata: SurdataSharedAttributesService;\r\n sharedattributes = [];\r\n public validationMessage: string = null;\r\n public surgdateOnload: number = null;\r\n public user: LoginService;\r\n public picklistItemService: SurPicklistItemService;\r\n public fields: SurgeryCaseFieldsService;\r\n constructor(private router: Router,_user: LoginService, _picklistItemService: SurPicklistItemService, _fields: SurgeryCaseFieldsService, _shareddata: SurdataSharedAttributesService) {\r\n router.events\r\n .pipe(filter(e => e instanceof NavigationStart))\r\n .subscribe((e: NavigationStart) => {\r\n localStorage.setItem('editsurgerycase', e.url);\r\n });\r\n this.user = _user;\r\n this.fields = _fields;\r\n this.shareddata = _shareddata;\r\n if (this.user.user) {\r\n this.hospitalText = this.user.user.Hospital;\r\n this.fields.setValue(this.name, \"Hospital\", this.user.user.HospitalId);\r\n }\r\n if (this.fields.getField(this.name, \"Case Number\").value === 0) {\r\n this.uniquepatientid = this.fields.getField(\"IQIC Identifier\", \"uniquePatientId\").value;\r\n this.fields.setValue(this.name, \"uniquePatientId\", this.uniquepatientid);\r\n this.sharedattributes = this.shareddata.getsurattributes();\r\n }\r\n this.picklistItemService = _picklistItemService;\r\n this.picklistItemService.getPicklistItem(this.user.user.HospitalId.toString(), \"SURGEONS\").subscribe(data => this.populatePicklistItems(data));\r\n this.surgdateOnload = Date.parse(this.fields.getField(this.name, 'Surg Date').value);\r\n this.errorMessageCheck();\r\n }\r\n\r\n ngOnInit() {\r\n localStorage.removeItem('surgerycaseiddirty');\r\n }\r\n\r\n canDeactivate(): Observable | boolean {\r\n\r\n if (this.form.dirty)\r\n localStorage.setItem('surgerycaseiddirty', 'true');\r\n\r\n return !this.form.dirty;\r\n }\r\n getiqicpatientid() {\r\n var value = \"\";\r\n\r\n if (this.shareddata) {\r\n value = this.shareddata.suratrributes[\"UniquePatientID\"];\r\n }\r\n \r\n return value;\r\n }\r\n\r\n populatePicklistItems(picklistItemResponse: SurPicklistItemResponse) {\r\n this.picklistItemService.picklistItemModel = picklistItemResponse.DataObject;\r\n this.picklistItemService.mapToDropDown();\r\n this.surgeons = this.picklistItemService.dropDownPicklistItem;\r\n }\r\n\r\n errorMessageCheck() {\r\n let surgDate = this.fields.getField(this.name, 'Surg Date').value;\r\n let mill = Date.parse(surgDate);\r\n if (!(mill > 0)) {\r\n this.fields.setValue(this.name, 'Surg Date', null);\r\n $(\"#surg-date\").val('');\r\n } else if (this.isfutureDate(surgDate)) {\r\n this.fields.setValue(this.name, 'Surg Date', new Date);\r\n }\r\n if (this.user.user) {\r\n this.hospitalText = this.user.user.Hospital;\r\n this.fields.setValue(this.name, \"Hospital\", this.user.user.HospitalId);\r\n }\r\n\r\n //if (this.fields.getField('IQIC Identifier', 'DateofBirth').value == ''\r\n // || this.fields.getField('IQIC Identifier', 'DateofBirth').value == null\r\n // || this.fields.getField('IQIC Identifier', 'DateofBirth').value == undefined) {\r\n\r\n // if (this.surgdateOnload != Date.parse(this.fields.getField(this.name, 'Surg Date').value)) {\r\n // this.showErrorMessage = true;\r\n // this.validationMessage = \"Surgery Date is updated but Date of Birth is empty in IQIC Identifier tab for Age calculation. Date of Birth field is required to continue.\"\r\n // }\r\n //}\r\n if ((this.fields.validateDate) && (this.fields.getField(this.name, \"uniquePatientId\").value == null || this.fields.getField(this.name, \"uniquePatientId\").value == undefined || this.fields.getField(this.name, \"uniquePatientId\").value == '')) {\r\n this.showErrorMessage = true;\r\n this.validationMessage = \"IQIC identifier is required. Please use the IQIC Identifier tab to generate this value.\"\r\n }\r\n \r\n if ((this.fields.validateDate)\r\n && (this.fields.getField(this.name, 'Surg Date').value === null\r\n || this.fields.getField(this.name, 'Surg Date').value === '')) {\r\n this.showErrorMessage = true;\r\n this.validationMessage = \"Surgery Date is a required field to save.\"\r\n }\r\n \r\n }\r\n\r\n private isfutureDate(value: string) {\r\n let now = new Date;\r\n let target = new Date(value);\r\n\r\n if (target.getFullYear() > now.getFullYear()) {\r\n return true;\r\n } else if (target.getFullYear() == now.getFullYear()) {\r\n if (target.getMonth() > now.getMonth()) {\r\n return true;\r\n } else if (target.getMonth() == now.getMonth()) {\r\n if (target.getDate() > now.getDate()) {\r\n return true;\r\n }\r\n }\r\n }\r\n\r\n return false;\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
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n SURGICAL PROCEDURES\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Surgical Procedures 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
\\r\\n
    \\r\\n
  • \\r\\n {{text}}\\r\\n
  • \\r\\n
\\r\\n
    \\r\\n\\r\\n
  • \\r\\n
    \\r\\n {{ 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   \\r\\n \\r\\n   \\r\\n \\r\\n   \\r\\n \\r\\n   \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\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, ViewChild, ElementRef, HostListener } from \"@angular/core\";\nimport { SurgeryCaseFieldsService } from \"../surgery-case-fields.service\";\nimport { SurProcedurePicklistService } from \"../../../shared-data-entry/surprocedure-picklist.service\";\r\nimport { SurProcedurePicklistResponse } from '../../../../shared/iqis/surprocedure-picklist-response';\nimport { NgForm, FormGroup } from \"@angular/forms\";\r\nimport { ComponentCanDeactivate } from '../../../../CanDeactivateGaurd';\r\nimport { LoginService } from \"../../../user/login.service\";\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\";\ndeclare var jquery: any;\r\ndeclare var $: any;\n@Component({\n selector: \"app-surgery-case-type\",\n templateUrl: \"./surgery-case-type.component.html\",\n styleUrls: [\"./surgery-case-type.component.scss\"],\n host: { class: \"host\" }\n})\nexport class SurgeryCaseTypeComponent implements OnInit, ComponentCanDeactivate {\r\n @ViewChild('form') form: NgForm;\n fields: SurgeryCaseFieldsService;\n name = \"Surgical Procedures\";\n text = \"Performed Surgical Procedures\";\n public surProcedurePicklistService: SurProcedurePicklistService;\n events = [];\r\n toAdd: any = {};\r\n // recordedEvents = {};\r\n // recordedArray = [];\r\n showEvents: boolean = false;\n options = {\r\n animateExpand: true,\r\n animateAcceleration: 1.2,\r\n scrollOnActivate: true,\r\n animateSpeed: 10\r\n };\n constructor(private router: Router,_surProcedurePicklistService: SurProcedurePicklistService, fields: SurgeryCaseFieldsService) {\n router.events\r\n .pipe(filter(e => e instanceof NavigationStart))\r\n .subscribe((e: NavigationStart) => {\r\n localStorage.setItem('editsurgerycase', e.url);\r\n });\n this.fields = fields;\n this.surProcedurePicklistService = _surProcedurePicklistService;\n this.surProcedurePicklistService.getProcedurePicklist().subscribe(data => this.populateProcedurePicklist(data));\n }\n\n populateProcedurePicklist(otherAEResponse: SurProcedurePicklistResponse) {\r\n this.surProcedurePicklistService.procedureList =\r\n otherAEResponse.DataObject;\r\n this.surProcedurePicklistService.mapToDropDown();\r\n this.events = this.surProcedurePicklistService.dropDownProcedureList;\r\n }\n\n\n ngOnInit() {\r\n localStorage.removeItem('surgerycasetypedirty');\r\n let hasEvents = this.fields.getField(this.name, \"Surgical Procedures Performed\") != null;\r\n localStorage.setItem('surgicalprocedures', JSON.stringify(this.fields.getField(this.name, \"Recorded Events\").value))\r\n\r\n //this.fields.getParent(this.name)[\"hide\"] = !hasEvents;\r\n this.showEvents = hasEvents;\r\n }\r\n\r\n canDeactivate(): Observable | boolean {\r\n\r\n if (this.form.dirty)\r\n localStorage.setItem('surgerycasetypedirty', 'true');\r\n\r\n if (this.fields.getField(this.name, \"Recorded Events\").value !== null && localStorage.getItem('surgicalprocedures') !== JSON.stringify(this.fields.getField(this.name, 'Recorded Events').value))\r\n localStorage.setItem('surgerycasetypedirty', 'true');\r\n\r\n\r\n return !this.form.dirty;\r\n }\n addItem(name, item) {\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 //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 this.fields.getField(this.name, \"Recorded Events\").value = null;\r\n }\r\n }\r\n getEvents() {\r\n return this.fields.getField(this.name, \"Recorded Events\").value;\r\n }\r\n //sets the recorded events\r\n setEvents(val) {\r\n this.fields.getField(this.name, \"Recorded Events\").value = val;\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 } \n //produces the selected key string for a particular procedure\r\n static getKeyString(node, tree) {\r\n //all procedure names are parsed as\r\n let text = \"\";\r\n if (node && node.path) {\r\n let path = node.path;\r\n for (let id of path) {\r\n let parent = tree.treeModel.getNodeById(id);\r\n if (text !== \"\") {\r\n text = text + \" | \" + parent.data.name;\r\n } else {\r\n text = text + parent.data.name;\r\n }\r\n }\r\n }\r\n return text;\r\n }\r\n\r\n createRecord(node, tree) {\r\n let procs = this.getEvents();\r\n let nodeString = SurgeryCaseTypeComponent.getKeyString(node, tree);\r\n procs[nodeString] = {\r\n id: \"procedure-\" + node.data.code\r\n };\r\n this.sortProcedures();\r\n return true;\r\n }\n //when selecting a leaf, creates a new procedure entry\r\n //otherwise, opens parent\r\n onSelect(event, tree) {\r\n let procs = this.getEvents();\r\n if (event.node.isLeaf) {\r\n\r\n //creates normal entry\r\n if (!procs) {\r\n this.setEvents({});\r\n }\r\n this.createRecord(event.node, tree);\r\n\r\n } else {\r\n //opens parent node\r\n event.node.toggleExpanded();\r\n }\r\n }\r\n\r\n sortProcedures() {\r\n let unordered = this.fields.getField(this.name, \"Recorded Events\").value;\r\n if (unordered != null) {\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 }\r\n\r\n //gets the recorded procedures as an array\r\n getProceduresArray() {\r\n let procs = this.getEvents();\r\n if (procs) {\r\n return Object.getOwnPropertyNames(this.getEvents());\r\n } else {\r\n return [];\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 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\"","module.exports = \".tree-icon i{padding:8px}.conditions label{width:100%;margin:0px 15px}@media (max-width: 992px){.form-row{margin-top:0}}\\n\"","import { Component, OnInit, ViewChild, HostListener } from \"@angular/core\";\nimport { SurgeryCaseFieldsService } from \"../surgery-case-fields.service\";\nimport { Subscription, Observable } from \"rxjs\";\nimport { SurdataSharedAttributesService } from '../../../shared-data-entry/surdata-sharedattributes.service';\nimport { ComponentCanDeactivate } from \"../../../../CanDeactivateGaurd\";\r\nimport { NgForm } from \"@angular/forms\";\r\nimport { Router, NavigationStart } from \"@angular/router\";\r\nimport { filter } from \"rxjs/operators\";\r\n\n\n@Component({\n selector: \"app-surgery-clinical-char\",\n templateUrl: \"./surgery-clinical-char.component.html\",\n styleUrls: [\"./surgery-clinical-char.component.scss\"],\n host: { class: \"host\" }\n})\nexport class SurgeryClinicalCharComponent implements OnInit, ComponentCanDeactivate {\n @ViewChild('form') form: NgForm;\n name = \"Clinical Characteristics\";\n min = 1;\n max = 31;\n age;\n ageError = false;\n weight;\n height;\n showErrorMessage: boolean = false;\n premature: boolean = false;\n shareddata: SurdataSharedAttributesService;\n sharedattributes = [];\n oxygenSaturation: number = null;\n public fields: SurgeryCaseFieldsService;\n constructor(private router: Router, fields: SurgeryCaseFieldsService, _shareddata: SurdataSharedAttributesService) {\n router.events\r\n .pipe(filter(e => e instanceof NavigationStart))\r\n .subscribe((e: NavigationStart) => {\r\n localStorage.setItem('editsurgerycase', e.url);\r\n });\n this.fields = fields;\n // if (this.fields.getField(\"Case Identification\", \"Case Number\").value == 0) {\n this.calcBSA();\n this.shareddata = _shareddata;\n this.sharedattributes = this.shareddata.getsurattributes();\n // this.setPatienteAge();\n // }\n }\n\n ngOnInit() {\n localStorage.removeItem('surgeryclinicalchardirty');\n if (this.fields.getField(this.name, \"Age Unit\").value !== null)\n this.setMinMax(this.fields.getField(this.name, \"Age Unit\").value);\n }\n\n \r\n canDeactivate(): Observable | boolean {\r\n\r\n if (this.form.dirty)\r\n localStorage.setItem('surgeryclinicalchardirty', 'true');\r\n\r\n return !this.form.dirty;\r\n }\n calcBSA() {\n this.weight = +this.fields.getValue(this.name, \"Weight\");\n if (this.weight <= 0 || this.weight > 500) {\n this.weight = null;\n }\n this.fields.setValue(this.name, \"Weight\", this.weight);\n\n this.height = +this.fields.getValue(this.name, \"Height\");\n if (this.height <= 0 || this.height > 500) {\n this.height = null;\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 = SurgeryClinicalCharComponent.round(\n Math.sqrt((this.height * this.weight) / 3600),\n 2\n );\n } else {\n this.fields.setValue(this.name, \"BSA\", null);\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 validateOxSat(val) {\n if (val <= 100 && val.indexOf(\".\") == -1) {\n this.oxygenSaturation = val;\n } else {\n this.oxygenSaturation = null;\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 this.premature = true;\n this.fields.getField(this.name, 'Prematurity Unit').hide = false;\n }\n else if (ageType === \"Months\") {\n this.max = 12;\n this.premature = true;\n this.fields.getField(this.name, 'Prematurity Unit').hide = false;\n }\n else if (ageType === \"Years\") {\n this.max = 100;\n this.premature = false;\n this.fields.getField(this.name, 'Prematurity Unit').hide = true;\n this.fields.getField(this.name, 'Prematurity Unit').value = null;\n }\n if (this.age) {\n this.checkVal();\n }\n\n }\n setPatienteAge() {\n if (this.shareddata) {\n let dob = this.shareddata.suratrributes[\"DateofBirth\"];\r\n let surgdate = this.fields.getField(\"Case Identification\", \"Surg Date\").value;\n if (new Date(surgdate) < new Date(dob)) {\r\n console.error(\"Start date must be before end date\");\r\n return null;\r\n }\r\n var endYear = new Date(surgdate).getFullYear();\r\n var endMonth = new Date(surgdate).getMonth();\r\n var endDay = new Date(surgdate).getDate();\r\n\r\n var startYear = new Date(dob).getFullYear();\r\n var startMonth = new Date(dob).getMonth();\r\n var startDay = new Date(dob).getDate();\r\n\r\n // We calculate February based on end year as it might be a leep year which might influence the number of days.\r\n var february = (endYear % 4 == 0 && endYear % 100 != 0) || endYear % 400 == 0 ? 29 : 28;\r\n var daysOfMonth = [31, february, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\r\n\r\n var startDateNotPassedInEndYear = (endMonth < startMonth) || endMonth == startMonth && endDay < startDay;\r\n var years = endYear - startYear - (startDateNotPassedInEndYear ? 1 : 0);\r\n\r\n var months = (12 + endMonth - startMonth - (endDay < startDay ? 1 : 0)) % 12;\r\n\r\n // (12 + …) % 12 makes sure index is always between 0 and 11\r\n var days = startDay <= endDay ? endDay - startDay : daysOfMonth[(12 + endMonth - 1) % 12] - startDay + endDay;\r\n\r\n\r\n if (years >= 1) {\r\n this.fields.setValue(this.name, \"Age\", years);\r\n this.setMinMax(\"Years\");\r\n this.premature = false;\r\n\r\n }\r\n else if (months > 1 && years <1 ) {\r\n this.fields.setValue(this.name, \"Age\", months);\r\n this.setMinMax(\"Months\");\r\n this.premature = true;\r\n }\r\n else {\r\n this.fields.setValue(this.name, \"Age\", days);\r\n this.setMinMax(\"Days\");\r\n this.premature = true;\r\n }\r\n }\r\n }\n checkVal() {\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 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 Surgery 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
Inadequate amount of blood flow to an organ or limb. Any significant CPB-related event that threatened the patient's safety.
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n   \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\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 = \".label1{border:none;box-shadow:none;padding:0px 0px;text-align:center}\\n\"","import { Component, OnInit, ViewChild, HostListener } from \"@angular/core\";\nimport { LoginService } from \"../../../user/login.service\";\nimport { SurPicklistItemService } from '../../../shared-data-entry/surpicklist-item.service';\nimport { SurPicklistItemResponse } from '../../../../shared/iqis/surpicklist-item-response';\nimport { SurPicklistItemModel } from '../../../../shared/iqis/surpicklist-item-model';\nimport { SurDropdownItemModel } from '../../../../shared/iqis/surdropdown-item-model';\nimport { SurgeryCaseFieldsService } from \"../surgery-case-fields.service\";\nimport { ComponentCanDeactivate } from \"../../../../cansuregerycasedeactivategaurd\";\r\nimport { NgForm } from \"@angular/forms\";\r\nimport { Observable } from \"rxjs\";\r\nimport { Router, NavigationStart } from \"@angular/router\";\r\nimport { filter } from \"rxjs/operators\";\r\n\ndeclare var jquery: any;\ndeclare var $: any;\n\n@Component({\n selector: \"app-surgery-events\",\n templateUrl: \"./surgery-events.component.html\",\n styleUrls: [\"./surgery-events.component.scss\"],\n host: { class: \"host\" }\n})\nexport class SurgeryEventsComponent implements OnInit, ComponentCanDeactivate {\n @ViewChild('form') form: NgForm;\n name = \"Surgery Events\";\n showBypassList: boolean = false;\n showTooltipText: boolean = false;\n\n CardioPulmonaryBypassOptions = [];\n CardioPulmonaryBypass = [];\n selectedCardiopulmonary = [];\n public user: LoginService;\n public picklistItemService: SurPicklistItemService;\n public fields: SurgeryCaseFieldsService;\n\n constructor(private router: Router,_user: LoginService, _picklistItemService: SurPicklistItemService, fields: SurgeryCaseFieldsService) {\n router.events\r\n .pipe(filter(e => e instanceof NavigationStart))\r\n .subscribe((e: NavigationStart) => {\r\n localStorage.setItem('editsurgerycase', e.url);\r\n });\n this.user = _user;\n this.fields = fields;\n this.picklistItemService = _picklistItemService;\n this.picklistItemService.getPicklistItem(this.user.user.HospitalId.toString(), \"CPBEvents\").subscribe(data => this.populatePicklistItems(data));\n }\n\n ngOnInit() {\n //localStorage.removeItem('surgeryeventsdirty');\n }\n\n @HostListener('window:beforeunload')\n canDeactivate(): Observable | boolean {\n\n //if (this.form.dirty)\n // localStorage.setItem('surgeryeventsdirty', 'true');\n //if (this.fields.getField(this.name, \"PatChestOpenSurgeryInd\").value !== null) {\r\n // localStorage.setItem('surgeryeventsdirty', 'true');\r\n //}\n\n return !this.form.dirty;\n }\n populatePicklistItems(picklistItemResponse: SurPicklistItemResponse) {\n \n this.picklistItemService.picklistItemModel = picklistItemResponse.DataObject;\n this.picklistItemService.mapToDropDown();\n this.CardioPulmonaryBypassOptions = this.picklistItemService.dropDownPicklistItem;\n this.CardioPulmonaryBypass = this.CardioPulmonaryBypassOptions.map(x => x.name);\n this.loadProblems(this.CardioPulmonaryBypassOptions, this.CardioPulmonaryBypass, this.selectedCardiopulmonary, 'CPBEventsList'); \n}\n\n toggleCheckbox(select, val) {\n //this.showBypassList = select;\n console.log(val);\n this.fields.getField(this.name, val).hide = select;\n if (select === true) {\n this.fields.setValue(this.name, val, 0);\n this.fields.setValue(this.name, \"CPBEventsList\", null);\n this.selectedCardiopulmonary = null;\n }\n else {\n this.fields.setValue(this.name, val, 1);\n }\n }\n showTooltip(b: boolean) {\r\n this.showTooltipText = b;\r\n }\n\n private setSelectionFromFields() {\n try {\n\n for (let t of this.CardioPulmonaryBypassOptions) {\n this.setSelection(t)\n }\n\n } catch (ex) {\n console.log(ex);\n }\n }\n\n private setSelection(type) {\n let period: Array = [0, 1];\n for (let p of period) {\n let list = null;\n list = this.picklistItemService.dropDownPicklistItem.filter(x => x.description === type.name);\n let val = \"\";\n\n val = this.fields.getValue(this.name, type.name);\n\n\n if (type.multiple) {\n let valMap: Array = [];\n let valList: Array = [];\n if (val != null) {\n valList = val.split(\"|\");\n }\n\n for (let v of valList) {\n for (let dropDownItem of list) {\n if (dropDownItem.code === v) {\n valMap.push(dropDownItem.name);\n }\n }\n }\n\n if (valMap.length === 0) {\n valMap = [\"None\"];\n }\n type.selections[p] = valMap;\n\n } else {\n let valMap = null;\n for (let dropDownItem of list) {\n if (dropDownItem.code === val) {\n valMap = dropDownItem.name;\n }\n }\n\n if (valMap === null) {\n valMap = \"None\";\n }\n\n type.selections[p] = valMap;\n\n }\n }\n }\n\n public updateProblems(dropdownOptions, dropdown, selectionOption, type) {\n if (selectionOption.length > 0 && Array.isArray(selectionOption) == true) {\n let valMap: Array = [];\n\n for (let p of selectionOption) {\n for (let dropDownItem of dropdownOptions) {\n if (dropDownItem.name === p) {\n valMap.push(dropDownItem.code)\n }\n }\n }\n this.fields.setValue(this.name, type, valMap.join(\"|\"));\n } else {\n this.fields.setValue(this.name, type, null);\n }\n\n if (Array.isArray(selectionOption) === false) { this.fields.setValue(this.name, type, dropdownOptions.find(x => x.name == selectionOption)[\"code\"]); }\n }\n\n private loadProblems(dropdownOptions, dropdown, selectionOption, type) {\n let valMap: Array = [];\n let probs = this.fields.getField(this.name, type).value;\n if (probs != null) {\n let probArray = probs.split('|');\n\n for (let p of probArray) {\n for (let dropDownItem of dropdownOptions) {\n if (dropDownItem.code === p) {\n valMap.push(dropDownItem.name);\n }\n }\n }\n }\n\n selectionOption = valMap;\n if (type === \"CPBEventsList\") {\n this.selectedCardiopulmonary = valMap;\n }\n\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';\r\nimport { Location } from '@angular/common';\r\nimport { SurgeryCaseFieldsService } from '../surgery-case-fields.service';\r\nimport { SurCaseService } from '../surcase.service';\r\nimport { LoginService } from \"../../../user/login.service\";\r\nimport { Router } from '@angular/router';\r\nimport { SurCaseSaveResponse } from '../../../../shared/iqis/surcase-save/surcase-save-response';\r\nimport { SurCaseResponse } from '../../../../shared/iqis/surcase/surcase-response';\r\nimport { SurCaseProcEfficacyInfoModel } from '../../../../shared/iqis/surcase/surcase-proc-efficacy-info-model';\r\nimport { MarkSurCaseCompleteResponse } from '../../../../shared/iqis/surcase-save/mark-surcase-complete-response';\r\n\r\ndeclare var jquery: any;\r\ndeclare var $: any;\r\n\r\n@Component({\r\n selector: 'app-surgery-missing-fields',\r\n templateUrl: './surgery-missing-fields.component.html',\r\n styleUrls: ['./surgery-missing-fields.component.scss'],\r\n host: { class: \"host\" }\r\n})\r\nexport class SurgeryMissingFieldsComponent implements OnInit, DoCheck {\r\n\r\n public loadCaseRun: boolean = false;\r\n public isNewCase: boolean = false;\r\n public isComplete: boolean = false;\r\n public completedCaseText: string = '';\r\n public saveCaseText: string = '';\r\n public caseLoadingText: string = '';\r\n public fields: SurgeryCaseFieldsService;\r\n public surCaseService: SurCaseService;\r\n public user: LoginService;\r\n constructor(fields: SurgeryCaseFieldsService, _surCaseService: SurCaseService, _user: LoginService, private router: Router, private location: Location) {\r\n localStorage.setItem('savecase', 'savesurgerycase');\r\n this.user = _user;\r\n if (this.user.IsReadOnlyUser()) {\r\n this.location.back();\r\n }\r\n\r\n this.fields = fields;\r\n this.surCaseService = _surCaseService; \r\n }\r\n\r\n ngOnInit() {\r\n this.completedCaseText = '';\r\n this.saveCaseText = '';\r\n this.caseLoadingText = '';\r\n this.fields.validate = true;\r\n\r\n let url = this.router.url;\r\n let isNotPostSave = (url.indexOf(\"post-save\") === -1);\r\n if (!isNotPostSave) {\r\n let urlSplit = url.split(\"/\");\r\n let caseId = urlSplit[urlSplit.length - 1];\r\n //if(this.fields.type === \"add\")\r\n this.saveCaseText = 'Surgery Case Information successfully saved (Case ID: ' + caseId + ')';\r\n //else\r\n // this.saveCaseText = 'Case has been created and saved (Case ID: ' + caseId + ')';\r\n\r\n }\r\n this.checkCaseLoaded();\r\n }\r\n\r\n ngDoCheck() {\r\n if (this.loadCaseRun === false) {\r\n this.checkCaseLoaded();\r\n }\r\n }\r\n\r\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 }\r\n\r\n private loadCase() {\r\n this.loadCaseRun = true;\r\n this.isComplete = this.fields.isComplete();\r\n\r\n let url = this.router.url;\r\n let isNotPostSave = (url.indexOf(\"post-save\") === -1);\r\n if (isNotPostSave) {\r\n console.log(this.fields.fields);\r\n this.surCaseService.clearCase();\r\n\r\n // Case Identification\r\n this.surCaseService.surcase.SurLocationId = this.fields.getField(\"Case Identification\", 'Hospital').value;\r\n this.surCaseService.surcase.SurCaseUpdatedby = this.user.user.UserId.toString();\r\n this.surCaseService.surcase.SurCaseId = this.fields.getField(\"Case Identification\", 'Case Number').value;\r\n this.surCaseService.surcase.SurCaseUniqueIdentifier = this.fields.getField(\"Case Identification\", 'uniquePatientId').value;\r\n this.surCaseService.surcase.SurgDate = this.formatDate(this.fields.getField(\"Case Identification\", 'Surg Date').value);\r\n this.surCaseService.surcase.PrimarySurgeonId = this.fields.getField(\"Case Identification\", 'Surgeon').value;\r\n this.surCaseService.surcase.SurPerfPVCSGInd = this.getTrueFalse(this.fields.getField(\"Case Identification\", \"PIPofcardiacSurgeons\").value)\r\n\r\n\r\n //Clinical Characteristics\r\n //if (localStorage.getItem('surgeryclinicalchardirty') === 'true') {\r\n this.surCaseService.surcase.SurCaseClinicalInfo.SurCaseClinicalInfoId = this.fields.getField(\"Clinical Characteristics\", \"Id\").value;\r\n this.surCaseService.surcase.SurCaseClinicalInfo.SurCaseId = this.fields.getField(\"Case Identification\", 'Case Number').value;\r\n this.surCaseService.surcase.SurCaseClinicalInfo.PatAge = this.fields.getField(\"Clinical Characteristics\", \"Age\").value;\r\n this.surCaseService.surcase.SurCaseClinicalInfo.PatAgeType = this.getAgeType(this.fields.getField(\"Clinical Characteristics\", 'Age Unit').value);\r\n if (this.fields.getField(\"Clinical Characteristics\", \"Prematurity Unit\").value)\r\n this.surCaseService.surcase.SurCaseClinicalInfo.PatPreMaturityVal = this.getprematurevalue(this.fields.getField(\"Clinical Characteristics\", \"Prematurity Unit\").value);\r\n this.surCaseService.surcase.SurCaseClinicalInfo.PatSex = this.fields.getField(\"Clinical Characteristics\", \"Sex\").value;\r\n this.surCaseService.surcase.SurCaseClinicalInfo.PatWeight = this.fields.getField(\"Clinical Characteristics\", \"Weight\").value;\r\n this.surCaseService.surcase.SurCaseClinicalInfo.PatHeight = this.fields.getField(\"Clinical Characteristics\", \"Height\").value;\r\n this.surCaseService.surcase.SurCaseClinicalInfo.PatBSA = this.fields.getField(\"Clinical Characteristics\", \"BSA\").value;\r\n this.surCaseService.surcase.SurCaseClinicalInfo.SurHemotocritVal = this.fields.getField(\"Clinical Characteristics\", \"Hematocrit\").value;\r\n this.surCaseService.surcase.SurCaseClinicalInfo.SurOxygenSatVal = this.fields.getField(\"Clinical Characteristics\", \"OxygenSaturation\").value;\r\n this.surCaseService.surcase.SurCaseClinicalInfo.Updatedby = this.user.user.UserId.toString();\r\n //}\r\n //else {\r\n // this.surCaseService.surcase.SurCaseClinicalInfo = null;\r\n //}\r\n\r\n\r\n //medical History\r\n \r\n this.surCaseService.surcase.SurCaseMedicalHistInfo.SurCaseMedHistId = this.fields.getField(\"Medical History\", \"SurCaseMedHistId\").value;\r\n this.surCaseService.surcase.SurCaseMedicalHistInfo.SurCaseId = this.fields.getField(\"Case Identification\", 'Case Number').value;\r\n this.surCaseService.surcase.SurCaseMedicalHistInfo.CardiacDiagCodes = this.getprocedures(this.fields.getField(\"Medical History\", \"Recorded Events\").value);\r\n this.surCaseService.surcase.SurCaseMedicalHistInfo.RheumeticFeverInd = this.getYesNo(this.fields.getField(\"Medical History\", \"RheumaticHeartDiseaseInd\").value);\r\n\r\n this.surCaseService.surcase.SurCaseMedicalHistInfo.GenericSyndInd = this.getYesNo(this.fields.getField(\"Medical History\", \"GenericsyndromeInd\").value);\r\n this.surCaseService.surcase.SurCaseMedicalHistInfo.GenericSyngVal = this.fields.getField(\"Medical History\", 'GenericsyndromeVal').value;\r\n\r\n this.surCaseService.surcase.SurCaseMedicalHistInfo.MajorNcsAnomalyInd = this.getYesNo(this.fields.getField(\"Medical History\", \"StructuralAnomalyInd\").value);\r\n this.surCaseService.surcase.SurCaseMedicalHistInfo.MajorNcsAnomalyVal = this.fields.getField(\"Medical History\", 'StructuralAnomalyVal').value;\r\n\r\n this.surCaseService.surcase.SurCaseMedicalHistInfo.MajorNcMedIllnessInd = this.getYesNo(this.fields.getField(\"Medical History\", \"MedicalIllnessInd\").value);\r\n this.surCaseService.surcase.SurCaseMedicalHistInfo.MajorNcMedIllnessVal = this.fields.getField(\"Medical History\", 'MedicalIllnessVal').value;\r\n\r\n this.surCaseService.surcase.SurCaseMedicalHistInfo.PrevCardSurgInd = this.getYesNo(this.fields.getField(\"Medical History\", \"PreviousCardiacSurgeryInd\").value);\r\n this.surCaseService.surcase.SurCaseMedicalHistInfo.PrevCardSurgeries = this.fields.getField(\"Medical History\", 'NumberOfUniqueCardiacOperations').value;\r\n\r\n this.surCaseService.surcase.SurCaseMedicalHistInfo.PrevCardCathInd = this.getYesNo(this.fields.getField(\"Medical History\", \"PreviousCardiacCatheterizationInd\").value);\r\n this.surCaseService.surcase.SurCaseMedicalHistInfo.PreoprBakatriBSInd = this.getYesNo(this.fields.getField(\"Medical History\", \"BalloonAtrioseptostomyBeforeSurgeryInd\").value);\r\n this.surCaseService.surcase.SurCaseMedicalHistInfo.PreoprResuscitBSInd = this.getYesNo(this.fields.getField(\"Medical History\", \"ResuscitationBeforeSurgeryInd\").value);\r\n this.surCaseService.surcase.SurCaseMedicalHistInfo.PreoprInotheraBSInd = this.getYesNo(this.fields.getField(\"Medical History\", \"InotropeTherapyBeforeSurgeryInd\").value);\r\n this.surCaseService.surcase.SurCaseMedicalHistInfo.PreoprVentpreopInd = this.getYesNo(this.fields.getField(\"Medical History\", \"VentilationPreoperativelyInd\").value);\r\n this.surCaseService.surcase.SurCaseMedicalHistInfo.Updatedby = this.user.user.UserId.toString();\r\n \r\n \r\n\r\n //case type\r\n //if (localStorage.getItem('surgerycasetypedirty') === 'true' && this.fields.getField(\"Surgical Procedures\", \"Recorded Events\").value !== null) {\r\n // if (localStorage.getItem('surgerycasetypedirty') === 'true' ) {\r\n this.surCaseService.surcase.SurCaseProcAsgnmtInfo.SurCaseProcAsgnId = this.fields.getField(\"Surgical Procedures\", \"SurCaseProcAsgnId\").value;\r\n this.surCaseService.surcase.SurCaseProcAsgnmtInfo.SurCaseId = this.fields.getField(\"Case Identification\", 'Case Number').value;\r\n \r\n this.surCaseService.surcase.SurCaseProcAsgnmtInfo.ProcedureCode = this.getprocedures(this.fields.getField(\"Surgical Procedures\", \"Recorded Events\").value);\r\n this.surCaseService.surcase.SurCaseProcAsgnmtInfo.ProceduresDescription = this.fields.getField(\"Surgical Procedures\", \"Description\").value;;\r\n this.surCaseService.surcase.SurCaseProcAsgnmtInfo.ProceduresRachsValue = this.fields.getField(\"Surgical Procedures\", \"RACHS-1 Category\").value;\r\n this.surCaseService.surcase.SurCaseProcAsgnmtInfo.Updatedby = this.user.user.UserId.toString();\r\n // }\r\n // else {\r\n // this.surCaseService.surcase.SurCaseProcAsgnmtInfo = null;\r\n // }\r\n\r\n //Surgery Events\r\n //if (localStorage.getItem('surgeryeventsdirty') === 'true') {\r\n this.surCaseService.surcase.SurCaseEventsInfo.SurCaseEventId = this.fields.getField(\"Surgery Events\", \"SurCaseEventId\").value;\r\n this.surCaseService.surcase.SurCaseEventsInfo.SurCaseId = this.fields.getField(\"Case Identification\", 'Case Number').value;\r\n this.surCaseService.surcase.SurCaseEventsInfo.PatChestOpenSurgeryInd = this.getTrueFalse(this.fields.getField(\"Surgery Events\", \"PatChestOpenSurgeryInd\").value);\r\n this.surCaseService.surcase.SurCaseEventsInfo.PatCarioBypassRelEventInd = this.getTrueFalse(this.fields.getField(\"Surgery Events\", \"PatCarioBypassRelEventInd\").value);\r\n this.surCaseService.surcase.SurCaseEventsInfo.PatCarioBypassRelEventNotes = this.fields.getField(\"Surgery Events\", \"CPBEventsList\").value;\r\n this.surCaseService.surcase.SurCaseEventsInfo.Updatedby = this.user.user.UserId.toString();\r\n //}\r\n //else {\r\n // this.surCaseService.surcase.SurCaseEventsInfo = null;\r\n //}\r\n\r\n //clinical outcomes\r\n if (localStorage.getItem('clinicaloutcomedirty') === 'true') {\r\n if (this.fields.getField(\"Clinical Outcomes\", \"InHospDeath\").value === 'No') {\r\n this.fields.getField(\"Clinical Outcomes\", \"dOD\").hide = true;\r\n this.fields.getField(\"Clinical Outcomes\", \"dODDescription\").hide = true;\r\n }\r\n if (this.fields.getField(\"Clinical Outcomes\", \"InHospDeath\").value === 'Yes') {\r\n this.fields.getField(\"Clinical Outcomes\", \"dOD\").hide = false;\r\n this.fields.getField(\"Clinical Outcomes\", \"dODDescription\").hide = false;\r\n }\r\n if (this.fields.getField(\"Clinical Outcomes\", \"SurgicalSiteInfection\").value === 'No') {\r\n this.fields.getField(\"Clinical Outcomes\", \"SurgicalSiteInfectionType\").hide = true;\r\n }\r\n if (this.fields.getField(\"Clinical Outcomes\", \"SurgicalSiteInfection\").value === 'Yes') {\r\n this.fields.getField(\"Clinical Outcomes\", \"SurgicalSiteInfectionType\").hide = false;\r\n }\r\n this.surCaseService.surcase.SurCaseOutcomesInfo.SurCaseClinicalOutComesId = this.fields.getField(\"Clinical Outcomes\", \"SurCaseClinicalOutComesId\").value;\r\n this.surCaseService.surcase.SurCaseOutcomesInfo.SurCaseId = this.fields.getField(\"Case Identification\", 'Case Number').value;\r\n this.surCaseService.surcase.SurCaseOutcomesInfo.HospitalDeathInd = this.getYesNo(this.fields.getField(\"Clinical Outcomes\", \"InHospDeath\").value);\r\n this.surCaseService.surcase.SurCaseOutcomesInfo.HospitalDeathDt = this.formatDate(this.fields.getField(\"Clinical Outcomes\", \"dOD\").value);\r\n this.surCaseService.surcase.SurCaseOutcomesInfo.HospitalDeathReason = this.fields.getField(\"Clinical Outcomes\", \"dODDescription\").value;\r\n\r\n this.surCaseService.surcase.SurCaseOutcomesInfo.BactSepsisInfectionInd = this.getYesNo(this.fields.getField(\"Clinical Outcomes\", \"BactSepsis\").value);\r\n this.surCaseService.surcase.SurCaseOutcomesInfo.BactSepsisInfectionDesc = this.fields.getField(\"Clinical Outcomes\", \"BactSepsisDescription\").value;\r\n\r\n this.surCaseService.surcase.SurCaseOutcomesInfo.SurgSiteInfectionInd = this.getYesNo(this.fields.getField(\"Clinical Outcomes\", \"SurgicalSiteInfection\").value);\r\n this.surCaseService.surcase.SurCaseOutcomesInfo.SurgSiteInfectionVal = this.fields.getField(\"Clinical Outcomes\", \"SurgicalSiteInfectionType\").value;\r\n this.surCaseService.surcase.SurCaseOutcomesInfo.SurgSiteInfectionDesc = this.fields.getField(\"Clinical Outcomes\", \"SurSiteInfectionDescription\").value;\r\n\r\n this.surCaseService.surcase.SurCaseOutcomesInfo.SurgSiteAddlInfectionInd = this.getYesNoNotCollected(this.fields.getField(\"Clinical Outcomes\", \"HospitalInfections\").value);\r\n this.surCaseService.surcase.SurCaseOutcomesInfo.SurgSiteInfectionVaeInd = this.getYesNoNotCollected(this.fields.getField(\"Clinical Outcomes\", \"VentPneumonia\").value);\r\n this.surCaseService.surcase.SurCaseOutcomesInfo.SurgSiteInfectionVaeDesc = this.fields.getField(\"Clinical Outcomes\", \"VentPneumoniaDescription\").value;\r\n this.surCaseService.surcase.SurCaseOutcomesInfo.SurgSiteInfectionCabiInd = this.getYesNoNotCollected(this.fields.getField(\"Clinical Outcomes\", \"CathInfection\").value);\r\n this.surCaseService.surcase.SurCaseOutcomesInfo.SurgSiteInfectionCabiDesc = this.fields.getField(\"Clinical Outcomes\", \"CathInfectionDescription\").value;\r\n this.surCaseService.surcase.SurCaseOutcomesInfo.SurgSiteInfectionCautiInd = this.getYesNoNotCollected(this.fields.getField(\"Clinical Outcomes\", \"cathUTI\").value);\r\n this.surCaseService.surcase.SurCaseOutcomesInfo.SurgSiteInfectionCautiDesc = this.fields.getField(\"Clinical Outcomes\", \"CathUTIDescription\").value;\r\n\r\n this.surCaseService.surcase.SurCaseOutcomesInfo.SurgSiteComplicationInd = this.getYesNoNotCollected(this.fields.getField(\"Clinical Outcomes\", \"AnyComplications\").value);\r\n\r\n this.surCaseService.surcase.SurCaseOutcomesInfo.SurgSiteComplicationASEBInd = this.getYesNoNotCollected(this.fields.getField(\"Clinical Outcomes\", \"ReqAddSurgeryForBleeding\").value);\r\n this.surCaseService.surcase.SurCaseOutcomesInfo.SurgSiteComplicationICR24DInd = this.getYesNoNotCollected(this.fields.getField(\"Clinical Outcomes\", \"ICUReAdmissionAfter24Hrs\").value);\r\n this.surCaseService.surcase.SurCaseOutcomesInfo.SurgSiteComplicationRIWI24Ind = this.getYesNoNotCollected(this.fields.getField(\"Clinical Outcomes\", \"ReIntubationIn24hrs\").value);\r\n this.surCaseService.surcase.SurCaseOutcomesInfo.SurgSiteComplicationDIAPInd = this.getYesNoNotCollected(this.fields.getField(\"Clinical Outcomes\", \"DiaphragmaticParalysis\").value);\r\n this.surCaseService.surcase.SurCaseOutcomesInfo.SurgSiteComplicationTDSAAGInd = this.getYesNoNotCollected(this.fields.getField(\"Clinical Outcomes\", \"Tracheostomy\").value);\r\n this.surCaseService.surcase.SurCaseOutcomesInfo.SurgSiteComplicationPOSInd = this.getYesNoNotCollected(this.fields.getField(\"Clinical Outcomes\", \"PostOperativeSeizures\").value);\r\n this.surCaseService.surcase.SurCaseOutcomesInfo.SurgSiteComplicationAKIRDInd = this.getYesNoNotCollected(this.fields.getField(\"Clinical Outcomes\", \"AcuteKidneyInjury\").value);\r\n this.surCaseService.surcase.SurCaseOutcomesInfo.SurgSiteComplicationHBNPMInd = this.getYesNoNotCollected(this.fields.getField(\"Clinical Outcomes\", \"PostSurgicalHeartBlock\").value);\r\n this.surCaseService.surcase.SurCaseOutcomesInfo.SurgSiteComplicationOtherInd = this.getYesNoNotCollected(this.fields.getField(\"Clinical Outcomes\", \"OtherComplications\").value);\r\n this.surCaseService.surcase.SurCaseOutcomesInfo.Updatedby = this.user.user.UserId.toString();\r\n //this.surCaseService.surcase.SurCaseOutcomesInfo.SurgSiteComplicationAddlInfoval = this.getTrueFalse(this.fields.getField(\"Clinical Outcomes\", \"IsPatientAlive\"));\r\n }\r\n else {\r\n this.surCaseService.surcase.SurCaseOutcomesInfo = null;\r\n }\r\n //SurCase30DayStatusInfo\r\n if (this.fields.getField(\"Day 30 Status\", \"IsPatientAlive\").value === null) {\r\n this.surCaseService.surcase.SurCase30DayStatusInfo = null;\r\n }\r\n else {\r\n // if (localStorage.getItem('day30statusdirty') === 'true') {\r\n if (this.fields.getValue(\"Day 30 Status\", \"IsPatientAlive\") === 'false') {\r\n this.fields.getField(\"Day 30 Status\", \"IsPatientDischarged\").hide = true;\r\n this.fields.getField(\"Day 30 Status\", \"IsPatientDoingWell\").hide = true;\r\n }\r\n if (this.fields.getValue(\"Day 30 Status\", \"IsPatientAlive\") === 'true') {\r\n this.fields.getField(\"Day 30 Status\", \"IsPatientDischarged\").hide = false;\r\n }\r\n if (this.fields.getValue(\"Day 30 Status\", \"IsPatientDischarged\") === 'Yes') {\r\n this.fields.getField(\"Day 30 Status\", \"IsPatientDoingWell\").hide = false;\r\n }\r\n if (this.fields.getValue(\"Day 30 Status\", \"IsPatientDischarged\") === 'No') {\r\n this.fields.getField(\"Day 30 Status\", \"IsPatientDoingWell\").hide = true;\r\n }\r\n this.surCaseService.surcase.SurCase30DayStatusInfo.SurCase30DayStatusId = this.fields.getField(\"Day 30 Status\", \"SurCase30DayStatusId\").value;\r\n this.surCaseService.surcase.SurCase30DayStatusInfo.SurCaseId = this.fields.getField(\"Case Identification\", 'Case Number').value;\r\n this.surCaseService.surcase.SurCase30DayStatusInfo.IsPatientAlive = this.getYesNoUnknown(this.fields.getField(\"Day 30 Status\", \"IsPatientAlive\").value);\r\n this.surCaseService.surcase.SurCase30DayStatusInfo.IsPatientDischarged = this.getYesNo(this.fields.getField(\"Day 30 Status\", \"IsPatientDischarged\").value);\r\n this.surCaseService.surcase.SurCase30DayStatusInfo.IsPatientDoingWell = this.getYesNo(this.fields.getField(\"Day 30 Status\", \"IsPatientDoingWell\").value);\r\n this.surCaseService.surcase.SurCase30DayStatusInfo.Updatedby = this.user.user.UserId.toString();\r\n // }\r\n // else {\r\n // this.surCaseService.surcase.SurCase30DayStatusInfo = null;\r\n // }\r\n }\r\n \r\n //this.surCaseService.surcase.SurCaseOutcomesInfo = null;\r\n //efficacy\r\n this.setupProcedureEfficacyData();\r\n // this.surCaseService.surcase.SurCaseProcEfficacyInfo = null;\r\n\r\n\r\n if ((this.surCaseService.surcase.SurCaseUniqueIdentifier === null || this.surCaseService.surcase.SurCaseUniqueIdentifier === undefined\r\n || this.surCaseService.surcase.SurgDate === '') && isNotPostSave) {\r\n this.fields.validate = false;\r\n this.fields.validateDate = true;\r\n if (this.surCaseService.surcase.SurCaseId == 0) {\r\n this.fields.type = \"add\"\r\n }\r\n else {\r\n this.fields.type = \"edit\"\r\n }\r\n let nav = this.fields.getParent(\"Case Identification\")[\"link\"];\r\n this.router.navigate([nav]);\r\n } else {\r\n this.isNewCase = this.surCaseService.surcase.SurCaseId === 0; \r\n this.save()\r\n }\r\n }\r\n }\r\n \r\n private setupProcedureEfficacyData() {\r\n //if (localStorage.getItem('proceduralefficacydirty') === 'true') {\r\n if (this.fields.getField(\"Procedural Efficacy\", \"ASDRepairStatus\").value !== null) {\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem = new SurCaseProcEfficacyInfoModel;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.SurCaseId = this.fields.getField(\"Case Identification\", 'Case Number').value;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.EfficacyProcedureCode = this.fields.getField(\"Procedural Efficacy\", \"ASDRepairStatus\").proccode;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.EfficacyDataName = this.fields.getField(\"Procedural Efficacy\", \"ASDRepairStatus\").proccode;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.EfficacyDataValue = this.fields.getField(\"Procedural Efficacy\", \"ASDRepairStatus\").value;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.Updatedby = this.user.user.UserId.toString();\r\n this.surCaseService.surcase.SurCaseProcEfficacy.push(this.surCaseService.surcase.SurCaseProcEfficacyItem);\r\n }\r\n\r\n if (this.fields.getField(\"Procedural Efficacy\", \"ASDRepairStatus\").value) {\r\n if (this.fields.getField(\"Procedural Efficacy\", \"ASDEchoPerformed\").value !== null) {\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem = new SurCaseProcEfficacyInfoModel;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.SurCaseId = this.fields.getField(\"Case Identification\", 'Case Number').value;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.EfficacyProcedureCode = this.fields.getField(\"Procedural Efficacy\", \"ASDEchoPerformed\").parentcode;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.EfficacyDataName = this.fields.getField(\"Procedural Efficacy\", \"ASDEchoPerformed\").elementcode;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.EfficacyDataValue = this.fields.getField(\"Procedural Efficacy\", \"ASDEchoPerformed\").value;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.Updatedby = this.user.user.UserId.toString();\r\n this.surCaseService.surcase.SurCaseProcEfficacy.push(this.surCaseService.surcase.SurCaseProcEfficacyItem);\r\n }\r\n if (this.fields.getField(\"Procedural Efficacy\", \"ASDPostOperativeReIntervention\").value !== null) {\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem = new SurCaseProcEfficacyInfoModel;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.SurCaseId = this.fields.getField(\"Case Identification\", 'Case Number').value;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.EfficacyProcedureCode = this.fields.getField(\"Procedural Efficacy\", \"ASDPostOperativeReIntervention\").parentcode;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.EfficacyDataName = this.fields.getField(\"Procedural Efficacy\", \"ASDPostOperativeReIntervention\").elementcode;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.EfficacyDataValue = this.fields.getField(\"Procedural Efficacy\", \"ASDPostOperativeReIntervention\").value;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.Updatedby = this.user.user.UserId.toString();\r\n this.surCaseService.surcase.SurCaseProcEfficacy.push(this.surCaseService.surcase.SurCaseProcEfficacyItem);\r\n }\r\n if (this.fields.getField(\"Procedural Efficacy\", \"ASDEchoPerformed\").value) {\r\n if (this.fields.getField(\"Procedural Efficacy\", \"ASDRepair\").value !== null) {\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem = new SurCaseProcEfficacyInfoModel;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.SurCaseId = this.fields.getField(\"Case Identification\", 'Case Number').value;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.EfficacyProcedureCode = this.fields.getField(\"Procedural Efficacy\", \"ASDRepair\").parentcode;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.EfficacyDataName = this.fields.getField(\"Procedural Efficacy\", \"ASDRepair\").elementcode;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.EfficacyDataValue = this.fields.getField(\"Procedural Efficacy\", \"ASDRepair\").value;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.Updatedby = this.user.user.UserId.toString();\r\n this.surCaseService.surcase.SurCaseProcEfficacy.push(this.surCaseService.surcase.SurCaseProcEfficacyItem);\r\n }\r\n if (this.fields.getField(\"Procedural Efficacy\", \"ASDConduction\").value !== null) {\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem = new SurCaseProcEfficacyInfoModel;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.SurCaseId = this.fields.getField(\"Case Identification\", 'Case Number').value;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.EfficacyProcedureCode = this.fields.getField(\"Procedural Efficacy\", \"ASDConduction\").parentcode;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.EfficacyDataName = this.fields.getField(\"Procedural Efficacy\", \"ASDConduction\").elementcode;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.EfficacyDataValue = this.fields.getField(\"Procedural Efficacy\", \"ASDConduction\").value;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.Updatedby = this.user.user.UserId.toString();\r\n this.surCaseService.surcase.SurCaseProcEfficacy.push(this.surCaseService.surcase.SurCaseProcEfficacyItem);\r\n }\r\n }\r\n }\r\n\r\n if (this.fields.getField(\"Procedural Efficacy\", \"VASSurgeryStatus\").value !== null) {\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem = new SurCaseProcEfficacyInfoModel;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.SurCaseId = this.fields.getField(\"Case Identification\", 'Case Number').value;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.EfficacyProcedureCode = this.fields.getField(\"Procedural Efficacy\", \"VASSurgeryStatus\").proccode;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.EfficacyDataName = this.fields.getField(\"Procedural Efficacy\", \"VASSurgeryStatus\").proccode;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.EfficacyDataValue = this.fields.getField(\"Procedural Efficacy\", \"VASSurgeryStatus\").value;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.Updatedby = this.user.user.UserId.toString();\r\n this.surCaseService.surcase.SurCaseProcEfficacy.push(this.surCaseService.surcase.SurCaseProcEfficacyItem);\r\n }\r\n if (this.fields.getField(\"Procedural Efficacy\", \"VASSurgeryStatus\").value) {\r\n if (this.fields.getField(\"Procedural Efficacy\", \"VASEchoPerformed\").value !== null) {\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem = new SurCaseProcEfficacyInfoModel;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.SurCaseId = this.fields.getField(\"Case Identification\", 'Case Number').value;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.EfficacyProcedureCode = this.fields.getField(\"Procedural Efficacy\", \"VASEchoPerformed\").parentcode;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.EfficacyDataName = this.fields.getField(\"Procedural Efficacy\", \"VASEchoPerformed\").elementcode;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.EfficacyDataValue = this.fields.getField(\"Procedural Efficacy\", \"VASEchoPerformed\").value;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.Updatedby = this.user.user.UserId.toString();\r\n this.surCaseService.surcase.SurCaseProcEfficacy.push(this.surCaseService.surcase.SurCaseProcEfficacyItem);\r\n }\r\n if (this.fields.getField(\"Procedural Efficacy\", \"VASPostOperativeReIntervention\").value !== null) {\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem = new SurCaseProcEfficacyInfoModel;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.SurCaseId = this.fields.getField(\"Case Identification\", 'Case Number').value;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.EfficacyProcedureCode = this.fields.getField(\"Procedural Efficacy\", \"VASPostOperativeReIntervention\").parentcode;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.EfficacyDataName = this.fields.getField(\"Procedural Efficacy\", \"VASPostOperativeReIntervention\").elementcode;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.EfficacyDataValue = this.fields.getField(\"Procedural Efficacy\", \"VASPostOperativeReIntervention\").value;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.Updatedby = this.user.user.UserId.toString();\r\n this.surCaseService.surcase.SurCaseProcEfficacy.push(this.surCaseService.surcase.SurCaseProcEfficacyItem);\r\n }\r\n if (this.fields.getField(\"Procedural Efficacy\", \"VASEchoPerformed\").value) {\r\n if (this.fields.getField(\"Procedural Efficacy\", \"VASAroticValueStenosis\").value !== null) {\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem = new SurCaseProcEfficacyInfoModel;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.SurCaseId = this.fields.getField(\"Case Identification\", 'Case Number').value;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.EfficacyProcedureCode = this.fields.getField(\"Procedural Efficacy\", \"VASAroticValueStenosis\").parentcode;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.EfficacyDataName = this.fields.getField(\"Procedural Efficacy\", \"VASAroticValueStenosis\").elementcode;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.EfficacyDataValue = this.fields.getField(\"Procedural Efficacy\", \"VASAroticValueStenosis\").value;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.Updatedby = this.user.user.UserId.toString();\r\n this.surCaseService.surcase.SurCaseProcEfficacy.push(this.surCaseService.surcase.SurCaseProcEfficacyItem);\r\n }\r\n if (this.fields.getField(\"Procedural Efficacy\", \"VASAroticValueRegurgitation\").value !== null) {\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem = new SurCaseProcEfficacyInfoModel;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.SurCaseId = this.fields.getField(\"Case Identification\", 'Case Number').value;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.EfficacyProcedureCode = this.fields.getField(\"Procedural Efficacy\", \"VASAroticValueRegurgitation\").parentcode;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.EfficacyDataName = this.fields.getField(\"Procedural Efficacy\", \"VASAroticValueRegurgitation\").elementcode;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.EfficacyDataValue = this.fields.getField(\"Procedural Efficacy\", \"VASAroticValueRegurgitation\").value;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.Updatedby = this.user.user.UserId.toString();\r\n this.surCaseService.surcase.SurCaseProcEfficacy.push(this.surCaseService.surcase.SurCaseProcEfficacyItem);\r\n }\r\n if (this.fields.getField(\"Procedural Efficacy\", \"VASCoronaryFlow\").value !== null) {\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem = new SurCaseProcEfficacyInfoModel;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.SurCaseId = this.fields.getField(\"Case Identification\", 'Case Number').value;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.EfficacyProcedureCode = this.fields.getField(\"Procedural Efficacy\", \"VASCoronaryFlow\").parentcode;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.EfficacyDataName = this.fields.getField(\"Procedural Efficacy\", \"VASCoronaryFlow\").elementcode;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.EfficacyDataValue = this.fields.getField(\"Procedural Efficacy\", \"VASCoronaryFlow\").value;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.Updatedby = this.user.user.UserId.toString();\r\n this.surCaseService.surcase.SurCaseProcEfficacy.push(this.surCaseService.surcase.SurCaseProcEfficacyItem);\r\n }\r\n if (this.fields.getField(\"Procedural Efficacy\", \"VASSupraAorticAnastomosis\").value !== null) {\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem = new SurCaseProcEfficacyInfoModel;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.SurCaseId = this.fields.getField(\"Case Identification\", 'Case Number').value;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.EfficacyProcedureCode = this.fields.getField(\"Procedural Efficacy\", \"VASSupraAorticAnastomosis\").parentcode;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.EfficacyDataName = this.fields.getField(\"Procedural Efficacy\", \"VASSupraAorticAnastomosis\").elementcode;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.EfficacyDataValue = this.fields.getField(\"Procedural Efficacy\", \"VASSupraAorticAnastomosis\").value;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.Updatedby = this.user.user.UserId.toString();\r\n this.surCaseService.surcase.SurCaseProcEfficacy.push(this.surCaseService.surcase.SurCaseProcEfficacyItem);\r\n }\r\n if (this.fields.getField(\"Procedural Efficacy\", \"VASCondution\").value !== null) {\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem = new SurCaseProcEfficacyInfoModel;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.SurCaseId = this.fields.getField(\"Case Identification\", 'Case Number').value;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.EfficacyProcedureCode = this.fields.getField(\"Procedural Efficacy\", \"VASCondution\").parentcode;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.EfficacyDataName = this.fields.getField(\"Procedural Efficacy\", \"VASCondution\").elementcode;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.EfficacyDataValue = this.fields.getField(\"Procedural Efficacy\", \"VASCondution\").value;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.Updatedby = this.user.user.UserId.toString();\r\n this.surCaseService.surcase.SurCaseProcEfficacy.push(this.surCaseService.surcase.SurCaseProcEfficacyItem);\r\n }\r\n }\r\n }\r\n \r\n if (this.fields.getField(\"Procedural Efficacy\", \"CRLThoracotomyStatus\").value !== null) {\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem = new SurCaseProcEfficacyInfoModel;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.SurCaseId = this.fields.getField(\"Case Identification\", 'Case Number').value;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.EfficacyProcedureCode = this.fields.getField(\"Procedural Efficacy\", \"CRLThoracotomyStatus\").proccode;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.EfficacyDataName = this.fields.getField(\"Procedural Efficacy\", \"CRLThoracotomyStatus\").proccode;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.EfficacyDataValue = this.fields.getField(\"Procedural Efficacy\", \"CRLThoracotomyStatus\").value;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.Updatedby = this.user.user.UserId.toString();\r\n this.surCaseService.surcase.SurCaseProcEfficacy.push(this.surCaseService.surcase.SurCaseProcEfficacyItem);\r\n }\r\n if (this.fields.getField(\"Procedural Efficacy\", \"CRLThoracotomyStatus\").value) {\r\n if (this.fields.getField(\"Procedural Efficacy\", \"CRLEchoPerformed\").value !== null) {\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem = new SurCaseProcEfficacyInfoModel;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.SurCaseId = this.fields.getField(\"Case Identification\", 'Case Number').value;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.EfficacyProcedureCode = this.fields.getField(\"Procedural Efficacy\", \"CRLEchoPerformed\").parentcode;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.EfficacyDataName = this.fields.getField(\"Procedural Efficacy\", \"CRLEchoPerformed\").elementcode;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.EfficacyDataValue = this.fields.getField(\"Procedural Efficacy\", \"CRLEchoPerformed\").value;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.Updatedby = this.user.user.UserId.toString();\r\n this.surCaseService.surcase.SurCaseProcEfficacy.push(this.surCaseService.surcase.SurCaseProcEfficacyItem);\r\n }\r\n if (this.fields.getField(\"Procedural Efficacy\", \"CRLPostOperativeReIntervention\").value !== null) {\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem = new SurCaseProcEfficacyInfoModel;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.SurCaseId = this.fields.getField(\"Case Identification\", 'Case Number').value;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.EfficacyProcedureCode = this.fields.getField(\"Procedural Efficacy\", \"CRLPostOperativeReIntervention\").parentcode;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.EfficacyDataName = this.fields.getField(\"Procedural Efficacy\", \"CRLPostOperativeReIntervention\").elementcode;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.EfficacyDataValue = this.fields.getField(\"Procedural Efficacy\", \"CRLPostOperativeReIntervention\").value;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.Updatedby = this.user.user.UserId.toString();\r\n this.surCaseService.surcase.SurCaseProcEfficacy.push(this.surCaseService.surcase.SurCaseProcEfficacyItem);\r\n }\r\n if (this.fields.getField(\"Procedural Efficacy\", \"CRLEchoPerformed\").value) {\r\n if (this.fields.getField(\"Procedural Efficacy\", \"CRLAorticArch\").value !== null) {\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem = new SurCaseProcEfficacyInfoModel;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.SurCaseId = this.fields.getField(\"Case Identification\", 'Case Number').value;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.EfficacyProcedureCode = this.fields.getField(\"Procedural Efficacy\", \"CRLAorticArch\").parentcode;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.EfficacyDataName = this.fields.getField(\"Procedural Efficacy\", \"CRLAorticArch\").elementcode;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.EfficacyDataValue = this.fields.getField(\"Procedural Efficacy\", \"CRLAorticArch\").value;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.Updatedby = this.user.user.UserId.toString();\r\n this.surCaseService.surcase.SurCaseProcEfficacy.push(this.surCaseService.surcase.SurCaseProcEfficacyItem);\r\n }\r\n if (this.fields.getField(\"Procedural Efficacy\", \"CRLDescendingAorta\").value !== null) {\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem = new SurCaseProcEfficacyInfoModel;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.SurCaseId = this.fields.getField(\"Case Identification\", 'Case Number').value;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.EfficacyProcedureCode = this.fields.getField(\"Procedural Efficacy\", \"CRLDescendingAorta\").parentcode;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.EfficacyDataName = this.fields.getField(\"Procedural Efficacy\", \"CRLDescendingAorta\").elementcode;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.EfficacyDataValue = this.fields.getField(\"Procedural Efficacy\", \"CRLDescendingAorta\").value;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.Updatedby = this.user.user.UserId.toString();\r\n this.surCaseService.surcase.SurCaseProcEfficacy.push(this.surCaseService.surcase.SurCaseProcEfficacyItem);\r\n }\r\n if (this.fields.getField(\"Procedural Efficacy\", \"CRLBranchPulmonaryArtery\").value !== null) {\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem = new SurCaseProcEfficacyInfoModel;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.SurCaseId = this.fields.getField(\"Case Identification\", 'Case Number').value;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.EfficacyProcedureCode = this.fields.getField(\"Procedural Efficacy\", \"CRLBranchPulmonaryArtery\").parentcode;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.EfficacyDataName = this.fields.getField(\"Procedural Efficacy\", \"CRLBranchPulmonaryArtery\").elementcode;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.EfficacyDataValue = this.fields.getField(\"Procedural Efficacy\", \"CRLBranchPulmonaryArtery\").value;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.Updatedby = this.user.user.UserId.toString();\r\n this.surCaseService.surcase.SurCaseProcEfficacy.push(this.surCaseService.surcase.SurCaseProcEfficacyItem);\r\n }\r\n }\r\n }\r\n\r\n if (this.fields.getField(\"Procedural Efficacy\", \"PDALigationStatus\").value !== null) {\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem = new SurCaseProcEfficacyInfoModel;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.SurCaseId = this.fields.getField(\"Case Identification\", 'Case Number').value;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.EfficacyProcedureCode = this.fields.getField(\"Procedural Efficacy\", \"PDALigationStatus\").proccode;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.EfficacyDataName = this.fields.getField(\"Procedural Efficacy\", \"PDALigationStatus\").proccode;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.EfficacyDataValue = this.fields.getField(\"Procedural Efficacy\", \"PDALigationStatus\").value;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.Updatedby = this.user.user.UserId.toString();\r\n this.surCaseService.surcase.SurCaseProcEfficacy.push(this.surCaseService.surcase.SurCaseProcEfficacyItem);\r\n }\r\n if (this.fields.getField(\"Procedural Efficacy\", \"PDALigationStatus\").value) {\r\n if (this.fields.getField(\"Procedural Efficacy\", \"PDAEchoPerformed\").value !== null) {\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem = new SurCaseProcEfficacyInfoModel;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.SurCaseId = this.fields.getField(\"Case Identification\", 'Case Number').value;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.EfficacyProcedureCode = this.fields.getField(\"Procedural Efficacy\", \"PDAEchoPerformed\").parentcode;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.EfficacyDataName = this.fields.getField(\"Procedural Efficacy\", \"PDAEchoPerformed\").elementcode;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.EfficacyDataValue = this.fields.getField(\"Procedural Efficacy\", \"PDAEchoPerformed\").value;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.Updatedby = this.user.user.UserId.toString();\r\n this.surCaseService.surcase.SurCaseProcEfficacy.push(this.surCaseService.surcase.SurCaseProcEfficacyItem);\r\n }\r\n if (this.fields.getField(\"Procedural Efficacy\", \"PDAPostOperativeReIntervention\").value !== null) {\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem = new SurCaseProcEfficacyInfoModel;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.SurCaseId = this.fields.getField(\"Case Identification\", 'Case Number').value;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.EfficacyProcedureCode = this.fields.getField(\"Procedural Efficacy\", \"PDAPostOperativeReIntervention\").parentcode;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.EfficacyDataName = this.fields.getField(\"Procedural Efficacy\", \"PDAPostOperativeReIntervention\").elementcode;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.EfficacyDataValue = this.fields.getField(\"Procedural Efficacy\", \"PDAPostOperativeReIntervention\").value;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.Updatedby = this.user.user.UserId.toString();\r\n this.surCaseService.surcase.SurCaseProcEfficacy.push(this.surCaseService.surcase.SurCaseProcEfficacyItem);\r\n }\r\n if (this.fields.getField(\"Procedural Efficacy\", \"PDAEchoPerformed\").value) {\r\n if (this.fields.getField(\"Procedural Efficacy\", \"PDALigationDivision\").value !== null) {\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem = new SurCaseProcEfficacyInfoModel;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.SurCaseId = this.fields.getField(\"Case Identification\", 'Case Number').value;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.EfficacyProcedureCode = this.fields.getField(\"Procedural Efficacy\", \"PDALigationDivision\").parentcode;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.EfficacyDataName = this.fields.getField(\"Procedural Efficacy\", \"PDALigationDivision\").elementcode;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.EfficacyDataValue = this.fields.getField(\"Procedural Efficacy\", \"PDALigationDivision\").value;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.Updatedby = this.user.user.UserId.toString();\r\n this.surCaseService.surcase.SurCaseProcEfficacy.push(this.surCaseService.surcase.SurCaseProcEfficacyItem);\r\n }\r\n if (this.fields.getField(\"Procedural Efficacy\", \"PDABranchPulmonaryArtery\").value !== null) {\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem = new SurCaseProcEfficacyInfoModel;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.SurCaseId = this.fields.getField(\"Case Identification\", 'Case Number').value;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.EfficacyProcedureCode = this.fields.getField(\"Procedural Efficacy\", \"PDABranchPulmonaryArtery\").parentcode;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.EfficacyDataName = this.fields.getField(\"Procedural Efficacy\", \"PDABranchPulmonaryArtery\").elementcode;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.EfficacyDataValue = this.fields.getField(\"Procedural Efficacy\", \"PDABranchPulmonaryArtery\").value;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.Updatedby = this.user.user.UserId.toString();\r\n this.surCaseService.surcase.SurCaseProcEfficacy.push(this.surCaseService.surcase.SurCaseProcEfficacyItem);\r\n }\r\n if (this.fields.getField(\"Procedural Efficacy\", \"PDAIsthmusDescendingAorta\").value !== null) {\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem = new SurCaseProcEfficacyInfoModel;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.SurCaseId = this.fields.getField(\"Case Identification\", 'Case Number').value;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.EfficacyProcedureCode = this.fields.getField(\"Procedural Efficacy\", \"PDAIsthmusDescendingAorta\").parentcode;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.EfficacyDataName = this.fields.getField(\"Procedural Efficacy\", \"PDAIsthmusDescendingAorta\").elementcode;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.EfficacyDataValue = this.fields.getField(\"Procedural Efficacy\", \"PDAIsthmusDescendingAorta\").value;\r\n this.surCaseService.surcase.SurCaseProcEfficacyItem.Updatedby = this.user.user.UserId.toString();\r\n this.surCaseService.surcase.SurCaseProcEfficacy.push(this.surCaseService.surcase.SurCaseProcEfficacyItem);\r\n }\r\n }\r\n }\r\n //}\r\n //else {\r\n // this.surCaseService.surcase.SurCaseProcEfficacy = null\r\n //}\r\n }\r\n private save() {\r\n if (this.surCaseService.surcase.SurCaseUniqueIdentifier != '' && this.surCaseService.surcase.SurgDate != '' && this.surCaseService.surcase.SurCaseUpdatedby != null && this.surCaseService.surcase.SurCaseUpdatedby != '') {\r\n //once case is marked complete it is complete we dont change the status back\r\n if (this.fields.completedCase) {\r\n // //todo: switch from completed case back to need to mark completed\r\n this.fields.completedCase = false;\r\n }\r\n this.surCaseService.save().subscribe(data => this.saveResponse(data));\r\n }\r\n }\r\n\r\n private saveResponse(data: SurCaseSaveResponse) {\r\n let caseSaveStatusModel = data.DataObject;\r\n if (caseSaveStatusModel.SurCasestatus === \"Saved Succesfully\") {\r\n let newCaseId = caseSaveStatusModel.SurCaseId;\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 this.router.navigate(['/user-portal/edit-surgery-case/post-save/' + newCaseId]);\r\n }\r\n else {\r\n let reload = true;\r\n if ((this.surCaseService.surcase.SurCaseProcAsgnmtInfo != null) && (this.fields.getValue(\"Surgical Procedures\", \"SurCaseProcAsgnId\") != 0)) {\r\n reload = true;\r\n }\r\n if ((this.surCaseService.surcase.SurCaseProcEfficacy != null) &&\r\n ((this.fields.getValue(\"Procedural Efficacy\", \"ASDRepairStatus\") == 1) ||\r\n (this.fields.getValue(\"Procedural Efficacy\", \"VASSurgeryStatus\") == 1) ||\r\n (this.fields.getValue(\"Procedural Efficacy\", \"CRLThoracotomyStatus\") == 1) ||\r\n (this.fields.getValue(\"Procedural Efficacy\", \"PDALigationStatus\") == 1)\r\n )\r\n ) {\r\n reload = true;\r\n }\r\n if (reload) {\r\n this.surCaseService.getCaseDetails(newCaseId).subscribe(data => this.loadCaseResponse(data));\r\n }\r\n }\r\n\r\n }\r\n } else {\r\n alert(caseSaveStatusModel.SurCasestatus);\r\n }\r\n }\r\n \r\n markCaseComplete() {\r\n let url = this.router.url;\r\n let isNotPostSave = (url.indexOf(\"post-save\") === -1);\r\n if (!isNotPostSave) {\r\n //load case values\r\n this.surCaseService.clearCase();\r\n this.surCaseService.surcase.SurCaseUpdatedby = this.user.user.UserId.toString();\r\n this.surCaseService.surcase.SurCaseId = +this.fields.getField(\"Case Identification\", 'Case Number').value;\r\n }\r\n this.surCaseService.markCaseComplete().subscribe(data => this.CaseCompleteResponse(data));\r\n }\r\n\r\n private CaseCompleteResponse(data: MarkSurCaseCompleteResponse) {\r\n let caseCompleteStatusModel = data.DataObject;\r\n if (caseCompleteStatusModel.Status === \"Completed\") {\r\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 }\r\n\r\n private loadCaseResponse(data: SurCaseResponse) {\r\n let caseModel = data.DataObject;\r\n if (caseModel.SurCaseProcAsgnmtInfo != null && (caseModel.SurCaseProcAsgnmtInfo.SurCaseProcAsgnId > 0))\r\n {\r\n this.fields.setValue(\"Surgical Procedures\", \"RACHS-1 Category\", caseModel.SurCaseProcAsgnmtInfo.ProceduresRachsValue);\r\n \r\n }\r\n\r\n \r\n if (caseModel.SurCaseProcEfficacy && caseModel.SurCaseProcEfficacy.length > 0) {\r\n // need to work \r\n let peFields: any[] = this.fields.fields.find(x => x.name == \"Procedural Efficacy\")[\"fields\"]\r\n let setValue: any = null;\r\n for (let fobj of peFields) {\r\n if (fobj.proccode !== undefined)\r\n setValue = caseModel.SurCaseProcEfficacy.sort((a, b) => (a.EfficacyDataName > b.EfficacyDataName) ? 1 : (b.EfficacyDataName > a.EfficacyDataName) ? -1 : 0).find(x => (x.EfficacyProcedureCode.trim() == fobj.proccode.trim())).EfficacyDataValue;\r\n\r\n else\r\n setValue = caseModel.SurCaseProcEfficacy.find(x => x.EfficacyDataName.trim() == fobj.elementcode.trim()) === undefined ? null : caseModel.SurCaseProcEfficacy.find(x => x.EfficacyDataName.trim() == fobj.elementcode.trim()).EfficacyDataValue;\r\n\r\n if (fobj.fieldtype == 'boolean')\r\n this.fields.setValue(\"Procedural Efficacy\", fobj.name, JSON.parse(setValue));\r\n else if (fobj.fieldtype == 'radio')\r\n this.fields.setValue(\"Procedural Efficacy\", fobj.name, setValue);\r\n else\r\n this.fields.setValue(\"Procedural Efficacy\", fobj.name, setValue);\r\n }\r\n }\r\n }\r\n\r\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 }\r\n\r\n private formatTime(date: string): string {\r\n if (date == null) {\r\n return null;\r\n }\r\n\r\n let d = new Date(date),\r\n hoursNumber = d.getHours(),\r\n hours = '' + d.getHours(),\r\n minutes = '' + d.getMinutes();\r\n\r\n if (isNaN(hoursNumber)) {\r\n return null;\r\n }\r\n\r\n if (hours.length < 2) hours = '0' + hours;\r\n if (minutes.length < 2) minutes = '0' + minutes;\r\n\r\n return hours + \":\" + minutes;\r\n }\r\n\r\n private getAgeType(type: string): number {\r\n if (type === 'Days') {\r\n return 0;\r\n }\r\n if (type === 'Months') {\r\n return 1;\r\n }\r\n if (type === 'Years') {\r\n return 2;\r\n }\r\n }\r\n\r\n private getYesNoNotCollected(type: string): string {\r\n if (type === null) {\r\n return null;\r\n }\r\n\r\n if (type === 'Yes') {\r\n return \"1\";\r\n }\r\n if (type === 'No') {\r\n return \"0\";\r\n }\r\n if (type === 'Not Collected') {\r\n return \"3\";\r\n }\r\n }\r\n private getYesNoUnknown(type: string): string {\r\n if (type === 'true') {\r\n return \"1\";\r\n }\r\n if (type === 'false') {\r\n return \"0\";\r\n }\r\n if (type === 'Unknown') {\r\n return \"-1\";\r\n }\r\n }\r\n\r\n private getprematurevalue(type: string): number {\r\n if (type === 'Yes') {\r\n return 1;\r\n }\r\n if (type === 'No') {\r\n return 0;\r\n }\r\n if (type === 'Unknown') {\r\n return -1;\r\n }\r\n }\r\n\r\n private getYesNo(type: string): string {\r\n if (type === null) {\r\n return null;\r\n }\r\n\r\n if (type === 'Yes') {\r\n return \"1\";\r\n }\r\n return \"0\";\r\n }\r\n\r\n private getTrueFalse(type: boolean): string {\r\n if (type == null) {\r\n return null;\r\n }\r\n\r\n if (type) {\r\n return \"1\";\r\n }\r\n return \"0\";\r\n }\r\n\r\n disablemarkcomplete() {\r\n return !this.fields.isComplete() && !this.fields.completedCase;\r\n }\r\n private getprocedures(procList: any): string {\r\n var proc_ids = \"\"\r\n var procsArr = [];\r\n if (procList) {\r\n procsArr = Object.getOwnPropertyNames(procList);\r\n }\r\n for (let item of procsArr) {\r\n let proc = procList[item];\r\n //let proc = item;\r\n if (proc_ids.length == 0)\r\n proc_ids = proc['id'].replace(\"procedure-\", \"\");\r\n else\r\n proc_ids = proc_ids + \"|\" + proc['id'].replace(\"procedure-\", \"\");\r\n \r\n }\r\n return proc_ids;\r\n }\r\n}\r\n","module.exports = \"
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n IQIC Identifier 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 IQIC Identifier\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
Id is a combination of last and first name, day of birth, MRN and hospital id.
\\r\\n
\\r\\n\\r\\n
\\r\\n   \\r\\n\\r\\n
\\r\\n
\\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 = \".surgery-section-icon{border-radius:50px;margin:5px;height:20px;width:20px}.surgery-section-icon i{font-size:30px}#iqic-id-tooltip{position:absolute;top:0;left:-10px;color:gray;font-size:13px}#iqic-id-tooltip:hover{color:black}#tooltip-text{background:black;color:white;border-radius:5px;font-size:11px;padding:5px;z-index:11;width:240px;position:absolute;top:19px;left:-10px}\\n\"","import { Component, OnInit, ViewChild, HostListener } from '@angular/core';\r\nimport { SurgeryCaseFieldsService } from '../../add-surgery-case/surgery-case-fields.service';\r\nimport { SurdataSharedAttributesService } from '../../../shared-data-entry/surdata-sharedattributes.service';\r\nimport { LoginService } from \"../../../user/login.service\";\r\nimport { NgForm } from '@angular/forms';\r\nimport { Observable } from 'rxjs';\r\nimport { ComponentCanDeactivate } from '../../../../CanDeactivateGaurd';\r\nimport { Router, NavigationStart } from '@angular/router';\r\nimport { filter } from 'rxjs/operators';\r\n\r\ndeclare var jquery: any;\r\ndeclare var $: any;\r\n\r\n@Component({\r\n selector: 'app-unique-id',\r\n templateUrl: './unique-id.component.html',\r\n styleUrls: ['./unique-id.component.scss'],\r\n host: { 'class': \"host\" }\r\n})\r\nexport class UniqueIdComponent implements OnInit, ComponentCanDeactivate {\r\n @ViewChild('form') form: NgForm;\r\n name = \"IQIC Identifier\";\r\n firstName: any;\r\n lastName: any;\r\n mrndigit: any;\r\n nameThird: any;\r\n surnameThird: any;\r\n DateofBirth: any;\r\n uniquePatientID: string = \"\";\r\n hospitalID: string = \"\";\r\n hospitaltext: string = \"\";\r\n showErrorMessage: boolean = false;\r\n AllowtoGenerate: boolean = true;\r\n showTooltipText: boolean = false;\r\n currentDate: Date = new Date();\r\n shareddata: SurdataSharedAttributesService;\r\n public fields;\r\n public user: LoginService;\r\n\r\n constructor(private router: Router, _user: LoginService, fields: SurgeryCaseFieldsService, _shareddata: SurdataSharedAttributesService) {\r\n router.events\r\n .pipe(filter(e => e instanceof NavigationStart))\r\n .subscribe((e: NavigationStart) => {\r\n localStorage.setItem('editsurgerycase', e.url);\r\n });\r\n this.fields = fields;\r\n this.user = _user;\r\n //this.shareddata = _shareddata;\r\n }\r\n\r\n\r\n ngOnInit() {\r\n localStorage.removeItem('uniqueiddirty');\r\n }\r\n\r\n\r\n canDeactivate(): Observable | boolean {\r\n\r\n if (this.form.dirty)\r\n localStorage.setItem('uniqueiddirty', 'true');\r\n\r\n return !this.form.dirty;\r\n }\r\n\r\n inputValidator(event: any) {\r\n //console.log(event.target.value);\r\n const pattern = /^[a-zA-Z]*$/;\r\n \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 generateID() {\r\n this.DateofBirth = this.fields.getField(this.name, 'DateofBirth').value;\r\n let nameFirst = this.firstName.slice(0, 1);\r\n if (this.firstName.length < 3) this.nameThird = '9';\r\n else\r\n this.nameThird = this.firstName.slice(2, 3);\r\n\r\n let surnameFirst = this.lastName.slice(0, 1);\r\n if (this.lastName.length < 3)\r\n this.surnameThird = '9';\r\n else\r\n this.surnameThird = this.lastName.slice(2, 3);\r\n this.hospitalID = this.user.user.HospitalId.toString();\r\n this.hospitaltext = this.user.user.Hospital.substring(0, 3);\r\n\r\n let day = (\"0\" + new Date(this.DateofBirth).getDate()).slice(-2)\r\n\r\n let mrn = this.mrndigit.toString(10).slice(2, 4);\r\n this.uniquePatientID = this.hospitaltext.concat(nameFirst, this.nameThird, surnameFirst, this.surnameThird, day, mrn).toUpperCase();\r\n //let temp = { \"UniquePatientID\": this.uniquePatientID, \"DateofBirth\": this.DateofBirth };\r\n this.fields.setValue(this.name, \"uniquePatientId\", this.uniquePatientID);\r\n // this.shareddata.savesuratrributes(temp);\r\n }\r\n\r\n showTooltip(b: boolean) {\r\n console.log(\"Tooltip shown \" + b)\r\n this.showTooltipText = b;\r\n }\r\n\r\n setGhistLabelCss() {\r\n return this.uniquePatientID.length > 0 ? true : false\r\n }\r\n CheckIdentityEligibility() {\r\n this.DateofBirth = this.fields.getField(this.name, 'DateofBirth').value;\r\n if ((this.DateofBirth) && (this.firstName) && (this.lastName) && (this.mrndigit)) {\r\n var d = new Date(this.DateofBirth);\r\n if(d)\r\n var n = d.toString();\r\n else\r\n var n = \"\";\r\n \r\n if ((this.firstName.length >= 2) && (this.lastName.length >= 2) && n.length >= 3 && (this.mrndigit.toString().length > 3 && this.mrndigit.toString().length < 13))\r\n return false;\r\n else\r\n return true;\r\n }\r\n else\r\n return true;\r\n }\r\n\r\n errorMessageCheck() {\r\n //if (!Date.parse(this.DateofBirth)) {\r\n // this.DateofBirth = \"\";\r\n //}\r\n let DOB = this.fields.getField(this.name, 'DateofBirth').value;\r\n let mill = Date.parse(DOB);\r\n if (!(mill > 0)) {\r\n this.fields.setValue(this.name, 'DateofBirth', null);\r\n $(\"#DateofBirth\").val('');\r\n } else if (this.isfutureDate(DOB)) {\r\n this.fields.setValue(this.name, 'DateofBirth', new Date);\r\n }\r\n }\r\n\r\n private isfutureDate(value: string) {\r\n let now = new Date;\r\n let target = new Date(value);\r\n\r\n if (target.getFullYear() > now.getFullYear()) {\r\n return true;\r\n } else if (target.getFullYear() == now.getFullYear()) {\r\n if (target.getMonth() > now.getMonth()) {\r\n return true;\r\n } else if (target.getMonth() == now.getMonth()) {\r\n if (target.getDate() > now.getDate()) {\r\n return true;\r\n }\r\n }\r\n }\r\n\r\n return false;\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
\\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
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 \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n Status \\r\\n \\r\\n \\r\\n Case ID \\r\\n \\r\\n \\r\\n Cath Date \\r\\n \\r\\n \\r\\n Age \\r\\n \\r\\n \\r\\n Case Type \\r\\n \\r\\n EditDeleteCase Summary
\\r\\n \\r\\n {{searchCaseSummary.CaseId}}{{searchCaseSummary.CathDate | cathDateFormat}}{{searchCaseSummary.Age}} {{searchCaseSummary.AgeType | ageType}}\\r\\n 0\\\">{{searchCaseSummary.CasetypeDesc}} ({{searchCaseSummary.Casetype}})\\r\\n \\r\\n \\r\\n \\r\\n \\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 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}.case-type-cell{width:35%;word-wrap:break-word}.sect-header{margin-bottom:10px !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:12px}.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}.card-block .fa{font-size:20px}.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}\\n\"","\nimport { NgForm } from \"@angular/forms\";\r\n\r\nimport { Component, OnInit, HostListener, Pipe, PipeTransform, ViewChild } from \"@angular/core\";\nimport { BrowserModule, DomSanitizer } from '@angular/platform-browser';\nimport { Http, Response, Headers, RequestOptions } from '@angular/http';\nimport { Observable, pipe } from 'rxjs';\nimport { map, takeUntil, tap } from 'rxjs/operators';\n\nimport { LoginService } from \"../login.service\";\n\nimport { CaseLookupService } from \"./case-lookup.service\";\nimport { SearchResponse } from '../../../shared/search-response';\nimport { SearchModel } from '../../../shared/search-model';\nimport { SearchCaseSummaryModel } from '../../../shared/search-case-summary-model';\nimport { CaseReqResourcesModel } from '../../../shared/case/case-req-resources-model';\n\nimport { PicklistItemService } from \"../../shared-data-entry/picklist-item.service\";\nimport { PicklistItemResponse } from '../../../shared/picklist-item-response';\nimport { PicklistItemModel } from '../../../shared/picklist-item-model';\n\nimport { CaseService } from '../add-case/case.service';\nimport { CaseFieldsService } from \"../../user/add-case/case-fields.service\";\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\";\nimport { MajorAdverseEventResponse } from \"../../../shared/major-adverse-event-response\";\r\nimport { OtherAdverseEventService } from \"../../shared-data-entry/other-adverse-event.service\";\nimport { OtherAdverseEventResponse } from \"../../../shared/other-adverse-event-response\";\r\nimport { ProcedurePicklistService } from \"../../shared-data-entry/procedure-picklist.service\";\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 * 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\n\ndeclare var jquery: any;\ndeclare var $: any;\n\n@Pipe({\r\n name: 'safeHtml'\r\n})\n\n@Component({\n selector: \"app-case-lookup\",\n templateUrl: \"./case-lookup.component.html\",\n styleUrls: [\"./case-lookup.component.scss\"]\n})\nexport class CaseLookupComponent implements OnInit {\n @ViewChild('caselookupform')\n form: NgForm;\n\n public successMessage = \"\";\n public errorMessage = \"\";\n public ageOptions = [];\n\n public currentDate: Date = new Date();\n \n filter: string = \"\";\n key: string = \"CaseId\";\n reverse: boolean = false;\n p: number = 1;\n\n\n public stsDiagnosisService: StsDiagnosisService;\n public lookup: CaseLookupService;\n public lookupstore: CaseLookupService;\n public user: LoginService;\n public picklistItemService: PicklistItemService;\n public caseService: CaseService;\n public fields: CaseFieldsService;\n containsEfficacy: boolean = false;\n efficacyCount: number = 0;\n showImport = false;\n showCaseSummary = false;\n showCaseSummaryIE = false;\n caseSummary: string = \"\";\n caseSummaryTI: string = \"\";\n caseSummaryT: string = \"\";\n caseSummaryTII: string = \"\";\n labelValue: string = \"Choose File\";\n caseModel: CaseModel;\r\n dropDownNames: PicklistItemResponse;\r\n dropDownHospitals: PicklistItemResponse;\r\n dropDownOperators: PicklistItemResponse;\n dropDownCrisp: PicklistItemResponse;\n dropDownProcedure: ProcedurePicklistModel[];\n stsDiagnosisList: StsDiagnosisResponse;\n AdverseEventModel: CaseAEItemModel[];\n fileList: FileList;\n public majorAdverseEventService: MajorAdverseEventService;\n public otherAdverseEventService: OtherAdverseEventService;\n public procedurePicklistService: ProcedurePicklistService;\n\n constructor(private Spinner: NgxSpinnerService, _ProcedurePicklistService: ProcedurePicklistService,_lookup: CaseLookupService, _user: LoginService, _picklistItemService: PicklistItemService,\n _caseService: CaseService, _fields: CaseFieldsService, _stsDiagnosisService: StsDiagnosisService,\n _majorAdverseEventService: MajorAdverseEventService,\n _otherAdverseEventService: OtherAdverseEventService, private sanitized: DomSanitizer) {\n \r\n \r\n if (\"ActiveXObject\" in window == true) {\n this.showCaseSummaryIE = false;\n }\n else {\n this.showCaseSummaryIE = true;\r\n }\n\n this.user = _user; \n\n this.majorAdverseEventService = _majorAdverseEventService;\n this.otherAdverseEventService = _otherAdverseEventService;\n this.caseService = _caseService;\n this.stsDiagnosisService = _stsDiagnosisService;\n this.fields = _fields;\n this.fields.resetFields();\n\n this.lookup = _lookup; \n this.lookup.HospitalId = this.user.user.HospitalId;\n this.lookup.searchClear();\n \n \n this.errorMessage = \"\";\n\n this.majorAdverseEventService\n .getMajorAdverseEvent()\n .subscribe(data => this.populateMajorEvents(data));\n\n this.otherAdverseEventService\n .getOtherAdverseEvent()\n .subscribe(data => this.populateOtherEvents(data));\n\n this.picklistItemService = _picklistItemService;\n this.picklistItemService.getPicklistItem(this.lookup.HospitalId.toString(), \"Age Range\").subscribe(data => this.populatePicklistItems(data,\"Age Range\"));\n\n \r\n if (this.user.user) {\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.PedcathCasesOnly = this.lookupstore.PedcathCasesOnly;\r\n \r\n }\n\n this.picklistItemService\n .getPicklistItem(this.user.user.HospitalId.toString(), \"ALL\")\n .subscribe(data => this.populatePicklistItems(data, \"ALL\"));\n\n this.picklistItemService\n .getPicklistItem(this.user.user.HospitalId.toString(), \"HOSPITALS\")\n .subscribe(data => this.populatePicklistItems(data, \"HOSPITALS\"));\n\n this.picklistItemService\n .getPicklistItem(\"1\", \"CRISP Physiologic category\")\n .subscribe(data => this.populatePicklistItems(data, \"CRISP\")); \n\n this.picklistItemService.getPicklistItem(this.user.user.HospitalId.toString(), \"OPERATORS\").subscribe(data => this.populatePicklistItems(data, \"OPERATORS\"));\n\n this.stsDiagnosisService\n .getStsDiagnosis()\n .subscribe(data => this.populateStsDiagnosis(data));\n\n this.procedurePicklistService = _ProcedurePicklistService;\n this.procedurePicklistService.getProcedurePicklist().subscribe(data => this.validateProcedurePicklist(data));\n\n }\n }\n\n transform(value) {\r\n return this.sanitized.bypassSecurityTrustHtml(value);\r\n }\n\n validateProcedurePicklist(ppr: ProcedurePicklistResponse) {\n if (ppr.MessageType === \"success\") {\n this.dropDownProcedure = ppr.DataObject; \n }\n }\n\n populateMajorEvents(majorAEResponse: MajorAdverseEventResponse) {\n this.majorAdverseEventService.majorAdverseEventList =\n majorAEResponse.DataObject; \n }\n\n populateOtherEvents(otherAEResponse: OtherAdverseEventResponse) {\n this.otherAdverseEventService.otherAdverseEventList =\n otherAEResponse.DataObject;\n \n }\n\n populateStsDiagnosis(stsDiagResponse: StsDiagnosisResponse) {\n this.stsDiagnosisList = stsDiagResponse; \n }\n\n populatePicklistItems(picklistItemResponse: PicklistItemResponse,type) {\n this.picklistItemService.picklistItemModel = picklistItemResponse.DataObject;\r\n this.picklistItemService.mapToDropDown();\n if (type == \"Age Range\")\n this.ageOptions = this.picklistItemService.dropDownPicklistItem;\n\n if (type == \"ALL\")\n this.dropDownNames = picklistItemResponse;\n else if (type == \"HOSPITALS\")\n this.dropDownHospitals = picklistItemResponse;\n else if (type == \"OPERATORS\")\n this.dropDownOperators = picklistItemResponse;\n else if (type == \"CRISP\")\n this.dropDownCrisp = picklistItemResponse;\n \n }\n\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 ngOnInit() {\n this.SearchCase();\n this.fields.anticipatedCase = false;\n }\n\n GenerateReport(caseID) {\n this.showCaseSummary = true;\r\n this.caseService.getCaseDetails(caseID).subscribe(data => this.loadResponse(data));\r\n }\n\n\n\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 }\n\n private loadResponse(data: CaseResponse) {\n \n this.caseModel = data.DataObject;\r\n var primaryProc = \"\";\n var secondaryProc = \"\";\r\n var anticipatedPriProc = \"\";\r\n var anticipatedSecProc = \"\";\r\n var hospital = \"\";\n if (this.dropDownHospitals.DataObject.find(x => x.ChoiceCode == this.caseModel.HospitalId.toString()) != undefined)\n hospital = this.dropDownHospitals.DataObject.find(x => x.ChoiceCode == this.caseModel.HospitalId.toString())[\"ChoiceText\"];\n var operators = \"\";\n if (this.dropDownOperators.DataObject.find(x => x.ChoiceCode == this.caseModel.PrimaryOperatorId.toString()) != undefined)\n operators = this.dropDownOperators.DataObject.find(x => x.ChoiceCode == this.caseModel.PrimaryOperatorId.toString())[\"ChoiceText\"];\n var patSex = \"\";\n if (this.caseModel.CaseClinicalInfo.PatSex == \"2\") { patSex = \"Female\" } else { patSex = \"Male\" }\n var stsDiagCode = \"\";\n if (this.caseModel.CaseClinicalInfo.StsDiagCode != \"\")\n this.stsDiagnosisList.DataObject.find(x => x.StsDiagCode == this.caseModel.CaseClinicalInfo.StsDiagCode)[\"StsDiagParentTextToShow\"];\n var PrevCathlast90dInd = \"No\"; if (this.caseModel.CaseClinicalInfo.PrevCathlast90dInd == \"1\") { PrevCathlast90dInd = \"Yes\" }\n var PrevSurglast90dInd = \"No\"; if (this.caseModel.CaseClinicalInfo.PrevSurglast90dInd == \"1\") { PrevSurglast90dInd = \"Yes\" } \n var GenSyndromeInd = \"No\"; if (this.caseModel.CaseClinicalInfo.GenSyndromeInd == \"1\") { GenSyndromeInd = \"Yes\" } \n var NonCardiacProbInd = \"No\"; if (this.caseModel.CaseClinicalInfo.NonCardiacProbInd == \"1\") { NonCardiacProbInd = \"Yes\" } \n var NonCardiacProbValues = \"\"; if (this.caseModel.CaseClinicalInfo.NonCardiacProbInd == \"1\")\n {\n if (this.dropDownNames.DataObject.find(x => x.ChoiceCode == this.caseModel.CaseClinicalInfo.NonCardiacProbValues.toString()) != undefined)\n NonCardiacProbValues = this.dropDownNames.DataObject.find(x => x.ChoiceCode == this.caseModel.CaseClinicalInfo.NonCardiacProbValues.toString())[\"ChoiceText\"];\n }\n var AdmissionSource = \"Non-Elective\"; if (this.caseModel.CaseEOCAdmDisposn.IsAdmSrcElective == \"1\") { AdmissionSource = \"Elective\" }\n var PostCathLocation = \"\";\n if (this.caseModel.CaseEOCAdmDisposn.PostCathLocation != \"\") {\n if (this.dropDownNames.DataObject.find(x => x.ChoiceCode == this.caseModel.CaseEOCAdmDisposn.PostCathLocation) != undefined)\n PostCathLocation = this.dropDownNames.DataObject.find(x => x.ChoiceCode == this.caseModel.CaseEOCAdmDisposn.PostCathLocation)[\"ChoiceText\"];\r\n }\n \n var AdmitPriorCath = \"No\"; if (this.caseModel.CaseEOCAdmDisposn.AdmittedPriorCathInd == \"1\") { AdmitPriorCath = \"Yes\" }\n var DischargePostCath = \"No\"; if (this.caseModel.CaseEOCAdmDisposn.DischargePostCathInd == \"1\") { DischargePostCath = \"Yes\" }\n var UnplannedAdmission = \"No\"; if (this.caseModel.CaseEOCAdmDisposn.IsUnplannedAdmission == \"1\") { UnplannedAdmission = \"Yes\" }\n var DeathPostCath = \"No\"; if (this.caseModel.CaseEOCAdmDisposn.IsAliveAtDischarge == \"1\") { DeathPostCath = \"Yes\" } \n var AdverseEventOccured = \"No\";\n var airwayManagement = \"\", airwayManagementPre = \"\", airwayManagementPost = \"\", airwayManagementProc = \"\";\n var Ventilation = \"\", VentilationPre = \"\", VentilationPost = \"\", VentilationProc = \"\";\n var Sedation = \"\", SedationPre = \"\", SedationPost = \"\", SedationProc = \"\";\n var Lines = \"\", LinesPre = \"\", LinesPost = \"\", LinesProc = \"\", LinesProc = \"\";\n var Drains = \"\", DrainsPre = \"\", DrainsPost = \"\", DrainsProc = \"\";\n var MechanicalSupport = \"\", MechanicalSupportPre = \"\", MechanicalSupportPost = \"\", MechanicalSupportProc = \"\";\n var IVMedications = \"\", IVMedicationsPre = \"\", IVMedicationsPost = \"\", IVMedicationsProc = \"\";\n var Nursing = \"\";\n var SingleVentricle = \"No\"; if (this.caseModel.CaseHemoDynamicInfo.IsSingleVenPhysiology == \"1\") { SingleVentricle = \"Yes\" }\n var IsMvSat = \"No\"; if (this.caseModel.CaseHemoDynamicInfo.IsMvSat == \"1\") { IsMvSat = \"Yes\" }\n var IsPAMean = \"No\"; if (this.caseModel.CaseHemoDynamicInfo.IsPAMean == \"1\") { IsPAMean = \"Yes\" }\n var IsPVR = \"No\"; if (this.caseModel.CaseHemoDynamicInfo.IsPVR == \"1\") { IsPVR = \"Yes\" }\n var IsQPQS = \"No\"; if (this.caseModel.CaseHemoDynamicInfo.IsQPQS == \"1\") { IsQPQS = \"Yes\" }\n var IsSVEDP = \"No\"; if (this.caseModel.CaseHemoDynamicInfo.IsSVEDP == \"1\") { IsSVEDP = \"Yes\" }\n var IsSysSat = \"No\"; if (this.caseModel.CaseHemoDynamicInfo.IsSysSat == \"1\") { IsSysSat = \"Yes\" }\n var crisp = \"\"\n var totalDAP = this.caseModel.CaseProcedureInfo.TotalDap == \"\" ? 0 : this.caseModel.CaseProcedureInfo.TotalDap;\n var bloodTransfusion = \"No\"; if (this.caseModel.CaseProcedureInfo.BloodTransfusion == \"1\") { bloodTransfusion = \"Yes\" }\n let nursingvalpre = \"\", nursingvalpost = \"\";\n this.caseSummaryTI = \"\";\r\n this.caseSummaryTII = \"\";\n if (this.caseModel.CaseHemoDynamicInfo.PhysiologicCategory != \"\") {\n if (this.dropDownCrisp.DataObject.find(x => x.ChoiceCode == this.caseModel.CaseHemoDynamicInfo.PhysiologicCategory) != undefined)\n crisp = this.dropDownCrisp.DataObject.find(x => x.ChoiceCode == this.caseModel.CaseHemoDynamicInfo.PhysiologicCategory)[\"ChoiceText\"];\r\n }\n \n let dateString = this.caseModel.CathDate;\r\n let newDate = new Date(dateString);\n if (this.caseModel.CaseProcAEInfo.caseAEItems.length > 0)\n AdverseEventOccured = \"Yes\";\n \n this.AdverseEventModel = this.caseModel.CaseProcAEInfo.caseAEItems;\n this.caseSummaryT = \"\", this.caseSummaryTI = \"\";\n\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 += \"
\"\n this.caseSummaryT += \"
\"\r\n this.caseSummaryT += \"
\"\r\n this.caseSummaryT += \"
\"\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 += \"
\"\n \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 += \"
\"\n this.caseSummaryTI += \"
Procedure Indications:
\"\r\n this.caseSummaryTI += \"
\" + aorticProcedure + \"
\"\n this.caseSummaryTI += \"
\"\r\n this.caseSummaryTI += \"
\"\r\n this.caseSummaryTI += \"
\"\r\n this.caseSummaryTI += \"
Pre Procedure
\"\r\n this.caseSummaryTI += \"
Post Procedure
\"\n\r\n this.caseSummaryTI += \"
Left Ventricle Dysfunction
\"\r\n this.caseSummaryTI += \"
\" + leftVentriclePre + \"
\"\n this.caseSummaryTI += \"
\" + leftVentriclePost + \"
\"\n\r\n this.caseSummaryTI += \"
Aortic regurgitation
\"\r\n\r\n this.caseSummaryTI += \"
\" + aorticRegurgPre + \"
\"\n this.caseSummaryTI += \"
\" + aorticRegurgPost + \"
\"\n\r\n this.caseSummaryTI += \"
Peak systolic AV gradient
\"\r\n\r\n this.caseSummaryTI += \"
\" + avGradPre + \"
\"\n this.caseSummaryTI += \"
\" + avGradPost + \"
\"\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 += \"
\"\n this.caseSummaryTI += \"
Procedure Indications:
\"\r\n this.caseSummaryTI += \"
\" + pulmProcedure + \"
\"\n\r\n this.caseSummaryTI += \"
Subvalvar Obstruction:
\" + subObstru + \"
\"\r\n this.caseSummaryTI += \"
Pulmonary Valve Type:
\" + pulmValve + \"
\"\n\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
\"\n\r\n this.caseSummaryTI += \"
Pulmonary valve gradient
\"\r\n this.caseSummaryTI += \"
\" + pulmValvePre + \"
\"\n this.caseSummaryTI += \"
\" + pulmValvePost + \"
\"\n\r\n this.caseSummaryTI += \"
Pulmonary regurgitation
\"\r\n\r\n this.caseSummaryTI += \"
\" + pulmRegurPre + \"
\"\n this.caseSummaryTI += \"
\" + pulmRegurPost + \"
\"\n\r\n this.caseSummaryTI += \"
Tricuspid valve regurgitation
\"\r\n this.caseSummaryTI += \"
\" + triValvePre + \"
\"\n this.caseSummaryTI += \"
\" + triValvePost + \"
\"\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 + \"
\"\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 + \"
\"\n }\n else {\n this.caseSummaryTI += \"
\"\n }\n this.caseSummaryTI += \"
New or Changed mitral valve insufficiency:
\" + asdMitral + \"
\"\n\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 + \"
\"\n\r\n this.caseSummaryTI += \"
Any aneurysm post procedure:
\" + cpPostProc + \"
\"\r\n this.caseSummaryTI += \"
Stent migration:
\" + cpStent + \"
\"\n this.caseSummaryTI += \"
Jailing of head/Neck vessels:
\" + cpJailing + \"
\"\n this.caseSummaryTI += \"
\"\r\n this.caseSummaryTI += \"
\"\r\n this.caseSummaryTI += \"
\"\r\n this.caseSummaryTI += \"
Pre Procedure
\"\r\n this.caseSummaryTI += \"
Post Procedure
\"\n\r\n this.caseSummaryTI += \"
Peak systolic gradient at coarctation
\"\r\n this.caseSummaryTI += \"
\" + cpCoarPre + \"
\"\n this.caseSummaryTI += \"
\" + cpCoarPost + \"
\"\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 + \"
\"\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 + \"
\"\n }\n else {\n this.caseSummaryTI += \"
\"\n }\n\n this.caseSummaryTI += \"
Device removed from body:
\" + pdaDevice + \"
\"\n if (pdaDevice == \"Yes\") {\n this.caseSummaryTI += \"
Reason for device removal:
\" + pdaReason + \"
\"\n }\n else {\n this.caseSummaryTI += \"
\"\n }\n\r\n this.caseSummaryTI += \"
New left pulmonary artery stenosis:
\" + pdaPulmonary + \"
\"\r\n this.caseSummaryTI += \"
New aortic arch obstruction:
\" + pdaObstruction + \"
\"\n this.caseSummaryTI += \"
Hemolysis:
\" + pdaHemolysis + \"
\"\n\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 + \"
\"\n this.caseSummaryT += \"
Discharge > 48 Hrs Post-Cath:
\" + DischargePostCath + \"
\"\n this.caseSummaryT += \"
Unplanned Admission:
\" + UnplannedAdmission + \"
\"\n this.caseSummaryT += \"
Death < 72 Hrs Post-Cath:
\" + DeathPostCath + \"
\"\n this.caseSummaryT += \"
\"\n this.caseSummaryT += \"
\"\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 + \"
\"\n this.caseSummaryTII += \"
Discharge > 48 Hrs Post-Cath:
\" + DischargePostCath + \"
\"\n this.caseSummaryTII += \"
Unplanned Admission:
\" + UnplannedAdmission + \"
\"\n this.caseSummaryTII += \"
Death < 72 Hrs Post-Cath:
\" + DeathPostCath + \"
\"\n this.caseSummaryTII += \"
\"\n this.caseSummaryTII += \"
\"\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\n }\n\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 \n private convertAgeType(type: number): string {\n if (type === 0) {\n return 'Days';\r\n }\n if (type === 1) {\n return 'Months';\r\n }\r\n if (type === 2) {\n return 'Years';\r\n }\r\n }\n\n\n onPrintCancel() {\n this.showCaseSummary = false;\r\n }\n\n onImportCancel() {\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 }\n\n onImportUpload() {\n \n this.Spinner.show(); \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 }\n\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 }\n\n ImportData() {\n localStorage.removeItem(\"previousurl\");\n localStorage.removeItem(\"lookup\");\n this.showImport = true;\r\n }\n\n SearchCase() {\n localStorage.setItem(\"lookup\", JSON.stringify(this.lookup));\n if ((this.lookup.CaseId == null || this.lookup.CaseId <= 0)\n && this.lookup.CathDateFrom == null\n && this.lookup.CathDateTo == null\n && this.lookup.AgeRange == ''\n && this.lookup.IncompleteDataOnly == false\n && this.lookup.CompleteDataOnly == false && this.lookup.PedcathCasesOnly == false) {\n this.lookup.CaseId = null;\n this.errorMessage = \"Please enter at least one search criteria\";\r\n this.lookup.searchCaseSummarys = [];\r\n } else {\n this.errorMessage = \"\";\r\n this.lookup.searchCases().subscribe(data => this.validateSearch(data));\r\n } \r\n }\n\n SearchClear() {\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 }\n\n caseIdCheck() {\n if (!this.lookup.CaseId) {\r\n $(\"#case-number\").val('');\r\n }\r\n }\n\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 }\n\n validateSearch(sr: SearchResponse) {\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 }\n else {\n this.errorMessage = sr.Message;\r\n }\n }\n\n validateServerResponse(sr: ServerResponse) {\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 }\n else {\n this.successMessage = '';\n this.errorMessage = sr.Message;\r\n } \n }\n\n deleteCaseSet(caseId: number) {\n this.caseService.deleteCaseId = caseId;\r\n }\n\n private isfutureDate(target: Date) {\r\n let now = new Date;\r\n\r\n if (target.getFullYear() > now.getFullYear()) {\r\n return true;\r\n } else if (target.getFullYear() == now.getFullYear()) {\r\n if (target.getMonth() > now.getMonth()) {\r\n return true;\r\n } else if (target.getMonth() == now.getMonth()) {\r\n if (target.getDate() > now.getDate()) {\r\n return true;\r\n }\r\n }\r\n }\r\n\r\n return false;\r\n }\n\n private loadDuration(time1: string, time2: string): string {\n\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; \n if (time1Full > time2Full) {\n time2Full = time2Full + 1440;\r\n }\n timeMinutes = (time2Full - time1Full);\r\n\r\n let hours = Math.floor(timeMinutes / 60);\r\n let minutes = timeMinutes % 60;\r\n\n var format = function (val) {\n return (val < 10) ? \"0\" + val : val;\n }\n var timeFormat = function (hr, min) {\n return hr + ':' + min;\n }\n\n let hourStr = format(hours);\n let minuteStr = format(minutes)\n return timeFormat(hourStr, minuteStr);\r\n } catch {\r\n return \"\";\r\n }\r\n }\r\n return \"\";\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 { SearchModel } from '../../../shared/search-model';\nimport { SearchResponse } from '../../../shared/search-response';\nimport { SearchCaseSummaryModel } from '../../../shared/search-case-summary-model';\nimport { CONFIG } from '../../../shared/config';\n\nlet apiUrl = CONFIG.baseUrls.api;\n@Injectable({\n providedIn: \"root\"\n})\nexport class CaseLookupService {\n\n CaseId: number;\r\n HospitalId: number;\r\n CompleteDataOnly: boolean = false;\r\n IncompleteDataOnly: 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;\n RegistrySelected: string = '';\n PedcathCasesOnly: boolean = false;\n Reviewed: boolean = false;\n NotReviewed: boolean = false;\n\n public searchCaseSummarys: SearchCaseSummaryModel[];\n\n private http: Http = null;\n constructor(_http:Http) {\n this.http = _http;\n }\n\n searchClear() {\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.reportCategorySelected = '';\r\n this.reportSelected = '';\r\n this.searchCaseSummarys = [];\r\n this.PedcathCasesOnly = false;\r\n }\n\n searchCases() {\n let searchInfo = new SearchModel;\n\n searchInfo.CaseId = this.CaseId; \n searchInfo.HospitalId = this.HospitalId;\n searchInfo.ShowInactiveCases = this.ShowInactiveCases;\n searchInfo.ShowPedcathCases = this.PedcathCasesOnly;\n\n if (this.CaseId == null) {\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 }\n\n try {\n searchInfo.CathDateFrom = this.formatDate(new Date(this.CathDateFrom));\r\n } catch {\n searchInfo.CathDateFrom = '';\n }\n\n try {\n searchInfo.CathDateTo = this.formatDate(new Date(this.CathDateTo));\r\n } catch {\n searchInfo.CathDateTo = '';\n }\r\n\r\n searchInfo.CompleteDataOnly = this.CompleteDataOnly;\n searchInfo.IncompleteDataOnly = this.IncompleteDataOnly;\n searchInfo.AgeRange = this.AgeRange; \r\n\r\n if (searchInfo.CompleteDataOnly && searchInfo.IncompleteDataOnly) {\n searchInfo.CompleteDataOnly = false;\n searchInfo.IncompleteDataOnly = false;\r\n } \n }\n else {\n this.CathDateFrom = null;\r\n this.CathDateTo = null;\r\n this.AgeRange = ''; \r\n this.IncompleteDataOnly = false;\r\n this.CompleteDataOnly = false;\n\n searchInfo.CathDateFrom = '';\n searchInfo.CathDateTo = '';\n searchInfo.AgeRange = ''; \n searchInfo.CompleteDataOnly = false;\n searchInfo.IncompleteDataOnly = false;\n searchInfo.ShowPedcathCases = false;\n \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.post(apiUrl + \"case/getcasesearchresults\", searchInfo, options)\n .pipe(map((response: Response) => response.json()));\r\n }\n\n\n\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 }\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 { 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\n this.changeLegend();\n\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 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('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 datePipe: DatePipe;\r\n public user: LoginService;\r\n caseId: any;\r\n severities = ['1', '2', '3', '4', '5'];\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', 'CRMD 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.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.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 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\r\n if (i == 0)\r\n processCase = aCase;\r\n\r\n secondaryAeDetailsList.push(new SecondaryAeDetails(aCase.AEName, aCase.Severity, 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 constructor(name: string, severity: string, preventability: string) {\r\n this.Name = name;\r\n this.Severity = severity;\r\n this.Preventability = preventability;\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 = userstatusmodel.Userstatus;\r\n this.email = \"\";\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
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
IQIC Identifier
\\r\\n \\r\\n
\\r\\n
\\r\\n
CASE ID
\\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n
SURG 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
CaseData Status
\\r\\n \\r\\n \\r\\n   \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
30DAY 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 SEARCH RESULTS\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\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 Surgery Date \\r\\n \\r\\n \\r\\n Age \\r\\n \\r\\n \\r\\n CaseData Status \\r\\n \\r\\n \\r\\n 30Day Status \\r\\n \\r\\n EditDelete
{{searchCaseSummary.SurCaseId}}{{searchCaseSummary.SurgeryDate | cathDateFormat}}{{searchCaseSummary.Age}} {{searchCaseSummary.AgeType | ageType}}{{searchCaseSummary.SurStatusCode}}{{searchCaseSummary.ThirtyDayStatus}}\\r\\n \\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\"","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}.case-type-cell{width:35%;word-wrap:break-word}.sect-header-hospital{border-bottom:3px solid #6699FF !important;margin-bottom:0 !important;padding-top:0;padding-bottom:2px}.incomplete-complete label{font-size:12px}.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}.card-block .fa{font-size:20px}.card-block .fa.complete{color:#3ab2d1}.card-block .fa.incomplete{color:#ffc107}.card-block .fa.delete{color:#dc3545}\\n\"","import { Component, OnInit, HostListener } 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\n\r\nimport { LoginService } from \"../login.service\";\r\n\r\nimport { SurCaseLookupService } from \"./surcase-lookup.service\";\r\nimport { SearchSurcaseResponse } from '../../../shared/iqis/search-surcase-response';\r\nimport { SearchSurCaseModel } from '../../../shared/iqis/search-surcase-model';\r\nimport { SearchSurCaseSummaryModel } from '../../../shared/iqis/search-surcase-summary-model';\r\n\r\nimport { SurPicklistItemService } from '../../shared-data-entry/surpicklist-item.service';\r\nimport { SurPicklistItemResponse } from '../../../shared/iqis/surpicklist-item-response';\r\nimport { SurPicklistItemModel } from '../../../shared/iqis/surpicklist-item-model';\r\n\r\nimport { SurCaseService } from '../add-surgery-case/surcase.service';\r\nimport { SurgeryCaseFieldsService } from '../add-surgery-case/surgery-case-fields.service';\r\n\r\ndeclare var jquery: any;\r\ndeclare var $: any;\r\n\r\n@Component({\r\n selector: \"app-case-lookup\",\r\n templateUrl: \"./surcase-lookup.component.html\",\r\n styleUrls: [\"./surcase-lookup.component.scss\"]\r\n})\r\nexport class SurCaseLookupComponent implements OnInit {\r\n public errorMessage = \"\";\r\n public ageOptions = [];\r\n\r\n public currentDate: Date = new Date();\r\n \r\n filter: string = \"\";\r\n key: string = \"CaseId\";\r\n reverse: boolean = false;\r\n p: number = 1;\r\n\r\n public lookup: SurCaseLookupService;\r\n public user: LoginService;\r\n public picklistItemService: SurPicklistItemService;\r\n public caseService: SurCaseService;\r\n public fields: SurgeryCaseFieldsService;\r\n constructor(_lookup: SurCaseLookupService, _user: LoginService, _picklistItemService:SurPicklistItemService, _caseService: SurCaseService, _fields: SurgeryCaseFieldsService) {\r\n this.user = _user; \r\n this.caseService = _caseService;\r\n this.fields = _fields;\r\n this.fields.resetFields();\r\n this.lookup = _lookup;\r\n this.lookup.searchClear();\r\n this.lookup.LocationId = this.user.user.HospitalId;\r\n \r\n this.errorMessage = \"\";\r\n\r\n this.picklistItemService = _picklistItemService;\r\n this.picklistItemService.getPicklistItem(this.user.user.HospitalId.toString(), \"Age Range\").subscribe(data => this.populatePicklistItems(data));\r\n }\r\n\r\n populatePicklistItems(picklistItemResponse: SurPicklistItemResponse) {\r\n this.picklistItemService.picklistItemModel = picklistItemResponse.DataObject;\r\n this.picklistItemService.mapToDropDown();\r\n\r\n this.ageOptions = this.picklistItemService.dropDownPicklistItem;\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 }\r\n\r\n SearchCase() {\r\n if ((this.lookup.SurCaseId == null || this.lookup.SurCaseId <= 0)\r\n && (this.lookup.UniqueIdentifier == null || this.lookup.UniqueIdentifier == '')\r\n && this.lookup.SurgDateFrom == null\r\n && this.lookup.SurgDateTo == null\r\n && this.lookup.AgeRange == ''\r\n && this.lookup.IncompleteDataOnly == false\r\n && this.lookup.CompleteDataOnly == false\r\n && this.lookup.CMPLThirtyDayStatusInd == false\r\n && this.lookup.ICMPLThirtyDayStatusInd == false) {\r\n this.lookup.SurCaseId = 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.LocationId = this.user.user.HospitalId;\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\r\n $(\"#case-number\").val('');\r\n $(\"#cath-date-from\").val('');\r\n $(\"#cath-date-to\").val('');\r\n }\r\n\r\n caseIdCheck() {\r\n if (!this.lookup.SurCaseId) {\r\n $(\"#case-number\").val('');\r\n }\r\n }\r\n UniqueIdentifierCheck() {\r\n if (!this.lookup.UniqueIdentifier) {\r\n $(\"#case-identifier\").val('');\r\n }\r\n }\r\n\r\n dateCheck() {\r\n if (this.lookup.SurgDateFrom) {\r\n let millFrom = Date.parse(this.lookup.SurgDateFrom.toString());\r\n if (!(millFrom > 0)) {\r\n this.lookup.SurgDateFrom = 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.SurgDateTo) {\r\n let millTo = Date.parse(this.lookup.SurgDateTo.toString());\r\n if (!(millTo > 0)) {\r\n this.lookup.SurgDateTo = null;\r\n $(\"#cath-date-to\").val('');\r\n } else if (this.isfutureDate(this.lookup.SurgDateTo)) {\r\n this.lookup.SurgDateTo = new Date();\r\n }\r\n } else {\r\n $(\"#cath-date-to\").val('');\r\n }\r\n\r\n if ((this.lookup.SurgDateFrom && this.lookup.SurgDateTo) && (this.lookup.SurgDateFrom > this.lookup.SurgDateTo)) {\r\n let newFrom = this.lookup.SurgDateTo;\r\n let newTo = this.lookup.SurgDateFrom;\r\n\r\n this.lookup.SurgDateTo = newTo;\r\n this.lookup.SurgDateFrom = newFrom;\r\n }\r\n }\r\n\r\n\r\n inputValidator(event: any) {\r\n //console.log(event.target.value);\r\n const pattern = /^[a-zA-Z0-9]*$/;\r\n\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-Z0-9]*$/g, \"\");\r\n // invalid character, prevent input\r\n\r\n }\r\n }\r\n\r\n validateSearch(sr: SearchSurcaseResponse) {\r\n if (sr.MessageType === \"success\") {\r\n this.p = 1;\r\n this.lookup.searchCaseSummarys = sr.DataObject;\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 let now = new Date;\r\n\r\n if (target.getFullYear() > now.getFullYear()) {\r\n return true;\r\n } else if (target.getFullYear() == now.getFullYear()) {\r\n if (target.getMonth() > now.getMonth()) {\r\n return true;\r\n } else if (target.getMonth() == now.getMonth()) {\r\n if (target.getDate() > now.getDate()) {\r\n return true;\r\n }\r\n }\r\n }\r\n\r\n return false;\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 { SearchSurCaseModel } from '../../../shared/iqis/search-surcase-model';\r\nimport { SearchSurcaseResponse } from '../../../shared/iqis/search-surcase-response';\r\nimport { SearchSurCaseSummaryModel } from '../../../shared/iqis/search-surcase-summary-model';\r\nimport { SURGERYCONFIG } from '../../../shared/surgeryconfig';\r\n\r\nlet iqisapiUrl = SURGERYCONFIG.baseUrls.iqisapiurl;\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class SurCaseLookupService {\r\n\r\n SurCaseId: number;\r\n LocationId: number;\r\n UniqueIdentifier: string ='';\r\n ICMPLThirtyDayStatusInd: boolean = false;\r\n CMPLThirtyDayStatusInd: boolean = false;\r\n CompleteDataOnly: boolean = false;\r\n IncompleteDataOnly: boolean = false;\r\n ShowInactiveCases: boolean = false;;\r\n SurgDateFrom: Date = null;\r\n SurgDateTo: Date = null;\r\n AgeRange: string = '';\r\n \r\n ProcedureCodes: string = '';\r\n\r\n public searchCaseSummarys: SearchSurCaseSummaryModel[];\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.SurCaseId = null;\r\n this.LocationId = null;\r\n this.SurgDateFrom = null;\r\n this.SurgDateTo = null;\r\n this.AgeRange = '';\r\n this.UniqueIdentifier = '';\r\n this.IncompleteDataOnly = false;\r\n this.CompleteDataOnly = false;\r\n this.ICMPLThirtyDayStatusInd = false;\r\n this.CMPLThirtyDayStatusInd = false;\r\n this.ShowInactiveCases = false;\r\n this.ProcedureCodes = '';\r\n this.searchCaseSummarys = [];\r\n \r\n }\r\n\r\n searchCases() {\r\n let searchInfo = new SearchSurCaseModel;\r\n\r\n searchInfo.SurCaseId = this.SurCaseId; \r\n searchInfo.LocationId = this.LocationId;\r\n searchInfo.UniqueIdentifier = this.UniqueIdentifier;\r\n searchInfo.ShowInactiveCases = this.ShowInactiveCases;\r\n searchInfo.ThirtyDayStatusInd = null;\r\n //has To date but no From date\r\n if (this.SurgDateFrom == null && this.SurgDateTo) {\r\n let dFrom = new Date(this.SurgDateTo);\r\n dFrom.setDate(dFrom.getDate() - 30);\r\n this.SurgDateFrom = dFrom;\r\n }\r\n\r\n //has From date but no To date\r\n if (this.SurgDateFrom && this.SurgDateTo == null) {\r\n this.SurgDateTo = new Date;\r\n }\r\n\r\n try {\r\n searchInfo.SurgDateFrom = this.formatDate(new Date(this.SurgDateFrom));\r\n } catch {\r\n searchInfo.SurgDateFrom = '';\r\n }\r\n\r\n try {\r\n searchInfo.SurgDateTo = this.formatDate(new Date(this.SurgDateTo));\r\n } catch {\r\n searchInfo.SurgDateTo = '';\r\n }\r\n if (this.CompleteDataOnly)\r\n searchInfo.SurgStatusCode = 'CMPL';\r\n if (this.IncompleteDataOnly)\r\n searchInfo.SurgStatusCode = 'INCMPL'; \r\n \r\n if (this.CompleteDataOnly && this.IncompleteDataOnly) {\r\n searchInfo.SurgStatusCode = '';\r\n }\r\n if (this.CMPLThirtyDayStatusInd)\r\n searchInfo.ThirtyDayStatusInd ='1';\r\n if (this.ICMPLThirtyDayStatusInd)\r\n searchInfo.ThirtyDayStatusInd = '0';\r\n\r\n if (this.CMPLThirtyDayStatusInd && this.ICMPLThirtyDayStatusInd) {\r\n searchInfo.ThirtyDayStatusInd = null;\r\n } \r\n searchInfo.AgeRange = this.AgeRange; \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(iqisapiUrl + \"surcase/GetSurCaseSearchResults\", searchInfo, options)\r\n .pipe(map((response: Response) => response.json()));\r\n }\r\n\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","module.exports = \"\\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}.sect-header{color:#007496;font-weight:400}@media (max-width: 776px){.sect-header{text-align:center}}.portal .dash-link{height:100px;margin-bottom:5px;text-align:left}.portal .dash-link .header,.portal .dash-link .accent-icon{height:100px}.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:100px;line-height:100px;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 .desc1{margin-top:20px;font-size:15px;color:#3a3a3a}@media screen and (max-width: 1000px){.portal .dash-link .desc1{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 cathspanmessage: string;\n constructor(user: LoginService) {\n \n this.user = user;\n\n this.addCaseLink = \"/user-portal/add-case\";\n this.cathspanmessage = \"Add a case to C3PO-R3\";\n if (this.user.IsIqicUser()) {\n this.addCaseLink = \"/user-portal/add-case/iqic\";\n this.cathspanmessage = \"Add a cath case to IQIC\";\n }\n\n\n }\n\n ngOnInit() {\n this.user.logIn();\n }\n\n}\n","import { Directive, ElementRef, HostListener } from '@angular/core';\n\n@Directive({\n selector: '[appLimitOneDecimalPoint]'\n})\nexport class LimitOneDecimalPointDirective {\n\n private regex: RegExp = new RegExp(/^\\d*\\.?\\d{0,1}$/g);\n private specialKeys: Array = ['Backspace', 'Tab', 'End', 'Home', 'ArrowLeft', 'ArrowRight', 'Del', 'Delete'];\n \n constructor(private el: ElementRef) { }\n\n @HostListener('keydown', ['$event'])\n onKeyDown(event: KeyboardEvent) {\n console.log(this.el.nativeElement.value);\n // Allow Backspace, tab, end, and home keys\n if (this.specialKeys.indexOf(event.key) !== -1) {\n return;\n }\n let current: string = this.el.nativeElement.value;\n const position = this.el.nativeElement.selectionStart;\n const next: string = [current.slice(0, position), event.key == 'Decimal' ? '.' : event.key, current.slice(position)].join('');\n if (next && !String(next).match(this.regex)) {\n event.preventDefault();\n }\n }\n\n}\n","import { Directive, ElementRef, HostListener } from '@angular/core';\r\n@Directive({\r\n selector: '[appTwoDigitDecimaNumber]'\r\n})\r\nexport class LimitTwoDigitDecimaNumberDirective {\r\n private regex: RegExp = new RegExp(/^\\d*\\.?\\d{0,2}$/g);\r\n private specialKeys: Array = ['Backspace', 'Tab', 'End', 'Home', '-', 'ArrowLeft', 'ArrowRight', 'Del', 'Delete'];\r\n constructor(private el: ElementRef) {\r\n }\r\n @HostListener('keydown', ['$event'])\r\n onKeyDown(event: KeyboardEvent) {\r\n console.log(this.el.nativeElement.value);\r\n // Allow Backspace, tab, end, and home keys\r\n if (this.specialKeys.indexOf(event.key) !== -1) {\r\n return;\r\n }\r\n let current: string = this.el.nativeElement.value;\r\n const position = this.el.nativeElement.selectionStart;\r\n const next: string = [current.slice(0, position), event.key == 'Decimal' ? '.' : event.key, current.slice(position)].join('');\r\n if (next && !String(next).match(this.regex)) {\r\n event.preventDefault();\r\n }\r\n }\r\n}\r\n","import { Directive, ElementRef, HostListener, Input } from '@angular/core';\r\nimport { NgControl } from '@angular/forms';\r\n\r\n@Directive({\r\n selector: 'input[OnlyNumber]'\r\n})\r\nexport class OnlyNumber {\r\n\r\n constructor(private _el: ElementRef) { }\r\n\r\n @HostListener('input', ['$event']) onInputChange(event) {\r\n const initalValue = this._el.nativeElement.value;\r\n this._el.nativeElement.value = initalValue.replace(/[^0-9]*/g, '');\r\n if (initalValue !== this._el.nativeElement.value) {\r\n event.stopPropagation();\r\n }\r\n }\r\n\r\n}\r\n","import { Directive, ElementRef, HostListener } from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: \"[appWholeNumber]\"\r\n})\r\nexport class WholeNumberDirective {\r\n private regex: RegExp = new RegExp(/^\\d+$/);\r\n private specialKeys: Array = [\r\n \"Backspace\",\r\n \"Tab\",\r\n \"End\",\r\n \"Home\",\r\n \"-\",\r\n \"ArrowLeft\",\r\n \"ArrowRight\",\r\n \"Del\",\r\n \"Delete\"\r\n ];\r\n\r\n constructor(private el: ElementRef) {}\r\n\r\n @HostListener(\"keydown\", [\"$event\"])\r\n onKeyDown(event: KeyboardEvent) {\r\n let e = event;\r\n if (\r\n [46, 8, 9, 27, 13].indexOf(e.keyCode) !== -1 ||\r\n // Allow: Ctrl+A\r\n (e.keyCode === 65 && (e.ctrlKey || e.metaKey)) ||\r\n // Allow: Ctrl+C\r\n (e.keyCode === 67 && (e.ctrlKey || e.metaKey)) ||\r\n // Allow: Ctrl+V\r\n (e.keyCode === 86 && (e.ctrlKey || e.metaKey)) ||\r\n // Allow: Ctrl+X\r\n (e.keyCode === 88 && (e.ctrlKey || e.metaKey)) ||\r\n // Allow: home, end, left, right\r\n (e.keyCode >= 35 && e.keyCode <= 39)\r\n ) {\r\n // let it happen, don't do anything\r\n return;\r\n }\r\n // Ensure that it is a number and stop the keypress\r\n if (\r\n (e.shiftKey || e.keyCode < 48 || e.keyCode > 57) &&\r\n (e.keyCode < 96 || e.keyCode > 105)\r\n ) {\r\n e.preventDefault();\r\n }\r\n }\r\n}\r\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\nimport { 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 { SurCaseLookupComponent } from \"./components/user/surgerycase-lookup/surcase-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 { AddSurgeryCaseComponent } from \"./components/user/add-surgery-case/add-surgery-case.component\";\r\n//import { EditSurgeryCaseComponent } from \"./components/user/add-surgery-case/edit-surgery-case.component\";\r\nimport { SurgeryCaseIdComponent } from \"./components/user/add-surgery-case/surgery-case-id/surgery-case-id.component\";\r\nimport { UniqueIdComponent } from \"./components/user/add-surgery-case/unique-id/unique-id.component\";\r\nimport { SurgeryClinicalCharComponent } from \"./components/user/add-surgery-case/surgery-clinical-char/surgery-clinical-char.component\";\r\nimport { MedicalHistoryComponent } from \"./components/user/add-surgery-case/medical-history/medical-history.component\";\r\nimport { SurgeryCaseTypeComponent } from \"./components/user/add-surgery-case/surgery-case-type/surgery-case-type.component\";\r\nimport { SurgeryEventsComponent } from \"./components/user/add-surgery-case/surgery-events/surgery-events.component\";\r\nimport { Day30StatusComponent } from \"./components/user/add-surgery-case/day-30-status/day-30-status.component\";\r\nimport { ClinicalOutcomesComponent } from './components/user/add-surgery-case/clinical-outcomes/clinical-outcomes.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 { ProceduralEfficacySurgeryComponent } from \"./components/user/add-surgery-case/procedural-efficacy/procedural-efficacy.component\";\r\nimport { CanDeactivateGaurd } from \"./CanDeactivateGaurd\";\r\nimport { SurgeryMissingFieldsComponent } from \"./components/user/add-surgery-case/surgery-missing-fields/surgery-missing-fields.component\";\r\nimport { EditSurgeryCaseComponent } from \"./components/user/add-surgery-case/edit-surgery-case.component\";\r\nimport { CanSurgeryCaseDeactivateGaurd } from \"./CanSuregeryCaseDeactivateGaurd\";\r\nimport { SurgeryContactComponent } from \"./components/surgerycontact/surgerycontact.component\";\r\nimport { AuthenticationGaurd } from \"./AuthenticationGaurd\";\r\n\r\nexport const routes: Routes = [\r\n { path: \"\", redirectTo: \"login\", pathMatch: \"full\" },\r\n\r\n {\r\n path: \"home\",\r\n pathMatch: \"prefix\",\r\n component: HomeComponentC3POR3,\r\n data: { title: \"Home\" }\r\n },\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/cathchat\",\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/cathchat\"\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: \"surgerycontact\",\r\n component: SurgeryContactComponent,\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/pre-calc\", pathMatch: \"full\" },\r\n { path: \"add-case/iqic\", redirectTo: \"add-case/pre-calc\", 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: \"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/case-id\",\r\n prev: \"./\"\r\n }\r\n },\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/clinical-characteristics\",\r\n prev: \"/user-portal/add-case/pre-calc\"\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/case-id\"\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/pre-calc\",\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: \"/user-portal/edit-case/save\"\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: \"surcase-lookup\",\r\n component: SurCaseLookupComponent,\r\n data: { title: \"Surgery 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 path: \"add-surgery-case\",\r\n component: AddSurgeryCaseComponent,\r\n data: { title: \"Add Surgery Case\" },\r\n children: [\r\n {\r\n path: \"unique-id\",\r\n canActivate: [AuthenticationGaurd],\r\n canDeactivate: [CanSurgeryCaseDeactivateGaurd],\r\n component: UniqueIdComponent,\r\n data: {\r\n title: \"Surgery Unique Id\",\r\n next: \"/user-portal/add-surgery-case/surgery-case-id\",\r\n prev: \"./\"\r\n }\r\n },\r\n {\r\n path: \"surgery-case-id\",\r\n canActivate: [AuthenticationGaurd],\r\n canDeactivate: [CanSurgeryCaseDeactivateGaurd],\r\n component: SurgeryCaseIdComponent,\r\n data: {\r\n title: \"Surgery Case Id\",\r\n next: \"/user-portal/add-surgery-case/surgery-clinical-char\",\r\n prev: \"/user-portal/add-surgery-case/unique-id\"\r\n }\r\n },\r\n {\r\n path: \"surgery-clinical-char\",\r\n canActivate: [AuthenticationGaurd],\r\n canDeactivate: [CanSurgeryCaseDeactivateGaurd],\r\n component: SurgeryClinicalCharComponent,\r\n data: {\r\n title: \"Surgery Clinical Characteristics\",\r\n next: \"/user-portal/add-surgery-case/medical-history\",\r\n prev: \"/user-portal/add-surgery-case/surgery-case-id\"\r\n }\r\n },\r\n {\r\n path: \"medical-history\",\r\n canActivate: [AuthenticationGaurd],\r\n canDeactivate: [CanSurgeryCaseDeactivateGaurd],\r\n component: MedicalHistoryComponent,\r\n data: {\r\n title: \"Medical History\",\r\n next: \"/user-portal/add-surgery-case/surgery-case-type\",\r\n prev: \"/user-portal/add-surgery-case/surgery-clinical-char\"\r\n }\r\n },\r\n {\r\n path: \"surgery-case-type\",\r\n canActivate: [AuthenticationGaurd],\r\n canDeactivate: [CanSurgeryCaseDeactivateGaurd],\r\n component: SurgeryCaseTypeComponent,\r\n data: {\r\n title: \"surgery case type\",\r\n next: \"/user-portal/add-surgery-case/surgery-events\",\r\n prev: \"/user-portal/add-surgery-case/medical-history\"\r\n }\r\n },\r\n {\r\n path: \"surgery-events\",\r\n canActivate: [AuthenticationGaurd],\r\n canDeactivate: [CanSurgeryCaseDeactivateGaurd],\r\n component: SurgeryEventsComponent,\r\n data: {\r\n title: \"surgery events\",\r\n next: \"/user-portal/add-surgery-case/clinical-outcomes\",\r\n prev: \"/user-portal/add-surgery-case/surgery-case-type\"\r\n }\r\n },\r\n {\r\n path: \"day-30-status\",\r\n canActivate: [AuthenticationGaurd],\r\n canDeactivate: [CanSurgeryCaseDeactivateGaurd],\r\n component: Day30StatusComponent,\r\n data: {\r\n title: \"30 Day Status\",\r\n next: \"/user-portal/add-surgery-case/procedural-efficacy\",\r\n prev: \"/user-portal/add-surgery-case/clinical-outcomes\"\r\n }\r\n },\r\n {\r\n path: \"clinical-outcomes\",\r\n canActivate: [AuthenticationGaurd], \r\n canDeactivate: [CanSurgeryCaseDeactivateGaurd],\r\n component: ClinicalOutcomesComponent,\r\n data: {\r\n title: \"Clinical Outcomes\",\r\n next: \"/user-portal/add-surgery-case/day-30-status\",\r\n prev: \"/user-portal/add-surgery-case/surgery-events\"\r\n }\r\n },\r\n {\r\n path: \"procedural-efficacy\",\r\n canDeactivate: [CanSurgeryCaseDeactivateGaurd],\r\n component: ProceduralEfficacySurgeryComponent,\r\n data: {\r\n title: \"Procedural Efficacy\",\r\n next: \"/user-portal/add-surgery-case/save\",\r\n prev: \"/user-portal/add-surgery-case/day-30-status\"\r\n }\r\n },\r\n {\r\n path: \"save\",\r\n component: SurgeryMissingFieldsComponent,\r\n data: {\r\n title: \"Add Surgery Case\",\r\n next: \"/user-portal/add-surgery-case/case-id\",\r\n prev: \"/user-portal/add-surgery-case/procedural-efficacy\"\r\n }\r\n }\r\n ]\r\n },\r\n {\r\n path: \"edit-surgery-case\",\r\n component: EditSurgeryCaseComponent,\r\n\r\n data: { title: \"Edit Surgery Case\" },\r\n children: [\r\n { path: \"edit-surgery-case\", redirectTo: \"edit-surgery-case/unique-id\", pathMatch: \"full\" },\r\n {\r\n path: \"unique-id/:id\",\r\n canDeactivate: [CanSurgeryCaseDeactivateGaurd],\r\n component: UniqueIdComponent,\r\n data: {\r\n title: \"Edit Surgery Case\",\r\n next: \"/user-portal/edit-surgery-case/surgery-case-id\",\r\n prev: \"/user-portal/edit-surgery-case/save\"\r\n }\r\n },\r\n {\r\n path: \"surgery-case-id/:id\",\r\n canDeactivate: [CanSurgeryCaseDeactivateGaurd],\r\n component: SurgeryCaseIdComponent,\r\n data: {\r\n title: \"Edit Surgery Case\",\r\n next: \"/user-portal/edit-surgery-case/surgery-clinical-char\",\r\n prev: \"/user-portal/edit-surgery-case/unique-id\"\r\n }\r\n },\r\n {\r\n path: \"surgery-clinical-char/:id\",\r\n canDeactivate: [CanSurgeryCaseDeactivateGaurd],\r\n component: SurgeryClinicalCharComponent,\r\n data: {\r\n title: \"Edit Surgery Case\",\r\n next: \"/user-portal/edit-surgery-case/medical-history\",\r\n prev: \"/user-portal/edit-surgery-case/surgery-case-id\"\r\n }\r\n },\r\n {\r\n path: \"medical-history/:id\",\r\n canDeactivate: [CanSurgeryCaseDeactivateGaurd],\r\n component: MedicalHistoryComponent,\r\n data: {\r\n title: \"Medical History\",\r\n next: \"/user-portal/edit-surgery-case/surgery-case-type\",\r\n prev: \"/user-portal/edit-surgery-case/surgery-clinical-char\"\r\n }\r\n },\r\n {\r\n path: \"surgery-case-type/:id\",\r\n canDeactivate: [CanSurgeryCaseDeactivateGaurd],\r\n component: SurgeryCaseTypeComponent,\r\n data: {\r\n title: \"surgery case type\",\r\n next: \"/user-portal/edit-surgery-case/surgery-events\",\r\n prev: \"/user-portal/edit-surgery-case/medical-history\"\r\n }\r\n },\r\n {\r\n path: \"surgery-events/:id\",\r\n canDeactivate: [CanSurgeryCaseDeactivateGaurd],\r\n component: SurgeryEventsComponent,\r\n data: {\r\n title: \"surgery events\",\r\n next: \"/user-portal/edit-surgery-case/clinical-outcomes\",\r\n prev: \"/user-portal/edit-surgery-case/surgery-case-type\"\r\n }\r\n },\r\n {\r\n path: \"clinical-outcomes/:id\",\r\n canDeactivate: [CanSurgeryCaseDeactivateGaurd],\r\n component: ClinicalOutcomesComponent,\r\n data: {\r\n title: \"Clinical Outcomes\",\r\n next: \"/user-portal/edit-surgery-case/day-30-status\",\r\n prev: \"/user-portal/edit-surgery-case/surgery-events\"\r\n }\r\n },\r\n\r\n {\r\n path: \"day-30-status/:id\",\r\n // canDeactivate: [CanSurgeryCaseDeactivateGaurd],\r\n component: Day30StatusComponent,\r\n data: {\r\n title: \"30 Day Status\",\r\n next: \"/user-portal/edit-surgery-case/procedural-efficacy\",\r\n prev: \"/user-portal/edit-surgery-case/clinical-outcomes\"\r\n }\r\n },\r\n {\r\n path: \"procedural-efficacy/:id\",\r\n canDeactivate: [CanSurgeryCaseDeactivateGaurd],\r\n component: ProceduralEfficacySurgeryComponent,\r\n data: {\r\n title: \"Procedural Efficacy\",\r\n next: \"/user-portal/edit-surgery-case/save\",\r\n prev: \"/user-portal/edit-surgery-case/day-30-status\"\r\n }\r\n },\r\n {\r\n path: \"save/:id\",\r\n component: SurgeryMissingFieldsComponent,\r\n data: {\r\n title: \"Edit Surgery Case\",\r\n next: \"/user-portal/edit-surgery-case/case-id\",\r\n prev: \"/user-portal/edit-surgery-case/procedural-efficacy\"\r\n }\r\n },\r\n {\r\n path: \"post-save/:id\",\r\n component: SurgeryMissingFieldsComponent,\r\n data: {\r\n title: \"Edit Surgery Case\",\r\n next: \"/user-portal/edit-surgery-case/case-id\",\r\n prev: \"/user-portal/edit-surgery-case/procedural-efficacy\"\r\n }\r\n }\r\n ]\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}\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: number;\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 SearchSurCaseModel {\r\n SurCaseId: number;\r\n UniqueIdentifier: string;\r\n LocationId: number;\r\n ThirtyDayStatusInd: string;\r\n ShowInactiveCases: boolean; \r\n SurgDateFrom: string;\r\n SurgDateTo: string;\r\n AgeRange: string;\r\n SurgStatusCode: string;\r\n ProcedureCodes: string;\r\n}\r\n","export class SurCase30DayStatusModel {\n SurCase30DayStatusId: number;\n SurCaseId: number;\n IsPatientAlive: string;\n IsPatientDischarged: string;\n IsPatientDoingWell: string;\n Updatedby: string;\n}\n","export class SurCaseClinicalInfoModel {\n SurCaseClinicalInfoId: number;\n SurCaseId: number;\n PatSex: string;\n PatAge: number;\n PatAgeType: number;\n PatPreMaturityVal: number;\n PatHeight: number;\n PatWeight: number;\n PatBSA: number;\n SurHemotocritVal: string;\n SurOxygenSatVal: string;\n SurNutrnalApearVal: string;\n PatWhozScoreVal: string;\n Updatedby: string;\n}\n","export class SurCaseClinicalOutComesInfoModel {\n SurCaseClinicalOutComesId: number;\n SurCaseId: number;\n HospitalDeathInd: string;\n HospitalDeathDt: string;\n HospitalDeathReason: string;\n BactSepsisInfectionInd: string;\n BactSepsisInfectionDesc: string;\n SurgSiteInfectionInd: string;\n SurgSiteInfectionVal: string;\n SurgSiteInfectionDesc: string;\n SurgSiteAddlInfectionInd: string;\n SurgSiteInfectionVaeInd: string;\n SurgSiteInfectionVaeDesc: string;\n SurgSiteInfectionCabiInd: string;\n SurgSiteInfectionCabiDesc: string;\n SurgSiteInfectionCautiInd: string;\n SurgSiteInfectionCautiDesc: string;\n SurgSiteComplicationInd: string;\n SurgSiteComplicationASEBInd: string;\n SurgSiteComplicationRIWI24Ind: string;\n SurgSiteComplicationICR24DInd: string;\n SurgSiteComplicationDIAPInd: string;\n SurgSiteComplicationHBNPMInd: string;\n SurgSiteComplicationTDSAAGInd: string;\n SurgSiteComplicationPOSInd: string;\n SurgSiteComplicationAKIRDInd: string;\n SurgSiteComplicationOtherInd: string;\n SurgSiteComplicationOtherDesc: string;\n Updatedby: string;\n}\n","export class SurCaseSurgeryEventsInfoModel {\n SurCaseEventId: number;\n SurCaseId: number;\n PatChestOpenSurgeryInd: string;\n PatCarioBypassRelEventInd: string;\n PatCarioBypassRelEventNotes: string;\n Updatedby: string;\n}\n","import { SurCaseClinicalInfoModel } from './surcase-clinical-info-model';\nimport { SurCaseMedicalHistInfoModel } from './surcase-surmedical-hist-model';\nimport { SurCase30DayStatusModel } from './surcase-30daystatus-model';\nimport { SurCaseClinicalOutComesInfoModel} from './surcase-clinical-outcomesinfo-model';\nimport { SurCaseSurgeryEventsInfoModel } from './surcase-events-info-model';\nimport { SurCaseProcAssignmentModel } from './surcase-proc-assignment-model';\nimport { SurCaseProcEfficacyInfoModel } from './surcase-proc-efficacy-info-model';\n\n\nexport class SurCaseModel {\n SurCaseId: number;\n SurCaseUniqueIdentifier: string;\n SurgDate: string;\n SurLocationId: number;\n PrimarySurgeonId: number;\n SurPerfPVCSGInd: string;\n SurInfoStatus: string;\n SurCaseUpdatedby: string;\n ActiveStatus: string;\n SurCaseClinicalInfo: SurCaseClinicalInfoModel;\n SurCaseMedicalHistInfo: SurCaseMedicalHistInfoModel;\n SurCaseProcAsgnmtInfo: SurCaseProcAssignmentModel;\n SurCaseEventsInfo: SurCaseSurgeryEventsInfoModel;\n SurCaseOutcomesInfo: SurCaseClinicalOutComesInfoModel;\n SurCase30DayStatusInfo: SurCase30DayStatusModel;\n SurCaseProcEfficacyItem: SurCaseProcEfficacyInfoModel;\n SurCaseProcEfficacy: SurCaseProcEfficacyInfoModel[];\n\n constructor() {\n this.SurCaseClinicalInfo = new SurCaseClinicalInfoModel;\n this.SurCaseOutcomesInfo = new SurCaseClinicalOutComesInfoModel;\n this.SurCaseEventsInfo = new SurCaseSurgeryEventsInfoModel;\n this.SurCaseMedicalHistInfo = new SurCaseMedicalHistInfoModel;\n this.SurCase30DayStatusInfo = new SurCase30DayStatusModel;\n this.SurCaseProcAsgnmtInfo = new SurCaseProcAssignmentModel;\n this.SurCaseProcEfficacy = new Array();\n }\n}\n","export class SurCaseProcAssignmentModel {\n SurCaseProcAsgnId: number;\n SurCaseId: number;\n ProcedureCode: string;\n ProceduresDescription: string;\n ProceduresRachsValue: number;\n Updatedby: string;\n}\n","export class SurCaseProcEfficacyInfoModel {\n SurCaseProcEfficacyInfoid: number;\n SurCaseId: number;\n EfficacyProcedureCode: string;\n EfficacyDataName: string;\n EfficacyDataValue: string;\n Updatedby: string;\n}\n","export class SurCaseMedicalHistInfoModel {\n SurCaseMedHistId: number;\n SurCaseId: number;\n CardiacDiagCodes: string;\n RheumeticFeverInd: string;\n GenericSyndInd: string;\n GenericSyngVal: string;\n MajorNcsAnomalyInd: string;\n MajorNcsAnomalyVal: string;\n MajorNcMedIllnessInd: string;\n MajorNcMedIllnessVal: string;\n PrevCardSurgInd: string;\n PrevCardSurgeries: string;\n PrevCardCathInd: string;\n PreoprBakatriBSInd: string;\n PreoprResuscitBSInd: string;\n PreoprInotheraBSInd: string;\n PreoprVentpreopInd: string;\n Updatedby: string;\n}\n","export class SurDropdownItemModel {\r\n id: number;\r\n name: string;\r\n description: string;\r\n code: string;\r\n needsDetails: boolean;\r\n children: SurDropdownItemModel[];\r\n}\r\n","export class SurPicklistLookupModel {\r\n HospitalId = '';\r\n PicklistName = '';\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 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 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 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 CathDateFrom: string;\r\n CathDateTo: string;\r\n AgeRange: string;\r\n ShowInactiveCases: boolean;\r\n ShowPedcathCases: boolean;\r\n}\r\n","declare var SurgeryapiSettings: any;\r\n\r\nexport let SURGERYCONFIG = {\r\n baseUrls: {\r\n iqisapiurl: SurgeryapiSettings.iqisapiurl,\r\n }\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","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 = 'IQICDB';\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}\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":""}